SKRIPSI
DESAIN DAN IMPLEMENTASI SISTEM DATABASE TERDISTRIBUSI UNTUK PERENCANAAN BONGKAR MUAT PETIKEMAS (STUDI KASUS DI PT. BERLIAN JASA TERMINAL INDONESIA, SURABAYA)
Oleh: IRFAN WAHYUDIN NRP: 1202 109 007
JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2006
SKRIPSI DESAIN DAN IMPLEMENTASI SISTEM DATABASE TERDISTRIBUSI UNTUK PERENCANAAN BONGKAR MUAT PETIKEMAS (STUDI KASUS DI PT. BERLIAN JASA TERMINAL INDONESIA, SURABAYA) dipersiapkan dan diusulkan oleh IRFAN WAHYUDIN NRP. 1202 109 007 telah dipertahankan di depan tim penguji pada tanggal: 03 Agustus 2006 Susunan Tim Penguji Pembimbing,
Anggota Tim Penguji
Budi Setiyono, S.Si, MT. NIP. 132 161 183
1. DR. M. Isa Irawan, MT NIP. 131 843 894
2. Drs. Sutrisno, MIKomp NIP. 131 629 805
3. Drs. Lukman Hanafi, M.Sc NIP. 131 782 039 Tugas Akhir ini telah diterima sebagai salah satu persyaratan untuk memperoleh gelar Sarjana Matematika Surabaya, Agustus 2006 Ketua Jurusan Matematika FMIPA ITS
Drs. Lukman Hanafi, M.Sc NIP. 131 782 039
ii
ABSTRAK
Proses bongkar muat petikemas di PT. BJTI, Surabaya yang sangat sibuk, membutuhkan suatu sistem database yang reliable, dan mempunyai tingkat data availability yang tinggi. Desain database tersentralisasi yang digunakan oleh PT. BJTI saat ini belum mampu untuk memenuhi kriteria di atas. Sistem database terdistribusi adalah jawaban untuk permasalahan tersebut. Sistem ini mendistribusikan keseluruhan atau hanya sebagian data saja ke tiap-tiap site di suatu organisasi atau perusahaan, sesuai dengan kebutuhan data di tiap-tiap site tersebut. Sehingga pemrosesan data tidak lagi bergantung pada beroperasi atau tidaknya satu server database. Dalam mendesain dan mengimplementasikan sistem database terdistribusi untuk perencanaan bongkar muat petikemas, penulis menggunakan metode replikasi parsial dalam mendistribusikan data ke setiap site database. Dengan replikasi parsial, data di setiap site database tidak perlu didistribusikan seluruhnya, akan tetapi hanya sebagiannya saja, tergantung dari kebutuhan data dari suatu site database. Dalam penelitian ini, database didistribusikan ketiga site di PT. BJTI Surabaya yang terkait dengan proses perencanaan bongkar muat petikemas. Di mana ketiga site tersebut adalah kantor pusat PT. BJTI Surabaya, kantor dermaga Berlian, dan pintu gerbang(gate) dermaga. Untuk site kantor pusat dan kantor dermaga Berlian karena data perencanaan bongkar muat petikemas dibutuhkan seluruhnya, maka distribusi data dilakukan seluruhnya. Akan tetapi pada site gate dermaga Berlian karena data yang dibutuhkan hanya yang terkait dengan proses cek fisik petikemas, maka data yang didistribusikan hanya data yang terkait dengan pemrosesan tersebut sehingga data tidak didistribusikan seluruhnya. Kemudian metode yang digunakan oleh setiap site database untuk mempropagasikan data antara satu sama lain, adalah metode propagasi data asynchronous. Metode propagasi data ini memungkinkan terjadinya disconnected computing, yaitu suatu proses komputasi yang terkait dengan pemrosesan data tanpa harus tergantung pada beroperasi atau tidaknya suatu server database. Kata Kunci: Sistem Database Terdistribusi, Replikasi Data, Propagasi Data, Manajemen Konflik.
iii
DAFTAR ISI
Nama
Halaman
JUDUL ….…..………………………………………………………….
i
LEMBAR PENGESAHAN…………………………………………....
ii
ABSTRAK ….………………………………………………………….
iii
KATA PENGANTAR …………………………………………………
iv
DAFTAR ISI ……………………………….…………………………..
vi
DAFTAR GAMBAR ……………………………….………………….
vii
DAFTAR TABEL …………………………………………..………….
xi
BAB I
PENDAHULUAN ………………………….………………
1
1.1. Latar Belakang ……………………………….…………….
1
1.2. Rumusan Masalah …………………………………………
3
1.3. Batasan Masalah .………………………………………….
3
1.4. Metode Penelitian…….. …………………………………..
4
1.5. Tujuan dan Manfaat Penelitian……………………………
5
1.6. Sistematika Penelitian.. …………………………………...
5
BAB II
DASAR TEORI …………………………….………………. 7
2.1. Sistem Database……………………………………………
7
2.2. Database Management System(DBMS)…………………...
8
2.3. Objek Database…………………………………………….
8
2.3.1. Tabel…………………………………………………
8
2.3.2. Trigger………………………………………………..
9
vi
2.3.3. Tablespace……………………………………………
9
2.3.4. Integrity Constraint…………………………………..
10
2.3.5. Sequence………………………………………………
10
2.3.6. Materialized View…………………………………….
11
2.3.7. Procedure dan Stored Procedure………………………
12
2.3.8. Paket…………………………………………………… 12 2.3.9. Database Link………………………………………….. 13 2.4. Database Oracle……………………………………………… 14 2.5. Arsitektur Sistem Database…………………………………... 15 2.5.1. Sistem Database Tersetralisasi………………………
16
2.5.2. Sistem Database Client Server………………………
17
2.6. Sistem Database Terdistribusi……………………………..
18
2.6.1. Pendekatan untuk mendistribusikan relasi…………..
20
2.6.1.1. Replikasi……………………………………….
20
2.6.1.2. Fragmentasi Data………………………………
21
2.6.1.2. Replikasi dan Fragmentasi Data……………….
25
2.6.2. Propagasi Data, Concurency Control and Processing, Manajemen Konflik………………………………….
26
2.6.2.1. Propagasi Data pada Replikasi Database………
26
2.6.2.1.1. Asynchronous…………………………....
26
2.6.2.1.2. Synchronous……………………………...
28
2.6.2.2. Concurency Control……………………………
29
2.6.2.2.1. Two Phase Commit………………………
30
vii
BAB III
2.6.2.2.2. Locking Protocols………………………
32
2.6.2.2.3. Timestamp Ordering……………………..
35
2.6.2.3. Manajemen Konflik…………………………….
36
2.6.2.3.1. Manajemen Konflik Keunikan Data………
36
2.6.2.3.2. Manajemen Konflik Update Data…………
37
2.6.2.3.3. Manajemen Konflik Penghapusan Data…..
38
ANALISA KEBUTUHAN DAN DESAIN SISTEM……
40
3.1. Gambaran Modul Perencanaan Bongkar Muat Petikemas Ekspor dan Impor………………………………....................... 42 3.2. Gambaran Proses Bisnis Perencanaan Bongkar Muat Petikemas.. 44 3.2.1. Gambaran Proses Bisnis Perencanaan Bongkar Muat Petikemas di kantor pusat....………………………
44
3.2.2. Gambaran Proses Bisnis Perencanaan Bongkar Muat Petikemas di kantor dermaga Berlian……..………
45
3.2.3. Gambaran Proses Bisnis Perencanaan Bongkar Muat Petikemas di gate dermaga Berlian..………………
47
3.3. Kebutuhan Informasi di tiap Site……………………………….
50
3.3.1. Kebutuhan Informasi di Kantor Pusat…………………….
50
3.3.2. Kebutuhan Informasi di Kantor Dermaga Berlian……….
50
3.3.3. Kebutuhan Informasi di gate dermaga Berlian……………
51
3.4. Desain Jaringan………………………………………………….
52
3.4.1. Jalur Koneksi untuk Propagasi Data Antar Site…………..
53
3.4.2. Metode Propagasi Data…………………………………..… 54
viii
3.5. Desain Database…………………………………………………. 56 3.6. Desain User……………………………………………………… 79 3.7. Manajemen Konflik……………………………………………… 80 3.7.1. Manajemen Konflik Keunikan Data………………………. 80 3.7.2. Manajemen Konflik Update Data..……………………….
81
3.7.3. Manajemen Konflik Penghapusan Data…………………… 82 3.8. Desain Antarmuka Aplikasi……………………………………… 83 3.8.1. Desain Antarmuka untuk Menampilkan dan Memproses Data………………………………………………………… 83 3.8.2. Desain Antarmuka untuk Perencanaan Bongkar Muat…….. 85 3.8.3. Desain Antarmuka untuk Operasi Gate…………………….. 89 3.8.4. Desain Antarmuka untuk Login ke Aplikasi……………… 89 BAB IV
IMPLEMENTASI DAN UJI COBA SISTEM.......…………. 91
4.1. Kebutuhan Perangkat Lunak dan Perangkat Keras untuk Implementasi…………………………………………………….. 91 4.2. Pra Implementasi…………………………………………………. 92 4.2.1. Instalasi Software…………………………………………… 92 4.2.2. Instalasi jaringan Komputer………………………………… 93 4.3. Implementasi Sistem Database Terdistribusi…………………….. 94 4.3.1. Pembuatan Skema dan Tablespace…………………………. 94 4.3.2. Setting Site hq1.com dan hq2.com…………………………. 98 4.3.3. Setting Site gate.com……………………………………….. 100 4.3.4. Implementasi Manajemen Konflik Keunikan Data………… 104
ix
4.3.5. Implementasi Manajemen Konflik Update Data………….. 110 4.3.6. Implementasi Manajemen Konflik Penghapusan Data……
112
4.4. Implementasi Aplikasi…………………………………………..
113
4.5. Uji Coba Sistem…………………………………………………
121
4.5.1. Propagasi Data…………………………………………….
121
4.5.2. Uji Coba Manajemen Konflik……………………………..
127
4.5.2.1. Uji Coba Manajemen Konflik Keunikan Data……….. 127 4.5.2.2. Uji Coba Manajemen Konflik Update Data………….. 129 4.5.2.3. Uji Coba Manajemen Konflik Penghapusan Data…….. 133 4.5.3. Uji Coba Performansi………..…………………………….. 134 4.5.4. Hasil Uji Coba Propagasi Data dan Manajemen Konflik…. 137 BAB V
PENUTUP…………………………………...............………….
140
5.1. Kesimpulan………………………………………………………. 140 5.2. Saran……………………………………………………………... 141 DAFTAR PUSTAKA………………………………..……………………….. 142 LAMPIRAN……………………………………………………………………143
x
DAFTAR GAMBAR
Gambar 2.1
Fitur Advance Replication pada Oracle 9i……………………….. 15
Gambar 2.2
Desain sistem database terdistribusi……………………………… 19
Gambar 2.3
Mekanisme propagasi data secara asynchronous pada Oracle………………………………………………………. 27
Gambar 2.4
Mekanisme propagasi data secara synchronous pada Oracle…….. 29
Gambar 3.1
Layout stowage/bayplan di suatu kapal………………………….. 41
Gambar 3.2
Diagram proses bisnis perencanaan bongkar muat petikemas di kantor pusat PT. BJTI, Surabaya……………………………… 44
Gambar 3.3
Diagram proses bisnis perencanaan bongkar muat petikemas di dermaga Berlian……………………………………………….. 46
Gambar 3.4
Diagram proses bisnis perencanaan bongkar muat petikemas di gate dermaga Berlian…………………………………………... 48
Gambar 3.5
Desain jaringan computer wireless di PT. BJTI, Surabaya………. 52
Gambar 3.6
Desain jaringan…………………………………………………… 53
Gambar 3.7
Model propagasi data antar site database…………………………. 55
Gambar 3.8
CDM untuk perencanaan bongkar muat petikemas………………. 57
Gambar 3.9
PDM untuk perencanaan bongkar muat petikemas………………. 58
Gambar 3.10 Distribusi data di tiap-tiap site database………….………………. 74 Gambar 3.11 CDM untuk perencanaan bongkar muat petikemas di site gate.com…………………………………………………… 75 Gambar 3.12 PDM untuk perencanaan bongkar muat petikemas
xi
di site gate.com…………………………………………………… 76 Gambar 3.13 Mekasnisme manajemen konflik keunikan data…………………. 80 Gambar 3.14 Mekasnisme manajemen konflik penghapusan data……………… 82 Gambar 3.15 Desain antarmuka untuk menampilkan dan memproses data.......... 84 Gambar 3.16 Desain antarmuka untuk perencanaan bongkar muat petikemas ................................................................................ 85 Gambar 3.17 Layout penampang suatu kapal........................................................ 86 Gambar 3.18 Form untuk perencanaan bongkar muat(BAYPLAN)..................... 87 Gambar 3.19 Desain antarmuka untuk operasi gate.............................................. 89 Gambar 3.20 Desain antarmuka untuk login ke sistem......................................... 90 Gambar 4.1
Proses deployment template untuk materialized view..................... 101
Gambar 4.2
Penggalan template deployment script untukpembuatan user administrator di gate.com....................................................... 102
Gambar 4.3
Penggalan template deployment script untuk pembuatan refresh group di gate.com................................................................ 101
Gambar 4.4
Penggalan template deployment script untuk pembuatan objek replikasi di gate.com.............................................................. 103
Gambar 4.5
Form untuk login ke sistem............................................................. 114
Gambar 4.6
Form MDIUtama............................................................................. 115
Gambar 4.7
Bagian pertama form CONTAINER............................................... 115
Gambar 4.8
Bagian kedua form CONTAINER.................................................. 116
Gambar 4.9
Form untuk mengadministrasi voyage.............................................. 117
Gambar 4.10 Form untuk memasukkan data petikemas dari file BAPLIE............ 117
xii
Gambar 4.11 Layout posisi yang dapat diisi petikemas di suatu kapal.................. 118 Gambar 4.12 Form CUSTOMER........................................................................... 119 Gambar 4.13 Form GATE...................................................................................... 120 Gambar 4.14 Form untuk mencari data petikemas milik pengguna jasa................ 121 Gambar 4.15 Proses login ke site hq1.com............................................................. 122 Gambar 4.16 Proses input data pelayaran nomer 244 kapal Sinar Solo................. 124 Gambar 4.17 Proses input data petkemas bongkar nomer 244 kapal Sinar Solo................................................................................ 124 Gambar 4.18 Form CONTAINER yang menampilkan data petikemas impor dari kapal Sinar Solo, pada site hq2.com.......................................... 125 Gambar 4.19 Form YARDPLAN yang digunakan untuk proses perencanaan bongkar data petikemas impor dari kapal Sinar Solo, pada site hq2.com............................................................................. 126 Gambar 4.20 Informasi konflik keunikan data di tabel ISOCODE. dimasukkan di tabel CONF_REPORT site hq1.com...................... 128 Gambar 4.21 Informasi konflik keunikan data di tabel ISOCODE, dimasukkan di tabel CONF_REPORT site hq2.com....................... 128 Gambar 4.23 Data CODE_ISO 3333 yang dimasukkan pertama kali dan yang menyebabkan konflik di site hq2.com.................................... 129 Gambar 4.24 Data CODE_ISO 3333 yang dimasukkan pertama dan yang menyebabkan konflik di site hq1.com............................................. 129 Gambar 4.25 Posisi awal petikemas dengan id MLCU3451676 di kapal Yong Wang........................................................................ 130
xiii
Gambar 4.26 Posisi petikemas dengan id MLCU3451676 di kapal Yong Wang setelah diupdate di site hq1.com.................................. 131 Gambar 4.27 Posisi petikemas dengan id MLCU3451676 di kapal Yong Wang setelah diupdate di site hq2.com.................................. 131 Gambar 4.28 Informasi waktu perubahan data petikemas MLCU3451676 pada site hq1.com............................................................................. 132 Gambar 4.29 Informasi waktu perubahan data petikemas MLCU3451676 pada site hq2.com............................................................................. 132 Gambar 4.30 Data petikemas GSTU7774730 yang sudah ditandai untuk dihapus(nilai REMOVE_DATE terisi)............................................ 133 Gambar 4.31 Diagram hasil uji coba performansi di site hq1.com........................ 136 Gambar 4.32 Diagram hasil uji coba performansi di site hq2.com........................ 136 Gambar 4.33 Diagram hasil uji coba performansi di site gate.com........................ 137
xiv
DAFTAR TABEL
Tabel 2.1
Relasi account…………………………………………………..
22
Tabel 2.2
Fragmen account1………………………………………………
22
Tabel 2.3
Fragmen account2………………………………………………
23
Tabel 2.4
Relasi deposit dengan id-tuples…………………………………
24
Tabel 2.5
Fragmen deposit1……………………………………………….
25
Tabel 2.6
Fragmen deposit2……………………………………………….
25
Tabel 2.7
Transaksi T1…………………………………………………….
33
Tabel 2.8
Transaksi T2…………………………………………………….
33
Tabel 2.9
Eksekusi dua transaksi T1 dan T2 tanpa 2PL……………………
34
Tabel 2.10
Eksekusi dua transaksi T1 dan T2 dengan 2PL………………….
35
Tabel 3.1
Database link di tiap-tiap site database…………………………
54
Tabel 3.2
Struktur tabel ACC_USER……………………………………..
59
Tabel 3.3
Contoh isi tabel ACC_USER…………………………………..
59
Tabel 3.4
Struktur tabel AGEN_LAYAR…………………………………
60
Tabel 3.5
Contoh isi tabel AGEN_LAYAR………………………………
60
Tabel 3.6
Struktur tabel BERTH………………………………………….
60
Tabel 3.7
Contoh isi tabel BERTH………………………………………..
60
Tabel 3.8
Struktur tabel CONTAINER……………………………………
61
Tabel 3.9
Contoh isi tabel CONTAINER…………………………………
62
Tabel 3.10
Struktur tabel CRANE………………………………………….
62
Tabel 3.11
Contoh isi tabel CRANE……………………………………….
63
xv
Tabel 3.12
Struktur tabel DISC_LOAD……………………………………
63
Tabel 3.13
Contoh isi tabel DISC_LOAD………………………………….
63
Tabel 3.14
Struktur tabel ISOCODE……………………………………….
64
Tabel 3.15
Contoh isi tabel ISOCODE……………………………………..
64
Tabel 3.16
Struktur tabel OPERATOR……………………………………..
65
Tabel 3.17
Contoh isi tabel OPERATOR…………………………………..
65
Tabel 3.18
Struktur tabel PORTS……………………………………………
65
Tabel 3.19
Contoh isi tabel PORTS…………………………………………
66
Tabel 3.20
Struktur tabel PROFILE_VESSEL……………………………..
66
Tabel 3.21
Contoh isi tabel PROFILE_VESSEL……………………………
67
Tabel 3.22
Struktur tabel TPK……………………………………………….
67
Tabel 3.23
Contoh isi tabel TPK…………………………………………….
68
Tabel 3.24
Struktur tabel VESSEL…………………………………………..
68
Tabel 3.25
Contoh isi tabel VESSEL………………………………………..
69
Tabel 3.26
Struktur tabel VOYAGE…………………………………………
69
Tabel 3.27
Contoh isi tabel VOYAGE………………………………………. 70
Tabel 3.28
Struktur tabel EMKL…………………………………………….. 70
Tabel 3.29
Contoh isi tabel EMKL…………………………………………..
70
Tabel 3.30
Struktur tabel PORTS_ASAL……………………………………
71
Tabel 3.31
Contoh isi tabel PORTS_ASAL…………………………………. 71
Tabel 3.32
Struktur tabel PORTS_TUJUAN………………………………… 71
Tabel 3.33
Contoh isi tabel PORTS_TUJUAN……………………………… 71
Tabel 3.34
Struktur tabel VOYAGE sebelum difragmentasi………………… 77
xvi
Tabel 3.35
Struktur tabel VOYAGE setelah difragmentasi………………….. 77
Tabel 3.36
Struktur tabel DISC_LOAD sebelum difragmentasi……………... 77
Tabel 3.37
Struktur tabel DSIC_LOAD setelah difragmentasi………………. 77
Tabel 3.38
Struktur tabel EMKL sebelum difragmentasi…………………….. 78
Tabel 3.39
Struktur tabel EMKL setelah difragmentasi……………………… 78
Tabel 3.40
Struktur tabel VESSEL sebelum difragmentasi………………….. 78
Tabel 3.41
Struktur tabel VESSEL setelah difragmentasi……………………. 78
Tabel 3.42
Daftar tabel di database…………………………………………… 79
Tabel 4.1
Spesifikasi perangkat keras yang digunakan untuk implementasi.......................................................................... 91
Tabel 4.2
Struktur tabel TEMP………………………………………………
Tabel 4.3
Informasi tentang pelayaran nomer 244 kapal Sinar Solo………... 123
Tabel 4.4
Hasil uji coba query di site hq1.com……………………………… 135
Tabel 4.5
Hasil uji coba query di site hq2.com……………………………… 135
Tabel 4.6
Hasil uji coba query di site gate.com……………………………… 136
Tabel 4.7
Hasil uji coba query di site gate.com……………………………… 137
xvii