Proses Query TINJAUAN PUSTAKA

13

2.2.4.2. Intersection R S

Operasi Intersection digunakan untuk menyatakan atau mendapatkan irisan kesamaan anggota dari dua buah kelompok data dari suatu tabel atau hasil query. Tata penulisannya adalah R S yang ekivalen dengan penggunaan operasi dasar Set-Difference S – S – R . Contoh untuk mendapatkan notsp mana saja yang sama-sama dipunyai, baik dari Tabel 2 peserta maupun Tabel 4 pmk_ke1, query tersebut dapat dipenuhi dengan operasi Π notsp Peserta Π notsp pmk_ke1

2.2.4.3. Difference R - S Operasi difference merupakan pengurangan data di tabelhasil proyeksi

pertama R oleh datahasil proyeksi yang kedua S Simbolnya adalah : R – S Ketentuannya sama dengan operasi Union yaitu harus mempunyai jumlah atribut yang sama baik di S maupun di R, contoh : Π tglkej pensiun – Π tglkej pmk_ke1

2.3. Proses Query

Dalam Database Manajemen System DBMS akses data dapat dilakukan dengan berbagai macam cara. Ada banyak plan rencana yang dapat diikuti oleh DBMS dalam memproses dan menghasilkan jawaban sebuah query. Semua rencana pada akhirnya akan menghasilkan jawaban output yang sama tetapi pasti mempunyai biaya yang berbeda-beda. Kebanyakan aplikasi secara nyata adalah permintaan-permintaan secara langsung dari user yang memerlukan informasi tentang bentuk maupun isi dari basis data. Apabila permintaan user terbatas pada sekumpulan query-query standar, maka query-query tersebut dapat dioptimisasi secara manual oleh pemrograman. Tetapi bagaimanapun juga, sebuah sistem optimisasi query otomatis menjadi penting apabila query-query khusus dinyatakan dengan 14 menggunakan bahasa query yang digunakan secara umum seperti Structure Query Language SQL. Optimisasi query memberikan suatu pemecahan untuk menangani masalah dengan cara menggabungkan sejumlah besar teknik-teknik dan strategi, yang meliputi transformasi-transformasi logika dari query-query pada sistem file penyimpanan data. Setelah ditransformasikan, sebuah query dipetakan ke dalam sebuah langkah-langkah operasi untuk menghasilkan data-data yang diminta. Query Language SQL Hasil Query Gambar 3. Tahapan proses sebuah Query Swamy 2001 PARSER Mengecek sintaks SQL keyword CODE GENERATOR INTERPRETER QUERY PROCESSOR Eksekusi Query QUERY OPTIMIZER Mengecek sintaks SQL keyword SCANNER Mengecek sintaks SQL keyword Menghasilkan Query plan Menghasilkan kode Query Menghasilkan parse tree 15 Sebuah query yang diekspresikan dalam sebuah bahasa query tingkat tinggi seperti SQL mula-mula harus dibaca, diuraikan dan disahkan scanning, parsing, validating. Query tersebut kemudian dibentuk menjadi sebuah struktur data yang biasa disebut dengan query tree. Kemudian DBMS merencanakan sebuah strategi eksekusi untuk mendapatkan kembali hasil dari query dari file-file basis data. Tahapan-tahapan proses dari sebuah query didalam sebuah sistem basis data ditunjukkan pada Gambar 3 dan berikut penjelasan dari masing-masing tahapan : ƒ Scanner melakukan identifikasi pengenalan perintah-perintah seperti SQL keywords, atribut, dan relation name. Proses ini disebut dengan scanning. ƒ Query Parser mengecek validitas query dan kemudian menterjemahkannya dalam 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 paling murah. Dengan kata lain, tugas dari query optimizer adalah menghasilkan sebuah rencana eksekusi dan proses ini disebut optimisasi 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. Bagian yang diarsir pada Gambar 3 adalah optimizer yang sudah disediakan oleh DBMS. Tahapan proses query pada Gambar 3 tersebut adalah untuk memberikan gambaran yang jelas tentang bagaimana pada umumnya sebuah query diproses di dalam sebuah Data Base Manajemen Sistem . 16 2.4. Optimisasi Query Optimisasi Query adalah suatu proses untuk menganalisis query untuk menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan apakah penggunaan dari sumber tersebut dapat dikurangi tanpa merubah keluaran. Atau dengan kata lain bahwa optimisasi query adalah sebuah prosedur untuk meningkatkan strategi evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi lebih efektif Richard 2000. 2.5. Prinsip Optimisasi Query Prinsip Optimisasi Query terdapat dalam pemilihan strategi query, dan terletak pada penentuan strategi operasi Join. Bahasa query salah satu yang biasa digunakan, misalnya SQL, tetapi untuk beberapa kasus khusus, suatu query dapat mempunyai hubungan dengan pemetaan aljabar. Bentuk yang lebih sederhana sangat diperlukan dari pada bentuk-bentuk aljabar tersebut, dan diasumsikan bahwa operasi gabungan adalah salah satu operasi relasi aljabar Ken 2000. Menurut Richard Vlach 2000, optimisasi query dalam basis data terdistribusi, ada dua aspek yang sangat penting, yaitu : 1. Tranmisi data dan kontrol data ke tempat tujuan sangat dipengaruhi oleh bentuk komunikasi, dan dapat memperlambat keseluruhan proses. 2. Pengolahan data secara paralel transmisi data dapat mempercepat respone Optimisasi Query adalah proses untuk menunjukkan bahwa baik total biaya maupun total waktu suatu query diminimalkan. Total biaya diukur oleh penggunaan sumber daya sistem seperti CPU atau bentuk komunikasi data. Respone time optimizers yaitu untuk meminimalkan respone time dalam sebuah query bersama-sama secara paralel. 17 Menurut Özsu MT, Valduriez P. 1999 formulasi untuk meminimalkan biaya cost function adalah : Total Cost = IO cost + CPU cost + communication cost ........................... 2.1 Dimana IO cost = unit disk IO cost + no. of disk IOs CPU cost = unit instruction cost + no. of instruction Communicatin cost = message initiation + transmition Formula 2.1 masing-masing bagiannya dapat mempunyai bobot yang berbeda tergantung dari terdistribusinya data, antara lain : - Apabila proses query menggunakan Wide Area Networks WAN, maka biaya komunikasi sangat dipengaruhi low bandwidth, low speed dan high protocol overhead. Sedangkan algoritma-algoritma yang ada pada umumnya mengabaikan komponen biaya. - Apabila menggunakan Local Area Networks LAN, biaya komunikasi dan pengiriman data tidak mempengaruhi, tetapi total biaya dari fungsi-fungsi yang digunakan harus dipertimbangkan.

2.6. Metoda Optimisasi Query