implementasi partisi di mysql 5

125
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

Upload: others

Post on 24-Feb-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 2: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 3: IMPLEMENTASI PARTISI DI MYSQL 5
Page 4: IMPLEMENTASI PARTISI DI MYSQL 5
Page 5: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 6: IMPLEMENTASI PARTISI DI MYSQL 5
Page 7: IMPLEMENTASI PARTISI DI MYSQL 5

HALAMAN MOTTO

DO THE RIGHT

AND DO THE BEST

THEN GOD WILL DO THE REST

vii

Page 8: IMPLEMENTASI PARTISI DI MYSQL 5

HALAMAN PERSEMBAHAN

Untuk Mama dan Babe tercinta

Untuk Ema, Tatha, dan Wiwinku tersayang

viii

Page 9: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 10: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 11: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 12: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 13: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 14: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 15: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 16: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 17: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 18: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 19: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 20: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 21: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 22: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 23: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 24: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 25: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 26: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 27: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 28: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 29: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 30: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 31: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 32: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 33: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 34: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 35: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 36: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 37: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 38: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 39: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 40: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 41: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 42: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 43: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 44: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 45: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 46: IMPLEMENTASI PARTISI DI MYSQL 5

22

3.1.6. Use Case Diagram

3.1.6.1. Use Case Diagram Admin

Gambar 3.2 Use Case Diagram Admin

Page 47: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 48: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 49: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 50: IMPLEMENTASI PARTISI DI MYSQL 5

26

3.1.6.2. Use Case Diagram Karyawan Bagian Teknik

Gambar 3.6 Use Case Diagram Karyawan Bagian Teknik

Page 51: IMPLEMENTASI PARTISI DI MYSQL 5

27

3.1.6.3. Use Case Diagram Karyawan Bagian Klaim

Gambar 3.7 Use Case Diagram Karyawan Bagian Klaim

Page 52: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 53: IMPLEMENTASI PARTISI DI MYSQL 5

29

3.1.6.4.2. Use Case Diagram Kepala Bagian Klaim

Gambar 3.9 Use Case Diagram Kepala Bagian Klaim

Page 54: IMPLEMENTASI PARTISI DI MYSQL 5

30

3.1.6.5. Use Case Diagram Kepala Cabang

Gambar 3.10 Use Case Diagram Kepala Cabang

Page 55: IMPLEMENTASI PARTISI DI MYSQL 5

31

3.1.6.6. Use Case Diagram Kepala Divisi

Gambar 3.11 Use Case Diagram Kepala Divisi

Page 56: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 57: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 58: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 59: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 60: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 61: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 62: IMPLEMENTASI PARTISI DI MYSQL 5

38

Gambar 3.12 Class Diagram

Page 63: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 64: IMPLEMENTASI PARTISI DI MYSQL 5

40

Gambar 3.13 Entity Relationship Diagram

Page 65: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 66: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 67: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 68: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 69: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 70: IMPLEMENTASI PARTISI DI MYSQL 5

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 -

Page 71: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 72: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 73: IMPLEMENTASI PARTISI DI MYSQL 5

49

3.2.5.1.3. Form Menu Utama

Gambar 3.16 Form Menu Utama

3.2.5.1.4. Form Agenda Polis

Page 74: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 75: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 76: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 77: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 78: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 79: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 80: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 81: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 82: IMPLEMENTASI PARTISI DI MYSQL 5

58

Gambar 3.33. Laporan Agenda Klaim 3.2.5.2.2. Laporan Agenda Polis

Page 83: IMPLEMENTASI PARTISI DI MYSQL 5

59

Gambar 3.34. Laporan Agenda Polis

Page 84: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 85: IMPLEMENTASI PARTISI DI MYSQL 5

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’;

Page 86: IMPLEMENTASI PARTISI DI MYSQL 5

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:

Page 87: IMPLEMENTASI PARTISI DI MYSQL 5

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',

Page 88: IMPLEMENTASI PARTISI DI MYSQL 5

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;

Page 89: IMPLEMENTASI PARTISI DI MYSQL 5

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:

Page 90: IMPLEMENTASI PARTISI DI MYSQL 5

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;

Page 91: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 92: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 93: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 94: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 95: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 96: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 97: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 98: IMPLEMENTASI PARTISI DI MYSQL 5

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,

Page 99: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 100: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 101: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 102: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 103: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 104: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 105: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 106: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 107: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 108: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 109: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 110: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 111: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 112: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 113: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 114: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 115: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 116: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 117: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 118: IMPLEMENTASI PARTISI DI MYSQL 5

93

Gambar 5.3 Contoh Menampilkan Data Agenda Polis

Menggunakan Replikasi

Page 119: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 120: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 121: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 122: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 123: IMPLEMENTASI PARTISI DI MYSQL 5

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

Page 124: IMPLEMENTASI PARTISI DI MYSQL 5

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.

Page 125: IMPLEMENTASI PARTISI DI MYSQL 5

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