http://hendroagungs.blogspot.co.id
NORMALISASI
Basis Data
Definisi
• Istilah Normalisasi berasal dari E. F.Codd
• Normalisasi adalah suatu metodologi
tersendiri untuk menciptakan struktur tabel
(relasi) dalam basis data
• Normalisasi terkadang hanya diipakai sebagai
perangkat verifikasi terhadap tabel-tabel yang
dihasilkan oleh metodologi lain ( misalnya E-
Definisi
• Kroenke mendefinisikan:
• Normalisasi sebagai proses untuk mengubah
suatu relasi yang memiliki masalah tertentu ke
dalam dua buah relasi atau lebih yang tida
memiliki masalah tersebut.
• Masalah yang dimaksud oleh kroenke ini
sering disebut dengan istilah anomali.
Definisi
• Normalisasi adalah teknik dalam logical desain
sebuah basis data / database untuk
mengelompokkan atribut dari suatu relasi
sehingga membentuk struktur relasi yang baik
(tanpa redudansi).
• Normalisasi adalah proses pengelompokan
atributeatribute dari suatu relasi sehingga
membentuk WELL STRUCTURE RELATION.
Keuntungan normalisasi
• Meminimalkan ukuran penyimpanan yang
diperlukan untuk menyimpan data.
• Meminimalkan resiko inkonsistensi data pada
basis data
• Meminimalkan kemungkinan anomali
pembaruan
• Memaksimalkan stabilitas struktur data
Rancangan database
dikatakan buruk jika :
• Data yang sama disimpan di beberapa tempat
• Ketidak mampuan untuk menghasilkan
informasi tertentu
• Terjadi kehilangan informasi
• Terjadi adanya redudansi dan duplikasi data
• Timbul adanya NULL value
Anomali
• Proses pada basis data yangg memerikan efek
samping yang tidak diharapkan.
• Jenis anomali
– Update anomali
– Insert anomali
– Delete anomali
Update anomali
Error yang terjadi sebagai akibat inkonsistensi data yang terjadi sebagai akibat
dari operasi update record/tuple dari sebuah relation
PEMASOK KOTA BARANG JUMLAH
Kartika Jakarta Monitor GGG 10
Citra Bandung Zip-drive 4
Candra Jakarta Keyboard 5
Citra Bandung Mouse CCP 25
Pemasok Citra Pindah ke kota Bogor, maka setelah dilakukan perubahan data :
PEMASOK KOTA BARANG JUMLAH
Kartika Jakarta Monitor GGG 10
Citra Bogor Zip-drive 4
Candra Jakarta Keyboard 5
Citra Bandung Mouse CCP 25
Insert Anomali
Error yang terjadi sebagai akibat operasi insert record/tuple pada sebuah relation
NO_SISWA NAMA_KURSUS BIAYA
10 b. Inggris 60.000
10 b. Prancis 80.000
10 b. Mandarin 60.000
15 b. Inggris 60.000
20 b. Jepang 65.000
Jika akan dibuka kursus baru, misalnya bahasa Arab dengan biaya 70.000, tetapi
Belum ada seorangpun yang mengambil kursus ini. Akibatnya data kursus baru ini tidak
Dapat dicatat.
Delete Anomali
• Error yang terjadi sebagai akibat operasi delete record/tuple pada sebuah
relation.
Anomali delete akan terjadi jika data no_siswa 20 akan di hapus, maka
semua data tentang kursus
NO_SISWA b. Jepang akan ikut terhapus
NAMA_KURSUS BIAYA
10 b. Inggris 60.000
10 b. Prancis 80.000
10 b. Mandarin 60.000
15 b. Inggris 60.000
20 b. Jepang 65.000
Jika di normalkan
NAMA_KURSUS BIAYA
b. Inggris 60.000
b. Prancis 80.000
b. Mandarin 60.000
b. Jepang 65.000
NO_SISWA NAMA_KURSUS
10 b. Inggris
10 b. Prancis
10 b. Mandarin
15 b. Inggris
20 b. Jepang
Beberapa konsep
• Atribut / key
• Ketergantungan fungsi
Atribut / Key
• Super key
yaitu himpunan dari satu atau lebih entitas
yang digunakan untuk mengidentifikasikan
secara unik sebuah entitas dalam entitas set.
• Candidat key
yaitu satu attribute atau satu set minimal
atribute yang mengidentifikasikan secara unik
suatu kejadian yang spesifik dari entity.
• Primary key
Yaitu satu atribute atau satu set minimal atribute yang tidak
hanya mengidentifikasikan secara unik suatu kejadian yang
spesifik tapi juga dapat mewakili setiap kejadian dari suatu
entity
• Alternate key
yaitu kunci kandidat yang tidak dipakai sebagai primary key
• Foreign key
yaitu satu atribute (atau satu set atribute) yang melengkapi
satu relationship (hubungan yang menunjukkan ke induknya.
Contoh
Ketergantungan
• Ketergantungan/dependensi menjelaskan
hubungan antar atribut, atau secara lebih
khusus menjelaskan nilai suatu atribut yang
menentukan nilai atribut lainnya.
• Macam-macam ketergantungan
– Ketergantungan fungsional
– Ketergantung fungsional sepenuhnya
– Ketergantungan total
– Ketergantungan transitif
Ketergantungan fungsional
• Suatu atribut Y mempunyai ketergantungan
fungsional terhadap atribut X jika dan hanya
jika setiap nilai X berhubungan dengan sebuah
nilai Y
X→Y
• Yang berarti X secara fungsional menentukan
Y atau Y secara fungsional tergantung pada X
Contoh
NPM
NPM → namaMhs
Namakul, npm → nihuruf
Npm -→ nihuruf
Namakul -→npm
Ketergantungan transitif
• Definisi bentuk ketergantungan transitif
adalah sebagai berikut :
atribu Z mempunyai ketergantungan transitif
tehadap X, bila :
– Y memiliki ketergantungan fungsional terhadap X
(X→Y)
– Z memiliki ketergantungan fungsional terhadap Y
( Y → Z)
Contoh
No Mhs Nama Mhs Jurusan KodeMK Nama MK KodeDosen Nama Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
AKN201 Akuntansi Keuangan D310 Lia B
Bentuk 1st NF
unnormal
No Mhs Nama Mhs Jurusan KodeMK Nama MK KodeDosen Nama Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
AKN201 Akuntansi Keuangan D310 Lia B
Bentuk 1 st NF
No Mhs Nama Mhs Jurusan KodeMK Nama MK KodeDosen Nama Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
2683 Welli MI MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
5432 Bakri Ak. AKN201 Akuntansi Keuangan D310 Lia B
Bentuk 3 NF
KodeDosen Nama Dosen KodeMK Nama MK KodeDosen
B104 Ati MI350 Manajamen DB B104
B317 Dita MI465 Analsis Prc. Sistem B317
D310 Lia AKN201 Akuntansi Keuangan D310
B212 Lola MKT300 Dasar Pemasaran B212
Diagram Normalisasi