Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 ISSN: 2089-9813 MODIFIKASI ALGORITMA PORTER UNTUK STEMMING PADA KATA BAHASA INDONESIA Badrus Zaman Program Studi Sistem Informasi, Fakultas Sains dan Teknologi, Universitas Airlangga Jl. Dr. Ir. Soekarno MERR Surabaya 61115 E-mail: [email protected] ABSTRAK Proses stemming dalam information retrieval (IR) diperlukan untuk meningkatkan performansi dari IR itu sendiri, baik dari segi kecepatan maupun ketepatan. Dalam perkembangannya stemming telah dikembangkan untuk berbagai bahasa, di antaranya Porter Stemmer. Porter stemmer dikembangkan untuk stemming kata bahasa Inggris, yang dikembangkan berdasarkan morfologi kata. Tujuan penelitian ini adalah mengembangkan Porter stemmer yang dimodifikasi untuk stemming kata pada bahasa Indonesia. Stemmer ini selain menggunakan morfologi kata pada bahasa Indonesia, juga menggunakan kamus imbuhan. Kamus imbuhan tersebut berisi kata dasar terkait dengan imbuhan yang akan dihapus. Uji coba dilakukan terhadap 50 dokumen berita online berbahasa Indonesia yang didapatkan dari web portal berita online. Hasil ujicoba menunjukkan bahwa tingkat kebenaran sistem yang dikembangkan dalam melakukan stemming sebesar 0.66, sedangkan kecepatan sistem dalam melakukan stemming tiap kata sebesar 0.000000160 detik. Kata Kunci: stemming, algoritma porter, bahasa Indonesia 1. Berdasarkan porter stemmer yang menggunakan rule afiksasi untuk bahasa Inggris, maka dikembangkan stemmer untuk bahasa Indonesia. Stemmer ini dibuat berdasarkan aturan morfologi pada bahasa Indonesia (Tala, 2003). Penelitian ini coba mengembangkan modifikasi porter stemmer untuk stemming kata pada bahasa Indonesia dengan memanfaatkan morfologi bahasa Indonesia dan kamus kecil. Kamus kecil adalah kamus yang berisi sekumpulan kata yang terkait dengan imbuhan yang akan dihilangkan. Jadi, proses stemming dapat lebih cepat dilakukan. Tujuan dari penelitian ini adalah untuk melihat efektivitas stemmer yang dikembangkan jika dilihat dari ketepatan (correctness) dan lamanya proses stemming. PENDAHULUAN Dalam sebuah sistem temu kembali informasi (Information Retrieval/IR) terdapat kumpulan dokumen, yang setiap dokumennya dideskripsikan oleh kata-kata (term). Istilah yang memiliki akar kata yang sama, umumnya memiliki arti yang sama, misalnya hubung, hubungan, hubungkan, hubungi, dan menghubungi. Jika kelima istilah ini dikelompokkan ke dalam satu kelompok dengan menghilangkan imbuhannya baik awalan atau akhiran, kinerja sistem IR dapat meningkat. Proses penghilangan akhiran kata akan mengurangi jumlah total istilah dalam sistem IR sehingga mengurangi ukuran dan kompleksitas data dalam sistem. Proses penghilangan imbuhan ini dinamakan dengan proses stemming (Manning dkk., 2008), (Baeza-Yates dan Ribeiro-Neto, 1999). Menurut Husni dan Zaman (2005), secara umum, stemming dapat dilakukan dengan 2 cara, yakni manual dan otomatis. Cara otomatis dapat dilakukan dengan berbagai pendekatan, di antaranya metode affix removal yang digunakan dalam Porter stemmer. Menurut Ali dan Ibrahim (2012), Porter stemmer merupakan algoritma stemming dikembangkan oleh Martin Porter di Universitas Cambridge pada tahun 1980 yang diterapkan pada bahasa Inggris. Metode yang digunakan dalam melakukan stemming dengan memanfaatkan morfologi kata pada bahasa Inggris. Dalam hal ini imbuhan berupa akhiran (sufiks). Cara ini cukup efektif karena tidak tergantung terhadap kamus kata dasar, dan proses stemming dapat dilakukan lebih cepat (Tala, 2003). 2. TINJAUAN PUSTAKA 2.1 Stemming Stemming pada dasarnya adalah proses pemetaan dari penguraian berbagai bentuk kata baik itu prefix, sufix, maupun gabungan antara prefix dan sufix (confix), menjadi bentuk kata dasarnya (stem) (Baeza-Yates dan Ribeiro-Neto, 1999), (Gupta, 2014). Secara umum, stemming dapat dilakukan dengan 2 cara, yakni manual dan otomatis. Cara otomatis dapat dilakukan dengan berbagai pendekatan, yakni affix removal, successor, table dan N-gram. Sedangkan metode affix removal terbagi menjadi 2, yakni longest match dan simple removal. Diagram pembagian dari teknik stemming ditunjukkan pada Gambar 1 (Husni dan Zaman, 2005). Proses stemming dilakukan dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan (prefixes), sisipan (infixes), 543 Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 akhiran (suffixes) dan confixes (kombinasi dari awalan dan akhiran) untuk mendapatkan kata dasar. 2.2.2 Derivasional Derivasional adalah struktur sederhana yang diikuti imbuhan yang dapat mempengaruhi kata dasar. Derivasional pada struktur bahasa Indonesia terdiri prefix, suffix, dan konfix. Prefix yang sering muncul antara lain ber-, di-, ke-, meng-, per-, dan ter-. Beberapa prefiks seperti ber-, meng-, peng-, per-, ter- dapat terjadi pada beberapa bentuk. Bentuk tersebut tergantung dari huruf pertama dari kata dasar. Pada struktur kata derivasional terdapat proses peluluhan yaitu mengalami perubahan pengucapan, seperti kata sapu menjadi menyapu yang terdiri dari prefiks mengdan kata dasar sapu. Sufiks derivasional antara lain -i, -kan, dan –an. Penambahan pada sufiks berbeda dengan prefiks, karena tidak pernah mengubah pengucapan pada kata turunannya. Konfiks merupakan gabungan dari prefix dan sufiks, di mana prefiks dan sufiks disisipkan bersama kata turunan yang baru. Namun, tidak semua kombinasi dari prefiks dan sufiks dapat digabungkan menjadi konfiks. Ada beberapa kombinasi dari prefiks dan sufiks yang tidak dibolehkan seperti yang ditunjukkan pada Tabel 1. Gambar 1. Pembagian metode stemming 2.2 Morfologi Bahasa Indonesia Ramlan (1997) mendefinisikan morfologi adalah bagian dari ilmu bahasa yang membicarakan atau yang mempelajari tentang seluk-beluk bentuk kata serta pengaruh perubahan-perubahan bentuk kata terhadap golongan dan arti kata. Morfologi dalam bahasa Indonesia terdiri dari dari struktur infleksional dan derivasional (Tala, 2003). Berikut ini adalah penjelasan mengenai morfologi pada bahasa Indonesia (Tala, 2003) Tabel 1. Pasangan konfiks yang tidak diperbolehkan Prefiks ber di ke meng peng ter 2.2.1 Infleksional Infleksional adalah struktur sederhana yang diikuti oleh imbuhan yang tidak mempengaruhi kata dasar. Struktur ini dibagi menjadi 2, yaitu sufiks partikel dan kata ganti. Partikel berfungsi untuk memberikan penekanan pada kata. Macam-macam dari partikel adalah –lah, -kah, -tah, -pun. Partikel ditulis serangkai dengan kata yang mendahuluinya, kecuali partikel –pun yang ditulis terpisah. Kata ganti terdiri dari –ku. –mu, dan –nya. Akhiran –ku sebagai kata ganti ia, -mu sebagai kata kanti kamu, dan –nya sebagai kata ganti ia. Tiap sufiks pada kelompok partikel dan kata ganti mungkin saja terjadi pada kata yang sama. Bila hal ini terjadi, maka harus mengikuti aturan sufiks pada kata ganti mendahului partikel. Sehingga struktur penulisan infleksional dapat disimpulkan seperti pada Gambar 2. Infleksional = (kata dasar (kata dasar (kata dasar + kata ganti) | + partikel) | + kata ganti ISSN: 2089-9813 Sufiks i an i | kan an i | kan an Prefiks atau konfiks dapat ditambahkan pada kata yang sudah ditambahkan prekfiks atau konfiks sebelumnya, sehingga akan menghasilkan struktur prefiks yang ganda. Namun, tidak semua prefiks atau konfiks dapat ditambahkan pada prefiks atau konfiks tertentu untuk membentuk prefik ganda. Aturan untuk menentukan prefiks ganda ditunjukkan pada Tabel 2. Tabel 2. Aturan urutan untuk prefix ganda Prefiks 1 meng di ter ke + partikel) Prefiks 2 per ber Dari penjelasan di atas, dapat disimpulkan struktur derivasional didefinisikan seperti pada Gambar 3. Gambar 2. Struktur morfologi kata infleksional pada Bahasa Indonesia 544 Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 Derivasional ganda Di mana: prefiks sufiks konfiks prefiks ganda konfiks) ISSN: 2089-9813 = prefiks | sufiks | konfiks | prefiks = = = = prefiks + kata dasar kata dasar + sufiks prefiks + kata dasar + sufiks (prefiks2 + prefiks1) | (prefiks + |( fik 2 + fik 1 + fik ) Gambar 3. Struktur morfologi kata derivasional pada Bahasa Indonesia 2.2.3 Gabungan Infleksional dan Derivasional Dari uraian struktur morfologi infleksional dan derivasional, maka didapatkan struktur morfologi bahasa Indonesia secara umum, yang ditunjukkan pada Gambar 4. [Pre1] + [Pre2] + KD + [Suf] + [KG] + [Par] Dimana: Pre1 Pre2 KD Suf KG Par : : : : : : Gambar 5. Struktur morfologi kata Bahasa Indonesia secara umum prefiks 1 prefiks 2 kata dasar sufiks kata ganti partikel 2.4 Evaluasi Algoritma Stemming Adisantoso dkk. (2003), mengemukakan bahwa evaluasi algoritma stemming dapat dilakukan dengan beberapa 3 kriteria, yaitu: a. Correctness Kondisi overstemming terjadi jika terlalu banyak bagian dari kata yang dihilangkan. Sedangkan understemming terjadi jika terlalu sedikit bagian kata yang dihilangkan. b. Retrieval effectiveness Kriteria retrieval effectiveness didapatkan dari keefektifan suatu sistem temu kembali inforrnasi dalam menemukembalikan dokumen yang relevan setelah menerapkan algoritma stemming. c. Compression Performance Kriteria compression performance dinilai dari ukuran indeks yang dihasilkan dengan menggunakan algoritma stemmer tertentu. Gambar 4. Struktur morfologi kata Bahasa Indonesia secara umum 2.3 Porter Stemmer Algoritma porter berdasarkan kenyataan bahwa kebanyakan sufiks pada bahasa Inggris merupakan kombinasi dari sufiks yang kecil dan sederhana. Tiap langkah proses pemenggalan kata dilakukan secara serial yang mensimulasikan proses kata infleksional dan derivasional. Pada tiap langkah, sufiks tertentu dihilangkan dengan aturan substitusi. Aturan substitusi diterapkan ketika sejumlah kondisi atau batasan tertentu terpenuhi. Sebagai contoh kondisi yang sederhana antara lain panjang minimum hasil stem (jumlah urutan huruf vokal dan konsonan). Panjang minimum ini disebut dengan hasil (measure). Kondisi sederhana lainnya adalah stem dilakukan bila stem berakhir dengan huruf konsonan atau bila stem terdapat huruf vocal.Bila semua kondisi pada suatu aturan sesuai, maka aturan tersebut diterapkan. Hal ini akan berakibat pada pengurangan sufiks, kemudian dilanjutkan pada langkah berikutnya. Jika kondisi pada suatu aturan tidak sesuai maka dicoba kondisi untuk aturan lainnya, sehingga aturan tersebut cocok atau aturan pada langkah tersebut tidak bisa dipakai. Garis besar algoritma Porter Stemmer ditunjukkan dengan ilustrasi pada Gambar 5 (Ali dan Ibrahim, 2012). Menurut Sembok dan Ata (2013), beberapa kesalahan yang dapat terjadi dalam proses stemming yang dapat mempengaruhi tingkat kebenaran (correctness) di antaranya adalah overstemming dan understemming. 2.5 Algoritma Porter untuk Stemming pada Kata Bahasa Indonesia Struktur morfologi kata bahasa Indonesia yang terdiri dari kombinasi struktur derivasional dan infleksional yang kecil dan sederhana, sesuai dengan ide dasar dari algoritma Porter Stemmer. Urutan langkah-langkah pada Porter Stemmer disesuaikan dengan struktur pada kata bahasa Indonesia. Sehingga dapat mengurangi tingkat kompleksitas 545 Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 struktur kata sehingga menghasilkan kata dasar (stem) yang benar (Zaman dan Winarko, 2011). Karena bahasa Inggris dan bahasa Indonesia merupakan kelas bahasa yang berbeda, maka beberapa perubahan diperlukan untuk disesuaikan dengan bahasa Indonesia. Modifikasi tersebut terdiri dari perubahan pada sekumpulan aturan-aturan dan kondisi pengukuran. Karena pada Algoritma Porter hanya dapat melakukan pengurangan sufiks (suffixs stripping), maka beberapa aturan tambahan diperlukan untuk menangani pengurangan prefiks, konfiks dan juga pengejaan yang mengalami peluluhan huruf pertama pada kata dasar (Tala, 2003). Secara umum desain algoritma dari porter stemmer yang sudah dimodifikasi, ditunjukkan pada Gambar 6. kah lah ISSN: 2089-9813 null null diakah dia adalah ada null null b. Penanganan infleksional kata ganti Aturan yang diterapkan untuk infleksional kata ganti sesuai dengan Tabel 4. Tabel 4. Aturan tahap kedua menangani infleksional kata ganti Sufiks Pengganti ku null Kondisi Tambahan null mu null null nya null null Contoh bukuku buku bukumu buku bukunya buku c. Penanganan prefix derivasional pertama Aturan yang diterapkan untuk derivasional pertama sesuai dengan Tabel 5. prefix Tabel 5. Aturan tahap ketiga menangani derivasional prefiks pertama Prefiks Gambar 6. Algoritma Porter stemmer yang dimodifikasi untuk kata pada Bahasa Indonesia 2.5.1 Aturan imbuhan Berdasarkan analisis morfologi pada pembahasan sebelumnya, terdapat 5 kelompok aturan untuk bahasa Indonesia. Lima aturan ini didefinisikan dengan kondisi terbalik dengan kejadian afiks pada proses perubahan. Ini berarti bahwa sufiks infleksional seperti partikel, dan kata ganti, dihilangkan terlebih dahulu kemudian menghilangkan afiks derivasional. Kelima aturan tersebut, adalah: a. Penanganan infleksional partikel Aturan yang diterapkan untuk infleksional partikel sesuai dengan Tabel 3. Menurut Ramlan (1997), penulisan partikel pun terpisah, sedangkan partikel tah termasuk dalam partikel yang tidak produktif, sehingga dalam hal ini untuk kedua partikel tersebut diabaikan. Tabel 3. Aturan infleksional partikel Sufiks Pengganti tahap pertama Kondisi Tambahan Pengganti meng meny men men mem mem null s t null p null Kondisi Tambahan null V...* V... null V... null me null null peng peny null s null V... pen pen pem pem di ter ke t null p null null null null V... null V... null null null null Contoh mengukur ukur menyapu sapu menuduh tuduh menduga duga memukul pukul membakar bakar merusak merusak pengukur ukur Penyelam selam penari tari penduga duga pemandu pandu pembaca baca diukur ukur tersipu sipu kekasih kasih d. Penanganan prefix derivasional pertama Aturan yang diterapkan untuk derivasional kedua sesuai dengan Tabel 6. Tabel 6. Aturan tahap derivasional prefiks kedua menangani Contoh 546 Prefik s Peng ganti Kondisi Tambahan ber bel be per pel pe null null null null null null null ajar K*er... null ajar null empat prefix menangani Contoh berlari lari belajar ajar bekerja kerja Perlambat lambat pelajar ajar pekerja kerja Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 pemisahan awalan atau akhiran lain, yang mana tergantung pada pengghapusan awalan dan akhiran sebelumnya. e. Penanganan sufiks derivasional Aturan yang diterapkan untuk infleksional partikel sesuai dengan Tabel 7. Bentuk dipthong seringkali membuat masalah, terutama dipthong ai dan oi ketika berada di akhir kata. Dipthong akan sangat sulit dipisahkan secara otomatis dari kata derivat dengan akhiran –i seperti tandai yang terdiri dari 3 suku kata yaitu tan-da-i. Karena jumlah kata dengan dipthong lebih sedikit daripada jumlah kata dengan akhiran, maka dipthong dihilangkan atau dianggap tidak ada. Karakter terakhir (-i) dihilangkan sebagai hasil akhir dari proses stemming. Tabel 7. Aturan derivasional sufiks Sufi ks tahap kan Pen gga nti null an null prefiks {di,meng,ter} i null V|K...c1c1, c1s, c2i dan prefiks {ber,ke,peng} kelima ISSN: 2089-9813 3. METODOLOGI PENELITIAN 3.1 Bahan Bahan yang digunakan dalam penelitian ini adalah 50 dokumen berbahasa Indonesia dengan tema kesehatan, politik, ekonomi, dan budaya yang diambil dari beberapa sumber portal berita di internet. Jumlah kalimat pada tiap dokumen berkisar 30-40 kalimat. Komposisi dokumen yang digunakan untuk ujicoba ditunjukkan pada Tabel 8. Dokumendokumen ini digunakan sebagai masukan pada sistem. menangani Kondisi Tambahan Contoh prefiks {ke, peng} tarikkan tarik (meng)abaikana bai makanan makan (per)janjian janji tandai tanda (men)dapati dapat Tabel 8. Rekapitulasi hasil ujicoba stemming terhadap kata-kata pada dokumen Topik Kesehatan Politik Ekonomi Budaya Jumlah Dokumen 12 12 12 14 3.2 Alat Alat penelitian yang digunakan berupa notebook dengan spesifikasi: a. Processor Intel Core Duo T2050 @ 1,60GHZ. b. Memori 2 GB. c. Sistem Operasi Microsoft Windows XP Professional Sp 2. d. Bahasa Pemrograman PHP. e. Spreadsheet Microsoft Excel 2003. 2.5.2 Pemisahan prefiks dan pembenaran ejaan Pemisahan awalan dapat dialkukan seperti halnya melakukan pemisahan pada akhiran, dengan penggantian pada awal kata. Awalan pada beberapa kasus mengubah ejaan sebuah kata, sehingga koreksi atau pembenaran ejaan harus dilakukan. Sulit untuk implementasi koreksi ejaan ketika beberapa aturan pada struktur derivational pada bahasa Indonesia memiliki ambiguitas. Contohnya: memisahkan awalan meng- pada kata mengubah yang berasal dari kata ubah atau kubah. Hal ini tentu akan menyebabkan kesalahan stemming. 3.3 Rancangan Sistem 3.3.1 Flowchart Rancangan sistem secara umum dibagi menjadi 4 tahap, yaitu input dokumen, bagi menjadi kumpulan kata, penghilangan stopword, dan stemming. Sebagaimana dikemukakan oleh Fachrurrozi dkk. (2013), dan Zaman & Winarko (2011), stopword adalah daftar kata yang jumlahnya sangat besar yang mempunyai fungsi namun tidak perlu digunakan sebagai penciri dokumen. Contohnya: dan, yang, atau, ini, itu dan lain-lain. Daftar stopword yang digunakan sebagai acuan dalam penelitian ini adalah stopword yang digunakan oleh Tala (2003). Gambaran dari rancangan sistem ini ditunjukkan pada Gambar 7. 2.5.3 Pemisahan sisipan dan sisipan ganda Pemisahan sisipan dilakukan dengan melakukan penggantian awalan dan akhiran secara berurutan. Pemisahan awalan diakukan dulu. Kondisi lain ditambahkan untuk mengecek kemungkinan akhiran untuk membentuk kombinasi sisipan yang diperbolehkan dengan awalan yang sudah dihilangkan sebelumnya. Dengan mengabaikan akhiran inflectional, ada 5 kemungkinan kata turunan, yaitu: hanya awalan, hanya akhiran, kata sisipan, awalan dari sebuah kata sisipan, sisipan dari sebuah kata awalan. 3 kemungkinan pertama bisa didapatkan dari pemisahan awalan dan akhiran secara berurutan dan kondisi lain dari sisipan yang diperbolehkan. 2 kemungkinan yang lain sebenarnya adalah awalan ganda yang bisa diperoleh dengan menambahkan 547 Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 ISSN: 2089-9813 1 kata stopword Stopword 2 daftar kata Dokumen 1 Hapus Stopword Pisah Kata daftar kata tanpa stopword 3 2 kamus partikel kata partikel Hapus partikel 4 kata kata ganti Hapus kata ganti daftar kata tanpa partikel 3 kamus kata ganti 5 daftar kata tanpa kata ganti user Hapus prefiks1 4 kamus prefiks 1 5 kamus prefiks 2 kata prefiks 1 6 kata prefiks 2 hapus prefiks 2 daftar kata tanpa prefiks 1 7 daftar kata tanpa prefiks 2 Gambar 7. Rancangan sistem user Hasil Stemming 3.3.2 Document Flow Diagram (DFD) Perancangan proses dengan Data Flow Diagram (DFD) bertujuan untuk mengetahui proses tranformasi data dari input dokumen hingga menjadi output berupa hasil stemming. 6 Hasil Stemming kata sufiks 3.4 Evaluasi Sistem Evaluasi sistem dilakukan melalui 2 cara, yaitu correctness dan waktu. Correctness diukur dengan cara membandingkan hasil stemming dengan kamus kata dasar bahasa Indonesia, sedangkan waktu diukur berdasarkan waktu rata-rata yang dibutuhkan oleh sistem untuk melakukan stemming. 4. HASIL DAN PEMBAHASAN 4.1 Implementasi Sistem Berdasarkan rancangan pada pembahasan sebelumnya, maka secara umum untuk melakukan stemming diperlukan 5 sub proses, yaitu pemenggalan partikel, kata ganti, prefiks1, prefiks2, dan sufiks. Salah satu implementasi sistem untuk menghapus imbuhan partikel yang ditunjukkan pada Gambar 10. 0 Dokumen kamus sufiks Gambar 9. DFD Level 0 sistem a. Context Diagram Diagram konteks dibuat untuk menggambarkan sistem secara umum dan entitas yang terlibat di dalamnya. Dalam konteks diagram system yang akan dibuat terdapat 1 eksternal yakni user. Diagram konteks ini seperti pada Gambar 8. User memasukkan dokumen pada sistem, kemudian user menerima hasil stemming. user hapus sufiks Modifikasi Algoritma Porter untuk Stemming pada Kata Bahasa Indonesia + Gambar 8. Context diagram sistem 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. b. DFD Level 0 Dari context diagram pada Gambar 7 kemudian dijabarkan menjadi DFD Level 0 seperti yang ditunjukkan pada Gambar 9. Pada level ini terdapat 6 proses, yaitu pisah kata, hapus stopword, hapus partikel, hapus kata ganti, hapus prefix 1, hapus prefiks2, dan hapus sufiks. Proses hapus stoword dilakukan dengan cara membandingkan suatu kata dengan daftar kata stopword dari datastore stopword. Hal ini juga berlaku bagi kelima proses lainnya di mana sebelum dilakukan penghapusan suatu imbuhan, terlebih dahulu dicek dahulu ke masingmasing datastore, misalnya sub proses menghapus partikel, maka harus dicek dahulu di datastore kamus partikel. if(!word.compare(word.size()-3,3,"kah")) { word.resize(word.size()-3); imbuhan.push_back(Konfiks(0,"kah")); } else if(!word.compare(word.size()-3,3,"lah")) { word.resize(word.size()-3); imbuhan.push_back(Konfiks(0,"lah")); } } Gambar 10. Algoritma menghapus partikel 4.2 Desain user interface (UI) Sistem menerima masukan dokumen berupa teks, kemudian dengan event klik tombol proses akan dilakukan proses stemming terhadap dokumen tersebut. Halaman UI untuk masukan dokumen pada sistem ditunjukkan pada Gambar 11. 548 Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 ISSN: 2089-9813 4.3 Ujicoba Ujicoba sistem dilakukan terhadap ke-50 dokumen yang sudah dipersiapkan. Tiap dokumen dihitung jumlah kata yang akan di-stemming, waktu yang dibutuhkan untuk stemming keseluruhan kata pada dokumen tersebut, dan persentase kebenaran hasil stemming yang dibandingkan dengan kamus kata dasar bahasa Indonesia. Jumlah kata awal untuk keseluruhan dokumen adalah 24.601 kata. Kemudian dilakukan proses penghilangan stopword sehingga jumlah kata saat ini adalah 16.035. Jumlah yang terakhir ini kemudian diperlakukan proses stemming. Dari jumlah ini sistem berhasil melakukan stemming sebanyak 10.840 kata atau dengan kata lain tingkat kebenaran (correctness) sebesar 0.66. Sedangkan waktu yang dibutuhkan untuk memproses keseluruhan kata (setelah dihapus stopword) selama 0.000041976 detik atau dengan rata-rata proses stemming per kata selama 0.000000160 detik. Hasil rekapitulasi untuk masing-masing dokumen berdasarkan topik ditunjukkan pada Tabel 9 (appendix). Dari rekapitulasi ujicoba tersebut dapat ditunjukkan bahwa untuk topik Budaya memiliki tingkat kebenaran stemming sebesar 0.66 dengan waktu rata-rata yang dibutuhkan untuk stemming per kata selama 0.000000120 detik. Waktu yang dibutuhkan untuk melakukan proses stemming bersifat relatif, di antaranya relatif terhadap alat atau pun bahasa pemrograman yang digunakan. Sedangkan tingkat kebenaran hasil stemming ternyata dipengaruhi oleh jumlah koleksi kata dasar pada masing-masing imbuhan. Semakin lengkap, maka akurasi dari hasil sistem semakin baik. Gambar 11. Tampilan UI sistem untuk memasukkan dokumen Tampilan UI hasil dari keluaran sistem ditunjukkan pada Gambar 12. Hasil keluaran sistem yang utama ada 2, yaitu waktu yang dibutuhkan untuk melakukan stemming keseluruhan kata pada dokumen, dan tingkat kebenaran hasil stemming sistem. Hasil stemming untuk kata yang berwarna biru berarti sukses atau kata tersebut terdapat pada kamus kata dasar bahasa Indonesia, sedangkan warna hitam berarti gagal dalam melakukan stemming. Selain 2 hasil utama di atas, juga terdapat jumlah kata sebelum diproses, dan sesudah diproses oleh sistem. Jumlah kata tersebut terjadi pengurangan karena di awal proses terjadi penghapusan stopword. Artinya kata-kata yang termasuk stopword tidak ikut dilakukan stemming. 5. KESIMPULAN Berdasarkan hasil ujicoba dan evaluasi, maka dapat disimpulkan beberapa hal, di antaranya: a. Proses stemming untuk kata pada bahasa Indonesia dapat mengadopsi algoritma porter stemmer. b. Akurasi porter stemmer yang dimodifikasi untuk stemming pada kata bahasa Indonesia adalah 0.66 sedangkan rata-rata waktu proses tiap kata selama 0.000000160 detik. c. Hasil akurasi stemming sangat bergantung pada koleksi kamus kata dasar terkait imbuhan. Semain lengkap koleksi, maka akurasi dari hasil stemming akan semakin baik. 6. SARAN Untuk mencapai hasil penghitungan analisis Porter Stemmer yang lebih akurat dan maksimal maka kamus kata terkait imbuhan yang terdapat dalam program harus selalu di update mengikuti perkembangan kata bahasa Indonesia. Gambar 12. Tampilan UI sistem saat menghasilkan hasil keluaran 549 Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014 ISSN: 2089-9813 Tala, F. Z. (2003). A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia. Amsterdam: Institute for Logic, Language and Computation, Universiteit van Amsterdam. Zaman, B., & Winarko, E. (2011). Analisis Fitur Kalimat untuk Peringkas Teks Otomatis pada Bahasa Indonesia. Indonesian Journal of Computing and Cybernatics Systems (IJCSS) , 60-68. 7. PUSTAKA Adisantoso, J., Wigena, A. H., & Akhmadi, C. H. (2003). Algoritma Pemotong Akhiran Baku untuk Kata dalam Bahasa Indonesia Berbasis Algoritma Porter. Majalah Ilmiah – Ilmu Komputer, Vol.1 No.1, 1-8. Ali, N. H., & Ibrahim, N. S. (2012). Porter Stemming Algorithm for Semantic Checking. Proceedings of International Conference on Computer and Information Technology (ICCIT) 2012, (hal. 253-258). Baeza-Yates, R., & Ribeiro-Neto, B. (1999). Modern Information Retrieval. New York: ACM Press. Fachrurrozi, M., Yusliani, N., & Yoanita, R. U. (2013). Frequent Term Based Text Summarization for Bahasa Indonesia. International Conference on Innovation in Engineering and Technology (ICIET 2013) Dec. 25-26, (hal. 30-32). Bangkok (Thailand). Gupta, V. (2014). Suffix Stripping Based Verb Stemming for Hindi. International Journal of Advanced Research in Computer Science and Software Engineering Volume 4, Issue 1, January , 179. Husni, M., & Zaman, B. (2005). Perangkat lunak Peringkas Dokumen Berbahasa Indonesia dengan Hybrid Stemming. Surabaya: Teknik Informatika Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember. Manning, C. D., Raghavan, P., & Schutze, H. (2008). Introduction to Information Retrieval. New York: Cambridge University Press. Ramlan, M. (1997). Ilmu Bahasa Indonesia: Morfologi Suatu Tinjauan Deskriptif. Yogyakarta: CV Karyono. Sembok, T. M., & Ata, B. A. (2013). Arabic Word Stemming Algorithms and Retrieval Effectiveness. Proceeedings of the World Congress on Engineering Vol III, WCE 2013, July 3-5, 2013. London, U.K. APPENDIX Tabel 9. Rekapitulasi hasil ujicoba stemming terhadap kata-kata pada dokumen berdasarkan topik Topik Kesehatan Politik Ekonomi Budaya Jumlah A B 4497 3076 5710 3,815 6146 4,091 8248 5,053 24,601 16,035 Rata-rata C T1 (detik) T2 (detik) Correctn ess 1875 2,469 2,761 3,735 10,840 0.000041992 0.000041889 0.000042217 0.000041805 0.000000171 0.000000165 0.000000185 0.000000120 0.61 0.64 0.66 0.74 0.000041976 0.000000160 0.66 A : Jumlah kata sebelum dihapus stopword B : Jumlah kata setelah dihapus stopword C : Jumlah kata yang berhasil di-stemming T1 : Waktu untuk memproses stemming keseluruhan kata 550