ABSTRAK - Faculty e

advertisement
APLIKASI PEMERIKSA KEBENARAN KATA (SPELLING
CHECKER) BAHASA INDONESIA PADA TEKS ARTIKEL
BERBAHASA INDONESIA
oleh:
Gregorius S. Budhi1 ; Irwan Kristanto J.2 ; Elvi Suhartono3
1)
Dosen tetap UK Petra Surabaya jurusan Teknik Informatika
email: [email protected]
2)
Dosen tetap UK Petra Surabaya jurusan Teknik Informatika
email: [email protected]
3)
Alumni UK Petra Jurusan Teknik Informatika
ABSTRAK
Seperti halnya bahasa-bahasa lainnya, bahasa Indonesia juga memiliki struktur yang
membentuk bahasa tersebut sehingga banyak orang dapat memahaminya. Tetapi
pada penerapannya dalam tulisan, banyak orang yang masih salah saat menulis kata
bahasa indonesia. Dari sini muncul ide pembuatan sebuah aplikasi untuk memeriksa
kata dalam bahasa Indonesia yang benar dari sebuah inputan berbentuk teks.
Secara garis besar program ini melakukan proses scanner kata. Proses ini berfungsi
untuk memeriksa tiap kata dari teks input. Perangkat lunak memerlukan paling sedikit
10.000 kosakata agar proses pemeriksaan kata semakin variatif. Proses scanner dapat
menerima kata tunggal, kata ulang, serta kata-kata yang memiliki format tertentu,
misalnya format tanggal dan sebagainya. Aplikasi ini dibuat menggunakan Delphi 6,
dan database kata disimpan pada MS. Access 2000.
Hasil dari proses scanner berupa semua kalimat yang tiap katanya benar, semua
kalimat yang memiliki kesalahan pada katanya, daftar kata – kata yang salah dan
sebuah daftar yang berisi beberapa kata yang disarankan sebagai pengganti kata
salah yang diperiksa.
Kata kunci:
Bahasa Indonesia, Pemeriksaan Kata, Spelling Checker
1. Pendahuluan
Seperti halnya bahasa-bahasa lainnya, bahasa Indonesia juga memiliki struktur yang
membentuk bahasa tersebut sehingga bahasa tersebut dapat dipahami oleh banyak
orang. Dalam bahasa Indonesia, terdapat huruf-huruf, kata-kata, dan kalimat-kalimat
dimana kumpulan huruf-huruf membentuk kata, kumpulan kata membentuk kalimat
kumpulan kalimat membentuk paragraf, dan seterusnya.
Pada penerapannya dalam tulisan, banyak orang yang masih salah saat menuliskan
kata – kata dalam bahasa Indonesia. Dari sini muncul ide pembuatan sebuah program
aplikasi untuk memeriksa kebenaran kata – kata yang ditulis dalam bahasa Indonesia.
Atau dengan kata lain sebuah Spelling Checker untuk bahasa Indonesia.
1
2. Teori Penunjang
2.1. Tata Bahasa Baku Bahasa Indonesia
Tatabahasa Indonesia terdiri atas tiga unsur, yaitu fonologi, morfologi, dan sintaksis[4].
Dalam aplikasi ini, hanya morfologi yang diterapkan.
2.1.1. Morfologi
Bagian dari tatabahasa yang membahas bentuk kata disebut morfologi. Didalam
morfologi dikenal istilah morfem, dimana morfem adalah kesatuan yang ikut serta
dalam pembentukkan kata dan yang dapat dibedakan artinya[4].
2.1.2. Kata
Kata adalah kesatuan terkecil dalam tatabahasa yang mengandung suatu ide[3].
Berdasarkan bentuknya kata dapat dibagi menjadi: Kata Dasar, Kata Berimbuhan,
Kata Ulang, Kata Majemuk[3]. Berdasarkan jenisnya kata dapat dibagi menjadi: Kata
Benda (Nomina), Kata Kerja (Verba), Kata Sifat (Adjektiva), Kata Keterangan
(Adverbia), Kata Ganti (Pronomina), Kata Bilangan (Numeralia), Kata Depan
(Preposisi) dan Kata Sambung (Konjungsi) [3].
2.1.3. Imbuhan (Afiks)
Imbuhan adalah suatu unsur struktural yang diikatkan pada sebuah kata dasar.
Imbuhan terbagi atas: Awalan (Prefiks), Sisipan (Infiks), Akhiran (Sufiks), Konfiks dan
Gabungan imbuhan yaitu pemakaian beberapa imbuhan sekaligus pada suatu kata
dasar[3].
3. DESAIN APLIKASI
Desain dari aplikasi ini dapat dilihat pada gambar 1.
Gambar 1: Desain Aplikasi
2
3.1. Pemilahan Lexeme
Pada proses pemilihan ini, inputan teks akan dipilahpilahkan berdasarkan kriteria
tertentu, yaitu:
-
Kumpulan angka, akan dipisahkan menjadi satu lexeme tersendiri. Misalnya: “1”,
“23”, “222” dan sebagainya.
-
Kumpulan huruf, akan dipisahkan menjadi satu lexeme tersendiri. Misalnya “abc”,
“saya”, “makan” dan sebagainya.
-
Gabungan angka dan tanda, seperti angka dengan tanda “.”, tanda “/”, serta
tanda “,” akan dipisahkan menjadi satu lexeme tersendiri. Misalnya “123.000”,
“1.550,00”, “1/2”, “100,5” dan sebagainya.
-
Gabungan huruf dengan angka, akan dipisahkan menjadi satu lexeme tersendiri.
Misalnya: “as31asd23”, “a2da32” dan sebagainya.
-
Tanda baca. Masing-masing tanda akan menjadi suatu lexeme tersendiri. Terdiri
atas tanda-tanda baca yang berlaku menurut tata bahasa Indonesia, yaitu tanda
spasi (“ “), tanda titik (“.”), tanda seru (“!”), tanda tanya (“?”), tanda koma (“,”), tanda
titik koma (“;”), tanda titik dua (“:”), tanda hubung (“-“), tanda petik dua (“ “ ”), dan
tanda garis miring (“/”).
Setelah memilah-milahkan inputan menurut kriteria yang ada, maka lexeme-lexeme
yang telah dipilah akan dimasukkan ke dalam penyimpan variabel lexeme.
3.2. Proses Penentuan Jenis Token
Secara garis besar token terdiri dari bagian:
-
Separator, terdiri atas tanda baca. Masing-masing tanda baca dianggap sebagai
sebuah token, seperti misalnya token “titik”, “spasi”, “koma”, “tanda tanya” dan
sebagainya
-
Kata, token ini masih dibedakan lagi ke dalam jenis-jenis kata. Di dalam jenis token
kata ini terdapat format-format lexeme tertentu yang juga termasuk di dalam token
kata, antara lain:

Angka, dimana angka ini dapat berupa angka romawi maupun arab. Lexeme
dengan format angka ini berjenis kata: numeralia.

Tanggal.

Nama. Lexeme yang merupakan nama akan berjenis kata pronomina.

Identifier, yang termasuk ke dalam token ini adalah lexeme-lexeme yang tidak
termasuk ke dalam jenis token lainnya.
3
Pada Proses Penentuan Token ini, terdapat prosedur pemeriksaan jenis token, yaitu:
1. Proses pemeriksaan kata ulang, Proses ini digunakan untuk memeriksa kata
ulang. Flowchart dari proses ini dapat dilihat pada gambar 4.
Gambar 2: Flowchart Proses pemeriksaan kata ulang
2. Proses pemeriksaan format angka romawi, angka arab dan tanggal. Untuk
pemeriksaan format ini di disain tiga buah Deterministic Finite Automaton (DFA)
yang dapat dilihat di gambar 3 sampai dengan gambar 5.
Gambar 3: DFA Proses Pemeriksaan
Format Angka Arab
Gambar 4: DFA Proses Pemeriksaan
Format Tanggal
Gambar 5: DFA Proses Pemeriksaan Format Angka Romawi
4
3. Proses Normalisasi. Pada proses normalisasi ini lexeme akan diperiksa apakah
merupakan kata turunan (bentuk dasar yang telah mengalami penambahan
imbuhan). Flowchart dari proses Normalisasi ini dapat dilihat pada gambar 6.
Gambar 6: Flowchart Proses Normalisasi
Didalam proses normalisasi ini ada beberapa proses pemeriksaan kata, yaitu:
a. Pemeriksaan Partikel dan Klitika. Awalnya Lexeme diperiksa terlebih dahulu
apakah mengandung sebuah partikel atau tidak. Kalau mengandung partikel,
maka partikel akan dipisahkan dari lexeme lalu disimpan sebagai satu lexeme
tersendiri.
Pemeriksaan
selanjutnya
adalah
apakah
lexeme
tersebut
mengandung klitika. Kalau mengandung klitika, maka klitika akan dipisahkan
dari lexeme lalu disimpan sebagai satu lexeme tersendiri. Flowchart dari proses
ini dapat dilihat pada gambar 9.
Gambar 7: Flowchart pemeriksaan Partikel dan Klitika
b. Pemeriksaan Awalan dan Nasalisasi. Lexeme akan diperiksa apakah
menggunakan awalan apa tidak. Selain itu, juga diperiksa apakah awalan
tersebut memang boleh digunakan pada kata dasar atau tidak. Pemeriksaan
5
awalan pada lexeme ini juga termasuk pemeriksaan Nasalisasi dan Peluluhan.
Flowchart dari proses ini dapat dilihat pada gambar 8 sampai dengan 12.
Gambar 8: Flowchart pemeriksaan
Awalan dan Nasalisasi
Gambar 9: Flowchart pemeriksaan
Awalan dan Nasalisasi (lanjutan)
Gambar 10: Flowchart pemeriksaan
Awalan dan Nasalisasi (lanjutan)
Gambar 11: Flowchart pemeriksaan
Awalan dan Nasalisasi (lanjutan)
Gambar 12: Flowchart pemeriksaan Awalan dan Nasalisasi (lanjutan)
6
c. Pemeriksaan Akhiran. Lexeme akan diperiksa apakah menggunakan akhiran
apa tidak. Selain itu, juga diperiksa apakah akhiran tersebut boleh digunakan
pada kata dasar atau tidak. Flowchart proses ini dapat dilihat pada gambar 13.
d. Pemeriksaan Sisipan. Lexeme akan diperiksa apakah menggunakan sisipan
apa tidak. Kemudian diperiksa apakah sisipan tersebut boleh dipergunakan
pada kata dasar atau tidak. Flowchart proses ini dapat dilihat pada gambar 14.
Gambar 13: Flowchart pemeriksaan
Akhiran
Gambar 14: Flowchart pemeriksaan
Sisipan
e. Pemeriksaan Konfiks dan Gabungan Imbuhan. Pertama-tama lexeme akan
diperiksa apakah menggunakan konfiks atau tidak. Selain itu, juga diperiksa
apakah konfiks tersebut boleh digunakan atau tidak. Kemudian lexeme akan
diperiksa apakah menggunakan gabungan imbuhan atau tidak, dan juga
diperiksa apakah gabungan imbuhan tersebut memang boleh digunakan atau
tidak. Flowchart dari proses ini dapat dilihat pada gambar 15 dan gambar 16.
Gambar 15: Flowchart pemeriksaan
Konfiks dan Gabungan Imbuhan
Gambar 16: Flowchart pemeriksaan
Konfiks dan Gabungan Imbuhan
(lanjutan)
7
3.3. Database Kosa Kata
Database Kosa Kata yang digunakaan untuk menyimpan daftar kata, jenis kata dan
imbuhan yang dapat dikenakan pada setiap kata, terdiri dari dua buah tabel dengan
relasi one to one, seperti terlihat pada gambar 17.
Gambar 17: Database Kosa Kata
3.4. Penanganan Kata yang Salah
1. Apabila pada lexeme telah dilakukan pemeriksaan imbuhan (Normalisasi) tetapi
tetap tidak ditemukan kata dasar dari lexeme tersebut, maka lexeme tersebut akan
dianggap sebagai kata dasar yang salah. Langkah berikutnya adalah melakukan
pencarian semua kata yang mirip dengan lexeme tersebut pada database Kosa
Kata kemudian menampilkannya sebagai saran.
2. Sedangkan untuk lexeme yang mengalami kesalahan pada pemakaian imbuhan
akan dianggap sebagai kata yang salah pula. Bila terjadi kesalahan seperti ini,
maka aplikasi akan memberikan peringatan pada user bahwa “Telah terjadi
kesalahan pada penggunaan Imbuhan”.
8
4. PENGUJIAN
Pengujian dilakukan untuk menguji apakah fungsi – fungsi pemeriksaan kata dan
imbuhan sudah benar. Serta untuk menguji apakah Desain DFA untuk memeriksa
format Angka Arab, Angka Romawi dan tanggal sudah benar. Peralatan yang
digunakan dalam pengujian ini adalah sbb:
Stand Alone PC
: Processor AMD Atlon, RAM 256Mb
Compiler
: Delphi 6
Database
: MS. Access 2000
Hasil dari pengujian dapat dilihat pada Tabel 1.
Tabel 1: Hasil Pengujian
No.
Input Text
1
Makn
2
as22aa
3
4
6
Abud
makn
bakwan.
Saya memakan
bakwan.
Saya memakan
bakwan. Roti
dimakan Abud.
Kalimat
salah
Makn
Abud
makn
bakwan.
Roti
dimakan
Abud.
III
8
IIIV
IIIV
03-11-2004
sampai dengan
11/12/04
03-112004
sampai
dengan
11/12/04
10
Tes tes tes 1, 2,
3, ini pengujian
dan percobaan !
Makn
abaimana,
bagaimana,
bakwan,
makan, dsb.
Abud
abad, abadi,
abdi, absurd,
abu, dsb.
makn
abaimana,
bagaimana,
bakwan,
makan, dsb.
Keterangan
Untuk kata yang salah akan
dicarikan padanan yang mirip dari
data kata yang ada dalam database,
atau dapat juga user yang
memberikan inputan pengganti.
Identifier, tidak ada kata yang salah.
Dapat dianggap benar oleh user
dengan cara menekan tombol
“Abaikan”
Untuk membenarkan kata yang
salah ini, user dapat menekan
tombol
“Abaikan”
atau
mengubahnya dengan memakai
saran yang ada / inputan dari user
dengan menekan tombol “Ubah
Tidak ada kata yang salah.
7
9
Hasil Pengujian
Kata
Kata Saran
salah
Abud
abad, abadi,
abdi, absurd,
abu, dsb.
administrasi,
afiliasi,
investigasi, dsb.
sampai
dadaisme,
damai, sabit,
saga, saja, dll
dengan
daerah, dalang,
sandera,
sandung, dst.
Dapat dianggap benar oleh user
dengan cara menekan tombol
“Abaikan”.
Format Angka Romawi benar, tidak
ada kata yang salah.
Susunan angka romawi ini tidak
benar, kata yang dimasukkan tidak
dianggap sebagai angka romawi
tetapi sebagai kumpulan huruf I dan
V. Kata salah.
Format Tanggal benar, tapi kata
‘sampai’ salah, karena kata tersebut
belum ada pada database Kosa
Kata. Dapat dianggap benar dengan
cara menekan tombol “Abaikan”.
Kata ‘dengan’ dianggap salah
karena belum ada pada database
Kosa Kata.
Tidak ada kata yang salah.
9
5. KESIMPULAN
-
Semakin banyak Kosa Kata Dasar yang ada database Kosa Kata akan
meningkatkan kemampuan apliksi ini dalam memeriksa variasi kata inputan.
-
Dari Pengujian didapat hasil bahwa desain DFA untuk memeriksa format tanggal,
angka romawi, serta angka arab pada aplikasi ini sudah benar.
-
Dari Pengujian didapat hasil bahwa fungsi-fungsi untuk memeriksa jenis kata,
imbuhan kata ulang, identifier, imbuhan dan nasalisasi sudah benar.
-
Dari hasil pengujian ditemukan bahwa identifier yang memiliki bentuk kata mirip
dengan salah satu kata dasar pada tabel kosa kata akan menyebabkan sistem
mengganggap indentifier tersebut sebagai kata yang salah.
-
Dari hasil pengujian secara keseluruhan dapat disimpulkan bahwa program aplikasi
ini dapat digunakan untuk memeriksa kebenaran kata bahasa Indonesia.
DAFTAR PUSTAKA
1. Cohen, Daniel I. A. Introduction to Computer Theory. Rev. ed. John Wiley & Sons,
Inc, 1991.
2. Carrol, John, Long, Darrell, Theory Of Finite Automata With An Introduction To
Formal Language, Prentice Hall Int. 1989
3. Pusat Pembinaan dan Pengembangan Bahasa Dep P dan K RI. Pedoman Umum
Ejaan Bahasa Indonesia yang Disempurnakan. Ed. ke 2. Jakarta: Grasindo, 1993.
4. Dep P dan K RI. Tata Bahasa Baku Bahasa Indonesia. Cet. ke 3. Jakarta: Perum
Balai Pustaka, 1992.
Gregorius S. Budhi, memperoleh gelar S.T. dari Teknik Elektro ITATS Surabaya
tahun 1993. Tahun 2001 memperoleh gelar M.T. dari Teknik Informatika ITS Surabaya.
Saat ini sebagai staf pengajar tetap Teknik Informatika UK Petra, Surabaya.
Irwan Kristanto J., memperoleh gelar S.T. dari Teknik Industri UK Petra Surabaya
dan gelar S.Kom dari Teknik informatika STTS Surabaya pada tahun 1997. Saat ini
sebagai staf pengajar tetap Teknik Informatika UK Petra, Surabaya.
Elvi Suhartono, memperoleh gelar S.Kom dari Teknik Informatika UK Petra Surabaya
tahun 2004. Saat ini sebagai staf karyawan sebuah perusahaan swasta di Surabaya.
10
Download