Implementasi Algoritma Enhanced Confix Stripping Stemmer Pada Kamus Sistem Bahasa Isyarat Indonesia

BAB 2
TINJAUAN PUSTAKA

Pada bab ini, akan dibahas landasan teori, penelitian terdahulu, dan kerangka pikir
yang mendasari penyelesaian permasalahan stemming

dengan menggunakan

algoritma enhanced confix stripping stemmer.
2.1 Kamus Sistem Bahasa Isyarat Indonesia
Sistem Isyarat Bahasa Indonesia (SIBI) yang telah dibakukan merupakan salah satu
media yang membantu komunikasi sesama kaum tunarungu di dalam masyarakat yang
lebih luas.Wujudnya adalah tataan yang sistematis tentang seperangkat isyarat jari,
tangan, dan berbagai gerak yang melambangkan kosa kata bahasa Indonesia. Di dalam
upaya pembakuan tersebut, dipertimbangkan beberapa tolak ukur yang mencakup segi
kemudahan, keindahan, dan ketepatan pengungkapan makna atau struktur kata, di
samping beberapa segi yang lain.
Berdasarkan pembentukannya, isyarat dapat dibedakan menjadi tiga macam :
1. Isyarat pokok, yaitu isyarat yang melambangkan sebuah kata atau konsep.
Isyarat ini dibentuk dengan berbagai macam penampil, tempat, arah, dan
frekuensi sebagaimana telah diuraikan di atas.

2. Isyarat tambahan, yaitu isyarat yang melambangkan awalan, akhiran, dan
partikel.
a. Isyarat awalan
Isyarat ini dibentuk dengan tangan kanan sebagai penampil utama dan
tangan

kiri

sebagai

penampil

pendamping.Isyarat

walan

dibentuksebelum isyarat pokok.Seluruhnya ada tujuh buah isyarat
awalan yang meliputi isyarat awalan me-, ber-, di-, ke-, pe-, ter-, dan
se-.
Contohnya dapat dilihat pada Gambar 2.1 dengan kata melempar.


Universitas Sumatera Utara

6

Gambar 2.1 Contoh kata melempar
b. Isyarat akhiran dan partikel
Isyarat ini dibentuk sesudah isyarat pokok dengan tangan kanan
sebagai penampil, bertempat di depan dada dan digerakkan mendatar
ke kanan. Isyarat ini terdiri atas isyarat akhiran -i, -kan,-an, -man, wati,-wan, dan partikel –lah, -kah, dan –pun.
Contohnya dapat dilihat pada Gambar 2.2 dengan kata alirkan.

Gambar 2.2 Contoh kata alirkan
c. Isyarat bentukan
Isyarat ini dibentuk dengan menggabungkan isyarat pokok dengan
isyarat imbuhan dan dengan menggabungkan dua isyarat pokok atau
lebih.
a. Isyarat yang mendapat awalan dan/atau akhiran/partikel, isyarat
yang hanya mendapat awalan dan hanya akhiran, atau gabungan
awalan


dan

akhiran

dibentuk

sesuai

dengan

urutan

pembentukannya.

Universitas Sumatera Utara

7

Contohnya


dapat

dilihat

pada

Gambar

2.3

dengan

kata

berlompatan.

Gambar 2.3 Contoh kata berlompatan
3. Abjad jari
Abjad jari adalah isyarat yang dibentuk dengan jari-jari tangan (kanan atau

kiri) untuk mengeja huruf dan angka.
Bentuk isyarat bagi huruf dan angka di dalam Sistem Isyarat Bahasa
Indonesia serupa dengan International Manual Alphabet (dengan perubahanperubahan).
Abjad jari digunakan untuk :
a. Mengisyaratkan nama diri;
b. Mengisyaratkan singkatan atau akronim; dan
c. Mengisyaratkan kata yang belum ada isyaratnya.
2.2 Proses Stemming
Stemming merupakan suatu proses yang terdapat dalam sistem IR (Information
Retrieval) untuk mengolah kata-kata yang terdapat dalam suatu dokumen dengan
menggunakan aturan-aturan tertentu sehingga didapatkan kata dasarnya (root word).
Sebagai contoh, kata bersama, kebersamaan, menyamai, akan distem ke root wordnya yaitu “sama” (Mahendra et al, 2008).
Algoritma stemming untuk bahasa yang satu berbeda dengan algoritma
stemming untuk bahasa lainnya. Sebagai contoh bahasa Inggris memiliki morfologi
yang berbeda dengan bahasa Indonesia sehingga algoritma stemming untuk kedua
bahasa tersebut juga berbeda. Proses stemming pada teks berbahasa Indonesia lebih
rumit/kompleks karena terdapat variasi imbuhan yang harus dibuang untuk

Universitas Sumatera Utara


8

mendapatkan root word (kata dasar) dari sebuah kata. Pada umumnya kata dasar pada
bahasa Indonesia terdiri dari kombinasi:
Prefiks 1 + Prefiks 2 + Kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1
Algoritma confix-stripping stemmer adalah algoritma yang akurat dalam stemming
bahasa Indonesia karena sesuai dengan aturan morfologi bahasa Indonesia (Adriani et
al, 2007).
Dalam menyelesaikan permasalahan untuk melakukan proses stemming secara
tepat, para peneliti telah banyak menggunakan algoritma-algoritma yang dapat
memberikan hasil yang sesuai harapan.
Mahendra et al (2008) mengembangkan enhanced confix stripping stemmer,
sebagai perbaikan dari algoritma confix strippingstemmeruntuk stemmingdokumen
berita berbahasa Indonesia. Hasil uji coba membuktikan bahwa enhanced confix
stripping stemmerberhasil mengatasi kesalahan-kesalahan confix stripping stemmer
dan mampu mereduksi jumlah term hingga 32.66%, sedangkan confix stripping
stemmer hanya mampu mereduksi 30.95% jumlah term.
Tahitoe dan Purwitasari (2006) pada penelitiannya mengimplementasikan metode
corpus based stemming untuk memperbaiki kesalahan stemming dari algoritma ECS.
Dari hasil uji coba, perbaikan yang dilakukan dapat memperbaiki seluruh kesalahan

stemming yang dilakukan oleh algoritma ECS Stemmer.
Budhi et al (2006) menggunakan algoritma Porter Stemmer for Bahasa
Indonesia untuk proses stemming pada langkah pre-processing yang mengubah sebuah
teks dalam bahasa Indonesia menjadi bentuk Compact Transaction. Compact
Transaction digunakan sebagai masukan untuk proses Keyword-Based Association
Analysis, sebuah metode Text Mining yang dikembangkan dari metode Market Basket
Analysis, digunakan untuk membentuk rule-rule asosiasi dari data teks. Dari hasil uji
coba didapatkan bahwakesalahan proses 'stem' kata secara otomatis cukup kecil, yaitu
2% sehingga dapat diatasi dengan cepat menggunkan pemeriksaan kembali secara
manual terhadap hasil stemmer.
Darmawan et al menggunakan algoritma enhanced confix stripping stemmer
dalam penelitiannya.Pemilihan algoritma Enhanced confix stripping stemmer merujuk
pada penelitian I Putu Adhi Kerta Mahendra yang merupakan salah satu mahasiswa
Institut Teknologi Sepuluh November (ITS) – Surabaya mengenai metode atau
algoritma stemming yang spesifik untuk Bahasa Indonesia (Mahendra, 2008).

Universitas Sumatera Utara

9


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)
bedikemesete-

Akhiran (suffix)
yang
tidak diperbolehkan

-i
-an
-i, -kan
-an
-i, -kan
-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

10

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

11

Tabel 2.2 Aturan Pemenggalan Awalan Stemmer Nazief dan Adriani yang
sudah dimodifikasi
Aturan Format
Kata
1
berV...
2
berCAP.
..
3
berCAer
V...
4
belajar
5
beC1erC
2...
6
terV...
7
terCerV.
..
8
terCP...
9
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25

teC1erC
2...
me{l|r|w
|y}V...
mem{b|f
|v}...
mempe

mem{rV
|V}...
men{c|d|
j|s|z}...
menV...
meng{g|
h|q|k}...
mengV..
.
menyV..
.
mempA.
..
pe{w|y}
V...
perV...
perCAP
perCAer
V...
pem{b|f|
V}...

Pemenggalan

Contoh

ber-V... | be-rV...
ber-CAP...
dimana
C!= ‘r’ & P!= ‘er’
ber-CaerV... dimana
C!= ‘r’
bel-ajar
be-C1erC2... dimana
C1!={‘r’|‘l’}
ter-V... | te-rV...
ter-CerV...
dimana
C!= ‘r’
ter-CP...
dimana
C!=‘r’ dan P!=‘er’
te-C1erC2... dimana
C1!=‘r’
me-{l|r|w|y}V...

Ber-air
Bersamalah

Terajarkan

Terbukalah

mem-{b|f|v}...

Me-rampok, me-lahirkan,
me-warnai, me-yakinkan
Mem-baca, mem-filmkan

mem-pe...

Mem-pelopori

me-m{rV|V}... | me- Me-program
p{rV|V}...
men-{c|d|j|z}...
Men-cintai, men-datangkan,
men-jumpai,
me-nV... | me-tV
Me-nikmati | me-tarik
meng-{g|h|q}...
Meng-gugurkan,
menghidangkan
meng-V... |meng-kV...| Meng-ajarkan.
Meng-eja,
(mengV-... jika V=’e’) meng-kejutkan
meny-sV...
Meny-sekolahkan
mem-pA...
A!=’e’
pe-{w|y}V...

dengan Mem-populerkan
Pe-waris

per-V... | pe-rV...
Per-anakan
per-CAP...
dimana
C!=‘r’ dan P!=‘er’
per-CAerV... dimana
C!=‘r’
pem-{b|f|V}...
Pembaca,

Universitas Sumatera Utara

12

Tabel 2.2 Aturan Pemenggalan Awalan Stemmer Nazief dan Adriani yang
sudah dimodifikasi (Lanjutan)
Aturan Format
Kata
26
pem{rV|
V}...
27
pen{c|d|j
|z}...
28
penV...
29
pengC...
30
pengV...
31
32

33
34

35
36

Pemenggalan
pe-m{rV|V}...
p{rV|V}...
pen-{c|d|j|z}...

Contoh
| pe- Pemrogaman

Pencucian,
pendapatan,
penjaga
pe-nV... | pe-tV...
Penikmat | penarik
peng-C...
Penggajian,
peng-V... | peng-kV...| Pengajaran,
pengejutan,
(pengV-... jika V=’e’) pengeja
penyV... peny-sV...
Penyekolahan
pelV...
pe-lV...
kecuali Pelarut
“pelajar”
yang
menghasilkan “ajar”
peCerV. per-erV...
dimana
..
C!={r|w|y|l|m|n}
peCP...
pe-CP...
dimana
C!={r|w|y|l|m|n} dan
P!=‘er’
terC1erC ter-C1erC2... dimana
C1!= ‘r’
2…
peC1erC pe-C1erC2... dimana
2...
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

13

Start

Daftar
filterTerm
dalam tipe
data vektor

Proses pencocokan
fliterTerm[index]
dengan kamus

Kamus

(filterTerm[index] == token)

(Term ==
kamus)

index + 1

False

Recording ?

True
Cek
rulePrecedence()

recording

Proses
reduksiAwalan()

True

False

False

False

(Term ==
kamus)
Proses
reduksiAkhiran()

(Term ==
kamus)

False

True
Sudah melakukan proses
reduksiAwalan()
True
True
Proses loopPengembalianAkhiran()

Cek apakah term
merupakan kata ulang

Proses ambil sub kata di
sebelah kanan dan kiri setelah
tanda “-”

(Index >
filterTerm.size())

Proses simpan
term ke variabel
stemTerm

Lakukan proses
stemming pada dua sub
kata

True

Sama ?

False

Proses pengembalian kata
ulang sebelum proses
stemming

True
Daftar
stemTerm
dalam tipe
data vektor

Finish

Gambar 2.4 Flowchart Proses Stemming

Universitas Sumatera Utara

14

2.4 Bahasa Pemrograman PHP
PHP (Hypertext Preprocessor) adalah bahasa komputer yang dibuat untuk
pengembangan web dinamis. Pada umumnya PHP digunakan di server namun juga
dapat berdiri sendiri sebagai aplikasi graphical (Kadir, 2001).
Penggunaan

PHP

dan

MySQL

dipilih

karena

PHP

dan

MySQL

memilikibeberapa kelebihan seperti dinyatakan oleh Sutarman (2007) kelebihannya
sebagai berikut:
1. Bahasa pemograman PHP adalah sebuah bahasa script yang tidak melakukan
sebuah kompilasi dalam penggunaannya.
2. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai IIS
sampai dengan Apache dengan konfigurasi yang relatif mudah.
3. Dapat berjalan pada sistem operasi yang berbeda seperti UNIX, Windows, dan
Macintosh.
Sedangkan database MySQL memiliki beberapa kelebihan, yaitu:
1. Portability
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows,Linux,
FreeBSD, Mac Os X Server, Solaris, Amiga dan masih banyak lagi.
2. Open Source
MySQL dapat didistribusikan secara open source, dibawah lisensi GPL sehingga
dapat digunakan secara gratis.
3. Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa
mengalami masalah atau konflik.
4. Performance tuning
MySQL memiliki kecepatan yang baik dalam menangani query sederhana, dengan
kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Column types
MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/ unsignedinteger,
float, double, char, text, date, timestamp, dan lain-lain.
6. Command dan functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select
dan Where dalam query.
7. Security

Universitas Sumatera Utara

15

MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, namahost,dan
izin akses user dengan sistem perizinan yang perizinan yang mendetail serta password
terenkripsi.
8. Scalability dan limits
MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih
dari 50 juta dan 60 juta ribu serta 5 milyar baris. Selain itu batas indeksyang dapat
ditampung mencapai 32 indeks pada tiap tabelnya.
9. Connectivity
MySQL dapat melakukan koneksi dengan client menggunakan protocolTCP/IP, Unix
soket (UNIX), atau Named Pipes (NT).
10. Localization
MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakanlebih dari
dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di
dalamnya.
11. Interface
MySQL

memiliki interface (antar

muka)

terhadap berbagai aplikasi dan

bahasapemograman dengan menggunakan fungsi API (Application Programming
Interface).
12. Clients dan tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk adminsitrasi
database, dan pada setiap tool yang ada disertakan petunjuk online.
13. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTERTABLE,
dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.
PHP mempunyai lima macam tipe data, yaitu:
1. Integer : Tipe data ini digunakan untuk menyatakan bilangan bulat karena
tidak mempunyai titik desimal sehingga tidak diperbolehkan menggunakan
karakter koma antara dua bilangan.
2. Float/double atau bilangan pecahan
3. String : tipe data berupa deretan karakter yang membentuk satu kata atau
satu kalimat, yang biasanya diapit oleh dua tanda kutip

Universitas Sumatera Utara

16

4. Array : suatu struktur datayang terdiri atas banyak variabel dengan
tipe data sama, dimana masing-masing elemen variabel mempunyai nilai
indeks.
5. Objek
Tipe data yang digunakan adalah array yang berfungsi untuk menampung
sejumlah nilai yang berbeda. Data yang disimpan dalam array menggunakan indeks
yang berfungsi untuk memudahkan pencarian kembali data tersebut. Dalam penelitian
ini, fungsi tersebut sangat dibutuhkan ketika kalimat diparsing akan disimpan di dalam
array dengan indeks yang autoincrement dan data akan dipanggil kembali sesuai
indeksnya saat menampilkan gambar dari database. Tipe data array memiliki pointer
untuk menunjukkan dimana indeks yang aktif. Untuk array yang baru dideklarasikan,
nomor indeks adalah nomor indeks yang pertama [0]. Untuk mengetahui nomor
indeks yang aktif digunakan fungsi key() dan untuk mengetahui jumlah elemenkata
yang telah diparsing digunakan fungsi count().
Pada PHP juga tersedia fungsi bernama ereg yang dapat digunakan untuk
menangani ekspresi regular (dalam hal ini digunakan fungsi preg() karena kompatibel
pada PHP 5.3 dan versi selanjutnya, khususnya fungsi preg_replace yang berguna
untuk mengganti suatu bagian string dengan string yang lain berdasarkan ekspresi
regular).

Universitas Sumatera Utara