Solusi Normalisasi Ke-2
Solusi Normalisasi Ke-2
id_transaksi no_pelanggan nama_pelanggan alamat_kos jenis komposisi tanggal_masuk tanggal_selesai layanan status_ambil tanggal_ambil nama_pengambil nominal_bayar
TR001 P001 Haidar Gang Jeruk baju baju 3kg 1-Apr-20 2-Apr-20 Cuci, Setrika sudah 2-Apr-20 Haidar 20,000
TR002 P002 Jacky Gang Jeruk baju, selimut baju 1kg, selimut 3kg 1-Apr-20 1-Apr-20 Cuci, Setrika, Express
sudah 1-Apr-20 Temannya Jacky 25,000
TR003 P001 Haidar Gang Jeruk boneka, jeans boneka 2kg, jeans 3kg 4-Apr-20 6-Apr-20 Cuci, Setrika, SuperClean
sudah 6-Apr-20 Haidar 50,000
TR004 P003 Komar Gang Mangga baju baju 5kg 5-Apr-20 6-Apr-20 Cuci belum - - 35,000
Asumsi:
Tidak usah dianggap serius, sy gak begitu paham juga masalah laundry, jadi klo aneh jangan heran ya
Layanan adalah fasilitas yang ditawarkan oleh laundry
Komposisi dihitung pake KG smua
Laundry bisa diambilkan temannya
transaksi id_transaksi no_pelanggan nama_pelanggan alamat_kos tanggal_masuktanggal_selesai status_ambil tanggal_ambil nama_pengambil nominal_bayar
TR001 P001 Haidar Gang Jeruk 1-Apr-20 2-Apr-20 sudah 2-Apr-20 Haidar 20,000
TR002 P002 Jacky Gang Jeruk 1-Apr-20 1-Apr-20 sudah 1-Apr-20 Temannya Jacky 25,000
TR003 P001 Haidar Gang Jeruk 4-Apr-20 6-Apr-20 sudah 6-Apr-20 Haidar 50,000
TR004 P003 Komar Gang Mangga 5-Apr-20 6-Apr-20 belum - - 35,000
kolom komposisi sy ubah ke kolom berat, walaupun bisa juga masih pakai 'komposisi' tapi nulisnya ribet
2NF Untuk tabel cucian dan layanan sudah oke, bahkan dg syarat 3NF pun sudah memenuhi.
kita hanya perlu memproses tabel transaksi
Syarat 2NF adalah tidak ada kolom non key yang bergantung ke hanya sebagian dari PK
Tentu tidak ada kolom tsb, PK hanya satu, dan semua kolom bergantung penuh, silakan bisa dicek satu2. Dg kita tau id_transaksi, sudah pasti kita tahu setiap kolom yg lain.
Jadi, ketiga tabel sudah memenuhi 2NF
3NF Syaratnya tidak boleh ada kolom yang bergantung fungsional transitif, cirinya bergantung pada NON-KEY
Contohnya:
nama pelanggan bergantung pada no_pelanggan
alamat kos bergantung pada no_pelanggan
no_pelanggan nama_pelanggan alamat_kos id_transaksi no_pelanggan tanggal_masuk tanggal_selesai status_ambil tanggal_ambil nama_pengambil nominal_bayar
P001 Haidar Gang Jeruk TR001 P001 1-Apr-20 2-Apr-20 sudah 2-Apr-20 Haidar 20,000
P002 Jacky Gang Jeruk TR002 P002 1-Apr-20 1-Apr-20 sudah 1-Apr-20 Temannya Jacky 25,000
P003 Komar Gang Mangga TR003 P001 4-Apr-20 6-Apr-20 sudah 6-Apr-20 Haidar 50,000
TR004 P003 5-Apr-20 6-Apr-20 belum - - 35,000
Ada mahasiswa yang tanya..bisakah kolom yang kosong (tanggal_ambil) bisa diatasi?
Agar tidak kosong? Bisa saja...itu di tingkatan normal berikutnya, kita tidak perlu sampai kesana, tapi untuk sekedar informasi, kita bs kembangkan tabel transaksi menjadi dua tabel
TAMBAHAN SAJA