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