Friday, November 25, 2011

[Ubuntu] Masalah dan solusi geany

Silahkan baca Disini mengenai geany. problem ini bermasalah pada #include <conio.h> dan getch() dan beberapa masalah lain yang mungkin juga terdapat dalam struktur C++ dalam geany, include sendiri ialah pengarah prepocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya Tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk pernyataan, tetapi merupakan prepocessor directive.

Baris #include menginstrusikan kepada kompiler untuk menyisipkan file lain dalam hal ini file yang berakhiran .h (file header) yaitu file yang berisi C++ standard library tepatnya pada #include <conio.h>  diperlukan bila melibatkan clrscr(), yaitu perintah untuk membersihkan layar dan fungsi getch() untuk menerima sembarang input keyboard dari user.

Dari beberapa refrensi yang saya temukan bahwa getch() hanya berjalan pada platfrom windows tepatnya di jalankan melalui borland C++. jelas bila getch() saja tidak ada bagaimana dengan penyelesaian dalam <conio.h> . beberapa refrensi menyarankan agar menggunaka #include <iostream> atau #include <cstdio> sebagai alternatif prepocessor directive di geany dan beberpa compliler programing lain seperti netbeans dll.

Agar source yang di eksekusi berjalan dengan nyaman tidak ada salahnya kita menginstall beberapa prangkat lengkap dari geany

Install geany beserta geany-plugin :

sudo add-apt-repository ppa:geany-dev/ppa
sudo apt-get update
sudo apt-get install geany geany-plugins

Install ncurses-dev :
sudo apt-get update
sudo apt-get install ncurses-dev

Setelah menginstall ncurses-dev kitao dapat meng-complie source dengan perintah # cc a.c -o a -l ncurses.

Salah satu kemabaran conion.h yaitu gconion.h silahkan baca disini
http://www.wence.vandermeersch.org/gconio/

Alternatif lain yaitu dengan terus mempelajari lebih dalam logika programing :P hehehe....

Pada contoh sederhana dibawah, program dapat berjalan lancar di borland C++ windows namun tidak halnya dengan compiler di linux, berhubungan saya pengguna linux jadi saya tetap mempertahankan problem ini. :D
#include <stdio.h>
#include <conio.h>
main()
{
int p, l, t;
clrscr();
printf("Panjang = ");
scanf("%d", &p);
printf("Lebar = ");
scanf("%d", &l);
t=p*l;
printf("Hasil = %d", t);
getch;
}

Alertnatif lain saya merubah conio.h dengan termios.h agar dapat di terima input dari user, beberapa penambahan pada init main (), di lakukan sebelum kita meng-input tipe data dan retrun 0; sebagai pengganti getch().
#include <stdio.h>
#include <termios.h>
int main()
{
int p, l, t;
printf("Panjang = ");
scanf("%d", &p);
printf("Lebar = ");
scanf("%d", &l);
t=p*l;
printf("Hasil = %d", t);
return 0;
}

ok Sekian dulu bila ada yang salah, silahkan koment dan tambahkan, semoga dapat membantu temen-temen semua. :)

I am a fan of technology and i love coffee. I’m also interested in web programming and networking. below there are some accounts you can follow to contact me.