Abstrak
Kesalahan pengetikan sering terjadi ketika kita melakukan
pencarian pada search engine, hal tersebut disebabkan pada
tata letak keyboard yang saling berdekatan, slip jari, ataupun
karena dua karakter yang letaknya tertukar. Pada text mining
untuk mengatasi permasalahan tersebut dapat dilakukan
dengan menambahkan algoritma untuk mengoreksi kesalahan
ejaan kata yang diinput user sebelum melanjutkannya
kembali pada pencarian lebih lanjut. Salah satu cara untuk
mengatasi masalah ini adalah dengan menerapkan algoritma
Dynamic Programming untuk menghitung score dan
menetapkan string yang benar yang paling mendekati (closest
match) atau mirip dengan string yang dimasukkan oleh user
atau sering dikenal dengan Algoritma Levenshtein Distance.
Pengembangan teknik ini banyak diterapkan pada bidang
disiplin ilmu Bioinformatika untuk mengecek kemiripian
rumus DNA atau protein (sequence aligment). Pemecahan
masalah string edit distance menjadi titik temu antara bidang
informatika dengan biologi. Pada makalah ini akan dibahas
secara singkat bagaimana langkah-langkah teknis algoritma
Dynamic Programming dalam memecahkan masalah ini,
serta bagaimana kompleksitas ruang dan waktu dari langkahlangkah tersebut.
Kata Kunci : Koreksi ejaan Kata, Dynamic Programming,
Text Mining, string edit distance, Levenshtein Distance
1.
algoritma
dynamic
programming untuk koreksi kesalahan ejaan kata
pada search engine.
PENDAHULUAN
2.
Mendeteksi
engine.
kesalahan
pengetikan
pada
search
a.
2.
DASAR TEORI
3.
Text Preprocessing
Text Transformation
Feature selection
Pattern Discovery
2.3.3.3 Stemming
CASE FOLDING
TOKENIZING
FILTERING
STEMMING
Gambar 2.1 : Tahap Preprocessing (Pemrosesan Awal)
2.3.3.2 Filtering
3.
PERANCANGAN
4.
IMPLEMENTASI
Langkah 1
Kata kunci = unverstas, dipecah ke dalam array sehingga:
Array ( [0] => unverstas).
-
Langkah 2
Untuk setiap isi array lakukan pencarian pada table
CRAWL. Apabila pencarian bernilai false maka lakukan
proses saranKata. Pada kondisi ini kata unverstas bernilai
false sehingga proses saran Kata akan dilakukan terhadap
kata unverstas.
Langkah 3
Filter semua kata pada tabel KATA yang memiliki panjang
karakter (P) antara Pkatakunci-3 sampai Pkatakunci+3.
Sehingga untuk kata unverstas dengan panjang 9 maka
kata-kata yang terpilih adalah yang memiliki panjang
antara 6 sampai 12.
Langkah 4
Untuk setiap kata terfilter dari tabel KATA lakukan
penghitungan jarak terhadap kata unverstas dengan metode
Levenshtein Distance. Misalkan tiga kata dari tabel kata
yang akan dibandingkan adalah investasi (panjang kata =
9), universitas (panjang kata = 11) dan integritas (panjang
kata = 10).
I
N
V
E
S
T
A
S
I
0
1
2
3
4
5
6
7
8
9
U
1
1
1
2
3
4
5
6
7
8
N
2
2
1
2
3
4
5
6
7
8
V
3
3
2
1
2
3
4
5
6
7
E
4
4
3
2
1
2
3
4
5
6
R
5
5
4
3
2
2
3
4
5
6
S
6
6
5
4
3
2
3
4
4
5
T
7
7
6
5
4
3
2
3
4
5
A
8
8
7
6
5
4
3
2
3
4
S
9
9
8
7
6
4
4
3
2
3
U
N
I
V
E
R
S
I
T
A
S
0
1
2
3
4
5
6
7
8
9
10
11
U
1
0
1
2
3
4
5
6
7
8
9
10
N
2
1
0
1
2
3
4
5
6
7
8
9
V
3
2
1
1
1
2
3
4
5
6
7
8
E
4
3
2
2
2
1
2
3
4
5
6
7
R
5
4
3
3
3
2
1
2
3
4
5
6
S
6
5
4
4
4
3
2
1
2
3
4
4
T
7
6
5
5
5
4
3
2
2
2
3
4
A
8
7
6
6
6
5
4
3
3
3
2
3
S
9
8
7
7
7
6
5
3
4
4
3
2
5. HASIL RUNNING
Berikut merupakan hasil running
menerapkan rancangan sistem tersebut.
program
untuk
I
N
T
E
G
R
I
T
A
S
0
1
2
3
4
5
6
7
8
9
10
U
1
1
2
3
4
5
6
7
8
9
10
N
2
2
1
2
3
4
5
6
7
8
9
V
3
3
2
2
3
4
5
6
7
8
9
E
4
4
3
3
2
3
4
5
6
7
8
R
5
5
4
4
3
3
3
4
5
6
7
S
6
6
5
5
4
4
4
4
5
6
7
T
7
7
6
5
5
5
5
5
4
5
6
A
8
8
7
6
6
6
6
6
5
4
5
S
9
9
8
7
7
7
7
7
6
5
4
Langkah 5
Update nilai jarak dari semua kata di tabel KATA terfilter
yang memiliki nilai jarak antara 1 sampai 3. Oleh karena
sistem hanya menyimpan nilai jarak antara 1 sampai 3
maka hanya kata universitas dan investasi yang terupdate
nilai jaraknya pada table KATA.
Langkah 6
Urutkan isi tabel kata berdasarkan kriteria jarak terendah.
Kata pada urutan teratas merupakan kata saran terpilih.
Sehingga pada kasus ini kata universitas terpilih sebagai
kata saran bagi kata unverstas. [4]
6. KESIMPULAN
Berdasarkan hasil pengujian yang dilakukan dapat kita
ketahui bahwa algoritma dynamic programming dapat
diterapkan pada text mining, hal tersebut dibuktikan dengan
pengujian koreksi ejaan kata dengan mencari nilai terdekat
dari kemungkinan perubahan kata yang ada di database kamus
kata yang tersimpan.
7.
DAFTAR PUSTAKA
[6] http://www.math.uchicago.edu/~may/VIGRE/VIGRE20
09/REUPapers/Scarvalone.pdf diakses tanggal 17 Mei
2015 jam 22.30
[7] http://www.sans.org/reading_room/whitepapers/vpns/rev
iew-diffie-hellman-algorithm-secure-internetprotocols_751 diakses tanggal 18 Mei 2015 jam 23.45