Friday 23 November 2012

Tahapan PJNF/5NF dan Overnormalisasi



  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 .
  1. 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 :
  1. Bentuk normal pertama (1NF)
  2. B entuk normal kedua (2NF)
  3. Bentuk normal ketiga (3NF)
  4. Bentuk normal Boyce-Cood (BCNF)
  5. Bentuk normal kekempat (4NF)
  6. B entuk normal kelima (5NF)
  7. 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.

  1. 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


  1. BENTUK NORMAL KEDUA (2NF)
Suatu relasi dalam bentuk normal kedua, jika dan hanya jika :
  1. Berada pada bentuk normal pertama
  2. 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

  1. 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

  1. 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 :
  1. Seorang siswa dapat mengambil sejumlah kursus bahasa
  2. Setiap tutor hanya mengajar pada sebuah kursus bahasa
  3. Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang tutor
  4. 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) :
  1. Carilah semua penentu
  2. 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

  1. 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


  1. 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)
  1. 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