PENGEMBANGAN ALGORITMA PEMBENTUKAN KATA BERIMBUHAN DAN PENCARIAN BENTUK DASAR DARI KATA BERIMBUHAN PADA BAHASA INDONESIA Andri Budiman Oktarino Dwi Taruna Winahyu Andrew Halim Derwin Suhartono BINUS University Jl. Syahdan No. 9 (021) 534 5830
[email protected] [email protected]
[email protected]
ABSTRAK
Pada penelitian sebelumnya sudah berhasil dibuat morphological analyzer dan lemmatizer untuk bahasa Indonesia. Namun masih terdapat kekurangan, sehingga pada penelitian ini akan diperbaiki kekurangankekurangan tersebut . Maka daripada itu dikembangkan algoritma yang diberi nama “BMAIL” dengan tujuan untuk mengembangkan algoritma morphological analyzer dan lemmatization untuk pembentukan kata berimbuhan dan pencarian bentuk dasar dari kata berimbuhan menjadi bentuk dasar dalam bahasa Indonesia. Morphological analyzer dikembangkan memanfaatkan prinsip morfologi dua tingkat dan untuk lemmatizer menggunakan rule precedence dan pengecekan token. Metode pembuatan aturan-aturan pembentukan kata berimbuhan dan pencarian bentuk dasar dari kata berimbuhan didapat dari penelitianpenelitian sebelumnya dan konsultasi dengan pakar dalam bidang bahasa Indonesia. Hasil pengujian algoritma morphological analyzer menghasilkan persentase kata produktif sebesar 12.63%, kata tidak produktif sebesar 86.98%, dan 0.39% kata yang salah. Sementara itu untuk pengujian algoritma
lemmatizer mencapai tingkat akurasi yang cukup tinggi yaitu 96,11% berhasil, dan 3.89% gagal. Simpulan yang dapat diambil adalah morphological analyzer menghasilkan pembentukan kata yang valid, tidak produktif, dan kata yang salah, sementara untuk Lemmatizer sudah mampu menangani gabungan kata dan reduplikasi
Kata
kunci
:
Bahasa
Indonesia,
Morphological
Analyzer,
Morphotactic,
Morphophonemic,
Lemmatization
PENDAHULUAN
Banyak sekali penelitian yang telah dilakukan dalam bidang bahasa dan teknologi. Namun, tidak semua bahasa mampu diintegrasikan ke dalam semua teknologi yang telah diciptakan karena setiap bahasa memiliki karakteristik masing-masing. Maka dari itu, jika setiap bahasa yang ada di dunia hendak diintegrasikan ke dalam teknologi, diperlukan penelitian yang terfokus pada bahasa tersebut untuk menentukan algoritma dan aturan yang digunakan. Bahasa Indonesia merupakan bahasa yang penting di wilayah Asia Tenggara. Menurut Sneddon (2003:225), bahasa Indonesia menjadi bahasa nasional terpopuler ke4 di dunia dan negara tetangga lain. Hal tersebut menjadikan bahasa Indonesia sebagai tema yang signifikan untuk dijadikan bahan penelitian. Setiap bahasa mempunyai kaidah-kaidah tersendiri dan tidak lepas dari semua aturan yang berlaku. Sehingga setiap pengguna bahasa tidak boleh menggunakan bahasa yang salah karena hal tersebut akan merusak citra bahasa itu sendiri. Namun, sering ditemukan penggunaan kata yang salah oleh masyarakat, sebagai contoh kata “dirubah” yang seharusnya menggunakan kata “diubah”. Oleh karena itu, dengan mempelajari morfologi suatu bahasa dapat menambah pengetahuan dan memahami seluk-beluk pembentukan kata yang sesuai dengan kaidah bahasa yang baik dan benar secara gramatikal maupun semantik. Maka dari itu dalam penelitian ini akan dibuat sebuah morphological analyzer dan lemmatizer yang dalam penggunaannya dapat dimanfaatkan untuk melihat bagaimana suatu kata terbentuk, apa saja kata dasarnya, dan apa saja informasi linguistik yang dikandung kata tersebut. Dengan segala informasi yang didapat pada
morphological analyzer dan lemmatizer, diharapkan dapat membantu mempelajari suatu kata dan proses pembentukannya serta bentuk dasar dari suatu kata yang berimbuhan. Lebih jauh lagi morphological analyzer dan lemmatizer dapat dijadikan referensi yang cukup baik untuk pengembangan search engine dan machine translation, maupun perangkat-perangkat untuk pemrosesan bahasa alami lainnya. Untuk melanjutkan penelitian dalam bidang bahasa dan teknologi seperti search engine dan machine translation diperlukan sebuah morphological analyzer sebagai landasan utamanya. Morphological analyzer berguna untuk menentukan proses pembentukan kata-kata. Penelitian yang membahas tentang Morphological analyzer antara lain jurnal yang dipublikasikan oleh Pisceldo, Mahendra, Manurung dan Arka (2008), serta Larasati, Kuboň, dan Zeman (2011). Selain morphological analyzer yang berfungsi untuk mengetahui pembentukan kata, lemmatizer berfungsi untuk mengetahui bentuk dasar dari suatu kata berimbuhan. Penelitian mengenai lemmatizer ini sudah dilakukan oleh Asian, Williams, dan Tahaghoghi (2005) serta Suhartono, Christiandy, Rolando (2014). Berangkat dari latar belakang di atas, maka akan dikembangkan algoritma untuk morphological analyzer dan lemmatizer yang memiliki performa lebih baik dari hasil penelitian-penelitian sebelumnya dengan harapan dapat dicapai morphological analyzer dan lemmatizer yang memiliki tingkat persentase keberhasilan yang lebih tinggi, serta mampu menangani reduplikasi dan kata gabungan.
Rumusan masalah dari penelitian kami adalah: •
Belum ada penelitian dalam bidang natural language processing untuk bahasa Indonesia yang menggabungkan morphological analyzer dengan lemmatizer sekaligus dalam satu aplikasi.
•
Sampai saat ini, belum ada morphological analyzer yang mampu menganalisis kata yang terdiri dari dua kata namun bergabung ketika proses afiksasi, seperti kata “warga negara” ketika ditambahkan imbuhan menjadi “kewarganegaraan” yang merupakan satu kata saja.
•
Sampai saat ini, belum ada lemmatizer yang mampu mencari bentuk kata dasar dari suatu kata gabung yang mengandung konfiks dan reduplikasi yang
mengandung afiks, seperti kata “kewarganegaraan” yang ketika dicari bentuk dasarnya harusnya menjadi “warga negara”, selain itu kata “berlapis-lapis” yang ketika dicari bentuk dasarnya harusnya menjadi “lapis”.
Hipotesis dari penelitian kami adalah : •
H0 : Algoritma yang dikembangkan mampu menganalisa kata-kata dalam bahasa Indonesia dengan baik, sehingga algoritma morphological analyzer dapat membentuk kata produktif dan kata tidak produktif yang sesuai aturan sebesar 80%. Sementara itu, untuk algoritma lemmatizer dapat menemukan bentuk dasar dari kata berimbuhan sebesar 80%.
•
H1 : Algoritma yang dikembangkan tidak mampu menganalisa kata-kata dalam bahasa Indonesia dengan baik, sehingga algoritma morphological analyzer dapat membentuk kata produktif dan kata tidak produktif yang sesuai aturan kurang dari 80%. Sementara itu, untuk algoritma lemmatizer dapat menemukan bentuk dasar dari kata berimbuhan kurang dari 80%.
Tujuan yang ingin dicapai dalam penelitian kami adalah mengembangkan algoritma dalam morphological analyzer dan lemmatizer untuk bahasa Indonesia berbasis PHP.
Manfaat dari penelitian kami : •
Edukasi Bahasa Penelitian ini akan memberikan keuntungan bagi dunia pendidikan. Tidak hanya bagi masyarakat Indonesia, tapi juga bagi orang asing yang ingin
belajar
bahasa Indonesia. •
Peningkatan Performa Search Engine dan Machine Translation Pembentukan kata dasar dari kata berimbuhan bisa meningkatkan performa dari search engine dan machine translation. Karena proses pengambilan data dari database lebih mudah jika telah diketahui kata dasarnya.
•
Penelitian
Memberi kontribusi dalam dunia penelitian, khususnya dalam penelitian
di
bidang lematisasi dan analisa morfologi untuk bahasa Indonesia.
Metode Penelitian yang akan kami gunakan : •
Analisis dan Peninjauan Literatur Peninjauan literatur untuk menganalisa dan mengembangkan algoritma
dalam
morphological analyzer dan lemmatizer. •
Solusi Alternatif Melakukan riset dan analisis mengenai state of the art dalam morphological analyzer dan lemmatizer bahasa Indonesia untuk membuat algoritma
yang
lebih efektif dan efisien dengan beberapa inovasi.
Penulisan skripsi kami dibagi menjadi menjadi lima bab dan isi dari masing-masing bab diuraikan sebagai berikut : •
BAB 1 Pendahuluan Pada bab ini akan dibahas mengenai latar belakang pemilihan topik skripsi, rumusan masalah, hipotesis, ruang lingkup pembahasan, tujuan dan manfaat dari skripsi kami, metode penelitian yang digunakan serta
sistematika penulisan
yang diterapkan. •
BAB 2 Tinjauan Pustaka Pada bab ini akan dipaparkan mengenai teori-teori yang kami gunakan
untuk
menunjang dalam penyusunan skripsi kami, serta kami akan mengulas
hasil
penelitian atau produk sebelumnya yang menjadi batu pijakan kami dalam membuat skripsi kami. •
BAB 3 Metodologi Pada bab ini akan dibahas mengenai kerangka berpikir dalam
penyusunan
skripsi kami, metodologi untuk menyelesaikan masalah yang dipaparkan dalam kerangka berpikir. •
BAB 4 Hasil dan Pembahasan
Pada bab ini, kami akan memaparkan uji algoritma, serta evaluasi dari aplikasi yang kami buat. •
BAB 5 Simpulan dan Saran Pada bab ini penulis akan menarik kesimpulan dari hasil uji algoritma serta evaluasi dari bab-bab sebelumnya dan memberikan saran untuk pengembangan aplikasi sejenis yang telah dibuat sebelumnya maupun yang akan dibuat.
METODE PENELITIAN
Metode Penelitian yang akan kami gunakan : •
Analisis dan Peninjauan Literatur Peninjauan literatur untuk menganalisa dan mengembangkan algoritma
dalam
morphological analyzer dan lemmatizer. •
Solusi Alternatif Melakukan riset dan analisis mengenai state of the art dalam morphological analyzer dan lemmatizer bahasa Indonesia untuk membuat algoritma
yang
lebih efektif dan efisien dengan beberapa inovasi.
Dalam penelitian ini, sampel diambil dari artikel pada web (Kompas, Detik, dan Tempo) dan artikel pada koran (Kompas). Jumlah kata yang diujikan sebanyak 1098 kata. Kata-kata terserbut dimasukkan kedalam algoritma untuk kemudian diproses dan menghasilkan output sesuai dengan aturan-aturan yang berlaku.
Flowchart Alur algoritma
Dalam algoritma pada penelitian ini, terdapat dua alternatif jenis kata yang dapat dimasukkan ke dalam algoritma, yaitu kata dasar, dan kata berimbuhan. Adapun cara algoritma dapat membedakan kata input yang berupa kata dasar dengan kata input yang berupa kata berimbuhan adalah dengan membandingkan kata input dengan database. Database berisi semua kata dasar yang ada pada bahasa Indonesia. Dengan membandingkan kata input dengan database, maka akan diketahui apakah kata input berupa kata dasar atau bukan. Apabila yang dimasukkan ke dalam algoritma adalah kata dasar, maka aturan yang akan berjalan adalan aturan morphological analyzer dan proses penambahan imbuhan pada kata input akan dijalankan. Apabila kata yang dimasukkan ke dalam algoritma adalah kata berimbuhan, maka aturan yang akan dijalankan adalah aturan lematisasi dan proses pencarian kata dasar dari kata input akan dilakukan. Dalam aturan Morphological Analyzer, karena pencarian kata input pada database ditemukan, maka aturan morphotactic akan dijalankan. morphotactic berisikan aturan-aturan yang digunakan untuk menentukan imbuhan apa yang dapat ditambahkan pada kata input berdasarkan kelas katanya. Setelah proses morphotactic selesai dijalankan,
maka
berikutnya
aturan
morphophonemic
dijalankan.
Aturan
morphophonemic berisikan aturan-aturan yang merubah pelafalan pada prefiks sesuai dengan huruf awal dari kata input. Setelah aturan morphotactic dan aturan morphophonemic dijalankan, maka proses morphological analyzer selesai. Dalam aturan Lemmatizer, setelah pencarian kata input tidak ditemukan dalam database, maka akan dicari token “-“ pada kata. Apabila pada kata input terdapat token “-“, maka akan dilakukan pemisahan kata pada kata tersebut. Kata sebelum token dan kata setelah token kemudian ditampung pada variabel yang berbeda. Kemudian apabila kedua variabel tersebut menampung kata yang sama, kata akan dicari pada database untuk ditentukan bentuk kamusnya. Apabila kedua variabel tidak menampung kata yang sama, maka akan dijalankan aturan pemotongan imbuhan pada masing-masing variabel. Variabel yang sudah menampung kata berupa kata dasar, tidak akan menjalankan aturan pemotongan imbuhan. Setelah pemotongan imbuhan selesai pada kedua variabel, akan dicocokkan sekali lagi pada database untuk dicari bentuk kamusnya. Apabila bentuk dasarnya masih tidak ditemukan, maka kata input dianggap salah, namun apabila benar, maka akan ditampilkan pada layar output. Apabila kata input tidak ada pada database dan kata input tidak memiliki token, maka rule precedence akan dijalankan.Berdasarkan Suhartono, Christiandy, Rolando (2014), Rule precedence merupakan aturan-aturan yang mengijinkan pemotongan imbuhan diawali dari prefiks baru kemudian suffiks. Adapun syarat pada rule precedence adalah kombinasi-kombinasi imbuhan berikut : 1.
‘be-‘ dan ‘-lah’
2. ‘be-’ dan ‘-an’ 3. ‘me-’ dan ‘-i’ 4. ‘di-’ dan ‘-i’ 5. ‘pe-’ dan ‘-i’ 6. ‘te-’ dan ‘-i’ Bila kata input tidak memenuhi syarat rule precedence, maka pemotongan imbuhan akan dimulai dari suffiks. Dengan diterapkannya rule precedence, ada beberapa kasus kata-kata berimbuhan yang dapat lebih cepat terselesaikan dan menghasilkan hasil yang lebih akurat. Contoh, kata “bermasalah”, apabila yang dipotong lebih dulu adalah suffix
“-lah” baru prefiks “ber-“, maka akan memunculkan hasil yang tidak sesuai dengan yang diharapkan yaitu “masa”.
HASIL DAN BAHASAN
Dari 1098 kata yang diuji, 577 kata merupakan kata dasar sehingga masuk ke dalam algoritma morphological analyzer, 437 kata merupakan kata berimbuhan sehingga masuk ke dalam algoritma lemmatizer, dan 84 kata merupakan kata yang tidak valid karena masuk ke dalam kategori yang telah disebutkan sebelumnya.
Tabel 1 Hasil Pengujian Algoritma Lemmatizer
Kata yang diuji
437 kata
Output yang sesuai harapan
420 kata
Error
17 kata
Adapun hasil dari pengujian algoritma lemmatizer dari 437 kata yang diuji terdapat 17 kesalahan dalam pemotongan imbuhan. Dari hasil tersebut, maka hasil uji algoritma terdapat 420 hasil output yang sesuai harapan. Maka, persentase dari keberhasilan dan kegagalan algoritma lemmatizer adalah : L(s)=
= 96.11%
L(e) =
= 3.89%
L(s) = Persentase keberhasilan lemmatizer L(e) = Persentase kegagalan lemmatizer Dari perhitungan yang telah dilakukan, persentase keberhasilan untuk lemmatizer sangat besar, yakni mencapai 96.11%. Persentase keberhasilan tersebut telah melampaui hipotesis yang telah disebutkan sebelumnya dimana ekspektasi untuk algoritma ini hanya sebesar 80%.
Tabel 2 Perbandingan Akurasi dengan Penelitian Sebelumnya
Pendekatan Judul Penelitian
Stemming
Hasil Kerja
Stemming Indonesian: A
Berbasis
Aturan penghapusan
Confix-Stripping Approach
Kamus dan
prefiks, sufiks, dan
Aturan
konfiks dengan melihat
Akurasi 95%
kamus Lemmatization Technique in
Berbasis
Aturan penghapusan
Bahasa: Indonesian
Kamus dan
prefiks, sufiks, dan
Language
Aturan
konfiks dengan melihat
99%
kamus Pengembangan Algoritma
Berbasis
Aturan penghapusan
Pembentukan Kata
Kamus dan
prefiks, sufiks, dan
Berimbuhan dan Pencarian
Aturan
konfiks dengan melihat
Bentuk Dasar dari Kata
96.11%
kamus
Berimbuhan pada Bahasa Indonesia
Berdasarkan tabel 4.14, persentase keberhasilan dalam algoritma lemmatizer lebih rendah dibandingkan dengan penelitian sebelumnya yang berjudul Lemmatization Technique in Bahasa: Indonesian Language (Suhartono, Christiandy, Rolando. 2014) yang mencapai akurasi 99%. Karena pada penelitian ini, apabila input merupakan kata dasar, maka algoritma yang akan dijalankan adalah algoritma morphological analyzer. Sedangkan, pada penelitian Lemmatization Technique in Bahasa: Indonesian Language jika input merupakan kata dasar maka algoritma akan berhenti dan input dianggap benar.
Tabel 3 Hasil Pengujian Algoritma Morphological Analyzer
Jumlah kata yang diuji
577 kata
Kata berimbuhan yang dihasilkan
14647 kata
Kata produktif
1851 kata
Kata tidak produktif
12741 kata
Kata error
55 kata
Pengujian morphological analyzer yang terdiri dari 577 kata menghasilkan output sebanyak 14647 kata berimbuhan, namun tidak semuanya merupakan kata berimbuhan produktif. Maka dari itu, untuk morphological analyzer hasil output dibagi menjadi tiga, yaitu kata produktif, kata tidak produktif dan error. Dari 14647 kata berimbuhan tersebut, 1851 merupakan kata produktif, 12741 merupakan kata tidak produktif sedangkan 55 kata merupakan error. Maka, persentase masing-masing kategori untuk morphological analyzer adalah :
M(p) =
= 12.63%
M(tp) =
= 86.98%
M(e) =
= 0.39%
M(p) = Persentase kata produktif yang dihasilkan morphological analyzer M(tp) = Persentase kata tidak produktif yang dihasilkan morphological analyzer M(e) = Persentase kata error yang dihasilkan morphological analyzer
Persentase kata produktif yang dihasilkan oleh morphological analyzer sangatlah rendah hanya sebesar 12.63%. Hal ini dikarenakan walaupun kata tersebut sesuai rule, kata tersebut tidak digunakan oleh masyarakat pada umumnya. Namun, untuk hasil
gabungan kata produktif dan tidak produktif yang dihasilkan oleh algoritma sangatlah besar, yaitu 99.61% dimana hal ini telah melewati hipotesis pada bab I.
Dari pengujian diatas, dari 17 kesalahan dalam algoritma lemmatizer, 7 kesalahan merupakan kesalahan karena pemotongan imbuhan yang berlebih. 4 kasus merupakan kesalahan karena pemotongan imbuhan yang kurang dan 6 kasus merupakan penerapan rule yang salah. Berikut merupakan tabel analisis dari kesalahan dalam pengujian algoritma :
Tabel 4 Analisis Hasil
Kasus
Contoh
Pemotongan imbuhan yang berlebihan
mengurangi urang
Pemotongan imbuhan yang kurang
pengamat kamat
Penerapan rule yang salah
sesuai sua
Dalam kasus pemotongan berlebihan, imbuhan yang dipotong lebih banyak dari yang seharusnya, namun karena pemotongan tersebut tetap menghasilkan kata yang ada di database, kata yang telah dipotong tersebut menjadi output-nya. Seperti pada tabel 4.2, kata ‘mengurangi’ seharusnya dari kata dasar ‘kurang’. Namun, karena algoritma memotong huruf ‘k’ dan kata ‘urang’ yang berarti pohon terdapat di database, maka kata tersebut akan dikeluarkan sebagai outputnya. Pemotongan imbuhan dalam kasus ‘pengamat’, huruf ‘ng’ seharusnya hilang dan menjadi kata ‘amat’ sebagai kata dasar dari ‘pengamat’. Namun, karena ‘ng’ tidak ikut dihapus dan kata ‘ng’ diganti ‘k’ sehingga kata ‘amat’ menjadi ‘kamat’ dan ada di database, maka kata ‘kamat’ yang berarti kayu yang bisa digunakan untuk cap tersebut yang menjadi kata dasar dari kata ‘pengamat’. Kata ‘sesuai’ seharusnya dari kata dasar ‘suai’, namun karena penerapan rule precedence kata ‘sesuai’ dibaca algoritma tidak termasuk ke dalam rule precedence maka kata tersebut akan dihilangkan imbuhannya dari belakang terlebih dahulu, menghilangkan imbuhan ‘-i’ padahal huruf ‘-i’ dalam sesuai bukanlah imbuhan menjadi
‘sesua’. Kemudian, algoritma akan menghilangkan ‘se-‘ sehingga didapat kata ‘sua’ dan kata ‘sua’ yang berarti berjumpa ada di dalam kamus dan kata tersebut dikeluarkan sebagai output.
SIMPULAN DAN SARAN
Dari pengujian dan analisis algoritma, dapat disimpulkan bahwa: •
Hasil pengujian algoritma morphological analyzer menghasilkan persentase kata produktif sebesar 12.63%, kata tidak produktif sebesar 86.98%, dan 0.39% kata yang salah. Sementara itu untuk pengujian algoritma lemmatizer mencapai tingkat akurasi yang cukup tinggi yaitu 96,11% berhasil, dan 3.89% gagal.
•
Pada penelitian ini sudah berhasil mengembangkan penelitian sebelumnya, lemmatizer ini sudah mampu menangani reduplikasi dan pemisahan imbuhan yang terdapat pada gabungan kata maupun pada reduplikasi.
Rancangan
aturan-aturan
morfofonemik
dan
morfotaktik
sulit
diterapkan
dikarenakan dalam Bahasa Indonesia itu sendiri ditemukan banyak ketidakseragaman dan inkonsistensi dalam sistem tata bahasanya. Sehingga hasil penelitian ini menimbulkan ketidaktepatan. Karena selain berdasarkan aturan-aturan morfotaktik dan morfofonemik, pembentukan kata dalam bahasa Indonesia dibuat berdasarkan kesepakatan pengguna. Saran-saran yang dapat diberikan dari apa yang telah dilakukan dalam penelitian ini, untuk pengembangan dan penelitian selanjutnya dijabarkan sebagai berikut: •
Pengembangan rancangan aturan-aturan morfotaktik dan morfofonemik pada morphological analyzer yang mampu menangani permasalahan pembentukan kata berdasarkan semantik. Contoh: Pada aturan morfotaktik ‘memper-kan’ tidak menerima penggabungan kelas kata verba, namun pada bahasa Indonesia terdapat beberapa kata verba yang bisa dibentuk dengan ‘memper-kan’, seperti “mempermaklumkan”.
•
Pengembangan lemmatizer untuk menangani permasalahan kata ulang atau reduplikasi tidak tentu (berubah fonem) yang tidak tercakup pada penelitian ini.
Contoh kata ulang atau reduplikasi tidak tentu yaitu: “sayur-mayur”, “laukpauk”, “bolak-balik”, “gerak-gerik”, dan sebagainya. •
Pengembangan algoritma lemmatizer untuk menangani permasalahan pencarian bentuk dasar yang memerlukan penentuan suku kata untuk peluruhan huruf pertama dengan imbuhan.
•
Memperbaiki algoritma agar mampu membedakan bagian dari kata dasar yang menyerupai imbuhan dengan imbuhan. Contoh: belahan (output yang diharapkan belah, namun output yang dihasilkan lahan).
Mengembangkan algoritma yang mampu menerima input tidak dalam bentuk kata dasar dalam Kamus Besar Bahasa Indonesia saja, melainkan dalam bentuk kalimat juga.
REFERENSI
[1]
Adriani, M., Asian, J., Nazief, B., Tahaghoghi, S.M.M., Williams, H.E. (2007). Stemming Indonesian: A Confix-Stripping Approach. ACM Transactions on Asian Language Information Processing, 6(4), 1-33.
[2]
Alwi, H. (2003). Tata Bahasa Baku Bahasa Indonesia. Jakarta: Departemen Pendidikan dan Kebudayaan Indonesia.
[3]
Atallah, M. J., & Blanton, M. (2010). Algorithms and Theory of Computation Handbook: General Concepts and Techniques. (2nd edition). Boca Raton: Chapman & Hall/CRC.
[4]
Baryadi, I.P. (2011). Morfologi dalam Bahasa Indonesia. Yogyakarta: Universitas Sanata Dharma
[5]
Clark, R., Studholme, O., Murphy, C., Manian, D. (2012). Beginning HTML5 and CSS3. New York: Springer.
[6]
Connolly, T.M. & Begg, C.E. (2005). Database Systems A Practical Approach to Design, Implementation, and Management. (4th edition). Boston: Pearson.
[7]
Cormen, T. H., Leiserson, C. E., Rivest, R. L., Stein, C. (2009). Introductions to Algorithms. (3rd edition). London: The MIT Press.
[8]
Coronel, C., Morris, S., Rob, P. (2012). Database Systems: Design, Implementation, and Management. Boston: Cengage Learning.
[9]
Edmonds, J. (2008). How to Think about Algorithms. New York: Cambridge University Press.
[10] Ingason, A.K., Helgadóttir. S., Loftsson. H., Rögnvaldsson. E., (2008). A Mixed Method Lemmatization Algorithm Using a Hierarchy of Linguistic Identities (HOLI). Advances in Natural Language Processing , 1-12.
[11] Jurafsky, D., & Martin J.H. (2000). Speech and Language Processing. New Jersey: Prentice-Hall, Inc.
[12] Jones, M. (2008). Artificial Intelligence : A System Approach. Hingham: Infinite Science Press LLC.
[13] Kadir, A. (2013). Pemrograman Database MySQL untuk Pemula. Yogyakarta: MediaKom.
[14] Kowalski, M. (2011). Information Retrieval Architecture and Algorithms. New York: Springer.
[15] Kridalaksana, H. (1994). Kelas Kata dalam Bahasa Indonesia. (2nd edition) , Jakarta: Gramedia Pustaka Utama.
[16] Larasati, S.P., Kuboˇn, V., Zeman, D. (2011). Indonesian Morphology Tool (MorphInd): Towards an Indonesian Corpus. Springer CCIS Proceedings of the Workshop on Systems and Frameworks for Computational Morphology, 1-12.
[17] Levitin, A. (2012). Introduction to Design and Analysis of Algorithms. New Jersey: Pearson Education, Inc.
[18] Luger, G.F. (2002). Artificial Intelligence: Structures and Strategies for Complex Problem Solving. Harlow: Pierson Education Limited.
[19] Manning, C. D., Raghavan, P., Schütze, H. (2009). An Introduction to Information Retrieval. Cambridge: Cambridge University Press.
[20] Meyer, E.A. (2006). CSS: The Definitive Guide. Sebastopol: O’Reilly Media, Inc.
[21] Narang, R. (2011). Database Management Systems, (2nd edition) . New Delhi: PHI Learning Private Limited.
[22] Nirenburg, S. (2009). Language Engineering for Lesser-Studied Languages. Amsterdam: IOS Press.
[23] Pratt, P.J. & Adamski, J.J. (2011). Concepts of Database Management. Boston : Cengage Learning.
[24] Russell, S., & Norvig, P. (2010). Artificial Intelligence A Modern Approach. New Jersey: Pearson Education Inc.
[25] Pisceldo, F., Mahendra, R., Manurung, R., Arka, I.W. (2008). A Two-Level Morphological Analyzer for the Indonesian Language. Abstract submitted to the Australasian Language Technology (ALTA) Workshop, 1-9.
[26] Poole, D. L., Mackworth A. K. (2010). Artificial Intelligence Foundations of Computational Agents. Cambridge: Cambridge University Press.
[27] Pustejovsky, J., & Stubbs A. (2012). Natural Language Annotation for Machine Learning. Beijing: O’Reilly.
[28] Sneddon, J.N. (2003). The Indonesian Language: Its History and Role in Modern Society. Australia: University of New South Wales Press.
[29] Suhartono, D., Christiandy, D., Rolando. (2014). Lemmatization Technique in Bahasa: Indonesian Language. Journal of Software, 9(5), 1-8.
[30] Tucker, T.G. (2010). Introduction to the Natural History of Language (1908). USA: Kessinger Publishing.
[31] Welling, L. & Thomson, L. (2008). PHP and MySQL Web Development. Indianapolis: Sams Publishing.
RIWAYAT PENULIS Andri Budiman Oktarino lahir di kota Jakarta pada 10 Oktober 1992. Penulis menamatkan pendidikan S1 di Binus University dalam bidang Teknik Informatika pada tahun 2014. Saat ini bekerja sebagai instruktur di sekolah mengemudi PT. Mentari Prima Persada. Dwi Taruna Winahyu lahir di kota Jakarta pada tanggal 24 Februari 1992. Penulis menyelesaikan pendidikan S1 di Binus University dalam bidang Teknik Informatika pada tahun 2014. Saat ini bekerja sebagai host di Baidu Inc. Indonesia untuk program live stream broadcasting pertama di Indonesia, Cliponyu. Andrew Halim lahir di Jakarta pada tanggal 26 Agustus 1992. Penulis menamatkan pendidikan S1 di Binus University dalam bidang Teknik Informatika pada tahun 2014.