You are on page 1of 20

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

3541245 6548143. 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. 081234321454 Pada data tabel di atas. Berikut adalah contoh data-data yang belum ternormalisasi: Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Telepon 3513214. 6. 7563249 085337732666 6836592 6823928. karena tidak ada atribut yang bernilai ganda. 5825143. dan tiap atribut satu pengertian yang bernilai tunggal. dan tiap atribut satu pengertian yang bernilai tunggal. 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. karena tidak ada atribut yang bernilai ganda.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. .

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

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

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

004.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. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) . 009 Normal 1NF NIM Nama Kode_Matkul . 008 002. 007. 005 005. 006 001. Kode_Matkul: Artinya bahwa atribut Kode_m tidak tergantung MatkulTetapi NIM pada NIM. terlihat bahwa NIM merupakan Primery Key (PK). 008 003. Untuk membentuk normal. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi anggotanya. NIM Nama: Artinya atribut Nama bergantung pada NIM. 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.

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 .

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

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

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

5825143. 7563249 085337732666 6836592 6823928. 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.

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 . 008 002.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. 005 005. 007. 004. 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 .

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

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

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. Tabel Sales Belum Normal Id_Sales S001 S002 S003 S004 S005 Nama_Sales Ria Anti Ani Maya Wulan Telepon 3513214. 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 . 5825143. 3541245 6548143.

006 001. 005 005. 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. 007. 008 003.S005 081234321454 6. 004. 008 002.

Eci Eci 007 009 .