NORMALISASI
Normalisasi merupakan teknik analisis data yang mengorganisasikan
atribut-atribut data dengan cara mengelompokkan sehingga terbentuk
entitas yang non-redundant, stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara
berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat
dilakukan proses insert,update,delete, dan modifikasi pada satu atau
beberapa atribut tanpa mempengaruhi integritas data dalam relasi
tersebut.
*Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga tahap normalisasi antara lain :
1. BENTUK TIDAK NORMAL (UNNORMALIZED FORM)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan
mengikukti format tertentu, dapat saja data tidak lengkap atau
terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.

Untuk mentransformasikan tabel yang belum ternomalisasi di atas
menjadi tabel yang memenuhi kriteria 1NF adalah kita harus merubah
seluruh atribut yang multivalue menjadi atribut single value, dengan
cara menghilangkan repeating group pada tabel di atas.
Repeating Group (elemen data berulang) adalah (No_Property,
Alamat_Property,Tgl_Pinjam, Tgl_Selesai, Biaya, No_Pemilik,
Nama_Pemilik)
2. BENTUK NORMAL KE SATU (FIRST NORMAL FORM / 1 NF)
Pada tahap ini dilakukan penghilangan beberapa group elemen yang
berulang agar menjadi satu harga tunggal yang berinteraksi di antara
setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai
data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang
masih memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki
sifat induknya.
Syarat normal ke satu (1-NF) antara lain:
1. setiap data dibentuk dalam flat file, data dibentuk dalam satu
record demi satu record nilai dari field berupa “atomic value”.
2. tidak ada set atribute yang berulang atau bernilai ganda.
3. telah ditentukannya primary key untuk tabel / relasi tersebut.
4. tiapatribut hanya memiliki satu pengertian.
Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada Tabel
9.3) tersebut adalah menghilangkan elemen data yang berulang dengan
data-data Pelanggan yang sesuai pada setiap baris. Hasil dari tabel yang
telah memenuhi bentuk normal pertama dapat dilihat pada Tabel 9.4. kita
dapat mengidentifikasi primary key untuk relasi Pelanggan_Biaya yang
masih memiliki composite key (No_Pelanggan, No_Property). Pada kasus ini
kita akan memperoleh primary key yang bersifat composite key. Relasi
Pelanggan_Biaya dapat didefinisikan sebagai berikut. Pelanggan_Biaya
=(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam,
Tgl_Selesai, Biaya,No_Pemilik, Nama_Pemilik)
3. BENTUK NORMAL KE DUA (SECOND NORMAL FORM / 2 NF)
Bentuk normal kedua didasari atas konsep full functional dependency
(ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai
berikut. Jika A adalah atribut-atribut dari suatu relasi, B dikatakan
full functional dependency (memiliki ketergantungan fungsional terhadap
A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari
subset (himpunan bagian) dari A.
Syarat normal kedua (2-NF) sebagai berikut.
1. Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2. Atribute bukan kunci (non-key) haruslah memiliki ketergantungan
fungsional sepenuhnya (fully functional dependency) pada kunci utama /
primary key.
Tabel Tabel Pelanggan Biaya dalam bentuk normal kedua (2-NF)
4. BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada
relasi 1-NF, namun relasi tersebut masih mungkin mengalami kendala bila
terjadi anomaly peremajaan (update) terhadap relasi tersebut. Misalkan
kita akan melakukan update terhadap nama dari seorang Pemilik (pemilik),
seperti Durki (No_Pemilik: CO93), kita harus melakukan update terhadap
dua baris dalam relasi Property_Pemilik (lihat Tabel 9.5, (c) relasi
Property_Pemilik). Jika kita hanya mengupdate satu baris saja, sementara
baris yang lainnya tidak, maka data didalam database tersebut akan
inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu
ketergantungan transitif (transitive dependency). Kita harus
menghilangkan ketergantungan tersebut dengan melakukan normalisasi
ketiga (3-NF).
Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.
1. Bentuk data telah memenuhi kriteria bentuk normal kedua.
2. Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan
transitif, dengan kata lain suatu atribut bukan kunci (non_key) tidak
boleh memiliki ketergantungan fungsional (functional dependency)
terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada
suatu relasi hanya memiliki ketergantungan fungsional terhadap priamry
key di relasi itu saja.
Seluruh atribut non-primary key pada relasi Pelanggan dan Biaya di
atas terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key dari masing-masing tabel / relasi. Relasi / tabel
Pelanggan dan Biaya di atas tidak memiliki ketergantungan transitif
(transitive dependency), sehingga tabel tersebut telah memenuhi
kriteria normal ketiga (3-NF). Seluruh atribut non-primary key pada
relasi Property_Pemilik di atas terlihat memiliki ketergantungan
fungsional (functional dependency) terhadap primary key, kecuali
Nama_Pemilik yang masih memiliki ketergantungan fungsional
(functional dependency) terhadap No_Pemilik. Inilah contoh
ketergantungan dari transitif (transitive dependency), yang terjadi
ketika atribut non-primary key (Nama_Pemilik) bergantung secara fungsi
terhadap satu atau lebih atribut non-primary key lainnya (No_Pemilik).
Kita harus menghilangkan ketergantungan transitif (transitive
dependency) tersebut dengan menjadikan relasi Property_Pemilik menjadi 2
relasi / tabel dengan format / bentuk sebagai berikut.
· Relasi / Tabel Property_Untuk_Pemilik yang terdiri dari atribut-atribut:
No_property Alamat_Property, Biaya, No_Pemilik
{No_property sebagai primary key}
· Dan relasi Pemilik yang terdiri dari atribut-atribut:
No_Pemilik Nama_Pemilik
{No_Pemilik sebagai primary key}
Hasil akhir normalisasi tabel Pelanggan_Biaya sampai ke bentuk normal ketiga adalah
sebagai berikut X � f n `& ��% .0pt;
font-family:”Calibri”,”sans-serif”; mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin; mso-fareast-font-family:”Times New
Roman”; mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;}
4. BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF,
namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly
peremajaan (update) terhadap relasi tersebut.
Misalkan kita akan melakukan update terhadap nama dari seorang
Pemilik (pemilik), seperti Durki (No_Pemilik: CO93), kita harus
melakukan update terhadap dua baris dalam relasi Property_Pemilik (lihat
Tabel 9.5, (c) relasi Property_Pemilik). Jika kita hanya mengupdate
satu baris saja, sementara baris yang lainnya tidak, maka data didalam
database tersebut akan inkonsisten / tidak teratur. Anomaly update ini
disebabkan oleh suatu ketergantungan transitif (transitive dependency).
Kita harus menghilangkan ketergantungan tersebut dengan melakukan
normalisasi ketiga (3-NF).
Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.
1. Bentuk data telah memenuhi kriteria bentuk normal kedua.
2. Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan
transitif, dengan kata lain suatu atribut bukan kunci (non_key) tidak
boleh memiliki ketergantungan fungsional (functional dependency)
terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada
suatu relasi hanya memiliki ketergantungan fungsional terhadap priamry
key di relasi itu saja. Seluruh atribut non-primary key pada relasi
Pelanggan dan Biaya di atas terlihat memiliki ketergantungan fungsional
(functional dependency) terhadap primary key dari masing-masing tabel /
relasi. Relasi / tabel Pelanggan dan Biaya di atas tidak
memiliki ketergantungan transitif (transitive dependency), sehingga
tabel tersebut telah memenuhi kriteria normal ketiga (3-NF).
Seluruh atribut non-primary key pada relasi Property_Pemilik di atas
terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key, kecuali Nama_Pemilik yang masih memiliki
ketergantungan fungsional (functional dependency) terhadap No_Pemilik.
Inilah contoh ketergantungan dari transitif (transitive dependency),
yang terjadi ketika atribut non-primary key (Nama_Pemilik)
bergantung secara fungsi terhadap satu atau lebih atribut non-primary
key lainnya (No_Pemilik). Kita harus menghilangkan ketergantungan
transitif (transitive dependency) tersebut dengan menjadikan relasi
Property_Pemilik menjadi 2 relasi / tabel dengan format / bentuk sebagai
berikut.
· Relasi / Tabel Property_Untuk_Pemilik yang terdiri dari atribut-atribut:
No_property Alamat_Property, Biaya, No_Pemilik
{No_property sebagai primary key}
· Dan relasi Pemilik yang terdiri dari atribut-atribut:
No_Pemilik Nama_Pemilik
{No_Pemilik sebagai primary key}
Hasil akhir normalisasi tabel Pelanggan_Biaya sampai ke bentuk normal ketiga adalah
sebagai berikut:

Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
sumber