Contoh Normalisasi Data (AbNormal, NF1, NF2, NF3)
Contoh soal :
Sebuah Universitas XYZ mempunyai mahasiswa yang bisa bebas mengambil mata kuliahnya sendiri. Setiap mahasiswa mempunyai dosen pembimbing dimana setiap dosen berhak untuk membimbing lebih dari satu mahasiswa. Peranan Dosen didalam kasus ini hanya sebatas pembimbing dari setiap Mahasiswa. Kemudian setiap matakuliah mempunyai kode matakuliah dimana kode itu merepresentasikan nama dari matakuliah yang diambil oleh mahasiswa. Dibawah ini telah disertakan data mentah yang didapat dari bagian Akademik Universitas XYZ. Analisa lah kasus soal ini, dan transformasikan ke dalam bentuk normalisasi yang memungkinkan.
Sebuah Universitas XYZ mempunyai mahasiswa yang bisa bebas mengambil mata kuliahnya sendiri. Setiap mahasiswa mempunyai dosen pembimbing dimana setiap dosen berhak untuk membimbing lebih dari satu mahasiswa. Peranan Dosen didalam kasus ini hanya sebatas pembimbing dari setiap Mahasiswa. Kemudian setiap matakuliah mempunyai kode matakuliah dimana kode itu merepresentasikan nama dari matakuliah yang diambil oleh mahasiswa. Dibawah ini telah disertakan data mentah yang didapat dari bagian Akademik Universitas XYZ. Analisa lah kasus soal ini, dan transformasikan ke dalam bentuk normalisasi yang memungkinkan.
Unnormalized Form :
Tabel Raw/Mentah yang
disediakan di soal memerlukan suatu analisa dikarenakan tabel yang ada di soal
mempunyai suatu keanehan. Perhatikan pada kolom Database (D331), Alogaritma
(A431), Office (O323), Struktur Data (S345), dan Manajemen Bisnis (MB71).
Setiap nama kolom yang sudah disebutkan memiliki kode tersendiri yang bisa
merepresentasikan nama dari mata kuliah. Dengan begitu kita bisa mengumpulkan
kode mata kuliah menjadi satu kolom baru yang bisa diberi nama Kode_Matkul.
Kemudian nama dari mata kuliah juga bisa dibuat menjadi satu kolom baru yang
diberi nama Nama_Matkul. Hasil dari penambahan kolom-kolom baru bisa dilihat di
bawah ini:
1 Normal Form (NF) :
Sebuah tabel bisa
dikategorikan sebagai tabel 1NF jika di setiap baris record hanya memiliki 1
value. Hasil transformasi dari Unnormalized Form ke 1NF bisa di lihat dibawah
ini :
2 Normal Form (2NF) :
Sebuah tabel bisa
dikategorikan sebagai tabel 2NF jika tabel sudah dalam keadaan 1NF dan setiap
kolom didalam tabel itu functional dependency kepada semua key (Full
Dependency), bukan hanya kepada salah satu key (Partial Dependency). Berarti
kita harus menentukan terlebih dahulu key yang ada di dalam tabel. Dari tabel
diatas kita bisa menentukan bahwa ada dua candidat key yang tersedia dalam
tabel diatas, yaitu ID_Mahasiswa + Kode_Matkul, dan ID_Mahasiswa + Nama_Matkul.
Setelah dipilih dari kedua candidate key, maka yang paling efisien untuk
menjadi Primary Key adalah ID_Mahasiswa + Kode_Matkul.
Kemudian tentukan
Functional Dependency yang ada didalam tabel.
Full
Dependency
|
ID_Mahasiswa +
Kode_Matkul
|
Nama_Matkul
|
Nilai_Matkul
|
||
Partial
Dependency
|
ID_Mahasiswa
|
Nama_Mahasiswa
|
Alamat_Mahasiswa
|
||
ID_Dosen
|
||
Nama_Dosen
|
||
Status_Dosen
|
||
Partial
Dependency
|
Kode_Matkul
|
Nama_Matkul
|
Transitive
Dependency
|
ID_Dosen
|
Nama_Dosen
|
Status_Dosen
|
||
setelah mendapatkan
semua Functional Dependency di dalam tabel, maka untuk mengubah tabel 1NF
menjadi 2NF kita harus memindahkan kolom yang bergantung hanya kepada salah
satu dari key (Partial Dependency) ke dalam tabel baru.
3 Normal Form (3NF) :
Sebuah tabel bisa
dikategorikan sebagai tabel 3NF jika tabel sudah dalam 2NF dan setiap kolom
yang bukan key harus functional dependency dengan primary key nya. Kita bisa
melihat didalam Tabel Nilai dan Tabel Matkul sudah memenuhi persyaratan 3NF.
Tetapi didalam Tabel Mahasiswa terdapat kolom yang bergantung bukan kepada key
nya (Transitive Dependency) yaitu Nama_Dosen dan Status_Dosen. Ini menunjukan
bahwa Tabel Mahasiswa belum memenuhi persyaratan menjadi 3NF. Nama_Dosen dan
Status_Dosen itu functional dependency kepada ID_Dosen yang kita ketahui bahwa
ID_Dosen itu bukanlah sebuah primary key. Maka untuk membuat Tabel Nilai
kedalam bentuk 3NF, kita harus menempatkan kolom yang functional dependency
bukan kepada key nya (Transitive Dependency) kedalam tabel yang baru. Berikut
tabel yang sudah menjadi 3NF.
kita juga punya nih jurnal mengenai normalisasi data, silahkan dikunjungi dan dibaca , berikut linknya
BalasHapushttp://repository.gunadarma.ac.id/bitstream/123456789/5392/1/PPT%20WEW.pdf
semoga bermanfaat yaa :)
Di terngkan lebih luas lagi bisa???
BalasHapus???
Hapus