BAB 3 ANALISIS DAN PERANCANGAN
Bab ini membahas tentang analisis dan perancangan sistem. Analisis yang dilakukan berhubungan dengan penerapan metode leveinsthein distance dalam mengidentifikasi
duplikasi pada data identitas perusahaan dan tahap-tahap yang akan dilakukan dalam perancangan sistem.
3.1. Data Yang Digunakan
Data yang digunakan pada penelitian ini berupa data identitas peserta yang memiliki duplikat data yang akan diidentifikasi sebagai data yang duplikat. Untuk data awal
digunakan data identitas berupa nama lengkap, jenis kelamin, nama ibu, dan alamat. Data yang digunakan merupakan raw data identitas BPJS dengan jumlah 3023 data
yang terdapat duplikat data. Potongan data dapat dilihat pada Gambar 3.1.
Gambar 3.1. Data Yang Digunakan
Universitas Sumatera Utara
3.2. Analisis Sistem
Sistem identifikasi duplikasi pada data duplikat costumer perusahaan menggunakan metode
leveinsthein distance
merupakan sistem
yang berfungsi
untuk mengidentifikasi data duplikat serta melakukan cleaning data pada data perusahaan.
Adapun data yang akan digunakan yaitu data costumer perusahaan dengan empat atribut yaitu, nama lengkap, jenis kelamin, nama ibu kandung dan alamat. Data
tersebut kemudian akan melalui tiga tahap pemrosesan yaitu tahap pertama adalah pembuatan key menggunakan metode multi-pass neighborhood yang berguna untuk
menunjukkan jumlah tahapan yang akan diproses. Tahap kedua adalah sorting atau pengurutan data berdasarkan key dan pada tahap ketiga adalah merging atau
penggabungan record yang teridentifikasi duplikat menjadi satu window dengan parameter edit-distance. Setelah duplikat record teridentifikasi, kemudian record akan
dibandingkan dengan record teridentifikasi lainnya pada passes yang berbeda menggunakan transitive closure. Setelah melalui tahap pemrosesan, sistem akan
menghasilkan keluaran output berupa data yang bersih serta data yang teridentifikasi duplikat. Adapun Arsitektur umum dari sistem ini dapat dilihat pada Gambar 3.2.
Universitas Sumatera Utara
Gambar 3.2. Arsitektur Umum
3.2.1 Input Data
Sebelum dilakukan identifikasi pada data, perlu dilakukan proses input data berupa data peserta berupa nama lengkap, jenis kelamin, nama ibu kandung, dan alamat yang
akan di identifikasi duplikat recordnya. Setelah data di input kemudian dilakukan pre- processing.
Universitas Sumatera Utara
3.2.2 Pre-Processing
Pada tahap pre-proccessing dilakukan beberapa tahapan persiapan data sehingga data dapat dengan mudah diproses untuk tahap selanjutnya. Tahapan pre-processing dari
penelitian ini terdiri dari mengubah data menjadi lowercase dan regular expression. 1.
Lowercase Pada tahap ini data pada keseluruhan teks akan diubah menjadi huruf kecil
toLowerCase. 2.
Regular Expression Penerapan regular expression dilakukan dengan memeriksa kata yang digunakan
token yang diterima sesuai dengan pattern yang akan digunakan. Pada data alamat akan menghilangkan kata jalan., jln., jl., dan lainnya. Pada kolom lainnya
juga dilakukan dengan penentuan kata yang berbeda dan akan menghilangkan kata pada tahap pre-processing.
3.2.3 Pembentukan Key
Setelah data mengalami proses pre-processing, kemudian data tersebut disimpan sebagai data awal yang akan digunakan untuk tahap pembuatan key menggunakan
metode multipass neighborhood. Dalam penyimpanan data awal ini, data di berikan tanda pengenal berupa id record sebagai key pada data. Berikut ini adalah tahapan
multipass neighborhood : 1.
Pembuatan key Menggabungkan record 3 huruf nama depan, nama belakang, dan nama ibu yang
akan digunakan sebagai key. Pembuatan key pada tahap multi- pass akan dilakukan sebanyak 3 key yang bersal dari kombinasi nama depan, nama
belakang, dan nama ibu. Key 1 terdiri dari tiga huruf konsonan dari nama belakang, tiga huruf
pertama dari nama depan, tiga huruf konsonan nama ibu. Pada key 1 akan diurutkan berdasarkan field nama belakang.
Key 2 terdiri dari tiga huruf pertama dari nama depan, tiga huruf konsonan pada nama belakang, dan tiga huruf konsonan nama ibu. Pada key 2 akan
diurutkan berdasarkan field nama depan.
Universitas Sumatera Utara
Key 3 terdiri dari, tiga huruf konsonan nama ibu, tiga huruf pertama dari nama depan, tiga huruf pertama dari nama belakang dan. Pada key 3 akan
diurutkan berdasarkan nama ibu.
Gambar 3.3. Gambar Data Setelah Pre-Processing
Key 1 Tiga huruf konsonan “nama belakang” menjadi
Tiga huruf pertama “nama depan” hartati menjadi har Satu huruf “jenis kelamin”p menjadi p
Tiga huruf pertama “nama ibu”titin menjadi tit Tiga huruf konsonan dan tiga angka nomer rumah “alamat”perintis 1
menjadi prn1 Key 2
Tiga huruf pertama “nama depan” hartati menjadi har Tiga huruf konsonan “nama belakang” menjadi
Satu huruf “jenis kelamin” p menjadi p Tiga huruf pertama “nama ibu” titin menjadi tit
Tiga huruf konsonan dan tiga angka nomer rumah “alamat” perintis 1
menjadi prn1 Key 3
Tiga huruf pertama “nama ibu” titin menjadi tit Tiga huruf pertama “nama depan” hartati menjadi har
Tiga huruf konsonan “nama belakang” menjadi Satu huruf “jenis kelamin” p menjadi p
Tiga huruf konsonan dan tiga angka nomer rumah “alamat” perintis 1
menjadi prn1
Gambar 3.4. Gambar Pembentukan Key 1, Key 2 dan Key 3
Universitas Sumatera Utara
3.2.4 Pengurutan Data pada Key
Pada proses ini dilakukan pengurutan data pada setiap key secara ascending A-Z. Pengurutan record dilakukan bertujuan untuk memudahkan penghitungan edit
distance pada string hanya pada key yang berada pada satu window. Key yang berbeda akan diberikan label yang berbeda dan berada pada window yang berbeda.
Gambar 3.5. Gambar Data Hasil Ascending
3.2.5 Pemisahan String pada Key
Pemisahaan kata pada setiap key dilakukan menggunakan n-gram. N-gram merupakan algoritma string similarity pencocokan string, dengan pergeseran window dengan
panjang n sepanjang karakter string. N-gram memisahkan string menjadi potongan string dengan panjang n. Kesamaan string pada kolom key 1,2,3 dilakukan
menggunakan n-gram.
Gambar 3.6. Gambar Data Hasil N-gram
Universitas Sumatera Utara
3.2.6 Pengukuran Kesamaan pada Key
Pengukuran kesamaan data pada key dilakukan menggunakan metode jaccard. Jaccard merupakan algoritma untuk mengukur kesamaan antara dua string. Rentang
nilai yang dihasilkan berupa 0 untuk menandakan tidak ada kesamaan dan 100 adalah sama persis. Tahap pada algoritma ini ada tiga yaitu, menghitung panjang string,
menemukan jumlah karakter yang sama pada kedua string dan menemukan jumlah transposisi. Transposisi adalah karakter yang sama dan tertukar urutannya pada string.
Perhitungan jaccard untuk mencari rentang nilai kemiripan pada data menggunakan persamaan 2.1.
2.1
Hasil dari n-gram : harptitprn1 ha ar r p pt ti it tp pr rn n1
harptitprn1 ha ar r p pt ti it tp pr rn n1
Gambar 3.7. Gambar Data Hasil Jaccard
Universitas Sumatera Utara
3.2.7 Pengukuran Kesamaan Data Tiap Kolom pada Data
Pada penelitian ini, record yang telah diurutkan akan dilakukan penggabungan record yang teridentifikasi duplikat menjadi satu window dengan parameter edit-distance.
Algoritma leveinsthein distance dilakukan untuk edit distance pada proses untuk mengetahui jarak antara dua string pada nama depan, nama belakang, jenis kelamin
dan nama ibu. Perbedaan string berupa penambahan insert, penghapusan delete dan penggantian karakter substitute. Perhitungan leveinsthein distance untuk
mencari jarak terdekat pada masing-masing data menggunakan persamaan 2.2 dan 2.3.
… ∑
dimana : V
untuk i = 1,2,…,l
d = 0 jika
d = 1 jika
Data nama = hartati hartati ∑
= d s
1
,t
1
+ d s
2
,t
2
+ d s
3
,t
3
+ d s
4
,t
4
+ d s
5
+t
5
+ d s
6
,t
6
+ d s
7
,t
7
= dh,h + da,a + dr,r + dt,t + da,a + dt,t + di,i = 0 + 0 + 0 + 0 + 0 + 0 + 0
= 0
Gambar 3.8 Gambar Data Hasil Leveinsthein Distance
Universitas Sumatera Utara
3.2.8 Pembacaan Data Duplikat pada Suatu Window
Pembacaan data duplikat pada suatu window dilakukan menggunakan metode transitive closure. Transitive closure R+ dari relasi R pada data merupakan relasi
terkecil yang mengandung R sebagai subset dan bersifat transitive. Suatu graph dikatakan transitive. Suatu graph dikatakan transitive jika terdapat jalan dari titik A
ke titik B dan sebuah jalan dari titik B ke titik C, sehingga ada jalan dari titik A ke titik C.
3.3. Perancangan Sistem