Samakata Algoritma Pencocokan Kata Kata

ALGORITMA PENCOCOKAN KATA
Akhmad Arfaq Rosyada, S.Kom

I. LATAR BELAKANG
Dalam proses pendataan komputer, kesalahan penulisan kata oleh pengguna dapat
mengakibatkan hasil yang dimunculkan tidak sesuai dengan apa yang diinginkan, terutama
dalam proses pencarian data. Kesalahan ini dapat terjadi karena pangguna terburu-buru
dalam mengetikkan kata, dan tidak dilakukannya peninjauan ulang sebelum dilakukan
pemrosesan. Kemungkinan lain yang muncul adalah pengguna yang tidak mengetahui
susunan kata baku yang dimaksud, sehingga mengetikkannya dengan seadanya.
Kata dengan susunan yang tidak baku ini akan membingungkan komputer,
komputer yang bekerja secara lurus akan memproses data tersebut dengan apa adanya,
komputer menganggap itu adalah data masukan yang dimaksud pengguna, sehingga hasil
pemprosesan menjadi tidak sesuai dengan apa yang benar-benar pengguna inginkan.
Untuk mengantisipasi permasalahan ini, komputer membutuhkan sebuah algoritma
yang dapat membetulkan kata tidak baku dari kesalahan pengetikan pengguna menjadi
kata baku yang seharusnya.

II. TUJUAN
Tujuan dari pembuatan algoritma ini adalah untuk membuat komputer dapat
mengenali kemungkinan kesalahan pengetikan kata yang diinputkan oleh pengguna,

kemudian membetulkannya sesuai dengan pengetahuan kata baku yang dimiliki. Dengan
adanya algoritma ini, pengguna tidak perlu khawatir hasil yang diberikan komputer tidak
sesuai dengan keinginannya, karena kesalahan pengetikan kata dapat diantisipasi.

1

III. PEMBAHASAN
Secara umum, Cara kerja dari algoritma pencocokan kata ini adalah dengan
mencocokan kata yang diinputkan dengan daftar kata baku yang tersimpan dalam
database sebagai pengetahuan bagi komputer, kata inputan tersebut akan dicocokkan satu
persatu dengan kata baku dalam database, kemudian akan dilakukan penilaian kecocokan
dalam satuan persentase, jika nilai persentase menunjukkan hasil 100%, maka kata
tersebut sudah termasuk dalam kata baku, jika kurang dari 100%, maka kata tersebut
belum termasuk kata baku, algoritma ini akan mengambil kata baku dengan nilai
persentase kecocokan yang paling tinggi, kata inilah yang dianggap sebagai kata baku yang
dimaksud pengguna.
Adapun proses lebih detailnya adalah sebagai berikut :
1.

Penginputan Data

Terdapat 2 jenis data yang dimasukkan dalam algoritma ini, yaitu data utama
dan data tambahan. Data utama berupa data kata baku (kemudian disebut word),
dan juga data kata kunci (kemudian disebut key). Data tambahan berupa batasan
persentase minimal kecocokan data (kemudian disebut min), dan juga batasan
maksimal hasil yang ditampilkan (kemudian disebut limit). Secara umum, seluruh
data disebut dengan variabel.
Data word merupakan variabel array, yaitu variabel yang memiliki banyak nilai,
setiap nilainya memiliki nomor indeks masing-masing. Nilai data word ini dapat
diberikan secara langsung, ataupun dapat mengambil data dari database.
Dalam kasus ini, contoh nilai yang digunakan untuk mengisi variabel array word
adalah JAMBU, MANGGA, dan MANGGIS, sedangkan contoh nilai yang digunakan
untuk mengisi variabel key adalah MANGGA.

2.

Pencocokan Data
Proses dalam pencocokan data dilakukan secara berulang sesuai dengan panjang
data array variabel word. Setiap nilai dalam array word akan dihitung kecocokannya
dengan variabel key, yaitu dengan pemberian nilai kecocokan (kemudian disebut
point) dan juga nilai kecocokan maksimal (kemudian disebut max), kedua nilai ini

akan menjadi nilai kecocokan dalam satuan persentase. Selanjutnya adalah dengan
mengurutkan nilai kecocokan tersebut dari nilai tertinggi menuju nilai terendah,
variabel word yang memiliki nilai tertinggi merupakan kata yang paling cocok
dengan variabel key.

2

2.1

Penentuan Point
Penentuan point kecocokan variabel word dengan variabel key dilakukan dengan
beberapa metode. Setiap metode memiliki sistem penilaiannya masing-masing.
Data yang dihasilkan adalah variabel point dan variabel max. Variabel max
merupakan nilai maksimum yang bisa dimiliki variabel point, untuk menentukan
nilainya, perlu dihitung segala kemungkinan yang terjadi dalam pemberian penilaian
pada variabel point. Setiap variabel point dan max dari masing-masing metode akan
dijumlahkan dan dibandingkan untuk memberikan nilai kecocokan variabel word
dan variabel key.

2.1.1 Pencocokan Posisi Karakter

Cara kerja metode pencocokan posisi karakter ini adalah dengan memecah
variabel word dan variabel key menjadi karakter per karakter. Setiap karakter dari
variabel word dan variabel key dibandingkan sesuai posisinya. Jumlah
pembandingan ditentukan oleh panjang variabel terkecil dari variabel word dan
variabel key. Jika terdapat karakter yang sama di posisi yang sama, maka akan
diberikan nilai sebesar satu point, seluruh Point akan diakumulasi. Nilai max
ditentukan oleh panjang variabel terbesar dari variabel word dan variabel key.

Gambar di atas merupakan ilustrasi dari metode ini. Saat dibandingkan dengan
kata MANGGA, kata JAMBU memiliki kecocokan 1/6 (16.67%), kata MANGGIS
memiliki kecocokan 5/7 (71.43%), sedangkan kata MANGGA yang memang sama,
memiliki kecocokan 6/6 (100%).
Metode ini berfungsi untuk menentukan kata yang dimaksud walaupun kata kunci
dituliskan secara tidak lengkap. Misalnya kata kunci yang dituliskan adalah
MANG, kecocokan dengan kata JAMBU adalah 1/5 (20%), kecocokan dengan
dengan kata MANGGA adalah 4/6 (66.67%), dan kecocokan dengan kata
MANGGIS adalah 4/7 (57.14%). Algoritma ini akan menganggap bahwa kata yang
dimaksud adalah MANGGA, karena memiliki nilai kecocokan yang paling tinggi.
3


2.1.2 Pencocokan Posisi Karakter dengan Pembalikan Kata
Cara kerja metode ini hampir sama dengan metode sebelumnya, namun
sebelum dibandingkan, kedua kata dilakukan pembalikan. Karakter diposisi paling
depan akan dipindah paling belakang, begitu seterusnya.

Fungsi dari metode ini hampir sama dengan metode sebelumnya, perbedaannya
adalah kata kunci yang dituliskan tidak lengkap ada di bagian belakang. Misalnya
kata kunci yang dituliskan adalah GGA, kecocokan dengan kata JAMBU adalah 0/5
(0%), kecocokan dengan dengan kata MANGGA adalah 3/6 (33.33%), dan
kecocokan dengan kata MANGGIS adalah 1/7 (14.29%). Algoritma ini akan
menganggap bahwa kata yang dimaksud adalah MANGGA, karena memiliki nilai
kecocokan yang paling tinggi.

2.1.3 Pencocokan Kombinasi Karakter
Cara kerja dari metode ini adalah dengan memecah variabel key menjadi
kombinasi karakter dengan jumlah tertentu untuk dibandingkan dengan variabel
word. Jika kombinasi karakter dari variabel key terdapat pada variabel word, maka
akan diberikan nilai kecocokan sebenar jumlah kombinasi karakter.
Jumlah kombinasi ini dapat disesuaikan dengan kebutuhan, dalam algoritma ini
dipilih 3 karakter untuk panjang minimal, karena kombinasi 2 karakter menjadi

kombinasi yang terlalu umum untuk berbagai kata. Kombinasi karakter yang diambil
adalah dari karakter yang bergandengan, sehingga rumus untuk mencari jumlah
kombinasi yang terbentuk adalah sebagai berikut :
Jumlah Kombinasi = panjang variabel key – (Jumlah karakter kombinasi - 1)
Dan rumus untuk menghitung variabel max adalah sebagai berikut:
max = ( panjang variabel key - ( Jumlah karakter kombinasi -1 ) ) * Jumlah
karakter kombinasi
4

Gambar di atas merupakan ilustrasi dari metode ini. Kombinasi yang terbentuk
dari kata MANGGA adalah MAN, ANG, NGG, dan GGA. Saat seluruh kombinasi
karakter tersebut dibandingkan dengan kata JAMBU, memiliki kecocokan 0/12 (0%),
saat dibandingkan dengan kata MANGGIS memiliki kecocokan 9/12 (75%),
sedangkan saat di bandingkan dengan kata MANGGA yang memang sama, memiliki
kecocokan 12/12 (100%).
Metode ini berfungsi untuk mengantisipasi kata yang diinputkan pengguna
diketikkan dengan susunan kata yang diacak, misalkan kata MANGGA diubah
menjadi GAMANG, algoritma ini masih dapat mengenali bahwa kata tersebut
adalah MANGGA, karena dapat mengenali kombinasi karakter pada kata
tersebut.

5

2.1.4 Pencocokan Kombinasi Karakter dengan Penghilangan Huruf Vocal
Cara kerja metode ini hampir sama dengan metode sebelumnya, namun
sebelum dibandingkan, kedua kata dilakukan proses penghilangan huruf vocal.
Setelah karakter vocal hilang, jumlah minimal kombinasi karakter dapat dikurangi
menjadi 2 karakter, karena sudah tidak menjadi kombinasi kata yang umum.

Fungsi dari metode ini hampir sama dengan metode sebelumnya, dengan
tambahan fungsi untuk mengetahui kata yang dituliskan dengan singkatan,
misalkan kata DIMANA sering disingkat dengan kata DMN, kata KAPAN disingkat
dengan kata KPN, dan lain sebagainya.

6

2.2

Pengurutan Point
Setelah variable key dibandingan dengan seluruh data variabel word, nilai yang
dihasilkan dari setiap metode pencocokan akan diakumulasi dan dihitung nilai ratarata, nilai ini menjadi nilai kecocokan variable key dengan data baku. Kemudian

data kecocokan tersebut diurutkan sesuai dengan urutan nilai kecocokan tertinggi
sampai dengan kecocokan terendah. Algoritma pengurutan yang digunakan adalah
Bubble Sort, yaitu algoritma pengurutan data yang sudah banyak digunakan.

3.

Penampilan Data
Data kecocokan yang sudah diurutkan dapat ditampilkan untuk dapat dilihat
pengguna. Data yang ditampilkan dapat dibatasi sesuai keinginan, nilai variabel min
dapat digunakan untuk membatasi nilai minimal kecocokan, dan variabel limit dapat
digunakan untuk membatasi jumlah data yang ditampilkan.

Algoritma ini dapat diujicoba melalui alamat berikut ini :
http://samakata.lightline.web.id/

7