Contoh Kasus Normalisasi
1. Dokumen Akademik
Kartu Hasil Studi Mahasiswa Nama_Mahasiswa : Jones NIM : 61521 Tgl_Lahir : 12/05/77 No Kuliah Kode_MK SKS Nilai Bobot 01 Kalkulus MAT231 3 B 3 02 Ekonomi-1 ECO220 3 A 4 03 History HST211 2 B 3 Ka.BiroAkademik Ketua ProgramStudi AnditoBagaskara,
- Nama_Mahasiswa
- NIM
- Tgl_Lahir
- Kuliah
- Kode_MK
- SKS
- Nilai
- Bobot
-
Terdapat sebuah table dengan komposisi sebagai berikut
Nama_mahasiswa | NIM | Kd_MKul |
Jones | 61521 | MAT231, ECO220, HST211 |
Diana | 61300 | HST211 |
Tony | 61425 | ENG202, MAT231 |
Paula | 61230 | MAT231, ENG202 |
Tabel mahasiswa di atas belum memenuhi kriteria 1-NF sebab atribut Kd_MKul masih memiliki nilai ganda dalam satu baris. Untuk mengkonversi table mahasiswa tersebut ke dalam bentuk 1-NF, maka kita harus menyusun kembali baris-baris pada Kd_MKul, sehingga setiap baris memiliki nilai tunggal, seperti table di bawah ini :
Nama_mahasiswa | NIM | Kd_MKul |
Jones | 61521 | MAT231 |
Jones | 61521 | ECO220 |
Jones | 61521 | HST211 |
Diana | 61300 | HST211 |
Tony | 61425 | ENG202 |
Tony | 61425 | MAT231 |
Paula | 61230 | MAT231 |
Paula | 61230 | ENG202 |
Tabel mahasiswa di atas sudah memenuhi kriteria 1-NF, tetapi belum memenuhi criteria 2-NF sebab atribut mahasiswa bergantung fungsional pada NIM, dan atribut Kd_MKul juga bergantung fungsional pada NIM, sehingga table Mahasiswa di atas perlu dipecah lagi menjadi dua table agar setiap atribut bukan primary key hanya bergantung sepenuhnya terhadap atribut primary key saja, seperti table di bawah ini :
Nama_mahasiswa | NIM |
Jones | 61521 |
Jones | 61521 |
Jones | 61521 |
Diana | 61300 |
Tony | 61425 |
Tony | 61425 |
Paula | 61230 |
Paula | 61230 |
NIM | Kd_MKul |
61521 | MAT231 |
61521 | ECO220 |
61521 | HST211 |
61300 | HST211 |
61425 | ENG202 |
61425 | MAT231 |
61230 | MAT231 |
61230 | ENG202 |
3. Normalisasi
Terdapat sebuah tabel yang sudah memenuhi criteria 1-NF dengan komposisi sebagai berikut :
Tabel Mahasiswa-C
Nama_Mhs | NIM | Tgl_Lahir | Kuliah | Kd_MKul | SKS | Nilai | Bobot |
Jones | 61521 | 12/05/77 | Kalkulus | MAT231 | 3 | B | 3 |
Jones | 61521 | 12/05/77 | Ekonomi-1 | ECO220 | 3 | A | 4 |
Jones | 61521 | 12/05/77 | History | HST211 | 2 | B | 3 |
Diana | 61300 | 14/02/78 | History | HST211 | 2 | A | 4 |
Tony | 61425 | 11/01/76 | B. Inggris | ENG202 | 2 | C | 2 |
Tony | 61425 | 11/01/76 | Kalkulus | MAT231 | 3 | B | 3 |
Paula | 61230 | 14/06/77 | Kalkulus | MAT231 | 3 | B | 3 |
Paula | 61230 | 14/06/77 | B. Inggris | ENG202 | 2 | C | 2 |
Dari tabel Mahasiswa-C di atas terdapat beberapa ketergantungan fungsional diantara atribut-atribut sebagai berikut :
NIM -> Nama_Mahasiswa, Tgl_Lahir
Kd_MKul -> Kuliah, SKS
NIM, Kd_MKul -> Nilai
Nilai -> Bobot
Tabel Mahasiswa-C di atas belum memenuhi kriteria 2-NF. Selama terdapat beberapa atribut seperti Tgl_Lahir, Kuliah yang tidak memiliki ketergantungan fungsional terhadap primary key (NIM, Kd_MKul). Untuk mengkonversi tabel tersebut menjadi 2-NF, maka tabel Mahasiswa-C perlu dipecah menjadi 3 tabel yaitu : Tabel Mahasiswa-C1 = (NIM, Nama_Mahasiswa, Tgl_Lahir), Mahasiswa-C2 = (Kd_MKul, Kuliah, SKS), dan Mahasiswa-C3 = (NIM, Kd_MKul, Nilai, Bobot) dengan komposisi tabel sebagai berikut :
Tabel relasi yang sudah dalam bentuk 2-NF
Nama_mahasiswa | NIM | Tgl_Lahir |
Jones | 61521 | 12/05/77 |
Diana | 61300 | 14/02/78 |
Tony | 61425 | 11/01/76 |
Paula | 61230 | 14/06/77 |
(a) Tabel Mahasiswa-C1
NIM | Kd_MKul | Nilai | Bobot |
61521 | MAT231 | B | 3 |
61521 | ECO220 | A | 4 |
61521 | HST211 | B | 3 |
61300 | HST211 | A | 4 |
61425 | ENG202 | C | 2 |
61425 | MAT231 | B | 3 |
61230 | MAT231 | B | 3 |
61230 | ENG202 | C | 2 |
(b) Tabel MahasiswaC-2
Kuliah | Kd_MKul | SKS |
Kalkulus | MAT231 | 3 |
Ekonomi-1 | ECO220 | 3 |
History | HST211 | 2 |
B.Inggris | ENG202 | 2 |
(c) Tabel Mahasiswa-C3
Tabel Mahasiwa-C1 dan Mahasiswa-C2 telah memenuhi kriteria 3-NF, namun tabel Mahasiswa-C3 belum memenuhi kriteria 3-NF, selama atribut non-key Nilai dan Bobot masih saling memilki ketergantungan fungsional. Untuk mengkonversinya menjadi bentuk 3-NF, maka Tabel Mahasiwa-C3 tersebut perlu dipecah menjadi 2 tabel yaitu : Tabel Mahasiswa-C3A = (NIM, Kd_MKul, Nilai) dan Tabel Mahasiswa-C3B = (Nilai, Bobot) dengan komposisi tabel sebagai berikut :
Tabel/ relasi Mahasiswa-C3 yang sudah dalam bentuk 3-NF
Nilai | Bobot |
A | 4 |
B | 3 |
C | 2 |
D | 1 |
E | 0 |
(a) Tabel Mahasiswa-C3A
NIM | Kd_MKul | Nilai | Bobot |
61521 | MAT231 | B | 3 |
61521 | ECO220 | A | 4 |
61521 | HST211 | B | 3 |
61300 | HST211 | A | 4 |
61425 | ENG202 | C | 3 |
61425 | MAT231 | B | 2 |
61230 | MAT231 | B | 3 |
61230 | ENG202 | C | 2 |
(b) Tabel Mahasiswa-C3B
Tidak ada komentar:
Posting Komentar