WORD PREDICTION MENGGUNAKAN WINDOWS API BERBASIS WORD FREQUENCIES SKRIPSI ADE N TAMBUNAN 091402054 PROGRAM STUDI S-1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
WORD PREDICTION MENGGUNAKAN WINDOWS API BERBASIS WORD FREQUENCIES SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi ADE N TAMBUNAN 091402054 PROGRAM STUDI S-1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
iii PERSETUJUAN Judul : WORD PREDICTION MENGGUNAKAN WINDOWS API BERBASIS WORD FREQUENCIES Kategori : SKRIPSI Nama : ADE N TAMBUNAN Nomor Induk Mahasiswa : 091402054 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, 22 Januari 2015 Pembimbing 2 Pembimbing 1 Dr. Erna Budhiarti Nababan, M.IT M. Andri Budiman, ST., M.Comp.Sc., M.E.M NIP 19751008 200801 1 001 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, M. Anggia Muchtar, ST., MM.IT. NIP 19800110 200801 1 010
iv PERNYATAAN WORD PREDICTION MENGGUNAKAN WINDOWS API BERBASIS WORD FREQUENCIES SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 22 Januari 2015 Ade N Tambunan 091402054
v PENGHARGAAN Alhamdulillah, segala puji dan syukur penulis panjatkan atas kehadirat Allah SWT beserta Nabi besar Muhammad SAW yang telah memberikan rahmat, hidayah-nya, segala daya dan upaya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat utnuk memperoleh gelar Sarjana Program Studi S-1 Teknologi Informasi Universitas Sumatera Utara, Ucara terima kasih yang sebesar-besarnya penulis sampaikan kepada: 1. Kedua orang tua penulis, orang yang paling berharga dalam hidup penulis, ayahanda Syahrial Tambunan dan ibunda Tima Manggareta Dwirani Zahri yang telah membesarkan, mendidik, memberi dukungan, doa dan motivasi tanpa henti. Serta kepada abang dan adik penulis Adrian Nurrachman Tambunan dan Alreza Nurcholis Tambunan yang selalu ada dan menemani penulis. 2. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak Muhammad Anggia Muchtar, ST., MM. IT. dan Bapak Muhammad Fadly Syahputra, B.Sc, M.Sc.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi. 3. Bapak Mohammad Andri Budiman, ST., M.Comp.Sc., M.E.M selaku pembimbing pertama dan Ibu Dr. Erna Budhiarti Nababan, M.IT selaku pembimbing kedua, yang telah banyak meluangkan waktunya dan memberikan masukan-masukan yang bermanfaat bagi penulis dalam menyelesaikan skripsi ini. 4. Bapak Muhammad Anggia Muchtar, ST., MM. IT. dan Bapak Muhammad Fadly Syahputra, B.Sc, M.Sc.IT yang telah bersedia menjadi dosen pembanding dan memberikan saran-saran yang baik bagi penulis dalam menyelesaikan skripsi ini. 5. Kepada Yunisya Aulia Putri yang selalu sabar, selalu mendukung, membantu dan merupakan salah satu motivasi penulis dalam menyelesaikan skripsi ini. Serta teman-teman yang mendukung dan membantu penulis Dwiky, Hafiz Yahya, Yogi, Ibnu, Ammar, Reza, Ridzuan, Fadhlullah, Fadli Rizky, Abdi Hafiz, Icha, Yanna, Dijah, Juju, Fanny, Hani, Binyo, Fadli Rachman, Dezi, Kurniawan, dan seluruh teman-teman lainnya yang tidak dapat disebutkan satu persatu. 6. Kepada Abang Faisal dan Ibu Delima yang selaku bagian tata usaha Program Studi S1 Teknologi Informasi yang telah membimbing dan membantu penulis dari awal proposal sampai sidang. 7. Dan juga kepada teman-teman basket Allstar MIPA yang selalu menghibur penulis. Sekali lagi penulis mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang membantu dalam penyelesaian tugas akhir ini yang tidak dapat disebutkan. Terima kasih atas masukan, saran, dan motivasi yang diberikan. Semoga Allah SWT membalas dengan nikmat yang berlimpah.
vi ABSTRAK Mengetik merupakan salah satu kegiatan yang erat dalam kehidupan sehari-sehari, namun masih banyak yang mengalami masalah ketika mengetik terutama bagi yang berkebutuhan khusus seperti autis. Salah satu solusinya yaitu dengan menggunakan aplikasi word prediction agar dapat mengurangi keystroke yang diperlukan untuk mengetik suatu teks, namun aplikasi word prediction yang beredar masih banyak yang menggunakan bahasa asing, bukan bahasa Indonesia. Pada penelitian ini, aplikasi word prediction yang dikembangkan menggunakan database yang berbahasa Indonesia berbasis frekuensi kata. Aplikasi word prediction yang dikembangkan dapat berjalan di banyak aplikasi pengolah kata seperti Microsoft Word, Notepad, E-mail, dengan memanfaatkan Windows API. Hasil pengujian menunjukkan bahwa word prediction berbasis frekuensi kata mampu menghasilkan Keystroke Saving (KS) antara 26% sampai dengan 34%. Kata kunci : word prediction, frekuensi kata, windows api, kebutuhan khusus
vii FREQUENCIES-BASED WORD PREDICTION WITH WINDOWS API ABSTRACT Typing is one activity that is closely in everyday life, but there are still many who have problems when typing, especially for those who are special needs like autism. One solution is to use word prediction application that can reduce keystroke needed to type a text, but many application of word prediction in circulation are still use a foreign language, not Indonesian. In this study, word prediction application was developed using Indonesian language database of word frequency. Applications can be run in many word processing applications such as Microsoft Word, Notepad, E-mail, by utilizing the Windows API. The results show that the frequency-based word prediction is able to achieved Keystroke Saving (KS) between 26% and 34%. Keywords : word prediction, word frequency, windows api, special needs
viii DAFTAR ISI PERSETUJUAN PERNYATAAN PENGHARGAAN ABSTRAK ABSTRACT DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR iii iv v vi vii viii xi xii BAB 1 PENDAHULUAN 14 1.1. Latar Belakang 14 1.2 Rumusan Masalah 16 1.3 Batasan Masalah 16 1.4 Tujuan Penelitian 17 1.5 Manfaat Penelitian 17 1.6 Metodologi Penelitian 17 1.7 Sistematika Penulisan 18 BAB 2 LANDASAN TEORI 20 2.1 Anak Berkebutuhan Khusus (ABK) 20 2.1.1 Anak Berkebutuhan Khusus Bersifat Sementara (Temporer) 20 2.1.2 Anak Berkebutuhan Khusus Bersifat Menetap (Permanen) 21 2.2 Word Prediction 21 2.3 Algoritma Pencarian 22 2.3.1 Algoritma Pencarian Linear (Linear Search Algorithm) 22 2.3.2 Algoritma Pencarian Biner (Binary Search Algorithm) 23 2.3.3 Algoritma Pencarian Interpolasi (Interpolation Search Algorithm) 24
ix 2.3 Algoritma prediksi 24 2.4 Adaptation 25 2.5 Windows API 26 2.6 Penelitian Terdahulu 26 BAB 3 ANALISIS DAN PERANCANGAN SISTEM 29 3.1 Analisis masalah 29 3.2 Analisis Data 30 3.3. Perancangan Sistem 32 3.3.1 Windows API 32 3.3.2 Flowchart Sistem 33 3.3.3 Perancangan Database 36 3.3.4 Diagram Use Case 38 3.3.5 Use case spesifikasi 39 3.3.6 Activity Diagram 45 3.3.7 Perancangan Antar Muka 49 BAB 4 IMPLEMENTASI DAN PENGUJIAN 55 4.1 Implementasi Sistem 55 4.1.1 Perangkat Keras 55 4.1.2 Perangkat Lunak 56 4.2 Pengujian 56 4.2.1 Tabel pada database MySQL 56 4.2.2 Kasus dan hasil pengujian sistem 58 4.3 Pengujian Kinerja Sistem 63 4.4 Hasil pengujian prediksi kata pada aplikasi pengolah kata 73 4.5 Hasil pengujian Keystroke Saving (KS) 79 4.6 Evaluasi Heuristik dengan Skala Likert 80 4.6.1 Skor untuk tampilan aplikasi 81 4.6.2 Skor untuk Fitur-fitur aplikasi 82 4.6.3 Skor untuk hasil prediksi kata 83 4.6.4 Skor untuk Banyaknya Hasil Prediksi Kata 83 4.6.5 Skor untuk Keystroke Saving 84 4.6.6 Hasil Skor Aspek Heuristik Skala Likert 85 BAB 5 KESIMPULAN DAN SARAN 88
x 5.1 Kesimpulan 88 5.2 Saran 89 DAFTAR PUSTAKA 90
xi DAFTAR TABEL Hal Tabel 2.1 Penelitian Terdahulu 28 Tabel 3.1 Sampel Data Kata (Lanin et al, 2013) 30 Tabel 3.1. Sampel Data Kata (Lanin et al, 2013) (Lanjutan) 31 Tabel 3.2 Spesifikasi use case untuk login 39 Tabel 3.2 Spesifikasi use case untuk login (Lanjutan) 40 Tabel 3.3 Spesifikasi use case untuk input huruf 40 Tabel 3.3 Spesifikasi use case untuk input huruf (Lanjutan) 41 Tabel 3.4 Spesifikasi use case untuk tambah kata 42 Tabel 3.5 Spesifikasi use case ubah kata 43 Tabel 3.6 Spesifikasi use case untuk hapus kata 44 Tabel 3.7 Spesifikasi use case untuk cari kata 44 Tabel 3.7 Spesifikasi use case untuk cari kata (Lanjutan) 45 Tabel 4.1 Hasil pengujian halaman awal 58 Tabel 4.1 Hasil pengujian halaman awal (Lanjutan) 59 Tabel 4.2 Hasil pengujian halaman pengaturan 59 Tabel 4.2 Hasil pengujian halaman pengaturan (Lanjutan) 60 Tabel 4.3 Hasil pengujian halaman tambah kata 61 Tabel 4.4 Hasil pengujian halaman ubah kata 62 Tabel 4.5 Hasil pengujian halaman login 62 Tabel 4.6 Hasil pengujian halaman daftar 63 Tabel 4.7 Skala Jawaban dari Skala Likert 80 Tabel 4.8 Skor Jawaban Kuesioner 81 Tabel 4.9 Rating Scale 86 Tabel 4.10 Skor Rata-rata Setiap Aspek 86
xii DAFTAR GAMBAR Hal Gambar 2.1 Ilustrasi penggunaan word prediction 21 Gambar 3.1 Diagram Ishikawa analisis permasalahan 30 Gambar 3.2 Flowchart Sistem 33 Gambar 3.3 Flowchart Algoritma 35 Gambar 3.4 Rancangan tbl_unigram 36 Gambar 3.5 Rancangan tbl_login 37 Gambar 3.6 Rancangan tbl_unigramnamauser 38 Gambar 3.7 Diagram use case sistem 39 Gambar 3.8 Activity diagram sistem (prediksi kata) 46 Gambar 3.9 Activity diagram sistem (tambah kata) 47 Gambar 3.10 Activity diagram sistem (hapus kata) 48 Gambar 3.11 Activity diagram sistem (ubah kata) 49 Gambar 3.12 Rancangan tampilan awal aplikasi 50 Gambar 3.13 Rancangan tampilan halaman pengaturan 51 Gambar 3.14 Rancangan tampilan halaman tambah kata 52 Gambar 3.15 Rancangan tampilan halaman about 53 Gambar 3.16 Rancangan tampilan halaman login 54 Gambar 3.17 Rancangan tampilan halaman daftar 54 Gambar 4.1 Tabel unigram 57 Gambar 4.2 Tabel login 57 Gambar 4.3 Tabel unigramnamauser 58 Gambar 4.4 Halaman login 64 Gambar 4.5 Halaman Awal Non-aktif 64 Gambar 4.6 Halaman Awal Aktif 65 Gambar 4.7 Halaman pengaturan 65 Gambar 4.8 Halaman pengaturan (Pencarian kata) 66 Gambar 4.10 Halaman pengaturan (Kata berhasil dihapus) 67 Gambar 4.11 Halaman pengaturan (Hapus kata error) 68 Gambar 4.12 Halaman tambah kata 69 Gambar 4.13 Halaman tambah kata (Kata berhasil ditambah) 69
xiii Gambar 4.14 Halaman tambah kata (Kata gagal ditambah) 70 Gambar 4.15 Halaman ubah kata (error) 71 Gambar 4.16 Halaman ubah kata (Informasi kata) 71 Gambar 4.17 Halaman ubah kata (Konfirmasi ubah kata) 72 Gambar 4.18 Halaman about 73 Gambar 4.19 Pengujian sistem pada notepad 74 Gambar 4.20 Prediksi kata ma berdasarkan frek_unigram 74 Gambar 4.21 Pengujian pengiriman kata pada notepad 75 Gambar 4.22 Pengujian sistem pada aplikasi Microsoft word 75 Gambar 4.23 Prediksi kata k berdasarkan frek_unigram dan frek_uniuser 76 Gambar 4.24 Pengujian pengiriman kata pada Microsoft word 77 Gambar 4.25 Pengujian sistem pada aplikasi E-mail 77 Gambar 4.26 Prediksi kata meng berdasarkan frek_unigram dan frek_uniuser 78 Gambar 4.27 Pengujian pengiriman kata pada E-mail 79 Gambar 4.28 Grafik Skor Pertanyaan 1 81 Gambar 4.29 Grafik Skor Pertanyaan 2 82 Gambar 4.30 Grafik Skor Pertanyaan 3 83 Gambar 4.31 Grafik Skor Pertanyaan 4 84 Gambar 4.32 Grafik Skor Pertanyaan 5 85