aturan dasar imbuhan

advertisement
TUGAS 1
Sistem Temu Kembali Informasi (A)
Dosen : Ibu Diana Purwitasari, S.Kom. M.Kom
“Stemming”
Oleh :
Kelompok 14
Yasfin Fajri
Wahyu Haristya P.
Evan Yofiyanto
Rizki Akbar Maulana
Grala Bagus A.
Ahmad Fuadi
5105100074
5106100038
5106100049
5106100075
5106100093
5106100148
Teknik Informatika
Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember
Semester Gasal Tahun Akademik 2009-2010
BAB 1
PENDAHULUAN
Pada bab ini dijelaskan hal-hal dasar yang berkaitan dengan pengerjaan tugas mata kuliah
STKI ini. Adapun hal-hal dasar tersebut meliputi : latar belakang ; permasalahan ; batasan
masalah ; dan tujuan dari pengerjaan tugas ini.
1.1 Latar Belakang
Teknologi saat ini telah mengalami percepatan yang sangat signifikan, percepatan ini
pun memberikan dampak yang signifikan pula pada aspek-aspek kehidupan manusia.
Percepatan teknologi ini pun ikut merambah pada bidang penyediaan informasi. Internet
sebagai media informasi menyimpan berjuta-juta dokumen/informasi digital. Hal ini
membuat proses klasifikasi dokumen/informasi menjadi sedikit lebih rumit. Metode yang
sering digunakan adalah metode klasifikasi dengan menggunakan steammer.
Stemming merupakan suatu proses untuk menemukan kata dasar dari sebuah kata.
Dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan (prefixes),
sisipan (infixes), akhiran (suffixes) dan confixes (kombinasi dari awalan dan akhiran) pada
kata turunan. Stemming dapat digunakan pada struktur pembentukan kata dalam bahasa
Indonesia untuk mengganti bentuk dari suatu kata menjadi kata dasar dari kata tersebut yang
sesuai dengan struktur morfologi Bahasa Indonesia yang baik dan benar. Untuk selanjutnya
dapat ditemukan kata-kata kunci ( key word ) pada corpus dokumen yang diproses. Key word
ini merupakan kata dasar yang telah didapatkan dari proses stemming.
1.2 Permasalahan
Permasalahan yang berusaha dipecahkan pada tugas ini adalah :
a. Bagaimana stemmer ini dapat mengakomodir permasalahan infiks, sufiks, prefiks,
konfiks dengan baik.
b. Bagaimana mendapatkan hasil stemming yang meminimalisir kesalahan.
1.3 Batasan Masalah
Pada proses pengerjaan, kami merancang suatu batasan masalah sebagai acuan dalam
penyelesaian tugas ini :
a. Kata-kata yang digunakan adalah kata-kata dalam bahasa Indonesia.
b. Bahasa pemrograman yang digunakan adalah Java. Hal ini dilakukan untuk
menyesuaikan dengan referensi yang kami miliki.
BAB 2
TINJAUAN PUSTAKA
2.1 Sejarah Bahasa Indonesia
Bahasa Indonesia adalah bahasa resmi Republik Indonesia sebagaimana disebutkan
dalam Undang-Undang Dasar RI 1945, Pasal 36. Ia juga merupakan bahasa persatuan
bangsa Indonesia sebagaimana disiratkan dalam Sumpah Pemuda 28 Oktober 1928. Meski
demikian, hanya sebagian kecil dari penduduk Indonesia yang benar-benar menggunakannya
sebagai bahasa ibu karena dalam percakapan sehari-hari yang tidak resmi masyarakat
Indonesia lebih suka menggunakan bahasa daerahnya masing-masing sebagai bahasa ibu
seperti bahasa Melayu pasar, bahasa Jawa, bahasa Sunda, dan lain sebagainya. Untuk
sebagian besar masyarakat Indonesia lainnya, bahasa Indonesia adalah bahasa kedua dan
untuk taraf resmi bahasa Indonesia adalah bahasa pertama. Bahasa Indonesia merupakan
sebuah dialek bahasa Melayu yang menjadi bahasa resmi Republik Indonesia.
Secara sejarah, bahasa Indonesia merupakan salah satu dialek temporal dari bahasa
Melayu yang struktur maupun khazanahnya sebagian besar masih sama atau mirip dengan
dialek-dialek temporal terdahulu seperti bahasa Melayu Klasik dan bahasa Melayu Kuno.
Secara sosiologis, bolehlah kita katakan bahwa bahasa Indonesia baru dianggap "lahir" atau
diterima keberadaannya pada tanggal 28 Oktober 1928. Secara yuridis, baru tanggal 18
Agustus 1945 bahasa Indonesia secara resmi diakui keberadaannya.
2.2 Serapan Dalam Bahasa Indonesia
Ada empat tempo penting dari hubungan kebudayaan Indonesia dengan dunia luar
yang meninggalkan jejaknya pada perbendaharaan kata Bahasa Indonesia.
a. Hindu (antara abad ke-6 sampai 15 M)
Sejumlah besar kata berasal dari Sanskerta Indo-Eropa. (Contoh: samudra, suami, istri,
raja, putra, pura, kepala, mantra, cinta, kaca).
b. Islam (dimulai dari abad ke-13 M)
Pada tempo ini diambillah sejumlah besar kata dari Bahasa Arab dan Persia (Contoh:
masjid, kalbu, kitab, kursi, doa, khusus, maaf, selamat, kertas).
c. Kolonial
Pada tempo ini ada beberapa bahasa yang diambil, di antaranya yaitu dari Portugis
(contohnya: gereja, sepatu, sabun, meja, jendela) dan Belanda (contohnya: asbak, kantor,
polisi, kualitas).
d. Pasca-Kolonialisasi (Kemerdekaan dan seterusnya)
Banyak kata yang diambil berasal dari bahasa Inggris. (Contoh: konsumen, isu). Dan ada
juga Neo-Sanskerta yaitu neologisme yang didasarkan pada bahasa Sanskerta, (contoh:
dasawarsa, lokakarya, tunasusila).
Selain itu, Bahasa Indonesia juga menyerap perbendaharaan katanya dari bahasa Tionghoa
(contoh: pisau, tauge, tahu, loteng, teko, tauke, cukong).
2.3 Morfologi Imbuhan Bahasa Indonesia
Bahasa Indonesia mengenal pengelompokan kosa dalam bentuk kelas kata. Tata
bahasa Indonesia banyak pendapat para mengenai jumlah dan jenis kelas kata. Kelas kata
terdiri dari seperangkat kategori morfologis yang tersusun dalam kerangka sistem tertentu
yang berbeda dan sistem kategori morfologis kelas kata lain. Kategori morfologis adalah
sederetan kata yang memiliki bentuk gramatikal dan makna gramatikal yang sama. Setiap
kategori morfologis itu terbentuk oleh prosede morfologis tertentu. Prosede morfologis
adalah pembentukan kata secara sinkronis. Prosede morfologis itu ada dua macam yaitu
derivasi dan intleksi. Derivasi adalah prosede morfologis yang menghasilkan kata-kata yang
makna leksikalnya berbeda dari kata pangkal pembentuknya. Sebaliknya, infleksi
menghasilkan kata-kata yang bentuk gramatikalnya berbeda-beda, tetapi leksemnya tetap
seperti pada kata pangkalnya.
Bahasa Indonesia mempunyai banyak awalan, akhiran, maupun sisipan, baik yang
asli dari bahasa-bahasa Nusantara maupun dipinjam dari bahasa-bahasa asing. Hal ini
menyebabkan proses stemming menjadi sedikit lebih rumit. Dibawah ini adalah aturan
dasar imbuhan dalam Bahasa Indonesia.
ATURAN DASAR IMBUHAN
AWALAN (prefiks)
Awalan adalah imbuhan yang diberikan di awal kata.
Contoh : me-, ber- di-, ke-, pe-, ter Awalan me –
Pemakaian awalan me- bervariasi yaitu mem-, men-, meny-, meng-, dan mengeContoh : melapor, membaca, menarik, menyanyi, menghitung, dan mengecat
 Awalan berPemakaian awalan ber- mempunyai kaidah sebagai berikut.
Apabila diikuti kata dasar yang berhuruf (r) dan beberapa kata dasar yang suku
pertamanya berakhir huruf (er), bentuk awalan ber berubah menjadi be-.
Contoh :
ber + rantai
 berantai
ber + kerja
 bekerja
Apabila awalan ber- bertemu dengan kata dasar ajar, ber- berubah menjadi belContoh :
ber + ajar
 belajar
Apabila awalan ber- diikuti kata dasar selain yang disebutkan di atas, ber- tetap tanpa
perubahan.
Contoh :
ber + lari
 berlari
ber + nyanyi  bernyanyi
 Awalan diAwalan di mempunyai makna suatu perbuatan aktif. Awalan di- merupakan kebalikan
dari awalan me- yang bermakna aktif.
Contoh :
di + siram
 disiram
di + tanam
 ditanam
di + beli
 dibeli
 Awalan terAwalan ter- hampir sama dengan awalan di-. Awaln ter- berfungsi untuk membentuk
kata kerja pasif.
Contoh :
ter + tendang  tertendang
ter + bakar
 terbakar
Awalan ter- ada pula yang termasuk golongan kata sifat.
Contoh :
ter + pandai  terpandai
ter + kecil
 terkecil
 AWALAN pe-(n)
Pemakaian awalan pe-(n) memiliki variasi sebagaimana yang berlaku pada awalan me(n).
 AWALAN peUmumnya tidak bisa digunakan secara mandiri. Pemakaian awalan per- membutuhkan
imbuhan lain misalnya –kan dan –an.
Contoh :
per-kan + kembang
 perkembangan
per-an + usaha
 perusahaan
 AWALAN seDapat langsung menempel sebagai awalan pada kata dasar.
Makna awalan se- : Menyatakan satu
 selembar, seribu
Menyatakan seluruh
 sekota, sedesa
Menyatakan sama
 sepandai, seindah
Menyatakan setelah
 sekembali
 AWALAN keMakna awalan keMenyatakan kumpulan yang terdiri dari jumlah
 kesebelasan
Menyatakan urutan
 kesatu, kedua, ketiga
SISIPAN (infiks)
Sisipan adalah imbuhan yang diberikan di tengah kata.
Contoh : -el, -em, dan –er.
Makna sisipan :
 Menyatakan internsitas atau frekuensi.
Contoh :
geletar, gemetar
 Menyatakan banyak dan bermacam-macam.
Contoh :
temali, gemerincing
 Memiliki sifat yang disebut dalam kata dasarnya.
Contoh :
temurun, gemilang, telunjuk, pelatuk, gelembung, telapak
AKHIRAN (sufiks)
Imbuhan yang diberikan di akhir kata.
Contoh : -kan, -I, -an, -kah, -tah, dan –pun.
 Akhiran –kan
Dapat langsung menempel sebagai akhiran pada kata dasar. Secara umum mengandung
arti perintah. Makna yang lain adalah menyatakan sebagai alat atau membuat dengan,
menyebabkan atau menjadikan sesuatu, ,menyatakan arti bahwa suatu pekerjaan
dilakukan untuk orang lain, mentransitifkan kata kerja ke dinding
 Akhiran -i
Dapat langsung menempel sebagai akhiran pada kata dasar.
 Akhiran –an
Dapat langsung menempel sebagai akhiran pada kata dasar.
 Akhiran –isme dan –isasi
Merupakan jenis imbuhan serapan.
Makna akhiran –isme adalah paham atau ajaran

komunisme,

swastanisasi,
animisme, liberalisme
Makna akhiran –isasi adalah proses atau menjadikan sesuatu
lebelisasi
 Akhiran – i , - iah, - is, - wi
Merupakan jenis imbuhan serapan.
- i berasal dari bahasa Inggris.
- iah, - is, - wi berasal dari bahasa Arab
Makna akhiran – i, - iah, - is, - wi adalah membentuk kata sifat.
Contoh :
insani
: memiliki sifat keinsanian
alamiah
: memiliki sifat alamiah, natural
agamais
: menujukkan sifat orang yang taat beragama
manusiawi
: bersifat kemanusian
AWALAN DAN AKHIRAN (konfiks)
Awalan dan akhiran adalah imbuhan yang berupa gabungan dari awalan dan akhiran.
Contoh : me-kan, pe-an, ber-an, se-nya, meper-kan.
 Awalan dan Akhiran me-kan, dan memper-kan
Pada konfiks me-kan aturan peleburan awalan me- ( menjadi mem-, men-, meny-,
meng-, dan menge- ) masih berlaku. Sedangkan akhiran –kan dapat ditempelkan
langsung.
Contoh : memesankan, menyemburkan, mengesampingkan.
 Awalan dan Akhiran ber - an
Awalan dan akhiran ber – an dapat digunakan langsung pada kata dasar.
Contoh : berdatangan, berterbangan, bergulingan, berlompatan.
 Awalan dan Akhiran pe – an
Pada konfiks me-kan aturan peleburan awalan me- ( menjadi mem-, men-, meny-,
meng-, dan menge- ) masih berlaku. Sedangkan akhiran –kan dapat ditempelkan
langsung.
Contoh : pendidikan, penanaman, pendaftaran, penelitian, pengakuan, penghasilan
 Awalan dan Akhiran per- an
Awalan dan akhiran per – an dapat digunakan langsung pada kata dasar.
Contoh : perhentian, perusahaan, perempatan, pertigaan, pertahanan, perbuatan.
 Awalan dan Akhiran se –nya
Konfiks ini biasanya digunakan untuk menyertai kata ulang. Awalan dan akhiran se nya dapat digunakan langsung pada kata dasar.
Contoh : sebaiknya, setinggi-tingginya, sebaik-baiknya, semerah-merahnya.
2.4 Proses Stemming
Proses stemming adalah proses pemotongan pada sebuah kata untuk
mendapatkan bentuk dasarnya. Dalam Bahasa Indonesia bisa dikatakan proses
stemming adalah proses untuk menemukan kata dasar dari kata-kata yang berimbuhan.
Sejak tahun 1995, beberapa algoritma untuk melakukan proses stemming terhadap katakata dalam Bahasa Indonesia telah dikembangkan, diantaranya:

Algoritma Nazief dan Adriani

Arifin and Setiono's Algorithm

Vega's Algorithm

Ahmad, Yusoff and Sembok's Algorithm

Lily and Stephane’s Algorithm

Fadillah’s Porter-like Stemmer Algorithm
Secara garis besar, algoritma-algoritma diatas bisa dibagi menjadi dua
kelompok, yang pertama algoritma yang menggunakan bantuan kamus, dan yang kedua
algoritma yang tidak. Algoritma yang menggunakan bantuan kamus memiliki tingkat
akurasi yang lebih baik, namun waktu pemrosesannya tentu saja jauh lebih lama
darupada algoritma yang tidak menggunakan kamus. Walaupun banyak algoritma yang
telah dikembangkan, pada dasarnya, proses stemming Bahasa Indonesia dilakukan
dengan mengikuti kaedah pembentukan kata berimbuhan dalam bahasa indonesia.
Dalam Bahasa Indonesia sendiri terdapat empat jenis imbuhan. Yang pertama
prefix atau awalan yang didalamnya meliputi imbuhan meng-, ber-, pe-, se-, dan ter-.
Yang kedua suffix atau akhiran yang dibagi menjadi tiga kelompok: particle atau kata
sandang (-kah, -lah, -pun, -tah), possesive pronoun atau kata ganti milik (-ku, -mu, nya), dan suffix yang sesungguhnya (-i,-kan,-an). Yang ketiga infix atau sisipan yang
frekuensi penggunaannya dalam bahasa indonesia sangat jarang, lalu yang terakhir
adalah confix atau gabungan awalan dan akhiran. Selain imbuhan-imbuhan di atas,
dalam bahasa indonesi juga mulai digunakan imbuhan yang berasal dari bahasa asing
seperti pra-, inter-, pasca-, -isasi, -isme, dan -is. Proses stemming sendiri diperlukan
untuk menghilangkan imbuhan-imbuhan tersebut dari sebuah kata sehingga hanya
tersisa kata dasarnya.
Yang menjadi perhatian utama dalam proses stemming Bahasa Indonesia adalah
bagaimana menghilangkan awalan dari sebuah kata, karena selain pada kasus
penambahan awalan tidak ada perubahan bentuk dari kata dasar yang bersangkutan.
Berikut tabel aturan perubahan bentuk kata dasar ketika ditambahi awalan:
Berdasarkan eksperimen yang dilakukan oleh Jelita Asian, Hugh E. Williams
dan S.M.M Tahaghogi terhadap beberapa algoritma stemmer, ditemukan bahwa
algoritma stemmer yang dikembangkan oleh Nazief dan Adriani memiliki performa
lebih baik dibandingkan yang lain. Beberapa perbaikan juga ditambahkan oleh Jelita
Asian dkk untuk meningkatkan performa algoritma tersebut.
BAB 3
IMPLEMENTASI
3.1 Algoritma Stemming
Implementasi dari stemmer yang digunakan di atas merujuk pada penelitian
Fadillah Z Tala yang menggunakan algoritma Porter yang diadaptasi dari Algoritma
Porter untuk Bahasa Inggris yang dikembangkan oleh Frakes (W. B. Frakes. Stemming
Algorithms. In Frakes and Baeza [11], pages 131–160). Versi ini lebih mudah dipelajari
karena Frakes membuat pemisahan yang jelas antara aturan pengganti dengan prosedur
untuk melakukan tes terhadap kondisi yang dilampirkan.
Karena bahasa Inggris dan Bahasa Indonesia adalah dua bahasa yang berbeda,
beberapa modifikasi harus ditambahkan agar Algoritma Porter bisa digunakan dalam
proses Stemming Bahasa Indonesia.
Berikut adalah diagram desain dasar dari setemmer Algoritma Porter :
Langkah-langkah stemmer menggunakan Algoritma Porter :
1. Dimulai dengan suatu kata, jika kata tersebut mempunyai partikel, maka langsung
hilangkan partikel tersebut, misalkan partikel “-lah” pada kata “duduklah”.
2. Jika setelah penghilangan partikel tersebut masih merupakan bukan kata dasar, atau
sebelumnya kata tersebut tidak terdapat partikel, maka selanjutnya dilanjutkan
pengecekan akhiran kata ganti milik, seperti “-ku”.
3. Ketiga menghilangkan awalan pertama (jika terdapat banyak awalan)
4. Keempat terdapat pengkondisian :
a. Jika masih terdapat akhiran, maka hilangkan akhiran tersebut, jika tidak, maka
hilangkan awalan kedua dari kata tersebut.
b. Jika setelah jika setelah penghilangan akhiran pada step (a) masih ada awalan
kedua, maka hilangkan awalan kedua tersebut, selanjutnya kata tersebut menjadi
kata dasar. Jika sudah tidak terdapat awalan, maka sudah menjadi kata dasar.
c. Jika pada step (a) berlanjut pada penghilangan awalan kedua, maka tahap
selanjutnya adalah menghilangkan akhiran kata tersebut, dan selanjutnya menjadi
kata dasar.
3.2 Implemetasi Aplikasi
TAMPILAN:
FITUR:
LOAD KAMUS:
Penggunaan database seperti mySQL dinilai kurang efektif, karena user harus
menginstall dulu jika ingin menggunakan program ini. Oleh karena itu perlu sebuah
cara agar program ini bisa berjalan secara portable tanpa database. Pada program
sebelumnya kami tambah fungsi load database dari teks external sehingga lebih praktis.
public boolean loadKamusManual(JFrame parent)
{
kata.clear();
JFileChooser jf = new JFileChooser();
if (jf.showOpenDialog(parent) ==
JFileChooser.APPROVE_OPTION) {
try {
FileInputStream fis = new
FileInputStream(jf.getSelectedFile());
DataInputStream dis = new DataInputStream(fis);
Fungsi disamping akan membaca sebuah
daftar kata dan memasukkan kata-kata
tersebut ke dalam list Kata, list itu yang
menjadi database untuk mengetahui
kebenaran sebuah kata dasar yang
ditemukan.
BufferedReader br = new BufferedReader(new
InputStreamReader(dis));
String strLine;
while ((strLine = br.readLine()) != null) {
kata.add(strLine);
}
} catch (Throwable t) {
JOptionPane.showMessageDialog(null, t.getMessage());
return false;
}
}
return true;
}
LOAD FILE UNTUK DI-STEM:
Agar bisa stem banyak kata secara bersamaan tanpa harus susah-susah mengetik
kata-kata tersebut maka program ditambahi fungsi load file external. Seluruh isi dari file
tersebut akan di-stem untuk dicari kata dasarnya.
LinkedList lc = new LinkedList();
int status = jFileChooser1.showOpenDialog(this);
if(status == JFileChooser.APPROVE_OPTION)
{
jTextArea1.setText("");
inputWords.setText("");
try{
FileInputStream fis = new FileInputStream(jFileChooser1.getSelectedFile());
/*DataInputStream dis = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
String strLine;
while((strLine=br.readLine())!=null){
jTextArea1.append(strLine+"\n");
}*/
int etCounter = 0;
boolean isContent = false;
byte b = (byte) fis.read();
while(b!=-1)
{
if((char)b == '@'){
etCounter++;
}
if(etCounter==5){
if((char)b == '-'){
isContent = true;
}
}
lc.add((char)b);
jTextArea1.append((char)b + "");
if(isContent){
if((char)b!='\n'){
inputWords.setText(inputWords.getText()+(char)b);
}else{
inputWords.setText(inputWords.getText()+" ");
}
}
b = (byte) fis.read();
}
if(etCounter==0){
inputWords.setText(jTextArea1.getText());
}else{
inputWords.setText(inputWords.getText().substring(2)); //remove }
doStem();
}catch(Throwable t){
JOptionPane.showMessageDialog(this, t.getMessage());
}
}
EXTRA ENHANCED CONFIX STRIPPING STREMMING:
Pada ENHANCED CONFIX STRIPPING STREMMING ternyata masih
ditemukan kata-kata yang belum ter-stem dengan sempurna. Oleh karena itu kami
tambahi menjadi EXTRA ENHANCED CONFIX STRIPPING STREMMING.
Perubahan terjadi pada file Kata.java dan ModelTabel.java. Perubahan yang ada
diantaranya:
1. Menghilangkan tanda baca yang ada pada kata, contohnya adalah ! ? , . tanda
tersebut perlu dihilangkan karena kata yang masih mengandung tanda baca tidak bisa
di-stem.
2. Perubahan pada stemming kata yang mengandung lebih dari satu kemungkinan kata
dasar penyusun, contohnya berpegangan terdiri dari gang, dan pegang, bersesuaian
terdiri dari suai dan sesuai. Cara yang digunakan adalah mencari semua kata dasar
penyusun dengan menjalankan fungsi stem tanpa break. Kata yang ditemukan
ditampung ke sebuah list. Kata yang diambil adalah kata paling panjang, contohnya
berpegangan (gang dan pegang) diambil pegang.
KATA.JAVA
private boolean found;
private List bDasar;
public final static int EXTRA_ENHANCED_CS_STEMMER = 4;
public Kata(String label , Kamus kamus) {
this.label = label.toLowerCase();
this.kamus = kamus;
this.bentukDasar = "";
this.langkahStem = "";
this.found = false;
this.bDasar = new List();
bDasar.removeAll();
}
private void addbDasar(String kata)
{
this.langkahStem+="\n\n - TAMBAHKAN "+kata.toUpperCase()+"\n";
this.found = true;
String[] arr = bDasar.getItems();
int jum = arr.length;
if(jum==0){
this.bDasar.add(kata);
}else {
for (int i = 0; i < jum; i++) {
if (arr[i].matches(kata)) {
return;
}
}
this.bDasar.add(kata);
}
}
public List getbDasar(int pilihanStemmer)
{
this.pilihanStemmer = pilihanStemmer;
doStem();
return this.bDasar;
}
private String replaceTanda(String kata)
{
String hasil = kata;
boolean loop=true;
do{
if(hasil.endsWith(".")) hasil = hasil.substring(0, hasil.length()-1);
else if(hasil.endsWith(",")) hasil = hasil.substring(0, hasil.length()-1);
else if(hasil.endsWith("\"")) hasil = hasil.substring(0, hasil.length()-1);
else if(hasil.startsWith("\"")) hasil = hasil.replaceAll("\"", "");
else if(hasil.startsWith(" ")) hasil = hasil.replaceAll(" ", "");
else if(hasil.endsWith(" ")) hasil = hasil.replaceAll(" ", "");
else if(hasil.endsWith("!")) hasil = hasil.replaceAll("!", "");
else if(hasil.endsWith("?")) hasil = hasil.replaceAll("?", "");
else loop = false;
}while(loop);
return hasil;
}
// baris dibawah ini digunakan untuk melewati fungsi return, dengan demikian maka program akan
dijalankan terus tanpa break sehingga menemukan semua kata penyusunnya.
if(pilihanStemmer==EXTRA_ENHANCED_CS_STEMMER){
this.addbDasar(kata);
}
else return;
MODELTABEL.JAVA
public Object getValueAt(int rowIndex, int columnIndex)
{
if(columnIndex==0)
{
return String.valueOf(rowIndex+1);
}
else if(columnIndex==1)
{
Kata r = (Kata) list.get(rowIndex);
return r.getLabel();
}
else if(columnIndex==2)
{
Kata r = (Kata) list.get(rowIndex);
if(this.pilihanStemmer==4){
String temp = "";
String[] arr = r.getbDasar(pilihanStemmer).getItems();
int jum = arr.length;
int pj = 0;
for(int i=0;i<jum;i++)
{
//temp += ", "+arr[i];
if(arr[i].length()>pj)
temp = arr[i];
pj = arr[i].length();
}
//return temp.substring(2);
return temp;
}else{
return r.getBentukDasar(this.pilihanStemmer);
}
}
return "";
}
TAMBAHAN:
ANIMATE:
Jika menu misc-animate dicentang maka pada saat windows exit akan
menampilkan animasi bergerak.
STYLE:
Jika merasa bosan dengan tampilan GUI program yang biasa, disediakan 6 style
yang bisa dicoba.
BAB 4
UJI COBA & EVALUASI
Pada uji coba yang kami lakukan ini, kami menggunakan 15 kata dasar dari file kamus.dic
pada urutan ke 19.501-21.000 serta beberapa kata lain yang kami jadikan pembanding.
1. 5 kata yang dapat di-stemming dengan benar oleh program stemmer pre-modifikasi adalah
kata : parkir, pasti, patuh, pecah, pelan.
2. 10 kata yang tidak bisa di-stemming dengan benar oleh program stemmer pra-modifikasi
adalah : pecut, pegang, pelopor, pengaruh, sesuai, pilah, pakai
3. 10 kata tersebut dapat di-stemming dengan benar oleh program stemmer hasil
modifikasi.
DAFTAR PUSTAKA
www.wikipedia.com (diakses jum’at, 11 September 2009)
Balai pusat bahasa. Dasar-dasar pengenalan morfologi kata berimbuhan dalam bahasa
Indonesia.
F.Z. Tala. A study of stemming effects on information retrieval in bahasa Indonesia.
Universiteit van Amsterdam. The Netherlands.
J.Asian, H.E.Williams, S.M.M. Tahaghoghi, Stemming Indonesian. RMIT University.
Melbourne, Australia.
Download