Database 1
5
Teknik dan Penerapan Normalisasi
Dahlia Widhyaestoeti, S.Kom
dahlia.widhyaestoeti@gmail.com
dahlia74march.wordpress.com
Teknik Normalisasi
Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data /
database, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk
struktur relasi yang baik (tanpa redudansi).
• Notasi: A B
A dan B adalah atribut dari sebuah tabel. Berarti
secara fungsional A menentukan B atau B
tergantung pada A, jika dan hanya jika ada 2
baris data dengan nilai A yang sama, maka nilai
B juga sama
Notasi: A B atau A x B
Adalah kebalikan dari notasi sebelumnya.
Functional Dependency
Contoh tabel nilai
• Aturan :
Tidak adanya atribut multi-value, atribut
komposit atau kombinasinya.
Mendefinisikan atribut kunci.
Setiap atribut dalam tabel tersebut harus
bernilai atomic (tidak dapat dibagi-bagi
lagi)
Normal Pertama (1st Normal Form)
Atau:
Didekomposisi menjadi:
Tabel Mahasiswa
Tabel Hobi
Normal Pertama (1st Normal Form)
Contoh 2 (composite)
JadwalKuliah
Kodekul NamaKul Dosen Kelas Jadwal
• Aturan :
Sudah memenuhi dalam bentuk normal
kesatu (1NF)
Semua atribut bukan kunci hanya boleh tergantung
(functional dependency) pada atribut kunci
Jika ada ketergantungan parsial maka atribut tersebut
harus dipisah pada tabel yang lain
Perlu ada tabel penghubung ataupun kehadiran foreign
key bagi atribut-atribut yang telah dipisah tadi
Normal Kedua (2nd Normal Form)
Contoh
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Mhs_nrp mhs_nama mhs_alamat mk_kode mk_nama mk_sks nihuruf
• Aturan :
Sudah berada dalam bentuk normal
kedua (2NF)
Tidak ada ketergantungan transitif
(dimana atribut bukan kunci tergantung
pada atribut bukan kunci lainnya).
Normal Ketiga (3rd Normal Form)
karena masih terdapat atribut non primary key (yakni alm_kota dan
alm_Provinsi) yang memiliki ketergantungan terhadap atribut non
primary key yang lain (yakni alm_kodepos):
alm_kodepos {alm_Provinsi, alm_kota}
Sehingga tabel tersebut perlu didekomposisi menjadi:
Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)
Kodepos (alm_kodepos, alm_provinsi, alm_kota)
Normal Ketiga (3rd Normal Form)
NP001 BRR
NP001 BRR
TABEL PROYEK
TABEL PEGAWAI
900.000
Normalisasi Kedua
Untuk membuat hubungan antara dua tabel, dibuat suatu
tabel yang berisi key-key dari tabel yang lain.
TABEL PROYEKPEGAWAI
Normalisasi Ketiga
TABEL PEGAWAI
TABEL GOLONGAN
Kasus 2
No-Mhs Nm-Mhs Jurusan Kd-MK Nama-MK Kd-Dosen Nm_Dosen Nilai
1NF
No-Mhs Nm-Mhs Jurusan Kd-MK Nama-MK Kd-Dosen Nm_Dosen Nilai
2683 MI350 A
2683 MI465 B Tabel Nilai
5432 MI350 C
5432 AKN201 B
5432 MKT300 A
Kasus 2
3NF
Kode-MK Nama-MK Kode-Dosen
Kode-Dosen Nama-Dosen
User-user Spesifikasi
Form Data Dictionary
Kebutuhan
Dan
Berbagai Atau
Data Model
user Laporan
UNF
1NF
2NF
3NF
Penerapan Bentuk Normalisasi
Langkah Pertama
Bentuklah menjadi tabel Un-Normalized, dengan mencantumkan
semua field data yang ada.
Menuliskan semua data yang akan direkam, bagian yang doubel tidak perlu
dituliskan. Terlihat record-record yang tidak lengkap, sulit untuk
membayangkan bagaimana bentuk record yang harus dibentuk untuk
merekam data tersebut.
Penerapan Bentuk Normalisasi
Langkah Kedua
Ubahlah menjadi bentuk Normal Kesatu dengan memisahkan data pada field-
field yang tepat dan bernilai atomik, juga seluruh record harus lengkap
datanya. Bentuk file masih flat.
Dengan bentuk Normal Kesatu ini telah dapat dibuat satu file dengan 11 field
yaitu No faktur, Kode Suplier, Nama Suplier, Kode Barang, Nama Barang,
Tanggal, Jatuh Tempo, Quntity, Harga, Jumlah, Total.
Penerapan Bentuk Normalisasi
Langkah Ketiga
Pembentukan Normal Kedua dengan mencari field kunci yang dapat
dipakai sebagai patokan dalam pencarian dan yang mempunyai sifat
yang unik. Melihat kondisi dari permasalahn faktur di atas dapat diambil
kunci kandidat sbb :
No faktur
Kode Suplier
Kode Barang
FD 1 : Tabel Suplier
FD 2 : Tabel Barang
FD 3 : Tabel Faktur
Suplier Barang
KodeSup NamaSup KodeBarang NamaBarang
Faktur
NoFak Tanggal Tempo KodeSup KodeBarang Qty Harga Total
Normal Ketiga
FD 4 : {NoFak, KodeSup} → Tanggal, Tempo,Total
FD 5 : {NoFak,KodeBarang} → Qty, Harga
FD 4 : Tabel Faktur
FD 5 : Tabel Transaksi
Suplier Barang
KodeSup NamaSup KodeBarang NamaBarang
Faktur
NoFak KodeSup Tanggal Tempo Total
Transaksi
NoFak KodeBarang Qty Harga