Friday, February 3, 2012

Normalisasi

1.   Definisi
Normalisasi adalah suatu teknik untuk mengorganisasikan data ke dalam table-tabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi.

2.   Tujuan dari Normalisasi
·         Untuk menghilang kerangkapan data
·         Untuk mengurangi kompleksitas
·         Untuk mempermudah pemodifikasian data

3.   Proses Normalisasi
·         Data diuraikan dalam bentuk table, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
·        Apabila table yang diuji belum memenuhi persyaratan tertentu, maka table tersebut perlu dipecah menjadi beberapa table yang lebih sederhana sampai memenuhi bentuk yang optimal.
4.   Tahapan Normalisasi
·        Bentuk Tidak Normal
Menghilangkan perulangan group

·        Bentuk Normal Pertama (1 NF)
Menghilangkan Ketergantungan sebagian

·        Bentuk Normal Kedua (2NF)
Menghilangkan Ketergantungan Transitif

·        Bentuk Normal Ketiga (3NF)
Menghilangkan anomali-anomali hasil dari ketergantungan fungsional

·        Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan ketergantungan Multivalue

·        Bentuk Normal Keempat (4NF)
Menghilangkan anomaly-anomali yang tersisa





5.   Ketergantungan Fungsional

Definisi
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X → R.Y), jika dan hanya jika setiapnilai X pada relasi R mempunyai tepat satu nilai Y pada R.
Misal, terdapat skema database Pemasok-Barang :
Pemasok (No-pem, Na-pem)

Tabel PEMASOK-BARANG
No-pem
  Na-pem
  P01
  P02
  P03
   Ade
   Bona
   Sasi 






Ketergantungan fungsional dari tabel PEMASOK-BARANG
adalah :
No-pem → Na-pem

6.   Ketergantungan Fungsional Penuh

Definisi
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan)

Contoh : KIRIM BARANG (No-pem, Na-pem,No-bar, Jumlah)


No-pem
    Na-pem
         No-bar
Jumlah
 P01                           Ade                                    B01                       1000
 P01                           Ade                                    B02                       1500
 P01                           Ade                                    B03                       2000
 P02                           Boni                                   B03                       1000
 P03                           Sasi                                    B02                       2000

Ketergantungan fungsional :
No-pem Na → pem
No-bar, No-pem   Jumlah (Tergantung penuh thd keynya)
7.   Ketergantungan Transitif

Definisi
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X  → Y, Y →  Z, maka X →  Z )

Contoh :
Ketergantungan Fungsional :
No-pem  → Kode-kota
Kode-kota →  Kota, maka
No-pem  → Kota

No-pem
Kode-Kota
 Kota
    No-bar
Jumlah
 P01                           1                  Jakarta                       B01               1000
 P01                           1                  Jakarta                       B02               1500
 P01                           1                  Jakarta                       B03               2000
 P02                           3                  Bandung                    B03               1000
 P03                           2                  Surabaya                   B02               2000

Normalisasi
1.   Bentuk Normal Kesatu (1 NF)

Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data
.
Tabel KIRIM-1 (Unnormal)
No-pem
Kode-Kota
Kota
No-bar
Jumlah
 P01                             1                 Jakarta              B01                 1000
                                                                                     B02                 1500
                                                                                     B03                 2000
 P02                             3                Bandung            B03                 1000
 P03                             2                Surabaya           B02                 2000

Tabel KIRIM-2 (1 NF)

No-pem
Kode-Kota
 Kota
No-bar
Jumlah
P01                          1                     Jakarta                 B01              1000
P01                          1                     Jakarta                 B02              1500
P01                          1                     Jakarta                 B03              2000
P02                          3                    Bandung               B03              1000
P03                          2                    Surabaya              B02              2000

2.   Bentuk Normal Kedua (2 NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.

Tabel PEMASOK-1 (2 NF)

No-pem
Kode-kota
    Kota
P01                         1                      Jakarta
P02                         3                     Bandung
P03                         2                     Surabaya

3.   Bentuk Normal Ketiga (3 NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.

Tabel KIRIM-3 (3 NF)

No-pem
   No-bar
Jumlah
     P01               B01                        1000
     P01               B02                        1500
     P01               B03                        2000
     P02               B03                        1000
     P03               B02                        2000

Tabel PEMASOK-2 (3 NF)                                Tabel PEMASOK-3 (3 NF)
Kode-kota     
   Kota

1                           Jakarta
      2                        Surabaya
      3                        Bandung

No-pem
Kode-kota
P01                         1
P02                         3
P03                         2