Anda di halaman 1dari 5

TUGAS BASIS DATA

LAPORAN BCNF (Boyce-Codd Normal Form)

OLEH :
Muhammad Abdurahman Al-Mujahid (F1E122159)

Dosen Pengampu :
Drs. Jefri Marzal, M.Sc., D.I.T.

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS JAMBI
2023
A. Pendahuluan
Tujuan utama normalisasi adalah mengelompokkan atribut ke dalam relasi sehingga
data gandanya minimal. Konsep normalisasi dikemukakan pertama kali oleh Codd (1970)
dengan memperkenalkan 1NF (first normal form ‘bentuk normal pertama’), dilanjutkan
dengan 2NF dan 3NF (Codd, 1971). Bersama Raymond F. Boyce, Codd (1974)
mendefinisikan BCNF (Boyce-Codd normal form ‘bentuk normal Boyce-Codd’).
Relasi yang memenuhi 3NF, dalam banyak kasus, biasanya sudah memenuhi BCNF.
Oleh karena itu, dalam praktik, para praktisi melakukan proses normalisasi cukup sampai
3NF saja.
B. Bentuk Normal BCNF
Sebuah relasi memenuhi syarat BCNF jika dan hanya jika setiap determinan dalam
relasi tersebut adalah candidate key. Ini berarti setiap determinan dalam relasi BCNF bernilai
unik.
Jika A dan B adalah atribut relasi R, maka B dinyatakan memiliki ketergantungan
fungsional pada A (ditulis A → B), jika setiap harga A berasosiasi tepat dengan satu harga B.
A dan B boleh jadi terdiri atas satu atau beberapa atribut.
Determinan ketergantungan fungsional adalah atribut atau sekumpulan atribut yang
ada pada sisi kiri anak panah.
Relasi BCNF tidak harus melalui 3NF terlebih dahulu. Pengecekan BCNF perlu
dilakukan apabila relasi tersebut:
• memiliki dua composite candidate key atau lebih, dan
• sekurang-kurangnya ada sebuah atribut yang overlap.
Berikut adalah hasil normalisasi pada tahap 2NF:
Ketiga relasi di atas semuanya 2NF karena atribut bukan primary key bergantung
fungsional pada keseluruhan primary key. Apakah ketiganya memenuhi BCNF?
Relasi Barang tidak memiliki composite candidate key. Determinannya yaitu
KodeBarang bernilai unik dan merupakan primary key. Dengan demikian, relasi Barang telah
memenuhi BCNF.
Relasi FakturPelanggan tidak memiliki composite candidate key. Determinannya
yaitu NoFaktur adalah primary key. Oleh karena itu, relasi FakturPelanggan telah memenuhi
BCNF.
Relasi DetailFaktur memiliki hanya sebuah composite candidate key. Determinannya
yaitu KodeBarang+NoFaktur bernilai unik dan merupakan primary key. Oleh karena itu,
relasi DetailFaktur telah memenuhi BCNF.
Ketiga relasi 2NF di atas semuanya telah memenuhi BCNF. Ini contoh kasus yang
menunjukkan bahwa BCNF tidak harus melalui 3NF terlebih dahulu.
Relasi Belum BCNF
Relasi berikut memuat jadwal wawancara bagi calon karyawan sebuah perusahaan.
Seorang calon karyawan diwawancara hanya sekali dalam sehari. Bila dipandang perlu,
wawancara dilakukan lebih dari sekali dan diadakan pada hari yang berbeda. Pada hari yang
sama, pewawancara menempati ruang yang sama.
Notes Tanggal Waktu NRP Ruang
05.012 19-08-2005 08.00-09.30 99.005 205
05.304 19-08-2005 10.00-11.30 99.005 205
05.506 19-08-2005 10.00-11.30 99.013 304
05.304 23-08-2005 08.00-09.30 99.005 205
05.506 23-08-2005 10.00-11.30 99.005 205
Apakah relasi di atas memenuhi syarat BCNF? Bila dilihat lebih lanjut, relasi di atas
memiliki beberapa composite candidate key, yaitu: (1) NoTes+Tanggal; (2)
Tanggal+Waktu+Ruang; (3) Tanggal+Waktu+NRP. Ada dua atribut yang overlap yaitu
Tanggal dan Waktu. Dengan demikian pengecekan BCNF terhadap relasi di atas layak
dilakukan.
Setiap determinan adalah candidate key merupakan syarat BCNF. Dengan meninjau
berbagai kemungkinan, diperoleh ketergantungan fungsional berikut.
NoTes+Tanggal → Waktu, NRP, Ruang
Seorang calon karyawan pada satu hari diwawancara pada satu waktu oleh seorang
pewawancara pada satu ruang, berarti diagram ketergantungan fungsional tersebut benar.
Karena bernilai unik, determinan NoTes+Tanggal adalah candidate key.
Tanggal+Waktu+Ruang → NoTes+NRP
Pada satu hari, satu waktu dan satu ruang, seorang calon karyawan diwawancarai oleh
seorang pewawancara, berarti diagram ketergantungan fungsional tersebut benar. Karena
bernilai unik, determinan Tanggal+Waktu+Ruang adalah candidate key.
Tanggal+Waktu+NRP → NoTes, Ruang
Pada satu hari, satu waktu, seorang pewawancara mewawancarai seorang calon
karyawan pada satu ruang, berarti diagram ketergantungan fungsional tersebut benar. Karena
bernilai unik, determinan Tanggal+Waktu+NRP adalah candidate key.
Telah diperoleh tiga ketergantungan fungsioanal dan semua determinannya adalah candidate
key. Apakah ini berarti relasi di atas sudah memenuhi syarat BCNF? Jangan tergesa-gesa
menarik kesimpulan, masih ada ketergantungan fungsional berikut.
Tanggal+NRP → Ruang
Pada satu hari, seorang pewawancara menempati satu ruang, berarti diagram
ketergantungan fungsional tersebut benar. Determinan Tanggal+NRP bukan candidate key.
karena nilainya tidak unik.
Karena ada determinan yang bukan candidate key, relasi di atas belum BCNF.
Ketergantungan fungsional yang determinannya bukan candidate key, Tanggal+NRP →
Ruang, dipisahkan ke dalam relasi tersendiri, sehingga diperoleh dua relasi BCNF, yaitu:
• Wawancara (NoTes, Tanggal, Waktu, NRP)
• Ruang (Tanggal, NRP, Ruang)
Notes Tanggal Waktu NRP
05.012 19-08-2005 08.00-09.30 99.005
05.304 19-08-2005 10.00-11.30 99.005
05.506 19-08-2005 10.00-11.30 99.013
05.304 23-08-2005 08.00-09.30 99.005
05.506 23-08-2005 10.00-11.30 99.005

Tanggal NRP Ruang


19-08-2005 99.005 205
19-08-2005 99.005 205
19-08-2005 99.013 304
23-08-2005 99.005 205
23-08-2005 99.005 205
Relasi yang dihasilkan terkait satu sama lain.
 Relasi Wawancara
Primary key komposit : NoTes + Tanggal
Foreign key komposit : Tanggal+NRP
 Relasi Ruang
Primary key komposit : Tanggal+NRP
Foreign key : tidak ada
Kesimpulan
Dalam banyak kasus, relasi yang memenuhi 3NF biasanya sudah memenuhi BCNF.
Bila dianggap perlu, pengecekan BCNF dilakukan hanya apabila relasi tersebut memiliki
sekurang-kurangnya dua composite candidate key dan paling sedikit ada sebuah atribut yang
overlap.

SUMBER
https://medium.com/telematika/normalisasi-bcnf-boyce-codd-normal-form-4525a30ac261

Anda mungkin juga menyukai