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