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

5825143. dan tiap atribut satu pengertian yang bernilai tunggal. 081234321454 Pada data tabel di atas. 3541245 6548143.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. 7563249 085337732666 6836592 6823928. 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. 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. dan tiap atribut satu pengertian yang bernilai tunggal. 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.

009 Pada data tabel di atas. 005 005. dan tiap atribut satu pengertian yang bernilai tunggal. 004. Berikut adalah contoh data-data yang belum ternormalisasi: NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. 006 001. 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. 008 002. o Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.7. 8. Contoh: . 007. karena tidak ada atribut yang bernilai ganda. 008 003. 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. 2NF o Memenuhi bentuk 1 NF (normal pertama).

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

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 .

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

008 003. 008 002. 004. 007. Belum Normal NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. kedua tiap tabel atau file haruslah ditentukan kuncikunci atributnya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) . 006 001. terlihat bahwa NIM merupakan Primery Key (PK). Untuk membentuk normal. 009 Normal 1NF NIM Nama Kode_Matkul . 005 005. Kode_Matkul: Artinya bahwa atribut Kode_m tidak tergantung MatkulTetapi NIM pada NIM. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi anggotanya.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. NIM Nama: Artinya atribut Nama bergantung pada NIM.

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. 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). 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. Jika dan hanya jika setiap FD nontrivial : X & A.B.D.E) . maka untuk normalisasi ke bentuk 3NF. ü Menghindari update anomali yang masih mungkin terjadi pada 2NF. A.B kunci utama (primary key) dengan FD : A. Melalui FD : . dimana X dan A atribut (atau kompositnya). Tujuan membentuk 3NF : ü Semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key). A merupakan anggota candidate key (A disebut prime attribute) Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF.C. tabel 2NF didekomposisi menjadi beberapa tabel hingga masing-masing memenuhi 3NF.B & C.E maka R bukan 3NF sebab : Atribut D dan E (bukan kunci utama) bergantung secara fungsional pada C (yang juga bukan kunci utama).D.E dan C & D. X adalah superkey 2. memenuhi salah satu kondisi : 1.

E maka C bukan superkey.B & A.C.D. Sehingga C & C. Karena C> A. Jadi R bukan 3NF.C) dan R2=(C.D.E. Sehingga A. Tidak memenuhi definisi 3NF. Karena sifat refleksif maka C & C.E (A. 3.B.B & C. 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 .B.D.Diketahui A.C.B. Karena sifat refleksif maka A.B.E) sehingga R1 dan R2 memenuhi 3NF. Agar R memenuhi 3NF maka didekomposisi menjadi : R1=(A.D.B) : Superkey. Diketahui C & D.B & A.E.E.D.

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. Tabel Sales Belum Normal Id_Sales S001 Nama_Sales Ria Telepon 3513214.

7563249 085337732666 6836592 6823928. 5825143. 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 .S002 S003 S004 S005 Anti Ani Maya Wulan 6548143.

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. 008 002. 009 Normal 2NF NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci . 005 005. 004. Tabel Mahasiswa Belum Normal NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. 007. 006 001. 008 003.

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 .

Untuk normalisasi ke bentuk BCNF. tetapi belum tentu sebaliknya.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. Tujuan membentuk BCNF : multiple candidate key menjadi lebih eksplisit (FD hanya pada candidate key). Dari definisi 3NF dan BCNF. Definisi yang lain : Suatu relasi disebut memenuhi BCNF jika untuk setiap FD nontrivial : X à A atribut X adalah superkey. Menghindari update anomali yang masih mungkin terjadi pada 3NF. maka tabel 3NF didekomposisi menjadi beberapa tabel yang masing-masing memenuhi BCNF. Contoh : Diketahui tabel R=(A.B. maka apabila suatu relasi memenuhi BCNF pasti memenuhi 3NF.C) dengan FD : A & B dan B & C maka R bukan BCNF. BCNF o o o o Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah candidate key. sebab : v A Superkey ? .

AàB (diketahui) AàB dan B & C maka A & C (transitif) AàA (refleksif) Sehingga A & (A.C) atau A & R. Agar R memenuhi BCNF maka didekomposisi menjadi : R1=(A. Jadi A superkey.C atau B bukan superkey.B. 4. Sehingga R1 dan R2 masing-masing memenuhi BCNF. Sebab A dan B dua-duanya sekarang menjadi superkey.C) . Sehingga B & A. FD : B & C. FD : A & B dan R2=(B. 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 . v B Superkey ? B & C (diketahui) B&B (refleksif) Tapi BA.B) .B.

Tabel Sales Belum Normal Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Telepon 3513214. 5825143. 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 . 3541245 6548143.Man Man Rizal Rizal Hanif Hanif Hanif 6 tahun 3 tahun 2 tahun 4 tahun 4 tahun 5 tahun 8 tahun 5. 7563249 085337732666 6836592 6823928.

Table Mahasiswa Belum Normal NIM 201010241 201010242 201010243 201010244 201010245 Nama Siti Beti Eli Rosi Eci Kode_Matkul 001. 008 003. 008 002. 006 001. 004. 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 . 007. 005 005.S005 081234321454 6.

Eci Eci 007 009 .