Pernah berpikir bagaimana sistem peminjaman buku di perpustakaan bisa berjalan dengan rapi dan teratur? Di balik itu semua, ada peran penting database yang mengelola data buku, anggota, hingga riwayat peminjaman. Dalam artikel ini, kami akan membahas contoh database perpustakaan, lengkap dengan query SQL dasar yang sering dipakai untuk mengelola dan menampilkan datanya.
Pengaruh perkembangan teknologi informasi telah menjangkau bidang pendidikan, salah satunya perpustakaan. Perpustakaan sekolah menjadi sumber informasi bagi siswa untuk mendapatkan berbagai ilmu melalui literasi.
Namun, saat ini masih banyak instansi sekolah yang pengelolaan perpustakaan masih menggunakan sistem manual. Melalui artikel ini, kami akan membahas tentang contoh database perpustakaan beserta query MySQL yang bisa menjadi ide membawa sistem informasi yang dikerjakan dengan proses konvensional ke sistem digital.
Perlunya menggunakan Sistem Digital
Apabila pencatatan transaksi di perpustakaan seperti peminjaman pengembalian buku, pembuatan laporan buku, masih tertulis secara manual, hal ini sangatlah tidak efektif mengingat kemajuan teknologi sudah semakin pesat.
Sehubungan dengan hal tersebut, penggunaan Sistem Informasi yang lebih terkomputerisasi sangatlah diperlukan mengingat kemajuan teknologi yang semakin maju. Untuk itu, perlu dibuat sistem Informasi Perpustakaan berbasis Web. Sistem informasi ini akan memberikan informasi tentang ketersediaan buku, daftar koleksi buku yang ada di perpustakaan dengan mudah dan cepat.
Selain itu, sistem perpustakaan yang berbasis web akan memberikan kemudahan bagi petugas perpustakaan dalam mengelola transaksi dan pembuatan laporan buku, sehingga diharapkan dapat mengatasi permasalahan-permasalahan yang ada.
BACA JUGA: Contoh Database Sekolah Pada Sebuah Website
Manfaat
Ada beberapa manfaat menggunakan aplikasi perpustakaan berbasis website, seperti:
- Mempermudah pengelolaan buku perpustakaan.
- Mendapatkan laporan perpustakaan dengan cepat dan lebih akurat.
Contoh Database Perpustakaan
Berikut adalah contoh database perpustakaan standar yang umum digunakan.
Table Database Perpustakaan
Table yang perlu dibuat sebagai berikut.
Nama Tabel | Deskripsi |
---|---|
tb_anggota | Berisi informasi data anggota seperti nama, alamat, status anggota, dan foto |
tb_buku | Berisi informasi ID buku dan kode buku |
tb_judulbuku | Berisi detail informasi buku |
tb_sirkulasi | Berisi data sirkulasi peminjaman atau pengembalian buku |
tb_detsirkulasi | Berisi detail dari data sirkulasi |
tb_kategori | Berisi informasi kategori buku |
tb_penerbit | Berisi informasi penerbit buku |
tb_pengarang | Berisi informasi pengarang buku |
tb_petugas | Berisi informasi data petugas |
tb_klasifikasi | Berisi klasifikasi buku |
tb_subklasifikasi | Berisi subklasifikasi buku |
Contoh SQL Query Database Perpustakaan
Berikut adalah query SQL database dari masing-masing table beserta contoh field yang dapat Anda gunakan.
tb_anggota
CREATE TABLE IF NOT EXISTS `tb_anggota` (
`IDAnggota` int(11) NOT NULL,
`namaAnggota` varchar(50) NOT NULL,
`alamatAnggota` varchar(100) NOT NULL,
`jkAnggota` enum('Laki - Laki','Perempuan') NOT NULL,
`statusAnggota` enum('Siswa','Guru/ Karyawan') NOT NULL,
`telpAnggota` varchar(15) DEFAULT NULL,
`photoAnggota` varchar(300) DEFAULT NULL,
PRIMARY KEY (`IDAnggota`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_buku
CREATE TABLE IF NOT EXISTS `tb_buku` (
`IDBuku` varchar(15) NOT NULL,
`kodeJudul` int(11) NOT NULL,
PRIMARY KEY (`IDBuku`),
KEY `FK_tb_bukuJudul` (`kodeJudul`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_judulbuku
CREATE TABLE IF NOT EXISTS `tb_judulbuku` (
`kodeJudul` int(11) NOT NULL,
`judulBuku` varchar(50) NOT NULL,
`noKlasifikasi` char(3) NOT NULL,
`deskripsiBuku` text NOT NULL,
`IDPengarang` int(11) NOT NULL,
`IDPenerbit` int(11) NOT NULL,
`IDKategori` int(11) DEFAULT NULL,
`tahunTerbit` int(5) NOT NULL,
`stokBuku` int(11) NOT NULL,
`gambarBuku` varchar(50) DEFAULT NULL,
PRIMARY KEY (`kodeJudul`),
KEY `FK_tb_judulbukuPengarang` (`IDPengarang`),
KEY `FK_tb_judulbukuPenerbit` (`IDPenerbit`),
KEY `FK_tb_judulbukuKategori` (`IDKategori`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_penerbit
CREATE TABLE IF NOT EXISTS `tb_penerbit` (
`IDPenerbit` int(11) NOT NULL,
`namaPenerbit` varchar(50) NOT NULL,
`alamatPenerbit` varchar(50) DEFAULT NULL,
PRIMARY KEY (`IDPenerbit`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_sirkulasi
CREATE TABLE IF NOT EXISTS `tb_sirkulasi` (
`IDSirkulasi` int(11) NOT NULL,
`IDAnggota` int(11) NOT NULL,
`tglPinjam` date DEFAULT NULL,
`tglHarusKembali` date DEFAULT NULL,
`tglKembali` date DEFAULT NULL,
`IDPetugas` int(11) DEFAULT NULL,
`denda` int(11) DEFAULT NULL,
PRIMARY KEY (`IDSirkulasi`),
KEY `FK_tb_sirkulasiPetugas` (`IDPetugas`),
KEY `FK_tb_sirkulasiAnggota` (`IDAnggota`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_detsirkulasi
CREATE TABLE IF NOT EXISTS `tb_detsirkulasi` (
`IDSirkulasi` int(11) NOT NULL,
`IDBuku` varchar(12) NOT NULL,
PRIMARY KEY (`IDSirkulasi`,`IDBuku`),
KEY `fk_id_buku_sirkulasi` (`IDBuku`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_kategori
CREATE TABLE IF NOT EXISTS `tb_kategori` (
`IDKategori` int(11) NOT NULL,
`namaKategori` varchar(50) NOT NULL,
PRIMARY KEY (`IDKategori`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_penerbit
CREATE TABLE IF NOT EXISTS `tb_penerbit` (
`IDPenerbit` int(11) NOT NULL,
`namaPenerbit` varchar(50) NOT NULL,
`alamatPenerbit` varchar(50) DEFAULT NULL,
PRIMARY KEY (`IDPenerbit`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_pengarang
CREATE TABLE IF NOT EXISTS `tb_pengarang` (
`IDPengarang` int(11) NOT NULL,
`namaPengarang` varchar(50) NOT NULL,
PRIMARY KEY (`IDPengarang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_petugas
CREATE TABLE IF NOT EXISTS `tb_petugas` (
`IDPetugas` int(11) NOT NULL,
`namaPetugas` varchar(50) NOT NULL,
`username` varchar(20) NOT NULL,
`password` varchar(32) NOT NULL,
`level` enum('petugas','admin') NOT NULL,
PRIMARY KEY (`IDPetugas`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_klasifikasi
CREATE TABLE IF NOT EXISTS `tb_klasifikasi` (
`IDKlasifikasi` char(3) NOT NULL,
`namaKlasifikasi` varchar(50) NOT NULL,
PRIMARY KEY (`IDKlasifikasi`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tb_subklasifikasi
CREATE TABLE IF NOT EXISTS `tb_subklasifikasi` (
`IDKlasifikasi` char(3) NOT NULL,
`IDSubKlasifikasi` char(3) NOT NULL,
`namaSubKlasifikasi` varchar(50) NOT NULL,
KEY `FK_tb_subklasifikasi` (`IDKlasifikasi`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Struktur Diagram Database
Dari query diatas, tercipta stuktur diagram database seperti berikut:

Setelah database selesai dibuat, selanjutnya Anda dapat menginputkan data ke dalam database tersebut. Setelah input data selesai, Anda dapat menampilkan datanya pada website.
Menampilkan Data
Untuk menampilkan data pada database yang telah kita buat sebelumnya, selanjutnya anda bisa menggunakan query berikut untuk menampilkan data pada website.
SELECT kodeJudul, judulBuku, namaPengarang, namaPenerbit, namaKategori, stokBuku
FROM tb_judulbuku JOIN tb_kategori
ON tb_kategori.IDKategori = tb_judulbuku.IDKategori
JOIN tb_pengarang
ON tb_pengarang.IDPengarang = tb_judulbuku.IDPengarang
JOIN tb_penerbit
ON tb_penerbit.IDPenerbit = tb_judulbuku.IDPenerbit
order by kodeJudul
Berikut adalah contoh tampilan data yang telah kami buat di database.

Pencarian Data
Berikut ini contoh query pencarian data.
"SELECT kodeJudul, judulBuku, namaPengarang, namaPenerbit, namaKategori, stokBuku
FROM tb_judulbuku JOIN tb_kategori
ON tb_kategori.IDKategori = tb_judulbuku.IDKategori
JOIN tb_pengarang
ON tb_pengarang.IDPengarang = tb_judulbuku.IDPengarang
JOIN tb_penerbit
ON tb_penerbit.IDPenerbit = tb_judulbuku.IDPenerbit
WHERE judulBuku LIKE '%$pecah_keyword[$i]%'
ORDER BY kodeJudul desc ";
Penutup
Perpustakaan yang mampu memanfaatkan perkembangan teknologi, dapat membawa beragam manfaat. Struktur database ini bisa Anda terapkan dan kembangkan untuk diaplikasikan di perpustakaan sekolah.
Dengan begitu, diharapkan sistem ini nantinya akan memudahkan dalam hal transaksi peminjaman dan pengembalian buku, cek stok buku, cek denda, dan pembuatan laporan.
Jika aplikasi perpustakaan Anda sudah selesai dibuat dan ingin diakses secara online, Anda bisa membeli domain dan hosting di Rumahweb. Layanan hosting kami mendukung database MySQL yang dapat dikelola melalui fitur phpMyAdmin di cPanel, serta dilengkapi Web Accelerator untuk memastikan aplikasi Anda dapat diakses dengan cepat dan stabil.
Demikian artikel kami tentang contoh database perpustakaan sekaligus dengan query SQL yang dapat Anda gunakan. Semoga bermanfaat.