Anda di halaman 1dari 20

DEKOMPOSISI

Pada proses normalisasi, seringkali terjadi pemecahan sebuah


relasi menjadi dua relasi atau lebih. Proses pemecahan seperti ini
biasa disebut dengan istilah dekomposisi. Dalam proses
dekomposi, yang diinginkan adalah dekomposisi tak hilang.
Artinya bahwa tidak ada informasi yang hilang ketika relasi
dipecah menjadi relasi-relasi lain.
Contoh sebuah relasi :
NIM

NAMA

PROGRAM_STUDI

95001

ALI

EKONOMI

95002

EDI

EKONOMI

95003

ALI

FISIKA
2

DEKOMPOSISI
Relasi ini dapat didekomposisi atas 2 bentuk :
1. Contoh dekomposisi tak hilang
Relasi Mahasiswa
Relasi Program Studi
NIM

NAMA

NIM

PROGRAM_STUDI

95001

ALI

95001

EKONOMI

95002

EDI

95002

EKONOMI

95003

ALI

95003

FISIKA

2. Contoh dekomposisi hilang


NIM

NAMA

NAMA

PROGRAM_STUDI

95001

ALI

ALI

EKONOMI

95002

EDI

EDI

EKONOMI

95003

ALI

ALI

FISIKA

LANGKAH-LANGKAH NORMALISASI
Skema langkah-langkah normalisasi adalah sebagai berikut:
Bentuk Tak Normal
Normal Satu(1NF)
Normal Dua(2NF)
Normal Tiga(3NF)
BCNF
Normal Empat(4NF)
Normal Lima(5NF)
4

LANGKAH-LANGKAH NORMALISASI

Bentuk Tidak Normal


Yaitu suatu kumpulan data yang tidak ada keharusan mengikuti format
tertentu (mungkin saja datanya tidak lengkap atau terduplikasi)
Bentuk Normal Satu (1NF)
Yaitu bila relasi tersebut mempunyai nilai data yang atomik, artinya tidak ada
lagi kerangkapan data. Atau setiap sel hanya berisi satu data.
Bentuk Normal Dua (2NF)
Yaitu bila relasi tersebut sudah berada dalam 1NF dan setiap atribut yang
bukan kunci bergantung sepenuhnya (FFD) terhadap Primary Key.
Bentuk Normal Tiga (3NF)
Yaitu bila relasi tersebut sudah berada dalam 2NF dan tidak ada
ketergantungan transitif pada atribut yang bukan kunci.

LANGKAH-LANGKAH NORMALISASI

Bentuk Normal Boyce-Codd (BCNF)


Yaitu bila relasi tersebut sudah berada dalam 3NF dan semua determinannya
merupakan Superkey Key.
Bentuk Normal Empat (4NF)
Yaitu bila relasi tersebut sudah berada dalam BCNF dan setiap rinci data yang
ada di dalamnya tidak mengalami ketergantungan pada banyak nilai
(multivalue).
Bentuk Normal Kelima (5NF)
Bentuk normal kelima ini dirancang untuk mengatasi masalah dependensi
yang disebut dependensi gabungan (join dependensi) yaitu ketergantungan
pada gabungan beberapa atribut. Join dependensi terjadi, apabila sebuah relasi
yang didekomposisi (dipecah) menjadi dua, setelah itu relasi tersebut tidak
dapat digabung kembali menjadi relasi semula.
Suatu relasi R disebut berada dalam bentuk 5NF jika dan hanya jika setiap
dependensi gabungan dalam R tersirat oleh kunci kandidat dalam R
6

CONTOH KASUS
Kasus Faktur Pembelian Barang

CONTOH KASUS

LANGKAH 1 MEMBUAT BENTUK TAK NORMAL


Masukkan semua field data yang ada, sehingga diperoleh tabel
data pembelian sebagai berikut:
No Kode Nama
Fak Supp Supp

Kode Nama
Brg
Brg

Tgl

Jatuh
Tempo

Qty Harga

779

S02

Hitachi

R02

Rice
Cooker

02/02/90 09/03/90 10

150000

150000

998

G01

Gobel

A01

AC
07/02/90 09/03/90 10
Split
PK

135000

135000 33,500,000

A02

AC split
1 PK

200000 2000000

10

Jumlah

Total

1,500,000

LANGKAH 2 MEMBUAT BENTUK NORMAL SATU


Pisahkan data pada field-field yang tepat dan bernilai atomik
(hilangkan grup pengulangan). Akan diperoleh bentuk normal
satu seperti berikut:
No
Fak

Kode
Supp

Nama
Supp

Kode
Brg

Nama
Brg

Tgl

Jatuh
Tempo

Qty

Harga

Jumlah

779

S02

Hitachi

R02

Rice
Cooker

02/02/90

09/03/90

10

150000 1500000

1500000

998

G01

Gobel

A01

AC Split 07/2/90
PK

09/03/90

10

135000 1350000

33500000

998

G01

Gobel

A02

AC split 07/2/90
1 PK

09/03/90

10

200000

33500000

200000

Total

10

LANGKAH 2 MEMBUAT BENTUK NORMAL SATU

Kelemahan atau Anomali pada bentuk normal satu ini adalah:


Anomali proses Inserting/Penyisipan
Kita tidak bisa memasukkan informasi tentang barang baru (Kode Brg, Nama Brg)
atau Suplier baru (Kode Supp, Nama Supp) tanpa melakukan transaksi pembelian.
Anomali proses Deleting/Penghapusan
Bila satu record di atas dihapus misalnya Kode Faktur 779, maka berakibat pula
menghapus data suplier S02 (Hitachi), padahal data suplier masih diperlukan.
Anomali proses Updating/Peremajaan
Pada tabel di atas, Kode Brg, Nama Brg, Kode Supplier dan Nama Supplier ditulis
berkali-kali. Bila suatu ketika terjadi perubahan maka maka harus dilakukan
perubahan pada beberapa tempat. Jika ada yang terlewatkan akan mengakibatkan data
tidak konsisten lagi .
Redudansi data
Pada bentuk normal satu ini, terjadi redudansi yang menyebabkan pemborosan ruang
penyimpanan dan juga berakibat pada data tidak konsisten. Misalnya setiap kali harga
dikalikan dengan kuantitas akan menghasilkan jumlah. Maka field jumlah dapat
dibuang .
11

LANGKAH 3 MEMBUAT BENTUK NORMAL DUA

Dependensi dalam tabel di atas dapat dituliskan sebagai berikut :


Nofak KodeSupp, NamaSupp,Tgl,Jatuh_Tempo,Total
Nofak KodeBrg, NamaBrg,Qty,Harga

Dari dependensi tersebut dibuat 2 tabel dengan struktur,


Nota=( Nofak, KodeSupp, NamaSupp,Tgl,Jatuh_Tempo,Total)
Transaksi=( Nofak, KodeBrg, NamaBrg,Qty,Harga)

12

LANGKAH 3 MEMBUAT BENTUK NORMAL DUA


Diperoleh 2 tabel sebagai berikut :
Tabel Nota
No
Fak
779

Kode
Supp
S02

Nama
Supp
Hitachi

Tgl
02/02/90

Jatuh
Tempo
09/03/90

998

G01

Gobel

07/2/90

09/03/90

Total
1500000

33500000

Tabel Transaksi
No Fak

Kode Brg

Nama Brg

Qty

Harga

779

R02

RiceCooker

10

150000

998

A01

AC Split PK

10

1350000

998

A02

AC split 1 PK

10

2000000
13

LANGKAH 3 MEMBUAT BENTUK NORMAL DUA

Selanjutnya dilakukan pemeriksaan terhadap kedua tabel apakah sudah


memenuhi bentuk normal kedua, yaitu: setiap atribut yang bukan kunci
bergantung secara penuh(FFD) kepada identifikasi unik (Primary Key).
Untuk tabel Nota:
Atribut kunci untuk tabel Nota adalah No Faktur (Nofak), dan atribut lainnya
(non key) sudah bergantung penuh ke pada tabel Nota. Jadi tabel Nota sudah
berada dalam bentuk 2NF
Untuk tabel Transaksi :
Atribut kunci untuk tabel Transaksi adalah atribut gabungan berupa {No
Faktur,Kode Brg}.
Pada tabel tersebut terdapat atribut non key yaitu Nama Brg yang tidak
bergantung secara penuh kepada kunci gabungan {No Faktur,Kode Brg},
tetapi justru bergantung secara penuh kepada bagian dari kunci yaitu
KodeBrg. Sehingga hal ini bertentangan dengan bentuk normal kedua.

14

LANGKAH 3 MEMBUAT BENTUK NORMAL DUA

Jadi tabel transaksi harus didekomposisi menjadi dua tabel sesuai dependensi
berikut:
Nofak Tgl,KodeBrg,Qty,Hrg
KodeBrg Nama Brg
Diperoleh 2 tabel baru dengan struktur :
Transaksi = (Nofak,KodeBrg,Qty,Hrg)
Barang = (KodeBrg,Nama Brg)
Sehingga proses normalisasi bentuk kedua diperoleh 3 tabel dengan struktur
sebagai berikut :
Nota=( Nofak, KodeSupp, NamaSupp,Tgl,Tempo,Total)
Transaksi = (Nofak,KodeBrg,Qty,Hrg)
Barang = (KodeBrg,Nama Brg)

15

LANGKAH 3 MEMBUAT BENTUK NORMAL DUA

Dimana setiap field bukan kunci sudah bergantung penuh pada primary key, maka
bentuk normal dua-nya diperoleh 3 tabel sebagai berikut.
Tabel Nota
No Fac
779
998

Kode Supp Nama Supp


S02
Hitachi
G01
Gobel

Tempo
09/03/90
09/03/90

Total
1500000
33500000

Tabel Transaksi
No Fac
779
998
998

Tanggal
02/02/90
07/02/90

Kode Barang
R02
A01
A02

Qty
10
10
10

Harga
150000
1350000
2000000

Tabel Barang
Kode Barang

Nama Barang

R02

Rice Cooker

A01

AC Split1/2 PK

A02

AC Split 1 PK
16

LANGKAH 3 MEMBUAT BENTUK NORMAL DUA


Namun permasalahan masih ada yaitu pada tabel Nota
Field Nama Supp pada tabel tersebut disamping bergantung pada
kunci primer No Faktur, juga bergantung fungsional pada Kode
Supp. Hal ini disebut sebagai ketergantungan yang transitif,
sehingga haruslah dipisahkan dalam dua tabel.
Masih terdapat redudancy yaitu setiap kali satu nota ditulis maka
Nama Suplier berulang kali ditulis.
Permasalahan ini akan dihilangkan pada Normal ketiga

17

LANGKAH 4 MEMBUAT BENTUK NORMAL TIGA

Bentuk normal tiga mempunyai syarat setiap tabel tidak mempunyai field
yang bergantung transitif, tetapi harus bergantung penuh pada kunci utama.
Telah dijelaskan bahwa masalah pada tabel Nota menyalahi bentuk 3NF. Jadi
tabel Nota harus dipecah lagi menjadi 2 tabel sesuai ketergantungan berikut:
NoFak KodeSupp,Tgl,Tempo,Total
KodeSupp Nama Supp
sehingga diperoleh 2 tabel dengan struktur:
Nota (Nofak,KodeSupp,Tgl,Tempo,Total)
Supplier (KodeSupp,Nama Supp)
Jadi sampai pada tahap normal ke tiga ini diperoleh 4 tabel sebagai berikut:
Barang (KodeBrg,Nama Brg)
Supplier (KodeSupp,Nama Supp)
Nota (Nofak,KodeSupp,Tgl,Tempo,Total)
Transaksi (Nofak,KodeBrg,Qty,Hrg)
18

LANGKAH 4 MEMBUAT BENTUK NORMAL TIGA

Tabel Supplier
Kode Supplier
G01
S02

Nama Supplier
Gobel
Hitachi

Tabel Barang
Kode Barang
R02
A01
A02

Nama Barang
Rice Cooker
AC Split1/2 PK
AC Split 1 PK

Tabel Nota
No Fac

Kode Supp

Tanggal

Tempo

Total

779

S02

02/02/90

09/03/90

1500000

998

G01

07/02/90

09/03/90

33500000

Tabel Transaksi
No Fac

Kode Barang

Qty

Harga

779

R02

10

150000

998

A01

10

1350000

998

A02

10

2000000

19

LANGKAH 4 MEMBUAT BENTUK NORMAL TIGA

20

Anda mungkin juga menyukai