Aplikasi Pengoptimal SQL Query

Apaan sih?
Aplikasi pengoptimal sql query adalah aplikasi yang digunakan untuk mengoptimalkan sql query. Optimal disini dibatasi pada peningkatan kecepatan waktu eksekusi sql query. Jadi misalnya kita mempunyai SQL query, kemudian dimasukkan ke dalam aplikasi ini, maka diharapkan kita akan mendapatkan output berupa SQL query yang waktu eksekusinya lebih singkat.

Masih bingung?
Kalau masih bingung, mungkin dikarenakan masih kurang tau mengenai apa itu SQL query. SQL query itu adalah suatu bahasa (seperti bahasa pemrograman), yang digunakan untuk mengambil atau memanipulasi data dari suatu database.

Kalau berdasarkan wikipedia, artinya sbb:
SQL, commonly expanded as Structured Query Language, is a computer language designed for the retrieval and management of data in relational database management systems, database schema creation and modification, and database object access control management. SQL has been standardized by both ANSI and ISO.

Kalau malah tambah bingung, ya nasibbb….

So What ?
Mengapa membahas ini? ya kebetulan tesis ku di MTI kemaren membuat aplikasi ini. Awalnya cukup idealis, karena selama aku cari-cari di internet belum menemukan penelitian yang membuat aplikasi yang semacam. Dan kebetulan aku memang seneng utak atik database, jadi ya akhirnya aku memilih tema ini.

Cara Kerja
Aplikasi ini mengambil input berupa SQL query yang dimasukkan, kemudian memberikan output berupa SQL query yang sudah teroptimasi, beserta beberapa hasil test yang telah dilakukan aplikasi. Aplikasi dibuat menggunakan bahasa pemrograman PHP dan diujicoba pada database MySQL dan Postgre.
Secara garis besar carakerjanya adalah sbb:
Input -> Parsing -> Dioptimasi dg bbrp method -> beberapa sql teroptimasi -> eksekusi tiap sql teroptimasi -> dicari yang tercepat -> tampilkan sebagai output
Input SQL yang dimasukkan diparsing oleh aplikasi menggunakan class SQL Parser yang diambil dari pear.php.net (yang telah dimodifikasi untuk keperluan penelitian ini). Kemudian hasil parsing tersebut dimasukkan ke engine pengoptimasi, dimana tiap sql input akan dioptimasi dengan beberapa metode optimasi SQL query. Metode-metode optimasi SQL query sebenernya sudah banyak yang meneliti, hanya pada penelitian ini diterapkan metode optimasi dari Peter Gulutzan. Engine pengoptimasi akan menghasilkan beberapa SQL query yang telah teroptimasi, namun aplikasi hanya akan mengoutputkan satu SQL query yang paling optimum aja untuk database bersangkutan, sehingga aplikasi ini kemudian mengeksekusi tiap SQL query masing-masing sebanyak 3 kali, untuk mengetahui query mana yang membutuhkan waktu paling sedikit. Setelah ditemukan SQL paling cepat waktu eksekusinya, kemudian aplikasi akan menampilkan SQL tersebut dan memberikan tabel waktu eksekusinya tadi.

Download
Intisari singkatnya kira-kira seperti itu, untuk mengetahui lebih detail mengenai hasil penelitiannya bisa download naskah publikasinya di sini.
Kalau butuh naskah tesis lengkapnya, bisa kontak japri aja :)

Semoga bermanfaat.

18 comments on “Aplikasi Pengoptimal SQL Query

  1. waduh, omongan kelas tesis, gak nahan. pantes skripsi aja belum, gak comment deh tentang programmnya. tapi selamat telah menjadi M.T.I. tambah panjang namanya. kapan lanjut ke program doktoral. Jangan di Indonesia mas, di MIT ajah. hehehe. sekali lagi selamat.

  2. mas.. salam kenal,,
    kebetulan tugas akhir ku ga beda jauh sama yang mas bahas,, judulnya “simulasi query optimasi pada federated database” saya sedang kesulitan dan butuh bantuan. ada bebrapa yang ingin saya tanyakan… mohon bantuannya..
    bales ke email saya jika berminat..
    thanks..

  3. @andika

    bisa kirimkan pertanyaannya ke aku di ogi [at] jogjacamp [dot] co [dot] id , kl aku bisa, pasti deh tak bantu.
    sukses buat skripsi nya

  4. asslmlkm wr.wb. salam kenal mas ogi………..
    mas jujur aja saya masih blm tau banyak tentang bahasa pemprograman karena saya masih baru mau kuliah. sebenarnya saya pengen banget tau dan ngerti bahasa program itu tapi saya tidak punya dasar komputer sama sekali. saya cuma minta dari mas ogi saya perlu belajar bahasa program dari apa dulu…..? apalagi yang namanya SQL (goblok amat sih ya jadi orang he…he…) saya tunggu jawabanya ya mas
    wsslkm

  5. halo mas ogi salam kenal…
    mas bisa minta naskah tesis lengkapnya ga buat referensi?
    ne soalnya aq bingung bgt utk proses parsingnya.

  6. @phie
    salam kenal mas, kalau naskah lengkap nya ga berani ngasih mas, takut entar disalah gunakan.
    Kalau emang butuh, bisa minta hardcopy nya ke perpustakaan S2 UGM

  7. mas, please lah mas…
    kita juga ada buat makalah tentang itu mas…
    kami mau buat sebagai refrensi mas…
    boleh lah mas…

    ato versi beta nya aja mas…
    boleh ya

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>