Koreksi Ejaan Query Bahasa Indonesia Menggunakan Algoritme Damerau Levenshtein

(1)

KOREKSI EJAAN QUERY BAHASA INDONESIA

MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN

Utis Sutisna1), Julio Adisantoso2)

1,2

Departemen Ilmu Komputer, Institut Pertanian Bogor Kampus Darmaga, Wing 20 Level V, Bogor, Jawa Barat, Indonesia

uts_ipb42@yahoo.com 1) julio_adisantoso@yahoo.com 2)

2009

ABSTRACT

Query spelling on search engine is important to improve the quality information searching result. When user types query for search engine input, sometime spelling mistakes occurred due to position of keyboard and finger movement while typing. As an effect, searching result is incorrect and when user misspells the query, information obtained will not succeed. Therefore, search engine requires an application of spelling corrections. This research proposes correction process for query spelling by giving words suggestions which are obtained by calculating edit distance for each corrected word towards every word in dictionary. The concept for calculating edit distance uses Damerau Levenshtein algorithm which consists of 4 operations: (1) insertion, (2) substitution, (3) deletion, and (4) transposition. This research shows that implementation of Damerau Levenshtein algorithm is able to increase recall-precision value in information retrieval system. It is shown by the increasing of average recall-precision value at 44,82% after correction.

Keywords : Damerau Levenshtein, Algoritme Damerau Levenshtein Metric, edit distance

1.

Pendahuluan

Kata kunci atau yang biasa disebut dengan query

pada pencarian informasi dari sebuah search engine

digunakan sebagai kriteria pencarian yang tepat dan sesuai dengan kebutuhan. Ejaan kata kunci yang benar menjadi penting untuk meningkatkan hasil pencarian informasi. Ketika pengguna menulis query

sebagai masukan pada sistem pencari, muncul kesalahan ejaan disebabkan posisi tombol papan ketik dan pergerakan jari sehingga hasil pencarian bersifat salah. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengoreksi kesalahan ejaan. Pengoreksian ejaan ini dapat dilakukan dengan memberikan ejaan kata yang benar yaitu dengan memberikan usulan ejaan kata yang mirip berdasarkan kamus.

Penelitian tentang pengoreksian ejaan bahasa Indonesia juga pernah dilakukan oleh Primasari (1997), melakukan penelitian tentang pencarian dan temu kembali nama berdasarkan kesamaan fonetik. Arumsari (1998) dengan menggunakan metode jarak

edit. Wahyudin (1999) dengan menggunakan algoritme trigram untuk mendapatkan kata-kata perkiraan dari kata yang dinyatakan salah eja. Arumsari (1998) menentukan jarak edit diantara dua

string dari operasi yang dilakukan yaitu: (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), dan (3) operasi penggantian (subtitution) sebuah huruf. Pada penelitian ini, pengoreksian ejaan akan dilakukan dengan algoritme Damerau Levenshtein dengan metode jarak edit. Operasi yang dilakukan tidak hanya tiga operasi seperti yang dilakukan dalam penelitian Arumsari (1998). Tetapi,

juga diperhatikan operasi penukaran (transposition) posisi sebuah huruf yang berdekatan. Sehingga perolehan kata ejaan yang benar lebih optimal.

2.

Algoritme Damerau Levenshtein

Menurut Damerau dalam Wahyudin (1999) menyimpulkan 80% kesalahan ejaan dapat disebabkan karena empat hal, yaitu:

1. Penggantian satu huruf 2. Penyisipan satu huruf 3. Penghilangan satu huruf

4. Penukaran dua huruf berdekatan.

Kesalahan ejaan juga dapat disebabkan oleh beberapa hal, diantaranya:

1. Ketidaktahuan penulisan. Kesalahan ini biasanya konsisten dan kemungkinan berhubungan dengan bunyi kata dan penulisan yang seharusnya. 2. Kesalahan dalam pengetikan yang lebih tidak

konsisten tapi mungkin berhubungan erat dengan posisi tombol papan ketik dan pergerakan jari. 3. Kesalahan transmisi dan penyimpanan yang

berhubungan dengan pengkodean pada jalur mekanisme transmisi data.

Kesalahan ejaan dapat dikoreksi menggunakan dua strategi dasar yang berbeda, yaitu mutlak dan relatif (Pullock & Zamora 1984, dalam Wahyudin 1999). Secara mutlak, pengoreksian dilakukan dengan membuat suatu tabel variasi ejaan yang salah dengan ejaan yang benarnya. Namun demikian, secara relatif ejaan yang benar dipilih dari kamus yaitu dengan mencari kata dalam kamus yang paling mirip dengan kata yang salah ejaannya.


(2)

Damerau Levenshtein Metric adalah sebuah fungsi pada finite string dari sebuah alphabet ke integer. Sebuah matriks jarak yang diberikan strings s1, s2, s3 yang memenuhi kondisi (Bard, 2006):

Non-negativity: d(s1, s2) ≥ 0

Non-degeneracy: d(s1, s2) = 0 jika dan hanya

jika s1 = s2

Symmetry: d(s1, s2) = d(s2, s1)

Triangle Inequality: d(s1, s2) + d(s2, s3) ≥

d(s1, s3)

Jarak d(s1, s2) didefinisikan sebagai sebuah

kombinasi operasi penjumlahan dari penambahan sebuah huruf, penghilangan sebuah huruf, penggantian sebuah huruf atau penukaran sebuah huruf dari huruf lainnya dalam satu lokasi. Itu memungkinkan beberapa kombinasi pada empat operasi yang dapat mentransformasikan string s1 ke

s2, tapi panjang terpendek urutan adalah jarak antara dua strings.

Metode Damerau Levenshtein Metric melakukan operasi perbandingan kata-kata dengan memperhatikan 4 macam kesalahan pengetikan (misalnya kata DAMERAU), yaitu:

1. Penyisipan sebuah huruf, misalnya DAHMERAU.

2. Penghapusan sebuah huruf, misalnya DAMRAU.

3. Penggantian sebuah huruf dengan huruf lain, misalnya DANERAU.

4. Penukaran sebuah huruf berurutan, misalnya DAMERUA.

Salah satu metode pembandingan dalam memeriksa ejaan dengan menggunakan Table Look-up. Metode ini membandingkan kata terhadap kata dalam kamus. Jika tidak ada dikamus maka kata tersebut dianggap salah (Peterson 1980, diacu dalam Wahyudin 1999). Ketidaksesuaian dari strings dapat dibandingkan dengan kata pada kamus yang secara langsung menggunakan penyesuaian karakter demi karakter secara iteratif, dengan menentukan jumlah minimum kesalahan dari masing-masing operasi.

Damerau Levenshtein Metric menghitung jumlah minimum kesalahan dari dua kata misalnya terdapat dua buah kata yang dinotasikan sebagai s dan t. Variabel i dan j menyatakan posisi huruf yang dibandingkan pada suatu kata (pfiefer et al. 1994).

f(0, 0)= 0

f(i, 0)= i f(0, j)= j f(i, j)= min {

f(i-1, j) + 1, // deletion f(i, j-1) + 1, // insertion f(i-1, j-1) + d(si, tj) // substitution

f(i-2, j-2) + d(si-1, tj) + d(si, tj-1) + 1

// transposition

}

fungsi d merupakan fungsi untuk mengukur jarak untuk huruf.

Fungsi f(i, j) menghitung minimum jumlah kesalahan-kesalahan perbandingan i karakter pertama dari kata pertama dengan j karakter pada kata kedua. Jarak antara dua strings adalah f(m,n), dimana m merupakan panjang string pertama dan n

merupakan panjang string ke dua.

3.

Percobaan

Tujuan percobaan ini adalah untuk mengetahui kinerja algoritme pengoreksian ejaan Damerau Levenshtein. Akan dilihat apakah algoritme tersebut dapat memberikan usulan kata yang cukup baik untuk berbagai variasi kesalahan yang terjadi.

Percobaan dilakukan dengan mengetikkan query

yang mengandung salah eja. Hal ini juga dilakukan seolah-olah tidak mengetahui ejaan query yang benar (diasumsikan ejaan query benar walaupun mengandung salah eja). Kemudian pada program yang telah dibuat sudah ditentukan default nilai jarak

edit yaitu 2.

4.

Asumsi

Asumsi-asumsi yang digunakan dalam penelitian ini antara lain:

Query yang dimasukkan ke sistem merupakan kata kunci yang telah ditentukan sebelumnya.

 Jumlah dokumen relevan untuk setiap query telah diketahui sebelumnya.

 Teks pada dokumen benar sesuai dengan Kamus Besar Bahasa Indonesia.

 Pengoreksian hanya dilakukan pada query.

5.

Hasil Percobaan

Dokumen korpus yang digunakan untuk pengujian sebanyak 1000 dokumen dalam bentuk file

teks yang berformat XML. Contoh dokumen pengujian dapat dilihat pada Lampiran 1. Deskripsi dokumen pengujian ditunjukan oleh Tabel 1. Tabel 1. Deskripsi dokumen pengujian

Uraian Nilai (bytes)

Ukuran rata-rata dokumen 4.111 Ukuran dokumen keseluruhan 4.110.509 Ukuran dokumen terbesar 53.306 Ukuran dokumen terkecil 456 Percobaan dilakukan dengan query sebanyak 30

query yang telah ditentukan. Lampiran 2 merupakan contoh query yang digunakan sebagai percobaan. Masing-masing query dilakukan 3 kali percobaan. Lampiran 3 merupakan hasil percobaan untuk masing-masing percobaan jenis kesalahan. Banyaknya kata usulan yang dimunculkan


(3)

tergantung banyaknya kata di kamus serta nilai jarak

edit yang ditentukan sebelumnya.

Pada percobaan pengoreksian ejaan terdapat kata yang dikoreksi diberikan kata usulan oleh sistem tetapi tidak sesuai dengan kata yang diharapkan,

seperti kata “organik” dan “kekeringan”. Karena

keterbatasan kata dalam kamus, sistem hanya mengusulkan mungkin kata tersebut adalah

“organnik”. Namun, kata “kekeringan”, sistem

memunculkan kata usulan “kepeningan”,

“kemiringan”, “keserongan”, “kekuningan”,

“kekurangan”, “kekejangan”, “kebeningan”,

“keserangan”, “keterangan”, “keheningan” dan “keberingas”. Padahal kata “organik” dan “kekeringan” benar sesuai ejaan bahasa Indonesia. Dengan demikian, kata “organik” dan “kekeringan”

dilakukan proses penyimpan pada kamus khusus. Untuk mengukur performansi dari temu kembali informasi, digunakan koleksi uji, koleksi uji terdiri atas tiga bagian, yaitu koleksi dokumen, query, dan

relevance judgement. Koleksi dokumen adalah kumpulan dokumen yang dijadikan bahan pencarian oleh sistem. Relevance judgement adalah daftar dokumen-dokumen yang relevan dengan semua

query yang telah disediakan.

Berdasarkan percobaan, akan dipaparkan nilai

precision untuk beberapa tahap, yaitu nilai precision

sebelum dilakukan pengoreksian, nilai precision

setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan nilai precision setelah pengoreksian dengan kata usulan yang diharapkan. Pada paper ini nilai precision untuk semua percobaan akan dilihat berdasarkan rata-rata precision dari semua percobaan.

Berdasarkan Tabel 1 dan Tabel 2, nilai precision

untuk tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan diperoleh dengan rata-rata nilai precison dari semua percobaan. Nilai rata-rata precision setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan jauh lebih tinggi dibanding dengan tahap sebelum dilakukan pengoreksian maupun tahap setelah pengoreksian dengan kata usulan yang diharapkan. Hal ini disebabkan, query setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan menjadi query yang lebih optimal. Sementara itu, grafik perbandingan precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dengan melihat minimum precision dapat dilihat pada Gambar 1.

Tabel 1. Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan

recall Sebelum dikoreksi

Dikoreksi dengan bukan kata yang diharapkan

Perubahan (%)

0 0,48 0,60 25

0,1 0,38 0,48 26

0,2 0,35 0,41 17

0,3 0,32 0,38 19

0,4 0,28 0,34 21

0,5 0,27 0,29 7

0,6 0,26 0,27 4

0,7 0,25 0,23 -8

0,8 0,22 0,19 -14 0,9 0,20 0,17 -15

1 0,14 0,13 -7


(4)

Tabel 2. Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan

recall Sebelum dikoreksi

Dikoreksi dengan kata yang diharapkan

Perubahan (%)

0 0,48 0,78 63

0,1 0,38 0,68 79

0,2 0,35 0,54 54

0,3 0,32 0,50 56

0,4 0,28 0,43 54

0,5 0,27 0,41 52

0,6 0,26 0,37 42

0,7 0,25 0,33 32

0,8 0,22 0,28 27

0,9 0,20 0,24 20

1 0,14 0,16 14

Rataan 0,28 0,43 44,82

Gambar 1. Kurva rata-rata recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. Kurva perbandingan recall-precision pada

Gambar 1 menunjukkan bahwa kurva recall-precision setelah tahap setelah pengoreksian dengan kata yang diharapkanselalu berada di atas dua kurva tahap sebelum pengoreksian dan tahap setelah pengoreksian dengan bukan kata diharapkan. Hal ini terjadi peningkatan nilai rata-rata precision yang baik setiap titik recall. Ini menunjukkan query

setelah dilakukan pengoreksian dengan kata yang diharapkan jauh lebih optimal. Query yang lebih optimal menyebabkan peningkatan dokumen-dokumen relevan yang ditemukembalikan.

Pengoreksian ejaan query dengan menggunakan algoritme Damerau Levenshtein dalam percobaan, menunjukkan hasil yang sangat baik. Ini terlihat

secara rata-rata perbandingan kurva sebelum query

dikoreksi dan setelah dikoreksi dengan kata yang diharapkan terlihat nilai precision temu kembali meningkat untuk setiap titik recall. Ini juga menunjukkan dokumen-dokumen relevan yang ditemukembalikan berada pada halaman pertama dari sistem temu kembali.

Perbandingan Kinerja Temu Kembali dengan Levenshtein (Arumsari, 1998)

Dari hasil percobaan evaluasi temu kembali yang dilakukan dengan menggunakan algoritme Damerau Levenshtein. Tabel 3 menunjukkan nilai precision

perbandingan pengoreksian dengan menggunakan algoritme Damerau Levenshtein dan jarak edit

(Arumsari, 1998). 0

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Sebelum dikoreksi

Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan


(5)

Tabel 3. Perbandingan nilai precision dengan algoritme Damerau Levenshtein dengan metode Levenshtein (Arumsari,1998).

recall Levenshtein Damerau Levenshtein

Perubahan (%)

0 0,65 0,78 20 0,1 0,56 0,68 21 0,2 0,45 0,54 20 0,3 0,4 0,5 25 0,4 0,36 0,43 19 0,5 0,34 0,41 21 0,6 0,31 0,37 19 0,7 0,28 0,33 18 0,8 0,22 0,28 27 0,9 0,18 0,24 33 1 0,13 0,16 23

Rataan 0,35 0,43 22,36

Gambar 2. Kurva recall-precision perbandingan algoritme Damerau Levenshtein dengan Levenshtein Berdasarkan Gambar 2, kurva recall-precision

dengan algoritme Damerau Levenshtein berada di atas kurva dengan metode Levenshtein (Arumsari, 1998) untuk setiap titik recall-nya. Ini menunjukkan pengoreksian ejaan dengan algoritme Damerau Levenshtein lebih optimal dan meningkatkan dokumen yang ditemukembalikan pada sistem. Ini terlihat ketika pengoreksian ejaan seperti pada kata

“perdagagnang”, “labroatoruim”, “haisl” dengan menggunakan Levenhtein (Arumsari,1998), sistem tidak menemukan kata usulan atau tidak memberikan kata usulan yang diharapkan.

6.

Kesimpulan

Melalui penelitian ini dapat ditarik kesimpulan, yaitu :

1. Implementasi algoritme Damerau Levenshtein untuk koreksi ejaan pada search engine, dapat meningkatkan kinerja temu kembali dan query

menjadi lebih optimal. Ini terlihat peningkatan secara rata-rata precision sebesar 44,82 % setelah dilakukan pengoreksian.

2. Pengoreksian dengan algoritme Damerau Levenshtein lebih baik dibanding dengan metode jarak edit yang dilakukan oleh Arumsari (1998). Ini terlihat peningkatan precision pada kinerja temu kembali sebesar 22% serta kata usulan yang diperoleh dengan algoritme Damerau Levenshtein lebih optimal.

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Damerau Levenshtein Levenshtein (Arumsari,1998)


(6)

7.

Daftar Pustaka

[1]. Arumsari, KN. 1998. Penggunaan Metode Kesamaan String pada Pemeriksaan Ejaan Bahasa Indonesia [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.

[2]. Bard GV. 2006. Spelling-Error Tolerant, Order-Independent Pass-Phrases via the Damerau-Levenshtein String-Edit Distance Metric. University of Maryland.

[3]. Primasari D. 1997. Metode Pencarian dan Temu Kembali Nama Berdasarkan Kesamaan Fonetik.

[skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.

[4]. Manning CD, Prabhakar R, Hinrich S. 2009. An

Introduction toInformation Retrieval. Cambridge University Press.

[5]. Pfeifer U, Poersch T, Furh N. 1994. Searching Proper Names in Databases. University of Dortmund. Wahyudin, Aep. 1999. Algoritme Trigram untuk Mengoreksi Ejaan [skripsi].

Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.


(7)

ABSTRACT

UTIS SUTISNA. Spelling Correction for Indonesian Query using Damerau Levenshtein Algorithm. Under the supervision of JULIO ADISANTOSO.

Query spelling on search engine is important to improve the quality information searching result. When user types query for search engine input, sometime spelling mistakes occurred due to position of keyboard and finger movement while typing. As an effect, searching result is incorrect and when user misspells the query, information obtained will not succeed. Therefore, search engine requires an application of spelling corrections. This research proposes correction process for query spelling by giving words suggestions which are obtained by calculating edit distance for each corrected word towards every word in dictionary. The concept for calculating edit distance uses Damerau Levenshtein algorithm which consists of 4 operations: (1) insertion, (2) substitution, (3) deletion, and (4) transposition. This research shows that implementation of Damerau Levenshtein algorithm is able to increase recall-precision value in information retrieval system. It is shown by the increasing of average recall-precision value at 44,82% after correction.


(8)

KOREKSI EJAAN QUERY BAHASA INDONESIA

MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN

UTIS SUTISNA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2009


(9)

KOREKSI EJAAN QUERY BAHASA INDONESIA

MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN

UTIS SUTISNA

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2009


(10)

KOREKSI EJAAN QUERY BAHASA INDONESIA

MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN

UTIS SUTISNA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2009


(11)

KOREKSI EJAAN QUERY BAHASA INDONESIA

MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN

UTIS SUTISNA

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2009


(12)

ABSTRACT

UTIS SUTISNA. Spelling Correction for Indonesian Query using Damerau Levenshtein Algorithm. Under the supervision of JULIO ADISANTOSO.

Query spelling on search engine is important to improve the quality information searching result. When user types query for search engine input, sometime spelling mistakes occurred due to position of keyboard and finger movement while typing. As an effect, searching result is incorrect and when user misspells the query, information obtained will not succeed. Therefore, search engine requires an application of spelling corrections. This research proposes correction process for query spelling by giving words suggestions which are obtained by calculating edit distance for each corrected word towards every word in dictionary. The concept for calculating edit distance uses Damerau Levenshtein algorithm which consists of 4 operations: (1) insertion, (2) substitution, (3) deletion, and (4) transposition. This research shows that implementation of Damerau Levenshtein algorithm is able to increase recall-precision value in information retrieval system. It is shown by the increasing of average recall-precision value at 44,82% after correction.


(13)

Judul : Koreksi Ejaan Query Bahasa Indonesia Menggunakan Algoritme Damerau Levenshtein Nama : Utis Sutisna

NRP : G64052523

Menyetujui :

Pembimbing

Ir. Julio Adisantoso, M.Kom NIP. 19620714 198601 1 002

Mengetahui:

Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Institut Pertanian Bogor

Dr. Drh. Hasim, DEA. NIP. 19610328 198601 1 002


(14)

PRAKATA

Alhamdulillahi Rabbil ‘alamin,puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan karunia-Nya sehingga tugas akhir dengan judul Koreksi Ejaan Query Bahasa Indonesia Menggunakan Algoritme Damerau Levenshtein dapat diselesaikan. Penelitian ini dilaksanakan mulai Maret 2009 sampai dengan Juli 2009, bertempat di Departemen Ilmu Komputer.

Pada kesempatan ini, penulis mengucapkan terimakasih yang sebesar-besarnya kepada semua pihak yang telah membantu terutama kepada :

1. Bapak Ir. Julio Adisantoso, M.Kom selaku pembimbing yang telah banyak memberi kritik, saran, masukan dan ide-ide kepada penulis, serta Ibu Yeni Herdiyeni, S.Si, M.Kom dan Bapak Sony Hartono Wijaya, S.Kom, M.Kom selaku penguji tugas akhir ini.

2. Ayah, Ibu, kakak dan adik tersayang di rumah atas doa, semangat, bantuan, kasih sayang dan dukungannya.

3. Yeni Mulyani teman spesialku atas doa, kasih sayang, bantuan dan dukungan serta semangat dan kebersamaannya.

4. Tara, Mutia, Netty dan Elen sahabatku sebimbingan semua, atas doa, semangat, bantuan dan kebersamaan selama ini.

5. Rahmadhani dan Fahmilu atas bantuan, semangat dan kebersamaan selama ini. 6. Teman-teman Ilkomerz 42 atas bantuan dan dukungannya.

7. Seluruh staf pengajar dan staf karyawan di Departemen Ilmu Komputer atas bantuannya

Segala kesempurnaan hanya milik Allah SWT dan penulis berharap semoga karya ilmiah ini bermanfaat, Amin.

Bogor, Agustus 2009


(15)

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 11 November 1985 di Bogor sebagai anak kedua dari empat bersaudara dari pasangan Sueb dan Suryanah. Penulis menempuh pendidikan menengah atas di SMU Negeri 1 Leuwiliang masuk program IPA dan lulus tahun 2004.

Pada tahun 2005 penulis diterima sebagai mahasiswa Institut Pertanian Bogor (IPB) melalui jalur SPMB. Pada tahun 2006 penulis diterima sebagai mahasiswa Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor (IPB). Pada tahun 2008, penulis melaksanakan kegiatan praktik kerja lapangan di Direktorat Komunikasi dan Sistem Informasi (DKSI) IPB selama 35 hari.


(16)

iv

DAFTAR ISI

Halaman

DAFTAR TABEL ... v

DAFTAR GAMBAR ... v

DAFTAR LAMPIRAN ... v

PENDAHULUAN Latar belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat ... 1

TINJAUAN PUSTAKA Temu Kembali Informasi ... 1

Vector Space Model (VSM) ... 2

Evaluasi Temu Kembali Informasi ... 2

Algoritme Damerau Levenhstein Metric ... 2

METODOLOGI PENELITIAN Penentuan jarak edit ... 4

Percobaan ... 6

Evaluasi Kinerja Program ... 6

Asumsi ... 6

HASIL DAN PEMBAHASAN Pembobotan Model VSM ... 6

Evaluasi Kinerja Temu Kembali ... 7

Perbandingan Kinerja Temu Kembali dengan Levenshtein (Arumsari, 1998)... 9

KESIMPULAN DAN SARAN Kesimpulan ... 10

Saran ... 10

DAFTAR PUSTAKA ... 10


(17)

v

DAFTAR TABEL

Halaman

1 Deskripsi dokumen pengujian... 6

2 Hasil proses tokenizer ... 6

3 Hasil penentuan kata unik ... 6

4 Perbandingan nilai precision dengan algoritme Damerau Levenshtein dengan metode Levenshtein (Arumsari,1998). ... 9

DAFTAR GAMBAR Halaman 1 Deskripsi model sistem temu kembali informasi. ... 4

2 Diagram alir pengoreksian ejaan. ... 5

3 Maksimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. ... 7

4 Minimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. ... 8

5 Rata-rata recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. ... 9

6 recall-precision perbandingan algoritme Damerau Levenshtein dengan Levenshtein ... 10

DAFTAR LAMPIRAN Halaman 1 Dokumen pengujian ... 13

2 Query percobaan ... 14

3 Hasil usulan koreksi pada query ... 15

4 Perbandingan maksimum nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan ... 19

5 Perbandingan maksimum nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan ... 19

6 Perbandingan minimum nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan ... 20

7 Perbandingan minimum nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan ... 20

8 Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan ... 21

9 Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan ... 21

10 Hasil usulan kata dengan metode Levenshtein(Arumsari, 1998) ... 22

11 Contoh kamus ... 26


(18)

1

PENDAHULUAN Latar belakang

Kata kunci atau yang biasa disebut dengan

query pada pencarian informasi dari sebuah

search engine digunakan sebagai kriteria pencarian yang tepat dan sesuai dengan kebutuhan. Ejaan kata kunci yang benar menjadi penting untuk meningkatkan hasil pencarian informasi. Ketika pengguna menulis

query sebagai masukan pada sistem pencari, muncul kesalahan ejaan disebabkan posisi tombol papan ketik dan pergerakan jari sehingga hasil pencarian bersifat salah. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengoreksi kesalahan ejaan. Pengoreksian ejaan ini dapat dilakukan dengan memberikan ejaan kata yang benar yaitu dengan memberikan usulan ejaan kata yang mirip berdasarkan kamus.

Penelitian tentang pengoreksian ejaan bahasa Indonesia juga pernah dilakukan oleh Primasari (1997), tentang pencarian dan temu kembali nama berdasarkan kesamaan fonetik. Wahyudin (1999) dengan menggunakan algoritme trigram untuk mendapatkan kata-kata perkiraan dari kata yang dinyatakan salah eja. Arumsari (1998) menentukan jarak edit diantara dua string dari operasi yang dilakukan yaitu: (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), dan (3) operasi penggantian (subtitution) sebuah huruf yang disebut metode Levenshtein. Pengoreksian ejaan akan dilakukan dengan algoritme Damerau Levenshtein. Algoritme ini menambahkan sebuah operasi yaitu operasi penukaran (transposition) pada metode Levenshtein. Dengan demikian, algoritme Damerau Levenshtein memperhatikan empat operasi dalam menentukan jarak edit, yaitu (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), (3) operasi penggantian (subtitution) dan operasi penukaran (transposition) sebuah huruf yang berdekatan. Dengan demikian, perolehan kata ejaan yang benar lebih optimal.

Tujuan

Tujuan dari penelitian ini adalah meningkatkan kinerja temu kembali informasi dengan mengoreksi kesalahan yang ada pada

query berdasarkan pada kamus.

Ruang Lingkup

Koreksi kesalahan ejaan pada query yang dilakukan pada penelitian ini menggunakan algoritme yang berdasarkan dengan menghitung

jumlah minimum operasi yaitu: (1) penyisipan (insertion), (2) penggantian (subtitution), (3) penghapusan (deletion), dan (4) penukaran (transposition) posisi sebuah huruf yang disebut algoritme DamerauLevenshtein.

Manfaat

Penelitian ini diharapkan membantu pengguna dalam melakukan pencarian informasi pada search engine dengan meningkatkan perbaikan kesalahan kata akibat salah ketik.

TINJAUAN PUSTAKA

Menurut Damerau dalam Wahyudin (1999) menyimpulkan 80% kesalahan ejaan dapat disebabkan karena empat hal, yaitu:

1. Penggantian satu huruf 2. Penyisipan satu huruf 3. Penghilangan satu huruf

4. Penukaran dua huruf berdekatan.

Kesalahan ejaan juga dapat disebabkan oleh beberapa hal, diantaranya:

1. Ketidaktahuan penulisan. Kesalahan ini biasanya konsisten dan kemungkinan berhubungan dengan bunyi kata dan penulisan yang seharusnya.

2. Kesalahan dalam pengetikan yang lebih tidak konsisten tapi mungkin berhubungan erat dengan posisi tombol papan ketik dan pergerakan jari.

3. Kesalahan transmisi dan penyimpanan yang berhubungan dengan pengkodean pada jalur mekanisme transmisi data.

Kesalahan ejaan dapat dikoreksi menggunakan dua strategi dasar yang berbeda, yaitu mutlak dan relatif (Pullock & Zamora 1984, dalam Wahyudin 1999). Secara mutlak, pengoreksian dilakukan dengan membuat suatu tabel variasi ejaan yang salah dengan ejaan yang benarnya. Namun demikian, secara relatif ejaan yang benar dipilih dari kamus yaitu dengan mencari kata dalam kamus yang paling mirip dengan kata yang salah ejaannya.

Temu Kembali Informasi

Temu Kembali informasi adalah menemukan material (biasanya dokumen-dokumen) dari yang tidak terstruktur (biasanya teks) yang memenuhi kebutuhan informasi dari koleksi-koleksi yang besar (biasanya disimpan dalam komputer). Temu kembali informasi berkaitan dengan representasi, penyimpanan, dan akses terhadap dokumen representasi


(19)

2 dokumen. sistem yang berfungsi untuk

menemukan informasi yang relevan dengan kebutuhan pemakai merupakan suatu sistem temu kembali informasi (Manning et al. 2009).

Information Retrieval System (IRS) tidak memberi tahu pengguna masalah yang ditanyakannya. Sistem tersebut hanya memberitahukan keberadaan dan keterangan dokumen yang berhubungan dengan permintaan pengguna. Dengan memakai bahasa natural sebagai bahasa query, IRS memberikan kemudahan kepada pengguna dalam merepresentasikan kebutuhan informasinya dalam bentuk query.

IRS menerima query dari pengguna, kemudian melakukan perangkingan terhadap dokumen pada koleksi. Hasil perangkingan yang diberikan kepada pengguna merupakan dokumen yang menurut sistem relevan dengan

query. Perangkingan dokumen oleh sistem ini dilakukan dengan memberikan pembobotan.

Pembobotan dilakukan terhadap token yang berada dalam dokumen koleksi. Sistem temu kembali yang paling sederhana memboboti dengan bobot biner, 1 jika token muncul di dokumen dan 0 jika sebaliknya. Untuk menghasilkan penggabungan bobot untuk setiap token di dalam setiap dokumen, dilakukan pengkombinasian frekuensi token

(term frequency) dan inverse document frequency yang dinyatakan sebagai berikut (Manning et al. 2009).

Wi,j = tfi,j * idft.

Dengan tfi,j merupakan bobot token ke-i

pada dokumen ke-j dan idft, N adalah jumlah

dokumen dalam koleksi serta ni merupakan

jumlah dokumen yang mengandung token ke-i.

Vector Space Model (VSM)

VSM merupakan pemodelan yang berbasiskan token yang memungkinkan partial matching dan pemeringkatan dokumen. Berikut beberapa prinsip dasar yang digunakan dalam VSM (Manning et al. 2009):

1. D ={d0, d1, …, dN} adalah himpunan N

dokumen dalam koleksi. d mengacu pada sembarang dokumen di Є D. Dokumen

sebagai vektor token.

2. Q adalah query yang direpresentasikan sebagai sebuah vektor berdimensi m mirip dengan dokumen.

3. T = {t0, t1, … tm} adalah himpunan m token

dalam dokumen.

4. Kesamaan vektor dokumen dan query

dihitung berdasarkan kesamaan antar vektor. Dokumen-dokumen yang ditemukembalikan merupakan hasil penemukembalian yang ditampilkan berupa daftar dokumen yang telah terurutkan berdasar tingkat kesamaan dokumen dengan query. Tingkat atau ukuran kesamaan

sim(dj, q) antara dokumen di dengan query Q

dihitung dengan menggunakan persamaan kosinus sudut antara di dan Q sebagai berikut :

Evaluasi Temu Kembali Informasi

Dasar pengukuran keefektifan temu kembali informasi adalah recall dan precision. Recall

adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang relevan. Precision adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang ditemukembalikan (Manning et al. 2009).

Average precison (AVP) adalah suatu ukuran evaluasi temu kembali yang diperoleh dengan menghitung rata-rata precision pada berbagai tingkat recall yang ditemukembalikan. Tingkat recall standar yang digunakan adalah 11 tingkat recall, yaitu 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, dan 1.0.

Precision yang diinterpolasi pada standar

recall level ke j adalah precision maksimum pada suatu recall level antara level j dan level (j+1) :

Algoritme Damerau Levenhstein Metric

Damerau Levenshtein Metric adalah sebuah fungsi pada finite string dari sebuah alphabet ke integer. Sebuah matriks jarak yang diberikan

stringss1, s2, s3 yang memenuhi kondisi (Bard, 2006):

Non-negativity: d(s1, s2) ≥ 0

Non-degeneracy: d(s1, s2) = 0 jika dan hanya

jika s1 = s2

Symmetry: d(s1, s2) = d(s2, s1)

Triangle Inequality: d(s1, s2) + d(s2, s3) ≥

d(s1, s3)

Jarak d(s1, s2) didefinisikan sebagai sebuah

kombinasi operasi penjumlahan dari penambahan sebuah huruf, penghilangan sebuah huruf, penggantian sebuah huruf atau penukaran


(20)

3 sebuah huruf dari huruf lainnya dalam satu

lokasi. Itu memungkinkan beberapa kombinasi pada empat operasi yang dapat menransformasikan string s1 ke s2, tapi panjang terpendek urutan adalah jarak antara dua strings.

Metode Damerau Levenshtein Metric melakukan operasi perbandingan kata-kata dengan memerhatikan 4 macam kesalahan pengetikan (misalnya kata DAMERAU), yaitu: 1. Penyisipan sebuah huruf, misalnya

DAHMERAU.

2. Penghapusan sebuah huruf, misalnya DAMRAU.

3. Penggantian sebuah huruf dengan huruf lain, misalnya DANERAU.

4. Penukaran sebuah huruf berurutan, misalnya DAMERUA.

Salah satu metode pembandingan dalam memeriksa ejaan dengan menggunakan Table Look-up. Metode ini membandingkan kata terhadap kata dalam kamus. Jika tidak ada dikamus maka kata tersebut dianggap salah (Peterson 1980, diacu dalam Wahyudin 1999). Ketidaksesuaian dari strings dapat dibandingkan dengan kata pada kamus yang secara langsung menggunakan penyesuaian karakter demi karakter secara iteratif, dengan menentukan jumlah minimum kesalahan dari masing-masing operasi.

Damerau Levenshtein Metric menghitung jumlah minimum kesalahan dari dua kata misalnya terdapat dua buah kata yang dinotasikan sebagai s dan t. Variabel i dan j

menyatakan posisi huruf yang dibandingkan pada suatu kata (pfiefer et al. 1994).

f(0, 0)= 0

f(i, 0)= i

f(0, j)= j f(i, j)= min {

f(i-1, j) + 1, // deletion f(i, j-1) + 1, // insertion f(i-1, j-1) + d(si, tj) // substitution

f(i-2, j-2) + d(si-1, tj) + d(si, tj-1) + 1

// transposition

} fungsi d merupakan fungsi untuk mengukur jarak untuk huruf.

Fungsi f(i, j) menghitung minimum jumlah kesalahan-kesalahan perbandingan i karakter pertama dari kata pertama dengan j karakter pada kata kedua. Jarak antara dua strings

adalah f(m,n), dimana m merupakan panjang

string pertama dan n merupakan panjang string

ke dua.

METODOLOGI PENELITIAN

Penelitian ini dilakukan melalui beberapa tahap, yaitu:

1. Pengumpulan data

2. Pembuatan program pengoreksian ejaan pada sistem temu kembali

3. Penentuan jarak edit

4. Percobaan

5. Evaluasi kinerja program

Data penelitian yang digunakan berupa kata yang diambil dari KBBI tahun 2005 dan digunakan sebagai kamus referensi. Kata yang digunakan adalah kata-kata dasar dan kata berimbuhan sebanyak 53064 kata.

Tahapan pembuatan model sistem temu kembali dapat dideskripsikan pada Gambar 1.


(21)

4 Gambar 1 Deskripsi model sistem temu kembali informasi.

Proses awal dilakukan pemisahan kata (tokenizer) terhadap query dengan menghilangkan beberapa tanda baca dan karakter sparator (whitespace seperti karakter

space). Proses pemisahan kata ini dilakukan menjadi unit paling kecil yang disebut dengan kata atau token.

Setiap kata yang diperoleh dari proses

tokenizer, satu-persatu dilakukan proses pengecekan terhadap kamus. Jika kata ada dalam kamus maka kata tersebut benar dan akan digunakan sebagai pembobotan query dalam model VSM. Namun jika kata tersebut tidak ada dalam kamus, maka kata tersebut merupakan salah eja yang selanjutnya dilakukan proses pencarian kata dalam kamus yang memiliki kemiripan dengan kata yang sedang dikoreksi dengan algoritme Damerau Levenshtein Metric.

Pembobotan dokumen dalam sistem temu kembali model VSM adalah dengan memberikan nilai kemunculan suatu kata (term frequency) sebagai bobot, termasuk kata dalam

query.

Setelah dilakukan pemberian nilai bobot, maka diperoleh vektor-vektor dokumen.

Vektor-vektor dokumen akan ditentukan nilai kesamaan dengan vektor query. Penentuan nilai kesamaan (similarity) dihitung dengan rumus kosinus.

Dokumen-dokumen yang sudah ditentukan nilai kesamaan dengan query kemudian dilakukan pengurutan (perangkingan) yang berdasarkan nilai kesamaannya. Dokumen yang memiliki nilai kesamaan paling besar akan berada paling atas dalam sistem temu kembali. Sebaliknya, dokumen yang memiliki nilai kesamaan paling kecil akan tersimpan berada paling bawah dalam sistem temu kembali.

Penentuan jarak edit

Penetapan jarak edit pada pengoreksian ejaan sangat menentukan banyaknya kata yang diberikan sebagai kata usulan. Hal ini dikarenakan kata usulan yang diperoleh hanya kata yang memiliki jarak edit yang lebih kecil atau sama dengan k.

Umumnya kesalahan yang dilakukan pada penulisan sebuah kata mempunyai jarak edit (k) maksimum sama dengan dua terhadap jarak yang benar ejaannya (Mitton 1987, dalam Arumsari, 1998).

Query

Ada ? KBBI

Korpus

VSM

Similarity

Damerau-Levenstein-Metric

Merge

Display Kata usulan

Edit distance

N Y Tokenizer

Tokenizer


(22)

5 Diagram alir pengoreksian ejaan dapat

dilihat pada Gambar 2. Query yang dimasukkan pada sistem, dilakukan proses pemisahan kata. Setiap kata yang diperoleh dilakukan proses pemeriksaan pada kamus. Jika kata ada di dalam kamus, maka kata tersebut mempunyai ejaan yang benar. Tetapi jika kata tidak ada dalam kamus, selanjutnya dilakukan pencarian kemiripan kata dalam kamus berdasarkan jarak

edit yang telah ditentukan yaitu k, artinya program akan mencari kata dalam kamus yang memiliki ukuran jarak kurang dari atau sama dengan k. Sistem ini akan menentukan kata sebagai kata usulan yang memiliki jarak edit

maksimum sama dengan 2 (k = 2). Tetapi, jika ada kata usulan yang memiliki jarak edit sama dengan 1 maka sistem akan memberikan kata usulan yang hanya memiliki jarak edit-nya sama dengan 1. Apabila pada pemeriksaan tersebut

tidak diberikan kata usulan untuk menggantikan kata yang salah ejaannya, maka tidak ada yang memenuhi dari semua kata yang ada dalam kamus. Dengan demikian, sistem menganggap kata yang sedang dikoreksi tidak memiliki kemiripan dengan kata apapun dalam kamus. Jika pada pemeriksaan kata diberikan kata yang mirip sesuai untuk menggantikan kata yang salah ejaannya, maka pengguna dapat memilih kata tersebut untuk menggantikan kata yang salah ejaannya.

Ketika kata yang diperiksa tidak ada dalam kamus, tetapi kata tersebut memiliki ejaan sesuai ejaan bahasa Indonesia yang benar, maka program akan menawarkan apakah kata tersebut ingin dimasukkan ke dalam kamus atau tidak. Jika kata yang dikoreksi ingin dimasukkan ke dalam kamus, maka program akan menyimpan kata tersebut ke dalam kamus khusus.

Gambar 2 Diagram alir pengoreksian ejaan.

Kueri

Tokenizer

Ada dalam Kamus?

Hitung Jarak Kata Ambil satu

kata

Jarak kata k ?

Kata ada di dalam usulan? Mulai

Selesai

Simpan ke dalam kamus Kamus

Tampilkan sebagai usulan

Masukan ke Kamus?

Y

N Y

N Y

N

Y


(23)

6

Percobaan

Tujuan percobaan ini adalah untuk mengetahui kinerja algoritme pengoreksian ejaan Damerau Levenshtein. Akan dilihat apakah algoritme tersebut dapat memberikan usulan kata yang cukup baik untuk berbagai variasi kesalahan yang terjadi.

Percobaan dilakukan dengan mengetikkan

query yang mengandung salah eja. Hal ini juga dilakukan seolah-olah tidak mengetahui ejaan

query yang benar (diasumsikan ejaan query

benar walaupun mengandung salah eja).

Evaluasi Kinerja Program

Evaluasi untuk mengukur kinerja sistem temu kembali informasi adalah dengan recall

dan precision. Dari hasil penemukembalian dokumen-dokumen, dilakukan perhitungan nilai

precision pada tingkat recall tertentu. Hasilnya kemudian dirata-ratakan untuk mendapatkan

Average Precision (AVP).

Asumsi

Asumsi-asumsi yang digunakan dalam penelitian ini antara lain:

Query yang dimasukkan ke sistem merupakan kata kunci yang telah ditentukan sebelumnya.

 Jumlah dokumen relevan untuk setiap query

telah diketahui sebelumnya.

 Teks pada dokumen benar sesuai dengan Kamus Besar Bahasa Indonesia.

 Pengoreksian hanya dilakukan pada query.

HASIL DAN PEMBAHASAN

Dokumen korpus yang digunakan untuk pengujian sebanyak 1000 dokumen dalam bentuk file teks yang berformat XML. Contoh dokumen pengujian dapat dilihat pada Lampiran 1. Deskripsi dokumen pengujian ditunjukan oleh Tabel 1.

Tabel 1. Deskripsi dokumen pengujian

Uraian Nilai

(bytes)

Ukuran rata-rata dokumen 4.111 Ukuran dokumen keseluruhan 4.110.509 Ukuran dokumen terbesar 53.306 Ukuran dokumen terkecil 456 Percobaan dilakukan dengan query sebanyak 30 query yang telah ditentukan. Lampiran 2 merupakan contoh query yang digunakan sebagai percobaan. Masing-masing query

dilakukan 3 kali percobaan. Lampiran 3 merupakan hasil percobaan untuk

masing-masing percobaan jenis kesalahan. Banyaknya kata usulan yang dimunculkan tergantung banyaknya kata di kamus serta nilai jarak edit

yang ditentukan sebelumnya.

Pada percobaan pengoreksian ejaan terdapat kata yang dikoreksi diberikan kata usulan oleh sistem tetapi tidak sesuai dengan kata yang diharapkan, seperti kata “organik” dan

“kekeringan”. Karena keterbatasan kata dalam

kamus, sistem hanya mengusulkan mungkin

kata tersebut adalah “organnik”. Namun, kata

“kekeringan”, sistem memunculkan kata usulan “kepeningan”, “kemiringan”, “keserongan”,

“kekuningan”, “kekurangan”, “kekejangan”,

“kebeningan”, “keserangan”, “keterangan”,

“keheningan” dan “keberingas”. Padahal kata

“organik” dan “kekeringan” benar sesuai ejaan

bahasa Indonesia. Dengan demikian, kata

“organik” dan “kekeringan” dilakukan proses penyimpan pada kamus khusus.

Pembobotan Model VSM

Proses tokenizer pada korpus menghasilkan

token atau kata setiap dokumen. Sesuai Tabel 3 jumlah kata setiap dokumen sangat beragam. Penjelasan hasil proses tokenizer ditunjukan oleh Tabel 2.

Tabel 2. Hasil proses tokenizer

Uraian Nilai

Rata-rata token tiap dokumen 563 Jumlah token keseluruhan 563.019 Jumlah token terbesar 7.166 Jumlah token terkecil 44 Hasil proses penentuan kata unik pada sebuah teks dokumen pada korpus juga sangat beragam. Kata unik yang diperoleh ditunjukkan pada Tabel 3.

Tabel 3. Hasil penentuan kata unik

Uraian Nilai

Rata-rata token unik tiap

dokumen 26

Jumlah token unik keseluruhan 25875 Jumlah token unik terbesar 1.831 Jumlah token unik terkecil 37 Hasil penentuan kata unik disajikan pada Tabel 3, dimana didapatkan jumlah kata atau

token unik secara keseluruhan 25875 kata. Kata unik ini digunakan sebagai attribut vektor-vektor dokumen. Setiap dokumen menjadi sebuah vektor. Begitu juga query menjadi sebuah vektor.

Pembobotan ini dilakukan dengan membuat sebuah matriks yang menyimpan baris sebagai


(24)

7 kata unik dari korpus dan kolom sebagai nama

dokumen. Nilai cell pada matriks diisikan dengan nilai 1 dan 0. Nilai 1 menunjukkan kata ada pada dokumen. Sehingga matriks yang digunakan untuk pemodelan VSM memiliki ukuran 268.213 x 1001 cell.

Evaluasi Kinerja Temu Kembali

Untuk mengukur performansi dari temu kembali informasi, digunakan koleksi uji, koleksi uji terdiri atas tiga bagian, yaitu koleksi dokumen, query, dan relevance judgement. Koleksi dokumen adalah kumpulan dokumen yang dijadikan bahan pencarian oleh sistem.

Relevance judgement adalah daftar dokumen-dokumen yang relevan dengan semua query

yang telah disediakan.

Berdasarkan percobaan, akan dipaparkan nilai precision untuk beberapa tahap, yaitu nilai

precision sebelum dilakukan pengoreksian, nilai

precision setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan nilai

precision setelah pengoreksian dengan kata usulan yang diharapkan. Nilai precision untuk semua percobaan akan dilihat berdasarkan maksimum nilai precision, minimum nilai

precision dan rata-rata precision dari semua percobaan.

Berdasarkan Lampiran 4 dan Lampiran 5, nilai precision untuk tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan

diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan diperoleh dengan nilai precison maksimum dari semua percobaan. Penurunan nilai precision rata-rata setelah dilakukan tahap setelah pengoreksian dengan kata usulan yang diharapkan sedikit lebih kecil dibanding dengan tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan. Hal ini disebabkan secara maksimum nilai precision dari semua percobaan tahap setelah pengoreksian dengan kata usulan yang diharapkan lebih optimal. Sementara itu, grafik perbandingan precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dapat dilihat pada Gambar 3.

Berdasarkan Gambar 3, pada titik recall 0 sampai 0,2 menunjukkan nilai precision yang relatif sama. Untuk tahap setelah pengoreksian dengan kata usulan yang diharapkan pada titik

recall 0 sampai 0,6 kurva recall-precision

berada pada atau di atas dua kurva lainnya. Ini menunjukkan peningkatan nilai rata-rata

precision dokumen relevan. Tetapi pada titik

recall 0,7 sampai 1 mengalami penurunan nilai rata-rata precision. Walaupun demikian, tahap setelah pengoreksian dengan kata usulan yang diharapkan mengalami peningkatan dokumen relevan dalam sistem temu kembali .

Gambar 3. Kurva maksimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata

yang diharapkan. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Sebelum dikoreksi

Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan


(25)

8 Gambar 4. Kurva minimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian

dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan.

Berdasarkan Lampiran 6 dan Lampiran 7, nilai precision diperoleh dengan nilai precison

minimum dari semua percobaan. Nilai rata-rata

precision tahap setelah pengoreksian dengan bukan kata diharapkan sedikit lebih tinggi dibanding tahap sebelum dilakukan pengoreksian. Hal ini disebabkan dengan melihat nilai precision secara minimum percobaan setelah pengoreksian dengan kata usulan yang diharapkan query menjadi lebih optimal. Sementara itu, grafik perbandingan

precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dengan melihat minimum precision dapat dilihat pada Gambar 4.

Berdasarkan Gambar 4, kurva recall-precision tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan selalu berada di atas kurva recall-precision tahap sebelum dilakukan pengoreksian. Hal ini menunjukkan peningkatan nilai rata-rata precision yang menyebabkan peningkatan dokumen relevan yang ditemukembalikan. Berdasarkan minimum

precision, perbandingan hasil temu kembali setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan, menunjukkan nilai

recall dan precision memiliki nilai yang lebih baik dibanding dua tahap lainnya yang menyebabkan peningkatan dokumen-dokumen yang ditemukembalikan dan query menjadi lebih optimal.

Berdasarkan Lampiran 8 dan Lampiran 9, nilai precision untuk tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan diperoleh dengan rata-rata nilai precison dari semua percobaan. Nilai rata-rata precision setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan jauh lebih tinggi dibanding dengan tahap sebelum dilakukan pengoreksian maupun tahap setelah pengoreksian dengan kata usulan yang diharapkan. Hal ini disebabkan,

query setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan menjadi

query yang lebih optimal. Sementara itu, grafik perbandingan precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dengan melihat minimum precision

dapat dilihat pada Gambar 5. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Sebelum dikoreksi

Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan


(26)

9 Gambar 5. Kurva rata-rata recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian

dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan.

Kurva perbandingan recall-precision pada Gambar 5 menunjukkan bahwa kurva recall-precision setelah tahap setelah pengoreksian dengan kata yang diharapkan selalu berada di atas dua kurva tahap sebelum pengoreksian dan tahap setelah pengoreksian dengan bukan kata diharapkan. Hal ini terjadi peningkatan nilai rata-rata precision yang baik setiap titik recall. Ini menunjukkan query setelah dilakukan pengoreksian dengan kata yang diharapkan jauh lebih optimal. Query yang lebih optimal menyebabkan peningkatan dokumen-dokumen relevan yang ditemukembalikan.

Pengoreksian ejaan query dengan menggunakan algoritme Damerau Levenshtein dalam percobaan, menunjukkan hasil yang sangat baik. Ini terlihat secara rata-rata perbandingan kurva sebelum query dikoreksi dan setelah dikoreksi dengan kata yang diharapkan terlihat nilai precision temu kembali meningkat untuk setiap titik recall. Ini juga menunjukkan dokumen-dokumen relevan yang ditemukembalikan berada pada halaman pertama dari sistem temu kembali.

Perbandingan Kinerja Temu Kembali dengan Levenshtein (Arumsari, 1998)

Dari hasil percobaan evaluasi temu kembali yang dilakukan dengan menggunakan algoritme Damerau Levenshtein, akan dilakukan perbandingan evaluasi kinerja temu kembali dengan menggunakan metode jarak edit yang

digunakan dalam penelitian Arumsari (1998). Tabel 11 menunjukkan nilai precision

perbandingan pengoreksian dengan menggunakan algoritme Damerau Levenshtein dan jarak edit (Arumsari, 1998) dan Gambar 5. menunjukkan kurva perbandingan menggunakan algoritme Damerau Levenshtein dengan metode jarak edit (Arumsari, 1998). Tabel 11. Perbandingan nilai precision dengan algoritme Damerau Levenshtein dengan metode Levenshtein (Arumsari,1998).

recall Levenshtein Damerau Levenshtein

Perubahan (%)

0 0,65 0,78 20 0,1 0,56 0,68 21 0,2 0,45 0,54 20 0,3 0,4 0,5 25 0,4 0,36 0,43 19 0,5 0,34 0,41 21 0,6 0,31 0,37 19 0,7 0,28 0,33 18 0,8 0,22 0,28 27 0,9 0,18 0,24 33 1 0,13 0,16 23

Rataan 0,35 0,43 22,36

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Sebelum dikoreksi

Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan


(27)

10 Gambar 6. Kurva recall-precision perbandingan algoritme Damerau Levenshtein dengan Levenshtein

Berdasarkan Gambar 6, kurva recall-precision dengan algoritme Damerau Levenshtein berada di atas kurva dengan metode Levenshtein (Arumsari, 1998) untuk setiap titik recall-nya. Ini menunjukkan pengoreksian ejaan dengan algoritme Damerau Levenshtein lebih optimal dan meningkatkan dokumen yang ditemukembalikan pada sistem. Ini terlihat ketika pengoreksian ejaan seperti

pada kata “perdagagnang”, “labroatoruim”,

“haisl” dengan menggunakan Levenhtein (Arumsari,1998), sistem tidak menemukan kata usulan atau tidak memberikan kata usulan yang diharapkan. Lebih lengkapnya kata usulan yang diberikan dengan metode Levenshtein (Arumsari,1998) dapat dilihat pada Lampiran 10. Lampiran 11 merupakan contoh referensi kamus dan Lampiran 12 merupakan antar muka sistem yang telah dibuat.

KESIMPULAN DAN SARAN Kesimpulan

Melalui penelitian ini dapat disimpulkan: 1. Implementasi algoritme Damerau

Levenshtein untuk koreksi ejaan pada

search engine, dapat meningkatkan kinerja temu kembali dan query menjadi lebih optimal. Ini terlihat peningkatan secara rata-rata precision sebesar 44,82 % setelah dilakukan pengoreksian.

2. Pengoreksian dengan algoritme Damerau Levenshtein lebih baik dibanding dengan metode jarak edit yang dilakukan oleh Arumsari (1998). Ini terlihat peningkatan

precision pada kinerja temu kembali sebesar 22,36% serta kata usulan yang diperoleh dengan algoritme Damerau Levenshtein lebih optimal.

Saran

Saran penelitian pengoreksian ejaan dengan algoritme Damerau Levenshtein selanjutnya: 1. Untuk menemukan kata yang dekat atau

tidak jauh perbedaanya dengan kata yang sedang diperiksa diperlukan algoritme pencarian yang hanya sebatas pada kata-kata di dalam kamus yang mendekati kata yang sedang diperiksa. Dengan demikian, tidak perlu dilakukan penentuan jarak edit

terhadap seluruh kata di dalam kamus. 2. Kata usulan yang diperoleh perlu ditentukan

nilai peluang terhadap query. Dengan demikian, jika kata usulan yang diperoleh memiliki lebih dari dua kata usulan yang memiliki jarak edit yang sama dapat ditentukan kata mana yang lebih optimal.

DAFTAR PUSTAKA

Arumsari, KN. 1998. Penggunaan Metode Kesamaan String pada Pemeriksaan Ejaan Bahasa Indonesia [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.

Bard GV. 2006. Spelling-Error Tolerant, Order-Independent Pass-Phrases via the Damerau-Levenshtein String-Edit Distance Metric. University of Maryland. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Damerau Levenshtein Levenshtein (Arumsari,1998)


(28)

11 Primasari D. 1997. Metode Pencarian dan Temu

Kembali Nama Berdasarkan Kesamaan Fonetik. [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.

Manning CD, Prabhakar R, Hinrich S. 2009. An

Introduction to Information Retrieval. Cambridge University Press.

Pfeifer U, Poersch T, Furh N. 1994. Searching Proper Names in Databases. University of Dortmund.

Wahyudin, Aep. 1999. Algoritme Trigram untuk Mengoreksi Ejaan [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.


(29)

(30)

13 Lampiran 1 Contoh dokumen pengujian

<DOC>

<DOCNO>indobic130504-002</DOCNO>

<TITLE>Workshop Pelepasan Tanaman Transgenik di Kenya </TITLE> <DATE>13/05/2004</DATE>

<TEXT>

Kemajuan transformasi gen dari kelompok konsultatif dalam Riset Pertanian Internasional pusat (Consultative Group in International Agricultural Research) bertemu di Nairobi, Kenya baru-baru ini untuk mendiskusikan transfer gen dan pelepasan tanaman, sebuah sub-program dari program tantangan generasi Bank Dunia (World Banks Generation Challenge Program) yang memfokuskan pada pelepasan varietas tanaman di negara berkembang.

Kordinator workshop, Dr. Marc Ghilain, kepala Molekular Biologi Laboratorium Pelepasan Tanaman dan Departemen Sumber Genetik di Pusat Kentang Internasional di Lima, Peru, mengungkapkan bahwa sub-program akan memungkinkan perusahaan benih untuk membaca lebih lanjut berbagai teknik pembenihan pada tanaman target.

Dr. Ghilain menambahkan bahwa objektif program tantangan ini adalah untuk membawa bersama-sama dalam pusat CGIAR dan sektor publik untuk berbagi sumber, ide, dan informasi pada proyek mereka untuk mengurangi duplikasi dari upaya dan langkanya sumber. Ia menambahkan bahwa tugas utama dari program ini adalah untuk membawa negara miskin menuju keamanan pangan melalui jalur lain dari Revolusi Hijau.

Berkenaan dengan Dr. Robert Zeigler, Direktur Program Tantangan Generasi, aktifitas program akan menghabiskan dana sekitar 12.5 juta dolar US setiap tahunnya. Pendanaan sebagian besar datang dari Bank Dunia, Persemakmuran Eropa, dan CGIAR.

Program ini mempunyai lima komponen, yaitu: genetik, keanekaragaman secara global, sumber-sumber genetik; perbandingan genomik untuk penelurusan gen; transfer gen dan pelepasan tanaman; genomik dan sistem informasi tanaman; dan pengembangan kapasitas (capacity building). Program ini menggabungkan sebuah teknologi transfer tanaman untuk memastikan bahwa produk riset dapat digunakan oleh petani.

Program ini mengikut sertakan tiga lembaga yang masing-masing memiliki latar belakang yang berbeda, yaitu: CGIAR, sebagai lembaga yang memiliki informasi keanekaragaman tanaman yang berguna bagi kehidupan manusia dan memiliki keahlian dalam riset molekular dan program pembenihan; Sistem Riset Pertanian Nasional untuk Negara-Negara Berkembang, membawa keahlian dalam penilaian dan pembenihan tanaman dibawah kondisi khusus, dengan partisipasi dari para petani; Advanced Research Institutes untuk mengembangkan teknik baru dan strategi untuk pengkodean keanekaragaman genetik. Kenya Biotechnology Information Center (KBIC)

</TEXT> </DOC>


(31)

14 Lampiran 2 Tabel query percobaan

No Query

1 Gagal panen 2 Petani tebu 3 Industri gula

4 Perdagangan hasil pertanian 5 Penerapan teknologi pertanian 6 Pupuk organik

7 Penyakit hewan ternak

8 Penerapan bioteknologi di Indonesia 9 Laboratorium pertanian

10 Riset pertanian

11 Harga komoditas pertanian 12 Tanaman pangan

13 Kelompok masyarakat tani 14 Musim panen

15 Tanaman obat 16 Gabah kering giling 17 Impor beras Indonesia 18 Pertanian organik 19 Swasembada pangan 20 Penyuluhan pertanian 21 Tadah hujan

22 Bencana kekeringan 23 Peternak unggas 24 Flu burung

25 Institut pertanian bogor

26 Pembangunan untuk sektor pertanian 27 Upaya peningkatan pendapatan petani 28 Produk usaha peternakan rakyat 29 Kelangkaan pupuk


(32)

15 Lampiran 3 Daftar hasil usulan koreksi pada query

No Ulangan Query Usulan Koreksi Jarak

edit

Klasifikasi Kesalahan

1

1 gaga;l panep/puso gagal 1 insertion

panen, panel 1 substitution 2 gagal pnen/puso pen, panen 1 deletion

3 ggaal panen/puso gagal 1 transposition

2

1 petani tebtu tentu, tebu 1 insertion

2 ptani tebu petani, tani 1 deletion

3 eptani tebu petani 1 transposition

3

1 industri ugla gula 1 transposition

2 indstri gula industri 1 deletion

3 indusri gula industri 1 deletion

4

1 perdagagnang haisl pertanian

perdagangan 2 insertiontransposition, hasil, hail 1 transposition 2 perdaagangan hassil

pertanian

perdagangan 1 insertion

hasil 1 insertion

3 perdaagangan hasil perrtanian

perdagangan 1 insertion

pertanian 1 insertion

5

1 penerapan tekhnologi

pertanian teknologi 1 insertion 2 penerapan tecnologi

pertanian teknologi 1 substitution

3 penerrapan tehnologi pertanian

penerapan 1 insertion

teknologi 1 substitution

6

1 pupuk organik organnik 1 pembelajaran 2 pupuk organiik organik, organnik 1 insertion

3 pupuk ortganik organik 1 insertion

7

1 penyakti hewan ternak penyakit 1 insertion

2 penyakit hewan ternakj ternak 1 insertion

3 Pemyakit hewan tyernak penyakit 1 substitution

ternak 1 insertion

8

1 penerapan biotekhnologi di

Indonesia bioteknologi 1 insertion 2 penerapan biotehnologi di

Indonesia bioteknologi 1 substitution 3 penerpan bioteknologi di

indonesia

penerapan,


(33)

16 Lampiran 3 lanjutan

No Ulangan Query Usulan Koreksi Jarak

edit

Klasifikasi Kesalahan

8 3 penerpan bioteknologi di

indonesia Indonesia 1 substitution

9

1 laboaratorium pertanian laboratorium 1 insertion

2 labroatoruim pertanian laboratorium 2 transposition

3 laboratorium pertanihan pertanian,

pertanahan 1 insertion

10

1 riser pertanian riset 1 substitution

2 risert pertanian riset 1 insertion

3 riset petranian pertanian 1 transposition

11

1 hagra komoditas pertanian jagra, harga, hara 1 transposition

2 hahrga komodias pertanian komoditas 1 deletion

3 harga komodiatas pertanian komoditas 1 insertion

12

1 tanaman pagnan pangan, pagan 1 transposition

2 tnaman pangan tanaman, taman 1 deletion

3 tanaman pangna pangsa, pangan 1 transposition

13

1 kelompk masyarakt tani kelompok 1 deletion

masyarakat 1 deletion

2 kelompok masiarakat tani masyarakat,

masarakat 1 substitution 3 kellompok masyarakat tani kelompok 1 insertion

14

1 musim panmen pasmen, panen 1 deletion

2 nmusim panen musim 1 insertion

3 musim psanen panen 1 insertion

15

1 tannaman obat tanaman 1 insertion

2 tanaman obatr obat, obar 1 insertion

3 taanman obat tanaman 1 transposition

16

1 gabah kering gilign giling, gilian 1 transposition

2 gabh kering giing gah, gabah 1 insertion

giling 1 deletion

3 gabah kerign giling kering 1 insertion

17

1 impor breas indonesia beras 1 transposition

Indonesia 1 substitution

2 inmpor beras Indonesia impor 1 insertion

3 import beras Indonesia impor 1 insertion


(1)

27 Lampiran 12. Antarmuka program Temu Kembali Informasi


(2)

1 PENDAHULUAN

Latar belakang

Kata kunci atau yang biasa disebut dengan query pada pencarian informasi dari sebuah search engine digunakan sebagai kriteria pencarian yang tepat dan sesuai dengan kebutuhan. Ejaan kata kunci yang benar menjadi penting untuk meningkatkan hasil pencarian informasi. Ketika pengguna menulis query sebagai masukan pada sistem pencari, muncul kesalahan ejaan disebabkan posisi tombol papan ketik dan pergerakan jari sehingga hasil pencarian bersifat salah. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengoreksi kesalahan ejaan. Pengoreksian ejaan ini dapat dilakukan dengan memberikan ejaan kata yang benar yaitu dengan memberikan usulan ejaan kata yang mirip berdasarkan kamus.

Penelitian tentang pengoreksian ejaan bahasa Indonesia juga pernah dilakukan oleh Primasari (1997), tentang pencarian dan temu kembali nama berdasarkan kesamaan fonetik. Wahyudin (1999) dengan menggunakan algoritme trigram untuk mendapatkan kata-kata perkiraan dari kata yang dinyatakan salah eja. Arumsari (1998) menentukan jarak edit diantara dua string dari operasi yang dilakukan yaitu: (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), dan (3) operasi penggantian (subtitution) sebuah huruf yang disebut metode Levenshtein. Pengoreksian ejaan akan dilakukan dengan algoritme Damerau Levenshtein. Algoritme ini menambahkan sebuah operasi yaitu operasi penukaran (transposition) pada metode Levenshtein. Dengan demikian, algoritme Damerau Levenshtein memperhatikan empat operasi dalam menentukan jarak edit, yaitu (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), (3) operasi penggantian (subtitution) dan operasi penukaran (transposition) sebuah huruf yang berdekatan. Dengan demikian, perolehan kata ejaan yang benar lebih optimal.

Tujuan

Tujuan dari penelitian ini adalah meningkatkan kinerja temu kembali informasi dengan mengoreksi kesalahan yang ada pada query berdasarkan pada kamus.

Ruang Lingkup

Koreksi kesalahan ejaan pada query yang dilakukan pada penelitian ini menggunakan algoritme yang berdasarkan dengan menghitung

jumlah minimum operasi yaitu: (1) penyisipan (insertion), (2) penggantian (subtitution), (3) penghapusan (deletion), dan (4) penukaran (transposition) posisi sebuah huruf yang disebut algoritme DamerauLevenshtein.

Manfaat

Penelitian ini diharapkan membantu pengguna dalam melakukan pencarian informasi pada search engine dengan meningkatkan perbaikan kesalahan kata akibat salah ketik.

TINJAUAN PUSTAKA

Menurut Damerau dalam Wahyudin (1999) menyimpulkan 80% kesalahan ejaan dapat disebabkan karena empat hal, yaitu:

1. Penggantian satu huruf 2. Penyisipan satu huruf 3. Penghilangan satu huruf

4. Penukaran dua huruf berdekatan.

Kesalahan ejaan juga dapat disebabkan oleh beberapa hal, diantaranya:

1. Ketidaktahuan penulisan. Kesalahan ini biasanya konsisten dan kemungkinan berhubungan dengan bunyi kata dan penulisan yang seharusnya.

2. Kesalahan dalam pengetikan yang lebih tidak konsisten tapi mungkin berhubungan erat dengan posisi tombol papan ketik dan pergerakan jari.

3. Kesalahan transmisi dan penyimpanan yang berhubungan dengan pengkodean pada jalur mekanisme transmisi data.

Kesalahan ejaan dapat dikoreksi menggunakan dua strategi dasar yang berbeda, yaitu mutlak dan relatif (Pullock & Zamora 1984, dalam Wahyudin 1999). Secara mutlak, pengoreksian dilakukan dengan membuat suatu tabel variasi ejaan yang salah dengan ejaan yang benarnya. Namun demikian, secara relatif ejaan yang benar dipilih dari kamus yaitu dengan mencari kata dalam kamus yang paling mirip dengan kata yang salah ejaannya.

Temu Kembali Informasi

Temu Kembali informasi adalah menemukan material (biasanya dokumen-dokumen) dari yang tidak terstruktur (biasanya teks) yang memenuhi kebutuhan informasi dari koleksi-koleksi yang besar (biasanya disimpan dalam komputer). Temu kembali informasi berkaitan dengan representasi, penyimpanan, dan akses terhadap dokumen representasi


(3)

2 dokumen. sistem yang berfungsi untuk

menemukan informasi yang relevan dengan kebutuhan pemakai merupakan suatu sistem temu kembali informasi (Manning et al. 2009).

Information Retrieval System (IRS) tidak memberi tahu pengguna masalah yang ditanyakannya. Sistem tersebut hanya memberitahukan keberadaan dan keterangan dokumen yang berhubungan dengan permintaan pengguna. Dengan memakai bahasa natural sebagai bahasa query, IRS memberikan kemudahan kepada pengguna dalam merepresentasikan kebutuhan informasinya dalam bentuk query.

IRS menerima query dari pengguna, kemudian melakukan perangkingan terhadap dokumen pada koleksi. Hasil perangkingan yang diberikan kepada pengguna merupakan dokumen yang menurut sistem relevan dengan query. Perangkingan dokumen oleh sistem ini dilakukan dengan memberikan pembobotan.

Pembobotan dilakukan terhadap token yang berada dalam dokumen koleksi. Sistem temu kembali yang paling sederhana memboboti dengan bobot biner, 1 jika token muncul di dokumen dan 0 jika sebaliknya. Untuk menghasilkan penggabungan bobot untuk setiap token di dalam setiap dokumen, dilakukan pengkombinasian frekuensi token (term frequency) dan inverse document frequency yang dinyatakan sebagai berikut (Manning et al. 2009).

Wi,j = tfi,j * idft.

Dengan tfi,j merupakan bobot token ke-i

pada dokumen ke-j dan idft, N adalah jumlah

dokumen dalam koleksi serta ni merupakan

jumlah dokumen yang mengandung token ke-i. Vector Space Model (VSM)

VSM merupakan pemodelan yang berbasiskan token yang memungkinkan partial matching dan pemeringkatan dokumen. Berikut beberapa prinsip dasar yang digunakan dalam VSM (Manning et al. 2009):

1. D ={d0, d1, …, dN} adalah himpunan N

dokumen dalam koleksi. d mengacu pada sembarang dokumen di Є D. Dokumen

sebagai vektor token.

2. Q adalah query yang direpresentasikan sebagai sebuah vektor berdimensi m mirip dengan dokumen.

3. T = {t0, t1, … tm} adalah himpunan m token

dalam dokumen.

4. Kesamaan vektor dokumen dan query dihitung berdasarkan kesamaan antar vektor. Dokumen-dokumen yang ditemukembalikan merupakan hasil penemukembalian yang ditampilkan berupa daftar dokumen yang telah terurutkan berdasar tingkat kesamaan dokumen dengan query. Tingkat atau ukuran kesamaan sim(dj, q) antara dokumen di dengan query Q

dihitung dengan menggunakan persamaan kosinus sudut antara di dan Q sebagai berikut :

Evaluasi Temu Kembali Informasi

Dasar pengukuran keefektifan temu kembali informasi adalah recall dan precision. Recall adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang relevan. Precision adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang ditemukembalikan (Manning et al. 2009).

Average precison (AVP) adalah suatu ukuran evaluasi temu kembali yang diperoleh dengan menghitung rata-rata precision pada berbagai tingkat recall yang ditemukembalikan. Tingkat recall standar yang digunakan adalah 11 tingkat recall, yaitu 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, dan 1.0.

Precision yang diinterpolasi pada standar recall level ke j adalah precision maksimum pada suatu recall level antara level j dan level (j+1) :

Algoritme Damerau Levenhstein Metric Damerau Levenshtein Metric adalah sebuah fungsi pada finite string dari sebuah alphabet ke integer. Sebuah matriks jarak yang diberikan stringss1, s2, s3 yang memenuhi kondisi (Bard, 2006):

Non-negativity: d(s1, s2) ≥ 0

Non-degeneracy: d(s1, s2) = 0 jika dan hanya

jika s1 = s2

Symmetry: d(s1, s2) = d(s2, s1)

Triangle Inequality: d(s1, s2) + d(s2, s3) ≥ d(s1, s3)

Jarak d(s1, s2) didefinisikan sebagai sebuah

kombinasi operasi penjumlahan dari penambahan sebuah huruf, penghilangan sebuah huruf, penggantian sebuah huruf atau penukaran


(4)

3 sebuah huruf dari huruf lainnya dalam satu

lokasi. Itu memungkinkan beberapa kombinasi pada empat operasi yang dapat menransformasikan string s1 ke s2, tapi panjang terpendek urutan adalah jarak antara dua strings.

Metode Damerau Levenshtein Metric melakukan operasi perbandingan kata-kata dengan memerhatikan 4 macam kesalahan pengetikan (misalnya kata DAMERAU), yaitu: 1. Penyisipan sebuah huruf, misalnya

DAHMERAU.

2. Penghapusan sebuah huruf, misalnya DAMRAU.

3. Penggantian sebuah huruf dengan huruf lain, misalnya DANERAU.

4. Penukaran sebuah huruf berurutan, misalnya DAMERUA.

Salah satu metode pembandingan dalam memeriksa ejaan dengan menggunakan Table Look-up. Metode ini membandingkan kata terhadap kata dalam kamus. Jika tidak ada dikamus maka kata tersebut dianggap salah (Peterson 1980, diacu dalam Wahyudin 1999). Ketidaksesuaian dari strings dapat dibandingkan dengan kata pada kamus yang secara langsung menggunakan penyesuaian karakter demi karakter secara iteratif, dengan menentukan jumlah minimum kesalahan dari masing-masing operasi.

Damerau Levenshtein Metric menghitung jumlah minimum kesalahan dari dua kata misalnya terdapat dua buah kata yang dinotasikan sebagai s dan t. Variabel i dan j menyatakan posisi huruf yang dibandingkan pada suatu kata (pfiefer et al. 1994).

f(0, 0)= 0 f(i, 0)= i

f(0, j)= j f(i, j)= min {

f(i-1, j) + 1, // deletion f(i, j-1) + 1, // insertion f(i-1, j-1) + d(si, tj) // substitution

f(i-2, j-2) + d(si-1, tj) + d(si, tj-1) + 1

// transposition

} fungsi d merupakan fungsi untuk mengukur jarak untuk huruf.

Fungsi f(i, j) menghitung minimum jumlah kesalahan-kesalahan perbandingan i karakter pertama dari kata pertama dengan j karakter pada kata kedua. Jarak antara dua strings adalah f(m,n), dimana m merupakan panjang string pertama dan n merupakan panjang string ke dua.

METODOLOGI PENELITIAN Penelitian ini dilakukan melalui beberapa tahap, yaitu:

1. Pengumpulan data

2. Pembuatan program pengoreksian ejaan pada sistem temu kembali

3. Penentuan jarak edit 4. Percobaan

5. Evaluasi kinerja program

Data penelitian yang digunakan berupa kata yang diambil dari KBBI tahun 2005 dan digunakan sebagai kamus referensi. Kata yang digunakan adalah kata-kata dasar dan kata berimbuhan sebanyak 53064 kata.

Tahapan pembuatan model sistem temu kembali dapat dideskripsikan pada Gambar 1.


(5)

4 Gambar 1 Deskripsi model sistem temu kembali informasi.

Proses awal dilakukan pemisahan kata (tokenizer) terhadap query dengan menghilangkan beberapa tanda baca dan karakter sparator (whitespace seperti karakter space). Proses pemisahan kata ini dilakukan menjadi unit paling kecil yang disebut dengan kata atau token.

Setiap kata yang diperoleh dari proses tokenizer, satu-persatu dilakukan proses pengecekan terhadap kamus. Jika kata ada dalam kamus maka kata tersebut benar dan akan digunakan sebagai pembobotan query dalam model VSM. Namun jika kata tersebut tidak ada dalam kamus, maka kata tersebut merupakan salah eja yang selanjutnya dilakukan proses pencarian kata dalam kamus yang memiliki kemiripan dengan kata yang sedang dikoreksi dengan algoritme Damerau Levenshtein Metric.

Pembobotan dokumen dalam sistem temu kembali model VSM adalah dengan memberikan nilai kemunculan suatu kata (term frequency) sebagai bobot, termasuk kata dalam query.

Setelah dilakukan pemberian nilai bobot, maka diperoleh vektor-vektor dokumen.

Vektor-vektor dokumen akan ditentukan nilai kesamaan dengan vektor query. Penentuan nilai kesamaan (similarity) dihitung dengan rumus kosinus.

Dokumen-dokumen yang sudah ditentukan nilai kesamaan dengan query kemudian dilakukan pengurutan (perangkingan) yang berdasarkan nilai kesamaannya. Dokumen yang memiliki nilai kesamaan paling besar akan berada paling atas dalam sistem temu kembali. Sebaliknya, dokumen yang memiliki nilai kesamaan paling kecil akan tersimpan berada paling bawah dalam sistem temu kembali. Penentuan jarak edit

Penetapan jarak edit pada pengoreksian ejaan sangat menentukan banyaknya kata yang diberikan sebagai kata usulan. Hal ini dikarenakan kata usulan yang diperoleh hanya kata yang memiliki jarak edit yang lebih kecil atau sama dengan k.

Umumnya kesalahan yang dilakukan pada penulisan sebuah kata mempunyai jarak edit (k) maksimum sama dengan dua terhadap jarak yang benar ejaannya (Mitton 1987, dalam Arumsari, 1998).

Query

Ada ? KBBI

Korpus

VSM

Similarity

Damerau-Levenstein-Metric

Merge

Display Kata usulan

Edit distance

N Y

Tokenizer

Tokenizer


(6)

5 Diagram alir pengoreksian ejaan dapat

dilihat pada Gambar 2. Query yang dimasukkan pada sistem, dilakukan proses pemisahan kata. Setiap kata yang diperoleh dilakukan proses pemeriksaan pada kamus. Jika kata ada di dalam kamus, maka kata tersebut mempunyai ejaan yang benar. Tetapi jika kata tidak ada dalam kamus, selanjutnya dilakukan pencarian kemiripan kata dalam kamus berdasarkan jarak edit yang telah ditentukan yaitu k, artinya program akan mencari kata dalam kamus yang memiliki ukuran jarak kurang dari atau sama dengan k. Sistem ini akan menentukan kata sebagai kata usulan yang memiliki jarak edit maksimum sama dengan 2 (k = 2). Tetapi, jika ada kata usulan yang memiliki jarak edit sama dengan 1 maka sistem akan memberikan kata usulan yang hanya memiliki jarak edit-nya sama dengan 1. Apabila pada pemeriksaan tersebut

tidak diberikan kata usulan untuk menggantikan kata yang salah ejaannya, maka tidak ada yang memenuhi dari semua kata yang ada dalam kamus. Dengan demikian, sistem menganggap kata yang sedang dikoreksi tidak memiliki kemiripan dengan kata apapun dalam kamus. Jika pada pemeriksaan kata diberikan kata yang mirip sesuai untuk menggantikan kata yang salah ejaannya, maka pengguna dapat memilih kata tersebut untuk menggantikan kata yang salah ejaannya.

Ketika kata yang diperiksa tidak ada dalam kamus, tetapi kata tersebut memiliki ejaan sesuai ejaan bahasa Indonesia yang benar, maka program akan menawarkan apakah kata tersebut ingin dimasukkan ke dalam kamus atau tidak. Jika kata yang dikoreksi ingin dimasukkan ke dalam kamus, maka program akan menyimpan kata tersebut ke dalam kamus khusus.

Gambar 2 Diagram alir pengoreksian ejaan.

Kueri

Tokenizer

Ada dalam Kamus?

Hitung Jarak Kata Ambil satu

kata

Jarak kata

k ?

Kata ada di dalam usulan? Mulai

Selesai

Simpan ke dalam kamus Kamus

Tampilkan sebagai usulan

Masukan ke Kamus?

Y

N Y

N Y

N

Y