iv
UNIVERSITAS BINA NUSANTARA
________________________________________________________________ Jurusan Teknik Informatika
Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007
PERANCANGAN TRANSACTION RECOVERY MANAGER PADA RDBMS BERBASIS XML
Danyel 0700679884
Valentinus Sebastian 0700685350
Daniel Winata 0700685400
Abstrak
Tujuan penelitian ini adalah menganalisis dan merancang komponen yang berfungsi sebagai pengatur pemulihan transaksi (transaction recovery manager) bila terjadi kegagalan sistem (system failure). Transaction recovery manager adalah salah satu komponen yang terdapat dalam sebuah RDBMS. Metode penelitian yang digunakan dalam perancangan aplikasi ini mencakup metode pengumpulan data, analisis, perancangan, pemrograman (coding), pengujian, dan evaluasi. Metode pengumpulan data dilakukan dengan studi literatur dan mencari informasi yang relevan di Internet. Berdasarkan data yang dikumpulkan, dilakukan analisis terhadap teknik-teknik yang ada dan memilih teknik yang sesuai untuk diimplementasikan. Perancangan dilakukan sesuai dengan hasil analisis. Pemrograman (coding) dilakukan berdasarkan hasil perancangan. Kemudian dilakukan pengujian dan evaluasi terhadap working prototype yang dihasilkan. Hasil penelitian ini adalah sebuah working prototype transaction recovery manager yang menjamin agar basis data selalu berada dalam consistent state bila terjadi system failure. Simpulan yang diperoleh dalam penelitian ini adalah sistem mampu melakukan proses
logging, checkpoint, dan recovery sehingga mampu menjaga properti atomicity dan
durability dari suatu transaksi terhadap basis data.
Kata Kunci:
Recovery, Logging, Checkpoint, Basis Data, RDBMS, System Failure, Transaction
v
KATA PENGANTAR
Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa atas segala rahmat dan karunia-Nya, sehingga skripsi dengan judul “PERANCANGAN TRANSACTION RECOVERY MANAGER PADA RDBMS BERBASIS XML” dapat kami selesaikan dengan lancar dan tepat waktu.
Adapun penulisan skripsi ini merupakan salah satu syarat kelulusan dalam jenjang pendidikan strata-1 (satu) jurusan Teknik Informatika di Universitas Bina Nusantara.
Dalam kesempatan ini, kami ingin mengucapkan terima kasih kepada pihak-pihak yang ikut berperan serta dalam proses penyelesaian skripsi ini, antara lain :
1. Bapak Prof. Dr. Gerardus Polla, M.App.Sc., selaku Rektor Universitas Bina Nusantara.
2. Bapak Ir. Sablin Yusuf, M.Sc., M.CompSc., selaku Dekan Universitas Bina Nusantara.
3. Bapak H. Mohammad Subekti, BE, M.Sc., selaku Ketua Jurusan Teknik Informatika Universitas Bina Nusantara.
4. Bapak Freddy Purnomo, S.Kom., M.Com., selaku Sekretaris Jurusan Teknik Informatika Universitas Bina Nusantara.
5. Bapak Ashari S.Kom., M.Kom., selaku dosen pembimbing, atas bimbingannya yang telah diberikan sehingga penulis dapat menyelesaikan laporan penelitian ini. 6. Orang tua dan keluarga yang telah memberikan dukungan moral dan material
kepada penulis.
vi
tuntunan selama penulis menjadi mahasiswa di Universitas Bina Nusantara. 8. Seluruh rekan atas bantuan dan kerjasamanya selama penulisan penelitian ini
berlangsung.
9. Kepada semua pihak yang telah membantu kami dalam penyusunan skripsi ini baik secara langsung maupun tidak langsung yang tidak dapat kami sebutkan satu persatu.
Kami menyadari bahwa isi dari skripsi ini masih jauh dari sempurna baik dalam penyajiannya maupun pembahasannya karena keterbatasan kemampuan dan juga waktu kami. Oleh karena itu saran dan kritik yang bersifat membangun sangat kami harapkan untuk menjadi lebih baik lagi di masa mendatang.
Akhir kata, kami berharap semoga skripsi ini bermanfaat bagi segenap pembaca dan juga bermanfaat bagi perkembangan ilmu komputer di Universitas Bina Nusantara pada khususnya dan dunia pendidikan Indonesia pada umumnya.
Jakarta, Januari 2007
vii DAFTAR ISI
Halaman Judul Luar... i
Halaman Judul Dalam... ii
Halaman Persetujuan Hardcover ... iii
Abstrak... iv
Prakata... v
Daftar Isi ... vii
Daftar Gambar ... xii
Daftar Tabel ... xiii
Daftar Lampiran... xiv
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Ruang Lingkup... 2
1.3 Tujuan dan Manfaat ... 3
1.4 Metodologi Penelitian... 4
1.5 Sistematika Penulisan ... 4
BAB 2 LANDASAN TEORI ... 6
2.1 Data ... 6
2.2 Basis Data ... 6
viii
2.3.1 Struktur Data Relasional ... 7
2.4 Database Management System (DBMS) ... 9
2.4.1 Definisi DBMS ... 9
2.4.2 Kelebihan dan Kekurangan DBMS ... 10
2.4.3 Komponen DBMS ... 12
2.5 Transaction Support... 13
2.6 Recovery Basis Data ... 15
2.6.1 Mengapa Diperlukan Recovery Basis Data ?... 15
2.6.2 Fasilitas Recovery... 17 2.6.3 Log File... 18 2.6.4 Checkpoint... 20 2.6.5 Teknik-Teknik Recovery... 23 2.7 XML... 26 2.7.1 Struktur Data XML ... 27 2.7.2 XML Schema... 28 2.7.3 XPath... 29 2.7.4 XSLT... 30 2.7.5 XQuery... 30
2.7.6 Penyimpanan Data XML dalam Basis Data Relasional... 31
2.8 Use Case Modeling... 33
2.8.1 Use Case... 34
ix
2.8.3 Relationship... 36
BAB 3 ANALISA DAN PERANCANGAN SISTEM ... 38
3.1 Analisis Sistem... 38 3.1.1 Gambaran Permasalahan... 38 3.1.2 Analisis Kebutuhan... 38 3.1.2.1 Kebutuhan Fungsional ... 38 3.1.2.2 Kebutuhan Non-Fungsional ... 39 3.1.2.3 Batasan Sistem ... 39 3.1.3 Log File... 40
3.1.4 Temporary Database sebagai Database Buffer... 42
3.1.5 Teknik Deferred Update... 43
3.1.5.1 Kelebihan deferred update... 46
3.1.5.2 Kekurangan deferred udpate... 46
3.1.6 Immediate Update dengan Algoritma UNDO/NO-REDO... 46
3.1.6.1 Kelebihan immediate update dengan algoritma UNDO/NO-REDO... 49
3.1.6.2 Kekurangan immediate update dengan algoritma UNDO/NO-REDO... 49 3.1.6.3 Kekurangan deferred update
dan immediate update dengan algoritma
x
UNDO/NO-REDO... 49
3.1.7 Teknik Immediate Update dengan algoritma UNDO/REDO... 50
3.1.8 Checkpoint... 51
3.1.9 Checkpointing pada Undo/Redo Logging... 51
3.1.10 Recovery dengan Undo/Redo Logging dan Checkpointing... 52
3.1.11 Perbandingan Teknik-Teknik Recovery Basis Data ... 55
3.2 Perancangan Sistem ... 58
3.2.1 Use Case Diagram... 58
3.2.2 Class Diagram... 64
3.2.3 Rancangan Data ... 64
3.2.4 Rancangan Proses ... 67
3.2.5 Rancangan Interface dan Input/Output (I/O)... 71
BAB 4 IMPLEMENTASI DAN EVALUASI ... 73
4.1 Implementasi... 73
4.1.1 Arsitektur RDBMS ... 73
4.1.2 Sistem Recovery Basis Data... 74
4.1.3 Kebutuhan Hardware dan Software... 81
xi 4.2.1 Validitas Data... 82 4.2.1.1 Proses Logging... 83 4.2.1.2 Proses Checkpoint... 87 4.2.1.3 Proses Recovery... 88 4.2.2 Hasil Evaluasi ... 89
BAB 5 SIMPULAN DAN SARAN... 90
5.1 Simpulan ... 90
5.2 Saran ... 91
DAFTAR PUSTAKA... 92
RIWAYAT HIDUP... 94 LAMPIRAN-LAMPIRAN ... L1-L76
xii
DAFTAR GAMBAR
Gambar 2.1 Contoh Struktur Data Relasional ... 8
Gambar 2.2 Contoh UNDO/REDO... 22
Gambar 2.3 Simbol Use Case... 34
Gambar 2.4 Simbol Actor... 35
Gambar 3.1 Proses Deferred Update 1... 44
Gambar 3.2 Proses Deferred Update 2... 44
Gambar 3.3 Proses Deferred Update 3... 45
Gambar 3.4 Proses Deferred Update 4... 45
Gambar 3.5 Proses Deferred Update 5... 45
Gambar 3.6 Proses Immediate Update UNDO/NO-REDO 1 ... 47
Gambar 3.7 Proses Immediate Update UNDO/NO-REDO 2 ... 47
Gambar 3.8 Proses Immediate Update UNDO/NO-REDO 3 ... 48
Gambar 3.9 Proses Immediate Update UNDO/NO-REDO 4 ... 48
Gambar 3.10 Proses Immediate Update UNDO/NO-REDO 5 ... 48
Gambar 3.11 Use Case Diagram... 58
Gambar 3.12 Class Diagram Sistem Recovery... 64
Gambar 3.13 Flowchart Logging... 68
Gambar 3.14 Flowchart Checkpoint... 69
Gambar 3.15 Flowchart Recovery... 70
xiii
DAFTAR TABEL
Tabel 2.1 Contoh segmen dari log file... 19
Tabel 3.1 Perbandingan teknik-teknik Recovery... 55
Tabel 3.2 Use Case Specification untuk Terima Transaksi ... 59
Tabel 3.3 Use Case Specification untuk Logging... 59
Tabel 3.4 Use Case Specification untuk Checkpoint... 61
Tabel 3.5 Use Case Specification untuk Tulis ke Basis Data ... 62
Tabel 3.6 Use Case Specification untuk Recovery... 62
Tabel 3.7 Use Case Specification untuk Redo... 63
Tabel 3.8 Use Case Specification untuk Undo... 63
Tabel 4.1 Contoh Transaksi ... 83
Tabel 4.2 Informasi yang Dikirim Sistem Concurrency... 86
Tabel 4.3 Skenario Logging... 86
Tabel 4.4 Skenario Checkpoint... 88
xiv
DAFTAR LAMPIRAN
Hasil Evaluasi Logging... L1 Hasil Evaluasi Checkpoint... L24 Hasil Evaluasi Recovery... L39 Listing Program... L55