Berdasarkan penelitian-penelitian terdahulu maka penulis dalam penelitian ini menggunakan enhanced confix stripping stemmer dalam menyelesaikan
permasalahan stemming agar sesuai dengan aturan morfologi pada bahasa isyarat Indonesia.
2.3 Algoritma Enhanced confix strippingStemmer
Enhanced confix stripping stemmer merupakan salah satu algoritma yang dapat mengatasi proses stemming yang spesifik untuk Bahasa Indonesia. Pemilihan
algoritma enhanced confix stripping stemmer merujuk pada penelitian Mahendra 2008. Pada dasarnya, algoritma enhanced confix stripping stemmer merupakan
modifikasi dari algoritma confix stripping stemmer Asian, 2007 yang dikembangkan dari algoritma stemming yang dibuat oleh Nazief dan Adriani 1996 dengan beberapa
penambahan aturan tertentu yang telah terbukti mampu meningkatkan kinerja stemmer tersebut. Algoritma stemming Nazief dan Adriani dikembangkan berdasarkan pada
aturan morfologi Bahasa Indonesia yang mengelompokkan dan mengenkapsulasi imbuhan-imbuhan, termasuk di dalamnya adalah awalan prefix, sisipan infix,
akhiran suffix dan gabungan awalan-akhiran confixes. Algoritma enhanced confix stripping stemmer menambahkan penggunaan kamus kata dasar dan mendukung
recoding, yakni penyusunan kembali kata-kata yang mengalami proses stemming berlebih.
Tabel 2.1 Kombinasi Awalan-Akhiran yang dilarang Awalan
prefix Akhiran suffix
yang tidak diperbolehkan
be- -i
di- -an
ke- -i, -kan
me- -an
se- -i, -kan
te- -an
Algoritma enhanced confix stripping stemmer Mahendra, 2008 adalah sebagai berikut:
1. Cek kombinasi akhiran dan awalan yang dilarang sesuai Tabel 2.1, apabila
bernilai benar maka lakukan penghilangan awalan terlebih dahulu. Apabila bernilai salah, maka penghilangan akhiran dilakukan terlebih dahulu.
Universitas Sumatera Utara
2. Lakukan recoding apabila diperlukan.
3. Lakukan loopPengembalianAkhiran.
4. Cek apakah terdapat tanda hubung ‘-’ yang menandakan bahwa input kata
tersebut adalah kata ulang atau bentuk jamak. Jika ada, maka lakukan stemming pada sub-kata di sebelah kiri dan kanan tanda hubung tersebut.
Apabila stemming memberikan hasil yang sama, maka kata dasar kata ulang tersebut adalah hasil stemming yang didapatkan.
5. Jika proses-proses di atas gagal, maka input kata yang distemming dianggap
sebagai kata dasar. Pada setiap langkah, dilakukan proses pengecekan output stemming ke kamus.
Apabila ditemukan, maka proses ini berhenti. Berikut adalah contoh proses stemming pada kata “perpolitikan” dengan menggunakan enhanced confix stripping stemmer:
1. Cek kombinasi awalan dan akhiran yang dilarang: salah. Hilangkan akhiran
terlebih dahulu.Penghilangan akhiran menyisakan kata “perpoliti”. 2.
Penghilangan awalan menyisakan kata “politi” sesuai aturan 23 pada Tabel 2.2.
3. Karena aturan 23 pada Tabel 2.2 tidak mendefinisikan karakter recoding, maka
proses recoding tidak dilakukan. 4.
Kata “politi” tidak ada di kamus, oleh karena itu dilakukan loopPengembalianAkhiran:
Awalan-awalan yang telah dihilangkan, dikembalikan lagi. Langkah ini menghasilkan kata “perpoliti”.
Akhiran-akhiran dikembalikan. Karena akhiran yang sebelumnya dihilangkan adalah “-kan”, maka karakter ’k’ saja yang dikembalikan
terlebih dahulu. Proses ini menghasilkan kata “perpolitik”.
Karena “perpolitik” tidak ada di kamus, maka proses penghilangan awalan dilakukan. Proses ini menghasilkan kata “politik”.
Karena “politik”
ditemukan dalam
kamus, proses
loopPengembalianAkhiran ini berhenti. Kata dasar “perpolitikan” adalah “politik”.
Pada Tabel 2.2, simbol C merupakan konsonan, simbol V menandakan vokal, simbol A merupakan vokal atau konsonan, dan simbol P merepresentasikan partikel atau
fragmen dari suatu kata, misalnya “er”.
Universitas Sumatera Utara
Tabel 2.2 Aturan Pemenggalan Awalan Stemmer Nazief dan Adriani yang sudah dimodifikasi
Aturan Format Kata
Pemenggalan Contoh
1 berV...
ber-V... | be-rV... Ber-air
2 berCAP.
.. ber-CAP...
dimana C= ‘r’ P= ‘er’
Bersamalah 3
berCAer V...
ber-CaerV... dimana
C= ‘r’ 4
belajar bel-ajar
5 beC1erC
2... be-C1erC2... dimana
C1={‘r’|‘l’} 6
terV... ter-V... | te-rV...
Terajarkan 7
terCerV. ..
ter-CerV... dimana
C= ‘r’ 8
terCP... ter-CP...
dimana C=‘r’ dan P=‘er’
Terbukalah 9
teC1erC 2...
te-C1erC2... dimana
C1=‘r’ 10
me{l|r|w |y}V...
me-{l|r|w|y}V... Me-rampok,
me-lahirkan, me-warnai, me-yakinkan
11 mem{b|f
|v}... mem-{b|f|v}...
Mem-baca, mem-filmkan 12
mempe …
mem-pe... Mem-pelopori
13 mem{rV
|V}... me-m{rV|V}... | me-
p{rV|V}... Me-program
14 men{c|d|
j|s|z}... men-{c|d|j|z}...
Men-cintai, men-datangkan, men-jumpai,
15 menV... me-nV... | me-tV
Me-nikmati | me-tarik 16
meng{g| h|q|k}...
meng-{g|h|q}... Meng-gugurkan,
meng- hidangkan
17 mengV..
. meng-V... |meng-kV...|
mengV- ... jika V=’e’
Meng-ajarkan. Meng-eja,
meng-kejutkan 18
menyV.. .
meny-sV... Meny-sekolahkan
19 mempA.
.. mem-pA...
dengan A=’e’
Mem-populerkan 20
pe{w|y} V...
pe-{w|y}V... Pe-waris
21 perV...
per-V... | pe-rV... Per-anakan
23 perCAP per-CAP...
dimana C=‘r’ dan P=‘er’
24 perCAer
V... per-CAerV... dimana
C=‘r’ 25
pem{b|f| V}...
pem-{b|f|V}... Pembaca,
Universitas Sumatera Utara
Tabel 2.2 Aturan Pemenggalan Awalan Stemmer Nazief dan Adriani yang sudah dimodifikasi Lanjutan
Aturan Format Kata
Pemenggalan Contoh
26 pem{rV|
V}... pe-m{rV|V}... | pe-
p{rV|V}... Pemrogaman
27 pen{c|d|j
|z}... pen-{c|d|j|z}...
Pencucian, pendapatan,
penjaga 28
penV... pe-nV... | pe-tV...
Penikmat | penarik 29
pengC... peng-C... Penggajian,
30 pengV... peng-V... | peng-kV...|
pengV- ... jika V=’e’
Pengajaran, pengejutan,
pengeja 31
penyV... peny-sV... Penyekolahan
32 pelV...
pe-lV... kecuali
“pelajar” yang
menghasilkan “ajar” Pelarut
33 peCerV.
.. per-erV...
dimana C={r|w|y|l|m|n}
34 peCP...
pe-CP... dimana
C={r|w|y|l|m|n} dan P=‘er’
35 terC
1
erC
2…
ter-C1erC2... dimana C1= ‘r’
36 peC1erC
2... pe-C1erC2... dimana
C1={r|w|y|l|m|n}
Pada bahasa isyarat Indonesia tidak terdapat aturan mengenai sisipan, sehingga untuk kata awal yang di-input-kan memiliki sisipan akan dianggap sebagai kata dasar.
Proses stemming untuk penelitian Darmawan et al 2011 dapat direpresentasikan dengan flowchart pada Gambar 2.4 berikut. Langkah pertama
adalah mencocokkan term pada elemen di index tertentu dengan daftar “kata dasar”
dalam database kamus. Jika cocok maka term tersebut langsung disimpan dalam variable stemTerm, jika tidak maka dilakukan pengecekan rulePrecedence yakni
larangan kombinasi awalan dan akhiran. Jika rulePrecedence mengembalikan nilai true proses reduksiAwalan dilakukan dan selanjutnya melakukan pencocokan kembali
terhadap database kamus, jika tidak lakukan proses recording bila perlu. Jika semua proses itu tidak berhasil, maka term yang ada langsung disimpan dalam variable dan
dianggap sebagai sebuah kata dasar. Proses ini terus berulang pada setiap elemen yang mengandung term di variable filterTerm hingga akhir elemen variable ini.
Universitas Sumatera Utara
Start Daftar
filterTerm dalam tipe
data vektor
Proses pencocokan fliterTerm[index]
dengan kamus index + 1
Kamus
filterTerm[index] == token
Cek rulePrecedence
Term == kamus
Proses reduksiAwalan
True
Proses reduksiAkhiran
False
Term == kamus
Sudah melakukan proses reduksiAwalan
False
Proses loopPengembalianAkhiran
Cek apakah term merupakan kata ulang
Proses ambil sub kata di sebelah kanan dan kiri setelah
tanda “-” Lakukan proses
stemming pada dua sub kata
Index filterTerm.size
Proses simpan term ke variabel
stemTerm Sama ?
Proses pengembalian kata ulang sebelum proses
stemming Daftar
stemTerm dalam tipe
data vektor Finish
Recording ?
Term == kamus
recording False
True
False
True True
False True
True False
True
Gambar 2.4 Flowchart Proses Stemming
Universitas Sumatera Utara
2.4 Bahasa Pemrograman PHP