Levenshtein Distance LANDASAN TEORI

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