Word Prediction Menggunakan Windows API Berbasis Word Frequencies
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
(2)
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
(3)
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
Diluluskan di
Medan, 22 Januari 2015 Komisi Pembimbing :
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
(4)
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
(5)
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 Universitas Sumatera Utara, 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.
(6)
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%.
(7)
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%.
(8)
DAFTAR ISI
PERSETUJUAN iii
PERNYATAAN iv
PENGHARGAAN v
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL xi
DAFTAR GAMBAR 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
(9)
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
(10)
5.1 Kesimpulan 88
5.2 Saran 89
(11)
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
(12)
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
(13)
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
(14)
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%.
(15)
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%.
(16)
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Mengetik merupakan salah satu kegiatan yang sangat erat dalam kehidupan sehari-hari. Tetapi pada zaman dahulu tidak semua orang bisa mengetik, karena diperlukan suatu keahlian untuk bisa mengetik dengan lancar. Tetapi perubahan terjadi saat teknologi berkembang seperti adanya komputer, setiap orang dapat mengetik karena tidak diperlukan suatu keahlian yang khusus untuk mengetik. Jika terjadi kesalahan ketika mengetik, pengguna dapat menekan satu tombol dan kesalahan pengetikan dapat diperbaiki.
Semua orang bisa mengetik dengan komputer, namun tidak semua orang bisa mengetik dengan cepat dan tepat, apalagi bila orang tersebut berkebutuhan khusus seperti autis. Untuk bisa mengetik diperlukan latihan dan akan memakan waktu yang cukup lama.
Oleh karena itu, penulis ingin merancang suatu program yang dapat memprediksi suatu kata yang ingin diketik oleh pengguna, yaitu word prediction. Word prediction merupakan suatu program yang dapat memprediksi kata yang akan diketik oleh pengguna. Sehingga pengguna tidak perlu mengetik kata tersebut sampai selesai, dengan mengetik beberapa huruf dari kata tersebut program akan memberikan beberapa sugesti kata dan pengguna tinggal memilih kata apa yang ingin diselesaikan oleh program sehingga dapat mengurangi jumlah keystroke yang diperlukan dalam menyelesaikan suatu kata.Tapi, program word prediction yang dirancang sedikit berbeda dari yang biasanya. Aplikasi yang dirancang oleh penulis memiliki kelebihan dapatberjalandiprogram-program lain seperti di microsoft word, notepad, blog, web-browser, email, dan lain-lain. Sehingga pengguna dapat menggunakan aplikasi word prediction dengan maksimal. Hal ini dapat berjalan dengan menggunakan Windows
(17)
API. Sudah cukup banyak aplikasi-aplikasi yang berfungsi sebagai word prediction
namun kebanyakan menggunakan database bahasa Inggris, Jadi disini penulis ingin membuat aplikasi word prediction yang berisi database bahasa Indonesia. Aplikasi ini dirancang khususnya untuk pengguna yang berkebutuhan khusus,.Word prediction
memerlukan suatu algoritma untuk bisa memprediksi kata-kata yang ingin diketik oleh pengguna. Disini penulis menggunakan word frequencies, yaitu suatu metode yang menggunakan frekuensi suatu kata untuk memprediksi.
WordQ merupakan suatu perangkat lunak untuk mengolah kata yang dikembangkan oleh Bloorview Macmillan Center, Toronto, Canada, dengan bantuan dari Ontario Rehabilitaion Technologi Cosortium (Nantais et al., 2001). WordQ bisa digunakan oleh perangkat lunak pengolah kata yang berbasis sistem operasi Windows,
wordQ mempunyai modul untuk word prediction yang dapat memberikan beberapa sugesti kata kepada pengguna, dan modul speech yang menyediakan fitur text-to-speech. Modul wordQ menggunakan statistik kata unigram dan bigram yang bisa dikustomisasi berdasarkan kamus kata yang digunakan oleh pengguna agar dapat memberikan sugesti kata yang tepat (Fazly A., 2002).
Dalam beberapa uji coba dengan total 116.579 kata yang diambil dari 3 buku,
wordQ dapat mengurangi jumlah keystroke sebanyak 37% sampai dengan 53.1%, tergantung dari tipe teks, adaptasi, dan tipe frekuensi dari informasi yang digunakan. Di setiap uji coba, daftar kata yang diprediksi terdiri dari 5 kata, tergantung dari tipe suatu teks (Nantais et al, 2001).
Predictive Adaptive Lexicon (PAL) merupakan suatu perangkat lunak komputer yang dikembangkan oleh Arnott et al. Perangkat lunak ini dapat membantu pengguna dalam merangkai suatu teks dengan memberikan beberapa sugesti kata yang tepat didalam suatu kalimat. Pengguna dapat memilih dari daftar kata tersebut dengan menekan tombol keyboard yang telah ditentukan atau dengan mengetik kata mereka sendiri. Modul prediksi yang digunakan oleh PAL berdasarkan informasi frekuensi kata yang didapat dan memprediksi kata berdasarkan prefiks. Perangkat lunak ini diuji coba dengan beberapa teks, buku manual, artikel koras, dan transkrip dari suatu acara televisi. Dengan menggunakan daftar kata yang ditampilkan sebanyak 10 kata, perangkat lunak ini dapat mengurangi jumlah keystroke sebanyak 30% sampai dengan 46%, tergantung dari tipe suatu teks (Arnott et al, 1984).
(18)
Profet merupakan suatu perangkat lunak yang dikembangkan oleh Carlberger
et al untukmemprediksi kata-kata dari bahasa Swedia yang sering digunakan untuk mengolah kata sejak pertengahan tahun 1980, perangkat lunak ini statistikal dan dapat beradaptasi. Ketika pengguna mengetik menggunakan Profet, pengguna diberikan 9 daftar kata yang disugestikan oleh sistem, pengguna dapat menerima sugesti tersebut apabila kata yang pengguna inginkan terdaftar didalam daftar kata tersebut, bila kata yang diinginkan oleh pengguna tidak terdapat didalam daftar kata tersebut, pengguna bisa lanjut mengetik. Perangkat lunak ini memprediksi kata berdasarkan frekuensi kata, kosakata unigram, kosakata bigram, dan kosakata yang diberikan oleh pengguna yang digunakan untuk beradaptasi. Dalam uji coba, digunakan sebuah potongan teks yang terdiri dari 200 kata untuk mengukur kinerja dari perangkat lunak ini. Profet
mengurangi jumlah keystroke sebanyak 33%, ketika daftar kata yang ditampilkan terdiri dari 5 kata dan tidak ada adaptasi yang digunakan.
Sugianto, S.A dan teman-teman sudah membuat suatu aplikasi predictive text
yang menggunakan metode n-gram based. Aplikasi ini menunjukkan bahwa metode
n-gram sebagai metode dasar dalam proses prediksi sangatlah membantu pemilahan kata, sehingga proses prediksi menjadi lebih efektif, mampu menghasilkan prediksi efektif di atas 20% dari total prediksi yang terjadi. Keystroke saving yang dapat dihasilkan dapat mencapai 50% tergantungdari data training yang digunakan. Selain daripada metode n-gram sendiri, pengaturan bobot untuk masing-masing score kata juga sangat mempengaruhi proses prediksi kata (Sugianto, S.A et al, 2013).
1.2 Rumusan Masalah
Banyak pengguna komputer yang mengalami kendala dalam mengetik, khususnya untuk pengguna yang berkebutuhan khusus seperti autis. Oleh karena itu diperlukan suatu sistem word prediction berbasis word frequencies.
1.3 Batasan Masalah
Dalam penelitian ini, ditetapkan beberapa batasan masalah yakni : 1. Kata yang diprediksi menggunakan bahasa Indonesia.
(19)
2. Input yang diterima berupa teks.
3. Sugesti kata yang keluar terdiri dari 5 kata.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah menerapkan word frequencies di dalam sistem word prediction agar dapat mempermudah pengguna, khususnya yang berkebutuhan khusus seperti autis dalam hal mengetik.
1.5 Manfaat Penelitian
Adapun manfaat penelitian ini adalah mempermudah pengguna komputer dalam mengetik, khususnya pengguna yang berkebutuhan khusus seperti autis.
1.6 Metodologi Penelitian
Adapun metodologi penelitian yang digunakan penelti yaitu : 1. Studi Literatur
Pada tahap ini peneliti melakukan pengumpulan sumber referensi yang akan digunakan untuk penelitia. Peneliti membaca dan mempelajari buku-buku, jurnal, media online dan sumber lainnya yang berhubungan dengan penelitian yang akan dilakukan.
2. Perancangan Desain Sistem
Pada tahap ini peneliti melakukan perancangan aplikasi, seperti merancang
activy diagram, diagram alur (flowchart) sistem, perancangan desain, dan perancanga desain antarmuka (interface).
3. Implementasi Sistem
Pada tahap ini dilakukan pengkodean dan implementasi rancangan yang telah dibuat dengan menggunakan bahasa pemrograman yang telah dipilih. Pengkodean dilakukan dengan pemrograman Visual Basic .NET dengan menggunakan aplikasi Microsoft Visual Basic 2013.
(20)
Pada tahap ini dilakukan pengujian dan percobaan pada sistem yang telah dibuat sesuai dengan kriteria dan kebutuan yang diinginkan dan memastikan apakah program berjalan sesua dengan yang diinginkan.
5. Dokumentasi Sistem
Pada tahap ini, peneliti mendokumentasikan sistem dalam bentuk laporan tertulis untuk menunjukkan hasil penelitian yang dilakukan
1.7 Sistematika Penulisan
Adapun penulisan skripsi ini terdiri dari lima bagian utama (bab) dengan penjelasan singkat mengenai bab-bab tersebut, yaitu sebagai berikut :
Bab 1 Pendahuluan
Pada bab ini berisi uraian penjelasan latar belakang terkaut judul skripsi yang diajukan, perumusan masalah pada penelitian, batasan masalah yang ditetapkan, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan dari penyusunan skripsi ini.
Bab 2 Landasan Teori
Pada bab ini dibahas mengenai teori-teori pendukung yang digunakan pada penelitian ini, seperti penjelasan tentang word prediction, algoritma n-gram, windows API, dan penelitian terdahulu.
Bab 3 Analisis dan Perancanga Sistem
Pada bab ini berisi penjelasan analisis mengenai permasalahan dan identifikasi kebutuhan perancangan sistem.
(21)
Pada bab ini berisi penjelasan implementasi sistem dari hasil analisis yang dilakukan serta menguji sistem yang telah dibuat.
Bab 5 Kesimpulan dan Saran
Pada bab ini berisi kesimpulan yang didapat dari penelitian skripsi yang telah dilakukan dan saran yang dapat digunakan untuk penelitian lebih lanjut mengenai topik yang terkait pada skripsi ini.
(22)
BAB 2
LANDASAN TEORI
Pada bab ini akan dibahas tentang teori-teori dan konsep dasar yang mendukung pembahasan dari sistem yang akan dibuat.
2.1 Anak Berkebutuhan Khusus (ABK)
Menurut Alimin (2012) Anak Berkebutuhan Khusus (ABK) adalah seorang anak yang memerlukan pendidikan yang disesuaikan dengan hambatan belajar dan kebutuhan masing-masing anak secara individual. Cakupan konsep anak berkebutuhan khusus dikategorikan menjadi dua kelompok besar yaitu anak berkebutuhan khusus yang bersifat sementara (temporer) dan yang bersifat menetap (permanen).
2.1.1 Anak Berkebutuhan Khusus Bersifat Sementara (Temporer)
Anak berkebutuhan khusus yang bersifat sementara (temporer) adalah anak yang mengalami hambatan dalam belajar dan perkembangan disebabkan oleh factor-faktor ekseternal. Contohnya seperti anak yang mengalami gangguan emosi karena trauma akibat diperkosa sehingga anak-anak ini tidak dapat belajar. Pengalaman traumatis seperti itu bersifat sementara tetapi dapat menjadi permanen bila tidak memperoleh intervensi yang tepat. Oleh karena itu mereka memerlukan pendidikan yang disesuaikan yang disebut pendidikan kebutuhan khusus (Alimin, 2012).
(23)
2.1.2 Anak Berkebutuhan Khusus Bersifat Menetap (Permanen)
Alimin (2012) berkata anak berkebutuhan khusus yang bersifat permanen adalah anak-anak yang mengalami hambatan belajar dan perkembangan yang bersifat internal dan akibat langsung dari kondisi kecacatan, yaitu seperti anak yang kehilangan fungsi penglihatan, pendengan, gangguan perkembangan kecerdasan dan kognisi, gangguan gerak (motorik), gangguan iteraksi-komunikasi, gangguan emosi, social dan tingkah laku.
2.2 Word Prediction
Menurut Fazly, word prediction merupakan suatu cara untuk menebak kata apa yang tepat untuk dilanjutkan pada suatu teks dan sering digunakan pada sistem
Augmentative and Alternative Communication (AAC).Suatu sistem word prediction
biasanya beroperasi dengan menampilkan daftar kata-kata yang menurut sistem tepat di dalam suatu kalimat yang sedang diketik oleh pengguna. Sebagaimana pengguna melanjutkan mengetikkan huruf, sistem memperbaharui daftar kata yang diprediksi sesuai dengan huruf yang diketik oleh pengguna. Pengguna bisa memilih salah satu dari kata yang disarankan oleh sistem dengan menekan tombol di keyboard
(keystroke) atau dengan meng-klik mouse, untuk pengguna yang mengalami masalah dalam hal fisik, dimana setiap keystroke merupakan suatu usaha, ini dapat menghemat waktu dan energi. Namun untuk pengguna yang memiliki masalah dalam hal kognitif, ini dapat membantu untuk menyusun suatu teks dengan baik dan benar (Fazly, 2002) . Ilustrasi penggunaan word prediction bisa dilihat pada gambar 2.1.
Gambar 2.1 Ilustrasi penggunaan word prediction
Di dalam dunia pendidikan, word prediction biasa digunakan pada aplikasi pengolah kata agar dapat membantu dalam hal menulis. Meskipun penelitian ini belum begitu banyak, dari beberapa data didapatlah keuntungan yang didapat dari word prediction
(24)
adalah meningkatnya keakuratan dalam mengeja kata dan efisiensi dari jumlah tombol
keyboard yang ditekan dalam mengetik suatu kata (keystroke) untuk murid yang mengalami permasalahan dari segi pembelajaran, fisik, dan pengembangan (Lewis et al., 1998, MacArthur, 1998; Tumlin & Heller, 2004).
Tujuan utama dari sistem prediksi kata adalah mengurangi jumlah keystroke
yang digunakan untuk mengetik suatu teks. Jadi, penulis akan menghitung jumlah
Keystroke Saving (KS) dengan menggunakan rumus dari Trnka dan McCoy (2008) .
KS = �� � �− �� � �� � �
�� � �
×
%
(2.1)
2.3 Algoritma Pencarian
Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Dalam ilmu komputer, sebuah algoritma pencarian dijelaskan secara luas merupakan algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Himpunan semua kemungkinan solusi dari sebuah masalah disebut ruang pencarian. Algoritma pencarian brute-force atau pencarian uninformed menggunakan metode yang sederhana dan sangat intuitif pada ruang pencarian, sedangkan algoritma pencarian informed menggunakan heuristik untuk menerapkan pengetahuan tentang struktur dari ruang pencarian untuk berusaha mengurangi banyaknya waktu yang dipakai dalam pencarian (Nilson. J, 1998).
2.3.1 Algoritma Pencarian Linear (Linear Search Algorithm)
Linear Search (Sequential Search) adalah metode untuk menemukan nilai tertentu pada sebuah larik dengan cara memeriksa elemennya satu persatu secara berurutan hingga nilai (kunci) yang dicari ditemuka. Jika ditemukan, pencarian akan dihentikan (Cormen et al., 1990). Kelebihan dari algoritma Linear Search antara lain:
(25)
1. Algoritma pencarian sekuensial ini cocok untuk pencarian nilai tertentu pada sekumpulan data terurut maupun tidak.
2. Keunggulan algoritma adalah dalam mencari sebuah nilai dari sekumpulan kecil data.
3. Termasuk algoritma yang sederhana dan cepat karena tidak memerlukan proses persiapan data (misalnya: pengurutan).
Sedangkan kelemahan algoritma Linear Search adalah bahwa dalam kasus terburuk (nilai tidak ditemukan), pembandingan nilai dilakukan sebanyak jumlah data dalam kumpulan nilai. Dengan demikian, proses pencarian akan bertambah lambat secara linear dengan bertambahnya banyaknya jumlah data.
2.3.2 Algoritma Pencarian Biner (Binary Search Algorithm)
Menurut Abidin (2014) Binary Search adalah algoritma pencarian untuk data yang terurut. Pencarian dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang ada ditengah. Jika data yang ditengah sama dengan data yang dicari, berarti data ditemukan. Namun, bila data yang ditengah lebih besar dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan berada di sebelah kiri dari data tengah dan data disebelah kanan data tengah dapat diabari. Upper bound dari bagian data kiri yang baru adalah indeks dari data tengah itu sendiri. Sebaliknya, bila data yang di tengah lebih kecil dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan besar berada disebelah kanan dari data tengah. Lower bound
dari data di sebelah kanan dari data tengah adalah indeks dari data tengah itu sendiri ditambah 1. Demikian seterusnya.
Misalnya kita memiliki array A, dan kita ingin menemukan lokasi spesifik target integer K dalam array. Ada 3 kemungkinan kondisi pada binary search yaitu (Lantana, 2012):
1. Jika data target K langsung di temukan, maka proses pembagian ruangan ebrhenti. Kemudia print out indeks data elemen pada array.
(26)
2. Jika data target K < A[middle], maka pencarian dapat dibatasi hanya dengan melakukan pencarian pada sisi kiri array dari A[middle]. Seluruh elemen yang berada di sebelah kanan dapat diabaikan.
3. Jika data target K > A[middle], maka akan lebih cepat jika pencarian dibatasi hanya pada bagian sebelah kanan saja.
4. Jika seluruh data telah dicari namun tidak ada, maka diberi nilai seperti -1.
2.3.3 Algoritma Pencarian Interpolasi (Interpolation Search Algorithm)
Interpolation Search adalah algoritma pencarian yang lebih efisien daripada algoritma
Binary dan Sequential Search. Hal ini dikarenakan algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik maupun menurun.
Sama seperti Binary, teknik ini hanya dapat dilakukan pada kumpulan data yang telah terurut dan berada pada strutur array dan data yang dicari diperkirakan ada di dalam kumpulan data. Teknik ini menemukan item dengan memperkirakan seberapa jauh kemungkinan item berada dari posisi saat itu dan pencarian berikutnya. Teknik ini juga dilakukan pada kumpulan data yang sudah terurut. Rumus umum
Interpolation Search bisa dilihat pada persamaan 2.2 (Afifah, 2010) :
P = ku ci−k] i ] �[ � ]− �[ � ]
Posisi = Round(P*(max-min)) + min
2.3 Algoritma prediksi
Umpamakan pengguna mengetik suatu kalimat, dan rangkaian kata-kata dari kalimat tersebut yang sudah diketik adalah:
… ppw pw cwprefix\ ,
(27)
Dimana ppw dan pw adalah dua kata terakhir yang telah selesai diketik, atau dua kata sebelum kata yang akan diketik, dan cwprefix merupakan prefiks dari kata yang akan
diketik oleh pengguna. W didefinisikan sebagai kumpulan semua kata yang yang diawali oleh prefiks cwprefix . Prediktor berusaha untuk memilih n (biasanya diantara 1
sampai dengan 10) kata yang tepat dari beberapa kumpulan kata, W, berdasarkan dari isi, rangkaian kata-kata, dan prefiks dari kata yang akan diketik.
Setiap algoritma prediksi bisa menggabungkan beberapa tipe informasi dari suatu kata dan isi yang berbeda-beda.Ada yang hanya menggunakan informasi statistik dari suatu rangkaian kata, seperti Unigram dan Bigram. Untuk meningkatkan akurasi dari prediksinya, rata-rata program word prediction yang digunakan oleh penyandang disabilitas akan beradaptasi dengan penggunanya dengan berbagai cara (Fazly, 2002).
2.4 Adaptation
Fazly (2002) menyebutkan dalam tesisnya bahwa ada beberapa teknik adaptasi yang bisa digunakan oleh algoritma prediksi untuk meningkatkan keakurasian dari suatu prediksi, seperti adaptive lexicon dan recency information. Adaptive lexicon
merupakan kamus yang mengandung informasi dari frekuensi kata yang selalu berubah sesuai dengan kebiasaan pengguna dalam mengetik, data statistik yang didapat merupakan data latih beberapa kumpulan tulisan yang digunakan sebagai dasar dari informasi frekuensi kata yang dapat diubah oleh setiap pengguna. Salah satu cara untuk memperbaharui data statistik pada kata yaitu dengan memanfaatkan frekuensi pengguna dalam menggunakan suatu kata atau rangkaian kata. Frekuensi kata atau rangkaian kata yang pengguna gunakan akan bertambah ketika pengguna menggunakan kata (rangkaian kata) tersebut. Kata yang mempunyai frekuensi lebih tinggi akan lebih diutamakan daripada kata yang frekuensinya lebih rendah. Setiap sistem prediksi mungkin mempunyai algoritma yang berbeda dalam menentukan kata-kata tergantung dari frekuensi dasar (didapat dari data latih beberapa kumpulan tulisan) dan frekuensi pengguna Adaptive lexicon memerlukan database yang cukup besar untuk menyimpan kata-kata dan frekuensi dari kata-kata tersebut.
Adaptive lexicon bisa juga menggunakan recency information (informasi terbaru). Informasi terbaru menentukan seberapa sering kata tersebut telah digunakan,
(28)
sehingga dapat meningkatkan atau mengurangi kemungkinan kata tersebut akan digunakan di dalam konteks yang sama. Menyatukan informasi terbaru ke dalam modul prediksi bisa dilakukan dengan berbagai cara. Salah satu cara untuk melakukannya yaitu dengan menggunakan hitungan terbaru untuk setiap kata (atau rangkaian kata), dan tambahkan dengan kelipatan satu setiap kata tersebut digunakan di dalam konteks yang diinginkan. Setiap dokumen atau rangkaian dari N kata di dalam dokumen bisa dianggap sebagai konteks yang baru. Diperlukan juga sebuah algoritma untuk menentukan bagaimana harusnya kata-kata tersebut dipilih menurut nilai frekuensi dasar dan hitungan terbaru (Fazly, 2002).
Pada tulisan ini, penulis menggunakan pendekatan adaptasi adaptive lexicon
dan recency information.
2.5 Windows API
Windows API (Application Programming Interface) dapat membuat program yang ditulis oleh pengguna mampus berinteraksi dengan sistem operasi Windows, contohnya seperti menampilkan sesuatu pada layar dan mendapatkan input dari mouse
dan keyboard. Semua program yang ada pada Windows kecuali program yang berbasis konsol harus berinteraksi dengan Windows API apapun bahasa pemrogramannya. Versi yang terbaru adalah Win32 API (Steane, 2009). Pada penelitian ini, penulis menggunakan Windows API agar program dapat menerima input pengguna dari
keyboard dan mengirimkan output ke program seperti Microsoft Word, Notepad, E-mail, Blog, dan program pengolah teks lainnya.
2.6 Penelitian Terdahulu
WordQ merupakan suatu perangkat lunak untuk mengolah kata yang dikembangkan oleh Bloorview Macmillan Center, Toronto, Canada, dengan bantuan dari Ontario Rehabilitaion Technologi Cosortium (Nantais et al., 2001). WordQ bisa digunakan oleh perangkat lunak pengolah kata yang berbasis sistem operasi Windows, WordQ
mempunyai modul untuk word prediction yang dapat memberikan beberapa alternatif kata kepada pengguna, dan modul speech yang menyediakan fitur text-to-speech.
(29)
dikustomisasi berdasarkan kamus kata yang digunakan oleh pengguna agar dapat memberikan alternatif kata yang tepat (Fazly A., 2002).
Dalam beberapa uji coba dengan total 116.579 kata yang diambil dari 3 buku,
WordQ dapat mengurangi jumlah keystroke sebanyak 37% sampai dengan 53.1%, tergantung dari tipe teks, adaptasi, dan tipe frekuensi dari informasi yang digunakan. Di setiap uji coba, daftar kata yang diprediksi terdiri dari 5 kata, tergantung dari tipe suatu teks (Nantais et al, 2001).
Predictive Adaptive Lexicon (PAL) merupakan suatu perangkat lunak komputer yang dikembangkan oleh Arnott et al. Perangkat lunak ini dapat membantu pengguna dalam merangkai suatu teks dengan memberikan beberapa alternatif kata yang tepat didalam suatu kalimat. Pengguna dapat memilih dari daftar kata tersebut dengan menekan tombol keyboard yang telah ditentukan atau dengan mengetik kata mereka sendiri. Modul prediksi yang digunakan oleh PAL berdasarkan informasi frekuensi kata yang didapat dan memprediksi kata berdasarkan prefiks.Perangkat lunak ini diuji coba dengan beberapa teks, buku manual, artikel koras, dan transkrip dari suatu acara televisi. Dengan menggunakan daftar kata yang ditampilkan sebanyak 10 kata, perangkat lunak ini dapat mengurangi jumlah keystroke sebanyak 30% sampai dengan 46%, tergantung dari tipe suatu teks (Arnott et al, 1984).
Sugianto, S.A dan teman-teman sudah membuat suatu aplikasi predictive text
yang menggunakan metode n-gram based. Aplikasi ini menunjukkan bahwa metode
n-gram sebagai metode dasar dalam proses prediksi sangatlah membantu pemilahan kata, sehingga proses prediksi menjadi lebih efektif, mampu menghasilkan prediksi efektif di atas 20% dari total prediksi yang terjadi. Keystroke saving yang dapat dihasilkan dapat mencapai 50% tergantung dari data training yang digunakan. Selain dari pada metode n-gram sendiri, pengaturan bobot untuk masing-masing score kata juga sangat mempengaruhi proses prediksi kata(Sugianto et al, 2013). Pada Tabel 2.1 merupakan tabel dari penelitian terdahulu.
(30)
Tabel 2.1 Penelitian Terdahulu
No Peneliti Keterangan
1 Nantais, et al. (2001) Daftar kata yang ditampilkan 5, dan mempunyai fitur text-to-speech
2 Arnott, et al. (1984) Daftar kata yang ditampilkan 10, dan dapat mengurangi keystroke sebanyak 30% sampai dengan 46%
3 Carlberger, et al. (1997a) Memprediksi berdasarkan frekuensi kata, unigram, dan bigram, dan mampu beradaptasi 4 Sugianto, et al. (2013) Mampu menghasilkan prediksi yang efektif di atas
20% dari total prediksi yang terjadi. Keystroke saving mencapai 50% tergantung dari data
training.
Pada penelitian ini penulis menggunakan unigram model dan adaptasi adaptive lexicon dan recency information. Penulis juga menggunakan database kata-kata bahasa Indonesia, berbeda dengan penelitian sebelumnya kebanyakan menggunakan
database bahasa Inggris. Aplikasi word prediction yang dibuat oleh penulis juga dapat berjalan di beberapa aplikasi pengolah kata seperti Microsoft word, e-mail, notepad,
(31)
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan membahas tentang analisis serta perancangan sistem untuk fitur word prediction dengan menggunakan metode n-gram, membuat pemodelan sistem seperti merancang alur kerja sistem (flowchart). Mempelajari konsep dan proses kerja word prediction, serta merancang antarmuka.
3.1 Analisis masalah
Untuk dapat mengetik, tidak diperlukan suatu keahlian khusus karena semua orang dapat mengetik pada computer. Namun, beberapa orang mengalami kesulitan dalam mengetik. Contohnya seperti orang yang mengalami keterbatasan fisik atau berkebutuhan khusus, karena bagi mereka untuk menekan tombol pada keyboard
merupakan suatu usaha yang tidak mudah. Namun, bagi yang tidak memiliki keterbatasan fisik atau berkebutuhan khusus. Juga memiliki masalah dalam mengetik, seperti orang yang baru belajar bahasa Indonesia, orang tersebut masih memiliki sedikit akan kosakata bahasa Indonesia jadi dia akan mengalami hambatan dalam mengetik menggunakan bahasa Indonesia.
Maka dari itu diperlukanlah layanan word prediction yang dapat membantu pengguna dalam mengetik pada computer. Layanan ini dapat membantu pengguna karena dapat mengurangi jumlah tombol yang harus ditekan dalam mengetik suatu kata dan dapat meminimalisasi kesalahan yang terjadi dalam mengetik. Namun, kebanyakan fitur word prediction pada saat ini kebanyakan menggunakan bahasa asing, masih sedikit yang mengembangkannya dalam bahasa Indonesia. Jadi banyak orang-orang yang terpaksa belajar mengetik agar lancar dalam mengetik dan menyewa tukang ketik, karena akan diperlukan waktu yang cukup lama bagi dirinya
(32)
agar dapat mengetik dengan lancar. Penyebab dan dampak dari permasalahan yang tersebut diperlihatkan pada diagram Ishikawa pada Gambar 3.1.
Gambar 3.1 Diagram Ishikawa analisis permasalahan
3.2 Analisis Data
Data yang digunakan pada sistem ini diperoleh dari penelitian Lanin, et al (2013). Lanin, et al membandingkan distribusi frekuensi kata bahasa Indonesia di Kompas, Wikipedia, Twitter, dan Kaskus. Korpus data Kompas diambil dari artikel online yang berbahasa Indonesia pada tahun 2012. Pada Tabel 3.1 akan diberikan beberapa kata yang diperoleh dari artikel online surat kabar Kompas.
Tabel 3.1 Sampel Data Kata (Lanin et al, 2013)
No Kata Frekuensi Kata
1 yang 795050
2 di 709509
(33)
Tabel 3.1. Sampel Data Kata (Lanin et al, 2013) (Lanjutan)
No Kata Frekuensi Kata
4 ini 332855
5 itu 313570
6 dengan 312096
7 untuk 297067
8 dari 280966
9 dalam 222488
. . .
. . .
. . .
1500 karakter 3173
Setelah didapatkan data-data frekuensi kata seperti yang diperlihatkan pada Tabel 3.1, data-data tersebut akan dimasukkan ke dalam database dan akan menjadi acuan untuk memprediksi kata. Untuk lebih jelasnya akan dijelaskan pada subbab berikutnya.
(34)
3.3. Perancangan Sistem
3.3.1 Windows API
Ada beberapa API yang digunakan dalam aplikasi ini, yaitu :
1. UnhookWindowsHookEx
Berguna untuk melepaskan hook pada keyboard sehingga sistem tidak akan menerima atau mendeteksi input apapun dari keyboard. Sistem juga tidak akan mampu memprediksi kata karena sistem tidak mendapat input dari user.
2. SetWindowsHookEx
Berguna untuk memasang hook pada keyboard sehingga sistem akan menerima atau mendeteksi input apapun dari keyboard. Dengan adanya hook
ini sistem dapat menentukan input apa yang dapat diterima oleh sistem dan
input apa yang tidak diterima oleh sistem. 3. GetForegroundWindow
Berguna untuk mendeteksi foreground window (Window yang sedang digunakan oleh user). Fungsi ini berguna untuk mendeteksi apakah user
berpindah aplikasi atau tidak, Jika ketika user mengetik dan tiba-tiba berganti aplikasi, sistem akan menghapus prediksi kata sebelumnya sehingga user bisa memulai prediksi kata yang baru di aplikasi yang lain.
4. GetWindowText
Berguna untuk mendapatkan Title dari suatu window aplikasi. GetWindowText
biasanya digunakan bersamaan dengan GetForegroundWindow karena sistem bisa mendeteksi apakah user berpindah ke window aplikasi lain dengan melihat title dari sebuah window aplikasi. Jika title tidak berubah berarti user
belum ada berganti ke aplikasi yang lain, bila title berubah maka user telah berpindah ke aplikasi yang lain sehingga sistem akan menghapus prediksi kata di aplikasi sebelumnya dan memulai prediksi kata yang baru di aplikasi yang baru.
(35)
3.3.2 Flowchart Sistem
Fazly (2002) menyebutkan dalam penelitiannya “It is clear that the higher the number of words in the suggestion list, the greater the chance of having the intended word among the suggestions. But, larger values for n impose a cognitive load on the user as they make the search time for the desired word longer, and it is more likely that the user will overlook the word they are looking for. Different users of word-completion utilities may prefer different values for this parameter, according to their level and type of disabilities” berdasarkan kata-kata ini, Fazly akhirnya menentukan banyaknya kata yang ditampilkan yaitu 1, 5, dan 10 untuk mengukur performa dari sistem word prediction. Penulis menggunakan 5 kata yang ingin ditampilkan pada sistem word prediction.
Adapun alur kerja yang terdapat pada sistem word prediction dapat dilihat pada Gambar 3.2.
(36)
Langkah-langkah flowchart pada Gambar 3.2 menjelaskan bagaimana alur kerja yang terdapat di dalam sistem, proses pencarian kata untuk mendapatkan prediksi kata yang terbaik, yaitu :
1. Pengguna memberikan input berupa huruf awal dari kata yang diinginkan. 2. Ketika pengguna mengetik input, sistem akan langsung mendeteksi tombol
yang ditekan oleh pengguna, dan membandingkan huruf-huruf tersebut dengan kata-kata yang berada di dalam database kata.
3. Setelah itu sistem akan mencari kata-kata yang mempunyai awalan huruf yang sama dengan input, dan sistem mencari 5 kata yang mempunyai frekuensi user dan kata tertinggi.
4. Bila sistem tidak menemukan kata yang mempunyai awalan dari input huruf, sistem akan membiarkan user untuk mengetik kata yang diinginkan sampai selesai, kemudian sistem akan secara otomatis menambahkan kata tersebut ke dalam database.
5. Bila sistem menemukan kata yang mempunya awalan dari input huruf, sistem akan menampilkan 5 kata tersebut pada window yang disediakan.
6. Pengguna bisa memilih apakah prediksi kata yang ditampilkan oleh sistem sudah tepat atau belum, bila belum tepat pengguna bisa menambah input huruf sampai kata yang diinginkan oleh pengguna ditampilkan oleh sistem.
7. Bila prediksi kata sudah tepat, pengguna bisa memilih kata tersebut dengan tombol angka yang ada pada keyboard, dan sistem akan langsung mengirim sisa keystroke pada kata tersebut ke textfield pengguna. Kemudian frekuensi kata dan frekuensi user dari kata tersebut akan bertambah 1.
Algoritma yang digunakan untuk mencari 5 kata teratas pada sistem ini bisa dilihat pada Gambar 3.3 yaitu :
1. Pertama-tama sistem akan mengurutkan semua kata yang berada di dalam
database berdasarkan frek_user dari yang terbesar sampai dengan yang terkecil dengan menggunakan fungsi yang ada pada ORDER BY dan
DESCENDING yang ada pada MySQL.
(37)
3. Bila dari 5 kata tersebut ada kata yang memiliki nilai frek_user sama dengan 0, maka sistem akan mengurutkan kata-kata yang memiliki nilai frek_user = 0 tersebut berdasarkan frek_unigram yang terdapat pada setiap kata dengan menggunakan fungsi di dalam MySQL yaitu ORDER BY dan DESCENDING. Agar kata-kata tersebut diurutkan dari yang memiliki nilai frek_unigram terbesar sampai dengan nilai frek_unigram yang terkecil. Setelah itu sistem akan menampilkan 5 kata tersebut kepada user.
(38)
3.3.3 Perancangan Database
Berikut ini adalah rancangan database sistem word prediction.
A. Tbl_unigram
Tabel unigram adalah tabel yang dirancang untuk menyimpan kata, frekuensi kata, dan frekuensi user. Rancangannya dapat dilihat pada Gambar 3.4.
Tbl_unigram
Primary Key id_unigram Integer(11) kata_unigram Varchar(26) frek_unigram Integer(11) frek_uniuser Integer(11) Gambar 3.4 Rancangan tbl_unigram Keterangan dari Gambar 3.4:
1. PK adalah primary key dari tbl_unigram yaitu id_unigram.
2. kata_unigram merupakan kolom untuk menyimpan semua kata yang akan digunakan pada sistem word prediction.
3. frek_unigram merupakan kolom yang berfungsi untuk menyimpan frekuensi suatu kata. Frekuensi inilah yang berguna untuk mengurutkan kata apa yang paling sering digunakan.
4. frek_uniuser merupakan frekuensi kata yang sering digunakan oleh user. kolom ini berguna untuk jenisadaptasi recency information. Jadi, selain frekuensi kata yang sudah ditentukan sebelumnya, ada juga frekuensi kata yang sering digunakan oleh user sehingga dapat meningkatkan akurasi prediksi kata dari sistem.
(39)
B. Tbl_login
Tabel login adalah tabel yang dirancang untuk menyimpan username, password, dan nama pengguna. Rancangannya dapat dilihat pada Gambar 3.5.
Tbl_login
Primary Key id_login Integer (11) username Varchar(26) password Varchar(26) nama_login Varchar(20) Gambar 3.5 Rancangan tbl_login
Keterangan dari Gambar 3.5 :
1. PK adalah primary key dari tbl_login yaitu id_login.
2. Username merupakan kolom untuk menyimpan username pengguna. 3. Password merupakan kolom untuk menyimpan password pengguna.
4. Nama_login merupakan kolom yang digunakan untuk menyimpan informasi nama pengguna.
C. Tbl_unigramnamauser
Tabel unigramnamauser adalah tabel yang dirancang untuk menyimpan kata, frekuensi kata, dan frekuensi user, namun tiap pengguna akan mempunyai tabel dengan nama yang berbeda. Jadi, tiap pengguna akan mempunyai database kata yang berbeda. Rancangannya dapat dilihat pada Gambar 3.6.
(40)
Tbl_unigram
Primary Key id_unigram Integer(11) kata_unigram Varchar(26) frek_unigram Integer(11) frek_uniuser Integer(11) Gambar 3.6 Rancangan tbl_unigramnamauser
Keterangan Gambar 3.6:
1. PK adalah primary key dari tbl_unigram yaitu id_unigram.
2. kata_unigram merupakan kolom untuk menyimpan semua kata yang akan digunakan pada sistem word prediction.
3. frek_unigram merupakan kolom yang berfungsi untuk menyimpan frekuensi suatu kata. Frekuensi inilah yang berguna untuk mengurutkan kata apa yang paling sering digunakan.
4. frek_uniuser merupakan frekuensi kata yang sering digunakan oleh user. kolom ini berguna untuk jenisadaptasi recency information. Jadi, selain frekuensi kata yang sudah ditentukan sebelumnya, ada juga frekuensi kata yang sering digunakan oleh user sehingga dapat meningkatkan akurasi prediksi kata dari sistem.
3.3.4 Diagram Use Case
Use case diagram merupakan pemodelan terhadap cara kerja maupun tingkah laku sistem informasi yang akan dibuat. Use case mendeskripsikan interaksi tipikal antara
user dengan sistem itu sendiri dengan member sebuah narasi tentang bagaimana sistem tersebut digunakan (Fowler, 2005). Pada Gambar 3.5 akan ditampilkan fitur-fitur apa saja di dalam sistem yang bisa dimanfaatkan oleh user.
(41)
Gambar 3.7 Diagram use case sistem
3.3.5 Use case spesifikasi
Use case spesifikasi adalah dekskripsi mengenai use case diagram, menjelaskan bagaimana sebuah use case itu bekerja (Muchtar, et al. 2011). Tabel 3.2, 3.3, 3.4, .3.5, dan 3.6 menjelaskan spesifikasi use case yang digunakan dalam sistem yang akan dibangun.
Tabel 3.2 Spesifikasi use case untuk login
Nama use case login
Aktor User
Deskripsi Use case ini digunakan oleh user untuk masuk ke dalam sistem
(42)
Tabel 3.2 Spesifikasi use case untuk login (Lanjutan)
Pre Condition User harus memiliki username dan password untuk login
Characteristic of activation Eksekusi hanya dapat dilakukan oleh user
Basic flow
- User memasukkan username dan password pada form
yang tersedia, lalu klik login
- Sistem akan mengecek apakah username dan
password ada atau tidak [H-1 Akun tidak tersedia]
- Jika akun tidak ada dalam database maka user
diharuskan untuk daftar terlebih dahulu
Alternative flow
H-1 : Akun tidak tersedia
Sistem akan menampilkan pesan bahwa informasi login salah
H-2 : Field tidak diisi
Sistem akan memberikan pemberitahuan bahwa ada
field yang belum terisi. User harus mengisi field
tersebut
Post condition User dapat masuk dan menggunakan sistem
Limitation -
Tabel 3.3 Spesifikasi use case untuk input huruf Nama use case Input huruf
Aktor User
Deskripsi Use case ini digunakan oleh user untuk mengetik huruf ke dalam sistem
(43)
Tabel 3.3 Spesifikasi use case untuk input huruf (Lanjutan)
Pre Condition User harus meng-kliktombol aktif terlebih dahulu
untuk dapat mengetik huruf ke dalam sistem
Characteristic of activation -
Basic flow
- User meng-klik tombol aktif untuk agak program dapat menerima input huruf dari user
- Sistem akan mengecek huruf yang di-input oleh user
ke dalam database, apakah ada kata yang mempunyai awalan dari huruf yang di-input oleh user
[H-1 Kata tidak tersedia]
- Jika kata ada dalam database, sistem akan menampilkan 5 kata yang mempunyai frekuensi user
dan kata tertinggi pada kolom yang tersedia
Alternative flow H-1 : Kata tidak tersedia
Sistem tidak akan menampilkan apapun pada kolom yang tersedia, namun akan menambahkan kata tersebut ke dalam database setelah user menekan tombol "space" pada keyboard
Post condition User dapat memilih kata yang diinginkannya dengan menekan tombol angka 1 sampai dengan 5 pada
keyboard, sistem akan mengirim kata tersebut ke dalam
textfield yang ada
(44)
Tabel 3.4 Spesifikasi use case untuk tambah kata Nama use case Tambah kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk menambahkan kata ke dalam database
Pre Condition
-Characteristic of activation -
Basic flow
- User memasukkan kata baru, frekuensi kata, dan frekuensi user
[H-1 Kata sudah ada di dalam database] [H-2 Field tidak diisi]
- User berhasil menambah kata ke dalam database
Alternative flow
H-1 : Kata sudah ada di dalam database
Sistem akan memberikan pemberitahuan bahwa kata yang di-input oleh user sudah ada di dalam database.
User harus meng-input kata baru yang lain
H-2 : Field tidak diisi
Sistem akan memberikan pemberitahuan bahwa ada
field yang belum terisi. User harus mengisi field
tersebut
Post condition User dapat menambahkan kata baru selanjutnya ke
dalam database
(45)
Tabel 3.5 Spesifikasi use case ubah kata Nama use case Ubah kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk mengubah informasi kata yang ada di dalam database
Pre Condition
-Characteristic of activation -
Basic flow
- User memilih kata yang informasinya ingin diubah pada window yang tersedia
- User dapat mengubah isi dari field yang tersedia, isi tersebut diambil dari informasi kata yang sudah ada sebelumnya
[H-1Field tidak diisi]
- User berhasil mengubah kata yang ada dalamdatabase
Alternative flow
H-1 : Field tidak diisi
Sistem akan memberikan pemberitahuan bahwa ada
field yang belum terisi. User harus mengisi field
tersebut
Post condition User dapat mengubah informasi kata yang lain
(46)
Tabel 3.6 Spesifikasi use case untuk hapus kata Nama use case Hapus kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk kata yang ada di dalam database
Pre Condition
-Characteristic of activation -
Basic flow
- User memilih kata yang ingin dihapus pada window
yang tersedia
[H-1 Tidak memilih kata yang ingin dihapus]
- User berhasil menghapus kata yang ada dalam
database
Alternative flow
H-1 : Tidak memilih kata yang ingin dihapus
Sistem akan memberikan pemberitahuan bahwa user
harus memilih kata yang ingin dihapus
Post condition Kata tersebut sudah terhapus di dalam database
Limitation -
Tabel 3.7 Spesifikasi use case untuk cari kata Nama use case Cari kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk mencari kata yang ada di dalam daatbase
Pre Condition
(47)
Tabel 3.7 Spesifikasi use case untuk cari kata (Lanjutan)
Basic flow
- User memasukkan kata yang ingin dicari pada field
yang tersedia [H-1 Field kosong]
- Sistem menampilkan kata yang ingin dicari
Alternative flow
H-1 : Field kosong
Sistem akan menampilkan semua kata yang ada di dalam database
Post condition -
Limitation -
3.3.6 Activity Diagram
Activity diagram sistem menggambarkan urutan aktifitas dalam sistem yang sedang dirancang. Aktifitas yang digambarkan hanya secara umum, tidak secara eksak seperti pembuatan flowchart yang terstruktur. Activity diagram menjelaskan tentang kegiatan apa yang dapat dilakukan pada sistem tetapi tidak menjelaskan apa yang dilakukan oleh actor (Fowler, 2005). Activity diagram yang akan dibangun dapat dilihat pada Gambar 3.8.
Pada gambar 3.8, apabila user ingin mengaktifkan fitur prediksi kata, user
harus login terlebih dahulu, sistem akan mengecek apakah user ada atau tidak. Setelah itu user harus mengklik tombol aktifkan. Setelah itu sistem akan memanggil
KeyboardHook yang berguna untuk menerima input huruf yang user berikan melalui
keyboard. Setelah user memberikan input huruf, sistem akan mencari kata yang mempunyai awalan huruf berdasarkan dari input user. Kemudian sistem akan menampilkan kata-kata tersebut kepada user.Setelah user memilih kata-kata yang ditampilkan oleh sistem, maka sistem akan mengirimkan sisa huruf dari kata tersebut ke textfield yang tersedia.
(48)
Gambar 3.8 Activity diagram sistem (prediksi kata)
Pada Gambar 3.9, apabila user ingin menambah kata yang ada di dalam
database, user harus login terlebih dahulu, sistem akan mengecek apakah user ada atau tidak. User harus mengklik tombol tambah kata terlebih dahulu, kemudian sistem akan menampilkan window baru yang berisi kolom-kolom yang harus user isi, seperti nama kata, frekuensi kata, dan frekuensi user. Lalu sistem akan mengecek ke dalam
database apakah kata tersebut sudah terdapat didalam database atau belum. Jika kata tersebut terdapat di dalam database, sistem akan menampilkan pesan error dan meminta user untuk memasuki kata yang lain. Bila kata tersebut belum ada terdapat di dalam database, sistem akan menambah kata tersebut ke dalam database.
(49)
Gambar 3.9 Activity diagram sistem (tambah kata)
Gambar 3.10 merupakan activity diagram jika user ingin menghapus suatu kata di dalam database, user harus login terlebih dahulu, sistem akan mengecek apakah user ada atau tidak. Setelah itu User memilih kata yang dihapus, setelah memilih kata tersebut, user menekan tombol hapus. Lalu sistem akan mengecek kata tersebut di dalam database dan akan meminta konfirmasi kepada user, apakah user
ingin menghapus kata tersebut. Bila user sudah mengkonfirmasi maka kata tersebut akan dihapus dari dalam database oleh sistem.
(50)
Gambar 3.10 Activity diagram sistem (hapus kata)
Pada Gambar 3.11, apabila user ingin mengubah informasi sebuah kata, seperti nama kata, frekuensi kata, dan frekuensi user, user harus login terlebih dahulu, sistem akan mengecek apakah user ada atau tidak. Setelah itu user memilih kata yang informasinya ingin diubah. Setelah itu user harus mengklik tombol ubah kata, dan sistem akan menampilkan beberapa informasi yang ada pada kata yang dipilih oleh
user. Setelah user selesai mengubah informasi dari kata tersebut, sistem akan mengecek apakah informasi yang diisi oleh user sudah benar atau belum. Bila sudah benar, sistem akan mengubah informasi dari kata tersebut di dalam database.
(51)
Gambar 3.11 Activity diagram sistem (ubah kata)
3.3.7 Perancangan Antar Muka
Perancangan antar muka merupakan gambaran umum tentang perancangan setiap tampilan yang terdapat dalam sistem yang akan dibangun. Berikut akan dijelaskan rancangan bagian-bagian dari sistem:
a. Rancangan tampilan awal
Pada tampilan awal sistem terdapat nama aplikasi di bagian atas. Kemudian ada dua tombol, yaitu tombol aktif dan pengaturan. Kata-kata yang diprediksi juga akan ditampilkan pada tampilan ini. Rancangan tampilan seperti Gambar 3.12.
(52)
Gambar 3.12 Rancangan tampilan awal aplikasi
Keterangan :
1. Tombol aktif berguna untuk mengaktifkan prediksi kata pada sistem. Bila tombol ini ditekan, maka sistem akan mulai mengambil input
huruf yang diketik oleh user pada keyboard. Tombol ini juga berguna untuk menonaktifkan prediksi kata pada sistem.
2. Tombol pengaturan berguna untuk masuk ke halaman pengaturan.
b. Rancangan tampilan pengaturan
Pada halaman ini, user tidak hanya bisa melihat dan mencari kata-kata apa saja yang ada di dalam database. Namun user bisa menambah kata yang baru, mengubah informasi yang ada di dalam suatu kata, dan menghapus kata. Rancangan halaman ini bisa dilihat pada Gambar 3.13.
(53)
Gambar 3.13 Rancangan tampilan halaman pengaturan
Keterangan :
1. Pada field cari, user bisa mengetik kata yang ingin dicarinya, sistem akan secara otomatis menampilkan bila kata tersebut tersedia dalam database, kata tersebut akan ditampilkan pada kolom daftar kata.
2. Kolom Daftar kata berfungsi untuk menampilkan kata-kata apa saja yang ada di dalam database
3. Tombol tambah digunakan bila user ingin menambah kata baru. Bila tombol tersebut di-klik, sistem akan menampilkan halaman tambah kata.
4. Tombol ubah digunakan bila user ingin mengubah kata yang ada di dalam database. Bila tombol tersebut di-klik, sistem akan menampilkan halaman ubah kata.
5. Tombol hapus digunakan bila user ingin menghapus kata yang ada di dalam database. Bila tombol tersebut di-klik, sistem akan menghapus kata yang dipilih oleh user.
6. Pada bagian tab halaman ada tombol about yang berguna untuk menampilkan halaman about.
(54)
7. Tombol OK dan kembali berguna untuk kembali ke tampilan awal sistem.
c. Rancangan tampilan tambah kata
Pada halaman ini, user bisa menambah kata baru sekaligus menambah informasi frekuensi kata, dan frekuensi user. Rancangan tampilan bisa dilihat pada Gambar 3.14.
Gambar 3.14 Rancangan tampilan halaman tambah kata
Keterangan :
1. Tombol kembali berguna untuk kembali ke halaman pengaturan. 2. Tombol tambah berguna untuk menambah kata baru yang di-input oleh
user. Tombol ini juga akan memberitahu bisa proses menambah kata berhasil.
(55)
d. Rancangan tampilan about
Halaman ini berisi biodata penulis dan logo Universitas Sumatera Utara, yang menandakan sistem ini diproduksi oleh mahasiswa Universitas Sumatera Utara. Rancangan tampilan halaman bisa dilihat pada Gambar 3.15.
Gambar 3.15 Rancangan tampilan halaman about
e. Rancangan tampilan login
Pada halaman login, sistem menampilkan form login. User harus memasukkan
username dan password untuk masuk ke halaman berikutnya. Rancangan halaman login seperti Gambar 3.16.
(56)
Gambar 3.16 Rancangan tampilan halaman login
f. Tampilan halaman daftar
Pada halaman daftar, sistem menampilkan form pendaftaran. User harus memasukkan nama, username, dan password untuk mendaftarkan suatu akun disistem yang akan digunakan nantinya untuk menggunakan word prediction. Rancangan halaman daftar seperti Gambar 3.17.
(57)
BAB 4
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini, akan dibahas pengimplementasian dan pengujian sistem sesuai dengan analisis dan perancangan yang telah dibahas pada bab sebelumnya. Tahapan ini bertujuan untuk menampilkan hasil tampilan akhir sistem yang dibangun dan proses pengujian sistem yang nantinya dapat menghasilkan prediksi kata kepada user.
4.1 Implementasi Sistem
Sesuai dengan analisis dan perancangan yang dibuat, sistem yang akan dibuat ini akan diimplementasikan menggunakan bahasa pemrograman VB.NET untuk desktop dan
database MySQL. Kebutuhan dalam pembangunan sistem ini meliputi perangkat keras dan lunak.
4.1.1 Perangkat Keras
Spesifikasi perangkat keras yang digunakan untuk implementasi sistem adalah sebagai berikut :
Processor : Intel® Core™ 2 Duo
RAM : 2.00 GB
(58)
4.1.2 Perangkat Lunak
Spesifikasi perangkat lunak yang digunakan untuk implementasi sistem adalah sebagai berikut :
Sistem operasi : Windows 8 Pro 32-bit
Xampp : 1.8.3
Visual Basic : Visual Basic 2010 Express
NET Framework : 4.5.2
4.2 Pengujian
Sommerville (2004) berkata “Pengujian sistem dilakukan untuk mengantisipasi kemungkinan terjadinya error pada komponen ataupun pada interface dari program. Hal ini dilakukan dengan menuji apakah sistem tersebut telah memenuhi functional requirement dan non-functional requirement” .
Pengujian pada penelitian ini berfokus pada kebutuhan fungsional sistem berdasarkan input dan output dari sistem tersebut. Hasil pengujian sistem dapat diuraikan sebagai berikut.
4.2.1 Tabel pada database MySQL
Terdapat tiga tabel yang digunakan dalam penilitian ini, yaitu tbl_unigram, tbl_login, dan tbl_unigramnamuser.
a. Tabel unigram
Tabel ini terdiri dari 4 kolom yaitu kolom id_unigram, kata_unigram, frek_unigram, frek_uniuser. Tabel ini berisi kumpulan kata yang didapat dari penelitian Lanin dan teman-teman, tabel ini juga berisi frekuensi dari suatu kata dan frekuensi user dari suatu kata. Berikut tampilan tabel unigram, seperti pada Gambar 4.1.
(59)
Gambar 4.1 Tabel unigram
b. Tabel login
Tabel ini terdiri dari 4 kolom, yaitu id_login, username, password, dan nama_login. Tabel ini berisi informasi akun dari user yang sudah terdaftar di sistem. Berikut tampilan tabel login seperti pada Gambar 4.2.
Gambar 4.2 Tabel login
c. Tabel unigramnamauser
Tabel ini terdiri dari 4 kolom yaitu id_unigram, kata_unigram, frek_unigram, frek_uniuser. Tabel ini memiliki kolom yang sama seperti tabel unigram. Namun setiap user akan memiliki data kamus kata yang berbeda. Karena tabel ini akan berubah seiring dengan banyaknya jumlah user yang terdaftar. Jadi setiap user akan memiliki tabel unigram sendiri. Berikut tampilan tabel unigramnamauser seperti pada Gambar 4.3.
(60)
Gambar 4.3 Tabel unigramnamauser
4.2.2 Kasus dan hasil pengujian sistem
Adapun kasus dan hasil pengujian sistem menggunakan teknik black box adalah sebagai berikut :
a. Halaman awal
Tabel 4.1 akan menjelaskan skenario pengujian sistem dalam halaman awal. Tabel 4.1 Hasil pengujian halaman awal
No. Skenario Uji Hasil yang diharapkan Hasil pengujian 1. Mengklik tombol
tidak aktif menjadi aktif
Sistem mengaktifkan fungsi untuk mengambil input
melalui keyboard
Berhasil
2. Mengklik tombol aktif menjadi tidak aktif
Sistem menonaktifkan fungsi untuk mengambil input
melalui keyboard
Berhasil
3. Menerima input dari
keyboard user
Sistem menerima input dari
user dan mencari kata di dalam database
Berhasil
4. Menampilkan prediksi kata
Sistem menampilkan 5 prediksi kata kepada user
(61)
Tabel 4.1 Hasil pengujian halaman awal (Lanjutan)
No Skenario Uji Hasil yang diharapkan Hasil Pengujian 5. User menekan
tombol 1 sampai dengan 5 untuk mengirimkan prediksi kata ke dalam textfield
Sistem menyelesaikan sisa kata pada textfield
Berhasil
6. Mengklik tombol pengaturan
Sistem akan menampilkan halaman pengaturan
Berhasil
b. Halaman Pengaturan
Tabel 4.2 akan menjelaskan skenario pengujian sistem pada halaman pengaturan.
Tabel 4.2 Hasil pengujian halaman pengaturan
No. Skenario Uji Hasil yang diharapkan Hasil pengujian 1. Menampilkan isi
database
Sistem akan menampilkan semua kata-kata yang tersimpan di dalam database
secara Ascending
Berhasil
2. Memilih kata Sistem akan meng-highlight
kata yang dipilih oleh user
Berhasil 3. Mencari kata Sistem akan mencari kata
yang diingin oleh user dan menampilkan kata tersebut.
Berhasil
4. Mengklik tombol
About
Sistem menampilkan halaman about
Berhasil 5. Mengklik tombol
tambah kata
Sistem menampilkan halaman tambah kata
(62)
Tabel 4.2 Hasil pengujian halaman pengaturan (Lanjutan) No Skenario Uji Hasil yang diharapkan Hasil
Pengujian 6. Mengklik tombol
hapus kata
Sistem akan melakukan pengecekan terhadap kata yang ingin dihapus dan memberikan pilihan “Ya” atau “Tidak” kepada user
Berhasil
7. Mengklik tombol hapus kata tanpa memilih kata
Sistem akan melakukan pengecekan terhadap kata yang ingin dihapus dan menampilkan pesan bahwa
user belum memilih kata yang ingin dihapus
Berhasil
8. Mengklik tombol ubah kata
Sistem akan melakukan pengecekan terhadap kata yang ingin diubah dan menampilkan halaman ubah kata
Berhasil
9. Mengklik tombol ubah kata tanpa memilih kata
Sistem akan melakukan pengecekan terhadap kata yang ingin diubah dan menampilkan pesan bahwa
user belum memilih kata yang ingin diubah
Berhasil
10. Mengklik tombol OK
Sistem kembali ke halaman awal
Berhasil 11. Mengklik tombol
kembali
Sistem kembali ke halaman awal
(63)
c. Halaman tambah kata
Tabel 4.3 akan menjelaskan skenario pengujian sistem dalam menambah kata di dalam database.
Tabel 4.3 Hasil pengujian halaman tambah kata
No. Skenario Uji Hasil yang diharapkan Hasil pengujian 1. Memasukkan nama
kata, frekuensi kata dan user.
Sistem melakukan
pengecekan terhadap nama kata di dalam database lalu memasukkan kata tersebut ke dalam database dan kembali ke halaman tambah kata
Berhasil
2. Memasukkan nama kata yang salah
Sistem melakukan
pengecekan kata, lalu menampilkan pesan bahwa kata tidak berhasil masuk ke dalam database
Berhasil
3. Mengklik tombol kembali
Sistem kembali ke halaman pengaturan
Berhasil
d. Halaman ubah kata
Tabel 4.4 akan menjelaskan skenario pengujian sistem dalam menambah kata di dalam database.
(64)
Tabel 4.4 Hasil pengujian halaman ubah kata
No. Skenario Uji Hasil yang diharapkan Hasil pengujian 1. Mengubah nama
kata, frekuensi kata dan user.
Sistem melakukan
pengecekan terhadap nama kata di dalam database lalu mengubah kata tersebut ke dalam database dan kembali ke halaman tambah kata
Berhasil
2. Mengubah nama kata yang salah
Sistem melakukan
pengecekan kata, lalu menampilkan pesan bahwa kata tidak berhasil diubah ke dalam database
Berhasil
3. Mengklik tombol kembali
Sistem kembali ke halaman pengaturan
Berhasil
e. Halaman login
Tabel 4.5 akan menjelaskan skenario pengujian sistem untuk proses login user. Tabel 4.5 Hasil pengujian halaman login
No. Skenario Uji Hasil yang diharapkan Hasil pengujian 1. Memasukkan
username dan
password
Sistem akan melakukan pengecekan akun, lalu masuk ke halaman awal
Berhasil
2. Memasukkan
username atau
password yang salah
Sistem melakukan
pengecekan akun, lalu menampilkan pesan bahwa tidak berhasil untuk login
(65)
f. Halaman daftar
Tabel 4.6 akan menjelaskan skenario pengujian sistem untuk proses daftar
user.
Tabel 4.6 Hasil pengujian halaman daftar
No. Skenario Uji Hasil yang diharapkan Hasil pengujian 1. Memasukkan nama,
username dan
password
Sistem akan melakukan pengecekan akun, lalu menampilkan pesan bahwa akun berhasil didaftar ke dalam database
Berhasil
2. Mengosongkan field
yang harus diisi
Sistem menampilkan pesan bahwa ada field yang belum terisi
Berhasil
4.3 Pengujian Kinerja Sistem
Pada pengujian kinerja sistem akan dijelaskan hasil perancangan sistem yang telah dibuat, Hasil dari tiap halaman di dalam sistem adalah sebagai berikut :
a. Halaman Login
Gambar 4.4 menampilkan halaman login dari sistem yang telah dibuat. Pada halaman ini user mengisi form yang tersedia agar dapat menggunakan sistem word prediction.
(66)
Gambar 4.4 Halaman login
b. Halaman awal
Gambar 4.5 menampilkan halaman awal dari sistem yang telah dibuat. Pada halaman ini user dapat mengaktifkan prediksi kata, melihat kata yang diprediksi oleh sistem, dan membuka halaman pengaturan.
Gambar 4.5 Halaman Awal Non-aktif
Pada Gambar 4.6 merupakan halaman awal ketika user sudah mengklik tombol tidak aktif menjadi aktif. Sistem akan dapat menerima input dari user dan mencari kata yang diinginkan oleh user di dalam
database. Pada Gambar 4.6 user mengetik huruf “m”, lalu sistem
menampilkan kepada user 5 kata yang berawalan huruf “m” dan mempunyai frekuensi tertinggi di dalam database.
(67)
Gambar 4.6 Halaman Awal Aktif
c. Halaman pengaturan
Pada halaman pengaturan, sistem menampilkan semua kata yang tersimpan di dalam database kepada user. Sistem juga memuat fitur untuk mencari kata apabila user ingin mencari suatu kata di dalam
database. Pada halaman ini juga memuat tombol-tombol seperti tombol halaman about, tambah, hapus, dan ubah kata. Gambar 4.7 menampilkan halaman pengaturan pada sistem.
(1)
87 Dari Tabel 4.10 didapatkan bahwa skor rata-rata terendah (20) terdapat pada aspek heuristik yang kedua, yaitu fitur-fitur sistem. Sedangkan nilai tertinggi (24) terdapat pada aspek banyaknya hasil prediksi kata dan keystroke saving (KS). Rata yang didapatkan dari keseluruhan aspek heuristik adalah 22.8, yang berarti aspek tersebut berada pada tingkatan sangat puas.
(2)
BAB 5
KESIMPULAN DAN SARAN
Pada bab ini akan dibahas kesimpulan dan saran yang diperoleh dari sistem word prediction berbasis word frequencies. Berikut penjabarannya.
5.1 Kesimpulan
Berdasarkan hasil dari pengujian data yang telah dilakukan didapat beberapa kesimpulan, yaitu :
a. Dari sistem yang telah dibuat, sistem berhasil memprediksi kata yang ingin diketik oleh user tergantung dari konteks tulisan yang ingin diketik.
b. Sistem mampu mengirimkan hasil prediksi ke dalam textfield aplikasi pengolah kata seperti notepad, Microsoft word, dan Gmail dengan memanfaatkan Windows API.
c. Diperlukan database yang cukup besar agar dapat menampung kata-kata bahasa Indonesia lainnya yang belum ada di dalam database.
d. Sistem mampu menghasilkan KS (Keystroke Saving) sebanyak 26% sampai dengan 34% tergantung dari teks yang diketik.
e. Hasil kuesioner evaluasi heuristic dengan menggunakan Skala Likert memperlihatkan bahwa sistem word prediction berbasis word frequencies mendapatkan nilai rata-rata 22.8, yang berarti pengguna sangat puas menggunakan sistem ini dan sistem ini dapat mempermudah pengguna dalam mengetik khususnya bagi yang berkebutuhan khusus seperti autis.
(3)
89
5.2 Saran
Penelitian ini masih dalam tahap pengembangan awal, karena masih minimnya sistem word prediction yang menggunakan database berbahasa Indonesia. Diharapkan untuk penelitian berikutnya dilakukan penambahan fitur seperti fitur text to speech, jadi sistem tersebut dapat juga mengeja kata-kata yang diselesaikan oleh sistem sehingga pengguna dapat mengetahui bagaimana cara mengeja kata tersebut. Fitur mengkoreksi kata akan sangat berguna agar dapat meminimalisasikan kesalahan pengguna ketika mengetik huruf. Perlunya untuk memperbesar database karena keakuratan sistem tergantung dari banyaknya kata di dalam database.
(4)
DAFTAR PUSTAKA
Abidin, T.F. 2014. Binary Search. (Online)
http://www.informatika.unsyiah.ac.id/tfa/ds/binarysearch.pdf (22 November 2014).
Afifah, N., Santoso, T.B., Yuliana, M. 2010. Pembuatan Kamus Elektronik Kalimat Bahasa Indonesia dan Bahasa Jawa untuk Aplikasi Mobile Menggunakan Interpolation Search. Skripsi. Politeknik Elektronika Negeri Surabaya
Alimin, Z. 2012. Anak Berkebutuhan Khusus. (Online) http://file.upi.edu/Direktori/FIP/JUR._PEND._LUAR_BIASA/19590324198403 1-ZAENAL_ALIMIN/MODUL_1_UNIT_2.pdf (13 Januari 2014).
Arnott, J. L., Pickering, J. A., Swiffin, A. L., and Battison. 1984. An adaptive and predictive communication aid for the disable exploits the redundancy in natural languange. In Proceedings of the 2nd International Conference on Rehabilitation Engineering, pages 349-350, Ottawa.
Carlberger, A., Carlberger , J., Magnusoon, T., Hunnicut, S., Palazuelos-Cagigas, S. E., and Navarro, S. A. 1997. Profet, a new generation of word prediction: An evaluation study. In Copestake, A,, Langer, S., and Palazuelos-Cagigas, S., editors, Natural languange processing for communication aids, Proceedings of a workshop sponsored by ACL, pp 23-28, Madrid.
Coppin, Ben. 2004. Artificial Intelligence Illuminated. United States of America: Jones and Bartlett.
Cormen, Thomas H.; Leiserson, Charles E., Rivest, Ronald L. 1990. Introduction to Algorithms (1st ed.). MIT Press and McGraw-Hill. ISBN 0-262-03141-8.
Fazly, A. 2002. The Use of Syntax in Word Completion Utilities. Tesis. University of Toronto.
(5)
91 Lanin, I., Geovedi, J., & Soegijoko. W. 2013. Perbandingan distribusi frekuensi kata bahasa Indonesia di Kompas, Wikipedia, Twitter, dan Kaskus. In Proceedings of Konferensi Linguistik Tahunan Atma Jaya Kesebelas (KOLITA11) (pp. 249-252).
Lantana, D.A. 2012. Analisis Algoritma Binary Search. (Online) http://dhiekalantana.blog.unas.ac.id/files/2012/09/binary-search-analysis.pdf (15 November 2014).
Lewis, R. B., Graves, A. W., Ashton, T. M., & Kieley, C. L. 1998. Word Processing tools for students with learning disabilities: A comparison of strategies to increase text entry speed. Learning Disabilities Research & Practice, 13, pp. 95-108.
MacArthur, C. 1998. Word Processing with speech synthesis and word prediction: Effects on the dialogue journal writing of Students with learning disabilities. Learning Disabilities Quarterly, 21, pp. 151-166.
Muchtar, M. A., Sani M. F. 2011. Modul Praktikum Desain Perangkat Lunak. Modul Praktikum. Medan, Indonesia: Universitas Sumatera Utara.
Nantais, T., Shein, F., and Johansson, M. 2001. Efficacy of the word prediction al-gorithm in WordQ. In Proceedings of the 24th Annual Conference on Technology and Disability. RESNA.
Nilson. J, N. 1998. Artificial Intelligence : A New Synthesis. USA : Morgan Kaufmann Publisher.
Pamoedji, G. 2010. 200 Pertanyaan & Jawaban Seputar Autisme. Jakarta : Yayasan MPATI.
Sommerville, I. 2004. Software Engineering Seventh Edition. Pearson/Addison-Wesley: New York.
Steane, A.M. 2009. Quick Introduction to Windows API. The University of Oxford Departmend of Physics, 2 April 2009 (diakses 14 November 2014).
(6)
Sugianto, S. A., Liliana, Rostianingsih, S. 2013. Pembuatan Aplikasi Predictive Text Menggunakan Metode N-Gram-Based. Jurnal Infra, Volume 1 No 2, pp. 125-130.
Trnka, K., & McCoy, K. F. 2008. Evaluating Word Prediction: Framing Keystroke Savings. Proceeding HLT-Short ’08 Proceedings of the 46th Annual Meeting of
the Association for Computational Linguistic on Human Languange Technologies, pp. 261-264.
Tumlin, J., & Heller, K. 2004. Using word prediction software to increase typing fluency with students with physical disabilities. Journal of Special Education Technology, 19(3).