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 = RoundPmax-min + min
2.3 Algoritma prediksi
Umpamakan pengguna mengetik suatu kalimat, dan rangkaian kata-kata dari kalimat tersebut yang sudah diketik adalah:
… ppw pw cw
prefix\
, 2.2
Universitas Sumatera Utara
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
diawali oleh prefiks cw
prefix
. 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,
Universitas Sumatera Utara
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