BOYCE-CODD NORMAL FORM (BCNF)

BOYCE-CODD NORMAL FORM (BCNF)

  1. A.    Gambaran Umum

Sistem Informasi adalah sistem yang dapat menghasilkan informasi yang berguna.[1] Sistem informasi manajemen adalah himpunan sub-sub sistem informasi komprehensif dan terkoordinasi yang secara rasional terintegrasi dan mentrantransformasikan data ke dalam informasi dalam berbagai cara untuk meningkatkan produktivitas yang sesuai dengan gaya dan karakteristik manajer pada kriteria kualitas yang telah ditetapkan.[2]

Basis data merupakan komponen utama sistem informasi, karena semua informasi untuk pengambilan keputusan berasal dari data di basis data. Pengelolaan basis data yang buruk dapat mengakibatkan ketidaktersediaan data penting yang digunakan untuk menghasilkan informasi yang diperlukan dalam pengambilan keputusan. Sistem manajemen basis data atau DBMS (Database Management System) adalah perangkat lunak untuk mendefinisikan, menciptakan, mengelola dan mengendalikan pengaksesan basis data. Tujuan utama sistem manajemen basis data adalah menyediakan lingkungan yang nyaman dan efisien untuk penyimpanan dan pengambilan data dari basis data. Tujuan lain sistem manajemen basis data antara lain: menghindari redundansi dan inkonsistensi data, menghindari kesulitan pengaksesan data, menghindari isolasi data, menghindari terjadinya anomali pengaksesan konkuren, menghindari masalah-masalah keamanan, dan menghindari masalah-masalah integritas.[3]

Terdapat tiga record-based model yang secara luas digunakan, yaitu: model relasional, model jaringan, dan model hirarki.[4] Basis data relasional adalah kumpulan sejumlah berhingga relasi. Pada perancangan basis data relasional akan terdapat aktivitas normalisasi relasi-relasi yang disimpan di dalamnya. Proses normalisasi dilakukan untuk memperoleh relasi normal. Relasi normal yang disimpan agar dapat memperoleh fitur-fitur terbaik basis data relasional. Dengan demikian, basis data relasional memandang kumpulan data sebagai kumpulan relasi yang telah dinormalisasi.[5]

Codd memperkenalkan normalisasi relasi, yaitu relasi normal tidak mempunyai kelompok-kelompok data berulang. Proses normalisasi digunakan untuk menghindari redundansi.[6] Dalam perspektif normalisasi, sebuah basis data dapat dikatakan baik, jika setiap tabel yang menjadi unsur pembentuk basis data tersebut juga telah berada dalam keadaan baik atau normal. Selanjutnya, sebuah tabel dapat dikategorikan baik (efisien) atau normal, jika telah memenuhi 3 (tiga) kriteria berikut:

  1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition).
  2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
  3. Tidak melanggar Boyce-Codd Normal Form (BCNF)

Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak, tabel tersebut tidak melanggar Bentuk Normal tahap Ketiga(3rd Normal Form/3NF). Kriteria di atas merupakan kriteria minimal untuk mendapatkan prediksi efisien/normal bagi sebuah tabel. Akan tetapi, kita juga dapat menerapkan kriteria-kriteria lain yang juga tercakup dalam kerangka normalisasi, walaupun bukan merupakan kriteria utama. Kriteria-kriteria lain tersebut adalah 1NF, 2NF, 4NF, 5NF.[7]

  1. B.     Istilah Penting Dalam BCNF

DalamDate (2004),dinyatakanbahwa terkait ketentuan BCNF, terdapat beberapa istilah penting yang digunakan, diantaranya: Pertama, Relvar (variabel relasi) atau secara informalnya biasa menggunakan istilah tabel atau relasi.[8] Contoh relvar: DEPT (DEPT#, DNAME, BUDGET) dan EMP (EMPT#, ENAME, DEPT#, SALARY).[9] Kedua, FD yang tidak sepele; sebuah FD adalah sepele bila dan hanya bila sisi sebelah kanan adalah sebuah subkumpulan dari sebelah kiri.[10] Dengan kata lain, FD adalah tidak sepele bila dan hanya bila sisi sebelah kanan bukan sebuah subkumpulan dari sebelah kiri. Ketiga, tidak dapat dikurangi-sebelah kiri; ini ditunjukkan pada posisi determinan[11]yang biasa diartikan determinan sebagai subhimpunan dari sisi sebelah kiri.[12] Keempat, kunci kandidat; bila K adalah sebuah kumpulan atribut dari relvar R. Maka K adalah sebuah kunci kandidat untuk R bila dan hanya bila ia memiliki kedua properti berikut:

  1. Keunikan: Tidak ada nilai sah dari R yang pernah memiliki dua tupel berbeda dengan nilai yang sama untuk K.
  2. Tidak dapat dikurangi lagi: Tidak ada subkumpulan yang tepat dari K memiliki properti keunikan.[13]

Jugadalam Haryanto (2004), terdapat banyak istilah penting yang mendukung pemahaman terhadap kalimat-kalimat ketentuan BCNF, di antaranya:  Pertama, atribut utama di relasi, yaitu atribut yang setidaknya merupakan bagian dari salah satu kunci relasi. Atribut bukan utama pada satu relasi adalah atribut yang bukan merupakan bagian salah satu kunci relasi.[14] Kedua, kunci relasi, yaitu himpunan atribut yang nilai-nilainya dapat mengidentifikasi baris-baris unik di relasi.[15] Ketiga, bergantung fungsional (FD) penuh, istilah ini biasa digunakan untuk memenuhi ketentuan sebuah relvar berada pada 2NF.

  1. C.    Definisi BCNF

Dalam Date (2004), didefinisikan bahwa sebuah relvar berada dalam BCNF bila dan hanya bila setiap FD yang tidak sepele, tidak dapat dikurangi-sebelah kiri memiliki sebuah kunci kandidat sebagai determinannya.[16] Contoh solusi untuk relvar SSP {S#, SNAME, P#, QTY}, menjadi proyeksi:[17]

SS {S#, NAME}

SP {S#, P#, QTY}

atau alternatif lain proyeksi:

SS {S#, SNAME}

SP {SNAME, P#, QTY}

Dalam Hariyanto (2004), ketentuan BCNF tercapai apabila masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci di mana kunci tersebut bukan bagiannya.[18] Contoh[19] sebuah relasi sebelum berada dalam BCNF, Kehadiran {Dosen, Semester, Kuliah, Sesi, Kehadiran}. Diperoleh keterangan bahwa

({Dosen Semester®Kuliah, Kuliah Semester®Dosen.

Dosen Semester Sesi®Kehadiran, Kuliah Semester Sesi®Kehadiran})

Keterangan di atas dapat dideskripsikan bahwa Kuliah memiliki ketergantungan fungsional pada Dosen dan Semester; Dosen memiliki ketergantungan fungsional pada Kuliah dan Semester; Kehadiran memiliki ketergantungan fungsional pada Dosen, Semester dan Sesi; dan Kehadiran memiliki ketergantungan fungsional pada Kuliah, Semester dan Sesi. Dengan demikian, diperoleh hasil dekomposisi:

Relasi Kehadiran dalam BCNF {Semester, Kuliah, Sesi, Kehadiran}

Relasi Dosen dalam BCNF { Dosen, Semester, Kuliah}

Dalam Philip (2007), dinyatakan bahwa sebuah relasi berada dalam BCNF jika, dan hanya jika, setiap kunci kandidat adalah sebuah determinan.[20] Contoh:

ORDER (OrderNo, OrderDate, CustNo, PmtMethod, ItemNo, ItemName, UnitPrice, OrderQty)[21]

 

Berdasarkan contoh di atas, diperoleh keterangan bawaOrderNo adalah determinan karena hanya terdapat satu OderDate yang dihubungkan dengan sebuah OrderNo, yaitu, OrderDate tergantung pada OrderNo. Ketergantungan fungsional tunggal (OrderNo+ItemNo) -> OrderQty menunjukkan bahwa (OrderNo+ItemNo) adalah determinan. Determinan adalah kunci kandidat jika secara unik menentukan semua determinan lainnya. Jadi, (OrderNo+ItemNo) adalah kunci kandidat.[22]

Dalam Koehler (2006), sebuah skema relasi R berada dalam Boyce-Codd Normal Form (BCNF) w.r.t. himpunan F FD pada R jika dan hanya jika untuk setiap FD non sepele X®YÎF sebelah kiri (LHS) X adalah kunci untuk R, yakni X®RÎF+, di mana F+ := {X®Y| X,YÍR, F≠X®Y}.

  1. D.    Review Pustaka

Perbedaan istilah yang digunakan dalam satu referensi dengan yang lainnya dapat menimbulkan kesan pada pembaca, baik berupa kemudahan, kesulitan, maupun kebingungan. Kemudahan terjadi apabilah istilah yang digunakan dapat diterima oleh pemahaman pembaca dengan mudah. Kesulitan terjadi ketika istilah yang digunakan penulis berbeda dengan istilah yang dimiliki pembaca, seperti penulis menggunakan istilah matematis, sedangkan pembaca lebih memahami istilah non matematis. Kebingungan terjadi ketika terdapat ketidaktepatan dalam penggunaan istilah yang mengakibatkan timbulnya kesalahan dalam memahaminya, bisa juga terjadi ketika penulis satu buku menyatakan salah terhadap istilah yang digunakan oleh penulis buku lain, seperti yang dinyatakan C. J Date tentang kecenderungannya untuk menggunakan istilah tuple daripada record, lebih suka menggunakan relvar daripada istilah tabel.[23] Pernyataan Date ini selain akan menumbuhkan keingintahuan pembaca, bisa juga menimbulkan ketidakpercayadirian ketika pembaca belum memahami alasan seutuhnya.

Dengan keberadaan tiga kemungkinan di atas, maka kajian terhadap penggunaan istilah dalam suatu referensi sangat diperlukan. Begitu juga, kondisi di mana referensi BCNF masih banyak menggunakan bahasa Inggris, maka ada kemungkinan referensi bahasa Indonesia tidak betul-betul merepresentasikan makna referensi aslinya yang mana bahasa Inggris dan bahasa Indonesia memiliki karakteristik bahasa yang cukup berbeda. Berikut ini hasil analisis terhadap definisi BCNF yang ada dalam empat referensi.

Tabel 2.1 Definisi BCNF

Pengarang

 

 

DATE

HARIYANTO

PHILIP

KOEHLER

KRITERIA UTAMA

Relvar atribut utama relasi relasi
FD tak sepele FD penuh kunci kandidat FD tak sepele
tidak dapat dikurangi-sebelah kiri Kunci determinan kunci
kunci kandidat
Determinan

Di samping definisi di atas, banyak juga pernyataan-pernyataan yang mengkarakteristikkan syarat atau ketentuan yang harus dicapai untuk menjadikan suatu relvar berada dalam BCNF. Perbedaan istilah mungkin terjadi dalam referensi yang berbeda pengarang, bahkan mungkin juga terjadi dalam satu buku itu sendiri. Sehingga pembaca direpotkan untuk mencari ketentuan mana yang benar-benar representatif. Dengan kata lain, akan muncul pertanyaan-pertanyaan, di antaranya: apakah sebuah ketentuan berperan sebagai definisi formal, informal, atau tambahan? Apakah istilah tertentu hanya berbeda istilah kata saja atau merupakan kelanjutan dari ketentuan sebelumnya. Terkait hal ini, antara lain terlihat pada tulisan Date yang memiliki sepuluh ketentuan BCNF (satu pada Tabel 2.1 Definisi BCNF dan sembilan pada Tabel 2.2 Ketentuan BCNF lainnya dalam Date (2004)). Berikut ini pernyataan-pernyataan yang mengarah pada ketentuan BCNF:

Tabel 2.2 Ketentuan BCNF lainnya dalam Date (2004)

NO.

KETENTUAN

ISTILAH KUNCI

1.

BCNF tidak memuat referensi jelas untuk 1NF dan 2NF, kunci utama, konsep ketergantungan transitif. [24] Konsep ketergantungan transitif

2.

Konsep BCNF menghilangkan kasus masalah tambahan tertentu yang dapat terjadi dalam 3NF.[25] Masalah tambahan 3NF

3.

Relvar berada dalam BCNF, karena kunci kandidat adalah satu-satunya determinan, dan anomali update tidak terjadi dengan relvar ini.[26] Kunci kandidat adalah satu-satunya determinan

4.

Untuk menjelaskan BCNF:

–          determinan pada sisi sebelah kiri sebuah FD.

–          FD sepele, yang merupakan FD di mana sisi sebelah kirinya adalah sebuah himpunan super dari sisi sebelah kanan. [27]Ketergantungan fungsional, himpunan super

5.

Mendekomposisi sebuah relvar ke dalam komponen BCNF, dan mendekomposisinya ke dalam komponen independen, terkadang dapat berada dalam konflik; yaitu tidak selalu mungkin untuk memenuhi kedua tujuan itu secara simultan.[28]Dekomposisi, komponen independen

6.

BCNF: Referensi yang dibuat untuk kunci kandidat dapat digantikan oleh sebuah referensi dugaan yang lebih fundamental dari ketergantungan fungsional. [29]kunci kandidat, referensi dugaan, ketergantungan fungsional

7.

konsep kunci utama, ketergantungan transitif, dll, berguna dalam praktek, karena mereka memberikan beberapa ide dari proses sebenarnya langkah-demi-langkah yang mungkin dialami perancang untuk mengurangi sebuah relvar sembarang hingga sebuah koleksi ekuivalen dengan relvar BCNF.[30]kunci utama, ketergantungan transitif, dll, relvar sembarang

8.

Sebuah relvar berada dalam BCNF bila dan hanya bila satu-satunya determinan adalah kunci kandidat. [31]Definisi BCNF Informal, determinan, kunci kandidat

9.

3NF (definisi Zaniolo): Bila R adalah sebuah relvar, bila X adalah suatu subhimpunan dari atribut R, dan bila A adalah suatu atribut tunggal dari R. Maka R berada dalam 3NF bila dan hanya bila, untuk setiap FD X  A dalam R, paling tidak satu dari yang berikut adalah benar:

 

  1. X berisi A (maka FD adalah sepele);
  2. X adalah sebuah kunci super;
  3. A berisi dalam sebuah kunci kandidat dari R.

Definisi BCNF diperoleh dari definisi 3NF hanya dengan membuang kemungkinan nomor 3 (sebuah bukti bahwa BCNF adalah lebih kuat daripada 3NF).[32]Subhimpunan, atribut tunggal, 3NF, FD adalah sepele, kunci super, kunci kandidat

Tabel 2.3 Ketentuan BCNF lainnya dalam Hariyanto (2004)

NO.

KETENTUAN

PENEKANAN

1.

Relasi adalah BCNF (yaitu optimal) jika setiap determinan antara atribut-atribut relasi adalah kunci relasi. [33] Determinan, kunci relasi

2.

Relasi adalah optimal (BCNF) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut maka atribut-atribut ini merupakan satu kunci relasi. [34] Fakta-fakta, atribut, kunci relasi

3.

Relasi 3NF masih mempunyai masalah yaitu bila relasi mempunyai lebih dari satu kunci relasi. Penyelesaian ini adalah bentuk normal Boyce-Codd (BCNF).[35] BCNF sebagai perbaikan dari 3NF, lebih dari satu kunci relasi.

4.

Saat relasi telah dalam bentuk BCNF maka tidak ada lagi anomali yang disebabkan kebergantungan fungsional.[36] Anomali yang disebabkan kebergantungan fungsional

5.

Pada BCNF, di relasi masih dapat mengalami anomali-anomali yang disebabkan kebergantungan banyak nilai (multivalued dependency).[37] kebergantungan banyak nilai

6.

BCNF itu menghilangkan anomali tersisa disebabkan kebergantungan fungsional.[38] anomali tersisa disebabkan kebergantungan fungsional.

Tabel 2.4 Ketentuan BCNF lainnya dalam Philip (2007)

NO.

KETENTUAN

PENEKANAN

1.

Beberapa relasi tidak normal tidak dapat didekomposisi ke dalam relasi BCNF yang memelihara semua ketergantungan fungsional (Elmasri, dkk).[39] Dekomposisi, memelihara semua FD

2.

Sebuah relasi tidak berada dalam BCNF karena sebuah field sebelah kiri merupakan determinan, tapi bukan kunci kandidat.[40] determinan, kunci kandidat

3.

Dalam kasus relasi-relasi tidak normal yang tidak dapat didekomposisi ke relasi BCNF yang memelihara ketergantungan fungsional, desainer harus memilih antara redundansi 3NF dan ketiadaan pemeliharaan ketergantungan dalam BCNF.[41] Dekomposisi, memelihara FD, redundansi 3NF, pemeliharaan ketergantungan dalam BCNF

4.

Sebuah relasi berada dalam BCNF, jika dan hanya jika, setiap determinan merupakan kunci kandidat. [42] kunci kandidat

5.

Sebuah relasi berada dalam BCNF jika setiap determinan menentukan setiap determinan lain; yaitu, jika setiap determinan secara fungsional bergantung pada setiap determinan lainnya. Determinan, FD

6.

BCNF: Ketika sebuah relasi memiliki hanya satu determinan, kemudian determinan itu merupakan candidate key, karena setiap relasi, dengan definisi, memiliki paling tidak satu candidate key. determinan, kunci kandidat

7.

Sebuah relasi berada dalam BCNF jika

1)      memiliki hanya satu determinan, atau

2)      memiliki banyak determinan, dan setiap determinan secara fungsional bergantung pada setiap determinan lainnnya.[43]satu determinan, banyak determinan

Tabel 2.5 Ketentuan BCNF lainnya dalam Koehler (2006)

NO.

KETENTUAN

PENEKANAN

1.

sebuah skema relasi R berada dalam Boyce-Codd Normal Form (BCNF) w.r.t. himpunan F FD pada R jika dan hanya jika untuk setiap FD non sepele X®YÎF sebelah kiri (LHS) X adalah kunci untuk R, yakni X®RÎF+, di mana F+ := {X®Y| X,YÍR, F≠X®Y}. FD non sepele, kunci

2.

Pendekatan standar untuk mencapai BCNF (atau paling tidak yang lebih lemah bentuk normal tiga (3NF)) adalah untuk mendekomposisi R ke dalam beberapa skema relasi yang lebih kecil Ri Í R, maka masing-masing Ri berada dalam BCNF.[44] 3NF, dekomposisi

3.

Setiap kunci minimal berada dalam BCNF, seperti proyeksi F+ ketika memuat hanya FD sepele.[45] Kunci, FD sepele

4.

Setelah membangun R, kami dapat berusaha untuk menggabungkan skema-skema untuk mereduksi jumlahnya. Untuk ini, kami dapat menggunakan  untuk mengecek apakah skema yang digabungkan Ri È Rj berada dalam BCNF.[46] menggabungkan skema-skema, reduksi

5.

Sebuah algoritma mampu menemukan dekomposisi BCNF yang tepat kapanpun ada, dan kemungkinan besar dapat menghasilkan dekomposisi-dekomposisi yang lebih baik (untuk sedikit subskema yang melanggar BCNF) daripada sintesis “standar” yang sebaliknya.[47] Dekomposisi, sintesis “standar”

Inspirasi: Bagusnya analisis ketentuan-ketentuan di atas secara mendalam (kalau mungkin, mana yang mudah, sulit, bingung, bahkan mana yang sangat relevan dengan definisi yang dianggap formal/pokok dalam bab ini (Tabel Definisi BCNF). Senin 3 Oktober 2011 dibawa print out-nya untuk bimbingan……………..


[1] Febrian, 238

[2] Scott, 97

[3] Hariyanto, 4

[4] Hariyanto, 27

[5] Hariyanto, 35

[6] Hariyanto, 30

[7] Fathansyah, 50-51

[8] Date, 67 & 84

[9] Date 1, 63

[10] Date, 364

[11] Date, 369

[12] Date, 371

[13] Date, 279

[14] Hariyanto, 91

[15] Hariyanto, 81

[16] Date 1, 401

[17] Date 1, hal. 403

[18] Hariyanto, 95

[19] Hariyanto, hal. 95-96

[20] Philip, hal. 483

[21] Philip, 489

[22] Philip,490

[23] Date, 68

[24] Date 1, 401&406

[25] Date 1, 406

[26] Date 1, hal. 406

[27] Date 1, 401

[28] Date 1, 405

[29] Date 1, 406

[30] Date 1, 406

[31] Date 1, 401

[32] Date 1, 409-410

[33] Hariyanto, 95

[34] Hariyanto, 95

[35] Hariyanto, 95

[36] Hariyanto, 97

[37] Hariyanto, 97

[38] Hariyanto, 70

[39] Philip, hal. 484

[40] Philip, hal. 485

[41] Philip, hal. 486

[42] Philip, hal. 489

[43] Philip, hal. 491

[44] Koehler, hal. 103

[45] Koehler, hal. 107

[46] Koehler, hal. 111

[47] Koehler, hal. 112

One response to “BOYCE-CODD NORMAL FORM (BCNF)

  1. There are many vitamins on the market, however this one really works. I’ve tried many that make you tired but I haven’t experienced it yet with this one. You body needs this nutrition, there is no need to go without.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s