NORMALISASI
Pengertian
:
Normalisasi adalah proses pengelompokan
aribute-atribute dan suatu relasi sehingga membentuk well-struktur relation normalisasi merupakan proses pengelomokan
elemen data menjadi table-tabel menunjukkan entity dan relasinya.
Well-struktur
relation
Well struktur relation adalah sebuah relation dengan
jumlah kerangkapan datanya sedikit,serta memberikan kemungkinan kepada user
untuk melakukan insert,delete,update
terhadap baris baris data pada relation tersebut,yang tidak berakibat terjadinya
error atau inkonsistensi data, yang disebabkan oleh operasi-operasi tersebut.
Contoh
:
Terdapat
sebuah relation KULIAH, dengan ketentuan sebagai berikut:
-
Setiap mahasiswa hanya boleh mengambil 1
matakuliah saja
-
Setiap matakuliah mempunyai uang kuliah
yang standar (tidak tergantung pada mahasiswa yang mengambil mata kuliah
tersebut)
MHS_id
|
KODE_MTK
|
BIAYA
|
92130
|
CS-200
|
75
|
92200
|
CS-300
|
100
|
99250
|
CS-300
|
75
|
92425
|
CS-400
|
150
|
92500
|
CS-300
|
100
|
92575
|
CS-500
|
50
|
Relation diatas merupakan sebuah relation yang
sederhana yang hanya memiliki 3 atribute/kolom. Apabila diteliti secara seksama
dari table diatas maka akan dtemukan adanya redundancy di datanya, biaya kuliah
selalu berulang disetiap mahasiswa,akibatnya bersar kemungkinan terjadinya
error atau inkonsistensi data bila dilakukan update pada relation diatas, error
tersebut dinamakan anomaly. Terdapat 3 jenis anomaly,diantaranya :
1. Anomaly
peremajaan
Error yang terjadi sebagai akibat
dari operasi insert record disebuah relation
Contoh :
Ada mata kuliah baru (CS-600) yang
akan diajarkan,maka matakuliah tersebut tidak bias diinsert kedalam relation
tersebut sampai ada mahasiswa yang mengambil matakuliah tersebut.
2. Anomaly
penghapusan
Error yang terjadi akibat operasi
delete record pada relation
Contoh :
Mahasiswa dengan MHS_id 92425
memutuskan untuk batal ikut kuliah CS-400 karena dia merupakan satu-satunya
peserta matauliah tersebut. Apabila record tersebut di delete akan berakibat
hilangnya informasi bahwa matakuliah CS-400,biayanya 150
3. Anomaly
penyisipan
Error yang terjadi akibat
inkonsistensi data yang terjadi sebagai akibat dari operasi update record dari
sebuah relation.
Contoh:
Bila biaya kuliah untuk matakuliah
CS-200 dinaikkan dari 75 menjadi 100, maka harus dilakukan beberapa kali
modifikasi terhadap record-record mahasiswa yang mengambil matakuliah CS-200
agar data tetap konsisten.
Dari
anomaly-anomali yang terjadi pada relation diatas,maka dilakukan normalisasi
terhadap relation diatas menjadi :
MHS_id
|
KODE-MTK
|
92130
|
CS-200
|
92200
|
CS-300
|
92250
|
CS-200
|
92425
|
CS-400
|
92500
|
CS-300
|
92575
|
CS-500
|
|
|
KODE-MTK
|
BIAYA
|
CS-200
|
75
|
CS-300
|
100
|
CS-400
|
150
|
CS-500
|
50
|
|
|
|
|
|
|
Bentuk
penerapan normalisasi dan dependensi fungsional
Bentuk UnNormalized
No fak
|
kode supp
|
Nama supp
|
Kode brg
|
Nama barang
|
tanggal
|
Jatuh tempo
|
Qty
|
harga
|
jumlah
|
total
|
779
|
S02
|
Hitachi
|
R02
|
Rice cooker C3
|
02/02/01
|
09/03/01
|
10
|
150000
|
1500000
|
1500000
|
998
|
G01
|
Gobel
|
A01
|
AC split ½ pk
|
07/02/01
|
09/03/01
|
10
|
1350000
|
13500000
|
33500000
|
|
|
Nustra
|
A02
|
AC split 1 pk
|
|
|
10
|
2000000
|
20000000
|
|
Diagram FD nya adalah
Kode supp à Nama supp
Kode brg à Nama brg
No fak à tanggal,tempo,Qty,Harga,Total
Bentuk normal pertamnya
menjadi :
No fak
|
kode supp
|
Nama supp
|
Kode brg
|
Nama barang
|
tanggal
|
Jatuh tempo
|
Qty
|
harga
|
jumlah
|
total
|
779
|
S02
|
Hitachi
|
R02
|
Rice cooker C3
|
02/02/01
|
09/03/01
|
10
|
150000
|
1500000
|
1500000
|
998
|
G01
|
Gobel nustra
|
A01
|
AC split ½ pk
|
07/02/01
|
09/03/01
|
10
|
1350000
|
13500000
|
33500000
|
998
|
G01
|
Gobel nustra
|
A02
|
AC split 1 pk
|
07/02/01
|
09/03/01
|
10
|
2000000
|
20000000
|
33500000
|
Pada bentu normal
pertama diatas masih terdapat anomaly pada proses insert,update,delete.
- Insert
Kita
tidak dapat memasukkan kode dan nama supplier saja tanpa adanya transaksi
pembelian, sehingga
supplier baru bisa dimasukkan kalau ada transaksi pembelian.
- Update
Kode
dan nama supplier terlihat ditulis berkali-kali, bila nama supplier berubah,
maka di
setiap baris yang ada
harus dirubah, bila tidak menjadi tidak konsisten.
- Delete
Bila
satu record / baris di atas dihapus, misal nomor faktur 779, maka
berakibat pada
penghapusan data
supplier S02 (Hitachi) padahal data tersebut masih diperlukan.
Bentuk normal kedua dengan melakukan dekomposisi
pada table diatas menjadi
Relasi supplier
Relasi supplier
Kode_supp
|
Nama_supp
|
S02
|
Hitachi
|
G01
|
Gobel Nustra
|
Relasi barang
Kode_brg
|
Nama_brg
|
R02
|
Rice cooker C3
|
A01
|
AC split ½ pk
|
A02
|
AC split 1 pk
|
Relasi transaksi
No fak
|
Kode_sup
|
Kode_brg
|
Tanggal
|
Tempo
|
Qty
|
Harga
|
Total
|
779
|
S02
|
R02
|
02/02/01
|
09/03/01
|
10
|
150000
|
1500000
|
998
|
G01
|
A01
|
07/02/01
|
09/03/01
|
10
|
1350000
|
13500000
|
998
|
G01
|
A02
|
07/02/01
|
09/03/01
|
10
|
2000000
|
20000000
|
Untuk memenuhi bentuk
normal ketiga relasi transaksi harus di dekomposisi lagi menjadi :
Relasi supplier
Relasi supplier
Kode_supp
|
Nama_supp
|
S02
|
Hitachi
|
G01
|
Gobel Nustra
|
Relasi barang
Kode_brg
|
Nama_brg
|
R02
|
Rice cooker C3
|
A01
|
AC split ½ pk
|
A02
|
AC split 1 pk
|
Relasi transaksi
No fak
|
Kode_sup
|
Tanggal
|
Tempo
|
Total
|
779
|
S02
|
02/02/01
|
09/03/01
|
1500000
|
998
|
G01
|
07/02/01
|
09/03/01
|
13500000
|
998
|
G01
|
07/02/01
|
09/03/01
|
20000000
|
Relasi transaksi barang
No fak
|
Kode_brg
|
Qty
|
Harga
|
779
|
R02
|
10
|
150000
|
998
|
A01
|
10
|
1350000
|
998
|
A02
|
10
|
2000000
|
terima kasih, semoga bermanfaat. . :)
Tidak ada komentar:
Posting Komentar