Myfreind blog :
http://fatmaku01.blogspot.com/2012/11/pembuatan-normalisasi.html
http://auliamf.blogspot.com/2012/11/tahapan-pjnf5nf-dan-overnormalisasi.html
http://www.youtube.com/watch?v=wq0njLAF7uE
http://fatmaku01.blogspot.com/2012/11/pembuatan-normalisasi.html
http://auliamf.blogspot.com/2012/11/tahapan-pjnf5nf-dan-overnormalisasi.html
A.
PENGERTIAN NORMALISASI
Menurut E.F.
Codd :
Normalisasi
dipakai untuk membuat struktur table (relasi) dalam basis data àmengurangi kemubadziran data .
Kadang dipakai sebagai perangkat verifikasi terhadap table-tabel yang
dihasilkan metodologi lain. Memberikan panduan yang sangat membantu bagi
pengembang untuk mencegah penciptaan struktur table yang kurang atau mengurangi
ketidak-efisienan.
Menurut
Kroenke :
Sebagai
proses untuk mengubah suatu relasi yang memiliki masalah tertentu kedalam dua
buah relasi atau lebih yang tidak memiliki masalah tersebut à anomali .
- BENTUK NORMAL
Bentuk
normal adalah suatu aturn yang dikenakan pada relasi-relasi dalam basis dta dan
harus dipenuhi oleh relasi-relasi tersebut dalam level-level normalisasi .
Suatu relasi dikatakan berbeda dalam bentuk normal tertentu jika memenuhi
kondisi-kondisi tertentu. Beberapa level yang bias digunakan pada normalisasi
adalah :
- Bentuk normal pertama (1NF)
- B entuk normal kedua (2NF)
- Bentuk normal ketiga (3NF)
- Bentuk normal Boyce-Cood (BCNF)
- Bentuk normal kekempat (4NF)
- B entuk normal kelima (5NF)
- Overnormalisasi
Berikut
adalah penjelasan Bentuk Normal secara umum :
- Bentuk normal pertama hingga
ketiga (dibuat oleh E.F Cood) merupakan bentuk normal yang umum dipakai .
Artinya bahwa pad kebanyakan relasi , bila ketiga tersebut terpenuhi ,
maka persoalan anomaly tidak akan muncul lagi.
- Bentuk normal Boyce-Cood (BCNF)
merupakan revisi dari bentuk normal ketiga.
- Setiap normalisasi bergantung
pada level sebelumnya. Semakin dalam levelnya, relasi mempunyai
kecenderungan lebih baik dalam artian memiliki problem yang lebih kecil
ataupun samasekali tidak memiliki permasalahan anomaly.
- BENTUK NORMAL PERTAMA (1NF)
Bentuk
normal pertama biasa dikenal pada table yng belum ternormalisasi . Tabel yang
belum ternormalisasi adalah table yang memiliki atribut yang berulang. Suatu
relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap
attribute bernilai tunggal untuk setiap baris.
- Contoh I data yang belum ternormalisasi
:
NIP
|
Nama
|
Jabatan
|
Keahlian
|
Lama (tahun)
|
107
|
Ilham
|
Analis
senior
|
COBOL
ORACLE
|
6
1
|
109
|
Rian
|
Anlis
yunior
|
COBOL
DBASE III+
|
2
2
|
112
|
Fika
|
Pemrogram
|
COBOL
DBASE III+
SYBASE
|
1
1
1
|
Contoh I
Relasi yang memenuhi normal pertama :
NIP
|
Nama
|
Jabatan
|
Keahlian
|
Lama (tahun)
|
107
|
Ilham
|
Analis
senior
|
COBOL
|
6
|
107
|
Ilham
|
Analis
senior
|
ORACLE
|
1
|
109
|
Rian
|
Anlis
yunior
|
COBOL
|
2
|
109
|
Rian
|
Anlis
yunior
|
DBASE III+
|
2
|
112
|
Fika
|
Pemrogram
|
COBOL
|
1
|
112
|
Fika
|
Pemrogram
|
DBASE III+
|
1
|
112
|
Fika
|
Pemrogram
|
SYBASE
|
1
|
Contoh II
Tabel yang belum ternormalisasi :
Nomor_Pesan
|
Tgl_Pesan
|
Item1
|
Item2
|
Item3
|
Item4
|
Total
|
50001
|
12/05/1997
|
P1
|
P2
|
P3
|
P4
|
45000
|
50002
|
13/05/1997
|
P3
|
P5
|
P6
|
32000
|
|
50003
|
12/05/1997
|
P1
|
P2
|
12000
|
Contoh II
Relasi yang memenuhi normal pertama :
Nomor_Pesan
|
Tgl_Pesan
|
Item1
|
Total
|
50001
|
12/05/1997
|
P1
|
45000
|
50001
|
12/05/1997
|
P2
|
45000
|
50001
|
12/05/1997
|
P3
|
45000
|
50001
|
12/05/1997
|
P4
|
45000
|
50002
|
13/05/1997
|
P3
|
32000
|
50002
|
13/05/1997
|
P5
|
32000
|
50002
|
13/05/1997
|
P6
|
32000
|
50003
|
12/05/1997
|
P1
|
12000
|
50003
|
12/05/1997
|
P2
|
12000
|
- BENTUK NORMAL KEDUA (2NF)
Suatu relasi
dalam bentuk normal kedua, jika dan hanya jika :
- Berada pada bentuk normal
pertama
- Semua attribute yang bukan
kunci memiliki dependensi sepenuhnya terhadap kunci primer.
Attribute
yang bukan kunci adalah attribute yang bukan merupakan bagian dari kunci
primer. Dalam ungkapan ang lebih praktis, bentuk normal yang kedua mensyaratkan
setiap attribute bergantung kepada kunci primer. Untuk mengubah suatu relasi
yang tergolong sebagai bentuk normal pertama kebentuk normal kedua perlu
dilakukan dekomposisi terhadap relasi tersebut. Proses dekomposisi dapat
dilakukan dngan menggambarkan diagram dependensi fungsional terlebih dahulu.
Berdasarkan diagram ini, relasi dalam benttuk normal pertama dipecah kedalam
sejumlah relasi.
Contoh I
Relasi yang memenuhi normal pertama :
NIP
|
Nama
|
Jabatan
|
Keahlian
|
Lama
(tahun)
|
107
|
Ilham
|
Analis
senior
|
COBOL
|
6
|
107
|
Ilham
|
Analis
senior
|
ORACLE
|
1
|
109
|
Rian
|
Anlis
yunior
|
COBOL
|
2
|
109
|
Rian
|
Anlis
yunior
|
DBASE III+
|
2
|
112
|
Fika
|
Pemrogram
|
COBOL
|
1
|
112
|
Fika
|
Pemrogram
|
DBASE III+
|
1
|
112
|
Fika
|
Pemrogram
|
SYBASE
|
1
|
Relasi
(dependensi fungsional):
NIP à {Nama, Jabatan }
{NIP,
Keahlian} à Lama
Contoh I
Hasil dekomposisi yang memenuhi bentuk normal kedua :
Relasi NKP
NIP
|
Keahlian
|
Lama
(tahun)
|
107
|
COBOL
|
6
|
107
|
ORACLE
|
1
|
109
|
COBOL
|
2
|
109
|
DBASE III+
|
2
|
112
|
COBOL
|
1
|
112
|
DBASE III+
|
1
|
112
|
SYBASE
|
1
|
Relasi NJJ
NIP
|
Nama
|
Jabatan
|
107
|
Ilham
|
Analis
senior
|
109
|
Rian
|
Anlis
yunior
|
112
|
Fika
|
Pemrogram
|
- Menurut date : Normal pertama
menjadi Normal Kedua terhadap relasi R :
R (A, B, C,
D) Kunci primer (A, B), A à D
R dapat
digantikan dengan dua proyeksi R1 dan R2 :
R1 (A, D)
kunci primer (A)
R2 (A, B, C)
kunci primer (A,B) dan kunci tamu (A) referensi R1
- Masalah yang sering terjadi
pada relasi yang tergolong pada bentuk normal kedua diakibatkan oleh
adanya dependensi transitif.
Contoh II
Relasi yang memenuhi normal pertama :
Nomor_Pesan
|
Tgl_Pesan
|
Item1
|
Total
|
50001
|
12/05/1997
|
P1
|
45000
|
50001
|
12/05/1997
|
P2
|
45000
|
50001
|
12/05/1997
|
P3
|
45000
|
50001
|
12/05/1997
|
P4
|
45000
|
50002
|
13/05/1997
|
P3
|
32000
|
50002
|
13/05/1997
|
P5
|
32000
|
50002
|
13/05/1997
|
P6
|
32000
|
50003
|
12/05/1997
|
P1
|
12000
|
50003
|
12/05/1997
|
P2
|
12000
|
Relasinya :
Pesanan1 (Nomor_Pesan,
Tgl_Pesan, Total)
Pesanan2
(Nomor_Pesan, Item)
Contoh II
Hasil dekomposisi yang memenuhi bentuk normal kedua :
Nomor_Pesan
|
Tgl_Pesan
|
Total
|
50001
|
12/05/1997
|
45000
|
50002
|
13/05/1997
|
32000
|
50003
|
12/05/1997
|
12000
|
Nomor_Pesan
|
Item1
|
50001
|
P1
|
50001
|
P2
|
50001
|
P3
|
50001
|
P4
|
50002
|
P3
|
50002
|
P5
|
50002
|
P6
|
50003
|
P1
|
50003
|
P2
|
- BENTUK NORMAL KETIGA (3NF)
Suatu relasi
dikatakan dalam bentuk normalk ketiga (3NF) jika berada pada attribute bentuk
normal ketiga dan semua atribut bukan kunci tidak memiliki transitif terhadap
kunci primer.
- Pendekatan normalisasi :
Bila
terdapat relasi R sebagai berikut :
R (A, B, C)
dengan kunci primer (A)
B à C
Maka relasi
Rdapat digantikan dengan dua proyeksi R1 dan R2 :
R1 (B, C)
dengan kunci primer (B)
R2 (A, B)
dengan kunci primer (A) dan Kunci tamu (B) Referensi R1
Relasi
memenuhi Normal kedua tetapi tidak untuk Normal ketiga :
Nomor_Pesan
|
No_Urut
|
Item1
|
Nama _Item
|
50001
|
001
|
P1
|
Pensil
|
50001
|
002
|
P2
|
Buku Tulis
|
50001
|
003
|
P3
|
Penggaris
|
50001
|
004
|
P4
|
Penghapus
|
50002
|
001
|
P3
|
Penggaris
|
50002
|
002
|
P5
|
Pulpen
|
50002
|
003
|
P6
|
Spidol
|
50003
|
001
|
P1
|
Pensil
|
50003
|
002
|
P2
|
Buku Tulis
|
Dekomposisi
yang menghasilkan relasi-relasi yang memenuhi bentuk normal ketiga :
Nomor_Pesan
|
No_Urut
|
Item1
|
50001
|
001
|
P1
|
50001
|
002
|
P2
|
50001
|
003
|
P3
|
50001
|
004
|
P4
|
50002
|
001
|
P3
|
50002
|
002
|
P5
|
50002
|
003
|
P6
|
50003
|
001
|
P1
|
50003
|
002
|
P2
|
Item1
|
Nama _Item
|
P1
|
Pensil
|
P2
|
Buku Tulis
|
P3
|
Penggaris
|
P4
|
Penghapus
|
P5
|
Pulpen
|
P6
|
Spidol
|
- BENTUK NORMAL BOYCE-CODD (BCNF)
Suatu relasi
disebut memenuhi bentuk normal Boyce-Codd (BCNF) jika dan hanya jika semua
(determinan) adalah kunci kandidat (atribut yang bersifat unik). BCNF merupakan
bentuk normal sebagian perbaikan terhadap 3NF,suatu relasi yang memenuhi BCNF
selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi
3NF belum tentu memenuhi BCNF .Dalam banyak literature disebutkan bahwa BCNF
adalah perbaikan dari 3NF ,karena bentuk normal ketigapun mungkin masih
mengandung anomaly sehingga masih perlu dinormalisasikan lebih lanjut.
Siswa
|
Kursus
|
Tutor
|
Anwar
|
Bahasa
Perancis
|
Pierre
|
Anwar
|
Bahasa
Inggris
|
Richard
|
Budi
|
Bahasa
Perancis
|
Pierre
|
Cecep
|
Bahasa
Inggris
|
Suzanne
|
- Relasi diatas memenuhi 3NF
tetapi tidak memenuhi BCNF, karena :
- Seorang siswa dapat mengambil
sejumlah kursus bahasa
- Setiap tutor hanya mengajar
pada sebuah kursus bahasa
- Setiap siswa pada setiap kursus
bahasa hanya diajar oleh seorang tutor
- Suatu kursus bahasa yang sama
bias memiliki lebih dari satu tutor
{Siswa,
Kursus } à Tutor
{Siswa,
Tutor } à Kursus
- Cara mengkonfersi relasi yang
telah memenuhi 3NF ke Boyce-Codd (BCNF) :
- Carilah semua penentu
- Bila terdapat penentu yang
bukan berupa kunci kandidat, maka :
- Pisahkan relasi tersebut dan buatlah
penentu terdapat sebagai kunci primer.
Hasil
dekomposisi baru :
Siswa
|
Tutor
|
Anwar
|
Pierre
|
Anwar
|
Richard
|
Budi
|
Pierre
|
Cecep
|
Suzanne
|
Kursus
|
Tutor
|
Bahasa
Perancis
|
Pierre
|
Bahasa
Inggris
|
Richard
|
Bahasa
Inggris
|
Suzanne
|
- Dependensi Nilai Banyak dan
Bentuk Normal Keempat / 4NF
Dependensi
nilai banyak merupakan terjemahan dari multivalued dependency (MVD). Dependensi
ini pertamakali diperkenalkan oleh R.Fagin pada tahun 1977 , dipakai pada
bentuk normal ke empat (4NF) . Dependensi ini dipakai untuk menyatakan hubungan
satu kebanyak.
Materikuliah
|
Dosen
|
Isi
|
Pengetahuan
Komputer
|
Amir
Fitria
|
Dasar
Komputer
Pengenalan
pengolahan kata
Penganalan
lembar kerja
|
Matematika
I
|
Fitria
|
Diferensial
Integral
|
Setelah
dinormalisasi :
Materikuliah
|
Dosen
|
Isi
|
Pengetahuan
Komputer
|
Amir
|
Dasar
Komputer
|
Pengetahuan
Komputer
|
Amir
|
Pengenalan
pengolahan kata
|
Pengetahuan
Komputer
|
Amir
|
Penganalan
lembar kerja
|
Pengetahuan
Komputer
|
Fitria
|
Dasar
Komputer
|
Pengetahuan
Komputer
|
Fitria
|
Pengenalan
pengolahan kata
|
Pengetahuan
Komputer
|
Fitria
|
Penganalan
lembar kerja
|
Matematika
I
|
Fitria
|
Diferensial
|
Matematika
I
|
Fitria
|
Integral
|
Secara umum
, depenensi nilai banyak muncul pada relasi yang tidak memiliki tiga attribute
dan dua diantaranya bernilai banyak dan nilai-nilainya terantung hanya pada
atribut ketiga.
Pada suatu
relasi R dengan atribut A, B, C atribut B dikatakan bersifat multidependen
terhadap A jika :
- Sekumpulan nilai B yng
diberikan pada pasangan (A, C) hanya tergantung pada nilai A dan tidak
terantung pada nilai C.
Hubungan
diatas dinyatakan dengan A --->> B
Bila R (A,
B, C) merupakan suatu relasi dengan A,B,C adalah attribute-attribute relasi
tersebut , maka proyeksi dari R berupa (A,B) dan (A,C) jika R memenuhi MVD :
- Perlu diketahui bila terdapat :
A
--->> B
A
--->> C
- Maka keduanya dapat ditulis menjadi
:
A
--->> B | C
- Secara praktis , suatu memenuhi
bentuk normal keempat jika :
- Telah berada pada BCNF dan
tidak mengandung dua attribute / lebih yang bernilai banyak .
Hasil
Dekomposisi baru :
Materikuliah
|
Isi
|
Pengetahuan
Komputer
|
Dasar
Komputer
|
Pengetahuan
Komputer
|
Pengenalan
pengolahan kata
|
Pengetahuan
Komputer
|
Penganalan
lembar kerja
|
Matematika
I
|
Diferensial
|
Matematika
I
|
Integral
|
Materikuliah
|
Dosen
|
Pengetahuan
Komputer
|
Amir
|
Pengetahuan
Komputer
|
Fitria
|
Matematika
I
|
Fitria
|
- DEPENDENSI GABUNGAN DAN BENTUK
NORMAL KELIMA (5NF)
Dependensi
gabungan mendasari bentuk normal kelima. Dapat dikataan PJ/NF (Projection Join
/ Normal Form) atau 5NF adalah Jika dan hanya jika dependensi gabungan dalam R
tersirat oleh kiunci kandidat relasi R.
Secara
praktis, dapat dikatakan bahwa suatu relasi R berada dalam 5NF jika data yang
ada padanya tidak dpat lagi didekomposisi menjadi relasi-relasi yang lebih
kecil degan kunci kandidat relasi-relasi yang lebih kecil tidak sama dengan
kunci kandidat relasi .
Suatu relasi
R (X, Y,…, Z) memenuhi dependensi gabungan jika gabungan dari proyeksi A,B,…,C
dengan A,B,..,C merupakan sub-himpunan dari atribut-atribut R. Dependensi
gabungan sesuai definisi diatas dinyatakan dengan notasi :
* (A, B , .
. ., C) à A=XY , B=YZ, C=XZ
NIM
|
Nama
|
Alamat
|
97788994
|
Abdullah
|
Jl.Pahlawan
|
97788995
|
Budi
Setiawan
|
Jl.Merpati
|
97788996
|
Bella
Safira
|
Jl.Merdeka
|
(NIM_Nama,
Nama_Alamat, NIM_Alamat)
Kunci
kandidat : kumpulan atribut minimal yang dapat membedakan setiap baris data
dalam sebuah tbel secara unik dan tidak boleh berisi atribut / kumpulan atribut
yang sudah menjadi superkey yang lain . berikut adalah kunci kandidat dari
table diatas :
(NIM)
(Nama)
- OVERNORMALISASI
Merupakan
table-tabel yang berada pada 5NF didekomposisikan lagi jika memungkinkan.
Tujuannya dalah untuk meningkatkan kinerja . caranya adalah dengan
memperhatikan permintan terhadap data yang sering dilakukan . Kolom-kolom data
yang sering diperlukan, diletakkan pada table tersendiri , terpisah dengan
kolom-kolom data yang jarang diperlukan.
Alasan yang
lain , table yang terlalu banyak memiliki kolom dapat menimbulkan persoalan
yang disebut deadlock (salng mengunci) pada pengaksesan yang serentak (sejumlah
pengguna mengakses baris yang sama). Namun, perlu diperhatikan juga bahwa tidak
selamanya pendekomposisian terhadap table yang memenuhi 5NF dapat menngkatkan
keinerja.
Pada
kenyataannya, table yang terlalu pendek(sedikit memiliki kolom) juga
menimbulkan persoalan peningkatan waktu CPUdan juga memerlukan banyak I/O disk
ketika penggabungan data (misalnya untuk penyajian laporan ).
0 komentar:
Posting Komentar