Aplikasi Perpustakaan Admin Using Visual Studio 2010 (2)

Pada tahap kedua ini, penulis akan menjelaskan code program untuk Button Rak dan Kategori serta koneksi Database ke VB. Pada tahap sebelumnya, penulis menyatakan akan menggunakan database MySql dan Konektor ODBC,  tetapi sekarang penulis akan menggunakan Microsoft Office Access 2007 sebagai databasenya karena apabila menggunakan database MySql, maka pengguna harus mengaktifkan MySql pada XAMPP terlebih dahulu sebelum menjalankan aplikasi. Sementara dengan menggunakan database Access, pengguna hanya tinggal menjalankan aplikasi tanpa adanya ketentuan lain. Namun penulis akan tetap menjelaskan bagaimana cara koneksi Visual Basic 2010 dengan MySql dengan Konektor ODBC.
Sebelumnya penulis juga menggunakan Visual Basic 2010 (Express), namun sebelum melanjutkan tahap ini penulis menggunakan Visual Studio 2010 dikarenakan fasilitas yang lebih lengkap dan memadai.
Pertama sekali buat database Perpustakaan dengan menggunakan MySql phpMyAdmin. Setelah selesai, download Konektor ODBC versi berapa saja, penulis menggunakan versi 3.51 dan kemudian instal konektor tersebut.


Kemudian, klik next, pilih Modify dan klik next kembali. Setelah proses instalasi selesai, buka Control Panel, pilih administrative tools dan kemudian pilih dan buka data source ODBC.


Klik Add dan pilih MySql ODBC 3.51 Driver. Kemudian akan muncul form MySql Connector ODBC. Isi kolom seperti berikut ini:


Klik Ok.

Buka lembar kerja VB yang telah dibuat pada tahap sebelumnya. Tambahkan Form baru dengan cara yaitu, klik kanan pada Aplikasi Perpustakaan pada Solution Explorer, pilih Add New Item dan Pilih Windows Form dan kemudian ganti nama Form menjadi FormRakdanKategori.


Klik kanan pada DataGridView kemudian klik Choose Item.


Pilih dan Checklist OdbcConnection dan OleDbConnection. Klik Ok.


Maka setelah itu, akan muncul OdbcConnection dan OleDbConnection pada menu Toolbox seperti gambar dibawah ini.


Drag OdbcConnection ke dalam FormRakdanKategori seperti gambar berikut:


Klik OdbcConnection dan kemudian pilih ConnectionString pada Properties OdbcConnection, pilih dan klik new connection. Pada data source name, pilih data source sesuai dengan data source yang telah dibuat. Klik Test Connection untuk test koneksi, apabila sudah berhasil klik Ok.


Itulah cara koneksi database MySql ke Visual Basic 2010 dengan menggunakan ODBC connector versi 3.51.

Kembali pada inti daripada project, pada tahap ini penulis akan menjelaskan code program FormRakdanKategori.vb dan koneksinya ke database Access. Tidak diperlukan konektor jika menggunakan database Ms Access.

Pertama sekali, kita akan buat databasenya melalui Microsoft Office Access 2007. Buka Ms Access, pilih Blank Database kemudian beri nama file DBPerpustakaan dan kemudian klik create.


Create tabel dengan nama dan desain view seperti berikut ini:

 





Kemudian pilih menu create dan klik Query Design. Add/Masukkan semua tabel yang saling berhubungan dan simpan dengan nama Qdb.


Langkah selanjutnya ialah kita akan mengkoneksikan VB dengan Database yang telah kita BuatBuka kembali lembar kerja VB yang sudah dibuat. Klik Server Explorer Klik kanan pada Data Connection dan klik Add Connection. Pilih Database yang telah dibuat yaitu DBPerpustakaan. Tes koneksinya, apabila berhasil klik Ok.


Selanjutnya kita akan membuat module koneksi yang akan menghubungkan Form dengan Database. Bisa juga tanpa menggunakan module, namun disetiap sub class nantinya harus ada code pemanggilan database. Oleh karena itu, untuk memudahkan penulis akan menggunakan module.

Caranya, klik kanan pada Solution Explorer yaitu Perpustakaan, klik add item pilih Module dan beri nama Koneksi. Isi dengan code berikut:




Imports System.Data

Imports System.Data.OleDb

Module ModKoneksi

    Public Database As OleDbConnection

    Public Tabel As OleDbDataAdapter

    Public Data As DataSet

    Public Record, Record_Peminjaman As New BindingSource

    Public DML As New OleDbCommand

    Public Cari As OleDbDataReader



    Public Sub Koneksi()

        Try

            Database = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DBPerpustakaan.accdb")

            Database.Open()

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub

End Module






OleDb merupakan ‘.NET DATA PROVIDERS’. Sebetulnya ‘.NET DATA PROVIDERS’ ini ada dua (2) yaitu:
Native Providers (Provider Asli) – Contohnya SqlServer
Bridge Providers (Provider Bridge/Jembatan/Cross/Penghubung) – Contohnya OleDb dan OdBc.

OleDb = Object Link and Embeded Database. Bisa dibilang ini merupakan system database yang bisa diembed dan bisa dilink. Bisa dibilang juga ini adalah database portable karena databasenya bisa berupa file. Contohnya ialah Ms Access.

OleDbConnection, ini merupakan koneksi ke database.
OleDbCommand, digunakan untuk mengeksekusi perintah (command) dan menampilkan hasil.
OleDbDataReader, (dalam bahasa indonesia : PembacaData), digunakan untuk meretrieve data murni, data read-only, jadi betul – betul data mentah apa adanya yang baru keluar dari hasil eksekusi command.
OleDbDataAdapter, (dalam bahasa indonesia: Peng-adaptasi Data), digunakan untuk mengadaptasi data, maksudnya, me-retrieve data dari datasource kemudian membuatkan table untuk data ini, kemudian memasukannya ke dalam DataSet.

Pada baris Provider, sesuaikan Ms Access yang anda gunakan melalui properties database tersebut.

Selanjutnya, buat Form baru seperti langkah-langkah tersebut diatas dan beri nama FormRakdanKatergori. Form ini akan berisikan Button Rak dan Button Kategori yang berguna untuk menginput daftar rak dan kategori buku yang ada dalam perpustakaan. Namun sebelum itu, Pada FormMenuUtama di Button Rak dan Kategori kita harus membuat code yang apabila Button Rak dan Kategori di Klik, maka akan terbuka FormRakdanKategori yang akan kita kerjakan. Tulis Code seperti berikut:


    Private Sub BtnBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBuku.Click

        FormBuku.ShowDialog()

    End Sub



Penulis membuat desain seperti berikut ini:




 Toolbox
 Name
 Text
 Event
SizeMode

 Label

 LblPilih
 Menambah Daftar Rak dan Kategori

-

-
Button
BtnRak
Rak
 Click
-
Button
BtnKategori
Kategori
 Click
-
Button
BtnKeluar
Keluar
 Click
-
PictureBox
 PicBox1
-
 -
CentreImage


Klik 2 kali pada FormRakdanKategori kemudian isi code berikut.





Public Class FormRakdanKategori



    Private Sub BtnRak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRak.Click

        FormRak.ShowDialog()

    End Sub



    Private Sub BtnKategori_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKategori.Click

        FormKategori.ShowDialog()

    End Sub



    Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click

        Me.Close()

    End Sub



    Private Sub FormRakdanKategori_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.CenterToParent()

    End Sub

End Class



Kita akan membuat 2 Form baru lagi yaitu Form untuk Rak dan Form untuk Kategori. Buat Form baru dengan nama FormRak dengan langkah-langkah yang sudah dijelaskan sebelumnya. Penulis akan membuat desain seperti berikut:


Pada Properties Form tidak ada yang diubah selain warnanya. Ikuti kriteria berikut ini untuk Toolbox lainnya:



 Toolbox
 Name
 Text
 Event
Button
BtnSimpanRak
 Simpan
Click
 Button
 BtnUbahRak
 Ubah
 Click
 Button
 BtnHapusRak
 Hapus
 Click
 Button
 BtnKeluarRak
 Keluar
 Click
 DataGridView
 DGVRak
 -
 CellContentClick
 Label
 LblRak
 Rak
 -
 TextBox
 TxtRak
 -
 -


Pada FomRak, isikan code berikut:




Public Class FormRak



    Sub Data_Record()

        Try

            Call Koneksi()

            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()

            DGVRak.DataSource = Record

            DGVRak.Columns(0).Width = 300

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Sub Clear()

        BtnSimpanRak.Enabled = True

        BtnUbahRak.Enabled = False

        BtnHapusRak.Enabled = False

        TxtRak.Text = ""

        TxtRak.Focus()

        Call Koneksi()

        Call Data_Record()



    End Sub



    Private Sub FormRak_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Call Clear()

        Me.CenterToParent()

    End Sub



    Private Sub BtnSimpanRak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpanRak.Click

        If TxtRak.Text = "" Then TxtRak.Focus() : Exit Sub

        Try

            Call Koneksi()

            DML.Connection = Database

            DML.CommandType = CommandType.Text

            DML.CommandText = "insert into Table_Rak values('" & TxtRak.Text & "')"

            DML.ExecuteNonQuery()

            MsgBox("Data Telah Disimpan")

            Call Clear()

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Private Sub BtnUbahRak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbahRak.Click

        If TxtRak.Text = "" Then TxtRak.Focus() : Exit Sub

        Try

            Call Koneksi()

            DML.Connection = Database

            DML.CommandType = CommandType.Text

            DML.CommandText = "update Table_Rak set Rak='" & TxtRak.Text & "' where Kategori='" & DGVRak.SelectedCells(0).Value & "'"

            DML.ExecuteNonQuery()

            MsgBox("Data Telah Diubah")

            Call Clear()

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Private Sub BtnHapusRak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapusRak.Click

        If TxtRak.Text = "" Then TxtRak.Focus() : Exit Sub

        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_Rak where Rak='" & TxtRak.Text & "'"

                DML.ExecuteNonQuery()

                MsgBox("Data Telah Dihapus")

                Call Clear()

            End If

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Private Sub DGVRak_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVRak.CellContentClick

        Try

            TxtRak.Text = DGVRak.SelectedCells(0).Value

            BtnSimpanRak.Enabled = False

            BtnUbahRak.Enabled = True

            BtnHapusRak.Enabled = True



        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click

        Me.Close()

    End Sub

  

End Class




Selanjutnya, buat Form baru lagi dengan nama FormKategori, dengan desain seperti berikut:



 Toolbox
 Name
 Text
 Event
Button
BtnSimpanKategori
 Simpan
Click
 Button
 BtnUbahKategori
 Ubah
 Click
 Button
 BtnHapusKategori
 Hapus
 Click
 Button
 BtnKeluarKategori
 Keluar
 Click
 DataGridView
 DGVKategori
 -
 CellContentClick
 Label
 LblKategori
Kategori
 -
 TextBox
 TxtKategori
 -
 -

Pada FomKategori, isikan code berikut:




Public Class FormKategori

    Sub Data_Record()

        Try

            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()

            DGVKategori.DataSource = Record

            DGVKategori.Columns(0).Width = 300

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Sub Clear()



        BtnSimpanKategori.Enabled = True

        BtnUbahKategori.Enabled = False

        BtnHapusKategori.Enabled = False

        TxtKategori.Text = ""

        TxtKategori.Focus()

        Call Koneksi()

        Call Data_Record()



    End Sub



    Private Sub FormRakdanKategori_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Call Clear()

        Me.CenterToParent()

    End Sub



    Private Sub BtnSimpanKategori_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpanKategori.Click

        If TxtKategori.Text = "" Then TxtKategori.Focus() : Exit Sub

        Try

            Call Koneksi()

            DML.Connection = Database

            DML.CommandType = CommandType.Text

            DML.CommandText = "insert into  Table_Kategori values('" & TxtKategori.Text & "')"

            DML.ExecuteNonQuery()

            MsgBox("Data Telah Disimpan")

            Call Clear()

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Private Sub BtnUbahKategori_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbahKategori.Click

        If TxtKategori.Text = "" Then TxtKategori.Focus() : Exit Sub

        Try

            Call Koneksi()

            DML.Connection = Database

            DML.CommandType = CommandType.Text

            DML.CommandText = "update Table_Kategori set Kategori='" & TxtKategori.Text & "' where Kategori='" & DGVKategori.SelectedCells(0).Value & "'"

            DML.ExecuteNonQuery()

            MsgBox("Data Telah Diubah")

            Call Clear()

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Private Sub BtnHapusKategori_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapusKategori.Click

        If TxtKategori.Text = "" Then TxtKategori.Focus() : Exit Sub

        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_Kategori where Kategori='" & TxtKategori.Text & "'"

                DML.ExecuteNonQuery()

                MsgBox("Data Telah Dihapus")

                Call Clear()

            End If

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub

    Private Sub FormKategori_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Clear()

    End Sub



    Private Sub DGVKategori_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVKategori.CellContentClick

        Try

            TxtKategori.Text = DGVKategori.SelectedCells(0).Value

            BtnSimpanKategori.Enabled = False

            BtnUbahKategori.Enabled = True

            BtnHapusKategori.Enabled = True

        Catch ex As Exception

            MsgBox(ex.ToString())

        End Try

    End Sub



    Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click

        Me.Close()

    End Sub



End Class


Tahap kedua sampai disini dulu, tahap selanjutnya akan dijelaskan code pada Button-Button yang lain. 

Comments

  1. makasih buat pengetahuannya. btw apa ada part 3 nya? trims

    ReplyDelete
    Replies
    1. Maaf baru balas, ada part 3 nya https://fflime.blogspot.co.id/2015/12/aplikasi-perpustakaan-admin-using_19.html

      Delete
  2. Replies
    1. Hi Alfi, databasenya pakai apa ya? kalau sy coba bisa kok 😁

      Delete
  3. Bang ini untuk user dan admin pake interface ini ? apa beda lagi interface buat user ??

    ReplyDelete
    Replies
    1. Aplikasinya untuk interface admin, kalau buat user bisa dimodifikasi sesuai kebutuhan. Btw, saya perempuan 🙂🙂

      Delete

Post a Comment

Popular Posts