2.1 Anak Berkebutuhan Khusus (ABK) - Word Prediction Menggunakan Windows API Berbasis Word Frequencies

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

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 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 =

  × 100% (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:

  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.

  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) : kunci−k]min]

  P =

  [ ]− [ ]

  (2.2) 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:

  prefix\ , … ppw pw cw Dimana ppw dan pw adalah dua kata terakhir yang telah selesai diketik, atau dua kata sebelum kata yang akan diketik, dan cw prefix merupakan prefiks dari kata yang akan diketik oleh pengguna. W didefinisikan sebagai kumpulan semua kata yang yang

  prefix

  diawali oleh prefiks cw . 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, 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. Modul WordQ menggunakan statistik kata unigram dan bigram yang bisa 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).

  (PAL) merupakan suatu perangkat lunak

  Predictive Adaptive Lexicon

  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.

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, dan lain-lain.

Dokumen yang terkait