• Tidak ada hasil yang ditemukan

PENGEMBANGAN API UNTUK MENDUKUNG FAULT TOLERANT JDBC CONNECTOR PADA DBMS MYSQL

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGEMBANGAN API UNTUK MENDUKUNG FAULT TOLERANT JDBC CONNECTOR PADA DBMS MYSQL"

Copied!
8
0
0

Teks penuh

(1)

PENGEMBANGAN

API

UNTUK

MENDUKUNG

FAULT

TOLERANT

JDBC

CONNECTOR

PADA

DBMS

MYSQL

LAPORAN TUGAS AKHIR

Disusun sebagai syarat kelulusan tingkat sarjana

oleh:

Tania Krisanty / 13504101

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA

INSTITUT TEKNOLOGI BANDUNG

2008

(2)

ii

LEMBAR PENGESAHAN

Program Studi Teknik Informatika

PENGEMBANGAN

API

UNTUK

MENDUKUNG

FAULT

TOLERANT

JDBC

CONNECTOR

PADA

DBMS

MYSQL

Tugas Akhir

Program Studi Teknik Informatika ITB

Oleh

Tania Krisanty / 13504101

Telah disetujui dan disahkan sebagai laporan Tugas Akhir di Bandung, pada tanggal 30 Juni 2008

Pembimbing

Achmad Imam Kistijantoro, S.T., M.Sc., Ph.D NIP: 132320559

(3)

iii

ABSTRAKSI

Fault tolerance merupakan properti yang memungkinkan suatu sistem dapat terus beroperasi meskipun terjadi kegagalan pada sebagian komponennya. Properti fault tolerance sangat diperlukan terutama pada highly available atau life critical system. Untuk membangun sistem yang fault tolerant, salah satunya dapat dilakukan dengan strategi replikasi, yaitu penyediaan beberapa instan identik dari komponen sistem.

Replikasi pada sistem dengan arsitektur three tier memungkinkan pengalihan komputasi ke backupmiddle tier server ketika terjadi kegagalanpada primary server. Namun yang menjadi masalah adalah ketika koneksi ke database terputus, database server akan membatalkan semua state dan resource transaksi, sehingga backup server

akan kehilangan state sementara transaksi yang diperlukan untuk mengambil alih eksekusi dari primary server. Oleh karena itu, diperlukan dukungan database server

agar dapat mengetahui role suatu koneksi dan dapat memindahkan state transaksi dari koneksi primary ke backup ketika koneksi middle tier server ke database server

terputus. Untuk mendukung replikasi di middle tier, sebuah metode yang memanfaatkan nama user sebagai identifier koneksi telah dimplementasikan. Pada metode ini, setiap koneksi atas nama user yang sama secara otomatis diperlakukan sebagai satu grup replika.

Untuk mengatasi keterbatasan dari implementasi tersebut, pada tugas akhir ini dilakukan pengembangan yang meliputi perubahan implementasi MySQL Connector/J untuk mendukung pembentukan koneksi backup dengan id unik sebagai

identifier koneksi dan perubahan implementasi MySQL untuk mendukung skema replikasi primary-backup. Pengujian pembentukan koneksi backup dan pengujian

failover antara primary dan backup telah dilakukan. Dari kedua pengujia n tersebut, dapat disimpulkan bahwa pembentukan koneksi backup berhasil ditangani dan

failover berhasil dilakukan tanpa mempengaruhi konsistensi database.

Kata kunci : three tier architecture, replikasi, primary-backup, transaksi, fault tolerance, database connector

(4)

iv

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa atas berkat rahmat dan kebaikan yang dilimpahkanNya Penulis dapat menyelesaikan tugas akhir yang berjudul „Pengembangan API untuk Mendukung Fault Tolerant JDBC Connector pada DBMS MySQL‟. Laporan ini dibuat untuk memenuhi syarat kelulusan tingkat sarjana Program Studi Teknik Informatika ITB.

Penulis mengucapkan terima kasih kepada pihak-pihak di bawah ini atas bantuan yang telah diberikan selama penyusunan tugas akhir:

1. Bapak Achmad Imam Kistijantoro, S.T., M.Sc., Ph.D selaku dosen pembimbing. Terima kasih atas bimbingan, bantuan teknis, dan dukungan moral selama penyusunan tugas akhir.

2. Bapak Ir. Afwarman Manaf, M.Sc., Ph.D, Bapak Dr. techn. Saiful Akbar, S.T., M.T., dan Bapak Bugi Wibowo, S.T., M.T. selaku dosen penguji. Terima kasih atas saran dan masukan untuk tugas akhir ini.

3. Papi dan Mami tercinta, serta Henry. Terima kasih untuk doa dan dukungan selama Penulis melaksanakan studi di Teknik Informatika ITB.

4. Teman-teman Penulis: Harem Beat (Manda, Momon, Anne, Olip, Illa, dan Fitra), Fitri, Robbi, Paul, Abie, Moren, Ray, Cathy, Step, Ririn, Mamat, Berto, serta seluruh IF 2004. Terima kasih atas kebersamaan, pertolongan, dan semangat yang telah diberikan.

5. Kakak dan adik kelas Penulis: Om Sam, Kak Cepy, Roni, Steve, Victor, Adhi, Ibam, Pendi, Anna, Satria, Oon, dan Shieny. Terima kasih atas kebersamaan, pertolongan, dan semangat yang telah diberikan.

6. Rekan-rekan departemen System and Telecommunications PT LAPI Divusi: Bapak Riza, Mas Oon, Mas Lubis, Budi, Arie, dan Kak Octa. Terima kasih atas bimbingan dan pengajaran yang telah diberikan.

7. Petugas Tata Usaha: Bapak Ade, Mbak Tita, Bapak Rasidi, dan Ibu Titi yang selalu bersedia memberi informasi.

Penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna. Oleh karena itu, Penulis mengharapkan saran dan masukan dari semua pihak. Penulis

(5)

v

berharap semoga laporan tugas akhir ini dapat bermanfaat bagi Penulis, pembaca, dan semua pihak yang terkait.

Bandung, 25 Juni 2008

(6)

vi

DAFTAR

ISI

LEMBAR PENGESAHAN ... ii ABSTRAKSI ... iii KATA PENGANTAR ... iv DAFTARISI ... vi

DAFTARGAMBAR,KODE,DANTABEL... viii BAB I PENDAHULUAN ... I-1 1.1 Latar Belakang ... I-1 1.2 Rumusan Masalah ... I-2 1.3 Tujuan ... I-3 1.4 Batasan Masalah ... I-3 1.5 Metodologi ... I-3 1.6 Sistematika Pembahasan ... I-4 BAB II KAJIAN PUSTAKA ... II-1 2.1 Fault Tolerance... II-1 2.2 RDBMS (Relational Database Management System) ... II-2 2.3 JDBC (Java Database Connectivity) ... II-6 2.3.1 JDBC API ... II-8 2.3.2 JDBC Driver ... II-9 2.3.3 Connection ... II-10 2.3.4 Session... II-14 2.4 Interaksi MySQL Connector/J dan MySQL pada Pembentukan Koneksi... ... II-15 2.4.1 Implementasi Pembentukan Koneksi pada MySQL Connector/J .... II-18 2.4.2 Penanganan Koneksi pada MySQL ... II-19 BAB III ANALISIS DAN PERANCANGAN ... III-1 3.1 Rancangan Solusi ... III-2 3.1.1 Asumsi ... III-3 3.1.2 Rancangan Solusi Koneksi Backup ... III-4 3.1.3 Struktur Data ... III-5 3.1.4 Rancangan Protokol Komunikasi MySQL Connector/J dan MySQL ... ... III-5

(7)

vii

3.1.5 Rancangan Solusi Failover ... III-8 3.1.6 State Diagram Perilaku MySQL Server ... III-9 BAB IV IMPLEMENTASI DAN PENGUJIAN ...IV-1 4.1 Implementasi ...IV-1 4.1.1 Lingkungan Pengembangan ...IV-1 4.1.2 Batasan Implementasi ...IV-1 4.1.3 Proses dan Hasil Implementasi ...IV-2 4.1.3.1 Implementasi Penanganan Pembentukan Koneksi Baru...IV-2 4.1.3.2 Implementasi Failover pada Pemutusan Koneksi...IV-2 4.2 Pengujian...IV-3 4.2.1 Tujuan Pengujian ...IV-3 4.2.2 Lingkungan Pengujian ...IV-3 4.2.3 Data Uji ...IV-4 4.2.4 Kasus Uji Pembentukan Koneksi Backup...IV-4

4.2.4.1 Skenario Pembentukan Koneksi Backup dengan Primary Id yang Invalid ...IV-4 4.2.4.2 Skenario Pembentukan Koneksi Backup dengan PrimaryId yang Valid dan Nama User yang Invalid...IV-4 4.2.4.3 Skenario Pembentukan Koneksi Backup dengan PrimaryId yang Valid dan Nama User yang Valid ...IV-5 4.2.5 Kasus Uji Failover pada Pemutusan Koneksi ...IV-5 4.2.5.1 Skenario Satu Primary dan Satu Backup ...IV-5 4.2.5.2 Skenario Failover Beruntun...IV-6 4.2.5.3 Skenario Failover pada Dua Grup ...IV-7 4.2.6 Analisis Hasil Pengujian ...IV-8 BAB V KESIMPULAN DAN SARAN ... V-1 5.1 Kesimpulan ... V-1 5.2 Saran... V-1 Daftar Referensi ... ix Daftar Pustaka ... x Lampiran A ... A-1 Lampiran B ... B-1 Lampiran C ... C-1

(8)

viii

DAFTAR

GAMBAR,

KODE,

DAN

TABEL

Ga mbar II-1 Ko munikasi aplikasi c lient dan database server [BEL07] ...II-4 Ga mbar II-2 State diagra m transaksi [SIL02]...II-5 Ga mbar II-3 Arsitektur JDBC [HA E02]...II-8 Kode II-1 Proses load dan register MySQL Connector/J driver... II-11 Kode II-2 Pe mbentukan koneksi ke MySQL dengan DriverManager... II-11 Tabel II-1 Ko mponen JDBC URL ... II-11 Kode II-3 Pe mbentukan koneksi ke MySQL dengan DataSource ... II-13 Tabel II-2 Properti standar data source ... II-13 Ga mbar II-4 Interaksi MySQL Connector/J dan MySQL pada pe mbentukan koneksi ... II-15 Tabel II-3 Body dari Handshake Initia lizat ion Packet ... II-16 Tabel II-4 Body dari Client Authentication Packet... II-17 Ga mbar III-1 St ruktur data mult imap ... III-5 Tabel III-1 Body dari Client Authentication Packet ... III-6 Ga mbar III-2 State diagra m perilaku MySQL server ... III-9 Tabel IV-1 Tabe l Account... IV-4 Tabel IV-2 Hasil Akhir Skenario Pe rta ma ... IV-6 Tabel IV-3 Hasil Akhir Skenario Kedua ... IV-7 Tabel IV-3 Hasil Akhir Skenario Ketiga ... IV-8 Kode B-1 Pe mbentukan koneksi ke JDBC URL...B-1 Ga mbar B-1 Diagra m ke las Driver ...B-1 Ga mbar B-2 Diagra m ke las Connection ...B-2 Kode B-2 Pe mbentukan objek Connection ...B-2 Ga mbar B-3 Diagra m ke las Util...B-3 Kode B-3 Penanganan pembentukan objek dengan konstruktor yang diberikan ...B-3 Kode B-4 Pe mbentukan objek JDBC4Connection ...B-3 Kode B-5 Pe mbentukan koneksi ke MySQL server ...B-3 Kode B-6 Pe mbentukan channel Input/Output ke MySQL server ...B-4 Ga mbar B-4 Diagra m ke las MysqlIO ...B-4 Ga mbar B-5 Diagra m ke las SocketFactory ...B-4 Kode B-7 Pe mbentukan koneksi mela lui socket ...B-5 Kode B-8 Handshaking dan otentikasi dengan MySQL server ...B-6 Kode B-9 Secure authentication dengan MySQL server ...B-7 Kode C-1 Progra m uta ma MySQL server ...C-1 Kode C-2 Penanganan pembentukan koneksi dari c lient...C-2 Kode C-3 Pe mbuatan thread untuk koneksi client ...C-3 Kode C-4 Penanganan koneksi client...C-3

Referensi

Dokumen terkait

(6) Izin Memindahkan Kerangka Jenazah sebagaimana dimaksud dalam Pasal 3 ayat (2) huruf f, diberikan kepada orang atau badan yang memindahkan kerangka jenazah dari

Pada kegiatan ini akan dikembangkan pengujian beberapa komponen Metode PHT dalam pengendalian penyakit Vascular Streak dieback (VSD) pada tanaman kakao dengan

Oleh karena itu salah satu momentum yang sangat penting bagi umat Islam yaitu menjadikan pergantian tahun baru Islam sebagai sarana umat Islam untuk muhasabah terhadap

PEMODELAN REGRESI POISSON BIVARIAT PADA JUMLAH KEMATIAN IBU HAMIL DAN NIFAS DI JAWA TENGAH TAHUN 2017.. Arbella Maharani Putri 1 , Alan Prahutama 2 , Budi

Dinas Pemberdayaan Masyarakat dan Desa, Pemberdayaan Perempuan dan Perlindungan Anak,Keluarga Berencana Kabupaten Sidoarjo mempunyai tugas membantu Bupati

b) apabila semua harga penawaran di atas nilai total HPS, pelelangan dinyatakan gagal;.. 2) harga satuan penawaran yang nilainya lebih besar dari 110% (seratus sepuluh

kemudian dipakai untuk membuat file form tampilan untuk mengisi data dan file view untuk menampilkan data dengan menggunakan form generator. Table generator bekerja

Tujuan utama dari rancang bangun sepeda penarik gerobak beban kapasitas 200 kg ini adalah untuk membantu proses pengangkatan tool dan sparepart bengkel maintenance and