Senin, 04 Januari 2010

NORMALISASI

NORMALISASI Definisi Normalisasi adalah suatu teknik untuk mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi. Tujuan dari Normalisasi Untuk menghilang kerangkapan data Untuk mengurangi kompleksitas Untuk mempermudah pemodifikasian data 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. 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 anomali-anomali yang tersisa Bentuk Normal Kelima 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 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 : 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 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) Tabel KIRIM-2 (1 NF) Diagram Ketergantungan Fungsional Diagram Ketergantungan Fungsional 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) 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) Tabel PEMASOK-2 (3 NF) Tabel PEMASOK-3 (3 NF) Normalisasi pada database perkuliahan Asumsi : 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 Nm-Mhs Jurusan Kd-MK Nama-MK Kd-Dosen Nm_Dosen Nilai 2683 Welli MI MI350 Manajemen Basis Data B104 Ati A MI465 Analisis Prc. Sistem B317 Dita B 5432 Bakri AK MI350 Manajemen Basis Data B104 Ati C AKN201 Akuntansi Keuangan D310 Lia B MKT300 Dasar Pemasaran B212 Lola A Tabel MAHASISWA-2 ( 1NF ) No-Mhs Nm-Mhs Jurusan Kd-MK Nama-MK Kd-Dosen Nm_Dosen Nilai 2683 Welli MI MI350 Manajemen Basis Data B104 Ati A 2683 Welli MI MI465 Analisis Prc. Sistem B317 Dita B 5432 Bakri AK MI350 Manajemen Basis Data B104 Ati C 5432 Bakri AK AKN201 Akuntansi Keuangan D310 Lia B 5432 Bakri AK MKT300 Dasar Pemasaran B212 Lola A Diagram Ketergantungan Fungsional : Tabel KULIAH ( 2NF ) Kode-MK Nama-MK Kode-Dosen Nama-Dosen MI350 Manajemen Basis Data B104 Ati MI465 Analisis 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 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 Manajemen Basis Data B104 MI465 Analisis Prc. Sistem B317 AKN201 Akuntansi Keuangan D310 MKT300 Dasar Pemasaran B212 Tabel DOSEN ( 3NF ) Kode-Dosen Nama-Dosen B104 Ati B317 Dita D310 Lia B212 Lola