IMPLEMENTASI METODE REPLIKASI DATABASE TERDISTRIBUSI PADA MYSQL 5.0
IMPLEMENTASI METODE REPLIKASI
DATABASE TERDISTRIBUSI PADA MYSQL 5.0
(Koperasi Simpan Pinjam)
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Informatika
Disusun Oleh:
Rachel Kurniawati
035314066
IMPLEMENTATION OF REPLICATION METHOD OF DISTRIBUTED DATABASE ON MYSQL 5.0 (Savings And Credit Cooperation) A Thesis Presented as Partial Fulfillment of the Requirements To Obtain the Engineering Bachelor Degree In Informatics Engineering By: Rachel Kurniawati
035314066
HALAMAN MOTTO
HALAMAN PERSEMBAHAN
INTISARI
Koperasi simpan pinjam merupakan penyedia jasa keuangan bagi masyarakatmenengah ke bawah. Suatu koperasi membuat cabang untuk menjangkau masyarakat
pedesaan, namun ketersediaan data menjadi masalah karena koperasi pusat dan
cabang membutuhkan data bersama.Replikasi master-master database dapat menyelesaikan masalah ketersediaan
data. Dengan replikasi master-master maka koperasi pusat maupun cabang dapat
melakukan perubahan data dan perubahan data tersebut akan dikirimkan ke cabang
lain dimana data tersebut direplikasi. Keuntungan lain dari replikasi adalah
meningkatnya unjuk kerja karena sistem akan mengakses database terdekat.Untuk mengimplementasikan metode replikasi master-master pada MySQL 5.0 dan meggunakan JSP sebagai antarmuka.
ABSTRACT
Savings and credit cooperation is a provider of financial honors to people inlower middle income. Savings and credit cooperation make branchs to serve the rural
people, but the availability become a problem because the central dan branch need the
sharing data.Master-master replication of database can be one of solution to availability
problem. With master-master replication the central and branch can make a changes
to database and the changes will be send to other branchss where the data is
replicated. The other benefit from replication is high performance because system
access the nearest database.To implementation master-master replication using server database MySQL 5.0 and JSP as programming language.
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus atas berkat, anugerah dan
kemurahan-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul
“IMPLEMENTASI METODE REPLIKASI DATABASE TERDISTRIBUSI PADA
MYSQL 5.0“ sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik (S.T.)
di Fakultas Sains dan Teknologi Universitas Sanata Dharma.Dalam penelitian ini sampai pada penyusunan skripsi ini, penulis banyak
mendapat bantuan dari berbagai pihak. Pada kesempatan ini, penulis ingin
menyampikan penghargaan dan ucapan terima kasih kepada :
1. Romo Ir. Greg Heliarko, S.J.,S.S.,B.S.T.,M.A,M.Sc., Selaku Dekan Fakultas
Teknik Universitas Sanata Dharma.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma.
3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Akademik
sekaligus Tugas Akhir, terimakasih atas ilmu, ide, masukan yang diberikan.4. Bapak JB. Budi Darmawan, S.T.,M.Sc., selaku Dosen Penguji.
5. Bapak Alb. Agung Hadhiatma, S.T., M.T, selaku Dosen Penguji.
8. Staff Sekretariat Teknik yang telah membantu proses administrasi akademik.
9. Terima kasih yang sebesar-besarnya untuk Pak Daniel dan Bu Rido atas segala
bantuan, dorongan, fasilitas notebooknya. Kiranya Tuhanlah yang dapat membalas segala kebaikan bapak dan ibu.
10. Untuk mama dan papa, terima kasih atas perhatian, cinta kasih, doa dan usaha
keras kalian. Rachel bisa merasakan bangku kuliah.
11. Buat mas Budi, makasih banget buat cinta, dukungan, semangatnya buat rachel.
Selalu ngingetin buat tugas akhir dan mau nemenin lembur ngerjain TA. Makasih udah setia dan sabar menunggu sampai Rachel lulus. Jadi.....? ☺
12. Makasih juga buat Ibu di Klaten, yang gak pernah capek dan bosan ngingetin dan
nasehatin rachel setiap ketemu.
13. Makasih buat Sarah yang udah mau berbagi komputer, printer, tinta, kertas. Dah
ngajarin aku buat fungsi, udah memberi semangat walaupun dengan sedikit memaksa, setia menjadi temen senasib, seperjuangan, sepenanggungan. SEMANGAT!!!!
14. Buat Dea, dah mau denger semua unek-unek ku, buat masukan, dukungan kamu,
buat pinjeman komputer, printer jaman Pra TA dulu. Hehe.....(Ayo kapan lulus’e? Kutunggu traktirannya).
17. Ucup, Dian, Acit, Jun, Pak D, Merry, Gepeng, Dea, Sarah yang udah nungguin
proses ujian.
18. Terima kasih buat temen-temen lamaku (Christin, Elyta, X-Ray, K’ Hermina, K’
Yelly, Ika, Nova, Rini dan Yanti) yang masih kontak sampe sekarang, buat dukungan dan semangat kalian. Jarak tak memisahkan persahabatan kita.
19. Buat Nang uda Ester dan keluarga, makasih udah menganggap Rachel seperti
anak sendiri, buat bantuan, doa dan semangatnya.20. Buat temen-temen TI angkatan 2003, makasih dukungannya.
21. Keluarga besar GPdI Calvary Chapel Surodadi, buat doa dan semangatnya.
22. Semua pihak yang tidak bisa disebutkan satu persatu.
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan
skripsi ini, penulis memohon kritik dan saran yang sifatnya membangun. Penulis
memiliki harapan yang sangat besar, semoga skripsi ini dapat bermanfaat bagi
pembaca dan perkembangan ilmu pengetahuan.Yogyakarta, Juni 2008 Penulis
DAFTAR ISI
HALAMAN JUDUL ................................................................................... i HALAMAN PERSETUJUAN ...................................................................... iii HALAMAN PENGESAHAN....................................................................... iv HALAMAN KEASLIAN KARYA............................................................... v HALAMAN MOTTO................................................................................... vi HALAMAN PERSEMBAHAN.................................................................... vii
INTISARI..................................................................................................... viii ABSTRACT ................................................................................................. ix KATA PENGANTAR .................................................................................. x DAFTAR ISI ................................................................................................ xiii DAFTAR GAMBAR.................................................................................... xvi DAFTAR TABEL ........................................................................................ vii
BAB I PENDAHULUAN ........................................................................... 1
1.1. Latar Belakang Masalah................................................................... 1
1.2. Rumusan Masalah............................................................................ 2
1.3. Batasan Masalah .............................................................................. 3
1.4. Tujuan Penelitian ............................................................................. 4
1.5. Metodologi Penelitian ...................................................................... 4
1.6. Sistematika Penulisan ...................................................................... 6
BAB II LANDASAN TEORI ..................................................................... 8
2.4.3. Keuntungan ........................................................................... 20
2.4.4. Kerugian................................................................................ 22
2.5. MySQL 5.0 ..................................................................................... 22
2.5.1. Privelege .............................................................................. 22
2.5.2. Membuat User ...................................................................... 23
2.5.3. Replikasi pada MySQL ........................................................ 24
2.5.4. Replikasi Master to Master .................................................... 25
2.6. Web ................................................................................................. 27
2.7. JSP................................................................................................... 28
2.7.1. Arsitektur JSP........................................................................ 28
2.7.2. Elemen-elemen JSP ............................................................... 29
2.8. JDBC ............................................................................................... 32
BAB III ANALISIS DAN PERANCANGAN
............................................ 33
3.1. Analisis Sistem ................................................................................ 33
3.1.1. Gambaran Umum Sistem ...................................................... 33
3.1.2. Analisis Masalah ................................................................... 33
3.1.3. Orang yang terlibat dalam sistem ........................................... 34
3.1.4. Gambaran Umum Sistem Baru .............................................. 34
3.1.5. Requirement Analysis............................................................ 35
3.1.6. Logical Desain....................................................................... 36
3.1.6.1. Proses Modeling ............................................................. 36
3.1.6.2. E-R Diagram................................................................... 44
3.1.7. Desain Sistem........................................................................ 45
3.2. Desain Teknologi Replikasi ............................................................. 55
3.3. Desain User Interface....................................................................... 59
4.2.2. Mengkonfigurasi My.ini ................................................. 75
4.2.3. Membuat user replikasi ................................................... 77
4.2.4. Menghubungkan master dengan slave ............................. 78
4.2.5. Menjalankan Slave .......................................................... 80
4.3. Implementasi Sistem ..................................................................... 83
4.3.1. Login User ...................................................................... 83
4.3.2. Keanggotaan ................................................................... 85
4.3.3. Tabungan ........................................................................ 88
4.3.4. Penarikan ........................................................................ 91
4.3.5. Pinjaman ......................................................................... 93
4.3.6. Angsuran ........................................................................ 95
4.3.7. Akun Utama ................................................................... 97
4.3.8. Preferensi......................................................................... 97
4.3.9. Organisasi ....................................................................... 98
4.3.10. Laporan ........................................................................... 98
BAB V ANALISIS HASIL
........................................................................ 105
5.1. Skenario ..................................................................................... 105
5.2. Analisis Teknologi .................................................................... 113
5.3. Kelebihan dan Kekurangan ......................................................... 114
5.3.1. Kelebihan ............................................................................. 114
5.3.2. Kekurangan .......................................................................... 115
BAB VI KESIMPULAN DAN SARAN ..................................................... 116
6.1. Kesimpulan ................................................................................ 116
6.2. Saran .......................................................................................... 116
DAFTAR PUSTAKA
.................................................................................. 117
DAFTAR GAMBAR
Gambar 2.1 Topologi Jaringan Ring................................................................... 9Gambar 2.2 Proses Replikasi Synchronous ........................................................ 17Gambar 2.3 Proses Replikasi Asinkron .............................................................. 18Gambar 2.4 Arsitektur Aplikasi Web ................................................................. 28Gambar 3.1 Use Case Diagram........................................................................... 35Gambar 3.2 Context Diagram ............................................................................. 37Gambar 3.3 Diagram Berjenjang ........................................................................ 38Gambar 3.4 DFD Level 0.................................................................................... 39Gambar 3.5 DFD Level 1 Proses 1 ..................................................................... 40Gambar 3.6 DFD Level 1 Proses 2 ..................................................................... 40Gambar 3.7 DFD Level 1 Proses 3 ..................................................................... 41Gambar 3.8 DFD Level 1 Proses 4 ..................................................................... 41Gambar 3.9 DFD Level 1 Proses 5 ..................................................................... 42Gambar 3.10 DFD Level 1 Proses 6 ..................................................................... 42Gambar 3.11 DFD Level 1 Proses 7 ..................................................................... 43Gambar 3.12 E-R Diagram ................................................................................... 44Gambar 3.13 Relasi antar tabel ............................................................................. 45Gambar 3.14 Arsitektur jaringan dan replikasi data ............................................. 56Gambar 3.15 Form Login...................................................................................... 60Gambar 3.16 Form Anggota ................................................................................. 60Gambar 3.17 Form Tabungan ............................................................................... 61Gambar 3.18 Form Penarikan .............................................................................. 61Gambar 4.1 Arsitektur Replikasi ........................................................................ 68Gambar 4.2 Form Login...................................................................................... 83Gambar 4.3 Form Tabungan ................................................................................. 88Gambar 4.4 Form Penarikan ................................................................................ 93Gambar 4.5 Form Pinjaman .................................................................................. 94Gambar 4.6 Form Angsuran.................................................................................. 95Gambar 4.7 Form Akun Utama............................................................................. 97Gambar 4.8 Form Preferensi ................................................................................. 97Gambar 4.9 Form Organisasi ............................................................................... 98Gambar 4.10 Laporan Kredit Umum ................................................................... 99Gambar 4.11 Laporan Kredit Umum format Excel ............................................. 99Gambar 4.12 Laporan Tabungan Wajib ............................................................... 100Gambar 4.13 Laporan Tabungan Wajib format Excel ......................................... 100Gambar 4.14 Laporan Tabungan Sukarela ........................................................... 101Gambar 4.15 Laporan Tabungan Sukarela format Excel...................................... 101Gambar 4.16 Laporan Penarikan Tabungan.......................................................... 102Gambar 4.17 Laporan Penarikan Tabungan format Excel.................................... 102Gambar 4.18 Laporan Pinjaman ........................................................................... 103Gambar 4.19 Laporan Pinjaman format Excel...................................................... 103Gambar 4.20 Laporan Angsuran ........................................................................... 104Gambar 4.21 Laporan Angsuran format Excel .................................................... 104Gambar 5.1 Form keanggotaan. .......................................................................... 107Gambar 5.6 Lihat Simpanan Wajib..................................................................... 110Gambar 5.7 Form Penarikan ............................................................................... 110Gambar 5.8 Form Penarikan ............................................................................... 111Gambar 5.9 Form Peminjaman ........................................................................... 112Gambar 5.10 Form Angsuran................................................................................ 112Gambar 5.11 Form Peminjaman ........................................................................... 113Gambar 5.12 File binary ...................................................................................... 115
DAFTAR TABEL
Tabel 3.1 Input Output Sistem ........................................................................... 36Tabel 3.2 Tabel Anggota .................................................................................... 46Tabel 3.3 Tabel Koperasi ................................................................................... 47Tabel 3.4 Tabel AkunUtama .............................................................................. 47Tabel 3.5 Tabel Preferensi .................................................................................. 48Tabel 3.6 Tabel Kebijakan_koperasi................................................................... 49Tabel 3.7 Tabel Tabungan................................................................................... 50Tabel 3.8 Tabel Tabungan_detil ......................................................................... 50Tabel 3.9 Tabel Penarikan................................................................................... 51Tabel 3.10 Tabel Pinjaman ................................................................................... 51Tabel 3.11 Tabel Tagihan ..................................................................................... 52Tabel 3.12 Tabel Angusran ................................................................................... 53Tabel 3.13 Tabel Angusran_ detail ....................................................................... 54Tabel 3.14 Tabel Jurnal......................................................................................... 58Tabel 3.15 Desain Tabel Laporan Kredit Limit .................................................... 65Tabel 3.16 Desain Tabel Laporan Tabungan Wajib ............................................. 65Tabel 3.17 Desain Tabel Laporan Tabungan Sukarela ......................................... 65Tabel 3.18 Desain Tabel Laporan Penarikan Tabungan ....................................... 65Tabel 3.19 Desain Tabel Laporan Peminjaman ................................................... 66Tabel 3.20 Desain Tabel Laporan Angsuran......................................................... 66Tabel 5.1 Daftar anggota dan nasabah KPD .......................................................... 105Tabel 5.2 Daftar anggota dan nasabahKBJ ............................................................ 105BAB I PENDAHULUAN
1.1. Latar Belakang Masalah
Kumpulan item data yang saling berhubungan sering dikenal dengan istilah
database. Database merupakan hal yang sangat penting bagi aspek kehidupan
manusia, perusahaan, industri, organisasi, negara, rumah sakit bahkan pendidikan
karena merupakan dasar bagi tersedianya informasi. Database yang relevan, akurat
dan tepat pada waktunya akan sangat menentukan kualitas suatu informasi.Di Indonesia banyak terdapat koperasi simpan pinjam yang bergerak di
bidang jasa untuk masyarakat terutama yang ada di golongan menengah ke bawah.
Dari sekian banyaknya koperasi tersebut tentunya ada koperasi yang masih dalam
satu yayasan atau dengan kata lain satu koperasi memiliki satu atau lebih cabang yang
letaknya terpisah secara geografis. Namun sangat jarang koperasi pusat dan cabang
tersebut menggunakan data secara bersama. Apabila data di pusat dan cabang dapat
2
anggota terdaftar di pusat tidak hanya dapat melakukan transaksi di koperasi pusat
namun dapat juga melakukan transaksi di koperasi cabang. Bahkan memungkinkan
fasilitas baru yaitu transfer atau mengirim uang. Dalam penggunaan data secara
bersama diperlukan suatu metode untuk mendistribusikan data. Salah satu cara
pendistribusian database adalah menggunakan replikasi. Data yang digunakan
bersama-sama akan diduplikasi (direplika) dan diletakkan di setiap kantor cabang.
Apabila terjadi perubahan data, maka semua data replika juga akan di-update.
Sehingga dengan metode replikasi ini, maka antara data di pusat dan di setiap cabang
akan selalu sama. Keuntungan lain dari metode ini adalah ketersediaan data dapat
dipenuhi. Kantor pusat dapat mengakses data yang ada di cabang maupun sebaliknya,
dan apabila terjadi kerusakan atau kehilangan data maka masih ada data replika di
cabang lain.Studi kasus pada tugas akhir ini adalah di koperasi dimana sistem yang akan dibangun menerapkan replikasi database untuk meningkatkan ketersediaan data.
1.2. Rumusan Masalah
3
1.3. Batasan Masalah
Dengan segala keterbatasan yang dimiliki maka batasan-batasan tugas akhir ini adalah:
1. Mengimplementasikan metode replikasi database terdistribusi pada MySQL 5.0.
2. Metode replikasi yang digunakan adalah Replikasi Master to Master.
3. Sistem hanya menangani pemasukan dan perubahan data anggota, pemasukan
data simpanan, pemasukan data pengambilan simpanan, pemasukan data pinjaman, angsuran, dan laporan.
4. Data pinjaman yang diinputkan oleh pegawai atau karyawan sudah mendapat
persetujuan dari manager.5. Sistem ini belum mencakup penghitungan bunga tabungan.
4
1.4. Tujuan dan Manfaat Penelitian Adapun yang menjadi tujuan dalam penulisan ini adalah untuk
mengimplementasikan metode replikasi MySQL 5.0 pada sistem berbasis web
koperasi simpan pinjam.Manfaat bagi pihak koperasi adalah dapat dengan mudah mengakses data cabang, dan kemudahan pembutan laporan.
1.5. Metodologi Penelitian Metodologi yang digunakan dalam penelitian ini adalah dengan Sistem Development Life Cycle (SDLC), yang terdiri dari tiga tahapan utama yaitu :
1. Analisis Tujuan dalam tahap ini adalah untuk memahami sistem yang sedang
berjalan saat ini, mengidentifikasi masalah dan mencari solusinya. Kegiatan yang
dilakukan dalam tahap analisis ini adalah :a. Problem detection untuk mendeteksi sistem, dan menghasilkan permasalahan
5 c. Requirement analysis untuk mendapatkan kebutuhan pemakai sistem informasi.
2. Desain Tujuan dalam tahap perancangan untuk mendesain sistem baru yang dapat
menyelesaikan masalah-masalah. Kegiatan yang dilakukan dalam tahap perancangan
ini adalah :a. Desain output untuk memberikan bentuk-bentuk laporan sistem dan dokumennya.
b. Desain input untuk memberikan bentuk-bentuk masukan ke sistem informasi.
c. Desain interface untuk memberikan bentuk rancang bangun (tampilan) dari
percakapan antara komputer dengan pemakai.3. Implementasi Pada tahap ini akan dibuat sistem yang baru dan dapat berjalan secara
optimal. Kegiatan yang dilakukan adalah koding, testing kemudian dilakukan analisis
hasil.6
1.6. Sistematika Penulisan
Sistematika penulisan dalam laporan ini adalah sebagai berikut :
BAB I. PENDAHULUAN Untuk memberikan gambaran secara umum tentang keseluruhan sistem yang meliputi latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat penulisan, metode penulisan serta sistematika penulisan
BAB II LANDASAN TEORI Pada bab ini akan dijelaskan teori-teori mengenai database, sistem terdistribusi, replikasi MySQL internet dan JSP secara singkat. BAB III ANALISIS DAN DESAIN SISTEM Untuk menjelaskan secara rinci tentang analisa dan desain sistem yang akan dibangun. BAB IV IMPLEMENTASI
7
BAB V ANALISIS HASIL Di sini akan memuat analisa terhadap sistem yang telah dibuat, apa yang menjadi kelemahan-kelemahan sistem. BAB VI KESIMPULAN DAN SARAN Akan memuat kesimpulan dan saran untuk pengembangan sistem lebih lanjut berdasarkan pada analisa hasil yang diperoleh.
BAB II LANDASAN TEORI
2.1. Database
Database merupakan sekumpulan data yang saling berhubungan yang disimpan bersama-sama untuk melayani satu atau lebih aplikasi secara optimal atau dengan kata lain suatu database merupakan serangkaian file yang secara logik berhubungan sedemikian rupa hingga jangkauan data diperbaiki dan berkelebihan dikurangi.
Konsep database dibuat operasional oleh suatu sistem perangkat lunak yang mengerjakan fungsi penciptaan dan peremajaan file, mencari data dan menghasilkan laporan. Semua data dalam rangkaian file dapat dijangkau oleh program apapun yang bisa menggunakan database.
Database dirancang atas dasar pendekatan aplikatif maupun pendekatan sistem. Pendekatan aplikatif merupakan cara yang tradisional, dimana database dirancang hanya untuk memenuhi satu aplikasi tertentu, sehingga terdapat
2.2. Sistem Database Terdistribusi
Database terdistribusi (Conoly, 2002) adalah suatu kumpulan data bersama yang saling berelasi secara logis, yang secara fisik tersebar/terdistribusi di seluruh jaringan kumputer.
Dalam sebuah database terdistribusi, database disimpan pada beberapa komputer yang terhubung melalui jaringan komunikasi atau jaringan komputer.
Dengan tujuan agar terjadi pertukaran informasi antar komputer dan kerjasama antara komputer yang satu dengan komputer yang lain untuk mencapai suatu fungsi. Salah satu topologi untuk menghubungkan komputer dalan jaringan adalah dengan Ring (LAN). Berikut gambar topologi jaringan LAN:
Gambar 2.1 Topologi Jaringan RingSebuah sistem database terdistribusi berisikan sekumpulan site, di mana
Sistem database tersistribusi mempunyai kelebihan dan kekurangan. Berikut merupakan kelebihan useran sistem database terdistribusi:
1. Otonomi lokal : karena data didistribusikan, user dapat mengakses dan bekerja dengan data tersebut sehingga memiliki kontrol lokal.
2. Meningkatkan kinerja : karena setiap site menangani hanya bagian dari DB, CPU dan I/O tidak seberat seperti DB pusat. Data yang dipakai untuk transaksi disimpan dalam beberapa site, sehingga eksekusi transaksi dapat dilakukan secara paralel.
3. Meningkatkan reliability/ availability : jika satu site mengalami crash, dapat membuat beberapa site tidak dapat diakses. Jika data direplikasi ke banyak site, kerusakan hubungan komunikasi tidak menjadikan sistem total tidak dapat dioperasikan.
4. Ekonomis : dari biaya komunikasi, baik membagi aplikasi dan memproses secara lokal di setiap site. Dari biaya komunikasi data, akan lebih murah untuk memelihara sistem komputer dalam satu site dan menyimpan data secara lokal.
5. Expandibility : akan lebih mudah mengakomodasikan ukuran DB yang
6. Shareability : jika sistem informasi tidak terdistribusi, akan sulit untuk berbagi data dan sumber daya. Sistem DB terdistribusi memungkinkan hal ini. Sedangkan kerugian/kelemahan dari useran sistem database terdistribusi adalah sebagai berikut :
1. Kompleksitas : Masalah DDBS lebih kompleks dibandingkan dengan manajemen database terpusat.
2. Biaya : sistem terdistribusi membutuhkan tambahan hardware (untuk mekanisme komunikasi) sehingga biaya hardware meningkat terutama jika dilakukan replikasi. Jika fasilitas komputer dibuat di banyak site, akan memerlukan banyak orang yang memelihara fasilitas tersebut
3. Kontrol distribusi : distribusi menyebabkan masalah sinkronisasi dan koordinasi.
4. Keamanan : akan mudah mengontrol database yang terpusat karena dalam sistem database terdistribusi, jaringan membutuhkan keamanan tersendiri.
5. Perubahan yang sulit : tidak ada tool atau metodologi untuk membantu user mengubah database terpusat ke database terdistribusi. Perancangan replikasi dibedakan atas complete replicated dimana sebuah replika database ditempatkan di masing-masing site, atau partially replicated yaitu sebuah replika dari database disimpan di lebih dari satu site tetapi tidak di semua site .
2.3. Distributed Database Management System (DDBMS)
DBMS terditribusi adalah (Connoly, 2002) sistem perangkat lunak yang mengijinkan pengolahan database terdistribusi dan membuat transparan terhadap pemakainya. Sebuah DDBMS terdiri atas sebuah logical database yang dibagi kedalam sejumlah fragments. Tiap fragments disimpan pada satu komputer atau lebih di bawah kontrol sebuah DBMS yang terpisah, dimana komputer-komputer tersebut terhubung oleh suatu jaringan komunikasi. Tiap site (tempat) mampu secara mandiri memproses permintaan user yang membutuhkan akses ke data lokal dan mampu memproses data yang tersimpan di komputer-komputer lain dalam jaringan tersebut. Transparansi pada Sistem Terdistribusi
Merupakan pemisahan dari semantic level tingkat tinggi dari implementasi
a. Transparansi Distribusi (Distribution Transparency)
User tidak perlu tahu bahwa data didistribusi, user merasakan databsenya sebagai basis data tunggal.
1. Transparansi lokasi (location transparency), merupakan transparansi
terhadap perintah yang bebas digunakan pada lokasi data maupun pada sistem dimana operasi berjalan, artinya user tidak perlu tahu pada lokasi mana potongan data tersimpan, akan tetapi user harus tahu bagaimana data di fragmentasi.
2. Transparansi fragmentasi (fragmentation transparency) artinya user dapat melakukan semua akses seakan-akan relasi tidak terfragmentasi (data merupakan satu kesatuan utuh kembali) dengan kata lain user tidak perlu tahu bahwa data di fragmentasi dan user tidak perlu menspesifikasikan nama-nama fragment dan lokasi-lokasi datanya. Fragmentasi data mempunyai pengertian bahwa objek logikal yang diberikan dapat dibagi-bagi menjadi potongan-potongan data (fragment) untuk keperluan penyimpanan fisik.
3. Transparansi replikasi (replication tranparency) artinya user tidak perlu
tranparency tetapi memiliki replication tranparency. Sehingga dapat
dicatat bahwa transparansi lokasi, fragmentasi dan replikasi secara bersamaan menyebabkan sistem terdistribusi seakan-akan merupakan sistem terpusat dalam pandangan user.
4. Transparansi Pemetaan Lokal (Local Mapping Transparency), user harus menspesifikasikan baik nama-nama fragment maupun lokasi item- item data.
5. Transparansi Penamaan (Naming Transparency), seperti objek database terpusat ataupun database harus memiliki nama unik. Dengan memberikan identifier sebagai bagian dari nama objek.
b. Transparansi Tranksaksi (Transaction Transparency)
Semua transaksi terdistribusi tetap menjaga konsistensi dan integritas database terdistribusi, selain itu DDBMS juga harus memastikan sinkronisasi subtransaksi-subtransaksi dengan transaksi lokal tetapi juga subtransaksi- subtransaksi dengan transaksi global
1. Transparansi Concurrency (Concurrency Transparency)
2. Transparansi Kegagalan (Failure Transparency) Menjamin atomicity dari global transactions yang berarti memastikan bahwa subtransaksi global transaction apakah semua commit atau semua
abort.
c. Transparansi Unjuk Kerja (Performance Transparency) Sebuah DDBMS harus memiliki unjuk kerja seperti DBMS terpusat, diharapkan sistem tidak mengalamai degradasi/unjuk kerja yang menurun karena sistem memiliki artitektur terdistribusi.
d. Transparansi DBMS (DBMS Transparency) Menyembunyikan knowledge bahwa lokal DDBMS dapat saja berbeda.
2.4. Replikasi Data
Replikasi (Connoly, 2002) adalah proses menghasilkan dan memproduksi banyak salinan/copy data pada satu atau lebih tempat (site).
Replikasi merupakan mekanisme yang penting dalam mendistribusikan
Fungsi utama dari data replicator adalah untuk memelihara keseragaman diantara hasil duplikat secara umum, yang satu salinan utama dan berbagai salinan sekunder dan pembaharuan disebarkan dari salinan utama ke salinan sekunder dengan cara yang sesuai yaitu tanpa menggunakan perintah dua antar muka.
Penyebaran bisa meningkat, ketika berdasarkan useran variasi (data dikirim dari salinan utama ke salinan sekunder). Alternatif lain seluruh salinan sekunder secara periodik diciptakan kembali dari seluruh salinan utama. Data replicator melakukan ini secara transparan, tanpa mengubah aplikasi yang mengoperasikan salinan utama.
2.4.1. Update dalam Replikasi Dalam sistem terdistribusi, replikasi dari suatu database dapat disimpan pada tempat yang berbeda dalam jaringan. Sebelum terhubung, data replicator akan membuat salinan database yang akan digunakan. Hal tersebut agar mengurangi waktu dalam pengaksesan data. Kejadian tersebut dapat memperbaiki ketersediaan data dalam kasus kegagalan, jika terjadi tubrukan replika, suatu database masih dapat diakses melalui replika yang lain.
Dalam mengimplementasikan replikasi, transaksi individu menyadari mengubah semua data pada semua replika. Bagian sistem bertanggung jawab untuk menerapkan algoritma replikasi yang disebut kendali replika (replica
control ).
Sistem read-one/write-all mempunyai dua macam sifat update yaitu :
1. Replikasi Synchronous Pada mekanisme replikasi synchronous menggunakan protokol 2PC (2-phase
commit
). Salinan data di slave diupdate dengan segera ketika data sumber diupdate. Proses replikasi synchronous dijelaskan pada gambar dibawah ini:
Gambar 2.2 Proses Replikasi Synchronous2. Replikasi Asynchronous Dengan mekanisme ini, database target (salinan data) diupdate setelah database sumber diupdate sehingga terjadi delay beberapa menit atau bahkan beberapa jam untuk mendapatkan konsistensi data. Besarnya delay yang diperlukan bergantung pada beberapa faktor, yaitu seberapa sering replikasi memproses pengambilan update, berapa banyak data yang harus ditransfer ke sistem replikasi, dan berapa cepat jaringan dapat melewatkan data untuk dipindahkan.
Gambar 2.3 Proses Replikasi Asinkron2.4.2. Kepemilikan data (data ownership) Data terdistribusi tidak lepas dari kepemilikan data itu sendiri, yaitu sites mana yang memiliki hak untuk mengupdate data. Tipe utama dari kepemilikan adalah master/slave, workflow dan update-anywhere.
1. Master/slave Pada tipe ini, data direplikasi secara asynchronous pada sebuah site yang disebut site utama (master-site) dan hanya dapat diperbarui/di-update oleh site tersebut. Pendistribusian data dilakukan dengan menggunakan suatu cara yaitu publish-and-subscribe dimana site utama (sebagai publisher) membuat data tersedia (available) dan Site-site lain (slave) melakukan
subscribe terhadap data yang dimiliki oleh site utama tersebut, yang berarti
bahwa site-site lain tersebut hanya menerima read-only copies pada sistem lokal mereka. Tiap site dapat menjadi master site bagi sekumpulan data (data
sets ) yang tak overlapping tetapi hanya diperbolehkan satu site saja yang dapat
memperbarui master copy dari suatu data sets, sehingga konflik dapat dihindari.
2. Workflow
site ke site lain. Meskipun demikian pada satu waktu tertentu, hanya boleh satu site saja yang melakukan update data.
3. Update-anywhere Pada kedua tipe sebelumnya, pada satu waktu yang sama hanya sebuah
site
saja yang boleh memperbarui data. Seluruh site yang lain hanya memiliki akses read-only pada replikasinya. Tetapi pada tipe ini proses update bisa dilakukan di beberapa site, metode ini menciptakan lingkungan yang peer-to-
peer dimana banyak site mempunyai hak yang sama untuk memperbarui
replikasi data. Pada metode ini juga mengijinkan site-site lokal memiliki fungsi otonomi bahkan ketika site lain tidak dapat diakses.
2.4.3. Keuntungan replikasi:
1. Performa Kecepatan akses menjadi lebih baik dibanding dengan database terpusat karena data diletakan dekat dengan user dan paralel DDBMS juga dimungkinkan. Unjuk kerja juga akan meningkat karena tiap site hanya menangani sebagian dari seluruh database, maka tidak mungkin CPU dan alat
2. Perbedaan Geografis Replikasi dapat menjadi sebuah solusi untuk menyediakan data ke site-site yang terpisah secara geografis.
3. Redudansi dan Backup Menggunakan replikasi berarti membackup data secara konstan, dan jika database utama mengalami kegagalan maka masih ada copy dari database yang siap direstore.
4. Mesin Penyimpan dan Optimasi Index Index akan sangat bermanfaat untuk mengakses data yang memerlukan multipel index pada sebuah tabel tunggal. Menyebarkan index melalui dua database yang berbeda dan mengirimkan query ke mesin penyedia dapat mengurangi ukuran index dan meningkatkan unjuk kerja.
5. Pertumbuhan secara modular.
Dalam lingkungan database terditribusi, lebih mudah menangani perluasan/ekspansi. Site baru dapat ditambahkan ke jaringan tanpa mengganggu operasional dari site-site lain.
2.4.4. Kelemahan Replikasi dapat bermanfaat dan dibutuhkan dalam beberapa situasi, namun juga tidak dapat menyelesaikan banyak masalah. Sebagai contoh :
1. Menggunakan replikasi sebagai backup untuk mengembalikan data update dan delete tidak bekerja. Karena sebuah server replikasi mengeksekusi beberapa
query
dari master ke slave dengan delay, sehingga slave mencari record update atau delete pada master ternyata tidak berhasil.
2. Replikasi Asyncronous, tidak bermanfaat jika data yang dibutuhkan slave adalah real time.
2.5. MySQL 5.0
2.5.1. Privelege Adalah hak untuk melakukan operasi tertentu terhadap server. Previlege merupakan cara pengamanan yang mengacu pada kewenangan user dalam
database
. Ini berarti pemberian privelege harus disesuaikan dengan pekerjaan
user .
Query untuk menghapus privelege untuk sebuah user account: REVOKE priv_ tipe ON {*.* | * | db_name .* | table_name } FROM 'user_name'@'host_name';
Query untuk melihat priveleges yang dimiliki user: 'user_name'@'host_name'; SHOW GRANTS FOR
Query untuk melihat tabel privelege user secara langsung:
SELECT * FROM mysql.user WHERE User = ' 'user_name' AND Host = 'host_name' \G
2.5.2. Membuat User Perintah yang digunakan untuk menambah user menggunakan GRANT atau CREATE USER. GRANT untuk membuat user sekaligus dengan previlage, sedangkan CREATE USER untuk membuat user tanpa previlege (username dan host ) user disimpan pada tabel mysql.user.
GRANT tipe ON {*.* | * | .* | } TO
IDENTIFIED BY
priv_ db_name table_name username 'my_password';
Atau :
DELETE FROM mysql.user WHERE user='some_user' AND Host='%';
Untuk memastikan perubahan yang dilakukan menggunakan perintah Flush:
FLUSH PRIVILEGES;
Membuat database
CREATE DATABASE <database_name>
;
2.5.3. Replikasi pada MySQL Mekanisme replikasi yang didukung oleh MySQL adalah satu arah, yaitu replikasi asyncronous (asingkron). Sedangkan replikasi sinkron pada MySQL dikenal dengan clustering.
Sebuah mesin bertindak sebagai master server dan satu atau lebih mesin bertindak sebagai slave server. Master menyimpan setiap perubahan yang terjadi ke dalam databes dengan file binary log. File binary log merekam semua perubahan (UPDATE, DELETE, INSERT...) yang dilakukan oleh database master sejak pertama kali replikasi dikonfigurasi dan dimulai. Master juga membuat dan memaintain sebuah indek file untuk menjaga track dari rotasi binary log yang
slave , slave membuat sebuah thread yang disebut I/O thread untuk
menghubungkan dengan master dan meminta master untuk mengirimkan record yang diupdate dalam binary log. Sedangkan master membuat sebuah thread untuk mengirimkan binary log ke slave. Thread ini dapat diidentifikasikan sebagai
Binlog Dump yang dapat dilihat dari SHOW PROCESSTLIST pada master.