Kelemahan: Metode Komparatif Analisis penerapan string matching dalam komparasi data kepesertaan jaminan kesehatan masyarakat (Jamkesmas)

1. Prinsip model pengembangan RAD yang waktunya cepat dan singkat dalam tiap langkah metode pengerjaannya . 2. Memudahkan dalam tiap-tiap langkah kerja karena adanya modularisasi pengerjaan. 3. Aplikasi yang dirancang dan dibangun hanya dipergunakan untuk mengimplementasikan metode algoritma yang dipilih guna menguji keefektifan algoritma dalam menyelesaikan permasalahan yang ada ssehingga tidak memerlukan tahap pemeliharaan. 4. Sangat cocok diterapkan pada aplikasi berskala kecil. Hal ini sesuai dengan aplikasi yang dibuat dalam penerapan metode algoritma string matching.

3.5. Keunggulan dan Kelemahan RAD

a. Keunggulan:

1. Waktu pengembangan yang lebih singkat dan cepat jika kebutuhan dan batasan proyek diketahui. 2. Biaya yang relatif lebih murah atau rendah.

b. Kelemahan:

1. Tidak cocok untuk proyek skala besar. 2. Hanya baik digunakan pada proyek penelitian yang dapat dimodularisasi. 3. Membutuhkan suatu tim yang cukup untuk mengerjakan bagian- bagian yang dimodularisasi. 50 BAB IV ANALISIS DAN PEMBAHASAN Dalam melaksanakan penerapan string matching dalam komparasi data kepesertaan, penulis telah melalui berbagai tahap-tahapan metode penelitian hingga mencapai hasil dari tujuan yang hendak dicapai. Dalam bab ini penulis menjabarkan hal-hal yang dilakukan penulis selama penyelesaian penelitian ini, sesuai dengan metodologi penelitian yang dirujuk penulis.

4.1. Metode Komparatif

Dalam tahap komparatif ini penulis melakukan suatu proses analisis dalam penerapan string matching untuk komparasi data kepesertaan JAMKESMAS yang dilakukan dalam membandingkan dua data yang terdapat pada dua instansi yakni BPS dan ASKES. Data yang dibandingkan dalam komparasi data untuk mendapatkan kecocokan data ini merupakan data yang berasal dari wilayah Propinsi Bangka Belitung. 4.1.1. Analisis Algoritma String Matching Analisis penerapan fuzzy string matching dalam komparasi data kepesertaan merupakan analisis terhadap penerapan algoritma fuzzy string matching dalam membandingkan kecocokan data string nama sebagai tolak ukur kesamaan data yang terdapat pada dua database. Pemilihan nama sebagai informasi peserta yang patut dianalisa dalam algoritma fuzzy string matching komparasi data ini didasari karena data string nama orang merupakan data string yang tidak memiliki bentuk penulisan baku dan bermacam-macam bentuk penulisan dalam satu nama orang, hal ini menunjukan bahwa string nama orang adalah hal yang bersifat kabur atau samar yang mana sesuai dengan prinsip logika fuzzy. Untuk menguatkan alasan dan sebagai parameter ukuran dalam pemilihan algoritma tersebut maka penulis kemudian juga menggunakan algoritma exact string matching.

4.1.1.1 Exact String Matching

Berdasarkan studi literatur yang dilakukan maka penulis memilih menggunakan algoritma brute force untuk diterapkan dalam komparasi data kepesertaan. Exact string matching merupakan algoritma yang digunakan penulis untuk menjadikan parameter ukuran dalam penggunaan algoritma inexact string matching. Teknik Pencocokan pada Algoritma brute force : 1. Menyamakan teks dengan menghitung jumlah karakter teks pada masing- masing database. Setiap string yang memiliki jumlah karakter yang sama maka string tersebut akan dikumpulkan dan kemudian akan dibandingkan untuk dicocokan. 1 2 3 4 5 6 1 2 3 4 5 6 1 … … … … 6 R A H M A T R I Y A D I E F E N D I R A T I N A S U M I N A 1 … … … … 6 E F E N D Y J U N I A R H A R T I N H U S N A H R E N A T A Y U N I A R Database B Database A 2. Mencocokan kesamaan teks dengan membaca karakter sebelah kiri string yang berindeks-1 pada masing-masing database. a. Bila karakter pada record masing-masing database memiliki kesamaan, maka pencocokan string akan berpindah kearah kanan karakter string selanjutnya, hingga akhir dari string tersebut. b. Sedangkan bila karakter yang dicocokan tidak memiliki kesamaan antar karakter pada masing-masing database maka string tersebut tidak kembali dicocokan dinyatakan tidak cocok. 1 … … … … 6 R A H M A T R E N I T A T U M I N I R I Y A D I S U M I N A 1 … … … … 6 T U M I N I J U N I A R H A R T I N H U S N A H R E L I T A Y U N I A R 1 … … … … 6 R E N I T A E F E N D I 1 … … … … 6 E F E N D Y R E L I T A 1 … … … … E F E N D I 1 … … … … 6 E F E N D Y 1 … … … … 6 E F E N D Y 1 … … … … 6 E F E N D I 1 … … … … 6 E F E N D I 1 … … … … 6 E F E N D Y Dengan contoh perumpamaan diatas dapat disimpulkan bahwa menggunakan algoritma brute force string matching Exact String Matching dalam pencocokan string data nama orang merupakan metode pencocokan string yang hanya mengambil string nama yang sama persis dengan string masukan atau string yang dibandingkan. Sehingga algoritma ini belum mampu untuk menangani, seperti: 1. Adanya kemungkinan perbedaan ejaan dalam input data nama. 2. Bentuk penaaman orang peserta yang variatif.

4.1.1.2 Normalisasi String

Sebelum melangkah kedalam algoritma string matching diperlukan suatu proses normalisasi string nama untuk mencapai keakuratan fuzzy string matching. Normalisasi string dalam data nama peserta adalah suatu proses untuk mendapatkan similarty function pada algoritma fuzzy string matching. Similarity function adalah suatu fungsi yang menentukan kesamaan data string yang dicocokan. Similarity function didapatkan dari normalisasi string penamaan sesuai dengan aturan translasi Q-gram maupun eliminasi duplikasi karakter setelah dilakukannya translasi Q-gram. Proses normalisasi ini dilakukan guna membentuk suatu nama orang peserta yang memiliki keteraturan bentuk penamaan sehingga dapat mengurangi variasi bentuk penamaan. Karena tidak adanya karakter yang sama saat pembacaan pada karakter ke 5 antara kedua string pada masing-masing database maka pencocokan pada kedua database tidak dilanjutkan berhenti atau dinyatakan kedua database Proses normalisasi secara garis besar terbagi menjadi beberapa tahap, yaitu: 1. Translasi q-gram. 2. Eliminasi duplikasi karakter Dalam menormalisasikan string, penulis melakukan translasi q-gram yang bertujuan untuk mendapatkan aturan tetap dari bentuk suatu karakter yang ada dalam data nama orang. Oleh karena itu dalam melakukan translasi q-gram, penulis melakukan pengambilan sampel data nama peserta untuk mendapatkan sebaran nama yang tetap terhadap bentuk karakter penamaan orang dan melakukan pendekatan statistic untuk memperkecil ambiguitas dari pemakaian bentuk string penamaan orang agar mangetahui translasi karakter yang sering muncul. Adapun aturan yang didapatkan dalam translasi q-gram ini : Tabel 4.1 Translasi Q-gram Awal Translasi Q-Gram CQ,CK KK DJ JJ DZ ZZ IE II KH HH KS XX OE UU PH FF Pengambilan q-gram urutan karakter pada aturan translasi ini ditetapkan dengan asumsi keunikan dan tingginya tingkat kemunculan q-gram pada suatu string nama orang. Berdasarkan hal diatas, melangkah pada tahap selanjutnya yakni melakukan eliminasi duplikasi karakter. Hal ini dilakukan terhadap suatu karakter yang berulang pada translasi q-gram. Sehingga didapatkan bentuk normal dari suatu karakter penamaan dalam data string nama orang. Dalam penerapan normalisasi untuk mendapatkan similarity function maka dilakukan suatu penghitungan perbedaan jumlah karakter dari data string pada masing-masing database dengan cara melakukan operasi-operasi seperti operasi penghapusan, penyisipan, maupun penggantian pada data string V F SJ SY SY SS TJ CC DY DI BH,CH,DH,GH,JH,SH,TH,ZH BB,CC,DD,GG,JJ,SS,TT,ZZ AA,BB, CC, DD, EE, FF, GG, HH, II, JJ, KK, LL, MM, NN, OO, PP, QQ, RR, SS, TT, UU, VV, WW, XX, YY, ZZ A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y, Z hingga didapatkan kecocokan string yang sama, ataupun mendekati kesamaan sesuai dengan similarity function. Gambar 4.1 Proses Similarity Function 1. Operasi penghapusan Operasi penghapusan dilakukan bila suatu string yang akan dicocokan memiliki q-gram yang harus mengikuti aturan translasi q-gram. Contoh : 1 2 3 4 5 6 7 E F E N D H I Karena DH merupakan q-gram urutan karakter yang terdapat pada aturan tranlasi q-gram maka dilakukan suatu operasi penghapusan pada karakter H sesuai dengan aturan translasi Q-gram yang mana string tersebut menjadi : 1 2 3 4 5 6 7 E F E N D D I Setelah melalui proses translasi q-gram maka karakter yang berdekatan dan mengalami pengulangan pada suatu string akan dieliminasi eliminasi duplikasi karakter sehingga string menjadi : Sehingga dapat disimpulkan bahwa nama string normal dari nama EFENDHI dadalah EFENDI atau EFENDHI = EFENDI 2. Operasi penggantian Operasi penggantian dilakukan bila suatu string yang akan dicocokan memiliki q-gram yang harus mengikuti aturan translasi q-gram. Contoh : 1 2 3 4 5 6 E F E N D Y Maka pada data string diatas akan dilakukan suatu operasi penggantian pada karakter Y sesuai dengan aturan translasi Q-gram yang mana string tersebut akan menjadi : 1 2 3 4 5 6 E F E N D I 1 2 3 4 5 6 E F E N D I Setelah data sesuai dengan aturan translasi Q-gram maka akan dilakukan eliminasi duplikasi karakter pada suatu karakter yang berulang, karena pada data string tidak memiliki pengulangan karakter yang berdekatan maka string tersebut tidak melakukan eliminasi duplikasi karakter sehingga dapat disimpulkan bahwa bentuk normal dari nama EFENDY adalah EFENDI atau EFENDY = EFENDI 3. Operasi Penyisipan Operasi penggantian dilakukan bila suatu string yang akan dicocokan memiliki q-gram yang harus mengikuti aturan translasi q-gram. 1 2 3 4 5 R A M A T Dalam hal ini maka akan dilakukan operasi penyisipan pada string diatas sehingga dapat sesuai dengan bentuk normal dari string tersebut. 1 2 3 4 5 6 R A H M A T Bentuk string diatas merupakan bentuk string normal dari nama tersebut sesuai dengan similarity function. Sehingga dapat disimpulkan bahwa bentuk normal penulisan RAMAT adalah RAHMAT atau RAMAT = RAHMAT. Dengan demikian dari proses normalisasi q-gram data nama inilah yang kemudian menjadi suatu acuan dalam pembentukan suatu nama yang baku atau normal. Adapun langkah-langkah penerapan proses normalisasi string pada data nama orang peserta yaitu : 1. Mengambil data nama orang peserta. 2. Membaca karakter data nama orang peserta yang dimulai dari sebelah kiri string. 3. Untuk 2 urutan karakter q-gram yang dibaca. a. Jika q-gram 2 karakter sama dengan q-gram pada tabel q-gram maka translasikan ubah 2 karakter yang dibaca sesuai dengan translasi q- gram pada tabel q-gram. b. Jika q-gram 2 karakter tidak sama dengan q-gram pada table q-gram maka urutan karakter q-gram yang dibaca tidak berubah. 4. Lakukan pembacaan urutan karakter selanjutnya hingga karakter terakhir pada data string nama orang.

4.1.1.3 Inexact String Matching Fuzzy String Matching

Metode inexact string matching atau fuzzy string matching adalah metode pencocokan yang digunakan untuk mencari string yang memiliki kesamaan dengan string tertampung di kamus, meskipun tidak sama persis dalam susunan karakternya. Untuk mendapatkan kesamaan ini dibutuhkan suatu fungsi yang sering disebut dengan similarity function, similarty function adalah Fungsi yang akan bertugas memutuskan string hasil pencarian jika ditemukan string hasil pendekatan aproksimasi. Similarity function pada data string nama orang didahului dengan normalisasi string penamaan sesuai dengan aturan translasi Q-gram maupun eliminasi duplikasi karakter setelah dilakukannya translasi Q-gram. Q-gram adalah susunan beberapa huruf yang berurutan. Sedangkan eliminasi duplikasi karakter adalah menghilangkan karakter yang memiliki pengulangan pada suatu string. Algoritma langkah-langkah Fuzzy String Matching dalam Komparasi data kepesertaan : 1. Menormalisasikan karakter suatu data string nama peserta yang dibaca pada masing-masing database. a. Bila karakter yang dibaca pada string yang dibandingkan memiliki q- gram urutan karakter yang ada pada suatu tabel aturan q-gram maka q-gram pada string tersebut akan ditranslasikan kedalam bentuk normal karakter tersebut, proses translasi q-gram ini akan dilakukan pada suatu data string yang dibaca selama ditemui adanya suatu urutan karakter yang terdapat pada tabel aturan q-gram, bila kemudian terdapat karakter berdekatan yang berulang maka salah satu karakter tersebut akan dieliminasi. b. Bila karakter yang dibaca pada string yang dibandingkan memiliki q- gram urutan karakter yang tidak terdapat pada suatu tabel aturan q- gram maka dapat disimpulkan string tersebut telah memiliki bentuk normal urutan karakter yang tidak perlu ditranslasikan. 1 2 3 4 5 6 7 E F E N D H Y 1 2 3 4 5 6 7 E F F E N D Y 1 2 3 4 5 6 7 E F E N D D Y 1 2 3 4 5 6 E F E N D Y 1 2 3 4 5 6 E F E N D Y 1 2 3 4 5 6 E F E N D I 1 2 3 4 5 6 E F E N D I 1 2 3 4 5 W U L A N Dikarenakan WU-UL-LA-AN merupakan uruten karakter yang tidak terdapat pada tabel q-gram maka urutan-urutan karakter yang terdapat pada string tersebut tidak perlu ditranslasikan. 2. Penghitungan jumlah karakter dari data string yang dicocokan pada masing-masing database. 3. Bila bentuk suatu string yang dibaca telah memiliki bentuk normal dari string tersebut maka proses membandingkan kecocokan data string dapat dilakukan dengan memeriksa kecocokan tiap-tiap karakter pada data string yang dibandingkan. a. Bila karakter yang dibandingkan memiliki kecocokan atau persamaan karakter maka proses pemeriksaan kecocokan karakter akan berlanjut hingga pada karakter terakhir jumlah string tersebut. b. Bila kemudian ditemui ketidakcocokan karakter pada string yang dibandingkan maka dapat disimpulkan kedua string yang dibandingkan tidak memiliki kecocokan sehingga proses pencocokan pun tidak berlanjut dinyatakan string yang dibandingkan tidak cocok. 1 2 3 4 5 6 S T R I N G 1 2 3 4 5 6 S T R I N G Database A Database B 4. Mencocokan kesamaan teks dengan membaca karakter sebelah kiri string yang berindeks-1 pada masing-masing database. 1 … … … … 7 S A M P R I N J A M I L A H H A R T I N 1 … … … … 7 J A M I L A H S U P R I A N Y U L I A N A M I R N A T I S A M P R I N 1 … … … … 7 J A M I L A H S U P R I A N S A M P R I N 1 … … … … 7 S A M P R I N J A M I L A H Database B Database A a. Bila karakter pada record masing-masing database memiliki kesamaan, maka pencocokan string akan berpindah kearah kanan karakter string selanjutnya, hingga akhir dari string tersebut. b. Sedangkan bila karakter yang dicocokan tidak memiliki kesamaan antar karakter pada masing-masing database maka string tersebut tidak kembali dicocokan dinyatakan tidak cocok. 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 S A M P R I N 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H 1 … … … … 7 J A M I L A H Dengan demikian hasil dari analisis penerapan string matching dalam komparasi data nama peserta inilah yang kemudian menjadi tahapan-tahapan metode algoritma yang digunakan dalam mencocokan data antar kedua database sebagai gambaran dalam menangani data nama peserta maupun data string peserta lainnya.

4.2. Fase Perencanaan Syarat-syarat