49 BAB 3 METODOLOGI 3.1 Analisis Kebutuhan dan Masalah 3.1.1

advertisement
BAB 3
METODOLOGI
3.1 Analisis Kebutuhan dan Masalah
3.1.1 Analisis Kebutuhan
Ada banyak hal yang berhubungan dengan sastra atau ilmu bahasa yang dapat
diterapkan di dalam teknologi, seperti penerjemahan bahasa, analisis tata bahasa,
perbaikan informasi, meringkas suatu teks, dan masih banyak lagi. Algoritma dan
aturan-aturan yang spesifik diperlukan untuk membuat teknologi yang mampu
melakukan hal-hal tersebut. Hal ini dibutuhkan karena setiap bahasa memiliki sifat dan
karakteristik masing-masing.
Bahasa Indonesia memiliki dua karakter, yaitu aglutinatif dan infleksi. Karakter
aglutinatif membuat bahasa Indonesia memiliki banyak kata kombinasi antara kata dasar
dan afiks. Karakter infleksi membuat bahasa Indonesia memiliki banyak aturan dan
kemungkinan bentuk kata, karena beberapa kombinasi antara kata dasar dan afiks akan
mengubah bentuk kata dasar.
Dalam membuat aplikasi ini, dibutuhkan juga sebuah database yang
mengandung seluruh kata dasar di dalam bahasa Indonesia. Database tersebut telah
disediakan oleh KBBI online dengan nama file “tb_katadasar.sql”. Isi dari file tersebut
merupakan satu tabel yang terdiri dari 3 kolom yakni id_katadasar dengan tipe variabel
integer dengan panjang 10, katadasar dengan tipe varchar yang memiliki panjang 70,
dan tipe_katadasar memiliki tipe data varchar yang memiliki panjang 25. Jumlah data
yang dimasukkan berjumlah 25833 kata dasar.
3.1.2 Analisis Masalah
Dalam bidang natural language processing, diperlukan suatu analyzer yang
dapat memberikan informasi mengenai proses pembentukan suatu kata. Analyzer
tersebut dapat memberikan berbagai macam informasi mengenai terbentuknya suatu kata
dari aspek linguistik. Hasil dari analyzer tersebut dapat dipelajari struktur dan susunan
dari suatu kata. Analyzer ini sering juga disebut morphological analyzer. Sedangkan,
untuk mendapatkan informasi kata dasar dari kata berimbuhan dibutuhkan lemmatizer.
49
50
Lemmatizer dapat memberikan informasi mengenai proses pembentukan kata dasar dari
kata berimbuhan.
Morphological analyzer dalam penggunaannya dapat dimanfaatkan untuk
melihat bagaimana suatu kata terbentuk, apa saja kata dasarnya dan apa saja informasi
linguistik yang terdapat pada kata tersebut. Segala informasi yang diperoleh dari
morphological analyzer dapat membantu dalam mempelajari suatu kata dan proses
pembentukannya.
Adapun masalah yang dihadapi dalam penambahan imbuhan dari kata dasar
adalah kata-kata yang tidak mengikuti rule namun karena kata tersebut terdengar enak di
telinga masyarakat maka kata tersebut dimasukkan ke dalam kamus (contoh :
meN+pesona seharusnya menjadi memesona jika mengikuti rule, namun penggunaanya
di masyarakat menggunakan kata mempesona) ataupun kata-kata yang seharusnya tidak
masuk ke dalam kamus karena tidak mengikuti rule namun dimasukkan ke dalam kamus
(contoh : peN+tinju seharusnya menjadi peninju namun ada kata petinju dimana kata
tersebut tidak sesuai dengan rule yang ada).
Di Indonesia, morphological analyzer dan lemmatizer bukan merupakan subjek
yang umum dibahas, tetapi sudah ada beberapa orang yang berhasil membuatnya seperti
yang telah dibahas. Namun, morphological analyzer dan lemmatizer yang sudah pernah
dibuat, seperti penelitian yang dilakukan oleh Suhartono, Christiandy, dan Rolando pada
tahun 2014, masih bisa dapat dikembangkan menjadi lebih sempurna.
Penyempurnaan tersebut antara lain dengan penambahan penanganan dalam
masalah reduplikasi dalam bahasa Indonesia (contoh : rumah-rumahan, mobil-mobilan).
Dimana dalam penelitian-penelitian sebelumnya reduplikasi tidak dimasukkan kedalam
penelitian tersebut, hanya kata yang diberi afiks dan sufiks.
Selain reduplikasi, penyempurnaan yang ditambahkan adalah kata gabung
(contoh : tanggung jawab). Dimana kata tersebut merupakan kata dasar yang terdapat
dalam KBBI (Kamus Besar Bahasa Indonesia). Penelitian-penelitian sebelumnya juga
belum memasukkan kata gabung ke dalam cakupan masalah penelitan.
51
3.2 Wawancara dengan Pakar
Berdasarkan hasil wawancara dengan Ibu Dra. Hari Sulastri, M.Pd. sebagai pakar
dalam bidang penelitian bahasa Indonesia (hasil wawancara terlampir), diketahui bahwa
dalam bahasa Indonesia untuk mengetahui imbuhan yang dapat diberikan kepada suatu
kata perlu diperhatikan makna dari kata tersebut. Setiap kata memiliki kombinasi
imbuhan yang dapat ditambahkan walaupun memiliki kelas kata yang sama (Contoh :
me + bungkus membungkus sedangkan kata ‘kucing’ tidak umum jika diberi
imbuhan ‘me’ ‘mengucing’). Sementara itu, tidak ada aturan baku untuk memisahkan
satu kata dengan kata lainnya yang bisa diberi imbuhan tertentu selain aturan-aturan dari
morfotaktik, namun hasil dari kata yang diberi imbuhan di morfotaktik tidak selalu
benar.
52
53
54
3.3 Metodologi
Gambar 3.1 Flowchart
55
3.3.1 Pencarian Database
Proses pencarian kata didalam database, database disini merupakan database kata
dasar berdasarkan kamus besar bahasa Indonesia. Ketika pencarian database setelah
pembacaan input mengeluarkan hasil gagal, maka algoritma akan menjalankan proses
lemmatization, sedangkan jika berhasil maka algoritma akan menjalankan proses
morphological analyzer. Selain setelah pembacaan input, setelah setiap kali kata
mengalami perubahan bentuk, pencarian database akan dilakukan dan jika kata
ditemukan, maka proses perubahan akan selesai dan algoritma berakhir ketika kata dasar
ditemukan.
3.3.2 Pencarian Token
Jika pencarian database setelah pembacaan input gagal, maka algoritma
mengasumsikan kata tersebut adalah kata berimbuhan. Namun, sebelum masuk kedalam
rule kata berimbuhan, algoritma akan mencari token ‘-’ untuk mengecek apakah kata
yang dimasukkan merupakan kata ulang berimbuhan tidak berubah fonem atau tidak.
Jika tidak ditemukan token ‘-’ dalam kata tersebut, maka algoritma akan langsung
meneruskan kata ke rule kata berimbuhan, jika terdapat token ‘-’ maka algoritma akan
melakukan proses pemisahan kata terhadap kata tersebut terlebih dahulu.
3.3.3 Pemisahan Kata Ulang
Proses yang dilakukan jika token ‘-’ ditemukan dalam kata adalah memisahkan
kata tersebut menjadi dua kata yang akan diproses secara terpisah. Jika kedua kata di
dalam kata ulang tersebut sudah sama dan setelah dilakukan pengecekan database kedua
kata tersebut ada di database, maka algoritma akan mengeluarkan kata dasar dan
algoritma berhenti. Namun, jika ada satu kata saja yang berbeda, maka kata tersebut
diasumsikan kata ulang berimbuhan oleh algoritma, dan kemudian dilakukan proses
penghilangan imbuhan sesuai dengan rule precedence dimana kedua kata tidak sesuai
dengan rule precedence.
56
3.3.4 Pengecekan Rule Precedence
Pengecekan rule precedence ini bertujuan untuk mempercepat proses
pemotongan imbuhan dengan membaginya kedalam dua aturan kombinasi imbuhan.
Adapun kombinasi imbuhan tersebut adalah :
1. ‘be-’ dan ‘-lah’
2. ‘be-’ dan ‘-an’
3. ‘me-’ dan ‘-i’
4. ‘di-’ dan ‘-i’
5. ‘pe-’ dan ‘-i’
6. ‘te-’ dan ‘-i’
Apabila kata berimbuhan yang dimasukkan ke dalam algoritma mengandung
pasangan imbuhan diatas, maka algoritma akan membaca kata berimbuhan tersebut ke
dalam kategori sesuai dengan rule precedence sehingga urutan proses yang akan
dikerjakan adalah penghilangan prefiks derivasi, penghilangan sufiks infleksional, dan
penghilangan sufiks derivasi. Setelah proses selesai, jika kata masih belum ditemukan
pula, maka kata berimbuhan akan ‘dipulihkan’ dan akan dilakukan pengecekan
berdasarkan rule precedence yang tidak sesuai sehingga akan dijalankan proses
pengerjaan penghilangan sufiks infleksional, penghilangan sufiks derivasi, dan
penghilangan prefiks derivasi. Sebaliknya, jika kata berimbuhan yang dimasukkan tidak
mengandung pasangan imbuhan tersebut, maka urutan proses pengerjaannya adalah
penghilangan sufiks infleksional, penghilangan sufiks derivasi, dan penghilangan prefiks
derivasi, kemudian dilanjutkan dengan penghilangan prefiks derivasi, penghilangan
sufiks infleksional, dan penghilangan sufiks derivasi jika setelah melewati rule
precedence yang tidak sesuai masih tidak ditemukan bentuk kata dasarnya.
3.3.5 Penghilangan Sufiks Infleksional
Sufiks infleksional memiliki dua bentuk, yaitu partikel ( ‘-lah’, ‘-tah’, ‘-pun’, ‘tah’) dan kata ganti kepemilikian (‘-ku’, ‘-mu’, ‘-nya’). Dalam bahasa Indonesia, sufiks
partikel selalu diletakkan di paling akhir kata berimbuhan. Sehingga, dalam proses ini
sufiks partikel akan dihilangkan terlebih dahulu, yang kemudian akan dilanjutkan
dengan penghilangan sufiks kata ganti kepemelikan. Sebagai contoh kata ‘punyakupun’
57
mengandung partikel ‘-pun’ dan sufiks kata ganti kepemilikan ‘-ku’. Dalam proses ini
yang akan dihilingkan terlebih dahulu adalah sufiks partikel ‘-pun’ menjadi kata
‘punyaku’, lalu akan dilakukan proses pencarian database karena kata ‘punyaku’ tidak
ada di database maka akan dilakukan proses pemotongan sufiks kata ganti kepemilikian
‘-ku’ yang pada akhirnya akan menghasilkan kata ‘punya’.
3.3.6 Penghilangan Sufiks Derivasi
Di proses ini, algoritma akan menghilangkan sufiks derivasi (‘-i’, ‘-an’, ‘-kan’)
dari kata berimbuhan yang dimasukkan ke dalam algoritma. Sufiks derivasi selalu
berada sebelum sufiks infleksional, maka dari itu urutan proses pengerjaan penghilangan
sufiks derivasi pasti setelah pengerjaan penghilangan sufiks infleksional, kecuali kata
yang dimasukkan tidak memiliki sufiks infleksional. Sebagai contoh, kata ‘bukakan’
tidak memiliki sufiks infleksional, maka proses akan langsung masuk ke proses
penghilangan sufiks derivasi yaitu menghilangkan sufiks derivasi ‘-kan’ sehinga
algoritma akan menghasilkan kata ‘buka’ sebagai output. Proses yang berbeda akan
dilakukan ketika dimasukkan kata ‘makanannya’. Algoritma akan menghilangkan sufiks
infleksional kata ganti kepemilikan ‘-nya’ terlebih dahulu menghasilkan kata ‘makanan’
yang kemudian akan dihilangkan sufiks derivasi ‘-an’ menghasilkan kata ‘makan’
sebagai output.
3.3.7 Penghilangan Prefiks Derivasi
Dalam proses ini, prefiks derivasi dari sebuah kata berimbuhan akan dihilangkan.
Di dalam prefiks derivasi terdapat prefiks yang bisa langsung dipotong tanpa rule , yakni
prefiks ‘di-‘, ‘ke-‘, ‘se-‘ hanya akan dilakukan pemotongan secara langsung jika kata
yang dimasukkan terdeteksi memiliki tiga prefiks tersebut. Sebagai contoh ‘dimakan’,
‘sebuah’, ‘ketabrak’, algoritma hanya perlu menghilangkan prefiks derivasi maka kata
dasar dari kata berimbuhan tersebut langsung ditemukan. Selain prefiks tersebut,
terdapat beberapa prefiks yang perlu diberi rule karena prefiks tersebut dapat merubah
bentuk kata adapun prefiks-prefiks yang perlu diberi rule adalah prefiks ‘me-’, ‘be-‘,
‘pe-’, ‘te-’ Adapun rule untuk prefiks me-’, ‘ber-‘, ‘per-’, ‘ter-’ adalah sebagai berikut :
58
Tabel 3.1 Rule untuk imbuhan ‘me-‘
Rule
Input
Output
1
me(l,r,ny,ng)
me-(l,r,m,ny,ng)
2
mem(b,f,v)
mem-(b,f,v)
3
memV
me-mV | me-pV
4
men(c,j,d)
me-n-(c,j,d)
5
menV
me-tV
6
meng(a,i,u,e,o,h,g)
me-(a,i,u,e,o,h,g)
7
menyV
me-sV
Tabel 3.2 Rule untuk imbuhan ‘ber-‘
Rule
Input
Output
8
berV
ber-V | be-rV
9
Belajar
bel-ajar
Tabel 3.3 Rule untuk imbuhan ‘ter-‘
Rule
Input
Output
10
terV
ter-V | te-rV
Tabel 3.4 Rule untuk imbuhan ‘per-‘
Rule
Input
Output
11
perV
per-V | pe-rV
12
pem(b,f,v)
pem-(b,f,v)
13
pemV
pe-pV | pe-mV
14
pen(c,j,d)
pe-n-(c,j,d)
15
penV
pe-tV
16
peng(a,i,u,e,o,h,g)
pe-(a,i,u,e,o,h,g)
17
penyV
pe-sV
Dalam tabel di atas, V berarti huruf vokal (a,i,u,e,o).
59
3.3.8 Pemulihan Kata Berimbuhan
Pemulihan kata berimbuhan merupakan proses mengembalikan kata berimbuhan
yang sudah dipotong imbuhannya dan kata tersebut tidak ditemukan di database.
Apabila menurut rule precedence kata tersebut mengandung imbuhan di rule
precedence, maka kata berimbuhan yang telah dipulihkan akan dijalankan melalui
algoritma rule precedence dimana kata tersebut tidak mengandung imbuhan di rule
precedence (proses kebalikan). Dan sebaliknya, jika pada awalnya kombinasi imbuhan
yang dimasukkan tidak sesuai dengan imbuhan yang ada di rule precedence maka kata
akan dijalankan rule dimana kombinasi imbuhannya terdapat dalam rule precedence.
Sebagai contoh, kata ‘dimakan’ :
1. Imbuhan dari kata ‘dimakan’ adalah ‘di-‘ dan ‘-kan’ tidak termasuk ke dalam
rule precedence, maka lemmatizer akan menghilangkan akhiran ‘-kan’ terlebih
dahulu menghasilkan kata ‘dima’.
2. Setelah itu, algoritma akan memotoh awalan ‘di-‘ menghasilkan kata ‘ma’,
kemudian kata ‘ma’ akan dicek ke database sehingga menghasilkan hasil error
karena kata ‘ma’ tidak ada di database.
3. Proses tidak berhenti sampai disitu. Algoritma akan memulihkan kata ke bentuk
asalnya menjadi ‘dimakan’ dan dilakukan proses pemotongan imbuhan, namun
kali ini pemotongan dimulai dari awalan.
4. Awalan ‘di-‘ pada kata ‘dimakan’ dihapus menghasilkan kata ‘makan’ dan kata
tersebut ada di database, sehingga program akan menghasilkan kata ‘makan’
sebagai output.
3.3.9 Morfotaktik
Dalam proses ini, akan diterapkan proses penambahan imbuhan berdasarkan rule
morfotaktik yang ada. Adapun dalam rule morfotaktik ini kami membagi kata-kata dasar
dalam bahasa Indonesia menjadi 4 bagian besar, yaitu kata kerja, kata benda, kata sifat,
dan kategori ‘lain-lain’. Adapun rule morfotaktik dalam algoritma adalah sebagai
berikut :
60
1. Rule untuk kata kerja :
•
meN
•
meN+kan
•
meN+i
•
di
•
di+kan
•
di+i
•
peN
•
peN+an
•
ke+peN+an
•
ber+peN+an
•
per+an
•
per+kan
•
ke+an
•
ber
•
ber+kan
•
ber+an
•
men+ber+kan
•
di+ber+kan
•
peN+ber+an
•
ke+ber+an
•
ter
•
ter+kan
•
di+ter+kan
•
meN+ter+kan
•
an
•
kan
•
i
61
2. Rule untuk kata benda :
•
meN
•
meN+kan
•
meN+i
•
di+kan
•
di+i
•
peN
•
peN+an
•
ke+peN+an
•
ber+peN+an
•
per
•
per+an
•
per+kan
•
per+i
•
di+per
•
di+per+kan
•
di+per+i
•
meN+per
•
meN+per+kan
•
meN+per+i
•
ke
•
ber+ke+an
•
di+ke+kan
•
meN+ke+kan
•
ke+an
•
ke+kan
•
ber
•
ber+kan
•
men+ber+kan
62
•
di+ber+kan
•
peN+ber+an
•
ke+ber+an
•
ter+kan
•
an
•
kan
•
i
3. Rule untuk kata sifat :
•
meN
•
meN+kan
•
meN+i
•
di+kan
•
di+i
•
peN
•
peN+an
•
ke+peN+an
•
ber+peN+an
•
per
•
di+per
•
di+per+kan
•
di+per+i
•
meN+per
•
meN+per+kan
•
meN+per+i
•
ke
•
ber+ke+an
•
di+ke+kan
•
ke+an
•
ber
•
ber+kan
63
•
men+ber+kan
•
di+ber+kan
•
peN+ber+an
•
ke+ber+an
•
ter
•
di+ter+kan
•
an
•
kan
•
i
4. Rule untuk kata lainnya:
•
meN
•
meN+kan
•
meN+i
•
di+kan
•
di+i
•
per+an
•
per+kan
•
ke
•
di+ke+kan
•
meN+ke+kan
•
ke+an
•
ber
•
di+ber+kan
•
peN+ber+an
•
ke+ber+an
•
an
•
kan
Setelah algoritma menambahkan imbuhan kepada kata yang dimasukkan, maka
algoritma akan menambahkan jenis kata keluaran berdasarkan imbuhan yang diberikan
sesuai rule yang ada. Adapun rule untuk jenis kata tersebut adalah :
64
• meN kata kerja
• meN+kan kata kerja
• meN+per kata kerja
• meN+i kata kerja
• meN+per+kan kata kerja
• meN+per+i kata kerja
• meN+ke+kan kata kerja
• men+ber+kan kata kerja
• meN+ter+kan kata kerja
• di kata kerja
• di+kan kata kerja
• di+i kata kerja
• di+per kata kerja
• di+per+kan kata kerja
• di+per+i kata kerja
• di+ke+kan kata kerja
• di+ber+kan kata kerja
• di+ter+kan kata kerja
• peN kata benda
• peN+an kata benda
• peN+ber+an kata benda
• per kata kerja
• per+an kata benda
• per+kan kata kerja
• per+i kata kerja
• ke kata benda
• ke+an kata benda, tapi jika kata dasar kata sifat ke+an adj
• ke+kan kata kerja
• ke+ber+an kata benda
65
• ke+peN+an kata benda
• ber kata kerja
• ber+kan kata kerja , tapi jika kata dasar kata benda ber+kan n
• ber+an kata kerja
• ber+peN+an kata kerja
• ber+ke+an kata kerja
• ter jika kata dasarnya kata kerja kata kerja, tapi jika dari kata sifat ter kata
sifat
• ter+kan kata kerja
• an kata benda
• kan kata kerja
• i kata kerja
3.3.10 Morfofonemik
Setelah morfotaktik dijalankan, langkah selanjutnya dalam penambahan imbuhan
adalah menjalankan rule untuk morfofonemik. Adapun rule yang diberlakukan dalam
morfofonemik adalah :
1. Rule untek prefiks ‘me-‘ :
a. Bentuk ‘me-‘ tidak berubah dengan bentuk kata dasar yang berawalkan
huruf konsonan ‘l’, ‘r’, ‘m’, ‘ny’, ‘ng’. Contoh :
i. ‘me-‘ + ’lompat’ melompat
ii. ‘me’ + ’merah’ memerah
b. Bentuk ‘me-‘ akan berubah menjadi ‘mem-‘ jika terjadi penggabungan
dengan kata dasar yan berawalkan konsonan ‘b’, ‘f’, ‘v’ dan konsonan
rangkap ‘pr’. Contoh :
i. ‘me’ + ‘babat’ membabat
ii. ‘me-‘ + ‘prediksi’ memprediksi
iii. ‘me-‘ + ‘fantasi’ memfantasi
c. ‘Me-‘ akan menjadi bentuk ‘me-m-‘ jika terjadi penggabungan dengan kata
dasar yang diawali huruf ‘p’ dan huruf ‘p’ tersebut luluh menjadi ‘-m-‘.
Contoh :
66
i. ‘me-‘ + ‘pukul’ memukul
ii. ‘me-‘ +’patung’ mematung
d. Perubahan bentuk ‘me-‘ akan terjadi dalam penggabungan dengan kata dasar
yang diawali huruf ‘c’, ‘d’, dan ‘j’ akan menjadi ‘men-‘. Contoh : ‘me-‘ +
‘cangkul’ mencangkul
i. ‘me-’ + ‘dengar’ mendengar
ii. ‘me-‘ + ‘jauh’ menjauh
e. Kata dasar yang diawali dengan konsonan ‘t’ akan merubah bentuk prefiks
‘me-‘ menjadi ‘me-n-‘ dimana huruf ‘t’ akan luruh menjadi ‘-n-‘. Contoh :
‘me-‘ + ‘tebang’ menebang
f. Bentuk prefiks ‘me-‘ akan berubah menjadi ‘meng-‘ jika bertemu dengan
kata dasar yang diawali oleh huruf vokal ‘a’, ‘i’, ‘u’, ‘e’, ‘o’ serta huruf
konsonan ‘h’ dan ‘g’ . Contoh :
i. ‘me-‘ + ‘ajar’ mengajar
ii. ‘me-‘ + ‘injak’ menginjak
iii. ‘me-‘ + ‘unduh’ --> mengunduh
g. Prefiks ‘me-’ jika bertemu dengan kata dasar berawalan ‘k’ akan berubah
menjadi ‘me-ng-‘ dimana ka luruh menjadi ‘-ng-’. Contoh :
i. ‘me-‘ + ‘kail’ mengail.
h. Bentuk ‘me-‘ akan berubah menjadi ‘menge-‘ jika prefiks ‘me-‘ bertemu
dengan kata yang terdiri dari satu kata. Contoh :
i. ‘me-‘ + ‘cek’ mengecek
ii. ‘me-‘ + ‘las mengelas
iii. ‘me-‘ + ‘cor’ mengecor
i. Kata-kata yang berawalan dengan huruf ‘s’ akan mengubah prefiks ‘me-‘
menjadi ‘me-ny-‘ dimana huruf ‘s’ akan luruh menjadi –ny-. Contoh :
i. ‘me-’ + ‘sadap’ menyadap
ii. ‘me-‘ + ‘sergap’ menyergap
2. Rule untuk prefiks ‘ber-‘
67
a. Bentuk ‘ber-‘ tidak terjadi perubahan jika digabungkan dengan segala huruf
awal bentuk dasar, baik diawali huruf vokal kecuali vokal ‘a’ pada kata ‘ajar’
maupun konsonan kecuali konsonan ‘r’. Contoh :
i. ‘ber-‘ + ‘bicara’ berbicara
ii. ‘ber-‘ + ‘dagang’ berdagang
iii. ‘ber-‘ + ‘janji’ berjanji
b. Bentuk ‘ber-‘ berubah menjadi ‘be-‘ jika terjadi pergabungan dengan kata
dasar yang berawal huruf ‘r’ atau kata yang suku pertamanya berakhir
dengan ‘r’. Contoh :
i. ‘ber-‘ + ‘kerja’ bekerja
ii. ‘ber-‘ + ‘rencana’ berencana
c. Bentuk ‘ber-‘ akan berubah menjadi bentuk ‘bel-‘ jika bertemu kata ‘ajar’.
‘ber-‘ + ‘ajar’ belajar
3. Rule untuk prefiks ‘ter-‘
a. Bentuk ‘ter-‘ akan berubah menjadi ‘te-‘ jika bertemu dengan kata yang
diawali dengan huruf ‘r’. Contoh :
‘ter-‘ +’rampas’ terampas
4. Rule untuk prefiks ‘per-‘
a. Bentuk ‘per-‘ berubah menjadi bentuk ‘pe-‘ jika bertemu dengan kata
yang diawali huruf ‘r’. Contoh :
i.
‘per-‘ + ’rawat’ perawat
b. Bentuk ‘per-‘ berubah menjadi ‘pe-‘ dengan bentuk kata dasar yang
berawalkan huruf konsonan ‘l’, ‘m’, ‘ny’, ‘ng’. Contoh :
i.
‘pe-‘ + ’lompat’ pelompat
ii.
‘pe’ + ’nyanyi’ penyanyi
c. Bentuk ‘pe-‘ akan berubah menjadi ‘pem-‘ jika terjadi penggabungan
dengan kata dasar yan berawalkan konsonan ‘b’, ‘f’, ‘v’ dan konsonan
rangkap ‘pr’. Contoh :
i.
‘pe-’ + ‘bunuh’ pembunuh
68
d. ‘pe-‘ akan menjadi bentuk ‘pe-m-‘ jika terjadi penggabungan dengan kata
dasar yang diawali huruf ‘p’ dan huruf ‘p’ tersebut luluh menjadi ‘-m-‘.
Contoh :
i.
‘pe-‘ + ‘pukul’ pemukul
ii.
‘pe-‘ +’patung’ pematung
e. Perubahan bentuk ‘pe-‘ akan terjadi dalam penggabungan dengan kata
dasar yang diawali huruf ‘c’, ‘d’, dan ‘j’ akan menjadi ‘pen-‘. Contoh :
i.
‘pe-‘ + ‘cangkul’ pencangkul
ii.
‘pe-’ + ‘dengar’ pendengar
iii.
‘pe-‘ + ‘jabat’ penjabat
f. Kata dasar yang diawali dengan konsonan ‘t’ akan merubah bentuk
prefiks ‘pe-‘ menjadi ‘pe-n-‘ dimana huruf ‘t’ akan luruh menjadi ‘-n-‘.
Contoh :
i.
‘pe-‘ + ‘tebang’ penebang
g. Bentuk prefiks ‘pe-‘ akan berubah menjadi ‘peng-‘ jika bertemu dengan
kata dasar yang diawali oleh huruf vokal ‘a’, ‘i’, ‘u’, ‘e’, ‘o’ serta huruf
konsonan ‘h’ dan ‘g’ . Contoh :
i.
‘pe-‘ + ‘adil’ pengadil
ii.
‘pe-‘ + ‘hasil’ penghasil
iii.
‘pe-‘ + ‘gabung’ penggabung
h. Prefiks ‘pe-’ jika bertemu dengan kata dasar berawalan ‘k’ akan berubah
menjadi ‘pe-ng-‘ dimana ka luruh menjadi ‘-ng-’. Contoh :
i.
‘pe-‘ + ‘kail’ pengail.
i. Bentuk ‘pe-‘ akan berubah menjadi ‘penge-‘ jika prefiks ‘pe-‘ bertemu
dengan kata yang terdiri dari satu kata. Contoh :
i.
‘pe-‘ + ‘cek’ pengecek
ii.
‘pe-‘ + ‘las’ pengelas
iii.
‘pe-‘ + ‘cor’ pengecor
j. Kata-kata yang berawalan dengan huruf ‘s’ akan mengubah prefiks ‘pe-‘
menjadi ‘pe-ny-‘ dimana huruf ‘s’ akan luruh menjadi –ny-. Contoh :
i.
‘pe-’ + ‘sadap’ penyadap
69
ii.
‘pe-‘ + ‘sergap’ penyergap
3.4 Pseudocode
begin
read kata input
melakukan pencarian kamus
if pencarian berhasil
menjalankan morfotaktik
menjalankan morfofonemik
return kata+afiks end
elseif
menjalankan pencarian token
if pencarian token berhasil
menjalankan pemisahan kata ulang
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
else if
do pengecekan rule precedence false
endif
else if
precedence = pengecekan rule precedence
if rule precedence adalah prefiks pertama
hapus prefiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
hapus sufiks infleksional
70
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
hapus sufiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
pemulihan kata berimbuhan
hapus sufiks infleksional
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
hapus sufiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
hapus prefiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
else if kata tidak ditemukan
return kata input
71
endif
else if rule precedence adalah sufiks pertama
hapus sufiks infleksional
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
hapus sufiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
hapus prefiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
pemulihan kata berimbuhan
hapus prefiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
endif
hapus sufiks infleksional
melakukan pencarian kamus
72
if pencarian berhasil
return kata dasar end
endif
hapus sufiks derivasi
melakukan pencarian kamus
if pencarian berhasil
return kata dasar end
else if kata tidak ditemukan
return kata input
endif
endif
endif
endif
end
3.5 Kompleksitas
Berdasarkan proses yang telah dijabarkan di subbab sebelumnya, kompleksitas dari
algoritma akan dianalisis. Setiap proses akan diberi penjelasan singkat dan tujuan dari
setiap proses.
1. Pencarian Kamus
Pencarian kamus merupakan proses untuk melihat kata ke dalam database dan
merupakan proses pencarian tunggal.
2.
Morfotaktik (MT)
Proses ini bertujuan untuk menghasilkan kata sesuai morfotaktik. Proses ini
hanya terjadi 1 kali iterasi. Maka dari itu, MT=1
3.
Morfofonemik (MF)
Proses ini akan mengubah bunyi dari imbuhan. Proses ini juga terjadi 1 kali
iterasi, maka MF = 1
4. Penghilangan Prefiks Derivasi (PD)
73
Dalam proses ini, prefiks akan dihilangkan dalam setiap iterasinya. Adapun
prefiks yang ditemukan paling banyak hanya 2 prefiks pada kata berimbuhan
maka jika terdapat 2 prefiks di kata berimbuhan tersebut, maka PD=2
5. Penghilangan Sufiks Infleksional (SI)
Penghilangan sufiks infleksional bisa terjadi maksimal 2 kali dalam satu kata.
Maka maksimal hanya terjadi 2 kali iterasi dalam satu kata berimbuhan, maka
SI=2.
6. Penghilangan Sufiks Derivasi (SD)
Penghilangan sufiks derivasi hanya terjadi maksimal 1 kali iterasi, maka SD = 1.
Berdasarkan perhitungan diatas, waktu yang dibutuhkan untuk menghilangkan
imbuhan dari satu kata berimbuhan dengan mengasumsikan kata berimbuhan tersebut
memiliki maksimal prefiks dan sufiks adalah :
T = (2 + 2 + 1) x 2
T=5x2
T = 10
Lain halnya dengan penambahan imbuhan, waktu yang dibutuhkan algoritma
untuk menambahkan imbuhan adalah :
T = 1+1
T=2
Download