4. HASIL PENELITIAN DAN PEMBAHASAN
4.1.
Hasil Penelitian Algoritme stemming yang dirancang akan diuji dengan kumpulan token/kata
yang berasal dari daftar kemunculan kata dalam dokumen. Selanjutnya kumpulan token/kata tersebut di-stem, dan hasilnya akan dilihat apakah menghasilkan kata sesuai dengan harapan. Dari 130 dokumen uji, didapat 100 824 kata. Kata-kata tersebut belum unik, sehingga perlu diproses lebih lanjut untuk mendapatkan satu kata unik dari sejumlah kata yang memiliki bentuk yang sama. Setelah kata yang sama dihilangkan didapat kata unik sebesar 16 949 kata. Dari jumlah kata tersebut setelah dilakukan proses stemming dihasilkan 11 515 kata. Dari 16 949 kata, setelah dipelajari ternyata banyak kata yang bukan berasal dari bahasa Sunda. Terdapat kata-kata dalam bahasa Arab, bahasa Jawa, bahasa Indonesia dan bahasa Inggris. Ada juga bahasa Indonesia yang disundakan, misalnya dimanfaatkeun (seharusnya dimangpaatkeun); panolong, ngarakit, usulanana, mertahankeun (bahasa Indonesia yang diberi imbuhan bahasa Sunda); juga nama-nama, baik nama orang, nama tempat, nama sungai dan lain-lain. Selain itu, banyak juga singkatan-singkatan serta penulisan-penulisan yang salah ketik. Tentu saja kata-kata di atas jika dilakukan proses stemming dengan algoritme stemming bahasa Sunda hasilnya tidak akan pernah sesuai dengan yang diharapkan. Untuk melihat apakah stemming bekerja sesuai dengan yang diharapkan, kata-kata tersebut dihilangkan dan hasilnya didapat 10 416 kata. Dari jumlah kata tersebut setelah di-stem didapat hasil 5 136 kata. Dalam pengujian terhadap semua kata bahasa Sunda (10 416 kata), algoritme stemming yang dirancang menghasilkan pengurangan ukuran indeks sebesar dari 10 416 kata menjadi 5 136 kata. Dalam hal ini terjadi ppengurangan file indeks sebesar: 5 136/10 416 x 100% = 49.31%. Sedangkan dari jumlah kata hasil stemming (5 136 kata), kata-kata yang didapat dan sesuai dengan harapan
38 berjumlah 4 693 kata dan sisanya 443 adalah kata-kata yang tidak sesuai dengan harapan. Dari data ini dapat dihitung bahwa akurasi stemming hasil kata yang diharapkan adalah sebesar: (4 693/5 136) x 100% = 91.38% Proses pengujian algorime stemming dan hasilnya, diilustrasikan seperti yang terlihat pada Gambar 21.
Gambar 21 Proses percobaan stemming terhadap dokumen uji. Evaluasi terhadap pengujian ini dilakukan secara manual, dengan melihat satu per satu kata hasil stemming. Dari hasil pengujian stemming sebelum penghilangan kata-kata yang bukan dalam bahasa Sunda (16 946 kata), ditemukan kata-kata yang overstemming namun tidak ada satupun kata-kata yang understemming. Selain itu, didapat juga hasil stemming yang tidak sesuai dengan harapan. Berikut ini adalah pembahasan hasil pengujian yang overstemming, dan kata-kata hasil stemming yang tidak sesuai dengan harapan. 4.1.1. Hasil Kata yang Overstemming Beberapa kata yang diuji ternyata didapat overstemming terhadap kata yang di-stem. Kata yang di-stem terlalu banyak pemotongannya, sehingga terdapat kata baru yang tidak sesuai dengan harapan. Kata-kata tersebut di antaranya adalah:
39 -
“cari-cari”, “cina”, didapat kata “ci”.
-
“siti”, “nian”, “tini”, didapat kata “ti”.
-
“diari”, didapat kata “ari.
-
“pamar”, “dibabarkeun”, didapat kata “bar”.
-
“tikang”, “bakang”, didapat kata “kang”.
-
“simana”, didapat kata “sim”.
-
“maran”, “paman”, “perman”, “minan” didapat kata “man”.
-
“kuning”, “tiku” didapat kata “ku”.
-
“pama” di dapat kata “ba”
-
“perda”, “dana”, “dakeunana” di dapat kata “da”.
-
“diracik” didapat kata “cik”.
-
“dipilah”, “silah” didapat kata “lah”.
-
“pekan”,” peking” didapat kata “pek”.
4.1.2. Hasil Kata yang Tidak Sesuai Harapan Pengujian terhadap dokumen ini juga menghasilkan kata yang tidak sesuai dengan harapan. Kata-kata tersebut adalah: -
“mentang-mentang”, hasil proses stemming adalah “bentang”.
-
“made”, hasil hasil proses stemming adalah “bade”.
-
“masa”, hasil hasil proses stemming adalah “basa”
-
Bentuk imbuhan gabungan (rarangken bareng) “N- + -ar-“ pada kata “nyarapu”, “marere”, dan “malayar”, menghasilkan kata “nyarapu”, “marere”, “balayar”.
40 -
Kata “sababaraha” tidak menghasilkan hasil stemming yang diharapkan yaitu “sabaraha”.
4.2. Analisis Terhadap Pengujian Stemming Setelah dilakukan pengujian terhadap kata uji ternyata ada beberapa kata yang tidak memberikan hasil sesuai dengan yang diharapkan. Berikut ini adalah analisis terhadap kegagalan hasil proses stemming. 4.2.1. Analisis Terhadap Kata yang Overstemming Kata “cari-cari” dan “cina” didapat kata “ci”. Pada saat membaca kata ulang “cari-cari”, yang diambil adalah kata paling akhir setelah karakter “-“, didapat kata “cari”. Kata “cari” bukan kata dalam bahasa Sunda, maka pada saat dicari dalam kamus tidak ditemukan. Proses berikutnya adalah penghilangan imbuhan. Kata “cari” menghasilkan kata “ci”, disebabkan karena modul/fungsi Hilangkan_Sisipan(), akan menghilangkan suku kata “ar” dalam kata “cari”, sehingga didapat kata “ci”. Dan jika kata “ci” ini dicari dalam kamus maka akan kata tersebut ada dalam kamus. Untuk kata “cina”, modul/fungsi Hilangkan_Sisipan() juga akan dihilangkan suku kata “in”, sehingga didapat kata “ci”. Kata “siti”, “nian”, “tini”, didapat kata “ti”. Kata “siti” karena merupakan nama seseorang maka ketika dicari dalam kamus bahasa Sunda tidak ditemukan, sehingga proses berikutnya yang dijalankan adalah penghilangkan awalan. Kata “siti” dianggap mempunyai awalan “si”, sehingga oleh modul/fungsi Hilangkan_Awalan() suku kata “si” ini akan dihilangkan dan didapat kata “ti”. Kata “nian” juga bukan merupakan kata dalam bahasa Sunda, sehingga pada saat dicari dalam kamus pertama kali tidak ditemukan. Selanjutnya modul/fungsi Hilangkan_Bareng() akan menghilangkan suku kata “an” dan mengganti huruf “n” menjadi “t” karena dianggap sebagai bentuk kata nasal, sehingga didapat kata “ti”. Kata “tini” yang merupakan nama orang, dianggap
41 mempunyai suku kata “in”, sehingga suku kata tersebut akan dihilangkan dan didapat kata “ti”. Kata “diari”, didapat kata “ari” Kata “ari” dalam bahasa Sunda mempunyai arti sedangkan, kalau atau jika. Kata “diari” yang bukan merupakan kata dalam bahasa Sunda ketika dicari dalam kamus tidak ditemukan. Proses berikutnya pada algoritme stemming adalah penghilangan awalan oleh modul/fungsi Hilangkan_Awalan(). Suku kata “di” pada kata “diari” dianggap merupakan awalan, sehingga akan dihilangkan oleh modul/fungsi tersebut, dan didapat kata “ari”. Kata “pamar”, “dibabarkeun”, didapat kata “bar”. Kata “bar” dalam bahasa Sunda mempunya arti yaitu: kata antar untuk menghamparkan (tikar, karpet, dan lain-lain). Pada saat algoritme stemming bekerja
untuk
kata
“pamar”,
maka
fungsi
Hilangkan_Bareng()
akan
menghilangkan suku kata “pa” dan didapat kata “mar”. Kata “mar” ini dianggap bentuk kata nasal sehingga huruf “m” pada kata tersebut diganti dengan huruf “b”, dan didapat kata “bar”. Untuk kata “dibabarkeun”, akan dianggap sebagai kata ulang dan modul/fungsi Cek_Kata_Ulang() akan menghilangkan awalan dan akhiran “di- + -keun” maka didapat kata “babar”. Karena dianggap kata ulang maka suku kata “ba” akan dihilangkan dari kata tersebut dan didapat kata “bar”. Kata “tikang”, “bakang”, didapat kata “kang” Kata “kang” dalam bahasa Sunda mempunyai arti panggilan untuk lelaki yang lebih tua atau kakak. Pada saat mencari kata “tikang” dan “bakang” dalam kamus kata tersebut ditemukan. Kedua kata tersebut dianggap mempunyai awalan “ti”
dan
“ba”,
sehingga
akan
dihilangkan
Hilangkan_Awalan() dan didapat kata “kang”.
oleh
modul/fungsi
42 Kata “simana”, didapat kata “sim” Kata “sim” dalam bahasa Sunda mempunyai arti saya. Sedangkan kata “simana” merupakan kata “sima” dan diberi akhiran “na”. Pada saat algoritme stemming bekerja, kata “simana” ini diangap mempunyai akhiran “ana”, sehingga akan dipotong menjadi “sim”. Kata “maran”, “perman”, “minan” didapat kata “man” Kata “man” mempunyai arti sebagai kata antar untuk menyuruh berjalan terlebih dahulu. Kata “maran” dan “minan” dianggap mempunyai sisipan “ar” dan “in” sehingga oleh modul/fungsi Hilangkan_Sisipan() kedua suku kata tersebut akan dihilangkan dan didapat kata “man”. Sedangkan untuk kata “perman” dianggap mempunyai awalan “per” dan akan dihilangkan oleh modul/fungsi Hilangkan_Awalan(). Kata “kuning”, “tiku” didapat kata “ku” Kata “ku” mempunyai arti alangkah atau jangankan. Kata “kuning” dianggap mempunyai akhiran “ning” sehingga akhiran tersebut dihilangkan oleh modul/fungsi Hilangkan_Akhiran() sehingga didapat kata “ku”. Sedangkan kata “tiku” dianggap mempunyai awalan “ti” dan oleh modul Hilangkan_Awalan() sehingga didapat kata “ku”. Kata “pama” di dapat kata “ba” Kata “ba” merupakan salah satu bentuk awalan yang berarti “ber”. Kata “pama” setelah
di-stem berubah menjadi kata “ba” disebabkan oleh
modul/fungsi Hilangkan_Bareng() menganggap kata tersebut memiliki bentuk paN-. Modul Hilangkan_Bareng() akan menghilangkan awalan pa- dan huruf “m” pada suku kata “ma” diganti menjadi “b” oleh modul ModulNasal_N() karena dianggap memiliki bentuk nasal. Kata tersebut setelang di-stem didapat kata “ba”. Kata “perda”, “dana”, “dakeunana” di dapat kata “da” Kata “da” memiliki arti “karena”. Kata “perda” dan “dana” yang merupakan kata dalam bahasa Indonesia dianggap memiliki awalan “per” pada
43 kata “perda” dan akhiran “na” pada kata “dana”. Pada proses stemming kata “perda” akan dihilangkan awalan “per”-nya oleh modul Hilangkan_Awalan(), sedangkan kata “dana” akan dihilangkan akhiran “na”-nya oleh modul Hilangkan_Awalan(). Kata “diracik” didapat kata “cik”, “dipilah”, “silah” didapat kata “lah” dan “pekan”,” peking” didapat kata “pek” Kata “diracik” dianggap memiliki bentuk rarangken bareng di- -arsehingga oleh modul Hilangkan_Bareng() dihilangkan awalan “di” dan sisipan “ar” sehingga didapat kata “cik”. Sedangkan untuk kata “dipilah” dan “silah” masing-masing
dianggap
memiliki
bentuk
rarangken
bareng
“di-pi-” dan awalan “si” sehingga bentuk “di-pi-“ dan awalan “si” dihilangkan pada kedua kata tersebut dan didapat kata “lah”. Untuk kata “pekan” dan “peking” keduanya dianggap memiliki bentuk akhiran “an” dan “ing” sehingga oleh modul Hilangkan_Akhiran() kedua akhiran tersebut dihilangkan dan didapat kata “pek”. 4.2.2. Analisis terhadap kata hasil stemming yang tidak sesuai harapan Kata “mentang-mentang”, “made” dan “masa” bukan merupakan kata dalam bahasa Sunda, sehingga ketika dicari dalam kamus, kata tersebut tidak ditemukan. Kata “mentang-mentang” dianggap sebagai kata ulang dan diambil hanya kata terakhir setelah kata “-“ dan didapat kata “mentang”. Kata tersebut dianggap sebagai bentuk nasal sehingga huruf “m” akan diganti oleh huruf “b” sehingga didapat kata “bentang” (bintang). Demikian juga untuk kata “made” dan “masa”, dianggap sebagai bentuk nasal dan hasil stemmingnya adalah “bade” (akan) dan “basa” (bahasa). Hasil stemming yang diharapkan untuk kata nyarapu, marere, malayar adalah kata sapu, bere dan bayar. Namun algoritme stemming yang dirancang tidak dapat menghasilkan kata yang diharapkan. Kesalahannya terletak pada modul/fungsi Hilangkan_Bareng(), yaitu pada penggalan program seperti yang terlihat pada Gambar 22.
44 If Hilangkan_Sisipan(kata) Then If modulNasal_N(kata) Then Hilangkan_Bareng = True Else Hilangkan_Bareng = False End If Else ....... End if
Gambar 22 Bagian algoritme Hilangkan_Sisipan() yang menghasilkan kata yang tidak diharapkan. Pada penggalan program tersebut, baris perintah If Hilangkan_Sisipan(kata) Then diharapkan menghilangkan sisipan dari kata tersebut, akan tetapi karena isi program dari Hilangkan_Sisipan(kata) yang menangani masalah sisipan “ar” ini berbentuk seperti Gambar 23 maka fungsi Hilangkan_Sisipan() menghasilkan hasil kata “nyapu”. If In_Str_Ar(kata, "ar") Then kata = dummy kata = Replace(kata, "ar", "", 1, 1, vbTextCompare) If ReadKamus(kata) Then Hilangkan_Sisipan = True Else ...... End if ...... End if
Gambar 23 Bagian algoritme Hilangkan_Sisipan() yang menguji sisipan “ar”. Proses berikutnya adalah pencarian kata tersebut dalam kamus dan ternyata hasilnya tidak ditemukan. Proses berikutnya dari Hilangkan_Bareng() yaitu proses penghilangan nasal (modulNasal_N(kata)) tidak pernah diproses. Hal inilah yang menyebabkan algoritme stemming ini tidak mampu menghasilkan kata dasar yang diharapkan. Untuk kata uji “malayar” pada saat pengujian menghasilkan kata dasar “balayar”, kata tersebut ada dalam kamus. Namun sebenarnya kata dasar yang diharapkan dari hasil stemming kata “malayar” bukan kata tersebut, kata yang diharapkan adalah kata “bayar”. Hal ini dsebabkan karena kata “malayar” dianggap sebagai nasal yang diproses pada saat menjalankan modul/fungsi Hilangkan_Awalan(). Dan kata hasil stemming setelah dicari dalam kamus
45 ternyata menemukan hasil “balayar”. Potensi kesalahan yang sama akan muncul jika kata yang di-stem mempunyai bentuk N- + -ar,. Algoritme stemming untuk kata ulang dwipurwa adalah dengan mengambil suku kata pertama lalu dibandingkan dengan suku kata berikutnya. Untuk kata sababaraha adalah kata ulang yang mempunyai aturan jika kata dasar memiliki tiga suku kata atau lebih maka yang diulang adalah suku kata kedua. Hasil stemming yang diharapkan dari kata sababaraha adalah sabaraha (berapa). Kegagalan stemming untuk kata sababaraha adalah sulitnya menentukan jumlah suku kata dari kata yang akan di-stem. Agoritme yang diracang belum mampu untuk menangani masalah tersebut. Hasil kata lainnya yang tidak sesuai dengan harapan, yang berjumlah 443 kata disebabkan oleh ketidaksempurnaan algoritme dan disebabkan pula ketidaklengkapan data kamus. Untuk penelitian berikutnya diharapkan dapat lebih menyempurnakan algoritme yang dirancang ini serta melengkapi data kamus.