Selasa, 19 Januari 2010

Normalisasi Database

Normalisasi Hal 1 dari 11 hal
NORMALISASI
Definisi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke
dalam tabel-tabel untuk memenuhi kebutuhan pemakai di
dalam suatu organisasi.
Tujuan dari normalisasi
�� Untuk menghilangkan kerangkapan data
�� Untuk mengurangi kompleksitas
�� Untuk mempermudah pemodifikasian data
Proses Normalisasi
�� Data diuraikan dalam bentuk tabel, selanjutnya dianalisis
berdasarkan persyaratan tertentu ke beberapa tingkat.
�� Apabila tabel yang diuji belum memenuhi persyaratan tertentu,
maka tabel tersebut perlu dipecah menjadi beberapa tabel yang
lebih sederhana sampai memenuhi bentuk yang optimal.
Normalisasi Hal 2 dari 11 hal
Tahapan Normalisasi
Bentuk Tidak Normal
Menghilangkan perulangan group
Bentuk Normal Pertama (1NF)
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 anomali-anomali yang tersisa
Bentuk Normal Kelima
Normalisasi Hal 3 dari 11 hal
Ketergantungan Fungsional
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada
atribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai 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 Baharu
P02 Sinar
P03 Harapan
Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
No-pem ---> Na-pem
Ketergantungan Fungsional Penuh
Normalisasi Hal 4 dari 11 hal
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 Baharu B01 1000
P01 Baharu B02 1500
P01 Baharu B03 2000
P02 Sinar B03 1000
P03 Harapan B02 2000
Ketergantungan fungsional :
No-pem --> Na-pem
No-bar, No-pem --> Jumlah (Tergantung penuh thd keynya)
Ketergantungan Transitif
Normalisasi Hal 5 dari 11 hal
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 :
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
Ketergantungan transitif :
No-pem Kode-kota
Kode-kota Kota , maka
No-pem Kota
Bentuk Normal Kesatu (1NF)
Normalisasi Hal 6 dari 11 hal
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 (1NF)
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
Diagram Ketergantungan Fungsional
Normalisasi Hal 7 dari 11 hal
Kode-kota
No-pem
Kota
Jumlah
No-bar
Bentuk Normal Kedua (2NF)
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 (2NF)
No-pem Kode-kota Kota
P01 1 Jakarta
P02 3 Bandung
P03 2 Surabaya
Bentuk Normal Ketiga (3NF)
Normalisasi Hal 8 dari 11 hal
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 (3NF)
No-pem No-bar Jumlah
P01 B01 1000
P01 B02 1500
P01 B03 2000
P02 B03 1000
P03 B02 2000
Tabel PEMASOK-2 (3NF) Tabel PEMASOK-3 (3NF)
No-pem Kode-kota Kode-kota Kota
P01 1 1 Jakarta
P02 3 2 Surabaya
P03 2 3 Bandung
Normalisasi pada database perkuliahan
Asumsi :
Normalisasi Hal 9 dari 11 hal
�� Seorang mahasiswa dapat mengambil beberapa mata kuliah
�� Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
�� Satu mata kuliah hanya diajarkan oleh satu dosen
�� Satu dosen dapat mengajar beberapa mata kuliah
�� Seorang mahasiswa pada mata kuliah tertentu hanya
mempunyai satu nilai
Tabel MAHASISWA-1 ( Unnormal )
No-Mhs Nama
- Mhs
Jurusan Kode-
MK
Nama-MK Kode-Dosen 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
MKT300 Dasar Pemasaran B212 Lola A
Tabel MAHASISWA-2 ( 1NF )
No-Mhs Nama-
Mhs
Jurusan Kode-MK Nama-MK Kode-Dosen 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
5432 Bakri Ak. MKT300 Dasar Pemasaran B212 Lola A
Normalisasi Hal 10 dari 11 hal
Diagram Ketergantungan Fungsional
Nama_Mhs
No-Mhs Jurusan
Nilai
Nama-MK
Kode-MK Kode-Dosen
Nama-Dosen
Tabel KULIAH (2NF)
Kode-MK Nama-MK Kode-Dosen Nama-Dosen
MI350 Manajamen DB B104 Ati
MI465 Analsis Prc. Sistem B317 Dita
AKN201 Akuntansi Keuangan D310 Lia
MKT300 Dasar Pemasaran B212 Lola
Tabel MAHASISWA-3 (3NF)
No-Mhs Nama-Mhs Jurusan
2683 Welli MI
5432 Bakri Ak.
Normalisasi Hal 11 dari 11 hal
Tabel NILAI (3NF)
No-Mhs Kode MK Nilai
2683 MI350 A
2683 MI465 B
5432 MI350 C
5432 AKN201 B
5432 MKT300 A
Tabel MATAKULIAH (3NF)
Kode-MK Nama-MK Kode-Dosen
MI350 Manajamen DB B104
MI465 Analsis Prc. Sistem B317
AKN201 Akuntansi Keuangan D310
MKT300 DasarPemasaran B212
Tabel DOSEN (3NF)
Kode- Dosen Nama-Dosen
B104 Ati
B317 Dita
B310 Lia
B212 Lola