kata yang dia tidak tahu maknanya. Kebanyakan orang mengetik sambil melihat kata yang diketik dengan letak huruf di keyboard. Sedikit orang yang bisa mengetik tanpa
sama sekali melihat huruf di keyboard dan hanya fokus pada kata yang diketik. Namun demikian, yang bersangkutan tetap akan mengalami kesulitan saat dia diharuskan
mengetik kata-kata dengan huruf acak dan tidak bermakna. Akibatnya pola pengetikan yang dihasilkan menjadi tidak konsisten.
Penelitian ini dilakukan untuk pengguna di Indonesia, maka kata-kata bermakna yang digunakan harus dalam bahasa Indonesia. Bahasa Indonesia mempunyai ciri khas
berbeda dibandingkan bahasa lainnya dalam pemilihan karakter baik vokal maupun konsonan dalam penyusunan kata. Sebagai contoh, jika bahasa Inggris banyak
menggunakan huruf e, maka bahasa Indonesia banyak menggunakan huruf a. Penelitian pendahuluan telah dilakukan lampiran 1 dengan tujuan untuk
mengetahui pasangan karakter apakah yang frekwensinya paling sering muncul dalam bahasa Indonesia. Penelitian pendahuluan melakukan analisis terhadap kata-kata yang
dipilih acak dan berjumlah 756 kata yang terdiri atas kata-kata bermakna tumbuhan, tempat, hewan dan perkakas. Analisis dilakukan sedemikian rupa sesuai dengan ruang
lingkup penelitian untuk memperoleh pasangan karakter yang menggambarkan pergerakan jari kanan dan kiri saja. Kesimpulan penelitian pendahuluan me njelaskan
bahwa pasangan karakter tertentu yang paling sering muncul dalam bahasa Indonesia adalah pasangan karakter an, ng, la,en, ka dalam lima besar terbanyak dengan
persentase total 25. Berdasarkan kesimpulan tersebut, maka penelitian analisis penekanan kunci
dinamik terhadap pengguna berbahasa Indonesia difokuskan hanya pada kata-kata yang mengandung pasangan karakter terbanyak dalam lima besar diatas dan tidak perlu
difokuskan pada penggunaan karakter yang jarang atau tidak pernah ditemui sebagai contoh, zy, xh, cb. Disatu sisi, ini berarti memperkecil ruang lingkup kemungkinan
penggunaan semua pasangan karakter yang mungkin yakni 26x26 dan secara teknis akan memperkecil ukuran basis data dan kecepatan pemrosesan saat pelatihan
maupun verifikasi.
2.5 Prinsip Kerja Keyboard
Gambar 13 menerangkan lebih lanjut blok diagram elektronik sebagai berikut. Ketika kunci keyboard ditekan atau ketika dilepaskan, keyboard Controller
mengirimkan scancode secara serial ke keyboard Interface dalam PC. keyboard interface
mencek jika keyboard diaktifkan dan jika aktif akan melakukan Hardware Interrupt
IRQ0 ke Programmable Interrupt Controller PIC. PIC kemudian mengirimkan scancode yang dikonversikan secara parallel ke Programmable Peripheral Interface
PPI. PIC yang menerima interupsi hardware IRQ0 dari keyboard kemudian mengirimkan interupsi hardware IRQ ke CPU agar CPU melakukan penempatan alamat
9h ke dalam bus data. CPU kemudian segera lompat ke proses untuk segera melayani prosedur Interrupt Services routine 9h didalam BIOS. Proses tersebut akan mengambil
scancode dari IO port 60h yang dimiliki oleh PPI.
Gambar 13 Blok Diagram Elektronik Keyboard
Scancode tersebut diubah ke dalam kode ASCII dan disimpan dalam keyboard
Buffer dalam BIOS di tempat sementara yang sudah dialokasikan 0000:041E. Setiap
masukan dalam antrian terdiri atas dua nilai 8-bit berupa ASCII di Low Byte dan SCANCODE
di High Byte. Ketika User Program akan membaca sebuah key, maka program tersebut akan melakukan interrupt 16h. Interrupt 16h ini akan mencek antrian
keyboard pada BIOS untuk melihat jika sebuah tombol telah ditekan atau dilepaskan.
Kapan terjadinya Interrupt 9h INT 09h saat tombol ditekan dan dilepas akan direkam waktunya dan data ini kemudian diolah untuk mendapatkan data input yang
diinginkan. Contoh kutipan kode program dalam MS Visual C++ dengan Microsoft Foundation Class
MFC sebagai berikut.
BOOL CMyApp::PreTranslateMessageMSG pMsg { BOOL ok=FALSE;
if pMsg-message == WM_KEYDOWN { if pMsg-wParam == your codes here look for specific codes you are interested
in {
pMsg-time ... do something with the time } } else if pMsg-message == WM_KEYUP {
if pMsg-wParam == your codes here look for specific codes you are interested in
{ pMsg-time ... do something with the time }}
return CWinApp::PreTranslateMessagepMsg; } Dari hasil penelitian sebelumnya dan penelitian pendahuluan diketahui bahwa
disain piranti keras keyboard lebih menekankan pada perekaman karakter yang masuk daripada informasi waktu kapan tombol ditekan atau dilepas. Ini merupakan kendala
tersendiri dalam mendesain program sesuai dengan sifat piranti keras tersebut. Dalam pengetikan yang dilakukan cepat, seringkali urutan tombol tekan dan
lepas sedemikian cepatnya sehingga perekaman waktu menjadi tidak tepat. Oleh karena itu, pembatasan diperlukan sehingga pembacaan yang tepat dan sah adalah apabila
urutan pengetikan dipatuhi yakni tombol 1 ditekan – tombol 1 dilepas – tombol 2 ditekan – tombol 2 dilepas. Jika urutan tersebut tidak diikuti, maka pembacaan oleh program
menjadi tidak tepat dan harus dilakukan pengulangan kembali.
2.6 Jaringan Syaraf Tiruan