Normalisasi Tabel “1NF, 2NF, 3NF dan BCNF”

Posted by Rachman Marangga on 9 Januari 2012 Posted in: Database. Tagged: anomali. Tinggalkan sebuah Komentar

Rate This Pengertian normalisasi: Normalisasi adalah Teknik atau pendekatan yang digunakan dalam membangun disain database relasional melalui himpunan data dengan tingkat ketergantungan fungsional dan keterkaitan yang tinggi sehingga menghasilkan struktur tabel yang normal. Tujuan normalisasi:
  

Minimalisasi redundansi (pengulangan data) Memudahkan identifikasi entitas Mencegah terjadinya anomali

Beberapa bentuk normal: 1. 1NF, 2NF, 3NF, BCNF 1NF Suatu relasi dikatakan bentuk normal pertama, jika dan hanya jika setiapatribut bernilai tunggal untuk setiap baris. Tiap field hanya satu pengertian, bukanmerupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata – kata sehingga artinya lain. Tidak ada set atribut yangberulang-ulang atau atribut bernilai ganda. 2NF Memenuhi bentuk 1 NF (normal pertama), Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama /primary key 3NF Memenuhi bentuk 2 NF (normal kedua), Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama / primarykey. BCNF Memenuhi bentuk 3 NF (normal ketiga), Semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik) serta Setiap atribut harus bergantung fungsi pada atribut superkey. 2. 4NF, 5NF

Contoh: 1. First Normal Form (1NF) o Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki tunggal dan tidak ada pengulangan grup atribut dalam baris. o Bentuk 1NF tidak boleh mengandung grup atribut yang berulang. o Tujuan membentuk 1NF :  Semantik tabel menjadi lebih eksplisit (say anything once).  Semua operator aljabar relasional dapat diaplikasikan pada tabel.

Kasus yang Di Buat: v Pekerjaan v Sales v Mahasiswa

5. Berikut adalah contoh data-data yang belum ternormalisasi: NIP 001 002 003 Nama Man Rizal Hanif Jabatan Analisis Analisis Programer Keahlian Acces Oracle MySQL Oracle C VB Java Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun

Pada tabel di atas, contoh data belum ternormalisasi sehingga dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai.

NIP 001

Nama Man

Jabatan Analisis

Keahlian Acces

Lama 6 tahun

dan tiap atribut satu pengertian yang bernilai tunggal. karena tidak ada atribut yang bernilai ganda. Berikut adalah contoh data-data yang belum ternormalisasi: Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Telepon 3513214.001 002 002 003 003 003 Man Rizal Rizal Hanif Hanif Hanif Analisis Analisis Analisis Programer Programer Programer Oracle MySQL Oracle C VB Java 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun Relasi Pekerjaan tersebut merupakan bentuk 1 NF. 3541245 6548143. . 081234321454 Pada data tabel di atas. Id_Sales S001 S001 S002 S002 S002 S003 S004 S005 S005 Nama_Sales Ria Ria Anti Anti Anti Ani Maya Wulan Wulan Telepon 3513214 3541245 6548143 5825143 7563249 085337732666 6836592 6823928 081234321454 Relasi Sales tersebut merupakan bentuk 1 NF. karena tidak ada atribut yang bernilai ganda. 6. 5825143. contoh data belum ternormalisasi sehingga dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai. 7563249 085337732666 6836592 6823928. dan tiap atribut satu pengertian yang bernilai tunggal.

008 002. 005 005. 004. 009 Pada data tabel di atas. Contoh: . o Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key. 006 001. Berikut adalah contoh data-data yang belum ternormalisasi: NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. contoh data belum ternormalisasi sehingga dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai. NIM 201010241 201010241 201010241 201010242 201010242 201010243 201010243 201010244 201010244 201010245 201010245 201010245 Nama Siti Siti Siti Beti Beti Eli Eli Rosi Rosi Eci Eci Eci Kode_Matkul 001 004 008 002 005 005 008 003 006 001 007 009 Relasi Mahasiswa tersebut merupakan bentuk 1 NF. 8. 007. 008 003.7. 2NF o Memenuhi bentuk 1 NF (normal pertama). dan tiap atribut satu pengertian yang bernilai tunggal. karena tidak ada atribut yang bernilai ganda.

D. NIP Nama dan Jabatan: Artinya atribut Nama dan Jabatan bergantung pada NIP. kedua tiap tabel atau file haruslah ditentukan kuncikunci atributnya.D) juga mencerminkan bahwa hanya C dan D saja yang bergantung secara fungsional terhadap (A. Untuk membentuk normal.B kunci utama (primary key) dengan FD : A.D) dan R2 = (B.B). Jadi bukan 2NF.D.B & E Jadi semua atribut bukan kunci utama tergantung penuh pada (A. Untuk mengubah menjadi 2NF.B & C. Dari FD : (A.B) à (C.E maka tabel R memenuhi 2NF sebab : A. tidak untuk E. terlihat bahwa NIP merupakan Primery Key (PK). A. lakukan dekomposisi menjadi : R1 = (A. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) . Bagaimana bila R = (A.E) .B.D.C. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. Belum Normal .D) dan B & E. 11.E berarti : A.E) tetapi dengan FD : (A.B). Keahlian dan Lama: Artinya bahwa atribut Lama tidak tergantungpada Tetapi NIP NIP.C.Diketahui tabel R=(A.C.B & D dan A.B.B) & (C.B).B & C. A.E). Tampak R1 dan R2 memenuhi 2NF.B & C. Apakah memenuhhi 2NF ? Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung hanya pada atribut B saja dan bukan terhadap (A.B.D.

NIP 001 002 003 Nama Man Rizal Hanif Jabatan Analisis Analisis Programer Keahlian Acces Oracle MySQL Oracle C VB Java Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun Normal 1NF NIP 001 001 002 002 003 003 003 Nama Man Man Rizal Rizal Hanif Hanif Hanif Jabatan Analisis Analisis Analisis Analisis Programer Programer Programer Keahlian Acces Oracle MySQL Oracle C VB Java Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun Normal 2NF NIP 001 002 003 Nama Man Rizal Hanif Jabatan Analisis Analisis Programer NIP 001 001 002 002 003 003 003 Keahlian Acces Oracle MySQL Oracle C VB Java Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun .

Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) . Untuk membentuk normal. Telepon: Artinya bahwa atribut Telepon tidak tergantung pada Tetapi Id_Sales Id_Sales. terlihat bahwa Id_Sales merupakan Primery Key (PK). kedua tiap tabel atau file haruslah ditentukan kuncikunci atributnya. Belum Normal Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Telepon 3513214. 081234321454 Normal 1NF Id_Sales S001 S001 S002 S002 S002 S003 S004 S005 S005 Nama_Sales Ria Ria Anti Anti Anti Ani Maya Wulan Wulan Telepon 3513214 3541245 6548143 5825143 7563249 085337732666 6836592 6823928 081234321454 Normal 2NF Id_Sales S001 S002 S003 Nama_Sales Ria Anti Ani . 7563249 085337732666 6836592 6823928. 3541245 6548143. Id_Sales Nama_Sales: Artinya atribut Nama_Sales bergantung pada Id_Sales. 5825143.12.

kedua tiap tabel atau file haruslah ditentukan kuncikunci atributnya.S004 S005 Maya Wulan Id_Sales S001 S001 S002 S002 S002 S003 S004 S005 S005 Telepon 3513214 3541245 6548143 5825143 7563249 085337732666 6836592 6823928 081234321454 13. Belum Normal NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. Kode_Matkul: Artinya bahwa atribut Kode_m tidak tergantung MatkulTetapi NIM pada NIM. Untuk membentuk normal. 005 005. 009 Normal 1NF NIM Nama Kode_Matkul . terlihat bahwa NIM merupakan Primery Key (PK). 008 002. 006 001. NIM Nama: Artinya atribut Nama bergantung pada NIM. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) . 004. 007. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. 008 003.

3NF .201010241 201010241 201010241 201010242 201010242 201010243 201010243 201010244 201010244 201010245 201010245 201010245 Siti Siti Siti Beti Beti Eli Eli Rosi Rosi Eci Eci Eci 001 004 008 002 005 005 008 003 006 001 007 009 Normal 2NF NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci NIM 201010241 201010241 201010241 201010242 201010242 201010243 201010243 201010244 201010244 201010245 201010245 201010245 Kode_Matkul 001 004 008 002 005 005 008 003 006 001 007 009 14.

tabel 2NF didekomposisi menjadi beberapa tabel hingga masing-masing memenuhi 3NF.E) . memenuhi salah satu kondisi : 1. Jika suatu relasi memenuhi 2NF dan hanya memiliki tepat satu atribut yang bukan kunci utama maka relasi tersebut memenuhi 3NF Contoh : Diketahui tabel R=(A.E dan C & D. X adalah superkey 2. A merupakan anggota candidate key (A disebut prime attribute) Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF.C. Tujuan membentuk 3NF : ü Semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key). Melalui FD : .D. A.D. Jika dan hanya jika setiap FD nontrivial : X & A.E maka R bukan 3NF sebab : Atribut D dan E (bukan kunci utama) bergantung secara fungsional pada C (yang juga bukan kunci utama). maka untuk normalisasi ke bentuk 3NF.Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika : o o o Memenuhi 2NF Setiap atribut yang bukan kunci tidak tergantung secara fungsional terhadap atribut bukan kunci yang lain dalam relasi tsb (tidak terdapat ketergantungan transitif pada atribut bukan kunci). dimana X dan A atribut (atau kompositnya).B kunci utama (primary key) dengan FD : A. ü Menghindari update anomali yang masih mungkin terjadi pada 2NF.B.B & C.

D.C.B. Tidak memenuhi definisi 3NF.D.B.D.E (A.E.C.B & C.E maka C bukan superkey.E. Agar R memenuhi 3NF maka didekomposisi menjadi : R1=(A.D.B.B & A.E. Jadi R bukan 3NF. Sehingga C & C. Sehingga A.B & A.B) : Superkey.B. Diketahui C & D. Tabel Pekerjaan Belum Normal: NIP 001 002 003 Nama Man Rizal Hanif Jabatan Analisis Analisis Programer Keahlian Acces Oracle MySQL Oracle C VB Java Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun Normal 2NF NIP 001 002 003 Nama Man Rizal Hanif Jabatan Analisis Analisis Programer NIP 001 001 002 002 003 003 003 Keahlian Acces Oracle MySQL Oracle C VB Java Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun . Karena C> A.Diketahui A. Karena sifat refleksif maka A.C) dan R2=(C. Karena sifat refleksif maka C & C. 3.E) sehingga R1 dan R2 memenuhi 3NF.D.

Tabel Sales Belum Normal Id_Sales S001 Nama_Sales Ria Telepon 3513214. 3541245 .Normal 3NF NIP 001 001 002 002 003 003 003 Nama Man Man Rizal Rizal Hanif Hanif Hanif Jabatan Analisis Analisis Analisis Analisis Programer Programer Programer Jabatan Analisis Analisis Analisis Analisis Programer Programer Programer Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun NIP 001 001 002 002 003 003 003 Jabatan Analisis Analisis Analisis Analisis Programer Programer Programer Keahlian Acces Oracle MySQL Oracle C VB Java 4.

7563249 085337732666 6836592 6823928.S002 S003 S004 S005 Anti Ani Maya Wulan 6548143. 081234321454 Normal 2NF Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Id_Sales S001 S001 S002 S002 S002 S003 S004 S005 S005 Telepon 3513214 3541245 6548143 5825143 7563249 085337732666 6836592 6823928 081234321454 Normal 3NF Id_Sales S001 S002 S003 S004 Nama_Sales Ria Anti Ani Maya Nama_Sales S001 Telepon 3513214 . 5825143.

008 002. 008 003. 005 005. 007. 006 001.S001 S002 S002 S002 S003 S004 S005 S005 Id_Sales S001 S001 S002 S002 S002 S003 S004 S005 S005 3541245 6548143 5825143 7563249 085337732666 6836592 6823928 081234321454 Nama_Sales Ria Ria Anti Anti Anti Ani Maya Wulan Wulan Telepon 3513214 3541245 6548143 5825143 7563249 085337732666 6836592 6823928 081234321454 5. Tabel Mahasiswa Belum Normal NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. 009 Normal 2NF NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci . 004.

NIM 201010241 201010241 201010241 201010242 201010242 201010243 201010243 201010244 201010244 201010245 201010245 201010245 Kode_Matkul 001 004 008 002 005 005 008 003 006 001 007 009 3NF NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Nama Siti Siti Siti Beti Beti Eli Eli Rosi Rosi Eci Eci Eci Kode_Matkul 001 004 008 002 005 005 008 003 006 001 007 009 .

Definisi yang lain : Suatu relasi disebut memenuhi BCNF jika untuk setiap FD nontrivial : X à A atribut X adalah superkey. sebab : v A Superkey ? . maka tabel 3NF didekomposisi menjadi beberapa tabel yang masing-masing memenuhi BCNF. Tujuan membentuk BCNF : multiple candidate key menjadi lebih eksplisit (FD hanya pada candidate key). Dari definisi 3NF dan BCNF. Untuk normalisasi ke bentuk BCNF.NIM 201010241 201010241 201010241 201010242 201010242 201010243 201010243 201010244 201010244 201010245 201010245 201010245 Nama Siti Siti Siti Beti Beti Eli Eli Rosi Rosi Eci Eci Eci Kode_Matkul 001 004 008 002 005 005 008 003 006 001 007 009 6. Menghindari update anomali yang masih mungkin terjadi pada 3NF. maka apabila suatu relasi memenuhi BCNF pasti memenuhi 3NF. tetapi belum tentu sebaliknya. Contoh : Diketahui tabel R=(A.C) dengan FD : A & B dan B & C maka R bukan BCNF.B. BCNF o o o o Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah candidate key.

B. v B Superkey ? B & C (diketahui) B&B (refleksif) Tapi BA. FD : B & C.AàB (diketahui) AàB dan B & C maka A & C (transitif) AàA (refleksif) Sehingga A & (A.C) atau A & R.B) . Agar R memenuhi BCNF maka didekomposisi menjadi : R1=(A. FD : A & B dan R2=(B. Sebab A dan B dua-duanya sekarang menjadi superkey.C) . Jadi A superkey.B. 4.C atau B bukan superkey. Sehingga R1 dan R2 masing-masing memenuhi BCNF. Sehingga B & A. Tabel Pekerjaan Belum Normal NIP 001 002 003 Nama Man Rizal Hanif Jabatan Analisis Analisis Programer Keahlian Acces Oracle MySQL Oracle C VB Lama 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun Normal BCNF NIP 001 002 003 Nama Man Rizal Hanif Jabatan Analisis Analisis Programer Keahlian Nama Lama .

Man Man Rizal Rizal Hanif Hanif Hanif 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun 5. 3541245 6548143. 7563249 085337732666 6836592 6823928. 081234321454 Normal BCNF Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Nama_Sales S001 S001 S002 S002 S002 S003 S004 S005 Telepon 3513214 3541245 6548143 5825143 7563249 085337732666 6836592 6823928 . Tabel Sales Belum Normal Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Telepon 3513214. 5825143.

004. 005 005. 006 001. 007. 008 003. 009 Normal BCNF NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Nama Siti Siti Siti Beti Beti Eli Eli Rosi Rosi Eci Kode_Matkul 001 004 008 002 005 005 008 003 006 001 . Table Mahasiswa Belum Normal NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. 008 002.S005 081234321454 6.

Eci Eci 007 009 .