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

Popular Posts