Prodi Sistem Informasi | Belajar HTML dan PHP | Skripsi SI
Pesantren Katabah
1000 Penghafal Quran
Pengobatan Ruqyah Mandiri
Sistem Informasi (S1)
Manajemen Informatika
Blog | Kontak | Siap Kerja | Sertifikat | PrivacyPolicy | Inggris Arab | Daftar Isi

Monday, September 16, 2013

Teori BCNF Normalisasi Basis Data



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:
  1. Masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci di mana kunci tersebut bukan bagiannya.
  2. 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