Minggu, 20 November 2011

sistem basis data Normalisasi



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.
  1. Insert
Kita tidak dapat memasukkan kode dan nama supplier saja tanpa adanya transaksi
pembelian, sehingga supplier baru bisa dimasukkan kalau ada transaksi pembelian.
  1. 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.
  1. 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