• Tidak ada hasil yang ditemukan

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

N/A
N/A
Protected

Academic year: 2021

Membagikan "UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007"

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 RIWAYAT HIDUP...177

(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

Gambar 4. 20 Layar status transaksi dari dua transaksi bersamaan membaca data yang sama dari 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

Gambar 4. 36 Layar isi file schedule.txt dari pemecahan masalah Inconsistent Analysis ...151

(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

Agar permasalahan yang dianalisis sesuai dengan permasalahan dan pembahasan tidak melebar dari permasalahan yang telah diuraikan diatas, penulis menitikberatkan pada

jalan yang benar 68. Dalam ayat 70 itu dijelaskan bahwa taubat yang berjaya ialah taubat yang dituruti oleh amalan yang sholeh. Sebab yang taubat itu ialah hati sanubari, bukan

strategi berburu informasi pada hari itu aktivitas siswa mendapat skor 4. Siswa tidak lagi kebingungan karena sudah pernah melakukan strategi ini sebelumnya hanya

Kesimpulan ini diambil dari kenyataan bahwa betapa banyak hal yang ada di alam ini, bisa dirasakan keberadaannya oleh manusia, tetapi tidak dapat dijangkau oleh akal manusia

pengaruh nyata pada parameter tinggi tanaman, diameter bonggol, volume akar, berat basah dan berat kering bibit kelapa sawit, namun tidak berbeda nyata pada

Alif Noor Anna, Suharjo dan Munawar Cholil (2007) melakukan penelitian dengan judul “Studi Distribusi Mintakat Potensi Airtanah untuk Berbagai Penggunaan di Sukoharjo dan

Penduduk yang semakin hari semakin bertambah di kota Jogjakarta ini memerlukan tempat tinggal untuk kelangsungan hidupnya, karena lahan yang ada terbatas maka mereka terpaksa

Didukung oleh pertumbuhan produksi, volume penjualan CPO Perseroan sampai dengan kuartal I tahun 2012 mengalami peningkatan sebesar 5,2% menjadi 299,1 ribu ton dari 284,2