STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA …etheses.uin-malang.ac.id/3773/1/12650020.pdf · 5...
Transcript of STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA …etheses.uin-malang.ac.id/3773/1/12650020.pdf · 5...
5
STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA
DALAM BAHASA JAWA DENGAN ATURAN ANALISIS
KONTRASIF AFIKSASI VERBA
SKRIPSI
Oleh:
MARATUS MADIA
NIM: 12650020
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM
MALANG
2016
6
STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA
DALAM BAHASA JAWA DENGAN ATURAN ANALISIS
KONTRASIF AFIKSASI VERBA.
SKRIPSI
Diajukan Kepada:
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang
Untuk Memenuhi Salah Satu Persyaratan Dalam
Memperoleh Gelar Sarjana Komputer (S.Kom)
Oleh:
Maratus Madia
NIM: 12650020
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM
MALANG
2016
7
STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA
DALAM BAHASA JAWA DENGAN ATURAN ANALISIS
KONTRASIF AFIKSASI VERBA.
Oleh:
Maratus Madia
Nim: 12650020
Telah disetujui oleh :
Dosen Pembimbing I Dosen Pembimbing II
ALA SYAUQI, M.KOM FATCHURROHMAN, M.KOM
NIP. 19771201 200801 1 007 NIP. 19700731 200501 1 002
Tanggal, April 2016
Mengetahui dan Mengesahkan,
Ketua Jurusan Teknik Informatika
Dr. Cahyo Crysdian
NIP. 1974024 200901 1 008
8
STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA
DALAM BAHASA JAWA DENGAN ATURAN ANALISIS
KONTRASIF AFIKSASI VERBA.
SKRIPSI
Oleh:
Maratus Madia
NIM: 12650020
Telah Dipertahankan di Depan Dewan Penguji Tugas akhir dan
Dinyatakan Diterima Sebagai Salah Satu Persyaratan untuk
Memperoleh Gelar Sarjana Komputer (S.Kom)
Tanggal, April 2016
Susunan Dewan Penguji Tanda Tangan
1. Penguji Utama : Yunifa Miftachul Arif, M.T ( )
NIP. 19830616 201101 1 004
2. Ketua : Dr. Muhammad Faisal, M.T ( )
NIP. 19740510 200501 1 007
3. Sekretaris : Ala Syauqi, M.Kom ( )
NIP. 19771201 200801 1 007
4. Anggota : Fatchurrochman, M.Kom ( )
NIP. 19700731 200501 1 002
Mengetahui dan Mengesahkan,
Ketua Jurusan Teknik Informatika
Dr. Cahyo Crysdian
NIP. 1974024 200901 1 008
9
SURAT PERNYATAAN
Yang bertanda tangan di bawah ini :
Nama : Maratus Madia
NIM : 12650020
Fakultas : Sains dan Teknologi
Jurusan : Teknik Informatika
Judul Skripsi : Stemming Bahasa Jawa Untuk Mencari Akar Kata Dalam Bahasa
Jawa Dengan Aturan Analisis Kontrasif Afiksasi Verba.
Menyatakan bahwa skripsi tersebut adalah karya saya sendiri dan
bukan karya orang lain, baik sebagian maupun keseluruhan, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Demikian surat pernyataan ini saya buat dengan sebenar-benarnya dan
apabila pernyataan ini tidak benar, saya bersedia mendapat sanksi akademik.
Malang, 23 Maret 2016
Yang membuat pernyataan
Maratus Madia
12650020
10
MOTTO
Miracle,
is the other name of hardwork,
(diela)
11
HALAMAN PERSEMBAHAN
Karya ini saya persembahkan :
Kepada Ayah dan Ibu tercinta yang senantiasa mencurahkan kasih sayang,
yang selalu memberikan dukungan, motivasi, nasihat dan doanya,
sehingga saya bisa menyelesaikan skripsi ini tepat waktu.
Kepada keluarga yang juga telah memberikan dukungannya baik berupa materi maupun doanya.
Kepada sahabat- sahabat saya khususnya yang tak pernah lelah menyemangati, mendoakan dan terus memotivasi setiap waktu dan di setiap kesempatan, terimakasih banyak, feel so lucky to have you all. I AM BLESSED!!
Kepada teman-teman angkatan seperjuangan, adek angkatan maupun kakak angkatan lainnya yang telah menyemangati.
Kepada semuanya yang telah berperan demi kelancaran skripsi ini.
Mungkin terima kasih saja sudah biasa diucapkan, tapi sekali lagi saya ucapkan terima kasih banyak.
Semoga Allah SWT melimpahkan ridhoNya kepada kita semua. Amin
12
KATA PENGANTAR
Segala puji bagi Allah SWT yang telah melimpahkan rahmat serta karunia-
Nya kepada penulis sehingga bisa menyelesaikan skripsi dengan judul Stemming
Bahasa Jawa untuk mencari akar kata dalam Bahasa Jawa dengan aturan Analisis
Kontrasif Afiksasi Verba dengan baik.
Shalawat serta salam semoga tercurah kepada Nabi Agung Muhammad SAW
yang telah membimbing umatnya dari gelapnya kekufuran menuju cahaya Islam yang
terang benderang.
Dalam penyelesaian skripsi ini, banyak pihak yang telah memberikan bantuan
baik berupa kritik maupun saran. Maka dari itu dengan segenap kerendahan hati
patutlah penulis ucapkan terima kasih kepada:
1. Ayah dan Ibu serta keluarga yang selalu memberikan doa dan motivasinya
demi kelancaran dan kemudahan dalam pengerjaan skripsi ini.
2. Ala Syauqi, M.Kom, selaku dosen pembimbing I yang telah meluangkan
waktu untuk membimbing, memotivasi, mengarahkan dan memberi masukan
dalam pengerjaan skripsi ini.
3. Fatchurrochman, M.Kom, selaku dosen pembimbing II, yang selalu
memberikan masukan, nasehat serta petunjuk dalam penyusunan laporan
skripsi ini.
13
4. Dr. Cahyo Crysdian, selaku Ketua Jurusan Teknik Informatika Universitas
Islam Negeri Maulana Malik Ibrahim Malang, yang mendukung dan
mengarahkan dalam pengerjaan skripsi ini.
5. Segenap Dosen Teknik informatika yang telah memberikan bimbingan
keilmuan kepada penulis selama masa studi.
6. Semua pihak yang tidak mungkin penulis sebutkan satu-persatu, atas segala
yang telah diberikan kepada penulis dan dapat menjadi pelajaran.
Sebagai penutup, penulis menyadari dalam skripsi ini masih banyak
kekurangan dan jauh dari sempurna. Semoga apa yang menjadi kekurangan bisa
disempurnakan oleh peneliti selanjutnya. Apa yang menjadi harapan penulis, semoga
karya ini bermanfaat bagi kita semua. Amin.
Malang, 23 Maret 2016
Penulis
14
DAFTAR ISI
Halaman
HALAMAN JUDUL ....................................................................................... ii
HALAMAN PERSETUJUAN ......................................................................... iii
HALAMAN PENGESAHAN .......................................................................... iv
HALAMAN PERNYATAAN KEASLIAN ................................................... v
HALAMAN MOTTO ..................................................................................... vi
HALAMAN PERSEMBAHAN ...................................................................... vii
KATA PENGANTAR ..................................................................................... viii
DAFTAR ISI .................................................................................................... ix
DAFTAR GAMBAR ....................................................................................... xii
DAFTAR TABEL ............................................................................................ xv
ABSTRAK ....................................................................................................... xvii
BAB I PENDAHULUAN ............................................................................... 1
1.1.Latar Belakang ................................................................................... 1
1.2.Identifikasi Masalah ........................................................................... 3
1.3.Batasan Masalah ................................................................................ 4
15
1.4.Tujuan Penelitian ............................................................................... 4
1.5.Manfaat Penelitian ............................................................................. 4
BAB II TINJAUAN PUSTAKA .................................................................... 5
2.1. Penelitian Terkait .............................................................................. 5
2.2. Bahasa Jawa ...................................................................................... 9
2.3. Stemming .......................................................................................... 10
2.4. Pembentukan kata dalam bahasa Jawa .............................................. 14
2.5. Analisis Kontrasif Afiksasi Verba .................................................... 15
2.5.1. Perbandingan Afiks Verba ...................................................... 17
2.5.2 Algoritma Stemming Bahasa Jawa Rule Based ........................ 28
BAB III METODOLOGI PENELITIAN ....................................................... 32
3.1. Desain Aplikasi ................................................................................. 32
3.2. Desain Proses .................................................................................... 34
3.2.1 Stemming dengan Algoritma Rule Based ................... 34
3.2.2 Brute Force .................................................................. 38
BAB IV HASIL DAN PEMBAHASAN ........................................................ 47
4.1.Implementasi Interface ....................................................................... 47
4.1.1. Tampilan halaman Algoritma Stemming .................................. 47
4.1.2. Tampilan halaman pengujian .................................................... 49
4.1.3. Tampilan halaman Daftar Kata dan Tambah Kata .................... 51
16
4.2. Uji Coba Aplikasi ............................................................................... 52
4.3. Langkah Pengujian Aplikasi ............................................................ 52
4.4. Tabel hasil pengujian ........................................................................ 63
4.5. Perhitungan Uji coba ......................................................................... 65
4.6. Pembahasan ....................................................................................... 66
4.7. Integrasi Aplikasi dan Islam .............................................................. 67
BAB V PENUTUP
5.1.Kesimpulan ........................................................................................ 70
5.2.Saran .................................................................................................... 71
DAFTAR PUSTAKA ..................................................................................... 72
LAMPIRAN
17
ABSTRAK
Madia, Maratus. 2016. Stemming Bahasa Jawa Untuk Mencari Akar Kata
Dalam Bahasa Jawa Dengan Aturan Analisis Kontrasif Afiksasi Verba. Skripsi.
Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri
Maulana Malik Ibrahim Malang.
Pembimbing : (I) Ala Syauqi, M.Kom (II) Fatchurrochman, M.Kom
Kata Kunci: Stemming, Bahasa Jawa, Brute Force, String Matching, Rule Based
Bahasa merupakan suatu media komunikasi yang digunakan manusia untuk
berinteraksi antar sesamanya, dan bahasa tidak bisa lepas dari kehidupan manusia.
Selain Bahasa Indonesia yang ada dan dipelajari masyarakat Indonesia, bahasa yang
jelas digunakan dan harus terus dilestarikan adalah bahasa daerah, salah satunya
adalah Bahasa Jawa. Salah satu cara mempelajari bahasa yaitu dengan mempelajari
kosa kata itu sendiri, dengan mengetahui dan memahami kosa kata, sesorang dapat
lebih mudah mempelajari bahasa tersebut. Untuk mempelajari bahasa lain tersebut
maka diperlukan sebuah penerjemah atau kamus, karena kamus merupakan salah satu
sarana dalam mempelajari bahasa. Namun perlu diketahui bahwa pada kamus tidak
terdapat kata berimbuhan sehingga untuk mempelajari bahasa lain tersebut diperlukan
algoritma stemming yang mana algoritma tersebut untuk mencari kata dasar pada kata
berimbuhan. Terutama untuk kata kerja yang berimbuhan. Karena kata berimbuhan
tidak bisa diterjemahkan secara langsung oleh kamus maka perlu perlakuan khusus
yaitu salah satu alternatifnya adalah menggunakan algoritma stemming. Penelitian ini
menjelaskan bagaimana proses pemotongan kata berimbuhan bahasa Jawa menjadi
kata dasar dalam bahasa Jawa. Stemming bahasa Jawa ini menggunakan aturan
analisis kontrasif afiksasi verba sebagai pemotongan imbuhan, sehingga pada awal
user menginputkan kata berimbuhan kemudian di cek pada database dan kata
tersebut tidak ada maka kata tersebut mengalami pemotongan imbuhan menggunakan
aturan analisis kontrasif afiksasi verba. Pada aturan ini ada 3 tahap pemotongan yaitu
Prefiks, Sufiks dan Konfiks yang mana setiap kali kata tersebut mengalami
pemotongan, maka akan di cek pada database. Setelah mengalami 3 tahap
pemotongan tersebut namun kata dasar yang dicari belum ditemukan, maka hasil kata
pemotongan tersebut akan mengalami proses pembobotan dengan metode Brute
Force menggunakan String Matching, kemudian kata tersebut dicek kembali pada
database, jika kata dasar yang dicari belum ditemukan, maka kata yang memiliki
bobot dan prosentase kemiripan paling tinggi akan diasumsikan sebagai kata dasar
yang dicari.
18
ABSTRACT
Madia, Mar'atus. 2016. Javanese Stemming To Finding Root Words In The Java
Language Using Verba Analysis Kontrasif affixation Rule. Thesis. Department of
Informatics, Faculty of Science and Technology, The State Islamic University of
Maulana Malik Ibrahim Malang.
Supervisor : (I) A'la Syauqi, M.Kom (II) Fatchurrochman, M.Kom
Keywords: Stemming, Javanese, Brute Force, String Matching, Rule Based
Language is a medium of communication used by humans to interact with one to
another, and the language can not be separated from human life. In addition to the
existing Indonesian and Indonesian communities learn, certain language used and
must continue to be preserved is the language of the area, one of which is Javanese.
One way to learn a language is to learn vocabulary it self, by knowing and
understanding vocabulary, one can more easily learn the language. To learn another
language, it needed a translator or dictionary, because a dictionary is one tool in
studying the language. But keep in mind that the dictionary does not have the affixes
word so as to learn another language is needed stemming algorithm where the
algorithm to search for basic word on affixes. Especially for affixes verbs. Because
affixes can not be translated directly by the dictionary, it needs special treatment
which one alternative is to use algorithms stemming. This research explains how the
cutting affixes process. Javanese word be a basis in the Java language. Stemming the
Java language using the verb affixation kontrasif analysis as cutting additive rules, so
that at the beginning of user input a word affixes then it will checked to the database
and if the word does not exist then the words were cut affix using verbs affixation
kontrasif analysis rules. In this rule there are three stages of cutting ie prefix, suffix
and confix which every word that have been cutbacks, it will be checked in the
database. After three stages of these cuts, but the basic words sought has not been
found, the results said the cuts will undergo a process of weighting methods Brute
Force uses String Matching, then the word is checked back in on the database, if the
basic words sought has not been found, the word weight and highest similarity
percentage will be assumed as the basis of the searched word.
19
. . Verba
.
.
(I) : (II)
:
.
.
.
.
. .
. .
.
.
.
.
20
BAB I
PENDAHULUAN
1.1 Latar Belakang
Bahasa merupakan suatu media komunikasi yang digunakan manusia untuk
berinteraksi antar sesamanya, dan bahasa tidak bisa lepas dari kehidupan manusia.
Bahasa adalah sistem lambang bunyi yang arbitrer, yang dipergunakan oleh para
anggota suatu masyarakat untuk bekerja sama, berinteraksi, dan mengidentifikasikan
diri. (Harimurti Kridalaksana. 2001:21).
Selain Bahasa Indonesia yang ada dan dipelajari masyrakat Indonesia,
bahasa yang jelas digunakan dan harus terus dilestarikan adalah bahasa daerah, salah
satunya adalah Bahasa Jawa. Salah satu cara mempelajari bahasa yaitu dengan
mempelajari kosa kata itu sendiri, dengan mengetahui dan memahami kosa kata,
sesorang dapat lebih mudah mempelajari bahasa tersebut (Setiyowati 2008).
Seiring dengan perkembangan zaman, bahasa Jawa saat ini telah mengalami
penurunan pemakaian. Hal ini dapat dilihat dari generasi muda yang sekarang ini ada
kecenderungan enggan berkomunikasi menggunakan bahasa Jawa. Mereka lebih
memilih bahasa gaul ataupun bahasa asing. (Sugiyo. 2012).
Pemakaian bahasa gaul, bahasa asing dan bahasa campuran (Jawa-Indonesia-
Inggris) juga ikut memperparah kondisi bahasa daerah yang semakin lama semakin
menurun. Sekarang banyak generasi muda yang tidak lagi menggunakan bahasa
daerah sebagai bahasa ibu dalam kehidupan sehari-hari mereka bahkan ada yang tidak
bisa dan tidak memahami bahasa daerah mereka dengan baik. Oleh karena itu perlu
21
upaya untuk memperkuat dan memperkokoh kembali bahasa daerah baik di
lingkungan keluarga, masyarakat maupun sekolah (Tondo, 2009).
Dalam Al-Quran ada surat yang menunjukkan perbedaan bahasa yang
menyebabkan tidak adanya saling komunikasi antara dua kaum dan kemudian tidak
bisa saling memahami maksud yang ada. Seperti pada Firman Allah SWT dalam
surat Al Kahfi ayat 93, sebagai berikut :
Hingga apabila dia telah sampai di antara dua gunung, dia mendapati di
hadapan kedua bukit itu suatu kaum yang hampir tidak mengerti pembicaraan[891]
(QS. Al Kahfi [18]:93)
Pada surat Al Kahfi ayat 93 tersebut menjelaskan bahwa jika terdapat
perbedaan bahasa antara dua kaum, dan tidak ada pemahaman bahasa satu sama lain
menyebabkan keduanya tidak bisa saling berkomunikasi dan menyampaikan maksud
mereka. Pada Tafsir Al Qurthubi, dijelaskan bahwa mereka tidak menerangkan
pembicaraan mereka kepada orang lain, jadi mereka itu tidak mengerti pembicaraan
orang lain dan orang lain pun tidak mengerti pembicaraan mereka. Oleh sebab itu
untuk berkomunikasi dengan menggunakan bahasa lain, pertama-tama kita harus
mempelajari bahasanya terlebih dahulu, agar suatu saat tidak ada kesulitan dalam
berkomunikasi dan menyampaikan maksud yang ada kepada orang lain. Memang
tidak diwajibkan untuk mempelajari bahasa lain, namun agar bisa berkomunikasi,
22
setidaknya kita harus tau hal-hal dasar pada bahasa tersebut dan akan menjadi nilai
tambah jika kita bisa memahami bahasa lain sehingga meminimalisir adanya salah
paham karena komunikasi yang kurang baik. Untuk mempelajari bahasa lain tersebut
maka diperlukan sebuah penerjemah atau kamus, karena kamus merupakan salah satu
sarana dalam mempelajari bahasa. Namun ada beberapa hal yang perlu kita ketahui
bahwa pada kamus tidak terdapat kata berimbuhan sehingga untuk mempelajari
bahasa lain tersebut diperlukan algoritma stemming yang mana algoritma tersebut
untuk mencari kata dasar pada kata berimbuhan. Terutama untuk kata kerja yang
berimbuhan. Karena kata berimbuhan tidak bisa diterjemahkan secara langsung oleh
kamus maka perlu perlakuan khusus yaitu salah satu alternatifnya adalah
menggunakan algoritma stemming.
Berdasarkan permasalahan tersebut sebagai upaya untuk membantu
pemahaman bahasa Jawa sekaligus melestarikan bahasa Jawa, maka pada penelitian
ini akan dibangun sebuah algoritma stemming Bahasa Jawa untuk mencari akar kata
Bahasa Jawa dengan menggunakan aturan analisis kontrasif afiksasi verba. Hal ini
diharapkan mampu mendapatkan hasil akar kata Bahasa Jawa yang baik sesuai
dengan pola yang diharapkan.
1.2 Identifikasi Masalah
a. Seberapa akuratkah aturan analisis kontrasif afiksasi verba digunakan dalam
algoritma stemming kata Jawa?
23
1.3 Tujuan Penelitian
a. Mengukur keakurasian hasil dari algoritma stemming kata Jawa dengan
menggunakan aturan analisis kontrasif afiksasi verba.
1.4 Batasan Masalah
Aplikasi ini memiliki batasan, yaitu :
a. Kata yang akan dijadikan akar kata berupa kata kerja sesuai dengan aturan
analisis kontrasif afiksasi verba.
b. Pada tahap stemming akar kata bahasa Jawa menggunakan algoritma stemming
Rule Based.
1.5 Manfaat Penelitian
Manfaat yang dapat diambil dengan adanya penelitian ini antara lain sebagai berikut :
a. Mendukung pembelajaran masyarakat luas tentang penggunaan bahasa Jawa
dengan baik dan benar.
b. Algoritma stemming yang dibangun nantinya bisa digunakan dalam pembuatan
sistem penterjemah bahasa Jawa ke dalam bahasa Indonesia
c. Menambah referensi tentang penggunaan bahasa Jawa
24
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Terkait
Sebelumnya telah dilakukan penelitian stemming untuk artikel berbahasa
Indonesia dengan pendekatan confix-stripping. Implementasi pada penelitian ini
didasarkan pada Porter Stemmer yang dikembangkan oleh (Frakes, 1992). Stemming
bahasa Inggris dan bahasa Indonesia berasal dari dua kelas bahasa yang berbeda,
sehingga beberapa modifikasi dilakukan untuk membuat algoritma yang cocok untuk
bahasa Indonesia. Tahap awal dari stemming ini adalah mencari kata dasar dari kata
imbuhan teks berbahasa Indonesia dalam sebuah dokumen. Teknik stemming yang
digunakan terdiri dari 3 tahap, yaitu tahap pertama, parsing dokumen dilakukan
untuk memecah sebuah dokumen menjadi kata-kata atau disebut token. Tahap kedua,
stopword yang merupakan proses penghilangan kata yang tidak penting dalam
dokumen. Dan tahap ketiga, proses confix-stripping. Dimana Confix-Stripping
merupakan algoritma stemming untuk pemenggalan atau pengupasan kata imbuhan
awalan, akhiran, dan gabungan antara awalan-akhiran menjadi bentuk dasar.
Berdasarkan hasil pengujian yang dilakukan stemming terhadap beberapa kata dalam
dokumen dengan menggunakan pendekatan Confix-Stripping, dihasilkan rata-rata
nilai akurasi yang diperoleh sebesar 94.85% dari 20 dokumen teks berbahasa
Indonesia yang diuji. Dengan penerapan (algoritma) metode Confix-Stripping, maka
proses pengambilan dan pengupasan kata imbuhan dokumen akan menjadi lebih
32
cepat dan akurat dalam melakukan proses yang dilakukan. Proses stemming
merupakan pengelolaan keyword menjadi keyword yang utuh yaitu dengan
menghilangkan imbuhan seperti diantaranya yang, di, ke,me, meng, kan.
Sehingga peenguraian dari suatu kata menjadi bentuk kata dasarnya (Santoso, 2015).
Dari penelitian lain telah dihasilkan kamus elektronik kalimat Bahasa
Indonesia dan bahasa Jawa. Terdapat 2 mode kamus, yaitu kamus kata dan kamus
kalimat. Penelitian ini menggunakan Markov Model. Proses penerjemahan kalimat
dimulai dari penguraian kalimat dengan parsing tree, proses markov, pencarian kata
dengan binary search, dan penggabungan kata menjadi kalimat kembali. Dari hasil
pengujian penggunaan markov dan binary search dengan 775 kata, pada data 775
pada kamus kata mempercepat waktu pencarian, diperlukan waktu rata-rata 56,67 s,
dan jika tanpa markov memerlukan waktu 102,36 s. Sedangkan penggunaan markov
pada binary search pada kamus kalimat (4 kata) diperlukan waktu rata-rata 264.16
ms, dan jika tanpa markov memerlukan waktu 53.96 ms. Sedangkan dengan data
kamus 1530 kata (kamus Jawa-Indonesia) penggunaan markov dan binary search
pada kamus kata juga mempercepat waktu pencarian, diperlukan waktu rata-rata
69.08 s, dan jika tanpa markov memerlukan waktu 154.98 s. Sedangkan
penggunaan markov pada binary search pada kalimat (4 kata) diperlukan waktu rata-
rata 402.48 ms, dan jika tanpa markov memerlukan waktu 155.84 ms. Pada kamus
kalimat penggunaan markov tidak mempengaruhi kecepatan proses searching, hal ini
dipengaruhi beberapa faktor diantaranya adalah jumlah kata pada kamus terlalu
33
sedikit sehingga fungsi markov kurang terlihat, dan pada kamus kalimat diperlukan
lebih dari 1 kali proses markov untuk tiap kata, sehingga memerlukan waktu lebih
banyak daripada tidak menggunakan markov (Afifah, 2012).
Penelitian lainnya tentang stemming dokumen teks bahasa Indonesia telah
dilakukan. Penelitian ini dilakukan dengan membandingkan antara algoritma Porter
dengan algoritma Nazief dan Adriani, menghitung presisi dan waktu proses serta
menguji menggunakan 30 sampel. Proses pembandingan algoritma Porter dengan
algoritma Nazief & Adriani dilakukan dengan membuat program sederhana yang
memproses dokumen teks inputan sehingga diketahui stem, waktu proses, presisi dari
hasil stemming dokumen. Hasil dari penelitian yaitu proses stemming dokumen teks
bahasa Indonesia menggunakan algoritma Porter membutuhkan waktu yang lebih
singkat dibandingkan dengan stemming menggunakan algoritma Nazief dan Adriani.
Selain itu stemming menggunakan algoritma Porter memiliki prosentase keakuratan
(presisi) lebih kecil dibandingkan dengan stemming algoritma Nazief dan Adriani
(Agusta, 2009).
Penelitian tentang bentuk-bentuk afiks verba pada bahasa Jawa dan bahasa
Indonesia. Penelitian ini bertujuan untuk mengetahui makna yang terkandung di
dalam verba bahasa Jawa dan bahasa Indonesia. Penelitian ini menganalisis bahasa
untuk menunjukkan persamaan dan perbedaan dari bentuk-bentuk afiks verba bahasa
Jawa dan bahasa Indonesia. Persamaan dan perbedaan itu meliputi dua aspek, yaitu
adanya kesejajaran bentuk afiks verba dan bentuk dasar yang dilekati oleh afiks
34
tersebut. Dalam penelitian ini, bahasa Jawa akan menjadi kajian peneliti merupakan
bahasa yang serumpun dengan bahasa Melayu sehingga bahasa ini memiliki
persamaan dengan unsur-unsur yang terdapat di dalam bahasa Indonesia. Di samping
persamaan juga ada perbedaannya (Krishandini, 2011).
Selain itu penelitian tentang sistem morfenis nomina bahasa Jawa dan bahasa
Indonesia. Bentuk dasar yang dilekati oleh bahasa Jawa dan bahasa Indonesia
mempunyai bentuk yang sama. Jika yang dilekati oleh afiks bahasa Jawa berupa kelas
verba, dalam bahasa Indonesia pun kelas verba. Bentuk dasar yang dapat dilekati oleh
nomina itu adalah verba, nomina, adjektiva, adverbial, dan pokok kata
(praktegorial). Di dalam proses morfofonemik terdapat adanya kekhasan sistem
penggabungan bunyi vokal yang dalam bahasa Indonesia hal itu tidak akan terjadi
secara morfemis. Selain itu, terjadi kekontrasan pula adanya proses penambahan
bunyi, penghilangan bunyi (Sukarto, 2010).
Selanjutnya penelitian yang meneliti tentang stemming Dokumen Teks Bahasa
Indonesia Menggunakan Algoritma Porter. Pada penelitian ini, dijelaskan proses
stemming pada kalimat bahasa Indonesia dengan menggunakan algoritma porter
untuk mendapat root word dari kata dalam dokumen teks. Proses stemming pada
dokumen bahasa Indonesia sedikit lebih kompleks, karena pada dokumen bahasa
Indonesia harus menghilangkan imbuhan-imbuhan untuk mendapatkan kata dasarnya.
Tahapan yang ada pada algoritma porter diterjemahkan menjadi koding program
PHP. Kamus kata dasar dan stoplist disimpan di MySql. Pada proses
35
stemming dilakukan tidak kata perkata, akan tetapi langsung stemming pada
dokumen. Sehingga proses stemming yang dilakukan lebih cepat dan efektif (Afuan,
2013).
2.2 Bahasa Jawa
Bahasa Jawa adalah bahasa yang digunakan penduduk suku bangsa Jawa di
Jawa Tengah, Yogyakarta & Jawa Timur. Selain itu, Bahasa Jawa juga digunakan
oleh penduduk yang tinggal di beberapa daerah lain seperti di Banten terutama kota
Serang, kabupaten Serang, kota Cilegon dan kabupaten Tangerang, Jawa Barat
khususnya kawasan Pantai utara terbentang dari pesisir utara Karawang, Subang,
Indramayu, kota Cirebon dan kabupaten Cirebon. Di samping itu, masyarakat
pengguna Bahasa Jawa juga tersebar di berbagai wilayah Negara Kesatuan Republik
Indonesia. Kawasan-kawasan luar Jawa yang didominasi etnis Jawa atau dalam
persentase yang cukup signifikan adalah : Lampung (61,9%), Sumatra Utara (32,6%),
Jambi (27,6%), Sumatera Selatan (27%). Selain di kawasan Nusantara, masyarakat
Jawa juga ditemukan dalam jumlah besar di Suriname, yang mencapai 15% dari
penduduk secara keseluruhan, kemudian di Kaledonia Baru bahkan sampai kawasan
Aruba dan Curacao serta Belanda. Sebagian kecil bahkan menyebar ke wilayah
Guyana Perancis dan Venezuela. Pengiriman tenaga kerja ke Korea, Hong Kong,
serta beberapa negara Timur Tengah juga memperluas wilayah sebar pengguna
bahasa ini meskipun belum bisa dipastikan kelestariannya (Agus, 2011).
2.3 Stemming
36
Stemming merupakan suatu proses untuk menemukan kata dasar dari sebuah
kata. Dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan
(prefixes), sisipan (infixes), akhiran (suffixes) dan confixes (kombinasi dari awalan
dan akhiran) pada kata turunan. Stemming digunakan untuk mengganti bentuk dari
suatu kata menjadi kata dasar dari kata tersebut yang sesuai dengan struktur
morfologi Bahasa Indonesia yang baik dan benar. Imbuhan (affixes) pada Bahasa
Indonesia lebih kompleks bila dibandingkan dengan imbuhan (affixes) pada Bahasa
Inggris. Karena seperti yang telah disebutkan di atas bahwa imbuhan (affixes) pada
Bahasa Indonesia terdiri dari awalan (prefixes), sisipan (infixes), akhiran (suffixes),
bentuk perulangan (repeated forms) dan confixes (kombinasi dari awalan dan
akhiran). Imbuhan-imbuhan yang melekat pada suatu kata harus dihilangkan untuk
mengubah bentuk kata tersebut menjadi bentuk kata dasarnya. Stemming teks
berbahasa Indonesia memiliki beberapa masalah yang sangat khusus terhadap bahasa.
Salah satu masalah tersebut adalah perbedaan tipe dari imbuhan-imbuhan (affixes),
yang lain adalah bahwa awalan (prefixes) dapat berubah tergantung dari huruf
pertama pada kata dasar. Selanjutnya ketika ada lebih dari satu imbuhan (affixes)
yang melekat pada suatu kata, maka urutan untuk menghilangkan imbuhan-imbuhan
(affixes) pada kata tersebut menjadi sangat penting. Jika dalam proses meghilangkan
imbuhan-imbuhan (affixes) tersebut kita tidak memperhatikan urutan penghilangan
imbuhan-imbuhan (affixes) tersebut, maka kata dasar yang benar dari kata tersebut
tidak akan ditemukan.. Penilitian terhadap stemming untuk text retrieval, machine
translation, document summarization dan text classification sudah pernah dilakukan
37
sebelumnya. Untuk stemming yang dilakukan pada Text Retrieval, stemming ini
meningkatkan kesensitivan retrieval dengan meningkatkan kemampuan untuk
menemukan document yang relevan, tetapi hal itu terkait dengan pengurangan pada
pemilihan dimana pengelompokkan menjadi kata dasar menyebabkan penghilangan
makna kata (Ismail, 2009).
Untuk kasus stemming untuk teks berbahasa Indonesia ada beberapa
pendekatan yang digunakan. Beberapa teknik pendekatan yang digunakan untuk
proses stemming teks berbahasa Indonesia ada yang dengan menggunakan kamus
namun ada juga yang tidak menggunakan kamus. Teknik stemming bahasa Indonesia
yang tidak menggunakan kamus adalah Algoritma Vega; selain itu beberapa teknik
stemming bahasa Indonesia lainnya dikembangkan dengan menggunakan kamus.
Adapun perbedaan utama lainnya dari masing-masing algoritma untuk stemming teks
berbahasa Indonesia adalah dalam hal urutan pemenggalan / pemotongan /
penghilangan imbuhan-imbuhan dari kata turunan tersebut. Urutan langkah dalam
pemotongan imbuhan-imbuhan pada kata turunan ini sangat berpengaruh pada tingkat
keakuratan algoritma stemming bahasa Indonesia. Adapun beberapa teknik
pendekatan untuk melakukan stemming untuk teks berbahasa Indonesia diantaranya
adalah : Nazief & Adriani Algorithm, Arifin & Setiono Algorithm, Vega Algorithm
dan Porter Stemmer
Nazief & Adriani Algorithm. Skema stemming dari Nazief and Adriani
dijelaskan pada laporan teknikal dari Universitas Indonesia yang tidak diterbitkan.
Algoritma ini berdasarkan pada aturan morfologi bahasa Indonesia yang luas yang
38
dikumpulkan menjadi satu grup dan di-enkapsulasi pada imbuhan/affixes yang
diperbolehkan dan imbuhan/affixes yang tidak diperbolehkan. Algoritma ini
merupakan gabungan antara algoritma menghilangkan imbuhan dan brute force
stemming. Namun algoritma ini mempunyai dua masalah, yang pertamaa
kemampuannya tergantung dari besarnya database kata dasar, dan yg kedua, hasil
stemming tidak selalu optimal untuk aplikasi information retrieval (Tala, 2003).
Arifin & Setiono Algorithm. Arifin & Setiono mengajukan skema algoritma
yang sedikit lebih sederhana dibandingkan algoritma Nazief and Adriani tetapi yang
menjadi kesamaan diantara kedua algoritma tersebut adalah kedua algoritma tersebut
menggunakan kamus dan sama-sama menyediakan fungsi recoding. Langkah-langkah
penghilangan imbuhan-imbuhan yang diterapkan pada algoritma ini adalah dengan
menghilangkan prefix/awalan terlebih dahulu baru kemudian menghilangkan
suffix/akhiran pada kata turunan yang akan dilakukan stemming. Jika kata turunan
yang sudah dilakukan proses stemming yaitu penghilangan prefix kemudian suffix
telah berhasil dilakukan, namun tidak dapat ditemukan kata dasarnya pada kamus
maka semua imbuhan yang telah dihilangkan tadi dikembalikan untuk kemudian
dikombinasikan dengan kata hasil stemming tadi guna mengurangi terjadinya
overstemming. Keuntungan dari algoritma ini adalah jika kata dasar dari sebuah kata
turunan tidak dapat ditemukan setelah menghilangkan prefix dan suffix nya maka
algoritma ini akan mencoba mengembalikan semua imbuhan yang telah dihilangkan
tadi untuk dikombinasikan dengan kata hasil stemming dari kata turunan yang kata
dasarnya tidak ditemukan pada kamus (Ismail, 2009).
39
Vega Algorithm. Perbedaan algoritma vega ini dibandingkan semua algoritma
yang lain adalah pada algoritma vega tidak menggunakan kamus. Urutan
penghilangan imbuhan yang melekat pada kata untuk algoritma Vega ini, sama
seperti urutan penghilangan imbuhan yang diterapkan pada algoritma arifin&setiono.
Kata yang akan distemming, pertama kali diperiksa apakah kata tersebut memiliki
awalan, jika kata tersebut memiliki awalan maka langsung dilakukan penghilangan
awalan tersebut. Selanjutnya kata tersebut diperiksa apakah memiliki akhiran, jika iya
maka akan dilakukan penghilangan akhiran. Selanjutnya kata tersebutdiperiksa
apakah memiliki partikel, jika iya maka akan dilakukan penghilangan partikel.
Selanjutnya kata tersebut diperiksa apakah memiliki possive pronoun (kata ganti
kepunyaan), jika iya maka akan dilakukan penghilangan. Pada algoritma ini, tidak
ada fungsi untuk memeriksa kata dasar dari suatu kata. Yang dilakukan adalah
melakukan pengecekan apabila kata tersebut memiliki imbuhan awalan, akhiran,
partikel, possive pronoun, sisipan. Jika iya, langsung dilakukan penghilangan
imbuhan tersebut (Ismail, 2009)
Porter Stemmer. Algortima ini terkenal digunakan sebagai stemmer untuk
bahasa Inggris. Tahapan pada algoritma porter diterjemahkan menjadi koding
program PHP. Kamus kata dasar dan stoplist disimpan di MySql. Pada proses
stemming dilakukan tidak kata perkata, akan tetapi langsung stemming pada
dokumen. Sehingga proses stemming yang dilakukan lebih cepat dan efektif. Namun
Porter Stemmer dalam bahasa Indonesia akan menghasilkan keambiguan karena
aturan morfologi bahasa Indonesia (Tala, 2003)
40
2.4 Pembentukan kata dalam bahasa Jawa
Proses yang secara umum terdapat dalam bahasa adalah pengimbuhan,
pengulangan, dan pemajemukan. Pengimbuhan dapat dilakukan dengan cara
pengimbuhan depan, tengah dan belakang, atau juga disebut prefiksasi, infiksasi, dan
sufiksasi. Masing-masing perubahan itu secara urut berarti proses pengimbuhan
dengan penambahan atau penggabungan afiks yang berupa prefiks dalam sebuah
bentuk dasar, dengan penambahan afiks bentuk sisipan di tengah bentuk dasar, dan
dengan penambahan afiks yang berbentuk sufiks (akhiran) dalam bentuk dasar
(Nurhayati, 2006).
a. Pengimbuhan
- Prefiks dalam bahasa Jawa antara lain : N- (n-, ny-, m-, ng-), dak-/tak-, kok- /tok-
, di, ka-, ke-,a-, aN-, paN-, ma-, me-, sa-, pa-, pi-, pra-, tar-, kuma-, kami-, kapi-.
- Sisipan dalam bahasa Jawa jumlahnya sangat terbatas yaitu in-, -um-, -er-, dan
el-.
- Pengimbuhan dibelakang dalam bahasa Jawa disebut penambang. Akhiran dalam
bahasa Jawa antara lain : i, -ake, -a, -en, -na, -ana, -an, dan e
b. Reduplikasi
Reduplikasi (tembung rangkep) disebut juga sebagai proses pengulangan, yaitu
perulangan bentuk atau kata dasar. Baik perulangan penuh maupun sebagian,
bisa dengan perubahan bunyi maupun tanpa perubahan bunyi (Mulyana, 2007)
2.5 Analisis Kontrasif Afiksasi Verba
41
Kridalaksana (2001:13) menyatakan bahwa analisis kontrastif adalah
metode sinkronis dalam analisis bahasa untuk menunjukkan persamaan dan
perbedaan antara bahasa-bahasa atau dialek-dialek untuk mencari prinsip yang dapat
diterapkan untuk masalah yang praktis, seperti pengajaran bahasa dan
penerjemahan. Analisis kontrastif dikembangkan dan dipraktikkan sebagai suatu
aplikasi linguistik struktural pada pengajaran bahasa. Oleh karena itu,analisis
kontrastif dapat dipakai untuk mengatasi kesukaran-kesukaran yang utama dalam
belajar bahasa asing, dapat memprediksi adanya kesukaran-kesukaran sehingga
efek-efek interferensi dari bahasa pertama dapat dikurangi. Sementara itu, Tarigan,
(2009:5) mengatakan bahwa analisis kontrastif, berupa prosedur kerja adalah
aktivitas atau kegiatan yang mencoba membandingkan struktur B1 dengan struktur
B2 untuk mengidentifikasi perbedaan-perbedaan di antara kedua bahasa.
Proses afiksasi mencakupi proses penambahan prefiks, penambahan sufiks,
dan penambahan konfiks. Afiks verba bahasa jawa adalah N-,di-,ke-,tak-,-i,-en,ka--
an,N--i,me-,di-,ter-, i-,-kan,kean, dan mei. Afiks-afiks pada verba bahasa Jawa itu
diperbandingkan dengan afik-afiks pada verba bahasa Indonesia. Dengan
perbandingan tersebut, dapat diketahui ada kesejajaran bentuk di dalam bahasa
Indonesia, baik yang berkenaan dengan bentuk yang sama/mirip maupun bentuk
yang berbeda (Krishandini, 2011). Contoh afiksasi verba dapat dlihat pada tabel 2.1
dibawah ini :
Tabel 2.1. Tabel Contoh afiksasi verba
42
Verba bahasa Jawa Verba/terjemahan dalam
bahasa Indonesia
Afiks yang mirip
Prefiks
Njupuk
Digodhok
Ketanta
Mengambil
Direbus
Tertantang
Me-
di-
ter-
Sufiks
tulisi
Jupuken
Bobolen
Tatanen
tulisi
Ambillah
Bobolah
Tatalah
-i
-lah
Konfiks
Katanduran
Mageri
ditanami
memagari
di--i
Mei
2.5.1 Perbandingan Afiks Verba Bahasa Jawa Dengan Bahasa Indonesia
a. Prefiks
Afiks N- bahasa Jawa dalam pemakaian sehari-hari sering juga digunakan
dalam bahasa Indonesia ragam lisan walaupun dalam tata bahasa baku bahasa
Indonesia bentuk yang tepat adalah menggunakan afiks me-.
Contoh:
Meluk N- + peluk
Nyapa N- + sapa
43
Afiks N- dalam bahasa Jawa memiliki alomorf-alomorf:
1. zero atau kosong;
2. nge-;
3. m-,n-,ng-,nye-.
Kaidah kemunculan alomorf-alomorf itu adalah sebagai berikut.
1) Alomorf zero atau kosong terjadi apabila kata dasar yang berhuruf awal
konsonan nasal, seperti: Masak masak masak memasak
2) Alomorf /nge-/ terjadi jika kata dasar yang bersuku kata satu bergabung dengan
afiks N-, contoh:
Tabel 2.2. Tabel Contoh alomorf /nge-/
Kata Dasar Verba Bentukan
Bom bom
Suk desak
ngebom mengebom
ngesuk mendesak
3) Alomorf m-,n-,ng-,ny-.Penjelasannya sebagai berikut:
a. Alomorf m- apabila kata dasar bertemu dengan huruf awal /b/,/p/,/w/. Lebih
lanjut, konsonan /p/ dan /w/ luluh atau mengalami nasalisasi. Contoh:
Tabel 2.3. Tabel Contoh alomorf m
Kata Dasar Verba Bentukan
Babat babat
Potong potong
Walik balik
mbabat membabat
motong memotong
malik membalik
44
b. Alomorf n- apabila kata dasar bergabung dengan kata berhuruf awal /d/ atau /dh/
dan /t/, atau /th/. Contoh:
Tabel 2.4. Tabel Contoh alomorf n
Kata Dasar Verba Bentukan
dudut tarik
dhodhok pukul
tulis tulis
thutuk pukul
ndudut menarik
ndhodhok memukul
nulis menulis
nuthuk memukul
Alomorf /ny-/ terjadi apabila bergabung dengan kata berhuruf awal /j/, /c/, dan
/s/. Pada kata yang berhuruf awal /c/dan /s/ mengalami nasalisasi atau peluluhan.
Contoh:
Tabel 2.5. Tabel Contoh alomorf ny
Kata Dasar Verba Bentukan
Cakot gigit
Sawang lihat
nyakot menggigit
nyawang melihat
c. Alomorf /ng-/ bila bergabung dengan kata berhuruf awal /g/,/k/,/l/,/r/,/y/,
dan /w/. Pada konsonan /k/ mengalami peluluhan atau asalisasi. Contoh:
Tabel 2.6. Tabel Contoh alomorf ng
Kata Dasar Verba Bentukan
Gulung gulung
nggulung menggulung
45
Kepung kepung
Lacak lacak
Rakit rakit
Wareg kenyang
ngepung mengepung
nglacak melacak
ngrakitmerakit
ngwaregi membuat jadi kenyang
Tidak jauh berbeda dengan bahasa Indonesia yang juga memiliki alomorf yang
hampir sama untuk afiks me-, yaitu:
1. Alomorf me- terdapat apabila kata dasar bergabung dengan
konsonan/m/,/n/, /l/, /r/, /y/,dan /w/.
Contoh:
Masak memasak
Nama menamai
2. Alomorf me(nge-) terjadi apabila bergabung dengan kata dasar bersuku kata
Satu.
Contoh:
Bom ngebom
Cat ngecat
3. Alomorf me(n-) terjadi apabila bertemu dengan kata dasar berhuruf awal /t/, /j/,
/c/, dan /d/. Khusus /t/ akan mengalami nasalisasi atau peluluhan.
Contoh:
Tari menari
46
Dapat mendapat
Jala menjala
Cuci mencuci
4. Alomorf me(m-) terjadi apabila bergabung dengan kata dasar berhuruf awal /p/
dan /b/. Khusus /p/ akan mengalami peluluhan atau nasalisasi
Contoh:
Paku memaku
Batu membatu
5. Alomorf me(ny-) terjadi apabila bergabung dengankata dasar berhuruf awal /s/.
Contoh:
Sontek menyontek
6. Alomorf me(ng-) terjadi apabila bergabung dengankata dasar berhuruf awal /g/,
dan /k/. khusus /k/ akan mengalami nasalisasi.
Contoh:
Gunu menggunung
Kukur mengukur
Seperti sudah dijelaskan bahwa bahasa Jawa dan bahasa Indonesia
memiliki alomorf yang hampir sama dengan jumlah kategori enam untuk kedua
bahasa tersebut. Akan lebih dijelaskan satu persatu untuk afiks N- dalam
bahasa Jawa. Afiks pembentuk verba N- di dalam bahasa jawa ternyata memiliki
padanannya dalam bahasa Indonesia, yaitu me-. Prefiks N- dalam bahasa Jawa
47
memiliki alomorf: zero,nge-,m-,n-,ng-, dan ny-. Sebaliknya prefiks me- dalam
bahasa Indonesia memiliki alomorf: me-, me(ng-), me(n-), me(m-), me(ny-), dan
me(ng).
Prefiks di- bahasa Jawa memiliki persamaan dengan prefiks di- pada bahasa
Indonesia. Contoh afiksasi verba pada prefiks di- pada bahasa Jawa dapat dilihat pada
tabel 2.2 dan contoh afiksasi verba pada prefiks di- pada bahasa Indonesia dapat
dilihat pada tabel 2.3. Keduanya pun membentuk verba pasif, baik dalam bahasa Jawa
maupun bahasa Indonesia. Namun, yang patut dicermati di sini adalah kata
dasar ajak yang berkategori verba dalam bahasa Jawa jika dipadukan dengan
prefiks di- akan mengalami peluluhan, lebih jelasnya seperti contoh.
di- + ajak dijak
Bunyi a pada kata diajak mengalami peluluhan. Sebaliknya dalam bahasa
Indonesia hal tersebut tidak terjadi. Perbedaan seperti ini tidak perlu
dikhawatirkan akan mempengaruhi pembelajaran bahasa Indonesia walaupun
prefiks di- dalam bahasa Jawa memiliki persamaan, yaitu membentuk verba
pasif.
Tabel 2.7. Contoh afiksasi verba pada prefiks di- pada bahasa Jawa
Prefiks bahasa Jawa Verba Bentukan
di- Dimasak dimasak
Dilar diperluas
Dipedhot diputus
48
Dijak diajak
Dijupuk diambil
Tabel 2.8. Contoh afiksasi verba pada prefiks di- pada bahasa Indonesia
Prefiks bahasa Indonesia Verba Bentukan
di- Dipukul
Direm
Dibobol
Diajak
Dijemput
Afiks ke- dalam bahasa Jawa jika bergabung dengan kata dasar berhuruf awal
konsonan tidak akan mengalami perubahan apapun seperti contoh-contoh yang
dapat dilihat pada Tabel 2.9.
Tabel 2.9. Contoh afiksasi verba pada prefiks ke- pada bahasa Jawa
Prefiks bahasa Jawa Verba bentukan
Ke- Kedemok tersentuh
Kejiwit tercubit
Kejabel terlepas
Kedhupak tertendang
Kegusur tergusur
49
Kebalang terlempar
Prefiks ini dapat dipadankan dengan prefiks ter- dalam bahasa Indonesia.
Prefiks ter- dalam bahasa Indonesia tidak mengalami peluluhan jika bergabung
dengan kata dasar baik berhuruf awal konsonan maupun vokal dapat dilihat pada
Tabel 2.10.
Tabel 2.10. Contoh afiksasi verba pada prefiks ter- pada bahasa Indonesia
Prefiks bahasa Indonesia Verba bentukan
Ter- Tersentuh
Terluka
Terasah
Terurus
Terjebak
tercipta
Namun, Prefiks ke- dalam bahasa Jawa ini memiliki alomorf, yaitu: /k-/
atau /kek-/. Kedua alomorf ini terjadi apabila prefiks ke- bertemu dengan kata dasar
berhuruf awal vokal. Contoh:
Ombe minum kombe
Antem pukul kantem
Entup sengat kentup
Olu telan kolu
Urug timbun kurug
50
Sementara dalam bahasa Indonesia prefiks ter- tidak memilki alomorf, bila
bergabung dengan kata dasar berawalan vokal tidak mengalami peluluhan.
Prefiks ke- ini dalam bahasa Indonesia sering juga ditemui dalam
percakapan lisan, seperti: keselip, kepukul, ketelan. Kelihatannya ini merupakan
pengaruh penutur bahasa Jawa sebagai bahasa pertama. Ada kemungkinan
prefiks ini muncul dalam tulisan siswa yang mempunyai latar belakang bahasa Jawa
sebagai B1 ketika mereka menulis wacana bahasa Indonesia. Untuk itu, guru bahasa
Indonesia harus lebih menekankan bahwa di dalam ragam baku bahasa Indonesia
untuk menyatakan verba pasif digunakan prefiks ter-. Hal yang berbeda diperlihat
oleh prefiks tak- dalam bahasa Jawa yang bila dipadankan dalam bahasa
Indonesia tidak menjadi sebuah afiks namun menjadi sebuah klausa. Contoh
prefiks tak- pada bahasa Jawa dapat dilihat pada Tabel 2.11.
Tabel 2.11. Contoh afiksasi verba pada prefiks tak-pada bahasa Jawa
Prefiks bahasa Jawa Verba Bentukan
Tak- Takthutuk kupukul
Takgodhok kurebus
Takcokot kugigit
b. Sufiks
Melekatnya afiks i pada kategori verba bahasa Jawa dan bahasa Indonesia
tidak mengalami perubahan bentuk. Contoh sufiks i- pada bahasa Jawa dan bahasa
Indonesia dapat dilihat pada Tabel 2.12.
51
Tabel 2.12. Contoh verba pada Sufiks i- pada bahasa Indonesia dan bahasa jawa
Sufiks bahasa Jawa Verba bentukan
i- Thutuki pukuli
Jaluki mintai
Sufiks en dalam bahasa Jawa apabila kata dasarnya bertemu dengan akhiran
vokal maka akan berubah menjadi nen.
Contoh : Sungi Sunginen, Sotho Sothonen
Sufiks en ini dalam bahasa Indonesia adalah sufiks lah dalam bahasa
Indonesia digunakan untuk penekanan atau juga menyatakan perintah. Contoh
afiksasi verba pada sufiks en- pada bahasa Jawa dapat dilihat pada Tabel 2.13.
Tabel 2.13. Contoh afiksasi verba pada Sufiks en- pada bahasa Jawa
Sufiks bahasa Jawa Verba bentukan
en- Jupuken
Paculen
Tatanen
Pepenen
c. Konfiks
Sebagai verba pasif, kata-kata berprefik dii dalam bahasa Indonesia lazim
digunakan sebagai predikat dalam kalimat pasif. Konfiks kaan dalam bahasa Jawa
dapat menyatakan berkali-kali atau berulang-ulang. Begitu pula dalam bahasa
52
Indonesia. Contoh afiksasi verba pada konfiks kaan pada bahasa Jawa dapat dilihat
pada Tabel 2.14 dan contoh afiksasi verba pada konfiks dii pada bahasa Indonesia
dapat dilihat pada Tabel 2.15.
Tabel 2.14. Contoh afiksasi verba pada konfiks kaan bahasa Jawa
Konfiks bahasa Jawa Verba Bentukan
Kaan Katanduran ditanami
Katunggonan ditunggui
Kapaculan dicangkuli
Kabangan diwarnai merah
Tabel 2.15. Contoh afiksasi verba Konfiks dii pada bahasa Indonesia
Konfiks bahasa Indonesia Verba Bentukan
dii Ditanami
Dilalui
Dijalani
Adapun makna konfiks Ni dalam bahasa Jawa memiliki persamaan dengan
konfiks mei dan mekan dalam bahasa Indonesia. Apabila Ni bermakna
melakukan perbuatan berulang-ulang maka Ni memiliki persamaan makna dengan
konfiks mei, sebaliknya apabila bermakna kausatif atau melakukan perbuatan untuk
orang lain, konfiks Ni ini bermakna mirip dengan konfiks mekan dalam bahasa
Indonesia. Contoh afiksasi verba pada konfiks mei dapat dilihat pada Tabel 2.16
53
yang telah dijabarkan, sedangkan contoh afiksasi verba pada konfiks mekan dapat
dilihat pada Tabel 2.17.
Tabel 2.16. Contoh afiksasi verba pada konfiks mei
Bahasa Jawa Bahasa Indonesia
Nggitiki
Nyiweli
Njupuki
Njiwiti
Mencubiti
Menendangi
Mengambili
Mencubiti
Tabel 2.17. Contoh afiksasi verba pada konfiks mekan
Konfiks bahasa Indonesia Verba Bentukan
Nggondoli
Nggorengi
Nggodhoki
Membawakan
Menggorengkan
Merebuskan
2.6 Algoritma Stemming Bahasa Jawa metode Rule Base
Algoritma stemming bahasa Jawa dengan menggunakan metode Rule Based
adalah algoritma untuk mengubah kata berimbuhan menjadi kata dasar dalam bahasa
Jawa. Algoritma stemming bahasa Jawa ini memiliki aturan imbuhan sendiri dengan
model seperti:
54
[[P+]Kata Dasar[+K][+S]]
P : Prefiks
K : Konfiks
S : Sufiks
Tanda kurung besar menandakan bahwa imbuhan adalah opsional.
Definisi sebelumnya membentuk aturan yang digunakan, namun ada
perkecualian dan batasan yang disatukan dalam aturan.
a. Kata yang tidak memiliki imbuhan, maka tidak akan dilakukan proses stemming
pada kata tersebut.
b. Imbuhan yang sama tidak pernah diulangi, sebagai contoh, setelah awalan dak-
atau dengan variasinya. Maka tidak akan mungkin awalan dak- tersebut akan
diulang kembali.
c. Karakter akan dikembalikan setelah proses penghilangan awalan.
Algortima ini memiliki tahap-tahap sebagai berikut :
1. Proses 1
User menginputkan kata berimbuhan bahasa Jawa, kemudian Input kata
berimbuhan tersebut di cek pada database apakah kata tersebut sudah ada atau belum,
jika sudah ada pada database maka kata inputan tersebut dianggap kata dasar dan
algoritma pemotong imbuhan berhenti, namun jika tidak ada pada database maka
berlanjut pada proses selanjutnya.
2. Proses 2
55
Proses ke 2 yaitu proses penghilangan imbuhan yang mana penghilangan
imbuhan pada input tadi memerlukan analisa sehingga proses selanjutnya adalah
menganalisa imbuhan yang melekat. Analisa imbuhan yang terdapat pada proses ini
meliputi beberapa proses yaitu analisa adanya imbuhan Prefiks, Konfiks dan Sufiks.
3. Proses 3
Hapus Prefiks. Jika terdeteksi adanya imbuhan Prefiks, maka proses
selanjutnya adalah memisahkan kata dasar dari imbuhan Prefiks tersebut dengan
algoritma rule based dimana Verba bahasa Jawa yang dibentuk dengan Prefiks adalah
: N- (n-, ny-, m-, ng-), dak-/tak-, kok- /tok-, di, ka-, ke-,a-, aN-, paN-, ma-, me-, sa-.
Jika imbuhan Prefiks tidak terdeteksi, maka proses selanjutnya adalah pengecekan
imbuhan Konfiks.
4. Proses 4
Hapus Konfiks. Jika terdeteksi adanya imbuhan Konfiks, maka proses
selanjutnya adalah memisahkan kata dasar dari imbuhan Konfiks tersebut dengan
algoritma rule based dimana Verba bahasa Jawa yang dibentuk dengan Konfiks
adalah (kaan,Ni). jika imbuhan Konfiks tidak terdeteksi, maka proses selanjutnya
adalah pengecekan imbuhan Sufiks.
5. Proses 5
Hapus Sufiks. Jika terdeteksi adanya imbuhan Sufiks, maka proses selanjutnya
adalah memisahkan kata dasar dari imbuhan Sufiks tersebut dengan algoritma rule
56
based dimana Verba bahasa jawa yang dibentuk dengan Sufiks adalah : -I, -ake, -a, -
en, -na, -ana, -an, dan e. Jika imbuhan Sufiks tidak terdeteksi, maka ke proses
selanjutnya.
6. Proses 6
Setelah penghilangan Prefiks, Konfiks dan Sufiks namun kata dasar yang di
cari belum juga ditemukan, maka proses selanjutnya adalah pencocokan kata tersebut
dengan pembobotan untuk menemukan kata yang paling mirip dan prosentase yang
paling tinggi untuk kemudian di asumsikan menjadi kata dasar dengan menggunakan
metode string matching brute force.
7. Proses 7
Jika semua langkah telah selesai tetapi tidak juga tidak juga ditemukan di
database, maka kata terakhir yang paling mirip tersebut diasumsikan sebagai root
word atau kata dasar.
57
BAB III
METODOLOGI PENELITIAN
3.1 Desain aplikasi
Aplikasi yang dibangun merupakan sebuah aplikasi untuk mencari kata dasar
dalam bahasa Jawa yang dapat digunakan oleh orang lain untuk mencari kata dasar
bahasa Jawa yang berimbuhan. Aplikasi ini dibuat dengan menerapkan algoritma
Rule Based menggunakan aturan analisis Kontrasif Afiksasi Verba pada imbuhan.
Aplikasi ini berbasis desktop, sehingga user perlu melakukan penginstalan terlebih
dahulu dan bisa digunakan dimanapun dan kapanpun.
Tahapan tahapan yang harus dilakukan dalam membangun aplikasi
pencarian kata dasar bahasa Jawa ini adalah user menginputkan kata berimbuhan,
kemudian input tersebut dicek pada database apakah sudah ada atau belum, jika sudah
ada pada database maka kata inputan tersebut merupakan kata dasar sehingga
langsung diasumsikan sebagai kata yang dicari dan ditampilkan pada output, namun
jika tidak ada pada database maka berlanjut pada proses selanjutnya yaitu proses
penghilangan imbuhan yang mana penghilangan imbuhan pada input tadi
memerlukan analisa sehingga proses selanjutnya adalah menganalisa imbuhan yang
melekat, analisa imbuhan yang terdapat pada proses ini meliputi beberapa proses
yaitu analisa adanya imbuhan Prefiks, Konfiks dan Sufiks. Jika terdeteksi adanya
imbuhan Prefiks, maka proses selanjutnya adalah memisahkan kata dasar dari
imbuhan Prefiks tersebut dengan algoritma Rule Based, jika imbuhan Prefiks tidak
terdeteksi, maka proses selanjutnya adalah pengecekan imbuhan Konfiks, Jika
47
terdeteksi adanya imbuhan Konfiks, maka proses selanjutnya adalah memisahkan kata
dasar dari imbuhan Konfiks tersebut dengan algoritma Rule Based, jika imbuhan
Konfiks tidak terdeteksi, maka proses selanjutnya adalah pengecekan imbuhan Sufiks.
Jika terdeteksi adanya imbuhan Sufiks, maka proses selanjutnya adalah memisahkan
kata dasar dari imbuhan Sufiks tersebut dengan algoritma Rule Based, dan yang
terakhir jika imbuhan Sufiks tidak terdeteksi, maka proses selanjutnya adalah proses
metode Brute Force dengan menjadikan kata tersebut sebagai acuan untuk
pembobotan yang kemudian dicocokkan pada database sehingga kata yang
mempunyai karakter sama dengan kata acuan tersebut ditampilkan namun dipilih 5
kata saja yang memiliki bobot tertinggi untuk menampilkan hasil pemisahan kata
tersebut menjadi kata dasar yang dicari.
Output yang diharapkan dari aplikasi penentuan kata dasar bahasa Jawa ini
adalah kata dasar sesuai dengan inputan kata berimbuhan bahasa Jawa dari user. Blok
diagram dapat dilihat pada gambar 3.1.
Gambar 3.1. Blok diagram proses algoritma stemming
47
3.2. Desain Proses
3.2.1 Stemming dengan Algoritma Rule Based
Stemming digunakan untuk memotong imbuhan dari suatu kata menjadi kata
dasar sesuai dengan struktur morfologi bahasa yang baik dan benar. Pada penelitian
ini digunakan algoritma stemming metode Rule Based sebagai aturan pemotongan
imbuhan. Dalam proses ini, Inputan kata berimbuhan yang dimasukkan oleh user
akan dicek terlebuh dahulu di database apakah kata tersebut terdapat dalam daftar
kamus yang disimpan di database atau tidak. Jika kata tersebut ditemukan, maka kata
tersebut sudah menjadi kata dasar, tapi jika tidak ditemukan maka kata akan
mengalami pemotongan imbuhan pada tahap selanjutnya yang dianalisa
menggunakan aturan analisis kontrasif afiksasi verba. Pada proses ini terjadi
penghilangan Prefiks, setelah penghilangan Prefiks, kata tersebut dicek kembali pada
database kata dasar bahasa Jawa. Jika ditemukan dalam database maka algoritma
berhenti. Namun jika tidak ditemukan maka selanjutnya adalah proses penghilangan
Konfiks, setelah penghilangan Konfiks, kata tersebut dicek kembali pada database
kata dasar bahasa Jawa. Jika ditemukan dalam database maka algoritma berhenti.
Namun jika tidak ditemukan maka selanjutnya adalah proses penghilangan Sufiks,
setelah penghilangan Sufiks, kata tersebut dicek kembali pada database kata dasar
bahasa Jawa. Jika ditemukan dalam database maka algoritma berhenti. Namun jika
masih tidak ditemukan maka hasil akhir dari penghilangan Prefiks, Konfiks dan Sufiks
tersebut akan dijadikan sebagai sebuah kata acuan untuk proses selanjutnya. Sehingga
47
setelah mengalami analisis kontrasif afiksasi veba dan pemotongan imbuhan pada
Prefiks, Konfiks dan Sufiks namun kata tersebut belum ditemukan maka akan
dilakukan proses selanjutnya dengan metode Brute Force, yaitu mencari tingkat
kemiripan dari kata acuan yang digunakan tadi pada kata manakah yang paling
mendekati hasil dari kata berimbuhan tersebut dengan pembobotan tiap huruf yang
mirip dan prosentase paling tinggi sehingga diasumsikan sebagai kata dasar yang
dicari.
47
Gambar 3.2. flowchart proses algoritma stemming
Berdasarkan proses di atas, adapun langkah-langkah yang dilakukan untuk
mendapatkan kata dasar bahasa jawa meliputi beberapa proses yaitu :
47
8. Proses 1
User menginputkan kata berimbuhan bahasa Jawa, kemudian Input kata
berimbuhan tersebut dicek pada database apakah kata tersebut sudah ada atau belum,
jika sudah ada pada database maka kata inputan tersebut dianggap kata dasar dan
algoritma pemotong imbuhan berhenti, namun jika tidak ada pada database maka
berlanjut pada proses selanjutnya.
9. Proses 2
Proses ke 2 yaitu proses penghilangan imbuhan yang mana penghilangan
imbuhan pada input tadi memerlukan analisa sehingga proses selanjutnya adalah
menganalisa imbuhan yang melekat. Analisa imbuhan yang terdapat pada proses ini
meliputi beberapa proses yaitu analisa adanya imbuhan Prefiks, Konfiks dan Sufiks.
10. Proses 3
Hapus Prefiks. Jika terdeteksi adanya imbuhan Prefiks, maka proses
selanjutnya adalah memisahkan kata dasar dari imbuhan Prefiks tersebut dengan
algoritma Rule Based dimana Verba bahasa Jawa yang dibentuk dengan Prefiks
adalah : N- (n-, ny-, m-, ng-), dak-/tak-, kok- /tok-, di, ka-, ke-,a-, aN-, paN-, ma-,
me-, sa-. Jika imbuhan Prefiks tidak terdeteksi, maka proses selanjutnya adalah
pengecekan imbuhan Konfiks.
11. Proses 4
Hapus Konfiks. Jika terdeteksi adanya imbuhan Konfiks, maka proses
selanjutnya adalah memisahkan kata dasar dari imbuhan Konfiks tersebut dengan
algoritma Rule Based dimana Verba bahasa Jawa yang dibentuk dengan Konfiks
47
adalah (kaan,Ni). jika imbuhan Konfiks tidak terdeteksi, maka proses selanjutnya
adalah pengecekan imbuhan Sufiks.
12. Proses 5
Hapus Sufiks. Jika terdeteksi adanya imbuhan Sufiks, maka proses selanjutnya
adalah memisahkan kata dasar dari imbuhan Sufiks tersebut dengan algoritma Rule
Based dimana Verba bahasa jawa yang dibentuk dengan Sufiks adalah : -I, -ake, -a, -
en, -na, -ana, -an, dan e. Jika imbuhan Sufiks tidak terdeteksi, maka ke proses
selanjutnya
13. Proses 6
Setelah penghilangan Prefiks, Konfiks dan Sufiks namun kata dasar yang
dicari belum juga ditemukan, maka proses selanjutnya adalah pencocokan kata
tersebut dengan pembobotan untuk menemukan kata yang paling mirip dan
prosentase yang paling tinggi untuk kemudian diasumsikan menjadi kata dasar
dengan menggunakan metode String Matching Brute Force.
14. Proses 7
Jika semua langkah telah selesai tetapi tidak juga tidak juga ditemukan di
database, maka kata terakhir yang paling mirip tersebut diasumsikan sebagai root
word atau kata dasar.
3.2.2 Brute Force
Brute Force adalah sebuah pendekatan yang lempang (straightforward) untuk
memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem
47
statement) dan definisi konsep yang dilibatkan (Munir, 2005). Algoritma Brute Force
memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas
(obvious way). Algoritma Brute Force umumnya tidak cerdas dan tidak mangkus,
karena ia membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang-
kadang algoritma Brute Force disebut juga algoritma naif (nave
algorithm). Algoritma Brute Force seringkali merupakan pilihan yang kurang disukai
karena ketidakmangkusannya itu, tetapi dengan mencari pola-pola yang mendasar,
keteraturan, atau trik-trik khusus, biasanya akan membantu kita menemukan
algoritma yang lebih cerdas dan lebih mangkus (Hadiati Desi, 2007). Untuk masalah
yang ukurannya kecil, kesederhanaan Brute Force biasanya lebih diperhitungkan
daripada ketidakmangkusannya. Algoritma Brute Force sering digunakan sebagai
basis bila membandingkan beberapa alternatif algoritma yang mangkus. Algoritma
Brute Force seringkali lebih mudah diimplementasikan daripada algoritma yang lebih
canggih, dan karena kesederhanaannya, kadang-kadang algoritma Brute Force dapat
lebih mangkus jika ditinjau dari segi implementasi (Hartoyo, 2005). Salah satu
contoh Brute Force adalah String Matching yang digunakan pada penelitian ini dalam
pembobotan kata dan mencari kata yang tingkat prosentasenya tinggi atau paling
mirip dengan kata dasar yang dicari pada database.
a. Pencocokan String (String Matching)
Pengertian string menurut Dictionary of Algorithms and Data Structures,
National Institute of Standards and Technology (NIST) adalah susunan dari karakter-
47
karakter (angka, alphabet atau karakter yang lain) dan biasanya direpresentasikan
sebagai struktur dan array. String dapat berupa kata, frase, atau kalimat.
Pencocokan string (string matching) merupakan bagian penting dari sebuah proses
pencarian string (string searching) dalam sebuah dokumen (Syaroni, 2005). Hasil
dari sebuah sebuah pencarian string dalam dokumen tergantung dari teknik dan cara
pencocokan string yang digunakan. Cara kerja algoritma String Matching Brute
Force adalah dimisalkan teks berada dalam array T[1..n] dan pattern berada dalam
array[1..n] (Munir, 2006).
Contoh:
Teks : wancine nyedhaki surup
Pattern: nyedhaki
wancine nyedhaki surup
s=0 nyedhaki
s=1 nyedhaki
s=2 nyedhaki
s=3 nyedhaki
s=4 nyedhaki
s=5 nyedhaki
s=6 nyedhaki
s=7 nyedhaki
Pattern nyedhaki ditemukan pada posisi indeks kesembilan dari awal teks.
47
a. teks (text), yaitu (long) string yang panjangnya n karakter
b. pattern, yaitu string dengan panjang m karakter (m < n) yang akan dicari di dalam
teks. kemudian dicari lokasi pertama di dalam teks yang bersesuaian dengan pattern
- Mula-mula pattern dicocokkan pada awal teks.
- Dengan bergerak dari kiri ke kanan, bandingkan setiap karakter di dalam pattern
dengan karakter yang bersesuaian di dalam teks sampai:
1) semua karakter yang dibandingkan cocok atau sama (pencarian berhasil), atau
2) dijumpai sebuah ketidakcocokan karakter (pencarian belum berhasil)
Bila pattern belum ditemukan kecocokannya dan teks belum habis, geser pattern satu
karakter ke kanan dan ulangi langkah 2.
Kelebihan dan Kekurangan Metode Brute Force
Kelebihan :
1. Metode Brute Force dapat digunakan untuk memecahkan hampir sebagian besar
masalah (wide applicability).
2. Metode Brute Force sederhana dan mudah dimengerti.
3. Metode Brute Force menghasilkan algoritma yang layak untuk beberapa masalah
penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks.
4. Metode Brute Force menghasilkan algoritma baku (standard) untuk tugas-tugas
komputasi seperti penjumlahan/perkalian n buah bilangan, menentukan elemen
minimum atau maksimum di dalam tabel (list).
Kekurangan :
1. Metode Brute Force jarang menghasilkan algoritma yang mangkus.
47
2. Beberapa algoritma Brute Force lambat sehingga tidak dapat diterima.
3. Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya.
Gambar 3.3. flowchart diagram proses String Matching
47
Berdasarkan proses flowchart di atas, adapun proses string matching yang
dilakukan untuk mendapatkan kata dasar bahasa jawa meliputi beberapa proses yaitu :
a. Proses 1
hasil_stem dan kata_dasar adalah input (flowchart jajar genjang menandakan
input/output), jadi setelah penghilangan Prefiks, Sufiks dan Konfiks namun kata
dasar belum ditemukan maka hasil kata dari penghilangan imbuhan tersebut
dijadikan acuan untuk dilakukan pembobotan dengan string matching yang
mempunyai 2 parameter yaitu hasil_stem dan kata_dasar.
jadi hasil stemnya misal : bang
kemudian kata dasarnya : abang
b. Proses 2
i adalah index awal pencarian yang mana index i dimulai dari 0.
idx adalah index dari hasil pencarian yang cocok. Misalnya dari kata abang
ditemukan bang mulai pada karakter ke-2. Contoh :
A B A N G
B A N G
Kemudian boolean ketemu diinisialisasi sebagai false.
47
c. Proses 3
j = 0, j juga diinisialiasi sebagai 0, yaitu pencarian dimulai dari index awal. (di
dalam while pertama)
d. Proses 4
j = j+ 1, maksudnya index j berjalan artinya ditambah satu tiap kali digeser
sebanyak 1 index. ( di dalam while kedua)
e. Proses 5
Pada proses ke 5 ini terdapat while kedua. Kemudian flowchat belah ketupat
artinya if/jika, yang mana jika kondisi tersebut belum terpenuhi maka akan
kembali ke proses yang sebelumnya.
f. Proses 6
Kemudian index j = m. yaitu :
m : length dari hasil_stem
n : length dari kata_dasar
g. Proses 7
Jika Ya (dari j = m) maka ketemu = true
47
h. Proses 8
Jika Tidak (dari j - m) maka i = i + 1. Artinya geser pattern(hasil_stem) ke kanan
tiap satu karakter ke kanan.
i. Proses 9
Selanjutnya adalah j < = n m & !ketemu, ini adalah while yang pertama yang
mana jika kondisi ini tidak terpenuhi maka akan kembali pada proses j = 0.
j. Proses 10
Kemudian jika dari kondisi while pertama yaitu j < = n m & !ketemu,
memenuhi maka ke flowchart ketemu yang juga mempunyai kondisi ketemu atau
tidak.
k. Proses 11
jika YA maka idx=i, index i adalah index yang ditemukan kecocokannya. Misal
dari kata ABANG berarti indexnya mulai dari huruf B.
l. Proses 12
jika TIDAK maka -1 yang artinya tidak ketemu.
m. Proses 13
Dan yang terakhir adalah idx yaitu print nilai idx.
47
Setelah proses penghilangan Prefiks, Sufiks dan Konfiks pada kata berimbuhan bahasa
Jawa yang diinputkan pada user namun kata dasar yang dicari belum ditemukan,
maka kata terakhir dari pemotongan Prefiks, Sufiks, dan Konfiks tersebut dijadikan
acuan kata untuk kemudian diproses menggunakan String Matching yaitu
pembobotan tiap kata tersebut untuk mencari kata yang memiliki tingkat prosentase
paling tinggi atau paling mirip dengan kata dasar bahasa Jawa yang dicari. Secara
sistematis, langkah-langkah yang dilakukan algoritma Brute Force pada saat
mencocokkan string adalah :
1. Algoritma Brute Force mulai mencocokkan pattern pada awal teks.
2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern
dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi:
a. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
b. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan
penemuan di posisi ini.
47
BAB IV
HASIL DAN PEMBAHASAN
Dalam bab ini dibahas mengenai rangkaian uji coba dan evaluasi yang telah
dilakukan. Uji coba bertujuan untuk mengetahui tingkat keakurasian dari algoritma
stemming bahasa Jawa dalam mencari akar kata bahasa Jawa. Sedangkan evaluasi
dilakukan bertujuan untuk analisa hasil uji coba agar mendapatkan kesimpulan dan
saran untuk pengembangan aplikasi selanjutnya.
4.1. Implementasi Interface
Pada implementasi interface akan dijelaskan mengenai komponen-komponen
dari aplikasi algoritma stemming yang diimplementasikan pada aplikasi ini. Berikut
beberapa tampilan halaman yang terdapat dalam aplikasi.
4.1.1. Tampilan halaman Algoritma Stemming
Halaman ini muncul ketika program pertama kali dijalankan. Halaman ini
memuat form untuk menginput kata berimbuhan bahasa Jawa sekaligus menampilkan
kata dasar hasil dari Algoritma Stemming dalam bentuk bahasa Jawa. Halaman
Algoritma Stemming ditunjukkan oleh gambar 4.1
48
Gambar 4.1. Halaman Algoritma Stemming
Pada form di atas, user menginputkan kata berimbuhan bahasa Jawa pada
textarea yang disediakan. Selanjutnya sistem akan menjadikan kata berimbuhan
bahasa Jawa tersebut menjadi kata dasar bahasa Jawa dengan menggunakan algoritma
stemming dan menampilkan hasil kata dasar tersebut pada textarea yang disediakan
dan menampilkan beberapa list kata yang mempunyai tingkat kemiripan dari inputan
user yang dimaksud tersebut yang di ambil dari database. Contoh penggunaan
aplikasi algoritma stemming terdapat pada Gambar 4.2.
49
Gambar 4.2. Contoh Penggunaan Aplikasi Algoritma Stemming
4.1.2 Tampilan halaman Pengujian
Halaman pengujian merupakan halaman yang dilakukan untuk melakukan
pengujian secara langsung dari artikel atau dari sebuah file sehingga tidak perlu
melakukan pengujian manual satu per satu. Pada halaman ini, artikel atau file yang
akan di uji di pilih terlebih dahulu kemudian selanjutnya akan di proses dengan
memisahkan spasi, tanda baca, huruf besar, dan lainnya kemudian di proses sehingga
kata berimbuhan pada artikel atau file tersebut menghasilkan outpu kata dasar. Pada
halaman ini, pengujian disajikan dalam bentuk tabel sehingga input dari artikel yang
50
di proses tersebut bisa langsung diketahui apakah output sudah sesuai dengan yang di
harapkan. Di bawah ini merupakan contoh pengujian dari artikel yg berjumlah 994
kata.
Gambar 4.3. Contoh Pengujian pada Aplikasi Algoritma Stemming
51
4.1.3 Tampilan halaman Daftar Kata dan Tambah Kata
Halaman tambah kata merupakan halaman dimana user dapat menambahkan
data kata dasar bahasa Jawa. User dapat menambahkan data kata dasar jika kata
tersebut tidak ada dalam tabel atau database. Pada halaman ini juga sekaligus menjadi
penampil daftar kata dasar yang ada pada database. Halaman daftar kata dan tambah
kata ditunjukkan oleh Gambar 4.4.
Gambar 4.4. Halaman daftar kata dan tambah kata
52
4.2. Uji Coba Aplikasi
Uji coba Algoritma stemming dilakukan dengan menginputkan kata
berimbuhan bahasa Jawa. Data pengujian yang digunakan dalam penelitian ini adalah
beberapa kata berimbuhan yang diperoleh dari buku-buku dan beberapa media online.
Data dari buku diperoleh dari buku berikut.
- Kamus Jawa Indonesia, karangan Drs. K. Nugroho
- Kamus Unggah-Ungguh Basa Jawa, karangan Haryana
Harjawiyana dan Th. Supriya
Untuk data yang diuji terdiri dari 16.745 kata berimbuhan bahasa jawa dengan
inputan yang berbeda. Data lengkapnya dapat dilihat pada halaman lampiran 1.
Adapun prosentase keberhasilan tersebut diperoleh dengan rincian sebagai berikut.
Sehingga prosentase kata berimbuhan = x 100% = 92,881 %
4.3. Langkah Pengujian Aplikasi
Pengujian Aplikasi algoritma stemming bahasa Jawa menggunakan aturan
analisis kontrasif afiksasi verba ini, perlu dilakukan agar memenuhi harapan dan
tujuan yang diinginkan. Dalam melakukan pengujian, dilakukan pengujian dengan
menginputkan file artikel bahasa jawa yang terdiri dari ribuan kata sehingga
Jumlah kata berimbuhan yang benar di stemming
x 100%
Jumlah data yang di ujicoba
53
pengujian tidak dilakukan secara manual. Pengujian pertama adalah proses parsing
yaitu memisahakan kata-kata dalam artikel tersebut dan menghilangkan karakter-
karakter yang terdapat dalam artikel tersebut seperti tanda baca, angka ataupun
karakter khusus lainnya. Kemudian dilanjutkan dengan pengujian analisa imbuhan
yang melekat pada kata tersebut menggunakan analisis kontrasif afiksasi verba
(Krishandini), setelah itu imbuhan itu di hilangkan sesuai aturan. Dan pengujian
terakhir yaitu pengujian pada proses pengecekan kesesuaian string antara kata yg
sudah dihilangkan Prefiks, Sufiks dan Konfiks tersebut dengan kata dasar yang berada
pada database. Dengan kata acuan yg sudah dihilangkan imbuhannya tersebut, maka
kata itu dijadikan kata untuk pembobotan mencari kata yang memiliki prosentase
kemiripan paling tinggi dengan kata dasar yang dicari. berdasarkan hasil prosentase
uji coba yang didapatkan seperti diatas, adapun langkah-langkah yang dilakukan
meliputi beberapa proses yaitu :
15. Proses 1
Untuk menguji algoritma stemming, proses pertama adalah pilih file yang
akan di stemming untuk kemudian dilakukan parsing. Proses pemilihan file artikel
dan penampungan kalimat-kalimat pada artikel tersebut menggunakan baris-baris
method yang dapat dilihat pada gambar 4.5.
public List parsingData(String fileName){ List listData = new ArrayList();
String fullArtikel = "";
// Nama file
File file = new File(fileName);
//Read File to string
54
FileInputStream fileStream = null;
BufferedInputStream bufferStream = null;
DataInputStream dataStream = null;
try {
fileStream = new FileInputStream(file);
bufferStream = new BufferedInputStream(fileStream);
dataStream = new DataInputStream(bufferStream);
while (dataStream.available() != 0) {
//populate string from file
fullArtikel += dataStream.readLine() + " ";
}
fileStream.close();
bufferStream.close();
dataStream.close();
} catch (Exception x) {
System.out.println(x);
}
Gambar 4.5. Kode proses pilih file
Setelah salah satu file artikel bahasa jawa yang akan di uji coba dipilih untuk
dijadikan kata dasar, maka proses selanjutnya adalah proses parsing yang di
implementasikan dengan method yang dapat dilihat pada gambar 4.6.
//remove punctuation and numbers (termasuk tanda baca, titik, koma, dll)
fullArtikel = fullArtikel.replaceAll("\\.|\\]|\\[|[0-
9]|,|\\?|:|\\(|\\)|\"|;|-|!"," ");
//ubah jadi huruf kecil semua
fullArtikel = fullArtikel.toLowerCase();
// Pecahkan string menjadi array
StringTokenizer token = new StringTokenizer(fullArtikel, " ");
//Populate word into array list
while(token.hasMoreTokens()){
listData.add(token.nextToken());
}
return listData;
}
Gambar 4.6. Kode proses parsing
Method ini melakukan proses parsing kalimat-kalimat dari artikel bahasa jawa
menjadi per kata. Proses awal dilakukan pengecekan file kemudian menampung
kalimat-kalimat bahasa jawa dalam sebuah variabel string. Setelah itu dari variabel
55
string tersebut dilakukan pemisahan dengan angka dan tanda baca berupa tanda titik,
tanda koma, tanda petik dan lain-lain. Kemudian jika ada kata yang menggunakan
huruf besar maka akan diubah menjadi huruf kecil semua. Hasil dari pemisahan
tersebut akan menghasilkan sekumpulan kata yang ditampung di dalam list.
16. Proses 2
Proses ke 2 yaitu proses penghilangan imbuhan yang mana penghilangan
imbuhan pada input tadi memerlukan analisa sehingga proses selanjutnya adalah
menganalisa imbuhan yang melekat. Analisa imbuhan yang terdapat pada proses ini
meliputi beberapa proses yaitu analisa adanya imbuhan Prefiks, Konfiks dan Sufiks.
17. Proses 3
Hapus Prefiks. Jika terdeteksi adanya imbuhan Prefiks, maka proses
selanjutnya adalah memisahkan kata dasar dari imbuhan Prefiks tersebut dengan
algoritma rule based dimana Verba bahasa Jawa yang dibentuk dengan Prefiks adalah
: N- (n-, ny-, m-, ng-), dak-/tak-, kok- /tok-, di, ka-, ke-,a-, aN-, paN-, ma-, me-, sa-.
Untuk mengetahui adanya Prefiks atau tidak dan penghapusan Prefiks serta proses
nasalisasi sesuai dengan aturan yang digunakan di implementasikan dengan method
yang dapat dilihat pada gambar 4.7.
// Prefiks
public List findPrefiks(String keyword) {
List result = new ArrayList();
boolean find = false;
for (int i = 0; i < prefiks.length; i++) {
if (keyword.startsWith(prefiks[i])) {
find = true;
if (prefiks[i].equals(Afiks.afiks_n) ||
prefiks[i].equals(Afiks.afiks_m)) {
result.addAll(alomorfN(keyword));
} else if (prefiks[i].equals(Afiks.afiks_di)) {
56
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_ke)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_tak)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_tak)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_dak)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_tok)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_kok)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_sa)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_pa)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_pi)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_pra)) {
result.add(removePrefiks(keyword, prefiks[i]));
} else if (prefiks[i].equals(Afiks.afiks_tar)) {
result.add(removePrefiks(keyword, prefiks[i]));
} } }
if (!find) {
result.add(keyword);
}
return result;
}
Gambar 4.7. Pengecekan Prefiks
Untuk mencari prefiks dari sebuah kata berimbuhan digunakan method atau
fungsi di atas. Mula-mula kata imbuhan diinputkan pada parameter, kemudian di
dalam perulangan akan di cocokkan dengan prefiks-prefiks yang ada apakah
mengandung prefiks atau tidak. Jika ada maka prefiks yang ada pada kata berimbuhan
akan dibuang. Hasilnya berupa kata yang sudah dihilangkan prefiksnya. Selain itu,
jika kata berimbukan yang dicek mengandung prefiks n dan m, maka kata tersebut
memiliki alomorf dan akan terjadi nasalisasi atau peluluhan. Jika tidak mengandung
prefiks, maka tidak akan dibuang atau tetap dan berlanjut ke proses selanjutnya.
57
Proses nasalisasi kata yang mengandung alomorf n dan m dijabarkan menggunakan
baris-baris method yang dapat dilihat pada gambar 4.8.
public List alomorfN(String keyword) {
List result = new ArrayList();
if (keyword.startsWith(Alomorf.alomorf_nge)) {
result.add(removePrefiks(keyword, Alomorf.alomorf_nge));
} else if (keyword.startsWith(Alomorf.alomorf_m, 0)) {
if (keyword.startsWith(String.valueOf(Konsonan.b), 1)) {
result.add(removePrefiks(keyword, Alomorf.alomorf_m));
} else {
String res = removePrefiks(keyword, Alomorf.alomorf_m);
String result1 = addPrefiks(res, Konsonan.p);
String result2 = addPrefiks(res, Konsonan.w);
result.add(result1);
result.add(result2); }
} else if (keyword.startsWith(Alomorf.alomorf_ny)) {
if (keyword.startsWith(String.valueOf(Konsonan.j), 2)) {
result.add(removePrefiks(keyword, Alomorf.alomorf_ny));
} else {
String res = removePrefiks(keyword, Alomorf.alomorf_ny);
String result1 = addPrefiks(res, Konsonan.c);
String result2 = addPrefiks(res, Konsonan.s);
result.add(result1);
result.add(result2); }
} else if (keyword.startsWith(Alomorf.alomorf_ng)) {
if (keyword.startsWith(String.valueOf(Konsonan.g), 2)
|| keyword.startsWith(String.valueOf(Konsonan.l), 2)
|| keyword.startsWith(String.valueOf(Konsonan.r), 2)
|| keyword.startsWith(String.valueOf(Konsonan.y), 2)
|| keyword.startsWith(String.valueOf(Konsonan.w), 2)) {
result.add(removePrefiks(keyword, Alomorf.alomorf_ng));
} else if (keyword.startsWith(String.valueOf(Vocal.e), 2)
|| keyword.startsWith(String.valueOf(Vocal.u), 2)) {
String res = removePrefiks(keyword, Alomorf.alomorf_ng);
String result1 = addPrefiks(res, Konsonan.k);
result.add(result1);
} else {
result.add(removePrefiks(keyword, Alomorf.alomorf_ng)); }
} else {
if (keyword.startsWith(String.valueOf(Konsonan.d), 1)
|| (keyword.startsWith(String.valueOf(Konsonan.d), 1)
&& keyword.startsWith(String.valueOf(Konsonan.h), 2))) {
result.add(removePrefiks(keyword, Alomorf.alomorf_n));
} else if (keyword.startsWith(String.valueOf(Vocal.u), 1)
|| keyword.startsWith(String.valueOf(Vocal.e), 1)
|| keyword.startsWith(String.valueOf(Vocal.o), 1)
|| keyword.startsWith(String.valueOf(Vocal.a), 1)
|| keyword.startsWith(String.valueOf(Vocal.i), 1)) {
String res = removePrefiks(keyword, Alomorf.alomorf_n);
result.add(addPrefiks(res, Konsonan.t));
} else {
result.add(removePrefiks(keyword, Alomorf.alomorf_n)); }
}
58
return result;
}
Gambar 4.8. Kode proses pengecekan alomorf
Selanjutnya method di atas adalah method untuk mengecek jika kata
berimbuhan mengandung alomorf at