Anda di halaman 1dari 4

NORMALISASI

A. Gambaran Umum Normalisasi


Normalisasi merupakan teknik dekomposisi suatu tabel menjadi beberapa tabel untuk
menghindari anomali ketika melakukan manipulasi. Normalisasi bertujuan untuk :
1) Menghilangkan data yang tidak perlu (redundancy data)
2) Mencegah anomali data. Misalnya pada proses create, update, insert, dan delete.
3) Mengurangi kompleksitas
Normalisasi dilakukan dengan teknik berikut :

 Data diuraikan dalam bentuk tabel


 Dilakukan analisis berdasarkan syarat setiap bentuk normal
 Jika belum memenuhi persyaratan bentuk normal, tabel dipecah menjadi beberapa
tabel hingga memenuhi kriteria optimal.
Tahapan normalisasi digambarkan dalam diagram berikut :

Bentuk Bentuk Bentuk Bentuk Bentuk


tidak normal normal normal normal
BCNF
normal pertama kedua ketiga keempat
(UNF) (1NF) (2NF) (3NF) (4NF)

B. Dependensi
Untuk melakukan tahapan normalisasi di atas, dependensi harus dihilangkan. Dependensi
digambarkan dalam definisi berikut : Jika A dan B adalah atribut (bisa lebih dari satu,
masing-masing) dalam relasi R, B disebut memiliki dependensi fungsional terhadap A jika
dan hanya jika tiap nilai A memiliki asosiasi dengan sebuah nilai di B. Dinotasikan dengan
A→B. A disebut determinan/penentu dan B disebut dependent/yang ditentukan.
1) Dependensi fungsional

staffNo → position
staffNo ← position (tidak bisa, karena position tidak unik)
staffNo → sName
staffNo ← sName

2) Dependensi fungsional penuh


Jika A dan B adalah atribut (bisa lebih dari satu, masing-masing) dalam relasi R, B
disebut memiliki dependensi fungsional penuh terhadap A jika B memiliki dependensi
fungsional terhadap A tetapi bukan terhadap subset manapun dari A.
3) Dependensi transitif
Jika A, B, dan C adalah atribut (bisa lebih dari satu, masing-masing) dalam relasi R,
dimana A→B dan B→C, maka bisa dikatakan bahwa C memiliki dependensi fungsional
transitif terhadap A via B (hanya jika A tidak memiliki dependensi fungsional terhadap
B atau C).
Contoh : dari relasi Staff Branch dapat diketahui
staffNo→sName, position, salary, branchNo, bAddress
branchNo→bAddress
bAddress memiliki dependensi transitif terhadap staffNo via branchNo.
C. Bentuk Normalisasi
Tahapan normalisasi digambarkan dalam bagan berikut :

Misalnya kita memiliki data sebagai berikut :

1) Transformasi atribut ke dalam format tabel (Bentuk Tidak Normal/UNF)


2) Eliminasi nilai NULL pada grup yang berulang (sehingga satu sel hanya untuk satu nilai),
identifikasi PK, dan identifikasi seluruh dependensinya sehingga diperoleh Bentuk Normal
Pertama (1NF).

Identifikasi PK dan dependensi dilakukan dengan cara :


 Cari semua dependensi fungsional
 Cari determinan yang menentukan semua atribut lainnya (pilih sebagai PK)
 Tentukan jenis dependensi fungsional lainnya berdasarkan determinan PK

Sehingga diperoleh :
fd1 clientNo, propertyNo → rentStart, rentFinish (Primary key)
fd2 clientNo → cName (Partial dependency)
fd3 propertyNo → pAddress, rent, ownerNo, oName (Partial dependency)
fd4 ownerNo → oName (Transitive
dependency)
fd5 clientNo, rentStart → propertyNo, pAddress, (Candidate Key)
rentFinish, rent, ownerNo, oName
fd6 propertyNo, rentStart → clientNo, cName, rentFinish (Candidate Key)

3) Lakukan eliminasi dependensi fungsional parsial dan tentukan atribut yang memiliki dependensi
terhadap atribut lain sehingga diperoleh Bentuk Normal Kedua (2NF).
Sehingga diperoleh :
Client
fd2 clientNo → cName (Primary Key)
Rental
fd1 clientNo, propertyNo → rentStart, rentFinish (Primary Key)
fd5 clientNo, rentStart → propertyNo, pAddress, (Candidate Key)
rentFinish, rent, ownerNo, oName
fd6 (Candidate Key)
propertyNo, rentStart → clientNo, cName, rentFinish

PropertyOwner
fd3 propertyNo → pAddress, rent, ownerNo, oName (Primary Key)
fd4 ownerNo → oName (Transitive dependency)

4) Lakukan eliminasi dependensi transitif dan tentukan kembali dependensi antaratribut sehingga
diperoleh Bentuk Normal Ketiga (3NF) sebagai berikut :

Sebagai kesimpulan, langkah-langkah yang sudah dilakukan di atas dapat dirangkum dalam
bagan berikut:

Anda mungkin juga menyukai