Prinsip Kerja Keyboard TINJAUAN PUSTAKA

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