BAB IV IMPLEMENTASI DAN PENGUJIAN

dokumen-dokumen yang mirip
BAB V IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN

BAB 4 IMPLEMENTASI DAN EVALUASI

IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 1 PENDAHULUAN Latar Belakang Masalah

Gambar Layar pertama untuk pemecahan masalah Lost Update

Administrasi Basis Data. Transaksi dan Lock. Yoannita

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

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

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

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM. Tahapan implementasi merupakan tahapan dimana perangkat lunak yang

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

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN ANALISIS SISTEM

BAB III ANALISA MASALAH DAN SISTEM

BAB IV HASIL DAN UJI COBA

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

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV HASIL DAN PEMBAHASAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

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

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

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

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

MODUL VIII BASIS DATA TRANSACTION

BAB V IMPLEMENTASI DAN PENGUJIAN

4. BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV HASIL DAN UJI COBA

PENGEMBANGAN API UNTUK MENDUKUNG FAULT TOLERANT JDBC CONNECTOR PADA DBMS MYSQL

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI Perangkat keras yang di butuhkan. optimal pada server dan client sebagai berikut.

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

BAB IV IMPLEMENTASI DAN PENGUJIAN

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

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB V IMPLEMENTASI DAN PENGUJIAN. Application Development Tools yang ada, oleh sebab itu aplikasi ini. Professional Development Tools : jcreator, java

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN UJI COBA

Transaksi. by: Ahmad Syauqi Ahsan

MODUL 10 TRANSACTION

Bab I Pendahuluan. I.1 Latar Belakang Masalah


BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV ANALISA DAN DESAIN

Transaction & Conccurency

BAB III ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN PEMBAHASAN

BAB IV. IMPLEMENTASI dan PENGUJIAN

Gambar 4.78 Tampilan Layar Menu Petugas

DASAR-DASAR SQL SERVER 2005

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB V IMPLEMENTASI SISTEM

BAB IV HASIL DAN UJI COBA

BAB 4 IMPLEMENTASI DAN EVALUASI. jadwal implementasi yang berlangsung selama kurang lebih 2 bulan : (lihat tabel 4.1)

4. BAB IV ANALISIS DAN PERANCANGAN SISTEM. diusulkan perancangan sistem baru, dimana kinerja dari suatu sistem yang baru

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

BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI. Sistem pengolahan data merupakan satu kesatuan kegiatan pengolahan

BAB IV HASIL DAN PEMBAHASAN

BAB 4 IMPLEMENTASI DAN EVALUASI. yang sulit untuk diimplementasikan dalam RDBMS (Relational Data Base Management

BAB IV IMPLEMENTASI 4.1 IMPLEMENTASI

BAB V PENGUJIAN SISTEM DAN IMPLEMENTASI. komponen sistem yang diimplementasikan dan mengetahui kelemahan dari

b. Spesifikasi komputer yang disarankan pada client Processor : Intel Pentium IV 1,8 Ghz

BAB IV HASIL DAN UJI COBA. Berikut ini dijelaskan tentang tampilan hasil dari Analisis sistem informasi

BAB IV IMPLEMENTASI APLIKASI

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 4 RENCANA IMPLEMENTASI

BAB IV HASIL DAN PEMBAHASAN

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB IV HASIL DAN UJI COBA

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

VIEW : Tabel Virtual VIEW 5/29/2017

BAB V IMPLEMENTASI PERANGKAT LUNAK. Aplikasi setelah dianalisa dan dirancang, maka aplikasi tersebut siap

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

BAB III PEMBAHASAN. Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 4 IMPLEMENTASI DAN EVALUASI. yang akan didistribusikan kedalam jaringan client-server. Pada bagian client terdapat

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

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

Transkripsi:

BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini membahas tentang implementasi dan pengujian perangkat lunak yang dibangun pada tugas akhir ini. Implementasi akan dibahas pada Subbab 4.1, sedangkan pengujian akan dibahas pada Subbab 4.2. 4.1 Implementasi Pada Subbab Implementasi akan dijelaskan mengenai batasan implementasi, lingkungan perangkat keras dan perangkat lunak, serta implementasi yang dilakukan berdasarkan perancangan. Penjelasan pada Subbab ini meliputi lingkungan pengembangan yang digunakan, batasan implementasi, serta proses dan hasil implementasi. 4.1.1 Lingkungan Pengembangan Aplikasi ini dikembangkan dengan spesifikasi perangkat keras dan perangkat lunak sebagai berikut: 1. Sistem operasi Windows XP Professional Version 2002 Service Pack 2 2. Prosesor Intel Pentium 4 2.40 GHz 3. RAM 1 GB 4. Microsoft Visual Studio 2005 Version 8.0 5. Microsoft 32-bit C/C++ Optimizing Compiler Version 14.00 6. Source code MySQL 5.0.51 7. Apache Ant 1.7.0 8. Java 2 Standard Edition Development Kit Version 5.0 Update 6 9. Java 2 Standard Edition Development Kit Version 6 Update 5 10. Source code MySQL Connector/J 5.1.6 4.1.2 Batasan Implementasi Batasan implementasi dukungan pembentukan koneksi backup dan penanganan failover pada DBMS MySQL adalah sebagai berikut: IV-1

IV-2 Implementasi yang sama belum tentu berjalan dengan baik untuk versi MySQL yang berbeda, terutama apabila terdapat banyak perubahan pada paket MySQL dan kelas THD. 4.1.3 Proses dan Hasil Implementasi Pengembangan aplikasi terdiri dari beberapa tahap, yaitu implementasi penanganan pembentukan koneksi backup dan implementasi pengalihan state dan resource antar thread pada pemutusan koneksi. 4.1.3.1 Implementasi Penanganan Pembentukan Koneksi Baru Ketika terjadi pembentukan koneksi dari client ke MySQL server, server akan memeriksa apakah terdapat elemen multimap yang memiliki key yang bersesuaian dengan primary id koneksi tersebut. Jika ditemukan, maka koneksi dengan primary id tersebut sudah mempunyai primary yang telah dibentuk sebelumnya, sehingga koneksi tersebut akan dijadikan backup dari koneksi primary. Jika tidak ditemukan, maka koneksi yang baru terbentuk akan menjadi koneksi primary. Implementasi fisik untuk penanganan pembentukan koneksi baru dilakukan di file mysqld.cc dan sql_parse.cc pada MySQL dan file FTJDBC4Connection.java dan FTConnectionImpl.java pada MySQL Connector/J. 4.1.3.2 Implementasi Failover pada Pemutusan Koneksi Ketika terjadi pemutusan koneksi, MySQL server akan memeriksa keberadaan koneksi backup pada multimap. Jika ditemukan, sebelum cleanup dieksekusi akan dilakukan transfer state dan resource dari objek THD primary ke objek THD backup. 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 penanganan failover dilakukan di file mysqld.cc dan sql_parse.cc pada MySQL.

IV-3 4.2 Pengujian Tujuan dilakukannya pengujian terhadap suatu perangkat lunak adalah untuk mengetahui apakah aplikasi telah berjalan sesuai dengan sasaran pembuata n. Pengujian aplikasi ini dilakukan dengan menguji apakah pembentukan koneksi backup dengan identifier id koneksi primary (primary id) dan penanganan failover berhasil dilakukan tanpa menghilangkan properti ACID dari transaksi. Penjelasan pada Subbab Pengujian meliputi tujuan pengujian, lingkungan pengujian, data uji, kasus uji, dan analisis hasil pengujian. Terdapat dua kasus utama yang akan digunakan untuk pengujian aplikasi, yaitu kasus uji pembentukan koneksi backup dan kasus uji failover pada pemutusan koneksi. 4.2.1 Tujuan Pengujian Terdapat beberapa hal yang menjadi tujuan pengujian terhadap perangkat lunak yang dikembangkan ini, yaitu: 1. Memeriksa apakah pembentukan koneksi backup dapat ditangani dengan baik setelah dilakukan perubahan pada MySQL Connector/J. 2. Memeriksa apakah perubahan yang dilakukan pada MySQL server tidak mengganggu konsistensi database dan properti ACID dari transaksi. 4.2.2 Lingkungan Pengujian Aplikasi ini diuji dengan spesifikasi perangkat keras dan perangkat lunak sebagai berikut : 1. Sistem operasi Windows XP Professional Version 2002 Service Pack 2 2. Prosesor Intel Pentium 4 2.40 GHz 3. RAM 1 GB 4. MySQL 5.0.51 5. Java 2 Runtime Environment Version 6 Update 5 6. MySQL Connector/J 5.1.6 7. Program uji yang dibangun oleh penulis

IV-4 4.2.3 Data Uji Data yang digunakan untuk pengujian adalah tabel account dengan kondisi awal tabel seperti pada tabel berikut. Tabel IV-1 Tabel Account Number Balance 5 4000 6 5000 7 7000 4.2.4 Kasus Uji Pembentukan Koneksi Backup Kasus uji pembentukan koneksi backup dilakukan untuk menguji kebenaran perilaku MySQL server saat terjadi pembentukan koneksi baru. Untuk mempermudah pengujian, program uji akan menerima masukan primary id dan user. 4.2.4.1 Skenario Pembentukan Koneksi Backup dengan Primary Id yang Invalid Langkah-langkah yang dilakukan pada skenario ini adalah sebagai berikut: 2. Client kedua login dengan primary id id2 dan user name2 Client kedua teridentifikasi sebagai koneksi yang tidak valid karena tidak terdapat koneksi dengan primary id id2. Selanjutnya, MySQL server akan melakukan pemutusan koneksi client kedua. 4.2.4.2 Skenario Pembentukan Koneksi Backup dengan Primary Id yang Valid dan Nama User yang Invalid Langkah-langkah yang dilakukan pada skenario ini adalah sebagai berikut:

IV-5 2. Client kedua login dengan primary id id1 dan user name2 Client kedua teridentifikasi sebagai koneksi yang tidak valid karena user-nya berbeda dengan user pada client pertama. Selanjutnya, MySQL server akan melakukan pemutusan koneksi client kedua. 4.2.4.3 Skenario Pembentukan Koneksi Backup dengan Primary Id yang Valid dan Nama User yang Valid Langkah-langkah yang dilakukan pada skenario ini adalah sebagai berikut: 2. Client kedua login dengan primary id id1 dan user name1 Client kedua teridentifikasi sebagai backup dari client pertama. 4.2.5 Kasus Uji Failover pada Pemutusan Koneksi Kasus uji failover dari client primary ke backup dilakukan untuk menguji kebenaran perilaku MySQL server saat terjadi pemutusan koneksi. Kegagalan koneksi disimulasikan dengan perintah quit atau kill pada program uji. 4.2.5.1 Skenario Satu Primary dan Satu Backup Skenario ini akan menggunakan tabel dan data awal pada Tabel IV-1. Langkahlangkah yang dilakukan pada skenario ini adalah sebagai berikut: 2. Client kedua login dengan primary id id1 dan user name1 Client kedua teridentifikasi sebagai backup dari client pertama.

IV-6 3. Primary melakukan query berikut INSERT INTO account(balance) VALUES (1000) UPDATE account SET balance = 2000 WHERE number = 5 4. Primary mengalami kegagalan 5. Backup melakukan query berikut SELECT * FROM account DELETE FROM account WHERE number = 6 COMMIT Tabel IV-2 Hasil Akhir Skenario Pertama Number Balance 5 2000 7 7000 8 1000 4.2.5.2 Skenario Failover Beruntun Skenario ini akan menggunakan tabel dan data awal pada Tabel IV-1. Langkahlangkah yang dilakukan pada skenario ini adalah sebagai berikut. 2. Client kedua login dengan primary id id1 dan user name1 Client kedua teridentifikasi sebagai backup pertama dari client pertama. 3. Client ketiga login dengan primary id id1 dan user name1 Client ketiga teridentifikasi sebagai backup kedua dari client pertama. 4. Primary melakukan query berikut INSERT INTO account(balance) VALUES (1000) UPDATE account SET balance = 2000 WHERE number = 5 5. Primary mengalami kegagalan 6. Backup pertama melakukan query berikut SELECT * FROM account DELETE FROM account WHERE number = 6 7. Backup pertama mengalami kegagalan

IV-7 8. Backup kedua melakukan query commit Tabel IV-3 Hasil Akhir Skenario Kedua Number Balance 5 2000 7 7000 8 1000 4.2.5.3 Skenario Failover pada Dua Grup Skenario ini akan menggunakan tabel dan data awal pada Tabel IV-1. Langkahlangkah yang dilakukan pada skenario ini adalah sebagai berikut: 2. Client kedua login dengan primary id id1 dan user name1 Client kedua teridentifikasi sebagai backup dari client pertama. 3. Client ketiga login dengan primary id 0 dan user name2 Client ketiga teridentifikasi sebagai primary. Pada proses handshaking, primary id client ketiga di-assign oleh MySQL server menjadi id2. 4. Client keempat login dengan primary id id2 dan user name2 Client keempat teridentifikasi sebagai backup dari client ketiga. 5. Primary pertama melakukan query berikut INSERT INTO account(balance) VALUES (1000) UPDATE account SET balance = 2000 WHERE number = 5 6. Primary kedua melakukan query berikut SELECT * FROM account INSERT INTO account(balance) VALUES (3000) 7. Primary pertama mengalami kegagalan 8. Backup dari primary pertama melakukan query berikut DELETE FROM account WHERE number = 6 ROLLBACK 9. Primary kedua mengalami kegagalan 10. Backup dari primary kedua melakukan query commit

IV-8 Tabel IV-3 Hasil Akhir Skenario Ketiga Number Balance 5 4000 6 5000 7 7000 9 3000 4.2.6 Analisis Hasil Pengujian Pada Subbab Analisis Hasil Pengujian ini akan dibahas mengenai skenario pada kasus uji yang dijelaskan pada Subbab 4.2.4 dan 4.2.5. Kasus uji pertama pada Subbab 4.2.4 digunakan untuk menguji penanganan pembentukan koneksi baru dengan parameter primary id dan user, sedangkan kasus uji kedua pada Subbab 4.2.5 digunakan untuk menguji failover pada pemutusan koneksi. Skenario pertama (Subbab 4.2.4.1) dirancang untuk menguji apakah MySQL server dapat mengetahui role suatu koneksi berdasarkan primary id yang dikirimkan oleh client. Pada skenario ini, client pertama berhasil diidentifikasi sebagai koneksi primary karena mengirimkan primary id bernilai 0. Client kedua diidentifikasi sebagai koneksi yang tidak valid karena mengirimkan primary id bernilai id2, padahal belum terdapat koneksi primary yang memiliki primary id bernilai id2. Skenario kedua (Subbab 4.2.4.2) dirancang untuk menguji apakah MySQL server dapat memeriksa validitas koneksi backup berdasarkan user yang dikirimkan oleh client. Pada skenario ini, client kedua diidentifikasi sebagai koneksi backup dari client pertama yang tidak valid karena mengirimkan user yang berbeda dengan user client pertama. Skenario ketiga (Subbab 4.2.4.3) dirancang untuk menguji apakah MySQL server dapat mengetahui role suatu koneksi dan validitas koneksi backup. Pada skenario ini, client kedua berhasil diidentifikasi sebagai koneksi backup yang valid dari client

IV-9 pertama karena mengirimkan primary id sesuai primary id client pertama dan user sesuai user client pertama. Skenario keempat (Subbab 4.2.5.1) dirancang untuk menguji failover sederhana di mana terdapat satu primary dan satu. Query select * from account pada langkah kelima digunakan untuk memeriksa apakah state transaksi yang belum di-commit oleh primary dapat dilihat oleh backup. Skenario ini juga menguji property consistency, durability, dan atomicity pada transaksi di mana data yang telah di-commit langsung tersimpan ke disk dan seluruh statement transaksi tereksekusi. Skenario kelima (Subbab 4.2.5.2) dirancang untuk menguji failover beruntun pada satu grup client. Pengujian ini perlu dilakukan untuk memeriksa 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 akan 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 IV-3 menunjukkan keberhasilan implementasi untuk skenario failover beruntun. Skenario keenam (Subbab 4.2.5.3) dirancang untuk menguji properti isolation dari transaksi. Skenario ini menggunakan empat client yang tergabung di dalam dua grup. 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 * from account pada langkah keenam menunjukkan bahwa primary dari grup kedua tidak dapat mengetahui state sementara dari grup pertama yang menandakan keberhasilan isolasi transaksi.