STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA …etheses.uin-malang.ac.id/3773/1/12650020.pdf · 5...

download STEMMING BAHASA JAWA UNTUK MENCARI AKAR KATA …etheses.uin-malang.ac.id/3773/1/12650020.pdf · 5 stemming bahasa jawa untuk mencari akar kata dalam bahasa jawa dengan aturan analisis

If you can't read please download the document

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