Professional Documents
Culture Documents
Membuat Database
Database merupakan tempat penyimpanan data yang dapat menampung satu atau lebih tabel dan query. Database yang kita gunakan adalah Microsoft SQL Server 2000, maka pastikan anda telah menginstal Microsoft SQL Server 2000 pada komputer anda. Langkahnya sebagai berikut: 1. Pastikan SQL Server manager anda telah aktif. Apabila belum aktifkan jendela SQL Server Manager dan klik tombol Start/Continue.
2.
Selanjutanya aktifkan jendela Enterprise Manager dengan klik tombol start pada windows taksbar dan klik program | Microsoft SQL Server | Enterprise Manager. Perhatikan gambar 1.2. didalam jendela SQL Server Enterprise Manager, klik ganda masing-masing item yang terdapat pada folder Console Root sehingga muncul nama server anda.
3.
4. Kemudian klik kanan folder databases untuk membuat database baru lalu pilih New Database.
5. Masukanlah nama dalam database yang akan dibuat dengan nama perpustakaan, kemudian klik tombol OK.
2. Klik Tombol OK
6. Setelah anda melakukan langkah kelima, maka akan tercipta sebuah database baru dengan nama perpustakaan didalam folder Database.
Membuat Tabel
Dalam pembuatan tabel, kita akan menggunakan jendela Enterprise Manager untuk membuat tabel secara visual. Berikut adalah struktur Database dari tabel yang akan kita buat: ANGGOTA Id_Anggota Nama_Anggota Alamat Telepon BUKU No_Buku Judul Pengarang Tahun Terbit Stock
Gambar 1.5 Struktur Database Perpustakaan atau Hubungan Antar Tabel (RelationShip Table) Gambar 2.10 Tampilan Form Pengembalian saat dijalankan
Dalam pembuatan tabel menggunakan Enterprise Manager, langkah-langkahnya sebagai berikut: 1. 2. Pastikan jendela Enterprise Manager anda telah dalam keadaan Aktif. Perhatikan gambar 1.6 untuk membuat tabel dengan cara mengklik tanda Plus (+) pada database perpustakaan klik kanan Table | New Table.
Penjelasan listing frmPengembalian Dalam form pengembalian ini terdapat tiga buah recordset. Recordset rsPengembalian akan membuka dua tabel sekaligus, yaitu tabel Buku dan tabel Peminjaman, yang akan menampilkan No Buku sesuai dengan Id Anggota yang meminjamnya. Sedangkan rsKembaliBuku untuk memperbarui Stock Buku menjadi bertambah karena telah dikembalikan.
***
3.
Buatlah tabel buku dengan field dan type data seperti gambar dibawah ini: Info: Untuk membuat Primary Key anda cukup klik kanan pada field id_anggota pilih Set Primary Key
Private Sub Form_Load() 'Membuka database Set strCon = New ADODB.Connection strString = "DSN=perpus" strCon.Open strString, "ilmumedia", "maret89" End Sub
'Mengeluarkan data dari tabel anggota 'Jika txtId_Anggota di Enter Private Sub txtId_Anggota_KeyPress(KeyAscii As Integer) On Error GoTo errCari If KeyAscii = 13 Then 'txtNo_Buku.SetFocus Dim sqlcarianggota As String sqlcarianggota = "SELECT * FROM anggota " & _ "WHERE id_anggota= '" & txtId_Anggota.Text & "' " 'Membuka Recordset dari sqlcarianggota Set rsAnggota = New ADODB.Recordset rsAnggota.Open sqlcarianggota, strCon If txtId_Anggota.Text = "" Then Exit Sub lbNama.Caption = rsAnggota!nama_anggota lbAlamat.Caption = rsAnggota!alamat lbTelepon.Caption = rsAnggota!telepon Exit Sub errCari: MsgBox "ID Anggota tidak terdaftar", vbInformation txtId_Anggota.SetFocus End If End Sub
4.
If List2.ListCount = 0 Then Exit Sub List1.AddItem List2.Text i = List2.ListIndex List2.RemoveItem i List1.ListIndex = List1.NewIndex If List2.ListCount > 0 Then If i > List2.ListCount - 1 Then List2.ListIndex = i - 1 Else List2.ListIndex = i End If End If End Sub
'Tombol Kiri Semua Private Sub cmdKiri_Semua_Click() On Error Resume Next Dim i As Integer For i = 0 To List2.ListCount - 1 List1.AddItem List2.List(i) Next List2.Clear List1.ListIndex = List1.NewIndex End Sub 1. Pilih Folder Security
Private Sub cmdTampil_Click() Dim sqlPengembalian As String sqlPengembalian = "SELECT * FROM buku " & _ "INNER JOIN peminjaman " & _ "ON buku.no_buku = peminjaman.no_buku " & _ "WHERE peminjaman.id_anggota= '" & _ txtId_Anggota.Text & " '" Set rsPengembalian = New ADODB.Recordset rsPengembalian.Open sqlPengembalian, strCon If txtId_Anggota.Text = "" Then Exit Sub List1.Clear 'Menampilkan No Buku yang dipinjamn 'berdasarkan ID Anggota Do Until rsPengembalian.EOF List1.AddItem rsPengembalian!no_buku List1.ListIndex = 0 2.
Pada Kotak Dialog New Login, buatlah Login baru ilmumedia dengan Password maret89 dan tentukan default databasenya yaitu perpustakaan. Masih pada kotak dialog New Login, Perhatikan gambar 1.11. Aktifkan tab Server Roles dan beri tanda cek pada pilihan System Administrators. Selanjutnya aktifkan tab Database Acces, beri tanda cek pada pilihan database server. Kemudian pada bagian permit in Database Role, beri tanda cek pada pilihan Public dan db_owner. Klik OK. Setelah melakukan langkah ketiga, maka akan muncul kotak dialog Confirm Password. Ketikanlah password yang sama, yaitu maret89. Klilk OK. Lihat gambar 1.13.
3.
4.
5.
Perhatikan gambar 1.14. apabila proses pembuatan user baru telah selesai, maka user yang telah dibuat dapat gunakan sebagai login untuk masuk kedalam jendela SQL Server Enterprise Manager.
Dim strSQL As String Dim tambah As String Dim syarat As String strSQL = "SELECT no_buku FROM buku" '& _ '"Order by no_buku" sqlBuku = "SELECT * FROM buku " & _ "WHERE no_buku = '" & List2.Text & "'"
Set rsKembaliBuku = New ADODB.Recordset rsKembaliBuku.LockType = adLockOptimistic rsKembaliBuku.Open strSQL, strCon Set rsTambahBuku = New ADODB.Recordset rsTambahBuku.LockType = adLockOptimistic rsTambahBuku.Open sqlBuku, strCon
On Error Resume Next tambah = rsTambahBuku.Fields("stock") stocktambah = tambah + 1 rsTambahBuku.Fields("stock") = stocktambah rsTambahBuku.Update i=0 n = List2.ListCount - 1 Do Until rsKembaliBuku.EOF For i = 0 To n List2.ListIndex = i If rsKembaliBuku.Fields("no_buku") = _ List2.Text Then
2. Beri tanda cek 4. Beri tanda cek 5. Beri tanda cek Public dan db_owner 6. Klik OK
strCon.Execute "DELETE FROM peminjaman " & _ "WHERE no_buku = '" & List2.Text & "'" End If Next i rsKembaliBuku.MoveNext Loop List2.RemoveItem List2.ListIndex rsKembaliBuku.Close End Sub
'Tombol Kiri Private Sub cmdKiri_Click() On Error Resume Next Dim i As Integer
3.
Kemudian ketiklah listing frmPengembalian dibawah ini, dan simpan form dengan nama frmPengembalian.frm Listing frmPengembalian 'Mendeklarasikan general untuk form pengembalian Dim strCon As ADODB.Connection Dim rsAnggota As New ADODB.Recordset Dim rsPengembalian As New ADODB.Recordset Dim rsKembaliBuku As New ADODB.Recordset Dim rsTambahBuku As New ADODB.Recordset
'Tombol cmdKanan Private Sub cmdKanan_Click() On Error Resume Next Dim i As Integer If List1.ListCount = 0 Then Exit Sub List2.AddItem List1.Text i = List1.ListIndex List1.RemoveItem List1.ListIndex If List1.ListCount > 0 Then If i > List1.ListCount - 1 Then List1.ListIndex = i - 1 Else List1.ListIndex = i End If End If List2.ListIndex = List2.NewIndex End Sub
Gambar 1.14 User Baru
'Tombol cmdKanan_Semua Private Sub cmdKanan_Semua_Click() On Error Resume Next Dim i As Integer For i = 0 To List1.ListCount - 1 List2.AddItem List1.List(i) Next List1.Clear List2.ListIndex = 0 End Sub
Object
Property Name BorderStyle MDIChild Name MaxLength Name Default Name Caption Name Caption Name Caption Name Caption Name Caption Name Name Name Caption Name Default Name Caption
Pengaturan frmPengembalian 1 Fixed Single True txtId_Anggota 6 cmdTampil Tampilkan cmdKanan > cmdKanan_Semua >> cmdKiri < cmdKiri_Semua << cmdKembali Kembali List1 List 2 lbNama XXX lbAlamat XXX lbTelepon XXX
text 1 Command 1 Command 2 Command 3 Command 4 Command 5 Command 6 ListBox 1 ListBox 2 Label 1 Label 2 Label 3
3. Kemudian pada Create New Data Source pilih SQL Server dan klik Finish.
Penjelasan Listing frmPeminjaman Untuk memulai transaki masukan Id Anggota pada kotak text ID Anggota, lalu tekan Enter. Id Anggota yang anda masukan akan dijadikan sebagai kriteria pencarian peminjam pada tabel peminjaman. Jika ada, nama peminjamn (anggota) akan ditampilkan. Begitu juga untuk No Buku, hanya saja No Buku akan tampil pada object ListView. Saat anda mengklik tombol simpan, semua No Buku yang akan dipinjam dimasuk kedalam tabel peminjaman. 2. Klik (pilih) SQL Server
1. Klik Finish
4. Berilah nama perpus pada input text Name di Create New Data Source To SQL Server, selanjutnya copy nama server dari SQL Server Service Manager, dan Klik Next.
1. Beri nama input text Name dengan nama perpus 2. Copy Paste nama Server dari SQL Server Service Manager
FORM PENGEMBALIAN
Form pengembalian digunakan untuk menampilkan semua No Buku yang dipinjam oleh seorang peminjam, untuk selanjutnya dikembalikan. Untuk membuatnya ikuti langkah-langkah berikut ini: 1. 2. Tambahkan form baru dengan mengklik menu Project | Add | Form. Pilih form dan klik Open. Tambahkan object berikut ini sesuai dengan tabel 2.4 aturlah posisi object tersebut seperti terlihat pada gambar 2.7 3. Klik Next
Gambar 1.12 Memberi Nama DSN dan Server pada Create New Data Source To SQL Server
5. Selanjutnya pilih radio button SQL Server Authentication dan beri tanda conteng () pada connect to SQL Server to obtain beri login ID dengan nama ilmumedia dan password maret89 sesuai pad acount user yang anda buat pada SQL Server Enterprise Manager. Kemudian klik Next. 6. Pilih Database perpustakaan dengan cara menconteng check box () change the default database to. Dan klik Next, lalu Finish. 7. Jika anda ingin menguji koneksinya klik Test Data Source. Perhatikan gambar 1.14.
Set rsBuku = New ADODB.Recordset rsBuku.Open sqlBuku, strCon On Error Resume Next cekJumlah = rsBuku.Fields("stock") If cekJumlah = "0" Then MsgBox "NO Buku " & UCase(txtNo_Buku.Text) & _ " Stock Habis !", vbInformation TextSelector txtNo_Buku Exit Sub End If
If rsBuku.EOF Then MsgBox "No Buku " & UCase(txtNo_Buku.Text) & _ " yang dicari tidak terdaftar !", vbInformation TextSelector txtNo_Buku Exit Sub End If 'Memasukan kedalam grid listview Rec = ListView1.ListItems.Count Set Item = ListView1.ListItems.Add(, , rsBuku!no_buku) ListView1.ListItems(Rec + 1).Bold = True ListView1.ListItems(Rec + 1).ForeColor = vbRed Item.SubItems(1) = rsBuku!judul_buku Item.SubItems(2) = rsBuku!pengarang Item.SubItems(3) = rsBuku!tahun_terbit Exit Sub End If
Gambar 1.13 Memberi Login ID, Password dan memilih database yang akan digunakan
lbJumlah.Caption = "Jumlah : " & _ ListView1.ListItems.Count & " buah" End Sub
'Jika txtId_Anggota di Enter Private Sub txtId_Anggota_KeyPress(KeyAscii As Integer) On Error GoTo errCari If KeyAscii = 13 Then txtNo_Buku.SetFocus Dim sqlcarianggota As String sqlcarianggota = "SELECT * FROM anggota " & _ "WHERE id_anggota= ' " & txtId_Anggota.Text & " ' " 'Membuka Recordset dari sqlcarianggota Set rsAnggota = New ADODB.Recordset rsAnggota.Open sqlcarianggota, strCon If txtId_Anggota.Text = "" Then Exit Sub
Gambar 1.14 Menguji Koneksi DSN dengan Test Data Source
lbNama.Caption = rsAnggota!nama_anggota lbAlamat.Caption = rsAnggota!alamat lbTelepon.Caption = rsAnggota!telepon Exit Sub errCari: MsgBox "ID Anggota tidak terdaftar", vbInformation txtId_Anggota.SetFocus End If End Sub
'Mengeluarkan data dari tabel buku 'Jika txtNo_Buku di Enter Private Sub txtNo_Buku_KeyPress(KeyAscii As Integer) Dim sqlBuku As String Dim cekJumlah As String Dim cekListView As String Dim itemstring As String If KeyAscii = 13 Then sqlBuku = "SELECT * FROM buku " & _ "WHERE no_buku = ' " & txtNo_Buku.Text & " ' "
BAB II
rsPinjam.Fields("tgl_pinjam") = lbPinjam.Caption rsPinjam.Fields("tgl_kembali") = lbKembali.Caption rsPinjam.Update kurang = rsBuku.Fields("stock") stockkurang = kurang - 1 rsBuku.Fields("stock") = stockkurang rsBuku.Update Set rsBuku = Nothing Next i
'Memberishkan Field, Label dan listview txtId_Anggota.Text = "" txtNo_Buku.Text = "" ListView1.ListItems.Clear lbNama.Caption = "" lbAlamat.Caption = "" lbTelepon.Caption = "" End Sub
Private Sub Form_Load() 'Membuka database Set strCon = New ADODB.Connection strString = "DSN=perpus" strCon.Open strString, "ilmumedia", "maret89" 'Mengatur object listview Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3 AturListView Me, "NO BUKU", 15, "JUDUL", 35, "PENGARANG", 35, "TAHUN TERBIT", 15 Set rsAnggota = New ADODB.Recordset rsAnggota.CursorLocation = adUseClient rsAnggota.LockType = adLockOptimistic lbTgl_Pinjam.Caption = Date lbTgl_Kembali.Caption = Date + 7 End Sub
Gambar 2.1 Struktur Database Perpustakaan atau Hubungan Antar Tabel (RelationShip Table)
1. Buatlah project baru pada Visual Basic anda dengan pilihan Standar Exe, kemudian gantilah property name Project 1 anda dengan nama Perpustakaan. 2. Tambahkan MDI Form, melalui menu Project | Add MDI Form, klik Open. 3. Pada MDI Form ini buatlah menu seperti terlihat pada tabel 2.1 dengan mengklik menu Tools | Menu Editor. Level 0 1 1 1 1 0 1 1 &File Baru &Anggota Baru &Buku Baru &Keluar &Transaksi Transaksi Peminjaman Transaksi Pengembalian Caption mnFile mnAnggota Baru mnBuku Baru spl mnKeluar mnTransaksi mnPinjam mnKembali Name
3.
Kemudian ketiklah listing frmPeminjaman, dan simpan form dengan nama frmPeminjaman.frm Listing frmPeminjaman 'Mendeklarasikan variabel secara general 'Untuk form peminjaman Dim strCon As ADODB.Connection Dim rsAnggota As New ADODB.Recordset Dim rsBuku As New ADODB.Recordset Dim rsPinjam As New ADODB.Recordset Dim Item As ListItem Private Sub cmdSimpan_Click() 'On Error Resume Next Dim sqlAnggota As String Dim sqlBuku As String Dim syarat As String Rec = ListView1.ListItems.Count If Rec = 0 Then Exit Sub 'Untuk memasukan no buku kedalam tabel peminjaman For i = 1 To Rec syarat = ListView1.ListItems(i) sqlBuku = "SELECT * FROM buku " & _ "WHERE no_buku = ' " & syarat & " ' " Set rsPinjam = New ADODB.Recordset rsPinjam.LockType = adLockOptimistic rsPinjam.Open "peminjaman", strCon Set rsBuku = New ADODB.Recordset rsBuku.LockType = adLockOptimistic rsBuku.Open sqlBuku, strCon rsPinjam.AddNew rsPinjam.Fields("id_anggota") = txtId_Anggota.Text rsPinjam.Fields("no_buku") = ListView1.ListItems(i)
4. Ubahlah property WindowsState MDI Form menjadi 2-Maximized. 5. Kemudian tambahkan reference Microsoft ActiveX Data Object 2.5 Library dan komponen Microsoft Windows Common Controls 6.0 (SP4). Selanjutnya ketik listing Mainform di bawah ini. 6. Simpan Form ini dengan nama MainForm.frm dan beri nama project dengan nama ProPerpus.vbp. Object Form Property Name BorderStyle MDIChild Name MaxLength Text Name MaxLength Text Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Default Name Pengaturan frmPeminjaman 1 Fixed Single True txtId_Anggota 6 txtNo_Buku 6 lbNama XXX lbALamat XXX lbTelepon XXX lbJumlah Jumlah lbTgl_Pinjam XXX lbTgl_Kembali XXX cmdSimpan True ListView1
text 1
text 2 Listing Main Form 'Menampilkan Form Anggota Private Sub mnAnggota_Baru_Click() frmAnggota.Show End Sub 'Menampilkan Form Buku Private Sub mnBuku_Baru_Click() frmBuku.Show End Sub 'Menu Keluar Private Sub mnKeluar_Click() End End Sub 'Menampilkan Form Pinjam Private Sub mnTransaksi_Peminjaman_Click() frmPinjam.Show End Sub 'Menampilkan Form Kembali Private Sub mnTransaksi_Pengembalian_Click() frmKembali.Show End Sub Penjelasan Listing MainForm Semua kode-kode diatas berfungsi untuk menampilkan form sesusai nama formnya, frm Buku.Show berarti menampilkan form frmBuku. Form tersebut dapat ditampilkan jika anda sudah membuatnya. Label 1 Label 2 Label 3 Label 4 Label 5 Label 6 Command 1 ListView1
Menggunakan Modul
Modul biasa dipakai untuk mendeklarasikan semua variabel dan fungsi-fungsi yang bersifat public, dan dapat dipakai pada semua form. Untuk lebih jelasnya, tambahkan modul tersebut dengan mengklik menu project | Add Module | Open. Ketiklah listing modul.bas berikut dan simpan dengan nama modul.bas. Listing Modul.bas '**************************** PERPUSTAKAAN SEDERHANA ******************************* 'Created By: Martin Ringhat '*********************************************************************************** * 'Fungsi memblok isi TextBox Public Function TextSelector(TextBox As TextBox) TextBox.SelStart = 0 TextBox.SelLength = Len(TextBox.Text) TextBox.SetFocus End Function
'Procedur mengatur kolom header ListView Public Sub AturListView(myForm As Form, ParamArray lstView()) Dim i, Lebar myForm.ListView1.View = lvwReport Lebar = myForm.ListView1.Width - 80 With myForm.ListView1.ColumnHeaders .Clear For i = 0 To UBound(lstView) - 1 Step 2 .Add , , lstView(i), (lstView(i + 1) * Lebar) / 100 Next i End With Exit Sub End Sub PenjelasanListing Modul.bas AturListView digunakan untuk membuat kolom header pada object ListView yang dipakai pada form. Sedangkan TextSelector digunakan untuk memblok teks pada object TextBox.
Penjelasan Listing frmBuku Cara kerja listing frmBuku hampir sama dengan cara kerja listing frmAnggota.
FORM PEMINJAMAN
Semua transaksi peminjaman dilakukan diform ini, dengan syarat orang yang akan meminjam sudah terdaftar sebagai anggota uang dilakukan pada form Anggota. Id Anggota dan No Buku yang dipinjam akan dimasukan ke dalam database saat anda mengklik tombol simpan. Untuk membuatnya ikuti langkah-langkah berikut ini: 1. 2. Tambahkan form baru dengan mengklik menu Project | Add | Form. Pilih form dan klik Open. Tambahkan object berikut ini sesuai dengan tabel 2.4 aturlah posisi object tersebut seperti terlihat pada gambar 2.7
Form Anggota
Form anggota digunakan untuk memasukan data baru yang nantinya disimpan di dalam tabel anggota pada database SQL Server (perpustakaan).
Untuk membuatnya ikuti langkah-langkah berikut ini: 1. Tambahkan Form baru pada project Visual Basic anda dengan mengklik menu project | Add Form. Pilih Form dan klik Open. 2. Tambahkan object berikut sesuai dengan tabel 2.2. aturlah object tersebut seperti gambar 2.3.
'Menghapus item ListView dengan event double klik Private Sub ListView1_DblClick() On Error GoTo ErrPesan Dim i As Integer Dim TempIndex As Integer Dim TempId, strSQL As String If ListView1.ListItems.Count = 0 Then Exit Sub End If TempIndex = ListView1.SelectedItem.Index TempId = ListView1.ListItems.Item(TempIndex) 'Konfirmasi penghapusan record jawab = MsgBox("Apakah yakin Data " & _ TempId & vbCrLf & "Akan Dihapus ?", _ vbInformation + vbYesNo) If jawab = vbNo Then Exit Sub strSQL = "DELETE From buku " & _ "WHERE No_Buku= '" & TempId & "'" 'Pengeksekusian penghapusan strCon.Execute strSQL Label6.Caption = "Total Record : " _ & rsBuku.RecordCount i = ListView1.SelectedItem.Index ListView1.ListItems.Remove i Exit Sub ErrPesan: MsgBox "Data belum bisa dihapus " & _ vbCrLf & "Buku masih dalam peminjaman ", vbInformation End Sub
Object
Form
Property
Name BorderStyle MDIChild Name Max Length Text Name Text Name Text Name Text Caption Caption Caption Caption Caption Caption Name Default Name
Pengaturan
frmAnggota 1 Fixed Single True txtID_Anggota 5 txtNama_Anggota txtAlamat txtTelepon ID Anggota Nama Anggota Alamat Telepon Total Record : Record Aktif: cmdSimpan True ListView 1
Text 1 Text 2 Text3 Text4 Label 1 Label 2 Label 3 Label 4 Label 5 Label 6 Command 1 ListView 1
Private Sub Form_Load() 'Mengatur Kolom Header object ListView Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3 AturListView Me, "NO BUKU", 20, "JUDUL BUKU", 35, "PENGARANG", 45, "TAHUN TERBIT", 25, "STOCK", 15 'Membuka database Set strCon = New ADODB.Connection Set rsBuku = New ADODB.Recordset strString = "DSN=perpus" strCon.Open strString, "ilmumedia", "maret89" rsBuku.CursorLocation = adUseClient rsBuku.LockType = adLockOptimistic strSQL = "select * from buku " & "Order By No_Buku" rsBuku.Open strSQL, strCon 'Menampilkan semua data anggota ke listview i=1 Do While Not rsBuku.EOF Set Item = ListView1.ListItems.Add(i, , rsBuku!no_buku) ListView1.ListItems(Rec + 1).Bold = True ListView1.ListItems(Rec + 1).ForeColor = vbRed Item.SubItems(1) = rsBuku!judul_buku Item.SubItems(2) = rsBuku!pengarang Item.SubItems(3) = rsBuku!tahun_terbit Item.SubItems(4) = rsBuku!stock rsBuku.MoveNext Loop 'Menampilkan Total Record Label6.Caption = "Total Record: " & rsBuku.RecordCount End Sub
3. Ketiklah listing frmAnggota berikut dan dengan nama frmAnggota.frm. Listing frmAnggota Mendeklarasikan variabel recordset rsAnggota Dim strCon As ADODB.Connection Dim RsAnggota As New ADODB.Recordset Dim strSQL As String Dim Item As ListItem Tombol Simpan Private Sub cmdSimpan_Click() On Error GoTo ErrSimpan Dim strSQL As String If txtId_Anggota.Text = "" Or txtNama_Anggota.Text = "" Then Exit Sub 'Membuat RsAnggota yang baru Set RsAnggota = New ADODB.Recordset RsAnggota.LockType = adLockOptimistic
'Menampilkan Record Aktif 'Jika ListView di klik Private Sub ListView1_Click() Index = ListView1.SelectedItem.Index Label7.Caption = "Record Aktif: " & Index End Sub
RsAnggota.Open "Anggota", strCon Memasukan data ke recordset Anggota RsAnggota.AddNew RsAnggota!id_anggota = txtId_Anggota.Text RsAnggota!nama_anggota = txtNama_Anggota.Text RsAnggota!alamat = txtAlamat.Text RsAnggota!telepon = txtTelepon.Text RsAnggota.Update Menampilkan data anggota baru ke ListView Set Item = ListView1.ListItems.Add(1, , txtId_Anggota.Text) ListView1.ListItems(Rec + 1).Bold = True ListView1.ListItems(Rec + 1).ForeColor = vbBlue ListView1.ListItems(1).ListSubItems.Add 1, , txtNama_Anggota.Text ListView1.ListItems(1).ListSubItems.Add 2, , txtAlamat.Text ListView1.ListItems(1).ListSubItems.Add 3, , txtTelepon.Text 'Menghapus TextBox txtId_Anggota.Text = "" txtNama_Anggota.Text = "" txtAlamat = "" txtTelepon = "" 'Menampilkan Total Record Label5.Caption = "Total Record: " & RsAnggota.RecordCount txtId_Anggota.SetFocus Exit Sub ErrSimpan: MsgBox "Kode sudah terdaftar", _ vbInformation txtId_Anggota.SetFocus End Sub
If txtNo_Buku.Text = "" Or txtJudul_Buku.Text = "" Then Exit Sub 'Membuat RsBuku yang baru Set rsBuku = New ADODB.Recordset rsBuku.LockType = adLockOptimistic rsBuku.Open "buku", strCon 'Memasukan Data ke Recordset buku rsBuku.AddNew rsBuku!no_buku = txtNo_Buku.Text rsBuku!judul_buku = txtJudul_Buku.Text rsBuku!pengarang = txtPengarang.Text rsBuku!tahun_terbit = DTPicker1.Value rsBuku!stock = txtStock.Text rsBuku.Update Set Item = ListView1.ListItems.Add(1, , txtNo_Buku.Text) ListView1.ListItems(Rec + 1).Bold = True ListView1.ListItems(Rec + 1).ForeColor = vbBlue ListView1.ListItems(1).ListSubItems.Add 1, , txtJudul_Buku.Text ListView1.ListItems(1).ListSubItems.Add 2, , txtPengarang.Text ListView1.ListItems(1).ListSubItems.Add 3, , DTPicker1.Value ListView1.ListItems(1).ListSubItems.Add 4, , txtStock.Text 'Menghapus TextBox txtNo_Buku.Text = "" txtJudul_Buku.Text = "" txtPengarang = "" txtStock.Text = ""
Private Sub Form_Load() 'Mengatur Kolom Header object ListView Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3 AturListView Me, "ID ANGGOTA", 20, "NAMA ANGGOTA", 35, "ALAMAT", 45, "TELEPON", 25 'Membuka database Set strCon = New ADODB.Connection Set RsAnggota = New ADODB.Recordset strString = "DSN=perpus" strCon.Open strString, "ilmumedia", "maret89" RsAnggota.CursorLocation = adUseClient RsAnggota.LockType = adLockOptimistic
'Menampilkan Total Record Label5.Caption = "Total Record: " & rsBuku.RecordCount txtNo_Buku.SetFocus Exit Sub ErrSimpan: MsgBox "Kode sudah terdaftar", _ vbInformation txtNo_Buku.SetFocus End Sub
strSQL = "select * from anggota " & "Order By id_Anggota" Membuka recordset dari strSQL RsAnggota.Open strSQL, strCon
'Menampilkan semua data anggota ke listview i=1 Do While Not RsAnggota.EOF Set Item = ListView1.ListItems.Add(i, , RsAnggota!id_anggota) ListView1.ListItems(Rec + 1).Bold = True ListView1.ListItems(Rec + 1).ForeColor = vbRed Item.SubItems(1) = RsAnggota!nama_anggota Item.SubItems(2) = RsAnggota!alamat Item.SubItems(3) = RsAnggota!telepon RsAnggota.MoveNext Loop 'Menampilkan Total Record Label5.Caption = "Total Record: " & RsAnggota.RecordCount End Sub
'Menampilkan Record Aktif 'Jika ListView di klik Private Sub ListView1_Click() Index = ListView1.SelectedItem.Index Label6.Caption = "Record Aktif: " & Index End Sub
3. Ketiklah listing frmBuku dibawah ini dan simpan dengan nama frmBuku.frm Listing frmBuku Mendeklarasikan general untuk form buku Dim strCon As ADODB.Connection Dim rsBuku As New ADODB.Recordset Dim strSQL As String Dim Item As ListItem Private Sub cmdSimpan_Click() On Error GoTo ErrSimpan Dim strSQL As String
'Menghapus item ListView dengan event double klik Private Sub ListView1_DblClick() On Error GoTo ErrPesan Dim i As Integer Dim TempIndex As Integer Dim TempId, strSQL As String If ListView1.ListItems.Count = 0 Then Exit Sub End If TempIndex = ListView1.SelectedItem.Index TempId = ListView1.ListItems.Item(TempIndex) 'Konfirmasi penghapusan record jawab = MsgBox("Apakah yakin Data " & _ TempId & vbCrLf & "Akan Dihapus ?", _
vbInformation + vbYesNo) If jawab = vbNo Then Exit Sub Penjelasan Listing FrmAnggota strSQL = "DELETE From Anggota " & _ "WHERE id_anggota =' " & TempId & " ' " 'Pengeksekusian penghapusan strCon.Execute strSQL Label5.Caption = "Total Record : " _ & RsAnggota.RecordCount i = ListView1.SelectedItem.Index ListView1.ListItems.Remove i Exit Sub ErrPesan: MsgBox "Data belum bisa dihapus " & _ vbCrLf & "Anggota masih meminjam buku ", vbInformation End Sub Variabel recordset rsAnggota dideklarasikan secara general yang dapat digunakan di dalam form frmAnggota. Saat program dijalankan, recordset rsAnggota akan membuka semua datadata anggota dari tabel Anggota dan ditampilkan dalam object ListView. Jika ada data anggota yang baru, anda dapat memasukannya kedalam object textbox lalu klik tombol simpan dan data akan langsung masuk ke dalam database.
FORM BUKU
Form Buku digunakan untuk memasukan data buku baru yang nantinya disimpan didalam tabel Buku pada database Perpustakaan. Untuk membuatnya ikuti langkah-langkah berikut: 1. 2. Tambahkan form baru dengan mengklik menu project | Add | Form. Pilih form dan klik open. Tambahkan object berikut ini sesuai dengan tabel 2.3 aturlah posisi object tersebut seperti terlihat pada gambar 2.5 Object Form Property Name BorderStyle MDIChild Name MaxLength Text Name Text Name Text Name Name Text Caption Caption Caption Caption Caption Caption Caption Name Default Name Pengaturan frmBuku 1 Fixed Single True txtNo_Buku 6 txtJudul_Buku txtPengarang DTPicker1 Stock No Buku Judul Buku Pengarang Tahun Terbit Stock Total Record Record Aktif cmdSimpan True ListView1
text 1
Text 2 Text 3 DTPicker Text 4 Label 1 Label 2 Label 3 Label 4 Label 5 Label 6 Label 7 Command 1 ListView1