PENYEDIAAN DATA REFERENSI DARI SUMMARY DATA TEREKAM
Teady Matius Surya Mulyana
[email protected], [email protected] Teknik Informatika Universitas Bunda Mulia
ABSTRACT ABSTRACT ABSTRACT ABSTRACT
In the reference data that only requires a field to provide information, use the table to provide reference data in a database system would be a waste of time, process and storage.
Data from the field which had records stored in a query can be done to get the summary. Data generated from the summary, it can be used as a reference to fill in those fields on the next record or update the field on a record.
Kata Kunci: Database, Structure Query Language, Data Reference, View
PENDAHULUAN
Sistem database sangat penting dalam pengembangan software aplikasi. Hal ini dikarenakan database berisi data- data yang akan diproses menjadi informasi. Silberschatz (Silberschatz, 1997) mengatakan bahwa sistem database dirancang untuk mengatur penyediaan informasi.
Beberapa programmer biasanya menggunakan tabel data untuk menangani penyediaan data yang diacu oleh tabel lain atau sekelompok data yang diacu oleh sebuah tabel data untuk kondisi apapun. Rob (Rob, 2009) menjelaskan bahwa business rules mempengaruhi identifikasi entities, relationship dan constraint. Dalam hal ini, beberapa tabel data referensi harus menyediakan data-data yang diperlukan dan disusun dalam rancangan relational database. Hal disebabkan karena mereka harus menyediakan informasi sebagai mana business rules perlukan, dimana informasi harus lengkap dan tidak redundant.
Untuk beberapa alasan, hal ini berguna.
Tetapi untuk alasan lain hal ini malah menjadi pemborosan proses, waktu dan penyimpanan. Hal ini disebabkan penyediaan tabel data untuk
menyimpan satu field agar tetap konsisten tersebut harus menyediakan setidaknya dua buah field. Satu field pada tabel pengacu, satu field pada tabel yang diacu. Penyediaan tabel referensi ini memang memenuhi persyaratan kaidah normalisasi tetapi menilik alasan di atas, bahwa rancangan perangkat lunak harus menyediakan rancangan database yang mudah digunakan oleh pemakai, kondisi ini tidak memenuhi, hal ini hanya membuat pemakai harus bekerja dua kali. Harus mengisi data referensi hanya untuk mengisi sebuah data, kemudian kembali ke form data yang sedang diisi untuk memilih data dari referensi yang sedang diisi tadi.
Untuk alasan mencegah data ganda juga tidak efektif, karena pemakai juga masih sering salah dalam pengisian data. Data yang diisikan masih dapat ganda dengan penulisan yang berbeda karena kesalahan manusia, misalkan adanya kelebihan spasi dan, kelebihan huruf yang mengakibatkan data diinterprestasikan sebagai data baru karena secara struktural data tersebut memang berbeda dengan data tersimpan sebelumnya. Dalam hal ini secara database data tidak ganda,
tetapi secara interprestasi pengguna, data tersebut ganda.
METODE
Atzeni (Atzeni, 1999) mengatakan bahwa database umumnya dibuat dari beberapa relasi, dimana setiap tuple berisi nilai tertentu yang diperlukan dalam hal menentukan hubungannya.
Setiap tabel dihubungkan dengan tabel lainnya oleh key. Pada satu tabel key bertindak sebagai primary key, sedangkan pada tabel lainnya bertindak sebagai foreign key. Kondisi ini memungkinkan untuk membuat sebuah view sebagai bagian dari pengembangan aplikasi.
Pada umumnya setiap sistem manajemen database memiliki fitur berupa view. Pada view ini dapat dibuat SQL untuk mengambil data dan merelasikan dengan data lainnya. SQL dapat disimpan dan view yang dihasilkan dapat diperlakukan sebagai tabel. Dalam hal ini dapat dipanggil oleh view lain dan direlasikan dengan tabel data maupun view lainnya.
View dapat dipanggil oleh aplikasi lain dan diperlakukan sebagai tabel yang memberikan data. Connoly (Connoly, 2005) mengatakan bahwa view adalah hasil dinamis dari satu atau beberapa relational operation yang beroperasi berdasarkan relasi ke procedure dari relasi lainnya. Sebuah View adalah relasi virtual yang tidak perlu ada pada database, tetapi dapat diproduksi berdasarkan permintaan oleh sebagian pengguna pada saat diminta.
Penggunaan view pada aplikasi sangat membantu dalam proses penyediaan data, dimana data yang bersifat histori dapat diquery untuk menghasilkan data yang diperlukan dan disimpan dalam view, sehingga ketika melakukan programming, tidak perlu repot memikirkan bagaimana menghasilkan data tertentu dari data yang bersifat histori.
Afrati (Afrati, 2008) mengatakan bahwa pada aplikasi data-management, seperti integrasi informasi, data
warehousing, rancangan web-site, dan optimasi query dapat dipecahkan dengan menggunakan view.
Lipyeow (Lipyeow, 2007) mengatakan pemakaian view untuk menghasilkan data dan pengetahuan (knowledge) dapat dilakukan dengan relational Operator. Penggunaan view ini akan memerlukan rancangan query dengan operator yang baik. Endres (Endres, 2008) menyimpulkan bahwa teknik optimasi pencarian query yang efisien akan sangat berguna untuk berbagai aplikasi praktis database.
Sebagaimana Connoly telah jelaskan bahwa view dapat diimplementasikan seperti sebuah tabel, dan berdasarkan alasan diatas bahwa tabel referensi yang berisi hanya satu field saja hanya memboroskan waktu, proses dan penyimpanan. Pada penanganan data yang harus masih dalam kaidah bentuk normal dapat diterapkan dalam bentuk view.
Ide dasarnya adalah untuk membuat query yang berisi summary data dari field tertentu dan menjadikannya sebagai view yang dapat berperan sebagai data referensi ketika mengisi field tersebut.
Ada tiga kondisi yang terjadi ketika menerapkan summary dari suatu field dalam bentuk query ataupun view yang berperan sebagai data referensi.
Kondisi pertama adalah data referensi yang diperlukan hanya memerlukan informasi data dari satu field saja. Hal ini tidak berlaku jika data referensi yang diperlukan ketika pemilihan sebuah data referensi harus menghasilkan lebih dari satu field data.
Kondisi kedua adalah tidak diperlukannya key tambahan, dimana field yang dihasilkan oleh data referensi hanya satu field, sehingga dapat berlaku sebagai primary key.
Kondisi Ketiga adalah data referensi yang dihasilkan hanya akan didapat dari data-data pada record yang telah tersimpan sebagai data histori yang disummarykan.
Sekumpulan data yang mempunyai relasi one-to-many dengan data induk, juga dapat menerapkan penggunaan view referensi ini.
Contoh: Jika sebuah data buku memerlukan data referensi pengarang, jika data pengarang pada aplikasi hanya memerlukan nama pengarang saja tidak memerlukan data lainnya seperti pendidikan, kota tempat tempat tinggal dsb, maka data referensi pengarang dapat diquery dari record data buku yang pernah ada dan dijadikan referensi untuk dipilih dalam mengisi data pengarang. Dalam hal ini field pengarang pada data buku tersebut dapat diisi dengan bebas tanpa harus memilih dari data referensi yang ada.
Dalam kasus ini jika data pengarang ternyata memerlukan data lain selain nama pengarang, maka rancangan ini tidak dapat diterapkan.
PEMBAHASAN
Penerapan dapat dilakukan pada sebuah tabel tunggal, dimana data yang terekam dapat disummary menjadi data referensi.
Selain itu dapat juga dapat dilakukan pada satu set data terelasi yang mana suatu tabel data mempunyai detail data pada tabel lain. Pada kasus ini maka tabel tersebut yang akan diquery menjadi view referensi.
Baik pada tabel tunggal maupun pada tabel master-detail, penerapan penyediaan view referensi akan mengikuti cara berikut:
Pada sistem database harus disediakan sebuah view yang menyediakan query untuk melakukan summary terhadap field tersebut dari data yang sudah terekam.
Hasil query tersebut dimasukkan ke dalam property items pada ComboBox, dan ketika pengisian data, maka ComboBox tersebut sudah berisi data yang dapat dipilih untuk mengisi field yang mengacu ke data referensi tersebut.
ComboBox diset sebagai editable, dimana selain memilih dari item-item terdaftar, pemakai dapat juga mengisi dengan data lain. Pada penerapan dengan Delphi, digunakan DBComboBox yang mempunyai property style.
Property style ini mempunyai pilihan style yang terdiri dari csDropDown, csDropDownList, csOwnerDrawFixed, csOwnerDrawVariable dan csSimple.
Agar nilai DBDropDown dapat diedit, maka style harus diisi dengan csDropDown.
SELECT <namafield> FROM
<namatabel> GROUP BY
<namafield>
Gambar 1. Syntax SELECT - GROUP BY
Query dapat dilakukan dengan menggunakan GROUP BY, sehingga data yang sama pada field yang dituju hanya akan ditampilkan satu kali.
Syntax query SELECT dengan GROUP BY dapat dilihat pada Gambar 1
Sebagai contoh, untuk membuat sebuah view referensi nama pengarang pada sebuah tabel bernama TabelJudul, Implementasi contoh ini dapat dilihat pada Gambar 2.
SELECT pengarang FROM
TabelJudul GROUP BY pengarang Gambar 2. Contoh summary terhadap
sebuah tabel tunggal
Contoh penerapan lain dilakukan pada subyek, dimana sebuah judul buku akan berisi beberapa subyek. Pada kasus ini tabel Judul tidak perlu ikut diquery.
Query hanya dilakukan pada table TabelSubyek yang berisi field NomorKatalog dan subyek.
SELECT subyek FROM TabelSubyek GROUP BY subyek
Gambar 3. Contoh summary terhadap sebuah tabel detail yang merupakan
bagian dari satu set tabel
Dimana field NomorKatalog mengacu pada tabel judul yang mempunyai NomorKatalog sebagai Primary Key.
Contoh penerapan ini dapat dilihat pada Gambar 3.
Sedangkan pada contoh aplikasi yang dipergunakan, dilakukan query terhadap MBarang untuk mendapatkan view RefMerek yang merupakan summary dari field merek pada MBarang tersebut.
SELECT Merek FROM MBarang GROUP BY merek
Gambar 4. Contoh summary field Merek dari Tabel MBarang
Relasi antara MBarang dengan RefMerek dapat diilustrasikan pada Gambar 4.
Jika mempergunakan view, maka view yang dihasilkan akan dipanggil oleh dataset untuk kemudian dimasukkan ke komponen DBComboBox. Sedangkan untuk implementasi dalam bentuk SQL, maka cukup diketikkan dalam dataset TQuery.
Gambar 4. Relasi Tabel dengan view summary
Selanjutnya ketika suatu data yang di dalamnya berisi field yang mengacu kepada data referensi tersebut diisi, maka data dari view yang sudah dipersiapkan menjadi pilihan untuk mengisi field tersebut.
Karena nilai pada DBComboBox dapat diedit, maka ketika pemakai mendapati tidak ada pilihan nilai yang diharapkannya pada DBComboBox, pemakai dapat memasukkan nilai yang
diinginkan pada box editor DBComboBox.
Ada dua efektifitas dari penggunaan view referensi ini:
Pertama: tidak perlu menyediakan tabel data referensi yang harus diisi secara tersendiri, sehingga mempersingkat proses dan waktu.
Data referensi yang dihasilkan oleh view otomatis akan bertambah seiring dengan bertambahnya variasi data pada field yang dijadikan view referensi.
Ketika terjadi perbaikan data, maka secara otomatis view referensi akan menyesuaikan.
Kedua: karena tidak perlu menyediakan tabel data referensi, maka tidak diperlukan proses pengecekan data, hanya diperlukan proses query untuk menghasilkan referensi data.
SIMPULAN
1. Persyaratan yang harus dipenuhi untuk mempergunakan view sebagai data referensi: Data tersebut tidak memerlukan informasi lain baik bagi tabel yang sedang dirancang maupun tabel lainnya yang mengacu pada data referensi tersebut.
2. Penggunaan view pada kondisi yang ditentukan dapat menghemat waktu, proses dan penyimpanan.
3. Selain menggunakan view untuk penyediaan data referensi, dalam aplikasi dapat digunakan Query pada dataset yang dibaca dan dimasukkan ke combobox ataupun komponen lainnya.
4. Pada satu set data yang bersifat master-detail dimana pengisian field dari suatu referensi data disimpan pada tabel detail, query untuk melakukan summary hanya dilakukan pada tabel detailnya yang berisi informasi yang akan dibuat referensi tersebut.
Saran
Penelitian lebih lanjut dapat dilakukan dengan menerapkan apa yang sudah dijabarkan pada karya tulis ini pada program-program yang mempunyai kasus yang sesuai dengan kondisi yang diberikan.
DAFTAR PUSTAKA
[1] Silberschatz, Abraham., Korth, F. Henry., Sudarshan, S. 1997.
Database System
Concepts. USA. Mc Graw- Hill.
[2] Rob, P. and Coronel, C., Database Systems: Design, Implementation, and
Management. Boston-
Massachusets; Thomson Course Technology., 2009.
[3] Atzeni, Paulo., Ceri, Stefano., Paraboschi, Stefano., Torlonne, Ricardo. 1999. Databases System - Concept, Language And Architecture. USA. Mc Graw-Hill.
[4] Connolly, Thomas. & Begg, Carolyn. 2005. Database
Systems 4th edition - A Practical Approach to Design, Implementation , and Management. Essex, UK;
Addison Wesley - Pearson Education.
[5] Afrati, Foto. & Kiourtis, Nikos.
Query Answering Using Views In The Presence of Dependencies, 2008, Auckland - New Zealand; International Workshop on New Trends in Information Integration.
[6] Lipyeow Lim, Haixun Wang, Min Wang. Unifying Data and Domain Knowledge Using Virtual Views, 2007, Vienna - Austria; 33rd International Conference on Very Large Data Bases.
[7] Endresi, Markus. & Kiebling, Warneri. Optimization of Preference Queries With Multiple Constraint, 2008, Auckland - New Zealand; PersDB 2008 - 2nd International Workshop on Personalized Access, Profile Management, and Context Awareness:
Databases.