SlideShare a Scribd company logo
TUTORIALUlasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
79INFOLINUX MARET 2004www.infolinux.web.id
D
ari sekian banyak programer
Internet di dunia, ada seorang
yang bernama Andrei Zmievski
yang memiliki ketertarikan lain pada PHP.
Dia melihat bahwa PHP bisa juga dijadikan
sebagai bahasa pemrograman untuk
lingkungan desktop. Ide awalnya adalah
ketika dia melihat implementasi GTK+
pada Python dan Perl. Kalau GTK+ bisa
diimplementasikan pada Python dan Perl,
mengapa tidak jika GTK+ diimplementasi-
kan pada PHP.
Andrei Zmievski lalu meminta bantuan
James Henstridge (pengembang PyGTK)
untuk mengimplementasikan GTK+ pada
PHP. Di bulan Agustus 2000, lahirlah PHP-
GTK. PHP-GTK adalah ekstension PHP
pertama yang menjadikan PHP sebagai
bahasa untuk lingkungan desktop. Awalnya
PHP-GTK hanya bisa berjalan di lingkungan
Linux saja, namun setelah Andrei Zmievski
menyelesaikan sebagian proyek PHP-GTK-
nya, dia menunjukkan kode PHP-GTK
kepada Frank Kromann, dan dengan
bantuan Frank Kromman, PHP-GTK bisa
dijalankan di lingkungan Windows juga.
Instalasi PHP-GTK di Linux
PHP-GTK bisa di-download di http://
gtk.php.net/download.php/. Untuk Linux
pilih file source code PHP-GTK.
Karena PHP-GTK adalah ekstension PHP
dan tidak bisa berdiri sendiri, maka sebelum
menginstal dan menggunakan PHP-GTK,
Anda harus memiliki PHP terlebih dahulu.
Anda harus menginstal PHP sebagai binary/
CGI bukan sebagai Apache Modul.
Jika Anda belum memiliki PHP, silakan
download source code PHP di http://
www.php.net/downloads.php. PHP yang
harus Anda gunakan minimal versi 4.2.3.
Secara umum, instalasi PHP adalah
sebagai berikut:
Extract file source code PHP, misalkan
file source code PHP adalah php-
4.3.3.tar.gz.
#tar -xvzf php-4.3.3.tar.gz
Akan terbentuk sebuah direktori yang
berisi source code PHP. Misalkan
direktorinya adalah php-4.3.3. Masuklan
ke dalam direktori tersebut.
#cd php-4.3.3
Jalankan skrip configure untuk
memeriksa sistem dan mempersiapkan
file-file untuk proses kompilasi.
#./configure
Anda bisa memberikan parameter -with-
mysql agar PHP mendukung MySql, tapi
jangan gunakan opsi -with-apache,
misalkan:
#./configure —with-mysql
Jalankan skrip make untuk melakukan
proses kompilasi source code PHP.
#make
Jalankan skrip make sekali lagi dengan
opsi install untuk menginstal file-file hasil
kompilasi ke direktori yang bersesuaian.
#make install
Bisa terjadi proses instalasi PHP tidak
berjalan dengan baik. Jika ada masalah,
Anda dapat mencari jawabannya di http://
www.php.net.
Setelah instalasi PHP selesai, Anda
dapat melanjutkannya dengan proses
instalasi PHP-GTK. Secara umum instalasi
PHP-GTK adalah sebagai berikut:
Extract file source code PHP-GTK,
misalkan file source code PHP-GTK
adalah php-gtk-0.5.2.tar.gz.
#tar -xvzf php-gtk-0.5.2.tar.gz
Akan terbentuk sebuah direktori yang
berisi source code PHP-GTK. Misalkan
direktorinya bernama php-gtk-0.5.2.
Masuklah ke dalam direktori tersebut.
#cd php-gtk-0.5.2
Jalankan skript buildconf untuk men-
setup file-file yang diperlukan dan
membuat skrip configure.
#./buildconf
Jalankan skrip configure yang telah
dibuat secara otomatis pada proses
sebelumnya.
#./configure
Jalankan skrip make untuk
mengkompilasi source code PHP-GTK.
#make
Jalankan skrip make lagi dengan opsi
install untuk menginstal PHP-GTK pada
direktori default extention PHP.
#make install
Pada beberapa kasus, instalasi tidak
berjalan mulus. Misalkan pada RH 7.3 ke
atas, proses kompilasi tidak berjalan
dengan sempurna dan berhenti di tengah
jalan. Jika hal tersebut terjadi, cobalah
untuk mengubah isi file php.ini. Biasanya
file php.ini ada di direktori /etc/php.ini. Tapi
jika tidak coba cari dengan cara:
php -i | grep ini
Buka file php.ini, dan cari statement
sebagai berikut.
memory_limit = 8MB
Ubahlah nilainya menjadi 64MB, lalu
jalankan kembali skrip make. Jika masih
ada kesalahan atau ada masalah lain
selama proses instalasi, silakan untuk
mencari penyelesaiannya di http://
gtk.php.net.
Jika proses instalasi berjalan dengan
baik, cobalah untuk masuk ke lingkungan
XWindow, dan buka terminal emulator.
Ketika dilahirkan, PHP adalah sosok bahasa pemrograman khusus untuk
lingkungan web. Sejak dilahirkan hingga sekarang, popularitas PHP sangat
luar biasa. Rasanya tidak ada satu orang pun yang berkecimpung dalam
dunia Internet tidak mengenal PHP, bahkan PHP sudah dianggap bahasa
pemrograman yang wajib dikuasai oleh setiap programer web.
PHP-GTK
PHP-GTK
TUTORIAL Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
www.infolinux.web.id80 INFOLINUX MARET 2004
Masuk ke direktori test pada direktori php-
gtk, dan jalankan file gtk.php sebagai
berikut.
php -q gtk.php
Jika Anda melihat tampilan seperti
Gambar 1, berarti proses instalasi PHP-GTK
telah sukses dan siap untuk belajar PHP-
GTK.
Hello World
Aplikasi PHP-GTK pertama yang akan Anda
pelajari di sini adalah aplikasi ‘Hello World’.
<?php
if (!class_exists(‘gtk’)) {
if (strtoupper(substr(PHP_OS, 0, 3) ==
‘WIN’)) {
dl(‘php_gtk.dll’);
} else {
dl(‘php_gtk.so’);
}
}
function shutdown()
{
gtk::main_quit();
}
$mainwin = &new GtkWindow();
$mainwin->connect(‘destroy’, ‘shut
down’);
$mainwin->set_title(‘PHP-GTK :)’);
$button = &new GtkButton(‘Hello World!
Joy to the world’);
$button->connect(‘clicked’, ‘shutdown’);
$mainwin->add($button);
$mainwin->show_all();
gtk::main();
?>
Simpanlah skrip tersebut dengan nama
helloworld.php lalu ketik:
#php -q helloworld.php
Jika Anda klik tombol “Hello World! Joy
to the world”, maka skrip helloworld.php
akan berakhir.
Sekarang mari kita bahas skrip di atas.
Seperti halnya skrip PHP, skrip PHP-GTK
diawali dengan tag <?php dan ditutup
dengan tag ?>. Perhatikan pada bagian
awal skrip yang diawali dengan pernyataan
sebagai berikut:
if (!class_exists(‘gtk’)) {
if (strtoupper(substr(PHP_OS, 0, 3) ==
‘WIN’)) {
dl(‘php_gtk.dll’);
} else {
dl(‘php_gtk.so’);
}
}
Library PHP-GTK untuk Linux dan
Windows berbeda, sehingga diperlukan
pemeriksaan sistem operasi terlebih dahulu
di awal skrip PHP-GTK. Namun jika Anda
yakin bahwa skrip Anda hanya akan
berjalan di Linux, maka pernyataan di atas
bisa langsung memanggil library php_gtk.so
tanpa harus memeriksa sistem operasi
terlebih dahulu.
$mainwin = &new GtkWindow();
Pernyataan tersebut berguna untuk
membuat window utama dengan membuat
objek dari kelas GtkWindow(). Perhatikan
bahwa pembuatan objek menggunakan
kata kunci new yang diawali dengan
operator referensi &.
$mainwin->connect(‘destroy’, ‘shut
down’);
Kemudian, kita menggunakan method
connect() untuk mendaftarkan fungsi
shutdown() sebagai handler. Handler adalah
fungsi yang bertugas untuk menangani
signal destroy yang dipancarkan oleh
window $mainwin. Jadi ketika objek
window $mainwin memancarkan signal
destroy, maka fungsi shutdown() akan
dipanggil.
$mainwin->set_title(‘PHP-GTK :)’);
Pernyataan tersebut untuk menentukan
judul window utama.
$button = &new GtkButton(‘Hello World!
Joy to the world’);
Pernyataan di atas adalah membuat
tombol. Untuk membuat tombol bisa
dilakukan dengan membuat objek dari kelas
GtkButton().$button->connect(‘clicked’,
‘shutdown’);
Dengan menggunakan method
connect(), signal clicked dihubungkan
dengan fungsi shutdown().
$mainwin->add($button);
Pernyataan di atas akan menempatkan
$button pada $mainwin.
$mainwin->show_all();
Kemudian semua objek ditampilkan
pada layar.
gtk::main();
Fungsi statik gtk::main() adalah kunci
dan mutlak ada di bagian akhir skrip PHP-
GTK. Fungsi ini memberitahukan kepada
PHP-GTK bahwa pembuatan interface
sudah selesai, dan main loop dapat dimulai.
Tanpa fungsi statis ini, maka skrip akan
langsung berhenti sesaat setelah interface
ditampilkan di layar.
Beberapa istilah seputar
PHP-GTK
Widget
Dalam lingkungan PHP-GTK, widget adalah
user interface. Jadi user interface apa pun,
dalam PHP-GTK disebut widget. Widget
mungkin berwujud text box, label, frame,
window atau komponen GUI lainnya.
Semua GTK widget berasal dari kelas
abstrak GtkWidget. Semua widget juga
mewarisi method, signal, dan properties
yang diimplementasikan pada GtkWidget.
Dari sisi pandang programmer, suatu
widget memiliki 5 bagian siklus hidup yaitu:
Creation. Dalam lingkungan PHP-GTK,
ini dilakukan dengan dembuat suatu
objek. Contoh:
$window = &new GtkWindow();
Placement. Ini merupakan langkah
menambahkan / menempatkan suatu
widget pada suatu container. Secara
umum, sintak penulisan langkah ini
adalah.
$container->add($widget);
atau
$container->pack_start($widget);
atau
$container->pack_end($widget)
Signal Connection. Ini merupakan
langkah mengatur fungsi callback yang
akan digunakan. Contoh:
$widget->connect(“signal”, “my_func”);
Dengan “signal” merupakan keadaan
yang terdefinisi. Yang dimaksud
PHP-GTK
TUTORIALUlasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial
81INFOLINUX MARET 2004www.infolinux.web.id
terdefinisi adalah bahwa keadaan
tersebut sudah terdaftar dalam PHP-
GTK, misalkan seperti clicked.
Sedangkan “my_func” adalah subrou-
tine atau fungsi yang akan dipanggil
saat signal dipancarkan.
Display. Ini menggambarkan apakah
suatu widget akan ditampilkan atau
tidak. Caranya sederhana, yaitu:
$widget->show();
$widget->hide();
Container
Suatu container adalah sebuah widget yang
bisa menampung widget lainnya. Yang
umum termasuk dalam kategori container
adalah: GtkWindow, GtkBox, dan
sebagainya. Selebihnya mareka persis sama
dengan widget lainnya. Container pun bisa
ditambahkan ke dalam container lain.
Container diturunkan dari kelas dasar
GtkContainer. GtkContainer sendiri
diturunkan dari kelas GtkWidgetSignal dan
Callback.
Dalam pemrograman GUI, sangat
diperlukan adanya mekanisme untuk
merespon suatu aksi atau tindakan yang
dilakukan oleh user ataupun oleh sesuatu
dalam skrip itu sendiri. Mengklik suatu
tombol adalah salah satu contoh aksi yang
umum dilakukan oleh user. Ketika user
mengklik suatu tombol, maka harus ada
respon atau reaksi dari skrip sesuai dengan
tujuan tombol tersebut. Misalkan, tombol
EXIT berguna untuk menghentikan jalannya
skrip. Untuk keperluan tersebut, harus ada
mekanisme yang menghubungkan aksi klik
dengan suatu fungsi yang akan memberi-
kan respon atas aksi tersebut. Contohnya
dapat dilihat pada skrip helloword.php di
atas:
$button->connect(‘clicked’, ‘shutdown’);
Signal & Callback
Dalam PHP-GTK, mekanisme komunikasi
demikian ditangani oleh signal. Signal
berguna agar suatu skrip dapat mengetahui
bahwa ada suatu aksi yang terjadi. Sumber
suatu signal adalah widget. Signal adalah
suatu pemberitahuan yang dipacarkan oleh
widget.
Dalam PHP-GTK, fungsi yang dibuat
untuk menangani atau merespon signal
disebut dengan nama callback. Oleh karena
itu callback disebut juga signal handler
function (fungsi yang menangani /
merespon signal). Callback bisa berupa
default handler, atau user defined handler.
User defined handler adalah callback yang
didefinisikan oleh programer.
Membahas PHP-GTK tidaklah mungkin
disajikan hanya dalam sebuah artikel.
Contoh program lain juga perlu dipelajari.
Oleh karena itu, bagi rekan-rekan yang
tertarik untuk mempelajari PHP-GTK,
silakan merujuk pada referensi berikut.
Buku “Tuntunan Praktis PHP-GTK” yang
ditulis oleh Y.B. Mulyana dan diterbitkan
oleh ANDI.
Manual PHP-GTK: http://gtk.php.net/
Semoga dari artikel kecil ini ada manfaat
yang bisa dipetik oleh kita semua.
Mulyana (mulyana@powerfulteam.biz)
PHP-GTK
IKLAN

More Related Content

Viewers also liked

Menyelam dan menaklukan samudra php
Menyelam dan menaklukan samudra phpMenyelam dan menaklukan samudra php
Menyelam dan menaklukan samudra php
Albertz Ace-Red
 
Membuat aplikasi java web enterprise sederhana
Membuat aplikasi java web enterprise sederhanaMembuat aplikasi java web enterprise sederhana
Membuat aplikasi java web enterprise sederhanaAlbertz Ace-Red
 
Fungsi php mysql
Fungsi php mysqlFungsi php mysql
Fungsi php mysql
Albertz Ace-Red
 
Matheus l. e matheus w.1
Matheus l. e matheus w.1Matheus l. e matheus w.1
Matheus l. e matheus w.1rafaella1997
 

Viewers also liked (7)

Menyelam dan menaklukan samudra php
Menyelam dan menaklukan samudra phpMenyelam dan menaklukan samudra php
Menyelam dan menaklukan samudra php
 
Membuat aplikasi java web enterprise sederhana
Membuat aplikasi java web enterprise sederhanaMembuat aplikasi java web enterprise sederhana
Membuat aplikasi java web enterprise sederhana
 
Fungsi php mysql
Fungsi php mysqlFungsi php mysql
Fungsi php mysql
 
Ryan kevin
Ryan          kevinRyan          kevin
Ryan kevin
 
Matheus l. e matheus w.1
Matheus l. e matheus w.1Matheus l. e matheus w.1
Matheus l. e matheus w.1
 
Papai noel
Papai noelPapai noel
Papai noel
 
Laura lais
Laura  laisLaura  lais
Laura lais
 

Similar to Php GTK Indonesia

Tugas presentasi fix
Tugas presentasi fixTugas presentasi fix
Tugas presentasi fixantokwon
 
Aplikasi Linux Ubuntu (Ubuntu Aplication)
Aplikasi Linux Ubuntu (Ubuntu Aplication)Aplikasi Linux Ubuntu (Ubuntu Aplication)
Aplikasi Linux Ubuntu (Ubuntu Aplication)
Nur Rahma Aziza
 
Memasang aplikasi phpindonesia_di_windows_7
Memasang aplikasi phpindonesia_di_windows_7Memasang aplikasi phpindonesia_di_windows_7
Memasang aplikasi phpindonesia_di_windows_7Cahya Dwiana SN
 
Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6
Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6
Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6
Febi Gelar Ramadhan
 
Install Netbeans dan JDK di Linux
Install Netbeans dan JDK di LinuxInstall Netbeans dan JDK di Linux
Install Netbeans dan JDK di Linux
Putu Shinoda
 
Modul praktikum algoritma
Modul praktikum algoritmaModul praktikum algoritma
Modul praktikum algoritma
Rony BolaNk
 
Pask 1 14_s16010_sandro
Pask 1 14_s16010_sandroPask 1 14_s16010_sandro
Pask 1 14_s16010_sandro
SandroSiagian
 
Instalasi Network Monitoring System (Nagios) Centos 6.4
Instalasi Network Monitoring System (Nagios) Centos 6.4Instalasi Network Monitoring System (Nagios) Centos 6.4
Instalasi Network Monitoring System (Nagios) Centos 6.4
Febi Gelar Ramadhan
 
#1 Introduction Go.pptx
#1 Introduction Go.pptx#1 Introduction Go.pptx
#1 Introduction Go.pptx
GDSC2
 
Devux compiz-fusion
Devux compiz-fusionDevux compiz-fusion
Devux compiz-fusion
Devina Dona
 
Besut Kode - Workshop 2
Besut Kode - Workshop 2Besut Kode - Workshop 2
Besut Kode - Workshop 2
John Vandenberg
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales Aja
 
PythonDojo: pip dan virtualenv
PythonDojo: pip dan virtualenvPythonDojo: pip dan virtualenv
PythonDojo: pip dan virtualenv
DOJOTEK
 
Struktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatikaStruktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatika
andhycicau
 
Panduan pemaketan-blank on
Panduan pemaketan-blank onPanduan pemaketan-blank on
Panduan pemaketan-blank onAzis Ws
 
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5stephan EL'wiin Shaarawy
 
Pemasangan dll mongo pada php windows
Pemasangan dll mongo pada php windowsPemasangan dll mongo pada php windows
Pemasangan dll mongo pada php windows
Syahman Mohamad
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
Wira Hul
 
Remastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
Remastering Ubuntu 17.10 Dengan Ubuntu Customization KitRemastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
Remastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
Muhammad Yuga Nugraha
 

Similar to Php GTK Indonesia (20)

Tugas presentasi fix
Tugas presentasi fixTugas presentasi fix
Tugas presentasi fix
 
Aplikasi Linux Ubuntu (Ubuntu Aplication)
Aplikasi Linux Ubuntu (Ubuntu Aplication)Aplikasi Linux Ubuntu (Ubuntu Aplication)
Aplikasi Linux Ubuntu (Ubuntu Aplication)
 
Memasang aplikasi phpindonesia_di_windows_7
Memasang aplikasi phpindonesia_di_windows_7Memasang aplikasi phpindonesia_di_windows_7
Memasang aplikasi phpindonesia_di_windows_7
 
Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6
Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6
Dokumentasi Instalasi Network Monitoring System Ganglia on Centos 6
 
Install Netbeans dan JDK di Linux
Install Netbeans dan JDK di LinuxInstall Netbeans dan JDK di Linux
Install Netbeans dan JDK di Linux
 
Modul praktikum algoritma
Modul praktikum algoritmaModul praktikum algoritma
Modul praktikum algoritma
 
Pask 1 14_s16010_sandro
Pask 1 14_s16010_sandroPask 1 14_s16010_sandro
Pask 1 14_s16010_sandro
 
Instalasi Network Monitoring System (Nagios) Centos 6.4
Instalasi Network Monitoring System (Nagios) Centos 6.4Instalasi Network Monitoring System (Nagios) Centos 6.4
Instalasi Network Monitoring System (Nagios) Centos 6.4
 
#1 Introduction Go.pptx
#1 Introduction Go.pptx#1 Introduction Go.pptx
#1 Introduction Go.pptx
 
Devux compiz-fusion
Devux compiz-fusionDevux compiz-fusion
Devux compiz-fusion
 
Besut Kode - Workshop 2
Besut Kode - Workshop 2Besut Kode - Workshop 2
Besut Kode - Workshop 2
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
 
PythonDojo: pip dan virtualenv
PythonDojo: pip dan virtualenvPythonDojo: pip dan virtualenv
PythonDojo: pip dan virtualenv
 
Struktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatikaStruktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatika
 
Panduan pemaketan-blank on
Panduan pemaketan-blank onPanduan pemaketan-blank on
Panduan pemaketan-blank on
 
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Pemasangan dll mongo pada php windows
Pemasangan dll mongo pada php windowsPemasangan dll mongo pada php windows
Pemasangan dll mongo pada php windows
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Remastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
Remastering Ubuntu 17.10 Dengan Ubuntu Customization KitRemastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
Remastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
 

Recently uploaded

Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
ferrydmn1999
 
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docxForm B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
EkoPutuKromo
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
PURWANTOSDNWATES2
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
gloriosaesy
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
mattaja008
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
SurosoSuroso19
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Fathan Emran
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
AdePutraTunggali
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
DataSupriatna
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Galang Adi Kuncoro
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
Indah106914
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
nawasenamerta
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
agusmulyadi08
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
UmyHasna1
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
Koneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya PositifKoneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya Positif
Rima98947
 

Recently uploaded (20)

Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
 
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docxForm B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
Koneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya PositifKoneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya Positif
 

Php GTK Indonesia

  • 1. TUTORIALUlasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial 79INFOLINUX MARET 2004www.infolinux.web.id D ari sekian banyak programer Internet di dunia, ada seorang yang bernama Andrei Zmievski yang memiliki ketertarikan lain pada PHP. Dia melihat bahwa PHP bisa juga dijadikan sebagai bahasa pemrograman untuk lingkungan desktop. Ide awalnya adalah ketika dia melihat implementasi GTK+ pada Python dan Perl. Kalau GTK+ bisa diimplementasikan pada Python dan Perl, mengapa tidak jika GTK+ diimplementasi- kan pada PHP. Andrei Zmievski lalu meminta bantuan James Henstridge (pengembang PyGTK) untuk mengimplementasikan GTK+ pada PHP. Di bulan Agustus 2000, lahirlah PHP- GTK. PHP-GTK adalah ekstension PHP pertama yang menjadikan PHP sebagai bahasa untuk lingkungan desktop. Awalnya PHP-GTK hanya bisa berjalan di lingkungan Linux saja, namun setelah Andrei Zmievski menyelesaikan sebagian proyek PHP-GTK- nya, dia menunjukkan kode PHP-GTK kepada Frank Kromann, dan dengan bantuan Frank Kromman, PHP-GTK bisa dijalankan di lingkungan Windows juga. Instalasi PHP-GTK di Linux PHP-GTK bisa di-download di http:// gtk.php.net/download.php/. Untuk Linux pilih file source code PHP-GTK. Karena PHP-GTK adalah ekstension PHP dan tidak bisa berdiri sendiri, maka sebelum menginstal dan menggunakan PHP-GTK, Anda harus memiliki PHP terlebih dahulu. Anda harus menginstal PHP sebagai binary/ CGI bukan sebagai Apache Modul. Jika Anda belum memiliki PHP, silakan download source code PHP di http:// www.php.net/downloads.php. PHP yang harus Anda gunakan minimal versi 4.2.3. Secara umum, instalasi PHP adalah sebagai berikut: Extract file source code PHP, misalkan file source code PHP adalah php- 4.3.3.tar.gz. #tar -xvzf php-4.3.3.tar.gz Akan terbentuk sebuah direktori yang berisi source code PHP. Misalkan direktorinya adalah php-4.3.3. Masuklan ke dalam direktori tersebut. #cd php-4.3.3 Jalankan skrip configure untuk memeriksa sistem dan mempersiapkan file-file untuk proses kompilasi. #./configure Anda bisa memberikan parameter -with- mysql agar PHP mendukung MySql, tapi jangan gunakan opsi -with-apache, misalkan: #./configure —with-mysql Jalankan skrip make untuk melakukan proses kompilasi source code PHP. #make Jalankan skrip make sekali lagi dengan opsi install untuk menginstal file-file hasil kompilasi ke direktori yang bersesuaian. #make install Bisa terjadi proses instalasi PHP tidak berjalan dengan baik. Jika ada masalah, Anda dapat mencari jawabannya di http:// www.php.net. Setelah instalasi PHP selesai, Anda dapat melanjutkannya dengan proses instalasi PHP-GTK. Secara umum instalasi PHP-GTK adalah sebagai berikut: Extract file source code PHP-GTK, misalkan file source code PHP-GTK adalah php-gtk-0.5.2.tar.gz. #tar -xvzf php-gtk-0.5.2.tar.gz Akan terbentuk sebuah direktori yang berisi source code PHP-GTK. Misalkan direktorinya bernama php-gtk-0.5.2. Masuklah ke dalam direktori tersebut. #cd php-gtk-0.5.2 Jalankan skript buildconf untuk men- setup file-file yang diperlukan dan membuat skrip configure. #./buildconf Jalankan skrip configure yang telah dibuat secara otomatis pada proses sebelumnya. #./configure Jalankan skrip make untuk mengkompilasi source code PHP-GTK. #make Jalankan skrip make lagi dengan opsi install untuk menginstal PHP-GTK pada direktori default extention PHP. #make install Pada beberapa kasus, instalasi tidak berjalan mulus. Misalkan pada RH 7.3 ke atas, proses kompilasi tidak berjalan dengan sempurna dan berhenti di tengah jalan. Jika hal tersebut terjadi, cobalah untuk mengubah isi file php.ini. Biasanya file php.ini ada di direktori /etc/php.ini. Tapi jika tidak coba cari dengan cara: php -i | grep ini Buka file php.ini, dan cari statement sebagai berikut. memory_limit = 8MB Ubahlah nilainya menjadi 64MB, lalu jalankan kembali skrip make. Jika masih ada kesalahan atau ada masalah lain selama proses instalasi, silakan untuk mencari penyelesaiannya di http:// gtk.php.net. Jika proses instalasi berjalan dengan baik, cobalah untuk masuk ke lingkungan XWindow, dan buka terminal emulator. Ketika dilahirkan, PHP adalah sosok bahasa pemrograman khusus untuk lingkungan web. Sejak dilahirkan hingga sekarang, popularitas PHP sangat luar biasa. Rasanya tidak ada satu orang pun yang berkecimpung dalam dunia Internet tidak mengenal PHP, bahkan PHP sudah dianggap bahasa pemrograman yang wajib dikuasai oleh setiap programer web. PHP-GTK PHP-GTK
  • 2. TUTORIAL Ulasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial www.infolinux.web.id80 INFOLINUX MARET 2004 Masuk ke direktori test pada direktori php- gtk, dan jalankan file gtk.php sebagai berikut. php -q gtk.php Jika Anda melihat tampilan seperti Gambar 1, berarti proses instalasi PHP-GTK telah sukses dan siap untuk belajar PHP- GTK. Hello World Aplikasi PHP-GTK pertama yang akan Anda pelajari di sini adalah aplikasi ‘Hello World’. <?php if (!class_exists(‘gtk’)) { if (strtoupper(substr(PHP_OS, 0, 3) == ‘WIN’)) { dl(‘php_gtk.dll’); } else { dl(‘php_gtk.so’); } } function shutdown() { gtk::main_quit(); } $mainwin = &new GtkWindow(); $mainwin->connect(‘destroy’, ‘shut down’); $mainwin->set_title(‘PHP-GTK :)’); $button = &new GtkButton(‘Hello World! Joy to the world’); $button->connect(‘clicked’, ‘shutdown’); $mainwin->add($button); $mainwin->show_all(); gtk::main(); ?> Simpanlah skrip tersebut dengan nama helloworld.php lalu ketik: #php -q helloworld.php Jika Anda klik tombol “Hello World! Joy to the world”, maka skrip helloworld.php akan berakhir. Sekarang mari kita bahas skrip di atas. Seperti halnya skrip PHP, skrip PHP-GTK diawali dengan tag <?php dan ditutup dengan tag ?>. Perhatikan pada bagian awal skrip yang diawali dengan pernyataan sebagai berikut: if (!class_exists(‘gtk’)) { if (strtoupper(substr(PHP_OS, 0, 3) == ‘WIN’)) { dl(‘php_gtk.dll’); } else { dl(‘php_gtk.so’); } } Library PHP-GTK untuk Linux dan Windows berbeda, sehingga diperlukan pemeriksaan sistem operasi terlebih dahulu di awal skrip PHP-GTK. Namun jika Anda yakin bahwa skrip Anda hanya akan berjalan di Linux, maka pernyataan di atas bisa langsung memanggil library php_gtk.so tanpa harus memeriksa sistem operasi terlebih dahulu. $mainwin = &new GtkWindow(); Pernyataan tersebut berguna untuk membuat window utama dengan membuat objek dari kelas GtkWindow(). Perhatikan bahwa pembuatan objek menggunakan kata kunci new yang diawali dengan operator referensi &. $mainwin->connect(‘destroy’, ‘shut down’); Kemudian, kita menggunakan method connect() untuk mendaftarkan fungsi shutdown() sebagai handler. Handler adalah fungsi yang bertugas untuk menangani signal destroy yang dipancarkan oleh window $mainwin. Jadi ketika objek window $mainwin memancarkan signal destroy, maka fungsi shutdown() akan dipanggil. $mainwin->set_title(‘PHP-GTK :)’); Pernyataan tersebut untuk menentukan judul window utama. $button = &new GtkButton(‘Hello World! Joy to the world’); Pernyataan di atas adalah membuat tombol. Untuk membuat tombol bisa dilakukan dengan membuat objek dari kelas GtkButton().$button->connect(‘clicked’, ‘shutdown’); Dengan menggunakan method connect(), signal clicked dihubungkan dengan fungsi shutdown(). $mainwin->add($button); Pernyataan di atas akan menempatkan $button pada $mainwin. $mainwin->show_all(); Kemudian semua objek ditampilkan pada layar. gtk::main(); Fungsi statik gtk::main() adalah kunci dan mutlak ada di bagian akhir skrip PHP- GTK. Fungsi ini memberitahukan kepada PHP-GTK bahwa pembuatan interface sudah selesai, dan main loop dapat dimulai. Tanpa fungsi statis ini, maka skrip akan langsung berhenti sesaat setelah interface ditampilkan di layar. Beberapa istilah seputar PHP-GTK Widget Dalam lingkungan PHP-GTK, widget adalah user interface. Jadi user interface apa pun, dalam PHP-GTK disebut widget. Widget mungkin berwujud text box, label, frame, window atau komponen GUI lainnya. Semua GTK widget berasal dari kelas abstrak GtkWidget. Semua widget juga mewarisi method, signal, dan properties yang diimplementasikan pada GtkWidget. Dari sisi pandang programmer, suatu widget memiliki 5 bagian siklus hidup yaitu: Creation. Dalam lingkungan PHP-GTK, ini dilakukan dengan dembuat suatu objek. Contoh: $window = &new GtkWindow(); Placement. Ini merupakan langkah menambahkan / menempatkan suatu widget pada suatu container. Secara umum, sintak penulisan langkah ini adalah. $container->add($widget); atau $container->pack_start($widget); atau $container->pack_end($widget) Signal Connection. Ini merupakan langkah mengatur fungsi callback yang akan digunakan. Contoh: $widget->connect(“signal”, “my_func”); Dengan “signal” merupakan keadaan yang terdefinisi. Yang dimaksud PHP-GTK
  • 3. TUTORIALUlasan CD | Klinik | Ulasan | Linux Ready | Utama | Bisnis | Feature | Tutorial 81INFOLINUX MARET 2004www.infolinux.web.id terdefinisi adalah bahwa keadaan tersebut sudah terdaftar dalam PHP- GTK, misalkan seperti clicked. Sedangkan “my_func” adalah subrou- tine atau fungsi yang akan dipanggil saat signal dipancarkan. Display. Ini menggambarkan apakah suatu widget akan ditampilkan atau tidak. Caranya sederhana, yaitu: $widget->show(); $widget->hide(); Container Suatu container adalah sebuah widget yang bisa menampung widget lainnya. Yang umum termasuk dalam kategori container adalah: GtkWindow, GtkBox, dan sebagainya. Selebihnya mareka persis sama dengan widget lainnya. Container pun bisa ditambahkan ke dalam container lain. Container diturunkan dari kelas dasar GtkContainer. GtkContainer sendiri diturunkan dari kelas GtkWidgetSignal dan Callback. Dalam pemrograman GUI, sangat diperlukan adanya mekanisme untuk merespon suatu aksi atau tindakan yang dilakukan oleh user ataupun oleh sesuatu dalam skrip itu sendiri. Mengklik suatu tombol adalah salah satu contoh aksi yang umum dilakukan oleh user. Ketika user mengklik suatu tombol, maka harus ada respon atau reaksi dari skrip sesuai dengan tujuan tombol tersebut. Misalkan, tombol EXIT berguna untuk menghentikan jalannya skrip. Untuk keperluan tersebut, harus ada mekanisme yang menghubungkan aksi klik dengan suatu fungsi yang akan memberi- kan respon atas aksi tersebut. Contohnya dapat dilihat pada skrip helloword.php di atas: $button->connect(‘clicked’, ‘shutdown’); Signal & Callback Dalam PHP-GTK, mekanisme komunikasi demikian ditangani oleh signal. Signal berguna agar suatu skrip dapat mengetahui bahwa ada suatu aksi yang terjadi. Sumber suatu signal adalah widget. Signal adalah suatu pemberitahuan yang dipacarkan oleh widget. Dalam PHP-GTK, fungsi yang dibuat untuk menangani atau merespon signal disebut dengan nama callback. Oleh karena itu callback disebut juga signal handler function (fungsi yang menangani / merespon signal). Callback bisa berupa default handler, atau user defined handler. User defined handler adalah callback yang didefinisikan oleh programer. Membahas PHP-GTK tidaklah mungkin disajikan hanya dalam sebuah artikel. Contoh program lain juga perlu dipelajari. Oleh karena itu, bagi rekan-rekan yang tertarik untuk mempelajari PHP-GTK, silakan merujuk pada referensi berikut. Buku “Tuntunan Praktis PHP-GTK” yang ditulis oleh Y.B. Mulyana dan diterbitkan oleh ANDI. Manual PHP-GTK: http://gtk.php.net/ Semoga dari artikel kecil ini ada manfaat yang bisa dipetik oleh kita semua. Mulyana (mulyana@powerfulteam.biz) PHP-GTK IKLAN