Jurnal Artificial, ICT Research Center UNAS Vol.2 No.1 Januari 2008 ISSN 1978-9491 PENGOPTIMASIAN PENCARIAN DATA DENGAN ALGORITMA SUBSET QUERY Tri Wahyu W Jurusan Teknik Informatika, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional Jl. Raya Sawo Manila, Pejaten No. 61, Jakarta 12520 Abstract There are several query models for accessing data from two or more tables in a relational database. Two models that have been observed are cross product and subset query, since those models can be used to produce same query result. To get an optimal system performance, it is needed to find the best model in specific conditions. By using Borland Delphi version 6 software program and Interbase version 6 as database system, the researcher was trying to prove the optimization query theory with heuristic model. The theory says that one method to optimize a query is by changing the cross product model into subset query. Keywords: database, query, optimasi, heuristic Abstrak Dalam makalah ini diuraikan metode pengoptimasian pencarian data dengan menggunakan model heuristic. Piranti lunak yang digunakan adalah Borland Delphi versi 6.0 dan Interbase versi 6.0. Metode tersebut akan melakukan simulasi perhitungan secara cross product sehingga pencarian dapat berlangsung optimal. Kata kunci : database, query, optimasi, heuristic I. PENDAHULUAN Perkembangan aplikasi sistem informasi saat ini lebih cenderung ke client server, web base dan bahkan ke arah mobile aplication. Aplikasi-aplikasi ini akan mengakses basis data secara bersama-sama sehingga diperlukan kecepatan akses yang cukup tinggi. Dalam system basis data relasional sering terjadi dibutuhkan pengaksesan data terhadap beberapa tabel sekaligus. Ada beberapa cara dalam melakukan akses ini, namun perlu diperhatikan cara mana yang paling optimal sehingga diperoleh kecepatan akses tertinggi. Dengan menggunakan basis data Interbase dan bahasa pemrograman Delphi 6, akan dibuat sebuah aplikasi untuk menghitung waktu yang diperlukan untuk melakukan pencarian dengan 2 model query yaitu dengan cross product dan subset query.Membuktikan bahwa penggunaan subset query lebih efektif dibandingkan dengan menggunakan cross product. II. KAJIAN PUSTAKA Teknik optimasi dapat dilakukan dengan beberapa cara. Terdapat 2 pendekatan optimasi yang umum digunakan sebagaimana diungkapkan oleh Chanowich (2001), yakni: a. Heuristik atau rule-based 66 Jurnal Artificial, ICT Research Center UNAS Vol.2 No.1 Januari 2008 ISSN 1978-9491 Teknik ini mengaplikasikan aturan heuristik untuk mempercepat proses query. Optimasi jenis ini mentransformasikan query dengan sejumlah aturan yang akan meningkatkan kinerja eksekusi, yakni: - melakukan operasi selection di awal untuk mereduksi jumlah baris - melakukan operasi projection di awal untuk mereduksi jumlah atribut - mengkonversikan query dengan banyak join menjadi query dengan banyak subquery - melakukan operasi selection dan join yang paling kecil keluarannya sebelum operasi lain b. Cost-based Teknik ini mengoptimasikan cost yang dipergunakan dari beberapa alternatif untuk kemudian dipilih salah satu yang menjadi cost terendah. Teknik ini mengoptimalkan urutan join terbalik yang dimungkinkan pada relasi-relasi r1 ® r2 ® ... rn. Teknik ini dipergunakan untuk mendapatkan pohon left-deep join yang akan menghasilkan sebuah relasi sebenarnya pada node sebelah kanan yang bukan hasil dari sebuah intermediate join. III.METODOLOGI PENELITIAN Untuk membuktikan bahwa subset query lebih baik dari query degan banyak join atau cross product, peneliti membuat sebuah basis data percobaan dengan menggunakan interbase 6, basis data tersebut memuat 2 buah tabel percobaan,yaitu: Tabel 3.1. Tabel Mahasiswa Nama Field Tipe NIM Integer Nama Varchar(30) Alamat Varchar (80) Tabel 3.2. Tabel Kuliah Nama Field Tipe NIM Integer MataKuliah Varchar(30) Untuk memasukkan data ke tabel-tabel tersebut diatas, dibuat program pengisi data dengan menggunakan delphi 6. Untuk melihat kinerja system dengan 2 model query yaitu cross product dan subset query, dibuat query berikut: a. Query dengan model cross product diwakili oleh query berikut ini: SELECT M.NIM, M.Nama, M.Alamat FROM Mahasiswa M, Kuliah K WHERE M.NIM = K.NIM b. Query dengan model subset query diwakili oleh query berikut ini: SELECT NIM, Nama, Alamat FROM Mahasiswa WHERE NIM in ( SELECT NIM FROM Kuliah) 67 Jurnal Artificial, ICT Research Center UNAS Vol.2 No.1 Januari 2008 ISSN 1978-9491 Kedua query tersebut akan menghasilkan informasi yang sama, yaitu menampilkan data NIM, Nama dan Alamat dari tabel Mahasiswa yang NIM-nya terdapat dalam table Kuliah.Untuk menyimpan hasil percobaan query data, dibuat tabel waktu dengan struktur sebagai berikut: Nama Field Jml Q1 Q2 Tabel 3.3 Waktu Tipe Keterangan Integer Jumlah record hasil query Waktu yang diperlukan untuk Integer query dengan menggunakan cross product Waktu yang diperlukan untuk Integer query dengan menggunakan subset query Untuk menghitung waktu yang diperlukan untuk mengakses data, dibuat sebuah program aplikasi dengan menggunakan Delphi. IV. HASIL PENELITIAN DAN PEMBAHASAN Setelah melakukan percobaan dengan beberapa data, diperoleh waktu hasil seperti ditunjukkan dalam tabel 4 berikut ini: Jumlah Data Waktu CP (ms) Waktu SQ (ms) Tabel 4.1 Waktu query. 1 10 50 100 1000 10000 4 5 9 10 47 425 25000 1162 5 5 121 22 45 42 56 Adapun grafik hasilnya, tampak dalam gambar 4.1. Gambar 4.1. Grafik Waktu Pengambilan Data 68 Jurnal Artificial, ICT Research Center UNAS Vol.2 No.1 Januari 2008 ISSN 1978-9491 Dari hasil yang ditunjukkan oleh tabel 4 dan gambar 1, dapat dilihat bahwa: a. Pada data dengan jumlah record sedikit penggunaan cross product dan subset query menunjukkan kinerja yang sama b. Pada data dengan jumlah record banyak, subset query menunjukkan kinerja yang jauh lebih baik dibanding dengan cross product Dari data di atas dapat dihitung persamaan untuk waktu akses dengan query cross roduct adalah : Y = 0.0031265 x + 5165.1148 (4.1) Sedangkan persamaan untuk waktu akses dengan subset query adalah : Y = 0.0184276 x + 5165.0779 (4.2) Dengan Y adalah jumlah data hasil query dan x waktu yang diperlukan dalam mili detik. Dari persamaan 1) dan 2) bisa dihitung bahwa pada jumlah record 5165 akan diperlukan waktu yang sama yaitu 2.412398 mili detik. V. KESIMPULAN Dengan menggunakan Interbase 6, untuk data hasil query lebih dari kurang dari atau sama dengan 5165 record, penggunaan query dengan cross product membutuhkan waktu yang lebih kecil dibanding dengan metode subset query. Sebaliknya untuk data lebih besar dari 5165 record, penggunaan subset query jauh lebih cepat disbanding dengan menggunakan cross product. DAFTAR PUSTAKA [1] Chanowich, E. dan Sendelbach, E., 2001, “Query Optimization” in CSE 498G – Advanced Database. [2] Korth, H.F., dan Silberschatz, A., 1991, Database System Concepts, McGraw Hill, Singapura. [3] Setiawan, M.A., 2004, Optimasi SQL Query untuk Informasi Retrievel pada Aplikasi Berbasis Web, Proceedings Seminar Nasional Aplikasi Teknologi Informasi UII, Yogyakarta 69