Normalisasi - E-learning Amikom

advertisement
Normalisasi
Mardhiya Hayaty, ST
Apa itu normalisasi ?
 •Normalisasi adalah proses pengelompokan
data ke dalam bentuk tabel atau relasi atau
file untuk menyatakan entitas dan hubungan
mereka sehingga terwujud satu bentuk
database yang mudah untuk dimodifikasi.
 Normalisasi adalah suatu proses untuk
mengidentifikasi “tabel” kelompok atribut
yang memiliki ketergantungan yang sangat
tinggi antara satu atribut dengan atribut
lainnya
Pentingnya Normalisasi
 Suatu rancangan database disebut buruk jika:
1. Data yang sama tersimpan dibeberapa
tempat (record atau file)
2. Terjadi adanya redudansi (pengulangan) atau
duplikasi data sehingga memboroskan ruang
penyimpanan dan menyulitkan proses update
data.
3. Terjadi kehilangan infomasi yang tidak
sengaja/tidak diketahui.
Kelemahan tabel diatas :
 Pengulangan Informasi
terjadi pada atribut nama_mhs, alamat_mhs dan tgl_lahir sesuai
data nim. Dan juga pada nama_kul, tempat, waktu dst.
 Potensi inkonsistensi data pada operasi pengubahan data
Jika akan mengubah nama mahasiswa berarti perubahan harus
dijalarkan pada setiap baris yang nimnya sama. Jika tidak
diterapkan seperti itu maka KF yang telah ditentukan akan
terganggu karena nantinya ada dua baris nim-nya sama tapi
data lainnya berbeda.
 Tersembunyinya informasi tertentu
Tabel diatas tidak dapat menampilkan data yang berlum ada
kaitannya. Misalnya mahasiswa yang tidak mengambil mata
kuliah atau mata kuliah yang belum diselenggarakan atau dosen
yang tidak mengajar.
 Dari kelemahan tersebut kita harus
mendekomposisikan tabel tersebut menjadi
beberapa tabel dengan mempertimbangkan
KF. Agar setiap tabel hanya memiliki satu KF
(KF yang minimum).
 APA ITU KF...?
Ketergantungan Fungsional (KF)
(Functional Dependency
 Diberikan sebuah tabel/relasi T. Atribut B dari T
bergantung secara fungsi pada atribut A dari T jika
dan hanya jika setiap nilai A dari T punya hubungan
dengan tepat satu nilai B dalam T
MataKuliah
NIM
NamaMhs
IndekNilai
row 1
Struktur Data
98001
Ali Akbar
A
row 2
Struktur Data
98004
Indah Sutanti
B
row 3
Basis Data
98001
Ali Akbar
row 4
Basis Data
98002
Budi Haryanto
row 5
Basis Data
98004
Indah Sutanti
row 6
Bahasa Indonesia
98001
Ali Akbar
B
row 7
Matematika I
98002
Budi Haryanto
C
KF :
 KF1 :
NIM  nama_mhs ( nama mahasiswa
bergantung kepada NIM)
 KF 2 :
Matakuliah,NIM  IndexNilai ( indexnilai
bergantung pada matakuliah dan NIM
mahasiswa.
Non KF :
 Matakuliah ≠> NIM (nim tidak tergantung
kepada matakuliah)
 NIM ≠> indexnilai (indexnilai tidak tergantung
kepada nim)
Contoh pembentukan KF
(dari contoh tabel “X”)
 Dengan memperhatikan:
- Kesamaan
- Ketidaksamaan
- Dan hubungan antar alamiah
 Antar data kita dapat membentuk sejumlah
KF:
nim  nama_mhs
Nim nama_mhs, alamat_mhs,
nim  alamat_mhs
tgl_lahir
nim  tgl_lahir
kode_kul  nama_kul
kode_kul  sks
kode_kul  semester
kode_kul  waktu
kode_kul  tempat
kode_kul  nama_dos
Kode_kul 
nama_kul,sks,semester,
Waktu, tempat,nama_dos
nama_dosen  alamt_dos
nim, kode_kul  indeks_nilai
Bagaimana tabel yg Normal / baik ?
 Dalam perpektif Normalisasi, suatu basis data dapat
dikatakan baik jika setiap tabel yang menjadi unsur
pembentuk berada dalam keadaan baik atau normal.
 Tabel dikatakan baik jika memenuhi 3 kriteria:
1. Jika dekomposisi (penguraian tabel), maka dikompisisi
dijamin aman (Lossless-Join Decomposition)
2. Terpeliharanya ketergantungan fungsional pada saat
perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Codd Normal Form (BCNF)
Jika krtiteria BCNF tidak dapat dipenuhi, maka paling
tidak
tidak melanggar Bentuk Normal tahap ketiga
(3rd Normal
Form / 3rdNF)
Latihan : Tentukan KF berikut
Download