BAB V IMPLEMENTASI DAN PENGUJIAN

dokumen-dokumen yang mirip
BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PEMBAHASAN. terbagi menjadi dua, yaitu perangkat keras dan perangkat lunak.

BAB 4 IMPLEMENTASI DAN EVALUASI

MODUL 10 TRANSACTION

VIEW : Tabel Virtual VIEW 5/29/2017

BAB 4 RENCANA IMPLEMENTASI DAN EVALUASI. Penerapan Sistem Basis Data pada PT.Global Health membutuhkan 3 macam spesifikasi

Administrasi Basis Data. Transaksi dan Lock. Yoannita

BAB V IMPLEMENTASI. Bab ini membahas mengenai implementasi dan hasil dari pengujian sistem.

BAB 4 IMPLEMENTASI DAN EVALUASI. maka diperlukan suatu jaringan LAN yang terhubung antara komputer yang satu

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PEMBAHASAN. Berikut ini adalah hardware dan software yang dibutuhkan untuk menggunakan

BAB V PENGUJIAN SISTEM DAN IMPLEMENTASI. Pengujian program adalah pengujian dimana user memasukan data ke


BAB IV PERANCANGAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI. sistem aplikasi basis data pada CV. Lumbung Rejeki yaitu : Monitor : SVGA 17. : Optical Mouse.

Bab 3 Metode Perancangan 3.1 Tahapan Penelitian

Gambar Layar pertama untuk pemecahan masalah Lost Update

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN PEMBAHASAN

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

MODUL VIII BASIS DATA TRANSACTION

IMPLEMENTASI FAULT TOLERANT JDBC CONNECTOR PADA DBMS MYSQL UNTUK MENDUKUNG REPLIKASI DI MID TIER PADA ARSITEKTUR THREE TIER

Transaksi Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PENGUJIAN. harus dijalankan diantaranya adalah: hal-hal yang harus dipersiapkan adalah sebagai berikut:

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb

BAB IV IMPLEMENTASI 4.1 IMPLEMENTASI

4. BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN EVALUASI SISTEM

Transaksi. by: Ahmad Syauqi Ahsan

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

BAB V IMPLEMENTASI DAN PEMBAHASAN. Administrasi Paket Lelang Proyek ini, yaitu : Administrasi Paket Lelang Proyek ini, yaitu :

HASIL DAN PEMBAHASAN Investigasi Awal

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV. IMPLEMENTASI dan PENGUJIAN

BAB V IMPLEMENTASI DAN PEMBAHASAN. menggunakan sistem pendaftaran siswa baru dan pembagian kelas pada SMK

2. Layar Halaman Utama 3. Layarar Import Gambar Layar Halaman Utama Gambar Layar Upload PML 2

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISA DAN PERANCANGAN SISTEM. Analisa masalah dilakukan untuk membuat langkah langkah yang

Transaction & Conccurency

BAB V PEMBAHASAN DAN IMPLEMENTASI

4 BAB IV UJI COBA DAN EVALUASI

BAB IV IMPLEMENTASI DAN PENGUJIAN

LUQMAN Pembimbing I : Wahyu Suadi, S.Kom, M.Kom, MM Pembimbing II : Henning Titi Ciptaningtyas, S.Kom

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

BAB 4 IMPLEMENTASI DAN EVALUASI. dirancang maka langkah selanjutnya adalah mengimplementasikan data. tahapan implementasi dan waktu yang dibutuhkan:

BAB IV HASIL DAN PEMBAHASAN

BAB IV IMPLEMENTASI DAN EVALUASI. perancangan aplikasi penjualan dan pengiriman spare part komputer pada Bismar

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN UJI COBA

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI. dan perancangan selesai dilakukan. Pada sub bab ini akan dijelaskan implementasi

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI 4.1 IMPLEMENTASI

Ini tampilan jika mengklik input dan rubah nilai. Gambar Layar Input dan Rubah Nilai

BAB 4 RENCANA IMPLEMENTASI DAN EVALUASI

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB V IMPLEMENTASI DAN PEMBAHASAN. dibutuhkan Hardware dan software untuk menggunakan program Sistem Informasi

BAB IV IMPLEMENTASI DAN EVALUASI. Implementasi aplikasi adalah tahap penerapan hasil analisis dan

BAB 4 IMPLEMENTASI DAN EVALUASI Implementasi Program Simulasi. mengevaluasi program simulasi adalah sebagai berikut :

Gambar 4.8 Topologi replikasi basis data. Gambar 4.9 Konfigurasi IP pada master dan slave

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PEMBAHASAN. mendukung Aplikasi Penilaian Akademik Berbasis web

FORUM ONLINE DAN SOCIAL NETWORKING PADA PERANGKAT MOBILE


Rancangan Layar Form Faktur Penagihan

BAB V IMPLEMENTASI SISTEM

BAB V IMPLEMENTASI DAN PEMBAHASAN. menggunakan Aplikasi Pengelolaan Data Anak Tuna Grahita yaitu:

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS MASALAH

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB IV IMPLEMENTASI DAN EVALUASI. menghasilkan informasi-informasi yang sesuai dengan kebutuhan administrasi

BAB IV PERANCANGAN SISTEM

BAB 4 RENCANA IMPLEMENTASI

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

BAB V IMPLEMENTASI SISTEM. pada sistem, uraian instalasi pada Aplikasi inventory barang Toko R&R Berikut

BAB V IMPLEMENTASI. Pada bab ini akan dijelaskan tahap implementasi perangkat lunak simulasi SMS-

BAB IV IMPLEMENTASI DAN EVALUASI SISTEM

BAB IV HASIL DAN UJI COBA. PT. Jasaraharja Putra Medan dengan metode Cash Basis dapat dilihat sebagai

Arsitektur sistem yang digunakan adalah konsep client-server dengan arsitektur 3-tier.

Transkripsi:

BAB V IMPLEMENTASI DAN PENGUJIAN Bab ini membahas mengenai implementasi dan pengujian perangkat lunak yang dibangun pada Tugas Akhir ini. Pembahasan mengenai implementasi dipaparkan pada subbab 5.1 sedangkan pembahasan mengenai pengujian akan disampaikan pada subbab 5.2. 5.1 Implementasi Bagian ini akan memuat penjelasan mengenai batasan implementasi, lingkungan perangkat keras dan perangkat lunak, serta implementasi yang dilakukan berdasarkan hasil pada tahap perancangan. Penjelasan pada subbab ini meliputi lingkungan pengembangan yang digunakan, batasan implementasi dan proses dan hasil implementasi 5.1.1 Lingkungan Pengembangan Aplikasi ini dikembangkan dengan spesifikasi perangkat keras dan perangkat lunak sebagai berikut : - Sistem operasi Windows XP Professional Service Pack 2 (Version 2002) - Prosesor Intel Core Duo T2500 @2.0 GHz - RAM 1GB - Microsoft Visual Studio 2003(7.1) - Compiler VC++ versi 13.10 - Source code mysql-5.0.33 5.1.2 Batasan Implementasi Batasan implementasi penerapan dukungan failover di middle tier pada DBMS MySQL adalah sebagai berikut: - Implementasi yang sama belum tentu berjalan dengan baik untuk versi MySQL yang berbeda, terutama apabila terjadi banyak perubahan pada kelas THD. V-1

V-2 5.1.3 Proses dan Hasil Implementasi Pengembangan aplikasi terdiri dari beberapa tahap yaitu implementasi koneksi backup pada modul penanganan koneksi, dan pemindahan state antar thread pada modul pemutusan koneksi. 5.1.3.1 Implementasi Penanganan Pembuatan Koneksi Baru Struktur data pada gambar IV-3 merupakan struktur data yang digunakan untuk mencatat informasi global mengenai koneksi. Apabila ada client yang membuat koneksi ke server, server akan memeriksa apakah struktur data tersebut mempunyai username yang bersesuain dengan key dari struktur data. Jika username sama dengan key, maka koneksi dengan username tersebut sudah mempunyai master yang telah dibentuk sebelumnya dan koneksi tersebut akan menjadi backup dari koneksi master, jika tidak maka koneksi yang baru terbentuk akan menjadi koneksi master. Implementasi fisik untuk implementasi ini dilakukan di file mysqld.cpp dan sql_parse.cpp 5.1.3.2 Implementasi Failover Saat Pemutusan Koneksi Dengan menggunakan informasi global yang tersimpan dalam struktur data seperti pada gambar IV-3, MySQL server dapat mengetahui status koneksi. Apabila pada koneksi tersebut terdapat koneksi backup, maka sebelum kode cleanup dieksekusi akan dilakukan transfer state dari objek THD master ke objek THD slave. State-state yang ditransfer adalah state mengenai database yang digunakan, lock terhadap tabel, tabel, transaksi, dan handler data yang berasosiasi dengan storage engine yang digunakan. Implementasi fisik untuk implementasi ini dilakukan di file mysqld.cpp yang merupakan main program dari MySQL server. 5.2 Pengujian Tujuan dilakukannya pengujian terhadap suatu perangkat lunak adalah untuk mengetahui apakah aplikasi telah berjalan sesuai dengan sasaran pembuatan aplikasi. Pengujian aplikasi ini dilakukan dengan menguji apakah failover berhasil dilakukan tanpa menghilangkan ACID dari transaksi. Hal-hal yang akan dibahas antara lain adalah kasus pengujian, lingkungan pengujian dan analisis hasil pengujian.

V-3 5.2.1 Tujuan Pengujian Terdapat beberapa hal yang menjadi tujuan pengujian terhadap perangkat lunak yang dikembangkan ini, yaitu: 1. Memeriksa apakah perubahan yang dilakukan pada MySQL server tidak mengganggu konsistensi dari basis data dan properti ACID dari transaksi. 2. Memeriksa apakah strategi replikasi primary-backup dapat dilakukan di middle-tier. 5.2.2 Lingkungan Pengujian Aplikasi ini diuji dengan spesifikasi perangkat keras dan perangkat lunak sebagai berikut : - Sistem operasi Windows XP Professional Service Pack 2 (Version 2002) - Prosesor Intel Core Duo T2500 @2.0 GHz - RAM 1GB - Mysql client versi 14.12 5.2.3 Kasus Pengujian Pada bagian ini akan dipaparkan beberapa skenario untuk menguji dukungan failover di MySQL server untuk middle tier. Data yang digunakan untuk pengujian adalah tabel account dengan kondisi awal tabel seperti pada Tabel V-1. Tabel V-1 Tabel Account 6 5000 5.2.3.1 Skenario Satu Primary,Satu Backup Pada skenario ini akan menggunakan tabel dan data awal pada tabel V-1. Kegagalan pada primary disimulasikan dengan perintah quit atau kill process MySQL client. Langkah-langkah yang dilakukan untuk menguji adalah sebagai berikut:

V-4 1. Client pertama login dengan menggunakan user nama1 (menjadi primary) 2. Client kedua login dengan nama user yang sama (menjadi backup) 3. Primary melakukan query berikut Start transaction; Insert into account(balance) value 1000; Update account set balance = 2000 where number= 5 ; 4. Primary mengalami kegagalan 5. Backup melakukan query sebagai berikut Select * from account; Delete from account where number= 6 Commit; Tabel V-2 Hasil akhir skenario pertama 8 1000 5.2.3.2 Skenario Failover Beruntun Pada skenario ini akan menggunakan tabel dan data awal pada tabel V-1. Kegagalan pada primary disimulasikan dengan perintah quit atau kill process MySQL client. Langkah-langkah yang dilakukan untuk menguji adalah sebagai berikut: 1. Client pertama login dengan menggunakan user nama1 (menjadi primary) 2. Client kedua login dengan nama user yang sama (menjadi backup satu) 3. Client ketiga login dengan nama user yang sama (menjadi backup dua) 4. Primary melakukan query berikut Start transaction; Insert into account(balance) value 1000; Update account set balance = 2000 where number= 5 ; 5. Primary mengalami kegagalan 6. Backup pertama melakukan query sebagai berikut Select * from account; Delete from account where number= 6 7. Backup pertama mengalami kegagalan

V-5 8. Backup kedua melakukan query commit Tabel V-3 Hasil akhir skenario kedua 8 1000 5.2.3.3 Skenario Failover Untuk Dua Grup Pada skenario ini akan menggunakan tabel dan data awal pada tabel V-1. Kegagalan pada primary disimulasikan dengan perintah quit atau kill process MySQL client. Langkah-langkah yang dilakukan untuk menguji adalah sebagai berikut: 1. Client pertama login dengan menggunakan user nama1 (menjadi primary pertama) 2. Client kedua login dengan nama user nama1 (menjadi backup dari primary pertama) 3. Client ketiga login dengan nama user nama2 (menjadi primary kedua) 4. Client keempat login dengan nama user nama2 (menjadi backup dari primary kedua) 5. Primary pertama melakukan query berikut Start transaction; Insert into account(balance) value 1000; Update account set balance = 2000 where number= 5 ; 6. Primary kedua melakukan query Select * from account; Insert into account(balance) value 3000; 7. Primary pertama mengalami kegagalan 8. Backup dari primary pertama melakukan query sebagai berikut Delete from account where number= 6 ; Rollback; 9. Primary kedua mengalami kegagalan 10. Backup dari primary kedua melakukan query commit

V-6 Tabel V-4 Hasil akhir skenario ketiga 6 5000 8 3000 5.2.4 Analisis Hasil Pengujian Analisis hasil pengujian dilakukan terhadap ketiga skenario yang dipaparkan pada subbab 5.2.2 di atas. Skenario pertama digunakan untuk menguji failover sederhana dimana ada satu primary dan satu backup yang siap untuk melakukan failover apabila primary mengalami kegagalan. Query select * from account pada langkah kelima digunakan untuk mengecek apakah state transaksi yang belum di-commit oleh primary dapat dilihat oleh backup. Skenario ini juga menguji property consistency, durability, dan atomicity pada transaksi dimana data yang telah di-commit langsung tersimpan ke disk dan semua statement transaksi tereksekusi. Skenario kedua digunakan untuk menguji failover beruntun pada satu grup replika. Pengujian ini perlu dilakukan untuk mengetes apakah strategi primary backup dapat berjalan dengan baik untuk kasus kegagalan yang beruntun. Skenario ini menggunakan tiga client yang melakukan koneksi ke server. Client pertama menjadi primary kemudian client kedua dan ketiga menjadi backup. Apabila client pertama mengalami kegagalan, maka client kedua menjadi primary dan client ketiga akan menjadi backup dari client kedua, kemudian apabila client kedua yang sekarang menjadi primary mengalami kegagalan, client ketiga dapat melakukan failover untuk menggantikan posisi client kedua. Hasil akhir skenario kedua pada tabel V-3 menunjukkan keberhasilan implementasi untuk skenario failover beruntun. Skenario ketiga digunakan untuk menguji properti isolation dari transaksi. Skenario ini menggunakan empat client yang tergabung di dalam dua grup replika. Client pertama dan kedua menjadi primary dan backup untuk grup pertama sedangkan client ketiga dan keempat menjadi primary dan backup untuk grup kedua. Query select *

V-7 from account pada langkah keenam dari subbab 5.2.2.3 menunjukkan bahwa primary dari grup kedua tidak dapat mengetahui state sementara dari grup pertama yang menandakan keberhasilan isolasi transaksi.