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
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
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.
makasih buat pengetahuannya. btw apa ada part 3 nya? trims
ReplyDeleteMaaf baru balas, ada part 3 nya https://fflime.blogspot.co.id/2015/12/aplikasi-perpustakaan-admin-using_19.html
Deletekenapa databasenya gak bisa connect???
ReplyDeleteHi Alfi, databasenya pakai apa ya? kalau sy coba bisa kok 😁
DeleteBang ini untuk user dan admin pake interface ini ? apa beda lagi interface buat user ??
ReplyDeleteAplikasinya untuk interface admin, kalau buat user bisa dimodifikasi sesuai kebutuhan. Btw, saya perempuan 🙂🙂
Delete