SISTEM TERDISTRIBUSI

dokumen-dokumen yang mirip
JIKA DIIBARATKAN SQL dan RDBMS Joko Nurjadi

STANDARISASI SQL A. Design Table

Meningkatkan Efektifitas Pengelolaan Database Dengan Optimasi SQL

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

Modul 3 : Query Penggabungan Tabel

Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai


6/26/2011. Database Terdistribusi. Database Terdesentralisasi

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

Praktikum Basis Data 2017 TE UM

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

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

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

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

DESAIN DATABASE. Pertemuan 06 3 SKS

PENGERTIAN DATABASE MySQL

MODUL 4 INTERNET PROGRAMMING DATABASE

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

LAPORAN TUGAS BASIS DATA I

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System)

Achmad Solichin

BAB 1 PENDAHULUAN. yang benar-benar mempunyai skill atau kemampuan dalam bidang Teknologi

BAB III LANDASAN TEORI

Tujuan : Praktikan mampu untuk memanipulasi data dan mampu mencari data (Retrieval)

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

MODUL 5 INTERNET PROGRAMMING : MySQL

PERTEMUAN 2 DBMS & PERANCANGAN BASIS DATA

APLIKASI MANAJEMEN PERPUSTAKAAN BERBASIS WEB MENGGUNAKAN PHP DAN MYSQL PADA SMA NEGERI 5 BINJAI TUGAS AKHIR FATIMAH

Mengenal Pemrograman PHP7 Database untuk Pemula

Kuliah Online : TEKKOM [2013/VI]

BAB 2 LANDASAN TEORI. Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti

BAB III METODOLOGI DAN RANCANGAN PENELITIAN

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

BAB 4 ALJABAR RELASIONAL

DASKOM & PEMROGRAMAN. Dani Usman

OPTIMASI QUERY UNTUK PENCARIAN DATA MENGGUNAKAN PENGURAIAN KALIMAT DAN ALGORITME LEVENSHTEIN DISTANCE

Otodidak. MySQL untuk Pemula

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

Oracle Academic Initiative

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

Modul Praktikum Basis Data 4 Relasi Table

INTERNET PROGRAMMING DATABASE

BAB II LANDASAN TEORI. Dalam pembangunan suatu sistem informasi, terdapat dua kelompok

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

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

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

Basis Data Relational

OPTIMASI QUERY DATABASE MENGGUNAKAN ALGORITMA GENETIK

PERANCANGAN WEBSITE PENJUALAN SECARA ONLINE MENGGUNAKAN PHP DAN MYSQL TUGAS AKHIR MIRA RIZKY S TANJUNG

BAB 1 I PENDAHULUAN. terbarukan untuk mengelola dan mengolah data tersebut. Perkembangan database

BAB 2 LANDASAN TEORI

Database Terdistribusi. by: Ahmad Syauqi Ahsan

BAB I PENDAHULUAN. 1.1 Pendahuluan

MENAMPILKAN DATA MENGGUNAKAN SQL SELECT

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

1 BAB I PENDAHULUAN 1.1 Latar Belakang

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

BAB II LANDASAN TEORI. diperlukan dalam pembangunan website e-commerce Distro Baju MedanEtnic.

MySQL J A M K E T I G A

Riyanto

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Relational Database & Pemodelan Data [Review]

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

BAB III METODOLOGI 3.1. Prosedur Penelitian Identifikasi Masalah

BAB III LANDASAN TEORI. untuk menyelesaikan suatu sasaran yang tertentu (Jogiyanto, 2001)

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

LAPORAN TERTULIS ON THE JOB TRAINING

BAB II. KAJIAN PUSTAKA

Oracle Academic Initiative

STRUCTURE QUERY LANGUAGE (SQL)

BAB III ANALISIS DAN PERANCANGAN

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Tutorial Database Oracle Chapter4 Pembatasan dan Pengurutan

Pengujian Perangkat Lunak

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

BAB II LANDASAN TEORI

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

Untuk menampilkan data-data yang telah tersimpan dalam database diperlukan perintah SELECT, yang dapat dirumuskan sebagai berikut:

Variabel, Tipe Data, dan Operator. Oleh : Edi Sugiarto, S.Kom, M.Kom

BAB II LANDASAN TEORI. suatu maksud tertentu adalah bagian dari suatu sistem, yang mana sistem

BAB 2 LANDASAN TEORI

Latihan : Sebutkan record berapa saja yang akan ditampilkan berdasarkan perintah berikut :

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya.

TABLE JOIN SQL SERVER 2005

RENCANA PEMBELAJARAN SEMESTER

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

MENGENAL SYNTAX DML PADA SQL

PENGENALAN MySQL. Riana Sepriyanti. Abstrak. Pendahuluan.

BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer

BAB 2 : Dasar Penulisan Statemen SQL Sasaran Mengetahui kemampuan dari SQL SELECT Statement Dapat membuat perintah SQL dengan SELECT Statement

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

PENGANTAR BASIS DATA

Sistem Basis Data Terdistribusi Arif Basofi

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

Transkripsi:

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) Wisnu Anshori (201253079) Aryntha Apriyantho (201253106) Andi Juli Aji (201253183) Nugroho Edi Laksono (201253074) SISTEM INFORMASI UNIVERSITAS MURIA KUDUS 2014

Daftar Isi Daftar Isi...2 BAB I...3 A.Latar belakang...3 B.Tujuan...3 C.Perumusan Masalah...3 BAB II...4 A.Pengenalan Optimasi Query Terdistribusi...4 BAB III...11 A.Kesimpulan...11 B.Saran...11

BAB I PENDAHULUAN A. Latar belakang Proses optimasi pada query dalam sebuah relasi database menjadi pekerjaan yang mahal saat berurusan dengan relasi dalam jumlah besar. Mencari cara terbaik dengan waktu eksekusi tercepat adalah sebuah kewajiban semenjak strategi yang salah diterapkan dalam sebuah. Dengan meningkatnya kompleksitas sebuah database, hal tersebut menjadi penting bagi metode-metode query optimizer untuk mengadopsi sebuah algoritma yang membutuhkan cost rendah dalam hal waktu eksekusi. B. Tujuan Untuk menemukan jalan akses yang termurah untuk meminimumkan total waktu pada saat proses sebuah query. Untuk mencapai tujuan tersebut, maka diperlukan optimizer untuk melakukan analisa query dan untuk melakukan pencarian jalan akses C. Perumusan Masalah Pengenalan Optimasi Query Terdistribusi Optimasi pada perintah SQL

BAB II PEMBAHASAN A. Pengenalan Optimasi Query Terdistribusi Optimasi Query adalah suatu proses untuk menganalisa query untuk menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan apakah penggunaan dari sumber tersebut dapat dikurangi tanpa merubah output. Atau bisa juga dikatakan bahwa optimasi query adalah sebuah prosedur untuk meningkatkan strategi evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi lebih efektif. Optimasi Query Mencari urutan optimal dari operasi query. Strategi yang terpilih diharapkan dapat meminimalisasi biaya yang harus dikeluarkan dalam pengeksekusian query. Biaya eksekusi merupakan kombinasi bobot dari I/O, CPU, dan biaya komunikasi. Query optimizer, sebuah modul software yang mendukung optimasi query terdiri dari tiga komponen, yaitu :

Search Space Merupakan sekumpulan alternatif perencanaan eksekusi yang merepresentasikan query. Seluruh alternatif adalah ekuivalen, yaitu memberikan hasil yang sama dengan urutan pengoperasian, pengimplementasian, dan performance yang berbeda. Representasi dari query tersebut dibentuk dalam suatu operator trees yang dapat dibuat dengan aturan transformasi. Cost Model Cost Model memprediksi biaya yang harus dikeluarkan dari suatu query yang akan dieksekusi. Terdiri dari cost function, statistic database, dan formula. Search Strategy Search strategy mengeksplorasi search space dan memilih strategi terbaik dari alternatif yang ada menggunakan cost model. Search Strategy yang dapat digunakan adalah dynamic programming yang bersifat determenistik, di mana menghasilkan solusi terbaik, dan randomized strategies (seperti Iterative Improvement dan Simulated Annealing) yang berkonsentrasi pada pencarian solusi optimal dengan menghindari biaya tinggi dalam optimasi. Optimasi Query Terpusat

Algoritma INGRES Algoritma INGRES menggunakan algoritma optimasi dinamis yang memecah query kalkulus ke dalam bagian yang lebih kecil secara rekursif. Mengombinasikan dua tahapan yaitu dekomposisi dan optimasi kalkulus-aljabar INGRES query processor : Algoritma Sistem R Sistem R merupakan optimasi query statis yang didasarkan pada exhaustive search dari ruang solusi yang ada. Input untuk optimizer dengan sistem R adalah pohon relasi aljabar yang dihasilkan dari dekomposisi dari sebuah query SQL. Kemudian output dari sistem merupakan rencana eksekusi yang mengimplementasikan pohon relasi aljabar yang optimal.optimizer menetapkan biaya (dalam hal waktu) dari masing-masing pohon kandidat dan mempertahankan pohon dengan biaya yang terkecil Join Ordering Join ordering merupakan aspek yang penting dalam suatu optimasi query, terlebih pada query terdistribusi. Join ordering menjadi lebih penting ketika query merupakan query terdistribusi karena akan mempengaruhi communication time. Join ordering

dapat dilakukan secara langsung, maupun dengan mengombinasikan dengan semijoins di mana akan meminimalisasi communication cost. Optimasi query terdistribusi Algoritma INGRES terdistribusi Fungsi objektif dari algoritma ini adalah untuk meminimalisasi kombinasi baik communication time maupun response time. Algoritma ini juga mendapat keuntungan pada fragmentasi, tetapi hanya fragmentasi horizontal. Input untuk algoritma pemrosesan query ini dinyatakan dalam calculus relational-tupel dan skema informasi (tipe network, lokasi dan ukuran masing-masing site). B. Optimasi pada perintah SQL Desain aplikasi saja tidak cukup untuk meningkatkan kerja harus didukung dengan optimasi dari perintah SQL yang digunakan pada aplikasi tersebut. Dalam mendesain database, seringkali lokasi fisik data tidak menjadi perhatian penting. Karena hanya desain logik saja yang diperhatikan. Padahal untuk menampilkan hasil query dibutuhkan pencarian yang melibatkan struktur fisik penyimpanan data. Inti dari optimasi query adalah meminimalkan jalur pencarian untuk menemukan data yang disimpan dalam lokasi fisik. Tips Optimasi Query MySql Index Index adalah objek pada MySQL yang berisi data yang terurut - dari nilai-nilai pada satu atau lebih field dalam suatu table. Sama seperti daftar isi pada sebuah buku, index terutama digunakan untuk mempercepat pencarian terhadap suatu set data dengan kondisi tertentu - yang melibatkan kombinasi field yang sudah didefinisikan dalam suatu index. Menentukan Tipe Data Menentukan tipe data yang tepat memerlukan ketelitian dan analisa yang baik. Sebagai contoh, kita perlu mengetahui kapan kita menggunakan tipe data char atau varchar. Keduanya menampung karakter, bednya char menyediakan ukuran

penyimpanan yang tetap (fixed-length), sedangkan varchar menyediakan ukuran penyimpanan sesuai dengan isi data (variable-length). Jangan Izinkan Allow Null Jika memungkinkan, kurangi penggunaan field yang memperbolehkan nilai null. Sebagai gantinya, dapat memberikan nilai default pada field tersebut. Nilai null kadang rancu dalam intepretasi programer dan dapat mengakibatkan kesalahan logika pemrograman. Selain itu, field null mengonsumsi byte tambahan sehingga menambah beban pada query yang mengaksesnya. Query yang Mudah Terbaca Query panjang yang ditulis dalam 1 baris jelas akan menyulitkan modifi kasi dan pemahaman, akan jauh lebih baik jika menuliskan query dalam format yang mudah dicerna. Pemilihan huruf besar dan kecil juga dapat mempermudah pembacaan, misalnya dengan konsisten menuliskan keyword SQL dalam huruf kapital, dan tambahkan komentar bilamana diperlukan. Hindari SELECT * SELECT * digunakan untuk melakukan query semua field yang terdapat pada sebuah table, tetapi jika hanya ingin memproses field tertentu, maka sebaiknya Anda menuliskan field yang ingin diakses saja, sehingga query Anda menjadi SELECT field1, field2, field3 dan seterusnya (jangan pedulikan kode program yang menjadi lebih panjang!). Hal ini akan mengurangi beban lalu lintas jaringan, terutama jika table tersebut memiliki banyak field dan berukuran besar. Batasi ORDER BY Penggunaan ORDER BY yang berfungsi untuk mengurutkan data, ternyata memiliki konsekuensi menambah beban query, karena akan menambah satu proses lagi, yaitu proses sort. Karena itu gunakan ORDER BY hanya jika benar-benar dibutuhkan oleh aplikasi Anda. Atau jika dimungkinkan, Anda dapat melakukan pengurutan pada sisi client dan tidak pada sisi server. Misalnya dengan menampung data terlebih dahulu pada komponen grid dan melakukan sortir pada grid tersebut sesuai kebutuhan pengguna. Subquery Atau JOIN

Adakalanya sebuah instruksi dapat dituliskan dalam bentuk subquery atau perintah JOIN, disarankan untuk memprioritaskan penggunaan JOIN karena dalam kasus yang umum akan menghasilkan performa yang lebih cepat. Gunakan WHERE dalam SELECT Menulis suatu kondisi yang pasti bernilai true, misalnya SELECT... WHERE 1=1. Bahkan tools open source phpmyadmin yang berfungsi untuk menangani database MySQL selalu menyertakan default klausa WHERE 1 pada perintah SELECT, di mana angka 1 pada MySQL berarti nilai true. Kecepatan Akses Operator WHERE 1=1 dan WHERE 0 <> 1 sama-sama merupakan kondisi yang menghasilkan nilai true. Tetapi, dalam hal ini lebih baik Anda menggunakan WHERE 1=1 daripada WHERE 0 <> 1. Hal ini dikarenakan operator = diproses lebih cepat dibandingkan dengan operator <>. Membatasi Jumlah Record membatasi jumlah record yang berpotensi mengembalikan record dalam jumlah besar (kecuali memang benar-benar dibutuhkan), pada SQL Server, Anda dapat menggunakan operator TOP di dalam perintah SELECT. Contohnya SELECT TOP 100 nama... akan menampilkan 100 record teratas field nama. Jika menggunakan MySQL, Anda dapat menggunakan LIMIT untuk keperluan yang sama. Batasi Penggunaan Function Gunakan fungsi-fungsi yang disediakan SQL seperlunya saja. Sebagai contoh, jika Anda menemukan query sebagai berikut: SELECT nama FROM tbl_teman WHERE ucase(nama) = ABC, nampak query tersebut ingin mencari record yang memiliki data berisi abc, fungsi ucase digunakan untuk mengubah isi field nama menjadi huruf besar dan dibandingkan dengan konstanta ABC untuk meyakinkan bahwa semua data abc akan tampil, walaupun dituliskan dengan huruf kecil, besar, ataupun kombinasinya Baca dari Kiri ke Kanan

Query yang tulis akan diproses dari kiri ke kanan, misalkan terdapat query WHERE kondisi1 AND kondisi2 AND kondisi3, maka kondisi1 akan terlebih dahulu dievaluasi, lalu kemudian kondisi2, kondisi3, dan seterusnya. Tentunya dengan asumsi tidak ada kondisi yang diprioritaskan/dikelompokkan dengan menggunakan tanda kurung. Gambar dalam Database Database memang tidak hanya diperuntukkan sebagai penyimpanan teks saja, tetapi dapat juga berupa gambar. Akan lebih baik bagi kinerja database jika Anda hanya menyimpan link ataulokasi gambar di dalam database, dibandingkan menyimpan fisik gambar tersebut. Pengukuran Kinerja Jika menemukan sebuah query tampak tidak optimal, berusahalah menulis ulang query tersebut dengan teknik dan metode yang lebih baik. Semakin banyak query yang dapat dioptimasi, akan semakin baik kinerja aplikasi Anda. Terutama saat frekuensi pemakaian query tersebut relatif tinggi Back-up Buatlah back-up otomatis secara periodik, sebaiknya tes dan simulasikan prosedur restore database dan perhitungkan waktu yang diperlukan untuk membuat sistem pulih kembali jika terjadi sesuatu yang tidak diharapkan pada database. Lakukan proses back-up pada waktu di mana aktivitas relatif rendah agar tidak mengganggu kegiatan operasional.

BAB III PENUTUP A. Kesimpulan Dari pembahasan di atas dapat di simpulkan bahwa sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area Network atau pun melalui Wide Area Network dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas komputer terintegrasi. Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan yang ingin dicapai,diantaranya : Untuk memberikan akses bagi pengguna untuk dapat mengembangkan sumber daya sistem. Peningkatan kecepatan komputasi. Meningkatkan availibilitas atau ketersediaan dan reliabilitas data. B. Saran Demikian pengantar yang dapat penulis sampaikan dimana penulis pun sadar bawasannya penulis hanyalah seorang manusia yang tidak luput dari kesalahan dan kekurangan, sedangkan kesempurnaan hanya milik Tuhan Azza Wa jala hingga dalam penulisan dan penyusununnya masih jauh dari kata sempurna. Oleh karena itu, kritik dan saran yang konstruktif akan senantiasa penulis nanti dalam upaya evaluasi diri.

Curiculum Vitae Anggota Kelompok : Nama : Wisnu Anshori Alamat : Undaan Lor, Kudus TTL : Kudus, 12-06-1994 Hobi : Olahraga Cita-Cita : Dokter Gigi Nama : Aryntha Apriyantho Alamat : Ploso, Kudus TTL : Kudus, 14-04-1994 Hobi : Olahraga Cita-Cita : Programmer Nama : Frista Yogie Tri Anggara Alamat : Gondang Manis, Kudus TTL : Kudus, 12-06-1993 Hobi : Menulis Cita-Cita: Pengen Gemuk Nama : Andi Juli Aji Alamat : Ngabul, Jepara TTL : Jepara, 19-07-1994 Hobi : Olahraga Cita-Cita : Orang Pintar Nama : Nugroho Edi Laksono Alamat : Gajah, Demak TTL : Demak, 17-02-1994 Hobi : Olahraga Cita-Cita : Bisnis Man