APLIKASI DATABASE PERPUSTAKAAN DENGAN ACCESS Fungsi-fungsi tersebut akan dipenuhi oleh aplikasi dengan menggunakan struktur menu yang bersifat hirarki dengan menggunakan pulldown menu. III. Tempat Penyimpanan Data APLIKASI PERPUSTAKAAN MENGGUNAKAN Ms.ACCES Pada posting kali ini penulis akan membahas aplikasi pengolahan data perpustakaan dengan menggunakan Microsoft Access. I. Latar Belakang Kebutuhan akan pengolahan data buku perpustakaan mendorong penulis untuk memberikan penjelasan tentang tata cara membangun aplikasi pengolahan data perpustakaan dengan menggunakan Microsoft Access. Dalam pembahasan ini penulis hanya membayangkan aplikasi menurut gambaran yang ada dalam pikiran penulis sendiri, bukan berdasarkan kenyataan dari perpustakaan manapun. Jadi mungkin saja apa yang ada pada tulisan di sini tidak sesuai dengan kebutuhan pembaca sekalian, namun setidaknya tulisan ini bisa digunakan sebagai bahan referensi bagi siapapun yang ingin mengembangkan aplikasi pengolahan data perpustakaan. II. Fungsi Aplikasi Perpustakaan Aplikasi perpustakaan yang akan dibangun berfungsi untuk: 1. Mencatat data buku di Perpustakaan 2. Mencatat data anggota Perpustakaan 3. Mencatat data peminjaman dan pengembalian buku oleh anggota 4. Mencatat data denda pengembalian yang terlambat 5. Membuat laporan peminjaman buku Untuk menyimpan semua data, kita akan membagi data dalam dua golongan yaitu tabel data master dan tabel data transaksi. Tabel data master adalah data yang menjadi acuan dari data transaksi. Adapun ciri dari data master adalah: Data master jarang berubah Data master biasanya mempunyai satu primary key dan akan menjadi foreign key pada data transaksi Contoh primary key dalam data tabel master adalah:Kode_Anggota, Kode_Buku Tabel data transaksi adalah tabel data yang menyimpan data dari sebuah transaksi, misalnya transakasi peminjaman dan pengembalian buku perpustakaan, pembelian barang, penjualan barang atau transaksi absensi karyawan. Adapun ciri dari tabel data transaksi adalah: Memiliki foreign key yang berelasi dengan tabel data master Jumlah record sering berubah tergantung adanya transaksi, misalnya transaksi penjualan Data pada tabel transaksi biasanya ada proses perhitungan antar field, misalnya harga_satuan * jumlah_barang menghasilkan nilai sub total harga barang. Tabel master yang diperlukan pada aplikasi perpustakaan terdiri dari: 1. Tabel Master_Anggota 2. Tabel Master_Buku Tabel transaksi yang diperlukan terdiri dari: 6. 7. 1. Tabel Pinjam 2. Tabel Pinjam_Detail 3. Tabel Histori_Buku Mencetak daftar Anggota Mencetak daftar Buku 8. Mencetak data denda pengembalian buku yang terlambat 9. Mencetak grafik anggota yang paling sering meminjam buku Klik di sini untuk melihat struktur tabel data aplikasi perpustakaan Gambar relasi tabel aplikasi perpustakaan IV. Proses Input Data Proses input data adalah proses menyimpan data ke dalam tabel pada database yang kita bangun. Dalam merancang user interface untuk proses input data kita harus memberikan kemudahan kepada user dan kontrol agar proses input data dapat dilakukan dengan mudah dan meminimalkan kesalahan proses input data. 2. Form untuk menampilkan daftar anggota 1. Form untuk nenambah atau mengedit data anggota perpustakaan Form yang disediakan pada aplikasi perpustakaan terdiri dari: 1. Form master anggota 2. Form master buku perpustakaan 3. Form transaksi peminjam dan pengembalian buku 4. Form daftar transaksi peminjaman buku 5. Form daftar histori IV. Laporan atau pencetakan data Salah satu tujuan dari pembuatan aplikasi dengan komputer adalah mendapatkan informasi yang berupa print out. Laporan-laporan yang akan disediakan pada aplikasi ini antara lain 1. Laporan daftar anggota perpustakaan 2. Laporan daftar buku perpustakaan 3. Laporan Daftar Pinjam Buku 4. Cetak data histori buku perpustakaan 5. Daftar Denda 6. Grafik Top 3 Peminjam Gambar 1 Form data anggota memiliki property Record Source yang diset ke tabel MASTER_ANGGOTA. Data pada form ini terdiri dari 5 field data yaitu KODE_ANGGOTA, NAMA_ANGGOTA, ALAMAT, NOMOR_TELEPON dan PEKERJAAN yang berasal dari tabel MASTER_ANGGOTA. Semua text box di-bound ke field pada tabel MASTER_ANGGOTA. 2. Form untuk menampilkan daftar anggota perpustakaan V. Penutup Contoh aplikasi perpustakaan ini saya dedikasikan untuk para pengunjum blog ini untuk belajar Microsoft Access. Jika ada saran, kritik dan masukan silakan anda dapat memposting saran anda melalui fasiltas untuk mengisi komentar atau melalui widget shout mix pada blog ini. Form Master Anggota Aplikasi Perpustakaan Pada aplikasi perpustakaan ini form master anggota dibagi menjadi dua jenis form. 1. Form untuk menambah atau mengedit data anggota Gambar 2 Form Daftar Anggota Perpustakaan terdiri dari dua form yaitu form master(form induk) dan subform. Form master di sini digunakan untuk memberikan fasilitas pencarian data anggota berdasarkan nama anggota, sedangkan datanya sendiri yang diambil dari tabel MASTER_ANGOTA di set ke Record Sourcenya form detail dengan tampilan continues form. Pada form detail atau subform disediakan tombol delete data dan edit data. Mencari data anggota Pada form daftar anggota perpustakaan kita dapat mencari anggota berdasarkan nama anggota. Untuk melakukan hal ini, isi text box Nama pada form master (tidak harus nama lengkap) lalu klik tombol CARI ANGGOTA. Semua data nama anggota perpustakaan yang mengandung nama yang diisikan pada text box Nama akan ditampilkan pada subform anggota. Jika user ingin menampilkan semua data, maka kosongkan data pada text box Nama lalu klik tombol CARI ANGGOTA. Ketika user mengklik tombol Cari Anggota aplikasi men-set Record Source dari subform dengan string query berikut: "SELECT * FROM MASTER_ANGGOTA WHERE NAMA_ANGGOTA LIKE '*" & Me.strCari & "*' ORDER BY NAMA_ANGGOTA;" kemudian subform anggota di-Requery. Adapun script lengkap dari event OnClick pada tombol Cari Anggota adalah sebagai berikut: Private Sub cmdCari_Click() On Error Resume Next Dim strSql As String strSql = "SELECT * FROM MASTER_ANGGOTA WHERE NAMA_ANGGOTA LIKE '*" & _ Me.strCari & "*' ORDER BY NAMA_ANGGOTA;" Me.DAFTAR_ANGGOTA_SUBFORM.Form.Recor dSource = strSql Me.DAFTAR_ANGGOTA_SUBFORM.Requery End Sub Tombol tambah data User dapat mengisi data anggota dan men-save data baru. Pada form data anggota, user harus mengisi setidaknya KODE_ANGGOTA dan NAMA_ANGGOTA. Jika data KODE_ANGGOTA tidak diisi, maka akan ditampilkan pesan 'Index or Primary Key cannot contail Null value' karena field KODE_ANGGOTA adalah primary key. Sedangkan jika NAMA_ANGGOTA tidak diisi maka akan muncul pesan 'The field 'MASTER_ANGGOTA.NAMA_ANGGOTA' cannot contain a Null value because the Required property for this field is set to True. Enter a value in this field' karena property required field NAMA_ANGGOTA pada tabel MASTER_ANGGOTA diset ke True. Jika user mengklik tombol tambah data, maka aplikasi akan menampilkan form anggota perpustakaan seperti pada gambar 1 yang masih kosong. Even OnClick pada tombol Tambah Data menjalankan script program berikut: Private Sub cmdAdd_Click() On Error GoTo Err_cmdAdd_Click Exit_cmdDelete_Click: Exit Sub Dim stDocName As String Dim stLinkCriteria As String stDocName = "MASTER_ANGGOTA" DoCmd.OpenForm stDocName, , , stLinkCriteria Tombol delete data Jika user mengklik tombol delete data, maka aplikasi akan mengkonfirmasi apakah data benar-benar akan dihapus. Jika user mengklik Yes maka data akan dihapus. Even onClick pada tombol delete data akan menjalankan script berikut: Private Sub cmdDelete_Click() On Error GoTo Err_cmdDelete_Click DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Err_cmdDelete_Click: MsgBox Err.Description Resume Exit_cmdDelete_Click End Sub Catatan : Jika anggota sudah pernah meminjam buku dan tercatat dalam tabel PINJAM maka data tidak dapat dihapus. Jika user menghapus data anggota tersebut maka akan ditampilkan pesan : Exit_cmdAdd_Click: Exit Sub Err_cmdAdd_Click: MsgBox Err.Description Resume Exit_cmdAdd_Click End Sub Gambar 3 Tombol edit data Jika user mengklik tombol edit data, maka aplikasi akan menampilkan data anggota perpustakaan seperti pada gambar 1. Berikut adalah script untuk membuka form Anggota Perpustakaan. Private Sub cmdEdit_Click() On Error GoTo Err_cmdEdit_Click Form Master Buku Perpustakaan Dim stDocName As String Dim stLinkCriteria As String Pada aplikasi perpustakaan ini form master buku dibagi menjadi dua jenis form. stDocName = "MASTER_ANGGOTA" stLinkCriteria = "[KODE_ANGGOTA]=" & "'" & Me![KODE_ANGGOTA] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormEdit 1. Form untuk menambah atau mengedit data buku 2. Form untuk menampilkan daftar buku Form untuk nenambah atau mengedit data buku perpustakaan Exit_cmdEdit_Click: Exit Sub Err_cmdEdit_Click: MsgBox Err.Description Resume Exit_cmdEdit_Click End Sub User dapat mengubah data anggota dan men-save data hasil perubahan. Even onClick pada tombol Save dari form data Anggota Perpustakaan akan menjalankan script berikut: Private Sub cmdSave_Click() On Error GoTo Err_cmdSave_Click DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Exit_cmdSave_Click: Exit Sub Err_cmdSave_Click: MsgBox Err.Description Resume Exit_cmdSave_Click Gambar 1 Form data buku memiliki property Record Source yang diset ke tabel MASTER_BUKU. Data pada form ini terdiri dari 6 field data yaitu KODE_BUKU, JUDUL_BUKU, PENGARANG, PENERBIT, NOMOR_ISBN dan JUMLAH_BUKU yang berasal dari tabel MASTER_BUKU. Semua text box dibound ke field pada tabel MASTER_BUKU. Form untuk menampilkan daftar buku End Sub Catatan : Jika anggota sudah pernah meminjam buku dan tercatat dalam tabel PINJAM maka data KODE_ANGGOTA tidak dapat diedit. Jika user mengubah data KODE_ANGGOTA maka akan ditampilkan pesan seperti pada gambar 3. Gambar 2 Form Daftar Buku Perpustakaan terdiri dari dua form yaitu form master(form induk) dan subform. Form master di sini digunakan untuk memberikan fasilitas pencarian data buku berdasarkan nama buku, sedangkan datanya sendiri yang diambil dari tabel MASTER_BUKU di set ke Record Source-nya form detail dengan tampilan continues form. Pada form detail atau subform disediakan tombol delete data dan edit data. Mencari data buku Pada form daftar buku perpustakaan kita dapat mencari buku berdasarkan nama buku. Untuk melakukan hal ini, isi text box Nama pada form master (tidak harus nama lengkap) lalu klik tombol CARI BUKU. Semua data nama buku perpustakaan yang mengandung nama yang diisikan pada text box Nama akan ditampilkan pada subform buku. Jika user ingin menampilkan semua data, maka kosongkan data pada text box Nama lalu klik tombol CARI BUKU. Ketika user mengklik tombol Cari buku aplikasi menset Record Source dari subform dengan string query berikut: "SELECT * FROM MASTER_BUKU WHERE NAMA_BUKU LIKE '*" & Me.strCari & "*' ORDER BY NAMA_BUKU;" kemudian subform buku di-Requery. Adapun script lengkap dari event OnClick pada tombol Cari buku adalah sebagai berikut: Private Sub cmdCari_Click() On Error Resume Next Dim strSql As String strSql = "SELECT * FROM MASTER_BUKU WHERE NAMA_BUKU LIKE '*" & _ Me.strCari & "*' ORDER BY NAMA_BUKU;" Me.DAFTAR_BUKU_SUBFORM.Form.RecordSour ce = strSql Me.DAFTAR_BUKU_SUBFORM.Requery End Sub Tombol tambah data Jika user mengklik tombol tambah data, maka aplikasi akan menampilkan form buku perpustakaan seperti pada gambar 1 yang masih kosong. Even OnClick pada tombol Tambah Data menjalankan script program berikut: Private Sub cmdAdd_Click() On Error GoTo Err_cmdAdd_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "MASTER_BUKU" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmdAdd_Click: Exit Sub Err_cmdAdd_Click: MsgBox Err.Description Resume Exit_cmdAdd_Click End Sub User dapat mengisi data buku dan men-save data baru. Pada form data buku, user harus mengisi setidaknya KODE_BUKU dan NAMA_BUKU. Jika data KODE_BUKU tidak diisi, maka akan ditampilkan pesan 'Index or Primary Key cannot contail Null value' karena field KODE_BUKU adalah primary key. Sedangkan jika NAMA_BUKU tidak diisi maka akan muncul pesan 'The field 'MASTER_BUKU.NAMA_BUKU' cannot contain a Null value because the Required property for this field is set to True. Enter a value in this field' karena property required field NAMA_BUKU pada tabel MASTER_BUKU diset ke True. Tombol delete data Jika user mengklik tombol delete data, maka aplikasi akan mengkonfirmasi apakah data benar-benar akan dihapus. Jika user mengklik Yes maka data akan dihapus. Even onClick pada tombol delete data akan menjalankan script berikut: Private Sub cmdDelete_Click() On Error GoTo Err_cmdDelete_Click DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Exit_cmdDelete_Click: Exit Sub Err_cmdDelete_Click: MsgBox Err.Description Resume Exit_cmdDelete_Click End Sub Catatan : Jika data buku sudah pernah dipinjam dan tercatat dalam tabel PINJAM_DETAIL maka data tidak dapat dihapus. Jika user menghapus data buku tersebut maka akan ditampilkan pesan : Gambar 3 Tombol edit data Jika user mengklik tombol edit data, maka aplikasi akan menampilkan data buku perpustakaan seperti pada gambar 1. Berikut adalah script untuk membuka form buku Perpustakaan. Private Sub cmdEdit_Click() On Error GoTo Err_cmdEdit_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "MASTER_BUKU" stLinkCriteria = "[KODE_BUKU]=" & "'" & Me![KODE_BUKU] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormEdit Exit_cmdEdit_Click: Exit Sub Catatan : Jika buku sudah pernah dipinjam oleh anggota dan tercatat dalam tabel PINJAM_DETAIL maka data KODE_BUKU tidak dapat diedit. Jika user mengubah data KODE_BUKU maka akan ditampilkan pesan seperti pada gambar 3. Form Pinjam Buku Perpustakaan Untuk proses entry data pinjaman dan pengembalian buku perpustakaan digunakan form pinjaman buku perpustakaan. Form ini dibuat multi fungsi yaitu untuk memasukkan data pinjaman buku dimana peminjaman buku harus diverifikasi oleh user yang mengentry data. Proses verifikasi pada form ini akan mengurangi stok buku dan data ini dicatat pada tabel HISTORI_BUKU. Selain untuk mencatat pinjaman, form ini juga digunakan untuk mencatat pengembalian buku. Jika pengembalian buku terlambat maka user memasukkan data denda akibat keterlambatan pengembalian. Proses pencatatan pinjaman buku perpustakaan 1. User memilih menu Peminjaman Buku dari menu Data Transaksi. Err_cmdEdit_Click: MsgBox Err.Description Resume Exit_cmdEdit_Click End Sub User dapat mengubah data buku dan men-save data hasil perubahan. Even onClick pada tombol Save dari form data buku Perpustakaan akan menjalankan script berikut: Gambar 1 2. Akan muncul form Pinjam buku Private Sub cmdSave_Click() On Error GoTo Err_cmdSave_Click DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Exit_cmdSave_Click: Exit Sub Err_cmdSave_Click: MsgBox Err.Description Resume Exit_cmdSave_Click End Sub Gambar 2 3. Isi data peminjaman buku perpustakaan: Kode Pinjam adalah field dengan tipe data Autonumber yang akan men-generate nomor urut peminjaman buku secara otomatis oleh Microsoft Access. Field ini adalah primary key dan uniq utuk setiap data baru. Nama Anggota dapat dipilih dari combo box yang diambil dari data MASTER_ANGGOTA. Tanggal Pinjam adalah tanggal kapan anggota meminjam buku. Tanggal Pengembalian adalah kapan anggota harus mengembalikan buku. Input data tanggal pinjam dan tanggal pengembalian dapat langsung diisi menggunakan keyboard atau menggunakan pilihan berupa date time picker yang dapat dimunculkan dengan mengklik gambar kalender di sebelah kanan field tanggal pinjam atau tanggal pengembalian. Judul Buku adalah daftar buku yang dipinjam oleh anggota. Judul buku dapat dipilih dari combo box yang datanya diambil dari MASTER_BUKU. 4. Jika data sudah diisi lengkap, maka user harus mengklik tombol verifikasi. Dengan menekan tombol Verifikasi maka aplikasi akan mengurangi stok buku yang ada diperpustakaan. Setelah proses verisfikasi ini, data tidak dapat diedit lagi oleh user. 5. Klik Tombol Close yang akan aktif jika user sudah melakukan verifikasi pada form ini. Proses pengembalian buku perpustakaan 1. User memilih menu Daftar Pinjaman Buku dari menu Data Transaksi. 2. Akan muncul Daftar Pinjaman Buku Perpustakaan. data subform pinjam dan pinjam detail. Pada form induk terdapat data bulan dan tahun untuk memfilter data berdasarkan bulan dan tahun dari tanggal peminjaman buku. 3. Cari data transaksi pengembalian yang dilakukan oleh peminjam (anggota perpustakaan). 4. Klik tombol Edit, akan muncul form pinjaman buku perpustakaan. Misalnya user mengklik KODE 62. Gambar 4 5. Isi Tanggal Dikembalikan sesuai dengan kapan peminjam mengembalikan buku yang dipinjamnya. 6. Klik tombol Terima Buku. Dengan mengklik tombol Terima Buku, maka field verifikasi pengembalian akan tercentang dan data jumlah persediaan buku akan bertambah. 7. Klik tombol Close untuk mentup form pinjaman buku perpustakaan. Form Daftar Pinjam Buku Perpustakaan Untuk melihat data peminjam dan buku yang dipinjam oleh anggota perpustakaan, aplikasi menyediakan form daftar pinjam buku perpustakaan. Untuk membuka form ini pilih menu Daftar Pinjam Buku dari menu Data Transaksi. Gambar 3 Daftar pinjaman buku perpustakaan terdiri atas 3 form yaitu satu buah form induk dan dua buah subform. Form induk menampung Gambar 1 Menu Daftar Pinjam Buku Setelah memilih menu Daftar Pinjaman Buku, akan muncul form Daftar Pinjaman Buku Perpustakaan. Gambar 2 Form Histori Buku Perpustakaan Gambar 2 Form Daftar Pinjaman Buku Perpustakaan Form ini menampilkan data transaksi peminjaman buku perputakaan yang difilter secara bulanan berdasarkan tanggal pinjam. Subform bagian atas adalah data header yang terdiri dari data tanggal pinjam, tanggal kembali, tanggal pengembalian, nama anggota yang meminjam, jumlah denda, status pinjam dan status pengembalian. Sedangkan subform bagian bawah berisi data nama buku yang dipinjam oleh anggota. Form Daftar Histori Kita dapat mengetahui histori atau sejarah peminjaman dan pengembalian buku perpustakaan dengan membuka form Daftar Histori melalui menu Histori Buku dari menu Data Transaksi. Form ini terdiri dari daftar buku perpustakaan pada bagian atas dan form detail histori pada bagian bawah. Form detail histori akan tampil berdasarkan buku perpustakaan yang dipilih pada form daftar buku. JIka kita ingin memfilter data nama buku, kita dapat mengisi text box judul buku dengan nama buku yang ingin kita tampilkan dan mengklik tombol CARI BUKU. Nama buku yang diisikan dapat kita isi sebagian dari karakter nama buku yang ingin kita tampilkan. Mencetak daftar histori Pada form bagian atas ada sebuah tombol dengan gambar Preview yang berada di sebelah kanan kolom PENGARANG. Tombol ini berfungsi untuk mencetak data histori pada mode preview. Jika user mengklik tombol Preview maka data buku pada baris di mana tombol preview di-klikc akan dicetak ke layar (preview) yang selanjutnya bisa juga dicetak ke printer/kertas. Contoh hasil preview dapat dilihat pada gambar berikut: Gambar 1 Menu Histori Buku Akan tampil form Histori Buku Perpustakaan seperti gambar berikut: Gambar 3 Preview Histori Buku Perpustakaan Struktur Tabel Aplikasi Perpustakaan Struktur tabel master terdiri dari: 1. Tabel Master_Anggota No Nama Field Tipe data Lebar data 1 KODE_ANGGOTA (Primary Key) Text 20 2 NAMA_ANGGOTA Text 50 3 ALAMAT Text 50 4 NOMOR_TELEPON Text 20 5 PEKERJAAN Text 50 2. Tabel Master_Buku No Nama Field Tipe data Lebar data 1 KODE_BUKU (Primary Key) Text 20 2 JUDUL_BUKU Text 100 3 PENGARANG Text 50 4 PENERBIT Text 50 5 NOMOR_ISBN Text 50 6 JUMLAH_BUKU Number Integer Struktur tabel transaksi terdiri dari: 1. Tabel Pinjam No Nama Field Tipe data 1 KODE_PINJAM (Primary Key) AutoNumber 2 TANGGAL_PINJAM Date/Time 3 TANGGAL_PENGEMBALIAN Date/Time 4 KODE_ANGGOTA Text 5 TANGGAL_DIKEMBALIKAN Date/Time 6 JUMLAH_DENDA Number 7 VERIFIKASI_PINJAM Yes/No 8 VERIFIKASI_PENGEMBALIAN Yes/No 2. Tabel Pinjam_Detail Lebar data Long Integer 20 Decimal No Nama Field Tipe data Lebar data 1 KODE_PINJAM (Primary Key) Number Long Integer 2 KODE_BUKU (Primary Key) Text 100 3. Tabel Histori_Buku No Nama Field Tipe data Lebar data 1 NO_URUT (Primary Key) Number Long Integer 2 KODE_BUKU Text 20 3 TANGGAL Date/Time 4 KETERANGAN Text 50 5 MASUK Number Integer 6 KELUAR Number Integer 7 SALDO Number Integer 8 TAHUN Number Integer