You are on page 1of 39

Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas

dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi. Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atribut lainnya

1.

2.

3.

Suatu rancangan database disebut buruk jika: Data yang sama tersimpan dibeberapa tempat (record atau file) Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan proses update data. Terjadi kehilangan infomasi yang tidak sengaja/tidak diketahui.

Tabel Universal (Universal / Star Table) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik.
Misalnya:

Pengulangan Informasi terjadi pada atribut nama_mhs, alamat_mhs dan tgl_lahir sesuai data nim. Dan juga pada nama_kul, tempat, waktu dst. Potensi inkonsistensi data pada operasi pengubahan data Jika akan mengubah nama mahasiswa berarti perubahan harus dijalarkan pada setiap baris yang nimnya sama. Jika tidak diterapkan seperti itu maka KF yang telah ditentukan akan terganggu karena nantinya ada dua baris nim-nya sama tapi data lainnya berbeda. Tersembunyinya informasi tertentu Tabel diatas tidak dapat menampilkan data yang belum ada kaitannya. Misalnya mahasiswa yang tidak mengambil mata kuliah atau mata kuliah yang belum diselenggarakan atau dosen yang tidak mengajar.

Dari kelemahan tersebut kita harus mendekomposisikan tabel tersebut menjadi beberapa tabel dengan mempertimbangkan KF. Agar setiap tabel hanya memiliki satu KF (KF yang minimum). APA ITU KF...?

Diberikan sebuah tabel/relasi T. Atribut B dari T bergantung secara fungsi pada atribut A dari T jika dan hanya jika setiap nilai A dari T punya hubungan dengan tepat satu nilai B dalam T
MataKuliah NIM NamaMhs IndekNilai

row 1 row 2 row 3

Struktur Data Struktur Data Basis Data

98001 98004 98001

Ali Akbar Indah Sutanti Ali Akbar

A B

row 4

Basis Data

98002

Budi Haryanto

row 5

Basis Data

98004

Indah Sutanti

row 6 row 7

Bahasa Indonesia Matematika I

98001 98002

Ali Akbar Budi Haryanto

B C

KF1 : NIM nama_mhs ( nama mahasiswa bergantung kepada NIM) KF 2 : Matakuliah,NIM IndexNilai ( indexnilai bergantung pada matakuliah dan NIM mahasiswa.

Matakuliah > NIM (nim tidak tergantung kepada matakuliah) NIM > indexnilai (indexnilai tidak tergantung kepada nim)

Dengan memperhatikan: - Kesamaan - Ketidaksamaan - Dan hubungan antar alamiah Antar data kita dapat membentuk sejumlah KF: nim nama_mhs Nim nama_mhs, alamat_mhs, nim alamat_mhs tgl_lahir nim tgl_lahir

kode_kul nama_kul kode_kul sks kode_kul semester kode_kul waktu kode_kul tempat kode_kul nama_dos

Kode_kul nama_kul,sks,semester, Waktu, tempat,nama_dos

nama_dosen alamt_dos nim, kode_kul indeks_nilai

Dalam perpektif Normalisasi, suatu basis data dapat dikatakan baik jika setiap tabel yang menjadi unsur pembentuk berada dalam keadaan baik atau normal. Tabel dikatakan baik jika memenuhi 3 kriteria:
1. Jika dekomposisi (penguraian tabel), maka dikompisisi dijamin aman (Lossless-Join Decomposition) 2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). 3. Tidak melanggar Boyce-Codd Normal Form (BCNF) Jika kriteria BCNF tidak dapat dipenuhi, maka paling tidak tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3rdNF)

Level-level dalam normalisasi disebut Normal Form (NF)

1.Bentuk 2.Bentuk 3.Bentuk 4.Bentuk 5.Bentuk

Normal Normal Normal Normal Normal

tahap Pertama (1st Normal Form/1NF) tahap Kedua (2nd Normal Form/2NF) tahap Ketiga (3rd Normal Form/3NF) tahap Keempat (4th Normal Form/4NF) tahap Kelima (5th Normal Form/5NF)

Suatu relasi berada dalam bentuk normal pertama jika relasi tidak mengandung atribut yang bernilai ganda (multivalue attribut).

a. Tidak ada baris yang sama dalam sebuah tabel b. Tidak ada attribut yang duplikat dalam sebuh tabel c. Tidak ada attribut multivalue, jadi nilai cell harus single d. Tidak ada pengulangan group data.

Contoh tabel yang tidak normal


NOTA A001 A001 B002 B002 B002 PLGN Dinda Dinda Paijo Paijo Paijo ALAMAT Jl. Teratai 15 A Jl. Teratai 15 A Jl. Pandega 50 Jl. Pandega 50 Jl. Pandega 50 TGL_ORDER 15-Jan-2011 15-Jan-2011 17-Jan-2011 17-Jan-2011 17-Jan-2011 KODEBRG B001 B002 B001 B003 B004 NAMA_BRG Gula Mentega Gula Roti Minyak Goreng JML 2 1 1 2 1 HARGASAT 5.000 6.500 5.000 7.000 16.000 SUBTOTAL 10.000 6.500 5.000 14.000 16.000 TOTAL 16.500 16.500 35.000 35.000 35.000

1. 2.

Terdapat attribut duplikat yaitu nota, plgn, alamat, tgl_order Terdapat attribut multivalues yaitu kodebrg, dan nama_brg. Satu orang pelanggan membeli lebih dari satu barang.

Langkah-langkah

1. Hilangkan attribut duplikat 2. Buatlah menjadi tabel terpisah untuk masing-masing group data. 3. tentukan kolom uniknya (primary key)

Syarat
1. Sudah memenuhi 1NF 2. Attribut non key secara fungsi tergantung penuh terhadap atribut

Primary Key 3. Tidak ada partial dependencies : tidak ada attribut yang bergantung sebagian terhadap primary key, terdapat pada kasus composite primary key (artinya dalam satu tabel terdapat lebih dari satu primary key)
Langkah Jika ada attribut yang bergantung sebagian terhadap primary key, maka pecah menjadi tabel sendiri.

Contoh tabel tidak normal tahap 2

Memenuhi normal tahap 2 NONOTA A001 B002 NAMA_PLGN Dinda Paijo ALAMAT TGL_ORDER

Tabel Order TOTAL 16.500 35.000

Jl. Teratai 15 A 15-Jan-2011 Jl .Pandega 50 17-Jan-2011

NONOTA A001 A001 KODEBRG NAMA_BRG B001 B002 B003 B004 Gula Mentega Roti Minyak Goreng HARGASAT 5.000 6.500 7.000 16.000 B002

KODEBRG B001 B002 B001

JML 2 1 1

SUBTOTAL 10.000 6.500 5.000

B002
B002

B003
B004

2
1

14.000
16.000

Tabel Item_Order

Tabel Barang

Syarat
1. Memenuhi bentuk normal kedua 2. Tidak ada defendensi transitif, artinya ada atribut yang bergantung dengan attribut non key yang lain. Biasanya terjadi pada attribut turunan.

Langkah
1. Hapus atau pisahkan menjadi tabel tersendiri attribut yang

bergantung dengan attribut non key


2. Pastikan semua attribut non key bergantung penuh kepada Primary Key

Tabel tidak normal tahap 3


Terdapat attibut yang bergantung terhadap attribut yang lain misalnya Nilai Subtotal adalah : dari nilai attribut jml dan hargasatuan (dari tabel barang) Tabel item_order
NONOTA A001 A001 B002 B002 B002 KODEBRG B001 B002 B001 B003 B004 JML 2 1 1 2 1 SUBTOTAL 10.000 6.500 5.000 14.000 16.000

Sehingga tabel normal tahap 3


NONOTA TGL_ORDER KODE_PLGN

A001 B002

15-Jan-2011 17-Jan-2011

P001 P002
KODE_PLGN

Tabel Pelanggan
NAMA_PLGN ALAMAT

Tabel Order

P001
NONOTA KODEBRG JML

Dinda Paijo

Jl. Teratai 15 A Jl .Pandega 50

P002

A001

B001

A001
B002 B002 B002

B002
B001 B003 B004

1
1 2 1

KODEBRG

NAMA_BRG

HARGASAT

B001 B002 B003 B004

Gula Mentega Roti Minyak Goreng

5.000 6.500 7.000 16.000

Tabel Barang

Tabel Item_Order

Berilah bentuk-bentuk normalisasi 1 s.d 3 (jika ada) Untuk tabel berikut :


NPM
07.01.1234 07.01.1234 07.01.1234 07.01.1234 07.11.3333 07.11.3333 07.11.3333

NAMA
Dewi Fortuna Dewi Fortuna Dewi Fortuna Dewi Fortuna Frenky Frenky Frenky

JURMHS
D3TI D3TI D3TI D3TI S1TI S1TI S1TI

ALAMAT
Jl. Mawar 10 Jl. Mawar 10 Jl. Mawar 10 Jl. Mawar 10 Jl. Melati 5 Jl. Melati 5 Jl. Melati 5

KD_MK
DT050 DT051 DT052 DT053 ST015 ST016 ST017

MATAKULIAH
PBD E-commerce kalkulus Multimedia Sistem Berkas Kriptografi ANSI

SKS
4 2 2 4 4 2 2

NILAI
A B C D A B C

SMT
1 2 3 1 1 2 3

THN_AKADEMIK
2008/2009 2008/2009 2008/2009 2009/2010 2008/2009 2008/2009 2008/2009

07.11.3333

Frenky

S1TI

Jl. Melati 5

ST018

PPA

2009/2010

1NF
1. Terdapat attribut duplikat yaitu : npm,nama,jurmhs,alamat 2. Terdapat attribut multivalues, yaitu satu mhs mengambil banyak matakuliah,sehingga tercipta baris/rows yang sama. Langkah : Pisah menjadi 2 tabel yaitu : tabel mahasiswa (npm,nama,jurmhs, alamat)

tabel KRS (npm,kodemk,matakuliah,smt,thn_ajaran)

1NF

2NF
1. Attribut non key harus bergantung penuh kepada primary key. 2. Lihat tabel KRS, attibut matakuliah dan sks bergantung penuh terhadap kode_mk, tidak bergantung penuh terhadap npm. Langkah Pecah menjadi tabel tersendiri yaitu tabel Matakuliah (kode_mk, matakuliah, sks)

Jika dan hanya jika untuk setiap KF dengan notasi X Y, maka X adalah superkey Jika belum demikian, maka langkah yang diambil adalah men-dekomposisikan ulang dari bentuk normal 3NF, sehingga X adalah superkey

Istilah FD trivial : sisi kanan dari FD merupakan subset dari sisi kirinya.

Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute

Misal, tabel berikut tidak memenuhi 4NF:

Setiap employee dapat bekerja di lebih dari project dan dapat memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut harus didekomposisi menjadi:
(Employee, Project) (Employee, Skill)

Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

Suatu relasi R (X, Y, ..., Z) memenuhi dependensi gabungan jika gabungan dari proyeksi A, B, ..., C dengan A, B, ..., C merupakansub-himpunan dari atribut-atribut R. Dependensi gabungan sesuai dengan definisi di atas dinyatakan dengan notasi: * (A, B, ..., C) dengan A = XY B = YZ C = ZX

nama_plgn Rafsemmy

alamat

no_tran

kodebuku B0100

namabuku pengarang almt_pengarang Doraemon kusugawa Belajar bersama jepang P

jk_pengarang

Condong catur no. 20 TR001

Rafsemmy Rafsemmy

Condong catur no. 20 TR001


Condong catur no. 20 TR001

B0101
B0102 B0100

Upin Ipin bernard bear

M.yasin Joshua

penang,malaysia adelaide

L L

Irfan

Pitaloka H5

TR002

Doraemon kusugawa Belajar bersama Upin Ipin M.yasin

jepang

Irfan

Pitaloka H5

TR002

B0101

penang,malaysia

penerbit

almt_penerbit

tlf_penrbit

tahunterbit

edisi

tgl_pinj

tgl_kembali

denda

ptgs_rental

Andi ofset

Jogja

027455123

2010

01/01/2011

03/01/2011 0

Aeni

Gramedia

Jakarta

02134567

2009

01/01/2011 01/01/2011 01/01/2011

03/01/2011 0 03/01/2011 0 10/01/2011

Aeni Aeni 7.000 Susan

Gramedia Gramedia

Jakarta Jakarta

02134567 02134567

2008 2010

2 5

Andi ofset

Jogja

027455123

2006

01/01/2011

10/01/2011

7.000 Susan

You might also like