Pengoreksi Kesalahan Ejaan Bahasa Indonesia Levensthein Distance
Pengoreksi Kesalahan Ejaan Bahasa Indonesia Levensthein Distance
C. C Sharp
Gambar 2 Diagram Sistem Pengoreksi Ejaan
C# merupakan sebuah bahasa pemrograman yang
berorientasi objek yang dikembangkan oleh Microsoft C. Pencarian Kata
sebagai bagian dari inisiatif kerangka .NET Framework. Pencarian kata dalam kamus ditujukan untuk
C# adalah pemrograman berorientasi Object (OOP). menentukan apakah kata yang dimasukkan user benar
C# memiliki kekuatan bahasa C++ dan portabilitas ejaannya atau tidak. Apabila kata yang dimasukkan oleh
seperti Java. Fitur-fitur yang diambilnya dari bahasa user terdapat dalam kamus, maka kata itu sudah benar
C++ dan Java adalah desain berorientasi objek, seperti ejaannya. Contoh ejaan kata yang benar atau salah dapat
garbage collection, reflection, akar kelas (root class), dilihat pada tabel 1.
dan juga penyederhanaan terhadap pewarisan jamak
(multiple inheritance). Kata Masukan Kamus Benar/Salah
agrobisnis ada Benar
III. PERANCANGAN DAN IMPLEMENTASI agrobinsis tidak ada Salah
yang ada Benar
A. Blok Diagram Sistem yagn tidak ada Salah
Blok diagram sistem menggambarkan garis
besar kinerja sistem dalam pengoreksi ejaan Tabel 1. Contoh Pengecekan Ejaan Kata
ditunjukkan pada Gambar 1.
Sebelum melakukan pencarian kata, teks masukan
Teks yang akan Pencarian kata
dari user dipisahkan per kata. Pemisahan dilakukan
Pencarian sugesti Pemilihan sugesti Teks keluaran
dikoreksi dalam database
berdasarkan spasi. Kata-kata yang sudah dipisah
nantinya dimasukkan ke dalam array.
Database
Pencarian kata dilakukan satu-persatu, dari kata
pertama hingga terakhir. Algoritma pencarian kata
ditunjukkan pada gambar 4.4.
Gambar 1. Blok Diagram Keseluruhan Sistem
Diagram alir pencarian kata ditunjukkan pada
Gambar 3.
masukan MULAI
kosong?
Y
T
Kata yang
Pengecekan tiap karakter salah
Mengambil
Sesuai kamus? karakter pertama
Y Mengumpulkan kata
Kata tidak ada dalam kamus yang
Kata ada karakter pertamanya sama
D. Pencarian Sugesti Y
for i = 0 to n do
cost[0][i] i
Gambar 5. Diagram Alir Pemberian Sugesti
for i = 0 to m do
cost[i][0] i
Sugesti yang diberikan sistem nantinya bisa dipilih
for i = 1 to n do
oleh user sebagai pengoreksi kesalahan katanya. Namun
for j = 1 to m do
if (s[i-1]=t[j-1]) then user juga bisa memberikan koreksi manual maupun
cost[j][i] 0 mengabaikan sugesti.
else cost[j][i] 1
a1 cost[j][i-1]+1 E. User Interface Sistem
a2 cost[j-1][i]+1 Rancangan Interface sistem pengoreksi ejaan seperti
a3 cost[j-1][i-1]+cost[j][i] pada Gambar 6. Tampilan memiliki 2 textfield untuk
cost[j][i] min(a1,a2,a3) teks masukan dan keluaran, panel sugesti, dan 6 tombol
return cost[m][n] untuk mengecek ejaan, menandai kesalahan ejaan,
mengubah kata yang salah sesuai sugesti (satu kata atau
Gambar 4. Pseudocode Levenshtein Distance semua kata yang sama), dan mengabaikan sugesti (satu
kata atau semua kata yang sama).
Dalam sistem pengoreksi ejaan ini, metode
Levenshtein Distance digunakan dengan mencari jarak
4
Yang
Kategori Kata Sugesti
Diinginkan
Gambar 7. Implementasi Sistem Pengoreksi Kesalahan Ejaan dada,
Penggantian dadah,
dakam dalam
satu huruf dadak,
IV. PENGUJIAN DAN ANALISIS DATA dadap, ,
daham,
Pengujian dimaksudkan untuk mengetahui apakah dalal,
perangkat lunak yang dibuat sudah memenuhi krieria Penyisipan
dallam dalam dalam,
yang diharapkan dari tujuan perancangan perangkat satu huruf
dalami,
lunak tersebut. daulat
A. Pengujian dan Analisis terhadap Pencarian Kata dahi, dai,
pada Kamus daki, daku,
Penghilangan
dalm dalam dalai,
Pengujian sistem terhadap pencarian kata dalam satu huruf
dalam,
kamus dilakukan dengan cara memasukkan 14 kata dalih
berbeda dengan kemungkinan kata tersebut ejaannya dada,
benar atau salah. Parameter keberhasilan pada sistem Penukaran dakwa,
adalah kesesuaian antara keberadaan kata dalam kamus dalma dalam
dua huruf dalal,
dengan tampilan kata yang salah pada sistem dalam,
Pada Tabel 2 ditunjukkan contoh 14 kata untuk diuji Penggantian
kebenarannya. ropawsn rupawan rupawan
dua huruf
Kesalahan
No Kata Kata Salah Ada di Kamus lebih dari 2 ruoaawn rupawan -
huruf
1 ABRI Tidak Ada
2 cuti Tidak Ada Tabel 3. Kategori Kesalahan Ejaan Beserta Contohnya
DAFTAR PUSTAKA
[1] Hariyanto, Bambang. 2003. Struktur Data, Memuat Dasar
Pengembangan Orientasi Objek. Bandung: Informatika
Bandung.
[2] Nugroho, Adi. 2009. Algoritma dan Struktur Data dengan C#.
Yogyakarta: CV Andi OFFSET.
[3] Pitts, Robert I. Trie. http://www.cs.bu.edu/teaching/c/tree/trie/.
Diakses pada tanggal Diakses pada tanggal 13 Juni 2012 pukul
19.00 WIB.
[4] Rahmat. 2005. Database Management System (DBMS).
http://blog.re.or.id/ database-management-system-dbms.htm.
Diakses pada tanggal 1 Maret 2011 pukul 17.50 WIB.
[5] Suarga. 2006. Algoritma Pemrograman. Yogyakarta: CV Andi
OFFSET.
[6] Trevisan, L. 2001. Notes for Lecture 13 – Edit Distance.
http://www.cs.berkeley.edu/ ~luca/cs170/notes/lecture13.pdf,
Diakses pada tanggal 1 Maret 2011 pukul 17.25 WIB.
[7] Wagito. 2003. Pemrograman Berorientasi Objek. Yogyakarta:
Gava Media.
[8] Wikipedia. Basis Data. http://id.wikipedia.org /wiki/Basis_Data.
Diakses pada tanggal 1 Maret 2011 pukul 17.35 WIB.
[9] Wikipedia. 1999. Levenshtein Distance. http://
en.wikipedia.org/wiki/Edit_distance. Diakses pada tanggal 1
Maret 2011 pukul 17.30 WIB.
[10] Wikipedia. Sistem Manajemen Basis Data.
http://id.wikipedia.org/wiki/ Sistem_manajemen_basis_data.
Diakses pada tanggal 1 Maret 2011 pukul 17.45 WIB.
[11] Wikipedia. Trie. http:// en.wikipedia.org/wiki/Trie. Diakses pada
tanggal 13 Juni 2012 pukul 19.30 WIB.