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