1
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
2
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
3 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%).
4 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.
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 :
Dan rumus untuk menghitung variabel max adalah sebagai berikut:
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.
Jumlah Kombinasi = panjang variabel key – (Jumlah karakter kombinasi - 1)
5 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%).
6 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.
7 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 rata-rata, 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 :