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