pengoptimasian pencarian data dengan algoritma subset query

advertisement
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
Download