implementasi algoritme fonetik untuk koreksi ejaan

advertisement
IMPLEMENTASI ALGORITME FONETIK UNTUK KOREKSI
EJAAN BAHASA INDONESIA
FAHMILU KURNIAWAN
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2010
IMPLEMENTASI ALGORITME FONETIK UNTUK KOREKSI
EJAAN BAHASA INDONESIA
FAHMILU KURNIAWAN
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
2010
ABSTRACT
FAHMILU KURNIAWAN. Implementation of Phonetic Algorithm for Spelling Correction in
Bahasa Indonesia. Under the supervision of Ahmad Ridha.
A technique to obtain documents containing information in accordance with a user’s requirements
is necessary for an information retrieval system. This research compared the performance of four
phonetic algorithms: Soundex, Phonix, Metaphone, and Caverphone. This research used a database
derived from KBBI 2005. The accuracy of Soundex, Phonix, Metaphone, and Caverphone is 92%,
78%, 77%, and 75%, respectively. However, Soundex and Phonix suggested twice as many words as
Metaphone and Caverphone.
Keywords: spelling correction, phonetic algorithm.
Judul : Implementasi Algoritme Fonetik untuk Koreksi Ejaan Bahasa Indonesia
Nama : Fahmilu Kurniawan
NRP : G64053002
Menyetujui:
Dosen Pembimbing,
Ahmad Ridha, S.Kom, M.S.
NIP: 19800507 200501 1 001
Mengetahui:
Ketua Departemen,
Dr. Ir. Sri Nurdiati, M.Sc.
NIP: 19601126 198601 2 001
Tanggal lulus:
PRAKATA
Alhamdulillahi rabbil ‘alamin, puji dan syukur penulis panjatkan kepada Allah subhanahu wa
ta’ala atas segala curahan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir
sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer di Fakultas Matematika dan IPA,
Institut Pertanian Bogor.
Pada kesempatan ini, penulis mengucapkan terima kasih yang sebesar-besarnya kepada semua
pihak yang telah membantu terutama kepada:
1
2
3
4
5
6
7
8
9
10
11
12
13
Ibunda tercinta yang telah banyak berkorban dan berjuang untuk membesarkan serta menyekolahkan penulis sampai jenjang sarjana.
Ayahanda Alm. Drs. Pudji Mulyono atas segala kesempatan dan dorongan serta doa.
Kepada Bapak Ahmad Ridha, S.Kom, M.S selaku pembimbing atas segala bimbingan, dukungan,
dan perhatiannya kepada penulis selama penelitian berlangsung.
Kepada Bapak Ir. Julio Adisantoso, M.Kom dan Bapak Sony Hartono Wijaya, S.Kom, M.Kom
selaku penguji tugas akhir ini yang telah banyak memberikan masukan demi kesempurnaan tugas
akhir ini.
Kepada kedua kakak saya Nur Hidayati, S.Hut dan Nurul Rachmawati, S.Pd yang telah memberikan banyak motivasi dan pengalaman hidup.
Eka Nani P. atas doa, kasih sayang, bantuan, dan dukungan serta semangat dan kebersamaan
selama ini.
Indra Juniawan, Andi Sasmita, M. Saad Nurul Islah, Damas Widyatmoko, dan Fakhri Mahathir.
sahabatku sebimbingan, atas doa, semangat, bantuan, dan kebersamaan selama ini.
Ust. Dani atas segala arahan, perhatian, dan semangat.
Jarot, Saiful, Mas Dekri, Mas Dede, Fathoni, dan Wikhdal atas bantuan, semangat, dan kebersamaan selama ini.
Mas A. Fuadi atas semangat man jadda wa jada dan pelajaran tentang keikhlasan.
Syariful Mizan, Fathoni Arif Musyaffa, Hermawan Tri Rosanja, Hengky Hariady, Haryanto,
Desca Marwantoni, serta Furqon Hensan Mutaqien atas kebersamaan selama ini.
Teman-teman Ilkomerz 42 atas bantuan dan dukungannya.
Seluruh staf pengajar dan staf karyawan di Departemen Ilmu Komputer atas bantuannya.
Segala kesempurnaan hanya milik Allah subhanahu wa ta’ala dan penulis berharap semoga karya
ilmiah ini bermanfaat, amin.
Bogor, Januari 2010
Fahmilu Kurniawan
RIWAYAT HIDUP
Penulis dilahirkan di Madiun, Jawa Timur pada tanggal 14 Juli 1987 yang merupakan anak ketiga
dari tiga bersaudara dengan ayah bernama Pudji Mulyono dan ibu Siti Maisaroh.
Tahun 2005, penulis lulus dari SMAN 1 Madiun dan pada tahun yang sama lulus seleksi masuk
IPB melalui jalur Undangan Seleksi Masuk IPB (USMI). Pada tahun 2006, penulis masuk
Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian
Bogor. Pada tahun 2008 dan 2009, penulis aktif sebagai asisten praktikum Penerapan Komputer di
Departemen Ilmu Komputer IPB. Sekarang penulis tercatat sebagai staf IT di STEI TAZKIA Bogor.
DAFTAR ISI
Halaman
DAFTAR TABEL ................................................................................................................................. v
DAFTAR GAMBAR ............................................................................................................................. v
DAFTAR LAMPIRAN.......................................................................................................................... v
PENDAHULUAN ................................................................................................................................. 1
Latar Belakang ................................................................................................................................. 1
Tujuan .............................................................................................................................................. 1
Ruang Lingkup ................................................................................................................................. 1
Manfaat Penelitian ........................................................................................................................... 1
TINJAUAN PUSTAKA ........................................................................................................................ 1
Metode Pemeriksaan Ejaan .............................................................................................................. 2
Fonetik ............................................................................................................................................. 2
Klasifikasi Konsonan ....................................................................................................................... 2
Algoritme Soundex .......................................................................................................................... 2
Algoritme Phonix ............................................................................................................................. 3
Algoritme Metaphone ...................................................................................................................... 3
Algoritme Caverphone ..................................................................................................................... 3
Damerau Lavenstein Metric ............................................................................................................. 4
METODOLOGI PENELITIAN............................................................................................................. 5
Pengumpulan Data ........................................................................................................................... 5
Pembuatan Aplikasi ......................................................................................................................... 5
Pengujian Aplikasi ........................................................................................................................... 6
Percobaan ......................................................................................................................................... 6
Analisis Data dan Kesimpulan ......................................................................................................... 6
Akurasi ............................................................................................................................................. 6
Lingkungan Pengembangan ............................................................................................................. 7
HASIL DAN PEMBAHASAN.............................................................................................................. 7
Peringkat .......................................................................................................................................... 7
Kata Usulan ...................................................................................................................................... 7
Akurasi pada Kesalahan Penyisipan ................................................................................................ 8
Akurasi pada Kesalahan Penghapusan ............................................................................................. 9
Akurasi pada Kesalahan Penggantian ............................................................................................ 10
Akurasi pada Kesalahan Penukaran ............................................................................................... 10
Waktu Koreksi ............................................................................................................................... 11
Kelebihan dan Kekurangan ............................................................................................................ 11
KESIMPULAN DAN SARAN............................................................................................................ 11
Kesimpulan .................................................................................................................................... 11
Saran .............................................................................................................................................. 11
DAFTAR PUSTAKA .......................................................................................................................... 12
LAMPIRAN ........................................................................................................................................ 13
iv
DAFTAR TABEL
Halaman
1
2
3
4
5
6
7
8
9
10
11
Kode numerik algoritme Soundex (Russel 1918).............................................................................. 3
Kode numerik algoritme Phonix (Gadd 1990 dalam Pfeifer et al. 1994) .......................................... 3
Aturan kode fonetik algoritme Metaphone (Phillips 1990) ............................................................... 4
Data statistik kata usulan ................................................................................................................... 8
Banyak kata berdasarkan letak kesalahan penyisipan ....................................................................... 8
Akurasi algoritme fonetik untuk letak kesalahan penyisipan di tengah kata ..................................... 8
Akurasi algoritme fonetik untuk letak kesalahan penyisipan di belakang kata ................................. 8
Banyak kata berdasarkan letak kesalahan penggantian ..................................................................... 9
Akurasi algoritme fonetik untuk letak kesalahan penggantian huruf pertama .................................. 9
Banyak kata berdasarkan letak kesalahan penukaran ...................................................................... 10
Rata-rata waktu koreksi ................................................................................................................... 11
DAFTAR GAMBAR
Halaman
1
2
3
4
5
6
7
8
9
Metodologi penelitian ....................................................................................................................... 5
Proses pengodean kamus ................................................................................................................... 5
Diagram alir aplikasi koreksi ejaan ................................................................................................... 6
Grafik hasil klasifikasi peringkat tiap algoritme ............................................................................... 7
Grafik akurasi untuk kesalahan penghapusan. .................................................................................. 9
Grafik akurasi untuk kesalahan penggantian di tengah kata ............................................................. 9
Grafik akurasi untuk kesalahan penggantian di belakang kata ........................................................ 10
Grafik akurasi untuk kesalahan penukaran...................................................................................... 10
Grafik akurasi keseluruhan.............................................................................................................. 10
DAFTAR LAMPIRAN
Halaman
1
2
3
4
5
Aturan algoritme Caverphone ......................................................................................................... 14
Contoh kamus kode ......................................................................................................................... 15
Antarmuka aplikasi koreksi ejaan ................................................................................................... 16
Klasifikasi jenis kesalahan .............................................................................................................. 18
Contoh data hasil percobaan ........................................................................................................... 19
6 Grafik kata usulan untuk tiap-tiap algoritme ................................................................................... 20
v
PENDAHULUAN
Latar Belakang
Penggunaan mesin pencarian di dunia maya
saat ini telah menjadi salah satu kebutuhan yang
tidak bisa digantikan. Pencarian informasi yang
tepat dan sesuai kebutuhan menjadi sangat
penting. Oleh karena itu, teknik untuk
memperoleh dokumen yang memuat informasi
sesuai dengan kebutuhan begitu diperlukan.
Hal tersebut menuntut adanya ejaan yang benar
dalam pencarian kata, sehingga adanya suatu
metode yang bisa digunakan untuk koreksi
ejaan diharapkan akan memberikan dampak
positif terhadap perkembangan sistem temu
kembali informasi.
Sekarang telah banyak dijumpai aplikasi
yang mempuyai fungsi untuk melakukan
koreksi ejaan. Program aplikasi pengoreksi
ejaan pertama kali direalisasikan pada tahun
1971, yaitu program SPELL pada DEC-10 yang
ditulis oleh Ralph Gorin di Stanford (Peterson
1980). Pengembangan program dan revisinya
telah disebarkan. Aplikasi yang sekarang
sedang banyak dikembangkan adalah proyek
Aspell yang telah merilis aplikasi terbarunya
pada April 2008. Bahkan kini hampir semua
aplikasi pengolahan kata telah menyertakan
program pengoreksi ejaan.
Koreksi ejaan bisa dilakukan dengan
algoritme non-fonetik dan fonetik. Sutisna
(2009) telah menggunakan algoritme nonfonetik untuk koreksi ejaan Bahasa Indonesia
karena
kesalahan
pengetikan
dengan
menggunakan Damerau Levenstein Metric.
Hasil dari penelitiannya menunjukkan bahwa
metode yang digunakan dapat meningkatkan
kinerja sistem temu kembali informasi.
Algoritme
fonetik
telah
banyak
dikembangkan dan digunakan untuk pencarian
nama. Struktur yang menghasilkan kode-kode
dari kata membuat algoritme fonetik mudah
untuk diimplementasikan. Namun karena
struktur bahasa yang beragam, banyak kendala
yang ditemukan pada saat digunakan untuk
ejaan khususnya Bahasa Indonesia. Contoh
penggunaan algoritme fonetik adalah pada jasa
Customer Service (CS). Ketika ada pelanggan
menyebutkan nama, CS dapat mengetikkan
nama tanpa harus mengetahui ejaan spesifik
nama tersebut.
Penelitian tentang penggunaan algoritme
fonetik pernah dilakukan oleh Primasari (1997)
untuk pencarian dan temu kembali informasi
nama dalam ejaan Indonesia serta oleh Syaroni
(2005) untuk pencocokan string dalam Bahasa
Inggris dengan menggunakan beberapa
algoritme fonetik. Algoritme yang digunakan
dalam penelitian tersebut adalah: Soundex,
Metaphone, dan Caverphone. Syaroni (2005)
menyimpulkan bahwa algoritme Soundex
paling efektif untuk pencocokan kata.
Tujuan
Tujuan dari penelitian ini adalah:
1 Menerapkan algoritme fonetik untuk koreksi
ejaan Bahasa Indonesia.
2 Mengukur keefektifan beberapa algoritme
fonetik (Soundex, Phonix, Metaphone, dan
Caverphone) dan membandingkan dengan
Damerau Levenstein Metric untuk koreksi
ejaan Bahasa Indonesia. Tingkat keefektifan
dilihat dari beberapa komponen, yaitu:
peringkat, banyak kata usulan, akurasi dalam
pengoreksian ejaan, serta waktu koreksi.
Ruang Lingkup
Beberapa lingkup penelitian ini meliputi:
1 Penelitian
ini
difokuskan
kepada
implementasi algoritme Soundex, Phonix,
Metaphone, dan Caverphone dengan melihat
akurasi, banyak kata usulan, dan waktu
proses dalam pengoreksian ejaan Bahasa
Indonesia.
2 Data yang digunakan diperoleh dari Kamus
Besar Bahasa Indonesia (KBBI) tahun 2005
yang berisi lebih dari 50 ribu kata dasar dan
kata berimbuhan selain berimbuhan di-.
3 Hasil yang diperoleh hanya sebatas
memberikan kata-kata usulan yang memiliki
kesamaan kode fonetik. Di dalam kata-kata
yang diusulkan terdapat kata yang benar dan
yang diinginkan.
Manfaat Penelitian
Dari penelitian ini diharapkan dapat
diketahui algoritme fonetik yang paling efektif
untuk koreksi ejaan Bahasa Indonesia terutama
untuk jenis kesalahan pengetikan, serta rata-rata
kinerja algoritme fonetik untuk koreksi ejaan
Bahasa Indonesia. Selain itu, dari penelitian ini
diharapkan dapat diketahui perbandingan
kinerja antara algoritme fonetik dengan
Damerau Levenstein Metric, sehingga dapat
digunakan untuk membuat sistem koreksi ejaan
yang efektif.
TINJAUAN PUSTAKA
Damerau (1964) menyimpulkan bahwa 80%
kesalahan ejaan dapat disebabkan karena empat
1
hal, yaitu: penggantian satu huruf, penyisipan
satu huruf, penghilangan satu huruf, dan
penukaran dua huruf berdekatan.
2 Dental, bunyi diartikulasi oleh gigi atas
dengan ujung lidah, contoh bunyi th (dalam
kata thin).
Sedangkan Peterson (1980), berpendapat
bahwa kesalahan ejaan dapat terjadi karena
beberapa hal, diantaranya:
3 Alveolar, bunyi diartikulasi oleh ujung lidah
dengan punggung gigi (teeth-ridge), contoh
bunyi d, t, n, l, r, s, dan z.
1 Ketidaktahuan penulisan. Kesalahan ini
biasanya konsisten dan kemungkinan
berhubungan dengan bunyi kata serta
penulisan yang seharusnya.
4 Palato-alveolar, bunyi yang memiliki
artikulasi alveolar diikuti dengan naiknya
lidah sampai pada langit-langit mulut secara
simultan, contoh bunyi c, j, dan sh (dalam
kata show).
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 pengodean pada jalur
mekanisme transmisi data. Kesalahan lebih
pada perangkat keras.
Metode Pemeriksaan Ejaan
Salah satu metode pemeriksaan ejaan adalah
metode Look-up Table yang dikenalkan oleh
Peterson (1980). Dalam metode ini kata yang
dimasukkan akan dibandingkan dengan kamus
yang telah disediakan. Jika kata yang dimaksud
tidak ada dalam kamus maka kata tersebut
dianggap salah.
Fonetik
Malmberg (1963) dalam Syaroni (2005)
mendefinisikan fonetik sebagai ilmu yang
menyelidiki bunyi bahasa tanpa melihat fungsi
bunyi itu sebagai pembeda makna dalam suatu
bahasa. Kata sifat fonetik adalah fonetis.
Bagian terpenting dari fonetik adalah
klasifikasi konsonan. Klasifikasi konsonan
berpengaruh pada proses pengodean yang
dilakukan oleh algoritme fonetik.
Klasifikasi Konsonan
Menurut Jones (1972) dalam Syaroni (2005)
klasifikasi konsonan berdasarkan alat bicara
yang menghasilkannya dapat dibagi menjadi
tujuh bagian, yaitu:
1 Labial atau bunyi bibir, yang dapat
dibedakan lagi menjadi dua golongan yaitu:
a) Bilabial, bunyi diartikulasi oleh dua
bibir, contoh bunyi p, b, m, dan w.
b) Labio-dental, bunyi diartikulasi oleh
bibir bawah dan gigi atas, contoh bunyi
f dan v.
5 Palatal, bunyi diartikulasi oleh bagian depan
lidah dengan langit-langit keras (hard
palate), contoh bunyi y.
6 Velar, bunyi diartikulasi oleh bagian
belakang lidah dengan langit-langit lunak
(soft palate), contoh bunyi k dan g.
7 Glottal, bunyi diartikulasi oleh glottis atau
celah suara, contoh bunyi h.
Algoritme Soundex
Algoritme Soundex merupakan algoritme
fonetik tertua dan pertama kali dipatenkan oleh
Robert C. Russel pada tahun 1918. Soundex
memisahkan huruf ke dalam tujuh kelas yang
berbeda. Diasumsikan huruf yang berada pada
kelas yang sama memiliki kesamaan bunyi.
Setiap kelas memiliki keunikan tersendiri di
mana kelas ditentukan oleh bentuk kesamaan
dari konsonannya, kecuali pada bagian yang
mengkodekan semua huruf vokal serta huruf
h,w, dan y dengan 0 (tidak dikodekan). Hal ini
dikarenakan huruf-huruf tersebut dianggap
sama dan tidak perlu dikodekan. Aturan
pengodean dengan algoritme Soundex dapat
dijelaskan seperti langkah berikut:
1 Buang semua huruf vokal, tanda baca yang
tidak ada hubungan dengan kata, konsonan
H,W, dan Y, serta urutan huruf yang sama
(misalnya. sss). Huruf pertama selalu
dibiarkan seperti semula.
2 Gabung huruf pertama dengan angka
pengganti yang sesuai dengan kode numerik
yang ditunjukkan pada Tabel 1.
3 Ambil empat kode terdepan dan selanjutnya
kode tersebut menjadi kode Soundex.
Menurut Pfeifer et al. (1994) kedua kata
yang memiliki kode yang sama dapat
diklasifikasikan (1) sama, (2) berbeda tetapi
setidaknya memiliki satu kode Soundex yang
sama, atau (3) tidak berhubungan sama sekali.
Sebagai contoh, kata gulai dengan gule di
kodekan sama yaitu G4.
2
Tabel 1 Kode numerik algoritme Soundex
(Russel 1918)
adalah mencari kata-kata yang memiliki
persamaan bunyi. Setiap kata akan memiliki
kode tertentu jika melalui algoritme Metaphone,
sehingga algoritme Metaphone tidak mencari
kata dasar. Kata-kata yang bunyinya sama akan
memiliki kode yang sama pula.
Kode
Huruf
0 (tidak dikodekan)
A,I,U,E,O,H,W,Y
1
B,F,P,V
2
C,G,J,K,Q,S,X,Z
3
D.T
4
L
Kode
Huruf
5
M,N
0 (tidak dikodekan)
A,I,U,E,O,H,W,Y
6
R
1
B, P
Tabel 2 Kode numerik algoritme Phonix (Gadd
1990 dalam Pfeifer et al. 1994)
2
C,G,J,K,Q
Algoritme Phonix
3
D.T
Algoritme Phonix merupakan pengembangan dari algoritme Soundex. Namun Phonix
jauh lebih rumit bila dibandingkan dengan
Soundex. Jika Soundex membagi huruf dengan
tujuh kelas berbeda, maka Phonix membagi
huruf dengan sembilan kelas berbeda. Pada
prinsipnya cara kerja Phonix adalah sebagai
berikut (Gadd 1990 dalam Pfeifer et al. 1994):
4
L
5
M,N
6
R
1. Jika huruf pertama adalah huruf hidup
(vokal) dan konsonan Y, maka ganti huruf
pertama tersebut dengan V.
2. Buang bunyi akhir (ending sound) dari kata.
Bunyi akhir adalah bagian sesudah huruf
vokal terakhir. Contoh: kata BUANG
menjadi BUA.
3. Buang semua huruf vokal, tanda baca yang
tidak ada hubungan dengan kata, konsonan
H,W, dan Y, serta urutan huruf yang sama
(misalnya. sss).
4. Bentuk kode fonetik dari kata yang
dimaksudkan dengan mengganti semua
huruf yang tersisa dengan nilai numerik
seperti pada Tabel 2 kecuali huruf awal.
Panjang maksimum kode fonetik yang
dihasilkan oleh algoritme Phonix adalah
delapan karakter.
Dalam Primasari (1997) algoritme yang
paling efektif dalam proses temu kembali
informasi adalah Phonix4. Algoritme Phonix4
secara garis besar sama dengan algoritme
Phonix. Namun panjang maksimal kode
fonetiknya adalah empat karakter. Dalam
penelitian ini akan digunakan algoritme
Phonix4 yang selanjutnya akan disebut dengan
algoritme Phonix.
Algoritme Metaphone
Algoritme Metaphone pertama dikenalkan
oleh Phillips (1990). Tujuan dari algoritme ini
7
F,V
8
S,X,Z
Pengodean dalam Metaphone adalah dengan
cara menghilangkan huruf vokal kecuali huruf
vokal yang berada di awal kata. Metaphone
akan mereduksi alfabet menjadi enam belas
suara konsonan yaitu:
B, X, S, K, J, T, F, H, L, M, N, P, R, 0, W,
dan Y.
Suara ‘sh’ direpresentasikan dengan ‘X’
dan nol (‘0’) merepresentasikan suara ‘th’.
Aturan pemberian kode fonetik oleh Metaphone
untuk Bahasa Inggris dapat dilihat pada Tabel 3.
Contoh: kata BAGUS akan dikodekan menjadi
’BKS’.
Algoritme Caverphone
Algoritme Caverphone dikembangkan oleh
David Hood dalam proyek Caversham,
Universitas Otago, New Zealand. Pertama kali,
algoritme
Caverphone diperkenalkan pada
tahun 2002 dan ditujukan untuk pencocokan
nama
orang
saja,
tetapi
kemudian
dikembangkan lagi sehingga muncul algoritme
5 Caverphone versi 2.0 pada tahun 2004 yang
lebih umum untuk pencocokan kata dalam
Bahasa Inggris. Seperti algoritme Metaphone,
algoritme Caverphone juga mengelompokkan
huruf-huruf yang cenderung menimbulkan
kesalahan pengucapan (satu kelompok dalam
klasifikasi konsonan) dalam satu kelompok.
Langkah umum dari algoritme Caverphone
untuk pencocokan nama yang pertama kali
dipublikasikan oleh Hood (2002) adalah:
1 Dimulai dari nama depan.
3
2 Diubah semua ke huruf kecil. Algoritme ini
bersifat case-sensitive.
3 Hapus semua yang bukan huruf A-Z.
Misalkan: bu:kan  bukan.
4 Lalu di kodekan sesuai dengan ketentuan
yang sesuai. Ketentuan pengodean pada
algoritme Caverphone dapat dilihat pada
Lampiran 1.
Tabel 3 Aturan kode fonetik algoritme Metaphone (Phillips 1990)
HURUF
KODE
B
B
X
C
S
Dihapus
KETERANGAN
Kecuali di akhir kata setelah
'M'
Contoh: dumb
(sh), jika dalam '-CIA-', 'CH-'
Jika dalam '-CI-', '-CE-', 'CY-'
Jika dalam '-SCI-', '-SCE-', 'SCY-'
K
D
F
J
T
F
F
Dihapus
G
J
K
Dihapus
H
H
J
K
L
M
N
P
Q
R
J
Dihapus
K
L
M
N
F
P
K
R
X
S
T
V
W
X
Y
Z
Jika dalam '-DGE-', '-DGY-',
'DGI'
S
X
0
Dihapus
T
F
W
dihapus
KS
Y
dihapus
S
Jika dalam '-GH' kecuali
dalam 'B--GH', 'D--GH', '-H-GH','-H---GH'
Jika dalam '-GNED', '-GN', 'DGE-', '-DGI-' '-DGY-'
Jika dalam '-GE', '-GI','-GY'
dan tidak dalam
'GG'
Jika sesudah vokal dan tidak
diikuti vokal
Jika sebelum sebuah vokal
dan tidak sesudah 'C', 'G',
'P', 'S', 'T'
Jika sesudah ‘C’
Jika sebelum ‘H’
Contoh pengodean:
David
david
dafid
tafit
t3f3t
T3f3T
T3F3T
TFT
TFT111111
TFT111
Perbedaan yang tampak antara algoritme
Caverphone dengan algoritme Metaphone, jika
diperhatikan penjelasan algoritme-algoritme
tersebut dari segi fonetik adalah (Syaroni 2005):
1 Algoritme Caverphone mempunyai langkahlangkah yang panjang dan rinci. Caverphone
tidak menangani khusus untuk huruf-huruf
tertentu dalam satu kelompok langkah, tetapi
sudah digabung untuk beberapa huruf.
2 Algoritme Caverphone dirancang agar peka
terhadap letak huruf-huruf dalam kata.
Damerau Levenstein Metric
Pfeifer et al. (1994) mendefinisikan
Damerau Levenstein Metric sebagai suatu
metode yang menggambarkan perbandingan
kata-kata dengan memperhatikan empat macam
kesalahan pengetikan (diberikan dengan contoh
kata DAMERAU) seperti yang didefinisikan
oleh Damerau (1964), yaitu:
1. Penyisipan huruf tambahan
misalnya DAMMERAU.
(insertion),
2. Penghapusan huruf dalam kata (deletion),
misalnya DAMERU.
3. Penggantian sebuah huruf dengan huruf
yang
lain
(substitution),
misalnya
PAMERAU.
4. Penukaran tempat dua huruf berurutan,
misalnya DAMERUA.
(sh), jika dalam '-SIA-',
'-SIO-' atau sebelum 'H'
Jika di dalam '-TCH-'
jika dalam '-TIA-', '-TIO-'
jika sebelum 'H'
Jika sesudah vokal
Jika sesudah vokal
Misalkan didefinisikan dua kata a dan b,
Damerau Levenstein Metric akan dapat
menghitung jumlah minimal kesalahan dari dua
kata tersebut dengan persamaan:
f(0,0) = 0
f(i, j)= min {
f(i-1, j) + 1, // deletion
f(i, j-1) + 1, // insertion
f(i-1, j-1) + d(ai, bj) // substitution
f(i-2, j-2) + d(ai-1, bj) + d(ai, bj-1) + 1
// transposition }
4
Variabel i dan j menunjukkan posisi hurufhuruf yang dibandingkan pada suatu kata,
sedangkan fungsi d adalah fungsi jarak untuk
huruf yang bersifat sederhana dan non-identity.
Persamaan f(i,j) menghitung jumlah
kesalahan yang terkecil dengan membedakan
huruf ke-i pada kata a dan huruf ke-j pada kata
b.
METODOLOGI PENELITIAN
Pelaksanaan penelitian ini dibagi dalam
beberapa tahap yang dapat dilihat pada Gambar
1. Secara garis besar tahapannya adalah (1)
Pengumpulan data, (2) Pembuatan Aplikasi, (3)
Pengujian Aplikasi, (4) Percobaan, dan (5)
Analisis data dan Kesimpulan.
data kamus referensi yang digunakan dalam
proses koreksi ejaan. Selain data kamus, dalam
penelitian ini juga terdapat data kode yang
berisi kode-kode fonetik yang diperoleh dari
pengodean kata-kata dalam data kamus
referensi sesuai dengan algoritme yang
digunakan. Jadi terdapat data kode untuk
Soundex, Phonix, Metaphone, dan Caverphone.
Untuk percobaan dalam penelitian ini
digunakan 1000 kata yang dipilih secara acak
dari basis data kamus referensi. Kemudian katakata tersebut dibuat salah pengejaan sesuai
dengan beberapa kesalahan yang didefinisikan
oleh Damerau (1964), yaitu penyisipan
(insertion), penghapusan (deletion), penukaran
(transposition), dan penggantian (substitution),
sehingga setiap kesalahan akan ada 250 kata.
Pembuatan Aplikasi
Sebelum dirancang suatu aplikasi yang akan
digunakan dalam penelitian ini, terlebih dahulu
dilakukan pengodean data kamus dengan
algoritme yang digunakan. Gambar 2
menunjukkan proses pengodean data kamus
dengan menggunakan algoritme-algoritme
fonetik.
Gambar 2 Proses pengodean kamus.
Gambar 1 Metodologi penelitian.
Pengumpulan Data
Dalam penelitian ini digunakan data dari
KBBI 2005 yang berisi kata dasar dan kata
berimbuhan kecuali kata yang memiliki
imbuhan di-. Data tersebut digunakan sebagai
Setelah basis data kamus referensi dan basis
data kode berhasil direpresentasikan seperti
pada contoh di Lampiran 2, dibuat prototipe
aplikasi koreksi ejaan yang tahapan prosesnya
dapat dilihat pada Gambar 3. Proses awal
adalah dengan mencari kata yang sama dengan
kata masukan di dalam kamus referensi. Jika
ditemukan maka proses berhenti dan hasil akan
ditampilkan bahwa kata masukan ada dalam
kamus, atau sesuai dengan ejaan yang benar.
Namun jika sebaliknya, kata masukan akan
dikodekan terlebih dahulu dengan salah satu
algoritme fonetik yang digunakan sehingga
diperoleh kode fonetik. Selanjutnya dilakukan
pencarian kode yang sama dengan kode fonetik
dari kata masukan. Jika tidak ditemukan, maka
kata masukan akan dikodekan dengan algoritme
fonetik yang lain. Setelah ditemukan kode
fonetik yang sesuai dengan kode kata masukan
dalam kamus kode, kata dalam kamus yang
5
memiliki kode fonetik yang sama dipilih
sebagai kata usulan.
Percobaan
Percobaan
dilakukan
dengan
cara
memasukkan data kata salah ejaan ke dalam
aplikasi koreksi ejaan dimana data salah eja
sebelumnya telah dimasukkan dalam suatu basis
data. Selanjutnya data kata salah eja tersebut
dikoreksi dengan aplikasi yang telah dibuat,
dengan mencoba untuk seluruh algoritme
fonetik yang digunakan. Percobaan dilakukan
sebanyak tiga kali perulangan. Hal ini
dimaksudkan untuk melihat rata-rata waktu
yang digunakan algoritme dalam proses koreksi
ejaan sampai keluar hasil yang diinginkan.
Analisis data dan Kesimpulan
Pada tahap ini dilakukan analisis terhadap
data hasil yang diperoleh. Analisis akan
dilakukan sesuai dengan komponen dari data
hasil percobaan. Dalam data hasil percobaan
terdapat komponen: peringkat, banyak kata
usulan, akurasi, dan waktu yang digunakan
setiap koreksi per kata.
Gambar 3 Diagram alir aplikasi koreksi ejaan.
Setelah mendapatkan kata usulan dilakukan
penghitungan jarak edit dengan menggunakan
Damerau Levenstein Metric. Hal ini dilakukan
karena kata usulan sangat banyak dan tidak
berurutan, sehingga akan mengalami kesulitan
untuk mencari kata yang benar di dalam kata
usulan. Selanjutnya kata usulan diurutkan
(sorting) sesuai dengan jarak edit. Kata usulan
dengan jarak edit ≤ 2 yang diambil dan
ditampilkan. Tampilan dari aplikasi koreksi
ejaan yang telah dibuat dapat dilihat pada
Lampiran 3.
Pengujian Aplikasi
Pada tahap ini aplikasi yang telah dibuat
diuji menggunakan beberapa data contoh
sebelum melakukan percobaan dengan data
yang sebenarnya. Hal ini berguna untuk
menyempurnakan aplikasi yang telah dibuat.
Peringkat ditentukan dengan melihat letak
kata yang benar dalam kata usulan terletak pada
kelas atau bagian berapa. Dalam hal ini
peringkat bukan ditentukan oleh besarnya jarak
edit, tetapi pada kasus penggunaan Damerau
Levenstein Metric dalam proses koreksi ejaan
ada kemungkinan peringkat sesuai dengan
besarnya jarak edit. Hal ini dikarenakan
Damerau Levenstein Metric yang melakukan
pemeriksaan seluruh data yang ada dalam
kamus. Dikarenakan peringkat terendah dalam
percobaan ini adalah 2, maka untuk data yang
kata usulannya tidak memiliki kata yang benar
tidak memiliki peringkat.
Sebagai contoh, untuk suatu kata salah eja
diberikan empat kata usulan W1,W2,W3, dan W4
dengan jarak edit masing-masing adalah 1, 2, 2,
dan 2. Jika kata yang benar adalah W1 maka
peringkatnya adalah 1. Jika kata yang benar
adalah W2,W3, dan W4 maka peringkatnya
adalah 2. Jika kata yang benar tidak ada dalam
kata usulan maka tidak memiliki peringkat.
Dalam analisis komponen waktu, percobaan
dilakukan selama tiga kali perulangan. Hal ini
dilakukan untuk melihat rata-rata waktu yang
dihasilkan oleh program dalam melakukan
proses koreksi ejaan pada setiap algoritme
fonetik.
Akurasi
Untuk menghitung tingkat akurasi dari data
hasil percobaan dilakukan penghitungan
persentase dari perbandingan antara jumlah kata
yang diusulkan benar dengan jumlah kata yang
6
digunakan dalam percobaan, seperti ditunjukkan
pada persamaan berikut:
menunjukkan
algoritme.
Pencarian
akurasi
digunakan
untuk
mengetahui tingkat keefektifan dari algoritme
fonetik yang digunakan, sehingga diketahui
algoritme yang paling efektif dan kelemahankelemahan algoritme fonetik dalam koreksi
ejaan yang diakibatkan oleh kesalahan
pengetikan. Untuk mengetahui secara rinci
keefektifan dari algoritme fonetik, analisis
akurasi dilakukan dengan menganalisis setiap
jenis kesalahan, yaitu penyisipan, penghapusan,
penukaran, dan penggantian. Setiap jenis
kesalahan dibagi lagi sesuai letak kesalahan.
Kesalahan dilakukan secara acak sehingga
terdapat perbedaan jumlah kata yang memiliki
letak kesalahan yang sama. Kode A untuk letak
kesalahan di huruf pertama, B di tengah kata,
dan C untuk letak kesalahan di huruf terakhir.
Aturan lengkap ditunjukkan pada Lampiran 4.
Gambar 4 Grafik hasil klasifikasi peringkat tiap
algoritme.
Lingkungan Pengembangan
Lingkungan pengembangan yang digunakan
adalah sebagai berikut:
Perangkat lunak:
Windows XP Professional Service Pack 3
Notepad++ v5.3.1
XAMPP 1.7.1
Microsoft Office 2007
Perangkat keras:
Processor Intel Dual Core T2390 (1.86 GHz)
3072 Mbyte RAM.
HASIL DAN PEMBAHASAN
Dari percobaan yang, diperoleh data hasil
percobaan seperti yang dicontohkan pada
Lampiran 5. Data hasil percobaan selanjutnya
dibagi-bagi sesuai komponen data yang akan
dianalisa.
Peringkat
Dari data hasil percobaan dapat dilakukan
proses penentuan peringkat terhadap kata yang
benar diusulkan pada kata yang diusulkan.
Sesuai dengan aturan yang telah dijelaskan pada
metodologi
penelitian,
maka
dapat
diklasifikasikan banyaknya kata sesuai dengan
peringkat dari kata tersebut. Gambar 4
klasifikasi
peringkat
tiap
Dari Gambar 4 dapat dilihat bahwa Damerau
Levenstein Metric memiliki jumlah kata yang
memiliki peringkat 1 terbanyak dan tidak
memiliki kata yang tidak memiliki peringkat.
Hal ini disebabkan Damerau Levenstein Metric
berhasil melakukan koreksi ejaan untuk semua
kata dalam percobaan. Kemungkinan besar
peringkat dalam Damerau Levenstein Metric
diperoleh sesuai dengan jarak edit kata yang
didapat, sehingga dapat dilihat juga Damerau
Levenstein Metric memiliki peringkat 2
terbanyak dibanding algoritme yang lain.
Dalam klasifikasi peringkat, algoritme
Caverphone memiliki kata yang tidak memiliki
peringkat terbanyak. Walaupun algoritme
Phonix dan Metaphone tidak terlalu berbeda
jauh. Hal ini menunjukkan bahwa kata yang
benar tidak memiliki kode fonetik yang sama
dengan kata yang salah eja sehingga banyak
kata yang diusulkan tidak sesuai dengan kata
yang sebenarnya.
Kata Usulan
Komponen data selanjutnya adalah jumlah
kata yang diusulkan oleh algoritme fonetik
untuk setiap kata yang salah eja. Tabel 4
menunjukkan rata-rata, simpangan baku, serta
nilai maksimal dari banyaknya kata usulan
untuk setiap algoritme fonetik yang digunakan.
Nilai minimal untuk semua algoritme adalah 0.
Grafik kata usulan untuk setiap algoritme dapat
dilihat pada Lampiran 6.
Langkah algoritme yang sederhana dan tidak
terlalu rinci menyebabkan algoritme Phonix dan
Soundex memiliki rata-rata kata usulan
tertinggi. Jumlah kata usulan pada kedua
algoritme ini juga menyebar di atas 50. Bahkan
ada kata yang memiliki kata usulan sampai 600
kata. Walaupun algoritme Phonix tidak
memiliki jumlah kata usulan yang banyak
seperti Soundex, namun jumlah kata usulan
7
pada algoritme Phonix hampir merata diangka
200. Algoritme Metaphone dan Caverphone
yang memiliki langkah pengodean lebih rinci
dan panjang memiliki rata-rata kata usulan
hampir setengah dari algoritme Soundex dan
Phonix.
Tabel 4 Data statistik kata usulan
Soundex
Ratarata
70.17
Simpangan
Baku
90.19
Phonix
87.84
67.98
372
Metaphone
26.97
32.61
254
Caverphone
37.76
38.75
165
Metode
MAX
634
Akurasi pada Kesalahan Penyisipan
Untuk melihat akurasi yang dihasilkan pada
hasil percobaan terutama untuk kesalahan
penyisipan, sebelumnya data kata salah eja
dibagi sesuai dengan letak kesalahan seperti
yang didefinisikan pada Lampiran 4. Tabel 5
menunjukkan banyak kata berdasarkan letak
kesalahan penyisipan.
Seluruh akurasi untuk penyisipan satu huruf
di depan kata memiliki akurasi 100%, hal ini
disebabkan karena jumlah kata hanya dua
sehingga akurasi tidak terlalu signifikan. Hasil
akan signifikan terlihat pada algoritme Soundex
dan Phonix jika kata lebih banyak. Karena
kedua algoritme ini tidak mengubah huruf awal
dari kata yang akan dikodekan, kecuali
penyisipan huruf vokal di depan kata pada
Phonix (algoritme Phonix merubah semua huruf
hidup yang berada diawal kata dengan huruf V).
Tabel 5 Banyak kata berdasarkan letak kesalahan penyisipan
Subjenis Kesalahan
AK
Banyak Kata
2
AV
0
BK
61
BV
64
CK
atau menjadikan satu huruf. Namun penyisipan
konsonan dengan huruf yang lain sangat
berpengaruh terhadap kata yang akan diusulkan.
Tabel 6 Akurasi algoritme fonetik untuk letak
kesalahan penyisipan di tengah kata
Metode
BK
BV
Soundex
96.72%
100.00%
Phonix
100.00%
100.00%
Metaphone
90.16%
95.31%
Caverphone
86.89%
100.00%
Untuk algoritme Soundex dan Phonix yang
sangat peka dengan letak konsonan dalam kata,
menyebabkan kata salah eja memiliki kode
fonetik yang berbeda dengan kode fonetik kata
yang benar, sehingga kata yang diusulkan tidak
sesuai. Penyisipan huruf vokal di tengah kata
tidak terlalu berpengaruh, karena sebagian besar
algoritme fonetik akan menghapus huruf vokal
yang ada dalam kata. Hal ini berbeda dengan
Metaphone yang memiliki aturan pengodean
dimana jika ada huruf konsonan yang diikuti
oleh huruf vokal yang berbeda maka kodenya
akan berbeda.
Tabel 7 menunjukkan akurasi dengan
kesalahan penyisipan huruf di belakang kata.
Sebagian besar algoritme mulai mengalami
penurunan kecuali algoritme Soundex. Akurasi
algoritme Soundex pada kesalahan penyisipan
huruf konsonan di belakang kata mencapai
96,91%. Hal ini disebabkan karena kode fonetik
yang dihasilkan oleh algoritme Soundex adalah
empat karakter, sehingga kemungkinan besar
huruf yang disisipkan tidak ikut dikodekan,
demikian juga untuk penyisipan vokal di
belakang kata karena algoritme Soundex akan
menghapus semua huruf vokal kecuali huruf
pertama.
Tabel 7 Akurasi algoritme fonetik untuk letak
kesalahan penyisipan di belakang kata
97
Metode
CK
CV
26
Soundex
96.91%
100.00%
JUMLAH
250
Phonix
90.72%
69.23%
Metaphone
83.51%
80.77%
Caverphone
89.69%
84.62%
Tingkat akurasi untuk penyisipan huruf di
tengah kata seperti yang ditunjukkan pada Tabel
6 cukup tinggi. Hal ini dikarenakan sebagian
besar huruf konsonan yang disisipkan di bagian
tengah adalah yang sama dengan huruf
sebelumnya, sehingga terjadi perulangan huruf
(misalkan: kata ‘jemang’ menjadi ‘jemmang’)
dimana algoritme fonetik akan menghapusnya
CV
Walaupun
algoritme
Phonix
juga
menghapus huruf vokal seperti algoritme
Soundex namun akurasi algoritme Phonix untuk
kesalahan penyisipan huruf vokal di belakang
kata hanya 69,23%. Hal ini terjadi karena
8
pengodean algoritme Phonix menghapus ending
sound, kecuali jika ada huruf vokal yang
disisipkan di belakang huruf, ending sound
tidak akan dibuang (contoh kata BUANG
menjadi BUA tetapi BUANGA tetap menjadi
BUANGA).
Akurasi pada Kesalahan Penghapusan
Data kata salah eja untuk kesalahan
penghapusan semuanya masuk dalam kategori
penghapusan vokal di tengah kata. Gambar 5
menunjukkan akurasi untuk koreksi ejaan
dengan kesalahan penghapusan.
Algoritme Soundex yang menghapus semua
huruf vokal selain huruf pertama memiliki
akurasi terbesar mencapai 100%, sedangkan
algoritme Caverphone dan Phonix memiliki
akurasi terkecil. Pada algoritme Caverphone
penghapusan huruf vokal di tengah kata akan
berpengaruh karena adanya aturan tersendiri
pada algoritme Caverphone, sedangkan pada
algoritme Phonix penghapusan huruf vokal
sebagian besar akan mengubah ending sound
sehingga konsonan yang seharusnya dikodekan
jadi terhapus (contoh: BAPAK menjadi BAPA,
jika huruf A kedua dihapus maka BAPK
menjadi BA).
Gambar 5 Grafik akurasi untuk kesalahan penghapusan.
Akurasi pada Kesalahan Penggantian
huruf hidup yang terletak di awal kata akan
diubah menjadi V, sedangkan untuk algoritme
Caverphone dan Metaphone akan disesuaikan
dengan aturan dari kedua algoritme tersebut.
Tabel
8
Banyak kata berdasarkan
kesalahan penggantian
Jenis Kesalahan
Banyak Kata
KAK
17
KAV
0
KBK
53
KBV
3
KCK
97
KCV
2
VAK
0
VAV
2
VBK
24
VBV
32
VCK
6
VCV
14
Jumlah
250
letak
Tabel 9 Akurasi algoritme fonetik untuk letak
kesalahan penggantian huruf pertama
Metode
KAK
VAV
Soundex
0.00%
0.00%
Phonix
0.00%
100.00%
Metaphone
41.18%
100.00%
Caverphone
70.59%
100.00%
Akurasi akibat kesalahan penggantian yang
lain divisualisasikan pada Gambar 6 untuk
kesalahan penggantian di tengah kata dan
Gambar 7 untuk kesalahan penggantian huruf
belakang.
Sebelum menghitung akurasi dari setiap
bagian kesalahan karena penggantian sesuai
letak huruf yang diganti dihitung jumlah kata
untuk setiap kesalahan. Tabel 8 menunjukkan
banyak kata berdasarkan letak kesalahan
penggantian.
Dari Tabel 9 dapat diketahui bahwa
penggantian konsonan di huruf pertama sangat
berpengaruh pada hasil yang diperoleh oleh
Soundex dan Phonix, karena kedua algoritme
menggunakan huruf pertama sebagai identitas
dari kode. Jadi jika konsonannya berubah maka
kode fonetiknya juga berubah. Demikian juga
pada penggantian huruf depan dengan vokal.
Namun untuk algoritme Phonix penggantian
vokal tidak menjadi masalah karena semua
Gambar 6 Grafik akurasi untuk kesalahan penggantian di tengah kata.
Dari Gambar 6 dan Gambar 7 dapat dilihat
bahwa penggantian antara vokal dengan vokal
menunjukkan hasil yang memuaskan. Seperti
pernyataan sebelumnya, hal ini dikarenakan
9
algoritme
fonetik
kebanyakan
tidak
memperhatikan huruf vokal. Untuk kesalahan
penggantian konsonan dengan konsonan di
tengah kata algoritme Soundex memiliki akurasi
terbesar. Hal ini disebabkan karena huruf
konsonan pengganti dengan konsonan yang
diganti berada pada kelas yang sama, sedangkan
pada algoritme Phonix ada yang berada di kelas
yang sama dan ada yang berbeda, karena kelas
konsonan yang dibentuk oleh algoritme Phonix
merupakan pembagian dari Soundex.
Hasil penghitungan akurasi koreksi ejaan
untuk data kesalahan penukaran secara
keseluruhan dapat dilihat pada Gambar 8.
Gambar 8 Grafik akurasi untuk kesalahan penukaran.
Gambar 7 Grafik akurasi untuk kesalahan penggantian di belakang kata.
Pembuangan ending sound menguntungkan
bagi algoritme Phonix pada kasus penggantian
konsonan di belakang kata. Hal ini dikarenakan
tidak akan berpengaruh pada kode fonetik yang
akan dibentuk. Untuk penggantian konsonan
dengan vokal hasilnya tidak terlalu signifikan
karena kecilnya data (pada Tabel 8 KCV hanya
2 kata).
Akurasi pada Kesalahan Penukaran
Tingkat akurasi algoritme fonetik dalam
koreksi ejaan dengan kesalahan penukaran
dapat diketahui dengan mencari jumlah kata
untuk tiap kategori kesalahan penukaran
berdasarkan letak kesalahannya. Tabel 10
menunjukkan banyak kata berdasarkan letak
kesalahan penukaran.
Dari Gambar 8 dapat diketahui bahwa data
untuk kesalahan penukaran konsonan dengan
konsonan di awal kata (KAK) tidak dimasukkan
karena datanya yang sedikit. Sama halnya pada
kesalahan akibat penggantian, penukaran
konsonan dengan konsonan memiliki tingkat
akurasi terendah. Hal ini disebabkan oleh proses
pengodean yang bergantung pada letak
konsonannya, sehingga jika konsonan ditukar
maka kode fonetiknya akan berbeda pula.
Pada kesalahan penukaran konsonan dengan
vokal (KBV) Soundex memiliki akurasi
tertinggi. Walaupun langkah pengodean Phonix
hampir menyerupai Soundex namun untuk
kasus KBV tingkat akurasinya rendah. Seperti
pada kesalahan akibat penghapusan, kasus KBV
dapat mengakibatkan perubahan ending sound,
sehingga konsonan yang seharusnya dikodekan,
dihapus.
Tabel 10 Banyak kata berdasarkan letak
kesalahan penukaran
Jenis Kesalahan
Banyak Kata
KAK
1
KAV
14
KBK
26
KBV
128
VBV
12
KCK
3
KCV
60
VCV
6
Jumlah
Gambar 9 Grafik akurasi keseluruhan.
Gambar 9 menunjukkan grafik akurasi
keseluruhan dari semua algoritme fonetik.
Koreksi ejaan akibat kesalahan penukaran
memiliki rata-rata akurasi terendah dibanding
dengan kesalahan yang lain. Algoritme Soundex
memiliki tingkat akurasi tertinggi dibandingkan
dengan algoritme fonetik yang lain.
250
10
Waktu Koreksi
Rata-rata waktu yang digunakan oleh
Damerau Levenstein Metric dan algoritme
fonetik untuk pengoreksian ejaan dalam tiga
kali perulangan dapat dilihat pada Tabel 11.
Tabel 11 menunjukkan Damerau Levenstein
memiliki waktu koreksi terlama, yaitu rata-rata
mencapai 12 detik, sedangkan algoritme fonetik
hanya memerlukan waktu rata-rata 0,3 detik
untuk melakukan sekali proses koreksi ejaan.
Hal ini disebabkan karena Damerau Lavenstein
melakukan pemeriksaan jarak edit antara kata
salah eja dengan semua kata yang ada dalam
kamus referensi.
Tabel 11 Rata-rata waktu koreksi
Perulangan
Metode
1
2
3
Damerau Levenstein
12.292
12.530
12.094
Soundex
0.341
0.341
0.336
Phonix
0.346
0.346
0.344
Caverphone
0.337
0.332
0.333
Metaphone
0.328
0.328
0.329
Kelebihan dan Kekurangan
Dari percobaan yang telah dilakukan, dapat
dijelaskan beberapa kelebihan dan kekurangan
algoritme fonetik dibandingkan dengan
Damerau Levenstein Metric dari penelitian
Sutisna (2009).
Kelebihan:
Algoritme fonetik mudah melakukan koreksi
pada kata yang memiliki bunyi yang sama.
Waktu yang digunakan untuk koreksi ejaan
relatif lebih singkat dibanding dengan
Damerau Levenstein Metric.
Kekurangan:
Algoritme fonetik kurang peka terhadap
penggantian dan penukaran terhadap
konsonan dalam kata.
Algoritme fonetik belum memuaskan untuk
koreksi ejaan dalam Bahasa Indonesia,
sehingga untuk mendapatkan hasil yang
memuaskan algoritme harus disesuaikan
dengan aturan bahasa yang ada.
KESIMPULAN DAN SARAN
fonetik telah banyak dikembangkan untuk
proses koreksi ejaan dalam berbagai bahasa di
dunia.
Dalam penelitian ini digunakan algoritme
fonetik
diantaranya:
Soundex,
Phonix,
Metaphone, dan Caverphone untuk koreksi
ejaan Bahasa Indonesia. Dari hasil penelitian
dapat diketahui bahwa sebagian besar kesalahan
ejaan akibat salah pengetikan seperti yang
didefinisikan Damerau Levenstein dapat
dikoreksi oleh algoritme fonetik tersebut.
Algoritme Soundex memiliki tingkat akurasi
tertinggi yang mencapai 92,80%, sedangkan
algoritme Phonix, Caverphone dan Metaphone
rata-rata memiliki akurasi yang hampir seragam
yaitu sekitar 75%. Walaupun Phonix memiliki
langkah dan pengodean yang hampir sama
dengan Soundex, namun penghilangan ending
sound mengakibatkan beberapa kata salah eja
tidak dapat dikoreksi dengan benar.
Selain mengukur akurasi penelitian ini juga
mengukur jumlah kata yang diusulkan untuk
setiap kata salah eja. Soundex menghasilkan
kata usulan terbanyak untuk setiap kata salah
ejaan, sehingga membingungkan pengguna,
sedangkan Metaphone yang tingkat akurasinya
di bawah Soundex memiliki kata usulan yang
lebih sedikit.
Jika dibandingkan dengan Damerau
Levenstein Metric akurasi algoritme fonetik
lebih unggul dibandingkan dengan algoritme
fonetik. Akan tetapi, algoritme fonetik
memerlukan waktu yang lebih singkat untuk
koreksi. Hal ini dikarenakan pendekatan
Damerau Levenstein Metric akan menghitung
jarak edit dengan seluruh data yang ada dalam
kamus, sedangkan algoritme fonetik hanya
menghitung jarak edit dari kata masukan
dengan kata-kata yang memilki kesamaan kode
fonetik.
Saran
Beberapa hal dapat dilakukan untuk
pengembangan lebih lanjut adalah sebagai
berikut:
1 Penyesuaian algoritme fonetik yang ada
disesuaikan
dengan
aturan
Bahasa
Indonesia, khususnya algoritme Metaphone,
agar dapat meningkatkan akurasi koreksi
ejaannya.
Kesimpulan
2 Penggabungan algoritme fonetik dengan
pendekatan Damerau Levenstein Metric.
Algoritme
fonetik
merupakan
suatu
algoritme yang digunakan untuk pencarian
string berdasarkan kesamaan bunyi. Algoritme
3 Pengujian data percobaan yang akan
mengakomodasi semua jenis kesalahan.
11
4 Pengujian pengaruh koreksi ejaan dengan
menggunakan algoritme fonetik terhadap
kinerja temu kembali informasi.
5 Penggunaan metode lain untuk koreksi ejaan
dalam Bahasa Indonesia baik dengan
algoritme fonetik yang lain seperti
DoubleMetaphone, NYSIIS, atau algoritme
non-fonetik seperti algoritme Knuth-MorrisPratt, Bayer-Moore.
DAFTAR PUSTAKA
Sutisna U. 2009. Koreksi Ejaan Query Bahasa
Indonesia
Menggunakan
Algoritme
Damerau Levenshtein [skripsi]. Bogor:
Departemen Ilmu Komputer, Fakultas
MIPA, Institut Pertanian Bogor.
Syaroni M. 2005. Pencocokan String
Berdasarkan
Kemiripan
Ucapan
(Phonetic String Matching) dalam
Bahasa Inggris [skripsi]. Bandung:
Departemen
Teknik
Informatika,
Fakultas Teknologi Industri, Institut
Teknologi Bandung.
Damerau FJ. 1964. Technique for Computer
Detection and Correction of Spelling
Errors. Communications of the ACM
7(3):171.
Gadd T. 1990. PHONIX: The Algorithm.
Program 24:363-366.
Hood D. 2002. Phonetic Matching Algorithm.
Caversham Project Occasional Technical Paper. CTP060902.
Jones D. 1972. The Pronouncation of English.
Ed. ke-4. Cambridge: University Press.
Malmberg B. 1963. Phonetics. New York:
Dover Publications.
Peterson JL. 1980. Computer Program for
Detecting and Correcting in Scientific
and Scholarly Text. Communications of
the ACM 23(12):677-679.
Pfeifer U, Poersch T, Furh N. 1994. Searching
Proper Names in Databases. University
of Dortmund.
Phillips P. 1990. Hanging on the Metaphone.
Computer Language 7(12):39-43.
Primasari D. 1997. Metode Pencarian dan Temu
Kembali Nama Berdasarkan Kesamaan
Fonetik [skripsi]. Bogor: Departemen
Ilmu Komputer, Fakultas MIPA, Institut
Pertanian Bogor.
Russel RC. Penemu; United States Patent
Office. 2 April 1918. Spesification of
Letters. US Pattent 198,458.
12
LAMPIRAN
Lampiran 1 Aturan algoritme Caverphone (Hood 2002)
Algoritme:
1 Baca masukan berupa kata.
30 Ganti gh dengan 22
2
Ubah semua ke huruf kecil.
31 Ganti g dengan k
3
Hilangkan segala sesuatu selain A-Z.
4
Jika kata dimulai dengan rough diubah
menjadi cou2f
32 Ganti kelompok huruf s dengan S . Huruf
s selanjutnya diganti dengan S
33 Ganti kelompok huruf t dengan T
5
Jika kata dimulai dengan rough diubah
menjadi rou2f
34 Ganti kelompok huruf p dengan P
6
Jika kata dimulai dengan rough diubah
menjadi tou2f
7
Jika kata dimulai dengan rough diubah
menjadi enou2f
37 Ganti kelompok huruf m dengan M
8
Jika kata dimulai dengan rough diubah
menjadi 2n
39 Ganti w3 dengan W3
9
Jika kata dimulai dengan rough diubah
menjadi m2
35 Ganti kelompok huruf k dengan K
36 Ganti kelompok huruf f dengan F
38 Ganti kelompok huruf n dengan N
40 Ganti wy dengan Wy
41 Ganti wh3 dengan Wh3
10 Ganti cq dengan 2q
42 Ganti why dengan Why
11 Ganti ci dengan si
43 Ganti w dengan 2
12 Ganti ce dengan se
44 Ganti huruf awal h dengan A
13 Ganti cy dengan sy
45 Ganti huruf h yang lain dengan 2
14 Ganti tch dengan 2ch
46 Ganti r3 dengan R3
15 Ganti c dengan k
47 Ganti ry dengan Ry
16 Ganti q dengan k
48 Ganti r dengan 2
17 Ganti x dengan k
49 Ganti l3 dengan L3
18 Ganti v dengan f
50 Ganti ly dengan Ly
19 Ganti dg dengan 2g
51 Ganti l dengan 2
20 Ganti tio dengan sio
52 Ganti j dengan y
21 Ganti tia dengan sia
53 Ganti y3 dengan Y3
22 Ganti d dengan t
54 Ganti y dengan 2
23 Ganti ph dengan fh
55 Hapus semua angka 2
24 Ganti b dengan p
56 Hapus semua angka 3
25 Ganti sh dengan s2
57 Tambahkan angka
dibelakang kode
26 Ganti z dengan s
27 Ganti dan huruf vokal diawal dengan A
1
sebanyak
6
58 Ambil 6 karakter terdepan dan itulah kode
fonetik dari algoritme Caverphone
28 Ganti huruf vokal yang lain dengan 3.
Untuk sementara huruf vokal diganti
dengan 3
29 Ganti 3gh3 dengan 3kh3
14
Lampiran 2 Contoh kamus kode
ID
Kata
Sifat
Metaphone
Soundex
Caverphone
Phonix4
1
A
n
A
A000
A11111
V000
2
ab
n
APB
A100
AP1111
V100
3
aba
n
AB
A100
AP1111
V100
4
aba-aba
n
ABB
A100
APP111
V110
5
abad
n
ABT
A130
APT111
V130
6
berabad-abad
v
BRBT
B613
PRPTPT
B613
7
abadi
a
ABT
A130
APT111
V130
8
mengabadi
v
MNKB
M213
MNKPT1
M521
9
mengabadikan
v
MNKB
M213
MNKPTK
M521
10
pengabadian
n
PNKB
P521
PNKPTN
P521
11
keabadian
n
KBTN
K135
KPTN11
K135
12
abadiah
ar n
ABT
A130
APT111
V130
13
abadiat
ABTT
A130
APTT11
V130
14
abah
n
AB
A100
AP1111
V100
15
mengabahkan
v
MNKB
M212
MNKPKN
M521
16
abah-abah
n
ABB
A100
APP111
V110
17
abai
a
AB
A100
AP1111
V100
18
mengabaikan
v
MNKB
M212
MNKPKN
M521
19
terabai
v
TRB
T610
TRP111
T610
20
terabaikan
v
TRBK
T612
TRPKN1
T612
21
abaian
n
ABN
A150
APN111
V150
22
pengabai
n
PNKB
P521
PNKP11
P521
23
pengabaian
n
PNKB
P521
PNKPN1
P521
24
abaimana
ark n
ABMN
A150
APMN11
V155
25
abaka
n
ABK
A120
APK111
V120
26
abaktinal
a bio
ABKT
A123
APKTN1
V123
27
abakus
n
ABKS
A120
APKS11
V120
28
aban
n ant
ABN
A150
APN111
V100
29
abang
n
ABNK
A152
APNK11
V100
30
berabang
v
BRBN
B615
PRPNK1
B615
15
Lampiran 3 Antarmuka aplikasi koreksi ejaan
16
Lampiran 3 Lanjutan
17
Lampiran 4 Klasifikasi jenis kesalahan
Jenis Kesalahan
Penyisipan
Penghapusan
Penggantian
Penukaran
Subjenis
kesalahan
AK
keterangan
Penyisipan konsonan di depan kata
AV
Penyisipan vokal di depan kata
BK
Penyisipan konsonan di tengah kata
BV
Penyisipan vokal di tengah kata
CK
Penyisipan konsonan di belakang kata
CV
Penyisipan vokal di belakang kata
AK
Penghapusan konsonan di depan kata
AV
Penghapusan vokal di depan kata
BK
Penghapusan konsonan di tengah kata
BV
Penghapusan vokal di tengah kata
CK
Penghapusan konsonan di belakang kata
CV
Penghapusan vokal di belakang kata
KAK
Penggantian konsonan dengan konsonan di bagian depan kata
KAV
Penggantian konsonan dengan vokal di bagian depan kata
VAK
Penggantian vokal dengan konsonan di bagian depan kata
VAV
Penggantian vokal dengan vokal di bagian depan kata
KBK
Penggantian konsonan dengan konsonan di bagian tengah kata
KBV
Penggantian konsonan dengan vokal di bagian tengah kata
VBK
Penggantian vokal dengan konsonan di bagian tengah kata
VBV
Penggantian vokal dengan vokal di bagian tengah kata
KCK
Penggantian konsonan dengan konsonan di bagian belakang kata
KCV
Penggantian konsonan dengan vokal di bagian belakang kata
VCK
Penggantian vokal dengan konsonan di bagian belakang kata
VCV
Penggantian vokal dengan vokal di bagian belakang kata
KAK
Penukaran konsonan dengan konsonan di bagian depan kata
KAV
Penukaran konsonan dengan vokal di bagian depan kata
VAV
Penukaran vokal dengan vokal di bagian depan kata
KBK
Penukaran konsonan dengan konsonan di bagian tengah kata
KBV
Penukaran konsonan dengan vokal di bagian tengah kata
VBV
Penukaran vokal dengan vokal di bagian tengah kata
KCK
Penukaran konsonan dengan konsonan di bagian belakang kata
KCV
Penukaran konsonan dengan vokal di bagian belakang kata
KCK
Penukaran vokal dengan vokal di bagian depan kata
VCV
Penggantian konsonan dengan konsonan di bagian belakang kata
18
Lampiran 5 Contoh data hasil percobaan
Data Caverphone
Damerau
Lavenstein
Distance
ID
Kata
Benar
Salah
Ejaan
1
2
aberasi
abid
aberrasi
abd
insertion
deletion
aberasi,abrasi,operasi,abras,obras
abid,abdi,abdu,ibid,abad
1,2,3,3,4
1,1,1,2,2
0.331141
0.318317
1
1
3
4
5
6
7
ablasi
abnus
agak
agrafia
ahkam
abalsi
ebnus
agaak
agrfia
akham
transposition
substitution
insertion
deletion
transposition
abas,aborsi,abis,abese,apas
abnus,hipnose,apanase,hibernasi
agak,acak,aguk,akak,akuk
akuifer
ahkam,akmal,agam,hakam,agami
2,2,3,3,3
1,5,5,6
1,2,2,2,3
5
1,2,2,2,3
0.334895
0.318216
0.316947
0.332479
0.31526
1
1
1
Jenis
Kata Usulan
Waktu
(Dtk)
Kata
Usulan
Peringkat
8
35
25
4
15
1
16
Data Soundex
ID
Kata
Benar
Salah
Ejaan
1
2
3
4
5
6
7
aberasi
abid
ablasi
abnus
agak
agrafia
ahkam
aberrasi
abd
abalsi
ebnus
agaak
agrfia
akham
Damerau
Lavenstein
Distance
Jenis
Kata Usulan
insertion
deletion
transposition
substitution
insertion
deletion
transposition
aberasi,abrasi,aborsi,aversi,abreaksi
abdu,abid,abdi,abad ,abet
ablasi,abolisi,apalagi,aplasia,aplus
ebang, epinasti,evangelis,evangeli
agak,agas,akak,asak,ajak
agrafia,agripnia,akrofobia,akrobat
1,2,3,3,3
1,1,1,2,2
1,2,3,3,4
3,5,6,6,7
1,2,2,2,2
1,3,4,4,4
ahkam,akan,agam,akuan,akhwan
1,2,2,2,3
Jenis
Kata Usulan
insertion
deletion
transposition
substitution
insertion
deletion
transposition
aberasi,abrasi,operasi,vibrasi,aborsi
abdu,abdi,abdas,abad ,abadi
ablasi,oblasi,abolisi,aplasia,oplosan
abnus,ibnu,ebonit,ibni,apnea
agak,agan,agal,agar,agah
agrafia
ahkam,akar,akwal,akhir,akas
Jenis
Kata Usulan
Waktu
(Dtk)
Peringkat
Kata
Usulan
0.332406
0.338949
0.328323
0.34394
0.343796
0.332899
1
1
1
1
1
21
13
15
7
75
12
0.339575
1
53
Peringkat
Kata
Usulan
1
1
1
1
1
1
19
39
8
14
227
4
227
Peringkat
Kata
Usulan
1
1
1
1
1
1
1
7
14
5
1
13
4
7
Data Phonix
ID
Kata
Benar
Salah
Ejaan
1
2
3
4
5
6
7
aberasi
abid
ablasi
abnus
agak
agrafia
ahkam
aberrasi
abd
abalsi
ebnus
agaak
agrfia
akham
Damerau
Lavenstein
Distance
1,2,3,3,3
1,1,2,2,2
1,2,2,3,5
1,2,3,3,4
1,2,2,2,2
1
1,2,2,2,2
Waktu
(Dtk)
0.351606
0.336055
0.356064
0.348398
0.354367
0.347027
0.351731
Data Metaphone
Damerau
Lavenstein
Distance
ID
Kata
Benar
Salah
Ejaan
Waktu
(Dtk)
1
2
3
4
5
aberasi
abid
ablasi
abnus
agak
aberrasi
abd
abalsi
ebnus
agaak
insertion
deletion
transposition
substitution
insertion
aberasi,abrasi,abras,aborsi,obras
abdu,abdi,abid,ibid,abet
ablasi,abolisi,oblasi,iblis,obelisk
abnus
agak,akak,aguk,akuk,akik
1,2,3,3,4
1,1,1,2,2
1,2,2,3,4
1
1,2,2,3,3
0.330108
0.338027
0.336585
0.329989
0.340101
6
7
agrafia
ahkam
agrfia
akham
deletion
transposition
agrafia
ahkam,agam,agama,agami,ikamah
1
1,2,3,3,4
0.341266
0.33295
19
Lampiran 6 Grafik kata usulan untuk tiap-tiap algoritme
20
Lampiran 6 Lanjutan
21
Download