www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
PROGRAM PERPUSTAKAAN VB 6.0 Peminat silakan hubungi : Email :
[email protected] Facebook :
[email protected] (Uus Rusmawan) PHONE : 0812 8438 1118
9.1 Normalisasi File Program Perpustakaan ini dirancang dengan Normaliasi level ketiga (3NF) dengan bentuk seperti Gambar 9.1.
Gambar 9.1 Normalisasi File Program Perpustakaan
Program perpustakaan ini menyimpan data ke dua tabel yaitu tabel Pinjam dan DetailPjm seperti terlihat pada tabel-tabel berikut ini. Tabel Pinjam Pinjam Nomorpjm 07091401
Tanggalpjm 14/09/07
Totalpjm 3
Nomoragt A001
Tabel DetailPjm
Nomorpjm 070914011 070914012
DetailPjm Nomorbk B001 B002
1
Jumlahbk 1 1
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi DetailPjm Nomorbk B003
Nomorpjm 070914013
Jumlahbk 1
9.2 Database Dan Tabel Untuk mengetahui file database dan struktur masing-masing tabel berikut type data dan kunci primer maupun kunci tamunya silakan buka CD pendukung buku ini.
Gambar 9.2 Database Dan Tabel
9.3 Membuat Module Untuk memulai membuat program Perpustakaan, aktifkanlah VB kemudian awali dengan membuat module lalu ketik coding berikut ini.
Coding : Public Public Public Public Public Public Public Public Public
Conn As New adodb.Connection RSAnggota As adodb.Recordset RSBuku As adodb.Recordset RSPinjam As adodb.Recordset RSDetailPjm As adodb.Recordset RSKembali As adodb.Recordset RSDetailKbl As adodb.Recordset RSTansPjm As adodb.Recordset RSTansKbl As adodb.Recordset
Public Sub BukaDB() Set Conn = New adodb.Connection Set RSAnggota = New adodb.Recordset Set RSBuku = New adodb.Recordset Set RSPinjam = New adodb.Recordset Set RSDetailPjm = New adodb.Recordset Set RSKembali = New adodb.Recordset
2
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Set RSDetailKbl = New adodb.Recordset Set RSTansPjm = New adodb.Recordset Set RSTansKbl = New adodb.Recordset Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ADOPustaka.mdb" End Sub
9.4 Transaksi Peminjaman Buku Dengan asumsi form login, data buku, anggota telah dibuat, kini saatnya membuat form Peminjaman dengan bentuk seperti Gambar 9.3 berikut ini. Ilustrasi pada program ini adalah sebagai berikut: 1. Nomor pinjam dan tanggal muncul secara otomatis, berubah setiap hari dan setiap ganti transaksi (disarankan untuk mengecek kembali validasi tanggal dengan format dd/mm/yy sebelum program dijalankan). 2.
Hal pertama yang harus dilakukan adalah mengetik Nomor Anggota. Jika ditemukan maka akan tampil namanya, jika pernah meminjam maka jumlahnya akan ditampilkan di DataGrid bagian bawah, jika belum pernah pinjam maka akan muncul keterangan dan diperbolehkan meminjam 4 buku.
3.
Jika jumlah telah pinjam dan jumlah peminjaman sekarang >=4 maka akan muncul pesan bahwa peminjaman sudah maksimal. Jika jumlah total peminjaman belum mencapai 4 maka peminjaman boleh dilanjutkan. Jumlah pinjam tiap buku adalah satu buah.
Gambar 9.3 Transaksi Peminjaman
9.5 Transaksi Pengembalian Buku Ilustrasi dalam program pengembalian ini adalah sebagai berikut: 1.
Nomor pengembalian muncul otomatis berikut tanggal kembalinya.
3
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 2.
Setelah mengetik nomor anggota, jika ditemukan maka akan muncul nama anggota.
3.
Jika nomor anggota tersebut pernah meminjam maka akan ditampilkan datanya pada DataGrid bagian bawah.
4.
Untuk mengembalikan buku cukup dengan memilih data dalam Grid bagian bawah lalu menekan enter.
5.
Pada saat disimpan maka data yang berubah terjadi pada lima tabel yaitu : a. Di tabel pinjaman jumlah total pinjam akan berkurang sebanyak buku yang dikembalikan. b. Di tabel detailpjm data akan hilang berdasarkan nomor pinjamnya karena buku dikembalikan. c. Di tabel kembali jumlah total kembali akan bertambah sebanyak buku yang dikembalikan. Perubahan juga terjadi pada kolom denda jika tanggal pengembalian melebihi batas akhir peminjaman. Denda per hari Rp. 500 per buku. d. Di tabel detailkbl data akan bertambah sebanyak buku yang dikembalikan. e. Di tabel buku, jumlah stok buku akan bertambah sebanyak buku yang dikembalikan.
Gambar 9.4 Transaksi Pengembalian Buku
9.6 Pembuatan Laporan
4
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Disini kami tidak lagi menjelaskan tentang pembuatan laporan untuk tabel master (tabel Buku, Anggota) tapi kami akan langsung menggambarkan peminjaman harian, mingguan dan bulanan dimana laporan tersebut prototypenya digunakan juga untuk laporan pengembalian buku.
9.6.1 Laporan Peminjaman Laporan peminjaman harian. Untuk laporan harian, buatlah rancangan laporan dengan bentuk seperti gambar berikut ini.
Gambar 9.5 Rancangan Laporan Peminjaman Harian
Gambar 9.6 Hasil Laporan Peminjaman Harian
Laporan peminjaman mingguan
5
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Untuk laporan mingguan, Anda tidak usah membuat rancangan yang baru, cukup dengan menggunakan File + Save As pada laporan harian dan menggantinya dengan laporan mingguan. Setelah itu pindahkanlah Field tanggal dari area Header ke area #1 : tanggalPjm – A. dan hasilnya dapat dilihat pada gambar berikut.
Gambar 9.7 Rancangan Laporan Peminjaman Mingguan
Laporan peminjaman bulanan Untuk laporan bulanan, rancangan formnya sama saja dengan laporan harian, oleh karena itu simpanlah dengan menggunakan File > Save AS dan ubah namanya menjadi laporan bulanan.
9.7 Rincian Peminjaman Buku Program ini dibuat untuk melihat kembali rincian peminjaman buku yang telah disimpan dalam database. Kunci pencarian dalam program ini menggunakan nomor pinjam. Untuk memulainya buatlah form dengan bentuk seperti gambar berikut ini.
6
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 9.8 Form Rincian Peminjaman
Coding: Private Sub Form_Load() On Error Resume Next Call BukaDB List1.Clear RSPinjam.Open "Select Distinct NomorPjm from Pinjam ", Conn Do Until RSPinjam.EOF List1.AddItem RSPinjam!NomorPjm RSPinjam.MoveNext Loop Conn.Close End Sub Private Sub list1_click() Call BukaDB Conn.CursorLocation = adUseClient RSPinjam.Open "select * from Pinjam where NomorPjm='" & List1.Text & "'", Conn RSPinjam.Requery If Not RSPinjam.EOF Then Tanggal = RSPinjam!TanggalPjm RSAnggota.Open "select * from Anggota where NomorAgt='" & RSPinjam!NomorAgt & "'", Conn If Not RSAnggota.EOF Then Anggota = RSAnggota!Namaagt Conn.Close Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\ADOPustaka.mdb" Adodc1.RecordSource = "select Judul, jumlahbk as Jumlah from Buku,detailpjm,Pinjam where DetailPjm.Nomorbk=Buku.Nomorbk and left(detailPjm.NomorPjm,8)=Pinjam.NomorPjm and Pinjam.NomorPjm='" & List1 & "'" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh Jumlah = Adodc1.Recordset.RecordCount End Sub Private Sub List1_keyPress(Keyascii As Integer) If Keyascii = 27 Then Unload Me End Sub
Catatan : Jika hasil dalam Grid kosong setelah memilih nomor pinjam, itu artinya semua buku telah dikembalikan.
7
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 9.8 Rincian Pengembalian Buku Untum melihat rincian pengembalian buku buatlah form seperti gambar berikut ini.
Gambar 9.9 Form Rincian Pengembalian
Coding: Private Sub Form_Load() On Error Resume Next Call BukaDB List1.Clear RSKembali.Open "Select Distinct NomorKbl from Kembali ", Conn Do Until RSKembali.EOF List1.AddItem RSKembali!NomorKbl RSKembali.MoveNext Loop Conn.Close End Sub Private Sub list1_click() Call BukaDB Conn.CursorLocation = adUseClient RSKembali.Open "select * from Kembali where NomorKbl='" & List1.Text & "'", Conn RSKembali.Requery If Not RSKembali.EOF Then LblTanggal = RSKembali!TanggalKbl RSAnggota.Open "select * from Anggota where NomorAgt='" & RSKembali!NomorAgt & "'", Conn If Not RSAnggota.EOF Then LblAnggota = RSAnggota!Namaagt Conn.Close Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\ADOPustaka.mdb" Adodc1.RecordSource = "select Judul, jumlahbk as Jumlah,Denda from Buku,detailKbl,Kembali where DetailKbl.Nomorbk=Buku.Nomorbk and left(detailKbl.NomorKbl,8)=Kembali.NomorKbl and Kembali.NomorKbl='" & List1 & "'" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh LblJumlah = Adodc1.Recordset.RecordCount Call JmlDenda End Sub Private Sub List1_keyPress(Keyascii As Integer) If Keyascii = 27 Then Unload Me End Sub Sub JmlDenda()
8
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Adodc1.Recordset.MoveFirst Denda = 0 Do While Not Adodc1.Recordset.EOF Denda = Denda + Adodc1.Recordset!Denda Adodc1.Recordset.MoveNext Loop LblDenda = Denda End Sub
9