ERD (Entity Relationship Diagram) untuk Perpustakaan
Dalam ERD untuk sistem perpustakaan, kita akan memiliki beberapa entitas utama dan hubungan antar entitas tersebut. Berikut adalah entitas dan relasi yang terlibat:
-
Entitas:
- Buku: Menyimpan informasi tentang buku yang ada di perpustakaan.
- Pelanggan: Menyimpan data pelanggan yang meminjam buku.
- Peminjaman: Mencatat transaksi peminjaman buku oleh pelanggan.
- Petugas: Menyimpan informasi tentang petugas perpustakaan yang mengelola peminjaman.
-
Relasi:
- Peminjaman menghubungkan Pelanggan dengan Buku. Satu pelanggan bisa meminjam banyak buku, dan satu buku bisa dipinjam oleh banyak pelanggan dalam waktu yang berbeda.
- Petugas bertanggung jawab atas Peminjaman, sehingga ada relasi antara Petugas dan Peminjaman.
ERD untuk Perpustakaan
-
Pelanggan: Menyimpan data pelanggan seperti ID, nama, alamat, dan tanggal lahir.
- ID_Pelanggan adalah kunci utama.
-
Buku: Menyimpan data buku seperti ID buku, judul, pengarang, dan penerbit.
- ID_Buku adalah kunci utama.
-
Peminjaman: Menyimpan transaksi peminjaman, dengan kolom ID_Peminjaman, ID_Pelanggan, ID_Buku, Tanggal_Peminjaman, dan Tanggal_Kembali.
- ID_Peminjaman adalah kunci utama.
- ID_Pelanggan dan ID_Buku adalah kunci asing (foreign key) yang menghubungkan tabel Peminjaman dengan tabel Pelanggan dan Buku.
-
Petugas: Menyimpan data tentang petugas yang mengelola peminjaman buku, dengan kolom ID_Petugas, Nama_Petugas, dan Jabatan.
- ID_Petugas adalah kunci utama.
Relasi:
- Setiap Pelanggan bisa meminjam banyak Buku, dan satu Buku bisa dipinjam oleh banyak Pelanggan (many-to-many). Relasi ini diwakili oleh tabel Peminjaman.
- Setiap Peminjaman dikelola oleh Petugas, jadi ada relasi satu-ke-banyak antara Petugas dan Peminjaman.
Proses Normalisasi
Normalisasi adalah proses pengorganisasian data dalam basis data untuk mengurangi redundansi dan ketergantungan yang tidak perlu. Berikut adalah langkah-langkah normalisasi yang dilakukan pada sistem perpustakaan ini:
-
1NF (First Normal Form):
- Memastikan bahwa setiap kolom dalam tabel berisi nilai atomik (tidak ada grup nilai atau array).
- Misalnya, dalam tabel Peminjaman, setiap kolom seperti ID_Pelanggan dan ID_Buku hanya berisi satu nilai untuk setiap baris, bukan kumpulan nilai.
-
2NF (Second Normal Form):
- Semua atribut non-kunci harus bergantung sepenuhnya pada kunci utama.
- Dalam hal ini, kolom seperti Tanggal_Peminjaman dan Tanggal_Kembali bergantung sepenuhnya pada ID_Peminjaman di tabel Peminjaman, dan bukan hanya pada ID_Buku atau ID_Pelanggan.
-
3NF (Third Normal Form):
- Tidak ada kolom non-kunci yang bergantung pada kolom non-kunci lainnya (eliminasi transitive dependency).
- Misalnya, jika dalam tabel Pelanggan terdapat kolom Nama_Pelanggan dan Alamat_Pelanggan, keduanya bergantung sepenuhnya pada ID_Pelanggan. Kolom-kolom ini tidak bergantung pada kolom lainnya, jadi sudah memenuhi 3NF.
Pentingnya Normalisasi:
- Mengurangi redundansi data: Data yang tidak perlu disalin atau duplikat di tempat lain.
- Mempertahankan integritas data: Mengurangi kemungkinan terjadinya data yang tidak konsisten atau inkonsistensi dalam informasi.
- Mempermudah pemeliharaan database: Perubahan data lebih mudah dilakukan tanpa mengganggu integritas tabel lainnya.
Dengan normalisasi yang tepat, data dalam sistem perpustakaan akan lebih efisien dan lebih mudah dikelola, dengan menghindari duplikasi yang tidak perlu.


Komentar
Posting Komentar