15 diolah untuk dikelompokan, karena data yang ada tidak
konsisten dan ada beberapa data yang tidak lengkap karena adanya nilai atribut yang hilang.
Pembersihan data data cleanning merupakan proses menghilangkan noise kesalahan dan data yang tidak
relevan, yang pada umumnya data yang diperoleh baik dari database yang ada memiliki isian yang tidak
sempurna seperti adanya data yang hilang, data yang tidak
valid atau
kesalahan dalam
pengetikan Asriningtyas Mardhiyah, 2014. Dapat dikatakan tugas
utama dari pembersihan data ialah mengisi data yang hilang, mengidentifikasi outlier dan kesalahan data,
serta membenarkan
data yang
tidak konsisten.
Pembersihan data, khususnya untuk data yang tidak konsisten dapat dilakukan dengan beberapa cara, yaitu :
1. Manual yaitu dengan menncari dan memperbaiki
data yang tidak konsisten satu persatu. 2.
Semi manual, yaitu dengan menggunakan bantuan sistem
untuk mendeteksi
data yang
tidak konsisten, lalu memperbaikinya secara manual.
3. Otomatis, yaitu dengan menggunakan bantuan
sistem sepenuhnya dalam mencari dan memperbaiki data yang tidak konsisten dengan menggunakan
proses integrasi data Han Kamber, 2006.
3.4. Levenshtein Distance
Edit distance dalam komputer science dikenal dengan nama Levenshtein Distance. Nama tersebut diambil
dari nama
penemunya, yaitu
Vladimir Levinshtein.
Levinshtein distance ditemukan pada tahun 1965. Sejalan dengan waktu Levenshtein Distance lebih dikenal dengan
edit distance Mulyanto, 2010. Algoritma Levenshtein
16 Distance merupakan algoritma yang digunakan untuk
mencari jumlah operasi string yang paling sedikit untuk mentransformasikan suatu string menjadi string yang
lain. Algoritma ini digunakan dalam pencarian string dengan
pendekatan perkiraan
Approximate String
Matching Adiwidya, 2009. Perhitungan Levenshtein Distance didapatkan dari
matriks yang
digunakan untuk
menghitung jumlah
perbedaan antara dua buah string. Perhitungan jarak antara dua string ini ditentukan dari jumlah minimun
operasi perubahan untuk membuat string ‘A’ menjadi
string ‘B’. Jumlah operasi minimum tersebut disebut
dengan Levenshtein Distance atau edit distance. Pada algoritma Levenshtein Distance ada tiga macam operasi
utama, yaitu : 1.
Operasi Pengubahan Karakter Operasi pengubahan karakter berarti menukar
karakter ke dalam suatu string. 2.
Operasi Penambahan Karakter Operasi penambahan karakter berarti menambahkan
karakter ke dalam string. 3.
Operasi Penghapusan Karakter Operasi penghapusan karakter berarti menghapus
atau menghilangkan karakter dari suatu string. Algoritma ini berjalan mulai dari pojok kiri atas
sebuah array dua dimensi yang telah diisi sejumlah karakter string awal dan string target dan diberikan
nilai cost. Nilai cost dapat ditambah dengan nol ataupun satu, dengan ketentuan jika membandingkan huruf
yang sama
maka ditambah
dengan nol
dan jika
17 membandingkan huruf yang berbeda maka ditambah dengan
satu. m[s,t] = min m[s,t]+cost, m[s,t]+1, ms,t+1
operasi edit, operasi tambah, operasi hapus Nilai pada ujung kanan bawah menjadi nilai edit
distance yang menggambarkan jumlah perbedaan dua string Junedy, 2014.
Jarak distance pada metode ini adalah nilai minimum
dari operasi
pengubahan, penambahan
dan penghapusan karakter yang dibutuhkan untuk merubah
string asli s menjadi string pembanding t, contoh : 1.
Jika s adalah “aku” dan t adalah “aku”, maka jarak
antara kedua
string adalah
nol, dikarenakan
tidak ada
transformasi yang
dibutuhkan. Maka dapat disimpulkan kedua string tersebut identik.
2. Jika s adalah “aku” dan t adalah “abu”, maka
jarak antara kedua string tersebut adalah satu,
dikarenakan adanya pengubahan karakter dimana huruf “k” pada kata “aku” diubah menjadi huruf
“b” pada kata “abu”.
Proses algoritma levenshtein distance membandingkan kata “aku” sebagai string asli s dengan “abu” sebagai
string pembanding t, yaitu :
18 1.
Membuat matrik a
b u
1 2
3 a
1 k
2 u
3
2. Melakukan
pencocokan dengan
melakukan pembandingan dari setiap karakter s dengan
karakter t, dengan ketentuan : a.
Jika karakter pertama pada s dan karakter pertama pada t sama maka nilai pada cell
1,1 diisi dengan nol yang merupakan nilai matrik x-1, y-1
a b
u 1
2 3
a 1
k 2
u 3
b. Jika karakter pertama pada s dan karakter
kedua pada t berbeda, maka nilai cell didapat dari nilai terkecil dari :
a Nilai cell x-1, y-1+1, pada contoh
nilaiya adalah dua. b
Nilai cell x-1, y+1, pada contoh nilaiya adalah tiga.
c Nilai cell x, y-1+1, pada contoh
nilaiya adalah satu. Maka jarak karakter pertama pada s dan
karakter kedua pada t adalah satu.
19 a
b u
1 2
3 a
1 k
2 1
u 3
3. Proses terus berjalan sampai akhir karakter s
dan karakter t. a
b u
1 2
3 a
1 1
2 k
2 1
1 2
u 3
2 2
1
Maka didapatkan jarak string asli s dengan string pembanding t adalah satu.
Semakin besar nilai jarak yang dihasilkan oleh operasi algoritma levenshtein distance, maka semakin
besar perbedaan
diantara kedua
string tesebut
Junedy, 2014.
3.5. Bahasa Pemrograman C