Minggu, 30 Januari 2011

Membuat Aplikasi di Linux dengan GTK+ dan Pascal

Beberapa waktu yang lalu, kami STEI 2010 mendapatkan tugas. Ya, sebuah project yang akan mengakhiri malam-malam Lailatul Qoding selama ini. Tugas ini disebut Tugas Besar PTI A, membuat suatu project yang merepresentasikan apa yang telah kami pelajari selama kuliah.
Untuk Tugas Besar ini kami dibentuk dalam beberapa kelompok dengan masing-masing kelompok beranggotakan 3 orang. Saya pun membentu sebuah kelompok bernama Starlight.
Project yang diberikan adalah sebuah aplikasi mini dengan master desain ditentukan oleh pihak dosen. Saya pun memunyai sebuah inisiatif, bagaimana jika program yang kami, tim Starlight, buat berbentuk window. Tentu saja ini adalah hal yang luar biasa, terutama platform yang kami garap nggak main-main, linux. Ya, kami memang gila dengan membuat aplikasi untuk linux dan saat saya berkata demikian, saya belum tahu apa-apa tentang bagaimana cara membuat aplikasi GUI di linux, bahkan saya nggak tahu linux itu kayak gimana modelnya *nah lho*. Ini emang beneran, tapi saya nggak main-main dengan niat saya tersebut (cieee....)
Akhirnya saya melakukan sebuah riset sederhana dan mencari segala data yang diperlukan. Riset dibatasi 2 hari karena hari-hari selanjutnya digunakan untuk pengerjaan program.
Kok malah jadi curhat ya? Ok, langsung aja saya berbagi tutorial bagaimana cara bikin aplikasi GUI di linux dengan GTK+ dan Pascal (actually I didn't really like Pascal @@~) 

#------------------------------------------------------------------------ CHAPTER 1 - Set up the Compiler

Yang saya pakai adalah compiler FreePascal. Dan untungnya FPC telah menyediakan wrapper untuk gtk, horee...!! Dalam pengerjaan aplikasi ini, saya menggunakan Ubuntu Linux 10.10 Maverick Meerkat (thanks buat Inov yang udah meminjamkan CD Ubuntu buat saya :D).
Jangan lupa untuk menginstall library untuk development GTK.. lakukan perintah berikut
sudo apt-get install libgtk2.0-dev

OK, jika sudah maka teman-teman sudah bisa membuat aplikasi sederhana dengan GTK

#------------------------------------------------------------------------ CHAPTER 2 - Simple Form

Apa itu GTK+? GTK adalah toolkit yang digunakan untuk pengembangan aplikasi GUI di linux berbasis GNOME. Dalam membuat aplikasi GTK sebenarnya kita seperti bermain lego. Kita meletakkan potongan-potongan bangunan untuk membentuk sebuah bangunan utuh. Potongan-potongan yang dimaksud di sini adalah komponen visual seperti button, menu, dkk. Komponen itu disebut sebagai widget. Nah kita menyusun potongan-potongan tersebut di atas sebuah form / window.
Hal pertama yang dilakukan untuk membuat aplikasi adalah membuat sebuah window terlebih dahulu. Coba teman-teman simak source code sederhana ini yang akan membuat sebuah form sederhana.
program sederhana;

uses gtk2, gdk2, glib2;
{ Library yang kita gunakan untuk membuat GUI }

var window : pGtkWidget;
{ Membuat sebuah variabel bertipe pGtkWidget untuk menampung widget / komponen }

begin
{ Sebelum kita memulai, kita harus beritahu bahwa kita akan menggunakan gtk. Maka kita harus inisialisasi gtk terlebih dahulu }
gtk_init(@argc, @argv);

{ Membuat window }
gtk_window_new(GTK_WINDOW_TOPLEVEL);
{ Membuat window yang top level atau window yang dikelola langsung oleh komputer (Window Manager) }

{ Sedikit pengaturan untuk window kita }
gtk_window_set_default_size(GTK_WINDOW(window), 800,600);
gtk_window_set_title(GTK_WINDOW(window), 'Satria Ady Pradana');
{ Dari nama udah kelihatan kan? }

{ Mengatur signal. Signal adalah semacam message atau pesan yang diberikan ketika sesuatu hal terjadi pada aplikasi, seperti saat sebuah button ditekan dkk. GTK adalah sebuah library yang event-driving. Jadi kita akan memprogram berdasarkan event-event }
gtk_signal_connect(GTK_OBJECT(window), 'destroy,' GTK_SIGNAL_FUNC(@gtk_main_quit), nil);
{
Penjelasan:
Parameter pertama adalah widget / komponen yang ingin dikelola
Parameter kedua adalah jenis event yang terjadi. Disini kita pakai 'destroy' artinya saat window di-destroy atau ditutup maka program akan mengeksekusi program berikut.
Parameter ketiga adalah fungsi yang dipanggil ketika event terjadi. Untuk sementara kita pakai fungsi ini dulu, gtk_main_quit() yang akan membersihkan dan mengakhiri proses program.
Parameter keempat adalah data yang diberikan jika fungsi dipanggil. kita isi nil dulu karena kita nggak perlu ngasih apa-apa ke sana.
}

{ Secara default, komponen yang baru terbentuk belum tertampil ke layar. Untuk menampilkannya kita harus "menampilkannya" }
gtk_widget_show(window);

{Memulai program utama gtk, di sini pekerjaan kita selesai}
gtk_main();

end.

Simple kan? Ya emang.... Untuk membuat aplikasi sederhana tidak terlalu susah :D
Lalu bagaimana kalau kita ingin bikin tombol dkk?
Tunggu postingan selanjutnya :D


Tidak ada komentar: