## ANALISIS DAN PERANCANGAN SISTEM REPLIKASI DATABASE MYSQL DENGAN MENGGUNAKAN VMWARE PADA SISTEM OPERASI OPEN SOURCE

## Halim Maulana
Magister Teknik Informatika, Universitas Sumatera Utara Jl. Universitas No.9A Kampus USU, Medan, Sumatera Utara-Indonesia
Abstrak —  Replikasi  adalah  suatu  teknik  untuk  melakukan  copy  dan  pendistribusian  data  dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin. Replikasi database dapat digunakan apabila sebuah organisasi atau perusahaan didukung oleh hardware dan aplikasi software dalam sebuah sistem yang terdistribusi melalui koneksi jaringan lokal maupun internet. Aplikasi yang berbeda mempunyai kebutuhan yang berbeda untuk otonomi dan konsistensi data dan pengguna dapat bekerja  dengan  mengcopy  data  pada  saat  tidak  terkoneksi  kemudian  melakukan  perubahan untuk  dibuat  database  baru  pada  saat  terkoneksi.  Dengan  menggunakan  Vmware  workstation dan  Ubuntu  server  14.0  yang  menyediakan  fasilitas  simulasi  jaringan  antar  PC  meski  tidak terpasang  Network  card  maupun  hub  atau  switch.  Dengan  menggunakan  Vmware  wokstation dan  Ubuntu  server  ini  pula  akan  dibangun  Sistem  Replikasi  Database.Dengan  memanfaatkan sistem  replikasi  database  tersebut  setiap  client  ataupun  user  dapat  saling  menggunakan database yang direplikasi dari server, sehingga setiap perubahan dari sisi server maupun client akan dapat langsung tersimpan pada seluruh sistem.

## Keywords
— Replication Database, Vmware, Ubuntu Server, MySQL.

## I. PENDAHULUAN
Dalam  paradigma  baru  di  era  teknologi  informasi, basis  data  menjadi  komponen  dasar  dari  semua aplikasi-aplikasi  dalam  sebuah  sistem  informasi. Berbagai  produk  basis  data  kini  tersedia  dipasaran lengkap dengan perangkat pendukung untuk pembuatan  program-programnya.  Program-program tersebut  digunakan  terutama  untuk  menyajikan informasi  yang  diperlukan  dan  untuk  menangkap informasi  dari  pengguna  dengan  kata  lain  untuk berinteraksi dengan pengguna.
Dalam  siklusnya,  sebuah  sistem  informasi  akan mengalami saat dimana ia akan digantikan oleh sistem yang baru karena terjadinya perkembangan kebutuhan pengguna  tidak  lagi  dapat  dipenuhi,  atau  karena berbagai  alasan  lain.  Jika  ini  terjadi  maka  ada kemungkinan  seluruh  perangkat  pendukungnya  baik basis  data  maupun  program-programnya  pun  akan diganti.

## II. LANDASAN TEORI

## A. Sistem
Sistem  didefinisikan  sebagai  suatu  set  komponen yang  saling  terkait  dengan  batasan  yang  jelas  dan bekerja sama untuk mencapai tujuan dengan menerima input  dan  memproduksi  output  dalam  proses transformasi yang terorganisir [1].

## B. Basis Data
Basis  data  adalah  kumpulan  terpadu  dari  elemen data  logis  yang  saling  berhubungan.  Basis  data mengonsolidasi  banyak  catatan  yang  sebelumnya
disimpan  dalam  file  terpisah.  Basis  data  adalah kumpulan  file-file  yang  saling  berelasi,maka  dari  itu dapat  disimpulkan  basis  dataadalah  koleksi  dari  data terkait  yang  formatnya  standar  dan  dirancang  untuk bisa diakses beberapa pengguna [2].

## C. Database Management System (DBMS)
DBMS  merupakan  sebuah  sistem  software  yang memungkinkan pengguna untuk menjelaskan, membuat,  memelihara  dan  mengontrol  akses  dalam database. DBMS juga merupakan peranti lunak khusus untuk  membuat  dan  memelihara  basis  data  dan memungkinkan  aplikasi  bisnis  individu    mengambil data yang dibutuhkan tanpa harus membuat basis data berbeda.Maka  dari  itu  dapat  disimpulkan  bahwa DBMS  adalah  seperangkat  program  komputer  yang mengendalikan pembuatan, pemeliharaan, dan penggunaan database organisasi [3].

## D. Replikasi Database
Replikasi  adalah  suatu  teknik  untuk  melakukan copy  dan  pendistribusian  data  dan  objek-objek database  dari  satu  database  ke  database  lain  dan melaksanakan  sinkronisasi  antara  database  sehingga konsistensi data dapat terjamin. Dengan menggunakan teknik  replikasi  ini,  data  dapat  didistribusikan  ke lokasi  yang  berbeda  melalui  koneksi  jaringan  lokal maupun internet. Replikasi juga memungkinkan untuk mendukung  kinerja  aplikasi,  penyebaran  data  fisik sesuai  dengan  penggunaannya,  seperti  pemrosesan transaksi online dan DSS (Desiscion Support System) atau  pemrosessan  database  terdistribusi  melalui beberapa server [4][5][6].

## E. Manfaat Replikasi Database
Keuntungan replikasi tergantung dari jenis replikasi tetapi pada umumnya replikasi mendukung ketersediaan  data  setiap  waktu  dan  dimanapun diperlukan.Adapun
keuntungan lainnya adalah[7][8][9]:
1.  Memungkinkan  beberapa  lokasi  menyimpan  data yang  sama.  Hal  ini  sangat  berguna  pada  saat lokasi-lokasi  tersebut  membutuhkan  data  yang sama atau memerlukan server yang terpisah dalam pembuatan aplikasi laporan.
2.  Aplikasi  transaksi  online  terpisah  dari  aplikasi pembacaan  seperti  proses  analisis  database  secara online, data smarts atau data warehouse.
3.  Memungkinkan  otonomi  yang  besar.  Pengguna dapat  bekerja  dengan  meng-copy  data  pada  saat tidak  terkoneksi  kemudian  melakukan  perubahan untuk dibuat database baru pada saat terkoneksi.
4.  Data  dapat  ditampilkan  seperti  layaknya  melihat data  tersebut  dengan  menggunakan  aplikasi berbasis Web.
5.  Meningkatkan kinerja pembacaan.
6.  Penggunaan  replikasi  sebagai  bagian  dari  strategi standby server.
7.  Menyembunyikan perbedaan-perbedaan antara layanan replicated dan non-replicated.

## F. MySQL
MySQL  adalah  salah  satu  jenis  database  server yang  sangat  terkenal.  Kepopulerannya  disebabkan Mysqlmenggunakan  SQL  sebagai  bahasa  dasar  untuk mengakses  databasenya.  Mysql  termasuk  jenis RDBMS  (Relational  Database  Management  System). Pada  Mysql,  sebuah  database  mengandung  satu  atau sejumlah  tabel.  Tabel  terdiri  atas  sejumlah  baris  dan setiap  baris  mengandung  satu  atau  beberapa  kolom. Untuk  mengelola  database  Mysql  ada  beberapa  cara yaitu  melalui  prompt  DOS  (tool  command  line) [10][11].

## III. METODE PENELITIAN
Adapun  langkah-langkah  dalam  metode  waterfall dalam penelitian ini adalah sebagai berikut :
1.  Tahapan  Analisa  Kebutuhan,  Mengumpulkan kebutuhan-kebutuhan  yang  diperlukan  dalam membangun  sistem  replikasi  database  kemudian melakukan  analisa  terhadap  kebutuhan  tersebut untuk mencari solusi dengan mengimplementasikannya  kedalam  server  yang akan  dibangun.  Penulis  melakukan  pengumpulan kebutuhan  dengan  melakukan  observasi  dan  studi literatur tentang Database Management system dan Database  Replication  system    serta  bagian-bagian yang terdapat didalamnya.
2.  Tahap  Perancangan  Sistem,  pada  tahap  ini  di lakukan  perancangan  topologi  jaringan  yang  akan digunakan  pada  pembangunan  sistem  replikasi database.
3.  Implemetasi  Dan  Pengujian  Unit,  merupakan proses  mengkonversi  dari  tahap  perancangan sistem  kedalam  bentuk  sistem  berdasarkan  dengan data-data  yang  telah  di  pelajari  dari  studi  literatur dan  observasi  yang  telah  dilakukan.  Dan  akan dilakukan  pengujian  terhadap  sistem  yang  telah dibangun  untuk  mengetahui  apakah  penelitian berhasil atau tidak.
4.  Pengujian  Sistem,  setelah  implementasi  sistem telah  berhasil  di  setiap  server  yang  dibangun,  di tahap  ini  dilakukan  pengujian  pada  apakah  sistem replikasi berjalan dengan baik atau tidak.
5.  Maintenance,  pada  tahap  ini  sistem  telah  berhasil di  bangun.  Pemeliharan  meliputi  perbaikan kekurangan-kekurangan ataupun error saat pengembangan dan pengembangan sistem.

## A. Perancangan Sistem
Implementasidan    pembahasan  ini  secara  garis besarsistem  replikasi  databaseyang  akan  dibuat  ini nantinya  akan  berupa  simulasi  jaringan  yang  bersifat virtual  yang  di  implementasikan  di  dalam  sebuah komputer/laptop  dengan  telah  terinstall  aplikasi Vmware  Workstation  9.0.  Dan  jumlah  server  yang akan  dibangun  ini  nantinya  akan  terdapat  sejumlah satu  buah  yang diinstall  secara  virtual didalam  virtual machine  Vmware  Workstation  9.0.  Implementasi sistem  replikasi  database  pada    Tugas  Akhir  ini menggunakan  sistem  operasi  Ubuntu  Server.  Dalam membangun  sistem  replikasi  database  Mysql  ini  ada beberapa hal yang harus di persiapkan yaitu : 1.  Master
2.  Slave
3.  MysqlDump
4.  My.ini/My.cnf

## B. Perancangan Topologi Jaringan
Seluruh  komponen  dikonfigurasi  sesuai  dengan kelompok yang telah ditetapkan. Konfigurasi komponen-komponen  tersebut  sesuai  dengan  desain sistem  yang  akan  dikerjakan  seperti  pada  gambar dibawah ini

## Gbr.1 Arsitektur Web Services
Topologi  ini  sebuah  master  Mysql  di  kembangkan untuk  mendukung  semua  aplikasi  termasuk  session
Management, content Management dan untuk pencarian  database.  Untuk  meyakinkan  master  Mysql dapat mendedikasikan sumber dayanya untuk melayani slave-slave dalam hal proses pendistribusian data.  Database  di  replikasikan  kepada  dua  slave,  satu untuk  menangani  backup  dan  yang  lainnya  untuk menganalisa  hasil  backup.  Implementasi  di  lakukan dengan  1  server,  dan  yang  lainnya  sebagai  slave. Server  1  bertindak  sebagai  master  yang  berfungsi sebagai  master  replikasi,  database  yang  yang  akan  di replikasi  tersimpan  di  sini  terlebih  dahulu  sebelum  di replikasikan  ke  perangkat  lain  dan  juga  menyimpan hasil  backup  atau  log-bin  dari  proses  replikasi  yang sedang berlangsung.

## IV. HASIL DAN PEMBAHASAN
Implementasi  dilakukan  berdasarkan  analisis  dan perancangan  yang  telah  dibuat.  Setelah  implementasi selesai,  maka  selanjutnya  akan  dilakukan  pengujian apakah  sistem  sudah  berhasil  berjalan  dengan  baik atau  tidak,  dan  memastikan  apakah  server  yang digunakan  sebagai  server  sudah  bekerja  dengan  baik seperti yang telah di rancang. Adapun tahapan-tahapan yang  akan  dilakukan  dalam  pembuatan  sistem replikasi database ini adalah sebagai berikut: 1. Proses Instalasi server
Server  yang  digunakan  dalam  pembuatan  sistem ini  adalah  ubuntu  server  yang  menggunakan  versi stabilnya yaitu 12.04. Dimana server ini yang akan menjadi  pusat  replikasi  atau  master  yang  akan  di replikasikan kepada slave yang terkoneksi kedalam jaringan.
2. Konfigurasi server/slave Setelah  semua  yang  dibutuhkan  telah  dipasangkan ke  server  maka  akan  dilakukan  konfigurasi  untuk server seperti hostname dan ip address.
3. Instalasi paket-paket
Dalam  instalasi  server,  biasanya  hanya  akan memasang  aplikasi-aplikasi  standar,  sehingga untuk  kepentingan  replikasi  ini  maka  akan  di tambahkan  aplikasi  tambahan  yang  akan  diinstal, yaitu  Mysql  server  edition  version  5.5,  php  , apache server, serta myphp admin.
4. Instalasi dan konfigurasi sistem replikasi database. Pada  tahap  ini  adalah  instalasi  server  yang bertindak  sebagai  master  yang  berfungsi  sebagai pusat  replikasi  yang  menyediakan  database  yang akan  direplikasikan  ke  slave  dalam  network. Sebelum  tahap  instalasi  dilakukan,  Vmware Workstation harus sudah diinstall di komputer host. Setelah itu buka software VMware Workstation 9.0.

## Gbr.2 Tampilan Awal VmwareWorkstation
Pada  gambar  2  menjelaskan  untuk  membuat  New Virtual  Machine,  pilih  menu  file  >>  New  Virtual Machine pada window Vmware Workstation 9.0.
Gbr.3 Tampilan Awal VmwareWorkstation
Pada  gambar  3  memperlihatkan  tampilan  pada pop-up window yang muncul pilih tipe konfigurasi Typical.
Gbr.4 Sumber instalasi Guest OS
pada gambar  4 window tersebut akan diminta sumber instalasi cd atau lokasi disc image file (iso) atau dapat menginstal  sistem  operasi  nanti,  disini  akan  dipilih
installer  disc  image  file ,  karena  akan  langsung menginstal sistem operasinya, lalu klik next.

## Gbr.5 Informasi Guest OS
Pada  gambar  tersebut  akan    diminta  informasi  dari sistem  operasi  virtual  yang  akan  diminta  seperti username dan password , setelah itu lalu klik next .
Gbr.6 Lokasi Dan Nama Virtual Machine
Setelah  itu  akan    muncul window berikutnya,  yang berisi nama Virtual Machine dan lokasi dimana virtual machine itu  disimpan  .  Dan  pada window berikutnya akan  ditanyakan  ukuran space yang  akan  dijadikan virtual disk sebagai hardisk dari sistem operasi virtual tadi  lalu  klik next dan  lalu  klik  finish  seperti  yang terlihat pada gambar 6.

## Gbr.7 Ukuran Hardisk Guest OS
Pada  gambar  7  memperlihatkan  tampilan  untuk server pertama  ini  akan  dialokasikan  sebesar  20GB  sebagai hardisknya  yang  akan  disimpan  dengan  metode penyimpanan  yang  dipilih  adalah Split  disk into multiple  files ,  yang  berarti file  hardisk virtual  akan disimpan  dalam file yang  dipecah  menjadi  beberapa bagian,  sehingga  jika  akan  di  pindahkan,  akan  jauh lebih  mudah  daripada  memindahkan file  hardisk virtual yang berukuran yang sangat besar.
Gbr.8 Deskripsi Virtual Machine Server 1
Setelah New  Virtual  Machine berhasil  dibuat,  klik pada Power  on  this  Virtual  machine maka  virtual machine akan berjalan  seperti pada gambar 8.
Gbr.9 Tampilan Awal Instalasi Server 1
Pada  gambar  9  dapat  terlihat  pilihan  instalasi  dari file iso dari  ubuntu  yang  terdeteksi  otomatis  oleh virtual machine ,  pada  pilihan  tersebut  akan  dipilih “Install Ubuntu Server” lalu enter.
A. Pengujian
Setelah semua proses konfigurasi selesai dilakukan, masuk  kepada  tahap  pengujian    dimana  proses pengujian  sistem  replikasi  database  dilakukan.  Proses pengujian sistem replikasi database ini menggunakan 2 buah sistem operasi yang bersifat virtual menggunakan VMware. Adapun sistem operasi yang digunakan yaitu ubuntu  server.  Berikut  hasil  pengujian  sistem  yang telah dibangun, login ke master :
Gbr.10 Login Master
Terlihat  pada  gambar  10 login  master dengan username admin01, dan password admin01 setelah itu masuk ke mysql shell .

## Gbr.11 Masuk MySQL Shell
Setelah  masuk  ke  dalam mysql  master kita  perlu memilih database yang kita gunakan untuk di replikasi (gambar 11 tampilan masuk Mysql shell ).
Gbr.12 Memilih Database Aktif
Sampai  pada  proses  seperti  yang  digambarkan  pada gambar  12,  langkah  berikut  nya  beralih  kepada slave master , login terlebih dahulus ke dalam slave .

## Gbr.13 Login Slave
Pada  gambar  13  memperlihatkan  tampilan  login  ke dalam  sistem slave ,  karena  kita  membutuhkan  kedua sistem ini berjalan secara bersamaan untuk melakukan pengujian  sistem replikasi. Login sistem slave dengan username “ slave01 ”  dan password “ slave01 ”.  Setelah berhasil masuk ke dalam sistem slave , Ubah database yang  aktif  menjadi  sama  seperti  yang  aktif  dalam master .
Gbr.14 Mengganti Database Aktif Slave
Setelah  kedua  sistem  menggunakan database yang aktif  ,  berikut  kita  coba  melihat  status  tabel  dari database pada kedua sistem. Berikut daftar tabel yang terdapat  pada database  classicmodels pada  sistem master.

## Gbr.15 Tabel Master
Bandingkan tabel master  diatas dengan yang ada pada sisi slave seperti yang terlihat pada gambar 15 dan 16.

## Gbr.16 Tabel Slave
Dari  gambar  diatas  kedua  sistem  memiliki database yang  sama  dan  tabel  yang  sama,  pada  tahap  ini  tabel kedua  sistem  memang  sengaja  dibuat  sama  untuk dapat lebih  mudah   mengetahui proses  replikasi dapat berjalan dengan baik atau tidak.
Sebagai  pengujian  akan  mencoba  menambahkan sebuah tabel baru pada master dengan perintah seperti padda gambar 18 dibawah ini  :
Gbr.17 Menambahkan Tabel pada master

## Gbr.18 Tabel Pada Master
Setelah  dilakukan  penambahan  tabel “testing” pada sisi master yang  terlihat  pada  gambar  diatas  yaitu gambar 18 maka,sekarang langsung kita lihat pada sisi slave yang  digambarkan  pada  gambar  19,  tanpa  ada perintah  apapun  kita  ketikkan  perintah  untuk menampilkan tabel.

## Gbr.19 Tabel pada slave
Dari  gambar  di  atas  terlihat  ada  satu tambahan  tabel  yaitu  tabel  “ testing ”  dapat diperhatikan,  pada  sisi slave kita  tidak  ada melakukan  percobaan  untuk  menambahkan  tabel “ testing ” tetapi tabel testing sudah ada secara otomatis. Dapat  disimpulkan  bahwa  proses  replikasilah  yang menambahkannya secara otomatis pada databaseslave dengan menyalin perubahan yang ada pada master dan langsung di salin kepada slave .

## V. KESIMPULAN
Dari hasil pengujian dan implementasi Perancangan Sistem  Replikasi  Database  Pada  Vmware  Dengan Ubuntu  Server  dapat  di  simpulkan  bahawa  sistem replikasi  database  dapat  berjalan  dengan  baik  pada Vmware  Workstation  dengan  ubuntu  server  14.0  dan dengan  menggunakan  sistem  replikasi  database  dapat mempermudah,  mempercepat  dan  menghemat  baik dari segi proses maupun waktu dalam suatu project.

## REFERENSI
[1] Anonymous.  (2008). Sistem ,  Diakses  pada  tanggal  12 April2008 dari: http://id.wikipedia.org/wiki/Sistem . [2] [Cahyono,Setiyo.(2009),Pemrograman Database Menggunakan MySQL Dan Java.Bandung [3] Connolly,Thomas  dan  Carolyn  Begg,(2010),  Database
Systems A Practical Aprroach to Design, Implementation, and Management 4 th Edition, Pearson Education Limited,Harlow
[4] Yu  Ping,  Hu  Hong-Wei  and  Zhou  Nan,  "Design  and implementation  of  a  MySQL  database  backup  and  recovery system,"  Intelligent  Control  and  Automation  (WCICA),  2014 11th World Congress on, Shenyang, 2014, pp. 5410-5415.
[5] K. Xiang, "An improvement in MySQL cluster in e-commerce scenarios," Information Technology and Electronic Commerce (ICITEC),  2014  2nd  International  Conference  on,  Dalian, 2014, pp. 286-289.USA: Abbrev. of Publisher, year, ch. x , sec. x , pp. xxx–xxx.
[6] E. Bautista and N. L. Serna, "An MDE-based graphical tool for the  validation  of  MySQL  replication  models,"  Computing Conference (CLEI), 2015 Latin American, Arequipa, 2015, pp. 1-12.
[7] Schwartz, B., Zaitsew, P & Tkachenko, V. High Performance MySQL. O’Reily Media, Inc. 2012
[8] Bell,  C.,  Kindahl,  M  &  Thalmann,  L.  MySQL  High Availability:  Tools  for  Building  Robust  Data  Centers  2nd Edition, O’Reilly Media. 2014.
[9] Dyer,  R.J.T.    Learning  MySQL  and  MariaDB  Heading  in  the Right  Direction  with  MySQL  and  MariaDB.  O’Reilly  Media. 2015.
[10] Butler,  T  &  Yank,  K.  PHP  &  MySQL:  Novice  to  Ninja,  6th Edition. SiitePoing. 2016.
[11] Boronczyk, T. Jump Start MySQL. SitePoint. 2015