• Tidak ada hasil yang ditemukan

CONCURRENCY CONTROL PADA RDBMS BERBASIS XML” ini dengan baik

N/A
N/A
Protected

Academic year: 2019

Membagikan "CONCURRENCY CONTROL PADA RDBMS BERBASIS XML” ini dengan baik"

Copied!
14
0
0

Teks penuh

(1)

UNIVERSITAS BINA NUSANTARA

Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

PERANCANGAN CONCURRENCY CONTROL PADA RDBMS

BERBASIS XML

The Agus Santoso 0700678673

Mariah Hanisah 0700682134

Fbrayuki Darmanto 0700712396

Abstrak

Tujuan dari penelitian ini adalah merancang sebuah concurrency control yang mempunyai kemampuan untuk mengatur agar banyak user (multi user) dapat mengakses database dan konsistensi data tetap terjamin. Metodologi yang digunakan dalam penelitian ini adalah metode perancangan software menggunakan model waterfall. Penelitian ini telah menghasilkan sebuah komponen concurrency control pada RDBMS berbasis XML yang mengimplementasikan konsep client-server. Komponen ini memiliki kemampuan menangkap permintaan query yang diterima dari banyak client yang terhubung ke server secara bersamaan. Komponen ini akan melakukan proses analisis sintaks untuk memastikan query tersebut telah mengikuti aturan penulisan sintaks. Berikutnya, komponen ini akan melakukan pemisahan satu transaksi ke dalam satu atau banyak operasi serta melakukan pemisahan permintaan akses, nama tabel, nama kolom yang akan diakses, dan syarat yang diajukan di dalam setiap operasi. Komponen ini akan membuat schedule terhadap setiap operasi di dalam semua transaksi. Schedule dapat berupa serial schedule maupun nonserial schedule. Dari penelitian ini dapat disimpulkan bahwa penelitian ini telah mencapai tujuannya yaitu concurrency control dapat mengatur operasi-operasi di dalam semua transaksi yang diterima dari banyak client pada saat bersamaan agar dapat berjalan secara simultan pada database tanpa mengganggu operasi pada transaksi lainnya sehingga dapat menghasilkan data yang konsisten. Penggunaan basis XML dalam penyimpanan data membuat database menjadi mudah dimengerti oleh mesin dan manusia. Penelitian ini dapat digunakan sebagai referensi bagi developer untuk pengembangan RDBMS. Saran untuk pengembangan komponen ini selanjutnya adalah pengaksesan database oleh banyak user melalui mekanisme concurrency control yang meliputi join table, multiple database, dan distributed database.

Kata Kunci :

(2)

PRAKATA

Dengan segala kerendahan hati, penulis memanjatkan puji syukur kepada Tuhan

Yang Maha Esa yang telah melimpahkan berkat dan kemurahan-Nya sehingga penulis

dapat menyelesaikan penyusunan skripsi yang berjudul “PERANCANGAN

CONCURRENCY CONTROL PADA RDBMS BERBASIS XML” ini dengan baik dan tepat pada waktunya. Penyusunan skripsi ini dimaksudkan untuk memenuhi

sebagian dari persyaratan guna mencapai gelar Sarjana Komputer Jurusan Teknik

Informatika pada Fakultas Ilmu Komputer Bina Nusantara.

Semoga skripsi ini nantinya akan dapat memberikan manfaat bagi perkembangan

teknologi informasi di Indonesia dan dapat dijadikan sebagai suatu sumbangan, baik

untuk dunia pendidikan umumnya dan Universitas Bina Nusantara khususnya.

Dalam kesempatan ini penulis juga ingin menyampaikan rasa terima kasih

kepada semua pihak yang telah banyak membantu penulis, baik secara langsung maupun

tidak langsung, yaitu kepada :

1. Prof. Dr. Geraldus Polla M.App, Sc, selaku Rektor Universitas Bina Nusantara.

2. Bapak Ir. Sablin Yusuf, M.Sc.,M.Comp.Sc, selaku Dekan Fakultas Ilmu Komputer

Universitas Bina Nusantara.

3. Bapak H. Mohammad Subekti selaku Ketua Jurusan Teknik Informatika Universitas

Bina Nusantara.

4. Bapak Fredy Purnomo, S.Kom., M.Kom selaku Sekretaris Jurusan Teknik

Informatika Universitas Bina Nusantara.

(3)

waktu, memberikan saran, bantuan, bimbingan, pengarahan, dorongan, kepercayaan,

dan kesempatan kepada penulis dalam menyelesaikan masalah-masalah yang

dihadapi penulis selama penyusunan skripsi ini.

6. Seluruh dosen Universitas Bina Nusantara yang telah membekali penulis dengan

ilmu pengetahuan.

7. Orang tua serta saudara yang telah memberikan dukungan materiil dan moril kepada

penulis dalam menyelesaikan penyusunan skripsi ini.

8. Seluruh staf dan asisten UPTPL Universitas Bina Nusantara yang telah memberikan

dukungan, tempat, dan sarana selama penulisan skripsi ini.

9. Semua pihak yang tidak dapat kami sebutkan satu per satu baik yang secara langsung

ataupun tidak langsung telah memberikan bantuan, dorongan, dan motivasi kepada

penulis dalam menyelesaikan skripsi ini.

Akhir kata, penulis mengharapkan saran dan masukan dari berbagai pihak

terhadap skripsi ini. Karena saran dan masukan anda akan semakin memperdalam

pengetahuan penulis dan pengembangan karya ilmiah ini. Penulis berharap skripsi ini

dapat memberikan manfaat bagi yang membacanya dan dapat membantu pihak-pihak

yang memerlukannya.

Jakarta, Januari 2007

(4)

DAFTAR ISI

HALAMAN JUDUL LUAR...i

HALAMAN JUDUL DALAM ... ii

HALAMAN PERSETUJUAN HARDCOVER... iii

HALAMAN PERNYATAAN DEWAN PENGUJI ...iv

HALAMAN ABSTRAK... vii

PRAKATA... viii

DAFTAR ISI...x

DAFTAR TABEL...xvi

DAFTAR GAMBAR ... xvii

DAFTAR LAMPIRAN...xxi

BAB 1 PENDAHULUAN ...1

1.1 Latar Belakang ...1

1.2 Ruang Lingkup...5

1.3 Tujuan Dan Manfaat ...6

1.4 Metodologi Penelitian ...7

1.5 Sistematika Penulisan ...8

BAB 2 LANDASAN TEORI...10

2.1 Database...10

2.2 Database Management System (DBMS) ...10

2.2.1 Komponen DBMS...11

2.2.2 Advantages and Disadvantages of DBMSs...13

(5)

2.4 Concurrency Control...16

2.4.1 Kebutuhan Akan Concurrency Control...16

2.4.1.1 Masalah Lost Update...17

2.4.1.2 Masalah Uncommitted Dependency (Dirty Read)...18

2.4.1.3 Masalah Inconsistent Analysis...19

2.4.2 Serializability dan Recoverability...21

2.4.2.1 Serializability...21

2.4.2.2 Recoverability...28

2.4.3 Metode Locking...29

2.4.3.1 Mencegah Masalah Lost Update Menggunakan 2PL ...31

2.4.3.2 Mencegah Masalah Uncommitted Dependency Menggunakan 2PL....33

2.4.3.3 Mencegah Masalah Inconsistent Analysis Menggunakan 2PL ...34

2.4.4 Deadlock...36

2.4.4.1 Deadlock Prevention...38

2.4.4.2 Deadlock Detection and Recovery...39

2.4.4.3 Timeout...41

2.5 Alat Bantu Perancangan Sistem ...42

2.5.1 Use Case Diagram...42

2.5.2 Class Diagram...44

2.5.3 Diagram Alir (Flow Chart)...45

2.6 XML...46

2.6.1 Deklarasi XML ...49

2.6.2 Elemen XML...50

(6)

2.6.4 Entity References...51

2.6.5 Komentar XML...52

2.6.6 CDATA Section dan Instruksi Proses ...52

2.6.7 Urutan...52

2.7 Parser...53

2.8 Queue...55

2.9 Multi-User DBMS Architecture...58

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ...62

3.1 Analisis Kebutuhan Sistem ...62

3.1.1 Kebutuhan Fungsional ...62

3.1.2 Kebutuhan Non Fungsional ...64

3.2 Perancangan Sistem ...65

3.2.1 Use Case Diagram...65

3.2.1.1 Deskripsi Use Case AcceptNewTransaction ...67

3.2.1.2 Deskripsi Use Case MakeTransactionOperation ...68

3.2.1.3 Deskripsi Use Case IdentifyKeyNeeded...71

3.2.1.4 Deskripsi Use Case CheckKeyUsedList...73

3.2.1.5 Deskripsi Use Case DefineOperationStatus...77

3.2.1.6 Deskripsi Use Case MakeOperationWaitForRequestedKey ...78

3.2.1.7 Deskripsi Use Case EntryOperationKeyToList ...80

3.2.1.8 Deskripsi Use Case PassXMLQueryToBeExecuted ...82

3.2.1.9 Deskripsi Use Case ReloadKeyUsedList...83

3.2.1.10 Deskripsi Use Case ReloadScheduleOperation ...85

(7)

3.2.1.12 Deskripsi Use Case

MakeAllTransactionWaitingDuringBackupOperation ...87

3.2.1.13 Deskripsi Use Case RemoveAllScheduleToRestoreDatabase...90

3.2.2 Class Diagram...93

3.2.3 Diagram Alir (Flow Chart) ...94

3.2.4 Module Schedule...95

3.2.5 Perancangan Layar ...99

3.2.5.1 Perancangan Layar pada Menu Utama Server...99

3.2.5.2 Perancangan Layar pada Menu FileServer...100

3.2.5.3 Perancangan Layar pada Menu Timeout Server...100

3.2.5.4 Perancangan Layar pada Menu Drop-Down Timeout Server...101

3.2.5.5 Perancangan Layar pada Menu HelpServer...101

3.2.5.6 Perancangan Layar pada Menu Utama Client...102

3.2.5.7 Perancangan Layar pada Menu FileClient...103

3.2.5.8 Perancangan Layar pada Menu Drop-DownConnectClient...104

3.2.5.9 Perancangan Layar pada Client setelah terhubung pada Server...105

3.2.5.10 Perancangan Layar pada Menu Edit Client...106

3.2.5.11 Perancangan Layar pada Menu Font Client...107

3.2.5.12 Perancangan Layar pada Menu Window Client...108

3.2.5.13 Perancangan Layar pada Menu HelpClient...109

BAB 4 IMPLEMENTASI DAN EVALUASI ...110

4.1 Implementasi ...110

4.1.1 Arsitektur RDBMS ...110

(8)

4.1.3 Cara Instalasi...113

4.1.4 Instruksi Penggunaan Aplikasi...118

4.2 Evaluasi ...132

4.2.1 Validitas Data...132

4.2.1.1 Evaluasi Pengujian Dua Transaksi Bersamaan Membaca Data yang Sama pada Database...133

4.2.1.2 Evaluasi Pengujian Dua Transaksi Bersamaan yang Membaca dan Menulis Data yang Sama pada Database...136

4.2.1.3 Evaluasi Pemecahan Masalah Lost Update menggunakan 2PL ...139

4.2.1.4 Evaluasi Pencegahan Masalah Uncommitted Dependency Menggunakan 2PL ...144

4.2.1.5 Evaluasi Pengujian Pemecahan Masalah Inconsistent Analysis Menggunakan 2PL ...148

4.2.1.6 Evaluasi Pengujian Penjadwalan Transaksi pada Saat Backup...151

4.2.1.7 Evaluasi Pengujian Penjadwalan Transaksi pada Saat Restore...159

4.2.2 Hasil Evaluasi ...164

BAB 5 SIMPULAN DAN SARAN...171

5.1 Simpulan ...171

5.2 Saran...172

DAFTAR PUSTAKA ...173

RIWAYAT HIDUP...175

RIWAYAT HIDUP...176

(9)

DAFTAR TABEL

Tabel 2. 1 Advantages and disadvantages of DBMSs...13

Tabel 2. 2 Masalah lost update...17

Tabel 2. 3 Masalah uncommitted dependency (dirty read)...18

Tabel 2. 4 Masalah inconsistent analysis...20

Tabel 2. 5 Contoh serial dan nonserial schedule...25

Tabel 2. 6 Dua concurrent update transactions yang tidak conflict-serializable...27

Tabel 2. 7 Lock-compatibilitytables...29

Tabel 2. 8 Mencegah masalah lost update menggunakan2PL ...32

Tabel 2. 9 Mencegah masalah uncommitted dependency menggunakan 2PL ...33

Tabel 2. 10 Mencegah masalah inconsistent analysis menggunakan 2PL...35

Tabel 2. 11 Contoh deadlock pada dua transaksi ...36

Tabel 2. 12 Predefined entity references pada XML ...51

(10)

DAFTAR GAMBAR

Gambar 2. 1 Precedence Graph untuk tabel 2.6 menunjukkan sebuah Cycle, jadi tidak

Conflict-Serializable...27

Gambar 2. 2 WFG dengan sebuah Cycle menunjukkan Deadlock antara 2 transaksi ..40

Gambar 2. 3 Struktur Class...45

Gambar 2. 4 Flowchart Constructs...46

Gambar 2. 5 Client-Server Architecture...59

Gambar 3. 1 Use Case Diagram Concurrency Control System pada RDBMS ...66

Gambar 3. 2 Class Diagram Concurrency Control System pada RDBMS ...93

Gambar 3. 3 Flow Chart untuk Concurrency Control System pada RDBMS ...94

Gambar 3. 4 Rancangan layar menu utama Server...99

Gambar 3. 5 Rancangan layar menu File Server...100

Gambar 3. 6 Rancangan layar menu Timeout Server...100

Gambar 3. 7 Rancangan layar menu Drop-Down Timeout Server...101

Gambar 3. 8 Rancangan layar menu Help Server...101

Gambar 3. 9 Rancangan layar pada menu utama Client...102

Gambar 3. 10 Rancangan layar pada menu File Client...103

Gambar 3. 11 Rancangan layar pada menu Drop-Down Connect Client...104

Gambar 3. 12 Rancangan layar Client setelah terhubung pada Server...105

Gambar 3. 13 Rancangan layar pada menu Edit Client...106

Gambar 3. 14 Rancangan layar pada menu Font Client...107

(11)

Gambar 3. 16 Rancangan layar pada menu Help Client...109

Gambar 4. 1 Arsitektur RDBMS ...111

Gambar 4. 2 Layar pertama instalasi Concurrency Control System pada RDBMS ...114

Gambar 4. 3 Layar kedua instalasi Concurrency Control System pada RDBMS...115

Gambar 4. 4 Layar ketiga instalasi Concurrency Control System pada RDBMS...116

Gambar 4. 5 Layar keempat instalasi Concurrency Control System pada RDBMS...117

Gambar 4. 6 Layar kelima instalasi Concurrency Control System pada RDBMS ...118

Gambar 4. 7 Layar menu Utama Server...119

Gambar 4. 8 Layar menu File Server...120

Gambar 4. 9 Layar menu Timeout Server...121

Gambar 4. 10 Layar menu Help Server...121

Gambar 4. 11 Layar menu utama Client...123

Gambar 4. 12 Layar menu File Client...124

Gambar 4. 13 Layar menu Connect Client...125

Gambar 4. 14 Layar gagal Connect karena Server tidak ditemukan ...126

Gambar 4. 15 Layar Form Client...127

Gambar 4. 16 Layar menu Drop-Down Edit Form Client...129

Gambar 4. 17 Layar menu Drop-Down Font Form Client...130

Gambar 4. 18 Layar menu Drop-DownWindowForm Client...131

Gambar 4. 19 Layar pengiriman dua transaksi yang bersamaan membaca data yang sama pada Database...134

(12)

Gambar 4. 21 Layar isi file schedule.txt dari dua transaksi yang bersamaan membaca

data yang sama pada Database...135

Gambar 4. 22 Layar pengiriman dua transaksi yang bersamaan membaca dan mengubah data yang sama pada Database...136

Gambar 4. 23 Layar status transaksi dari dua transaksi yang bersamaan membaca dan mengubah data yang sama pada Database...137

Gambar 4. 24 Layar isi file schedule.txt dari dua transaksi yang bersamaan membaca data yang sama pada Database...139

Gambar 4. 25 Layar pertama untuk pemecahan masalah Lost Update...140

Gambar 4. 26 Layar kedua untuk pemecahan masalah Lost Update...141

Gambar 4. 27 Layar ketiga untuk pemecahan masalah Lost Update...142

Gambar 4. 28 Layar isi file dari schedule.txt dari pemecahan masalah Lost Update... ...143

Gambar 4. 29 Layar pertama untuk pemecahan masalah Uncommitted Dependency.... ...144

Gambar 4. 30 Layar kedua untuk pemecahan masalah Uncommitted Dependency.145 Gambar 4. 31 Layar ketiga untuk pemecahan masalah Uncommitted Dependency.146 Gambar 4. 32 Layar isi file schedule.txt dari pemecahan masalah Uncommitted Dependency ...147

Gambar 4. 33 Layar pertama untuk pemecahan masalah Inconsistent Analysis...148

Gambar 4. 34 Layar kedua untuk pemecahan masalah Inconsistent Analysis...149

Gambar 4. 35 Layar ketiga untuk pemecahan masalah Inconsistent Analysis...150

(13)

Gambar 4. 37 Layar untuk kasus I penjadwalan pada saat Backup...152

Gambar 4. 38 Layar isi file schedule.txt dari kasus I penjadwalan pada saat backup....

...153

Gambar 4. 39 Layar pertama untuk kasus II penjadwalan pada saat Backup...154

Gambar 4. 40 Layar kedua untuk kasus II penjadwalan pada saat Backup...155

Gambar 4. 41 Layar isi file schedule.txt dari kasus II penjadwalan pada saat Backup...

...156

Gambar 4. 42 Layar pertama untuk kasus III penjadwalan pada saat Backup...157

Gambar 4. 43 Layar kedua untuk kasus III penjadwalan pada saat Backup...158

Gambar 4. 44 Layar isi file schedule.txt dari kasus III penjadwalan pada saat Backup.

...158

Gambar 4. 45 Layar pertama untuk kasus I penjadwalan pada saat Restore...160

Gambar 4. 46 Layar kedua untuk kasus I penjadwalan pada saat Restore...161

Gambar 4. 47 Layar isi file schedule.txt dari kasus I penjadwalan pada saat Restore....

...161

Gambar 4. 48 Layar pertama untuk kasus II penjadwalan pada saat Restore...162

Gambar 4. 49 Layar kedua untuk kasus II penjadwalan pada saat Restore...163

Gambar 4. 50 Layar isi file schedule.txt dari kasus II penjadwalan pada saat Restore..

(14)

DAFTAR LAMPIRAN

Referensi

Dokumen terkait

Bagi perusahaan, diharapkan agar hasil penelitian dapat menjadi bahan masukan bagi perusahaan tempat penelitian dilakukan, untuk dapat menentukan langkah selanjutnya

diibaratkan seperti teknologi penginderaan jarak jauh menggunakan citra satelit yang digunakan untuk mendeteksi potensi sumber daya alam di suatu titik lokasi,

Informasi dari pemetaan pit dan rekonsiliasi geology telah dimasukkan ke dalam sumber daya baru dan perkiraan cadangan untuk mencerminkan tren rekonsiliasi yang lebih baik untuk

Analisis Dampak Keuangan Perseroan Jika Proyek Yang Dibiayai Mengalami Kegagalan Proyek yang dibiayai adalah menerima novasi dari SRTG yang merupakan kreditur EFDL sehingga Perseroan

 Pengertian latihan yang berasal dari kata training adalah penerapan dari suatu perencanaan untuk meningkatkan kemampuan berolahraga yang berisikan materi teori dan praktek,

Hal ini disebabkan karena sifat manusia yang pelupa (lupa akan suatu hal). Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tersebut tidak

LPPM (Lembaga Penelitian dan Pengabdian pada Masyarakat) adalah sebuah unit kegiatan yang berfungsi mengelola semua kegiatan penelitian dan pengabdian kepada

Penambahan limbah blotong tebu sebagai bahan pengganti semen dalam pembuatan batako berpengaruh sangat nyata terhadap kuat tekan dan daya absorbsi air pada