• Tidak ada hasil yang ditemukan

Aplikasi Pemeriksa Ejaan untuk Tulisan I

N/A
N/A
Protected

Academic year: 2018

Membagikan "Aplikasi Pemeriksa Ejaan untuk Tulisan I"

Copied!
188
0
0

Teks penuh

(1)

Spelling Checker Application for Indonesian Scientific Papers

Laporan ini disusun untuk memenuhi salah satu syarat menyelesaikan pendidikan PROGRAM STUDI DIPLOMA III TEKNIK INFORMATIKA

Di Jurusan Teknik Komputer dan Informatika

Oleh

Sarah Zafira 131511058

Rhana Ruhliana Irsyad 131511066

Sheilla Adila 131511067

POLITEKNIK NEGERI BANDUNG

(2)
(3)

Nama : Sarah Zafira NIM : 131511058

Tempat, Tanggal Lahir : Tasikmalaya, 11 Januari 1996

(4)

Nama : Rhana Ruhliana Irsyad NIM : 131511066

Tempat, Tanggal Lahir : Pemalang, 26 Oktober 1995

SD Lulus Tahun : 2007 dari SDN Citeureup 3

SLTP Lulus Tahun : 2010 dari SMPN 2 Cimahi

SLTA Lulus Tahun : 2013 dari SMK Muhammadiyah 4 Bandung

(5)

Nama : Sheilla Adila NIM : 131511067

Tempat, Tanggal Lahir : Bandung, 2 Februari 1995

SD Lulus Tahun : 2006 dari SDN Rendeh

SLTP Lulus Tahun : 2009 dari SMP PGRI 384 Rendeh

SLTA Lulus Tahun : 2013 dari SMKN 1 Cimahi

(6)

i

Aplikasi pemeriksa ejaan (spelling checker) merupakan sebuah tool yang dapat mendeteksi kesalahan penulisan ejaan pada suatu kata atau teks. Aplikasi pemeriksa ejaan untuk bahasa Indonesia pada umumnya memeriksa dengan cara membandingkan satu persatu kata yang diperiksa pada suatu kamus kata yang berisi semua kata pada bahasa Indonesia. Selain itu, aplikasi pemeriksa ejaan yang umum digunakan hanya dapat menangani kesalahan tipografi (Misalnya ‘bagaimna’, seharunya ‘bagaimana’) dan belum dapat menangani kesalahan akibat pemisahan atau penggabungan kata yang tidak tepat (Misalnya ‘bagai mana’, seharusnya ‘bagaimana’). Pada tugas akhir ini dibangun sebuah aplikasi pemeriksa ejaan untuk tulisan ilmiah berbahasa indonesia dengan memanfaatkan penggunaan analisis morfologi dan aturan penulisan pemisahan atau penggabungan kata dalam proses pemeriksaan ejaan. Analisis morfologi dibuat dengan menghilangkan imbuhan yang memungkinkan pada suatu kata dengan menggunakan algoritme lemmatization. Modifikasi dan desain yang dibuat untuk proses lemmatization adalah dengan menambahkan aturan penulisan kata ganti orang (ku- dan kau-) dan menyimpan semua aturan penghilangan imbuhan pada suatu database. Aplikasi pemeriksa ejaan yang telah dibuat dalam tugas akhir ini masih belum sempurna dari segi keakuratan pemeriksaan. Hasil pemeriksaan masih mengalami ketidakakuratan untuk kasus kata berulang, kasus pengecualian penulisan imbuhan, dan kasus kata gabung dan bentuk terikat yang memiliki imbuhan.

(7)

ii

Spelling checker application is a tool to detect spelling errors of the word or text. Indonesian spelling checker application generally checked by comparing one by one word on a dictionary that contain all Indonesian words. In addition, spelling checker is commonly used to handle typographical errors (example: 'bagaimna', it should be 'bagaimana') and have not been able to handle the error due to incorrect splitting or merging of words. (example: 'bagai mana', it should be 'bagaimana'). In this study, spelling checker application for Indonesian scientific papers have been developed by utilizing morphological analysis and rules of splitting or merging words. Morphological analysis process is created by removing all affixes in the word which using lemmatization algorithms. Modifications and designs for lemmatization process is by adding rules of writing a personal pronoun (ku-, mu-) and store the rules of affixes removal into a database. Spelling checker application that has been made in this study is not perfect in terms of checking the accuracy. The test results are still having inaccurate in repeated words, affixation of exceptional words, and combining words and bounded words which have affixes.

(8)

iii

Puji dan syukur kami panjatkan kehadirat Tuhan Yang Maha Esa atas limpahan rahmat dan karunia-Nya kami dapat menyelesaikan laporan tugas akhir yang berjudul “Pemeriksa Ejaan untuk Tulisan Ilmiah Berbahasa Indonesia”. Tugas akhir ini disusun sebagai salah satu syarat menyelesaikan pendidikan diploma program studi teknik informatika di Politeknik Negeri Bandung.

Dengan selesainya laporan tugas akhir ini, tidak terlepas dari bantuan banyak pihak yang telah memberikan masukan kepada kami. Untuk itu kami mengucapkan terima kasih kepada:

1. Orangtua dan keluarga besar kami yang senantiasa memberi dukungan dan mendo’akan kami;

2. Ibu Ani Rahmani, S.Si., M.T. selaku pembimbing I dan bapak Jonner Hutahaean, BSET., M.Info.Sys. selaku pembimbing II yang telah memberikan bimbingan, masukan, dan dukungan, serta kontribusi yang besar sehingga kami dapat menyelesaikan tugas akhir ini;

3. Bapak Dewa Gede Parta, BSCS. selaku penguji seminar I dan II yang telah memberikan kritik untuk memperjelas lingkup dan batasan dari topik tugas akhir ini, masukan mengenai tools yang dapat digunakan dalam penyelesaian tugas akhir ini, serta saran untuk memperdalam pemahaman mengenai teori yang digunakan untuk dipelajari dan dijadikan pembelajaran;

4. Bapak Urip Teguh Setijohatmo, BSCS., M.Kom. selaku penguji seminar III yang telah memberikan kritik dan masukannya untuk memperjelas solusi penyelesaian permasalahan dari tugas akhir ini;

(9)

iv

semangatnya kepada kami untuk dijadikan sebagai modal awal dalam pengerjaan tugas akhir ini;

8. Terakhir, untuk seluruh pihak yang terlibat dalam kelancaran penyelesaian tugas akhir ini.

Dalam laporan tugas akhir ini masih terdapat kesalahan dan kekurangan, untuk itu kritik dan saran dibutuhkan sebagai bahan evaluasi. Kami berharap laporan ini dapat bermanfaat bagi seluruh pembaca, khususnya keluarga JTK POLBAN.

Akhir kata, kami mengucapkan terima kasih, semoga Allah SWT membalas kebaikan pihak-pihak tersebut di atas dan selalu memberikan rahmat dan hidayah-Nya kepada kita semua.

Bandung, Agustus 2016

(10)

v

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah... 2

1.3 Tujuan ... 3

1.4 Ruang Lingkup dan Batasan Masalah ... 4

1.5 Metodologi Pengembangan Perangkat Lunak ... 4

1.6 Sistematika Penulisan Laporan ... 6

BAB II LANDASAN TEORI ... 8

2.1 Morfologi Bahasa Indonesia ... 8

2.1.1 Awalan (Prefiks) ... 8

2.1.2 Akhiran (Sufiks) ... 10

2.1.3 Sisipan (Infiks) ... 11

2.1.4 Gabungan Awalan dan Akhiran (Konfiks) ... 11

2.2 Imbuhan dari Bahasa Asing ... 12

2.2.1 Awalan ... 13

2.2.2 Akhiran ... 14

2.3 Ejaan Bahasa Indonesia yang Disempurnakan (EYD) ... 19

2.3.1 Kata Berimbuhan ... 20

2.3.2 Gabungan Kata ... 21

2.3.3 Kata depan ... 21

2.4 Text Preprocessing ... 22

2.5 LemmatizationTechnique in Bahasa: Indonesian Language... 23

2.6 PDFBox ... 33

2.7 Bahasa Pemrograman Java ... 34

2.7.1 Class ... 34

2.7.2 Constructor ... 35

2.7.3 Method... 36

2.7.4 Attribute ... 36

2.7.5 Object Oriented Programming (OOP) ... 36

BAB III ANALISIS ... 39

3.1 Analisis Sistem Sejenis ... 39

3.2 Evaluasi Sistem Sejenis ... 41

3.3 Analisis Proses Pemotongan Imbuhan ... 42

(11)

vi

3.5.2 Pemeriksaan Kesalahan Penggabungan dan Pemisahan Kata ... 51

3.5.3 Pemeriksaan terhadap Kata Asing ... 55

3.5.4 Pemeriksaan Imbuhan Bahasa Asing ... 55

3.6 Analisis Proses Pemberian Saran Kata Perbaikan ... 55

3.6.1 Kesalahan Tipografi dan Morfologis ... 55

3.6.2 Kesalahan Pemisahan dan Penggabungan Kata ... 57

3.7 Analisis Teknologi dan Algoritme ... 58

3.7.1 Tokenizing ... 58

3.7.2 Filtering ... 58

3.7.3 Algoritme Lemmatization ... 59

3.7.4 Algoritme Damerau-LavenstainDistance ... 64

3.7.5 PDFBox ... 64

3.7.6 EditDistance ... 65

3.8 Analisis Sistem yang Dibangun ... 66

3.8.1 Analisis Kebutuhan Data... 66

3.8.2 Analisis Kebutuhan Objek ... 67

3.8.3 Analisis Proses Sistem ... 69

BAB IV PERANCANGAN ... 71

4.1 Perancangan Proses Perangkat Lunak ... 71

4.1.1 Proses Membaca Teks ... 71

4.1.2 Proses Membaca Dokumen ... 74

4.1.3 Proses Pemeriksaan Ejaan ... 76

4.1.4 Proses Pemeriksaan Kesalahan Tipografi dan Morfologis ... 77

4.1.5 Proses Pemeriksaan Kesalahan Penggabungan dan Pemisahan Kata . 93 4.2 Perancangan Struktur Aplikasi ... 98

4.3 Perancangan Database ... 100

4.4 Perancangan User Interface... 104

4.4.1 Halaman Utama Aplikasi Pemeriksa Ejaan ... 104

4.4.2 Halaman File Chooser ... 106

4.5 Matriks Keterunutan Perancangan Aplikasi ... 110

BAB V IMPLEMENTASI ... 112

5.1 Batasan Implementasi ... 112

5.2 Gambaran Komponen Implementasi Aplikasi ... 112

5.3 Implementasi Data ... 113

5.4 Implementasi Method ... 114

5.5 Implementasi Antarmuka Aplikasi ... 116

5.5.1 Halaman Awal Aplikasi ... 116

5.5.2 Halaman Memilih File Dokumen ... 117

5.5.3 Tampilan Setelah Memilih Dokumen ... 117

5.5.4 Tampilan Ketika Dilakukan Pemeriksaan ... 118

(12)

vii

6.2.2 Pengujian Fitur Pemeriksaan Ejaan pada Teks dan Menampilkan

Kesalahan Kata... 125

6.3 Uji Coba Pemeriksaan Ejaan ... 132

6.4 Kesimpulan Pengujian ... 134

BAB VII PENUTUP ... 135

7.1 Capaian ... 135

7.2 Saran ... 143

(13)

viii

Gambar 1 Model Waterfall ... 5

Gambar 2 Flowcharttextpreprocessing ... 22

Gambar 3 Flowchart algoritme Lemmatization (Suhartono, 2014) ... 25

Gambar 4 Ilustrasi pemeriksaan ejaan untuk kata ‘penulisn’ pada lemmatization ... 47

Gambar 5 Flowchart pemeriksaan kesalahan tipografi dan kesalahan morfologis ... 49

Gambar 6 Komponen-komponen untuk analisis morfologi ... 49

Gambar 7 Flowchart pemeriksaan kesalahan penggabungan dan pemisahan kata ... 54

Gambar 8 Pemberian saran kata pada Microsoft Word untuk kata ‘makanmalam’... 56

Gambar 9 Ilustrasi pemberian saran kata perbaikan untuk kata ‘makanmalam’ .. 56

Gambar 10 Contoh pada tahapan tokenizing ... 58

Gambar 11 Contoh pada tahapan filtering ... 59

Gambar 12 Alur proses modifikasi lemmatization... 68

Gambar 13 Gambaran umum aplikasi pemeriksa ejaan ... 70

Gambar 14 Sequencediagram membaca teks ... 72

Gambar 15 Sequencediagram upload dokumen ... 75

Gambar 16 Sequencediagram pemeriksaan ejaan ... 76

Gambar 17 Sequencediagram pemeriksaan kesalahan tipografi dan morfologis 78 Gambar 18 Sequence diagram pemeriksaan kesalahan penggabungan dan pemisahan kata ... 94

Gambar 19 Classdiagram perancangan struktur aplikasi ... 99

Gambar 20 Perancangan database ... 101

Gambar 21 Tampilan halaman utama aplikasi ... 105

Gambar 22 Perilaku UI halaman utama aplikasi pemeriksa ejaan ... 106

Gambar 23 Tampilan halaman file chooser ... 108

Gambar 24 Perilaku UI Halaman File Chooser ... 109

Gambar 25 Deployment diagram aplikasi pemeriksa ejaan bahasa indonesia ... 113

Gambar 26 Screenshot hasil implementasi untuk halaman awal aplikasi [IUI-001] ... 116

Gambar 27 Screenshot hasil implementasi untuk halaman memilih file [IUI-002] ... 117

Gambar 28 Screenshot hasil implementasi untuk halaman ketika dokumen telah dipilih [IUI-001] ... 118

Gambar 29 Screenshot hasil implementasi untuk halaman awal aplikasi ketika telah dilakukan pemeriksaan[IUI-001] ... 118

Gambar 30 Bukti Pengujian membaca teks pada dokumen (EV-001) ... 124

Gambar 31 Bukti Pengujian membaca teks pada dokumen (EV-002) ... 125

Gambar 32 Bukti Pengujian membaca teks pada dokumen (EV-003) ... 125

(14)
(15)

x

DAFTAR TABEL

Tabel 1 Macam-macam prefiks ... 8

Tabel 2 Aturan prefiks ‘pe-’ ... 9

Tabel 3 Aturan prefiks ‘me-’... 10

Tabel 4 Jenis-jenis sufiks ... 10

Tabel 5 Macam-macam infiks ... 11

Tabel 6 Kombinasi imbuhan prefiks-sufiks ... 11

Tabel 7 Kombinasi imbuhan yang tidak diperbolehkan ... 12

Tabel 8 Contoh kata yang dilekatkan imbuhan dari bahasa asing ... 13

Tabel 9 Aturan prefiks ‘be-’ ... 27

Tabel 10 Aturan prefiks ‘te-’... 28

Tabel 11 Aturan prefiks ‘me-’... 28

Tabel 12 Aturan prefiks ‘pe-’ ... 29

Tabel 13 Pasangan imbuhan yang tidak diperbolehkan ... 30

Tabel 14 Evaluasi sistem sejenis ... 42

Tabel 15 Proses pemotongan imbuhan ... 43

Tabel 16 Aturan penghilangan afiks kombinasi yang diperbolehkan ... 51

Tabel 17 Aturan penulisan kata 'di' ... 52

Tabel 18 Stopword yang tidak boleh hilang pada proses textpreprocessing ... 59

Tabel 19 Imbuhan pengeculian pada bahasa Indonesia ... 61

Tabel 20 Aturan khusus untuk imbuhan pengecualian ... 62

Tabel 21 Prefiks kata ganti orang... 62

Tabel 22 Ilustrasi pemberian saran kata perbaikan untuk kata ‘ayh’ ... 64

Tabel 23 Deskripsi sequencediagram membaca teks ... 72

Tabel 24 Logika proses untuk proses tokenizing ... 73

Tabel 25 Logika proses untuk proses filtering ... 73

Tabel 26 Logika proses untuk proses stopword removal ... 74

Tabel 27 Deskripsi sequencediagram membaca teks (dokumen) ... 75

Tabel 28 Deskripsi sequencediagram pemeriksaan ejaan ... 76

Tabel 29 Deskripsi sequencediagram pemeriksaan kesalahan tipografi dan morfologis ... 78

Tabel 30 Logika proses untuk proses markascorrect ... 79

Tabel 31 Logika proses untuk proses mark as error ... 79

Tabel 32 Daftar rule type pada morphology rule ... 80

Tabel 33 Logika proses untuk proses delete inflectional suffix ... 81

Tabel 34 Logika proses untuk proses delete derivational suffix ... 82

Tabel 35 Logika proses untuk proses remove derivational prefix ... 82

Tabel 36 Logika proses untuk proses remove personal pronoun ... 83

Tabel 37 Logika proses untuk proses rule precedence checking ... 83

Tabel 38 Logika proses untuk proses allowed combination checking ... 84

Tabel 39 Logika proses untuk proses remove affix ... 85

Tabel 40 Logika proses untuk proses generate rule ... 86

(16)

xi

Tabel 42 Logika proses untuk proses lookup ... 88

Tabel 43 Logika proses untuk proses recoding... 89

Tabel 44 Logika proses untuk proses generate word... 90

Tabel 45 Logika proses untuk proses disallowed pair ... 91

Tabel 46 Logika proses untuk proses search affix ... 92

Tabel 47 Logika proses untuk proses get recoding rule ... 92

Tabel 48 Deskripsi sequence diagram pemeriksaan kesalahan penggabungan dan pemisahan kata ... 95

Tabel 49 Logika proses untuk proses check penggabungan ... 95

Tabel 50 Logika proses untuk proses pemeriksaan kata gabung ... 96

Tabel 51 Logika proses untuk proses pemeriksaan kata gabung ke database ... 96

Tabel 52 Logika proses untuk proses get kelas kata ... 97

Tabel 53 Logika proses untuk proses pemeriksaan yang memanfaatkan kelas kata... 97

Tabel 54 Matriks keterunutan perancangan aplikasi ... 110

Tabel 55 Komponen deployment diagram aplikasi ... 113

Tabel 56 Status implementasi database ... 114

Tabel 57 Status implementasi method... 114

Tabel 58 Tabel Keterunutan Implementasi Aplikasi ... 120

Tabel 59 Pemetaan fitur dengan requirement ... 122

Tabel 60 Status pengujian fitur membaca dokumen ... 123

Tabel 61 Hasil pengujian fitur pemeriksaan ejaan pada teks dan menampilkan kesalahan kata ... 125

Tabel 62 Test case masukan satu kata... 126

Tabel 63 Test case masukan satu kalimat ... 127

Tabel 64 Test case masukan satu paragraf ... 127

Tabel 65 Test case masukan teks bersumber dari txt ... 128

Tabel 66 Test case masukan teks bersumber dari PDF ... 129

Tabel 67 Hasil uji coba aplikasi pemeriksa ejaan ... 133

Tabel 68 Capaian pengembangan aplikasi ... 135

Tabel 69 Hasil pencapaian pada tahap analisis ... 136

Tabel 70 Hasil pencapaian tugas akhir... 138

(17)

xii

DAFTAR LAMPIRAN

(18)

xiii

DAFTAR ISTILAH

Istilah Definisi

Ejaan Kaidah tulis menulis baku yang didasarkan pada

penggambaran bunyi.

Kata Kumpulan beberapa huruf yang memiliki makna

tertentu.

Lema Kata atau frasa, dapat berupa kata dasar, kata

berimbuhan, kata berulang, kata majemuk, dan frasa. Imbuhan (affix) Morfem terikat yang dapat mengakibatkan perubahan

bunyi, perubahan fungsi kata, dan perubahan fungsi gramatikal.

Kesalahan ejaan Kesalahan yang diakibatkan kesalahan penulisan ejaan pada suatu kata.

Kesalahan tipografi Kesalahan yang diakibatkan oleh kesalahan yang tidak disengaja dalam proses mengetik, yaitu akibat penghilangan huruf, penambahan huruf, penggunaan huruf yang tidak sesuai, dan penukaran huruf.

Kesalahan morfologis Kesalahan yang diakibatkan ketidakpahaman dalam penggunaan imbuhan yang tidak sesuai dengan aturan morfologi bahasa Indonesia.

Kesalahan

penggabungan atau pemisahan kata

Kesalahan yang diakibatkan oleh ketidaksengajaan maupun ketidaktahuan penulis mengenai cara penggabungan dan pemisahan kata yang benar dan sesuai dengan EYD.

Lemmatization Algoritma pengembalian suatu kata pada lemma dasarnya dengan melakukan penghilangan imbuhan. Morphologycal

Analyser

Penganalisa morfologi yang melakukan penghilangan imbuhan pada suatu kata, merupakan modifikasi dari lemmatization

(19)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Menulis tulisan ilmiah merupakan bagian yang tidak dapat dilepaskan dari kehidupan akademik mahasiswa saat menjalani perkuliahan. Tulisan ilmiah yang dibuat tentu harus berkualitas, karena memiliki peranan dan kedudukan yang sangat penting dan merupakan bagian dari tuntutan formal akademik. Kualitas sebuah tulisan ilmiah, khususnya untuk tulisan ilmiah berbahasa Indonesia, salah satunya ditentukan oleh penulisan kata yang benar dan sesuai dengan kaidah ejaan bahasa Indonesia yang disempurnakan (EYD) dan aturan morfologi bahasa Indonesia.

Untuk menjaga kualitas tulisan ilmiah, saat ini banyak aplikasi pengolah kata yang menyediakan fasilitas pemeriksaan ejaan khususnya untuk bahasa Indonesia, misalnya Microsoft Word atau aplikasi khusus pemeriksa ejaan lainnya.

Pada aplikasi pemeriksa ejaan, umumnya pemeriksaan dilakukan dengan memasukkan teks yang akan diperiksa kemudian sistem menandai teks yang dianggap mengalami kesalahan ejaan. Selain itu, terdapat fitur pemberian saran kata perbaikan yang dimaksudkan untuk memudahkan pengguna untuk menemukan kata yang tepat. Pemeriksaan ejaan dilakukan dengan membandingkan setiap kata pada daftar kata bahasa Indonesia.

Menurut Turistiani (2013) kesalahan terkait penulisan ejaan pada bahasa Indonesia dikategorikan menjadi beberapa kategori kesalahan sebagai berikut.

1. Kesalahan tipografi, kesalahan penulisan kata pada saat proses mengetik akibat penambahan, penghilangan, penggantian, atau penukaran huruf yang tidak seharusnya pada satu kata. Umumnya aplikasi pemeriksa ejaan yang sudah ada saat ini dapat menangani masalah ini, misalnya yang terdapat pada Microsoft Word.

(20)

2. Kesalahan morfologis, kesalahan yang diakibatkan ketidakpahaman penggunaan imbuhan yang tidak sesuai dengan aturan morfologi bahasa Indonesia.

Contoh: berajar (seharusnya: belajar); mengkotori (seharusnya: mengotori). 3. Kesalahan penggabungan dan pemisahan kata, kesalahan penulisan ejaan akibat

kesalahan penggabungan atau pemisahan kata yang tidak sesuai dengan aturan EYD.

Contoh: maha siswa (seharusnya: mahasiswa, kesalahan penulisan kata turunan); di makan (seharusnya: dimakan, kesalahan penulisan imbuhan).

Aplikasi pemeriksa ejaan bahasa Indonesia yang sudah ada saat ini hanya dapat mengatasi kesalahan ejaan untuk kategori tipografi dan morfologis saja, sedangkan untuk jenis kesalahan lainnya masih dianggap benar oleh aplikasi. Karena itulah hasil pemeriksaan ejaan tidak maksimal. Selain itu, pemberian saran kata perbaikan juga dianggap belum sesuai dengan yang diharapkan. Misalnya pada Microsoft Word, tidak ditemukan saran kata perbaikan untuk kata ‘sebarluaskan’ yang seharusnya ‘sebar luaskan’.

Terdapat berbagai cara untuk melakukan pemeriksaan ejaan, salah satunya dengan memeriksa setiap kata pada daftar kata bahasa Indonesia yang jumlahnya sangat banyak, cara lainnya yaitu dengan melakukan analisis morfologi. Dalam bahasa Indonesia, setiap kata dasar dapat dikombinasikan dengan berbagai morfem sehingga dapat menghasilkan jumlah kata bentukan yang banyak. Dengan melakukan analisis morfologi ini memungkinkan adanya pengurangan jumlah kata yang digunakan.

Aplikasi pemeriksa ejaan bahasa Indonesia yang dibangun dapat menangani kesalahan penggabungan dan pemisahan kata, serta memanfaatkan analisis morfologi untuk melakukan pemeriksaan kesalahan tipografi dan morfologis.

1.2 Rumusan Masalah

(21)

1. Kesalahan ejaan yang termasuk kategori kesalahan penggabungan dan pemisahan kata tidak terdeteksi

Masalah ini muncul karena penulis tidak menyadari kata tersebut salah ataupun terlewat dalam proses pemeriksaan. Salah satu contoh kesalahan yang sering terjadi ialah kesalahan penulisan pada kata gabung, karena kedua kata pembentuk kata gabung tersebut merupakan kata bahasa Indonesia yang benar, sehingga tidak terdeteksi oleh aplikasi pemeriksa ejaan. Meskipun sudah banyak tools untuk membantu proses pemeriksaan ejaan tulisan ilmiah, namun tools tersebut belum dapat memeriksa kesalahan ejaan untuk kategori kesalahan penggabungan dan pemisahan kata. Agar dapat menangani masalah ini, diperlukan sebuah aplikasi pemeriksa ejaan yang dapat menangani kategori kesalahan tersebut dengan cara mendefinisikan aturan penulisan kata berdasarkan kaidah EYD.

2. Analisis morfologi

Bahasa Indonesia memiliki proses pembentukan kata yang rumit dan beragam. Oleh karena itu, diperlukan aplikasi yang dapat melakukan analisis morfologi. Pemeriksaan ejaan yang dilakukan aplikasi pemeriksa ejaan ini ialah dengan memanfaatkan analisis morfologi untuk mencari bentuk dasar dari suatu kata. 3. Pemberian saran kata perbaikan tidak sesuai

Saran kata perbaikan dapat digunakan sebagai referensi perbaikan kata oleh pengguna. Saran kata perbaikan harus diambil dari kata yang mirip atau dianggap benar berdasarkan kata yang mengalami kesalahan ejaan serta berdasarkan jenis kesalahannya. Pada aplikasi pemeriksa ejaan seperti Microsoft Word masih terdapat kata yang mengalami kesalahan ejaan namun tidak memiliki saran kata perbaikan (Misalnya kata ‘sebarluaskan’ tidak memiliki saran kata perbaikan, seharusnya ‘sebar luaskan’).

1.3 Tujuan

(22)

memeriksa ejaan pada teks sesuai dengan aturan morfologi bahasa Indonesia, KBBI, dan aturan penulisan kata pada EYD, juga memberikan saran kata perbaikan yang dapat digunakan sebagai referensi perbaikan kata yang mengalami kesalahan ejaan oleh pengguna.

1.4 Ruang Lingkup dan Batasan Masalah

Proses pemeriksaan yang dapat dilakukan oleh Aplikasi Pemeriksa Ejaan yang dibangun meliputi pemeriksaan kesalahan ejaan yang termasuk dalam kategori kesalahan tipografi, kesalahan morfologis, serta kesalahan penggabungan dan pemisahan kata (kata berimbuhan, gabungan kata, bentuk terikat, serta kata depan di). Aplikasi dibangun dengan menggunakan bahasa pemrograman Java.

1.5 Metodologi Pengembangan Perangkat Lunak

Metodologi pengembangan perangkat lunak yang digunakan pada tugas akhir ini yaitu model waterfall. Menurut Ian Sommerville (2011, p30-31) terdapat 5 tahapan pada model waterfall seperti yang dapat dilihat pada Gambar 1. Tahapan-tahapan tersebut, yaitu requirement analysis and definition, system and software design, implementationandunittesting, integrationandsystemtesting, dan operationand maintenance, namun dalam pengembangan perangkat lunak pada tugas akhir ini tidak dilakukan tahap operation and maintenance.

Berikut penjelasan dari tahapan-tahapan model waterfall yang dihubungkan dengan pengerjaan tugas akhir ini.

1. RequirementAnalysisandDefinition

Pada tahap ini dilakukan pendefinisian masalah, ruang lingkup, serta tujuan pengembangan sistem. Selanjutnya dilakukan analisis untuk menentukan requirement.

(23)

dapat didefinisikan sebagai masalah dan dijadikan modal untuk requirement dari aplikasi yang dibangun.

Gambar 1 Model Waterfall

b. Analisis kasus dilakukan untuk memberikan gambaran mengenai kasus-kasus kesalahan yang sering terjadi pada setiap kategori kesalahan, serta memberikan gambaran mengenai solusi yang dilakukan aplikasi pemeriksa ejaan untuk menangani setiap kasus tersebut.

c. Analisis teknologi dan algoritme yang bertujuan untuk memahami kemampuan teknologi yang digunakan dalam aplikasi, serta menyesuaikan algoritme yang digunakan dengan kebutuhan aplikasi yang dibangun. d. Analisis proses pemeriksaan ejaan dibutuhkan untuk menetapkan solusi dan

langkah-langkah yang harus dilakukan untuk dapat melakukan pemeriksaan terhadap ketiga kategori kesalahan.

e. Analisis pemberian saran kata perbaikan terhadap ketiga kategori kesalahan dilakukan untuk menetapkan cara yang dilakukan untuk dapat memberikan saran kata perbaikan yang sesuai.

(24)

2. System and Software Design

Pada tahap ini dilakukan perancangan struktur data dan database dengan mentransformasikan requirement yang telah ditetapkan pada tahap sebelumnya dengan menggunakan tools pemodelan UMLDiagram untuk menggambarkan tindakan-tindakan yang dapat dan/atau harus dilakukan aplikasi untuk berinteraksi dengan pengguna, menunjukkan struktur sistem yang dirancang dan keterkaitan antar class serta atribut dan method yang digunakan, menunjukkan interaksi pertukaran pesan antar lifeline, dan antarmuka aplikasi yang dibangun.

3. Implementation and Unit Testing

Pada tahap ini dilakukan pembuatan aplikasi yang mengacu pada hasil desain yang telah dirancang pada tahap sebelumnya. Setelah implementasi selesai, dilakukan uji coba terhadap unit program yang telah diimplementasi untuk mengetahui kesesuaian aplikasi dengan hasil desain yang telah dibuat.

4. Integration and System Testing

Pada tahap ini setiap unit program diintegrasikan dan dilakukan uji coba terhadap aplikasi utuh untuk memastikan aplikasi yang dibangun memenuhi requirement yang telah ditentukan.

1.6 Sistematika Penulisan Laporan

Laporan tugas akhir ini terdiri atas: Bab I Pendahuluan

Bab ini berisi gambaran umum aplikasi yang diuraikan dalam latar belakang, perumusan masalah, tujuan, ruang lingkup dan batasan masalah, metodologi pengembangan perangkat lunak, serta sistematika penulisan laporan.

Bab II Landasan Teori

(25)

Bab III Analisis

Bab ini berisi analisis yang dilakukan dalam membangun aplikasi. Analisis yang dilakukan meliputi analisis mengenai masalah utama, analisis mengenai kesalahan ejaan pada teks berbahasa Indonesia serta analisis kasus untuk setiap kategori kesalahan, analisis mengenai pemberian saran kata perbaikan, analisis sistem sejenis untuk mengetahui kemampuan dari aplikasi serupa, analisis teknologi dan algoritme, analisis kebutuhan, dan analisis perilaku.

Bab IV Perancangan

Bab ini berisi penjelasan mengenai rancangan dari aplikasi yang dibangun. Perancangan aplikasi meliputi perancangan proses, perancangan struktur aplikasi, perancangan database, serta perancangan user interface.

Bab V Implementasi

Bab ini berisi hasil implementasi dari desain yang telah dibuat ke dalam bentuk program. Implementasi ini dilakukan dengan mengikuti requirement-requirement serta desain yang telah ditentukan sehingga menjadi satu aplikasi yang utuh. Bab VI Pengujian

Bab ini berisi hasil uji coba terhadap aplikasi berdasarkan requirement fungsional untuk mengetahui kesesuaian hasil implementasi dari aplikasi berdasarkan rancangan yang telah dibuat, juga untuk menguji kemampuan dari aplikasi pemeriksa ejaan yang dibuat.

Bab VII Penutup

(26)

8

BAB II

LANDASAN TEORI

Pada bab ini dijelaskan mengenai teori, konsep, serta teknologi pendukung yang digunakan sebagai acuan guna menunjang proses pembuatan aplikasi pemeriksa ejaan bahasa Indonesia.

2.1 Morfologi Bahasa Indonesia

Morfologi adalah cabang ilmu linguistik yang mempelajari seluk beluk penyusunan kata secara struktural terhadap morfem-morfem pembentuknya. Morfem merupakan bentuk bahasa terkecil yang tidak dapat dibagi lagi menjadi bagian-bagian yang lebih kecil. Dalam bahasa Indonesia, terdapat dua jenis morfem yaitu morfem bebas atau morfem yang dapat berdiri sendiri (misalnya ‘rumah’) dan morfem terikat misalnya imbuhan (afiks). Imbuhan (afiks) terdiri atas awalan (prefiks), akhiran (sufiks), sisipan (infiks), dan gabungan awalan dan akhiran (konfiks) (Jelita, 2007).

2.1.1 Awalan (Prefiks)

Awalan (prefiks) adalah imbuhan yang dibubuhkan di awal kata. Awalan ‘ber-’, ‘per-’, dan ‘ter-’ berubah menjadi ‘be-’, ‘pe-’, dan ‘te-’ ketika disisipkan pada kata dasar yang memiliki huruf awal ‘r-’ atau pada kata dasar yang memiliki suku kata awal yang diakhiri dengan ‘-er’. Macam-macam imbuhan awalan dalam bahasa Indonesia dapat dilihat pada Tabel 1.

Tabel 1 Macam-macam prefiks

No. Prefiks Contoh

1. Me- Memulai – mulai

2. Se- Secerdik – cerdik

3. Ke- Kedua – dua

(27)

Tabel 1 Macam-macam prefiks (lanjutan)

No. Prefiks Contoh

5. Ter- (te-) Tertidur – tidur

6. Ber- (be-) Beracun – racun

7. Per- (Pe-) Perkeras – keras

8. Ku- (*) Kubaca – baca

9. Kau- (*) Kaubawa – bawa

Terdapat beberapa pengecualian pada Tabel 1, untuk kata ‘ajar’ dan ‘ujur’ ketika disisipkan dengan prefiks ‘ber-’ berubah menjadi ‘belajar’ dan ‘belunjur’ (bukan ‘berajar’ ataupun ‘berujur’). Ketika prefiks ‘pe-’ disisipkan pada kata dasar ‘ajar’ berubah menjadi ‘pelajar’. Aturan prefiks ‘pe-’ dan ‘me-’ disajikan pada Tabel 2 dan

Tabel 3.

Tabel 2 Aturan prefiks ‘pe-’

No. Kata Dasar Aturan Contoh

1. {a | e | i | o | u}... peng-... Pengampun - ampun

2. {g | h}... peng-... Penggajian – gaji

3. {k}... peng-[k] ... Pengurang - kurang

4. {c | d | j}... pen-... Pencuci – cuci

5. {t}... pen-[t] ... Penikam – tikam

6. {b | f | v}... pem-... Pemberi – beri

7. {p}... pem-[p]. . . Pemotong - potong

8. {s}... peny-[s] ... Penyabar – sabar

(28)

No. Kata Dasar Aturan Contoh

10. {z}... pe-... | pen-... Peziarah – ziarah, penziarah – ziarah

Tabel 3 Aturan prefiks ‘me-’

No. Kata Dasar Aturan Contoh

1. {a | e | i | o | u}... meng-... Mengambil – ambil

2. {g | h | x}... meng-...

3. {k}... meng-[k] ... Mengecil – kecil

4. {c | d | j | z} men-...

5. {t}... men-[t] ... Menetap – tetap

6. {b | f | v}... mem-... Membantu – bantu

7. {p}... mem-[p] ... Memrogram – program

8. {s}... meny-[s] ... Menyusup – susup

9. {l | m | n | r | w | y}... me-... Memakan – makan

2.1.2 Akhiran (Sufiks)

Akhiran (sufiks) adalah imbuhan yang dibubuhkan di akhir kata. Tidak seperti prefiks dan infiks, pembubuhan sufiks tidak akan merubah bentuk kata dasar. Secara gramatikal, hanya terdapat tiga sufiks yaitu ‘-i’, ‘-kan’, dan ‘-an’, namun dalam konteks information retrieval (IR), sufiks dapat dikategorikan seperti pada Tabel 4.

Tabel 4 Jenis-jenis sufiks

Partikel PossessiveSuffixes DerivativeSuffixes

-lah -ku -i

(29)

Partikel PossessiveSuffixes DerivativeSuffixes

-tah -nya -an

-pun (pun) -wan

-wati

-is (-ist)

-isme

2.1.3 Sisipan (Infiks)

Sisipan (infiks) adalah imbuhan yang dibubuhkan di tengah kata. Macam-macam sisipan dalam bahasa Indonesia dapat dilihat pada Tabel 5.

Tabel 5 Macam-macam infiks

No. Infiks Contoh

1. -el- Telunjuk – tunjuk

2. -em- Kemilau – kilau

3. -er- Gerigi – gigi

2.1.4 Gabungan Awalan dan Akhiran (Konfiks)

Konfiks merupakan kombinasi dari prefiks dan sufiks (Moeliono dan Dardjowidjojo, 1988). Kedua prefiks dan sufiks harus disisipkan bersama untuk memperoleh kata yang memiliki arti. Contoh prefiks ‘ber-’ dan sufiks ‘-an’ membentuk konfiks ‘berkejaran’. Jika sufiks ‘an’ dihilangkan (berkejar), kata ‘berkejar’ tidak memiliki makna, juga jika menghilangkan ‘-an’, kata ‘kejaran’ tidak memiliki makna. Kombinasi prefiks-sufiks dapat dilihat pada Tabel 6.

Tabel 6 Kombinasi imbuhan prefiks-sufiks

Prefiks Sufiks Contoh

‘me-’, ‘per-’, ‘ber-’, ‘ter-’, dan ‘di-’ ‘-kan’ Perkenalan – kenal

‘me-’, ‘per-’, ‘ter-’, dan ‘di-’ ‘-i’ Memiliki – milik

(30)

Prefiks Sufiks Contoh

‘ter-’ + ‘per-’ -

‘se-’ + ‘per-’ -

‘ke-’ + ‘se-’ + ‘per-’ -

‘mem-’ + ‘per-’ -

‘di-’ + ‘per-’ -

Selain itu, terdapat kombinasi imbuhan yang tidak diperbolehkan dalam bahasa Indonesia yang dapat dilihat pada Tabel 7.

Tabel 7 Kombinasi imbuhan yang tidak diperbolehkan

Prefiks Sufiks yang tidak diperbolehkan

‘ber-’ ‘-i’

‘di-’ ‘-an’

‘ke-’ ‘-i’ dan ‘-kan’

‘me-’ ‘-an’

‘ter-’ ‘-an’

‘per-’ ‘-an’

2.2 Imbuhan dari Bahasa Asing

(31)

Tabel 8 Contoh kata yang dilekatkan imbuhan dari bahasa asing

Kata Kata dasar

Imbuhan

Awalan Akhiran

Objektif Objek -if

Objektivitas Objek -itas

Objektivisme Objek -isme

Tabel 8 Contoh kata yang dilekatkan imbuhan dari bahasa asing (lanjutan)

Objektivisasi Objek -isasi

Amoral Moral a-

Asosial Sosial a-

Devaluasi Evaluasi de-

Deregulasi Regulasi de-

Disharmoni Harmoni dis-

Disintegrasi Integrasi dis-

2.2.1 Awalan

Awalan-awalan pada kata serapan bahasa asing adalah sebagai berikut.

1. a- seperti pada amoral, asosial, anonym, asimetris. Awalan ini mengandung arti ‘tidak’ atau ‘tidak ber’.

2. anti- seperti pada antikomunis, antipemerintah, antiklimaks, antimagnet, antikarat yang artinya ‘melawan’ atau ‘bertentangan dengan’.

3. bi- misalnya pada bilateral, biseksual, bilingual, bikonveks. Awalan ini artinya ‘dua’.

4. de- seperti pada dehidrasi, devaluasi, dehumanisasi, deregulasi. Awalan ini artinya ‘meniadakan’ atau ‘menghilangkan’.

(32)

6. ekstra- seperti pada ekstra-universiter, ekstra-terestrial, ekstra linguistic, kadang juga dipakai pada kata-kata bahasa Indonesia sendiri. Contoh: ekstra-ketat, ekstra-hati-hati. Awalan ini artinya ‘tambah’, ‘diluar’, atau ‘sangat’.

7. hiper- misalnya pada hipertensi, hiperseksual, hipersensitif. Awalan ini artinya ‘lebih’ atau ‘sangat’.

8. in- misalnya pada kata inkonvensional, inaktif, intransitive. Awalan ini artinya ‘tidak’.

9. infra- misalnya pada infrastruktur, inframerah, infrasonic. Awalan ini artinya ‘di tengah’.

10. intra- misalnya pada intrauniversiter, intramolekuler. Awalan ini artinya ‘di dalam’.

11. inter- misalnya interdental, internasional, interisuler, yang biasa di Indonesiakan dengan antar-.

12. ko- misalnya pada kokulikuler, koinsidental, kopilot, kopromotor. Awalan ini artinya ‘bersama-sama’ atau ‘beserta’.

13. kontra- misalnya pada kontrarevolusi, kontradiksi, kontrasepsi. Awalan ini artinya ‘berlawanan’ atau ‘menentang’.

14. makro- misalnya pada makrokosmos, makroekonomi, makrolinguistik. Awalan ini artinya ‘besar’ atau ‘dalam arti luas’.

15. mikro- seperti pada mikroorganisme, mikrokosmos, microfilm. Awalan ini artinya ‘kecil’ atau ‘renik’.

16. multi- seperti pada multipartai, multijutawan, multikompleks, multilateral, multilingual. Awalan ini artinya ‘banyak’.

17. neo- seperti pada neokolonialisme, neofeodalisme, neorealisme. Awalan ini artinya ‘baru’; r. non- seperti pada nongelar, nonminyak, nonmigas, nonberas, nonOpec. Awalan ini artinya ‘bukan’ atau ‘tidak ber-‘.

2.2.2 Akhiran

(33)

1. –al misalnya pada actual, structural, emosional, intelektual. Kata-kata yang berakhiran –al ini tergolong kata sifat.

2. –asi/isasi misalnya pada afiksasi, konfirmasi, nasionalisasi, kaderisasi, komputerisasi. Akhiran tersebut menyatakan ‘proses menjadikan’ atau ‘penambahan’.

3. –asme misalnya pada pleonasme, aktualisme, sarkasme, antusiasme. Akhiran ini menyatakan kata benda.

4. –er seperti pada primer, sekunder, arbitrer, elementer. Akhiran ini menyatakan sifat.

5. –et seperti pada operet, mayoret, sigaret, novelete. Akhiran ini menyatakan pengertian ‘kecil’. Jadi operet itu ‘opera kecil’, novelet itu ‘novel kecil’.

6. –i/wi/iah misalnya pada hakiki, maknawi, asasi, asali, duniawi, gerejani, insani, harfiah, unsuriyah, wujudiyah. Akhiran-akhiran ini menyatakan sifat.

7. –if misalnya pada aktif, transitif, obyektif, agentif, naratif. Akhiran ini menyatakan sifat.

8. –ik 1 seperti pada linguistic, statistic, semantic, dedaktik. Akhiran ini menyatakan ‘benda’ dalam arti ‘bidang ilmu’; -ik 2 seperti pada spesifik, unik, karakteristik, fanatic, otentik. Akhiran ini menyatakan sifat.

9. -il seperti pada idiil, materiil, moril. Akhiran ini menyatakan sifat. Pada kata-kata lain kata-kata-kata-kata ini diganti dengan –al.

10. –is 1 pada kata praktis, ekonomis, yuridis, praktis, legendaries, apatis. Akhiran ini menyatakan sifat; -is 2 pada kata ateis, novelis, sukarnois, Marxis, prosaic, esei. Akhiran ini menyatakan orang yang mempunyai faham seperti disebut dalam kata dasar, atau orang yang ahli menulis dalam bentuk seperti yang disebut di dalam kata dasar.

11. -isme seperti pada nasionalisme, patriotisme, Hinduisme, bapakisme. Isme artinya ‘faham’.

12. –logi seperti pada filologi, sosiologi, etimologi, kelirumologi, -logi artinya ‘ilmu’.

(34)

14. –or seperti pada editor, operator, deklamator, noderator. Akhiran ini artinya orang yang bertindak sebagai orang yang mempunyai kepandaian seperti yang tersebut pada kata dasar.

15. –ur seperti pada donator, redaktur, kondektur, debitur, direktur. Akhiran ini seperti yang di atas menyatakan agentif atau pelaku.

16. –itas seperti pada aktualitas, objektivitas, universitas, produktivitas. Akhiran ini menyatakan benda.

Beberapa awalan dapat digolongkan sebagai imbuhan yang menyatakan pengertian negative, yaitu awalan a-, in-, non-, dis- dan beberapa awalan lain yang tak tercantum dalam daftar di atas seperti ab-, im-, il- dan akhiran –less, yang artinya ‘tidak’, ‘bukan’, ‘tanpa’, atau ‘tidak ber’. Kata sifat dibentuk dengan penambahan akhiran –al, er-, if-, dan –ik. Selain itu, dapat juga digunakan akhiran dari bahasa Arab yaitu –i, -wi, dan -iah.

(35)

Dardjowidjojo (Eds.), 1988:431). Daftar afiks, morfem, atau kata tersebut adalah sebagai berikut.

1. adi- seperti pada adidaya (super power), adikodrati (super natural), adikarya (masterpiece), adibusana (highfashion), dan adimarga (boulevard).

2. alih seperti pada alih aksara (transliteration), alih tulis (transcript), alih teknologi (transferoftechnology), dan alih bahasa (translate).

3. antar- seperti pada antarbangsa (internasional), antarnusa (interinsuler), antarbenua (intercontinental), dan antardepartemen (interdepartmental). 4. awa- seperti pada awahama (disinfect), awabau (deodorize), awahubung

(disconnect), awawarna (discolor), dan pengawasan (disimilasi).

5. bak- seperti pada bakruang (space-like), bakelektron (electron-like), bakintan (adamantine), dan bakagar (galantineous).

6. dur- seperti pada durjana (evildoer), dursila (immoral), durkarsa (malevolence, malice), dan durhaka (sinful).

7. lepas seperti pada lepas landas (takeoff) dan lepas pantai (offshore).

8. lir- seperti pada lirkaca (glassy), liragar (galantineous), liritan (adamantine), dan sang lir sari ‘yang seperti bunga’.

9. maha- seperti pada maharaja (kaisar, raja besar), mahaguru (guru besar), mahasiswa, Maha Esa, Mahaadil, Mahakuasa, dan Maha Pemurah.

10. mala- seperti pada malagizi (malnutrition), malabentuk (malformation), malakelola (mismanage), dan malapraktik (malpractice).

11. nara seperti pada narasumber (resource person), narapidana (convicted), narapraja (pegawai pemerintah), dan nararya (nonbleman).

12. nir- seperti pada nirnoda (stainless), nirnyawa (inanimate), niraksara (illiterate), nirgelar (non-degree), dan niranta (infinite).

13. pasca- seperti pada pascapanen (postharvest), pascasarjana (postgraduate), pascadoktor (postdoctoral), dan pascaperang (postwar).

(36)

15. pra- seperti pada prasejarah (prehistory), prakira (forecast), pratinjau (preview), dan prakata (foreword, preface).

16. pramu- seperti pada pramugari (stewardes), pramuwisata (tourist guide), pramuria (hostess), dan pramusiwi (babysitter).

17. purna- seperti pada purnawaktu (fulltime), purnakarya (pekerjaan yang telah dilakukan dengan baik), purnakaryawan (pensiunan pegawai negeri), dan purnawirawan (pensiunan ABRI).

18. rupa seperti pada rupa bola (speroid), rupa tangga (scalariform), dan rupa baji (cuneiform).

19. salah seperti pada salah cetak (misprint), salah hitung (miscalculate), salah ucap (misspel), dan salah paham (misunderstanding).

20. serba- seperti pada serbasama (homogeneous), serbabisa (all-round), serbaguna (multipurpose), serbaneka (multivarious), dan serbacuaca (allweather).

21. su- seperti pada sujana (orang baik lawannya durjana), susastra (sastra yang baik, indah), suganda (bau yang harum), sukarsa (good-will), dan sudarma (darma yang baik).

22. swa- seperti pada swakarsa (kemauan sendiri), swasembada (dapat memenuhi kebutuhan sendiri), swadaya (kekuatan sendiri), swakelola (dikelola sendiri), dan swapraja (daerah otonom).

23. tan- seperti pada tanlogam (non-metal), tansuku (non-syllabic), tanvokoid (non -vokoid), dan tanorganik (anorganic, inorganic).

24. tak- seperti pada taksosial (asocial), taknormal (abnormal), taksah (illegal), takhidup (nonliving), dan takmurni (impure).

25. tata seperti pada tata bahasa, tata hokum, tata kalimat, dan tata nama. 26. tuna- seperti pada tunakarya, tunawisma, tunasusila, dan tunanetra.

27. Sisipan –in- seperti pada tinambah (addent), kinurang (subtrahend), binagi (dividend), minantu (son-in-low), dan linambang (sign).

28. Sisipan –em- seperti pada gemaung (echoic), gemetar (tremulous), timambah (additive), dan temerang (shiny).

(37)

31. Awalan bilangan tri- seperti pada tridarma, triratna, dan tritunggal. 32. Awalan bilangan catur- seperti pada caturwarga.

33. Awalan bilangan panca- seperti pada pancamarga dan pancasila. 34. Awalan bilangan sad- seperti pada sadpada.

35. Awalan bilangan sapta- seperti pada saptaprasetya dan saptamarga. 36. Awalan bilangan hasta- seperti pada hastabrata.

37. Awalan bilangan nawa- seperti pada nawaaksara. 38. Awalan bilangan dasa- seperti pada dasasila. 39. Akhiran –wan/-man/-wati

Akhiran –wan ditambahkan pada kata-kata benda yang berakhir dengan vokal a seperti pada gunawan, bangsawan, hartawan, negarawan, sastrawan, dan sebagainya.

Untuk kata-kata yang berakhir dengan vokal i atau u dulu digunakan akhiran – man seperti pada seniman, budiman, dan hanuman. Sekarang varian –man sudah tidak produktif lagi, akhiran –wan digunakan juga untuk kata benda yang tidak berakhir dengan vokal a, contohnya rokhaniwan, bahariwan, dan ilmuwan. Terkadang ada kecenderungan untuk menambahkan vokal a pada kata yang berakhir dengan vokal i, misalnya industriawan.

2.3 Ejaan Bahasa Indonesia yang Disempurnakan (EYD)

Ejaan adalah kaidah tulis menulis baku yang didasarkan pada penggambaran bunyi. Ejaan tidak hanya mengatur cara menulis huruf, tetapi juga cara menulis kata dan cara menggunakan tanda baca (Kushartanti, 2005).

Ejaan yang digunakan dalam bahasa Indonesia saat ini dikenal dengan sebutan Ejaan yang Disempurnakan (EYD), yang terdiri atas empat bab, yaitu pemakaian huruf, penulisan kata, pemakaian tanda baca, dan penulisan unsur serapan.

(38)

singkatan dan akronim, angka dan bilangan, kata ganti –ku, -kau, -mu, dan –nya, kata sandang si dan sang.

2.3.1 Kata Berimbuhan

1. Imbuhan (awalan, sisipan, akhiran, serta gabungan awalan dan akhiran) ditulis serangkai dengan bentuk dasarnya. Misalnya ‘berjalan’, ‘berkelanjutan’, ‘mempermudah’, ‘gemetar’, ‘lukisan’, ‘kemauan’, dan ‘perbaikan’.

Catatan:

Imbuhan yang diserap dari unsur asing, seperti –isme, -man, -wan, atau –wi, ditulis serangkai dengan bentuk dasarnya. Misalnya ‘sukuisme’, ‘seniman’, ‘kamerawan’, dan ‘gerejawi’.

2. Bentuk terikat ditulis serangkai dengan kata yang mengikutinya. Misalnya ‘adibusana’, ‘aerodinamika’, ‘antarkota’, ‘antibiotik’, ‘awahama’, ‘biokimia’, ‘bikarbonat’, ‘dekameter’, ‘demoralisasi’, ‘dwiwarna’, ‘ekabahasa’, ‘ekstra -kurikuler’, ‘infrastruktur’, ‘inkonvensional’, ‘kontraindikasi’, ‘kosponsor’, ‘mancanegara’, ‘multilateral’, ‘narapidana’, ‘nonkolaborasi’, ‘paripurna’, ‘pascasarjana’, ‘pramusaji’, ‘prasejarah’, ‘proaktif’, ‘purnawirawan’, ‘sapta -krida’, ‘semiprofesional’, ‘subbagian’, ‘swadaya’, ‘telewicara’, ‘transmigrasi’, ‘tunakarya’, ‘tritunggal’, ‘tansuara’, dan ‘ultramodern’.

Catatan:

a. Bentuk terikat yang diikuti oleh kata yang berhuruf awal kapital atau singkatan yang berupa huruf kapital dirangkaikan dengan tanda hubung (-). Misalnya ‘non-Indonesia’, ‘pan-Afrikanisme’, ‘pro-Barat’, ‘non-ASEAN’, dan ‘anti-PKI’.

b. Bentuk maha yang diikuti kata turunan yang mengacu pada nama atau sifat Tuhan ditulis terpisah dengan huruf awal kapital. Misalnya:

1) Marilah kita bersyukur kepada Tuhan Yang MahaPengasih. 2) Kita berdoa kepada Tuhan Yang MahaPengampun.

c. Bentuk maha yang diikuti kata dasar yang mengacu pada nama atau sifat Tuhan, kecuali kata esa, ditulis serangkai. Misalnya:

(39)

2) Mudah-mudahan Tuhan Yang MahaEsa melindungi kita.

2.3.2 Gabungan Kata

1. Unsur gabungan kata yang lazim disebut kata majemuk, termasuk istilah khusus, ditulis terpisah. Misalnya ‘duta besar’, ‘kambing hitam’, ‘orang tua’, ‘simpang empat’, ‘mata acara’, ‘model linier’, ‘persegi panjang’, ‘rumah sakit jiwa’, ‘meja tulis’, dan ‘cendera mata’.

2. Gabungan kata yang dapat menimbulkan salah pengertian ditulis dengan membubuhkan tanda hubung (-) di antara unsur-unsurnya. Misalnya:

anak-istri pejabat anak istri-pejabat ibu-bapak kami ibu bapak-kami buku-sejarah baru buku sejarah-baru

3. Gabungan kata yang penulisannya terpisah tetap ditulis terpisah jika mendapat awalan atau akhiran. Misalnya ‘bertepuk tangan’, ‘menganak sungai’, ‘garis bawahi’, dan ‘sebar luaskan’.

4. Gabungan kata yang mendapat awalan dan akhiran sekaligus ditulis serangkai. Misalnya ‘dilipatgandakan’, ‘menggarisbawahi’, ‘menyebarluaskan’, ‘ peng-hancurleburan’, dan ‘pertanggungjawaban’.

5. Gabungan kata yang sudah padu ditulis serangkai. Misalnya ‘akhirulkalam’, ‘adakalanya’ , ‘Alhamdulillah’, ‘apalagi’, ‘astagfirullah’, ‘bagaimana’, ‘ bea-siswa’, ‘barangkali’, ‘belasungkawa’, ‘bilamana’, ‘bismillah’, ‘bumiputra’, ‘daripada’, ‘darmabakti’, ‘darmasiswa’, ‘darmawisata’, ‘dukacita’, ‘ halal-bihalal’, ‘hulubalang’, ‘kacamata’, ‘kasatmata’, ‘kepada’, ‘keratabasa’, ‘ kilo-meter’, ‘manakala’, ‘manasuka’, ‘mangkubumi’, ‘matahari’, ‘olahraga’, ‘ pada-hal’, ‘paramasastra’, ‘peribahasa’, ‘perilaku’, ‘puspawarna’, ‘radioaktif’, ‘ sapu-tangan’, ‘saptamarga’, ‘sebagaimana’, ‘sediakala’, ‘segitiga’, ‘sekalipun’, ‘silaturahmi’, ‘sukacita’, ‘sukarela’, ‘sukaria’, ‘syahbandar’, ‘titimangsa’, ‘waralaba’, ‘wassalam’, ‘wiraswasta’, ‘apabila’, ‘kosakata‘, dan ‘lokakarya’.

2.3.3 Kata depan

(40)

1) Di mana dia sekarang?

2) Kain itu disimpan di dalam lemari.

2.4 Text Preprocessing

Proses text preprocessing bertujuan untuk menghilangkan noise yang terdapat pada dokumen teks dan mengambil fitur atau parameter penting yang terdapat pada dokumen teks. Istilah lain dari proses ini adalah feature extractor. Tahapan-tahapan pada text preprocessing dapat dilihat pada Gambar 2.

1. Tokenizing

Tokenizing adalah pemotongan string input berdasarkan tiap kata yang menyusunnya. Pemecahan kalimat menjadi kata-kata tunggal dilakukan dengan men-scan kalimat dengan pemisah (delimeter) white space (spasi, tab, dan newline) (Triawati, 2009). Deretan karakter dikatakan satu token apabila diakhir karakter ada tanda titik (.), tanda koma (,), tanda spasi ( ), dan tanda enter, namun apabila diakhir karakter ada tanda minus (-), maka dianggap satu term. Misalnya ‘kunang-kunang’, kumpulan karakter tersebut dianggap satu token.

Gambar 2 Flowcharttextpreprocessing

(41)

Filtering adalah proses pengambilan kata-kata yang dianggap penting atau mempunyai makna saja. Pada proses ini kata-kata yang dianggap tidak mempunyai makna seperti kata sambung dihilangkan (Triawati, 2009). Pada proses ini digunakan daftar stopword yang tersimpan dalam suatu tabel basis data, yang nantinya digunakan sebagai acuan penghilangan kata. Daftar stopword berbeda untuk setiap bahasanya.

Stopword/stoplist adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words. Contoh stopwords adalah ‘yang’, ‘dan’, ‘di’, ‘dari’ dan seterusnya (Triawati, 2009).

Selain kata penghubung, stopwords bisa terdiri atas beberapa kata keterangan atau yang lainnya. Menurut Kabul (2012) contoh dari stopwords dalam bahasa Indonesia adalah sebagai berikut.

1. Kata penghubung (sesudah, selesai, sebelum) 2. Kata penghubung (bagi, dari, dengan, pada) 3. Kata keterangan (sangat, hanya, lebih) 4. Kata bilangan (berapa, banyak, sedikit) 5. Kata ganti (kami, mereka, kita, itu) 3. Case Folding

CaseFolding merupakan tahapan yang mengubah semua huruf dalam dokumen menjadi huruf kecil. Hanya huruf ‘a’ sampai dengan huruf ‘z’ yang diterima. Karakter selain huruf dihilangkan dan dianggap delimiter (pembatas) (Triawati, 2009).

2.5 LemmatizationTechnique in Bahasa: Indonesian Language

(42)

Lema adalah bentuk dasar dari sebuah kata yang memiliki arti tertentu berdasar pada kamus (Suhartono, 2014).

Algoritme lemmatization didasarkan pada algoritme Enhanced Confix-Stripping Stemmer (ECS) hasil pengembangan Arifin, Mahendra, dan Ciptaningtyas. Algoritme ECS ini memiliki tingkat akurasi yang tinggi, khususnya untuk subjek stemming bahasa Indonesia. ECS merupakan algoritme yang dikembangkan dari algoritme Confix-Stripping Stemmer yang dikembangkan oleh Asian, Nazief, Adriani, dan Tahaghoghi (2007). Pengembangan tersebut dilakukan dengan memperbaiki aturan-aturan dan menambahkan langkah suffix backtracking untuk meningkatkan tingkat akurasi.

Algoritme lemmatization tidak melakukan pengembangan dari algoritme ECS karena keduanya memiliki tujuan yang berbeda, namun keduanya memiliki kemiripan pada beberapa proses, contohnya, removal of affix, yaitu proses untuk mendapatkan bentuk dasar lema.

Terdapat beberapa kasus yang tidak dapat ditangani oleh algoritme ECS, sehingga lemmatization ini adalah solusi untuk kasus-kasus tersebut, diantaranya:

1. Ineffecticerules, khususnya aturan ‘meny-’ dan ‘peny-’.

Contohnya kata ‘penyanyi’ dan ‘menyatakan’ tidak dapat dilakukan stemming. 2. Compoundword, seperti kata ‘diberitahukan’ tidak dapat dilakukan stemming. 3. Overstemming, seperti kata ‘penyidikan’ apabila dilakukan stemming

menghasilkan kata ‘sidi’.

(43)

START

(44)

Tahapan proses-proses yang dilakukan pada algoritme lemmatization ini dapat dilihat pada Gambar 3. Tahapan-tahapan tersebut adalah sebagai berikut.

1. DictionaryLookup

Proses ini dilakukan untuk mencari lema pada kamus, yang dimaksud kamus di sini ialah daftar kata dasar bahasa Indonesia. Jika lema ditemukan, proses dihentikan kemudian lema dikembalikan sebagai hasil dari proses. Proses ini dilakukan pada setiap lema yang dicari pada kamus untuk mengembalikan lema tersebut sebagai hasilnya.

2. RulePrecedenceCheck

Proses ini dilakukan untuk menentukan urutan proses-proses lain yang harus dilakukan. Proses prefix removal dilakukan sebelum suffix removal jika memenuhi kombinasi berikut.

a. ‘be-’ dan ‘-lah’ b. ‘be-’ dan ‘-an’ c. ‘me-’ dan ‘-i’ d. ‘di-’ dan ‘-i’ e. ‘pe-’ dan ‘-i’ f. ‘te-’ dan ‘-i’

Jika kata yang dimasukkan mengandung salah satu kombinasi prefiks-sufiks di atas, maka urutan proses selanjutnya derivational prefix removal, recoding, inflectional suffix removal, dan derivational suffix removal, namun jika kata yang dimasukkan mengandung afiks yang tidak sesuai dengan kombinasi di atas, maka proses infectional suffix removal dan derivational suffix removal dilakukan terlebih dahulu.

3. InflectionalSuffixRemoval

(45)

menghilangkan possessive pronoun. Misalnya kata ‘bajukupun’ mengandung partikel ‘-pun’ dan possessive pronoun ‘-ku’. Pada kata tersebut partikel dihilangkan terlebih dahulu sehingga menghasilkan kata ‘bajuku’, kemudian dilakukan proses dictionary lookup namun pada proses dictionarylookup kata ‘bajuku’ tidak ditemukan, selanjutnya possessive pronoun ‘-ku’ dihilangkan sehingga menghasilkan kata ‘baju’.

4. DerivationalSuffixRemoval

Pada proses ini dilakukan penghilangan derivational suffix(‘-i’, ‘-kan’, ‘-an’) pada kata. Derivational suffix selalu ditambahkan pada suatu kata sebelum ditambahkan inflectional suffix, sehingga proses ini akan selalu dilakukan setelah penghilangan inflectional suffix (kecuali jika kata tidak mengandung inflectional suffix). Misalnya pada kata ‘nyalakan’ mengandung derivational suffix ‘-kan’, imbuhan tersebut akan dihilangkan sehingga menghasilkan kata ‘nyala’.

5. DerivationalPrefixRemoval

Terdapat dua macam derivationalprefix, plain(‘di-’, ‘ke-’, ‘se-’) dan complex (‘me-’, ‘be-’, ‘pe-’, ‘te-’). Pada prefiks plain, proses penghilangan ini dilakukan dengan menghilangkan prefiks plain tersebut (Contoh pada kata ‘dibawa’, ‘sejalan’, ‘ketutup’), sedangkan untuk prefiks complex, terdapat beberapa aturan yang harus dipenuhi yang dapat dilihat pada Tabel 9 hingga Tabel 12.

Tabel 9 Aturan prefiks ‘be-’

Aturan Input Output

1 berV… ber-V… | be-rV…

2 berCAP… ber-CAP… dimana C != r dan P != er

3 berCAerV… ber-CAerV… dimana C != r

4 Belajar bel-ajar

(46)

Tabel 10 Aturan prefiks ‘te-’

Aturan Input Output

6 terV… ter-V… | te-rV…

7 terCerV… ter-CerV... dimana C != r

8 terCP… ter-CP… dimana C != r dan P != er

Tabel 10 Aturan prefiks ‘te-’ (lanjutan)

Aturan Input Output

9 teC1erC2 te-C1erC2... dimana C1 != r

10 terC1erC2… ter-C1erC2… dimana C1 != r

Tabel 11 Aturan prefiks ‘me-’

Aturan Input Output

11 me{l | r | w | y}V… me-{l | r | w | y}V…

12 mem{b | f | v}… mem-{b | f | v}…

13 mempe… mem-pe…

14 mem{rV | V}… me-m{rV | V}… | me-p{rV | V}…

15 men{c | d | j | s | z}… men-{c | d | j | s | z}…

16 menV… me-nV… | me-tV…

17 meng{g | h | q | k}… meng-{g | h | q | k}…

18 mengV… meng-'e') V… | meng-kV… | (mengV… jika V =

19 menyV… meny-sV…

(47)

Tabel 12 Aturan prefiks ‘pe-’

Aturan Input Output

21 pe{w | y}V… pe-{w | y}V…

22 perV… per-V… | pe-rV…

23 perCAP… per-CAP… dimana C != r dan P != er

24 perCAerV… per-CAerV… dimana C != r

25 pem{b | f | v}… pem-{b | f | v}…

26 pem{rV | V}… pe-m{rV | V}… | pe-p{rV | V}…

27 pen{c | d | j | z}… pen-{c | d | j | z}…

28 penV… pe-nV… | pe-tV…

29 pengC… peng-C…

30 pengV… peng-V… | peng-kV… | (pengV-… jika V = e)

Tabel 12 Aturan prefiks ‘pe-’ (lanjutan)

Aturan Input Output

31 penyV… peny-sV…

32 pelV… pe-lV… kecuali 'pelajar' return 'ajar'

33 peCerV… per-erV… dimana C != {r | w | y | l | m | n}

34 peCP… pe-er CP… dimana C != {r | w | y | l | m | n} dan P !=

35 peC1erC2 pe-C1erC2… dimana C1 != {r | w | y | l | m | n}

V untuk huruf vokal (a, i, u, e, o), C untuk huruf konsonan, A merepresentasikan setiap karakter pada alfabet (a-z), dan P merepresentasikan fragment pada suatu kata, seperti ‘er’.

(48)

namun ada batasan yang membatasi kombinasi tersebut. Kombinasi yang diperbolehkan pada bahasa Indonesia adalah sebagai berikut.

a. ‘di’, diikuti oleh jenis prefiks ‘pe’ atau ‘be’ Contoh: ‘diperlakukan’ dan ‘diberlakukan b. ‘ke’, diikuti oleh jenis prefiks ‘be’ atau ‘te’

Contoh: ‘kebersamaan’ dan ‘keterlambatan’ c. ‘be’, diikuti oleh jenis prefiks ‘pe’

Contoh: ‘berpengalaman’

d. ‘me’, diikuti oleh jenis prefiks ‘pe’ atau ‘te’ atau ‘be’

Contoh: ‘mempersulit’, ‘menertawakan’, dan ‘membelajarkan’ e. ‘pe’, diikuti oleh jenis prefiks ‘be’

Contoh: ‘pemberhentian’ atau untuk kasus tertentu seperti ‘tertawa’ (‘penertawaan’).

Algoritme lemmatization melakukan penghapusan pada tiga prefiks dan tiga sufiks, dimana tiga sufiks yang dimaksud adalah kata yang mengandung derivational suffix, possessive pronoun, dan particle suffix type, sedangkan untuk imbuhan prefiks mengikuti aturan kombinasi di atas.

Terdapat beberapa pasangan imbuhan yang tidak diperbolehkan yang dapat dilihat pada Tabel 13.

Tabel 13 Pasangan imbuhan yang tidak diperbolehkan

Prefiks Sufiks

be- -i

di- -an

ke- -i, -kan

me- -an

se- -i, -kan

(49)

Kata yang valid terdiri atas dua prefiks, dan tiga sufiks (Arifin dan Setiono, 2002), namun pernyataan tersebut tidak berlaku pada bahasa Indonesia, misalnya pada kata ‘sepengetahuan’ yang terdiri atas prefiks ‘se-‘, ‘pe-‘, dan ‘ke-’. Mula-mula prefiks ‘se-‘ dihilangkan sehingga menghasilkan kata ‘pengetahuan’. Selanjutnya ‘pe-‘ juga dilakukan penghapusan sehingga menghasilkan kata ‘ketahuan’. Terakhir dilakukan penghapusan ‘ke-‘, sehingga menghasilkan kata ‘tahuan’. Dengan algoritme lemmatization ini membutuhkan tiga langkah untuk menemukan bentuk dasar dari kata tersebut.

6. Recoding

Jika setelah dilakukan proses removalaffix suatu kata masih belum ditemukan bentuk dasarnya, dapat dilakukan transformasi. Misalnya pada kata ‘menanya’ berubah menjadi kata ‘me-nanya’ yang tidak ditemukan bentuk dasarnya, hal ini terjadi karena kata dasar ‘tanya’ telah berubah menjadi kata ‘nanya’ yang dikombinasikan dengan prefiks ‘me-‘. Selain itu, terdapat kasus dimana huruf pertama ‘n’, misalnya kata ‘nama’ pada kata ‘menamai’. Tujuan dari proses recoding adalah untuk menangani semua kemungkinan bentuk kata yang sudah ditransformasi.

Misalnya pada kata ‘berima’ (in rhythm), terdiri atas prefiks ‘be-‘, untuk mengikuti aturan ‘berV…’ digunakan aturan penghapusan afiks ‘be’ (Tabel 9). Defaultoutputuntuk aturan ini adalah hasil dari penghapusan prefiks ‘ber-‘ dari kata tersebut, sehingga menghasilkan kata ‘ima’, sedangkan kata tersebut tidak ditemukan dalam bentuk dasar bahasa Indonesia. Pada proses ini dilakukan pemeriksaan recodingpath, misalnya ‘berV… menjadi ‘be –rV…’, kemudian dilakukan pengembalian kata sebelum removal prefix (dari ‘ima’ menjadi ‘berima’), selanjutnya diterapkan pada recoding rule‘be – rV’ (dari ‘berima’ menjadi ‘rima’) sehingga menghasilkan kata ‘rima’.

7. SuffixBacktracking

(50)

sudah dihilangkan dikembalikan, kemudian prefix removal dan recoding dilakukan. Jika tidak ditemukan bentuk dasarnya, prefiks dan derivationalsuffix yang sudah dihilangkan dikembalikan. Jika bentuk dasar masih belum ditemukan, prefix, derivational suffix, dan possessive pronoun dikembalikan. Jika belum berhasil, tahapan terakhir adalah dengan mengembalikan partikel yang sudah dihilangkan.

Terdapat kasus istimewa pada proses pengembalian imbuhan, ketika derivational suffix ‘-kan’ dihilangkan, kemudian ‘-k’ dikembalikan. Jika hasilnya gagal, selanjutnya ‘-an’ dikembalikan. Misalnya kata ‘pemberhentiannyapun’, asumsikan kata tersebut tidak ditemukan bentuk dasarnya, proses pengembaliannya adalah sebagai berikut.

a. Pengembalian prefiks: ‘pemberhenti’, kemudian dilakukan derivational prefixremoval.

- Prefiks ‘pe-‘ dihilangkan, menghasilkan kata ‘berhenti’ - Prefiks ‘be-‘ dihilangkan, menghasilkan kata ‘henti’

b. Pengembalian derivational suffix: ‘pemberhentian’, kemudian dilakukan derivationalprefixremoval.

- Prefiks ‘pe-‘ dihilangkan, menghasilkan kata ‘berhentian’ - Prefiks ‘be-‘ dihilangkan, menghasilkan kata ‘hentian’

c. Pengembalian possessive pronoun: ‘pemberhentiannya’, kemudian dilakukan derivationalprefixremoval.

- Prefiks ‘pe-‘ dihilangkan, menghasilkan kata ‘berhentiannya’ - Prefiks ‘be-‘ dihilangkan, menghasilkan kata ‘hentiannya’

d. Pengembalian partikel: ‘pemberhentiannyapun’, kemudian dilakukan derivationalprefixremoval.

(51)

8. HyphenationChecking

Dalam bahasa Indonesia terdapat kata ulang dengan bentuk yang sama (repetitive word) yang dituliskan dengan simbol ‘-‘, kata tersebut merepresentasikan pluralizedformmisalnya kata ‘bola-bola’, atau kata ‘bolak -balik’. Kata ‘kuda-kuda’ merepresentasikan pluralized form dari kata ‘kuda’ yang dilakukan proses transformasi ke bentuk singular. Cara yang dilakukan pada proses ini adalah dengan melihat kata dan membandingkannya. Pluralized forms biasanya memiliki identical word (setelah affix removal). Kata ulang yang merepresentasikan makna tunggal dibiarkan (tidak dilakukan proses ini) karena kata tersebut sudah menjadi lema pada kamus. Misalnya kata ‘perundang-undangan’ dihilangkan afiksnya, sehingga menghasilkan kata ‘undang-undang’. Jika ditemukan hyphenate character (seperti ‘-‘), kata tersebut dipisah menjadi dua bagian dan keduanya melalui proses pemeriksaan. Pada kasus ini, kata ‘undang’ adalah hasil lemmatization dari kata ulang ‘perundang-undangan’.

2.6 PDFBox

PDFBox merupakan sebuah library PDF pada bahasa pemrograman Java yang digunakan untuk membaca dan membuat file PDF. Library ini dianggap cukup lengkap untuk melakukan pengolahan pada file PDF. Beberapa fungsi lain dari library PDFBox adalah sebagai berikut.

1. Ekstraksi file PDF ke dalam teks.

2. Menggabungkan dokumen-dokumen PDF. 3. Enkripsi/dekripsi dokumen PDF.

4. Integrasi searchengineLucene.

5. Memenuhi bentuk data FDF (Forms Data Format) dan XFDF (XML Forms DataFormat).

(52)

Salah satu fungsi dari library ini ialah ekstraksi konten dari file PDF menjadi teks. Untuk dapat melakukan ekstraksi teks pada file PDF, pertama-tama harus dipastikan bahwa library telah terpasang pada aplikasi. Library PDFBox dapat di-download di situs (http://pdfbox.apache.org/). Berikut merupakan cara penggunaan library ini untuk melakukan ekstraksi teks pada file PDF.

PDFTextStripper pdfStripper = new PDFTextStripper(); PDDocument pdDoc = PDDocument.load(file);

String parsedText = pdfStripper.getText(pdDoc);

Keterangan.

File merupakan lokasi dan nama file per yang dilakukan ekstraksi teks;

parsedText merupakan teks hasil ekstraksi dari file PDF.

2.7 Bahasa Pemrograman Java

Java adalah bahasa pemrograman berorientasi objek (Object Oriented Programming) pengembangan dari bahasa C++ yang dirancang untuk memberikan kemudahan peningkatan pemanfaatan setiap baris code untuk pengembangan atau pembangunan suatu program atau aplikasi, serta memberikan portabilitas yang tinggi untuk setiap baris code yang ditulis oleh developer untuk dapat dieksekusi pada setiap mesin tanpa memandang latar belakang platform mesin tersebut. Dengan memanfaatkan sebuah mesin virtual JVM (Java Virtual Machine), setiap baris code yang sudah dieksekusi berupa bytecode diinterpretasikan oleh JVM sehingga memungkinkan bytecode hasil kompilasinya dapat dijalankan di berbagai platform tanpa harus menulis ulang setiap baris code.

2.7.1 Class

Gambar

Gambar 1  Model Waterfall
Tabel 4.
Tabel 12  Aturan prefiks ‘pe-’ (lanjutan)
Tabel 15  Proses pemotongan imbuhan
+7

Referensi

Dokumen terkait

Kerupuk yang direkomendasikan adalah kerupuk F4, yaitu kerupuk dengan penambahan tepung duri 10% dan bubur rumput laut 15% karena memiliki kadar kalsium dan

Namun pada tepi kain sarung diberi jahitan tiga lapis kain sarung yang berbeda warna sehingga kelihatannya memakai empat lapis kain sarung, yaitu sarung pertama dan

Implikasi yuridis perumusan pertanggungjawaban pidana bagi korporasi dalam UU Kepabeanan antara lain belum terjaminnya fungsi hukum sebagai social control dalam

2. Melakukan perbuatan sebagaimana yang dikate- gorikan dalam Pasal 9 UU No. 26 tahun 2000 tentang Kejahatan terhadap kemanusiaan sebagaimana dimaksud dalam Pasal 7 huruf b adalah

Hasil dari penelitian ini menunjukkan bahwa pada persentase abu batu (stone dust/quarry dust) sebesar 15%, nilai batas cair, nilai batas plastis tanah, nilai kadar

Subjek dan objek penelitian tersebut adalah adegan (scane) atau dialog dalam film Surga yang tak Dirindukan. Kesamaan pada penelitian ini adalah sama-sama mengambil Film yang

Basit e ilme (kiri kesiti gibi) ve e ilme momenti ile eksenel eksenel basınç kuvveti basınç kuvveti etkisindeki kesitlerdeki (kolon kesiti gibi) moment ta ıma kapas.

Make a presentation about website www.busytrade.com with the following key points: - What E-commerce model does this website adopt?. - What products or services does the company