Judul
: Aplikasi Pengecekan Ejaan Kata Berimbuhan Dalam Bahasa Indonesia Berbasis Web
Nama
: Kharisma Sadewi Satria
NIM
: 1208605004
Pembimbing I
: I Made Widiartha,S.Si.,M.Kom.
Pembimbing II
: I Putu Gede Hendra Suputra,S.Kom.,M.Kom. ABSTRAK
Penulisan kata berimbuhan dalam Bahasa Indonesia saat ini sangat penting terutama dalam pengetikan dokumen bersifat formal maupun informal pada komputer. Penulisan yang benar akan membuat pembacaan atau pengejaan dan pengartian yang benar pula. Pada penelitian ini bertujuan untuk membangun sistem yang bisa memberikan saran dari hasil suatu kata berimbuhan yang sesuai dengan aturan penulisannya dalam Bahasa Indonesia. Untuk menentukan saran kata berimbuhan yang benar maka sistem harus bisa mendapatkan imbuhan dan kata dasar dari kata berimbuhan yang diinputkan user. Salah satu cara untuk mendapatkan imbuhan dan kata dasar adalah dengan menerapkan algoritma string matching. Algoritma yang digunakan pada penelitian ini adalah algoritma string matching KMP (Knuth-Morris-Pratt). Algoritma KMP menentukan imbuhan dengan melakukan proses string matching antara inputan user dengan data imbuhan dan kata dasar dari database. Dari hasil pengujian akurasi untuk mendapatkan imbuhan dan kata dasar dengan algoritma KMP adalah 81.94%. Nilai tersebut merupakan hasil imbuhan dan kata dasar dari sistem yang sudah sesuai dengan kaidah penulisan kata berimbuhan. Penelitian ini masih memiliki kelemahan pada penyaranan kata yang memiliki lebih dari 1 hasil yang benar. Maka dari itu, diperlukan penambahan kondisi untuk mengecek saran kata sebagai antisipasi adanya saran yang mempunyai lebih dari 1 kata berimbuhan yang benar sehingga tidak menimbulkan keambiguan dalam pemberian saran.
Kata Kunci: pengecekan ejaan, kata berimbuhan, string matching, algoritma KMP.
Title
: Web-Based Application of Spelling Checker of Indonesian Affixed Words
Name
: Kharisma Sadewi Satria
Registration
: 1208605004
First Supervisor : I Made Widiartha,S.Si.,M.Kom. Second Supervisor: I Putu Gede Hendra Suputra,S.Kom.,M.Kom.
ABSTRACT Writing the correct spelling of affixed words in Indonesian is very important today, especially in typing both formal and informal document on the computer. The correct typing will make the correct reading or spelling and meanings too. This research aimed to develop a system that can give advice on the results of affixed words that meet rules of writing in Indonesian Language. To determine the correct affixed word suggestions, the system should be able to get affixes and the roots of the affixed words the user entered. One way to get affixes and the roots is to implement a string matching algorithm. The algorithm used in this study was the string matching algorithm of KMP (Knuth-Morris-Pratt). KMP algorithm determines affixes by performing string matching process between the user input with the data of affixes and the roots from the database. The accuracy of the test results showed that in order to get affixes and root words with KMP algorithm was 81.94%. The value was the result of affixes and the roots of the system that is in conformity with the rules of writing affixed words in Indonesian. This study has limitations on the suggestion of the words that have more than one correct result. Therefore, it is necessary to additional conditions, to check the word suggestions in anticipation of the availability of word suggestions that have more than one correct affixed word so as to avoid ambiguity in the word suggestions.
Keywords: spell checking, affixed word, string matching, KMP algorithm.
KATA PENGANTAR Puji syukur penulis panjatkan kehadapan Tuhan Yang Maha Esa, karena berkat rahmat dan karunia-Nya, Laporan Tugas Akhir yang berjudul “Aplikasi Pengecekan Kata Berimbuhan Dalam Bahasa Indonesia Berbasis Web” ini dapat diselesaikan tepat pada waktunya. Secara khusus penulis mengucapkan terima kasih dan penghargaan kepada berbagai pihak yang telah membantu dalam penyelesaian Laporan Tugas Akhir ini, yaitu : 1.
Bapak I Made Widiartha,S.Si.,M.Kom sebagai Pembimbing I yang telah banyak
membantu
membimbing
dan
memberikan
saran
untuk
penyempurnaan tugas akhir ini; 2.
Bapak I Putu Gede Hendra Suputra,S.Kom.,M.Kom sebagai Pembimbing II yang telah bersedia meluangkan waktu untuk mengoreksi serta memberikan saran selama penyusunan tugas akhir ini;
3.
Bapak dan Ibu dosen di Jurusan Ilmu Komputer yang telah meluangkan waktu turut memberikan saran dan masukan dalam penyempurnaan penelitian ini;
4.
Orang Tua, teman - teman di Jurusan Ilmu Komputer, dan Semua pihak yang telah memberikan dukungan moral dan semangat dalam penyelesaian penelitian ini;
Disadari pula bahwa tentu skripsi ini masih mengandung kelemahan dan kekurangan sehingga penulis berharap skripsi ini mampu memberikan inspirasi kepada pembaca dan menemukan ide-ide baru yang dapat dibuat menjadi topik penelitian selanjutnya. Bukit Jimbaran, Penyusun,
Kharisma Sadewi Satria
DAFTAR ISI SURAT PERNYATAAN KEASLIAN KARYA ILMIAHError! Bookmark not defined. LEMBAR PENGESAHAN TUGAS AKHIR ....... Error! Bookmark not defined. KATA PENGANTAR ........................................................................................ iv DAFTAR ISI ....................................................................................................... v DAFTAR GAMBAR ........................................................................................ viii DAFTAR TABEL ............................................................................................. 11 BAB I .................................................................. Error! Bookmark not defined. PENDAHULUAN ............................................... Error! Bookmark not defined. 1.1
Latar Belakang....................................... Error! Bookmark not defined.
1.2
Rumusan Masalah.................................. Error! Bookmark not defined.
1.3
Tujuan Penelitian ................................... Error! Bookmark not defined.
1.4
Batasan Masalah .................................... Error! Bookmark not defined.
1.5
Manfaat Penelitian ................................. Error! Bookmark not defined.
1.6
Metodelogi Penelitian ............................ Error! Bookmark not defined.
1.6.1.
Desain Sistem ................................. Error! Bookmark not defined.
1.6.2.
Pengumpulan Data .......................... Error! Bookmark not defined.
1.6.3.
Pembangunan Sistem ...................... Error! Bookmark not defined.
1.6.4.
Metode Yang Digunakan ................ Error! Bookmark not defined.
1.6.5.
Pengujian Sistem ............................ Error! Bookmark not defined.
BAB II ................................................................. Error! Bookmark not defined. TINJAUAN PUSTAKA....................................... Error! Bookmark not defined. 2.1.
String Matching ..................................... Error! Bookmark not defined.
2.1.1 Algoritma String matching KMP (Knutt-Morris-Pratt)................ Error! Bookmark not defined. 2.3.
UML (Unified Modeling Language)....... Error! Bookmark not defined.
2.4.
Bahasa Pemrograman PHP dan Database MySQLError! Bookmark not
defined.
2.6. Kata Imbuhan ........................................... Error! Bookmark not defined. 2.7.
Tinjauan Studi ....................................... Error! Bookmark not defined.
BAB III................................................................ Error! Bookmark not defined. ANALISIS DAN PERANCANGAN ................... Error! Bookmark not defined. 3.1.
Lingkungan Penelitian ........................... Error! Bookmark not defined.
3.2.
Metode Penyelesaian ............................. Error! Bookmark not defined.
3.3.
Analisis Kebutuhan Sistem .................... Error! Bookmark not defined.
3.4.
Analisis Aturan Penulisan Kata BerimbuhanError!
Bookmark
not
defined. 3.5.
Analisis Metode Pada Sistem ................. Error! Bookmark not defined.
3.6.
Desain Umum Sistem ............................ Error! Bookmark not defined.
3.7.
Rancangan Sistem.................................. Error! Bookmark not defined.
3.7.1.
Use Case Diagram .......................... Error! Bookmark not defined.
3.7.2.
Activity Diagram ............................ Error! Bookmark not defined.
3.7.3.
Class Diagram ................................ Error! Bookmark not defined.
3.7.4.
Sequence Diagram .......................... Error! Bookmark not defined.
3.8.
Rancangan Tabel Data Sistem ................ Error! Bookmark not defined.
3.9.
Rancangan Antar Muka ......................... Error! Bookmark not defined.
3.9.1.
Rancangan Antar Muka Halaman UserError!
Bookmark
not
defined. 3.9.2.
Rancangan Antar Muka Halaman AdministratorError! Bookmark
not defined. 3.10. Skenario Pengujian Sistem ..................... Error! Bookmark not defined. 3.10.1. Static Testing .................................. Error! Bookmark not defined. 3.10.2. Blackbox Testing ............................ Error! Bookmark not defined. 3.10.3. Whitebox Testing ............................ Error! Bookmark not defined. 3.10.4. Kompleksitas Waktu Algoritma KMPError!
Bookmark
not
defined. 3.10.5. Stress Testing .................................. Error! Bookmark not defined.
3.10.6. Pengujian Akurasi........................... Error! Bookmark not defined. BAB IV ............................................................... Error! Bookmark not defined. HASIL DAN PEMBAHASAN ............................ Error! Bookmark not defined. 4.1.
Lingkungan Implementasi ...................... Error! Bookmark not defined.
4.2.
Pengumpulan Data Inputan .................... Error! Bookmark not defined.
4.3.
Implementasi Tabel Data ....................... Error! Bookmark not defined.
4.4.
Implementasi String Matching KMP ...... Error! Bookmark not defined.
4.5.
Implementasi Aturan Penulisan Kata BerimbuhanError! Bookmark not
defined. 4.6.
Implementasi Antar Muka...................... Error! Bookmark not defined.
4.7.
Pengujian Sistem ................................... Error! Bookmark not defined.
4.7.1.
Static Testing .................................. Error! Bookmark not defined.
4.7.2.
Blackbox Testing ............................ Error! Bookmark not defined.
4.7.3.
Whitebox Testing ............................ Error! Bookmark not defined.
4.7.4.
Stress Testing .................................. Error! Bookmark not defined.
4.7.5.
Kompleksitas Waktu Algoritma KMPError!
Bookmark
not
defined. 4.7.6.
Pengujian Akurasi........................... Error! Bookmark not defined.
BAB V................................................................. Error! Bookmark not defined. PENUTUP ........................................................... Error! Bookmark not defined. 1.1.
Kesimpulan............................................ Error! Bookmark not defined.
5.2.
Saran ..................................................... Error! Bookmark not defined.
DAFTAR PUSTAKA .......................................... Error! Bookmark not defined. LAMPIRAN - LAMPIRAN ................................. Error! Bookmark not defined. 1.
Hasil Proses String Matching KMP & Saran Kata Berimbuhan ..... Error!
Bookmark not defined. 2.
Tabel hasil Stress Testing Halaman String Matching KMP............ Error!
Bookmark not defined. 3.
Sourcecode Proses String Matching KMP untuk Whitebox Testing Error!
Bookmark not defined.
DAFTAR GAMBAR Gambar 2.1. Flowchart perhitungan pinggiran (PreKMP)Error! Bookmark not defined. Gambar 2.2. Flowchart algoritma KMP ............... Error! Bookmark not defined. Gambar 2.3. Contoh Use Case Diagram .............. Error! Bookmark not defined. Gambar 2.4. Contoh Activity Diagram ................. Error! Bookmark not defined. Gambar 2.5. Contoh Class Diagram .................... Error! Bookmark not defined. Gambar 2.6. Contoh Sequence Diagram............... Error! Bookmark not defined. Gambar 3.1. Flowchart Algoritma String Matching KMP pada aplikasi ...... Error! Bookmark not defined. Gambar 3.2. Arsitektur Aplikasi........................... Error! Bookmark not defined. Gambar 3.3. Use Case Diagram Aplikasi Pengecekan KBError! Bookmark not defined. Gambar 3.4. Activity Diagram Autentifikasi Login AdminError! Bookmark not defined. Gambar 3.5. Activity Diagram Tambah Kata DasarError!
Bookmark
not
defined. Gambar 3.6. Acitvity Diagram Edit & Update Kata DasarError! Bookmark not defined. Gambar 3.7. Activity Diagram Hapus Kata Dasar . Error! Bookmark not defined. Gambar 3.8. Activity Diagram Tambah Aturan KBError!
Bookmark
not
defined. Gambar 3.9. Activity Diagram Edit Update Aturan KBError!
Bookmark
not
Bookmark
not
defined. Gambar 3.10. Activity Diagram Hapus Data Aturan KBError! defined. Gambar 3.11. Activity Diagram Tambah Daftar KBError! defined.
Bookmark
not
Gambar 3.12. Activity Diagram Edit & Update Daftar Kata Berimbuhan .... Error! Bookmark not defined. Gambar 3.13. Activity Diagram Proses Hapus Daftar Kata Berimbuhan ...... Error! Bookmark not defined. Gambar 3.14. Activity Diagram Hapus Hasil Inputan UserError! Bookmark not defined. Gambar 3.15. Activity Diagram Update Nilai Kesamaan Hasil Pengecekan. Error! Bookmark not defined. Gambar 3.16. Activity Diagram Edit & Update Hasil Pengecekan ............... Error! Bookmark not defined. Gambar 3.17. Activity Diagram User Tambah InputanError!
Bookmark
not
Bookmark
not
defined. Gambar 3.18. Class Diagram Aplikasi Pengecekan KBError! defined. Gambar 3.19. Sequence Diagram Sistem Login ... Error! Bookmark not defined. Gambar 3.20. Sequence Diagram Tambah KD ..... Error! Bookmark not defined. Gambar 3.21. Sequence Diagram Edit & Update KDError!
Bookmark
not
defined. Gambar 3.22. Sequence Diagram Hapus KD........ Error! Bookmark not defined.
Gambar 3.23. Sequence Diagram Tambah Aturan KBError!
Bookmark
not
defined. Gambar 3.24. Sequence Diagram Edit & Update Aturan KBError!
Bookmark
not defined. Gambar 3.25. Sequence Diagram Hapus Aturan KBError!
Bookmark
not
Bookmark
not
defined. Gambar 3.26. Sequence Diagram Tambah Daftar KBError! defined. Gambar 3.27. Sequence Diagram Edit & Update Daftar KBError!
Bookmark
not defined. Gambar 3.28. Sequence Diagram Hapus Daftar KBError!
Bookmark
not
defined. Gambar 3.29. Sequence Diagram Hapus Hasil Inputan UserError!
Bookmark
not defined. Gambar 3.30. Sequence Diagram Edit & Update Hasil Inputan User .......... Error! Bookmark not defined. Gambar 3.31. Sequence Diagram Update Nilai Hasil Inputan User ............. Error! Bookmark not defined. Gambar 3.32. Sequence Diagram Input KB Oleh UserError!
Bookmark
not
Bookmark
not
defined. Gambar 3.33. Rancangan Antar Muka Halaman KMPError! defined. Gambar 3.34. Rancangan Antar Muka Menu Aturan KBError! Bookmark not defined. Gambar 3.35. Rancangan Antar Muka Tambah Aturan KBError! Bookmark not defined. Gambar 3.36. Rancangan Antar Muka Menu Kata DasarError! Bookmark not defined. Gambar 3.37. Rancangan Antar Muka Tambah Kata DasarError! Bookmark not defined.
Gambar 3.38. Rancangan Antar Muka Menu Daftar Kata Berimbuhan........ Error! Bookmark not defined. Gambar 3.39. Rancangan Antar Muka Tambah Daftar Kata Berimbuhan .... Error! Bookmark not defined. Gambar 3.40. Rancangan Antar Muka Hasil Pengecekan KMPError! Bookmark not defined. Gambar 4.1. Basis Data Aturan Penulisan KB ...... Error! Bookmark not defined. Gambar 4.2. Basis Data Kamus Kata Dasar .......... Error! Bookmark not defined. Gambar 4.3. Basis Data Daftar Kata Berimbuhan . Error! Bookmark not defined. Gambar 4.4. Basis Data Hasil Proses KMP .......... Error! Bookmark not defined. Gambar 4.5. Implementasi Antar Muka Login SistemError!
Bookmark
not
defined. Gambar 4.6. Antarmuka Halaman Aturan Penulisan KBError! Bookmark not defined. Gambar 4.7. Antarmuka Halaman Kamus Kata DasarError!
Bookmark
not
defined. Gambar 4.8. Antarmuka Halaman Daftar KB ....... Error! Bookmark not defined. Gambar 4.9. Antarmuka Halaman Hasil String Matching KMPError! Bookmark not defined. Gambar 4.10. Implementasi Antarmuka Halaman Proses KMP User .......... Error! Bookmark not defined. Gambar 4.11. Whitebox Testing String Matching KMPError!
Bookmark
not
defined. Gambar 4.12. Grafik Hasil Stress Testing Errors 4000 usersError!
Bookmark
not defined. Gambar 4.13. Grafik Waktu Hasil Stress Testing Time 4000 users .............. Error! Bookmark not defined.
Gambar 4.14. Grafik Waktu Hasil Stress Testing Time 300-380 users ......... Error! Bookmark not defined. Gambar 4.15. Grafik Hasil Stress Testing Errors 300 - 800 users ................ Error! Bookmark not defined. Gambar 4.16. Grafik Laju Pertumbuhan dengan n : 1 - 20Error! Bookmark not defined. Gambar 4.17. Pie Chart Hasil Pengujian String Matching KMPError! Bookmark not defined. Gambar 4.18. Pie Chart Hasil Pengujian String Matching KMPError! Bookmark not defined.
DAFTAR TABEL Tabel 3.1. Kebutuhan Fungsional Sistem ............. Error! Bookmark not defined. Tabel 3.2. Aturan Penulisan Kata Berimbuhan ..... Error! Bookmark not defined. Tabel 3.3. Deskripsi Aktor Pada Use Case DiagramError! Bookmark not defined. Tabel 3.4. Deskripsi Use Case Diagram Pada AplikasiError!
Bookmark
not
defined. Tabel 3.5. Deskripsi Class Diagram Sistem ......... Error! Bookmark not defined. Tabel 3.6. Struktur Data Aturan Penulisan Kata BerimbuhanError! Bookmark not defined. Tabel 3.7. Struktur Data Kata Dasar ..................... Error! Bookmark not defined. Tabel 3.8. Struktur Data Kata Berimbuhan ........... Error! Bookmark not defined. Tabel 3.9. Struktur Data Hasil KMP ..................... Error! Bookmark not defined. Tabel 3.10. Rancangan Static Testing ................... Error! Bookmark not defined. Tabel 3.11. Test Plan Function Testing ................ Error! Bookmark not defined. Tabel 3.12. Test Case Autentifikasi Login ............ Error! Bookmark not defined. Tabel 3.13. Test Case Tambah Kata Dasar ........... Error! Bookmark not defined. Tabel 3.14. Test Case Hapus Kata Dasar .............. Error! Bookmark not defined. Tabel 3.15. Test Case Edit & Update Kata Dasar . Error! Bookmark not defined. Tabel 3.16. Test Case Tambah Aturan KB ........... Error! Bookmark not defined. Tabel 3.17. Test Case Hapus Aturan KB .............. Error! Bookmark not defined. Tabel 3.18. Test Case Edit & Update Aturan KB . Error! Bookmark not defined. Tabel 3.19. Test Case Hapus Hasil Inputan User .. Error! Bookmark not defined. Tabel 3.20. Test Case Edit & Update Hasil Inputan UserError!
Bookmark
not
defined. Tabel 3.21. Test Case Update Nilai Hasil Inputan UserError!
Bookmark
not
Bookmark
not
defined. Tabel 3.22. Test Case Tambah Daftar Kata BerimbuhanError! defined.
Tabel 3.23. Test Case Hapus Daftar Kata BerimbuhanError! Bookmark not defined. Tabel 3.24. Test Case Edit & Update Daftar Kata BerimbuhanError! Bookmark not defined. Tabel 3.25. Test Case Input KB Pada User........... Error! Bookmark not defined. Tabel 3.26. Rancangan Tabel Blackbox Testing.... Error! Bookmark not defined. Tabel 3.27. Tabel Ambang Batas Kinerja Untuk Website (Paessler) ............ Error! Bookmark not defined. Tabel 4.1. Contoh Daftar Kata Berimbuhan ......... Error! Bookmark not defined. Tabel 4.2. Hasil Static TestingError! Bookmark not defined.Tabel 4.3. Checklist Kebutuhan Sistem ................................................ Error! Bookmark not defined. Tabel 4.4. Blackbox Testing Autentifikasi Login .. Error! Bookmark not defined. Tabel 4.5. Blackbox Testing Tambah Kata Dasar . Error! Bookmark not defined. Tabel 4.6. Blackbox Testing Hapus Kata Dasar .... Error! Bookmark not defined. Tabel 4.7. Blackbox Testing Edit & Update Kata DasarError!
Bookmark
not
defined. Tabel 4.8. Blackbox Testing Tambah Aturan KB .. Error! Bookmark not defined. Tabel 4.9. Blackbox Testing Hapus Aturan KB .... Error! Bookmark not defined. Tabel 4.10. Blackbox Testing Edit & Update Aturan KBError!
Bookmark
not
Bookmark
not
defined. Tabel 4.11. Blackbox Testing Hapus Hasil Inputan UserError! defined. Tabel 4.12. Blackbox Testing Edit & Update Hasil Inputan UserError!
Bookmark
not defined. Tabel 4.13. Blackbox Testing Nilai Hasil Inputan UserError!
Bookmark
defined. Tabel 4.14. Blackbox Testing Tambah Daftar KB . Error! Bookmark not defined. Tabel 4.15. Blackbox Testing Hapus Daftar KB ... Error! Bookmark not defined.
not
Tabel 4.16. Blackbox Testing Edit & Update Daftar KBError!
Bookmark
not
Bookmark
not
defined. Tabel 4.17. Blackbox Testing Input KB di Halaman UserError! defined.