-

MAKALAH PERANCANGAN BASIS DATA

Normalisasi
Langkah-langkah normalisasi

Nama : Desi Puspitasari Nim Kelas : 30311083 : PCA 11-01

POLITEKNIK TELKOM BANDUNG

NORMALISASI
Adalah langkah-langkah sistematis untuk menjamin bahwa struktur database memungkinkan untuk general purpose query dan bebas dari insertion , update , dan deletion anomaly.Tujuan normalisasi yaitu untuk memperbaiki desain tabel yang kurang baik agar penyimpanan data menjadi lebih efisien dan bebas anomali. Pada tabel dibawah yaitu data penjualan dari toko amandaz kita lakukan normalisasi.

Langkah-langkah pembentukan normalisasi
Data Penjualan dari Toko Amandaz
NO_NOTA NT00175 NT00176 TGL 13Apr2012 13Apr2012 13Apr2012 13Apr2012 13Apr2012 NT00177 NT00178 14Apr2012 14Apr2012 15Apr2012 NO_BRG BSKR BBRY BBRY BLCO BLKJ BSKR BLKJ BLCO BLKJ NM_BRG Brownies Kukus Srikaya Brownies Kukus Blueberry Brownies Kukus Blueberry Pisang Bolen Cokelat Pisang Bolen Keju Brownies Kukus Srikaya Pisang Bolen Keju Pisang Bolen Cokelat Pisang Bolen Keju NO_TYPE BROW BROW BROW BLEN BLEN BROW BLEN BLEN BLEN NM_TYPE Brownies Brownies Brownies Pisang Bolen Pisang Bolen Brownies Pisang Bolen Pisang Bolen Pisang Bolen HRG_BRG 28,000 30,000 30,000 24,000 26,000 28,000 26,000 24,000 26,000 QTY 1 2 1 2 2 5 5 2 2 DISC 10% 10% 10% 0 0 10% 0 0 0 TOT_ITEM 25,200 54,000 27,000 48,000 52,000 126,000 130,000 48,000 52,000 100,000 100,000 256,000 127,000 TOT_PYMNT 79,200

Bentuk tidak normal (unormalized form) Pada table diatas terdapat baris data yang null , yang menyebabkan table diatas tidak normal. Untuk mentransformasikan data table diatas menjadi table yang normal,maka lakukan norlmalisasi ke satu (1-NF) , tapi sebelumnya kita isikan baris data yang null(kosong) tersebut, misalnya pada kolom NO_NOTA dan TGL pada baris ke dua,empat,lima,tujuh,Sembilan harus diisikan . juga dikolom TOT_PYMNT baris yang kosong harus diisi. karena pada table diatas terdapat null yang kosong maka dapat disimpulkan table diatas tidak normal. Maka kita normalkan menggunakan langkah berikut . Isikan semua baris yang kosong Table 1
NO_NOTA NT00175 NT00175 NT00176 NT00176 NT00176 NT00177 NT00177 TGL 13Apr2012 13Apr2012 13Apr2012 13Apr2012 13Apr2012 14Apr2012 14Apr2012 NO_BRG BSKR BBRY BBRY BLCO BLKJ BSKR BLKJ NM_BRG Brownies Kukus Srikaya Brownies Kukus Blueberry Brownies Kukus Blueberry Pisang Bolen Cokelat Pisang Bolen Keju Brownies Kukus Srikaya Pisang Bolen Keju NO_TYPE BROW BROW BROW BLEN BLEN BROW BLEN NM_TYPE Brownies Brownies Brownies Pisang Bolen Pisang Bolen Brownies Pisang Bolen HRG_BRG 28,000 30,000 30,000 24,000 26,000 28,000 26,000 QTY 1 2 1 2 2 5 5 DISC 10% 10% 10% 0 0 10% 0 TOT_ITEM 25,200 54,000 27,000 48,000 52,000 126,000 130,000 TOT_PYMNT 79,200 79,200 127,000 127,000 127,000 256,000 256,000

NT00178 NT00178

15Apr2012 15Apr2012

BLCO BLKJ

Pisang Bolen Cokelat Pisang Bolen Keju

BLEN BLEN

Pisang Bolen Pisang Bolen

24,000 26,000

2 2

0 0

48,000 52,000

100,000 100,000

Bentuk normal kesatu (1-NF) Syarat : 1. Tidak ada atribut(kolom) pada table yang sifatnya multivalue 2. Tidak memiliki atribut lebih dari 1 dengan domain yang sama Pada tahap 1-NF tabel sudah memenuhi syarat nya, karena pada tabel tersebut diatas tidak terdapat kolom yang bersifat multivalue dan kolom yang mempunyai lebih dari satu dengan domain yang sama.oleh karena itu tabel 1 sudah memenuhi 1-NF. Bentuk normal ke dua (2-NF) Bentuk normal kedua didasari dengan konsep kebergantungan fungsional sepenuhnya. Dan syarat dari normal kedua(2-NF) adalah sebagai berikut. 1. Memenuhi 1-NF 2. Tidak ada partial functional dependency pada identifikasi sebelumnya tabel sudah memenuhi 1-NF , sekarang kita identifikasi syarat 2NF yang kedua yaitu tidak ada partial functional dependency.sebelum kita periksa ada partial functional dependency atau tidak, pada tahap ini kita tentukan dahulu superkey , candidatekey, dan primarykey. Superkey (kombinasi yang membedakan antar baris) (NO_NOTA,NO_BRG) (NO_NOTA,NM_BRG) (NO_NOTA,TGL,N0_BRG) (NO_NOTA,TGL,NM_BRG) (NO_NOTA,TGL,TOT_ITEM) (NO_NOTA,TGL,NO_BRG,TOT_ITEM) (NO_NOTA,TGL,NM_BRG,TOT_ITEM)

Candidate key (kombinasi superkey yang paling sedikit) (NO_NOTA,N0_BRG)

Primarykey (salah satu dari candidate key) (NO_NOTA,N0_BRG)

Setelah ditentukan super key , candidate key , dan primary key , kita ambil candidate key untuk diperiksa ada yang parsial atau tidak. Dibawah ini adalah cara melakukan identifikasi partial functional dependency.

(B,C) adalah candidate key BA A bergantung secara parsial terhadap (B,C)

(NO_NOTA,N0_BRG) adalah candidate key FD1: (NO_NOTA)( TGL) partial?ya, karena TGL hanya tergantung pada (NO_NOTA) saja, tidak kepada NO_BRG pada Candidate key (NO_NOTA,N0_BRG) FD2: (NO_BRG)(NM_BRG,NO_TYPE,NM_TYPE,HARGA_BRG) partial?ya, karena NM_BRG,NO_TYPE,NM_TYPE,HARGA_BRG,DiSC hanya tergantung pada NO_BRG saja, tidak kepada NO_NOTA pada Candidate key (NO_NOTA,N0_BRG) FD3: (NO_NOTA,N0_BRG)(QTY,DISC,TOT_ITEM,TOT_PYMNT) Partial? Tidak Walaupun tabel 1 telah memenuhi syarat 1st NF namun karena terjadi partial functional dependency maka tabel T-1 belum memenuhi syarat 2nd NF. solusinya adalah dengan melakukan dekomposisi terhadap tabel 1 dengan tetap menjaga agar datanya tetap konsisten. Hal ini dapat dilakukan dengan melakukan dekomposisi tabel sesuai FD1, FD2 dan FD3 yang telah kita analisis sebelumnya. Adapun hasil dekomposisi dari tabel 1 adalah 3 tabel berikut ini: Bagian yang ditemukan PFD (Partial Functional Dependency) dipecah menjadi tabel baru Table 1-1 (dari FD1)
NO_NOTA NT00175 NT00175 NT00176 NT00176 TGL 13Apr2012 13Apr2012 13Apr2012 13Apr2012

NT00176 NT00177 NT00177 NT00178 NT00178

13Apr2012 14Apr2012 14Apr2012 15Apr2012 15Apr2012

Table 1-2 (dari FD2)
NO_BRG BSKR BBRY BBRY BLCO BLKJ BSKR BLKJ BLCO BLKJ NM_BRG Brownies Kukus Srikaya Brownies Kukus Blueberry Brownies Kukus Blueberry Pisang Bolen Cokelat Pisang Bolen Keju Brownies Kukus Srikaya Pisang Bolen Keju Pisang Bolen Cokelat Pisang Bolen Keju NO_TYPE BROW BROW BROW BLEN BLEN BROW BLEN BLEN BLEN NM_TYPE Brownies Brownies Brownies Pisang Bolen Pisang Bolen Brownies Pisang Bolen Pisang Bolen Pisang Bolen

Tabel 1-3 (dari FD3)
NO_NOTA NT00175 NT00175 NT00176 NT00176 NT00176 NT00177 NT00177 NT00178 NT00178 NO_BRG BSKR BBRY BBRY BLCO BLKJ BSKR BLKJ BLCO BLKJ QTY 1 2 1 2 2 5 5 2 2 DISC 10% 10% 10% 0 0 10% 0 0 0 TOT_ITEM 25,200 54,000 27,000 48,000 52,000 126,000 130,000 48,000 52,000 TOT_PYMNT 79,200 79,200 127,000 127,000 127,000 256,000 256,000 100,000 100,000

Ketiga tabel hasil dekomposisi tersebut sudah tidak mengalami partial functional dependency. Dengan demikian ketiga tabel tersebut telah memenuhi syarat 2nd NF dan siap untuk diperiksa apakah memenuhi syarat bentuk normal level berikutnya (3rd NF).

Bentuk normal ke tiga (3-NF) Umumnya jika sebuah tabel telah memenuhi syarat bentuk normal ke tiga (3rd NF) maka tabel tersebut sudah dianggap ‘cukup normal’. Bentuk normal ke 3 adalah bentuk normal yang biasanya menjadi syarat minimum bagi sebuah desan tabel walaupun akan lebih baik jika juga memenuhi BCNF. Syarat 3-NF:

1. Memenuhi 2-NF 2. Tidak ada transitive functional dependency Periksa apakah ada transitif Functional Dependency! Rumus transitif Functional Dependency AB BC C bergantung secara transitif terhadap A melalui B

Pada tabel 1-1 Memenuhi 2-NF? Ya Tidak ada transitive functional dependency? Ya

Pada tabel 1-3 Memenuhi 2-NF? Ya Tidak ada transitive functional dependency? Ya

Pada Tabel 1-2 FD1: (NO_BRG)(NM_BRG,NO_TYPE,NM_TYPE) FD2: (NO_TYPE)(NM_TYPE) Berarti (NO_BRG)(NM_TYPE) secara transitive melalui (NO_TYPE) Dipecah (sesuai dengan FD1 dan FD2) menjadi 2 tabel berikut: Tabel 1-2-1
NO_BRG BSKR BBRY BBRY NM_BRG Brownies Kukus Srikaya Brownies Kukus Blueberry Brownies Kukus Blueberry NO_TYPE BROW BROW BROW

BLCO BLKJ BSKR BLKJ BLCO BLKJ

Pisang Bolen Cokelat Pisang Bolen Keju Brownies Kukus Srikaya Pisang Bolen Keju Pisang Bolen Cokelat Pisang Bolen Keju

BLEN BLEN BROW BLEN BLEN BLEN

Tabel 1-2-2
NO_TYPE BROW BROW BROW BLEN BLEN BROW BLEN BLEN BLEN NM_TYPE Brownies Brownies Brownies Pisang Bolen Pisang Bolen Brownies Pisang Bolen Pisang Bolen Pisang Bolen

Bentuk Normal Boyce Codd (BC Normal Form) Boyce Codd Normal Form atau bentuk normal Boyce-Codd adalah bentuk normal yang levelnya di atas 3rd NF. Syarat BCNF : - Memenuhi 3rd NF - Untuk semua FD yang terdapat di tabel, ruas kiri dari FD tersebut adalah super key Jika ada satu saja FD pada tabel dimana ruas kirinya bukan super key maka desain tabel tersebut belum memenuhi syarat BCNF. Solusinya adalah dengan melakukan dekomposisi tabel dan tetap mempertahankan konsistensi data. Jadi kesimpulan tabel yang sudah normal adalah seperti berikut Tabel 1-1
NO_NOTA NT00175 NT00175 NT00176 NT00176 NT00176 NT00177 NT00177 NT00178 TGL 13Apr2012 13Apr2012 13Apr2012 13Apr2012 13Apr2012 14Apr2012 14Apr2012 15Apr2012

NT00178

15Apr2012

Tabel 1-2-1
NO_BRG BSKR BBRY BBRY BLCO BLKJ BSKR BLKJ BLCO BLKJ NM_BRG Brownies Kukus Srikaya Brownies Kukus Blueberry Brownies Kukus Blueberry Pisang Bolen Cokelat Pisang Bolen Keju Brownies Kukus Srikaya Pisang Bolen Keju Pisang Bolen Cokelat Pisang Bolen Keju NO_TYPE BROW BROW BROW BLEN BLEN BROW BLEN BLEN BLEN

Tabel 1-2-2
NO_TYPE BROW BROW BROW BLEN BLEN BROW BLEN BLEN BLEN NM_TYPE Brownies Brownies Brownies Pisang Bolen Pisang Bolen Brownies Pisang Bolen Pisang Bolen Pisang Bolen

Tabel 1-3
NO_NOTA NT00175 NT00175 NT00176 NT00176 NT00176 NT00177 NT00177 NT00178 NT00178 NO_BRG BSKR BBRY BBRY BLCO BLKJ BSKR BLKJ BLCO BLKJ QTY 1 2 1 2 2 5 5 2 2 DISC 10% 10% 10% 0 0 10% 0 0 0 TOT_ITEM 25,200 54,000 27,000 48,000 52,000 126,000 130,000 48,000 52,000 TOT_PYMNT 79,200 79,200 127,000 127,000 127,000 256,000 256,000 100,000 100,000

Sign up to vote on this title
UsefulNot useful