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.1Kamus 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-.
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.
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 perubahan-perubahan).
Abjad jari digunakan untuk : a. Mengisyaratkan nama diri;
b. Mengisyaratkan singkatan atau akronim; dan c. Mengisyaratkan kata yang belum ada isyaratnya.
2.2Proses 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 word -nya 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
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
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.3Algoritma 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:
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
Tabel 2.2 Aturan Pemenggalan Awalan Stemmer Nazief dan Adriani yang
C!=‘r’ dan P!=‘er’ Terbukalah
9 teC1erC
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
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}...
Tabel 2.2 Aturan Pemenggalan Awalan Stemmer Nazief dan Adriani yang
pen-{c|d|j|z}... Pencucian, pendapatan, penjaga
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”
Start
Proses ambil sub kata di sebelah kanan dan kiri setelah
tanda “-”
Lakukan proses stemming pada dua sub
kata
2.4Bahasa 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
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
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().