0% menganggap dokumen ini bermanfaat (0 suara)
649 tayangan57 halaman

Panduan Normalisasi Database: 1NF hingga BCNF

Normalisasi tabel digunakan dalam membangun desain database relasional dengan mengurangi redundansi data dan meningkatkan konsistensi. Terdapat beberapa bentuk normalisasi seperti 1NF, 2NF, 3NF, dan BCNF yang masing-masing memiliki aturan tertentu terkait ketergantungan antar atribut. Contoh data sebelum dan sesudah ditermalisasi ke dalam 1NF ditunjukkan untuk memperjelas penerapan normalisasi pada tabel.

Diunggah oleh

Yosy Agani Farida
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
649 tayangan57 halaman

Panduan Normalisasi Database: 1NF hingga BCNF

Normalisasi tabel digunakan dalam membangun desain database relasional dengan mengurangi redundansi data dan meningkatkan konsistensi. Terdapat beberapa bentuk normalisasi seperti 1NF, 2NF, 3NF, dan BCNF yang masing-masing memiliki aturan tertentu terkait ketergantungan antar atribut. Contoh data sebelum dan sesudah ditermalisasi ke dalam 1NF ditunjukkan untuk memperjelas penerapan normalisasi pada tabel.

Diunggah oleh

Yosy Agani Farida
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

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

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)


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.
Bentuk 1NF tidak boleh mengandung grup atribut yang berulang.
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 Nama Jabatan Keahlian Lama

001 Man Analisis Acces 6 tahun

Oracle 3 tahun

002 Rizal Analisis MySQL 2 tahun

Oracle 4 tahun
003 Hanif Programer C 4 tahun

VB 5 tahun

Java 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 Nama Jabatan Keahlian Lama

001 Man Analisis Acces 6 tahun

001 Man Analisis Oracle 3 tahun

002 Rizal Analisis MySQL 2 tahun

002 Rizal Analisis Oracle 4 tahun


003 Hanif Programer C 4 tahun

003 Hanif Programer VB 5 tahun

003 Hanif Programer Java 8 tahun

Relasi Pekerjaan tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang
bernilai ganda, dan tiap atribut satu pengertian yang bernilai tunggal.

6. Berikut adalah contoh data-data yang belum ternormalisasi:

Id_Sales Nama_Sales Telepon

S001 Ria 3513214, 3541245

S002 Anti 6548143, 5825143, 7563249

S003 Ani 085337732666

S004 Maya 6836592


S005 Wulan 6823928, 081234321454

Pada data 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.

Id_Sales Nama_Sales Telepon

S001 Ria 3513214

S001 Ria 3541245

S002 Anti 6548143

S002 Anti 5825143

S002 Anti 7563249

S003 Ani 085337732666


S004 Maya 6836592

S005 Wulan 6823928

S005 Wulan 081234321454

Relasi Sales tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang bernilai
ganda, dan tiap atribut satu pengertian yang bernilai tunggal.

7. Berikut adalah contoh data-data yang belum ternormalisasi:

NIM Nama Kode_Matkul

201010241 Siti 001, 004, 008

201010242 Beti 002, 005

201010243 Eli 005, 008

201010244 Rosi 003, 006


201010245 Eci 001, 007, 009

Pada data 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.

NIM Nama Kode_Matkul

201010241 Siti 001

201010241 Siti 004

201010241 Siti 008

201010242 Beti 002

201010242 Beti 005

201010243 Eli 005


201010243 Eli 008

201010244 Rosi 003

201010244 Rosi 006

201010245 Eci 001

201010245 Eci 007

201010245 Eci 009

Relasi Mahasiswa tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang
bernilai ganda, dan tiap atribut satu pengertian yang bernilai tunggal.

8. 2NF
Memenuhi bentuk 1 NF (normal pertama).
Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama atau
primary key.

Contoh:

Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)

dengan FD : A,B & C,D,E maka tabel R memenuhi 2NF sebab :

A,B & C,D,E berarti :


A,B & C,

A,B & D dan

A,B & E

Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B).

Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD :

(A,B) & (C,D) dan B & E. Apakah memenuhhi 2NF ?

Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung

hanya pada atribut B saja dan bukan terhadap (A,B).

Dari FD : (A,B) (C,D) juga mencerminkan bahwa hanya C dan D saja yang
bergantung secara fungsional terhadap (A,B), tidak untuk E.

Jadi bukan 2NF.

Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi :

R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.

11. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kunci-kunci
atributnya. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) ,
terlihat bahwa NIP merupakan Primery Key (PK).

NIP Nama dan Jabatan: Artinya atribut Nama dan Jabatan bergantung pada
NIP.

Tetapi NIP Keahlian dan Lama: Artinya bahwa atribut Lama tidak
tergantungpada NIP.

Belum Normal
NIP Nama Jabatan Keahlian Lama

001 Man Analisis Acces 6 tahun

Oracle 3 tahun

002 Rizal Analisis MySQL 2 tahun

Oracle 4 tahun

003 Hanif Programer C 4 tahun

VB 5 tahun

Java 8 tahun

Normal 1NF

NIP Nama Jabatan Keahlian Lama


001 Man Analisis Acces 6 tahun

001 Man Analisis Oracle 3 tahun

002 Rizal Analisis MySQL 2 tahun

002 Rizal Analisis Oracle 4 tahun

003 Hanif Programer C 4 tahun

003 Hanif Programer VB 5 tahun

003 Hanif Programer Java 8 tahun

Normal 2NF

NIP Nama Jabatan

001 Man Analisis


002 Rizal Analisis

003 Hanif Programer

NIP Keahlian Lama

001 Acces 6 tahun

001 Oracle 3 tahun

002 MySQL 2 tahun

002 Oracle 4 tahun

003 C 4 tahun

003 VB 5 tahun

003 Java 8 tahun


12. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kunci-kunci
atributnya. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) ,
terlihat bahwa Id_Sales merupakan Primery Key (PK).

Id_Sales Nama_Sales: Artinya atribut Nama_Sales bergantung pada Id_Sales.

Tetapi Id_Sales Telepon: Artinya bahwa atribut Telepon tidak tergantung pada
Id_Sales.

Belum Normal

Id_Sales Nama_Sales Telepon

S001 Ria 3513214, 3541245

S002 Anti 6548143, 5825143, 7563249

S003 Ani 085337732666

S004 Maya 6836592

S005 Wulan 6823928, 081234321454


Normal 1NF

Id_Sales Nama_Sales Telepon

S001 Ria 3513214

S001 Ria 3541245

S002 Anti 6548143

S002 Anti 5825143

S002 Anti 7563249

S003 Ani 085337732666

S004 Maya 6836592

S005 Wulan 6823928

S005 Wulan 081234321454


Normal 2NF

Id_Sales Nama_Sales

S001 Ria

S002 Anti

S003 Ani

S004 Maya

S005 Wulan

Id_Sales Telepon

S001 3513214

S001 3541245
S002 6548143

S002 5825143

S002 7563249

S003 085337732666

S004 6836592

S005 6823928

S005 081234321454

13. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kunci-kunci
atributnya. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) ,
terlihat bahwa NIM merupakan Primery Key (PK).

NIM Nama: Artinya atribut Nama bergantung pada NIM.

MatkulTetapi NIM Kode_Matkul: Artinya bahwa atribut Kode_m tidak


tergantung pada NIM.
Belum Normal

NIM Nama Kode_Matkul

201010241 Siti 001, 004, 008

201010242 Beti 002, 005

201010243 Eli 005, 008

201010244 Rosi 003, 006

201010245 Eci 001, 007, 009

Normal 1NF

NIM Nama Kode_Matkul

201010241 Siti 001

201010241 Siti 004


201010241 Siti 008

201010242 Beti 002

201010242 Beti 005

201010243 Eli 005

201010243 Eli 008

201010244 Rosi 003

201010244 Rosi 006

201010245 Eci 001

201010245 Eci 007

201010245 Eci 009


Normal 2NF

NIM Nama

201010241 Siti

201010242 Beti

201010243 Eli

201010244 Rosi

201010245 Eci

NIM Kode_Matkul

201010241 001

201010241 004
201010241 008

201010242 002

201010242 005

201010243 005

201010243 008

201010244 003

201010244 006

201010245 001

201010245 007

201010245 009
14. 3NF

Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika :

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, dimana X dan A atribut (atau
kompositnya), memenuhi salah satu kondisi :

1. X adalah superkey
2. A merupakan anggota candidate key (A disebut prime attribute)

Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF, maka untuk
normalisasi ke bentuk 3NF, tabel 2NF didekomposisi menjadi beberapa tabel hingga
masing-masing memenuhi 3NF.

Tujuan membentuk 3NF :

Semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key).

Menghindari update anomali yang masih mungkin terjadi pada 2NF.

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,D,E) ; A,B kunci utama (primary key)

dengan FD : A,B & C,D,E dan C & D,E maka R bukan 3NF sebab :
Atribut D dan E (bukan kunci utama) bergantung secara fungsional

pada C (yang juga bukan kunci utama).

Melalui FD :

Diketahui A,B & C,D,E. Karena sifat refleksif maka A,B & A,B. Sehingga A,B &
A,B,C,D,E (A,B) : Superkey.

Diketahui C & D,E. Karena sifat refleksif maka C & C. Sehingga C & C,D,E. Karena
C> A,B,C,D,E maka C bukan superkey.

Tidak memenuhi definisi 3NF. Jadi R bukan 3NF. Agar R memenuhi 3NF maka
didekomposisi menjadi :

R1=(A,B,C) dan R2=(C,D,E) sehingga R1 dan R2 memenuhi 3NF.

3. Tabel Pekerjaan

Belum Normal:

NIP Nama Jabatan Keahlian Lama

001 Man Analisis Acces 6 tahun

Oracle 3 tahun

002 Rizal Analisis MySQL 2 tahun

Oracle 4 tahun
003 Hanif Programer C 4 tahun

VB 5 tahun

Java 8 tahun

Normal 2NF

NIP Nama Jabatan

001 Man Analisis

002 Rizal Analisis

003 Hanif Programer

NIP Keahlian Lama


001 Acces 6 tahun

001 Oracle 3 tahun

002 MySQL 2 tahun

002 Oracle 4 tahun

003 C 4 tahun

003 VB 5 tahun

003 Java 8 tahun

Normal 3NF

NIP Nama Jabatan

001 Man Analisis


001 Man Analisis

002 Rizal Analisis

002 Rizal Analisis

003 Hanif Programer

003 Hanif Programer

003 Hanif Programer

Jabatan Lama

Analisis 6 tahun

Analisis 3 tahun

Analisis 2 tahun
Analisis 4 tahun

Programer 4 tahun

Programer 5 tahun

Programer 8 tahun

NIP Jabatan Keahlian

001 Analisis Acces

001 Analisis Oracle

002 Analisis MySQL

002 Analisis Oracle

003 Programer C
003 Programer VB

003 Programer Java

4. Tabel Sales

Belum Normal

Id_Sales Nama_Sales Telepon

S001 Ria 3513214, 3541245

S002 Anti 6548143, 5825143, 7563249

S003 Ani 085337732666

S004 Maya 6836592

S005 Wulan 6823928, 081234321454

Normal 2NF
Id_Sales Nama_Sales

S001 Ria

S002 Anti

S003 Ani

S004 Maya

S005 Wulan

Id_Sales Telepon

S001 3513214

S001 3541245

S002 6548143
S002 5825143

S002 7563249

S003 085337732666

S004 6836592

S005 6823928

S005 081234321454

Normal 3NF

Id_Sales Nama_Sales

S001 Ria

S002 Anti
S003 Ani

S004 Maya

Nama_Sales Telepon

S001 3513214

S001 3541245

S002 6548143

S002 5825143

S002 7563249

S003 085337732666

S004 6836592
S005 6823928

S005 081234321454

Id_Sales Nama_Sales Telepon

S001 Ria 3513214

S001 Ria 3541245

S002 Anti 6548143

S002 Anti 5825143

S002 Anti 7563249

S003 Ani 085337732666

S004 Maya 6836592

S005 Wulan 6823928


S005 Wulan 081234321454

5. Tabel Mahasiswa

Belum Normal

NIM Nama Kode_Matkul

201010241 Siti 001, 004, 008

201010242 Beti 002, 005

201010243 Eli 005, 008

201010244 Rosi 003, 006

201010245 Eci 001, 007, 009

Normal 2NF
NIM Nama

201010241 Siti

201010242 Beti

201010243 Eli

201010244 Rosi

201010245 Eci

NIM Kode_Matkul

201010241 001

201010241 004

201010241 008
201010242 002

201010242 005

201010243 005

201010243 008

201010244 003

201010244 006

201010245 001

201010245 007

201010245 009

3NF
NIM Nama

201010241 Siti

201010242 Beti

201010243 Eli

201010244 Rosi

201010245 Eci

Nama Kode_Matkul

Siti 001

Siti 004

Siti 008
Beti 002

Beti 005

Eli 005

Eli 008

Rosi 003

Rosi 006

Eci 001

Eci 007

Eci 009

NIM Nama Kode_Matkul


201010241 Siti 001

201010241 Siti 004

201010241 Siti 008

201010242 Beti 002

201010242 Beti 005

201010243 Eli 005

201010243 Eli 008

201010244 Rosi 003

201010244 Rosi 006

201010245 Eci 001

201010245 Eci 007


201010245 Eci 009

6. BCNF

Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang
ada pada relasi tersebut adalah candidate key.
Definisi yang lain : Suatu relasi disebut memenuhi BCNF jika untuk setiap FD
nontrivial : X A atribut X adalah superkey.
Untuk normalisasi ke bentuk BCNF, 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). Menghindari update anomali yang masih mungkin terjadi pada
3NF.

Dari definisi 3NF dan BCNF, maka apabila suatu relasi memenuhi BCNF pasti
memenuhi 3NF, tetapi belum tentu sebaliknya.

Contoh :

Diketahui tabel R=(A,B,C) dengan FD : A & B dan B & C maka R bukan BCNF,
sebab :

v A Superkey ?

AB (diketahui)

AB dan B & C maka A & C (transitif)

AA (refleksif)
Sehingga A & (A,B,C) atau A & R. Jadi A superkey.

v B Superkey ?

B & C (diketahui)

B&B (refleksif)

Tapi BA. Sehingga B & A,B,C atau B bukan superkey. Agar R memenuhi BCNF
maka didekomposisi menjadi :

R1=(A,B) ; FD : A & B dan

R2=(B,C) ; FD : B & C. Sehingga R1 dan R2 masing-masing memenuhi


BCNF. Sebab A dan B dua-duanya sekarang menjadi superkey.

4. Tabel Pekerjaan

Belum Normal

NIP Nama Jabatan Keahlian Lama

001 Man Analisis Acces 6 tahun

Oracle 3 tahun

002 Rizal Analisis MySQL 2 tahun

Oracle 4 tahun
003 Hanif Programer C 4 tahun

VB 5 tahun

Normal BCNF

NIP Nama Jabatan Keahlian

001 Man Analisis

002 Rizal Analisis

003 Hanif Programer

Nama Lama

Man 6 tahun

Man 3 tahun
Rizal 2 tahun

Rizal 4 tahun

Hanif 4 tahun

Hanif 5 tahun

Hanif 8 tahun

5. Tabel Sales

Belum Normal

Id_Sales Nama_Sales Telepon

S001 Ria 3513214, 3541245

S002 Anti 6548143, 5825143, 7563249

S003 Ani 085337732666


S004 Maya 6836592

S005 Wulan 6823928, 081234321454

Normal BCNF

Id_Sales Nama_Sales

S001 Ria

S002 Anti

S003 Ani

S004 Maya

S005 Wulan
Nama_Sales Telepon

S001 3513214

S001 3541245

S002 6548143

S002 5825143

S002 7563249

S003 085337732666

S004 6836592

S005 6823928

S005 081234321454
6. Table Mahasiswa

Belum Normal

NIM Nama Kode_Matkul

201010241 Siti 001, 004, 008

201010242 Beti 002, 005

201010243 Eli 005, 008

201010244 Rosi 003, 006

201010245 Eci 001, 007, 009

Normal BCNF

NIM Nama
201010241 Siti

201010242 Beti

201010243 Eli

201010244 Rosi

201010245 Eci

Nama Kode_Matkul

Siti 001

Siti 004

Siti 008

Beti 002
Beti 005

Eli 005

Eli 008

Rosi 003

Rosi 006

Eci 001

Eci 007

Eci 009
Normalisasi 1nf, 2nf, 3nf

BENTUK NORMAL PERTAMA (1NF)


Berikut adalah contoh data-data yang belum ternormalisasi:

Pada data 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.

BENTUK NORMALISASI KEDUA (2NF)


Berikut ini adalah contoh data pada tabel mahasiswa yang belum memenuhi
bentuk 1NF.

Bentuk 1NF-nya:
Bentuk 2NF-nya didapat dengan teknik berikut ini:
Pada bentuk 1NF-nya, terlihat bahwa kolom NIM merupakan PrimaryKey.
NIM -> Nama, Dosen Wali. Artinya adalah bahwa atribut Nama dan Dosen Wali
bergantung pada NIM.
Tetapi NIM <> Kode MataKuliah. Artinya adalah bahwa atribut Kode_MataKuliah tidak
tergantung pada NIM.
Sehingga, bentuk 2NF-nya terbagi atas 2 table:

Table1

Table2

BENTUK NORMALISASI KETIGA (3NF)


Berikut ini adalah contoh tabel Mahasiswa yang sudah dalam bentuk 1NF:
Bentuk 2NF-nya:
Table1

Table2

Table3

Namun, di Table1, atribut nonkey(Nilai dan Bobot) masih memiliki ketergantungan


fungsional. Maka, untuk memenuhi bentuk 3NF, Table1 harus dipecah lagi menjadi:
Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)

Bentuk normal 1NF terpenuhi :

Jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued


attribute). harus bernilai tunggal
Jika sebuah tabel tidak memiliki atribut composite atau kombinasinya
dalam domain data yang sama. Setiap atribut dalam tabel tersebut harus
bernilai atomic(tidak dapat dibagi-bagi lagi) sederhana
Jika sebuah tabel tidak memiliki atribut turunan/derivatied value
Jika sebuah tabel tidak memiliki record yang bernilai ganda/ redundancy
atribut composite atau kombinasinya dalam domain data yang sama.
Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat
dibagi-bagi lagi).

Contoh 1 :
Misal data mahasiswa sbb:

dekomposisi menjadi :

3. Bentuk Normal Tahap Kedua (2nd Normal Form)

Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi
bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki
Functional Dependency pada primary key
Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya
(Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada
sebagian dari primary key)
Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary
key, maka atribut tersebut harus dipindah atau dihilangkan

Contoh :

Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:


Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai
primary key sedangkan:
{Mhs_nrp, mk_kode} mhs_nama
{Mhs_nrp, mk_kode} mhs_alamat
{Mhs_nrp, mk_kode} mk_nama
{Mhs_nrp, mk_kode} mk_sks
{Mhs_nrp, mk_kode} nilaihuruf

4. Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF)

Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika
tidak ada atribut non primary key (biasa) yang memiliki ketergantungan
terhadap atribut non primary key (biasa) yang lainnya.
Untuk setiap Functional Dependency dengan notasi X A, maka:

- X harus menjadi superkey pada tabel tsb.


- Atau A merupakan bagian dari primary key pada tabel tsb.

Contoh :
Tabel yang belum memenuhi 3NF

dekomposisi menjadi :

Karena alm_jalan dan alm_kota non primary key sehingga membutuhkan primary
key yaitu alm_kodepos.

5. Boyce-Code Normal Form (BCNF)


Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional
dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X
Y maka X adalah super key
tabel tersebut harus di-dekomposisi berdasarkan functional dependency
yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum
tentu termasuk BCNF . Perbedaannya, untuk functional dependency X
A, BCNF tidak membolehkan A sebagai bagian dari primary key.

Pada dasarnya normalisasi boleh cukup sampai tahap 3NF aja tapi suatu saat akan
menemui tabel yang perlu di normalisasi sampai tahap BCNF atau tahap 5NF

6. Fourth Normal Form (4NF)

Dilakukan jika terdapat anomali pada (3NF)

7. Fifth Normal Form (5NF)

Langkah ini untuk memecah relasi menjadi dua sehingga relasi tersebut tidak
digabungkan kembali manjadi satu dan jika terdapat anomali pada (5NF)

Nah itu dia penjelasan sekilas tentang Normalisasi, sudah mulai pusing beroowww
:D wah sama dong bro (asyik ada temennya :D). Okelah kita bakalan pusing
bersama :). Langsung yaa guys, tapi kalo kalian ada yang punya pendapat lain
silahkan loo share disini yaak :D

B. Hasil Praktikum
untuk ngerjain kedua soal tersebut kita nggak pake Postgre atau Xampp yaa..kita
pake Microsoft Excel, hah kok Excel?? udah deh guys nurut aja yak :D

a. Rental Buku "PUSTAKA ILMU"

Sebenernya soal yang pertama ini nggak disuruh ngerjain jadinya jawabanku
belum dikoreksi, untuk itu buat kalian mungkin ada yang ngerti mohon
koreksinya yaa :D *bigthank's

1. UNF

Pada tahap ini masukin semua data menjadi 1 tabel.

2. 1NF
3. 2NF

Nah tahap ini mulai deh kita pisahin tabelnya berdasarkan primary key :)

4. 3NF

Tahap ini mulai terdapat foreign key dan relasi

b. Toko "SERBA ADA"

1. UNF
2. 1NF

3. 2NF

4. 3NF
Mustofa, Aziz.2014.Praktikum DBD Bab6
Modul 1.5 Basis Data
http://fana.dosen.narotama.ac.id/files/2013/06/NORMALISASI-DATA.ppt

Anda mungkin juga menyukai