BAB IV HASIL DAN PEMBAHASAN

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB IV HASIL DAN PEMBAHASAN"

Transkripsi

1 BAB IV HASIL DAN PEMBAHASAN 4.1. Formulasi Masalah dan Penentuan Tujuan. Dalam bagian ini dibahas tentang formulasi masalah dan penentuan tujuan yang akan dicapai, diperlukan tahapan-tahapan analisis yang akan timbul selama proses optimisasi query dijalankan. Aspek utama pemilihan strategi query untuk sistem basis data terdistribusi terletak dalam penentuan strategi operasi join. Strategi operasi join dapat menggunakan fasilitas optimizer yang terdapat dalam DBMS, antara lain : Metode Nested-Loops-Join, Block Nested-Loops-Join, Sort-Merge-Join dan Hash Join. Tetapi tidak semua DBMS dapat melakukan strategi dengan metode-metode tersebut. Dalam penelitian ini penulis mencoba membahas secara spesifik optimisasi join query sesuai dengan karakteristik basis data dan spesifikasi komputer yang digunakan. Untuk memformulasi masalah terdapat beberapa faktor yang harus dipertimbangkan dalam sistem terdistribusi, antara lain : Biaya / waktu untuk transmisi data dan biaya operasi join. Potensi peningkatan unjuk kerja karena adanya sejumlah simpul yang dapat melaksanakan query secara paralel. Karakteristik basis data. Biaya / waktu transfer data dalam jaringan dan transfer data ke dan dari disk, sangat berbeda-beda tergantung pada tipe jaringan yang dipilih dan kecepatan akses dari disk yang digunakan. Sementara unjuk kerjanya akan sangat tergantung pada desain basis data terdistribusi yang kita terapkan serta strategi DBMS dalam melakukan transformasi setiap perintah query. Ambil sebuah contoh perintah query sederhana, tampilkan semua baris data dalam tabel pst_ke1. Pemrosesan query tersebut menjadi tidak sederhana, jika tabel tersebut telah direplikasi atau difragmentasi atau sekaligus direplikasi dan difragmentasi. Jika tabel pst_ke1 tersebut ternyata telah direplikasi, maka dapat dengan mudah untuk memenuhi query tersebut dengan memilih salah satu simpul tempat tabel pst_ke1 berada, dan kemudian mengeksekusi query. Jika

2 28 tabel tersebut tidak difragmentasi, pemilihan simpul didasarkan pada simpul yang memberikan ongkos transmisi data paling rendah. Akan tetapi jika tabel pst_ke1 tersebut difragmentasi dan ditempatkan di berbagai simpul yang berbeda, maka harus melakukan operasi join atau union untuk merekontruksi isi seluruh tabel pst_ke1. Penerapan operasi di atas disamping tergantung pada bentuk perintah query, tergantung pada jenis fragmentasi yang diterapkan pada tabel terlibat. Jika tabel pst_ke1 telah difragmentasi horizontal, perlu rekonstruksi dengan menggunakan operasi union, tetapi jika fragmentasi dilakukan vertikal, maka rekonstruksi operasi natural join yang harus digunakan. Dalam berbagai kasus dan berbagai keadaan banyak pilihan strategi dan metode yang harus dipetimbangkan, tetapi besar kemungkinan akan memperberat upaya optimisasi query yang kadang-kadang menjadi tidak praktis untuk diterapkan. Percobaan dilakukan untuk menganalisis permasalahan menggunakan tabel peserta asuransi, dengan tabel hasil fragmentasi dari peserta didekomposisi (spesialisasi) menjadi tabel pst_ke1 dan tabel pstaktif, tabel peserta pensiun (pstpens) didekomposisi menjadi tabel pmk_ke1 dan tabel pmk_fd1. Tabel-tabel yang digunakan dalam percobaan hanya menggunakan 5 buah tabel yang terdiri dari tabel pstaktif, pst_ke1, pstpens, pmk_ke1 dan pmk_fd1. Hal ini dilakukan dengan pertimbangan efisiensi ruang penyimpanan. Untuk lebih jelasnya situasi tabel secara keseluruhan dapat dilihat pada kamus data di bawah ini dan Diagram E-R ditunjukkan pada Gambar 5. Kamus data dari 5 buah tabel yang dianalisis antara lain : a. pst_ke1 ( no_tsp, tgl_lhr, tmt_pst, kd_bup) b. pstaktif ( nippa, tgl_lhr, tmt_pst, sex, gaji_pokok, blth_gapok, suskel, pangkat) c. pmk_ke1 ( no_tsp, tmt_pst, tglhr_ymk, tgl_kej, kd_kej,) d. pmk_fd1 ( nippa, tmt_pst, kd_kej, tgl_klim, tgl_trans, pangkat, gaji_pokok, thp, suskel, nama_ymk, tglhr_ymk, rp_hak) e. pstpens ( nopen, jenis, kp030, kp040, kp080, kp180, kp380, kp570, kp550, kp710).

3 29 Nama Tabel (Alias) Tabel 8 : Tabel informasi data tabel relasi Jumlah Atribut Jumlah Record Kapasitas memory (MB) Panjang Record (Byte) pst_ke1 ( P ) no_tsp pstaktif ( F ) nippa pmk_ke1 ( E ) no_tsp pmk_fd1 ( D ) nippa pstpens ( N ) nopen Key peserta o d pst_ke1 pstaktif peserta pensiun (pstpens) Keterangan : d : disjoint o o : non disjoint : subset Pmk_ke1 Pmk_fd1 Gambar 5 : Diagram E-R dari keseluruhan tabel peserta

4 30 Tanda d dalam konektor lingkaran menunjukkan dekomposisi (spesialisasi) disjoint dan tidak terdapat relasi spesialisasi antar tabel, dan tanda o menunjukkan non disjoint dan terdapat relasi spesialisasi antar tabel dan menunjukkan perbedaan tiap entitas, tanda С menunjukkan subset (Begg C. 1996). 5 buah tabel yang digunakan dalam percobaan lebih dijelaskan pada Diagram E-R Gambar 6 dan Gambar 7. nama_peserta no_tsp alamat_peserta peserta no_tsp tgl_lhr sex gapok o pst_ke1 pstaktif tmt_pst kd_bup blth_gapok suskel pangkat Gambar 6 : Diagram E-R tabel peserta spesialisasi menjadi tabel pst_ke1 dan tabel pstaktif.

5 31 kp040 kp080 kp180 kp570 jenis pstpens kp550 nopen kp710 no_tsp tmt_pst o tgl_klim tgl_trans pmk_ke1 pmk_fd1 tglhr_ymk tgl_kej kd_kej rp_hak tglhr_ymk pangkat gapok nama_ymk thp suskel Gambar 7 : Diagram E-R tabel pensiun (pstpens) spesialisasi menjadi tabel pmk_ke1 dan tabel pmk_fd Formulasi Optimisasi Query.

6 32 Pada bagian ini bagaimana proses query diformulasi, dianalisis dan dievaluasi. Data deskriptif atau metadata disimpan dalam tabel khusus yang disebut katalog sistem yang digunakan untuk menemukan cara terbaik dalam mengevaluasi query. Secara umum query tersusun dari beberapa operator, algoritma pada operator relasi dapat dikombinasikan dengan berbagai cara untuk mengevaluasi query. Setiap perintah query sebaiknya dievaluasi dengan melalui formulasi tree aljabar relasional. Keterangan pada masing-masing node menggambarkan metode akses untuk masing-masing tabel dan metode implementasi untuk tiap operator relasional. Penulis mencoba mempertimbangkan contoh dengan menggunakan skema berikut : a. pst_ke1 (no_tsp, tgl_lhr, tmt_pst, kd_bup) b. pstaktif (nippa, tgl_lhr, tmt_pst, sex, gaji_pokok, blth_gapok, suskel, pangkat) Tabel di atas masing-masing record dari pst_ke1 panjangnya 30 byte, dengan asumsi sebuah halaman yang akan masuk dalam buffer dapat menangani 100 record pst_ke1, maka dalam pst_ke1 terdapat record akan mempunyai halaman dalam buffer, demikian juga bahwa masing-masing record dari pstaktif panjangnya 50 byte, mempunyai record, sebuah halaman dapat menangani 80 record pstaktif, sehingga mempunyai halaman. Perhatikan query SQL berikut ini : SELECT FROM WHERE F. tmt_pst pst_ke1 P, pstaktif F P.no_tsp = F.nippa AND P. kd_bup= 100 AND F. pangkat >= 3A Query di atas dapat dinyatakan dalam aljabar relasional seperti berikut : Π tmt_pst (σ kd_bup = 100 pangkat >= 3A (pst_ke1 no_tsp= nippa pstaktif)

7 33 Pernyataan di atas dapat dinyatakan dalam bentuk join tree pada Gambar 8. Sebagian pernyataan aljabar dapat menentukan bagaimana mengevaluasi query pertama, join dihitung secara alami dari pst_ke1 dan pstaktif, kemudian melakukan seleksi dan akhirnya memproyeksikan atribut tmt_pst. Untuk proses evaluasi harus dijelaskan implementasi untuk masing-masing operasi aljabar yang terlibat. Sebagai contoh dapat digunakan page-oriented dari nested-loop-join yang sederhana dengan pst_ke1 sebagai tabel pertama yang dibaca, dan mengaplikasikan seleksi dan proyeksi untuk masing-masing record pada hasil join, hasil dari join tersebut sebelum seleksi dan proyeksi tidak disimpan seluruhnya. Π tmt_pst (proyeksi) σ kd_bup = 100 pangkat >= 3A (proses seleksi) no_tsp = nippa (proses join) (baca file) pst_ke1 pstaktif (baca file) Gambar 8 : Rencana evaluasi query dari join tree Pada Gambar 8 ditunjukkan bahwa pst_ke1 adalah tabel pertama dibaca, terletak disebelah kiri dari join tree atau disebut tabel luar dari operator join.

8 34 Mendahulukan operasi seleksi sebelum operasi join Untuk melakukan operasi Join secara heuristik sebaiknya tabel dibuat dengan ukuran sekecil mungkin, dan operasi seleksi dilakukan lebih awal. Sebagai contoh seleksi kd_bup = 100 hanya melibatkan atribut dari pst_ke1 dan dapat diaplikasikan pada pst_ke1 sebelum join. Sama halnya dengan seleksi pangkat >= 3A hanya melibatkan atribut dari pstaktif, dapat diaplikasikan pada pstaktif sebelum join. Andaikan bahwa seleksi didahulukan dengan menggunakan scan file, hasil dari masing-masing seleksi ditulis ke tabel temporer pada disk, selanjutnya tabel temporer digabung menggunakan metode sort-merge-join seperti ditunjukkan pada Gambar 9. Hasil eksekusi menunjukkan perbedaan waktu yang cukup signifikan, untuk jumlah record masing-masing record eksekusi medahulukan seleksi lebih cepat dari pada eksekusi mendahulukan join. Penurunan waktu eksekusi mencapai 37,45 % Π tmt_pst (proyeksi akhir) (lakukan Sort-Merge-Join) no_tsp = nippa kd_bup = 100 pangkat >= 3A (baca : tulis ke tabel temp T 1 ) (baca : tulis ke tabel Temp T 2 ) (baca file) pst_ke1 pstaktif (baca file) Gambar 9: Rencana evaluasi query mendahulukan operasi seleksi

9 Analisis Selectivity Factor dari Karakteristik Basis Data. Dalam hal ini penulis mengemukakan statistik basis data sesuai dengan karateristiknya, yaitu relasi yang digunakan berupa tabel basis data dengan nilai kardinalitas cukup besar. Statistik basis data dengan operasi Join untuk tabel relasi difragmentasi dengan jumlah record per tabel pada tabel (pst_ke1 dan pstaktif, serta pmk_ke1 dan pmk_fd1), berdasarkan persamaan (2.3) adalah: card( P F ) card(p no_tsp=nippa F) = card(f) a. SF 1 (P, F) = = card( P ) * card( F ) card( P ) * card( F ) 283 = = 0, ,000 * 10,000 card( E D ) b. SF 1 (E, D) = card( E ) * card( D ) card(e no_tsp=nippa D) = card( E ) * card( D ) 240 = * = 0, Untuk Selectivity Factor operasi Selection berdasarkan persamaan (2.4) adalah : card(σ F (R)) = SF σ (F) *card(r) dimana

10 36 1 S F σ (A = value) = card( A (R)) 1 1 S F σ ( kodebup = 100 =1) = = = 0, card( kodebup (P)) 9776 Dari hasil perhitungan Selectivity Factor menghasilkan angka 0, dan 0, dan 0,000102, menunjukkan bahwa operasi join dan operasi seleksi di atas cukup baik, karena nilai selectivity-nya mendekati 0, dan jumlah record tabel-tabel di atas secara spesifik tidak berpengaruh terhadap nilai selectivity factor Analisis Optimisasi Secara Spesifik. Perintah query menggunakan operator relasional sebenarnya mempunyai banyak persamaan (ekivalen). Beberapa teknik yang sederhana dapat digunakan untuk mengembangkan algoritma dari masing-masing operator yaitu : Indektasi : Jika syarat seleksi atau join telah ditentukan, maka gunakan indek untuk memeriksa record yang memenuhi syarat saja. Iterasi : Proses secara iterasi yaitu memeriksa semua record dalam tabel input satu per satu, jika kita hanya memerlukan beberapa field dari masing-masing record dan terdapat indek yang key-nya berisi semua field tersebut akan diambil. Partisi : Mempartisi record pada sort key, memungkinkan dekomposisi sebuah operasi menjadi serangkaian operasi partisi yang lebih tidak mahal. Sorting dan hashing merupakan dua teknik yang umum digunakan. Dalam menganalisis proses optimisasi secara spesifik operasi query dijalankan menggunakan algoritma dengan partisi relasi-relasi menggunakan metode-metode Nested-Loops-Join, Block-nested-loops-join, Sort-Merge-Join, dan Hash Join.

11 Penulis mencoba membahas tentang operasi join dari sebuah contoh kasus sederhana di bawah ini: 37 SELECT * FROM pst_ke1 P, pstaktif F WHERE P. no_tsp = F. nippa Gambar 10 : Contoh Perintah Join Query ini dapat dinyatakan sebagai operasi ( P F ) dan perintahnya sangat sederhana, meskipun join dapat didefinisikan sebagai cross product yang diikuti oleh seleksi dan proyeksi, join lebih sering muncul dalam praktek dibandingkan dengan cross product murni. Cross product biasanya lebih besar daripada hasil join. Dalam hal ini sangat penting untuk mengimplementasikan join tanpa menampilkan cross product. Untuk mengimplementasikan join dapat digunakan algoritma simple-nested-loops-join dan block-nested-loops-join, yang pada dasarnya menghitung semua record dalam cross product dan membuang record yang tidak memenuhi syarat join. Selanjutnya menghindari perhitungan cross product dengan menggunakan partisi. Secara intuitif jika syarat join terdiri dari equality, maka record dalam dua relasi dapat dianggap tercakup dalam partisi, sehingga hanya record yang berada dalam partisi yang sama yang dapat join satu sama lain atau record dalam partisi tersebut berisi nilai yang sama dalam kolom join. Indeks nested-loops-join men-scan salah satu relasi, untuk masingmasing record didalamnya, dengan menggunakan indeks pada kolom join dari relasi kedua untuk menemukan record yang berada dalam partisi yang sama. Jadi hanya subset relasi kedua yang dibandingkan dengan record tertentu dari relasi pertama, seluruh cross-product tidak dihitung. Penulis mencoba membahas join dari dua relasi P dan F, dengan syarat join P i = F j, menggunakan tanda posisional. Diasumsikan M halaman dalam P dengan P P ( page P) record per halaman M, dan N halaman dalam F dengan P F (page F) record per halaman dalam N, dimana P adalah tabel relasi pst_ke1 dan F adalah tabel relasi pstaktif.

12 Nested-Loops-Join Algoritma yang paling sederhana adalah record pada saat dievaluasi nested loops. Algoritma men-scan relasi P tabel relasi pertama, untuk tiap record p P, kemudian men-scan semua relasi kedua dalam F. Biaya men-scan P adalah M I/O, dimana M adalah jumlah halaman dalam P, kemudian men-scan F sebanyak P P M kali, dan tiap scanning biayanya N I/O, dimana N adalah jumlah halaman dalam F (Raghu 2003), jadi biaya totalnya adalah : M + P P.M.N...(4.1). Dimana : pp : adalah jumlah record per halaman dari M M: jumlah halaman dari relasi P N : jumlah halaman dari relasi F Algoritmanya dapat dinyatakan sebagai berikut : For each record p P do For each record f F do if p i == f j then add (p,f) to result Gambar 11 : Algoritma Simple-Nested-Loops-Join (Raghu 2003) Algoritma Simple-Nested-Loops-Join tidak memanfaatkan fasilitas buffer. Andaikan memilih P menjadi pst_ke1 dan F menjadi pstaktif, maka nilai M adalah halaman dan p P adalah 100, kemudian nilai N adalah P F adalah 80. Menurut Ramakrishna Raghu & Gehrke Johanes (2003) merujuk ke rumus (4.1.), biaya simple-nested-loops-join adalah : * * halaman I/O ditambah biaya penulisan hasil yang dalam hal ini diabaikan, maka besarnya biaya paling sedikit : * * = = halaman I/O Biaya tersebut sangat mengejutkan, apabila biaya I/O 10 ms ( setara dengan 0, detik atau 1/ jam = 0, jam ) per halaman pada perangkat keras terbaru, maka join ini akan memerlukan waktu :

13 * 0, = detik / 60 = ,216 menit ,216 / 60 = 81121,470 jam ,470 / 24 = 3380,061 hari 3.380, / 365 = 9,260 tahun Biaya tersebut sangat tidak realistik, mungkin dapat diperbaiki dengan menggunakan join-page-at-a-time. Untuk tiap halaman P, kita dapat mengambil halaman F dan mengisi record (p,f) untuk semua record yang memenuhi syarat p P halaman dan f F halaman. Atas dasar tersebut biaya M untuk men-scan P, seperti sebelumnya, akan tetapi F hanya di-scan M kali. Jadi biaya total adalah : M + M * N, maka perbaikan page-at-a-time memberikan perkembangan faktor P F. Dalam contoh join dari relasi pst_ke1 dan pstaktif, biaya dapat dikurangi, yaitu : * = halaman I/O * 0, = 4867, jam 4867, / 24 = 202,9 hari Perkembangan ini menekankan pentingnya partisi yang ditunjukkan pada operasi page-at-a-time dan dapat meminimalkan disk I/O, sehingga terjadi perubahan yang signifikan Block-Nested-Loops-Join Algoritma simple-nested-loops-join tidak memanfaatkan halaman buffer B secara efektif. Andaikan CPU mempunyai memory yang cukup untuk mempertahankan relasi P, diasumsikan paling sedikit terdapat dua halaman buffer ( B-2) ekstra yang tersisa. Kemudian menggunakan salah satu dari halaman buffer ekstra untuk men-scan relasi F. Untuk tiap record f F, memeriksa P dan menghasilkan record ( p, f ) untuk record f yang memenuhi syarat (misalnya, p i =f j ). Halaman buffer ekstra kedua digunakan sebagai buffer output. Tiap relasi hanya di scan sekali, sehingga biaya total : I/O M + N. Berikutnya mempartisi relasi P menjadi blok yang dapat masuk ke halaman buffer, kemudian men-scan semua F untuk tiap blok P. P adalah relasi

14 40 pertama, cukup di-scan sekali, dan F adalah relasi kedua dan di-scan banyak kali. Jika memori tersedia sebanyak B halaman buffer, maka P dapat masuk kedalam B-2, dan men-scan relasi dalam F dengan menggunakan satu dari dua halaman yang masih ada. Kita dapat menulis record (p, f), dimana p P blok, f F halaman, dan p i = f j dengan menggunakan halaman buffer terakhir untuk menulis output. Cara yang efisien untuk menemukan pasangan record yang cocok (misalnya record yang memenuhi syarat join p i = f j ) adalah membentuk main memory hash tabel ( yaitu tabel sementara hasil join tersimpan dalam memori utama) untuk blok P. Karena hash tabel melibatkan pertukaran ukuran blok P yang efektif, dalam hal ini jumlah record per blok dikurangi. Algoritma block-nested-loops dideskripsikan pada Gambar 12 dan penggunaan buffer dalam algoritma diilustrasikan pada Gambar 13. foreach block of B-2 pages of P do foreach page of F do { for all maching in-memory record p P block dan f F page, add (p,f) to result } Gambar 12. : Algoritma Block-nested-loops-Join (Raghu 2003) Biaya strategi ini adalah M I/O untuk membaca P (di-scan sekali), F discan sebanyak M B 2 kali, ini diperlukan berkenaan dengan in-memory hash tabel (yaitu tabel yang akan dibuat sementara dalam memori utama berisi tabel hasil join), dan biaya tiap scan N I/O. Jadi biaya totalnya adalah = M + N * M... (4.2). B 2 dimana : M : Jumlah halaman pada tabel relasi pertama P N B : Jumlah halaman pada tabel relasi kedua F : Blok halaman buffer

15 41 Relasi P dan F Hasil join Fungsi hash h * * * Hash tabel untuk blok P 1 { k < B -1 halaman} *** *** Buffer Input Untuk men-scan F Buffer output Gambar 13: Penggunaan buffer Block-nested-loops-Join (Raghu 2003 ) Relasi pst_ke1 adalah relasi pertama P dan pstaktif adalah relasi kedua F. Asumsikan bahwa kita mempunyai buffer yang cukup untuk menahan in-memory hash tabel untuk 100 halaman pst_ke1, sehingga harus men-scan pst_ke1 dengan biaya I/O. Untuk tiap 100 halaman blok pst_ke1, harus di-scan pstaktif. Oleh karena itu akan menampilkan 10 halaman scan dari pstaktif, yang masingmasing biayanya adalah I/O, maka biaya totalnya adalah : * = halaman I/O jika tersedia buffer yang cukup untuk menahan 90 halaman pst_ke1, maka harus men-scan pstaktif / 90 = 430 kali, dan biaya total akan menjadi : * = halaman I/O Jika kemampuan perangkat keras I/O mempunyai kecepatan 10ms, maka total biaya di atas adalah : * 0, = 54,2 jam 542 / 24 = 2,26 hari. Hasilnya menunjukkan lebih baik dari metode nested-loops-join yang tidak memanfaatkan blok buffer.

16 Sort- Merge-Join Dasar pemikiran dari Sort-Merge-Join adalah mengurutkan kedua relasi pada atribut yang akan melakukan join, lalu mencari record yang memenuhi syarat p P dan f F, dengan menggabungkan dua relasi. Langkah pengurutan mengelompokkan semua record yang mempunyai nilai sama dalam kolom join, untuk memudahkan dalam mengidentifikasi partisi, atau grup record dengan nilai sama dalam kolom join. Sort-Merge-Join memanfaatkan partisi dengan membandingkan record P dalam partisi hanya dengan record F dalam partisi yang sama (dengan semua record F), dengan demikian dapat menghindari perhitungan cross-product P dan F. (Pendekatan secara spesifik hanya bekerja untuk syarat equality join). Jika relasi telah diurutkan berdasarkan atribut join, selanjutnya memproses penggabungan secara terperinci. Pertama scanning relasi P dan F untuk mencari record yang memenuhi syarat (misalnya, record T p dalam P dan T f, dalam F sehingga T pi =T fj ). Kedua, scanning dimulai pada record pertama dalam tiap relasi dan scan P selama record P terbaru kurang dari record F terbaru (mengacu pada nilai atribut join ). Ketiga, scan F selama record F terbaru kurang dari record P terbaru, dan memilih sampai menemukan P record T p dan F record T f dengan syarat T p i = T f j. Pada saat menemukan record T p dan T f yaitu T p i = T f j, hasilnya perlu dikeluarkan. Tetapi pada kenyataannya dapat terjadi beberapa record P dan beberapa record F mempunyai nilai yang sama. Disini mengacu pada record tersebut sebagai partisi P terbaru dan partisi F terbaru. Untuk tiap record p dalam partisi P terbaru, scan semua record f dalam partisi F terbaru yang akan menghasilkan record hasil join ( p, f ), kemudian dilanjutkan scan P dan F, mulai dengan record pertama dan mengikuti partisi yang baru diproses. Algoritma Sort-Merge-Join ditunjukkan pada Gambar 14 menetapkan nilai record pada variable T p, T f dan G f, menggunakan nilai eof untuk menandai bahwa tidak ada record lagi dalam relasi yang sedang di-scan. Subscripts mengidentifikasi field, T pi menyatakan atribut ke i dari record T p. jika T p mempunyai nilai eof, maka setiap perbandingan yang melibatkan T Pi didefinisikan

17 43 untuk mengevaluasi kondisi false, dengan syarat join yang menjadi equality pada atribut no_tsp. Relasi pst_ke1 diurutkan pada no_tsp, relasi pstaktif diurutkan pada atribut nippa. Tahap penggabungan pada algoritma sort-merge-join mulai dengan scan pada record pertama pada masing-masing relasi. Dahulukan scan pst_ke1, karena nilai no_tsp = pada pst_ke1, pada contoh segmen tabel pst_ke1 (lihat Tabel 9), kurang dari nilai nippa = pada pstaktif. Record kedua pst_ke1 mempunyai nilai , sama dengan nilai nippa record pstaktif terbaru, pada pstaktif (lihat Tabel 10). Hasil join mendapatkan sepasang record, satu dari pst_ke1 dan satu dari pstaktif, dalam partisi terbaru (berisi nippa = no_tsp = ). Karena hanya mempunyai satu record pst_ke1 dengan nilai no_tsp= dan satu record dari pstaktif, maka selanjutnya menuliskan satu record hasil pada partisi keluaran. Tahap selanjutnya pemposisikan scan pstaktif pada record pertama dengan nippa = Sama halnya dalam memposisikan scan sebelumnya, karena record kedua tersebut mempunyai nilai yang sama dengan no_tsp record ketiga yaitu ' ' dari pst_ke1, maka jika telah ditemukan partisi yang cocok, tulis lagi record yang dihasilkan oleh partisi ini pada partisi keluaran. Atribut no_tsp dan nippa sama-sama key sehingga paling banyak hanya satu record yang cocok dalam partisi. Selanjutnya scanning pada pst_ke1 diposisikan pada no_tsp= , scanning pstaktif diposisikan pada record nippa= , tahap penggabungan selanjutnya dilakukan dengan cara yang sama.

18 44 Proc smjoin( P, F, P i = F j ) if P not sorted on atribut i, sort it; if F not sorted on atribut j, sort it; T p = first record in P; // range over P T f = first record in F; // range over F G f = first record in F; // start of current F-partition while T p eof and G f eof do { while T pi < G fj do Tp = next record in P after Tp; // continue scan of P while T pi > G fj do G f = next record in F after G f ; // continue scan of F T f = G f ; // needed in case T pi G fj while T pi = = G fj do { // process current P partition T f = G f ; // reset F partition scan while T fj = T pi do { // process current P record add (T p, T f ) to result; // output joined records T f = next record in F after T f ; } // advance F partition scan T p =next record in P after T p ; // advanced scan of P } // done with current P partition Gf = Tf ; // initialize search for next F partition } Gambar 14 : Algoritma Sort-Merge-Join (Raghun 2003)

19 45 Tabel 9 : Contoh Segmen Tabel pst_ke1 NO_TSP TGL_LHR TMT_PST KD_BUP /11/ /03/ /02/ /03/ /04/ /03/ /02/ /03/ /04/ /03/ /01/ /03/ /10/ /03/ /07/ /03/ /07/ /03/ /08/ /04/ Tabel 10 : Contoh segmen Tabel pstaktif NIPPA TGL_LHR TMT_PST SEX GAJI_POKOK BLTH_GAPOK SUSKEL PANGKAT /02/ /03/1990 L C /04/ /03/1990 L B /02/ /03/1990 L B /05/ /03/1990 P B /02/ /03/1990 P B /12/ /03/1990 L A /08/ /03/1990 P B /03/ /03/1990 L B /04/ /03/1990 L B /10/ /03/1990 L C Secara umum, algoritma harus men-scan partisi record dalam relasi kedua dalam F sesering jumlah record dalam partisi yang sesuai dengan relasi pertama P

20 Biaya Sort-Merge-Join Biaya sorting P adalah O(M log M) dan biaya sorting F adalah O(N logn). Biaya dari tahap penggabungan adalah M + N jika tidak terdapat partisi F di-scan beberapa kali (atau halaman yang diperlukan ditemukan dalam buffer setelah tahap pertama). Pendekatan ini sangat menarik jika setidaknya terdapat satu relasi yang telah disortir pada atribut join atau mempunyai clustered indek pada atribut join. Perhatikan join dari relasi pst_ke1 dan pstaktif, asumsikan bahwa kita mempunyai 100 halaman buffer, kemudian dapat mengurutkan pstaktif dalam dua tahap. Tahap pertama menghasilkan 10 run tiap 100 halaman yang diurutkan secara internal. Tahap kedua menggabungkan 10 run tersebut untuk menghasilkan relasi yang disortir. Karena membaca dan menulis dalam tiap tahap biaya sortingnya adalah : 2 * 2 * = halaman I/O Sama halnya kita dapat menyortir pstaktif dalam dua tahap dengan biaya 2 * 2 * = halaman I/O Selain itu tahap kedua algoritma sort-merge-join meminta scan tambahan kedua relasi, jadi total biaya adalah : = halaman I/O. Apabila kecepatan perangkat keras 10 ms, maka : * 0, = 1, jam Hash Join Algoritma Hash join, seperti algoritma sort-merge-join, yaitu mengidentifikasi partisi dalam P dan F dalam tiap partisi dan dalam tahap equality berikutnya membandingkan record dalam partisi P hanya dengan record dalam F yang sesuai untuk menguji syarat equality join. Berbeda dengan sort-merge-join, hash join menggunakan hashing untuk mengidentifikasi partisi dalam pengurutan. Tahap partisi ini dapat disebut juga sebagai building dari hasil hash join serupa dengan partisi dalam proyeksi hash based dan diilustrasikan dalam Gambar 15, dan tahap equality atau disebut matching diilustrasikan dalam Gambar 16.

21 47 Partisi Orisinil Partisi 1 Input Fungsi hash h *** *** *** B-1 B-1 disk Buffer memory utama B disk Gambar 15: Tahap Partisi Proyeksi Hash-Based. (Raghu 2003) Gambar di atas menandakan bahwa jika terdapat sejumlah besar (misalkan B halaman buffer relatif) dengan jumlah halaman P, maka pendekatan hash-based sangat perlu, karena terdapat dua tahap pekerjaan yaitu : partisi dan eliminasi duplikat. Dalam tahap partisi dipunyai satu halaman buffer input dari B-1 halaman buffer output. Relasi P dibaca ke dalam halaman buffer input, setiap satu halaman. Halaman input diproses sebagai berikut : Untuk tiap record, diproyeksikan sesuai atribut yang diinginkan, dan kemudian mengaplikasikan fungsi hash h pada kombinasi dari semua atribut yang ada. Fungsi h dipilih sehingga record didistribusikan secara seragam pada satu B-1 partisi; dan terdapat satu halaman output per partisi. Setelah proyeksi record diisi ke halaman buffer output yang di hash menurut h. Pada akhir tahap partisi, mempunyai B-1 partisi, masing-masing berisi kumpulan record menggunakan nilai hash umum (dihitung dengan mengaplikasikan h pada semua field, dan hanya mempunyai field yang diinginkan. Dua record yang tercakup dalam partisi yang berbeda dijamin tidak menjadi duplikat karena mereka mempunyai nilai hash yang berbeda. Jadi jika

22 48 dua record merupakan duplikat, maka mereka berada dalam partisi yang sama. Dalam tahap eliminasi duplikat dibaca B-1 partisi satu per satu untuk menghilangkan duplikat, dasar pemikirannya adalah membentuk in-memory hash tabel seperti memproses record untuk mendeteksi duplikat. Untuk tiap partisi dihasilkan dalam tahap pertama : 1. Baca partisi satu halaman per satu waktu. Hash tiap record dengan mengaplikasikan fungsi hash h2 ( h ) pada kombinasi dari semua field dan kemudian menyisipkannya ke dalam in-memory hash tabel. Jika record baru meng-hash nilai yang sama seperti beberapa record yang ada, maka bandingkan keduanya untuk memeriksa apakah record baru tersebut merupakan duplikat, buang duplikat saat ditemukan. 2. Setelah semua partisi telah dibaca, tulis record dalam hash tabel (dimana tidak terdapat duplikat) ke file hasil, kemudian bersihkan in-memory hash tabel untuk mempersiapkan partisi berikutnya. Untuk persoalan join idenya adalah meng-hash kedua relasi pada atribut join, menggunakan fungsi hash h yang sama. Jika meng-hash tiap relasi (idealnya secara seragam) ke dalam k partisi, maka yakin bahwa record P dalam partisi i hanya dapat join dengan record F dalam partisi j yang sama. Pengamatan ini dapat digunakan untuk pengaruh yang baik, yaitu dapat membaca dalam partisi secara lengkap dari relasi P yang lebih kecil dan hanya men-scan partisi sesuai dengan F untuk kesesuaian. Dan selanjutnya tidak perlu memperhatikan record P dan F lagi. Jadi setelah P dan F di partisi, maka dapat dilakukan join dengan hanya membaca P dan F sebanyak satu kali saja. Dan menyediakan memory yang cukup diperkenankan untuk menyimpan semua record dalam partisi P tertentu. Dalam praktek sistem membentuk in-memory hash tabel untuk partisi P, menggunakan fungsi hash h2 yang berbeda dari h ( karena h2 dimaksudkan untuk mendistribusi record dalam partisi yang berdasarkan h ), untuk mengurangi biaya CPU. Hal ini sangat memerlukan memory yang cukup untuk memegang hash tabel, yang sedikit lebih besar daripada partisi P itu sendiri.

23 49 Partisi P dan F Fungsi hash h2 Hasil join * * * h 2 Hash tabel untuk partisi P 1 { k < B -1 halaman} *** *** Buffer Input Untuk men-scan Fi Buffer output disk Buffer memory utama B disk Gambar 16: Tahap equality join menggunakan Hash-Join.(Raghu 2003) Algoritma hash join dipresentasikan pada Gambar 17, perhatikan biaya algoritma hash join. Dalam tahap partisi harus men-scan P dan F sekali dan menulisnya sekali. Oleh karena itu biaya tahap ini adalah 2 ( M + N ). Pada tahap kedua men-scan tiap partisi sekali, dengan asumsi bahwa tidak terdapat partisi overflow, dengan besar biayanya adalah : ( M + N ) I/O sehingga dengan demikian biaya total adalah : 3 ( M + N ) dengan asumsi bahwa tiap partisi dapat dimasukkan dalam memory pada tahap kedua. Pada contoh join dari pst_ke1 dan pstaktif biaya total adalah : 3 * ( ) = halaman I/O. Apabila unjuk kerja komputer diasumsikan 10 ms per I/O, hash join memerlukan waktu sebesar: * 0, = 0, jam hal tersebut dikarenakan algoritma hash join memanfaatkan buffer ekstra (inmemory) dan menggunakan variabel dinamis dimana memory yang sudah tidak digunakan dapat dibersihkan.

24 50 Dari hasil analisis di atas jelas terlihat bahwa algoritma mem-partisi tabeltabel relasi dengan menggunakan metode hash join secara parsial dapat menunjukkan unjuk kerja query secara signifikan. Tetapi prinsip Hash Based harus dirancang sebelum aplikasi digunakan, karena tabel-tabel relasi harus berupa hash tabel yang mana terdapat fungsi hash berupa variabel pointer yang dapat menunjuk langsung pada alamat tertentu sesuai keperluan yang dilakukan dalam hash join, // partition P into k partitions foreach record p P do read p and it to buffer page h(p i ); // flushed as page fills // Partition F into k partitions foreach record f F do read f and it to buffer page h(f j ); // flushed as page fills // Probing phase for l=1,..., k do { // build in memory hash tabel for P i, using h2 foreach tuple p Partition P i do read p and insert into hash table using h2(p i ); // Scan F l and Probe for matching P i record foreach record f Partition F j do { read f and probe tabel using h2 ( f j ); for matching P record p, output (p,f) } clear hash tabel to prepare for next partition; } Gambar 17. Algoritma Hash-Join (Raghu 2003) Analisis Signifikansi Optimisasi Query. Proses scanning relasi yang berulang kali dari sebuah partisi akan memerlukan biaya yang mahal. Untuk meningkatkan kesempatan suatu partisi dapat masuk kedalam memory yang tersedia dalam tahap equality, besaran partisi harus diminimalkan dengan memaksimalkan jumlah partisi. Dalam tahap partisi,

25 untuk mem-partisi P (sama halnya dengan F) ke dalam k partisi memerlukan k buffer output dan satu buffer input. Misalkan terdapat B halaman buffer, jumlah maksimum partisi k = B-1, dengan asumsi bahwa ukuran partisi sama, maka ukuran tiap partisi P adalah M B 1 51 (M adalah jumlah halaman P ). Jumlah halaman dalam (in-memory hash tabel) partisi terbentuk selama tahap equality adalah cm, dimana c adalah nilai konstanta yang digunakan untuk meningkatkan B 1 ukuran antara partisi dan hash tabel. Dalam tahap equality selain hash tabel untuk partisi P diperlukan halaman buffer untuk scanning partisi F dan halaman buffer untuk keluaran. Maka buffer c. M yang diperlukan sebanyak B > + 2, dan buffer B > c. M, agar algoritma B 1 hash join dapat dilakukan dengan baik. Partisi P diharapkan sesuai dengan tersedianya buffer, sehingga buffer M B >, maka jumlah halaman buffer yang diperlukan lebih kecil daripada B 1 B > c. M. Resiko akan timbul jika fungsi hash h tidak mempartisi P secara seragam, maka hash tabel untuk satu partisi P atau lebih mungkin tidak dapat masuk ke dalam memory selama tahap equality. Situasi ini secara signifikan dapat menurunkan unjuk kerja. Proyeksi Hash-based adalah salah satu cara untuk menangani masalah overflow partisi, yaitu mengaplikasikan teknik hash join secara berulang pada join partisi P yang overflow dengan partisi F yang bersangkutan. Pertama membagi partisi P dan F ke dalam subpartisi, berikutnya melakukan join subpartisi secara berpasangan. Semua subpartisi P masuk ke dalam memory dengan mengaplikasikan teknik hash join secara berulang, seperti tertulis dalam algoritma pada Gambar 17. Memori ekstra adalah memori yang tersedia dalam memori utama berupa RAM atau chace memori dan metode hybrid hash join adalah salah satu metode yang memanfaatkan memori ekstra. Jika tersedia lebih banyak memory, maka hybrid hash join dapat digunakan.

26 Andaikan bahwa 52 M B > c., k adalah jumlah partisi yang dapat k M dibentuk. Jika P dibagi menjadi k partisi ukuran, in-memory hash tabel k dapat dibentuk untuk tiap partisi. Untuk partisi P ( sama halnya dengan F) menjadi k partisi dibutuhkan k buffer output dan satu buffer input, yaitu k+1 halaman, dan akan menyisakan sebanyak B-(k+1) halaman ekstra selama tahap partisi. Jika M B ( k + 1) > c., berarti mempunyai cukup memory ekstra selama k tahap partisi. Metode hybrid hash join adalah membentuk in-memory hash tabel untuk partisi pertama P selama tahap partisi, yang berarti bahwa dapat menulis partisi ke disk. Sama halnya saat mempartisi F, dapat langsung melakukan equality dalam in-memory hash tabel dengan partisi P pertama. Pada akhir tahap partisi telah menyelesaikan equality join, selanjutnya algoritma bekerja seperti dalam hash join. Penghematan melalui hybrid hash join yaitu menghindari untuk menulis partisi pertama P dan F ke disk selama tahap partisi, dan membacanya kembali selama tahap equality. Apabila dilihat contoh pada pst_ke1 yang terdapat halaman dalam relasi P lebih kecil dari dari relasi F. Jika buffer tersedia B=300 halaman, maka dapat dengan mudah membentuk in-memory hash tabel untuk partisi P pertama saat mempartisi P menjadi dua partisi. Selama tahap partisi P algoritma dapat membaca P dan menulis satu partisi, biayanya adalah: = halaman I/O Jika diasumsikan bahwa partisi mempunyai ukuran yang sama, kemudian selanjutnya membaca F dan menulis satu partisi, biayanya adalah : = halaman I/O Pada tahap equality membaca partisi kedua P dan F, biayanya adalah : = halaman I/O Biaya totalnya adalah : = halaman I/O. Jika kecepatan 1 halaman I/O memakan waktu 10 ms, maka kecepatan totalnya adalah :

27 * 0, = 0,556 jam Dilihat dari hasil perhitungan, terdapat penurunan waktu runtime yang signifikan antara algoritma hash join dengan nilai 0,69 jam dan algoritma hybrid hash join sebesar 0,56 jam, yaitu sebesar ( 0, 69 jam 0,56 jam = 0,13 jam). Jika mempunyai cukup memori untuk menyimpan in-memory hash tabel untuk semua P, maka penghematannya akan lebih besar. Misalkan jika B> c.n+2, yaitu k = 1, maka dapat membentuk hash tabel ini dan membaca F sekali untuk menyelidiki hash tabel P sehingga biayanya menjadi : = I/O. Apabila unjuk kerja komputer mempunyai kecepatan I/O 10 ms, yaitu : * 0, = 0,233 jam Metode hybrid hash join, saat ini untuk DBMS komersial terdapat dalam Oracle, IBM DB2, dan Informix. Analisis perhitungan optimisasi query dengan metode hybrid-hash-join, hasilnya menunjukkan bahwa proses optimisasi query dapat dicapai secara signifikan apabila memory CPU dapat menampung sejumlah buffer dan bucketbucket (in-memory hash tabel dengan sejumlah halaman) yang sedang diproses. Apabila hash tabel tidak dapat dibentuk, maka selama tahap partisi dan tahap equality, hasil query akan selalu ditulis ke disk yang tentunya akan memakan waktu yang cukup lama. Untuk mengatasi proses query yang cukup lama dan menghindari partisi overflow dapat dilakukan fragmentasi horizontal sesuai dengan rentang atau kriteria tertentu, hasil fragmentasi disebar dibeberapa server dan diasumsikan penyebaran data seragam.

28 Analisis Optimisasi query optimizer DBMS MySQL DBMS MySQL Oprimizer dapat memberikan perkiraan unjuk kerja pecarian dari disk. Untuk tabel-tabel yang kecil dapat mencari baris dalam satu disk secara berurutan. Jika tabel-tabel cukup besar, dapat diperkirakan dengan menggunakan B++ tree index, akan diperlukan langkah pencarian sebanyak i : log(row_count) / log(index_block_length / 3 * 2 / (index_length + data_pointer_length)) + 1 seeks to find a row... (4.3) dan memerlukan buffer sebanyak : row_count * (index_length + data_pointer_length)*3/2... (4.4) Dalam MySQL banyak indek dalam block adalah 1024 bytes dan panjang data pointer 4 bytes dan panjang indek 3 bytes. Jika diaplikasikan pada tabel pst_ke1 yang mempunyai record sebanyak , maka dalam tabel pst_ke1 dengan mempunyai panjang data pointer 4 bytes dan panjang indek 3 bytes, berdasarkan persamaan (4.3) akan didapat nilai pencarian sebesar : log( )/log(1024/3*2/(3+4)) + 1 = ( / ) + 1 = 93 kali pencarian. dan berdasarkan persamaan (4.4), memerlukan buffer sebanyak * 7 * 3/2 = 40,6 MB Untuk tabel pstaktif mempunyai jumlah record sebesar , akan mempunyai nilai pencarian sebesar : log( )/log(1024/3*2/(3+4)) + 1 = ( / ) + 1 = 92 kali pencarian dan memerlukan buffer sebanyak * 7 * 3/2 = 38 MB Proses pencarian satu indek dalam tabel pst_ke1 diperlukan 93 langkah dan memerlukan memori sebanyak 40,6 MB, sedangkan untuk tabel pstaktif pencarian indek diperlukan 92 langkah dengan memerlukan memori sebanyak 38MB. Diasumsikan buffer index digunakan sebanyak 2/3, normalnya proses pencarian dilakukan 2 kali, yaitu untuk update indek dan menulis baris. i (

29 55 Proses selanjutnya melakukan join setelah record mempunyai indek yang sesuai, dan kemudian dilakukan equality join. Untuk menghitung biaya join diperlukan ii : a. Jumlah blok sebesar : b P = r / bfr... (4.5) dimana : r = jumlah record bf r = blocking factor (jumlah record per blok) b. Selection cardinality, yaitu : S atribut = r P / d atribut... (4.6) dimana : r P = jumlah record dalam tabel pertama d atribut = distinct value tabel kedua c. Biaya algoritma nested loop : Cost = b P + ( b P * b F ) + [ ( js * r P * r F ) / bfr F ]... (4.7) dimana : bp = jumlah blok dalam tabel pertama b F = jumlah blok tabel kedua js = join selectivity sebesar (1/jumlah record tabel kedua) r P = jumlah record dalam tabel pertama r F = jumlah record dalam tabel kedua bfr F = blocking factor dari tabel kedua d. Biaya algoritma B++ tree indek structure : Cost = b P + (r P * ( X atributf + S atributp ))+[ (js*r P * r F ) / bfr F ]... (4.8) dimana : bp = jumlah blok dalam tabel pertama r P = jumlah record dalam tabel pertama X atributf = primary index tabel kedua S atributp = Selection cardinality tabel pertama js = join selectivity sebesar (1/jumlah record tabel kedua) r F = jumlah record dalam tabel kedua bfr F = blocking factor dari tabel kedua ii (

30 56 Contoh kasus sebelumnya perintah join query yaitu: SELECT * FROM pst_ke1 P, pstaktif F WHERP P. no_tsp = F. no_tsp Tabel pst_ke1 P mempunyai record. Jadi r p = ( r P adalah record dalam P ). Diasumsikan jumlah record pst_ke1 per-halaman dalam satu disk blok adalah 100. Jadi bfr P = 100. Jika b adalah jumlah blok yang diperlukan untuk menyimpan tabel, maka jumlah blok dalam tabel P adalah b P, berdasarkan persamaan (4.5) blocking factor dari tabel P adalah : b P = r P / bfr P = / 100 = Untuk membedakan nilai indek diperlukan sebuah secondary index pada no_tsp dengan Xno_tsp = 2. Jangkauan atribut no_tsp terhadap nippa dari tabel pstaktif diperlukan distinct value untuk no_tsp. Jadi d no_tsp = Berdasarkan persamaan (4.6), nilai selection cardinality tabel P dari no_tsp adalah: S no_tsp = r P / d no_tsp = / = 1,07 Tabel pstaktif mempunyai record. Jadi r F = dengan Blocking factor dari pstaktif adalah bfr F = 80, maka nilai blok untuk pstaktif F adalah b F = Primary index pada nippa adalah tunggal, maka Xnippa = 1 Berdasarkan asumsi-asumsi di atas, Join Selectivity (js) adalah 1 / dan untuk mendapatkan harga yang minimum, dapat dilakukan perhitungan berdasarkan persamaan (4.7) untuk nested loop, dan persamaan (4.8) untuk index structure yaitu :

31 57 1. Menggunakan nested loop dengan pst_ke1 pada bagian luar : Cost = b P + ( b P * b F ) + [ ( js * r P * r F ) / bfr F ] = ( * ) + [ (1 / * * ) / 80 ] = ,55 = blok Apabila kecepatan I/O komputer mencapai 10ms, maka biaya di atas menjadi : = * 0, , hasilnya setara dengan = 4906,85 jam = 204,5 hari 2. Menggunakan nested loop dengan pstaktif pada bagian luar : Cost = b F + ( b F * b P ) + [ ( js * r P * r F ) / bfr F ] = (45242 * ) + [ ( 1 / * * ) / 80 ] = ,55 = ,55 blok, jika kecepatan I/O komputer mencapai 10ms, maka, = ,55 * 0, , hasilnya setara dengan = 4906,86 jam = 204 hari 3. Menggunakan index structure pada nippa dengan pst_ke1 pada bagian luar. Cost = b P + ( r P * ( Xnippa + S no_tsp ) ) + [ ( js * r P * r F ) / bfr F ] = ( *(1 + 1)) + [(1/ * * ) / 80 ] = ,55 = ,55 blok, jika kecepatan I/O komputer mencapai 10ms, maka, = ,55 * 0, , hasilnya setara dengan = 21,935 jam = 0,91395 hari 4. Menggunakan index structure pada nippa dengan pstaktif pada bagian luar. Cost = b F + ( r F * ( Xno_tsp + Sno_tsp ) ) + [ ( js * r P * r F ) / bfr F ]

32 58 = ( *(2+1,07 ))+ [(1/ * * ) /80] = , ,55 = ,16 blok, jika kecepatan I/O komputer mencapai 10ms, maka, = ,16 * 0, , hasilnya setara dengan = 31,3748 jam = 1,37 hari Dari hasil perhitungan menunjukkan bahwa persamaan ketiga mempunyai biaya 21,935 jam adalah nilai yang paling rendah, sehingga optimizer akan memilih eksekusi menggunakan persamaan yang ketiga. Biaya keempat proses di atas tidak termasuk proses pencarian yang dilakukan sebelum operasi join, untuk proses pencarian biaya dapat diabaikan karena proses pencarian dilakukan didalam buffer. Fasilitas optimizer dari DBMS MySQL, menggunakan index structure biaya query lebih rendah dibandingkan dengan biaya menggunakan nested loops, MySQL optimizer akan memilih dan menggunakan index structure, dengan persyaratan spesifikasi minimum untuk tabel yang besar harus dipenuhi, sebagai berikut iii : Processor Intel Pentium IV Set Up Buffer : Key_buffer = 384 M max_allowed_packet = 1 M table_cache = 512 M Sort_buffer_size = 2 M read_buffer_size = 2 M MyISAM_sort_buffer_size = 64 M thread_cache_size = 32 M iii (htttp://

33 Percobaan Penulis melaksanakan percobaan menggunakan fasilitas jaringan komputer yang berada di Kampus FMIPA UNPAD Jatinangor ( sebagian peta network dapat dilihat pada Gambar 23 ), fasilitas tersebut menggunakan arsitektur clientserver dengan spesifikasi antara lain : - Client : Processor Intel Pentium IV Core Duo 2,66 GHZ Memory 512 MB, Harddisk 60 GB Processor Intel Pentium IV 1,7 GHZ Memory 256 MB, Harddisk 40 GB Sistem Operasi Windows XP - Server : Processor Intel Pentium IV Core Duo 2,66 GHZ Memory 2 GB, Harddisk 80 GB Sistem Operasi Linux Redhat - Software DBMS: Mysql win My ODBC My SQL-Front_2.5 My-SQL Administrator Dalam melakukan perintah-perintah query terdapat karakteristik dari DBMS dan arsitektur client server antara lain : 1. Client dan server dapat melakukan komputasi, client dapat menerima bagian dari jawaban query. 2. Server melakukan replikasi kepada client secara real time dimana server sebagai server master dan client sebagai server slave. 3. Client akan merubah data transaksi pada server sebelum koneksi ke server di tutup. Dalam skenario yang memiliki 3 karakteristik ini minimasi waktu akses dan transfer data menjadi sangat penting, sehingga masalah minimasi ongkos yang dikeluarkan dalam transfer hasil query dapat menjadi lebih murah. Ada beberapa cara yang mungkin untuk mendekomposisi query kedalam hasil views, rencana terbaik yaitu mempunyai ukuran minimum dan pada basis data di server.

34 60 Sebuah keuntungan dari pendekatan ini adalah bahwa menggunakan metoda formal, untuk memilih optimisasi secara global yang terdapat dalam DBMS dapat diperhitungkan dan dapat dibuktikan pada saat yang sama efisiensi metoda-metoda yang men-dekomposisi query kedalam views, dengan kata lain untuk sebuah query yang diberikan dari sebuah client ke server. Dalam percobaan dengan ketiga skenario di atas ongkos komunikasi tidak dapat diabaikan dan akan berpengaruh pada total perhitungan waktu, kemudian hasilnya dapat dievaluasi dalam berbagai kasus query tersebut. Dalam percobaan ini data relasi disimpan pada client (server slave) dan server (server master), situasinya dapat dilihat pada Gambar 23, masing-masing pst_ke1 dan pstaktif disimpan dalam client (server slave), sedangkan, pmk_ke1, pmk_fd1 dan pstpens disimpan dalam server (server master). Dalam DBMS yang penulis gunakan client terkoneksi dengan database server, dan server melakukan replikasi pada client. Replikasi yang dijalankan yaitu dari server master ke server slave, transfer data (selama replikasi) antar server apabila query menggunakan MySQL kecepatannya mencapai 0,0002 detik dalam keadaan kondisi jaringan normal. Untuk percobaan yang dilakukan tabel-tabel yang diuji masih berupa tabel dengan tipe file masih ber-ekstensi.dbf, tabel tersebut dikonversi kedalam tabel Microsoft Access, setelah menjadi file Microsoft Access kemudian dikonversi lagi kedalam database MySQL, hal ini dilakukan karena karakteristik database tersebut banyak mengandung duplikasi dan banyak kesalahan dari tipe data yang tidak sesuai dengan isi data, begitu pula untuk field yang tidak null banyak yang tidak dipenuhi, sehingga apabila data berupa file.dbf tersebut langsung di konversi kedalam database MySQL sulit dapat diterima. Dari hasil pengamatan dalam proses query yang dilakukan terdapat hasil analisis dari beberapa output runtime antara lain : 1. Perintah-perintah query yang tidak melakukan join tidak terdapat masalah walaupun jumlah record cukup besar dengan rata-rata lebih dari satu juta record dengan kapasitas memori tabel di atas 100 MB. 2. Perintah-perintah query dengan menggunakan proses optimisasi menggunakan kriteria tertentu baik dalam satu relasi atau lebih dari satu

35 61 relasi, perbedaan kecepatan join query sangat signifikan, walaupun dalam DBMS sendiri sudah mempunyai fasilitas optimizer. 3. Proses optimisasi dengan mendahulukan proses seleksi sebelum melakukan join, proses eksekusi waktunya lebih cepat dari pada melakukan join lebih dahulu kemudian melakukan seleksi. 4. Perubahan-perubahan hasil proses optimisasi sangat terlihat dalam jumlah record diatas , demikian juga untuk spesifikasi komputer yang berbeda, perbedaan runtime terlihat pada record diatas Fragmentasi sangat diperlukan dalam jumlah record lebih dari satu juta, karena proses join tersebut dapat memakan waktu lebih dari satu hari. Perintah-perintah query yang dilaksanakan dalam kasus ini pertama kali adalah perintah query yang dilakukan untuk menguji bahwa tabel betul-betul layak uji dan tidak terdapat error data dalam field sehingga tidak perlu melakukan join terlebih dahulu, kemudian perintah query selanjutnya dilakukan seleksi dan join, perintah-perintah query tersebut adalah : Q 1. Perintah-perintah query tanpa optimisasi pada satu tabel relasi, hal ini untuk melihat seluruh isi tabel layak uji dan melihat unjuk kerja I/O komputer, yaitu : 1 SELECT * FROM pst_ke1; 2 SELECT * FROM pstaktif; 3 SELECT * FROM pmk_ke1; 4 SELECT * FROM pmk_fd1; 5 SELECT * FROM pstpens; Q 2 Perintah-perintah query dengan optimisasi seleksi satu kriteria dari atribut tertentu pada tabel satu relasi, yaitu :

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Basis Data Terdistribusi 2.1.1. Sistem Basis Data Terdistribusi Dalam pengelolaan basis data terdapat dua sistem basis data, yaitu Basis Data Terpusat ( Centralized ) dan Basis

Lebih terperinci

BAB III METODOLOGI DAN RANCANGAN PENELITIAN

BAB III METODOLOGI DAN RANCANGAN PENELITIAN BAB III METODOLOGI DAN RANCANGAN PENELITIAN 3.1. Metodologi Penelitian Sejak tahun 1960 an penelitian-penelitian tentang basis data sudah dimulai dan dikembangkan sesuai kebutuhan, terutama dengan menggunakan

Lebih terperinci

Vlach Richard Query Processing in Distributed Database Systems. Departement of Software Engineering, Charles University. hlm.

Vlach Richard Query Processing in Distributed Database Systems. Departement of Software Engineering, Charles University. hlm. 73 DAFTAR PUSTAKA Connolly T, Begg. C 1996. Database System A Practical Approach to Design, Implementation and Management. New York : Addison Wesley Publishing Company. hlm. 163-191 Erik va Kuijk. 2000.

Lebih terperinci

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System)

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System) 21 BAB 2 LANDASAN TEORI 2.1. Pengertian DBMS (Database Management System) Database Management System atau DBMS adalah perangkat lunak yang didesain untuk membantu dalam memelihara dan menggunakan koleksi

Lebih terperinci

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PENGUJIAN BAB V IMPLEMENTASI DAN PENGUJIAN Bab ini membahas mengenai implementasi dan pengujian perangkat lunak yang dibangun pada Tugas Akhir ini. Pembahasan mengenai implementasi dipaparkan pada subbab 5.1 sedangkan

Lebih terperinci

SISTEM BASIS DATA II S A N T I W I D I A N T I

SISTEM BASIS DATA II S A N T I W I D I A N T I SISTEM BASIS DATA II S A N T I W I D I A N T I SISTEM Definisi sebuah tatanan yang terdiri atas sejumlah komponen fungsional (dengan tugas/fungsi khusus) yang saling berhubungan dan secara bersama-sama

Lebih terperinci

ESTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, M.Kom

ESTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, M.Kom ESTIMASI QUERY Sistem Basis Data Gentisya Tri Mardiani, M.Kom Estimasi Biaya Query Optimizer query akan membuat informasi statistik yang tersimpan dalam katalog DBMS untuk memperkirakan besarnya biaya

Lebih terperinci

perkembangan yang diraih, namun ada juga kegagalan dan ketidakstabilan pada masingmasing Database Engine. Database yang bekerja 24 jam dan yang memili

perkembangan yang diraih, namun ada juga kegagalan dan ketidakstabilan pada masingmasing Database Engine. Database yang bekerja 24 jam dan yang memili Analisis Kecepatan Proses Insert Query Pada Tabel Terpartisi Di Database Engine Oracle Dan SQL Server Widhya Wijaksono Fakultas Teknologi Industri, Jurusan Teknik Informatika Universitas Gunadarma widhya_wijaksono@yahoo.com

Lebih terperinci

ANALISIS OPTIMISASI FORMULA DISTRIBUTED QUERY DALAM BASIS DATA RELASIONAL R. SUDRAJAT

ANALISIS OPTIMISASI FORMULA DISTRIBUTED QUERY DALAM BASIS DATA RELASIONAL R. SUDRAJAT ANALISIS OPTIMISASI FORMULA DISTRIBUTED QUERY DALAM BASIS DATA RELASIONAL R. SUDRAJAT SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2007 RINGKASAN ii Proses join query dalam sistem basis data terdistribusi

Lebih terperinci

OPTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

OPTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom OPTIMASI QUERY Sistem Basis Data Gentisya Tri Mardiani, S.Kom., M.Kom Struktur Sistem Basis Data Tujuan utama dari sistem basis data adalah untuk memudahkan dan memfasilitasi akses ke data. Faktor utama

Lebih terperinci

http://www.brigidaarie.com Di lingkungan file-server, pemrosesan didistribusikan ke jaringan yang Local Area Network (LAN). File-Server menunjang kebutuhan file dengan aplikasi-aplikasi dan DBMS. Aplikasi

Lebih terperinci

6/26/2011. Database Terdistribusi. Database Terdesentralisasi

6/26/2011. Database Terdistribusi. Database Terdesentralisasi Sekumpulan database independen pada komputer komputer yang tidak saling berhubungan melalui jaringan Suatu database logis secara fisik tersebar pada beberapa komputer (di beberapa lokasi) dihubungkan melalui

Lebih terperinci

Modul 3 : Query Penggabungan Tabel

Modul 3 : Query Penggabungan Tabel Modul 3 : Query Penggabungan Tabel Tujuan Praktikum - Mahasiswa dapat membedakan perbedaan macam-macam join tabel. - Mahasiswa mampu melakukan query untuk join tabel. - Mahasiswa dapat membedakan union,

Lebih terperinci

OPTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

OPTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom OPTIMASI QUERY Sistem Basis Data Gentisya Tri Mardiani, S.Kom., M.Kom Struktur Sistem Basis Data Tujuan utama dari sistem basis data adalah untuk memudahkan dan memfasilitasi akses ke data. Faktor utama

Lebih terperinci

ORGANISASI FILE. Alif Finandhita, S.Kom

ORGANISASI FILE. Alif Finandhita, S.Kom ORGANISASI FILE Penyimpanan ataupun penulisan character demi character yang ada di dalam external memory, harus diatur sedemikian rupa sehingga komputer bisa dengan mudah menemukan kembali data-data yang

Lebih terperinci

Optimasi Query. by: Ahmad Syauqi Ahsan

Optimasi Query. by: Ahmad Syauqi Ahsan 05 Optimasi Query by: Ahmad Syauqi Ahsan Optimasi Query 2 Misalkan anda diberi kesempatan untuk mengunjungi 15 kota yang berbeda di Eropa. Satu-satunya batasan yang ada adalah "Waktu". Apakah anda mempunya

Lebih terperinci

DATABASE TERDISTRIBUSI

DATABASE TERDISTRIBUSI DATABASE TERDISTRIBUSI Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logic tetapi tersebar secara fisik pada suatu jaringan computer. Karakteristik database terdistribusi yaitu

Lebih terperinci

Hendra Setiawan ( )

Hendra Setiawan ( ) Hendra Setiawan (15.52.0657) Query Database Query ini sendiri atau sering disebut SQL (Structured Query Language) adalah suatu bahasa (language) yang digunakan untuk mengakses database. (Solichin, 2010).

Lebih terperinci

BAB 4 IMPLEMENTASI DAN HASIL PENELITIAN. Pada bab 4 ini akan dijelaskan hasil rancangan sistem aplikasi optimizer, yaitu

BAB 4 IMPLEMENTASI DAN HASIL PENELITIAN. Pada bab 4 ini akan dijelaskan hasil rancangan sistem aplikasi optimizer, yaitu BAB 4 IMPLEMENTASI DAN HASIL PENELITIAN Pada bab 4 ini akan dijelaskan hasil rancangan sistem aplikasi optimizer, yaitu implementasi sistem tersebut dan juga evaluasi dari implementasi sistem untuk mengetahui

Lebih terperinci

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom PEMROSESAN QUERY Gentisya Tri Mardiani, S.Kom Pendahuluan Pemrosesan terhadap query di dalam suatu basis data dilakukan dengan menggunakan bahasa query (query language) Bahasa query formal basis data relasional

Lebih terperinci

Perbandingan Cross-Product dan Subset Query pada Multiple Relasi dengan Metode Cost-Based

Perbandingan Cross-Product dan Subset Query pada Multiple Relasi dengan Metode Cost-Based Perbandingan - dan Subset pada ple Relasi dengan Metode Cost-Based Metta Santiputri 1) Mira Chandra Kirana 1) Anni 2) 1) Program Studi Teknik Informatika, Politeknik Batam E-mail: metta@polibatam.ac.id.ac.id,

Lebih terperinci

Disk & Memory Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika.

Disk & Memory Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Disk & Memory Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas i Pasundan Caca E Supriana S Si MT Caca E. Supriana, S.Si.,MT. caca.e.supriana@unpas.ac.id Pengelolaan Record dalam

Lebih terperinci

DESAIN DATABASE. Pertemuan 06 3 SKS

DESAIN DATABASE. Pertemuan 06 3 SKS Materi 1. Era Informasi 2. Strategi dan Peluang Yang Kompetitif 3. Database dan Database Warehouse 4. Desain Database 5. Sistem Pendukung Keputusan dan Sistem Cerdas 6. E-Commerce DESAIN DATABASE Pertemuan

Lebih terperinci

PERBANDINGAN CROSS-PRODUCT DAN SUBSET QUERY PADA MULTIPLE RELASI DENGAN METODE COST-BASED

PERBANDINGAN CROSS-PRODUCT DAN SUBSET QUERY PADA MULTIPLE RELASI DENGAN METODE COST-BASED PERBANDINGAN CROSS-PRODUCT DAN SUBSET QUERY PADA MULTIPLE RELASI DENGAN METODE COST-BASED Metta Santiputri 1) Mira Chandra Kirana 1) Anni 2) 1) Program Studi Teknik Informatika, Politeknik Batam E-mail:

Lebih terperinci

MODUL 10 ACTIVE DATA OBJECT (BAGIAN 1)

MODUL 10 ACTIVE DATA OBJECT (BAGIAN 1) MODUL 10 ACTIVE DATA OBJECT (BAGIAN 1) Struktur Basis Data Terdistribusi sebuah sistem basis data terdistribusi hanya memungkinkan dibangun dalam sebuah sistem jaringan komputer. Dalam sebuah sistem jaringan

Lebih terperinci

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1 ARSITEKTUR SISTEM Alif Finandhita, S.Kom, M.T Alif Finandhita, S.Kom, M.T 1 Sistem Terpusat (Centralized Systems) Sistem Client Server (Client-Server Systems) Sistem Server (Server Systems) Sistem Paralel

Lebih terperinci

INTERNET PROGRAMMING DATABASE

INTERNET PROGRAMMING DATABASE INTERNET PROGRAMMING DATABASE Muhmmad Zen Samsono Hadi, ST. MSc. zenhadi@eepis-its.edu POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Bahasan Sistem Database ER Diagram Database MySQL Internet Application Pendahuluan

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi 4.1.1 Spesifikasi Sistem Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras dan piranti lunak sebagai berikut : Spesifikasi

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 4 IMPLEMENTASI DAN EVALUASI BAB 4 IMPLEMENTASI DAN EVALUASI Untuk mengetahui manfaat dari aplikasi backup dan restore ini, perlu dilakukan suatu implementasi. Implementasi yang benar dan tepat sasaran memerlukan pula ketersediaan

Lebih terperinci

Gambar 4.57 Rancangan Pivot Tabel Total Purchase Return Dalam Quantity

Gambar 4.57 Rancangan Pivot Tabel Total Purchase Return Dalam Quantity 123 Gambar 4.57 Rancangan Pivot Tabel Total Purchase Return Dalam Quantity Gambar 4.58 Rancangan Pivot Tabel Total Purchase Return Berdasarkan Vendor Area Dalam Rupiah 124 Gambar 4.59 Rancangan Pivot Tabel

Lebih terperinci

Basis Data Relational

Basis Data Relational Basis Data Relational Kebanyakan model yang digunakan adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data

Lebih terperinci

BAB III ANALISIS MASALAH

BAB III ANALISIS MASALAH BAB III ANALISIS MASALAH Bab ketiga ini berisi penjelasan analisis permasalahan serta solusi dalam penanganan masalah dalam tugas akhir ini. Solusi penanganan masalah tersebut berupa langkah-langkah lojik

Lebih terperinci

Tampilan Form Update Evaluasi Sarana InHouse

Tampilan Form Update Evaluasi Sarana InHouse 289 29. Bagian training dapat memasukkan kembali perubahan terhadap penilaian training untuk selanjutnya data-data perubahan akan dimasukkan ke dalam basis data. Tampilan Form Update Evaluasi Sarana InHouse

Lebih terperinci

BAB 5 IMPLEMENTASI DAN EVALUASI

BAB 5 IMPLEMENTASI DAN EVALUASI BAB 5 IMPLEMENTASI DAN EVALUASI 5.1 Hasil Layout Masukan Hasil layout masukan (data master dan transaksi) dapat dilihat dengan lebih lengkap pada Lampiran 6. 5.2 Hasil Layout Keluaran Hasil layout keluaran

Lebih terperinci

LATAR BELAKANG IBM San Jose Research Laboratory.

LATAR BELAKANG IBM San Jose Research Laboratory. SQL LATAR BELAKANG SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research Laboratory. 2 LATAR BELAKANG Bahasa

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN PANGKALAN DATA

BAB 3 ANALISIS DAN PERANCANGAN PANGKALAN DATA BAB 3 ANALISIS DAN PERANCANGAN PANGKALAN DATA 3.1 Analisis Ada dua analisis yang digunakan yaitu analisis permasalahn dan analisis persyaratan yang akan dijelaskan di bawah ini. 3.1.1 Analisis Permasalahan

Lebih terperinci

Organisasi File Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

Organisasi File Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si Organisasi File Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas i Pasundan Caca E. Supriana, S.Si.,MT. Si caca.e.supriana@unpas.ac.id 1 Pendahuluan DBMS harus menyimpan data di

Lebih terperinci

Model Relasional. Basis Data. Pengertian

Model Relasional. Basis Data. Pengertian Model Relasional Basis Data Materi Yang Akan Disampaikan Pengertian 3 MODEL DATABASE Istilah dalam Basis Data Relasional Relational Key Di Model Relational Bahasa pada Model Data Relasional Bahasa Query

Lebih terperinci

Model dan Aljabar Relasional. Rima Dias Ramadhani, S.Kom., M.Kom Wa:

Model dan Aljabar Relasional. Rima Dias Ramadhani, S.Kom., M.Kom   Wa: Model dan Aljabar Relasional Rima Dias Ramadhani, S.Kom., M.Kom Email: rima@ittelkom-pwt@ac.id Wa: 087731680017 RECORD BASED DATA MODEL Model Hierarkikal Model Jaringan Model Relasional Struktur Hirarki

Lebih terperinci

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004 Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004 Optimasi SQL Query untuk Information Retrieval pada Aplikasi Berbasis Web Mukhammad Andri Setiawan Jurusan Teknik Informatika,

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN SERVER MMOG

BAB IV IMPLEMENTASI DAN PENGUJIAN SERVER MMOG BAB IV IMPLEMENTASI DAN PENGUJIAN SERVER MMOG 4.1 Implementasi Server MMOG Aplikasi server MMOG ini dibuat menggunakan software Microsoft Visual C++.NET 2003 yang berjalan pada sistem operasi Microsoft

Lebih terperinci

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PENGUJIAN BAB V IMPLEMENTASI DAN PENGUJIAN Bab kelima ini berisi uraian hasil implementasi dan pengujian terhadap perangkat lunak yang dibuat pada tugas akhir ini. 5.1 Implementasi Sub bab ini mendeskripsikan hasil

Lebih terperinci

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX ============================================================================== OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX Ridho Pamungkas Jurusan Sistem Informasi, Fakultas Teknik, UNIPMA,

Lebih terperinci

IMPLEMENTASI INVERTED INDEX DENGAN SISTEM ORDBMS MENGGUNAKAN COLLECTION UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN

IMPLEMENTASI INVERTED INDEX DENGAN SISTEM ORDBMS MENGGUNAKAN COLLECTION UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN IMPLEMENTASI INVERTED INDEX DENGAN SISTEM ORDBMS MENGGUNAKAN COLLECTION UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN JB Budi Darmawan Jurusan Teknik Informatika, Fakultas Sains dan Teknologi, Universitas

Lebih terperinci

MODUL 7 STRUCTURED QUERY LANGUAGE

MODUL 7 STRUCTURED QUERY LANGUAGE MODUL 7 STRUCTURED QUERY LANGUAGE BAHASA QUERY KOMERSIAL Berdasarkan acuan model relasional, ada 2 bahasa query komersial yang tersedia : 1. SQL (Structured Query Language) 2. QBE (Query By Example ).

Lebih terperinci

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST Andhika Hendra Estrada S. Sekolah Teknik Elektro dan Informatika INSTITUT

Lebih terperinci

BAB IV IMPLEMENTASI DAN EVALUASI. Pada bab ini akan dijelaskan mengenai kebutuhan sistem, implementasi dan

BAB IV IMPLEMENTASI DAN EVALUASI. Pada bab ini akan dijelaskan mengenai kebutuhan sistem, implementasi dan BAB IV IMPLEMENTASI DAN EVALUASI Pada bab ini akan dijelaskan mengenai kebutuhan sistem, implementasi dan evaluasi simulasi pelayanan retoran cepat saji dengan menggunakan metode next event time advance.

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI. yang sulit untuk diimplementasikan dalam RDBMS (Relational Data Base Management

BAB 4 IMPLEMENTASI DAN EVALUASI. yang sulit untuk diimplementasikan dalam RDBMS (Relational Data Base Management BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi Penelitian melakukan pengembangan terhadap opsi-opsi pemecahan masalah yang sulit untuk diimplementasikan dalam RDBMS (Relational Data Base Management System)

Lebih terperinci

1. Mempersiapkan data yang akan dikelola dalam DBMS 2. Memperoleh efisiensi dalam pemrosesan data

1. Mempersiapkan data yang akan dikelola dalam DBMS 2. Memperoleh efisiensi dalam pemrosesan data Database Development (3) Physical Design Pengantar Sebelum skema relasi yang dihasilkan dari proses perancangan lojik dan normalisasi dapat digunakan sebagai database, perlu dijalani satu tahapan lagi,

Lebih terperinci

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL Pertemuan 3 dan 4 : MODEL DATA RELASIONAL Tujuan Instruksional Khusus : Mahasiswa dapat menjelaskan pengertian model data relasional, istilah-istilah dalam model data relasional, jenis-jenis kunci relasional,

Lebih terperinci

IMPLEMENTASI INVERTED INDEX DENGAN SISTEM MANAJEMEN BASISDATA UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN

IMPLEMENTASI INVERTED INDEX DENGAN SISTEM MANAJEMEN BASISDATA UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN IMPLEMENTASI INVERTED INDEX DENGAN SISTEM MANAJEMEN BASISDATA UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN JB Budi Darmawan Jurusan Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma

Lebih terperinci

BASIS DATA TERDISTRIBUSI

BASIS DATA TERDISTRIBUSI FRAGMENTASI DATA dalam BASIS DATA TERDISTRIBUSI Disusun Oleh: Alit Mahendra Bramantya FRAGMENTASI DATA dalam BASIS DATA TERDISTRIBUSI Apakah yang dimaksud dengan basis data terdistribusi? Basis data terdistribusi

Lebih terperinci

PEMROSESAN QUERY. Alif Finandhita, S.Kom, M.T

PEMROSESAN QUERY. Alif Finandhita, S.Kom, M.T PEMROSESAN QUERY Alif Finandhita, S.Kom, M.T Pemrosesan terhadap query di dalam suatu sistem basis data dilakukan dengan menggunakan bahasa query (query language). Bahasa query formal basis data relasional

Lebih terperinci

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

MODUL III STRUCTURED QUERY ANGUAGE (SQL) MODUL III STRUCTURED QUERY ANGUAGE (SQL) Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. Tugas Pendahuluan 1. Apa yang anda

Lebih terperinci

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI. SISTEM BASIS DATA 2 WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 1 - SBD 2 Pendahuluan Pengenalan Secara Umum Materi Sistem Basis Data 2 (SAP). Review Pengantar Model Data Relasional (MDR). Keuntungan Penggunaan

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM. Kambing Etawa Menggunakan Metode Pearson Square pada Peternakan Nyoto.

BAB III ANALISIS DAN PERANCANGAN SISTEM. Kambing Etawa Menggunakan Metode Pearson Square pada Peternakan Nyoto. BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Pada bab ini akan dibahas tentang identifikasi permasalahan, analisis permasalahan, solusi permasalahan dan perancangan sistem dalam Rancang

Lebih terperinci

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus :

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus : 1 Pertemuan 2 dan 3 : MODEL DATA RELASIONAL Tujuan Instruksional Khusus : 1. Mahasiswa dapat menjelaskan pengertian model data relasional, istilah-istilah dalam model data relasional, jenis- jenis kunci

Lebih terperinci

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang 9 BAB II LANDASAN TEORI 2.1.1 Pengertian Data Pengertian data adalah : Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang tidak mempunyai makna atau tidak berpengaruh langsung

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI. Berikut ini merupakan spesifikasi perangkat keras dan perangkat lunak yang

BAB 4 IMPLEMENTASI DAN EVALUASI. Berikut ini merupakan spesifikasi perangkat keras dan perangkat lunak yang BAB IMPLEMENTASI DAN EVALUASI. Implementasi Sistem Berikut ini merupakan spesifikasi perangkat keras dan perangkat lunak yang diperlukan agar program simulasi Tata Letak Tempat Sampah dengan Algoritma

Lebih terperinci

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi BAB II DASAR TEORI 2.1 Konsep Dasar Sistem Aplikasi 2.1.1 Pengertian Sistem Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu. Suatu sistem mempunyai

Lebih terperinci

PENGARUH JOIN ORDERING TERHADAP WAKTU RESPON QUERY

PENGARUH JOIN ORDERING TERHADAP WAKTU RESPON QUERY PENGARUH JOIN ORDERING TERHADAP WAKTU RESPON QUERY Meyliani Tanjung 1) Wasino 2) Tony 3) 1) 2) 3) Sistem Informasi Universitas Tarumanagara Jalan Letjen S. Parman No. 1, Jakarta 11440 Indonesia email :

Lebih terperinci

STRUCTURE QUERY LANGUAGE (SQL)

STRUCTURE QUERY LANGUAGE (SQL) STRUCTURE QUERY LANGUAGE (SQL) Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. SQL mempunyai kemampuan sebagai berikut : a. Query (memperoleh

Lebih terperinci

sistem basis data ti ti ukdw Indexing Materi Minggu ke-10 Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 04/07/13 budi susanto 1

sistem basis data ti ti ukdw Indexing Materi Minggu ke-10 Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 04/07/13 budi susanto 1 Indexing Materi Minggu ke-10 Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 04/07/13 budi susanto 1 Tujuan Memahami Tujuan Index pada Database Memahami model dasar Index Memahami algoritma

Lebih terperinci

Sekumpulan field yang bergambung sebagai sebuah unit yang memiliki ukuran tertentu

Sekumpulan field yang bergambung sebagai sebuah unit yang memiliki ukuran tertentu UTS SBD 25 Oktober 2011 21:46 @wisnu Soal2 UTS SBD 2011, terdiri dari: 1. Teori teori 2. BTree dan B+ Tree (Plus) 3. Alt Query AR (Aljabar Relasional) 4. Hitung cost I/Os 5. Hashing 6. Indexing, Primary,

Lebih terperinci

PENDAHULUAN TINJAUAN PUSTAKA

PENDAHULUAN TINJAUAN PUSTAKA Latar Belakang PENDAHULUAN Web merupakan salah satu sarana untuk menyediakan berbagai informasi pada jaringan internet. Adanya hyperlink pada web memungkinkan pengguna menjelajahi web untuk mencari informasi

Lebih terperinci

BASIS DATA TERDISTRIBUSI

BASIS DATA TERDISTRIBUSI BASIS DATA TERDISTRIBUSI Kelompok : 1. Herdi Muzadi R (H1D015018) 2. Theza Gema Sandi (H1D015022) 3. M Fauzan Ramadhan (H1D015039) 4. Butar Butar Ines (H1D015047) 5. Mutiara Dwi A (H1D015058) 6. M Endhyka

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI. Program aplikasi rute pengiriman barang dengan algoritma Genetik ini dibuat

BAB 4 IMPLEMENTASI DAN EVALUASI. Program aplikasi rute pengiriman barang dengan algoritma Genetik ini dibuat BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi 4.1.1 Spesifikasi Perangkat Keras Program aplikasi rute pengiriman barang dengan algoritma Genetik ini dibuat dan diuji dengan menggunakan komputer dekstop

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini membahas tentang implementasi dan pengujian perangkat lunak yang dibangun pada tugas akhir ini. Implementasi akan dibahas pada Subbab 4.1, sedangkan pengujian

Lebih terperinci

Database System 8 Hash-Based Indexing

Database System 8 Hash-Based Indexing Database System 8 Hash-Based Indexing Dahlia Widhyaestoeti, S.Kom Powered by www.redoffice.com Pustaka Sistem Manajemen Database Edisi ketiga, Raghu Ramakrishnan & Johannes Gehrke, McGrawHill 3 Hash-Based

Lebih terperinci

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem Tahap implementasi sistem merupakan tahap pembangunan perangkat lunak, tahap lanjut dari tahap perancangan sistem. Tahap yang dilakukan untuk

Lebih terperinci

LAPORAN TUGAS BASIS DATA I

LAPORAN TUGAS BASIS DATA I LAPORAN TUGAS BASIS DATA I Disusun untuk Memenuhi Tugas Matakuliah Basis Data I yang dibimbing oleh Bapak Muhammad Zainal Arifin Oleh : KATYA LINDI CHANDRIKA 140535605307 UNIVERSITAS NEGERI MALANG FAKULTAS

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN EVALUASI DAN PENINGKATAN KINERJA SISTEM BASIS DATA SIDJP CORE Gambaran Umum Direktorat Jendral Pajak

BAB 3 ANALISIS DAN PERANCANGAN EVALUASI DAN PENINGKATAN KINERJA SISTEM BASIS DATA SIDJP CORE Gambaran Umum Direktorat Jendral Pajak BAB 3 ANALISIS DAN PERANCANGAN EVALUASI DAN PENINGKATAN KINERJA SISTEM BASIS DATA SIDJP CORE 3.1 Organisasi Direktorat Jenderal Pajak 3.1.1 Gambaran Umum Direktorat Jendral Pajak Direktorat Jenderal Pajak

Lebih terperinci

PENGENALAN PROSES DAN OPTIMISASI QUERY

PENGENALAN PROSES DAN OPTIMISASI QUERY PENGENALAN PROSES DAN OPTIMISASI QUERY Database Manajemen Sistem (DBMS) adalah kumpulan dari programprogram yang membolehkan user untuk menciptakan dan memelihara sebuah database. DBMS sudah menjadi peralatan

Lebih terperinci

P7 Perancangan Database

P7 Perancangan Database P7 Perancangan Database SQ http://sidiq.mercubuana-yogya.ac.id Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta Tujuan Mahasiswa mengetahui & memahami konsep

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM BAB III ANALISIS DAN PERANCANGAN SISTEM Proses analisis dan perancangan sistem merupakan suatu prosedur yang dilakukan untuk pemeriksaan masalah dan penyusunan alternatif pemecahan masalah yang timbul

Lebih terperinci

SISTEM TERDISTRIBUSI

SISTEM TERDISTRIBUSI SISTEM TERDISTRIBUSI DATABASE MANAGEMENT SYSTEM PADA SISTEM TERDISTRIBUSI Untuk memenuhi tugas mata kuliah Manajemen Sistem Terditribusi Oleh Diana Laily fithri, M.kom Disusun Oleh: Frista Yogie T (201253065)

Lebih terperinci

BAB 4 RENCANA IMPLEMENTASI DAN EVALUASI. Penerapan Sistem Basis Data pada PT.Global Health membutuhkan 3 macam spesifikasi

BAB 4 RENCANA IMPLEMENTASI DAN EVALUASI. Penerapan Sistem Basis Data pada PT.Global Health membutuhkan 3 macam spesifikasi BAB 4 RENCANA IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi Sistem Penerapan Sistem Basis Data pada PT.Global Health membutuhkan 3 macam spesifikasi sistem yaitu spesifikasi computer,personil dan sisi keamanan

Lebih terperinci

IKI 20100: Struktur Data & Algoritma

IKI 20100: Struktur Data & Algoritma IKI 20100: Struktur Data & Algoritma B Tree Ruli Manurung & Ade Azurat ( Setiawan (acknowledgments: Denny, Suryana Fasilkom UI Ruli Manurung & Ade Azurat Fasilkom UI - IKI20100 2007/2008 Ganjil Minggu

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 4 IMPLEMENTASI DAN EVALUASI BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi 4.1.1 Jadwal Implementasi Penerapan aplikasi ini terdiri dari beberapa tahapan berkelanjutan, dengan penjadwalan yang dapat dilihat pada tabel berikut ini:

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Menjalankan Sistem Aplikasi Tracking Kartu Halo perlu memperhatikan lingkungan operasional dan pengembangan yang meliputi perangkat keras (hardware) yang

Lebih terperinci

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini: JOIN Dalam menampilkan sebuah data seringkali kita perlu menggunakan lebih dari 1 tabel, 2 tabel, bahkan lebih, karena data yang akan ditampilkan terletak pada beberapa tabel. Setiap tabel biasanya memiliki

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Masalah Pencarian (searching) merupakan proses yang sering digunakan dalam pengolahan data. Proses Pencarian ini biasanya di lakukan dengan

Lebih terperinci

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi BAB 1 PENDAHULUAN 1.1 Latar Belakang Di era globalisasi ini, perkembangan teknologi informasi sudah merupakan satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi merupakan suatu kebutuhan

Lebih terperinci

DRAFT JUDUL : OPTIMALISASI COST DAN TIME DENGAN SQL TUNING PADA APLIKASI PROFIN

DRAFT JUDUL : OPTIMALISASI COST DAN TIME DENGAN SQL TUNING PADA APLIKASI PROFIN DRAFT JUDUL : OPTIMALISASI COST DAN TIME DENGAN SQL TUNING PADA APLIKASI PROFIN Alvian Osalindo Fransiskus Martin Suparto Darudiato Universitas Bina Nusantara ABSTRAK Salah satu tujuan dalam melakukan

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI 2.1. Tinjauan Pustaka Pada Penelitian sejenis ini pernah dilakukan oleh Wasino dkk (2013); Maulani dkk (2015); Nilaliliana Prihatin (2017) ; Eka Rahmadyani(2016);dan

Lebih terperinci

6.2 Pendekatan Database Untuk Pengelolaan Data

6.2 Pendekatan Database Untuk Pengelolaan Data 6.2 Pendekatan Database Untuk Pengelolaan Data Database adalah sekumpulan data yang diorganisasikan untuk melayani berbagai aplikasi secara efisien dengan memusatkan data dan mengurangi penggandaan data.

Lebih terperinci

MANAJEMEN MEMORI SISTEM OPERASI

MANAJEMEN MEMORI SISTEM OPERASI MANAJEMEN MEMORI SISTEM OPERASI Manajemen Memori Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik baiknya.

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI PROGRAM. Oriented Programming) atau secara procedural.

BAB 4 PERANCANGAN DAN IMPLEMENTASI PROGRAM. Oriented Programming) atau secara procedural. 38 BAB 4 PERANCANGAN DAN IMPLEMENTASI PROGRAM 4.1 Perancangan Program Aplikasi 4.1.1 Bentuk Program Suatu program dapat dibuat dengan dua cara yaitu secara OOP (Object Oriented Programming) atau secara

Lebih terperinci

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc. DATABASE - MySQL Muhammad Zen S. Hadi, ST. MSc. Objectives Tujuan: Memahami perintah-perintah dasar DDL dan DML Contents Database DBMS Relational model SQL MySQL MySQL yang support ke relational model

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA IV.1. Tampilan Hasil Tampilan aplikasi perancangan SIG lokasi klinik hewan di wilayah Medan akan tampil baik menggunakan Mozilla Firefox, untuk menjalankan aplikasi ini buka Mozilla

Lebih terperinci

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG M O D U L S Q L SISTEM BASIS DATA 2 Disusun oleh : Siti Yuliyanti, ST SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG Jl. Brigjen Katamso No.92 Km 2.5 Tanjungpinang Kepulauan Riau November 24, 2010 SQL

Lebih terperinci

BAB III LANDASAN TEORI. adalah sebagai berikut: Sistem adalah suatu jaringan kerja dari prosedur-prosedur

BAB III LANDASAN TEORI. adalah sebagai berikut: Sistem adalah suatu jaringan kerja dari prosedur-prosedur BAB III LANDASAN TEORI 3.1 Konsep Dasar Sistem Informasi Terdapat dua kelompok pendekatan di dalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya.

Lebih terperinci

PERTEMUAN 2 DBMS & PERANCANGAN BASIS DATA

PERTEMUAN 2 DBMS & PERANCANGAN BASIS DATA PERTEMUAN 2 DBMS & PERANCANGAN BASIS DATA Jum at, 30 Sept. 2016 DATABASE MANAGEMENT SYSTEM (DBMS) DBMS adalah perangkat lunak yang memungkinkan pemakai untuk mendefinisikan, mengelola, dan mengontrol akses

Lebih terperinci

SQL Data Definition Language (DDL)

SQL Data Definition Language (DDL) Structured Query Language - DML (Pert. 12) Oleh : Umi Laili Yuhana, S.Kom, M.Sc. Sarwosri, S.Kom, M.T. Dr. Ir. Siti Rochimah 1 SQL Data Definition Language (DDL) Perintah DDL dalam SQL meliputi : CREATE

Lebih terperinci

Bab 4. Implementasi dan Evaluasi. pengevaluasian secara langsung di sistem berjalan tidaklah memungkinkan. Maka dari

Bab 4. Implementasi dan Evaluasi. pengevaluasian secara langsung di sistem berjalan tidaklah memungkinkan. Maka dari Bab 4 Implementasi dan Evaluasi 4.1 Persiapan Sistem Simulasi Dari wawancara yang dilakukan, penulis menemukan bahwa ditinjau dari sisi resiko dan dampak yang mungkin akan ditimbulkan, proses pengimplementasian

Lebih terperinci

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data Kompetensi Dasar Setelah mengikuti kegiatan proses belajar mengenai Pengenalan SQL, mahasiswa dapat mendefinisikan dan memanipulasi sistem basis data menggunakan bahasa SQL dengan tepat Tujuan Pembelajaran

Lebih terperinci

SEARCHING & SORTING. Pendahuluan

SEARCHING & SORTING. Pendahuluan SEARCHING & SORTING Pendahuluan Sorting dan searching merupakan salah satu operasi dasar dalam ilmu komputer. Sorting merupakan suatu proses (operasi) yang mengurutkan data dalam suatu urutan yang diberikan

Lebih terperinci

4 BAB 4 IMPLEMENTASI DAN EVALUASI. rencana implementasi dapat dilihat pada Tabel 4.1 di bawah ini : Tabel 4.1 Tabel Rencana Implementasi

4 BAB 4 IMPLEMENTASI DAN EVALUASI. rencana implementasi dapat dilihat pada Tabel 4.1 di bawah ini : Tabel 4.1 Tabel Rencana Implementasi 4 BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Rencana Implementasi Untuk memastikan program dapat berjalan dengan lancar, maka perlu dilakukan instalasi perangkat keras, sistem operasi dan DBMS, program aplikasi,

Lebih terperinci

BAB II LANDASAN TEORI. berkelanjutan tentang kegiatan/program sehingga dapat dilakukan tindakan

BAB II LANDASAN TEORI. berkelanjutan tentang kegiatan/program sehingga dapat dilakukan tindakan BAB II LANDASAN TEORI 2.1 Monitoring Menurut Dr. Harry Hikmat (2010), monitoring adalah proses pengumpulan dan analisis informasi berdasarkan indikator yang ditetapkan secara sistematis dan berkelanjutan

Lebih terperinci

PENINGKATAN UNJUK KERJA MYSQL DALAM INPUT DAN OUTPUT DATA. Jaeni 1

PENINGKATAN UNJUK KERJA MYSQL DALAM INPUT DAN OUTPUT DATA. Jaeni 1 PENINGKATAN UNJUK KERJA MYSQL DALAM INPUT DAN OUTPUT DATA Jaeni 1 Abstraksi Proses input data dan output data pada mysql membutuhkan waktu proses. Waktu proses yang baik adalah waktu sedikit yang mempercepat

Lebih terperinci