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
- NIMNamaAlamat97788994AbdullahJl.Pahlawan97788995Budi SetiawanJl.Merpati97788996Bella SafiraJl.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 ).
No comments:
Post a Comment