Sebelumnya sudah dibahas
artikel tentang “BCNF Normalisasi Basis Data”. Mari
kita lanjutkan!!!
Boyce-Codd Normal Form (BCNF)
Dalam bidang ilmu komputer dikenal
istilah basis data yang mengandung pengertian sebagai sebuah koleksi dari data
yang tahan lama yang digunakan oleh sistem aplikasi dari perusahaan tertentu (Date
2004: 10). Teknik normalisasi sudah dikenal dapat digunakan untuk membantu
proses pembangunan basis data yang baik dengan salah satu keuntungannya dapat
meminimalkan resiko inkonsistensi data pada basis data (Hariyanto 2004: 69).
Teknik normalisasi ini mencakup
enam bentuk normal, yaitu 1NF (1 Normal Form), 2NF (2 Normal Form),
3NF (3 Normal Form), BCNF (Boyce-Codd Normal Form), 5NF (5 Normal
Form), DKNF (Domain Key Normal Form), Restriction-Union Normal
Form, dan 6NF (Normal Form).
Yang menarik perhatian untuk
dibahas di sini adalah tentang BCNF, salah satu alasannya bahwa BCNF berada
pada kedudukan transisi dalam proses normalisasi, di mana ketergantungan
fungsional sudah dapat diatasi, sedangkan ketergantungan banyak nilai menjadi
masalah baru yang tidak dapat diatasi dengan BCNF, melainkan 4NF dan bentuk
normal di atasnya dianggap lebih berpeluang memberikan solusinya.
BCNF dianggap dapat mengatasi
masalah ketergantungan fungsional. Ketergantungan fungsional (functional
dependencies) adalah sebuah hubungan banyak-ke-satu dari sebuah kumpulan
atribut ke yang lainnya di dalam sebuah relvar yang diberikan (Date:
360). Dalam penanganan masalah ketergantungan fungsional ini akan dikenal
istilah saling ketergantungan, ketergantungan pada lebih dari satu atribut,
ketergantungan fungsional penuh, dan lain-lain, yang apabila dipahami konsepnya
dengan baik, maka akan lebih memperkuat pemahamannya dalam bentuk praktis
dengan lebih baik pula.
Secara sederhana istilah ketergantungan
fungsional dapat terlihat pada syarat yang ditetapkan pada masing-masing bentuk
normal berikut: relasi berada dalam 2NF jika berada dalam 1NF dan semua atribut
bukan utama harus bergantung fungsional penuh pada kunci relasi; relasi
berada dalam 3NF jika berada dalam 2NF dan relasi tidak boleh memuat ketergantungan
fungsional di antara atribut-atribut bukan utama; relasi berada dalam BCNF
jika masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci di mana kunci
tersebut bukan bagiannya.
Masalah yang tidak dapat diatasi
dengan 3NF adalah adanya relasi yang memiliki lebih dari satu kunci relasi,
sehingga penyelesaiannya harus menggunakan BCNF. Beberapa kajian pernah
mempertanyakan tentang penggunaan BCNF ini, yakni anggapan terkait dengan:
Pertama, BCNF tidak banyak menjamin
kebebasan dari berbagai ‘anomali’.
Kedua, cakupan BCNF kadang-kadang
tidak dapat dicapai, yakni banyak kelompok ketergantungan fungsional (FD) tidak
sesuai dengan skema BCNF.
Ketiga, sulit untuk menentukan
apakah skema yang diberikan melanggar BCNF. Di sisi lain, terdapat keyakinan
bahwa: BCNF masih menghasilkan standar desain yang berguna ketika asumsi-asumsi
seperti Universal Instance Assumptions muncul dan dalam skema di mana
BCNF ‘tidak dapat dicapai’, BCNF dapat dicapai dengan cara non konvensional,
khususnya dengan mengganti nama atau menambahkan atribut-atribut untuk
menangkap isi semantik data dengan lebih baik.
Setelah masalah yang diakibatkan
oleh ketergantungan fungsional dapat diatasi, kemudian muncul masalah baru yang
menjadikan BCNF tidak mampu mengatasinya, yakni dikenal dengan istilah
ketergantungan banyak nilai (multi-valued dependencies). Masalah ini
dapat diatasi minimal dengan menggunakan 4NF atau bentuk normal yang lebih
tinggi daripadanya, meskipun dalam beberapa sumber dinyatakan bahwa 5NF atau
bentuk normal di atasnya masih jarang digunakan saat ini. Hal ini tidak
mengherankan, karena untuk kasus-kasus sederhana sudah dapat diselesaikan cukup
sampai tahap 3NF saja.
Berikut
ini contoh penerapan BCNF dalam mengatasi relasi yang masih belum berada dalam
BCNF hingga relasi yang sudah berada dalam BCNF dan relasi yang tidak
membutuhkan BCNF, melainkan harus menggunakan 4NF menurut buku Sistem Manajemen
Basis Data [Hariyanto, 2004]:
1.
Relasi berbentuk normal pertama
(1NF) jika semua nilai atribut adalah sederhana (bukan atribut komposit)
Tabel 1 Relasi
pesanan tidak 1NF
|
|||
IDPesanan
|
tglPesanan
|
isiPesanan
|
|
T20
|
6 Jul 110107
|
IDItem
|
Kuantitas
|
PC6
BW3
TY6
|
24
83
37
|
||
T33
|
6 Jul 110107
|
PC5
BW3
TY6
HJ4
|
810
87
810
5
|
Tabel 2 Relasi
pesanan 1NF
IDPesanan
|
tglPesanan
|
IDItem
|
kuantitas
|
T20
|
6 Jul 110107
|
PC6
|
24
|
T20
|
6 Jul 110107
|
BW3
|
83
|
T20
|
6 Jul 110107
|
TY6
|
37
|
T33
|
6 Jul 110107
|
PC5
|
810
|
T33
|
6 Jul 110107
|
BW3
|
87
|
T33
|
6 Jul 110107
|
TY6
|
810
|
T33
|
6 Jul 110107
|
HJ4
|
5
|
2.
Pada 2NF, relasi harus berbentuk
1NF dan semua atribut bukan utama harus bergantung fungsional penuh pada kunci
relasi
Tabel 3 Relasi
proyek data tidak 2NF
IDPekerja
|
IDProyek
|
danaProyek
|
totalWaktuKeterlibatan
|
P001
|
Pj001
|
20
|
20
|
P003
|
Pj001
|
20
|
16
|
P002
|
Pj002
|
17
|
35
|
P002
|
Pj003
|
84
|
42
|
P003
|
Pj002
|
17
|
17
|
P004
|
Pj001
|
20
|
83
|
P004
|
Pj003
|
84
|
41
|
-
|
Pj004
|
100
|
-
|
Tabel 4 Relasi
proyek 2NF
|
|
Tabel 5 Relasi
pekerjaan 2NF
|
|||
IDPoyek
|
danaProyek
|
|
IDPekerja
|
IDProyek
|
totalWaktuKeterlibatan
|
pj001
|
20
|
|
P001
|
Pj001
|
20
|
pj002
|
17
|
|
P003
|
Pj001
|
16
|
pj003
|
84
|
|
P002
|
Pj002
|
35
|
pj004
|
100
|
|
P002
|
Pj003
|
42
|
|
|
|
P003
|
Pj002
|
17
|
|
|
|
P004
|
Pj001
|
83
|
|
|
|
P004
|
Pj003
|
41
|
3.
Pada 3NF, relasi harus telah
berbentuk 2NF dan tidak boleh memuat kebergantungan fungsional di antara
atribut-atribut
Tabel 6 Relasi
proyek tidak 3NF
IDProyek
|
manajer
|
tglLahir
|
pj001
|
Jon
|
24 Jan 11065
|
pj002
|
Viki
|
23 Mar 11070
|
pj003
|
Jon
|
24 Jan 11065
|
pj004
|
Marini
|
6 Jul 11060
|
Tabel 7 Relasi Proyek 3NF
|
|
Tabel 8 Relasi manajer 3NF
|
||
IDProyek
|
manajer
|
|
manajer
|
tglLahir
|
pj001
|
Jon
|
|
Jon
|
24 Jan 11065
|
pj002
|
Viki
|
|
Viki
|
23 Mar 11070
|
pj003
|
Jon
|
|
Marini
|
6 Jul 11060
|
pj004
|
Marini
|
|
|
|
4.
Ketentuan BCNF:
- Masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci di mana kunci tersebut bukan bagiannya.
- Atau dengan kalimat lain: Relasi adalah BCNF (yaitu optimal) jika setiap determinan antara atribut-atribut relasi adalah kunci relasi.
Tabel 9 Relasi kehadiran
tidak BCNF
Dosen
|
Semester
|
Kuliah
|
Sesi
|
Kehadiran
|
Joe
|
1/88
|
COBOL
|
Sesi1
|
35
|
Jeni
|
1/88
|
MATH
|
Sesi1
|
40
|
Garin
|
2/88
|
UNIX
|
Sesi2
|
33
|
Jeni
|
1/88
|
MATH
|
Sesi2
|
42
|
Garin
|
2/88
|
UNIX
|
Sesi1
|
47
|
Joe
|
1/88
|
COBOL
|
Sesi2
|
50
|
Joe
|
1/88
|
COBOL
|
Sesi3
|
12
|
Tabel 10 Relasi kehadiran
BCNF
Semester
|
Kuliah
|
Sesi
|
Kehadiran
|
1/88
|
COBOL
|
Sesi1
|
35
|
1/88
|
MATH
|
Sesi1
|
40
|
2/88
|
UNIX
|
Sesi2
|
33
|
1/88
|
MATH
|
Sesi2
|
42
|
2/88
|
UNIX
|
Sesi1
|
47
|
1/88
|
COBOL
|
Sesi2
|
50
|
1/88
|
COBOL
|
Sesi3
|
12
|
Tabel 11 Relasi dosen
BCNF
Dosen
|
Semester
|
Kuliah
|
Joe
|
1/88
|
COBOL
|
Jeni
|
1/88
|
MATH
|
Garin
|
2/88
|
UNIX
|
5.
Pada 4NF, relasi sudah berada dalam
BCNF dan tidak berisi kebergantungan banyak nilai
Tabel 12
manual
mataKuliah
|
instruktur
|
bukuTeks
|
manajemen
|
Kebo Giro
|
Drucker
|
|
Gajah Takamada
|
Peters
|
|
Kebo Bairu
|
|
|
Abu Mada
|
|
Keuangan
|
Abu Gagak
|
Jones
|
|
|
Chang
|
Tabel 13
Tawaran kuliah BCNF
matakuliah
|
instruktur
|
bukuTeks
|
manajemen
|
Kebo Giro
|
Drucker
|
Manajemen
|
Kebo Giro
|
Peters
|
Manajemen
|
Gajah Takamada
|
Drucker
|
Manajemen
|
Gajah Takamada
|
Peters
|
Manajemen
|
Kebo Bairu
|
Drucker
|
Manajemen
|
Kebo Bairu
|
Peters
|
Manajemen
|
Abu Mada
|
Drucker
|
Manajemen
|
Abu Mada
|
Peters
|
Kuangan
|
Abu Gagak
|
Jones
|
keuangan
|
Abu Gagak
|
Chang
|
Tabel 14 Dosen
pengajar 4NF
matakuliah
|
instruktur
|
manajemen
|
Kebo Giro
|
Manajemen
|
Gajah Takamada
|
Manajemen
|
Kebo Bairu
|
manajemen
|
Abu Mada
|
keuangan
|
Abu Gagak
|
Tabel 15 Buku
ajar 4NF
matakuliah
|
bukuTeks
|
manajemen
|
Drucker
|
Manajemen
|
Peters
|
Keuangan
|
Jones
|
keuangan
|
Chang
|
Dari pembahasan di atas menunjukkan
bahwa BCNF dapat memberikan solusi untuk masalah yang tidak mampu diselesaikan
oleh 3NF dan membuka peluang untuk penggunaan 4NF ketika suatu masalah memiliki
karakteristik kebergantungan banyak nilai. Ini akan menghasilkan kesimpulan
yang cukup menarik dan memberikan solusi dalam memahami BCNF, baik secara
konseptual maupun praktis.
Teknik Pembelajaran BCNF
Kecakapan
manusia mencakup kecerdasan kognitif, afektif dan psikomotor. Gaya belajar
seseorang meliputi audio, visual, dan
kinestetik. Tentang gaya belajar biasanya tiap orang berbeda-beda, sehingga
membutuhkan teknik pembelajaran yang berbeda-beda pula agar tercapai hasil yang
optimal. Begitu juga, kemampuan orang yang terlibat dalam ilmu komputer, ada
yang memiliki dasar-dasar matematika yang kuat dan ada juga yang lemah, tetapi
keduanya harus memperoleh solusi agar dapat berkiprah di dunia komputer dengan
keunggulan masing-masing. Pemahaman terhadap bentuk penyajian karya tulis ada
yang cenderung pada narasi, tabel, atau yang lainnya. Sehingga apabila sebuah
karya tulis menyajikan berbagai alternatif bentuk penyajian, maka dimungkinkan
akan memberikan peluang bagi banyak pihak dengan berbagai latar belakang
kecakapan dan gaya belajarnya masing-masing dapat memahami isi karya tulis itu
dengan mudah dan tepat.
Metode Penelitian
Penelitian
terkait topik ini dilakukan dengan metode penelitian kualitatif deskriptif,
yakni data yang terkumpul berbentuk kata-kata, gambar, bukan angka-angka.
Kalaupun ada angka-angka, sifatnya hanya penunjang (Danim 2002). Dan metode pengumpulan
data yang digunakan adalah studi pustaka yang dilakukan di
perpustakaan-perpustakaan, yakni mengkaji berbagai bahan pustaka yang sudah ada
baik yang berupa soft file maupun hard file, seperti jurnal dan
buku yang dianggap sangat penting untuk melengkapi kajian Boyce-Codd Normal Form
(BCNF). Bahan pustaka terdiri atas bahan pustaka utama dan pendukung. Bahan
pustaka utama antara lain: pertama, karya Philip dengan judul: “Teaching
Database Modeling and Design: Areas of Confusion and Helpful Hints.” Kedua,
karya Kung dan Han dengan judul: “An Alternative Technique to Improve IS/IT
Students’ Learning of Database Normalization.” Ketiga, karya Henning dengan
judul: “Finding Faithful Boyce-Codd Normal Form Decompositions.” Keempat,
karya Carol dengan judul: “Reflections on Boyce-Codd Normal Form.”
Sedangkan bahan pustaka pendukung adalah berbagai buku dan jurnal yang
digunakan untuk memperjelas pembahasan BCNF, yang secara lengkap dapat dilihat
pada daftar pustaka.
Langkah-langkah
dalam pengumpulan data dari berbagai buku dan jurnal yang bersifat soft file
dan hard file, baik yang ditulis dalam bahasa Indonesia maupun bahasa Inggris
mencakup:
1. menentukan
keyword yang berkaitan dengan BCNF (Keyword dalam bahasa
Indonesia atau bahasa Inggris disesuaikan dengan kebutuhan).
2. melakukan
seleksi jurnal ilmiah baik lokal maupun internasional berdasarkan dua kriteria,
yakni BCNF sebagai bahan pustaka utama dan bahan pustaka pendukung.
3. melakukan
seleksi buku yang berkaitan dengan BCNF.
4. menyusun
karya tulis tentang BCNF berdasarkan bahan pustaka yang sudah diperoleh.
DAFTAR PUSTAKA
1. Abdul
Majid. Perencanaan Pembelajaran: Mengembangkan Standar Kompetensi Guru.
Bandung: PT Remaja Rosdakarya.
2. Bambang
Haryanto. 2004. Sistem Manajemen Basis Data. Bandung: Informatika.
3. Carol
Helfgott LeDoux, D. Stott Parker. 1982. Reflections on Boyce-Codd Normal
Form. Proceedings of the Eighth International Conferences on Very Large Data
Bases; Mexico City, September. hlm 131-141.
4. C. J. Date.
2004. Pengenalan Basis Data, Jilid 1: Terj., Jakarta: PT Indeks
Group Gramedia.
5. Dobbi
DePorter, Mark Reardon, Sarah Singer-Niurie. 2001. Quantum Teaching.
Bandung: Kaifa.
6. George
C. Philip. 2007. Teaching Database Modeling and Design: Areas of Confusion
and Helpful Hints. Journal of Information Technology Education 6: 481-497.
7. Henning
Koehler. 2006. Finding Faithful Boyce-Codd Normal Form Decompositions.
Springer-Verlag Berlin Heidelberg: 102-113.
8. _______.
2007. On Fast and Space-Efficient Database Normalization [Disertasi].
Massey University, Palmerston North, New Zealand.
9. Hsiang-Jui
Kung, Han Reichgelt. An Alternative Technique to Improve IS/IT Students’
Learning of Database Normalization. Journal of Informatics Education Research
6: 45-55.
10. Millist
Walter Vincent. 1994. The Semantic Justification for Normal Forms in
Relational Database Design [Disertasi]. Monash University
11. Nana
Sudjana. 2009. Dasar-Dasar Proses Belajar Mengajar. Bandung: Sinar Baru
Algensindo.
12. Suharsimi
Arikunto. 2006. Prosedur Penelitian: Suatu Pendekatan Praktik, Edisi Keenam.
Jakarta: PT Asdi Mahasatya.
13. Syaiful
Bahri Djamarah, Aswan Zain. 2002. Strategi Belajar Mengajar. Jakarta: PT
Asdi Mahasatya.
14. Tauqeer
Hussain. 2006. Improving Conceptual Modeling in Database Design [Disertasi].
Lahore University.
15. Y. V. Dongare, P. S. Dhabe, S. V. Deshmukh. 2011. RDBNorma: - A Semi-Automated Tool for Relational Database Schema
Normalization Up to Third Normal Form. International Journal of Database Management Systems (IJDMS)
3: 133-154.
***
Bagi teman-teman yang ingin melakukan penelitian
tentang kajian di atas, silahkan!!! :)
"Boleh Konsultasi Masuk Jurusan Sistem Informasi via IG atau Tiktok."
|
Tips Skripsi Program Studi Sistem Informasi |
|
No comments:
Post a Comment