7 BAB 2 TINJAUAN PUSTAKA 2.1 Teori

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1 Teori-Teori yang Digunakan
2.1.1 Bahasa Indonesia
Bahasa Indonesia merupakan bahasa yang penting di wilayah Asia Tenggara.
Menurut Sneddon (2003:225), meskipun bahasa Indonesia tidak digunakan di seluruh
dunia, bahasa ini tetap menjadi bahasa nasional terpopuler ke-4 di dunia dan negara
tetangga lainnya.
2.1.1.1 Sifat Bahasa Indonesia
Menurut Tucker (2010:75) kebanyakan bahasa secara morfologi bisa
diklasifikasikan menjadi tiga kategori. Pengkategorian merupakan dasar dari bahasa
alami. Ketiga kategori itu disusun secara ascending. Kategori pertama yaitu
monosyllabic, terisolasi, atau bahasa radikal, seperti bahasa Cina atau Mandarin. Bahasa
dalam kategori ini tidak mampu mengakomodasikan segala bentuk perubahan kata
seperti penggunaan sufiks, prefiks, dan lain-lain.
Kategori kedua adalah agglutinating language, seperti bahasa Turki dan bahasa
Jepang. Agglutinating maksudnya kata-kata dalam sebuah kalimat bisa disisipkan dan
dilepas dengan bebas. Beberapa bisa diubah ke bentuk afiks atau berimbuhan, tetapi
tidak akan mengubah bentuk katanya. Hal tersebut bisa dilekatkan dengan cara
diaglutinasi atau agglutinated. Tidak hanya afiks, tetapi kata-kata bisa dilekatkan dengan
yang lainnya. Tucker (2010:78) memberikan contoh seperti ini. Aulisariartorasuarpok
yang artinya “dia buru-buru pergi memancing” dalam bahasa Greenland. Kata
Aulisariartorasuarpok merupakan gabungan dari kata aulisar yang artinya“untuk
memancing”, peartor yang artinya “sedang melakukan”, pinnesuarpok yang artinya
“dengan cepat”. Konstruksi kata ini hanya memungkinkan dalam agglutinative language
tingkat tinggi.
Kategori terakhir adalah inflexional, organic, dan amalgamating language,
seperti Semitic dan kebanyakan bahasa di negara-negara Eropa. Pada kategori ini, kata-
7
8
kata bisa berubah bentuknya menjadi fungsi yang lebih spesifik dalam kalimat, seperti
irregular verb atau past particular dalam bahasa Inggris.
Bahasa Indonesia merupakan transisi antara agglutinating dan inflexional. Katakata dalam bahasa Indonesia tidak bisa direkatkan seperti bahasa Greenland, tetapi bisa
direkatkan dengan beberapa afiks. Jika dalam agglutinative language tingkat tinggi
penambahan afiks tidak akan mempengaruhi bentuk kata, dalam bahasa Indonesia,
beberapa afiks akan mengubah bentuk kata. Hal ini merupakan karakteristik dari bahasa
inflexional. Jadi bahasa Indonesia mengandung inflexional dan agglutinative, tapi tidak
dalam bentuk ekstrim. Hal ini juga disebutkan oleh Tucker (2010:89) bahwa sebagian
besar bahasa Indo-Eropa dalam bentuk modern merupakan karakteristik semiinfleksional.
2.1.1.2 Pentingnya Bahasa Indonesia di Dunia
Bahasa Indonesia telah menghadapi banyak masalah dan pengembangan sosialpolitik sejak 1997. Gejolak tersebut menarik perhatian banyak orang, termasuk dalam
bidang akademis seperti sejarah, politik, sosiologi, junalis, dan orang-orang yang
memiliki minat dalam masalah internasional (Sneddon, 2003:1). Bahasa Indonesia
sebagai bahasa nasional erat kaitannya dengan sebuah bangsa dan merupakan cara yang
unik untuk mencerminkan suatu bangsa serta merupakan hal yang menarik bagi dunia
internasional.
Meskipun bahasa Indonesia aslinya digunakan hanya di Indonesia, namun tetap
menjadi salah satu bahasa dengan pembicara dan pengguna terbanyak di dunia
(Sneddon, 2003:1). Hal ini dikarenakan Indonesia merupakan negara dengan populasi
terbanyak ke-4 di dunia. Bahasa itu penting di mata dunia bukan hanya karena
digunakan oleh banyak orang, tetapi juga karena banyak aspek yang terbatas pada
bangsa dan bahasanya yang cukup signifikan untuk dunia, seperti halnya Indonesia
merupakan negara muslim terbesar di dunia. (Sneddon, 2003:2). Sejarah politik
Indonesia yang berhubungan dengan Belanda dan negara-negara lainnya. Aspek tersebut
yang membuat bahasa Indonesia cukup penting di dunia.
9
2.1.2 Algoritma
Pengertian algoritma menurut Levitin (2012:3-4) adalah suatu urutan instruksi
yang jelas untuk memecahkan masalah, yaitu untuk memperoleh output yang diperlukan
untuk setiap input yang sah dalam jumlah waktu yang terbatas. Berikut adalah poin
penting dari algoritma:
a. Setiap langkah dari algoritma tidak boleh ambigu.
b. Wilayah input untuk algoritma yang bekerja harus ditentukan dengan hati-hati.
c. Algoritma yang sama dapat direpresentasikan dalam beberapa cara yang berbeda.
d. Ada beberapa algoritma untuk memecahkan masalah yang sama.
e. Algoritma untuk masalah yang sama dapat didasarkan pada ide-ide yang sangat
berbeda dan dapat memecahkan masalah dengan kecepatan yang berbeda secara
dramatis.
Algoritma, menurut Edmonds (2008:1), merupakan prosedur langkah-langkah
yang dimulai dengan instansi input dan menghasilkan output yang sesuai. Hal ini
dijelaskan pada tingkat detail dan abstraksi paling cocok untuk dipahami manusia.
Sebaliknya, kode adalah implementasi dari algoritma yang bisa dieksekusi oleh
komputer. Pseudocode berada di antara keduanya.
Menurut Cormen, Leiserson, Rivest, Stein (2009:5) secara informal, algoritma
adalah prosedur komputasi yang terdefinisi dengan baik yang mengambil beberapa nilai,
atau mengatur nilai-nilai, sebagai input dan menghasilkan beberapa nilai, atau mengatur
nilai-nilai, sebagai output. Dengan demikian algoritma merupakan urutan langkah
komputasi yang mengubah input menjadi output.
Algoritma juga dapat diartikan sebagai alat untuk memecahkan masalah
komputer yang tidak jelas atau bahkan masalah komputer yang didefinisikan dengan
baik. Secara umum, pernyataan masalah menentukan hubungan antara data input dan
data output yang diinginkan. Algoritma itu sendiri menjelaskan prosedur komputasi
spesifik untuk mencapai hubungan antara input dan output.
Sebagai contoh yaitu penyortiran sekelompok angka dalam urutan terkecil
hingga terbesar. Masalah ini seringkali ditemukan dalam kehidupan nyata dan
memberikan ‘fertile ground’ untuk memperkenalkan berbagai jenis alat analisis dan
10
teknik perancangan standar. Secara formal, masalah penyortiran dapat didefinisikan
sebagai berikut:
Input: string angka n {a1, a2, …, an}.
Output: permutasi (re-ordering) {a’1, a’2, …, a’n} dari urutan input seperti ini
a’1≤ a’2≤ … ≤ a’n.
Sebagai contoh, diberikan urutan input (31, 41, 59, 26, 41, 58), algoritma
penyortiran menghasilkan urutan output (26, 31, 41, 41, 58, 59). Urutan input disebut
instansi masalah penyortiran. Secara umum, instansi masalah terdiri dari input
(memenuhi kendala apapun yang dikenakan dalam pernyataan masalah) diperlukan
untuk menghitung solusi dari masalah ini.
Algoritma dikatakan benar jika, untuk setiap input berhenti dengan hasil output
yang benar. Dapat dikatakan, algoritma yang benar adalah algoritma yang dapat
mengatasi masalah komputasi. Algoritma yang salah adalah algoritma yang tidak
memberikan jawaban atau memberikan jawaban yang tidak tepat untuk beberapa atau
seluruh input. Tetapi perlu diingat bahwa algoritma yang salah terkadang
bergunasebagai acuan apabila sewaktu-waktu kesalahan-kesalahan yang ada bisa
diperbaiki. Sering kali, algoritma yang salah bisa digunakan kembali jika memiliki
performa yang lebih baik dibandingkan dengan rata-rata kesalahannya.
2.1.3 Artificial Intelligence
AI merupakan salah satu bidang terbaru dalam sains dan teknik. Pengembangan
AI benar-benar dimulai setelah Perang Dunia II. Bersamaan dengan biologi molekular,
AI disebutkan sebagai “bidang yang sangat ingin digeluti” oleh para ilmuwan.
AI saat ini meliputi berbagai macam sub-bidang, mulai dari yang umum (belajar
dan berpersepsi) kepada hal yang spesifik, seperti bermain catur, membuktikan teorema
matematika, menulis puisi, mengendarai mobil di jalan ramai, dan mendiagnosis
penyakit. AI sangat berhubungan dengan pekerjaan intelektual. (Russell dan Norvig,
2010:1)
Pada dasarnya, banyak pandangan serta pengertian mengenai AI, dan secara
garis besar, menurut Russell dan Norvig (2010:1-2) definisi AI bisa terbagi menjadi
11
empat kategori, yaitu: Berpikir Manusiawi, Berpikir Rasional, Bertingkah Manusiawi,
dan Bertingkah Rasional.
1. Berpikir Manusiawi
Pada kategori ini, AI dijelaskan suatu usaha baru untuk dapat membuat komputer
dapat berpikir, suatu komputer yang memiliki pemikiran dan rasa, atau dengan
kata lain dapat juga disebut sebagai kegiatan mengadopsi cara berpikir manusia,
seperti pengambilan keputusan, penyelesaian masalah, pembelajaran, dan
sebagainya.
2. Berpikir Rasional
Pada kategori ini, AI dijelaskan sebagai suatu studi melalui pemodelan
komputasi, dimana studi AI ini dapat membuat segala sesuatu mungkin untuk
dapat dipersepsikan dan memiliki alasan untuk dilakukan.
3. Bertingkah Manusiawi
Pada kategori ini, AI dijelaskan sebagai suatu seni untuk membuat mesin dapat
menampilkan fungsi yang membutuhkan kecerdasan ketika digunakan oleh
manusia.
4. Bertingkah Rasional
Pada kategori ini, AI dijelaskan sebagai studi tentang perancangan agen-agen
kecerdasan dan AI terfokus pada perilaku cerdas.
12
Tabel 2.1 Definisi AI
Berpikir Manusiawi
Berpikir Rasional
“Upaya baru yang menarik untuk membuat “Studi
mengenai
kemampuan
mental
komputer berpikir … mesin dengan pikiran melalui penggunaan model komputasi.”
dalam artian sesungguhnya dan literal.” (Charniak dan McDermott, 1985)
(Haugeland, 1985)
“Otomatisasi
kegiatan
yang
dikaitkan “Studi
mengenai
komputasi
yang
dengan pemikiran manusia, pengambilan memungkinkan untuk melihat, berakal,
keputusan,
pemecahan
masalah, dan bertindak.” (Winston, 1992)
pembelajaran …” (Hellman, 1978)
Bertingkah Manusiawi
Bertingkah Rasional
“Seni membuat mesin yang melakukan “Kecerdasan
fungsi yang dilakukan oleh manusia.” mengenai
(Kurzweil, 1990)
komputasi
perancangan
adalah
agen
studi
cerdas.”
(Poole et al., 1998)
“Studi mengenai bagaimana membuat “AI berkaitan dengan perilaku cerdas
komputer melakukan hal-hal yang pada dalam artefak.” (Nilsson, 1998)
saat ini dilakukan lebih baik oleh manusia”
(Rich dan Knight, 1991)
Tes Turing yang diajukan oleh Alan Turing pada tahun 1950, dirancang untuk
memberikan definisi dari AI. Sebuah komputer dianggap berhasil jika interogator
manusia setelah mangajukan pertanyaan tertulis, tidak dapat membedakan apakah
tanggapan atau jawaban tertulis tersebut berasal dari seseorang atau dari komputer.
Berdasarkan tes Turing, untuk memenuhi kriteria AI komputer perlu memiliki
kemampuan sebagai berikut:
a. Natural Language Processing / Pengolahan Bahasa Alami
Memungkinkan untuk berkomunikasi dengan sukses dalam bahasa
Inggris.
b. Knowledge Representation / Representasi Pengetahuan
Mampu menyimpan pengetahuan ataupun mendengar.
c. Automated Reasoning / Penalaran Otomatis
13
Mampu menggunakan informasi yang tersimpan untuk menjawab
pertanyaan dan untuk menarik kesimpulan baru.
d. Machine Learning / Mesin Belajar
Mampu beradaptasi dengan keadaan baru dan untuk mendeteksi dan
ekstrapolasi sebuah pola.
2.1.3.1 Sejarah
Pada tahun 1950, Alan Turing menanyakan apakah sebuah mesin bisa berpikir.
Tidak lama sebelumnya, Turing telah memperkenalkan konsep dari mesin universal
abstrak (yang disebut Mesin Turing) yang sederhana dan mampu memecahkan semua
masalah matematika (dengan kompleksitas yang sama). Hasil penelitian ini disebut Tes
Turing.
Pada tes Turing, jika mesin membuat manusia berpikir bahwa mesin tersebut
adalah manusia, maka mesin tersebut lulus tes kecerdasan. Satu cara dalam tes Turing
adalah dengan berkomunikasi dengan agen lain melalui keyboard. Pertanyaanpertanyaan ditanyakan oleh pakar melalui teks tertulis, dan tanggapan diberikan melalui
terminal. Tes ini memberikan jalan untuk menentukan bahwa kecerdasan tersebut
merupakan AI. Dengan mempertimbangkan tugas tersebut, tidak hanya pakar yang
cerdas menguasai pengetahuan yang diperlukan untuk membuat sebuah percakapan
cerdas, dan hal tersebut harus mampu untuk mengurai dan mengerti bahasa alami dan
menanggapi dengan bahasa alami. Pertanyaan tersebut dapat melibatkan kemampuan
pertimbangan (seperti pemecahan masalah), sehingga mesin yang mampu meniru
manusia dianggap sebuah prestasi (Jones, 2008:3)
Pada tahun 1956, Konferensi Dartmouth AI melibatkan beberapa orang dalam
riset AI, yaitu: John McCarthy, Marvin Minsky, Nathaniel Rochester, dan Claude
Shannon. Mereka dibawa untuk melakukan riset pada komputer, pemrosesan bahasa
alami, dan jaringan neuron.
Selain untuk menciptakan istilah AI dan melakukan riset besar dalam bidang AI,
McCarthy membuat bahasa pemrograman AI pertama yaitu LISP. (Jones, 2008: 5-6)
14
Pada tahun 1970, pengembangan AI terus berlanjut tetapi lebih terfokus.
Aplikasi yang memberikan harapan, seperti sistem pakar, naik sebagai salah satu kunci
pengembangan di era saat itu.
Salah satu sistem pakar pertama untuk menunjukkan kekuatan dari arsitektur
rule-based yang disebut MYCIN, dan dikembangkan oleh Ted Shortliffe yang mengikuti
penelitian ketika berada di Stanford pada tahun 1974. MYCIN dioperasikan di bidang
diagnosis medis, dan menunjukkan representasi pengetahuan dan kesimpulan.Kemudian
pada dekade ini, penelitian lainnya di Stanford oleh Bill Van Melles yang membangun
arsitektur MYCIN dan berfungsi sebagai model untuk kerangka sistem pakar yang
digunakan hingga saat ini. (Jones, 2008:8)
2.1.3.2 Aplikasi AI
Menurut Russell dan Norvig (2010:28) ada beberapa aplikasi AI, seperti:
1. Robotika
Robot adalah perangkat mekanik yang dapat bertindak sendiri dan
menggantikan aktivitas manusia. Robot mampu mengurangi waktu dan proses
yang perlu dilakukan oleh manusia.
2. Pengenalan Suara
Pengenalan suara adalah kemampuan komputer untuk menganalisa suara
manusia dan mengintepretasikannya dalam bentuk teks, yang biasa diketahui
sebagai “speech to text”.
3. Perencanaan dan Penjadwalan Otomatis
Kemampuan komputer untuk membuat rencana dan jadwal secara
otomatis.
4. Permainan Game
Komputer bisa diprogram untuk berprilaku seperti seorang pemain dalam
game, memungkinkan orang untuk memainkan game yang membutuhkan
interaksi manusia tanpa manusia.
5. Memerangi Spam
Memerangi spam adalah kemampuan komputer untuk menghapus pesan
yang diklasifikasikan sebagai spam secara otomatis.
15
6. Perencanaan Logistik
Melakukan perencanaan logistik dan penjadwalan untuk transportasi
otomatis.
7. Mesin Penerjemah
Mesin penerjemah adalah kemampuan komputer untuk menerjemahkan
dari satu bahasa ke bahasa lain.
2.1.4 Natural Language Processing
Menurut Pustejovsky dan Stubbs (2012:4), Natural Language Processing (NLP)
merupakan bidang dari ilmu komputer dan teknik yang telah dikembangkan dari studi
bahasa dan komputasi linguistik dalam bidang AI. Tujuan dari NLP adalah untuk
merancang dan membangun aplikasi yang memfasilitasi interaksi manusia dengan mesin
dan perangkat lainnya melalui penggunaan bahasa natural. Beberapa area utama
penelitian pada bidang NLP, diantaranya:
1. Question Answering Systems
Question Answering Systems (QAS) atau dalam bahasa Indonesia yaitu
Sistem Tanya Jawab adalah kemampuan komputer untuk menjawab pertanyaan
yang diberikan oleh user. Dibandingkan memasukkan keyword ke dalam
browser pencarian, dengan QAS, user bisa langsung bertanya dalam bahasa
natural yang digunakannya, baik itu Inggris, Mandarin, ataupun Indonesia.
2. Summarization
Pembuatan ringkasan dari sekumpulan konten dokumen atau e-mail.
Dengan menggunakan aplikasi ini, user bisa dibantu untuk mengubah dokumen
teks yang ke dalam bentuk slide presentasi.
3. Machine Translation
Produk yang dihasilkan adalah aplikasi yang dapat memahami bahasa
manusia dan menerjemahkannya ke dalam bahasa lain. Termasuk di dalamnya
adalah Google Translate yang apabila dicermati semakin membaik dalam
penerjemahan bahasa. Contoh lain lagi adalah BabelFish yang menerjemahkan
bahasa secara real time.
4. Speech Recognition
16
Bidang ini merupakan cabang ilmu NLP yang paling sulit. Proses
pembangunan model pengenalanbahasa yang diucapkan bisa digunakan pada
telepon atau komputer sudah banyak dikerjakan. Pengenalan ucapan yang sering
digunakan adalah berupa pertanyaan dan perintah.
5. Document Classification
Ini adalah salah satu area paling sukses dari NLP, di mana tugasnya
adalah untuk mengidentifikasi dalam kategori mana dokumen harus ditempatkan.
Hal ini sangat berguna pada aplikasi penyaringan spam, klasifikasi artikel berita,
dan ulasan film.
2.1.4.1 Aspek Utama NLP
Berdasarkan Poole dan Mackworth (2010:520), pengembangan pemrosesan
bahasa natural memberikan kemungkinan interface
1. Syntax
Syntax menjelaskan bentuk dari bahasa. Biasa dispesifikasikan oleh
grammar. Bahasa alami jauh lebih rumit dibanding bahasa formal yang
digunakan untuk logika bahasa buatan dan program komputer.
2. Semantics
Semantic memberikan pengertian dari ungkapan dan kalimat suatu
bahasa. Meskipun teori semantic secara umum sudah ada, ketika membangun
sistem natural language understanding untuk aplikasi tertentu, maka akan
digunakan representasi yang paling sederhana.
3. Pragmatics
Komponen pragmatic menjelaskan bagaimana ungkapan berhubungan
dengan dunia.
2.1.5 Morfologi
Pengertian morfologi menurut Jurafsky dan Martin (2000:59-65) merupakan
pengetahuan mengenai pembentukan suatu kata dari unit-unit lebih kecil yang
mengandung makna. Unit-unit terkecil dan mengandung makna itu sendiri disebut juga
morfem. Morfem dapat dibagi menjadi kata dasar dan imbuhan (afiks) yang selanjutnya
17
imbuhan itu dapat dibagi lagi menjadi prefiks, sufiks, dan konfiks. Penggabungan kata
imbuhan dan kata dasar disebut concatenative morphology. Dikarenakan penggabungan
tersebut akan menghasilkan suatu kata yang merupakan hasil penggabungan dua atau
lebih morfem yang dikonkatenasikan secara bersama-sama.
Proses morfologi dapat dibagi menjadi dua jenis menurut pembentukan kelas
kata yang dihasilkan. Dua jenis morfologi tersebut yaitu:
1. Morfologi Infleksional
Morfologi infleksional merupakan pembentukan yang menghasilkan kata dengan
kelas kata yang sama dengan kelas kata dari kata dasar pembentuknya. Ciri-ciri
dari morfologi infleksional yaitu sistematis dalam artian polanya teratur dan
memiliki maksud dan hasil yang jelas serta produktif dalam artian dapat
diterapkan pada semua kata dengan kelas kata yang sesuai. Contoh: “menulis”
yang merupakan kata kerja dihasilkan dari kata dasar “tulis” yang juga
merupakan kata kerja.
2. Morfologi Derivasional
Morfologi derivasional merupakan pembentukan yang menghasilkan kata dengan
kelas kata yang berbeda dengan kelas kata dari kata dasar pembentuknya.
Kebalikan dari infleksional, morfologi derivasional ini justru memiliki ciri-ciri
tidak sistematis dan tidak produktif. Contoh: “penulis” yang merupakan kata
benda dihasilkan dari kata dasar “tulis” yang merupakan kata kerja.
Menurut Jurafsky dan Martin (2000:65), untuk membangun sebuah morphological
analyzer dibutuhkan:
1. Lexicon
Suatu daftar yang memuat semua kata dasar, imbuhan, dan semua informasi yang
dibutuhkan mengenai kata dasar dan imbuhan tersebut.
2. Morphotactics
Seluruh aturan yang mengatur urutan dan memodelkan penggabungan morfem
dalam sebuah kata. Contoh: imbuhan meN- jika diletakkan di depan kata dasar
“makan” dari kelas kata kerja akan menghasilkan kata “memakan” yang
merupakan kata kerja. Aturan ini juga memastikan agar tidak menghasilkan kata
“makanme”.
18
3. Orthographics
Seluruh aturan pengejaan yang digunakan untuk bentuk perubahan yang terjadi
dalam kata, biasanya ketika morfem-morfem tersebut digabungkan. Sering juga
disebut morphophonemic. Contoh: imbuhan meN- digabungkan dengan kata
dasar “tulis” akan menghasilkan kata “menulis”.
2.1.6 Pengertian Basis Data
Menurut Connolly dan Begg (2005:15) basis data merupakan suatu kumpulan
data dan deskripsi data yang saling terhubung satu sama lain secara logis dan dirancang
untuk memenuhi kebutuhan informasi dari suatu organisasi. Basis data merupakan
entitas, atribut, dan hubungan logis antar entitas. Dengan kata lain, basis data
menyimpan data yang terkait secara logis.
2.1.6.1 Database Management System (DBMS)
Berdasarkan Connolly dan Begg (2005:16-17) DBMS adalah sistem perangkat
lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan
mengontrol akses ke basis data. DBMS adalah perangkat lunak yang berinteraksi dengan
pengguna program aplikasi dan basis data. Biasanya DBMS memberikan fasilitas
meliputi:
a. Data Definition Language (DDL)
Memungkinkan pengguna untuk menentukan tipe data dan struktur dan kendala
pada data yang akan disimpan dalam basis data.
b. Data Manipulating Language (DML)
Memungkinkan pengguna untuk memasukkan, memperbaharui, menghapusm
dan mengambil data dari basis data. Memiliki sebuah penyimpanan pusat untuk
semua data dan deskripsi data yang memungkinkan DML untuk memberikan
fasilitas penyelidikan data, disebut bahasa query. Query yang paling umum
digunakan adalah Structured Query Language (SQL).
c. Akses Kontrol ke Basis Data
i.
Sistem keamanan, yang mencegah pengguna yang tidak sah mengakses
basis data.
19
ii.
Sistem integritas, yang mempertahankan konsistensi data yang tersimpan.
iii.
Sistem kontrol konkurensi, yang memungkinkan berbagi akses basis data
secara bersamaan.
iv.
Sistem kontrol pemulihan, yang mengembalikan basis data ke keadaan
yang konsisten sebelumnya setelah terjadi kegagalan perangkat keras atau
perangkat lunak.
v.
Katalog user-accessible, yang berisi deskripsi dar data dalam basis data.
2.1.6.2 MySQL
MySQL merupakan Relational Database Management System (RDBMS) yang
sangat cepat dan kuat. Basis data memungkinkan secara efisien untuk menyimpan,
mencari, mengurutkan, dan mengambil data. Kontrol server MySQL dapat mengakses
data untuk memastikan bahwa beberapa pengguna dapat bekerja secara bersamaan,
untuk memberikan akses cepat, dan untuk memastikan bahwa hanya pengguna yang
berwenang yang dapat memperoleh akses.
Oleh karena itu, MySQL adalah multiuser dan multithreaded server. MySQL
menggunakan Structured Query Language (SQL), standar bahasa query basis data.
MySQL tersedia untuk umum sejak tahun 1996 tetapi dibuat pada tahun 1979. (Welling
dan Thomson, 2008: 2-3).
Kompetitor utama MySQL adalah PostgreSQL, Microsoft SQL Server, dan
Oracle. Menurut Welling dan Thomson (2008:4-6) MySQL mempunyai beberapa
kelebihan, yaitu:
1. Kinerja tinggi
Kecepatan MySQL tidak perlu diragukan lagi. Pada tahun 2002, eWeek
mengeluarkan perbandingan antara lima basis data aplikasi web. Hasil terbaik
didapatkan oleh MySQL dan kategori termahal adalah Oracle.
2. Biaya rendah
MySQL tersedia tanpa biaya dengan lisensi open source atau tersedia
dengan biaya murah untuk lisensi komersial. Dibutuhkan lisensi jika ingin
mendistribusikan MySQL sebagai bagian dari aplikasi dan jika tidak aplikasi
20
berada di bawah lisensi open source. Jika aplikasi tidak ingin didistribusikan
maka tidak diperlukan membeli lisensi.
3. Mudah digunakan
Kebanyakan basis data saat ini menggunakan SQL. Jika menggunakan
RDBMS lain, tidak akan menghadapi masalah untuk beradaptasi pada yang satu
ini. MySQL juga lebih mudah dalam pengaturannya dibanding beberapa produk
yang sama.
4. Portabilitas
MySQL bisa digunakan pada beberapa sistem Unix yang berbeda dengan
baik seperti pada Microsoft Windows
5. Ketersediaan source code
Seperti PHP, source code MySQL bisa diperoleh dan dimodifikasi. Hal
ini tidak penting bagi sebagian besar pengguna, tetapi bisa memberikan
ketenangan pikiran yang baik, menjamin kelangsungan yang akan datang, dan
memberikan pilihan saat keadaan darurat.
6. Ketersediaan dukungan
Tidak semua produk open source memiliki perusahaan induk yang
menawarkan dukungan, pelatihan, konsultasi, dan sertifikasi.
2.1.7 Hypertext Preprocessor (PHP)
Hypertext Preprocessor (PHP) adalah bahasa pemrograman server-sideyang
dirancang khusus untuk web. Dalam halaman HTML, dapat ditulis dengan kode PHP
yang akan dijalankan setiap kali halaman dikunjungi.Kode PHP tersebut akan
diinterpretasikan di web server dan menghasilkan HTML atau output lain yang dapat
dilihat oleh pengunjung web.
PHP dibuat pada tahun 1994 dan awalnya merupakan karya satu orang yaitu
Rasmus Lerdorf. Kemudian hal ini diadopsi oleh orang-orang berbakat lainnya dan telah
melalui four major rewrite untuk menjadi seperti sekarang ini.
PHP adalah sebuah proyek open source, yang berarti bisa mengakses ke source
code dan dapat digunakan, diubah, dan didistribusikan ulang tanpa biaya. PHP awalnya
diketahui sebagai Personal Home Page tetapi diubah sesuai dengan konvensi penamaan
21
rekursif GNU dan sekarang dikenal sebagai Hypertext Preprocessor. (Welling dan
Thomson, 2008:2-3).
Menurut Welling dan Thomson (2008:4-6) kelebihan menggunakan bahasa
pemrograman PHP, yaitu:
1. Kinerja tinggi
PHP sangat cepat, menggunakan server tunggal yang murah dan dapat
melayani jutaan hit per hari.
2. Skalabilitas
PHP sering mengacu sebagai arsitektur “shared-nothing”. Maksudnya
PHP secara efektif dan murah dapat menerapkan skala mendatar dengan
sejumlah besar server komoditas.
3. Integrasi basis data
PHP menyediakan koneksi yang banyak ke berbagai sistem basis data.
Selain MySQL dapat terhubung secara langsung dengan basis data PostgreSQL,
Oracle, dbm, FilePro, DB2, Hyperwave, Informix, InterBase, dan Sybase. PHP 5
juga memiliki built-ininterface SQL untuk flat file, disebut SQLite.
Menggunakan Open Database Connectivity Standard (ODBC), PHP
dapat terhubung ke basis data yang menyediakan ODBC driver yang mencakup
produk Microsoft dan lain-lain. Selain libraries asli, PHP dilengkapi dengan
lapisan abstraksi akses basis data yang disebut PHP Database Objects (PDO),
yang memungkinkan akses yang konsisten dan meningkatkan keamanan kode.
4. Built-in Libraries
Karena PHP dirancang untuk digunakan pada web, maka PHP memiliki
banyak fungsi built-in untuk melakukan beberapa tugas web-relatedyang
berguna. PHP dapat menghasilkan gambar dengan cepat, terhubung ke layanan
web dan layanan jaringan lainnya, mengurai XML, mengirim email, mengolah
cookies, menghasilkan dokumen dengan format PDF, dan semua itu hanya
memerlukan beberapa baris coding.
5. Biaya murah
22
PHP dapat diperoleh secara gratis. Bahasa pemrograman ini dapat
diunduh kapanpun dengan versi terbarunya di http://www.php.net tanpa
dikenakan biaya.
6. Mudah untuk dipelajari
Sintaksis dari PHP merupakan dasar dari bahasa pemrograman lainnya,
terutama bahasa C dan Perl. Jika sudah pernah menggunakan C atau Perl, atau
bahasa seperti C++ atau Java, maka dengan segera akan dapat menggunakan
PHP.
7. Mendukung orientasi objek
PHP versi 5 dirancang untuk mendukung fitur berorientasi objek. Mirip
dengan program pada Java atau C++, terdapat fitur seperti penurunan sifat,
atribut dan metode private dan protected, kelas abstrak, interface, constructor,
dan destructor. Bahkan terdapat juga fitur yang kurang umum seperti iterator.
Beberapa fungsi tersedia dalam PHP versi 3 dan 4, tetapi dukungan untk
orientasi objek pada versi 5 jauh lebih lengkap.
8. Portabilitas
PHP tersedia untuk banyak sistem operasi yang berbeda-beda. PHP dapat
dijalankan di sistem operasi free Unix seperti Linux dan FreeBSD, dapat juga
dijalankan di versi Unix yang dikomersilkan seperti Solaris dan IRIX, OS X,
atau di Microsoft Windows yang memiliki versi yang berbeda-beda. Kode PHP
yang ditulis akan bekerja tanpa perlu modifikasi pada sistem yang berbeda.
9. Fleksibel
PHP memungkinkan untuk melakukan tugas-tugas sederhana dan mudah
beradaptasi terhadap aplikasi besar menggunakan framework berdasarkan
rancangan pola seperti Model-View-Controller (MVC).
10. Ketersediaan source code
Source code dari PHP dapat diakses. Tidak seperti produk yang komersial
yang menyembunyikan source code, jika ada yang ingin diubah atau
ditambahkan, maka dapat dilakukan secara bebas.
11. Ketersediaan dukungan dan dokumentasi
23
Dokumentasi dan komunitas PHP merupakan sumber daya yang matang
dan kaya dengan informasi untuk berbagi.
2.1.8 Hypertext Markup Language 5 (HTML5)
Menurut Clark, Studholme, Murphy, Manian (2012:8) HTML5 merupakan salah
satu titik dalam sejarah panjang perkembangan HTML yang telah melewati berbagai
aspek dengan spesifikasi yang berbeda. Walaupun berbeda, setiap spesifikasi HTML
memiliki satu kesamaan yang paling mendasar, yaitu HTML merupakan markup
language. HTML5 memiliki semua fitur yang dimiliki oleh HTML4, dengan beberapa
perubahan dan pengembangan. HTML5 juga memiliki banyak tambahan untuk membuat
web aplikasi yang dinamis dan membuat markup dengan kualitas yang lebih baik.
Adapun prinsip desain dari HTML5 menurut Clark, Studholme, Murphy, Manian
(2012:11) adalah sebagai berikut:
1. Memastikan dukungan untuk konten yang sudah ada
2. Mendegradasi fitur baru secara anggun di browser tua
3. Membuka jalan
yang baru bagi pengembangan-pengembangan
HTML
selanjutnya
4. Evolusi, bukan revolusi
2.1.9 Cascading Style Sheet (CSS)
Menurut Meyer (2006:1-3) Cascading Style Sheet (CSS) merupakan sebuah cara
untuk memberi pengaruh terhadap sebuah dokumen. Tentunya, CSS pada dasarnya tidak
berguna tanpa adanya dokumen, karena CSS tidak memiliki konten untuk
dipresentasikan. Pastinya, definisi dari “dokumen” disini sangatlah luas. Sebagai contoh,
Mozilla dan beberapa browser terkait menggunakan CSS untuk mempengaruhi
presentasi dari browser yang digunakan. Namun, tanpa adanya konten pada browser
(button, textbox, windows, etc) maka CSS tidak perlu digunakan.
Pada tahun 1990-1993 (saat internet baru mulai dikenal oleh masyarakat), HTML
merupakan bahasa yang cukup ramping. Ia terbentuk hampir seluruhnya oleh elemen
struktural yang berguna untuk mendeskripsikan paragraf, hyperlink, list, dan heading.
24
HTML tidak memiliki fungsi-fungsi seperti table, frames, atau lainnya yang berperan
penting dalam pembentukan halaman web.
Kemudian muncul Mosaic. Kemudian secara mendadak, World Wide Web
menjadi terkenal. Perpindahan antar satu dokumen ke dokumen lain tidak lebih sulit dari
mengarahkan kursor pada teks yang memiliki warna khusus atau bahkan gambar,
kemudian klik pada mouse.
Website menjadi terkenal dimanapun. Ada banyak jurnal-jurnal pribadi, website
universitas, website perusahaan, dan lainnya. Seiring bertambahnya jumlah website,
begitu juga dengan permintaan terhadap HTML baru yang dapat menjalankan fungsi
yang lebih spesifik. Pencipta mulai menginginkan HTML bisa membuat teks menjadi
tebal atau cetak miring. Namun pada saat itu HTML belum dapat menangani kasus
seperti itu.
Bertahun-tahun kemudian, muncullah HTML 3.2 dan HTML 4.0. HTML mulai
dapat menangani kasus-kasus yang lebih kompleks. Penggantian warna dan ukuran
tulisan, mengganti warna background dan image pada dokumen dan tabel, untuk
membuat tabel, dan membuat teks muncul-hilang mulai dapat ditangani HTML.
Namun masalah-masalah yang masih muncul dalam HTML adalah :
1. Halaman yang tidak terstruktur membuat penomoran konten menjadi sulit.
2. Struktur yang buruk membuat akses menjadi lebih sulit
3. Presentasi page yang lebih kompleks membutuhkan sesuatu struktur dari
dokumen pagar dapat ditampilkan dengan baik.
4. Markup yang terstruktur lebih mudah dikelola.
Kemudian muncul CSS dengan kelebihan :
1. Style yang lebih banyak daripada HTML
2. Penggunaannya lebih mudah
3. Lebih mudah didesain mengikuti keinginan pribadi
4. Cascading
5. Ukuran file yang lebih kecil sehingga membuka halaman web lebih cepat
25
2.1.10 Stemming
Menurut Kowalski (2011:76), stemming adalah proses yang bertujuan untuk
mengurangi jumlah variasi dalam representasi dari sebuah konsep menjadi morfologi
standar atau representasi resmi. Resiko dari proses stemming adalah informasi dari suatu
konsep mungkin hilang dalam proses, sehingga akurasi atau presisi menurun, dan
mengurangi performa. Keuntungan dari proses stemming adalah untuk meningkatkan
kemampuan mengingat. Tujuan utama dari stemming adalah meningkatkan performa
dan mengurangi penggunaan sumber daya sistem, dengan mengurangi jumlah kata
unique yang seharusnya ditampung oleh sistem. Jadi, secara keseluruhan algoritma
stemming mengubah kata menjadi sebuah representasi morfologi standar yang disebut
stem.
2.1.11 Lemmatization
Lemmatization menurut Ingason, Helgadóttir, Loftsson, Rögnvaldsson (2008:1)
adalah proses mencari bentuk dasar atau lemma (bentuk kamus) suatu bentuk kata
tertentu. Proses ini mirip tapi tidak sama dengan proses stemming yang menghapus afiks
dari sebuah kata dan mengembalikan kata dasar. Lemmatization dan stemming adalah
teknik normalisasi yang digunakan untuk menciptakan hubungan dan bentuk kata.
Nirenburg (2009:31) memperkuat teori ini dengan menjelaskan bahwa
lemmatization adalah proses yang ditujukan untuk normalisasi teks, sesuai hubungan
pasangan dari bentuknya berdasarkan lemma. Normalisasi pada konteks ini merupakan
proses mengidentifikasi dan menghapus prefiks dan sufiks dari sebuah kata. Masalah
umum pada analisis morfologi meliputi proses derivasi yang sangat berhubungan dengan
bahasa aglutinatif. Selain itu, bentuk dari kata prefiks dan sufiks mungkin memiliki
banyak interpretasi, jadi algoritma lemmatization harus menentukan konteks dari bentuk
katanya, yang menganalisis kemungkinan atau kesesuaian dengan konteks.
Manning, Raghavan, Schütze (2009:32) mengatakan bahwa tujuan stemming dan
lemmatization adalah untuk mengurangi bentuk infleksional dan terkadang bentuk
hubungan derivasi suatu kata pada bentuk umumnya. Sebagai contoh:
a. Input: “The boy’s cars are different colors”
26
b. Transformation: am, is, are => be
c. Transformation: car, cars, car’s, cars’ => car
d. Result: “The boy car be differ color”
Namun tetap terdapat perbedaan diantara keduanya. Stemming mengacu pada
proses heuristik dengan memenggal ujung-ujung kata dengan harapan mencapai tujuan
dengan benar. Lemmatization biasanya melakukan proses mengacu pada kosa kata dan
analisis morfologi kata, biasanya bertujuan untuk menghapus akhiran infleksional saja
dan mengembalikan hasilnya sesuai bentuk kata dalam kamus atau lemma. Perbedaan
yang lain terletak pada bentuk derivasi. Metode stemming biasanya akan memotong
kata-kata derivasi yang bersangkutan, sedangkan lemmatization hanya menghapus
bentuk-bentuk infleksional dari sebuah lemma.
2.2 Penelitian-penelitian Terkait
2.2.1 Jurnal A Two-Level Morphological Analyzer for Indonesian Language
Berdasarkan dari jurnal A Two-Level Morphological Analyzer for Indonesian
Language (Pisceldo, Mahendra, Manurung, 2008), rancangan morphological analyzer
untuk Bahasa Indonesia disini dibagi menjadi dua komponen, yaitu aturan morphotactic
dan aturan morphophonemic. Aturan-aturan pada tiap komponen biasanya diterapkan
secara parallel. Selain itu aturan ini dikombinasikan dengan kosa kata dalam untuk
melengkapi rancangan.
Sebuah kata yang akan dianalisis, akan mengikuti jalurkosa kata aturan
morphotactic aturan morphophonemic surface. Sebelum hasil dari morphological
analyzer muncul pada surface, hasil tersebut akan mengikuti jalur kosa kata untuk
menentukan morfem yang sebenarnya pada kata tersebut. Setelah melalui kosa kata, kata
tersebut akan dianalisis oleh aturan morphotactic dan morphophonemic. Apabila sudah
menyelesaikan proses dalam aturan morphotactic dan morphophonemic, hasil analisis
dari morphological analyzer untuk kata tersebut akan disampaikan.
2.2.1.1.1 Rancangan Kosa Kata
Kosa kata disini disamakan dengan set kata dasar dari kata-kata dalam bahasa
Indonesia. Afiks tidak disimpan pada kosa kata karena nantinya akan diperhitungkan
27
untuk aturan morphotactic. Untuk rancangan awal, kosa kata dibagi menjadi empat kelas
yaitu verb, noun, adjective, dan ‘etc’, yang mencakup semua kata dasar, contohnya
pronoun, adverb, number, dan particles. Mengelompokkan kelas kata merupakan
penyederhanaan yang besar, dan menjadi salah satu yang diharapkan untuk direvisi pada
penelitian di masa depan.
2.2.1.1.2 Rancangan Tag
Rancangan tag menjadi sangat penting karena tag akan mengantarkan informasi
linguistik yang terjadi pada sebuah kata yang dianalisis. Pada penelitian ini, tag-tag yang
akan dirancang dibagi menjadi tag normal dan tag special. Tag normal bisa menjadi
output dengan komponen morphotactic tanpa kondisi apapun, sementara tag special
hanya terjadi jika kata dasar yang terlibat berhubungan dengan penanda yang spesifik
pada kosa kata.
2.2.1.1.3 Aturan Morphotactic
Dalam perancangan morphological analyzer, aturan morphotactic merupakan
aturan yang krusial untuk memodelkan bagaimana dua atau lebih morfem bisa digabung.
Berdasarkan (Alwi, 2003), aturan morphotactic untuk bahasa Indonesia bisa
diklasifikasikan menjadi 13 kelas. Sepuluh dari kelas-kelas ini ditentukan berdasarkan
sufiks yang digabung dengan kosa kata, sementara tiga lainnya adalah kasus reduplikasi.
Sepuluh kelas pertama bisa diidentifikasi sebagai concatenative morphology sedangkan
tiga kelas lainnya nonconcatenative morphology.
Selama tingkat aturan morphotactic, ada beberapa langkah yang harus diikuti
untuk menyelesaikan proses. Langkah tersebut termasuk penambahan prefix dan
preprefiks, penambahan sufiks dan proses akhir penambahan tag. Setelah menyelesaikan
semua langkah tersebut, selanjutnya pindah ke proses morphophonemic.
2.2.1.1.4 Aturan Morphophonemic
Seluruh aturan-aturan yang menjelaskan bagaimana dua atau lebih morfem bisa
digabung sudah dirancang dalam aturan morphotactic. Namun proses penggabungan ini
masih belum selesai, oleh sebab itu masih harus dijelaskan perubahan apa yang harus
28
dilakukan setelah morfem-morfem tersebut bergabung. Untuk masalah ini, didefinisikan
aturan morphophonemic yang menentukan perubahan fonetik yang terjadi.
Di Indonesia, aturan ini secara general bisa dibagi menjadi dua bagian. Bagian
pertama terdiri dari empat aturan yang memodelkan perubahan fonetik dalam kata dasar,
sedangkan bagian kedua terdiri dari tujuh aturan yang memodelkan perubahan fonetik
dalam afiks.
Setelah semua subproses dipakai oleh aturan-aturan dalam bagian pertama dan
bagian kedua secara paralel, kemudian seluruh proses morphophonemic selesai.
Rancangan aturan morphophonemic untuk reduplikasi sangat mirip seperti di
afiksasi, karena pada dasarnya proses morphophonemic dalam reduplikasi terjadi pada
bagian afiksasi dari reduplikasi.
Namun, beberapa aturan tersebut, model proses morphophonemic yang mana
keduanya afiks dan kata dasar mengalami perubahan, harus direvisi untuk
memperhitungkan sifat aturan tersebut ketika diterapkan pada bentuk reduplikasi.
2.2.1.2 Implementasi
Pada morphological analyzer bahasa Indonesia ini mengimplementasikan xfst
dan lexc. Aturan morphotactic diimplementasikan dalam xfst kemudian aturan
morphophonemic diimplementasikan dalam lexc.
2.2.1.2.1 Implementasi Aturan Morphotactic
Aturan morphotactic bisa diilustrasikan sebagai finite-state automata. Kata-kata
bahasa Indonesia yang valid, yaitu kata-kata yang dibentuk melalui proses
morphological diterima oleh automata, sebaliknya kata-kata yang invalid ditolak.
Dimulai dari Root, tiap state menjelaskan state selanjutnya yang memungkinkan
sambil menunjukkan (atau mengkonsumsi) simbol tertentu. Pada lexc, state-state ini
disebut kelas lanjutan. Seluruh kelas lanjutan dicapai dari Root menunjukkan prefiks dan
pre-prefiks. Perbedaan antara keduanya adalah diperlukan untuk mengodekan variasi
morfologi yang memungkinkan yang mengandung dua prefiks, seperti memper-, diper-.
Dari sana kelas lanjutan selanjutnya adalah Stem, dimana akar kata diproses. Hal ini
kemudian diikuti oleh beberapa kelas yang mewakili sufiks yang mungkin, tapi ada juga
29
kelas Redup1 dan Redup2 yang muncul sebelum dan sesudah sufiks. Fungsi keduanya
adalah untuk mengatasi reduplikasi. Terakhir, kelas TagEmit memproses seluruh tag-tag
yang belum ditangani dengan mendahului kelas.
Gambar 2.1 Ilustrasi Alur Proses
(Sumber: Pisceldo, Mahendra, Manurung. 2008:5)
Selama proses morphotactic ini, digunakan penanda diakritik secara ekstensif,
fitur penting dari lexc yang mendekati kekuatan fitur struktur, yaitu mampu menentukan
batasan tertentu untuk memastikan bahwa hanya jalur yang valid dari jaringan dapat
dilalui. Satu keuntungan dari pendekatan ini adalah pemeliharaan representasi compact
network. Ada tiga penanda diakritik yang digunakan: pengaturan positif (@P.feat.val@),
diperlukan uji (@R.feat.val@), melarang uji (@D.feat.val@). Menggunakan diakritik ini
dapat ditetapkan nilai-nilai dan kendala dari aspek-aspek tertentu yang harus konsisten
sepanjang jalur.
2.2.1.2.2 Proses Reduplikasi
Morfologi Indonesia meliputi proses reduplikasi non-concatenative. Penanganan
ini dengan tata bahasa regular murni seperti yang diterapkan oleh finite state automoata
sangat sulit. Dengan demikian, digunakan fitur compile-replace pada xfst. Fitur ini
30
memungkinkan pengulangan sub-bahasa kompleks semaunya dengan menetapkan tanda
kurung “^[“ dan “^]” untuk menandai domain dari reduplikasi. Kurung siku kanan juga
ditambah dengan ^2 untuk menunjukkan duplikasi, dengan demikian menjadi “^[“ dan
“^2^]”. Mengingat ini, xfst mengkompilasi dan memproses anotasi ini untuk
menghasilkan jaringan baru di mana reduplikasi yang sesuai telah dilakukan. Contoh,
“^[buku^2^]” akan dikompilasi menjadi bukubuku. Jadi idenya adalah untuk
memasukkan “^[” dan “^2^]” di tempat yang tepat. Karena berbagai jenis reduplikasi
dalam bahasa Indonesia, aturan reduplikasi dapat ditemukan pada bagian Redup
(pre)prefiks juga pada bagian Redup1 dan Redup2. Redup bagian prefiksmengemisikan
pembukaan tanda kurung “^[” dan menetapkan penanda atau flag yang tepat sebagai
pengingat bahwa kurung tutup diperlukan. Redup1 bertanggung jawab untuk menutup
reduplikasi sebagian dan afiks, yaitu di mana akhiran tidak termasuk dalam reduplikasi,
sementara Redup2 bertanggung jawab untuk menutup reduplikasi penuh, yaitu di mana
sufiks merupakan bagian dari proses reduplikasi. Baik Redup1 dan Redup2 memeriksa
nilai flag REDUP yang diset oleh Redup prefiks.
2.2.1.2.3 Implementasi Aturan Morphophonemic
Full transducer menyusun aturan morphotactic dan morphophonemic. Sebagai
hasilnya, output dari implementasi aturan morphotactic berfungsi sebagai input untuk
implementasi aturan morphophonemic.
Implementasi aturan morphophonemic sedikit berbeda dengan implementasi
aturan morphotactic. Untuk aturan morphotactic ada beberapa langkah yang dapat
digambarkan sebagai aliran proses. Namun, pelaksanaan aturan morphophonemic
umumnya mengimplikasikan aturan itu sendiri. Setiap aturan didefinisikan sebagai
aturan pengganti yang akan berkolaborasi dengan aturan lain melalui komposisi atau
paralelisasi.
2.2.1.3 Evaluasi Jurnal A Two-Level Morphological Analyzer for Indonesian
Language
Untuk mengevaluasi sistem yang diterapkan, diuji melalui beberapa tes kasus
dalam bentuk kata-kata yang diambil dari Kamus Besar Bahasa Indonesia versi
31
elektronik. Pengujian implementasi dari aturan morphotactic dan morphophonemic
dilakukan secara terpisah. Untuk mengevaluasi kemampuan dari analyzer menerima
bentuk valid dan menolak bentuk invalid, dibutuhkan kombinasi uji kasus morfem valid
maupun morfem invalid. Setelah mengeksekusi seluruh uji kasus, diperoleh hasil yang
ditampilkan pada Tabel, yang menampilkan hasil uji kasus morphotactic dan Tabel yang
menampilkan hasil uji kasus morphophonemic. Pada kolom ‘Analysis’ menampilkan
hasil uji kasus dimana bentuk kata bahasa Indonesia diberikan sebagai input, dan sistem
ditugaskan untuk parsing struktur morfologi. Sebagai contoh, diberikan kata memukul,
sistem harus memberikan output pukul+Verb+AV. Di sisi lain, kolom ‘Synthesis’
memperhatikan situasi sebaliknya, yaitu uji kasus dimana input adalah string tag-tag
morfologi, dan sistem ditugaskan untuk menghasilkan bentuk infleksi secara lengkap.
Tabel 2.2 Hasil Uji Kasus Morphotactic
(Sumber: Pisceldo, Mahendra, Manurung, 2008:8)
Tabel 2.3 Hasil Uji Kasus Morphophonemic
(Sumber: Pisceldo, Mahendra, Manurung, 2008:8)
32
Hasil uji kasus diklasifikasikan menjadi tiga kategori. Kategori pertama
menunjukkan bahwa sistem menghasilkan tepatnya satu analisis atau sintesis yang benar
untuk uji kasus valid, atau tidak menghasilkan apapun untuk uji kasus invalid. Kategori
kedua adalah ketika diberikan uji kasus valid, sistem menghasilkan beberapa jawaban,
salah satunya adalah hasil yang diharapkan. Kategori terakhir terlihat saat sistem gagal
untuk menganalisis atau mensintesis uji kasus yang valid, atau salah menghasilkan
jawaban untuk uji kasus yang invalid. Dari table dapat diamati bahwa hasil analisis yang
lebih akurat daripada bentuk sintesis, dimana sistem cenderung untuk menghasilkan
lebih dari satu hasil.
2.2.1.4 Hasil Jurnal A Two-Level Morphological Analyzer for Indonesian Language
Hasil dari penelitian ini menyajikan sebuah morphological analyzer bahasa
Indonesia yang memberikan analisis rinci dari proses afiksasi menggunakan pendekatan
morfologi dua tingkat, yang diimplementasikan menggunakan xfst dan lexc. Pendekatan
ini mampu menangani reduplikasi, proses morfologi non-concatenative. Evaluasi
menunjukkan bahwa implementasi umumnya mampu untuk meng-encodeaturan dari
berbagai proses morfologi.
2.2.2 Jurnal Indonesia Morphology Tool (MorphInd) Towards an Indonesian Corpus
Berdasarkan dari jurnal dari (Larasati, Kuboˇn, dan Zeman, 2011) ini dijelaskan
tentang finite state morphology tool yang kuat untuk bahasa Indonesia atau bisa
disingkat MorphInd. Penelitian ini menjelaskan mengenai analisis morphological dan
lematisasi dari kata-kata yang diberikan supaya bisa diproses lebih jauh.
2.2.2.1 Perancangan Alat
MorphInd dirancang untuk menangani empat isu yakni kategorisasi lexical yang
dangkal, analisis yang tidak dispesifikan, aturan morphosyntactic serta lisensi software.
MorphInd menghasilkan analisis yang hanya mencakup fenomena-fenomena morfologi,
syntax-nya tidak ditangani, namun keluarannya bisa digunakan untuk fungsi-fungsi
Natural Language Processing lainnya. MorphInd menganalisa tanda-tanda sebagai
unigrams dan tidak memperhitungkan tanda-tanda yang bersebelahan. MorphInd tidak
33
mengembalikan fungsi – fungsi yang berhubungan dengan sintaksis dalam analisanya,
walaupun beberapa fungsi dengan mudah dikenal oleh kata-kata atau klitik. Sebagai
contoh, kita tidak bisa menandai ‘subjek’ dari suatu kalimat dimana kata tersebut dapat
dikenali dengan proklitik yang sudah umum yang menempel ke sebuah kata kerja,
namun kenyataannya bahwa kata tersebut memiliki prolitik kata ganti yang disimpan
untuk analisis.
2.2.2.1.1 Perancangan Tagset dan Kategori Leksikal
MorphInd membagi leksikal menjadi 17 kategori. Kategori-kategori tersebut
pada dasarnya adalah ‘Noun’, ‘Verb’, ‘Adjective’ seperti di dalam IndMA (mengacu
pada jurnal sebelum ini), dan kategori ‘etc’ dipecah lagi menjadi beberapa kategori
seperti ‘Preposition’ dan ‘Modal’ dimana sebagian besar kategori ini merupakan kelas
kata tertutup yang sangat mudah untuk didaftarkan secara manual.
MorphInd juga memiliki tagset yang berjaringan, terinpirasi dari tagset PENN
Treebank dan mengadaptasinya ke dalam morfologi bahasa Indonesia. Tagset tersebut
juga mengambil konsep tag posisional dari Prague Dependency Treebank tagset untuk
menangani sebagian besar perilaku bahasa yang terjadi secara bersamaan di kata dasar.
2.2.2.1.2 Analisis Format
MorphInd memutuskan untuk membuat output
dalam bentuk morfem yang
tersegmentasi, dimana hal tersebut akan menunjukkan bagaimana morfem tersebut
dibentuk. Hal ini akan membuat output lebih tepat dan lebih tidak ambigu dalam proses
generasi. Bentuk kata dasar disegmentasi ke morfemnya masing-masing. Lemma diikuti
oleh tag lemma, yang berkorespondensi dalam posisi pertama tag pembentukan kata,
dan dapat dibedakan dengan huruf kecil. Tag lemma dapat berbeda dari posisi pertama
dari token yang sama, hal ini disebabkan karena derivasi.
2.2.2.1.3 Morphosyntactic dan Morphoponemic
Bahasa Indonesia bukan merupakan bahasa yang terinfleksi seperti bahasa
Slavia, meskipun demikian beberapa morfem yang membawa fitur-fitur bahasa seperti
konjugasi kata kerja untuk menandai kata aktif dan pasif. Bahasa Indonesia adalah
34
bahasa yang agak aglutinatif jika dibandingkan dengan bahasa Turki atau Finlandia
dimana perbandingan morfem per kata lebih tinggi. Ada beberapa subjek atau objek
yang bisa direpresentasikan sebagai klitik (proklitik ataupun enklitik).
2.2.2.2 Evaluasi Jurnal Indonesia Morphology Tool (MorphInd) Towards an
Indonesian Corpus
MorphInd dan IndMA dijalankan ke beberapa tulisan yang telah dikumpulkan
untuk mengukur cakupannya. Ada dua jenis tes yaitu T5K yang terdiri dari 5000 kalimat
dan T10K yang terdiri dari 10000 kalimat. Terdapat 9 set T5K dan terdapat 4 set T10K.
Kalimat-kalimat tersebut diambil secara acak tanpa perubahan dari kalimat yang telah
diambil tersebut.
MorphInd terdiri dari 3954 entri kata yang dibagi menjadi 17 kategori. IndMA
dibuat ulang dengan entri kata yang sama dengan MorphInd agar hasilnya bisa
dibandingkan. Adapun tabel lexical entri dari MorphInd dan IndMA adalah sebagai
berikut :
Tabel 2.4 MorphInd Lexical Entries
(Sumber: Larasati, Kuboˇn, Zeman, 2011:10)
MorphInd gagal untuk melampaui performa IndMA dalam cakupan yang unik
karena jumlah entri lexical sangat berbeda dan entri lexical MorphInd tidak mengandung
kata benda dan kata asing. Namun, dengan pilihan yang baik dari entri lexical, dengan
35
memilih lemma yang paling sering digunakan dan paling produktif, cakupan MorphInd
secara keseluruhan akan lebih besar daripada IndMA. Hal ini disebabkan karena
MorphInd meliputi klitik, alternasi angka, dan tambahan partikel morfem yang tidak
dicakup dalam IndMA. Hal ini bisa dilihat dari hasil MorphInd dan IndMA, dimana
MorphInd memiliki cakupan lebih baik dengan entri lexical yang sama.
2.2.2.3 Kesimpulan Jurnal Indonesia Morphology Tool (MorphInd) Towards an
Indonesian Corpus
MorphInd membuat informasi morfologikal dalam format output nya menjadi
segmentasi morfemik, posisi lemma morfem, kategori lexical, dan fitur-fitur
morphological. MorphInd memberikan cakupan yang lebih baik jika dibandingkan
dengan IndMA.
2.2.3
Jurnal Stemming Indonesian: A Confix-Stripping Approach
Berdasarkan jurnal Stemming Indonesian: A Confix-Stripping Approach
(Adriani, Asian, Nazief, Tahaghoghi, Williams, 2007) dijelaskan bahwa pada tahun
2005, Asian, Williams, dan Tahaghogi berusaha meningkatkan akurasi NAZIEF (1996),
karena pendekeatan dan akurasi stemming untuk bahasa Indonesia pada NAZIEF
merupakan yang terbaik. Berdasarkan analisis mereka, kesalahan yang terdapat pada
NAZIEF sebagian besar disebabkan oleh beberapa aspek: non-root dalam kamus, kamus
tidak lengkap, dan kata ditulis dengan tanda penghubung kata, sedangkan sisanya
disebabkan oleh aturan yang tidak efektif dan urutan aturan. Pada 2007, Adriani, dkk.
berkolaborasi untuk membuat paper yang menyampaikan “Confix-Stripping Stemmer”,
memperbaiki versi dari NAZIEF. Aturan modifikasi dan perubahan algoritma yang
adalah sebagai berikut:
1. Input pertama-tama diperiksa dalam kamus. Jika input ditemukan dalam kamus,
maka input dikembalikan sebagai lemma.
2. Sufiks infleksional partikel (-kah, -lah, -tah, -pun) akan dihapus dari input, dan
sisanya akan disimpan dalam variable string (CURRENT_WORD), lalu cek
dalam kamus. Jika kata ditemukan, proses akan berhenti.
36
3. Sufiks infleksional kata ganti kepemilikan (-ku, -mu, -nya) akan dihapus dari
CURRENT_WORD, lalu dicek dalam kamus. Jika kata ditemukan, proses akan
berhenti.
4. Sufiks derivasi (-i, -kan, -an) akan dihapus dari CURRENT_WORD, lalu dicek
dalam kamus. Jika kata ditemukan, proses akan berhenti.
5. Pada tahap ini berfokus pada penghapusan prefiks derivasi (beN-, di-, ke-, meN-,
peN-, se-, teN-) dari CURRENT_WORD. Tahap ini terjadi rekursif karena
morfologi prefiks derivasi bahasa Indonesia akan terhambat. Beberapa prefiks
(di-, ke-, se-) dianggap sederhana, karena pada praktiknya tidak mengubah
lemma. Sebaliknya, prefiks lainnya (beN-, meN-, peN-, teN-) mengubah lemma,
dan berbeda dengan huruf pertama pada lemma. Perubahan tersebutdicantumkan
dalam tabel di bawah.
37
Tabel 2.5 Perubahan Prefiks
(Sumber: Adriani, Asian, Nazief, Tahaghoghi, Williams, 2007:13)
Ada beberapa kondisi terminasi untuk tahap ini:
1. Penghapusan prefiks dan afiks tercantum dalam tabel pasangan afiks
valid di bawah
38
2. Prefiks dihapus secara langsung setara dengan penghapusan prefiks
sebelumnya
3. Batas rekursif untuk tahap ini sebanyak tiga kali
Tabel 2.6 Pasangan Prefiks dan Afiks yang Tidak Bisa Dikombinasi
(Sumber: Adriani, Asian, Nazief, Tahaghoghi, Williams, 2007:6)
Penghapusan prefiks akan direkam, dan CURRENT_WORD akan dicek dalam
kamus. Jika CURRENT_WORD tidak terdapat di dalam kamus dan kondisi
terminasi meyakinkan, maka tahap 5 akan diulang dengan CURRENT_WORD
sebagai input.
6. Jika CURRENT_WORD tetap tidak ditemukan pada tahap 5, maka tabel 2.5
akan memeriksa apakah recoding memungkinkan. Pada aturan yang ditetapkan,
ada beberapa aturan yang menyimpan lebih dari satu output. Gunakan aturan 17
sebagai mengV memiliki dua output: meng-V atau meng-kV. Pada tahap 5,
output pertama (sebelah kiri) akan selalu dipilih pertama dan ini akan
menyebabkan kesalahan. Recoding dilakukan untuk mengembalikan jenis
kesalahan dengan kembali ke tahap sebelum tahap 5 dimana pemilihan output ini
terjadi dan sebagai gantinya memilih output lain.
7. Jika CURRENT_WORD masih tetap tidak ditemukan dalam kamus, maka input
diawal akan dikembalikan.
Untuk mengatasi penyebab kesalahan besar seperti disebutkan di atas (yaitu nonroot dalam pencarian kamus, kamus tidak lengkap, kata-kata yang ditulis dengan
kata penghubung), Adriani menyarankan tiga pendekatan:
39
1. Meningkatkan kualitas kamus dengan menggunakan sumber kamus yang
berbeda dan membandingkan tingkat akurasinya dengan kamus sebelumnya.
2. Menambahkan aturan tambahan untuk mengatasi kata yang ditulis dengan tanda
penghubung yang mengandung reduplikasi (seperti, “bulir-bulir”) kemudian
akan dipotong menjadi “bulir”. Hal ini juga berlaku untuk kata dengan tanda
penghubung dengan afiks (seperti, “seindah-indahnya”), afiks akan dihapus
pertama dan kemudian diperiksa apakah pasangan kata tersebut dapat dipotong.
3. Modifikasi aturan prefiks dan sufiks:
a. Aturan perubahan prefiks (“ter-“, “pe-“, “mem-”, dan “meng-”) dimana
sudah dicantumkan pada tabel 2.5 di atas. Lebih rincinya aturan nomor 9
dan 33 ditambahkan dan aturan nomor 12 dan 16 dimodifikasi dari aturan
sebelumnya.
b. Penghapusan prefiks akan dilakukan sebelum penghapusan sufiks jika
diberikan kata pasangan afiks seperti pada berikut ini:
i.
“be-“ and “-lah”
ii.
“be-“ and –an”
iii.
“me-“ and “-i”
iv.
“di-“ and “-i”
v.
“pe-“ and “-i”
vi.
“ter-“ and “-i”
Dibandingkan dengan NAZIEF dengan dataset yang sama, modifikasi NAZIEF
mencapai tingkat akurasi 2-3% lebih tinggi (kurang lebih 95%).
2.2.4
Jurnal Lemmatization Technique in Bahasa: Indonesian Language
Berdasarkan jurnal Lemmatization Technique in Bahasa Indonesian Language
(Suhartono, Christiandy, Rolando, 2014) dijelaskan mengenai teknik pencarian bentuk
kata dasar dari kata berimbuhan menggunakan teknik lemmatization yang merupakan
pengembangan dari teknik stemming yang sudah pernah diteliti oleh Adriani, Asian,
Nazief, Tahaghoghi, dan Williams (2007) yang juga merupakan pengembangan dari
penelitian sebelumnya oleh Asian, Williams, Tahaghoghi (2005).
40
2.2.4.1 Algoritma
Algoritma lemmatization dikembangkan berdasarkan state of the art, Enhanced
Confix Stripping Stemmer (selanjutnya disebut ECS). Penelitian ini tidak bertujuan
untuk mengembangkan ECS, karena memiliki maksud dan tujuan yang berbeda.
Sebaliknya, algoritma lemmatization bertujuan untuk memodifikasi ECS agar sesuai
dengan konsep lemmatization. Namun, terdapat kesamaan dalam beberapa proses,
misalnya penghapusan afiks untuk memperoleh bentuk lemma. Diharapkan algoritma
lemmatization mampu menangani beberapa kasus yang tidak berjalan sempurna pada
ECS.
Algoritma lemmatization meliputi beberapa proses:
A. Pencarian Kamus. Proses ini memeriksa apakah kata tersebut terdapat dalam
kamus. Jika pencarian berhasil maka algoritma akan berhenti dan lemma akan
dikembalikan sebagai hasil.
B. Rule Precedence. Proses ini dilakukan untuk menentukan urutan eksekusi proses
lain. Ada beberapa kombinasi prefiks-sufiks yang bisa dihasilkan lebih cepat dan
lebih akurat, jika penghapusan prefiks dijalankan sebelum penghapusan sufiks.
Berikut adalah kombinasi aturan-aturan yang terdapat pada rule precedence:
1. be- dan –an
2. me- dan –i
3. di- dan -i
4. pe- dan -i
5. te- dan –i
Jika kata input yang dimasukkan terdapat kombinasi pasangan prefiks-sufiks
yang sesuai dengan aturan, maka urutan eksekusi akan menjadi penghapusan
prefiks derivasi, recoding, penghapusan sufiks infleksional, dan penghapusan
sufiks derivasi. Sebaliknya, jika pasangan afiks tidak terdapat pada kata input
yang diberikan, maka urutan yang akan dieksekusi terlebih dahulu adalah
penghapusan sufiks infleksional dan penghapusan sufiks derivasi.
C. Penghapusan Sufiks Infleksional. Sufiks infleksional memiliki dua tipe sufiks,
partikel {‘-lah’, ’-kah’, ’-tah’, dan ‘-pun’} dan kata ganti kepemilikan {‘-ku’, ’mu’, ’-nya’}. Struktur bahasa Indonesia menyatakan bahwa partikel selalu
41
ditambahkan pada sufiks terakhir sebuah kata. Jadi proses ini akan menghapus
sufiks partikel terlebih dahulu sebelum menghapus sufiks kata ganti kepemilikan.
D. Penghapusan Sufiks Derivasi. Proses ini akan menghapus sufiks derivasi {-in kan,-an} dari kata yang diberikan. Sufiks derivasi selalu ditambahkan pada kata
sebelum sufiks infleksional. Jadi proses ini selalu dieksekusi setelah
penghapusan sufiks infleksional.
E. Penghapusan Prefiks Derivasi. Prefiks derivasi terdapat dua jenis, biasa {‘di-‘,
‘ke-’, ‘se-‘} dan kompleks {‘me-‘, ‘be-’, ‘pe-’, ‘te-’}. Prefiks biasa tidak
memerlukan aturan apapun dan tidak mengubah ketika ditambahkan pada kata,
yang berarti proses penghapusan dilakukan secara langsung ketika terdapat
prefiks biasa. Di sisi lain, perubahan prefiks kompleks mengubah kata ketika
ditambahkan. Bahasa Indonesia memungkinkan kombinasi prefiks derivasi pada
sebuah kata. Namun terdapat kendala yang membatasi kemungkinan kombinasi.
Kombinasi yang memungkinkan adalah:
1. ‘di-’, diikuti oleh tipe prefiks ‘pe-’, atau ‘be-’, contoh “diperlakukan” dan
“diberlakukan”
2. ‘ke-’, diikuti oleh tipe prefiks ‘be-’, atau ‘te-’, contoh “kebersamaan” dan
“keterlambatan”
3. ‘be-’, diikuti oleh tipe prefiks ‘pe-’, contoh “berpengalaman”
4. ‘me-’, diikuti oleh tipe prefiks ‘pe-’, ‘te-’, atau ‘be-’, contoh
“mempersulit”, “menertawakan”, dan “membelajarkan”
5. ‘pe-’, diikuti oleh tipe prefiks ‘be-’, contoh “pemberhentian” dan
pengecualian “penertawaan”
Algoritma lemmatization akan menghapus sampai tiga prefiks dan tiga sufiks,
sementara tiga sufiks terdiri dari tipe sufiks derivasi, kata ganti kepemilikan, dan
sufiks partikel mengikuti aturan kombinasi di atas. Oleh karena itu, proses ini
berulang sampai tiga kali iterasi. Pada akhir setiap iterasi, kata pada saat itu
dilakukan pencarian kamus untuk mencegah overstemming. Penghentian juga
terjadi ketika prefiks saat ini diidentifikasi sudah dihapus pada iterasi
sebelumnya atau kata mengandung konfiks yang dilarang. Berikut adalah aturan
konfiks yang dilarang dalam bahasa Indonesia:
42
Tabel 2.7 Konfiks yang Dilarang dalam Bahasa Indonesia
Prefiks
Sufiks
be-
-i
di-
-an
ke-
-i, -kan
me-
-an
se-
-i, -kan
te-
-an
F. Recoding. Ketika proses penghapusan afiks masih gagal ketika dilakukan
pencarian kamus, masih ada kemungkinan bahwa proses penghapusan tidak
mengubah kata yang sesuai. Contoh, kata “menanya” diubah menjadi “nanya”
tidak ditemukan setelah dilakukan pencarian kamus. Hal ini terjadi karena
berasal dari kata “tanya”. Namun juga terdapat kasus dimana huruf pertama
lemma adalah ‘n’, misalnya “nama” dalam kata “menamai”. Tujuan dari
recoding adalah menjalankan segala macam transformasi yang memungkinkan.
Hal ini dicapai dengan merekam jalur alternatif transformasi. Ambuk aturan satu
misalnya, ada dua kemungkinan output. Pada penghapusan afiks, output yang
dipilih akan selalu yang kiri. Namun ketika proses ini dijalankan, cek algoritma
apakah ada jalur alternative yang direkam ketika menghapus afiks, dan kemudian
menggantikan transformasi saat ini dengan alternatif.
G. Backtracking Sufiks. Proses ini dikerjakan setelah penghapusan afiks dan
recodinggagal. Pada setiap langkah, proses penghapusan prefiks, dan
recodingdilakukan. Pertama, prefiks yang telah dihapus akan disambungkan
dengan kata, maka penghapusan prefiks dan recoding dilakukan. Jika hasil
pencarian kamus gagal, prefiks akan disambungkan kembali dan sufiks derivasi
juga akan disambungkan kembali. Jika hasilnya masih gagal, pasang kembali
prefiks, sufiks derivasi, dan kata ganti kepemilikan. Jika hasilnya masih gagal,
langkah terakhir adalah pasang kembali partikel. Ada kasus tertentu, ketika
43
sufiks derivasi yang dihapus adalah “-kan”, maka ‘k’ akan dipasang terlebih
dahulu. Jika hasilnya gagal, maka ‘-an’ juga akan ditempel kembali
H. Mengembalikan Kata Asli (direpresentasikan sebagai X)
Maksud dari proses ini adalah proses lemmatization tidak berhasil menemukan
bentuk lemma.
I. Mengembalika Lemma (direpresentasikan sebagai Y)
Maksud dari proses ini adalah proses lemmatization berhasil menemukan bentuk
lemma dari kata yang diberikan.
Gambar 2.2 Flowchart Algoritma Lemmatization
(Sumber: Suhartono, Christiandy, Rolando. 2014:4)
Data yang diformat berisi 57.261 kata valid dengan rata-rata 6,68 karakter per
kata, dan 7.829 kata valid yang unique. Data disimpan dalam tabel MySQL untuk
mempermudah proses pengujian. Dalam menganalisis data uji, ada beberapa batasan
supaya poses lemmatization berhasil, mempertimbangkan kesalahan, dan kasus tertentu
yang berada diluar jangkauan algoritma saat ini. Lemmatization dianggap berhasil, jika
lemma dihasilkan secara benar dari kata input. Ada beberapa kasus yang ketika lemma
yang dihasilkan tidak benar, maka akan masuk kategori error. Kasus-kasus diluar
44
jangkauan mempertimbangkan invalid dan tidak memenuhi syarat, maka keduanya tidak
dianggap gagal ataupun berhasil. Berikut adalah kasus diluar jangkauan tersebut:
1. Kata Benda Baku dan Singkatan, termasuk nama orang, nama tempat, atau
nama perusahaan (Microsoft, Bandung, PT.KAI, dll.). Alasan utama kata benda
baku dan singkatan berada di luar jangkauan, karena tidak terdapat dalam Kamus
Besar Bahasa Indonesia.
2. Kata Asing, maksudnya adalah kata lain di luar bahasa Indonesia. Kata Asing
juga tidak terdapat di dalam Kamus Besar Bahasa Indonesia.
3. Infiks¸ adalah afiks yang terdapat di dalam sebuah kata. Sebagai contoh, infiks ‘er-’ untuk “gigi” yang menghasilkan “gerigi”. Kata yang mengandung infiks
sudah termasuk ke dalam lemma. Oleh karena itu, prosedur penghapusan infiks
tidak didukung oleh algoritma ini.
4. Kata Tidak Standar dan Pengimbuhan Kata Tidak Standar, maksudnya
kata-kata yang tidak didefinisikan dalam Kamus Besar Bahasa Indonesia, atau
kata-kata slang, dan afiks. Beberapa contoh kata-kata seperti “nggak”, “gue”,
“bukain” dengan ‘-in’ sebagai sufiks.
Kesalahan lemmatization bisa diklasifikasikan menjadi beberapa kategori:
1. Overlemmatized: Istilah ini sama dengan overstemming. Penghapusan afiks
dilakukan terlalu banyak atau ekstensif, sehingga lemma yang dihasilkan tidak
seperti yang diharapkan. Sebagai contoh dalam kasus overstemming ECS. Kata
“penyidikan” menjadi “sidi”, di mana kata yang benar seharusnya menjadi
“sidik”.
2. Underlemmatized: Istilah ini sama dengan understemming. Penghapusan afiks
dilakukan terlalu sedikit, sehingga lemma yang dihasilkan tidak seperti yang
diharapkan. Pada kasus ECS, kata “mengalami” menjadi “alami” di mana kata
yang benar seharusnya menjadi “alam”.
3. Kesalahan Aturan: Pada kasus ini, afiks yang dihapus tidak benar karena
ketidakefektifan atau kesalahan aturan. Sebagai contoh, “mengatakan” mungkin
bisa menjadi “katak”, dengan menghapus sufiks ‘-an’, dan prefiks ‘meng-’.
45
2.2.4.2 Hasil dan Evaluasi Jurnal Lemmatization Technique in Bahasa: Indonesian
Language
Algoritma pada penelitian ini diimplementasikan pada aplikasi web sederhana,
dibuat menggunakan PHP, dan untuk database menggunakan MySQL. Pengujian
algoritma ini menggunakan 25 artikel dalam 10 kategori yang diambil dari Kompas.com.
Hasilnya dapat dilihat pada table berikut:
Tabel 2.8 Hasil Uji untuk Kata Non-unique
(Sumber: Suhartono, Christiandy, Rolando, 2014:7)
46
Tabel 2.9 Hasil Uji untuk Kata Unique
(Sumber: Suhartono, Christiandy, Rolando, 2014:8)
Dimana ‘T’ merupakan total data yang diuji, ‘V’ merupakan perhitungan uji data
valid, ‘S’ merupakan jumlah data uji lemmatization yang berhasil, ‘E’ merupakan
jumlah data uji yang gagal atau error, dan ‘P’ merupakan presentase tingkat presisi.
Dilihat pada hasil pada tabel, bisa ditarik kesimpulan bahwa algoritma
lemmatization bisa bekerja dengan baik pada bahasa Indonesia.
2.2.4.3 Kesimpulan Jurnal Lemmatization Technique in Bahasa: Indonesian
Language
Berdasarkan hasil uji, penelitian menggunakan metode lemmatization ini
mencapai persentase presisi yang cukup tinggi yaitu kurang lebih 99%. Meskipun masih
ada beberapa yang tidak akurat, namun hasil penelitian ini masih cukup layak untuk
diimplementasikan pada morphological analysis, grammar analyzer, dan aplikasi bahasa
lainnya dalam konteks bahasa Indonesia. Adapun beberapa saran untuk perbaikan pada
penilitian selanjutnya:
47
1. Meningkatkan algoritma dengan beberapa kata-kata pengecualian. Tidak semua
kata dalam bahasa Indonesia bisa mengikuti aturan-aturan. Terkadang, beberapa
pengecualian perlu dilakukan karena konteks kata dan bahasa transisi.
2. Meningkatkan algoritma supaya bisa menerima kalimat sebagai input, karena
untuk saat ini hanya bisa menerima sebuah kata sebagai input.
3. Gunakan metode lemmatization ini sebagai dasar untuk membuat algoritma
morphological
analyzer,
karena
metode
ini
merupakan
kunci
untuk
mengaktualisasikan berbagai aplikasi yang berguna
4. Meningkatkan algoritma untuk mengatasi kata ulang, kata dengan infiks, kata
benda baku, singkatan, dan kata asing atau serapan.
48
Download