Algoritma Enhanced confix strippingStemmer

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