PENERAPAN CONSTRINE TABLE PADA DATABASE Agus Winarno Abstraksi : Data diagram dideskripsikan banyak tabel yang mewakili setiap satuan proses secara nyata dimana atribut tabel dibentuk diantaranya sebagai primary key, index key serta foreign key yang merupakan titik point tiap tabel untuk mengadakan hubungan dalam sebuah ikatan aturan relasi basis data yang disebut contraints. Dalam melakukan penghapusan data pada table kita perlu melakukan cek data table transaksi tersebut apakah ada data yang akan dihapus sehingga apabila ada datanya maka kita tidak diperbolehkan menghapus data pada table transaksi tersebut untuk mengatasi hal tersebut diperlukan Constrine table. Kata kunci : Constrine, consisten, table, primary key, index key, foreign key PENDAHULUAN Sebagaimana sistem pergudangan pada umumnya terdapat berbagai komponen pembentuk gudang secara fisik komponen tersebut bisa berbentuk sebuah bangunan, sebuah ruangan, rak atau almari dan administrator pergudangan sebagai pelaku pengelolaan sistem pergudangan. Dalam berbagai bidang komponen tersebut di potret dan diterjemahkan menjadi bentuk sistem elektronik, tanpa meninggalkan perilaku tiap komponen yang ada dalam sistem; aturan-aturan tersebut diterjemahkan pada sebuah gugusan constraints serta mengikat gugus tugas satu dengan gugus tugas lainnya. Pada akhirnya constraints akan membentuk sebuah gugusan relasi logika antar objek serta menjadikan sebuah terjemahan dalam bentuk sistem prosedur yang ada pada sebuah kemasan yaitu sistem. Dalam sistem pergudangan bentuk fisik bangunan terbagi pada tiap ruangan; dalam tiap ruang terbagi pada sebuah petak-petak kebutuhan; di tiap petak diletakkan sebuah almari yang terbagi dalam rak-rak sehingga tersusun sebuah aturan tata letak pada sebuah obyek yang tersimpan yaitu dalam sebuah gudang “G_?”, di petak sekian “P_?”, di lemari tersebut “L_?” dalam rak ini “R00#”. Susunan tersebut bila disusun dalam kaidah menaungi dan dinaungi (topdown) maka akan membentuk sebuah kode tata letak yaitu G_?.P_?.L_?.R00#. sistem tata letak tersebut sangat membantu dalam pengalamatan obyek yang akan disimpan pada sebuah gudang sehingga pencarian dan pengamanan obyek akan lebih effektif serta effisien. Dalam sistem database, gudang adalah database; ruangan dan petak-petak dibentuk dan disusun melalui tabeltabel dalam database dan aturan antar tabel akan diikat pada sebuah contraints. Sedangkan transaksi dalam gudang Agus Winarno adalah Dosen Fakultas Ilmu Komputer UDINUS Semarang 53 54 Techno.Com, Vol. 7 No. 2, None,ber 2009 yang dilaksanakan oleh administrator pergudangan secara logik akan di terjemahkan dalam sebuah transaksi database. Dalam transaksi database terdapat aturan-aturan dasar sehingga sebuah sistem tersebut. Data Diagram sebuah bentuk hubungan antar data satu dengan lainnya dalam bentuk sebuah diagram, hal tersebut juga menggambarkan sebuah peta alokasi data yang menerjemahkan alur informasi secara nyata ke dalam bentuk graphic visual serta mendeskripsikan keadaan sebenarnya dalam bentuk alur logik. Dalam data diagram dideskripsikan banyak tabel yang mewakili setiap satuan proses secara nyata dimana atribut tabel dibentuk diantaranya sebagai primary key atau merupakan candidate key yang dipilih untuk digunakan sebagai kunci identitas tabel secara unik (kunci indeks tabel) dan tidak boleh bernilai null, index key serta satu atau lebih atribut dalam satu tabel yang merupakan primary key tabel lain atau kunci penghubung (foreign key) yang merupakan titik point tiap tabel untuk mengadakan hubungan dalam sebuah ikatan aturan relasi basis data yang disebut contraints. Tabel merupakan obyek basis data yang berisi semua data di dalam data base. Definisi sebuah tabel adalah sekumpulan kolom-kolom, dalam tabel pengaturan data tersusun dalam sebuah baris dan di tiap kolom juga tersusun sebuah aturan yang mewakili tiap tipe data yang disimpan. Hal tersebut menyerupai sebuah lembar kerja (spreadsheet) dengan pengalamatan baris dan kolom. Tiap baris mewakili sebuah catatan yang unik dan tiap kolom menggambarkan tipe informasi yang berbeda pada sebuah obyek. Misalnya sebuah tabel mahasiswa dalam sebuah akademik masing-masing kolom memiliki tipe informasi yang berbeda yaitu nim, nama, alamat, kota, tanggal lahir dan lain-lain. Dalam sebuah sistem yang digambarkan pada data diagram, tiap tabel memiliki ikatan dengan tiap tabel lainnya serta bisa saling keterkaitan karena integrasi datanya terjaga, serta system kerjanya seperti system syaraf yang mana data master akan dilakukan perubahaan data atau penghapusan data yang memiliki ikatan dengan table lainnya seperti table krs, jika akan menghapus matakuliah maka perlu melakukan cek data transaksi seperti table krs tersebut apakah ada kodekul yang akan dihapus. Apabila ada maka kita tidak diperbolehkan menghapus data tersebut, begitu juga apabila kita akan menghapus nim pada table master mahasiswa sehingga perlu melakukan cek data transaksi krs apakah ada nim tersebut apabila ada maka tidak diperbolehkan untuk menghapus nim tersebut pada table transaskis krs begitu juga antara table matakuliah dengan krs. Selain penghapusan data juga pada insert data ataupun update data jika kita melakukan insert data ataupun update data table transaksi seperti krs maka nim yang kita insert atau update data terbaru harus sudah ada pada table master mahasiswa dan kita mengupdate atau insert kdkul maka kdkul tersebut harus ada pada table master matakuliah. PEMBAHASAN Pada permasalahan tersebut bisa kita coba pada suatu database akademik yang memiliki table mahasiswa, matakuliah dan krs. Dari table tersebut kita membuat diagram data, relasi antar table dan melakukan insert, update, delete data pada table database yang akan dilakukan constrine table untuk mengetahui perlunya contrine table pada database. Penerapan Constrine Tabel (Winarno) 55 1. Menciptakan database Gambar 1. – Menciptakan database Gambar 1 tersebut adalah menciptakan database akademik, dimana Basis data adalah tempat untuk sekumpulan berkas data terkomputerisasi. Basis data juga tidak hanya sekedar sekumpulan berkas (tabel) yang saling berhubungan, tetapi mencakup hal lain seperti hub. Antar tabel, view dan bahkan kode (prosedur tersimpan). 2. Menciptakan table. a. Table mahasiswa. Create Table mahasiswa (NIM Char(14), nama Char (25), alamat char(25), kota char(15), Tgl_lhr Date); b. Table matakuliah Create Table matakuliah (kdkul Char(7), namakul Char (20), sks tinyint; c. Table krs Create Table krs (nim char(14), kdkul Char(7), nil int; 3. Menciptakan table daigram data dan Constrine table. Diagram data adalah visulisasi yang menggambarkan hubungan antar tabel berupa bentuk hubungan satu kebanyak atau banyak ke banyak, ikatan antar hubungan serta kunci primer dan kunci tamu sebagai penghubungan antar data / table. Techno.Com, Vol. 7 No. 2, None,ber 2009 56 Diagram table membagi hubungan antar tabel dalam masing-masing menggambarkan hubungan antar tabel, ikatan serta bentuk terhadap hubungan tersebut. Dibawah ini adalah bentuk hubungan pada tiap diagram data master. Gambar 2. –Diagram data Gambar 2 menjelaskan tentang hubungan kunci antar tabel yang Saling berhubungan. Dapat disimpulkan bahwa tabel transaksi adalah tabel yang banyak menerima kunci sebagai tamu. Sedangkan diagram berikut menjelaskan tentang atribut yang terdapat pada tiap hubungan tabel. Tanda titik hitam adalah tabel master relasi dimana tiap tabel master relasi memiliki hubungan tabel master sebagai entitas dasar diagram data diatas terdapat dua hubungan antar tabel yang masing-masing merupakan tabel master dan tabel transaksi. Adapun ketiganya adalah sebagai berkut : Tabel 1 : Tabel relasi diagram data No. 1 2 3 Nama Tabel mahasiswa matakuliah Krs Jenis Master Master Transaksi Kunci Primer Kunci Tamu Nim kdkul Nim, kdkul Penerapan Constrine Tabel (Winarno) 57 Susunan dari isi tabel diatas menjelaskan bahwa ada dua jenis bentuk tabel yang menjelaskan perbedaan dari tabel master dan transaksi / master penghubung yaitu pada kepemilikan kunci primer dan kunci tamu. Tabel master pasti memiliki kunci primer dan tidak memiliki kunci tamu sedangkan master penghubung memiliki keduanya, jadi dapat disimpulkan bahwa jenis tabel master adalah entitas dasar pada struktur sistem manajemen basis data. Berikut adalah tatanan basis data yang menjelaskan tetang tingkat akses pengguna yang masih termasuk bagian dari diagram data master. Gambar 3. Atribut hubungan antar tiap table Gambar 4. – Contrine table relasi table matakuliah dan krs. 58 Techno.Com, Vol. 7 No. 2, None,ber 2009 Gambar 5. – Contrine table relasi table mahasiswa dan krs. Dari gambar 4 dan gambar 5 tersebut merupakan contraine relasi table antara matakuliah dengan krs dan contraine table mahasiswa dengan krs yang memberikan ikatan terhadap pilihan update dan delete dari relasi tersebut, sehingga akan memberikan ikatan pada relasi tersebut. Enforce Relationship for replication jika kita pilih: Pada pilihan ini akan memberikan replikasi terhadap update data, delete data dari master table sampai dengan table-tabel transaksinya yang ada keterhubungan relasi tabelnya. Sehingga penghapusan data maupun update data akan lebih mudah Karena bisa dilakukan seperti system syaraf yang melakukan update ataupun delete data mulai dari master sampai dengan data yang berada pada table- table tarnsaksinya. Enforce Relationship for insert and updates jika kita pilih: a. Cascade update related field. Pada pilihan ini apabila kita melakukan insert data yang nim pada krs apabila nim tersebut tidak ada maka data tidak akan bisa ditambahkan. Dan apabila kita melakukan update data pada kedua table krs atau mahasiswa dimana nim yang kita update table krs tetapi nim tersebut tidak terdapat pada table mahasiswa atau nim yang kita update pada table mahasiswa dan nim tersebut tidak terdapat pada table krs maka data tersebut tidak dapat diupdate, sehingga sudah otomatis sudah memvalidasi pada update data yang akan memberikan data yang konsisten. b. Cascade delete related record Pada pilihan ini apabila kita melakukan delete atau penghapusan data pada table table mahasiswa maka apabila data tersebut ada pada transkasi krs maka data secara otomatis tidak bisa dihapus sehingga nim yang ada pada table mahasiswa bisa dihapus apabila nim tersebut tidak terdapat pada table krs atau table transaksinya. Penerapan Constrine Tabel (Winarno) 59 4. Melakukan entry data pada table yang sudah diberikan ikatan / contraine terhadap pilihan update dan delete dari relasi table mahasiswa dengan krs dan table matakuliah dengan krs. a. Table mahasiswa. b. Table matakuliah c. Table krs Dari ketiga table tersebut jika kita masukkan atau kita update nim atau kdkul yang ada pada table krs maka akan secara otomatis menolak jika data tidak ada pada master. Pada saat insert nim pada krs tersebut maka jika nim tersebut tidak ada pada table mahasiswa otomatis akan menolak begitu juga apabila kita update atau insert kdkul pada krs jika kdkul tersebut tidak ada pada table matakuliah maka otomatis akan menolak. Gambar 6. – Update nim. 60 Techno.Com, Vol. 7 No. 2, None,ber 2009 Gambar diatas kita coba melakukan update nim “A11.2007.00008” dimana nim tersebut tidak terdapat pada table mahasiswa maka akan muncul komentar bahawa field nim pada table krs tidak bisa dilakukan update. Gambar 7. – Update kode kuliah Gambar diatas kita coba melakukan update kdkul “MT36208” dimana kdkul tersebut tidak terdapat pada table matakuliah maka akan muncul komentar bahawa field kdkul pada table krs tidak bisa dilakukan update. Gambar 8. – Insert nim Penerapan Constrine Tabel (Winarno) 61 Gambar diatas kita coba melakukan insert nim “A11.2007.00008” dimana nim tersebut tidak terdapat pada table mahasiswa maka akan muncul komentar bahawa field nim pada table krs tidak bisa dilakukan insert atau penambahan nim tersebut. Gambar 9. – insert kode kuliah Gambar diatas kita coba melakukan insert kdkul “MT38888” dimana kdkul tersebut tidak terdapat pada table matakuliah maka akan muncul komentar bahawa field kdkul pada table krs tidak bisa dilakukan insert atau penambahan kdkul tersebut. Dalam sebuah sistem database dengan menggunakan Constrine table, tiap tabel memiliki ikatan dengan tiap tabel lainnya serta bisa saling keterkaitan karena integrasi datanya terjaga, serta system kerjanya seperti system syaraf yang mana data master akan dilakukan perubahaan data atau penghapusan data yang memiliki ikatan dengan table lainnya seperti table krs, jika akan menghapus nim yang ada pada table master matakuliah maka perlu melakukan cek nim yang ada pada data transaksi seperti table krs tersebut apakah ada nim yang akan dihapus, apabila ada nim pada table transaksi krs tersebut maka tidak diperbolehkan menghapus nim yang ada pada table transasksi (krs) tersebut. Sebaliknya juga apabila kita akan melakukan insert atau update data table transaksi seperti nim atau kdkul pada table krs maka perlu melakukan cek nim yang ada pada table mahasiswa dan kdkul yang ada pada table matakuliah, jika nim tersebut tidak terdapat pada table master matakuliah tersebut maka tidak bisa diupdate atau insert nim tersebut. Karena kita bisa insert atau update nim pada table krs jika nim yang kita tambahkan atau update tersebut harus sudah ada pada table master mahasiswa. Begitu juga apabila akan menambahkan atau update kdkul pada table krs maka kdkul tersebut harus sudah ada pada table master matakuliah. Techno.Com, Vol. 7 No. 2, None,ber 2009 62 KESIMPULAN 1. 2. 3. 4. Dengan Constrine table akan memberikan konsistensi data dari table table yang berrelasi sehingga akan memberikan informasi yang valid. Memanfatkan Constrine table akan memberikan validasi penghapusan data pada table transaksi maupun table master yang saling berrelasi sehingga akan mencegah kehilangan data atau infromasi yang masih dibutuhkan. Constrine table akan memvalidasi insert data maupun update data pada table transaksi yang harus mengacu pada keberadaan data pada table master. Constrine table akan memberikan kemudahan pengelolaan basis data dan sekumpulan program (DBMS) yang memungkinkan beberapa user mengakses dan memanipulasi data tersebut DAFTAR PUSTAKA 1. 2. 3. 4. http://www.microsoft.com/sqlserver/2008/en/us/default.aspx http://www.mysql.com/doc.htm, 2004 Bunafit Nugroho, Database Relational dengan MySQL, Penerbit Andi, 2005 Ben Forta. 2002. Belajar Sendiri SQL dalam 10 menit / Ben Forta diterjemahkan oleh Imanuel S.C.H. Penerbit Andi, Yogyakarta.