Implementasi replikasi di MySQL 5.1 pada sistem informasi asuransi personal accident : studi kasus PT. Asuransi Umum Sarana Lindung Upaya - USD Repository

IMPLEMENTASI REPLIKASI DI MYSQL 5.1 PADA SISTEM

   ( Studi Kasus PT. Asuransi Umum Sarana Lindung Upaya ) SKRIPSI Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika

IMPLEMENTATION OF REPLICATION ON MYSQL 5.1

  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

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

  

HALAMAN MOTTO

DO THE RI GHT

AND DO THE BEST

THEN GOD W I LL DO THE REST

HALAMAN PERSEMBAHAN

  Untuk Mama dan Babe tercinta Untuk Ema, Tatha, dan Wiwinku tersayang

  

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 .

  

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.

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

  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.

  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

  DAFTAR ISI

  HALAMAN JUDUL ................................................................................................. i HALAMAN PERSETUJUAN .................................................................................. iii HALAMAN PENGESAHAN ................................................................................... iv PERNYATAAN KEASLIAN KARYA ................................................................... v LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI..................................... vi HALAMAN MOTTO ............................................................................................... vii HALAMAN PERSEMBAHAN ............................................................................... viii

  INTISARI................................................................................................................... ix ABSTRACT .............................................................................................................. x KATA PENGANTAR .............................................................................................. xi

  BAB II. LANDASAN TEORI 2.1 Database.......................................................................................................

  7 2.2 Distributed Database Management System (DDBMS)...............................

  8

  2.3 Sistem Database Terdistribusi 2.3.1 Pengertian Sistem Database Terdistribusi….....................................

  8 2.3.2 Transparansi pada Sistem Terdistribusi…........................................

  9 2.3.3 Tujuan Sistem Database Terdistribusi..............................................

  12

  2.4 Replikasi di MySQL………………………………………………………

  12

  2.5 Partisi di MySQL 5.1 2.5.1 Jenis – Jenis Partisi di MySQL 5.1...................................................

  14 2.5.2 Aturan dan Batasan Partisi di MySQL 5.1........................................

  15

  Data.......................................................................

  23

  3.1.6.1.2 Use Case Diagram Admin Sub Proses Pembuatan Polis.......................................................................

  24

  3.1.6.1.3 Use Case Diagram Admin Sub Proses Pengajuan Klaim.....................................................................

  25 3.1.6.2 Use Case Diagram Karyawan Bagian Teknik......................

  26 3.1.6.3 Use Case Diagram Karyawan Bagian Klaim........................

  27

  3.1.6.4 Use Case Diagram Kepala Bagian 3.1.6.4.1 Use Case Diagram Kepala Bagian Teknik……….

  28 3.1.6.4.2 Use Case Diagram Kepala Bagian Klaim……......

  29 3.1.6.5 Use Case Diagram Kepala Cabang……...............................

  30 3.1.6.6 Use Case Diagram Kepala Divisi..……...............................

  31

  3.2.3.8 Tabel Kantor….....................................................................

  44 3.2.3.9 Tabel Reasuransi...................................................................

  44 3.2.3.10 Tabel Kondisi Polis.........................................................

  45 3.2.3.11 Tabel Kondisi Klaim.......................................................

  45 3.2.3.12 Tabel Jabatan……………...............................................

  46 3.2.3.13 Tabel User.......................................................................

  46 3.2.4 Pemilihan Jenis Partisi......................................................................

  47

  3.2.5 Desain User Interface

  3.2.5.1 Desain Input 3.2.5.1.1 Form Login............................................................

  48 3.2.5.1.2 Form Setting Koneksi............................................

  48 3.2.5.1.3 Form Menu Utama.................................................

  49

  3.2.5.1.15 Form Setting Kondisi........................................

  55 3.2.5.1.16 Form Setting Premi...........................................

  55 3.2.5.1.17 Form Setting Reasuransi...................................

  56 3.2.5.1.18 Form Setting User.............................................

  56 3.2.5.1.19 Form Proses List................................................

  57

  3.2.5.2 Desain Output 3.2.5.2.1 Laporan Agenda Klaim..........................................

  57 3.2.5.2.2 Laporan Agenda Polis............................................

  58 BAB IV. IMPLEMENTASI SISTEM 4.1 Implemetasi Replikasi .................................................................................

  59 4.1.1 Membuat Database Jakarta dan Semarang........................................

  60

  4.1.3.9 Tabel Polis............................................................................

  64 4.1.3.10 Tabel Premi.....................................................................

  64 4.1.3.11 Tabel Reasuransi.............................................................

  65 4.1.3.12 Tabel User.......................................................................

  65 4.1.4 Mengatur Konfigurasi Untuk Database Server Master.....................

  66 4.1.5 Mengatur Konfigurasi Untuk Database Server Slave........................

  66 4.1.6 Menjalankan Replikasi.......................................................................

  68 4.2 Koneksi Ke Database MySQL....................................................................

  68

  4.3 Implementasi User Interface 4.3.1 Form Login.........................................................................................

  69 4.3.2 Form Setting Koneksi.........................................................................

  69 4.3.3 Form Menu Utama.............................................................................

  70

  4.3.15 Form Setting Kondisi.....................................................................

  82

  96

  92

  87

  86

  85

  84

  83

  5.2.2 Kekurangan Sistem ............................................................................

  4.3.16 Form Setting Premi........................................................................

  5.2 Kelebihan dan Kekurangan Sistem 5.2.1 Kelebihan Sistem ................................... ...........................................

  5.1.2 Replikasi..............................................................................................

  5.1 Analisis Teknologi 5.1.1 Partisi..................................................................................................

  BAB V. ANALISIS HASIL

  4.3.19 Form Proses List............................................................................

  4.3.18 Form Setting User..........................................................................

  4.3.17 Form Setting Reasuransi................................................................

  97

  DAFTAR GAMBAR

Gambar Keterangan Halaman

  3.7 Use Case Diagram Karyawan Bagian Klaim

  3.12 Class Diagram

  31

  3.11 Use Case Diagram Kepala Divisi

  30

  3.10 Use Case Diagram Kepala Cabang

  29

  3.9 Use Case Diagram Kepala Bagian Klaim

  28

  3.8 Use Case Diagram Kepala Bagian Teknik

  27

  26

  3.1 Desain Arsitektur Replikasi dan Partisi

  3.6 Use Case Diagram Karyawan Bagian Teknik

  25

  3.5 Use Case Diagram Admin Sub Proses Pengajuan Klaim

  24

  3.4 Use Case Diagram Admin Sub Proses Pembuatan Polis

  23

  3.3 Use Case Diagram Admin Sub Proses Pengaturan Data

  22

  3.2 Use Case Diagram Admin

  20

  38

  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

  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

  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

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.

  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.

  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

  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.

  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

  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

  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

  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

  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.

  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

  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

  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

  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.

  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

  Error code 24: Too many open

  muncul pesan kesalahan seperti

  files

  • Tabel yang dipartisi tidak mendukung foreign key

  FULLTEXT

  • Tabel yang dipartisi tidak mendukung indexes

  GEOMETRY

  • Tabel yang dipartisi tidak mendukung columns
  • Pada MySQL 5.1.8, tabel temporari tidak dapat dipartisi

  MERGE • Tabel yang menggunakan storage engine tidak dapat dipartisi.

  • Semua tabel yang dipartisi dan di subpartisi harus menggunakan storage

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

  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

  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

  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.

  20 Gambar arsitektur desain replikasi dan partisi data polis antara server kantor pusat Semarang dan cabang Jakarta terlihat pada Gambar 3.1.

  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

  23

3.1.6.1.1. Use Case Diagram Admin Sub Proses Pengaturan Data

  24

3.1.6.1.2. Use Case Diagram Admin Sub Proses Pembuatan Polis

  25

3.1.6.1.3. Use Case Diagram Admin Sub Proses Pengajuan Klaim

  26

3.1.6.2. Use Case Diagram Karyawan Bagian Teknik

  27

3.1.6.3. 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

  29

3.1.6.4.2. Use Case Diagram Kepala Bagian Klaim

  30

3.1.6.5. Use Case Diagram Kepala Cabang

  31

3.1.6.6. Use Case Diagram Kepala Divisi

  32

3.2. Desain Sistem

3.2.1. Sequence Diagram Proses Memasukkan Data Bank

  : form tambah bank : Admin : l ayar bank : bank kontrol : bank tam bah_bank() tam bah_bank()

jalankan form tambah bank

tam pilkan form tambah bank mas ukkan data bank baru

lakukan tambah data bank

s im pan data bank

  Proses Mengedit 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

  34

  Proses Menambah Data Polis : polis : Karyawan Bagian T eknik : l ayar poli s : 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 tam bah_karyawan() simpan data karyawan tambah_pembuatan_polis() simpan data pembuatan polis

  Proses Mengedit Data Polis

  35 : Karyawan Bagian : l ayar klaim : klaim kontrol : klaim : form tambah klaim Proses Menambah Data Klaim

  Klaim tambah_klaim() tambah_klaim() tampilkan form tambah klaim jalankan form tambah klaim masukkan data klaim baru lakukan tambah data klaim sim pan data klaim

  Proses Mengedit Data Klaim

  36

  Proses Tampil Agenda Polis : Kepal a Cabang : l ayar agenda poli s : polis control : karyawan tampil_agenda_polis() tampil_agenda_polis() : polis ambil data karyawan ambil data polis tampil agenda polis

  Proses Login : Kepal a Bagi an : l ayar l ogi n : l ogin control : user : menu utama

  37

  Konfirmasi Persetujuan Klaim : Kepal a Divisi : l ayar klaim : klaim kontrol : form persetuj uan klaim konfi rmasi persetujuan klai m : klaim konfi rmasi persetujuan klai m jalankan form persetujan klaim tampilkan form persetujuan klaim masukkan persetujuan set status klaim menjadi disetujui

  Klaim disetujui simpan data kl ai m

  38 Diagram

  

Class

  39

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.

3.2.3.1. Entity Relationship Diagram ER diagram dari sistem yang akan dibangun terlihat pada gambar 3.13.

  40 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 -

  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.

  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 -

  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.

  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

  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.

  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

  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

  49

3.2.5.1.3. Form Menu Utama

Gambar 3.16 Form Menu Utama

  50

Gambar 3.17. Form Agenda Polis

3.2.5.1.5. Form Menambah Agenda Polis

Gambar 3.18. Form Menambah Agenda Polis

  51

Gambar 3.19. Form Mengupdate Agenda Polis

3.2.5.1.7. Form Agenda Klaim

Gambar 3.20. Form 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

  53

Gambar 3.23. Form PLA

3.2.5.1.11. Form DLA

Gambar 3.24. Form DLA

  54

Gambar 3.25. Form Persetujuan Klaim

3.2.5.1.13. Form Outstanding Klaim

Gambar 3.26. Form Outstanding Klaim

  55

Gambar 3.27. Form Setting Bank

3.2.5.1.15. Form Setting Kondisi

  56

Gambar 3.29. Form Setting Premi

3.2.5.1.17. Form Setting Reasuransi

  57

Gambar 3.31. Form Setting User

3.2.5.1.19. Form Proses List

  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

  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’

  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;

  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'

  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;

  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,

  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;

  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

  my.ini my.cnf

  dilakukan dengan mengubah file konfigurasi atau server

  [mysqld] master pada bagian . Pada sistem ini master menggunakan

  jakarta-bin untuk nama dari binary log dan server-id diberi nilai 1, sehingga ditambahkan sintaks sebagai berikut:

  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

  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;