4.1.2. Perancangan Basisdata Logikal
4.1.2.2. Menurunkan relasi-relasi ke model data logikal lokal Pada tahap ini bertujuan untuk membuat relasi pada
mode data logikal lokal yang menggambarkan entiti-entiti, relasi-relasi dan atribut dimana telah diidentifikasi.
1. Strong entiti type
Tabel 4.6 Tipe Entiti Yang Kuat
Wali (Kd_wali, Nama_Ayah, Nama_Ibu, Alamat_Ayah, Alamat_Ibu,
Pekerjaan_Ayah, Pekerjaan_Ibu Nama_Wali, Alamat_Wali, Pekerjaan_wali) Primary key Kd_wali
Siswa (NIS, Nama_siswa, Tempat_lahir_siswa, Tgl_lahir_siswa, Alamat_siswa, Agama_siswa, Jenis_kelamin_siswa, Anak_ke, Status, kd_wali)
Primary key NIS
Tata_Usaha (Kode_TU, Nama_TU, Tempat_lahir_TU, Tgl_lahir_TU, Alamat_TU, Agama_TU, Jenis_kelamin_TU, Password_TU)
Primary key Kode_TU
Petugas_Loket (Kode_Petugas, Nama_Petugas, Tempat_lahir_petugas, Tgl_lahir_petugas, Alamat_ petugas, Agama_petugas, Jenis_kelamin_petugas, Password_petugas)
Primary key Kode_Petugas
Guru (Kode_Guru, Nama_Guru, Tempat_lahir_guru, Tgl_lahir_guru, Alamat_guru, Agama_guru, Jenis_kelamin_guru, Password_guru)
Primary key Kode_Guru
Kelas (Kode_kelas, Program_studi, Tingkatan, Jumlah_siswa, Walikelas, Tahun) Primary key Kode_kelas, Tahun, Walikelas
MatPel (Kode_matpel, Nama_matpel) Primary key Kode_matpel
SPP (NIS, Nama_siswa, Tgl_pembayaran, Kode_kelas, Tahun) Primary key NIS, Tgl_pembayaran, Kode_kelas, Tahun
Absensi (Kode_kelas, Tgl_absensi, Kode_guru, Nama_guru, Tahun) Primary key Tgl_absensi, Kode_Guru, Kode_Kelas, Tahun
Jadwal (Kode_jadwal, Kode_kelas, Tahun, Kode_matpel, Nama_matpel, Kode_guru, Nama_guru, Shift, Hari)
Primary key Kode_jadwal, Kode_Kelas, Tahun
Pelanggaran (Tgl_pelanggaran, kode_pelanggaran, kode_guru, Nama_guru) Primary key (Tgl_pelanggaran, kode_pelanggaran)
Penilaian (NIS, Nama_siswa, Kode_kelas, Tahun, Semester, Kode_matpel, Nama_matpel, Kode_guru, Nama_guru, Nilai, Nilai_Kurang) Primary key NIS, Kode_matpel, Semester, Tahun
Nilai_K (Kode_matpel, Tahun, Nilai_minimal) Primary Key (Kode_matpel, Tahun)
2. Weak entiti type
Tabel 4.7 Tipe Entiti Yang Lemah
Detail_SPP (NIS, Nama_siswa, Tgl_pembayaran, Bulan, Biaya, Denda, Kode_petugas, Nama_petugas)
Primary key None (at present)
Detail_jadwal (Kode_jadwal, Kode_kelas, Tahun, NIS, Nama_siswa) Primary key None (at present)
Detail_absensi (Kode_Kelas, NIS, Nama_siswa, Tgl_absensi, keterangan, Shift, Kode_Guru, Tahun)
Primary key None (at present)
Detail_pelanggaran (Kode_pelanggaran, Tgl_pelanggaran, NIS, Nama_siswa, Kode_guru, Nama_guru, Kode_Kelas, Tahun)
Primary key None (at present)
Detail_matpel (Kode_kelas, Kode_matpel, Nama_buku, tahun) Primary key None (at present)
Pengajar (Kode_guru, Kode_matpel, Tahun) Primary key None (at present)
Telp_ayah (Kd_ortu, No_telp_ayah) Primary key Kd_ortu, No_telp_ayah Telp_ibu (Kd_ortu, No_telp_ibu) Primary key Kd_ortu, No_telp_ibu Telp_wali (Kd_wali, No_telp) Primary key Kd_wali, No_telp Telp_siswa (NIS, No_telp) Primary key NIS, No_telp Telp_guru (Kode_guru, No_telp) Primary key Kode_guru, No_telp Telp_TU (Kode_TU, No_telp) Primary key Kode_TU, No_telp Telp_petugas (Kode_petugas, No_telp) Primary key Kode_petugas, No_telp
3. Tipe relasi biner one-to-many (1..*) a.
b.
d.
e.
g.
h.
j.
k.
4. Tipe relasi biner many-to-many (*..*) a.
c.
e.
f.
5. Tipe relasi biner one-to-one (1..1) a.
4.1.2.3. Normalisasi
Normalisasi adalah teknik untuk menghasilkan sekumpulan relasi dengan property yang diinginkan, memberikan persyaratan data. Pada tahap ini terdapat 3 fase, yaitu:
1. First Normal Form (1NF)
Sebuah relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atributnya bernilai tunggal. 2. Second Normal Form (2NF)
Sebuah relasi dikatakan dalam bentuk normal kedua jika dan hanya jika sudah berada pada bentuk normal pertama (1NF) dan semua atribut yang bukan primary key memiliki fully functionally dependent terhadap primary key.
3. Third Normal Form (3NF)
Sebuah relasi dikatakan dalam bentuk normal ketiga jika berada dalam bentuk normal kedua dan setiap atribut bukan primary key memiliki transitively dependent terhadap primary key.
4. Boyce – Codd Normal Form (BCNF)
Sebuah relasi dikatakan BCNF jika dan hanya jika semua determinan adalah candidate key.
Siswa
Entiti ini sudah mengalami normalisasi hingga tahap 3NF BCNF : Siswa (NIS, Nama_siswa, Tempat_lahir_siswa,
Tgl_lahir_siswa, Alamat_siswa, Agama_siswa, Jenis_kelamin_siswa, Anak_ke, Status, kd_wali) Telp_siswa (NIS, No_telp)
Wali (kd_wali)
Wali
Entiti ini sudah mengalami normalisasi hingga tahap 3NF BCNF : Wali (Kd_wali, , Nama_ayah, Nama_ibu, Alamat_ayah,
Alamat_ibu, Pekerjaan_ayah, Pekerjaan_ibu Nama_wali, Alamat_wali, Pekerjaan_wali) Telp_ayah (Kd_wali, No_telp_ayah)
Telp_ibu (Kd_wali, No_telp_ibu) Telp_wali (Kd_wali, No_telp)
Guru
Entiti ini sudah mengalami normalisasi hingga tahap 3NF BCNF : Guru (Kode_guru, Nama_ guru, Tempat_lahir_guru,
Tgl_lahir_guru, Alamat_ guru, Agama_guru, Jenis_kelamin_guru, Password_guru)
Tata_Usaha
Entiti ini sudah mengalami normalisasi hingga tahap 3NF BCNF : Tata_Usaha (Kode_TU, Nama_TU, Tempat_lahir_TU,
Tgl_lahir_TU, Alamat_TU, Agama_TU, Jenis_kelamin_TU, Password_TU) Telp_TU (Kode_TU, No_telp)
Petugas Loket
Entiti ini sudah mengalami normalisasi hingga tahap 3NF BCNF : Petugas_Loket (Kode_petugas, Nama_petugas,
Tempat_lahir_petugas, Agama_petugas, Tgl_lahir_petugas, Alamat_petugas, Jenis_kelamin_petugas,
Password_petugas) Telp_petugas (Kode_petugas, No_telp)
Kelas
Entiti ini sudah mengalami normalisasi hingga tahap 2NF 3NF : Kelas (Kode_kelas, Program_studi, Tingkatan,
Nilai_K
Entiti ini sudah mengalami normalisasi hingga tahap 2NF 3NF : Nilai_K (Kode_Matpel, Nama_matpel, Tahun,
Nilai_minimal)
Matpel (Kode_Matpel, Nama_matpel)
SPP
UNF : NIS, Nama_siswa, {Tgl_pembayaran, Kode_petugas, Nama_petugas}, Kode_kelas, Biaya, Denda, Bulan, Tahun
1NF : NIS, Nama_siswa, Tgl_pembayaran, Kode_petugas, Nama_petugas, Kode_kelas, Biaya, Denda, Bulan, Tahun
2NF : SPP (NIS, Nama_siswa, Tgl_pembayaran, Kode_Kelas, Tahun)
Detail_SPP (NIS, Tgl_pembayaran, Bulan, Biaya, Denda, Kode_petugas, Nama_petugas) 3NF : SPP (NIS, Tgl_pembayaran, Kode_Kelas, Tahun)
Detail_SPP (NIS, Tgl_pembayaran, Bulan, Biaya, Denda, Kode_petugas,)
Siswa (NIS, Nama_siswa) Kelas (Kode_kelas, Tahun)
Absensi
UNF : Kode_kelas, Shift, {NIS, Nama_siswa, keterangan}, Tgl_absensi, Kode_guru, Nama_guru, Tahun 1NF : Kode_kelas, NIS, Shift, Nama_siswa, Tgl_absensi,
keterangan, Kode_guru, Nama_guru, Tahun
2NF : Absensi (Kode_kelas, , Tahun , Tgl_absensi, Kode_guru, Nama_guru)
Detail_absensi (Tgl_absensi, Kode_guru, Nama_guru, Kode_Kelas, Tahun, NIS, Nama_siswa, Shift, Keterangan)
3NF : Absensi (Kode_kelas, Tgl_absensi, Kode_guru, Tahun) Detail_absensi (Tgl_absensi, Kode_guru, Kode_Kelas,
Tahun, NIS, Shift, Keterangan) Siswa (NIS, Nama_siswa)
Guru (Kode_guru, Nama_guru) Kelas (Kode_kelas, Tahun)
Jadwal
UNF : Kode_jadwal, {Kode_kelas, Kode_matpel,
Nama_matpel, Kode_guru, Nama_guru}, Shift, Hari, Tahun, NIS, Nama_siswa
1NF : Kode_jadwal, Kode_kelas, Tahun, Kode_matpel, Nama_matpel, Kode_guru, Nama_guru, Shift, Hari, NIS, Nama_siswa
2NF : Jadwal (Kode_jadwal, Kode_kelas, Tahun, Kode_matpel, Nama_matpel, Kode_guru, Nama_guru, Shift, Hari, NIS, Nama_siswa)
3NF : Jadwal (Kode_jadwal, Kode_kelas, Tahun, Kode_matpel, Kode_guru, Shift, Hari, NIS)
Siswa (NIS, Nama_siswa) Kelas (Kode_kelas, Tahun)
MatPel (Kode_matpel, Nama_matpel) Guru (Kode_guru, Nama_guru)
Detail_matpel (Kode_matpel, Kode_Kelas, Tahun, Nama_buku)
BCNF : Jadwal (Kode_jadwal, Kode_kelas, Tahun, Kode_matpel, Kode_guru, Shift, Hari)
Detail_jadwal (Kode_jadwal, Kode_kelas, Tahun, NIS) Detail_matpel (Kode_matpel, Kode_Kelas, Tahun,
Nama_buku) Siswa (NIS, Nama_siswa) Kelas (Kode_kelas, Tahun)
MatPel (Kode_matpel, Nama_matpel) Guru (Kode_guru, Nama_guru)
Pelanggaran
UNF : {Tgl_pelanggaran, Kode_pelanggaran, NIS},
Jenis_pelanggaran, Point, Kode_guru, Nama_guru, NIS, Nama_siswa, Kode_kelas, Tahun
1NF : Tgl_pelanggaran, Kode_pelanggaran, NIS,
Jenis_pelanggaran, Point, Kode_guru, Nama_guru, NIS, Nama_siswa, Kode_kelas, Tahun
2NF : Pelanggaran (Tgl_pelanggaran, Kode_Pelanggaran, Jenis_Pelanggaran, Point, Kode_guru, Nama_guru)
Detail_pelanggaran (Tgl_pelanggaran, NIS,
Kode_pelanggaran, Nama_siswa, Tahun, Kode_kelas)
3NF : Pelanggaran (Tgl_pelanggaran, Kode_Pelanggaran, Kode_guru)
Detail_pelanggaran (Tgl_pelanggaran, NIS, Kode_pelanggaran, Tahun, Kode_kelas)
Point (Kode_pelanggaran, Jenis_pelanggaran, Point) Guru (Kode_guru, Nama_guru)
Siswa (NIS, Nama_siswa) Kelas (Kode_kelas, Tahun)
Penilaian
Entiti ini sudah mengalami normalisasi hingga tahap UNF 1NF : Nilai, NIS, Nama_siswa, kode_kelas, Kode_matpel, Nama_matpel, Kode_guru, Nama_guru, Semester, Tahun, Nilai_Kurang
2NF : Penilaian (Nilai, NIS, Nama_siswa, kode_kelas, Kode_matpel, Nama_matpel, Kode_guru, Nama_guru, Semester, Tahun, Nilai_Kurang) 3NF : Penilaian (Nilai, NIS, kode_kelas, Kode_matpel,
Kode_guru, Semester, Tahun, Nilai_Kurang) Siswa (NIS, Nama_siswa)
MatPel (Kode_matpel, Nama_matpel) Guru (Kode_guru, Nama_guru)
Pengajar (Kode_matpel, Kode_guru, Tahun)