Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
IMPLEMENTASI REPLIKASI DI MYSQL 5.1 PADA SISTEM
INFORMASI ASURANSI PERSONAL ACCIDENT
(Studi Kasus PT. Asuransi Umum Sarana Lindung Upaya)
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Oleh :
Astrisia Ratih Kusuma
035314021
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
IMPLEMENTATION OF REPLICATION ON MYSQL 5.1
IN PERSONAL ACCIDENT INSURANCE
INFORMATION SYSTEM
(A Study At Case PT. Asuransi Umum Sarana Lindung Upaya)
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Engineering Bachelor Degree
In Informatics Engineering
By :
Astrisia Ratih Kusuma
035314021
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2008
ii
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 17 Maret 2007
Penulis
Astrisia Ratih Kusuma
v
HALAMAN MOTTO
DO THE RIGHT
AND DO THE BEST
THEN GOD WILL DO THE REST
vii
HALAMAN PERSEMBAHAN
Untuk Mama dan Babe tercinta
Untuk Ema, Tatha, dan Wiwinku tersayang
viii
INTISARI
Seiring dengan berkembangnya suatu perusahaan, beberapa kantor cabang
mulai dibangun di beberapa daerah. Hal tersebut menyebabkan dibutuhkan waktu yang lama untuk memenuhi ketersediaan data kantor pusat, karena kantor cabang masih harus mengirimkan data-data tersebut melalui jasa pos. Tugas akhir ini mengembangkan sistem database terdistribusi, yang dibatasi pada replikasi untuk meningkatkan ketersediaan data dan partisi untuk meningkatkan pengelolaan data. Replikasi akan diimplementasikan pada database kantor cabang, yaitu jakarta, dengan menggunakan jenis replikasi master-slave. Sedangkan partisi akan diimplementasikan pada tabel klaim dan tabel polis, dengan partition by range sebagai jenis partisinya. Dan dengan menggunakan kasus yang ada pada asuransi, khususnya asuransi personal accident.
Hasil akhir yang diperoleh adalah efisiensi dalam mengelola data yang ada dan dalam menyediakan data dari kantor cabang ke kantor pusat. Sistem ini dibuat dengan menggunakan bahasa pemrograman Java dan MySQL 5.1.19 sebagai database.
ix
ABSTRACT
Along with the development of a company, a few branch office start to
build in some places. It will cause a long time to fulfill distribution data for the main office, because the branch office still sending the data through the mail.
This final project is developing the distributed database system that limited on replication to obtain the distribution data and partitioning to obtain the management data. Replication will implement on branch office’s database, which is Jakarta, using master-slave replication. Partitioning will implement on table klaim and polis, using partition by range. The implementation is using a case in insurance, especially personal accident insurance.
The result of this implementation is the efficiency in maintaining and distributing data from branch office to main office. This system is created by using Java as programming language and MySQL 5.1.19 as database.
x
KATA PENGANTAR
Puji dan syukur saya haturkan kepada Tuhan Yesus Kristus, karena atas ijin
dan kehendak-Nya saya dapat menyelesaikan tugas akhir ini.
Dalam proses penulisan tugas akhir ini saya menyadari bahwa ada begitu
banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya
masing-masing sehingga tugas akhir ini dapat selesai. Oleh karena itu saya ingin
mengucapkan terima kasih antara lain kepada :
1. Bapak Ir. Gregorius Heliarko, S.J., S.S., B.S.T., M.A., M.Sc. selaku Dekan
Fakultas Sains dan Teknologi, Universitas Sanata Dharma.
2. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Tugas
Akhir dan Dosen Pembimbing Akademik, yang telah banyak memberikan
bimbingan, dukungan, motivasi dan fasilitas yang mendukung
terselesaikannya tugas akhir ini.
3. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika.
4. Bapak St. Wisnu Wijaya, S.T., M.T dan Bapak Alb. Agung Hadhiatma,
S.T., M.T. selaku panitia penguji yang telah memberikan banyak kritik dan
saran untuk tugas akhir saya.
5. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang
telah banyak memberikan bekal ilmu, arahan dan pengalaman selama saya
menempuh studi.
xi
6. Seluruh staff Sekretariat Teknik, yang banyak membantu saya dalam urusan
administrasi akademik terutama menjelang ujian tugas akhir.
7. Seluruh karyawan PT. Asuransi Umum Sarana Lindung Upaya Cabang
Jakarta, yang telah memberikan bantuan dalam menyelesaikan tugas akhir.
8. Mama dan Babe tercinta. Terima kasih atas semua yang telah dilakukan
untukku, doa, semangat, dukungan, perhatian dan cintanya sehingga saya
bisa menyelesaikan studi dengan lancar.
9. My beloved sisters, Tatha dan Ema. Terima kasih atas dukungan, doa,
semangat dan keceriaan yang telah diberikan.
10. Andreas Agus Winarno, terima kasih atas segala cinta, sayang, perhatian,
kesetiaan, kesabaran, ilmu, waktu dan semua yang telah kamu berikan
padaku.
11. Teman-teman Informatika : Sarah dan Merry atas kerja sama dalam
pengerjaan kerja praktek dan seminar kita. Agus, Fenddy, Sarah, Devi atas
kerja sama dalam proyek RPL. Adwi, Angga, Ellen, Ones, JeJe, Yansen,
Abe, Pakde, Ina, Dea, Hendro, Dian, Winda, Uthe, Jun, Bergas, Eko,
Hendrik, Dion, Danang, Heni, Marcel, Isti, Kristin, Ratih, Irvan, Gina, Anis,
Epot, Dani, Wikan, Linda, Rissa, Santos, Amin, Ari, Seno, Chandra, Hana,
Davied, Tika, Marry, Monic, Yeyen, Erick, Pamako, Nur, Rubin, Essther,
Oscar, Ria, Rachel; dan semua teman-teman TI lainnya.
12. Seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir
ini yang tidak bisa saya sebutkan satu per satu.
xii
Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari
sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir
ini sangat saya harapkan. Akhir kata, semoga tugas akhir ini bermanfaat bagi
semua pihak. Terima kasih.
Yogyakarta, 17 Maret 2008
Penulis
xiii
DAFTAR ISI
HALAMAN JUDUL .................................................................................................
HALAMAN PERSETUJUAN ..................................................................................
HALAMAN PENGESAHAN ...................................................................................
PERNYATAAN KEASLIAN KARYA ...................................................................
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI.....................................
HALAMAN MOTTO ...............................................................................................
HALAMAN PERSEMBAHAN ...............................................................................
INTISARI...................................................................................................................
ABSTRACT ..............................................................................................................
KATA PENGANTAR ..............................................................................................
DAFTAR ISI .............................................................................................................
DAFTAR GAMBAR ...............................................................................................
DAFTAR TABEL ...................................................................................................
i
iii
iv
v
vi
vii
viii
ix
x
xi
xiv
xxi
xxiv
BAB I. PENDAHULUAN
1.1 Latar Belakang Masalah .............................................................................
1.2 Rumusan Masalah .......................................................................................
1.3 Batasan Masalah .........................................................................................
1.4 Tujuan dan Manfaat Penelitian....................................................................
1.5 Metodelogi Penelitian .................................................................................
1.6 Sistematika Penulisan .................................................................................
1
2
3
3
4
5
xiv
BAB II. LANDASAN TEORI
2.1 Database.......................................................................................................
2.2 Distributed Database Management System (DDBMS)...............................
2.3 Sistem Database Terdistribusi
2.3.1 Pengertian Sistem Database Terdistribusi….....................................
2.3.2 Transparansi pada Sistem Terdistribusi…........................................
2.3.3 Tujuan Sistem Database Terdistribusi..............................................
2.4 Replikasi di MySQL………………………………………………………
2.5 Partisi di MySQL 5.1
2.5.1 Jenis – Jenis Partisi di MySQL 5.1...................................................
2.5.2 Aturan dan Batasan Partisi di MySQL 5.1........................................
BAB III. ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
3.1.1 Gambaran Umum Sistem Lama........................................................
3.1.2 Orang Yang Terlibat Dalam Sistem..................................................
3.1.3 Analisis Masalah...............................................................................
3.1.4 Gambaran Umum Sistem Baru.........................................................
3.1.5 Desain Arsitektur Replikasi..............................................................
3.1.6 Use Case Diagram
3.1.6.1 Use Case Diagram Admin....................................................
3.1.6.1.1 Use Case Diagram Admin Sub Proses Pengaturan
7
8
8
9
12
12
14
15
16
18
19
19
19
22
xv
Data.......................................................................
3.1.6.1.2 Use Case Diagram Admin Sub Proses Pembuatan
Polis.......................................................................
3.1.6.1.3 Use Case Diagram Admin Sub Proses Pengajuan
Klaim.....................................................................
3.1.6.2 Use Case Diagram Karyawan Bagian Teknik......................
3.1.6.3 Use Case Diagram Karyawan Bagian Klaim........................
3.1.6.4 Use Case Diagram Kepala Bagian
3.1.6.4.1 Use Case Diagram Kepala Bagian Teknik……….
3.1.6.4.2 Use Case Diagram Kepala Bagian Klaim……......
3.1.6.5 Use Case Diagram Kepala Cabang……...............................
3.1.6.6 Use Case Diagram Kepala Divisi..……...............................
3.2 Desain Sistem
3.2.1 Sequence Diagram............................................................................
3.2.2 Class Diagram...................................................................................
3.2.3 Desain Database ...............................................................................
3.2.3.1 Entity Relationship Diagram................................................
3.2.3.2 Tabel Karyawan....................................................................
3.2.3.3 Tabel Perusahaan..................................................................
3.2.3.4 Tabel Bank……....................................................................
3.2.3.5 Tabel Polis……....................................................................
3.2.3.6 Tabel Klaim…......................................................................
3.2.3.7 Tabel Premi….......................................................................
23
24
25
26
27
28
29
30
31
32
37
39
39
41
41
42
42
43
44
xvi
3.2.3.8 Tabel Kantor….....................................................................
3.2.3.9 Tabel Reasuransi...................................................................
3.2.3.10 Tabel Kondisi Polis.........................................................
3.2.3.11 Tabel Kondisi Klaim.......................................................
3.2.3.12 Tabel Jabatan……………...............................................
3.2.3.13 Tabel User.......................................................................
3.2.4 Pemilihan Jenis Partisi......................................................................
3.2.5 Desain User Interface
3.2.5.1 Desain Input
3.2.5.1.1 Form Login............................................................
3.2.5.1.2 Form Setting Koneksi............................................
3.2.5.1.3 Form Menu Utama.................................................
3.2.5.1.4 Form Agenda Polis.................................................
3.2.5.1.5 Form Menambah Agenda Polis..............................
3.2.5.1.6 Form Mengupdate Agenda Polis............................
3.2.5.1.7 Form Agenda Klaim...............................................
3.2.5.1.8 Form Menambah Agenda Klaim............................
3.2.5.1.9 Form Mengupdate Agenda Klaim..........................
3.2.5.1.10 Form PLA..........................................................
3.2.5.1.11 Form DLA.........................................................
3.2.5.1.12 Form Persetujuan Klaim....................................
3.2.5.1.13 Form Outstanding Klaim...................................
3.2.5.1.14 Form Setting Bank............................................
44
44
45
45
46
46
47
48
48
49
49
50
50
51
51
52
52
53
53
54
54
xvii
3.2.5.1.15 Form Setting Kondisi........................................
3.2.5.1.16 Form Setting Premi...........................................
3.2.5.1.17 Form Setting Reasuransi...................................
3.2.5.1.18 Form Setting User.............................................
3.2.5.1.19 Form Proses List................................................
3.2.5.2 Desain Output
3.2.5.2.1 Laporan Agenda Klaim..........................................
3.2.5.2.2 Laporan Agenda Polis............................................
BAB IV. IMPLEMENTASI SISTEM
4.1 Implemetasi Replikasi .................................................................................
4.1.1 Membuat Database Jakarta dan Semarang........................................
4.1.2 Membuat User Slu..............................................................................
4.1.3 Membuat Tabel – Tabel yang Dibutuhkan Untuk Membangun
Sistem
4.1.3.1 Tabel Bank............................................................................
4.1.3.2 Tabel Jabatan........................................................................
4.1.3.3 Tabel Kantor.........................................................................
4.1.3.4 Tabel Karyawan....................................................................
4.1.3.5 Tabel Klaim..........................................................................
4.1.3.6 Tabel Kondisi Klaim.............................................................
4.1.3.7 Tabel Kondisi Polis...............................................................
4.1.3.8 Tabel Perusahaan..................................................................
55
55
56
56
57
57
58
59
60
60
61
61
61
62
62
63
63
64
xviii
4.1.3.9 Tabel Polis............................................................................
4.1.3.10 Tabel Premi.....................................................................
4.1.3.11 Tabel Reasuransi.............................................................
4.1.3.12 Tabel User.......................................................................
4.1.4 Mengatur Konfigurasi Untuk Database Server Master.....................
4.1.5 Mengatur Konfigurasi Untuk Database Server Slave........................
4.1.6 Menjalankan Replikasi.......................................................................
4.2 Koneksi Ke Database MySQL....................................................................
4.3 Implementasi User Interface
4.3.1 Form Login.........................................................................................
4.3.2 Form Setting Koneksi.........................................................................
4.3.3 Form Menu Utama.............................................................................
4.3.4 Form Agenda Polis.............................................................................
4.3.5 Form Menambah Agenda Polis..........................................................
4.3.6 Form Mengupdate Agenda Polis........................................................
4.3.7 Form Agenda Klaim...........................................................................
4.3.8 Form Menambah Agenda Klaim........................................................
4.3.9 Form Mengupdate Agenda Klaim......................................................
4.3.10 Form PLA......................................................................................
4.3.11 Form DLA.....................................................................................
4.3.12 Form Persetujuan Klaim................................................................
4.3.13 Form Outstanding Klaim...............................................................
4.3.14 Form Setting Bank.........................................................................
64
64
65
65
66
66
68
68
69
69
70
72
73
73
74
75
76
77
78
79
80
81
xix
4.3.15 Form Setting Kondisi.....................................................................
4.3.16 Form Setting Premi........................................................................
4.3.17 Form Setting Reasuransi................................................................
4.3.18 Form Setting User..........................................................................
4.3.19 Form Proses List............................................................................
BAB V. ANALISIS HASIL
5.1 Analisis Teknologi
5.1.1 Partisi..................................................................................................
5.1.2 Replikasi..............................................................................................
5.2 Kelebihan dan Kekurangan Sistem
5.2.1 Kelebihan Sistem ................................... ...........................................
5.2.2 Kekurangan Sistem ............................................................................
BAB VI. PENUTUP
6.1 Kesimpulan ..................................................................................................
6.2 Saran ............................................................................................................
DAFTAR PUSTAKA
82
83
84
85
86
87
92
96
97
98
99
xx
DAFTAR GAMBAR
Gambar Keterangan Halaman
3.1 Desain Arsitektur Replikasi dan Partisi 20
3.2 Use Case Diagram Admin 22
3.3 Use Case Diagram Admin Sub Proses Pengaturan Data 23
3.4 Use Case Diagram Admin Sub Proses Pembuatan Polis 24
3.5 Use Case Diagram Admin Sub Proses Pengajuan Klaim 25
3.6 Use Case Diagram Karyawan Bagian Teknik 26
3.7 Use Case Diagram Karyawan Bagian Klaim 27
3.8 Use Case Diagram Kepala Bagian Teknik 28
3.9 Use Case Diagram Kepala Bagian Klaim 29
3.10 Use Case Diagram Kepala Cabang 30
3.11 Use Case Diagram Kepala Divisi 31
3.12 Class Diagram 38
3.13 Entity Relationship Diagram 40
3.14 Form Login 48
3.15 Form Setting Koneksi 48
3.16 Form Menu Utama 49
3.17 Form Agenda Polis 49
3.18 Form Menambah Agenda Polis 50
3.19 Form Mengupdate Agenda Polis 50
3.20 Form Agenda Klaim 51
3.21 Form Menambah Agenda Klaim 51
3.22 Form Mengupdate Agenda Klaim 52
3.23 Form PLA 52
3.24 Form DLA 53
3.25 Form Persetujuan Klaim 53
3.26 Form Outstanding Klaim 54
xxi
3.27 Form Setting Bank 54
3.28 Form Setting Kondisi 55
3.29 Form Setting Premi 55
3.30 Form Setting Reasuransi 56
3.31 Form Setting User 56
3.32 Form Proses List 57
3.33 Laporan Agenda Klaim 57
3.34 Laporan Agenda Polis 58
4.1 Form Login 69
4.2 Form Setting Koneksi 70
4.3 Form Menu Utama 71
4.4 Form Agenda Polis 72
4.5 Form Menambah Agenda Polis 73
4.6 Form Mengupdate Agenda Polis 74
4.7 Form Agenda Klaim 75
4.8 Form Menambah Agenda Klaim 76
4.9 Form Mengupdate Agenda Klaim 77
4.10 Form PLA 78
4.11 Form DLA 79
4.12 Form Persetujuan Klaim 80
4.13 Form Outstanding Klaim 81
4.14 Form Setting Bank 82
4.15 Form Setting Kondisi 83
4.16 Form Setting Premi 84
4.17 Form Setting Reasuransi 85
4.18 Form Setting User 86
4.19 Form Proses List 87
5.1 Contoh Hasil Menampilkan Data Agenda Klaim
Menggunakan Database jakarta 88
xxii
5.2 Contoh Hasil Menampilkan Data Agenda Klaim
Menggunakan Database jakarta2 89
5.3 Contoh Menampilkan Data Agenda Polis Menggunakan
Replikasi 93
5.4 Contoh Menampilkan Data Agenda Polis Dengan
Mengakses Langsung ke Database Master 94
xxiii
DAFTAR TABEL
Tabel Keterangan Halaman
3.1 Tabel Karyawan 41
3.2 Tabel Perusahaan 41
3.3 Tabel Bank 42
3.4 Tabel Polis 42
3.5 Tabel Klaim 43
3.6 Tabel Premi 44
3.7 Tabel Kantor 44
3.8 Tabel Reasuransi 45
3.9 Tabel Kondisi_polis 45
3.10 Tabel Kondisi_klaim 45
3.11 Tabel Jabatan 46
3.12 Tabel User 46
5.1 Hasil Percobaan Menampilkan Agenda Polis Pada
Database yang Menggunakan Partisi dan yang Tidak
Menggunakan Partisi
90
5.2 Hasil Percobaan Menampilkan Agenda Klaim Pada
Database yang Menggunakan Partisi dan yang Tidak
Menggunakan Partisi
91
5.3 Hasil Percobaan Menampilkan Agenda Polis Pada
Database yang Menggunakan Replikasi dan yang Tidak
Menggunakan Replikasi
95
xxiv
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Seiring perkembangan teknologi informasi saat ini, banyak bidang usaha
yang membutuhkan teknologi informasi untuk mengatasi masalah-masalah yang
dihadapi. Salah satu masalah yang ada adalah ketika suatu perusahaan mulai
berkembang dan mulai membangun beberapa kantor cabang yang terpisah
secara geografis. Hal tersebut menjadi masalah ketika kantor cabang harus
dapat menyediakan data yang cukup banyak untuk menghasilkan informasi
yang dibutuhkan oleh kantor pusat untuk menjalankan sistem kerjanya.
Meskipun masalah di atas mungkin diselesaikan dengan membangun sebuah
database server pada setiap kantor pusat dan cabang yang terhubung dalam
sebuah jaringan, tetapi hal tersebut akan menyebabkan hilangnya komunikasi
antardatabase saat jaringan tersebut terputus. Sedangkan untuk menangani data
cukup banyak yang dihasilkan oleh setiap kantor, maka digunakan partisi pada
beberapa database yang memiliki data yang cukup banyak. Salah satu cara yang
mungkin dilakukan adalah dengan membangun sistem dengan database
terdistribusi yang mengimplementasikan replikasi dan partisi.
1
2
PT.Asuransi Sarana Lindung Upaya sebagai salah satu perusahaan yang
bergerak dalam bidang asuransi yang memiliki beberapa cabang yang terpisah
secara geografis. Setiap kali kantor cabang memproduksi sebuah polis ataupun
klaim, maka data-data tersebut harus dikirimkan melalui pos ke kantor pusat.
Biasanya pengiriman data-data tersebut membutuhkan waktu satu malam untuk
sampai ke kantor pusat. Pada perusahaan ini seluruh data yang ada masih
disimpan dalam bentuk berkas. Hal tersebut akan menyulitkan dalam pencarian
data, karena data – data yang ada cukup banyak. Sehingga diharapkan dengan
dibangun sebuah sistem dengan database terdistribusi yang
mengimplementasikan replikasi dan partisi dapat memudahkan dalam
memproses data yang ada dan mengirimkan data ke kantor pusat.
1.2. Rumusan Masalah
Dari latar belakang masalah yang telah dikemukakan dapat diperoleh
rumusan masalah, yaitu bagaimana mengimplementasikan replikasi dan partisi
di MySQL 5.1 pada sistem informasi asuransi personal accident dengan
menggunakan bahasa pemrograman Java.
3
1.3. Batasan Masalah
Untuk memusatkan penelitian pada pokok masalah, maka pembahasan
masalah pada tulisan ini akan dibatasi pada hal-hal berikut:
1. Hanya menitikberatkan pada replikasi di MySQL 5.1
2. Sistem database terdistibusi dibatasi pada penggunaan teknologi replikasi
single-master.
3. Jenis replikasi yang digunakan adalah replikasi master-slave, dimana
database pada kantor cabang Jakarta sebagai slave dan database pada
kantor pusat Semarang sebagai master.
4. Sistem tidak menangani pembayaran premi.
1.4. Tujuan dan Manfaat Penelitian
Tujuan dari penelitian yang dilakukan adalah menerapkan replikasi dan
partisi di MySQL 5.1 pada sistem informasi asuransi personal accident.
Adapun manfaat dari penilitian yang dilakukan adalah untuk membantu
memudahkan PT. Asuransi Umum Sarana Lindung Upaya dalam memproses
data dan mengirimkan data ke kantor pusat.
4
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan adalah :
1. Studi literatur
Mengumpulkan dan mempelajari data atau informasi melalui buku,
laporan, makalah, dan media informasi lainnya yang sesuai dengan sistem
yang dibuat.
2. Identifikasi masalah
Menggunakan teknik antara lain :
a. Mengambil data-data asuransi personal accident di PT. Asuransi
Umum Sarana Lindung Upaya cabang Jakarta.
b. Pengamatan (observasi) : melakukan pengamatan langsung di PT.
Asuransi Umum Sarana Lindung Upaya cabang Jakarta.
c. Wawancara (interview) : memperoleh keterangan untuk tujuan
penelitian dengan cara tanya jawab secara langsung dengan karyawan
PT. Asuransi Umum Sarana Lindung Upaya cabang Jakarta.
3. Menganalisis dan merancang sistem yang akan dibangun.
Perancangan sistem dengan menggunakan metodologi berorientasi object
dengan membuat use case diagram, class diagram, sequence diagram, ER-
Diagram, serta merancang design database dan user interface.
4. Implementasi sistem
Mengimplementasikan rancangan yang telah dibuat.
5
1.6. Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini membahas latar belakang masalah, rumusan masalah, batasan masalah,
tujuan penelitian, metodologi penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini membahas mengenai landasan teori yang menjelaskan tentang database,
Distributed Database Management System (DDBMS), database terdistribusi,
replikasi di MySQL, dan partisi di MySQL 5.1.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas analisis sistem yang lama dan yang akan dibangun serta
perancangan mengenai database dan user interface sistem yang akan dibangun.
BAB IV IMPLEMENTASI SISTEM
Bab ini membahas mengenai penjelasan rinci mengenai proses implementasi
perangkat lunak sesuai dengan analisis dan rancangan yang dikembangkan.
BAB V ANALISIS HASIL
Bab ini akan memuat analisis dari hasil implementasi sistem yang telah dibuat.
6
BAB VI KESIMPULAN DAN SARAN
Bab ini membahas kesimpulan yang didapat dari keseluruhan proses pembuatan
tugas akhir ini, serta beberapa saran untuk pengembangan sistem lebih lanjut.
BAB II
LANDASAN TEORI
2.1. Database
Database merupakan sekumpulan tabel data yang berisikan informasi
yang saling berhubungan satu sama lain (secara logika), biasanya disusun dalam
urutan tertentu untuk melayani satu atau lebih aplikasi secara optimal. Suatu
database dapat terdiri dari satu tabel saja.
Database dirancang atas dasar pendekatan aplikatif maupun pendekatan
sistem. Pendekatan aplikatif merupakan cara tradisional, dimana database
dirancang hanya untuk memenuhi satu aplikasi tertentu sehingga terdapat
kemungkinan satu data disiapkan dalam beberapa file berbeda untuk memenuhi
aplikasi-aplikasi yang berbeda. Sedangkan database yang dirancang dengan
pendekatan sistem, memberikan suatu database yang dapat dipergunakan untuk
lebih dari satu aplikasi, dengan mengurangi terjadinya kerangkapan data.
Database dapat berperan sebagai landasan bagi sistem informasi untuk
tujuan manajemen dan dapat mempengaruhi proses manajemen di dalam
organisasi, dengan cara menurunkan kendala-kendala penggunaan waktu yang
lama dan ketersediaan informasi.
7
8
2.2. Distributed Database Management System (DDBMS)
DBMS terditribusi adalah (Connoly, 2002) sistem perangkat lunak yang
mengijinkan pengolahan database terdistribusi dan membuat transparan
terhadap pemakainya. Sebuah DDBMS terdiri atas sebuah logical database
yang dibagi ke dalam sejumlah partisi. Tiap partisi disimpan pada satu
komputer atau lebih di bawah kontrol sebuah DBMS yang terpisah, dimana
komputer-komputer tersebut terhubung oleh suatu jaringan komunikasi. Tiap
site (tempat) mampu secara mandiri memproses permintaan user yang
membutuhkan akses ke data lokal dan mampu memproses data yang tersimpan
di komputer-komputer lain dalam jaringan tersebut.
2.3. Sistem Database Terdistribusi
2.3.1. Pengertian Sistem Database Terdistribusi
Sistem terdistribusi secara umum dapat diartikan sebagai sekumpulan
komputer-komputer otonomi yang terhubung melalui sebuah jaringan
komunikasi atau jaringan komputer agar terjadi pertukaran informasi
antarkomputer dan kerjasama antara komputer yang satu dengan komputer
yang lain untuk mencapai suatu fungsi.
Database terdistribusi (Conoly, 2002) adalah suatu kumpulan data
bersama yang saling berelasi secara logis, yang secara fisik tersebar di seluruh
jaringan komputer.
9
Sedangkan Sistem Database Terdistribusi adalah kumpulan lokasi
yang masing-masing mengoperasikan sistem database lokal dan juga dapat
mengakses data global. Tiap lokasi memiliki databasenya sendiri-sendiri
sehingga pengguna pada lokasi A dapat mengakses (dan mungkin
memperbarui) data pada lokasi B
2.3.2. Transparansi pada Sistem Terdistribusi
Sistem database terdistribusi menyediakan beberapa tipe transparansi
dalam Distributed DBMS antara lain :
a. Transparansi Distribusi (Distribution Transparency)
User tidak perlu tahu bahwa data didistribusi, user merasakan databasenya
sebagai database tunggal
1. Transparansi lokasi (location transparency), yang artinya bahwa
user tidak perlu tahu pada lokasi mana potongan data tersimpan, akan
tetapi user harus tahu bagaimana data di fragmentasi.
2. Transparansi fragmentasi (fragmentation transparency) artinya user
dapat melakukan semua akses seakan-akan relasi tidak terfragmentasi
(data merupakan satu kesatuan utuh kembali) dengan kata lain user
tidak perlu tahu bahwa data di fragmentasi dan user tidak perlu
menspesifikasikan nama-nama fragment dan lokasi-lokasi datanya.
Fragmentasi data mempunyai pengertian bahwa objek logikal yang
10
diberikan dapat dibagi-bagi menjadi potongan-potongan data
(fragment) untuk keperluan penyimpanan fisik.
3. Transparansi replikasi (replication tranparency) artinya user tidak
perlu tahu replikasi terhadap fragment-fragment, objek logikal yang
diberikan dapat ditampilkan pada level fisik dengan beberapa salinan
(replika) yang berbeda dari objek tersimpan yang sama, pada beberapa
sisi yang berbeda. Meskipun demikian mungkin sebuah sistem tidak
memiliki location tranparency tetapi memiliki replication
tranparency. Sehingga dapat dicatat bahwa transparansi lokasi,
fragmentasi dan replikasi secara bersamaan menyebabkan sistem
terdistribusi seakan-akan merupakan sistem terpusat dalam pandangan
user.
4. Transparansi Pemetaan Lokal (Local Mapping Transparency)
User harus menspesifikasikan baik nama-nama fragment maupun
lokasi item-item data.
5. Transparansi Penamaan (Naming Transparency)
Seperti database terpusat ataupun database terdistribusi harus
memiliki sebuah nama unik. Tidak boleh ada 2 site membuat sebuah
objek database dengan nama yang sama.
11
b. Transparansi Tranksaksi (Transaction Transparency)
Semua transaksi terdistribusi tetap menjaga konsistensi dan integritas
database terdistribusi, selain itu DDBMS juga harus memastikan
sinkronisasi subtransaksi-subtransaksi dengan transaksi lokal tetapi juga
subtransaksi-subtransaksi dengan transaksi global
1. Transparansi Concurrency (Concurrency Transparency)
Semua transaksi yang dilaksanakan bersamaan (baik terdistribusi
maupun tidak terdistribusi) sama seperti jika transaksi tersebut
dieksekusi pada satu waktu dalam urutan serial.
2. Transparansi Kegagalan (Failure Transparency)
Menjamin atomicity dari global transactions yang berarti memastikan
bahwa subtransaksi global transaction apakah semua commit atau
semua abort.
c. Transparansi Unjuk Kerja (Performance Transparency)
Sebuah DDBMS harus memiliki unjuk kerja seperti DBMS terpusat,
diharapkan sistem tidak mengalamai degradasi/unjuk kerja yang menurun
karena sistem memiliki artitektur terdistribusi.
d. Transparansi DBMS (DBMS Transparency)
Menyembunyikan knowledge bahwa lokal DDBMS dapat saja berbeda.
12
2.3.3 Tujuan Sistem Database Terdistribusi
Tujuan utama dari distribusi database adalah untuk memberikan
kemudahan akses data untuk para user di berbagai tempat. Dalam
perkembangannya sistem terdistribusi telah mengalami perubahan-perubahan
untuk memenuhi tujuan dan sasaran dari sistem terdistribusi antara lain :
1. Mendukung perkembangan dari aplikasi dalam jaringan komputer.
2. Konsistensi pelayanan dalam jaringan.
3. Perbaikan pelayanan dalam hal respon time dan availability.
2.4. Replikasi di MySQL
Dalam replikasi single-master, server master akan menulis update ke
binary log filenya dan menjaga index dari file tersebut untuk tetap berada pada
rotasi log (log rotation). Binary log file akan mengirmkan record yang diupdate
ke berbagai server slave. Ketika slave terhubung dengan master, slave akan
memberitahu master posisi slave yang membaca log yang berhasil diupdate
terakhir. Slave menerima berbagai record yang diupdate, kemudian memblok
dan menunggu master untuk mengetahui update yang terbaru.
Replikasi memungkinkan data dari satu MySQL database server (master)
untuk direplikasi ke satu atau lebih MySQL database server (slave). Replikasi
bersifat asynchronous, dimana slave tidak harus terhubung secara permanen
untuk menerima data terbaru dari master, yang berarti data terbaru tetap dapat
diterima melalui koneksi jarak jauh atau bahkan dial-up service. Sesuai dengan
13
pengaturan yang dilakukan, replikasi dapat dilakukan pada semua database,
beberapa database yang dipilih, atau bahkan beberapa tabel yang dipilih dalam
sebuah database.
Replikasi multiple-master mungkin untuk dilakukan di MySQL, tetapi
akan menimbulkan banyak masalah, tidak seperti penggunaan replikasi single-
master.
Target penggunaan replikasi di MySQL diantaranya adalah:
• Solusi berskala besar
Menyebarkan data melalui beberapa slave untuk meningkatkan unjuk
kerja. Dalam hal ini, semua write dan update berada pada master server.
• Keamanan data
Karena data direplikasi pada slave, dan slave dapat memberhentikan
proses replikasi, maka hal tersebut memungkinkan untuk menjalankan
servis backup tanpa merusak data master.
• Analitycs
Data dapat dibuat pada master ketika analisis informasi dapat mengambil
alih slave tanpa mempengaruhi unjuk kerja master
• Distribusi data jarak jauh
Jika kantor cabang akan bekerja dengan copy dari data utama, maka dapat
digunakan replikasi untuk membuat local copy dari data utama tanpa
membutuhkan akses permanen ke master.
14
2.5. Partisi di MySQL 5.1
2.5.1. Jenis – Jenis Partisi di MySQL 5.1
• Range Partitioning
Pada tabel yang dipartisi menggunakan range partitioning, akan berisi
baris dimana nilai expression sesuai dengan nilai range yang diberikan.
Range harus saling berurutan, tetapi tidak overlapping.
• List Partitioning
Dalam list partitioning setiap partisi didefinisikan dan dipilih berdasarkan
keanggotaan dari sebuah kolom dari suatu daftar.
• Hash Partitioning
Dalam hash partitioning yang harus dilakukan hanyalah
menspesifikasikan expression yang akan dipartisi dan jumlah partisinya.
Untuk menyimpan suatu record pada tabel yang dipartisi, hash
partitioning menggunakan algoritma modulus
• Linear Hash Partitioning
Linear hash partitioning merupakan perluasan dari hash partitioning yang
menggunakan algoritma lebih kompleks untuk menentukan penyimpanan
suatu record pada tabel yang dipartisi, yaitu algoritma powers-of-two.
• Key Partitioning
Dalam key partitioning tabel akan dipartisi berdasakan key, baik primary
key maupun unique key.
15
2.5.2. Aturan dan Batasan Partisi di MySQL 5.1
Adapun beberpa aturan dan batasan dalam penggunaan partisi di
MySQL 5.1 adalah sebagai berikut :
• Jika membuat tabel dengan jumlah partisi yang besar, maka akan
muncul pesan kesalahan seperti Error code 24: Too many open
files
• Tabel yang dipartisi tidak mendukung foreign key
• Tabel yang dipartisi tidak mendukung FULLTEXT indexes
• Tabel yang dipartisi tidak mendukung GEOMETRY columns
• Pada MySQL 5.1.8, tabel temporari tidak dapat dipartisi
• Tabel yang menggunakan MERGE storage engine tidak dapat dipartisi.
• Semua tabel yang dipartisi dan di subpartisi harus menggunakan storage
engine yang sama
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
3.1.1. Gambaran Umum Sistem Lama
Sistem informasi personal accident yang digunakan di PT. Asuransi
Umum Sarana Lindung Upaya merupakan suatu sistem yang menangani
proses yang berkaitan dengan asuransi personal accident antara lain
pembuatan polis, pengajuan klaim, pembuatan agenda polis, pembuatan
agenda klaim.
Adapun prosedur pengajuan polis asuransi personal accident yang
dilakukan di kantor cabang Jakarta adalah sebagai berikut :
1. Karyawan yang bekerja pada suatu perusahaan (pihak tertanggung)
mengajukkan kredit pada sebuah bank yang bekerjasama dengan PT.
Asuransi Umum Sarana Lindung Upaya. Dengan demikian karyawan
tersebut akan mendapatkan asuransi personal accident dengan jangka
waktu sesuai dengan jangka waktu pengajuan kredit.
2. Pihak bank meminta PT. Asuransi Umum Sarana Lindung Upaya kantor
cabang Jakarta untuk dibuatkan polis.
16
17
3. PT. Asuransi Umum Sarana Lindung Upaya kantor cabang Jakarta
membuatkan polis asuransi personal accident
4. Dari polis-polis yang masuk dapat dibuatkan agenda polis (daftar peserta
asuransi).
Jika pihak tertanggung mengalami PHK atau meninggal dunia karena
sakit atau karena kecelakaan, maka dapat mengajukan klaim dengan prosedur
yang dilakukan di kantor cabang Jakarta adalah sebagai berikut :
1. Pihak bank melaporkan klaim yang diajukan oleh pihak tertanggung.
2. PT. Asuransi Umum Sarana Lindung Upaya kantor cabang Jakarta
membuatkan agenda klaim.
3. Kemudian membuat laporan klaim sementara atau Preliminary Loss
Advice (PLA) yang selanjutnya dikirimkan ke Reasuransi yang telah
ditunjuk pada awal pembuatan polis.
4. Setelah Reasuransi menyetujui PLA yang dikirimkan, maka dibuatkan
laporan klaim pasti atau Definite Loss Advice (DLA) yang dikirimkan ke
Reasuransi yang telah ditunjuk.
5. Reasuransi membayarkan klaim dan kemudian kantor cabang Jakarta
kemudian membayarkan ke pihak Bank yang mengajukan klaim. Jika
Reasuransi belum membayarkan klaim, maka data-data klaim termasuk
dalam outstanding klaim.
18
3.1.2. Orang Yang Terlibat Dalam Sistem
Dalam sistem informasi asuransi personal accident melibatkan enam
orang aktor, yaitu:
1. Admin
Orang yang bertanggung jawab penuh untuk mengelola sistem ini,
termasuk memberikan akses bagi aktor lain.
2. Karyawan Bagian Teknik
Orang yang menangani data-data pembuatan polis.
3. Karyawan Bagian Klaim
Orang yang menangani data-data yang berhubungan dengan klaim.
4. Kepala Bagian
Orang yang bertanggung jawab terhadap data-data polis dan klaim
asuransi personal accident yang masuk ke kantor pusat.
5. Kepala Cabang
Kepala Cabang bertanggung jawab di kantor cabang dan berwenang dalam
menyetujui suatu klaim yang masuk.
6. Kepala Divisi
Orang yang mengawasi dan melihat data-data polis atau klaim yang
masuk, serta berwenang dalam menyetujui klaim yang masuk.
19
3.1.3. Analisis Masalah
Permasalahan yang timbul adalah ketika kantor cabang Jakarta harus
mengirimkan berkas-berkas polis dan klaim ke kantor pusat Semarang. Pada
PT. Asuransi Umum Sarana Lindung Upaya seluruh pengiriman berkas-
berkas cabang ke kantor pusat, masih menggunakan jasa pos.
3.1.4. Gambaran Umum Sistem Baru
Untuk menangani permasalahan di atas, maka akan dibuat sebuah
sistem baru yang menerapkan teknologi database terdistribusi dengan
menggunakan teknologi replikasi dan partisi.
Penggunaan teknologi replikasi akan mendistribusikan data polis dan
klaim yang baru ke server kantor pusat Semarang dari kantor cabang Jakarta.
Dengan menggunakan teknologi ini, maka pengiriman data dari kantor cabang
ke kantor pusat tidak lagi dilakukan dengan menggunakan jasa pos.
Sedangkan penggunaan teknologi partisi akan lebih memudahkan dalam
mengelola data.
3.1.5. Desain Arsitektur Replikasi
Di setiap kantor cabang dan kantor pusat akan memiliki sebuah server
yang saling terhubung satu dengan yang lain dalam suatu jaringan. Teknologi
replikasi yang akan digunakan adalah replikasi master-slave. Sedangkan
teknologi partisi yang akan digunakan adalah jenis partisi range partitioning.
20
Gambar arsitektur desain replikasi dan partisi data polis antara server kantor
pusat Semarang dan cabang Jakarta terlihat pada Gambar 3.1.
Gambar 3.1 Desain Arsitektur Replikasi dan Partisi
Pada gambar di atas database server pada kantor pusat Semarang akan
menjadi slave, sedangkan database server yang terdapat di kantor cabang,
contohnya Jakarta, akan menjadi master. Adapun data-data yang terdapat pada
kantor pusat akan berisi semua data yang merupakan hasil replikasi dari
kantor cabang. Data yang direplikasi adalah tabel-tabel yang berhubungan
21
dengan pembuatan polis dan klaim yang akan terdapat dalam database sesuai
dengan nama kantor. Pada gambar di atas dapat dilihat pada slave terdapat
sebuah database, yaitu jakarta. Nantinya akan pada master akan terdapat dua
buah database, yaitu database semarang dan jakarta. Database semarang
akan berisi data – data pembuatan polis dan klaim pada kantor pusat
semarang. Sedangkan database jakarta merupakan data-data hasil replikasi
dari kantor cabang jakarta.
22
3.1.6. Use Case Diagram
3.1.6.1. Use Case Diagram Admin
Gambar 3.2 Use Case Diagram Admin
23
3.1.6.1.1. Use Case Diagram Admin Sub Proses Pengaturan Data
Gambar 3.3 Use Case Diagram Admin Sub Proses Pengaturan Data
24
3.1.6.1.2. Use Case Diagram Admin Sub Proses Pembuatan Polis
Gambar 3.4 Use Case Diagram Admin Sub Proses Pembuatan Polis
25
3.1.6.1.3. Use Case Diagram Admin Sub Proses Pengajuan Klaim
Gambar 3.5 Use Case Diagram Admin Sub Proses Pengajuan Klaim
26
3.1.6.2. Use Case Diagram Karyawan Bagian Teknik
Gambar 3.6 Use Case Diagram Karyawan Bagian Teknik
27
3.1.6.3. Use Case Diagram Karyawan Bagian Klaim
Gambar 3.7 Use Case Diagram Karyawan Bagian Klaim
28
3.1.6.4. Use Case Diagram Kepala Bagian
3.1.6.4.1. Use Case Diagram Kepala Bagian Teknik
Gambar 3.8 Use Case Diagram Kepala Bagian Teknik
29
3.1.6.4.2. Use Case Diagram Kepala Bagian Klaim
Gambar 3.9 Use Case Diagram Kepala Bagian Klaim
30
3.1.6.5. Use Case Diagram Kepala Cabang
Gambar 3.10 Use Case Diagram Kepala Cabang
31
3.1.6.6. Use Case Diagram Kepala Divisi
Gambar 3.11 Use Case Diagram Kepala Divisi
32
3.2. Desain Sistem
3.2.1. Sequence Diagram
Proses Memasukkan Data Bank
: form tambah bank : Admin
: layar bank : bank kontrol : bank
tambah_bank()
tambah_bank()
jalankan form tambah bank
tampilkan form tambah bank
masukkan data bank baru
lakukan tambah data bank
simpan data bank
Proses Mengedit Data Bank
: Admin : layar bank : bank kontrol : bank : form edit bank
edit_bank()
edit_bank()
jalankan form edit bank
tampilkan form edit bank
masukkan data edit bank
lakukan edit data bank
simpan data bank
33
Proses Menambah Data Reasuransi
: Admin : layar reasuransi : reasuransi kontrol : reasuransi : form tambah reasuransi
tambah_reasuransi()
tambah_reasuransi()
jalankan form tambah reasuransi
tampilkan form tambah reasuransi
masukkan data reasuransi baru
lakukan tambah data reasuransi
simpan data reasuransi
Proses Mengedit Data Reasuransi
: layar reasuransi : Admin : reasuransi kontrol : reasuransi : form edit reasuransi
edit_reasuransi()
edit_reasuransi()
jalankan form edit reasuransi
tampilkan form edit reasuransi
masukkan data edit reasuransi
lakukan edit data reasuransi
simpan data reasuransi
34
Proses Menambah Data Polis
: polis : Karyawan Bagian Teknik
: layar polis : polis kontrol : karyawan : form pembuatan polis
tambah_pembuatan_polis()
tambah_pembuatan_polis()
jalankan form pembuatan polis
tampilkan form pembuatan polis
masukkan data pembuatan polis baru
tambah_karyawan()
simpan data karyawan
tambah_pembuatan_polis()
simpan data pembuatan polis
Proses Mengedit Data Polis
: form edit pol is : Karyawan Bagian Teknik
: layar polis : polis kontrol : karyawan : polis
edit_polis()
edit_polis()
jalankan form edit polis
tampilkan form edit polis
memasukkan data edit polis
edit_karyawan()
simpan data karyawan
edit_polis()
simpan data polis
35
Proses Menambah Data Klaim
: Karyawan Bagian Klaim
: layar klaim : klaim kontrol : klaim : form tambah klaim
tambah_klaim()
tambah_klaim()
jalankan form tambah klaim
tampilkan form tambah klaim
masukkan data klaim baru
lakukan tambah data klaim
simpan data klaim
Proses Mengedit Data Klaim
: Karyawan Bagian Klaim
: layar klaim : klaim kontrol : klaim : form edit klaim
edit_klaim()
edit_klaim()
jalankan form edit klaim
tampilkan form edit klaim
masukkan data edit klaim
lakukan edit data klaim
simpan data klaim
36
Proses Tampil Agenda Polis
: polis: Kepala Cabang : layar agenda polis : polis control : karyawan
tampil_agenda_polis()
tampil_agenda_polis()
ambil data karyawan
ambil data polis
tampil agenda polis
Proses Login
: menu utama : Kepala Bagian : layar login : login control : user
login()
login()
ambil username & password
cek username & password
jalankan menu utama
tampilkan menu utama
kembali ke menu login
username & password val id
username & password tidak val id
3.2.2. Class Diagram
Class diagram untuk sistem yang akan dibangun terlihat pada gambar 3.12.
Konfirmasi Persetujuan Klaim
: Kepala Divisi : layar klaim : klaim kontrol : klaim : form persetujuan klaim
konfi rmasi persetujuan klaim
jalankan form persetujan klaim
tampilkan form persetujuan klaim
masukkan persetujuan
set status klaim menjadi disetujui
simpan data klaim
set status klaim menjadi ditolak
simpan data klaim
Klaim disetujui
Klaim ditolak
konfi rmasi persetujuan klaim
37
38
Gambar 3.12 Class Diagram
3.2.3.1. Entity Relationship Diagram
ER diagram dari sistem yang akan dibangun terlihat pada gambar 3.13.
3.2.3. Desain Database
Tabel-tabel yang terdapat dalam database pada tiap-tiap server adalah tabel
bank, tabel jabatan, tabel kantor, tabel karyawan, tabel klaim, tabel kokndisi_klaim,
tabel kondisi_polis, tabel perusahaan, tabel polis, tabel premi, tabel reasuransi, dan
tabel user.
39
40
Gambar 3.13 Entity Relationship Diagram
41
3.2.3.2. Tabel Karyawan
Tabel karyawan digunakan untuk menyimpan data-data karyawan
pemegang polis, dengan format seperti terlihat pada Tabel 3.1.
Tabel 3.1 Tabel Karyawan
Nama Field Tipe Data Ukuran
id_karyawan int -
id_polis int -
nama_karyawan varchar 100
tanggal_lahir date -
perusahaan int -
pertanggungan double -
tgl_mulai date -
tgl_selesai date -
premi decimal 10,2
jml_phk int -
3.2.3.3. Tabel Perusahaan
Tabel perusahaan digunakan untuk menyimpan data-data perusahaan,
dengan format seperti terlihat pada Tabel 3.2.
Tabel 3.2 Tabel Perusahaan
Nama Field Tipe Data Ukuran
id_perusahaan int -
nama_perusahaan varchar 50
42
3.2.3.4. Tabel Bank
Tabel bank digunakan untuk menyimpan data-data bank, dengan
format seperti terlihat pada Tabel 3.3.
Tabel 3.3 Tabel Bank
Nama Field Tipe Data Ukuran
id_bank int -
nama_bank varchar 50
alamat_bank varchar 100
3.2.3.5. Tabel Polis
Tabel polis digunakan untuk menyimpan data-data polis, dengan
format seperti terlihat pada Tabel 3.4.
Tabel 3.4 Tabel Polis
Nama Field Tipe Data Ukuran
id_polis int -
id_bank int -
no_polis int -
no_reg varchar 7
tanggal_produksi date -
kondisi int -
reasuransi int -
Nantinya tabel polis akan dipartisi berdasarkan tahun dari tanggal_produksi
dengan menggunakan jenis partisi range partitioning.
43
3.2.3.6. Tabel Klaim
Tabel klaim digunakan untuk menyimpan data-data klaim, dengan
format seperti terlihat pada Tabel 3.5.
Tabel 3.5 Tabel Klaim
Nama Field Tipe Data Ukuran
no_klaim int
tgl_produksi_klaim date -
tertanggung int -
tgl_kejadian date
tempat_kejadian varchar 200
sebab_kejadian int -
jml_klaim int -
no_pla varchar 30
remark_pla varchar 100
tgl_produksi_pla date -
no_pla varchar 30
remark_pla varchar 100
jml_estimasi int -
jml_disetujui int -
tgl_disetujui date
jml_dibayarkan int -
tgl_dibayarkan date
Nantinya tabel klaim akan dipartisi berdasarkan tahun dari
tanggal_produksi_klaim dengan menggunakan jenis partisi range
partitioning.
44
3.2.3.7. Tabel Premi
Tabel premi digunakan untuk menyimpan data premi, dengan format
seperti terlihat pada Tabel 3.6.
Tabel 3.6 Tabel Premi
Nama Field Tipe Data Ukuran
umur int -
premi double -
phk double -
3.2.3.8. Tabel Kantor
Tabel kantor digunakan untuk menyimpan data mengenai kantor pusat
dan cabang, dengan format seperti terlihat pada Tabel 3.7.
Tabel 3.7 Tabel Kantor
Nama Field Tipe Data Ukuran
id_kantor int -
nama_kantor varchar 30
alamat_kantor varchar 50
3.2.3.9. Tabel Reasuransi
Tabel reasuransi digunakan untuk menyimpan data-data reasuransi,
dengan format seperti terlihat pada Tabel 3.8.
45
Tabel 3.8 Tabel Reasuransi
Nama Field Tipe Data Ukuran
id_reasuransi int -
nama_reasuransi varchar 20
inisial varchar 3
3.2.3.10. Tabel Kondisi Polis
Tabel kondisi_polis digunakan untuk menyimpan data-data kondisi
suatu polis, dengan format seperti terlihat pada Tabel 3.9.
Tabel 3.9 Tabel Kondisi_polis
Nama Field Tipe Data Ukuran
id_kondisi int
kondisi varchar 45
3.2.3.11. Tabel Kondisi Klaim
Tabel kondisi_klaim digunakan untuk menyimpan sebab terjadinya
suatu klaim, dengan format seperti terlihat pada Tabel 3.10.
Tabel 3.10 Tabel Kondisi_klaim
Nama Field Tipe Data Ukuran
id_kondisi int
kondisi varchar 45
46
3.2.3.12. Tabel Jabatan
Tabel jabatan digunakan untuk menyimpan data-data jabatan yang
selanjutnya akan diguanakan sebagai hak akses untuk setiap pengguna,
dengan format seperti terlihat pada Tabel 3.11.
Tabel 3.11 Tabel Jabatan
Nama Field Tipe Data Ukuran
id_jabatan int
jabatan varchar 50
3.2.3.13. Tabel User
Tabel User digunakan untuk menyimpan data-data user yang dapat
mengakses sistem ini, dengan format seperti terlihat pada Tabel 3.12.
Tabel 3.12 Tabel User
Nama Field Tipe Data Ukuran
id_user int
username varchar 10
password varchar 100
jabatan int -
kantor int -
47
3.2.4. Pemilihan Jenis Partisi
Penggunaan teknologi partisi akan dilakukan pada dua buah tabel,
yaitu pada tabel polis dan tabel klaim pada semua database. Tabel polis akan
dipartisi menggunakan jenis partisi range partitioning berdasarkan pada tahun
dari tanggal pembuatan polis. Sedangkan pada tabel klaim juga akan dipartisi
menggunakan jenis partisi range partitioning berdasarkan pada tahun dari
tanggal pembuatan klaim.
Pemilihan penggunaan range partitioning dikarenakan, dalam range
partitioning dapat menangani data yang memiliki nilai expression yang tidak
sesuai dengan nilai expression yang telah ditentukan. Hal tersebut
dikarenakan penggunaan operator kurang dari (less then (<)) serta
penggunaan maxvalue. Penggunaan operator kurang dari (less then (<)) dapat
memungkinkan data yang memiliki nilai expression lebih kecil dari nilai
expression pada partisi pertama, akan disimpan dalam partisi pertama.
Sedangkan penggunaan maxvalue sebagai nilai expression pada partisi
terakhir memungkinkan data yang memiliki nilai expression lebih besar dari
nilai expression yang ada, akan disimpan pada partisi terakhir.
48
3.2.5. Desain User Interface
3.2.5.1. Desain Input
3.2.5.1.1. Form Login
Gambar 3.14 Form Login
3.2.5.1.2. Form Setting Koneksi
Gambar 3.15 Form Setting Koneksi
49
3.2.5.1.3. Form Menu Utama
Gambar 3.16 Form Menu Utama
3.2.5.1.4. Form Agenda Polis
50
Gambar 3.17. Form Agenda Polis
3.2.5.1.5. Form Menambah Agenda Polis
Gambar 3.18. Form Menambah Agenda Polis
3.2.5.1.6. Form Mengupdate Agenda Polis
51
Gambar 3.19. Form Mengupdate Agenda Polis
3.2.5.1.7. Form Agenda Klaim
Gambar 3.20. Form Agenda Klaim
3.2.5.1.8. Form Menambah Agenda Klaim
52
Gambar 3.21. Form Menambah Agenda Klaim
3.2.5.1.9. Form Mengupdate Agenda Klaim
Gambar 3.22. Form Mengupdate Agenda Klaim
3.2.5.1.10. Form PLA
53
Gambar 3.23. Form PLA
3.2.5.1.11. Form DLA
Gambar 3.24. Form DLA
3.2.5.1.12. Form Persetujuan Klaim
54
Gambar 3.25. Form Persetujuan Klaim
3.2.5.1.13. Form Outstanding Klaim
Gambar 3.26. Form Outstanding Klaim
3.2.5.1.14. Form Setting Bank
55
Gambar 3.27. Form Setting Bank
3.2.5.1.15. Form Setting Kondisi
Gambar 3.28. Form Setting Kondisi
3.2.5.1.16. Form Setting Premi
56
Gambar 3.29. Form Setting Premi
3.2.5.1.17. Form Setting Reasuransi
Gambar 3.30. Form Setting Reasuransi
3.2.5.1.18. Form Setting Reasuransi
57
Gambar 3.31. Form Setting User
3.2.5.1.19. Form Proses List
Gambar 3.32. Form Proses List
3.2.5.2. Desain Output
3.2.5.2.1. Laporan Agenda Klaim
58
Gambar 3.33. Laporan Agenda Klaim 3.2.5.2.2. Laporan Agenda Polis
59
Gambar 3.34. Laporan Agenda Polis
BAB IV
IMPLEMENTASI SISTEM
Pada bab ini akan dibahas bagaimana mengimplementasikan sistem dari
tahap analisis dan desain ke dalam bahasa pemrograman. Sistem ini dibuat dengan
spesifikasi perangkat lunak sebagai berikut.
1. Sistem Operasi Microsoft Windows XP Professional SP 2.
2. IDE NetBeans 5.5.
3. Database MySQL 5.1.19
4. Bahasa Pemrograman J2SE.
5. iReport 2.0.0
4.1. Implementasi Replikasi
Sistem ini dibangun dengan menggunakan teknologi replikasi
master-slave, dimana database server kantor cabang jakarta merupakan
master dan database server kantor pusat semarang merupakan slave.
Adapun langkah – langkah proses implementasi replikasi adalah sebagai
berikut:
1. Membuat database jakarta dan semarang.
2. Membuat user slu.
3. Membuat tabel – tabel yang dibutuhkan untuk membangun sistem
ini, yaitu tabel bank, tabel jabatan, tabel kantor, tabel karyawan, tabel
59
60
klaim, tabel kondisi_klaim, tabel kondisi_polis, tabel perusahaan,
tabel polis, tabel premi, tabel reasuransi, dan tabel user. Dimana pada
tabel polis dan klaim akan dibangun dengan menggunakan teknologi
partisi.
4. Mengatur konfigurasi untuk database server master.
5. Mengatur konfigurasi untuk database server slave.
6. Menjalankan replikasi.
4.1.1. Membuat Database Jakarta dan Semarang
Pada database server jakarta dibuat database jakarta dengan
menggunakan sintaks SQL sebagai berikut:
create database ‘jakarta’
Sedangkan pada database server semarang dibuat database
semarang dengan menggunakan sintaks SQL sebagai berikut:
create database ‘jakarta’
4.1.2. Membuat User Slu
User slu merupakan user yang akan digunakan untuk mengakses
database sistem. Untuk membuat user slu digunakan sintaks SQL sebagai
berikut:
create user slu identified by ‘slu’;
61
Agar dapat mengakses database sistem dan melakukan replikasi,
maka user slu diberikan privileges dengan menggunakan sintaks SQL
sebagai berikut:
grant all privileges on *.* to 'slu'@'%' identified by 'slu';
4.1.3. Membuat Tabel – Tabel yang Dibutuhkan Untuk Membangun Sistem
4.1.3.1. Tabel Bank
Tabel bank digunakan untuk menyimpan data bank. Tabel bank
dibuat dengan menggunakan sintaks SQL sebagai berikut:
CREATE TABLE `bank` ( `id_bank` int(11) NOT NULL, `nama_bank` varchar(45) NOT NULL, `alamat_bank` varchar(150) NOT NULL DEFAULT '-' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.2. Tabel Jabatan
Tabel jabatan digunakan untuk menyimpan data jabatan user.
Tabel jabatan dibuat dengan menggunakan sintaks SQL sebagai berikut:
CREATE TABLE `jabatan` ( `id_jabatan` int(11) NOT NULL AUTO_INCREMENT, `jabatan` varchar(50) NOT NULL, PRIMARY KEY (`id_jabatan`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.3. Tabel Kantor
Tabel kantor digunakan untuk menyimpan data kantor. Tabel
kantor dibuat dengan menggunakan sintaks SQL sebagai berikut:
62
CREATE TABLE `kantor` ( `id_kantor` int(11) NOT NULL, `nama_kantor` varchar(25) NOT NULL, `alamat_kantor` varchar(100) NOT NULL DEFAULT '-', PRIMARY KEY (`id_kantor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.4. Tabel Karyawan
Tabel karyawan digunakan untuk menyimpan data karyawan
pemegang polis. Tabel karyawan dibuat dengan menggunakan sintaks
SQL sebagai berikut:
CREATE TABLE `karyawan` ( `id_karyawan` int(11) NOT NULL, `id_polis` int(11) NOT NULL, `nama_karyawan` varchar(100) NOT NULL, `tgl_lahir` date NOT NULL, `perusahaan` int(11) NOT NULL, `pertanggungan` int(11) NOT NULL, `tgl_mulai` date NOT NULL DEFAULT '1000-01-01', `tgl_selesai` date NOT NULL DEFAULT '1000-01-01', `premi` decimal(10,2) NOT NULL, `jml_phk` int(11) NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.5. Tabel Klaim
Tabel klaim digunakan untuk menyimpan data klaim. Tabel klaim
dibuat dengan menggunakan sintaks SQL sebagai berikut:
CREATE TABLE `klaim` ( `no_klaim` int(11) NOT NULL, `tgl_produksi_klaim` date NOT NULL, `tertanggung` int(11) NOT NULL, `tgl_kejadian` date NOT NULL, `tempat_kejadian` varchar(200) NOT NULL, `kondisi_klaim` int(11) NOT NULL, `jml_klaim` int(11) NOT NULL, `no_pla` varchar(30) NOT NULL DEFAULT '-', `remark_pla` varchar(100) NOT NULL DEFAULT '-', `tgl_produksi_pla` date NOT NULL DEFAULT '1000-01-01', `no_dla` varchar(30) NOT NULL DEFAULT '-', `remark_dla` varchar(100) NOT NULL DEFAULT '-', `jml_estimasi` int(11) NOT NULL, `jml_disetujui` int(11) NOT NULL DEFAULT '0', `tgl_disetujui` date NOT NULL DEFAULT '1000-01-01',
63
`jml_dibayarkan` int(11) NOT NULL DEFAULT '0', `tgl_dibayarkan` date NOT NULL DEFAULT '1000-01-01' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY RANGE (year(tgl_produksi_klaim)) ( PARTITION p2005 VALUES LESS THAN (2005), PARTITION p2006 VALUES LESS THAN (2006), PARTITION p2007 VALUES LESS THAN (2007), PARTITION p2008 VALUES LESS THAN (2008), PARTITION p2009 VALUES LESS THAN (2009), PARTITION p2010 VALUES LESS THAN (2010), PARTITION p2011 VALUES LESS THAN MAXVALUE );
4.1.3.6. Tabel Kondisi Klaim
Tabel kondisi klaim digunakan untuk menyimpan data penyebab
terjadinya klaim. Tabel kondisi klaim dibuat dengan menggunakan
sintaks SQL sebagai berikut:
CREATE TABLE `kondisi_klaim` ( `id_kondisi` int(11) NOT NULL AUTO_INCREMENT, `kondisi` varchar(50) NOT NULL, PRIMARY KEY (`id_kondisi`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.7. Tabel Kondisi Polis
Tabel kondisi polis digunakan untuk menyimpan data kondisi
polis. Tabel kondisi polis dibuat dengan menggunakan sintaks SQL
sebagai berikut:
CREATE TABLE `kondisi_polis` ( `id_kondisi` int(11) NOT NULL AUTO_INCREMENT, `kondisi` varchar(45) NOT NULL, PRIMARY KEY (`id_kondisi`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
64
4.1.3.8. Tabel Perusahaan
Tabel perusahaan digunakan untuk menyimpan data perusahaan
tempat karyawan pemegang polis bekerja. Tabel perusahaan dibuat
dengan menggunakan sintaks SQL sebagai berikut:
CREATE TABLE `perusahaan` ( `id_perusahaan` int(11) NOT NULL AUTO_INCREMENT, `nama_perusahaan` varchar(25) NOT NULL, PRIMARY KEY (`id_perusahaan`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.9. Tabel Polis
Tabel polis digunakan untuk menyimpan data polis. Tabel polis
dibuat dengan menggunakan sintaks SQL sebagai berikut:
CREATE TABLE `polis` ( `id_polis` int(11) NOT NULL, `id_bank` int(11) NOT NULL, `no_polis` int(11) NOT NULL, `no_reg` varchar(7) NOT NULL, `tgl_produksi` date NOT NULL, `kondisi` int(11) NOT NULL DEFAULT '1', `reasuransi` int(11) NOT NULL DEFAULT '109' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY RANGE (year(tgl_produksi))( PARTITION p2005 VALUES LESS THAN (2005), PARTITION p2006 VALUES LESS THAN (2006, PARTITION p2007 VALUES LESS THAN (2007), PARTITION p2008 VALUES LESS THAN (2008), PARTITION p2009 VALUES LESS THAN (2009), PARTITION p2010 VALUES LESS THAN (2010), PARTITION p2011 VALUES LESS THAN MAXVALUE );
4.1.3.10. Tabel Premi
Tabel premi digunakan untuk menyimpan data premi. Tabel premi
dibuat dengan menggunakan sintaks SQL sebagai berikut:
65
CREATE TABLE `premi` ( `umur` int(11) NOT NULL, `jangka_waktu` int(11) NOT NULL, `premi` decimal(10,2) NOT NULL, `phk` decimal(10,2) NOT NULL, PRIMARY KEY (`umur`,`jangka_waktu`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.11. Tabel Reasuransi
Tabel reasuaransi digunakan untuk menyimpan data reasuransi.
Tabel reasuransi dibuat dengan menggunakan sintaks SQL sebagai
berikut:
CREATE TABLE `reasuransi` ( `id_reasuransi` int(11) NOT NULL, `nama_reasuransi` varchar(25) NOT NULL, `inisial` varchar(3) NOT NULL DEFAULT '-', PRIMARY KEY (`id_reas`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.3.12. Tabel User
Tabel user digunakan untuk menyimpan data user. Tabel user
dibuat dengan menggunakan sintaks SQL sebagai berikut:
CREATE TABLE `user` ( `id_user` int(11) NOT NULL AUTO_INCREMENT, `kantor` int(11) NOT NULL, `username` varchar(15) NOT NULL, `password` varchar(150) NOT NULL, `jabatan` int(11) NOT NULL, PRIMARY KEY (`id_user`), UNIQUE KEY `username` (`username`), KEY `FK_user_kantor` (`kantor`), KEY `FK_user_jabatan` (`jabatan`), CONSTRAINT `FK_user_jabatan` FOREIGN KEY (`jabatan`) REFERENCES
`jabatan` (`id_jabatan`), CONSTRAINT `FK_user_kantor` FOREIGN KEY (`kantor`) REFERENCES
`kantor` (`id_kantor`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
66
4.1.4. Mengatur Konfigurasi Untuk Database Server Master
Agar replikasi dapat berjalan, maka master harus memiliki binary
log yang berfungsi untuk pertukaran data antara master dan slave. Pada
setiap server yang termasuk dalam sebuah grup replikasi juga harus
memiliki server-id yang merupakan bilangan integer positif unik yang
dapat dipilih dan ditentukan sendiri. Setiap server-id digunakan untuk
mengidentifikasi setiap server yang terdapat pada sebuah grup replikasi.
Untuk menambahkan binary log dan server-id pada master
dilakukan dengan mengubah file konfigurasi my.ini atau my.cnf server
master pada bagian [mysqld]. Pada sistem ini master menggunakan
jakarta-bin untuk nama dari binary log dan server-id diberi nilai 1,
sehingga ditambahkan sintaks sebagai berikut:
[mysqld] log-bin=jakarta-bin server-id=1
Sedangkan untuk melihat status replikasi master digunakan sintaks
sebagai berikut:
show master status;
4.1.5. Mengatur Konfigurasi Untuk Database Server Slave
Selain memiliki server-id yang unik, pada slave juga harus
memiliki relay log index yang merupakan file dari SQL thread yang
sedang membaca dan mengeksekusi data – data replikasi. Penamaan dari
relay log index merupakan nama dari komputer yang digunakan sebagai
67
server slave dengan diikuti “-relay-bin.index”. Pada file konfigurasi
my.ini atau my.cnf server slave juga dapat ditambahkan database yang
akan direplikasi atau tabel-tabel yang akan direplikasi.
Pada sistem ini, slave memberi nilai 2 untuk server-id. Sedangkan
nama konputer yang digunakan untuk server slave adalah “latih03”,
sehingga nama untuk relay log index-nya adalah “latih03-relay-bin.index”.
Karena hanya akan mereplikasi satu database, yaitu database jakarta,
maka ditambahkan sintaks sebagai berikut:
[mysqld] server-id=2 relay-log-index=latih03-relay-bin.index replicate-do-db=jakarta
Setelah melakukan pengaturan konfigurasi replikasi untuk master
dan slave, maka parameter yang digunakan server slave untuk
berkomunikasi dengan server master harus diubah dengan menjalankan
sintaks berikut pada server slave:
change master to master_host=’172.21.205.34’, master_user=’slu’, master_password=’slu’, master_port=3308, master_log_file=’jakarta-bin.00001’, master_log-pos=106;
Dari sintaks di atas, dapat terlihat bahwa master_host merupakan
hostname dari master. Sedangkan untuk master_user, master_password
dan master_port merupakan user, password,dan port yang digunakan oleh
master. Untuk master_log_file dan master_log_pos harus sesuai dengan
68
yang terdapat pada master. Hal itu dapat ditemukan dengan menjalankan
sintaks berikut pada master:
show master status;
4.1.6. Menjalankan Replikasi
Setelah mengatur konfigurasi pada server master dan slave, maka
replikasi dapat dijalankan dengan menjalankan sintaks berikut pada slave:
start slave;
Untuk mengetahui status dari slave, maka dijalankan sintaks
berikut pada slave:
show slave status;
4.2. Koneksi Ke Database MySQL
Koneksi pada sistem ini menggunakan teknologi JDBC (Java
Database Connectivity). Untuk mempermudah pengaturan parameter-
parameter server, database, user, dan port yang digunakan, maka data-data
tersebut disimpan dalam dokumen conn.acd. Data – data tersebut adalah
sebagai berikut:
1 localhost 3308 semarang 172.21.205.34 3308 jakarta
69
Angka 1 merupakan pengaturan untuk database slave dengan
menggunakan teknologi replikasi. Jika tidak ingin menggunakan teknologi
replikasi, maka angka tersebut akan bernilai 0. Sedangkan jika angka
tersebut bernilai 2, maka merupakan pengaturan untuk database master.
Tiga baris setelah angka 1 merupakan pengaturan untuk database slave.
Sedangkan tiga baris terakhir merupakan pengaturan untuk database
master.
4.3. Implementasi User Interface
4.3.1. Form Login
Form login merupakan form yang pertama kali tampil ketika
program dijalankan pertama kali. Form ini berfungsi untuk dapat masuk ke
dalam sistem jika username dan password yang diberikan sesuai. Form
login dapat dilihat pada Gambar 4.1
Gambar 4.1 Form Login
4.3.2. Form Setting Koneksi
Form setting koneksi akan tampil ketika user menekan gambar
logo pada form login. Form ini berfungsi untuk mengatur koneksi yang
70
digunakan database server pada master dan slave. Form setting koneksi
dapat terlihat pada Gambar 4.2
Gambar 4.2 Form Setting Koneksi
4.3.3. Form Menu Utama
Form menu utama merupakan form utama dari aktivitas program
ini. Pada form menu utama berisi berbagai menu sesuai dengan jabatan
yang dimiliki oleh user. Selain itu, pada form menu utama juga terdapat
sebuah panel yang dibagi empat untuk menampilkan keterangan, waktu
akses, koneksi database, serta waktu hari ini. Form menu utama dapat
dilihat pada Gambar 4.3.
71
Gambar 4.3 Form Menu Utama
Untuk menampilkan menu – menu pada form menu utama
ditentukan dengan jabatan yang dimiliki oleh user,yaitu:
1. Admin
Menu yang ditampilkan, yaitu menu polis, klaim, setting, log out, dan
proses.
2. Karyawan Bagian Klaim
Menu yang ditampilkan adalah menu klaim, setting, log out, dan
proses.
3. Karyawan Bagian Teknik
Menu yang ditampilkan adalah menu polis, setting, log out, dan proses.
72
4. Kepala Bagian Klaim
Menu yang ditampilkan adalah menu polis, log out, dan proses.
5. Kepala Bagian Teknik
Menu yang ditampilkan adalah menu polis, log out, dan proses.
6. Kepala Cabang dan Kepala Divisi
Menu yang ditampilkan adalah menu polis, klaim, log out, dan proses.
4.3.4. Form Agenda Polis
Form agenda polis merupakan form yang menampilkan semua data
polis berdasarkan bulan dan tahun pembuatan polis serta kantor yang
dipilih. Form agenda polis dapat dilihat pada Gambar 4.4.
Gambar 4.4. Form Agenda Polis
73
4.3.5. Form Menambah Agenda Polis
Form menambah agenda polis merupakan form yang berfungsi
untuk menambah data polis dan data peserta polis. Form menambah
agenda polis dapat dilihat pada Gambar 4.5.
Gambar 4.5 Form Menambah Agenda Polis
4.3.6. Form Mengupdate Agenda Polis
Form mengupdate agenda polis merupakan form yang berfungsi
untuk mengganti, menghapus data polis dan menambah, mengganti,
menghapus data peserta polis. Form ini akan tampil jika melakukan double
klik pada tabel pada form agenda polis. Atau dapat juga dengan memilih
data polis yang akan diupdate pada tabel pada form agenda polis,
74
kemudian memilih tombol DETAILS. Form mengupdate agenda polis
dapat dilihat pada Gambar 4.6.
Gambar 4.6. Form Mengupdate Agenda Polis
4.3.7. Form Agenda Klaim
Form agenda klaim merupakan form yang menampilkan semua
data klaim berdasarkan bulan dan tahun pembuatan klaim serta kantor
yang dipilih. Form agenda polis dapat dilihat pada Gambar 4.7.
75
Gambar 4.7. Form Agenda Klaim
4.3.8. Form Menambah Agenda Klaim
Form menambah agenda klaim merupakan form yang berfungsi
untuk menambah data klaim. Form menambah agenda klaim dapat dilihat
pada Gambar 4.8.
76
Gambar 4.8. Form Menambah Agenda Klaim
4.3.9. Form Mengupdate Agenda Klaim
Form mengupdate agenda klaim merupakan form yang berfungsi
untuk mengganti data klaim. Form ini akan tampil jika melakukan double
klik pada tabel pada form agenda klaim. Atau dapat juga dengan memilih
data klaim yang akan diupdate pada tabel pada form agenda klaim,
kemudian memilih tombol DETAILS. Form mengupdate agenda klaim
dapat dilihat pada Gambar 4.9.
77
Gambar 4.9. Form Mengupdate Agenda Klaim
4.3.10. Form PLA
Form PLA merupakan form yang berfungsi untuk menampilkan
dan mengupdate serta mencetak data - data PLA. Form PLA dapat dilihat
pada Gambar 4.10.
78
Gambar 4.10. Form PLA
4.3.11. Form DLA
Form PLA merupakan form yang berfungsi untuk menampilkan
dan mengupdate serta mencetak data - data PLA. Form PLA dapat dilihat
pada Gambar 4.11.
79
Gambar 4.11. Form DLA
4.3.12. Form Persetujuan Klaim
Form persetujuan klaim merupakan form yang berfungsi untuk
menampilkan data – data klaim yang sudah disetujui. Form persetujuan
klaim dapat dilihat pada Gambar 4.12.
80
Gambar 4.12. Form Persetujuan Klaim
4.3.13. Form Outstanding Klaim
Form outstanding klaim merupakan form yang berfungsi untuk
menampilkan data – data klaim yang masih belum dibuatkan PLA atau
DLA atau belum dibayarkan. Form PLA dapat dilihat pada Gambar 4.13.
81
Gambar 4.13. Form Outstanding Klaim
4.3.14. Form Setting Bank
Form setting bank merupakan form yang berfungsi untuk
menampilkan dan mengupdate data - data bank. Form setting bank dapat
dilihat pada Gambar 4.14.
82
Gambar 4.14. Form Setting Bank
4.3.15. Form Setting Kondisi
Form setting kondisi merupakan form yang berfungsi untuk
menampilkan dan mengupdate data - data kondis polis atau kondisi klaim
yang. Form setting kondisi dapat dilihat pada Gambar 4.15.
83
Gambar 4.15. Form Setting Kondisi
4.3.16. Form Setting Premi
Form setting premi merupakan form yang berfungsi untuk
menampilkan dan mengupdate data - data premi. Form setting premi dapat
dilihat pada Gambar 4.16.
84
Gambar 4.16. Form Setting Premi
4.3.17. Form Setting Reasuransi
Form setting reasuransi merupakan form yang berfungsi untuk
menampilkan dan mengupdate data - data reasuransi. Form setting
reasuransi dapat dilihat pada Gambar 4.17.
85
Gambar 4.17. Form Setting Reasuransi
4.3.18. Form Setting User
Form setting user merupakan form yang berfungsi untuk
menampilkan dan mengupdate data - data yang berhubungan dengan user
dan jabatan user. Form setting user dapat dilihat pada Gambar 4.18.
86
Gambar 4.18. Form Setting User
4.3.19. Form Proses List
Form proses list merupakan form yang berfungsi untuk
menampilkan thread yang berjalan dari mysql. Form proses list dapat
dilihat pada Gambar 4.19.
Gambar 4.19. Form Proses List
BAB V
ANALISIS HASIL
5.1. Analisis Teknologi
5.1.1. Partisi
Dari hasil tahap implementasi dengan menggunakan teknologi partisi,
ternyata program berjalan agak lambat. Hal tersebut dikarenakan teknologi
partisi memiliki keterbatasan, salah satunya adalah tidak mendukung
penggunaan foreign key. Sehingga membutuhkan waktu yang lebih lama
untuk melakukan query dari beberapa tabel dibandingkan dengan tabel yang
tidak menggunakan teknologi partisi.
Jika dibangun sebuah database, yaitu jakarta2, yang tidak menggunakan
teknologi partisi, tetapi menggunakan foreign key, maka akan terlihat
perbedaan waktu yang cukup besar dalam mengakses data. Dalam hal ini
percobaan dilakukan dengan menampilkan data – data agenda klaim dan polis
dan waktu yang diukur merupakan waktu yang dibutuhkan untuk melakukan
query. Untuk menampilkan data – data agenda klaim menggabungkan tiga
buah tabel, yaitu tabel klaim, tabel karyawan, dan tabel polis. Sedangkan
untuk menampilkan data – data aganda polis menggabungkan dua buah tabel,
yaitu tabel polis dan tabel karyawan. Contoh hasil dalam menampilkan data –
87
88
data agenda klaim dengan menggunakan database jakarta terlihat pada
Gambar 5.1. Dan contoh hasil dalam menampilkan data – data agenda klaim
dengan menggunakan database jakarta2 terlihat pada Gambar 5.2.
Gambar 5.1 Contoh Hasil Menampilkan Data Agenda Klaim
Menggunakan Database jakarta
89
Gambar 5.2 Contoh Hasil Menampilkan Data Agenda Klaim
Menggunakan Database jakarta2
Kumpulan data hasil percobaan menampilkan data agenda polis pada
database yang menggunakan partisi dan yang tidak menggunakan partisi
dapat terlihat pada tabel 5.1. Sedangkan untuk hasil percobaan menampilkan
data agenda klaim pada database yang menggunakan partisi dan yang tidak
menggunakan partisi dapat terlihat pada tabel 5.2.
90
Tabel 5.1 Hasil Percobaan Menampilkan Agenda Polis Pada Database yang Menggunakan Partisi dan yang Tidak Menggunakan Partisi
Waktu (ms) Kegiatan Jumlah Record Partisi Tidak Partisi
Agenda Polis Januari 2007 36 438 15
Agenda Polis Februari 2007 31 406 15
Agenda Polis Maret 2007 36 438 16
Agenda Polis April 2007 19 282 15
Agenda Polis Mei 2007 37 469 16
Agenda Polis Juni 2007 26 359 15
Agenda Polis Juli 2007 32 406 16
Agenda Polis Agustus 2007 21 296 15
Agenda Polis September 2007 30 390 16
Agenda Polis Oktober 2007 6 125 0
Dari tabel 5.1 dapat dilihat waktu yang dibutuhkan oleh database yang
menggunakan partisi untuk menampilkan agenda polis bulan januari 2007
sejumlah 36 record adalah sebesar 453 milisecond. Sedangkan untuk database
yang tidak menggunkan partisi hanya membutuhkan waktu 15 milisecond
untuk menampilkan agenda polis yang sama.
91
Tabel 5.2 Hasil Percobaan Menampilkan Agenda Klaim Pada Database yang Menggunakan Partisi dan yang Tidak Menggunakan Partisi
Waktu (ms) Kegiatan Jumlah Record Partisi Tidak Partisi
Agenda Klaim Januari 2006 5 56844 0
Agenda Klaim Februari 2006 6 67812 0
Agenda Klaim Maret 2006 5 56563 0
Agenda Klaim April 2006 8 90406 0
Agenda Klaim Mei 2006 1 11203 0
Agenda Klaim Juni 2006 8 90172 0
Agenda Klaim Juli 2006 10 113203 0
Agenda Klaim Agustus 2006 9 101312 0
Agenda Klaim September 2006 7 78609 0
Agenda Klaim Oktober 2006 7 78938 0
Dari tabel 5.2 dapat dilihat waktu yang dibutuhkan oleh database yang
menggunakan partisi untuk menampilkan agenda klaim bulan januari 2006
sejumlah 5 record adalah sebesar 56844 milisecond. Sedangkan untuk
database yang tidak menggunkan partisi tidak membutuhkan waktu untuk
menampilkan agenda klaim yang sama.
Dengan demikian dapat dilihat bahwa dengan menggunakan teknologi
partisi, maka waktu yang dibutuhkan untuk melakukan query dari berbagai
tabel akan lebih lambat dibandingkan jika tidak menggunakan teknologi
92
partisi. Hal tersebut dikarenakan salah satu keterbatasan partisi, yaitu tidak
mendukung adanya foreign key.
5.1.2. Replikasi
Dari hasil tahap implementasi dengan menggunakan teknologi replikasi,
ternyata program dapat berjalan dengan baik. Dengan menggunakan replikasi
master – slave, slave dapat dengan baik mereplikasi data dari master.
Jika dibandingkan dengan mengakses langsung ke database master,
maka waktu yang dibutuhkan tidak terlalu berbeda. Contoh menampilkan data
agenda polis dengan menggunakan replikasi terlihat pada Gambar 5.3.
sedangkan contoh menampilkan data agenda polis dengan mengakses
langsung ke database master terlihat pada Gambar 5.3
93
Gambar 5.3 Contoh Menampilkan Data Agenda Polis
Menggunakan Replikasi
94
Gambar 5.4 Contoh Menampilkan Data Agenda Polis
Dengan Mengakses Langsung ke Database Master
Kumpulan data hasil percobaan menampilkan data agenda polis pada
database yang menggunakan replikasi dan yang tidak menggunakan replikasi
dapat terlihat pada tabel 5.3.
95
Tabel 5.3 Hasil Percobaan Menampilkan Agenda Polis Pada Database yang Menggunakan Replikasi dan yang Tidak Menggunakan Replikasi
Waktu (ms) Kegiatan Jumlah Record Replikasi Tidak Replikasi
Agenda Polis Januari 2007 36 437 453
Agenda Polis Februari 2007 31 406 408
Agenda Polis Maret 2007 36 437 451
Agenda Polis April 2007 19 280 295
Agenda Polis Mei 2007 37 438 453
Dari tabel 5.3 dapat dilihat waktu yang dibutuhkan oleh database yang
menggunakan replikasi untuk menampilkan agenda polis bulan januari 2007
sejumlah 36 record adalah sebesar 437 milisecond. Sedangkan untuk database
yang tidak menggunkan replikasi membutuhkan waktu 453 milisecond untuk
menampilkan agenda polis yang sama. Ternyata waktu yang dibutuhkan untuk
menampilkan data agenda polis dengan mengunakan replikasi ataupun dengan
langsung mengakses ke database master tidak menunjukkan perbedaan yang
besar, yaitu hanya 15 milisecond. Hal tersebut dikarenakan koneksi antara
database server master dan slave masih dalam satu area LAN.
Akan tetapi dengan menggunakan teknologi replikasi master - slave,
maka slave dapat mereplikasi data – data dari master. Dengan demikian jika
koneksi antara master dengan slave terputus, maka database server pada slave
masih memiliki data – data hasil replikasi dari databse server pada master.
96
Sedangkan jika mengakses langsung ke database master, apabila koneksi
antara master dan slave terputus, maka database server pada slave tidak
memiliki data – data dari database server pada master.
5.2. Kelebihan dan Kekurangan Sistem
5.2.1. Kelebihan Sistem
Adapun kelebihan dari sistem yang telah dibuat adalah sebagai
berikut:
1. Dengan menggunakan teknologi replikasi master – slave, maka akan lebih
memudahkan kantor cabang untuk mengirimkan data polis dan klaim ke
kantor pusat. Karena dalam mengirim data asuransi personal accident
tidak perlu lagi dilakukan melalui jasa pos.
2. Pemilihan penggunaan teknologi replikasi daripada mengakses langsung
databse server master dikarenakan jika koneksi antara slave dengan
master terputus, maka slave masih memiliki data – data replikasi master.
Sehingga slave masih dapat mengakses data – data hasil replikasi master.
3. Program didesain user friendly, sehingga diharapkan user dapat
mengakses dengan mudah.
4. Program memiliki fasilitas login, sehingga keamanan data terjamin dan
setiap user dapat mengakses sesuai dengan jabatannya.
97
5.2.2. Kekurangan Sistem
Adapun kelebihan dari sistem yang telah dibuat adalah sebagai
berikut:
1. Penggunaan teknologi partisi menyebabkan waktu yang dibutuhkan untuk
mengakses data – data polis dan klaim lebih besar, jika akan mengakses
beberapa tabel. Hal tersebut dikarenakan teknologi partisi masih memiliki
beberapa keterbatasan, salah satunya adalah tidak mendukug penggunaan
foreign key.
2. Sistem tidak memiliki fasilitas untuk menampilkan laporan ke format lain
selain mencetaknya ke kertas.
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Setelah sistem ini dibuat, maka dapat ditarik beberapa kesimpulan
yaitu:
1. Pengelolaan data menjadi kurang efisien dengan menggunakan teknologi
partisi. Dengan menggunakan teknologi partisi akan dibutuhkan waktu
yang cukup lama untuk mengakses beberapa tabel. Karena teknologi
partisi memiliki salah satu keterbatasan, yaitu tidak mendukung
penggunaan foreign key.
2. Dengan menggunakan teknologi replikasi master – slave, maka akan
memudahkan kantor cabang untuk mengirimkan data ke kantor pusat.
Karena untuk mengirimkan data ke kantor pusat, kantor cabang tidak
harus mengirimkannya menggunakan jasa pos.
3. Dengan menggunakan teknologi replikasi master – slave, maka database
server pada slave masih dapat mengakses data – data hasil replikasi dari
database master jika koneksi terputus.
98
99
6.2. Saran
Dari sistem yang telah dibuat masih dibutuhkan beberpa saran antara
lain:
1. Sebaiknya tidak menggunakan teknologi partisi, jika akan mengakses
berbagai tabel. Karena selain tidak mendukung penggunaan foreign key,
partisi juga tidak mendukung penggunaan procedure, function, dan
trigger.
2. Mencoba mengganti metode replikasi yang sudah digunakan dengan
metode replikasi yang lain.
3. Menambahkan fasilitas untuk menampilkan laporan ke format lain selain
mencetaknya ke kertas, misalnya dalam format pdf ataupun excel.
4. Membangun sistem yang terhubung dengan pihak bank dan reasuransi,
sehingga memudahkan mereka untuk mengakses data.
DAFTAR PUSTAKA
Connoly, Thomas dan Carolyn Begg, Database System : A Practical Aproach to
Design, Implementation and Management, 3nd Edition, Pearson Education
Limited 2002, England
L. Whitten, Jeffery. ; D. Bentley, Lonnie. ; C. Dittman, Kevin. ; “Systems Analysis
and Design Methods”, Sixth Edition, The McGraw-Hill Companies, 2003
Polina, Maria Agnes dan Jong Jek Siang, Kiat Jitu Menyusun Skripsi Jurusan Teknik
Informatika/Komputer, Penerbit Andi, 2005, Yogyakarta
http://www.mysql.com
http://www.planetmysql.org