SIMULASI OPTIMASI QUERY MENGGUNAKAN HISTOGRAM UNTUK MEMINIMALISASI NILAI SUMBER DAYA PADA DATABASE TERDISTRIBUSI Ignatius Hadi Prabowo1) 1) S1/Jurusan Sistem Informasi, Sekolah Tinggi Manajemen Informatika & Teknik Komputer Surabaya, email :
[email protected]
Abstract : Query optimization in a relational database become an "expensive" job when dealing with relationships in large numbers. Finding the best execute way with the fastest time is a liability since the wrong strategy could be implemented in a database so that increases the execution time of a query set. With the increasing complexity of a database, it becomes important for the methods of the query optimizer to adopt an algorithm that requires a low cost in terms of execution time. There are several methods examined by experts to reduce the burden of DBMS. By taking advantage of a query optimization model that using a histogram and a model incorporating the concept of determination of the costs of operations performed by the DBMS is expected to reduce the burden on the DBMS performance. The combination model proposed would pass procedure simulation system with a verification and validation process. After pass some development process the optimization model will be tested using real data from 3 tables, MHS_MF_TA, KURLKL_MF_TA, FAK_MF_TA STIKOM Surabaya with a total of 19.344 records. After testing and evaluation process of simulation models, the query optimization using a histogram could ease a DBMS performance on a selection attributes order that would be executed, so that based on a simulation results could be concluded that the proposed model can reduce the burden of query execution by the DBMS Keyword: Query Optimization, histogram, simulation
Proses optimasi pada query dalam
Usaha
sebelumnya
untuk
permasalahan
tersebut
sebuah relasi database menjadi pekerjaan
menyelesaikan
yang ”mahal” saat berurusan dengan relasi
berkisar pada strategi pencarian seperti
dalam jumlah besar. Jumlah kemungkinan
deterministic, randomized dan heuristic.
cara untuk mengeksekusi sebuah set query
Banyak algoritma diajukan oleh banyak
meningkat
bersamaan
literatur, seperti Simulated Annealing (SA),
dengan jumlah relasi yang terdapat dalam set
Iterative Improvement (II), Two Phase
query tersebut. Mencari cara terbaik dengan
Optimization (2PO) dan Genetic Algorithm.
waktu eksekusi tercepat adalah sebuah
Contoh-contoh
kewajiban semenjak strategi yang salah
algoritma random yang umum yang telah
diterapkan dalam sebuah database sehingga
diaplikasikan pada query optimization.
secara
eksponen
meningkatkan waktu eksekusi sebuah set
yang
Dikatakan
disebutkan
pada
internasional
sebuah
menjadi
distributed database adalah “a collection of
penting bagi metode-metode query optimizer
multiple, logically interrelated databases
untuk mengadopsi sebuah algoritma yang
distributed
membutuhkan cost rendah dalam hal waktu
(Zafarani, Derakhshi, Asil, & Asil, 2010)
eksekusi.
Pada pernyataan tersebut menjelaskan bahwa
hal
tersebut
over
a
membahas
jurnal
query. Dengan meningkatnya kompleksitas database,
yang
sebuah
adalah
computer
tentang
network”
1
database terdistribusi merupakan kumpulan
histogram adalah tampilan grafis dari tabulasi
database yang tersebar pada sebuah jaringan
frekuensi yang digambarkan dengan grafis
komputer dan terintegrasi secara logika. Pada
batangan sebagai manifestasi data binning.”
kenyataannya
Histogram digunakan untuk mengestimasi
dalam
database
yang
terdistribusi ini memerlukan sumber daya
urutan
yang cukup tinggi
untuk mendapatkan
tertinggi hingga terendah yang ada dalam
performa yang baik. Untuk mendukung
sebuah query. Selektivitas mengacu pada
pencapaian
sebuah
performa
sistem
database
selektivitas
jurnal
dari
yang
distribusi
mengatakan,
data
”The
terdistribusi yang optimal diperlukan sebuah
selectivity of a predicate in a query is a
metode optimasi pula. Pada sebuah jurnal
decisive aspect for a query plan generation.
internasional menyatakan ”the cost function
The ordering of predicates can considerably
for query execution in grid environment
affect the time needed to process a join
involves three major parameters, namely,
query. To have the query plan ready at
communication cost, I/O cost, and CPU cost”
compile-time,
(Ray & Guha, 2010) bahwa fungsi biaya
selectivities of all the query predicates. To
untuk eksekusi query dalam lingkungan
calculate
grid/terdistribusi melibatkan tiga parameter
histograms.” (Li, Han, & Ding, 2010)
utama, yang disebut, communication cost,
Selektivitas predikat (where) dalam query
I/O cost, dan CPU cost. Beberapa variabel
adalah
tersebut
untuk
menghasilkan rencana query (query plan).
mendapatkan nilai biaya sumber daya yang
Urutan predikat dapat mempengaruhi waktu
telah digunakan dan sebuah model yang
yang dibutuhkan untuk proses query join.
dikembangkan untuk menghitung variabel-
Untuk memiliki rencana query siap pada
variabel pada jurnal tersebut.
compile time, perlu dimiliki selektivitas dari
yang
diperhitungkan
Dalam bagian bahasa pemrograman
we
these
aspek
need
to
have
selectivities,
yang
we
menentukan
the
use
untuk
semua query predikat. Untuk menghitung
yang telah dieksplor selama ini dapat
selektivitas
melakukan penyusunan query dan melakukan
Dengan diterapkannya model optimasi query
optimasi
menggunakan
query
pada
run-time.
Dalam
ini,
digunakan
histogram
histogram.
pada
setiap
simulasi ini dilakukan sebuah pengembangan
database yang terdistribusi ini diharapkan
model yang melakukan optimasi query pada
dapat mengurangi nilai sumber daya yang
compile-time
akan diperhitungkan menggunakan model
semaksimal
mungkin
menggunakan histogram. Menurut artikel
yang ada.
dari sebuah halaman web (Wikipedia, 2011) tentang histogram, ”Pada bidang statistik, 2
LANDASAN TEORI
sesual
Simulasi
diberikan
Simulasi
adalah
sebuah
model
dengan
spesifikasi
yang
Kontras dengan beberapa kelebihan yang
matematika yang menjelaskan tingkah laku
disebutkan sebelumnya model simulasi juga
sebuah sistem dalam beberapa waktu dengan
memiliki beberapa kekurangan, antara lain:
mengobservasi tingkah laku dari sebuah
1.
model matematika untuk beberapa waktu seseorang analis bisa mengambil kesimpulan tentang tingkah laku dari sistem dunia nyata yang
disimulasikan.
Karena
Kualitas dan analisis model tergantung pada si pembuat model
2.
Hanya
mengestimasi
karakteristik
sistem berdasarkan masukan tertentu
simulasi
Validasi model merupakan proses
membahas tentang sistem maka perlu adanya
pengujian terhadap model apakah model
pengertian
mengenai
sistem.
Sistem
yang dibuat sudah sesuai dengan sistem
merupakan
himpunan
dari
subsistem-
nyatanya. Hal ini akan dilakukan secara
subsistem yang bermanfaat untuk mencapai
manual melalui perhitungan matematika
suatu tujuan yang telah ditetapkan. (Utama,
dengan formula (Suryani, 2006) sebagai
2010)
berikut: Model simulasi merupakan alat yang
cukup fleksibel untuk memecahkan masalah yang
sulit
untuk
dipecahkan
dengan
matematis biasa. Model simulasi sangat efektif digunakan untuk sistem yang relatif
|
|
................................................... (1)
Dimana adalah nilai rata-rata data adalah nilai rata-rata hasil simulasi
kompleks untuk pemecahan analitis dari model tersebut. (Suryani, 2006) Berikut merupakan
beberapa
kelebihan
model
Tidak
semua
sistem
dapat
direpresentasikan
dalam
model
matematis,
simulasi
merupakan
Dapat bereksperimen tanpa adanya
Simulasi dapat mengestimasi kinerja sistem
pada
kondisi
masalah bisnis maupun teknis. Software ini dikembangkan oleh Ventana Systems, Inc
kebutuhan dalam mengembagkan modelmodel simulasi. (Suryani, 2006) Vensim
resiko pada sistem nyata 3.
untuk membantu menyelesaikan masalah-
yang dikembangkan sebagai respon terhadap
alternatif yang tepat 2.
Vensim Simulation merupakan bahasa simulasi yang dapat digunakan sebagai tool
simulasi, antara lain: 1.
Vensim
tertentu
dan
memberikan alternatif desain terbaik
merupakan
salah
satu
dari
beberapa
perangkat lunak berbayar yang tersedia untuk memfasilitasi dalam pembangunan model 3
sistem dinamis. Vensim ini merupakan perangkat
lunak
shareware.
2.
Dengan
Untuk waktu respon, meminimumkan I/O dan meminimumkan penggunaan
demikian dapat membantu pelajar atau user memory
dalam mempelajari software ini sebelum membelinya.
Dengan
Vensim
pengguna
dapat membangun Causal Loop Diagram,
3.
Menemukan jalan akses yang termurah untuk meminimumkan total waktu pada
Stock Diagram, Flow Diagram. saat proses sebuah query Optimasi Query Data yang tersimpan dalam database
Tahapan Optimasi Query
semakin lama akan semakin besar ukuran
Proses optimasi query merupakan
atau volumenya. Jika tidak didukung dengan
salah satu modul dalam proses mengeksekusi
kecepatan akses yang memadai maka akan
query dari tingkat user hingga menampilkan
semakin menurun unjuk kerjanya. Ukuran
hasilnya.
performa dalam hal ini kecepatan akses data
optimasi query dalam proses eksekusi suatu
dipengaruhi oleh banyak faktor. Pada subbab
set query:
Berikut
menunjukkan
modul
ini akan membahas tentang optimasi query serta faktor-faktor lain yang berpengaruh
SQL
terhadap optimalisasi kecepatan akses data. Menurut dokumen tentang optimasi query
yang
diunduh
dari
internet
menyatakan, “optimasi query adalah sebuah prosedur
untuk
meningkatkan
SCANNER
PARSER MENGHASILKAN PARSE TREE
strategi
evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi lebih efektif.”
QUERY OPTIMIZER MENGHASILKAN QUERY PLAN
(Laila, 2011)Ada tiga aspek dasar yang mempengaruhi optimasi query, yaitu: 1.
Search space
2.
Cost model
3.
Search strategy Sedangkan untuk tujuan optimasi
INTERPRETER MENGHASILKAN KODE QUERY QUERY PROCESSOR
HASIL QUERY
Gambar 1 Tahapan Memproses Query (Laila, 2011)
query tersebut, antara lain: 1.
Untuk meminimumkan waktu proses 4
Dikatakan dalam sebuah jurnal yang
karena
hanya
desain
logik
saja
yang
membahas tentang pemrosesan query dan
diperhatikan. Padahal untuk menampilkan
optimasi
melakukan
hasil query dibutuhkan pencarian yang
identifikasi (pengenalan) token-token seperti
melibatkan struktur fisik penyimpanan data.
SQL keywords, atribut, dan nama relasi.
Inti
Proses ini disebut dengan scanning. Query
meminimalkan
Parser mengecek kevalidan query dan
menemukan data yang disimpan dalam lokasi
kemudian menterjemahkannya ke dalam
fisik.
bahwa
scanner
dari
optimasi “jalur”
query
adalah
pencarian
untuk
sebuah bentuk internal yaitu ekspresi relasi
Index pada database digunakan untuk
aljabar atau parse tree. Proses ini disebut
meningkatkan kecepatan akses data. Pada
dengan parsing. Query Optimizer memeriksa
saat query dijalankan, index mencari data dan
semua ekspresi-ekspresi aljabar yang sama
menentukan nilai ROWID yang membantu
untuk query yang diberikan dan memilih
menemukan lokasi data secara fisik di disk.
salah satu dari ekspresi tersebut yang terbaik
Akan tetapi penggunaan index yang tidak
yang memiliki perkiraan termurah. Tugas
tepat, tidak akan meningkatkan unjuk kerja
dari query optimizer adalah menghasilkan
dalam hal ini kecepatan akses data.
sebuah rencana eksekusi. Proses ini disebut
Misal
digunakan buah
yang
kolom
yang
dengan optimasi query. Code Generator atau
melibatkan
Interpreter
rencana
mengurutkan kolom menurut kota, propinsi
akses yang dihasilkan oleh optimizer ke
dan kode pos dari tabel karyawan, sebagai
dalam kode-kode. Setelah itu, kode-kode
berikut:
mentransformasikan
tiga
index
tersebut dikirimkan ke dalam query processor untuk
dijalankan.
melakukan
eksekusi
Query query
CREATE INDEX idx_kota_prop_kodepos ON karyawan(kota, propinsi, kode_pos) TABLESPACE INDX;
Processor untuk
Kemudian user melakukan query
mendapatkan hasil query yang diinginkan. (Laila, 2011)
sebagai berikut: SELECT
Optimasi pada Perintah SQL
*
FROM
karyawan
WHERE
propinsi=’Jawa Barat’;
Desain aplikasi saja tidak cukup
Pada saat melakukan query ini, index
untuk meningkatkan unjuk kerja harus
tidak akan digunakan karena kolom pertama
didukung dengan optimasi dari perintah SQL
(kota)
yang digunakan pada aplikasi tersebut.
WHERE. Jika user sering melakukan query
Dalam mendesain database, seringkali lokasi
ini, maka kolom index harus diurutkan
fisik data tidak menjadi perhatian penting
menurut
tidak
digunakan
propinsi.
Selain
dalam
itu,
klausa
proses 5
pencarian data akan lebih cepat jika data
dengan mudah ditentukan melalui sebuah
terletak pada blok tabel yang berdekatan
batasan. Jika data tersebut bersifat kategori
daripada harus mencari di beberapa datafile
maka dapat dikelompokkan berdasarkan
yang terletak pada blok yang berbeda.
urutan hurufnya. Selanjutnya, dilakukan
Misal pada perintah SQL berikut ini :
eksekusi query beberapa sampel. Eksekusi sampel ini mengkonsumsi sejumlah kecil dari
SELECT * FROM karyawan WHERE id BETWEEN 1010 AND 2010;
sumber daya yang tersedia. Dari hasil query
Query ini akan melakukan “scan” terhadap
sedikit
karyawan
blok
diatas
data
diurutkan
jika
tabel
berdasarkan
kolom id. Untuk mengurutkan berdasarkan kolom
yang
berbeda-beda
maka
tabel
disimpan dalam flat file, kemudian tabel diekspor dan diurutkan sesuai kebutuhan. Alternatif yang lain, bisa digunakan perintah untuk membuat tabel lain yang memiliki urutan yang berbeda dari tabel asal,
tersebut, akan diperkirakan frekuensi untuk histogram. Namun, data yang mendasar dapat cenderung mengalami perubahan. Jadi perlu memiliki perkiraan untuk pola perubahan data. Untuk ini, mencatat perubahan data, perkiraan
delta
perubahan
dan
pola
perubahan yang dapat disimpulkan sebagai eksekusi dilanjutkan sehingga histogram yang beradaptasi untuk penambahan data. (Nerella, Surapaneni, Madria, & Weigert, 2010)
seperti perintah SQL berikut :
Terdapat pendekatan khusus dalam CREATE TABLE karyawan_urut AS SELECT * FROM karyawan ORDER BY id;
menentukan estimasi biaya untuk masingmasing predikat dan join yang terdapat dalam tabel
suatu query. Jika sebuah tabel T terdapat
karyawan_urut berisi data yang sama dengan
100.000 baris dan predikat a menghasilkan
tabel
10
Pada
SQL
karyawan
diatas,
hanya
datanya
terurut
baris
(T.a=10)
dan
dalam
sebuah
histogram menunjukkan T.a=10 adalah 10%
berdasarkan kolom id.
(Nerella, Surapaneni, Madria, & Weigert, Optimasi Query menggunakan Histogram
2010), maka
Dalam sebuah jurnal tentang optimasi dengan
memanfaatkan
histogram
....................... (1)
Beban predikat a dalam query adalah 10.000
menggunakan dari distribusi data yang ada dibangun sebuah histogram yang berisikan frekuensi
munculnya
data tertentu dan
Pemeliharaan Histogram Dijelaskan
dalam
tentang
sebuah
jurnal
optimasi
query
dikelompokkan (buckets). Jika data tersebut
internasional
bersifat numerik maka pengelompokan dapat
menggunakan histogram bahwa data yang 6
mendasar bisa berubah. Untuk data yang
PENGEMBANGAN MODEL
dapat berubah seperti itu, dibutuhkan sebuah
PROSES Identifikasi Masalah
teknik untuk merestrukturisasi histogram
OUTPUT Studi Literatur
Masalah yang yang ditemui : 1.Bagaimana menggabungkan model optimisasi query menggunakan histogram dan model untuk determinasi biaya sumber daya yang digunakan pada sistem database terdistribusi;
Rumusan Masalah
sesuai
perkembangan
data.
Dengan
Tahap Identifikasi Masalah
2. Apakah model optimisasi menggunakan histogram dapat membantu meminimalisasi biaya sumber daya yang akan diperhitungkan menggunakan model yang ada pada sistem database terdistribusi.
Tujuan Penelitian
demikian, jika database diperbarui, maka dihitung kesalahan estimasi dari histogram
Tahap Pengembangan Model
Penguraian model determinasi biaya sumber daya sebuah database terdistribusi
Penguraian model optimisasi query menggunakan histogram
dengan menggunakan persamaan berikut.
Generalisasi kedua model
(Nerella, Surapaneni, Madria, & Weigert,
Generalisasi Model optimisasi query
Verifikasi
Tahap Pengujian
Validasi
2010)
Grafik perbandingan antara sistem tanpa model optimisasi dan sistem dengan model optimisasi
Data Simulasi
Data Sistem Nyata
Skenario Parameter
Pembahasan
∑
√
(
Pembahasan terhadap model optimisasi query yang telah dikembangkan
)
....................................... (2)
Kesimpulan
................................. (3)
Saran
Rekomendasi dan alternatif perbaikan
Gambar 2 Tahapan Penelitian
Dimana:
Berdasarkan gambar diagram di atas
1. μ_a adalah estimasi kesalahan/error pada setiap atribut
dalam tahap pengembangan model akan dimulai dengan penguraian dari kedua
2. β adalah jumlah pengelompokan/wadah
model.
3. N adalah jumlah baris dalam R Model Histogram
4. S adalah jumlah baris yang diseleksi 5. f_i
adalah
frekuensi
pengelompokan/wadah i pada histogram
8. T_i adalah perkiraan kesalahan untuk
bobot
setiap
atribut
optimasi
query
dapat berubah seperti itu, dibutuhkan sebuah
Jika kesalahan (Ti) adalah> 0,5 maka Jika
tidak,
maka
menggunakan histogram lama yang sama untuk memberikan estimasi selektivitas.
sesuai
perkembangan
data.
(Nerella,
Surapaneni, Madria, & Weigert, 2010)
tergantung pada tingkat perubahan
histogram.
jurnal
teknik untuk merestrukturisasi histogram
setiap tabel
update
tentang
sebuah
mendasar bisa berubah. Untuk data yang
7. B_i adalah frekuensi yang diamati
adalah
internasional
dalam
menggunakan histogram bahwa data yang
6. q_f= S⁄N adalah frekuensi query
9. W_i
Dijelaskan
dari
Dengan demikian, jika database diperbarui, maka
dihitung
kesalahan
estimasi
dari
histogram dengan menggunakan persamaan yang disebutkan sebelumnya.
7
terpusat Beta
S
-
-
sumber
dibutuhkan
daya
untuk
yang
memproses
query adalah memory dan CPU. Maka Ti
-
+
Miu a
N
dari
itu,
pekerjaan
pemrosesan query tersebut dapat
-
Wn dibebankan pada salah satu titik
-
dalam suatu sistem terdistribusi + f
x
yang memiliki sumber daya yang cukup
+
besar
terutama
dalam
memori dan CPU. Tidak ada B Gambar 3 Optimasi menggunakan histogram
beban transmisi yang terlibat dalam
hal
ini.
terdistribusi, Gambar 3 menunjukkan hubungan masing-masing variabel terhadap Miu a. Variabel S, Beta, N, dan x berpengaruh negatif terhadap Miu a, yang artinya semakin besar nilai variabel akan mengurangi Miu a. Sedangkan variabel f dan B berpengaruh positif terhadap x. Miu a sendiri akan berpengaruh positif terhadap Ti, semakin besar nilai Miu a maka akan menambah nilai
Dalam
query
kasus
teruraikan
query dalam
beberapa subquery dan data yang diperlukan dalam subquery tersebut dapat berada dalam beberapa titik dalam database terdistribusi pula. Dalam hal ini biaya transmisi juga dipertimbangkan. Dengan demikian fungsi biaya dalam mengeksekusi query pada sistem terdistribusi
melibatkan
tiga
parameter
utama, antara lain biaya komunikasi, biaya I/O dan biaya CPU.
Ti. Sedangkan Wn berpengaruh negatif
+
terhadap Ti.
I/O Cost
COST IN DATAGRIDS
+ Communication Cost
+
+ I/O Cost
COST IN DATAGRIDS
+ Communication Cost
+
-
CPU Cost
Beta
S
-
-
Miu a
N
Gambar 4 Model variabel formulasi database terdistribusi
f
Y Ti
+ -
+
Y
CPU Cost
x
Wn
+ B
Gambar 5 Model optimasi yang diajukan
Dalam lingkungan sistem terdistribusi
Model yang diajukan seperti yang ada
terdapat dua tipe query yang berbeda, yaitu
pada gambar 5 terbagi atas dua model. Model
query terpusat dan terdistribusi. Pada query
yang pertama adalah model optimasi query 8
menggunakan histogram dari distribusi data dalam
suatu
database.
Pemodelan
Vensim
tersebut
menggunakan menggambarkan digunakan
variable-variabel
untuk
menghitung
yang tingkat
kesalahan dalam suatu histogram. Jika tingkat kesalahan dalam suatu histogram kurang dari 0,5 maka histogram tersebut akan valid dan diasumsikan sudah berhasil untuk
Gambar 7 Verifikasi model
mengoptimasi suatu set query. Validasi Model IMPLEMENTASI DAN EVALUASI Dalam bagian ini tentang
implementasi
query.
Tahap-tahap
Untuk
akan dibahas
simulasi
optimasi
implementasi
akan
menguji
tingkat
validitas
model yang diajukan diperlukan adanya skenario. Skenario yang ditentukan adalah dengan mengeksekusi query sebagai berikut:
terbagi atas 3 proses utama, antara lain verifikasi, validasi dan pengujian model. Hal ini dapat dilihat pada gambar berikut. Model
Data Simulasi
select * from mhs_mf_ta m, kurlkl_mf_ta k, fak_mf_ta f where m.nim=00410100005 and k.fakul_id=f.id and m.jur_id=f.id;
Data Sistem Nyata
Berikut
merupakan
biaya
total
menurut model. Verifikasi
Validasi
Pengujian Model
Hasil Uji
Gambar 6 Rencana implementasi dan evaluasi Verifikasi Verifikasi model merupakan proses pengecekan terhadap model apakah sudah bebas dari eror (Suryani, 2006). Tahapan ini akan dibantu dengan alat ukur yang sudah ada dalam perangkat lunak, Vensim. Hal ini akan Nampak seperti pada gambar berikut:
Gambar 8 Biaya total menurut model Maka total biaya menurut model adalah 10.92% dan hasil tersebut akan dibandingkan dengan total biaya sistem nyata bila tidak menggunakan histogram. 9
Tabel 1 CPU cost masing-masing operasi PLAN_TABLE_OUTPUT Plan hash value: 3840543679
NO HISTOGRAM
------| Id | ------| 0| |* 1 | | 2| |* 3 | | 4| |* 5 | | 6| -------
--------------Name | --------------| | | MHS_MF_TA | FAK_MF_TA | SYS_C004591 | KURLKL_MF_TA | ---------------
-------------------------------Operation | -------------------------------SELECT STATEMENT | HASH JOIN | NESTED LOOPS | TABLE ACCESS FULL | TABLE ACCESS BY INDEX ROWID| INDEX UNIQUE SCAN | TABLE ACCESS FULL | --------------------------------
Pengujian Model Dalam pengujian akan ditetapkan
-------Rows | -------24 | 24 | 1| 1| 1| 1| 2708 | --------
-------Bytes | -------6864 | 6864 | 197 | 133 | 64 | | 235K| --------
------------Cost (%CPU)| ------------100 (3)| 100 (3)| 89 (4)| 88 (4)| 1 (0)| 0 (0)| 11 (0)| -------------
----------Time | ----------00:00:02 | 00:00:02 | 00:00:02 | 00:00:02 | 00:00:01 | 00:00:01 | 00:00:01 | -----------
CPU COST 3.278689 3.278689 4.371585 4.371585 0 0 0
sebagai berikut: 1. Spesifikasi CPU yang digunakan adalah 1.83Ghz 2. Menggunakan sistem operasi Windows 7
Dari tabel di atas nampak CPU Cost untuk
masing-masing
operasi.
Dengan
diketahui biaya dari masing-masing operasi maka dapat diketahui total biaya eksekusi,
Ultimate 3. Menggunakan sistem manajemen database Oracle 10g 4. Terdapat 3 tabel yang tersimpan dalam database lengkap dengan ribuan data
yaitu 15.30%. Suatu
model
simulasi
akan
5. Vensim sebagai tools untuk menjalankan
dinyatakan valid apabila tingkat kesalahan
model dengan inputan yang ditentukan
kurang dari sama dengan 5% (E≤3%).
6. Terdapat 3 query yang berbeda, antara
(Suryani, 2006) Maka dengan formula perhitungan tingkat kesalahan yang telah diberikan sebelumnya dapat dihitung tingkat kesalahan dari hasil biaya menurut sistem nyata dengan model simulasi. Diketahui total
lain select * from mhs_mf_ta m, fak_mf_ta f where f.id=m.jur_id; select * from mhs_mf_ta m, fak_mf_ta f where m.nim=00410100005 and m.jur_id=f.id; select * from mhs_mf_ta m, fak_mf_ta f, kurlkl_mf_ta k where m.jur_id=f.id and f.id=k.fakul_id;
biaya eksekusi suatu perintah sql menurut sistem nyata adalah 15.30%, sedangkan total
Berikut
ini
merupakan
tabel
biaya eksekusi perintah sql menurut model
perbandingan dari keseluruhan query sebagai
simulasi adalah 10.92%. Dari kedua data
ringkasan.
yang diketahui tersebut maka dicari tingkat kesalahannya untuk membuktikan kevalidan model. Maka, |
|
Dengan diketahui tingkat kesalahan adalah 0.29% maka model dapat dinyatakan bahwa tergolong valid karena 0.29% < 5%.
10
Tabel 2 Perbandingan hasil masing-masing query
Q ue ry 1
Q ue ry 2
Q ue ry 3
Q ue ry 4
Query berdasar kan histogra m select * from mhs_mf_t a m, fak_mf_ta f, kurlkl_mf _ta k where m.jur_id= f.id and k.fakul_id =f.id and m.nim=00 41010000 5; select * from mhs_mf_t a m, fak_mf_ta f where f.id=m.jur _id; select * from mhs_mf_t a m, fak_mf_ta f where m.jur_id= f.id and m.nim=00 41010000 5; select * from mhs_mf_t a m, kurlkl_mf _ta k, fak_mf_ta f where m.jur_id= f.id and k.fakul_id =f.id and m.nim=00 41010000 5
Query sistem nyata select * from mhs_mf_t a m, fak_mf_ta f, kurlkl_mf _ta k where m.nim=0 04101000 05 and k.fakul_id =f.id and m.jur_id= f.id; select * from mhs_mf_t a m, fak_mf_ta f where f.id=m.jur _id; select * from mhs_mf_t a m, fak_mf_ta f where m.nim=0 04101000 05 and m.jur_id= f.id; select * from mhs_mf_t a m, kurlkl_mf _ta k, fak_mf_ta f where m.nim=0 04101000 05 and m.jur_id= f.id and k.fakul_id =f.id;
Ditampilkan pada tabel 2 informasiinformasi tentang beberapa query yang
Hist ogra m
No Hist ogra m
% Error Varia nce
dibangun menurut histogram, query sistem nyata yang dimaksud adalah query jika tanpa dasar histogram untuk penyusunannya, biaya yang
dibutuhkan
untuk
mengeksekusi
masing-masing query tersebut berdasarkan histogram
maupun
tidak
berdasarkan
histogram, dan masing-masing tingkat error 10.9 2
15.3
0.286 27451
dari besar perbandingan biaya kedua teknik. Tampak dari informasi yang diberikan tabel 2 bahwa mayoritas biaya yang dibutuhkan untuk mengeksekusi query yang dibangun menggunakan
histogram
lebih
kecil
dibandingkan query yang dibangun tidak 12.0 2
12.0 2
berdasarkan histogram. 0
KESIMPULAN Setelah
dilakukan
uji
coba
dan
evaluasi terhadap model simulasi optimasi query menggunakan histogram, maka dapat 6.55 7
13.1 1
0.499 84744 5
ditarik kesimpulan sebagai berikut: 1. Untuk menggabungkan model optimasi query menggunakan histogram dan model untuk determinasi biaya sumber daya adalah dengan mempelajari variabel penghubung kedua model setelah dilakukan studi literatur dari jurnal-jurnal pendukung. Setelah itu
10.9 2
15.3
0.286 27451
menterjemahkan
variabel-variabel
yang
terdapat dalam jurnal menjadi sebuah model menggunakan Vensim Simulation. 2. Pada tabel 2 sebelumnya menampilkan tiga
dari
empat
query
yang
diuji
menunjukkan hasil eksekusi menggunakan 11
konsep histogram lebih kecil dibandingkan eksekusi
query
tanpa
menggunakan
Li, D., Han, L., & Ding, Y. (2010). SQL Query
Optimization
Methods
of
histogram. Maka, model yang diajukan dapat
Relational Database System. 2010
membantu meminimalisasi biaya sumber
Second International Conference on
daya.
Computer
Engineering
and
Applications, 558. SARAN Adapun beberapa saran yang dapat diberikan kepada peneliti berikutnya apabila ingin mengembangkan model yang telah dibuat ini agar menjadi lebih baik adalah sebagai berikut:
Nerella, V. K., Surapaneni, S., Madria, S. K., & Weigert, T. (2010). Exploring Query Optimization in Programming Codes
by
Execution.
1. Model dapat dikembangkan lagi dengan mengimplementasikan algoritma tambahan,
Reducing IEEE
Run-Time
34th
Annual
Computer Software and Applications Conference, 407-411.
yaitu split and merge. 2. Prinsip model dapat dikembangkan lagi menjadi suatu software yang secara otomatis menjalankan proses optimasi.
Pegasus
Communications,
Inc.
(2011).
Causal Loop Diagrams. Retrieved February
11,
2012,
from
www.pegasuscom.com: DAFTAR RUJUKAN
http://www.pegasuscom.com/cld.html
Anh, N. K. (2009). Query Processing and Optimization.
The
Connexions
Project, 3.
Rebba, R., & Mahadevan, S. (2006). Validation
of
models
with
multivariate output. Elsevier. Bellinger, G. (2004). Translating Systems Thinking Diagrams to Stocks & Flow Diagrams. Retrieved February 11, 2012, from The Way of Systems: http://www.systemsthinking.org/stsf/stsf.htm
Silberschatz, A., Korth, H. F., & Sudarshan, S. (2005, September 1). Database System
Concept
of Cost Model for Constraintbased. ACEEE, 237.
5th
edition.
Retrieved Januari 30, 2011, from Department of Computer Science and Engineering
Chhanda Ray, N. G. (2010). Determination
-
Indian
Institute
Technology
of
Bombay:
http://www.cse.iitb.ac.in/~sudarsha/d b-book/slide-dir/ch14.pdf 12
Stockinger, H. (2003). Distributed Database Management Systems and the Data Grid. IEEE, 1.
Suryani, E. (2006). Pemodelan dan Simulasi. Yogyakarta: Graha Ilmu.
Utama,
I.
G.
(2010).
Pemodelan
dan
Simulasi. Surabaya: STIKOM.
Wah, T. Y., & A. B, Z. (2000). Query Processing
Techniques
in
Data
Warehousing Using Cost Model. The Electronic Journal on Information Systems in Developing Countries, 19.
Wiktionary. (2010, Oktober 23). compile time. Retrieved Januari 30, 2011, from
Wiktionary:
http://en.wiktionary.org/wiki/compile _time
Zafarani, E., Derakhshi, M. R., Asil, H., & Asil, A. (2010). Presenting a New Method for Optimizing Join Queries Processing
in
Distributed
Databases.
International Knowledge
Heterogeneous
Conference Discovery
and
Third on Data
Mining, 379-382.
13