Struktur Data Perancangan Basis Data

82

4.3.2. Struktur Data

Tujuan dibuatnya struktur data adalah untuk menjelaskan secara detail data-data yang digunakan dalam DFD pada e-library service system. Tabel 4.2. Struktur Data Nama Data Struktur Data Anggota {id_anggota + nama_anggota + kata_sandi + id_kelas + angkatan + gender [laki-laki, perempuan] + tempat_lahir + tgl_lahir + alamat + telp_anggota + email_anggota + kode_pos + id_petugas} Booking {id_booking + id_anggota + id_buku + tgl_pinjam + tgl_booking + tgl_batas} Buku {id_buku + isbn + id_petugas + judul_buku + penertbit + tempat_penerbit + tahun_terbit + pengarang + jum_hlmn + jum_buku + dipinjam + tanggal + cover Kelas {id_kelas + lokal_kelas} Kembali {id_kembali + id_anggota + id_buku + tgl_pinjam + tgl_kembali + denda} Komentar {id_komentar + isi_komentar + tgl + jam_komentar + aktif + id_anggota} Kunjungan {id_kunjungan + id_anggota + tgl_kunjungan} Petugas {id_petugas + password + nama_petugas + email_petugas} Pinjam {id_pinjam + id_anggota + id_buku + tgl_pinjam}

4.3.3. Perancangan Basis Data

Pembuatan perancangan basis data bertujuan untuk menggambarkan hubungan antar entitas beserta atributnya yang terlibat dalam database aplikasi e-library yang akan dibangun. 83 4.3.3.1.Normalisasi 4.3.3.1.1. Unnormalized id_anggota nama_anggota id_kelas gender tempat_lahir tgl_lahir alamat telp_anggota email_anggota id_booking id_anggota id_buku tgl_pinjam tgl_booking tgl_batas id_buku ISBN judul_buku penertbit …………… …………… tempat_penerbit tahun_terbit pengarang jum_hlmn jum_buku dipinjam tanggal id_kelas local_kelas id_kembali id_anggota id_buku tgl_pinjam tgl_kembali denda id_komentar id_buku ……………. …………….. isi_komentar tgl jam_komentar aktif id_anggota id_kunjungan id_anggota tgl_kunjungan id_petugas password nama_petugas email_petugas id_pinjam id_anggota id_buku tgl_pinjam Gambar 4. 15. Unnormalized 84

4.3.3.1.2. 1-NF First Normal Form

Tabel 4.3. 1-NF First Normal Form id_anggota nama_anggota id_kelas Gender tempat_lahir tgl_lahir alamat email_anggota ISBN id_booking id_buku id_petugas tgl_pinjam tgl_booking tgl_batas denda judul_buku penertbit tempat_penerbit tanggal tahun_terbit Pengarang jum_hlmn jum_buku dipinjam id_pinjam id_kembali Aktif lokal_kelas tgl_kembali email_petugas isi_komentar id_komentar password tgl_kunjungan kata_sandi id_kunjungan nama_petugas Tabel diatas sudah memenuhi syarat 1-NF, karena semua atributnya bernilai atomic zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia tidak memiliki sifat induknya, dan tidak ada set atribut yang berulang.

4.3.3.1.3. 2-NF Second normal form

1. Tabel_Anggota_Kelas Tabel 4.4. 2-NF Anggota_Kelas id_anggota nama_anggota id_kelas gender tempat_lahir igl_lahir alamat kode_pos email_anggota id_petugas kata_sandi lokal_kelas 85 Relasi di atas sudah 2-NF, karena: 1 Sudah memenuhi kriteria 1-NF 2 Setiap atribut yang bukan kunci tergantung secara fungsional pada primary key id_anggota 2. Tabel_Booking Tabel 4.5. 2-NF Booking id_booking id_anggota id_buku tgl_pinjam tgl_bookig tgl_batas Relasi di atas sudah 2-NF, karena 1 Sudah memenuhi kriteria 1-NF 2 Setiap atribut yang bukan kunci tergantung secara fungsional pada primary key id_booking 3. Tabel_Buku Tabel 4.6. 2-NF Buku id_buku isbn id_petugas judul_buku Penerbit tempat_terbit pengarang jum_buku jum_hlmn tahun_terbit Relasi di atas sudah 2-NF, karena 1 Sudah memenuhi kriteria 1-NF 2 Setiap atribut yang bukan kunci tergantung secara fungsional pada primary key id_buku 86 4. Tabel_Komentar Tabel 4.7. 2-NF Komentar id_komentar isi_komentar tgl jam_komentar Aktif id_anggota Relasi di atas sudah 2-NF, karena 1 Sudah memenuhi kriteria 1-NF 2 Setiap atribut yang bukan kunci tergantung secara fungsional pada primary key id_komentar 5. Tabel_Kunjungan Tabel 4.8. 2-NF Kunjungan id_kunjungan id_anggota tgl_kunjungan Relasi di atas sudah 2-NF, karena 1 Sudah memenuhi kriteria 1-NF 2 Setiap atribut yang bukan kunci tergantung secara fungsional pada primary key id_kunjungan 6. Tabel_pinjam_kembali Tabel 4.9. 2-NF pinjam_kembali id_pinjam id_anggota id_buku tgl_pinjam tgl_kembali id_kembali denda Relasi di atas sudah 2-NF, karena 1 Sudah memenuhi kriteria 1-NF 87 2 Setiap atribut yang bukan kunci tergantung secara fungsional pada primary key id_pinjam

4.3.3.1.4. 3-NF

1. Tabel_anggota Tabel 4.10. 3-NF anggota id_anggota kata_sanndi nama_anggota id_kelas gender tempat_lahir tgl_lahir alamat telp id_petugas email_anggota kode_pos 2. Tabel_kelas Tabel 4.11. 3-NF kelas id_kelas lokal_kelas 3. Tabel_pinjam Tabel 4.12. 3-NF pinjam id_pinjam id_anggota id_buku tgl_pinjam 4. Tabel_kembali Tabel 4.13. 3-NF kembali id_kembali id_anggota id_buku tgl_pinjam tgl_kembali denda Keterangan: Relasi di atas sudah memenuhi kriteria 3-NF, karena salah satu atau beberapa atribut non-primary key tidak saling memiliki ketergantungan fungsional terhadap 88 atribut non-primary key lainnya, dengan kata lain semua atribut non-primary key dari empat relasi di atas hanya memiliki ketergantungan fungsional terhadap primary key id_anggota untuk tabel anggota, id_kelas untuk tabel kelas, id_pinjam untuk tabel pinjam, dan id_kembali untuk tabel kembali. 4.3.3.2.ERD Entity Relationship Diagram Tujuan utama pembuatan ERD adalah untuk menunjukkan objek-objek entitas apa saja yang ingin dilibatkan dalam sebuah database dan bagaimana hubungan yang terjadi antara objek tersebut. Setelah ERD dibuat, dilakukanlah transformasi ERD ke Relasional Database yang mengimplementasikan data sebagai serangkaian tabel dua dimensi kemudian baru dilakukan proses normalisasi. Berikut adalah hasil perancangan ERD: 89 Gambar 4.16. ERD Entity Relationship Diagram 90 4.3.3.3.Transformasi ERD ke Relationship Database Gambar 4.17. Transformasi ERD ke Relationship Database Petugas id_petugas password nama_petugas Email_petugas Buku id_buku isbn id_petugas judul_buku penertbit tempat_penerbit tahun_terbit pengarang jum_hlmn jum_buku dipinjam tanggal cover Kembali id_kembali id_anggota id_buku tgl_pinjam tgl_kembali denda Pinjam id_pinjam id_anggota id_buku tgl_pinjam Anggota id_anggota nama_anggota kata_sandi id_kelas angkatan gender tempat_lahir tgl_lahir alamat telp_anggota email_anggota kode_pos id_petugas Komentar id_komentar isi_komentar tgl jam_komentar aktif id_anggota Kunjungan id_kunjungan id_anggota tgl_kunjungan Booking id_booking id_anggota id_buku tgl_pinjam tgl_booking tgl_batas Kelas id_kelas lokal_kelas 91 4.3.3.4.Spesifikasi Database Nama file : anggota Primary key : id_anggota Foregn key : id_kelas Type file : master file Tabel 4.14. Spesifikasi database anggota Field Jenis id_anggota Int 9 nama_anggota Varchar 50 kata_sandi Varchar 30 id_kelas Int 5 Angkatan Date Gender Enum [‘laki-laki’, ‘perempuan’] tempat_lahir Varchar 20 tgl_lahir Date Alamat Text telp_anggota Double email_anggota Varchar 75 kode_pos Double id_petugas Int 5 Nama file : booking Primary key : id_booking Foregn key : id_anggota, id_buku Type file : master file Tabel 4.15. Spesifikasi database booking Field Jenis id_booking Int 5 id_anggota int 9 id_buku Varchar 6 tgl_pinjam Date tgl_booking Date tgl_batas Date 92 Nama file : buku Primary key : id_buku Foregn key : id_petugas Type file : master file Tabel 4.16. Spesifikasi database buku Field Jenis id_buku varchar 6 isbn varchar 30 id_petugas int 5 judul_buku Varchar 60 penertbit Varchar 20 tempat_penerbit Text tahun_terbit Year 4 pengarang Varchar 70 jum_hlmn Varchar 15 jum_buku Varchar 15 dipinjam Int 3 tanggal Date cover Varchar 90 Nama file : kelas Primary key : id_kelas Foregn key : - Type file : master file Tabel 4.17. Spesifikasi database kelas Field Jenis id_kelas varchar 6 lokal_kelas varchar 15 93 Nama file : kembali Primary key : id_kembali Foregn key : id_anggota, id_buku Type file : master file Tabel 4.18. Spesifikasi database kembali Field Jenis id_kembali Int 5 id_anggota int 9 id_buku varchar 6 tgl_pinjam Date tgl_kembali Date denda Float Nama file : kunjungan Primary key : id_kunjungan Foregn key : id_anggota Type file : master file Tabel 4.19. Spesifikasi database kunjungan Field Jenis id_kunjungan int 10 id_anggota int 9 tgl_kunjungan Date 94 Nama file : komentar Primary key : id_komentar Foregn key : id_anggota Type file : master file Tabel 4.20. Spesifikasi database komentar Field Jenis id_komentar int 5 isi_komentar Text Tgl Date jam_komentar Time Aktif Enum ‘Y’, ‘N’ id_anggota Int 9 Nama file : petugas Primary key : id_petugas Foregn key : - Type file : master file Tabel 4.21. Spesifikasi database petugas Field Jenis id_petugas int 5 password varchar 20 nama_petugas varchar 85 email_petugas Varchar 75 95 Nama file : pinjam Primary key : id_pinjam Foregn key : id_anggota, id_buku Type file : master file Tabel 4.22. Spesifikasi database pinjam Field Jenis id_pinjam int 5 id_anggota int 9 id_buku Varchar 6 tgl_pinjam Date

4.3.4. Perancangan Flowchart Program