Orang boleh pandai setinggi Langit, tapi selama ia tak menulis ia akan hilang di dalam masyarakat (Pramoedya Ananta Toer)

Interaksi Dengan Keyboard

Rabu, 01 Mei 2013


Pada kesempatan kali ini saya akan berbagi informasi menegnai materi grafika komputer yaiyi Interaksi dengan Keyboard .  Semoga bermanfaaat :)
  1. Pengertian Keyboard

     Keyboard merupakan unit input yang paling penting dalam suatu pengolahan data dengan komputer. Keyboard dapat berfungsi memasukkan huruf, angka, karakter khusus serta sebagai media bagi user (pengguna) untuk melakukan perintah-perintah lainnya yang diperlukan, seperti menyimpan file dan membuka file. Penciptaan keyboard komputer berasal dari model mesin ketik yang diciptakan dan dipatentkan oleh Christopher Latham pada tahun 1868, Dan pada tahun 1887 diproduksi dan dipasarkan oleh perusahan Remington. Keyboard yang digunakanan sekarang ini adalah jenis QWERTY, pada tahun 1973, keyboard ini diresmikan sebagai keyboard standar ISO (International Standar Organization). Jumlah tombol pada keyboard ini berjumlah 104 tuts. Keyboard sekarang yang kita kenal memiliki beberapa jenis port, yaitu port serial, ps2, usb dan wireless.
 Jenis-Jenis Keyboard :
  1. QWERTY
  2. DVORAK
  3. KLOCKENBERG


Keyboard yang biasanya dipakai adalah keyboard jenis QWERTY, yang bentuknya ini mirip seperti tuts pada mesin tik. Keyboard QWERTY memiliki empat bagian yaitu :
  1. typewriter key
  2. numeric key
  3. function key
  4. special function key.


Fungsi dasar pembuatan animasi dengan menggunakan KeyboardFunction
      GLUTAPI void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));  
Dalam penggunaan glutKeyboardFunc dimungkinkan untuk mendeteksi input dari keyboard. Fungsi ini diletakkan pada fungsi main dari program, dan parameternya adalah callback function yang telah didefinisikan berupa fungsi dengan 3 parameter, seperti contoh di bawah ini.

void myKeyboard(unsigned char key, int x, int y){

          if(key == ‘a’) glTranslatef(4,0,0); //seleksi tombol yang ditekan

}
void mySpecialKeyboard(int key, int x, int y){

          switch(key){

               case GLUT_KEY_??? : …; break;

          }

}
 Agar fungsi keyboard ini dapat dideteksi terus maka fungsi untuk  animasi (update) harus telah disertakan. Untuk fungsi callback yang memanggil tombol keyboard normal/biasa adalah
glutKeyboardFunc(myKeyboard); //hanya memanggil fungsi myKeyboard
sedangkan untuk mendeteksi tombol-tombol keyboard yang bersifat spesial seperti tombol F1, arah panah, Home, Enter, dsb dapat menggunakan callback function. 
glutSpecialFunc(mySpecialKeyboard); //hanya memanggil fungsi mySpecialKeyboard


Contoh penerapan Interaksi keyboard ini adalah pada syntax berikut ini yang menampilkan perputaran pada baling-baling apabila menggunakan keyboard :

#include <stdlib.h>
#include <glut.h>


void Draw(void){
      glBegin(GL_TRIANGLES);
      glClear(GL_COLOR_BUFFER_BIT);
      glVertex2d(0,0);
      glVertex2d(-150,200);
      glVertex2d(150,200);
      glVertex2d(0,0);
      glVertex2d(-150,-200);
      glVertex2d(150,-200);
      glEnd();
}

void display(void){
      glClear(GL_COLOR_BUFFER_BIT);
      glColor3f(1.,0.,0.);
      Draw();
      glFlush();
}

void timer(int value){
      //variable update here
     
      glutPostRedisplay();   
      glutTimerFunc(50,timer,0);
}

void myKeyboard(unsigned char key,int x,int y){
      if(key == 'k')
            glRotatef(-10,0,0,1);  
      else if(key == 'l')    
            glRotatef(10,0,0,1);
}
void main(int argc, char **argv){
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
      glutInitWindowPosition(100,100);
      glutInitWindowSize(500,500);
      glutCreateWindow("baling-baling");
      gluOrtho2D(-320,320,-320,320);
      glutDisplayFunc(display);
      glutTimerFunc(50,timer,0);
      glutKeyboardFunc(myKeyboard);
      glutMainLoop();
}


Hasil Outputnya adalah sebagai berikut :

Keterangan :
Dari program diatas terdapat dua tampilan program baling baling secara clockwise dan unclockwise. Jika ditekan tombol k pada keyboard ditekan maka object akan bergerak clock wise seperti terlihat pada gambar. Jika ditekan tombol l pada keyboard ditekan maka object akan bergerak unclock wise seperti terlihat pada gambar tersebut. Interaksi antara program dengan keyboard dapat terjadi karena dalam glut terdapat fungsi yang dapat menghubungkan program dengan input device yaitu keyboard.



Share this article :

0 komentar:

Speak up your mind

Tell us what you're thinking... !

 
Support : Copyright © 2011. Indrie's Site - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger