aplikasi-perpustakaan-vb6.pdf

9
www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir 1 PROGRAM PERPUSTAKAAN VB 6.0 Database Access, Crystal Report 8.5 Harga khusus untuk pembelajaran Rp. 50.000,- Permintaan revisi dikenakan biaya sesuai tingkat kesulitan Cara pembayaran melalui transfer ke salah satu rekening di bawah ini : No Rek: 066 - 0525 - 947 (BCA an. Uus Rusmawan) No Rek: 156 - 000 - 250 - 2146 (Mandiri an. Uus Rusmawan) No Rek : 0139 - 0106 - 3038 - 504 (BRI an. Uus Rusmawan) Program dikirim lewat email/Face Book (id : [email protected]) Peminat Hub Email : [email protected] 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 Tanggalpjm Totalpjm Nomoragt 07091401 14/09/07 3 A001

Upload: uusrusmawan

Post on 06-Nov-2015

23 views

Category:

Documents


2 download

TRANSCRIPT

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    1

    PROGRAM PERPUSTAKAAN VB 6.0

    Database Access, Crystal Report 8.5

    Harga khusus untuk pembelajaran Rp. 50.000,-

    Permintaan revisi dikenakan biaya sesuai tingkat kesulitan

    Cara pembayaran melalui transfer ke salah satu rekening di bawah ini :

    No Rek: 066 - 0525 - 947 (BCA an. Uus Rusmawan)

    No Rek: 156 - 000 - 250 - 2146 (Mandiri an. Uus Rusmawan)

    No Rek : 0139 - 0106 - 3038 - 504 (BRI an. Uus Rusmawan)

    Program dikirim lewat email/Face Book (id : [email protected])

    Peminat Hub Email : [email protected]

    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 Tanggalpjm Totalpjm Nomoragt 07091401 14/09/07 3 A001

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    2

    Tabel DetailPjm

    DetailPjm Nomorpjm Nomorbk Jumlahbk 070914011 B001 1 070914012 B002 1 070914013 B003 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 Conn As New adodb.Connection Public RSAnggota As adodb.Recordset Public RSBuku As adodb.Recordset Public RSPinjam As adodb.Recordset Public RSDetailPjm As adodb.Recordset Public RSKembali As adodb.Recordset Public RSDetailKbl As adodb.Recordset Public RSTansPjm As adodb.Recordset Public RSTansKbl As adodb.Recordset

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    3

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

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    4

    9.5 Transaksi Pengembalian Buku Ilustrasi dalam program pengembalian ini adalah sebagai berikut: 1. Nomor pengembalian muncul otomatis berikut tanggal kembalinya. 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

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    5

    9.6 Pembuatan Laporan 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

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    6

    Laporan peminjaman mingguan

    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.

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    7

    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.

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    8

    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

  • www.konsultasivb.com Pusat Kursus VB.Net & Bimbingan Tugas Akhir

    9

    Sub JmlDenda() Adodc1.Recordset.MoveFirst Denda = 0 Do While Not Adodc1.Recordset.EOF Denda = Denda + Adodc1.Recordset!Denda Adodc1.Recordset.MoveNext Loop LblDenda = Denda End Sub