06410100005 makala h

23

Click here to load reader

Upload: loneli-costaner

Post on 24-Jul-2015

52 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 06410100005 Makala h

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 DBMSKeyword: Query Optimization, histogram, simulation

Proses optimasi pada query dalam

sebuah relasi database menjadi pekerjaan

yang ”mahal” saat berurusan dengan relasi

dalam jumlah besar. Jumlah kemungkinan

cara untuk mengeksekusi sebuah set query

meningkat secara eksponen bersamaan

dengan jumlah relasi yang terdapat dalam

set query tersebut. Mencari cara terbaik

dengan waktu eksekusi tercepat adalah

sebuah kewajiban semenjak strategi yang

salah diterapkan dalam sebuah database

sehingga meningkatkan waktu eksekusi

sebuah set query. Dengan meningkatnya

kompleksitas sebuah database, hal

tersebut menjadi penting bagi metode-

metode query optimizer untuk mengadopsi

sebuah algoritma yang membutuhkan cost

rendah dalam hal waktu eksekusi.

Usaha sebelumnya untuk

menyelesaikan permasalahan tersebut

berkisar pada strategi pencarian seperti

deterministic, randomized dan heuristic.

Banyak algoritma diajukan oleh banyak

literatur, seperti Simulated Annealing

(SA), Iterative Improvement (II), Two

Phase Optimization (2PO) dan Genetic

Algorithm. Contoh-contoh yang

disebutkan adalah algoritma random yang

umum yang telah diaplikasikan pada

query optimization.

Dikatakan pada sebuah jurnal

internasional yang membahas tentang

distributed database adalah “a collection

of multiple, logically interrelated

databases distributed over a computer

network” (Zafarani, Derakhshi, Asil, &

1

Page 2: 06410100005 Makala h

Asil, 2010) Pada pernyataan tersebut

menjelaskan bahwa database terdistribusi

merupakan kumpulan database yang

tersebar pada sebuah jaringan komputer

dan terintegrasi secara logika. Pada

kenyataannya dalam database yang

terdistribusi ini memerlukan sumber daya

yang cukup tinggi untuk mendapatkan

performa yang baik. Untuk mendukung

pencapaian performa sistem database

terdistribusi yang optimal diperlukan

sebuah metode optimasi pula. Pada sebuah

jurnal internasional menyatakan ”the cost

function for query execution in grid

environment involves three major

parameters, namely, communication cost,

I/O cost, and CPU cost” (Ray & Guha,

2010) bahwa fungsi biaya untuk eksekusi

query dalam lingkungan grid/terdistribusi

melibatkan tiga parameter utama, yang

disebut, communication cost, I/O cost, dan

CPU cost. Beberapa variabel tersebut

yang diperhitungkan untuk mendapatkan

nilai biaya sumber daya yang telah

digunakan dan sebuah model yang

dikembangkan untuk menghitung

variabel-variabel pada jurnal tersebut.

Dalam bagian bahasa

pemrograman yang telah dieksplor selama

ini dapat melakukan penyusunan query

dan melakukan optimasi query pada run-

time. Dalam simulasi ini dilakukan sebuah

pengembangan model yang melakukan

optimasi query pada compile-time

semaksimal mungkin menggunakan

histogram. Menurut artikel dari sebuah

halaman web (Wikipedia, 2011) tentang

histogram, ”Pada bidang statistik,

histogram adalah tampilan grafis dari

tabulasi frekuensi yang digambarkan

dengan grafis batangan sebagai

manifestasi data binning.” Histogram

digunakan untuk mengestimasi urutan

selektivitas dari distribusi data tertinggi

hingga terendah yang ada dalam sebuah

query. Selektivitas mengacu pada sebuah

jurnal yang mengatakan, ”The selectivity

of a predicate in a query is a decisive

aspect for a query plan generation. The

ordering of predicates can considerably

affect the time needed to process a join

query. To have the query plan ready at

compile-time, we need to have the

selectivities of all the query predicates. To

calculate these selectivities, we use

histograms.” (Li, Han, & Ding, 2010)

Selektivitas predikat (where) dalam query

adalah aspek yang menentukan untuk

menghasilkan rencana query (query plan).

Urutan predikat dapat mempengaruhi

waktu yang dibutuhkan untuk proses

query join. Untuk memiliki rencana query

siap pada compile time, perlu dimiliki

selektivitas dari semua query predikat.

Untuk menghitung selektivitas ini,

digunakan histogram. Dengan

diterapkannya model optimasi query

menggunakan histogram pada setiap

2

Page 3: 06410100005 Makala h

database yang terdistribusi ini diharapkan

dapat mengurangi nilai sumber daya yang

akan diperhitungkan menggunakan model

yang ada.

3

Page 4: 06410100005 Makala h

LANDASAN TEORI

Simulasi

Simulasi adalah sebuah model

matematika yang menjelaskan tingkah

laku sebuah sistem dalam beberapa waktu

dengan mengobservasi tingkah laku dari

sebuah model matematika untuk beberapa

waktu seseorang analis bisa mengambil

kesimpulan tentang tingkah laku dari

sistem dunia nyata yang disimulasikan.

Karena simulasi membahas tentang sistem

maka perlu adanya pengertian mengenai

sistem. Sistem merupakan himpunan dari

subsistem-subsistem yang bermanfaat

untuk mencapai suatu tujuan yang telah

ditetapkan. (Utama, 2010)

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 kompleks untuk pemecahan

analitis dari model tersebut. (Suryani,

2006) Berikut merupakan beberapa

kelebihan model simulasi, antara lain:

1. Tidak semua sistem dapat

direpresentasikan dalam model

matematis, simulasi merupakan

alternatif yang tepat

2. Dapat bereksperimen tanpa adanya

resiko pada sistem nyata

3. Simulasi dapat mengestimasi kinerja

sistem pada kondisi tertentu dan

memberikan alternatif desain terbaik

sesual dengan spesifikasi yang

diberikan

Kontras dengan beberapa kelebihan yang

disebutkan sebelumnya model simulasi juga

memiliki beberapa kekurangan, antara lain:

1. Kualitas dan analisis model tergantung

pada si pembuat model

2. Hanya mengestimasi karakteristik

sistem berdasarkan masukan tertentu

Validasi model merupakan proses

pengujian terhadap model apakah model

yang dibuat sudah sesuai dengan sistem

nyatanya. Hal ini akan dilakukan secara

manual melalui perhitungan matematika

dengan formula (Suryani, 2006) sebagai

berikut:

E 1=|S−A|

A................................(1)

Dimana A adalah nilai rata-rata dataS adalah nilai rata-rata hasil simulasi

Vensim

Vensim Simulation merupakan

bahasa simulasi yang dapat digunakan

sebagai tool untuk membantu

menyelesaikan masalah-masalah bisnis

maupun teknis. Software ini

dikembangkan oleh Ventana Systems, Inc

yang dikembangkan sebagai respon

terhadap kebutuhan dalam

mengembagkan model-model simulasi.

(Suryani, 2006) Vensim merupakan salah

satu dari beberapa perangkat lunak

4

Page 5: 06410100005 Makala h

berbayar yang tersedia untuk

memfasilitasi dalam pembangunan model

sistem dinamis. Vensim ini merupakan

perangkat lunak shareware. Dengan

demikian dapat membantu pelajar atau

user dalam mempelajari software ini

sebelum membelinya. Dengan Vensim

pengguna dapat membangun Causal Loop

Diagram, Stock Diagram, Flow Diagram.

Optimasi Query

Data yang tersimpan dalam

database semakin lama akan semakin

besar ukuran atau volumenya. Jika tidak

didukung dengan kecepatan akses yang

memadai maka akan semakin menurun

unjuk kerjanya. Ukuran performa dalam

hal ini kecepatan akses data dipengaruhi

oleh banyak faktor. Pada subbab ini akan

membahas tentang optimasi query serta

faktor-faktor lain yang berpengaruh

terhadap optimalisasi kecepatan akses

data.

Menurut dokumen tentang

optimasi query yang diunduh dari internet

menyatakan, “optimasi query adalah

sebuah prosedur untuk meningkatkan

strategi evaluasi dari suatu query untuk

membuat evaluasi tersebut menjadi lebih

efektif.” (Laila, 2011)Ada tiga aspek dasar

yang mempengaruhi optimasi query,

yaitu:

1. Search space

2. Cost model

3. Search strategy

Sedangkan untuk tujuan optimasi

query tersebut, antara lain:

1. Untuk meminimumkan waktu proses

2. Untuk waktu respon, meminimumkan

I/O dan meminimumkan penggunaan

memory

3. Menemukan jalan akses yang termurah

untuk meminimumkan total waktu pada

saat proses sebuah query

Tahapan Optimasi Query

Proses optimasi query merupakan

salah satu modul dalam proses

mengeksekusi query dari tingkat user

hingga menampilkan hasilnya. Berikut

menunjukkan modul optimasi query

dalam proses eksekusi suatu set query:

5

Page 6: 06410100005 Makala h

Gambar 1 Tahapan Memproses Query (Laila,2011)

Dikatakan dalam sebuah jurnal

yang membahas tentang pemrosesan

query dan optimasi bahwa scanner

melakukan identifikasi (pengenalan)

token-token seperti SQL keywords,

atribut, dan nama relasi. Proses ini disebut

dengan scanning. Query Parser mengecek

kevalidan query dan kemudian

menterjemahkannya ke dalam sebuah

bentuk internal yaitu ekspresi relasi

aljabar atau parse tree. Proses ini disebut

dengan parsing. Query Optimizer

memeriksa semua ekspresi-ekspresi

aljabar yang sama untuk query yang

diberikan dan memilih salah satu dari

ekspresi tersebut yang terbaik yang

memiliki perkiraan termurah. Tugas dari

query optimizer adalah menghasilkan

sebuah rencana eksekusi. Proses ini

disebut dengan optimasi query. Code

Generator atau Interpreter

mentransformasikan rencana akses yang

dihasilkan oleh optimizer ke dalam kode-

kode. Setelah itu, kode-kode tersebut

dikirimkan ke dalam query processor

untuk dijalankan. Query Processor

melakukan eksekusi query untuk

mendapatkan hasil query yang diinginkan.

(Laila, 2011)

Optimasi pada Perintah SQL

Desain aplikasi saja tidak cukup

untuk meningkatkan unjuk kerja harus

didukung dengan optimasi dari perintah

SQL yang digunakan pada aplikasi

tersebut. Dalam mendesain database,

seringkali lokasi fisik data tidak menjadi

perhatian penting karena hanya desain

logik saja yang diperhatikan. Padahal

untuk menampilkan hasil query

dibutuhkan pencarian yang melibatkan

struktur fisik penyimpanan data. Inti dari

optimasi query adalah meminimalkan

“jalur” pencarian untuk menemukan data

yang disimpan dalam lokasi fisik.

Index pada database digunakan

untuk meningkatkan kecepatan akses data.

Pada saat query dijalankan, index mencari

data dan menentukan nilai ROWID yang

membantu menemukan lokasi data secara

fisik di disk. Akan tetapi penggunaan

index yang tidak tepat, tidak akan

6

Page 7: 06410100005 Makala h

meningkatkan unjuk kerja dalam hal ini

kecepatan akses data.

Misal digunakan index yang

melibatkan tiga buah kolom yang

mengurutkan kolom menurut kota,

propinsi dan kode pos dari tabel

karyawan, sebagai berikut:

CREATE INDEX idx_kota_prop_kodeposON karyawan(kota, propinsi, kode_pos)TABLESPACE INDX;

Kemudian user melakukan query

sebagai berikut:SELECT * FROM karyawan WHERE

propinsi=’Jawa Barat’;

Pada saat melakukan query ini,

index tidak akan digunakan karena kolom

pertama (kota) tidak digunakan dalam

klausa WHERE. Jika user sering

melakukan query ini, maka kolom index

harus diurutkan menurut propinsi. Selain

itu, proses pencarian data akan lebih cepat

jika data terletak pada blok tabel yang

berdekatan daripada harus mencari di

beberapa datafile yang terletak pada blok

yang berbeda.

Misal pada perintah SQL berikut

ini :

SELECT * FROM karyawanWHERE id BETWEEN 1010 AND 2010;

Query ini akan melakukan “scan”

terhadap sedikit blok data jika tabel

karyawan diatas diurutkan 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, seperti perintah SQL

berikut :

CREATE TABLE karyawan_urutAS SELECT * FROM karyawanORDER BY id;

Pada SQL diatas, tabel

karyawan_urut berisi data yang sama

dengan tabel karyawan hanya datanya

terurut berdasarkan kolom id.

Optimasi Query menggunakan Histogram

Dalam sebuah jurnal tentang

optimasi dengan memanfaatkan histogram

menggunakan dari distribusi data yang

ada dibangun sebuah histogram yang

berisikan frekuensi munculnya data

tertentu dan dikelompokkan (buckets).

Jika data tersebut bersifat numerik maka

pengelompokan dapat dengan mudah

ditentukan melalui sebuah batasan. Jika

data tersebut bersifat kategori maka dapat

dikelompokkan berdasarkan urutan

hurufnya. Selanjutnya, dilakukan eksekusi

query beberapa sampel. Eksekusi sampel

ini mengkonsumsi sejumlah kecil dari

sumber daya yang tersedia. Dari hasil

query tersebut, akan diperkirakan

frekuensi untuk histogram. Namun, data

7

Page 8: 06410100005 Makala h

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)

Terdapat pendekatan khusus dalam

menentukan estimasi biaya untuk masing-

masing predikat dan join yang terdapat

dalam suatu query. Jika sebuah tabel T

terdapat 100.000 baris dan predikat a

menghasilkan 10 baris (T.a=10) dan

dalam sebuah histogram menunjukkan

T.a=10 adalah 10% (Nerella, Surapaneni,

Madria, & Weigert, 2010), maka

10 %∗100.000=10.000..........................(1)

Beban predikat a dalam query adalah 10.000

Pemeliharaan Histogram

Dijelaskan dalam sebuah jurnal

internasional tentang optimasi query

menggunakan histogram bahwa data yang

mendasar bisa berubah. Untuk data yang

dapat berubah seperti itu, dibutuhkan

sebuah teknik untuk merestrukturisasi

histogram sesuai perkembangan data.

Dengan demikian, jika database

diperbarui, maka dihitung kesalahan

estimasi dari histogram dengan

menggunakan persamaan berikut.

(Nerella, Surapaneni, Madria, & Weigert,

2010)

μa=

β√ SNβ ∑

i=1

β

( f i−Bi )2

N

.................................(2)

T i=W 1 μ1+W 2 μ2+…+W n μn

W 1+W 2+…+W n...................(3)

Dimana:

1. μ_a adalah estimasi kesalahan/error pada

setiap atribut

2. β adalah jumlah pengelompokan/wadah

3. N adalah jumlah baris dalam R

4. S adalah jumlah baris yang diseleksi

5. f_i adalah frekuensi dari

pengelompokan/wadah i pada histogram

6. q_f= S⁄N adalah frekuensi query

7. B_i adalah frekuensi yang diamati

8. T_i adalah perkiraan kesalahan untuk

setiap tabel

9. W_i adalah bobot setiap atribut

tergantung pada tingkat perubahan

Jika kesalahan (Ti) adalah> 0,5

maka update histogram. Jika tidak, maka

menggunakan histogram lama yang sama

untuk memberikan estimasi selektivitas.

PENGEMBANGAN MODEL

8

Page 9: 06410100005 Makala h

Identifikasi Masalah Studi Literatur

Rumusan Masalah

Tujuan Penelitian

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;

2. Apakah model optimisasi menggunakan histogram dapat

membantu meminimalisasi biaya sumber daya yang akan diperhitungkan

menggunakan model yang ada pada sistem database terdistribusi.

Tahap Identifikasi Masalah

Tahap Pengembangan

Model

Penguraian model optimisasi

query menggunakan

histogram

Penguraian model determinasi biaya

sumber daya sebuah database

terdistribusi

Generalisasi Model optimisasi query

VerifikasiTahap

Pengujian

PROSES OUTPUT

Grafik perbandingan antara sistem tanpa model optimisasi dan sistem

dengan model optimisasi

Pembahasan terhadap model optimisasi query yang telah dikembangkan

Pembahasan

Kesimpulan Saran Rekomendasi dan alternatif perbaikan

Generalisasi kedua model

Validasi

Skenario Parameter

Data Simulasi

Data Sistem Nyata

Gambar 2 Tahapan Penelitian

Berdasarkan gambar diagram di

atas dalam tahap pengembangan model

akan dimulai dengan penguraian dari

kedua model.

Model Histogram

Dijelaskan dalam sebuah jurnal

internasional tentang optimasi query

menggunakan histogram bahwa data yang

mendasar bisa berubah. Untuk data yang

dapat berubah seperti itu, dibutuhkan

sebuah teknik untuk merestrukturisasi

histogram sesuai perkembangan data.

(Nerella, Surapaneni, Madria, & Weigert,

2010) Dengan demikian, jika database

diperbarui, maka dihitung kesalahan

estimasi dari histogram dengan

menggunakan persamaan yang disebutkan

sebelumnya.

9

Page 10: 06410100005 Makala h

Miu a

-

S

-

N

-

Beta

Wn

Ti+ -

x

+

B

+

f

-

Gambar 3 Optimasi menggunakan histogram

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 Ti. Sedangkan

Wn berpengaruh negatif terhadap Ti.

COST INDATAGRIDS

+

I/O Cost + CommunicationCost

+

CPUCost

Y

Gambar 4 Model variabel formulasi database

terdistribusi

Dalam lingkungan sistem

terdistribusi terdapat dua tipe query yang

berbeda, yaitu query terpusat dan

terdistribusi. Pada query

terpusat sumber daya yang

dibutuhkan untuk

memproses query adalah

memory dan CPU. Maka

dari itu, pekerjaan

pemrosesan query tersebut

dapat dibebankan pada salah

satu titik dalam suatu sistem

terdistribusi yang memiliki

sumber daya yang cukup

besar terutama dalam memori dan CPU.

Tidak ada beban transmisi yang terlibat

dalam hal ini. Dalam kasus query

terdistribusi, query teruraikan 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.

COST INDATAGRIDS

+

I/O Cost + CommunicationCost

+

CPUCost

Miu a

-

S

-

N

-

Beta

Wn

Ti+-

x

+

B

+

f

-

Y

Gambar 5 Model optimasi yang diajukan

10

Page 11: 06410100005 Makala h

Model yang diajukan seperti yang

ada pada gambar 5 terbagi atas dua model.

Model yang pertama adalah model

optimasi query menggunakan histogram

dari distribusi data dalam suatu database.

Pemodelan menggunakan Vensim tersebut

menggambarkan variable-variabel yang

digunakan untuk menghitung 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 mengoptimasi suatu set query.

IMPLEMENTASI DAN EVALUASI

Dalam bagian ini akan dibahas

tentang implementasi simulasi optimasi

query. Tahap-tahap implementasi akan

terbagi atas 3 proses utama, antara lain

verifikasi, validasi dan pengujian model.

Hal ini dapat dilihat pada gambar berikut.

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 7 Verifikasi model

Validasi Model

Untuk menguji tingkat validitas

model yang diajukan diperlukan adanya

skenario. Skenario yang ditentukan adalah

dengan mengeksekusi query sebagai

berikut:

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;

Berikut merupakan biaya total

menurut model.

11

Page 12: 06410100005 Makala h

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.

Tabel 1 CPU cost masing-masing operasiPLAN_TABLE_OUTPUT NO HISTOGRAMPlan hash value: 3840543679 ------- -------------------------------- --------------- -------- -------- ------------- -----------| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | CPU COST------- -------------------------------- --------------- -------- -------- ------------- -----------| 0 | SELECT STATEMENT | | 24 | 6864 | 100 (3)| 00:00:02 | 3.278689|* 1 | HASH JOIN | | 24 | 6864 | 100 (3)| 00:00:02 | 3.278689| 2 | NESTED LOOPS | | 1 | 197 | 89 (4)| 00:00:02 | 4.371585|* 3 | TABLE ACCESS FULL | MHS_MF_TA | 1 | 133 | 88 (4)| 00:00:02 | 4.371585| 4 | TABLE ACCESS BY INDEX ROWID| FAK_MF_TA | 1 | 64 | 1 (0)| 00:00:01 | 0|* 5 | INDEX UNIQUE SCAN | SYS_C004591 | 1 | | 0 (0)| 00:00:01 | 0| 6 | TABLE ACCESS FULL | KURLKL_MF_TA | 2708 | 235K| 11 (0)| 00:00:01 | 0------- -------------------------------- --------------- -------- -------- ------------- -----------

Dari tabel di atas nampak CPU

Cost untuk masing-masing operasi.

Dengan diketahui biaya dari masing-

masing operasi maka dapat diketahui total

biaya eksekusi, yaitu 15.30%.

Suatu model simulasi akan

dinyatakan valid apabila tingkat kesalahan

kurang dari sama dengan 5% (E≤3%).

(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 biaya eksekusi suatu

perintah sql menurut sistem nyata adalah

15.30%, sedangkan total biaya eksekusi

perintah sql menurut model simulasi

adalah 10.92%. Dari kedua data yang

diketahui tersebut maka dicari tingkat

kesalahannya untuk membuktikan

kevalidan model. Maka,

E 1=|10.92−15.30|

15.30=0,29%

Dengan diketahui tingkat

kesalahan adalah 0.29% maka model

dapat dinyatakan bahwa tergolong valid

karena 0.29% < 5%.

Pengujian Model

Dalam pengujian akan ditetapkan

sebagai berikut:

1. Spesifikasi CPU yang digunakan adalah

1.83Ghz

2. Menggunakan sistem operasi Windows 7

Ultimate

3. Menggunakan sistem manajemen database

Oracle 10g

4. Terdapat 3 tabel yang tersimpan dalam

database lengkap dengan ribuan data

5. Vensim sebagai tools untuk menjalankan

model dengan inputan yang ditentukan

6. Terdapat 3 query yang berbeda, antara

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;

Berikut ini merupakan tabel

perbandingan dari keseluruhan query

sebagai ringkasan.

12

Page 13: 06410100005 Makala h

Tabel 2 Perbandingan hasil masing-masing

query

Query berdasar

kan histogra

m

Query sistem nyata

Histogra

m

No Histogra

m

% Error Variance

Query 1

select * from mhs_mf_ta m, fak_mf_ta f, kurlkl_mf_ta k where m.jur_id=f.id and k.fakul_id=f.id and m.nim=00410100005;

select * from mhs_mf_ta m, fak_mf_ta f, kurlkl_mf_ta k where m.nim=00410100005 and k.fakul_id=f.id and m.jur_id=f.id;

10.92

15.30.28627451

Query 2

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 f.id=m.jur_id;

12.02

12.02

0

Query 3

select * from mhs_mf_ta m, fak_mf_ta f where m.jur_id=f.id and m.nim=00410100005;

select * from mhs_mf_ta m, fak_mf_ta f where m.nim=00410100005 and m.jur_id=f.id;

6.557

13.11

0.49984744

5

Query 4

select * from mhs_mf_ta m, kurlkl_mf_ta k, fak_mf_ta f where m.jur_id=f.id and k.fakul_id=f.id and m.nim=00410100005

select * from mhs_mf_ta m, kurlkl_mf_ta k, fak_mf_ta f where m.nim=00410100005 and m.jur_id=f.id and k.fakul_id=f.id;

10.92

15.30.28627451

Ditampilkan pada tabel 2

informasi-informasi tentang beberapa

query yang 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 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

berdasarkan histogram.

KESIMPULAN

Setelah dilakukan uji coba dan

evaluasi terhadap model simulasi optimasi

query menggunakan histogram, maka

dapat 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

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

13

Page 14: 06410100005 Makala h

menunjukkan hasil eksekusi menggunakan

konsep histogram lebih kecil dibandingkan

eksekusi query tanpa menggunakan

histogram. Maka, model yang diajukan dapat

membantu meminimalisasi biaya sumber

daya.

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:

1. Model dapat dikembangkan lagi dengan

mengimplementasikan algoritma tambahan,

yaitu split and merge.

2. Prinsip model dapat dikembangkan lagi

menjadi suatu software yang secara otomatis

menjalankan proses optimasi.

DAFTAR RUJUKAN

Anh, N. K. (2009). Query Processing and

Optimization. The Connexions

Project, 3.

Bellinger, G. (2004). Translating Systems

Thinking Diagrams to Stocks & Flow

Diagrams. Retrieved February 11,

2012, from The Way of Systems:

http://www.systems-thinking.org/stsf/

stsf.htm

Chhanda Ray, N. G. (2010). Determination

of Cost Model for Constraintbased.

ACEEE, 237.

Li, D., Han, L., & Ding, Y. (2010). SQL

Query Optimization Methods of

Relational Database System. 2010

Second International Conference on

Computer Engineering and

Applications, 558.

Nerella, V. K., Surapaneni, S., Madria, S. K.,

& Weigert, T. (2010). Exploring

Query Optimization in Programming

Codes by Reducing Run-Time

Execution. IEEE 34th Annual

Computer Software and Applications

Conference, 407-411.

Pegasus Communications, Inc. (2011).

Causal Loop Diagrams. Retrieved

February 11, 2012, from

www.pegasuscom.com:

http://www.pegasuscom.com/cld.html

Rebba, R., & Mahadevan, S. (2006).

Validation of models with

multivariate output. Elsevier.

Silberschatz, A., Korth, H. F., & Sudarshan,

S. (2005, September 1). Database

System Concept - 5th edition.

Retrieved Januari 30, 2011, from

Department of Computer Science and

Engineering Indian Institute of

14

Page 15: 06410100005 Makala h

Technology Bombay:

http://www.cse.iitb.ac.in/~sudarsha/d

b-book/slide-dir/ch14.pdf

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, 1-

9.

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 Heterogeneous

Distributed Databases. Third

International Conference on

Knowledge Discovery and Data

Mining, 379-382.

15