Rumahweb Blog
Banner - Contoh Database Perpustakaan

Contoh Database Perpustakaan Beserta Query SQL

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. 

Promo Hosting Murah Rumahweb

BACA JUGA: Contoh Database Sekolah Pada Sebuah Website

Manfaat

Ada beberapa manfaat menggunakan aplikasi perpustakaan berbasis website, seperti:

  1. Mempermudah pengelolaan buku perpustakaan.
  2. 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 TabelDeskripsi
tb_anggotaBerisi informasi data anggota seperti nama, alamat, status anggota, dan foto
tb_bukuBerisi informasi ID buku dan kode buku
tb_judulbukuBerisi detail informasi buku
tb_sirkulasiBerisi data sirkulasi peminjaman atau pengembalian buku
tb_detsirkulasiBerisi detail dari data sirkulasi
tb_kategoriBerisi informasi kategori buku
tb_penerbitBerisi informasi penerbit buku
tb_pengarangBerisi informasi pengarang buku
tb_petugasBerisi informasi data petugas
tb_klasifikasiBerisi klasifikasi buku
tb_subklasifikasiBerisi 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:

Contoh stuktur diagram Database Perpustakaan

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.

menampilkan data buku Perpustakaan sesuai 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.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Cloud Hosting Terbaik Rumahweb

Anggit Puguh

Anggit adalah seorang technical support di Rumahweb Indonesia yang memiliki hobi mengajar. Sebagai anggota tim Kelas Inspirasi, Anggit berusaha menginspirasi banyak anak kecil agar berani bermimpi dan terus berusaha meraih cita-cita mereka.