modifikasi algoritma porter untuk stemming pada kata bahasa

advertisement
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, c1s,
c2i 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)abaikana
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
Download