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 masyarakat

menengah 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 in

lower 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 ............................................................ 105

BAB 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 Ring

  Sebuah 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 Synchronous

  2. 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 Asinkron

  2.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.