Pengembangan sistem koreksi frasa bahasa indonesia berbasis konteks

PENGEMBANGAN
N SISTEM KOREKSI FRASA BAHASA INDO
DONESIA
BERBASIS KONTEKS

EKA
E
YULIANI SIMANJUNTAK

DE
EPARTEMEN ILMU KOMPUTER
FAKULTAS MAT
TEMATIKA DAN ILMU PENGETAHUAN A
ALAM
IN
INSTITUT
PERTANIAN BOGOR
BOGOR
2011

PENGEMBANGAN SISTEM KOREKSI FRASA BAHASA INDONESIA

BERBASIS KONTEKS

EKA YULIANI SIMANJUNTAK

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
2011

ABSTRACT
EKA YULIANI SIMANJUNTAK. Development of Indonesian Spelling Phrase System Based on
Context. Under Direction of SONY HARTONO WIJAYA and SRI NURDIATI.
This research proposes a new method, phrase pair together with opportunity value to give a
proposed word as a correction result. Conditional probability formula is used to determine the

value of opportunities of each phrase pair. Formation of phrase in this study is determined among
words that are in a sentence and considered to have similar contexts. The corpus used consist of
2000 documents originating from the Laboratory of Information Retrieval, Department Computer
Science, Bogor Agricultural University. Processing of document produces 90,077 pairs of phrases
together with the opportunity values. Testing of this correction system uses two types of queries
(common query and specific query) and two type of errors (context error and Damerau error).
The context based correction system is appropriate to implement on the type of specific query.
Accuracy values produced by system are 60% on spesific query and 56.67% on spesific query with
context error and Damerau error. Restriction of system by giving 10 proposed words causing there
is a correct proposed word but which is not included in 10 proposed words. The solution is by
increasing the proposed word produced by the system. In common query, the system has poor
performance. The poor accuracy emerges due to the lack of method in determination of correcting
word, there are pair phrases that have high opportunity value but do not have similar context and
are not included in Big Dictionary of Indonesian (KBBI) and there are pair phrases that have
similar context but have low opportunity value.
Keywords: spelling correction, conditional probability, phrases formation.

3

Judul

Nama
NIM

: Pengembangan Sistem Koreksi Frasa Bahasa Indonesia Berbasis Konteks
: Eka Yuliani Simanjuntak
: G64062767

Menyetujui:
Pembimbing I,

Pembimbing II,

Sony Hartono Wijaya, S.Kom, M.Kom
NIP 19810809 200812 1 002

Dr. Ir. Sri Nurdiati, M.Sc.
NIP 19601126 198601 2 001

Mengetahui:
Ketua Departemen Ilmu Komputer,


Dr. Ir. Sri Nurdiati, M.Sc.
NIP 19601126 198601 2 001

Tanggal Lulus:

i

PRAKATA
Segala puji syukur dan hormat hanya bagi Tuhan Yang Maha Kuasa atas kasih dan
penyertaanNya sehingga penulis berhasil menyelesaikan tugas akhir ini dengan judul Pengembangan
Sistem Koreksi Frasa Bahasa Indonesia Berbasis Konteks.
Penulis menyadari bahwa penyelesaian tugas akhir ini tidak akan terwujud tanpa bantuan
berbagai pihak:
1.

2.

3.
4.

5.
6.
7.
8.

Orang tua tercinta KM. Simanjuntak dan T. Manurung, ketiga adikku tersayang Dedy Christian
S., Try Mariance S., dan Gita Febrina S., serta segenap keluarga besar, terima kasih atas doa,
kasih dan dukungannya.
Bapak Sony Hartono Wijaya, S.Kom, M.Kom, dan Ibu Dr. Ir. Sri Nurdiati, M.Sc., selaku dosen
pembimbing tugas akhir. Terima kasih atas kesabaran dan dukungan dalam penyelesaian tugas
akhir ini.
Bapak Ahmad Ridha, S.Kom, M.S. dan serta seluruh staf Departemen Ilmu Komputer FMIPA
IPB.
Teman-teman satu bimbingan Kartina, Hendrex, Wildan, Rio, Awet, Maryam, dan Sri atas
masukan dan kebersamaannya selama penyelesaian tugas akhir ini.
Sahabat-sahabatku Nurafifah, Lies Umi Kulsum dan Eli Mulyati dan seluruh teman Ilkomerz 43.
Terima kasih atas motivasi dan kebersamaannya selama ini.
Teman-teman di Perwira 43, ka Rio, Molly, ka Japet dan lain-lain. Saudaraku dalam kelompok
kecil, ka Ina, Yessy dan ka Noviyanti. Terima kasih atas bantuan dan doanya selama ini.
Sahabat-sahabatku Eko, Corry, Sandro, Mada, Riferson, Okto, dan teman-teman KPS’43 PMK

IPB atas keceriannya selama ini.
Seluruh pihak yang turut membantu baik secara langsung maupun tidak langsung dalam
pelaksanaan tugas akhir.

Penulis menyadari bahwa dalam penulisan tugas akhir ini masih terdapat banyak kekurangan dan
kelemahan dalam berbagai hal karena keterbatasan kemampuan penulis. Penulis berharap adanya
masukan berupa saran atau kritik yang bersifat membangun dari pembaca demi kesempurnaan tugas
akhir ini. Semoga tugas akhir ini bermanfaat.

Bogor, Maret 2011

Eka Yuliani Simanjuntak

ii

RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 05 Juli 1988 di Medan Sumatra Utara sebagai anak pertama dari
empat bersaudara dari pasangan KM. Simanjuntak dan T. Manurung. Tahun 2006 penulis lulus dari
SMA Negeri 5 Medan.
Pada tahun yang sama penulis diterima sebagai mahasiswa Institut Pertanian Bogor (IPB) melalui

jalur USMI. Pada tahun 2007, penulis diterima sebagai mahasiswa Departemen Ilmu Komputer,
Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) IPB. Pada tahun 2009, penulis
melaksanakan kegiatan Praktik Kerja Lapangan (PKL) di Departemen Sosial Republik Indonesia (RI)
selama 35 hari. Selama perkuliahan penulis juga aktif sebagai Koordinator Tim Pengajar Agama
Kristen SMA Negeri 5 Bogor KPS PMK IPB (2007-2009) dan asisten Mata Kuliah Agama Kristen
IPB (2010).

iii

DAFTAR ISI
Halaman
DAFTAR GAMBAR ........................................................................................................................... v
DAFTAR TABEL ............................................................................................................................... v
DAFTAR LAMPIRAN........................................................................................................................ v
PENDAHULUAN
Latar Belakang ......................................................................... …………………….………………1
Tujuan .............................................................................................................................................. 1
Ruang Lingkup ................................................................................................................................ 1
Manfaat ............................................................................................................................................ 1
TINJAUAN PUSTAKA

Kesalahan dan Koreksi Ejaan .......................................................................................................... 2
Koreksi Ejaan Konteks Sensitif ....................................................................................................... 2
Baseline ........................................................................................................................................... 2
Context Words ................................................................................................................................. 3
Collocations ..................................................................................................................................... 3
Trigram ............................................................................................................................................ 3
Frasa ................................................................................................................................................ 3
METODE PENELITIAN
Pengumpulan Dokumen ................................................................................................................... 4
Pemrosesan Offline .......................................................................................................................... 4
Pembuatan Sistem ............................................................................................................................ 4
Pengujian dan Evaluasi Sistem ........................................................................................................ 5
Lingkungan Pengembangan ............................................................................................................. 5
HASIL DAN PEMBAHASAN
Koleksi Dokumen Pengujian ........................................................................................................... 5
Pemrosesan Dokumen...................................................................................................................... 5
Pembentukan Frasa .......................................................................................................................... 6
Perhitungan Nilai Peluang ............................................................................................................... 6
Split Kueri ........................................................................................................................................ 7
Periksa pada Kamus Frasa ............................................................................................................... 7

Pencarian Kata Usulan ..................................................................................................................... 8
Pengujian Sistem ............................................................................................................................. 9
Evaluasi Sistem ................................................................................................................................ 9
Antarmuka Sistem ......................................................................................................................... 11
KESIMPULAN DAN SARAN
Kesimpulan .................................................................................................................................... 11
Saran .............................................................................................................................................. 11
DAFTAR PUSTAKA ........................................................................................................................ 12
LAMPIRAN ...................................................................................................................................... 13

iv

DAFTAR GAMBAR
Halaman
1
2
3
4
5
6

7

Metodologi penelitian ................................................................................................................ 4
Alur pemrosesan dokumen atau pemrosesan offline (Kartina 2010) ......................................... 4
Alur pembuatan sistem .............................................................................................................. 4
Proses pembentukan frasa.......................................................................................................... 6
Histogram sebaran nilai peluang pembentukan frasa ................................................................ 7
Grafik hasil koreksi sistem. ....................................................................................................... 9
Antarmuka sistem. ................................................................................................................... 11

DAFTAR TABEL
Halaman
1
2
3
4
5
6
7


Deskripsi dokumen pengujian ................................................................................................... 5
Contoh 15 Confusion set dan jumlah pada data latih ................................................................. 5
Nilai peluang pasangan frasa ..................................................................................................... 7
Hasil pengujian sistem ............................................................................................................... 9
Contoh pasangan kata yang memiliki nilai peluang sebesar 1 tetapi tidak memiliki
keterkaitan antar konteks………..…………………………………………………………....10
Contoh pasangan kata yang memiliki nilai peluang sebesar 1 tetapi tidak memiliki arti
dalam KBBI ………………………………………………………………………………….10
Contoh pasangan kata yang terkait secara konteks tetapi memiliki nilai peluang yang
kecil …………………………………………………………………………………………..10

DAFTAR LAMPIRAN
Halaman
1
2
3
4

Contoh dokumen pengujian ..................................................................................................... 14
Contoh kueri ............................................................................................................................ 15
Daftar hasil usulan koreksi pada kueri ..................................................................................... 17
Program pembuatan sistem ...................................................................................................... 25

v

PENDAHULUAN
Latar Belakang
Kebutuhan informasi menjadi hal yang
penting dalam kehidupan saat ini. Keakuratan
kata kunci atau kueri dapat secara signifikan
mempengaruhi hasil proses pencarian
informasi. Oleh sebab itu, pengguna mesin
pencari menyadari bahwa kueri sangat penting
dalam proses menemukan dokumen yang
relevan. Kenyataannya bahwa pengguna
sering memasukkan kueri yang salah yang
mungkin disebabkan oleh kesalahan dalam
proses pengetikan atau ketidakpahaman
terhadap kueri yang dimasukkan. Beberapa
mesin
pencari
menawarkan
beberapa
kemudahan yang dapat dinikmati pengguna.
Kesalahan sintaksis sering ditemukan
dalam tulisan Bahasa Indonesia dalam
kehidupan sehari-hari seperti pada media
cetak yaitu koran dan majalah dan juga pada
media elektronik seperti dalam warta berita
TV atau radio dan dapat ditemukan juga pada
penulisan kueri. Kesalahan sintaksis ini perlu
diperhatikan karena akan mempengaruhi
proses pencarian informasi pada mesin
pencari. Penelitian mengenai pengoreksian
dari aspek sintaks belum berkembang pesat.
Aspek sintaks dari sebuah bahasa meliputi
frasa, klause dan kalimat. Permasalahan ini
sudah mendapat perhatian sejak tahun 1990.
Beberapa metode yang muncul untuk
mengatasi masalah ini antara lain, Bayesian
hybrids (Golding 1995), kombinasi Trigram
dan Bayesian hybrids (Golding & Schabes
1996), analisis semantic latent (Jones &
Martin 1997) dan tata bahasa diferensial
(Powers 1997).
Zamora et al.
(1981) menggunakan
analisis trigram dalam mendeteksi ejaan yang
salah. Hasil dari analisis ini adalah
memberikan tanda kepada ejaan kata yang
salah. Analisis trigram ini diaplikasikan pada
sebuah sistem, dimana sistem tersebut akan
memeriksa kueri yang dimasukkan sesuai atau
tidak dengan kamus yang ada kemudian
menunjukkan posisi huruf yang salah
kemudian hasil keluarannya adalah bahwa
sistem pencarian tidak ditemukan.
Sutisna
(2009)
telah
melakukan
pengoreksian ejaan berbahasa Indonesia
menggunakan
algoritme
Damerau
Levenshtein serta membandingkan sistem
pencarian menggunakan algoritme Damerau
Levenshtein dengan sistem pencarian yang

tidak menggunakan algoritme Damerau
Levenshtein.
Hasil
perbandingan
menunjukkan bahwa penggunaan algoritme
Damerau Levenshtein belum cukup efisien.
Hal itu terlihat dari hasil kerja algoritme
tersebut belum memberikan hasil yang lebih
baik dibandingkan sistem pencari yang tidak
menggunakannya.
Penelitian ini merupakan pengembangan
dari penelitian Sutisna (2009) yang
menggunakan rumus peluang bersyarat dalam
menentukan nilai peluang dari setiap
pasangan frasa yang akan digunakan dalam
proses pencarian kata usulan. Pasangan frasa
tersebut
diasumsikan
dapat
mewakili
kesamaan antar konteks. Analisis konteks
diperlukan dalam memberikan kata-kata
usulan sebagai hasil koreksi dari kata yang
salah, dimana adanya beberapa kata yang
memiliki kesamaan dalam hal tulisan tetapi
berbeda arti dan konteksnya. Pengembangan
sistem koreksi frasa berbasis konteks ini
diarahkan pada tata bahasa bukan pada
kesalahan pengetikan.
Pengembangan sistem koreksi frasa
berbasis konteks ini dilakukan dengan
menggunakan nilai peluang dari pasangan
frasa, hasil penelitian Kartina (2010) terhadap
kueri sebagai acuan dalam pengoreksian dan
pemberian kata usulan yang diharapkan akan
menghasilkan kata usulan yang lebih optimal.
Tujuan
Tujuan utama dari penelitian ini adalah
mengimplementasikan pendekatan berbasis
konteks menggunakan peluang bersyarat
untuk menghitung nilai peluang dari frasa
yang dijadikan acuan dalam pengoreksian
frasa dan pemberian kata usulan pada kata
yang salah.
Ruang Lingkup
Ruang lingkup penelitian yang dilakukan
oleh penulis meliputi :
• Koleksi dokumen terdiri atas dokumen
berbahasa Indonesia.
• Hasil
dari
penelitian
dievaluasi
menggunakan persepsi manusia.
Manfaat
Penelitian ini dilakukan untuk mengetahui
kinerja dari penggunaan peluang bersyarat
dalam menghitung nilai peluang dari
pasangan frasa yang akan digunakan untuk
pengoreksian ejaan dan pengajuan kata

1

usulan. Pengembangan sistem ini diharapkan
akan dapat meningkatkan keefektifan dan
keefesienan dalam proses koreksi frasa
Bahasa Indonesia berbasis konteks.

TINJAUAN PUSTAKA
Kesalahan dan Koreksi Ejaan
Menurut Damerau (1964) menyimpulkan
80% kesalahan ejaan dapat disebabkan karena
empat hal, yaitu: penggantian satu huruf
(substitution),
penyisipan
satu
huruf
(insertion),
penghilangan
satu
huruf
(deletion), transposisi dua huruf berdekatan
(transpotion). Menurut Peterson (1980),
kesalahan ejaan dapat terjadi karena 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 dengan pengkodean
pada jalur mekanisme transmisi data.
Koreksi ejaan adalah proses menemukan
kesalahan ejaan pada kata di suatu teks tertulis
dan mungkin untuk dilakukan pengoreksian.
Kesalahan ejaan dapat dikelompokkan
menjadi dua yaitu (1) non-word errors dan (2)
real-word errors (Fossati & Eugenio 2007).
1. Non-word errors yaitu kesalahan ejaan
dimana kata tersebut tidak terdapat dalam
kamus atau bahasa tertentu.
Contoh: Batang pohon terdiri atas lapisan
pembuluj silem dan floem. Kata pembuluj
tidak terdapat dalam KBBI dan dinyatakan
sebagai kata yang salah.
2. Real-word errors yaitu kesalahan ejaan
dimana
secara konteks kata tersebut
dinyatakan salah
walau kata tersebut
terdapat dalam KBBI.
Contoh: Batang pohon terdiri atas lapisan
pembunuh silem dan floem. Kata
pembunuh terdapat dalam KBBI tetapi
secara
konteks
yang
benar
seharusnya kata pembuluh.

Koreksi Ejaan Konteks Sensitif
Koreksi ejaan konteks sensitif adalah
masalah dari kesalahan ejaan yang merupakan
invalid word dalam kosa kata atau konteksnya
(Golding 1995). Contoh kesalahan ejaan yang
dapat muncul dengan tipe-tipe yang berbeda,
kesalahan ketik (kawah, sawah), kerancuan
homonim (bisa, bisa), kerancuan homofon
(bank, bang), kerancuan homograf (apel,
apel) dan kesalahan penggunaan (ke, di).
Kesalahan ini tidak dapat dideteksi oleh
koreksi ejaan biasa. Koreksi ejaan tersebut
hanya menunjukkan kesalahan dan tidak
menghasilkan sebuah koreksi dari kata yang
salah.
Koreksi ejaan konteks sensitif dianggap
sebagai sebuah tugas dari keambiguan kata.
Kata yang ambigu dimodelkan dalam
confusion set, C = {Wi,.......,Wn} dimana i
dimulai dari 0, artinya setiap kata Wi dalam
confusion set tersebut saling ambigu satu
sama lain. Pada kejadian C = {nangka,
sangka}, program koreksi ejaan biasa hanya
akan mendeteksi kesalahan kata tanpa
memberikan usulan dari hasil koreksi.
Ada dua jenis kesalahan yaitu:


false negatives yaitu mempermasalahkan
mengenai kata yang benar.



false positives yaitu kegagalan dalam
mendeteksi sebuah kesalahan.

Harus dibuat asumsi bahwa kedua kesalahan
tersebut sama buruknya, walaupun dalam
kenyataannya false negatives lebih buruk dan
sebagai pengguna pasti merasa kesal. Lima
metode untuk koreksi ejaan yaitu (Golding
1995):


Baseline:
sebuah
indikator
dari
kompetensi minimal untuk perbandingan
dengan metode-metode lain.



Context words: uji kata-kata tertentu
dalam ±k kata dari kata yang ambigu.



Collocations: test untuk pola sintaktis
sekitar target ambigu.



Decision list: menggabungkan context
words dan collocations melalui daftar
keputusan.



Bayesian classifiers: menggabungkan
context words dan collocations melalui
klasifier Bayesian.

2

Baseline

Trigram

Keambiguan kata pada metode Baseline
antara Wi sampai Wn, dimana i dimulai dari 0
sampai n merupakan bilangan real positif
dengan hanya mengabaikan konteks dan
mencoba
menebak kata
yang tepat
berdasarkan data latih. Koleksi kata dalam
confusion set dapat digunakan untuk evaluasi
metode keseluruhan. Akurasi prediksinya
didapat dari jumlah kata yang benar yang
diprediksi dibagi jumlah kata dalam confusion
set yang muncul.
Contoh: anggota dari
confusion set {nangka, sangka} berjumlah
860 dalam korpus, dimana {nangka}
sebanyak 744 dan {sangka} sebanyak 96
maka metode Baseline memprediksi {nangka}
dan jumlah {nangka} yang benar 744
sehingga didapat hasil 744/860 = 0.886.

Metode trigram dibuat untuk koreksi ejaan
sensitif yang ditemukan oleh Mays et al
(1991). Metode ini membutuhkan korpus yang
banyak sebagai data latih. Kata yang akan
dikoreksi tersebut akan digantikan dengan
kata yang berada dalam confusion set. Setiap
kata pengganti kata yang salah dihitung nilai
peluangnya berdasarkan hasilnya dalam
sebuah kalimat.

Context Words
Pengidentifikasian kata usulan pada
metode context words berasal dari kata yang
berada di sekitar kata yang salah. Sebagai
contoh, keambiguan antara kata pembunuh
dan pembuluh. Kata-kata yang tersedia di
sekitarnya adalah penjara, kriminal dan mayat
maka kata yang diusulkan adalah pembunuh,
dan sebaliknya jika kata-kata yang tersedia di
sekitarnya adalah tanaman, lapisan dan silem
akan lebih mengarahkan kata pembuluh
sebagai kata usulannya. Metode context words
baik untuk masalah-masalah umum yang
penyelesaian masalahnya tergantung pada
kata-kata di sekitar kata yang salah.

Lebih jelasnya, diasumsikan sebuah kata
wk
terdapat
dalam
sebuah
kalimat
W=w1…wk…wn, dan w’k adalah kata dan kita
sedang mempertimbangkan menggantikannya
sehingga dihasilkan kalimat W’. Kata w’k
dipilih untuk menggantikan wk apabila P(W’)
> P(W), dimana P(W) dan P(W’) adalah nilai
peluang W dan W’ berturut-turut. Kita akan
menghitung nilai W dan W’ menggunakan
urutan yang telah ditandai oleh W sebagai
kuantitas antara dan menjumlahkan semua
kemungkinan urutan yang telah ditandai. Nilai
peluang dari kalimat yang telah ditandai
adalah:

dengan T adalah urutan yang ditandai dalam
kalimat W yang dimulai dari 1. Nilai peluang
pada metode trigram dapat diduga dengan
rumus sebagai berikut:

Collocations
Pencarian kata usulan pada metode
collocations dilakukan dengan melihat pola
pada kata dan melakukan proses tagging pada
kata-kata yang ada di sekitar kata yang salah.
Tetapi untuk masalah sintaks, collocations
dan metode trigram lebih baik. Contoh:
• Gudeg Jogja menggunakan biji
*sangka.
S/ Kb
P/Kker
O/Kb
• biji *sangka
D/Kb M/Kker
Keterangan:
S
= subjek
P
= predikat
O
= objek
Kb = kata benda
Kker = kata kerja
D
= diterangkan
M
= menerangkan

=
dengan T = t1 … tn dan P(ti|ti-2ti-1) adalah nilai
peluang dari kemungkinan urutan yang
ditandai terlebih dahulu antara ti-2 dan ti-1.
Frasa
Frasa adalah gabungan dua kata atau lebih
yang bersifat non-predikatif (misal, gunung
tinggi disebut frasa karena merupakan
konstruksi non predikatif) (Anonim 1991).
Frasa ada dua jenis yaitu:
• Frasa eksosentris yaitu frasa yang
keseluruhannya tidak mempunyai perilaku
sintaksis yang sama dengan keseluruhan
konstituennya.
• Frasa endosentris yaitu frasa yang secara
keseluruhannya
mempunyai
perilaku
sintaksis yang sama dengan salah satu
konstituennya.

3

METODE PENELITIAN
Penelitian ini dilakukan dalam beberapa
tahap yang dapat dilihat pada Gambar 1.
Tahapan umum dari penelitian ini yaitu: (1)
Pengumpulan dokumen, (2) Pemrosesan
offline, (3) Pembuatan sistem, (4) Pengujian
dan evaluasi sistem.

pada koleksi dokumen uji, maka kata tersebut
dianggap sebuah frasa dan dianggap dapat
mewakili kesamaan konteks. Perhitungan nilai
peluang dari setiap frasa menggunakan nilai
peluang bersyarat dengan rumus sebagai
berikut:
P(A|B) =

,

dengan, n(A|B) = banyaknya kemunculan kata
A tepat setelah B, n(A|X) = banyaknya
kemunculan kata A tepat setelah kata X,
dimana X merupakan kumpulan kata unik
yang ada pada koleksi dokumen, dan P(A|B) =
peluang munculnya kata A tepat setelah kata
B. Pemrosesan offline dapat dilihat dalam
Gambar 2.

Gambar 1 Metodologi penelitian.
Pengumpulan Dokumen
Penelitian
ini
menggunakan
2000
dokumen yang berasal dari Laboratorium
Temu Kembali Informasi Departemen Ilmu
Komputer Fakultas Matematika dan IPA
Institut Pertanian Bogor. Dokumen tersebut
berbentuk teks (*.txt) dengan struktur XML.
Contoh dari dokumen yang digunakan dapat
dilihat pada Lampiran 1. Kumpulan frasa
beserta nilai peluangnya disimpan dalam
database berbentuk file SQL (*.sql) dan akan
digunakan sebagai acuan dalam proses
koreksi ejaan dan pengajuan kata usulan.
Untuk percobaan dalam penelitian ini
digunakan 60 jenis kueri (inputan) yang
dimasukkan secara manual, dapat terdiri atas
dua atau lebih kata dan dipilih secara acak
dari database referensi. Kata-kata tersebut
dibuat salah pengejaan tetapi kata tersebut
masih dapat didefinisikan dalam Kamus Besar
Bahasa Indonesia (KBBI).

Gambar 2 Alur pemrosesan dokumen atau
pemrosesan offline (Kartina 2010).
Pembuatan Sistem
Sistem dibuat setelah proses pembentukan
kamus frasa beserta nilai peluangnya
didapatkan. Proses pembuatan sistem terdiri
atas tahap parsing dan tokenisasi kueri,
pemeriksaan pada kamus frasa, dan pencarian
kata usulan. Proses pada tahap pembuatan
sistem dapat dilihat dalam Gambar 3.

Pemrosesan Offline
Pemrosesan offline terdiri atas tahap
pemrosesan dokumen dan pembentukkan
frasa beserta nilai peluangnya. Pembentukkan
frasa beserta nilai peluangnya dilakukan
sebagai acuan dalam pencarian kata usulan.
Asumsi dari pembentukan frasa adalah jika
ada dua kata memiliki posisi berurutan dalam
suatu dokumen dan kejadian ini sering terjadi

Gambar 3 Alur pembuatan sistem.

4

Pengujian dan Evaluasi Sistem
Pengujian dilakukan sebanyak 60 kali
menggunakan dua jenis kueri (kueri biasa dan
kueri khusus) dan dua jenis kesalahan
(kesalahan konteks dan kesalahan Damerau).
Evaluasi sistem dilakukan oleh manusia,
dimana jawaban dinilai dari segi ketepatan
sistem dalam memberikan kata usulan sebagai
hasil koreksi.
Lingkungan Pengembangan
Lingkungan
pengembangan
digunakan adalah sebagai berikut:

yang

Perangkat lunak:
• Windows XP Professional
• MySQL Server 5.0
• NetBeans IDE 6.8
• Microsoft Office 2007
• Notepad
Perangkat keras:
• Processor Intel Core 2 Duo (2.80 GHz)
• 3271 Mbytes RAM

HASIL DAN PEMBAHASAN
Koleksi Dokumen Pengujian

Tabel 1. Deskripsi dokumen pengujian

Ukuran rata-rata dokumen
Ukuran dokumen keseluruhan

Tabel 2. Contoh 15 Confusion set dan jumlah
pada data latih
Confusion set

Dokumen korpus yang digunakan untuk
pengujian ada sebanyak 2000 dokumen dalam
bentuk file teks yang berformat XML.
Deskripsi dokumen pengujian ditunjukkan
oleh Tabel 1.

Uraian

offline, dimana proses tersebut dilakukan
secara terpisah dan terlebih dahulu sebelum
dilakukan pembuatan sistem. Pada tahap ini
dilakukan
proses
pembacaan
seluruh
dokumen. Kemudian dilakukan proses
tokenisasi pada dokumen tersebut yaitu
memilah-milah tiap kata dengan membuang
setiap tanda baca dan spasi sehingga
dihasilkan token-token. Setelah itu dilakukan
proses pembuangan stopwords sehingga
dihasilkan token-token yang lebih efektif dan
efisien. Stopwords adalah kata-kata yang
sering muncul dalam korpus tetapi tidak
memiliki makna yang terlalu penting yang
dapat mewakili isi dari korpus, contohnya:
‘pada’, ‘atau’, ‘ke’, ‘dan’, ‘lalu’, ‘mereka’,
‘saya’, ‘kamu’, dan lain-lain. Tahap
selanjutnya adalah pembentukan frasa dimana
frasa tersebut didapatkan dari kata-kata yang
berdekatan dalam setiap kalimat. Jika ada dua
kata yang memiliki posisi yang berurutan
dalam suatu kalimat pada satu dokumen dan
kejadian ini sering terjadi dianggap memiliki
keterkaitan antar konteks. Dua kata yang
menjadi sebuah frasa dianggap memiliki
kesamaan konteks. Pemrosesan dokumen
menghasilkan contoh confusion set yang dapat
dilihat pada Tabel 2.

Nilai
(bytes)
3.220
6.439.002

Ukuran dokumen terbesar

53.306

Ukuran dokumen terkecil

412

Pemrosesan Dokumen
Dokumen berasal dari Laboratorium Temu
Kembali Informasi. Dokumen ini terlebih
dahulu diproses sehingga dihasilkan dokumen
berbentuk teks (*.txt) dengan strutur XML di
dalamnya. Pemrosesan dokumen yang
ditunjukkan pada Gambar 2 dilakukan secara

sawah, kawah
irigasi, iritasi
panen, paten
pupuk, bubuk
batang, barang
nelayan, pelayan
perahu, perayu
jamur, janur
garam, haram, karam
nangka, sangka, langka
lemak, lemah, lemas
hama, sama, nama
hewan, heran
bambu, rambu, bumbu

Jumlah confusion
set pada data latih
144
113
186
358
234
92
49
51
12
36
5
301
113
39

Confusion set pada Tabel 2 menjelaskan
beberapa kata yang memiliki kesamaan dalam
hal tulisan tetapi memiliki arti yang berbeda.
Hal tersebut yang menyebabkan sistem
koreksi konvensional mengalami keambiguan
dalam proses pengoreksian. Jumlah pada data
latih yang dimaksud adalah banyaknya katakata ambigu tersebut terdapat dalam kamus
frasa.

5

Pembentukan Frasa
Pembentukan
frasa
beserta
nilai
peluangnya dilakukan dengan memanfaatkan
hasil penelitian Kartina (2010). Setiap
pasangan frasa beserta nilai peluangnya
didapat dari preproses pada 2000 dokumen
yang merupakan koleksi dokumen dari
penelitian ini. Proses pembentukan frasa
dilakukan
dalam
program
peluang300510.pl,
yang
memanggil
kembali file preproses.dat yang dihasilkan
oleh program frek270510.pl. Dari
program tersebut didapatkan kumpulan kata
unik yang akan digunakan dalam program
peluang300510.pl
untuk menghitung
frekuensi kata A setelah kata B muncul dan
menghitung kata A terhadap semua kata.
Frekuensi kata A setelah kata B merupakan
pembilang dari perhitungan nilai peluang dan
frekuensi kata A terhadap semua kata
merupakan penyebut dari perhitungan nilai
peluang.
Ilustrasi
algoritme
untuk
mendapatkan variabel $pembilang dan
$penyebut sebagai berikut:
$penyebut :
%frek= retrieve(‘praproses.dat’);
%urut = %{$frek {‘frekUrut’}};
%unik = %{$frek {‘unik’}};
foreach $kataA of %unik{
foreach $kataB of {$unik{$kataA}}{
$pembilang{$kataA}{$kataB}=
$urut{$kataA}{$kataB};
$penyebut{$kataA} +=
$urut{$kataA}{$kataB};
}}

Perhitungan nilai peluang kata A setelah kata
B dari semua pasangan kata unik dapat dilihat
pada algoritme berikut:
%unik = %{$frek {‘unik’}};
foreach $kataA of %unik{
foreach $kataB of {$unik{$kataA}}{
if $kataA not equal $kataB{
$peluang{$kataA}{$kataB} =
$pembilang{$kataA}{$kataB}/
$penyebut{$kataA}{$kataB};
}}}

Contoh proses pembentukan frasa beserta
nilai peluangnya dari sebuah dokumen
(situshijau07.txt) dapat dijelaskan sebagai
berikut:
Gunakan
ramuan
temulawak
untuk
mengobati gangguan pada hati.
Gunakan
ramuan
temulawak
untuk
mengobati gangguan pada hati. Caranya
iris
rimpang
temulawak
tipis-tipis
setelah
dibersihkan,
lalu
direbus
dengan air. Rebusan inilah yang nanti
diminum, bisa juga ditambahkan madu.

Isi dari dokumen tersebut diproses kemudian
dilakukan pembentukan frasa dalam hal ini
pembentukan frasa dilakukan per kalimat,
proses tersebut dapat dilihat pada Gambar 4.

Gambar 4 Proses pembentukan frasa.
Perhitungan Nilai Peluang
Kolom pasangan frasa hanya terdiri atas
15 pasangan frasa dikarenakan pembentukan
frasa terjadi di setiap satu kalimat. Kolom
frekuensi dari Tabel 3 menunjukkan berapa
banyak pasangan frasa tersebut muncul pada
dokumen tersebut (situshijau07.txt).
Nilai frekuensi ini selanjutnya akan digunakan
untuk menentukan nilai peluang dari masingmasing pasangan frasa. Kolom frekuensi pada
Tabel 3 menjelaskan berapa banyak sebuah
pasangan frasa muncul dalam korpus (dalam
hal ini dokumen situshijau.txt mewakili
korpus). Perhitungan nilai peluang pada Tabel
3 hanya ditinjau dari satu dokumen saja untuk
memperjelas setiap langkah pembentukan
nilai peluang. Kolom ketiga menjelaskan
berapa banyak kata A (kata kedua dari setiap
pasangan frasa) muncul dalam korpus (dalam
hal ini dokumen situshijau.txt mewakili
korpus). Pada baris pertama kolom ketiga
terdapat nilai 2 yang berarti kata ‘ramuan’
pada pasangan frasa ‘gunakan-ramuan’
muncul sebanyak dua kali dalam dokumen
situshijau.txt. Pada baris kesepuluh
kolom ketiga terdapat nilai 3 berarti kata
‘mengobati’ pada pasangan frasa ‘temulawakmengobati’ muncul sebanyak tiga kali dalam
dokumen situshijau.txt. Kolom keempat
yang berisi nilai peluang menjelaskan
pembentukan nilai peluang dari setiap
pasangan frasa yaitu hasil pembagian dari
kolom kedua (frekuensi pasangan frasa)
dengan kolom ketiga ( A dalam dokumen).
Perhitungan peluang pasangan frasa dari
2000 dokumen menghasilkan 90.077 kandidat
frasa dengan nilai peluang terkecil 1.98 x 10-4
dan nilai terbesarnya adalah 1. Sebanyak
9.600 pasangan kata memilki nilai peluang
sebesar 1, 5.307 pasangan kata memiliki nilai
peluang antara 0.5 sampai 1, 18.196 pasang
kata memiliki peluang antara 0.1 sampai
kurang dari 0.5, dan 56.974 pasang kata

6

memiliki peluang kurang dari 0.1. Gambar 5
menunjukkan histogram sebaran nilai
peluang, sumbu y menunjukkan frekuensi
pasangan kata untuk setiap nilai peluang.
Tabel 3. Nilai peluang pasangan frasa

Pemecahan (Split) Kueri
Kueri yang digunakan dalam penelitian ini
minimal terdiri atas subjek dan predikat.
Contoh dari kueri yaitu:
jangkrik merusak bawah
S
P
O
Sistem akan melakukan proses pemecahan
(split) sehingga dihasilkan “jangkrik”,
“merusak” dan “bawah”. Dengan adanya
proses tokenisasi maka spasi (“ “) dibuang
sehingga dihasilkan “jangkrik”, “merusak”
dan “bawah”. Hasil pemecahan (split)
kemudian digunakan sebagai pedoman untuk
mengoreksi kata yang salah dan mencari kata
usulan sebagai hasil dari koreksi. Kueri yang
telah diproses akan diperiksa ke dalam kamus
frasa. Proses pencarian kata usulan tersebut
menggunakan nilai peluang dari masingmasing kata tunggal hasil proses tokenisasi.


Pasangan
Frasa (A-B)

Frekuensi

A
dalam
dokumen

Nilai
Peluang =
Frekuensi
A
dalam
dokumen

gunakanramuan

2

2

gunakantemulawak

2

2

gunakanmengobati

2

2

gunakangangguan

2

2

gunakanhati

2

2

ramuantemulawak

2

2

ramuanmengobati

2

2

ramuangangguan

2

2

ramuan-hati

2

2

temulawakmengobati

2

3

temulawakgangguan

2

3

temulawakhati

2

3

mengobatigangguan

2

2

mengobatihati

2

2

gangguanhati

2

2

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
3
2
3
2
2
2
2
2
2

=1
=1
=1
=1
=1

Periksa pada Kamus Frasa

=1

Kueri yang dimasukkan pengguna berupa
kalimat akan dibaca oleh sistem kemudian
disimpan ke dalam variabel query. Hasil
pemecahan (split) disimpan dalam variabel q
dan akan diperiksa apakah terdapat dalam
kamus frasa atau tidak. Hasil pemecahan
(split) yang terdapat dalam kamus frasa akan
disimpan
dalam
variabel
kueriBaru[jlhKueriBaru],
sedangkan
yang tidak terdapat dalam kamus frasa akan
diabaikan dan dianggap sebagai kata yang
salah dan akan diperbaiki. Pemeriksaan
dilakukan baik pada entitas kata1 ataupun
kata2 pada kamus frasa. Indeks pada variabel
kueriBaru[jlhKueriBaru] dimulai dari
jlhKueriBaru=0
sampai
jlhKueriBaru=n.
Variabel
kueriBaru[jlhKueriBaru] tersebut akan
digunakan untuk pencarian kata usulan.
Berikut adalah ilustrasi algoritme untuk
mendapatkan
variabel
kueriBaru[jlhKueriBaru] adalah:

=1
=1
=1
= 0.67
= 0.67
= 0.67
=1
=1
=1

Gambar 5 Histogram sebaran nilai peluang
pembentukan frasa.

query = Kueri.getText();
String[] q = query.parsing dan
tokenisasi(" ");
for (a = 0; a < q.length; a++) {
b = 0;
rs=statement.executeQuery("selec
t * from
peluang where
kata1='" + q[a] + "' OR
kata2='" + q[a] + "'");
if (b != 0) {
kueriBaru[jlhKueriBaru]=
q[a];}}

7

Pemrosesan
kueri
berguna
untuk
menunjukkan kata yang salah yang terdapat
dalam kueri. Contoh kueri:
digantikan dengan susuk
pupuk organik
buatan
S
P
O
Kueri tersebut terlebih dahulu diproses
yaitu setelah kueri dibaca oleh program maka
kueri tersebut disimpan dalam variabel
query[],
kemudian dilakukan proses
pemecahan (split) dan hasil proses pemecahan
(split) disimpan dalam variabel q[] yaitu
pupuk, organik, digantikan, dengan, susuk,
buatan. Hasil pemecahan (split) tersebut
kemudian diperiksa satu persatu ke dalam
kamus frasa, apakah kata-kata tersebut ada
dalam kamus frasa. Berdasarkan ke-enam kata
tersebut maka kata susuk tidak terdapat dalam
kamus frasa sehingga program menganggap
kata susuk sebagai kata yang salah yang
kemudian akan dicari kata usulannya.
Pencarian Kata Usulan
Penggunaan nilai peluang dalam proses
pencarian kata usulan dari kata yang dianggap
salah pada kueri merupakan fokus dari
penelitian ini. Proses sorting dilakukan pada
kamus frasa berdasarkan nilai peluangnya
menggunakan algoritme quick sort. Proses
sorting dilakukan sebanyak dua kali yaitu
pada entitas kata1 dan pada entitas kata2.
Entitas kata1 di-sorting berdasarkan nilai
peluangnya begitu juga dengan entitas kata2.
Berikut adalah ilustrasi algoritme untuk mensorting entitas kata1 dan entitas kata2
berdasarkan nilai peluangnya:
if (i