Aplikasi Perpustakaan Admin Using Visual Studio 2010 (3)
Pada tahap ini, penulis akan menjelaskan code dan desain pada Button Buku. Apablia diklik, Button Buku akan menampilkan Form Buku yang berfungsi untuk menginput daftar buku yang ada dengan detail seperti judul buku, rak dan kategori buku, banyaknya buku yang tersedia, foto/gambar depan buku dan nomor buku yang berperan sebagai Primary Key.
Sebelumnya, pada Button Buku di FormMenuUtama, diperlukan code yang apabila Button Buku di Klik maka akan muncul Form Buku. Codenya ialah sebagai berikut:
Private Sub
BtnBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnBuku.Click
FormBuku.ShowDialog()
End Sub
Penulis akan membuata desain seperti berikut ini:
Buat Form baru dengan cara yang telah dijelaskan sebelumnya, kemudian beri nama FormBuku.vb. Kemudian desain form tersebut seperti gambar diatas dengan keterangan toolbox sebagai berikut:
Toolbox
|
Name
|
Text
|
Event
|
Button
|
BtnSimpan
|
Simpan
|
Click
|
Button
|
BtnEdit
|
Ubah
|
Click
|
Button
|
BtnHapus
|
Hapus
|
Click
|
Button
|
BtnKeluar
|
Keluar
|
Click
|
Button
|
BtnHapusFoto
|
-
|
Click
|
Button
|
BtnFoto
|
-
|
Click
|
Label
|
LblKode
|
Kode
Buku
|
-
|
Label
|
LblJudul
|
Judul
Buku
|
-
|
Label
|
LblKategori
|
Kategori
Buku
|
-
|
Label
|
LblRak
|
Rak
|
-
|
Label
|
LblStok
|
Stok
|
-
|
TextBox
|
TxtKode
|
-
|
-
|
TextBox
|
TxtJudul
|
-
|
-
|
TextBox
|
TxtStok
|
-
|
-
|
ComboBox
|
CBKategori
|
-
|
Click
|
ComboBox
|
CBRak
|
-
|
Click
|
DataGridView
|
DGVBuku
|
-
|
CellContentClick
|
Kita telah membuat Koneksi yang menghubungkan database dengan VB, sehingga pada Form ini kita hanya tinggal memanggil modul Koneksi tersebut. Kita akan buat 2 sub baru yaitu dengan nama Data_Record yang berfungsi untuk menyimpan data yang akan ditampilkan ke dalam DataGridView dan Clear yang berfungsi untuk mengatur TextBox dan Button sesuai dengan fungsi Button. Code Programnya ialah sebagai berikut:
Sub Data_Record()
Try
'memanggil koneksi database
Call Koneksi()
'mengambil data dari tabel buku
Tabel = New Data.OleDb.OleDbDataAdapter("select
* from Table_Buku", Database)
'inisialisasi DataSet
Data = New DataSet
'memasukkan
data tabel ke DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString()
DGVBuku.DataSource = Record
DGVBuku.Columns(1).Width = 300
DGVBuku.Columns(2).Width = 150
DGVBuku.Columns(5).Visible = False
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Sub Clear()
BtnSimpan.Enabled = True
BtnEdit.Enabled = False
BtnHapus.Enabled = False
TxtKode.Text = ""
TxtJudul.Text = ""
CBKategori.Text = ""
CBRak.Text = ""
TxtStok.Text = ""
TxtKode.Enabled = True
TxtKode.Focus()
Call Koneksi()
Call Data_Record()
End Sub
Kemudian, pada Button Simpan kita akan buat fungsi validasi dimana data yang nantinya akan disimpan harus bersifat valid. Jika salah satu TextBox tidak diisi, maka data akan tidak tersimpan karena data bersifat tidak valid. Fungsi validasinya ialah sebagai berikut:
Function Validasi()
If TxtKode.Text = ""
Or TxtJudul.Text = ""
Or CBKategori.Text = ""
Or CBRak.Text = ""
Or TxtStok.Text = ""
Then
Validasi = "Tidak Valid"
Else
Validasi = "Valid"
End If
End Function
Kode pada Button Simpan ialah:
Private Sub
BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnSimpan.Click
Try
Call Koneksi()
Dim Cek = Validasi()
If Cek = "Valid"
Then
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Insert into
Table_Buku values('" & TxtKode.Text & "','" & TxtJudul.Text & "','" & CBKategori.Text & "','" & CBRak.Text & "','" & TxtStok.Text & "', '" & FotoTxt.Text & "')"
DML.ExecuteNonQuery()
MsgBox("Data Telah Disimpan")
Call Clear()
Else
MsgBox("Data Gagal Disimpan",
MsgBoxStyle.Critical)
End If
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Pada Button Edit, kode prograa ialah sebagai berikut:
Private Sub BtnEdit_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles BtnEdit.Click
Try
Call Koneksi()
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Update Table_Buku
set Judul_Buku='" & TxtJudul.Text & _
", Kategori='" &
CBKategori.Text & "', Rak='"
& CBRak.Text & _
", Stok='" &
TxtStok.Text & "', Foto='"
& FotoTxt.Text & _
"' where Kode_Buku='" &
TxtKode.Text & "'"
DML.ExecuteNonQuery()
MsgBox("Data telah diubah")
Call Clear()
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Pada Button Hapus, kita akan membuat suatu pertanyaan yang akan menyakinkan pengguna 'apakah yakin data dihapus?'. Codenya ialah sebagai berikut:
Private Sub
BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnHapus.Click
Try
Dim pesan = MsgBox("Anda
Yakin Ingin Menghapus Data?", vbYesNo, "Konfirmasi")
If pesan = vbYes Then
Call Koneksi()
DML.Connection = Database
DML.CommandType = CommandType.Text
DML.CommandText = "Delete from
Table_Buku where Kode_Buku='" & TxtKode.Text & "'"
DML.ExecuteNonQuery()
MsgBox("data telah dihapus")
Call Clear()
End If
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Pada DataGridView Buku, kita perlu mendeklarasikan setiap TextBox yang terkait dengan database yang akan ditampilkan. Kodenya ialah sebagai berikut:
Private Sub
DGVBuku_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs)
Handles DGVBuku.CellContentClick
Try
TxtKode.Text = DGVBuku.Rows(e.RowIndex).Cells(0).Value
TxtJudul.Text = DGVBuku.Rows(e.RowIndex).Cells(1).Value
CBKategori.Text = DGVBuku.Rows(e.RowIndex).Cells(2).Value
CBRak.Text = DGVBuku.Rows(e.RowIndex).Cells(3).Value
TxtStok.Text =
DGVBuku.Rows(e.RowIndex).Cells(4).Value
FotoTxt.Text = DGVBuku.Rows(e.RowIndex).Cells(5).Value
BtnSimpan.Enabled = False
BtnEdit.Enabled = True
BtnKeluar.Enabled = True
BtnHapus.Enabled
= True
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Penulis juga membuat FotoPic yang berguna untuk menyimpan cover buku apabila ada. Pada Properties FotoPic tidak ada yang diubah. Pada Button masukkan foto dan Button Hapus Foto, codenya ialah seperti berikut:
Private Sub
BtnFoto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnFoto.Click
OFDFoto.Filter = "JPG|*.jpg|Bitmap|*.bmp"
OFDFoto.RestoreDirectory = True
OFDFoto.ShowDialog()
If OFDFoto.FileName = ""
Then
Exit Sub
Else
'belum ada proses upload file gambar ke folder tertentu
FotoTxt.Text = OFDFoto.FileName
On Error Resume Next
FotoPic.ImageLocation = FotoTxt.Text
End If
End Sub
Private Sub
BtnHapusFoto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnHapusFoto.Click
FotoPic.Image = Nothing
FotoTxt.Text = ""
End Sub
Pada Button keluar, kodenya ialah:
Private Sub
BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
Pada tahap sebelumnya, kita telah membuat Form yang berfungsi untuk menambahkan daftar rak dan kategori buku. Sehingga pada form ini, kita hanya perlu memanggil daftar rak dan kategori yang kita input ke dalam combo box rak dan combo box kategori. Kodenya ialah:
Sub Data_Kategori()
Call
Koneksi()
Tabel
= New Data.OleDb.OleDbDataAdapter("select * from Table_Kategori",
Database)
Data
= New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString()
Try
Dim a As DataRow
CBKategori.Items.Clear()
For Each a In Data.Tables(0).Rows
CBKategori.Items.Add(a.Item(0))
Next a
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Sub Data_Rak()
Tabel
= New Data.OleDb.OleDbDataAdapter("select * from Table_Rak", Database)
Data
= New DataSet
Tabel.Fill(Data)
Record.DataSource = Data
Record.DataMember = Data.Tables(0).ToString()
Try
Dim a As DataRow
CBRak.Items.Clear()
For Each a In Data.Tables(0).Rows
CBRak.Items.Add(a.Item(0))
Next a
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Dan yang terakhir ialah pada FormBuku sendiri, kita perlu memanggil fungsi Rak, Kategori dan Clear dengan kode sebagai berikut:
Private Sub FormBuku_Load(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
MyBase.Load
Call Data_Kategori()
Call Data_Rak()
Call Clear()
Me.CenterToParent()
End Sub
Sekian pada tahap ketiga, pada tahap berikutnya penulis akan menjelaskan button cari, peminjam, peminjaman dan pengembalian.
Comments
Post a Comment