DESAIN DAN IMPLEMENTASI SISTEM TERDISTRIBUSI DENGAN MODEL REPLIKASI MULTI-MASTER PADA BASIS DATA UNTUK OPTIMASI KEANDALAN SISTEM
RAVIE KURNIA LADAY
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2015
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa tesis berjudul Desain dan Implementasi Sistem Terdistribusi dengan Model Replikasi Multi-master pada Basis Data untuk Optimasi Keandalan Sistem adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Agustus 2015 Ravie Kurnia Laday NIM G651110101
RINGKASAN RAVIE KURNIA LADAY.Desain dan Implementasi Sistem Terdistribusi dengan Model Replikasi Multi-master pada Basis Data untuk Optimasi Keandalan Sistem. Dibimbing oleh HERU SUKOCO dan YANI NURHADRYANI. Jaminan keamanan serta keandalan sebuah teknologi informasi menjadi faktor penting bagi suatu perusahaan atau institusi untuk menggunakan teknologi informasi. keandalan jaringan komputer didefinisikan sebagai kemampuan menjalankan fungsi maksimal dalam suatu periode tertentu. Faktor-faktor yang mempengaruhi keandalan adalah kinerja, ketersediaan dan keamanan. teknik replikasi yaitu suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek basis data ke basis data lain dan melaksanakan sinkronisasi antar basis data sehingga konsistensi data dapat terjamin. Replikasi multimaster merupakan sebuah proses yang memungkinkan setiap komputer dapat write dan read data dalam basis data sehingga ketika terjadi perubahan pada data master server 1, maka otomatis data pada master server 2 akan berubah, berlaku sebaliknya. Sistem terdistribusi merupakan suatu bentuk arsitektur sistem di mana komputer-komputer yang berdiri secara otonom dapat saling berkomunikasi dan berbagi resource tanpa memperdulikan di mana komputer itu berada dan platform yang digunakan. Permasalahan dalam pengolahan data baik dalam hilangnya data mapupun dalam metode backup yang masih manual, sehingga sistem yang ada kurang andal. Melihat permasalahan tersebut perlu dibangun sebuah prototipe sistem yang lebih andal baik dalam hal ketersediaan maupun dalam kinerja sistem. Penelitian dilakukan di Institut Sains dan Teknologi Al-Kamal dengan menggunakan data sample dan arsitektur berjalan. Dengan membangun prototipe sistem terdistribusi yang memanfaatkan teknologi load balancing pada sistem. Kemudian membangun backup basis data dengan model replikasi multi-master pada prototipe tersebut. Hasil yang diperoleh dari penelitian ini adalah metode replikasi multimaster dapat meningkatkan ketersediaan dengan model backup data yang disimpan tidak akan mengalami perubahan maupun kehilangan dengan catatan koneksi antar server saling terhubung. kinerja sistem terdistribusi dengan menggunakan load balancer dapat menjaga ketersediaan layanan server, kecepatan menampilkan sebuah halaman login memerlukan waktu 0.731s sedangkan waktu untuk menampilkan halaman query data mahasiswa memerlukan 63.56s. test-duration dipengaruhi oleh banyaknya koneksi hal tersebut dapat dilihat pada F-Value yang menunjukan angka 0.11 sedangkan reply time tidak dipengaruhi oleh banyaknya koneksi dengan F-Value 0.07. Prototipe yang dibangun dapat dijadikan usulan pengembangan sistem berjalan.
Kata kunci: Keandalan, Replikasi, multi-master, Sistem terdistribusi.
SUMMARY RAVIE KURNIA LADAY. Design and Implementation of Distributed System with Databases Multi-master Replication Model for Optimization System Reliability. Supervised by HERU SUKOCO and YANI NURHADRYANI. An important factor in the usability of an information system service is security and reliability guarantee. Computer network reliability is defined as the ability to optimize functions in a particular period. Performance, availability, and security are factors influencing reliability. In term of ensuring the reliability, replication technique is one of the mechanisms that copy and distribute data from one database into another. It synchronizes between one or more databases that guarantee data consistency. Multi-master replication is a process that allows any computer can write and read data in a master database. When there is a change in one database master then other master will be updated automatically, and vice versa. A distributed system is a form of the system architecture in which computers are autonomous can communicate and share resources regardless of where the computer was located, and the platform used. Problems in both data processing in data loss and the backup method are still manual so that existing systems less reliable. Seeing these problems need to be constructed a prototype system that is more reliable both in thems of availability or system performance. The study was conducted at the Insistute of Science and Technology AlKamal using sample data and existing architecture. The existing system was engineered in a prototype that utilizes a distributed load balancing technology for the system. Furthermore, the research built a backup database with multi-master replication model. Multi-master replication method can improve the availability of the system model. The research resulted that data changes were not lost as long as the system could guarantee their connections. Performance distributed systems using a load balancer can maintain server availability. The system takes 0.731-second and 63.56 to show login page and student data. The number of connections did not affect tes-duration, however, it affected the reply time. F-value 0.11 form test duration and 0.07 for reply time proved the conclusion. The result of this research and model will be proposed as a new model to replace the existing system model.
Keywords: Distributed system, Multi-master, Reliability, Replication
ยฉ Hak Cipta Milik IPB, Tahun 2015 Hak Cipta Dilindungi Undang-Undang Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan IPB Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini dalam bentuk apa pun tanpa izin IPB
DESAIN DAN IMPLEMENTASI SISTEM TERDISTRIBUSI DENGAN MODEL REPLIKASI MULTI-MASTER PADA BASIS DATA UNTUK OPTIMASI KEANDALAN SISTEM
RAVIE KURNIA LADAY
Tesis sebagai salah satu syarat untuk memperoleh gelar Magister Komputer pada Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2015
Penguji Luar Komisi pada Ujian Tesis:
Dr Ir Sri Wahjuni, MT
Judul Tesis : Desain dan Implementasi Sistem Terdistribusi dengan Model Replikasi Multi-master pada Basis Data untuk Optimasi Keandalan Sistem Nama : Ravie Kurnia Laday NIM : G651110101
Disetujui oleh Komisi Pembimbing
DrEng Heru Sukoco, SSi MT Ketua
Dr Yani Nurhadryani, SSi MT Anggota
Diketahui oleh
Ketua Program Studi Ilmu Komputer
Dekan Sekolah Pascasarjana
DrEng Wisnu Ananta Kusuma, ST MT
Dr Ir Dahrul Syah, MScAgr
Tanggal Ujian: 24 Juni 2015
Tanggal Lulus:
PRAKATA Puji syukur penulis panjatkan kehadirat Allah SWT atas segala karunia-Nya sehingga tesis ini dapat diselesaikan. Tema yang diambil dalam penelitian ini adalah kolaborasi metode replikasi dan sistem terdistribusi, dengan judul Desain dan Implementasi Sistem Terdistribusi dengan Model Replikasi Multi-master pada Basis Data untuk Optimasi Keandalan Sistem. Tesis ini disusun sebagai salah satu syarat untuk memperoleh gelar Magister Komputer pada Program Ilmu Komputer Sekolah Pascasarjana Institut Pertanian Bogor. Pada kesempatan ini penulis menyampaikan penghargaan dan ucapan terima kasih kepada : 1. Bapak DrEng Heru Sukoco, SSi MT dan Ibu Dr Yani Nurhadryani, SSi MT selaku komisi pembimbing yang telah meluangkan waktu, tenaga dan pikiran sehingga tesis ini dapat diselesaikan. 2. Ibu DrIr Sri Wahjuni, MT selaku dosen penguji yang telah memberikan arahan dan masukan untuk perbaikan tesis ini. 3. Kedua orangtuaku Ibu, Bapak dan Istri tercinta, yang selalu tak kenal lelah mendukung dan mendoakan siang dan malam. 4. Staff Pengajar Program Studi Ilmu Komputer 5. Staff Administrasi Departemen Ilmu Komputer atas kerja samanya membantu kelancaran proses administrasi hingga akhir studi. 6. Pimpinan dan staff Institut Sains dan Teknologi Al-kamal yang telah membantu dalam memberikan arahan di tempat penelitian dan menyediakan data utama dalam penelitian ini. 7. Rekan-rekan ISTA, MKOM13 dan MKOM14 yang setia berdiskusi, membantu dan tak henti-hentinya memberikan support. Penulis menyadari bahwa masih banyak kekurangan dalam penulisan tesis ini, namun demikian penulis berharap tesis ini dapat bermanfaat untuk bidang ilmu komputer, bidang pendidikan dan bidang umum lainnya. Bogor, Agustus 2015 Ravie Kurnia Laday
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
1 PENDAHULUAN Latar Belakang Perumusan Masalah Tujuan Penelitian Manfaat Penelitian Ruang Lingkup Penelitian
1 1 2 2 2 2
2 TINJAUAN PUSTAKA Ketersediaan Sistem Kinerja (Performance) Reliability Replikasi Replikasi Multimaster Proses Replikasi Basis Data Keuntungan Replikasi Basis Data Model Data dalam Basis Data Load Balancing
3 3 4 4 4 5 5 6 6 6
3 METODE Identifikasi Sistem Berjalan Prototipe Sistem Pengujian
7 7 9 13
4 HASIL DAN PEMBAHASAN
15
5 SIMPULAN DAN SARAN Simpulan Saran
20 20 20
DAFTAR PUSTAKA
20
LAMPIRAN
22
RIWAYAT HIDUP
33
DAFTAR TABEL 1 Availability
4
2 Spesifikasi Server dan Client yang berjalan
9
3 Penjelasan fungsi port yang digunakan
12
4 Skenario pengujian ketersediaan server
14
5 Skenario pengujian respon time
14
6 Pengujian ketersediaan
15
7 Pengujian index.php
15
8 Pengujian dtlmahasiswa.php
16
9 Pengujian cetaktranskrip.php
16
10 Hasil uji berdasarkan nilai test-duration
19
11 Hasil uji berdasarkan nilai connection rate
19
12 Hasil uji berdasarkan nilai request rate
19
13 Hasil uji berdasarkan nilai reply time
20
DAFTAR GAMBAR 1 Arsitektur Replikasi Multimaster
5
2 Alur proses penelitian
8
3 Arsitektur sistem informasi akademik
8
4 Model replikasi multi-master
10
5 Topologi load balancer
10
6 Topologi client-server
11
7 Struktur pengujian
11
8 Penambahan domain server basis data pertama pada server ke dua
12
9 Penambahan domain server basis data kedua pada server pertama
12
10 Grafik perbandingan test duration
17
11 Grafik perbandingan connection rate
17
12 Grafik perbandingan request rate
18
13 Grafik perbandingan reply time
18
DAFTAR LAMPIRAN 1 Detail Network Diagram ISTA
22
2 Struktur Data Tabel Sistem Informasi Berjalan
23
3 Tampilan Konfigurasi
28
4 Tampilan pengujian
30
1 PENDAHULUAN Latar Belakang Kemudahan dalam mendapatkan pelayanan atau informasi merupakan salah satu faktor yang sangat penting dewasa ini terutama informasi pelayanan terhadap konsumen termasuk di dalam dunia perguruan tinggi (Triyono, 2012). Integrasi antara teknologi informasi dan proses bisnis akan menghasilkan informasi yang sangat berharga bagi suatu perusahaan atau organisasi dalam proses pengambilan keputusan yang menyangkut kepentingan-kepentingan bisnis perusahaan tersebut. Maka dari itu jaminan akan keamanan serta keandalan suatu teknologi informasi menjadi faktor penting bagi suatu perusahaan untuk menggunakan teknologi informasi yang ditawarkan (Ricky 2011). Faktor-faktor yang mempengaruhi keandalan (reliability) adalah kinerja (performance), ketersediaan (availability) dan keamanan (security) (Stiawan 2010). Menurut Li (2009) keandalan jaringan komputer didefinisikan sebagai kemampuan menjalankan fungsi maksimal dalam suatu periode tertentu dengan melihat waktu pengiriman data, data yang lengkap dan benar, dan indikator teknik yang mencakup delay (ms/sec), PLR (packet lost rate) dan BER (bit error rate). Sistem terdistribusi merupakan suatu bentuk arsitektur sistem di mana komputer-komputer yang berdiri secara otonom dapat saling berkomunikasi dan berbagi resource tanpa memperdulikan di mana komputer itu berada dan platform yang digunakan (Sutanto 2010). Faktor lain yang mendukung ketersediaan data yaitu dengan melakukan pengolahan DBMS (database management system) yang baik, pengolahan DBMS sangat mempengaruhi berapa besar waktu yang diperlukan dalam mengirim sejumlah data sehingga secara tidak langsung akan mempengaruhi performance dan meningkatkan reliability. Institut Sains dan Teknologi Al-kamal (ISTA) merupakan salah satu perguruan tinggi swasta yang berada di bawah koordinasi KOPERTIS III, dalam menjalankan salah satu fungsinya sebagai perguruan tinggi sangat bergantung pada kegiatan mengakses server yang berisi basis data mahasiswa sehingga pemanfaatan jaringan baik ketersediaan, kecepatan maupun keamanan sangat dibutuhkan. Permasalahan mucul ketika sebuah data yang sudah disimpan mengalami perubahan atau bahkan kehilangan data sehingga beberapa kasus seperti tidak tersimpannya data mahasiswa menjadi sebuah kendala tersendiri. Permasalahan lain terjadi saat koneksi komputer dalam mengakses server sering mengalami trouble serta lemahnya availability karena basis data tidak memiliki backup yang andal. Alternatif dari permasalahan diatas dapat diselesaikan dengan membangun optimalisasi ketersediaan pada basis data dengan menerapkan teknik replikasi yaitu suatu teknik untuk melakukan copy dan pendistribusian data dan objekobjek basis data ke basis data lain dan melaksanakan sinkronisasi antar basis data sehingga konsistensi data dapat terjamin (George et al. 2001). Penelitian lain yang berjudul โPembandingan Metode Backup Database MySQL antara Replikasi dan MySQLDumpโ mengatakan bahwa teknik replikasi merupakan teknik yang lebih baik dan lebih efisien dibandingkan teknik MySQLDump baik dari segi
2 penggunaan memori, penggunaan CPU dan waktu proses pada saat server melakukan poses backup (Tawar 2011). Penelitian ini menggunakan metode Replikasi Multimaster untuk model backup basis data dan merancang prototipe sistem terdistribusi dengan load balancer untuk menjaga ketersediaan data. Perumusan Masalah Dari latar belakang yang telah diuraikan maka dapat dirumuskan beberapa permasalahan, diantaranya adalah : 1. Bagaimana merancang sebuah prototipe sistem yang dapat meningkatkan keandalan (reliability). 2. Bagaimana mengintegrasikan basis data dengan model multi-master. 3. Bagaimana membangun basis data agar selalu ter-backup otomatis. Tujuan Penelitian Berdasarkan perumusan masalah diatas maka penelitian ini bertujuan untuk membangun sistem terdistibusi yang diharapkan mampu untuk : 1. Menganalisa rancangan usulan sistem dalam meningkatkan ketersediaan pada sistem berjalan. 2. Menghasilkan rancangan sebagai acuan pengembangan sistem dalam meningkatkan kinerja. Manfaat Penelitian 1. 2. 3.
Manfaat yang diperoleh setelah dilakukan penelitian ini : Dihasilkan sebuah usulan pengembangan sistem terhadap pihak terkait. Menjadi solusi permasalahan bagi pihak kampus. Dapat dijadikan informasi tambahan dalam implementasi model replikasi multi-master pada basis data bagi peneliti lain. Ruang Lingkup Penelitian
1. 2. 3. 4. 5.
Ruang lingkup penelitian ini difokuskan kepada : Menggunakan data akademik yang berjalan saat ini. Menerapkan teknik replikasi basis data menggunakan metode Multi-master. Menggunakan aplikasi PEN sebagai load balancer. Hasil akhir berupa prototipe sistem terdistribusi. Tidak membahas keamanan (security) sistem.
3
2 TINJAUAN PUSTAKA Ketersediaan Sistem Ketersediaan sistem (system availability) dapat didefinisikan sebagai lamanya waktu yang tersedia dalam memberikan layanan terhadap para pengguna. Layanan harus tetap terjaga 24 jam tanpa terhenti baik dipengaruhi oleh cuaca, jam kerja, liburan atau hari kebangsaan, cuti karyawan, listrik padam dan sebagainya, di mana layanan dan sumber daya harus mampu diberikan tanpa henti (Stiawan, 2010). Faktor yang mempengaruhi ketersediaan, 1. Redundansi / backup : kebutuhan sistem saat ini harus memiliki downtime yang sangat kecil, salah satu cara untuk mengurangi downtime jaringan secara umum menggunakan Load balancing, sebuah Teknik yang digunakan untuk memisahkan antara dua atau lebih hubungan antar jaringan. Memiliki banyak link dengan optimalisasi pemanfaatan sumber daya, throughput, atau waktu respon akan lebih baik karena memiliki lebih dari satu link sehingga dapat mem-backup satu sama lain ketika sambungan jaringan sedang mengalami gangguan dan mengalami permintaan yang sangat besar pada jaringan, solusi ini memerlukan keandalan koneksi yang tinggi (high reliability) dan solusi ini juga dapat digunakan untuk membagi koneksi hulu dan hilir untuk paket routing yang berbeda 2. Sustainability : sistem yang dibangun harus tahan terhadap kondisi yang telah diperkirakan sebelumnya, misalnya, sistem akan otomatis berpindah ke sistem cadangan ketika sistem utama mengalami kegagalan (crash), sistem cadangan akan melakukan pemulihaan data secara otomatis, sistem akan melakukan redundansi data ketika sistem Bencana Recovery Center terjadi saat force majeure. Parameter yang paling umum digunakan untuk menggambarkan fault tolerance system adalah dengan mengukur ketersediannya (Availability) dengan melihat perbandingan mean time to failure (MFFT) dengan mean time to repair (MTTR), dapat digambarkan dengan persamaan berikut (Sheth 1989), ๐๐น๐น๐
๐น๐๐ข๐๐ก ๐๐๐๐๐๐๐๐๐ โถ ๐ด๐ฃ๐๐๐๐๐๐๐๐๐ก๐ฆ = ๐๐น๐น๐+๐๐๐๐
(1)
Sedangkan untuk menentukan ketersediaan sistem basis data dengan melihat persentase waktu keseluruhan basis data yang tersedia ketika diakses oleh user dapat digambarkan menggunakan persamaan berikut, ๐ด๐ฃ๐๐๐ =
๐ก๐๐๐ ๐กโ๐ ๐๐๐ก๐๐๐ ๐๐๐ก๐๐๐๐ ๐ ๐๐ ๐๐ฃ๐๐๐๐๐๐๐ ๐ก๐๐ก๐๐ ๐ก๐๐๐
ร 100
(2)
Availability menurut Sheth (1989) dapat dikategorikan menjadi beberapa level, level tersebut dapat dilihat pada Tabel 1
4 Tabel 1 Availability Availability 0.99 0.999 0.9999 0.99999
Unavailability of the system Unavailable for one hour in 4 days Unavailable for one hour in 41 days (> a month) Unavailable for one hour in 416 days (> a year) Unavailable for one hour in 4,166 days (> a 11 years) Kinerja (Performance)
Kinerja layanan sebuah sistem tidak dipengaruhi oleh perangkat yang digunakan baik dari perangkat input/output, distribusi, maupun akses harus tetap terjaga dan tidak terjadi kegagalan yang menyebabkan downtime karena perangkat yang tidak kompatibel, crash, hang, atau kurangnya dukungan terhadap hardware dan layanan yang bersifat teknis (Stiawan, 2010). Reliability Reliability merupakan salah satu kinerja yang paling penting dalam sebuah teknologi. Analisis keandalan jaringan terutama berkaitan dengan evaluasi kinerja jaringan yang memiliki kemampuan untuk bertahan dari kegagalan, digunakan untuk mengukur stabilitas komponen jaringan dan aplikasi (Chen, 2008). Menurut Stiawan (2010) manfaat reliability meliputi; 1. Meningkatkan Efisiensi dan Efektifitas sehingga perusahaan akan lebih berkonsentrasi hanya proses bisnis dalam produk . 2. Membuat pengurangan biaya, dengan sistem yang andal akan mampu mengurangi biaya yang dibebani dengan biaya pemeliharaan sehingga memungkinkan perusahaan untuk melakukan proses bisnis lainnya. 3. Meningkatkan pelayanan pelanggan, perusahaan akan dapat berkonsentrasi pada layanan untuk meningkatkan layanan pelanggan dan kepuasan dalam berkolaborasi untuk lebih meningkatkaan layanan lainnya. 4. Prove service levels, perusahaan dapat membuktikan tingkat layanan dengan melihat waktu untuk memulihkan dan downtime terhadap layanan. 5. Identifikasi Proaktif masalah memberlakukan keandalan dan meningkatkan penerimaan layanan. 6. Identifikasi masalah memberlakukan keandalan yang lebih tinggi dan membuat peningkatan penerimaan business-critical jasa. Replikasi Replikasi adalah penciptaan satu atau lebih salinan โfile systemโ (Munoz 2000). Menurut George (2001) Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek basis data ke basis data lain dan melaksanakan sinkronisasi antar database sehingga konsistensi data dapat terjamin. Teknik replikasi memungkinkan data dapat didistibusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet, juga memungkinkan untuk mendukung kinerja aplikasi penyebaran data fisik sesuai dengan
5 penggunaannya seperti pemprosesan transaksi online dan DSS atau pemprosesan basis data terdistribusi melalui beberapa server. Replikasi digunakan untuk menggandakan semua perubahan yang terjadi pada suatu server, disebut master server atau master, ke server lain yang disebut slave server atau slave (Howard 2010). Dua hal penting dari replikasi adalah menciptakan backup dari server utama untuk menghindari kehilangan data jika master mengalami kerusakan dan untuk memiliki salinan dari server utama untuk menjalankan reporting dan analisis kerja tanpa mengganggu jalannya bisnis. Replikasi, seperti migrasi atau sinkronisasi data, dikerjakan dalam basis data, antara sumber (source) dan tujuan (target) (Hart 2004). Replikasi Multimaster Salah satu arsitektur yang menjadikan salah satu komputer berfungsi sebagai master server dan yang lainnya berfungsi sebagai master server juga. Proses ini memungkinkan setiap komputer dapat write dan read data dalam basis data sehingga ketika terjadi perubahan pada data master server 1, maka otomatis data pada master server 2 akan berubah, berlaku sebaliknya (Davies 2010). Gambar 1 merupakan ilustrasi arsitektur Replikasi Multimaster.
Pengguna
Sever utama Membaca dan mengedit
Membaca dan mengedit
Mereplikasi Mereplikasi DB1
DB2
Gambar 1 Arsitektur Replikasi Multimaster Proses Replikasi Basis Data Replikasi basis data adalah proses menggandakan perubahan yang terjadi pada suatu basis data yang disebut master server atau master ke server lain yang disebut slave server atau slave (Howard 2010). Dengan proses ini, suatu perusahaan atau institusi dapat membuat replika dari basis data yang sedang mereka pakai sebagai backup bila mana terjadi kegagalan pada sistem baik yang disengaja, maupun yang tidak agar perusahaan/institusi tersebut masih tetap memiliki salinan dari server utama untuk menjalankan reporting dan analisis kerja tanpa mengganggu jalannya proses bisnis (Ricky 2011).
6 Keuntungan Replikasi Basis Data Keandalan data yang tersimpan selalu tersedia karena fasilitas pengembalian yang saling melengkapi ketika salah satu basis data mengalami kegagalan. Kinerja yang meningkat terutama untuk proses permintaan karena dapat melakukan penyeimbangan permintaan pengguna dalam pemanfaatan akses ke basis data yang berbeda sehingga dapat mempertahankan kierja seluruh server. Pengurangan beban mengacu kepada replikasi yang dapat digunakan untuk mendistribusikan data melalui beberapa lokasi. Pengguna juga dapat mengakses server dari beberapa tempat tanpa harus mengakses server utama sehingga secara signifikan mengurangi network traffic. Komputasi terputus mengacu pada bagaimana replikasi didukung oleh snapshot. Shapshot adalah salinan lengkap atau parsial (replika) dalam rentang waktu tertentu. Snapshot memungkinkan pengguna untuk bekerja pada subset dari basis data perusahaan ketika server basis data utama terputus. Kemudian, bila sudah tersambung kembali, pengguna dapat mensingkronisasi (refresh) snapshot dengan basis data perusahaan. Hal ini memungkinkan snapshot menerima update dari basis data perusahaan atau basis data perusahaan menerima update dari snapshot dengan data yang konsisten. Mendukung banyak pengguna yang membutuhkan banyak aplikasi dalam menggunakan dan memanipulasi data. mendukung manajemen advance applications data perusahaan tidak hanya untuk online transaction processing (OLTP) sistem tetapi juga untuk analisis data aplikasi seperti kemajuan pergudangan, online analytical processing (OLAP), dan data mining. (Connolly 2005) Model Data dalam Basis Data Menurut Indrajani (2015) kriteria untuk menghasilkan model data yang optimal harus konsisten dengan definisi enterprise dan informasi organisasi (validasi struktural). Mudah dimengerti oleh professional sistem informasi maupun pengguna non-teknik (Kesederhanaan). Kemampuan untuk membedakan antara data yang berlainan dan hubungan antara data dengan batasan-batasan (ketepatan). Pengeluaran informasi yang tidak berhubungan dengan data lain dan representasi setiap bagian informasi hanya satu kali (tidak rangkap). Model data tidak ditentukan aplikasi atau teknologi tertentu dan dapat digunakan oleh banyak pengguna (digunakan bersama). Kemampuan untuk menyusun dan mendukung kebutuhan baru dengan akibat sampingan yang minimal terhadap pengguna yang telah ada (perluasan pengguna). Konsistensi dengan cara yang digunakan oleh enterprise dan pengaturan informasi (integritas). Kemampuan untuk merepresentasikan model menggunakan notasi diagram yang mudah dimengerti (representasi diagram). Load Balancing Server load balancing adalah sebuah proses atau mendistribusikan trafik sebuah alamat halaman web kepada menggunakan sebuah perangkat jaringan. Perangkat tersebut yang ditujukan pada suatu alamat dan mendistribusikannya ke Proses load balancing sepenuhnya transparan bagi end-user.
teknologi yang beberapa server menerima trafik beberapa server. Load balancing
7 dapat diimplementasikan dengan hardware khusus, software maupun gabungan keduanya. Konfigurasi standar yang ada memberi gambaran bahwa satu mesin ditempatkan diantara clien dan server, mesin ini disebut sebagai director karena tugasnya adalah memberikan balancing pada request dan clien ke server. Sebuah load balancer adalah perangkat jaringan yang dipasang diantara clien dan server, bekerja sebagai saklar untuk permintaan dari clien. Load balancer mengimplementasikan beberapa metode penjadwalan yang akan menentukan ke arah server mana request dari clien akan diteruskan (Rabu 2012) Beberapa keuntungan yang diperoleh dari teknik load balancing sebagai berikut: 1. Flexibility : Server tidak lagi menjadi inti sistem dan resource utama, tetapi menjadi bagian dari banyak server yang membentuk cluster. Hal ini berarti bahwa performa per unit dari cluster tidak terlalu diperhitungkan, tetapi performa cluster secara keseluruhan. Sedangkan untuk meningkatkan performa dan cluster, server atau unit baru dapat ditambahkan tanpa mengganti unit yang lama. 2. Scalability : Sistem tidak memerlukan desain ulang seluruh arsitektur sistem untuk mengadaptasi sistem tersebut ketika terjadi perubahan pada komponen sistem. 3. Security : Unfuk semua trafik yang melewati load balancer, aturan keamanan dapat dimplementasikan dengan mudah. Dengan private network digunakan untuk real servers, alamat lPnya tidak akan diakses secara langsung dari luar sistem cluster. 4. High-availability : Load balancer dapat mengetahui kondisi real server dalam sistem secara otomatis, jika terdapat real server yang mati maka akan dihapus dari daftan real server, dan jika real server tersebut kernbali aktif maka akan dimasukkan ke dalam daftar real server. Load balancer juga dapat dikonfigurasi redundant dengan load balancer yang lain.
3 METODE Metode penelitian ini secara garis besar terdiri dari beberapa tahap, yaitu identifikasi sistem berjalan, pembangunan prototipe dan pengujian. Alur proses penelitian dapat dilihat pada Gambar 2. Identifikasi Sistem Berjalan Pada penelitian ini diawali dengan menganalisis dan menggambarkan sistem yang telah berjalan. Pengambaran sistem berjalan meliputi arsitektur sistem, arsitektur jaringan dan penggambaran basis data.
8 Mulai
Identifikasi sistem berjalan
Pembangunan prototipe
Arsitektur prototipe
Desain server basis data
Pengujian Pengujian replikasi
Pengujian kinerja
Selesai
Gambar 2 Alur proses penelitian Arsitektur sistem terdiri dari sebuah server dan dua buah unit client dengan menggunakan arsitektur 2-tier sebagai dasar topologi. Arsitektur Sistem Informasi yang berhubungan dengan kegiatan akademik dapat dilihat pada Gambar 3 menggunakan 2-tier (client-server) dalam melakukan kegiatan mengolah data. Server utama digunakan sebagai server basis data sedangkan aplikasi terdapat pada komputer client 1 dan client 2. Spesifikasi server dan client yang berjalan dapat dilihat pada Tabel 2
Sever utama 192.168.10.244
Client 1 192.168.10.140
Client 2 192.168.10.150
Gambar 3 Arsitektur sistem informasi akademik
9 Tabel 2 Spesifikasi Server dan Client yang berjalan Spesifikasi
Server
Client
Processor
Intelยฎ CoreTM I3 CPU
[email protected]
Intel(R) Coreโข I3
Hardisk
500 GB
300 GB
RAM
2 GB
2 GB
OS
Windows Server 2008
Windows XP
Arsitektur jaringan yang berjalan (Lampiran) memiliki dua buah router yang membagi menjadi dua jaringan : 1. Jaringan Internal yang dapat dikoneksikan dari PC yang berada di setiap ruangan, 2. Jaringan Eksternal yang terhubung kepada seluruh WiFi yang dapat diakses oleh mahasiswa maupun pegawai. Pemisahan jaringan diperlukan untuk memperkecil kemungkinan rusaknya data server oleh gangguan dari pihak lain sehingga dibuat dua jaringan yang terpisah. Hal-hal yang diamati pada basis data berjalan adalah konsistensi data meliputi penamaan serta panjang data dan melihat data yang rangkap pada basis data berjalan. Basis data diperoleh dengan meng-export basis data dari server dengan format file .DMF kemudian meng-convert-nya menggunakan aplikasi konverter sehingga format data menjadi .sql selanjutnya file tersebut di-import ke dalam server basis data menggunakan tools MySQL Workbench.
Prototipe Sistem Arsitektur prototipe Tahap ini meliputi perancangan replikasi dan arsitektur sistem terdistribusi mulai dari model client-server sampai perencanaan sistem yang dijadikan rekomendasi sebagai pengembangan dari sistem yang telah berjalan. Replikasi digunakan untuk menggandakan semua perubahan yang terjadi pada suatu server yang disebut master server atau master, ke server lain yang disebut slave server atau slave (Howard 2010). Dengan mengembangkan sistem yang berjalan menggunakan replikasi multi-master. Salah satu komputer berfungsi sebagai master server dan yang lainnya berfungsi sebagai master server juga. Setelah dilakukan setting replikasi terhadap kedua server basis data selanjutnya merancang model sistem terdistribusi. Model sistem terdistribusi yang dikembangkan menggunakan load balancer sebagai penyeimbang pelayanan dengan mendistribusikan trafic terhadap kedua server basis data yang dibangun. Sistem ini dibutuhkan untuk melayani permintaan pengguna atas kebutuhan akses terhadap server basis data. Metode yang akan digunakan dalam penerapan load balancer yaitu metode round robin di mana metode tersebut merupakan salah satu metode yang sering digunakan bahkan dapat dikategorikan sebagai metode yang lebih andal dibandingkan dengan metode lain seperti metode least connection (Rabu 2012).
10 Arsitektur yang dibangun untuk memenuhi kebutuhan replikasi multi-master akan menggunakan dua buah server yang berisi basis data. Dengan merancang salah satu server menjadi server master bagi server slave lain dan menjadi server master bagi server slave yang lainnya. Prototipe arsitektur replikasi multi-master dapat dilihat pada Gambar 4. M1
S2
192.168.10.111
S1
M2
192.168.10.121
Gambar 4 Model replikasi multi-master
192.168.10.111
192.168.10.121
192.168.10.130
Gambar 5 Topologi load balancer Untuk memenuhi permintaan dari pengguna maka diperlukan sebuah perangkat atau load balancer yang akan menentukan koneksi terhadap salah satu server. Perangkat tersebut akan mendaftarkan kedua server dan menentukan server mana yang akan melayani permintaan dari pengguna. Adapun topologi load balancer dapat dilihat pada Gambar 5. Terdapat tiga buah server yang terlibat, server dengan alamat 192.168.10.130 digunakan sebagai load balancer sedangkan server dengan alamat 192.168.10.111 dan 192.168.10.121 merupakan server basis data. Pembuatan webservice pada server load balancer bertujuan untuk mengoptimasi pencatatan pengujian perpindahan akses dari server basis data satu ke server basis data dua maupun sebaliknya. Dengan demikian server dengan alamat 192.168.10.130 merupakan load balancer sekaligus sebagai server aplikasi secara bersamaan. Adapun topologi client-server dapat dilihat pada Gambar 6.
11 Replikasi Replikasi 192.168.10.111
192.168.10.121
Load Balancer Web Server 192.168.10.130
Pengguna
Gambar 6 Topologi client-server User
Aplication
Utility Status-ista.php
SHELL csh
tcsh
sh
ahsa
Bash
System Call
Kernel Linux Dev Driver
Load Balancer Web Server 192.168.10.130
Hardware
Gambar 7 Struktur pengujian Arsitektur pengujian yang membuat script php yang mencatat alamat IP, waktu (diwakili menit dan detik) yang dijalankan pada command shell kemudian diintegrasikan kedalam mesin server yang sama dengan mesin server load balancer sehingga keakuratan pencatatan hasil mendekati waktu sebenarnya. Penempatan file pengujian dapat dilihat pada Gambar 7. Dengan script sebagai berikut : $output";echo date("Y-m-d H:i:s"); $jam = date("H");$menit = date("i");$detik = date("s"); echo "
Jam $jam, Menit $menit, Detik $detik";
header("Refresh: $sec; url=$page");?>
12 Desain Server Basis Data Tahap ini melakukan konfigurasi terhadap server yang bertujuan kedua server tersebut dapat saling mereplikasi satu sama lain. Dengan memastikan koneksi antar server basis data yang saling terhubung dan saling mengenali satu sama lain. Selanjutnya melakukan penambahan hak akses sebagai pengguna basis data, bertujuan agar setiap perubahan disebuah server akan dikenali dan dicatat pada file log sehingga server lain dapat melakukan penyesuaian. Tahap selanjutnya merancang model replikasi multi-master pada server basis data untuk kemudian diintegrasikan terhadap sistem usulan. Dalam merancang model replikasi multi-master hal pertama memastikan koneksi antar server basis data saling mengenali dan terhubung. Jika belum terhubung dapat melakukan penambahan domain ke dalam file /etc/hosts seperti pada Gambar 6 dan 9 dan melakukan uji koneksi antar server dengan melakukan ping dari dan terhadap server lain
Gambar 8 Penambahan domain server basis data pertama pada server ke dua
Gambar 9 Penambahan domain server basis data kedua pada server pertama Kemudian memastikan port 25, 110, dan port 3306 terdaftar di-firewall pada iptables masing-masing server dalam file /etc/sysconfig/iptables Tabel 3 Penjelasan fungsi port yang digunakan No Port 1 25
Fungsi Keterangan SMTP (Simple Mail Transport Digunakan dalam hal mengirim Protokol) email (data) 2 110 POP3 (Post Office Protokol) Digunakan untuk menerima atau atau IMAP4 (Internet Message mengakses email (data) Access Protocol) 3 3306 MySQL Digunakan untuk mengakses MySQL
Tahap berikutnya menambahkan pengguna ke basis data yang dimasukkan oleh server lain (misal : server 2 pada server 1) dapat dikenali oleh server lain, diperlukan penambahan pengguna untuk setiap basis data dengan perintah SQL sebagai berikut :
13 grant replication slave on *.* to rad_slave@โ%โ identified by โistaslaveโ; Sebelum melakukan konfigurasi perlu mengetahui posisi master_log_file (sebagai filelog yang dijadikan acuan dalam teknik replikasi) dengan mencatat nama master_log_file dan position file tersebut dengan menulis syntac show master status; Kemudian melakukan konfigurasi dengan menambahkan host, user, password, file dan posisi master dengan perintah : change master to master_host=โistajakartasatu.ista.ac.idโ, master_user=โrad_slaveโ, master_password=โistaslaveโ, master_log_file=โdistalkamalradjtg-01-bin.000005โ, master_log_pos=345; setelah konfigurasi slave di lakukan selanjutnya menjalankan slave dengan perintah slave start; Proses konfigurasi load balancer menggunakan aplikasi PEN dengan metode round robin serta melakukan sedikit penyesuaian agar aplikasi tersebut berjalan sesuai dengan kebutuhan, yaitu dengan menyantumkan IP server basis data pertama dan IP server basis data kedua yang diikuti dengan pencantuman port 3306 (MySQL) pada baris berikut : LOGFILE=/var/log/pen.log CONTROL=127.0.0.1:10080 MAX_CONNECTIONS=500 PORT=3306 BACKEND=2 SERVER1=192.168.10.111:3306 SERVER2=192.168.10.121:3306 Pengujian Pengujian dilakukan untuk melihat server basis data mana yang sedang melayani permintaan secara realtime, serta melihat perubahan data dan menganalisis perpindahan pelayanan server basis data satu ke server basis data lain dengan membuat script php yang mencatat alamat IP dan waktu. Tahap ini membuat beberapa skenario yang merepresentasikan beberapa keadaan yang mungkin terjadi. Setiap skenario server dalam kondisi siap menerima request dari client (kondisi1 dan kondisi4) dan beberapa skenario server dalam keadaan reboot. Dengan mematikan beberapa saat server secara bergantian (kondisi2 dan kondisi3) untuk melihat perubahan koneksi dan menghidupkan kembali serta mengamati apakah terjadi perubahan koneksi dari pengguna. Pengguna akan mengirimkan permintaan (request) kepada server dengan jumlah pengguna dan server serta jumlah permintaan akan disesuaikan dengan ruang ligkup penelitian. Skenario pengujian ketersediaan dapat dilihat pada Tabel 4.
14
Tabel 4 Skenario pengujian ketersediaan server Parameter Servers User Requests
Skenario 1 kondisi1 request1
2 kondisi2 request2
3 kondisi3 request3
4 kondisi4 request4
Request dikirim dengan membangkitkan beberapa koneksi kemudian dihitung berapa besar waktu rata-rata koneksi, waktu rata-rata request dan ratarata pengembalian yang dilakukan oleh server. Test duration merupakan lama waktu yang dibutuhkan dalam melakukan pengujian, berikut merupakan rumus yang digunakan dalam pengujian kinerja : Connection rate = Connections โ Test-Duration (3) Request rate = Requests โ Test-Duration (4) Reply time = Reply โ Test-Duration (5) Pengujian kinerja dilakukan mengunakan aplikasi httperf yang diinstall pada komputer client dengan memanggil script --server=192.168.10.130 Alamat server yang akan diuji --uri=/mahasiswa.php File target yang akan diakses --num-conns=1000 Menentukan banyaknya koneksi --rate=1000 Menentukan banyaknya request per detik Pengujian dilakukan terhadap alamat index.php, dtlmahasiswa.php dan cetaktranskrip.php di mana pada halaman tersebut merupakan halaman login dan halaman yang berisikan tentang hasil query data (NIM, Nama, Tanggal Lahir) mahasiswa serta query yang menampilkan transkrip (nama, NIM, Prodi, matkul, sks, nilai dan IPK) mahasiswa yang memiliki IPKโค2. Banyaknya koneksi yang akan dilakukan pengujian terhadap server adalah sebanyak 100-1000 koneksi sedangkan banyaknya request per detik yang akan dikirimkan sebanyak 1000 req/s. Adapun skenario pengujian dapat dilihat pada Tabel 5
Tabel 5 Skenario pengujian respon time Skenario 1 2 3 4 5 6 7 8 9 10 Banyaknya koneksi 100 200 300 400 500 600 700 800 900 1000 1000 Banyaknya request Parameter
Alamat target 1 Alamat target 2 Alamat target 3
192.168.10.130/index.php 192.168.10.130/dtlmahasiswa.php 192.168.10.130/cetaktranskrip.php
15
4 HASIL DAN PEMBAHASAN Tabel 6 Pengujian ketersediaan 1 Server 1 Server 1 -
Posisi Awal Posisi Akhir Waktu perpindahan
2 Server 1 Server 2 47s
Skenario 3 Server 2 Server 1 61s
4 Server 1 Server 1 -
Pengujian pada skenario pertama dilakukan dengan cara menghidupkan seluruh server dan melakukan pengecekan apakah seluruh server sudah terhubung satu sama lain atau belum yang ditandai dengan adanya reply ketika dilakukan ping keseluruh alamat server. Hal ini dimaksudkan agar seluruh server dalam keadaan siap menerima request. Kemudian dilakukan pencatatan terhadap posisi server dengan melihat IP yang tercatat oleh script pengujian yang ditanamkan pada mesin web server, hasilnya secara default load balancer akan menunjuk server 1 sebagai server utama. Skenario kedua melakukan reboot pada mesin server pertama dan melihat perubahan data berupa IP dan waktu yang tercatat, secara otomatis load balancer memilih server 2 dengan ditandai dengan tercatatnya IP server 2 pada tabel record dengan waktu perpindahan dengan rata-rata 47 s. server 1 yang sudah dalam status standby tidak serta mengembalikan koneksi dari client melainkan posisi koneksi masih terhubung dengan server 2. Skenario ketiga melakukan reboot terhadap server dua dan kemudian didapat perubahan koneksi load balancer yang akan mengarahkan ke server 1 dengan waktu rata-rata 54s. Skenario terakhir memastikan tersedianya server 2 dan melihat perpindahan IP, namun perpindahan IP tidak terjadi melainkan load balancer akan tetap memilih server 1 walau server 2 sudah kembali normal. Hal tersebut menunjukan bahwa pergantian server hanya akan terjadi jika salah satu server mengalami kegagalan koneksi dengan demikian sistem yang telah dibangun dapat menjaga ketersediaan meningkatkan request client. Tabel 7 Pengujian index.php Banyak Test koneksi duration (s) 100 1.022 200 1.937 300 2.700 400 3.654 500 4.319 600 4.507 700 4.815 800 7.913 900 9.926 1000 10.088
connection rate (conn/s) 120.3 121.7 120 114.1 119 137.4 155.6 117.8 90.7 99.1
request rate (req/s) 120.3 121.7 120 114.1 119 137.4 155.6 117.8 90.7 99.1
reply time (s) 0.398 0.580 0.719 0.717 0.818 0.724 0.604 0.686 0.616 0.718
16
Tabel 8 Pengujian dtlmahasiswa.php Banyak test connection request koneksi duration (s) rate (conn/s) rate (req/s) 100 76.52 1.653 1.653 200 98.782 2.053 2.037 300 114.433 2.693 2.453 400 143.045 3.283 2.623 500 124.465 4.11 3.13 600 126.093 4.84 3.2 700 132.199 5.49 3.303 800 133.145 6.15 3.357 900 147.061 6.74 3.213 1000 131.22 7.753 3.18
reply time (s) 42.792 55.824 64.094 63.643 63.460 63.877 66.950 66.169 81.897 66.987
Tabel 9 Pengujian cetaktranskrip.php Banyak test connection request koneksi duration (s) rate (conn/s) rate (req/s) 100 60.833 1.903 1.903 200 81.343 2.563 2.540 300 92.381 3.403 3.110 400 96.576 4.353 3.500 500 97.808 5.357 3.897 600 98.837 6.410 4.163 700 99.659 7.297 4.210 800 106.009 8.057 4.180 900 102.037 9.257 4.513 1000 101.302 10.227 4.973
reply time (s) 33.940 39.114 46.365 48.316 49.717 47.139 48.498 48.718 49.860 45.641
Berdasarkan Tabel 7, 8, dan 9 dapat dilihat besar rata-rata koneksi dipengaruhi oleh banyaknya koneksi yang dibangkitkan. Berdasarkan hasil pengamatan diketahui bahwa rata-rata request dipengaruhi oleh banyaknya request yang dibangkitkan di mana nilai request tidak selalu sama dengan nilai banyaknya koneksi yang dibangkitkan. Sedangkatn rata-rata reply merupakan rata-rata yang memiliki besaran yang lebih kecil dibanding rata-rata koneksi dan rata-rata request, dikarenakan banyaknya permintaan yang tidak selamanya dapat dilayani oleh server yang dikarenakan banyak faktor, seperti padatnya traffic pada sebuah jaringan maupun banyaknya request yang dilakukan banyak user pada waktu yang bersamaan.
17 160 Waktu pengujian (s)
140 120
100 80 60 40 20 0 100
200
300
400
500
600
700
800
900
1000
Banyaknya koneksi
Gambar 10 Grafik perbandingan test duration, ฬถ โ ฬถ index.php, ฬถ โก ฬถ dtlmahasiswa.php, ฬถ โ ฬถ cetaktranskrip.php
Rata-rata koneksi (conn/s)
Test duration Waktu pengujian menunjukkan lamanya kegiatan pengujian dilakukan dalam satu kali pengujian. Waktu pengujian yang dilakukan terhadap alamat index.php memiliki lama waktu yang paling cepat hal ini dikarenakan alamat index.php berisikan halaman login. Banyaknya data juga mempengaruhi waktu pengujian oleh karena itu halaman dtlmahasiswa.php yang berisi data yang besar memiliki lama waktu pengujian yang paling besar. Gambar 10 menunjukkan lama waktu yang dilakukan dalam mengakses halaman index.php, dtlmahasiswa.php, dan cetaktranskrip.php. Secara berurutan nilai terbaik masing-masing halaman terdapat pada jumlah koneksi 1000, 900, dan 800 dengan nilai waktu pengujian sebesar 10.008s, 147.061s, dan 106.009s. 180 160 140 120 100 80 60 40 20 0 100
200
300
400
500
600
700
800
900
1000
Banyaknya koneksi
Gambar 11 Grafik perbandingan connection rate, ฬถ โ ฬถ index.php, ฬถ โก ฬถ dtlmahasiswa.php, ฬถ โ ฬถ cetaktranskrip.php
18
Rata-rata permintaan (req/s)
Connection rate Rata-rata koneksi sangat penting untuk mengetahui seberapa besar kecepatan koneksi yang dilakukan. Rata-rata koneksi dapat dikatakan baik jika memiliki nilai yang besar, sedangkan jika semakin kecil maka koneksi tersebut semakin buruk karena akan semakin lama waktu reply time dari server. Dalam percobaan ini nilai tertinggi dimiliki oleh alamat index.php, dtlmahasiswa.php, dan cetaktranskrip.php dengan banyak koneksi 700, 1000, dan 1000 dengan masing-masing rata-rata koneksi 155.6conn/s, 7.753conn/s, dan 10.227conn/s 180 160 140 120 100 80 60 40 20 0 100
200
300
400
500
600
700
800
900
1000
Banyaknya koneksi
Gambar 12 Grafik perbandingan request rate, ฬถ โ ฬถ index.php, ฬถ โก ฬถ dtlmahasiswa.php, ฬถ โ ฬถ cetaktranskrip.php Request rate Rata-rata permintaan merupakan banyaknya permintaan yang dikirimkan. Semakin banyak rata-rata permintaan yang dikirim maka semakin cepat reply time. Gambar 12 menunjukan bahwa rata-rata permintaan yang dibangkitkan alamat index.php lebih cepat dibanding dtlmahasiswa.php dan cetaktranskrip.php. Besar koneksi 700, 800, dan 1000 dengan besar request rate masing-masing 155.6req/s, 3.357req/s dan 4.973req/s. Waktu pengembalian (s)
160 140 120 100 80 60 40 20 0 100
200
300
400
500
600
700
800
900
Banyaknya koneksi
Gambar 13 Grafik perbandingan reply time, ฬถ โ ฬถ index.php, ฬถ โก ฬถ dtlmahasiswa.php, ฬถ โ ฬถ cetaktranskrip.php
1000
19
Reply time Waktu pengembalian (reply time) adalah lamanya waktu server menjawab permintaan (request) pengguna. Reply time menunjukkan seberapa cepat server dalam melayani permintaan semakin kecil reply time maka sebuah sistem akan dikatakan semakin baik. Gambar 13 menunjukan bahwa query terhadap halaman dtlmahasiswa.php memiliki nilai reply time yang paling besar, hal tersebut terjadi karena banyaknya data yang ditampilkan sehingga mempengaruhi lamanya reply time yang dilakukan oleh server. Halaman cetaktranskrip.php yang memiliki query lebih kompleks dari halaman dtlmahasiswa.php dan index.php. Ketiganya secara berurutan memiliki nilai terbaik pada koneksi 900, 900 dan 500 dengan besar reply time 49.860s, 81.897s dan 0.818s. Hasil Uji Signifikan Analisis pengujian dilakukan dengan menggunakan ANOVA untuk mengetahui nilai signifikan dari hubungan variabel koneksi yang dibangun dengan variabel test-duration, connection rate, request rate dan reply time. Tabel 10 Hasil uji berdasarkan nilai test-duration
Koneksi Kesalahan Total
Derajat Bebas 9 20 29
Jumlah Kuadrat 3970 76863 80832
Kuadrat Tengah 441.1 3843.1
F-Value 0.11
P-Value 0.999
Tabel 11 Hasil uji berdasarkan nilai connection rate
Koneksi Kesalahan Total
Derajat Bebas 9 20 29
Jumlah Kuadrat 890.8 89372.0 90262.8
Kuadrat Tengah 98.98 4468.60
F-Value 0.02
P-Value 1.000
Tabel 12 Hasil uji berdasarkan nilai request rate
Koneksi Kesalahan Total
Derajat Bebas 9 20 29
Jumlah Kuadrat 959.9 92153.9 93113.9
Kuadrat Tengah 106.7 4607.7
F-Value 0.02
P-Value 1.000
20 Tabel 13 Hasil uji berdasarkan nilai reply time
Koneksi Kesalahan Total
Derajat Bebas 9 20 29
Jumlah Kuadrat 632.4 21492.3 22124.7
Kuadrat Tengah 70.26 1074.62
F-Value 0.07
P-Value 1.000
Berdasarkan tabel 11 diketahui bahwa hubungan antar koneksi yang dibangkitkan dengan test-duration saling mempengaruhi (signifikan), hal tersebut ditandai dengan besar F-Value 0.11 sedangkan Tabel 11,12,dan 13 menunjukan hubungan jumlah koneksi dengan connection rate, request rate dan reply time tidak saling mempengaruhi (tidak signifikan) dengan nilai F-Value sebesar 0.02,0.02 dan 0.07.
5 SIMPULAN DAN SARAN Simpulan Metode Replikasi Multi-master dapat dijadikan solusi atas masalah kehilangan data karena data 100% tereplikasi, karena sifat multi-master yang saling mem-backup satu sama lain. Sistem yang dihasilkan mampu menjaga ketersediaan data dengan delay waktu perpindahan 1 menit. Rata-rata respon time dipengaruhi dengan besarnya data yang diakses, waktu yang dibutuhkan dalam mengakses file index.php sebesar 0.658s, rata-rata query alamat dtlmahasiswa.php sebesar 63.569s dan alamat cetaktranskrip sebesar 45.730s. Saran Penelitian selanjutnya diharapkan melakukan penambahan jumlah server dan mencoba dengan model replikasi lain.
DAFTAR PUSTAKA Aida K, Wataru N, Yoshiaki Fu. 2003. Distributed Computing with Hierarchical Master-woker Paradigm for Parallel Branch and Bound Algorithm. Proceedings of the 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRIDโ03). Chen b,Weidong Z, Yaping Z, Lionel z. Li, โInternet Service Control Based on Customer Choiceโ. Proceedings of the 7th. World Congress on Intelligent Control and Automation June 25 - 27, 2008, Chongqing, China Connolly T, Begg C. 2005. Database System, 4th Edition. California, Addison Wesley Publishing Company, Inc. Davies A. 2010. High Avaibility MySQL Cookbook. Packt Publishing. Brimingham-Mumbai.
21 George C, Jean D, Tim K. 2001. Distributed Systems Concept and Design. 3rd Edition. Addison Wesley. USA. Hart M, Jesse S. 2004. Oracle Database 10g: High Availablity with RAC Flashback & Data Guard. Osborne, McGraw-Hill Companies, Inc. Howard G, Irving, SM, Sceales AM, Sauvage AMF, penemu; Celona Technologies. 2010 Sep 22. Error prevention for data replication. UK Paten Aplication 2468742 Indrajani. 2015. Database Design (Case Study All In One). Jakarta (ID): Elex Media Komputindo. Li R, Ning H, Shuo L, Rui K, Shuo C. 2009. Reliability Testing Tochnology for Computer Network Aplication. IEEE. 1169-1172. 978-1-4244-4905-8/09. Morgan DE, Taylor DJ, Custeau G. A Survey of Methods for Improving Computer Network Reliability and Availability[J]. Computer. 1977(11): 42~50 Munoz J, Syracuse N. 2000. Replication and Migration. https://www.ietf.org/proceedings/49/slides/NFSV4-4.pdf Popek G, Walker B, Chow J, Edwards D, Kline C, Rudisin G, Thiel G. 1981. LOCUS A Network Transparent, High Reliability Distributed System. ACM SIGOPS Operating Systems Review 15(5):169 Rabu JA, Purwadi J, Raharjo WS. 2012. Implementasi Load Balancing Web Server Menggunakan Metode LVS-NAT. Jurnal Informatika. Vol.8(2):169-180. Ricky, Michael Y. 2011. Aplikasi Migrasi Database dan Replikasi Bi-Directional. Konfrensi Nasional Sisten dan Informatika. Bali [ID]. 242-248. Sheth AP. 1989. Fault Tolerance In a Very large Database System : A Strawman Analysis. IEEE. Sommerville I., 2011, Software Engineering Ninth Edition, Person Education, Addison-Wesley, USA. Stiawan D, Hanan A, Idrus MY. 2010. Reliability Measurement of Internet Services. International Conference on Green Computing. ICGC-RCICT. Yogyakarta [ID]: Universitas Gajah Mada. Sutanto Felix Andreas, Jeffry Alfa Razak. 2010. Jurnal Teknologi Informasi DINAMIK Volume XV, No.2, Juli 2010 : 83-89. Tawar, Safitri W. 2011. Pembandingan Metode Backup Database MySQL antara Replikasi dan MySQLDump. Jurnal Sistem Informasi Indonesia. Yogyakarta [ID]: Universitas Ahmad Dahlan. Vol 1(1):41-52. ISSN 2087-8737. Triyono, Joko. 2012. Replikasi untuk Meningkatkan Kinerja dan Ketersediaan Data (Study Kasus Sistem Informasi Akademik). Jurnal Teknologi Technoscientia. Yogyakarta [ID]: Institut Sains dan Teknologi AKPRIND. Vol 5(1):31-40. ISSN:1979-8415. Yasin Shaikh Tahesin, Prof Sayyad Razak Nizam, Dr A. P. Dhande, Dr. A. R. Dani. 2012. Comparative Study of CBA and User in Waterfall Medel for Cost Effective Software. International Journal of Engineering Research and Aplication (IJERA) Vol. 2, Issue 4, pp. 709-711. Yue Ma, James J.Han, & Kishor S Trivedi. 2001. Composite Performance and Availability Analysis of Wireless Communication Networks. IEEE Transactions on Verhicular Technology. Vol. 50, No.5.
22 Lampiran 1 Detail Network Diagram ISTA
23 Lampiran 2 Struktur Data Tabel Sistem Informasi Berjalan 1.
2.
3.
Daftarnilai Collume Name nim kd_mk semseter sks grade nilai_mutu kodemk
Data Type (size) nvarchar(10) nvarchar(10) nvarchar(10) int char(2) int nvarchar(10)
Mstdosen Collume Name no_dosen nm_dosen Tempat Tgl_lahir no_ktp ps jen gelar instansi_indk kel akd pen sts ser sim userid tanggal
Data Type (size) nvarchar(10) nvarchar(30) nvarchar(30) nvarchar(10) nvarchar(20) nvarchar(10) nvarchar(1) nvarchar(10) nvarchar(50) nvarchar(1) nvarchar(1) nvarchar(1) nvarchar(1) nvarchar(1) nvarchar(1) nvarchar(10) nvarchar(10)
mMstfakultas Collume Name kd_fakultas nm_fakultas userid tanggal Nm_Dekan Nm_Rektor NM_Akademik
Data Type (size) nvarchar(5) nvarchar(100) nvarchar(10) nvarchar(10) nvarchar(60) nvarchar(60) nvarchar(60)
24 4.
5.
6.
7.
8.
mstjenissklh Collume Name kd_jenisklh nm_jenisklh Tahun_akd stsSemester userid tanggal
Data Type (size) nvarchar(5) nvarchar(30) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10)
mstjadwal Collume Name kd_jenisklh kd_mk Hari Ruangan jam1 jam2
Data Type (size) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10)
mstjurusan Collume Name kd_jurusan nm_jurusan kd_fakultas Kajur userid tanggal JumlahSKS
Data Type (size) nvarchar(10) nvarchar(30) nvarchar(5) nvarchar(60) nvarchar(10) nvarchar(10) nvarchar(10)
mstkelompokmk Collume Name kd_kelompokmk nm_kelompokmk userid tanggal
Data Type (size) nvarchar(10) nvarchar(30) nvarchar(10) nvarchar(10)
mstmahasiswa Collume Name nim nirm nm_mhs tempat tgl_lahir alamat
Data Type (size) char(10) nvarchar(15) nvarchar(30) nvarchar(20) nvarchar(10) nvarchar(150)
25 telepon kode_pos agama sex angkatan kd_jurusan kd_jenisklh sts_mhs kd_sekolah asal_sekolah jurusan sts_sekolah nm_ortu pekerjaan_ortu jns_potongan mpassword ta status kd_bayar statusbayar userid tanggal 9.
mstmatakuliah Collume Name kd_mk nm_mk sks sks_praktek biaya_praktek Semester kd_kelompokmk kd_jurusan no_dosen status userid tanggal
nvarchar(15) nvarchar(5) nvarchar(20) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(50) nvarchar(1) nvarchar(15) nvarchar(100) nvarchar(50) nvarchar(1) nvarchar(30) nvarchar(30) nvarchar(1) nvarchar(30) text nvarchar(1) nvarchar(10) nvarchar(1) nvarchar(10) nvarchar(10)
Data Type (size) nvarchar(10) nvarchar(100) int int money nvarchar(5) nvarchar(5) nvarchar(10) nvarchar(10) nvarchar(1) nvarchar(10) nvarchar(10)
26 10.
11.
12.
13.
mststsdosen Collume Name kd_stsdosen nm_stsdosen userid tanggal
Data Type (size) nvarchar(5) nvarchar(30) nvarchar(10) nvarchar(10)
programGroup Collume Name kd_groupprg nm_groupprg kd_program stsProgram userid tanggal
Data Type (size) nvarchar(10) nvarchar(30) nvarchar(20) numeric(18, 0) nvarchar(10) nvarchar(10)
programDetail Collume Name kd_program no_urut nm_program kd_groupprg userid tanggal
Data Type (size) nvarchar(20) numeric(18, 0) nvarchar(50) nvarchar(10) nvarchar(10) nvarchar(10)
transJadwalujian Collume Name kd_jenisklh tahun_akd stssemester kd_mk nim Tgl_ujian Ruangan no_bangku ta waktu userid tanggal
Data Type (size) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(3) nvarchar(3) nvarchar(5) nvarchar(10) nvarchar(10)
27 14.
15.
trsFRS Collume Name nim tahun_akd stssemester tgl_FRS kd_jenisklh kd_mk sks sks_praktek biaya_sks biaya_praktek Semester nilai_uts nilai_uas nilai_grade grade userid tanggal KodeMK
Data Type (size) nvarchar(10) nvarchar(10) nvarchar(1) nvarchar(10) nvarchar(5) nvarchar(10) int int money money nvarchar(5) int int char(2) char(2) nvarchar(10) nvarchar(10) nvarchar(10)
userProgram Collume Name useridstr nm_user userpwd kd_groupprg useridr tanggal
Data Type (size) nvarchar(10) nvarchar(30) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10)
28 Lampiran 3 Tampilan Konfigurasi 1.
Penambahan domain dari server satu
2.
Penambahan domain dari server dua
3.
Penambahan user MySQL
29 4.
File biner tempat menyimpan semua query yang dilakukan oleh server MySQL master server satu
5.
Mengaktifkan slave pada server dua
6.
Status slave server dua
7.
File biner tempat menyimpan semua query yang dilakukan oleh server MySQL master server satu
8.
Mengaktifkan slave pada server satu
9.
Status slave server satu
30
Lampiran 4 Tampilan pengujian 1.
Pengujian ketersediaan
2.
Halaman index.php
3.
Halaman dtlmahasiswa.php
31 4.
Halaman cetaktranskrip.php
5.
Pergantian koneksi Tabel_record.php
32 6.
Pencatatan waktu dan IP pada Status-ista.php
33
RIWAYAT HIDUP Penulis dilahirkan di Jakarta pada tanggal 27 Nopember 1988 sebagai anak pertama dari tiga bersaudara dari pasangan Hasan Laday dan Ating Nati. Pendidikan sekolah dasar hingga menengah atas ditempuh di Jakarta. Kemudian pada tahun 2006 melanjutkan pendidikan sarjana di Institut Sains dan Teknologi Al-Kamal pada Program Studi Teknik Informatika. Setelah lulus tahun 2010 penulis bekerja sebagai staf pengajar di Institut Sains dan Teknologi Al-Kamal dari tahun 2011 sampai sekarang. Pada tahun 2011 penulis memulai pendidikan Pascasarjana di Program Studi Ilmu Komputer Sekolah Pascasarjana IPB, Bogor.