BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Komputer adalah sebuah alat yang dipakai untuk mengolah informasi menurut prosedur yang telah dirumuskan (Wikipedia, 2007: Komputer). Komputer berkembang mulai dari generasi pertama antara tahun 1946 – 1959, generasi kedua antara tahun 1959 – 1964, generasi ketiga antara tahun 1964, generasi keempat, dan generasi kelima. Kemunculan bahasa pemrograman FORTRAN dan COBOL pada generasi kedua menggantikan bahasa mesin yang sulit membuat pengendalian komputer menjadi lebih mudah. Hingga pada saat ini, telah banyak sistem yang dihasilkan oleh berbagai macam bahasa pemrograman yang berkembang. Salah satu program yang paling familiar adalah text editor. Text editor merupakan suatu program untuk pengetikan teks. Pada era komputer seperti sekarang ini, pengguna lebih memilih menggunakan program-program text editor untuk menyelesaikan tulisan mereka terutama bagi para mahasiswa dan orang yang telah bekerja daripada menulis di atas sebuah kertas. Hal ini disebabkan karena dengan menggunakan text editor, proses penulisan menjadi lebih mudah dan cepat. Namun, penulisan dengan menggunakan text editor juga memiliki permasalahan. Salah satu dari permasalahan yang ada adalah penulisan dengan menggunakan text editor dapat menyebabkan kesalahan dalam pengetikan. Kesalahan dalam pengetikan dapat diperbaiki dengan cara manual yaitu pertama dengan mencari kata yang salah pada layar dan memperbaikinya sendiri. Perbaikan seperti ini akan memakan waktu yang lama dan tidak semua kata dapat diperbaiki. Kedua, pengguna cenderung akan mencetak ketikan terlebih dahulu membaca dan mengkoreksinya. Selain memakan waktu yang lama, cara seperti ini juga akan memboroskan tinta dan kertas. 1 Untuk mengatasi masalah-masalah yang digambarkan diatas maka dibuatlah sebuah sistem yang bersifat otomatis seperti spelling checker yang bertujuan untuk memperbaiki kesalahan dalam pengetikan. Perbaikan secara otomatis akan sangat membantu pengguna dalam proses pengetikan karena dapat memperbaiki kesalahan lebih cepat dan akurat. Terdapat 2 cara kerja pada spelling checker, yaitu pertama dengan menampilkan sejumlah kandidat kata yang benar dan kedua dengan mengganti kata yang salah dengan kata yang dianggap paling benar secara otomatis. Penelitian ini mencoba untuk membuat sebuah sistem text editor yang dilengkapi dengan fasilitas spelling checker dengan menerapkan algoritma Levenshtein Distance yang telah dikembangkan sehingga mampu untuk memperbaiki kesalahan dalam pengetikan dengan menampilkan kandidat kata yang benar. 1.2. Rumusan Masalah Dalam membuat Tugas Akhir ini, penyusun membuat rumusan masalah yang akan dijadikan acuan dalam penelitian. Rumusan masalah tersebut terdiri atas: • Membangun sebuah dasar pengetahuan (Knowledge Base) bagi komputer agar komputer dapat membedakan kata yang benar dan kata yang salah. • Mengenali dan memperbaiki kesalahan pengetikan dalam bahasa Indonesia secara otomatis. 1.3. Batasan Masalah • Text editor yang akan dibuat adalah text editor sederhana GUI (Graphical User Interface) dan WYSIWYG (What You See Is What You Get). 2 • Aplikasi spelling checker yang akan dibuat adalah spelling checker yang mengenali dan memperbaiki kesalahan penulisan dalam bahasa Indonesia. • Input-an untuk aplikasi ini berasal dari keyboard. Jadi user mengetikkan kata-kata yang akan diperiksa pada text editor yang disediakan. • Kesalahan tata bahasa (Grammar) akan diabaikan karena aplikasi ini hanya akan memeriksa kesalahan penulisan. • Aplikasi tidak menangani kata-kata yang berupa singkatan atau akronim. • File hasil akhir hanya dapat disimpan dalam 3 format teks yaitu plain text (.txt), rich text format (.rtf) dan word document (.doc). 1.4. Hipotesis Algoritma Levenshtein Distance mampu untuk membandingkan dan mencari kata yang paling mendekati dengan kata yang sebenarnya dalam waktu yang relatif cepat. 1.5. Tujuan Penelitian • Menerapkan atau mengimplementasikan Algoritma Levenshtein Distance dalam aplikasi spelling chekcer. • Menghasilkan sebuah aplikasi bantu untuk memperbaiki kesalahan penulisan dalam bahasa Indonesia. 1.6. Metode Penelitian 1.6.1. Pengumpulan Data Pada tahap ini penulis melakukan pengumpulan data yang berkenaan dengan penyusunan Tugas Akhir ini. Data-data yang dikumpulkan adalah data acuan yang digunakan dalam penyusunan Tugas Akhir ini dan data-data lain yang 3 dapat mendukung dalam penyusunan Tugas Akhir. Beberapa metode yang digunakan selama proses pengumpulan data ini antara lain: • Studi Literatur Dalam studi literatur diperoleh data-data yang digunakan sebagai landasan teori dan data-data pendukung lainnya. Data diperoleh melalui membaca buku kepustakaan atau artikel-artikel pendukung yang didapat dari internet. 1.6.2. Implementasi Program Tahap implementasi program merupakan tahap dimana program yang dibuat diaplikasikan dan diuji. Perbaikan-perbaikan dilakukan selama ditemukan kesalahan pada saat implementasi. Tahap ini terbagi menjadi 3 antara lain: • Pra – Pemrosesan Pra – proses merupakan proses pembangunan sebuah leksikon (kamus kata) yang digunakan oleh aplikasi. Pembuatan leksikon dimulai dari membuat suatu dokumen dengan format .txt yang berisi artikel-artikel. Kemudian dokumen akan melalui proses normalisasi, tokenisasi, pembandingan kata, dan pengurutan sehingga dihasilkan sebuah leksikon baru dengan jumlah kata yang lebih banyak. • Proses Pada saat aplikasi di-load, akan dilakukan proses mempartisi leksikon ke dalam beberapa array tergantung dari panjang katanya. Fungsi spelling checker pada aplikasi akan bekerja setiap kali pengguna menekan tombol spasi atau enter pada keyboard. Fungsi spelling checker akan mencari kata yang terakhir kali diketikkan oleh pengguna di dalam array, jika tidak ditemukan di dalam array akan dilakukan proses perbandingan kata dengan kata-kata yang terdapat dalam array. Dalam proses pembandingan tersebut digunakan algoritma levensthein distance yang kemudian akan menghasilkan jarak kesalahan yang dibutuhkan untuk mengubah suatu string ke string lainnya. Kata pada object Dictionary yang memiliki jarak kesalahan yang lebih kecil atau sama dengan jarak 4 kesalahan maksimum yang diijinkan akan disimpan ke dalam suatu array yang berbeda untuk ditampilkan kemudian. • Pasca – Proses Tingkat keakurasian saran-saran yang ditampilkan oleh program sangat tergantung dengan jarak kesalahan maksimal yang diijinkan. Semakin besar jarak kesalahan yang diijinkan maka tingkat keakurasian kata yang ditampilkan semakin rendah. Sebaliknya, semakin kecil jarak kesalahan yang diijinkan maka tingkat keakurasian kata yang ditampilkan akan semakin tinggi. 1.7. Sistematika Penulisan Bab pertama merupakan pendahuluan yang berisi gambaran umum mengenai Tugas Akhir yang disusun. Gambaran tersebut adalah mengenai latar belakang, rumusan masalah, tujuan penulisan, metode penulisan dan sistematika penulisan. Bab kedua landasan teori, berisi tentang landasan teori yang digunakan dan penjelasan dari algoritma yang digunakan. Bab ketiga perancangan sistem, berisi tentang informasi perangkat lunak yang digunakan untuk membuat aplikasi, perangkat keras yang digunakan selama pembuatan aplikasi, perancangan basis data, perancangan tampilan program dan perancangan proses dari penerapan teori algoritma dalam aplikasi. Bab keempat implementasi sistem, berisi implementasi dari hasil rancangan sistem. Pada bab ini juga akan dijelaskan alur proses yang lebih detail pada aplikasi yang sudah dibuat. Bab kelima penutup, berisi kesimpulan dan saran yang didapat dari hasil implementasi atau penelitian yang dilakukan. 5