Word Prediction Menggunakan Windows API Berbasis Word Frequencies

(1)

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).