author Ahmad Muhardian

Tutorial PyGTK #1: Belajar Pemrograman GUI dengan Python dan PyGTK di Linux


PyGTK: Pemrograman GUI dengan Python dan GTK

GUI adalah singkatan dari Graphical User Interface.

Aplikasi GUI memang mudah digunakan. Karena terdapat tampilan visual grafis yang bisa diklik.

Salah satu modul atau libraray yang sering digunakan untuk membuat aplikasi GUI adalah GTK+.

Pada kesempatan ini, kita akan menggunakan modul tersebut dengan mencoba membuat sebuah jendela atau window.

Mari kita mulai…

Apa itu GTK+ dan PyGTK?

Sebelum itu, kamu harus pahami dulu apa perbedaan dari GTK+ dan PyGTK.

GTK+ (GIMP Toolkit) merupakan library yang digunakan untuk membangun antarmuka grafis.

Mengapa disebut GIMP Toolkit?

Karena proyek GTK+ merupakan bagian dari proyek GIMP atau dengan kata lain, proyek GTK+ sama-sama digarap saat membuat proyek GIMP.

GTK+ sendiri merupakan library yang digunakan dengan bahasa C, sedangkan untuk python kita menggunakan PyGTK.

PyGTK adalah modul python yang berisi GTK+ atau dengan kata lain:

PyGTK adalah wrapper (pembungkus) GTK+ sehingga kita bisa menggunakan library ini di dalam Python.

Website Resmi PyGTK

Informasi lebih lengkap mengenai PyGTK, dapat dibaca pada website resminya www.pygtk.org.

📢 Update 28 Januari 2019:

PyGTK kini sudah berubah menjadi PyGObject. PyGObject lebih modern dibandingkan PyGTK karena sudah mendukung GTK 3. Sedangkan PyGTK hanya GTK 2 saja.

Persiapan Pemrograman PyGTK

Adapun peralatan yang harus dipersiapkan untuk memulai pemrograman PyGTK adalah sebgai berikut

1. Teks Editor

Teks editor akan digunakan untuk menulis kode.

Gunakan teks editor yang kamu sukai.

Beberapa teks editor rekomendasi: Atom, Ms. Visual Studio Code, Komodo Edit, Geany, dsb.

Teks editor atom

2. Python

Sebagian besar distro Linux sudah membawa python pada distribusinya, jadi tidak perlu diinstal.

Silahkan cek versi yang terinstal di terminal dengan perintah:

$ python --version
Python 2.7.6

Perlu diketahui:

PyGTK hanya mendukung untuk Python 2. Jika ingin menggunakan Python 3, silahkan gunakan PyGObject.

3. PIP

PIP merupakan sebuah program untuk manajemen paket atau modul di dalam Python.

Kita membutuhkan PIP untuk menginstal modul PyGTK.

Cara instal PIP, ketik perintah ini di terminal.

sudo apt isntall python-pip # untuk python 2
sudo apt install python3-pip # untuk python 3

4. Modul PyGTK

Modul PyGTK secara default tidak terinstal di dalam komputer kita, maka dari itu.. kita membutuhkan PIP untuk menginstalnya.

Namun, sebelum itu.. kita instal dulu setuptools.

sudo apt install python-setuptools #untuk python 2
sudo apt install python3-setuptools #untuk python 3

Setuptools adalah tools yang akan digunakan untuk mengintegrasikan paket yang diinstal dengan pip ke dalam sistem.

Setelah itu, barulah kita instal modul PyGTK dengan perintah berikut:

sudo pip install PyGTK

Install PyGTK untuk Ubuntu 20.04

Karena PyGTK sudah berubah menjadi PyGObject, maka instalasi di Ubuntu 20.04 atau distro terbaru lainnya akan error seperti ini.

install pygtk ubuntu error

Solusinya:

Install PyGTK secara manual melalui file .deb. Silahkan ikuti perintah berikut:

# download file deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb -O pygtk.deb

# install file deb
sudo apt install ./pygtk.deb

Setelah itu, coba tes dengan import gtk melalui shell python.

Hasilnya:

import pygtk

Membuat Window dengan PyGTK

Setelah semua perealatan siap, mari kita coba membuat sebuah jendela.

Jendela merupakan bagian utama dari aplikasi GUI.

Buatlah file baru bernama jendela.py, kemudian isi dengan kode berikut:

#impor pustaka GTK
import gtk

# membuat objek jendela
window = gtk.Window()

# konfigurasi jendela
window.set_size_request(600,200)
window.set_position(gtk.WIN_POS_CENTER)
window.set_title("Pemrograman PyGTK - Petani Kode")
window.connect("destroy", gtk.main_quit)

# tampilkan jendela
window.show()
gtk.main()

Setelah itu, simpan dengan nama jendela.py dan eksekusi dengan perintah:

python jendela.py

Maka hasilnya:

Membuat Jendela dengan PyGTK

Jika berhasil muncul seperti pada gambar, berarti program PyGTK pertama kita berhasil.

Selamat… 🎉

Baiklah, sekarang saatnya saya jelaskan arti kode di atas.

Pertama-tama kita mengimpor modul gtk:

import gtk

Setelah itu membuat objek window dari class Window() pada modul gtk:

window = gtk.Window()

Object window berisi beberapa method yang bisa kita gunakan untuk memodifikasi tampilan jendela seperti:

  • set_size_request(600,200) untuk menentukan ukuran jendela.
  • set_position(gtk.WIN_POS_CENTER) untuk menentukan posisi muncul jendela. gtk.WIN_POS_CENTER artinya posisi munculnya di tengah-tengah layar.
  • set_title() untuk memberikan judul jendela.
  • connect("destroy", gtk.main_quit) untuk menghubungkan sinyal "destroy" dengan fungsi main_quit. Artinya, ketika tombol close diklik… aplikasi akan langsung keluar.
  • show() untuk menampilkan jendela.

Pada bagian akhir program di atas, kita memanggil method:

gtk.main()

Method gtk.main() adalah main loop (perulangan utama) yang menjaga jendela tetap terbuka.

Paham?

Kalau begitu…

Mari kita lanjutka dengan membuat jendela, tapi dengan Classs

Membuat Jendela dengan Class

Pada contoh di atas kita membuat jendela dengan membuat langsung objek dari class gtk.Window().

Sebenarnya ada cara lain, yaitu dengan membuat turunan dari class Window()

Perhatikan kode berikut:

import gtk

class App(gtk.Window):
    def __init__(self):
        super(App, self).__init__()

        self.connect("destroy", gtk.main_quit)
        self.set_size_request(250, 150)
        self.set_position(gtk.WIN_POS_CENTER)
        self.show()

# Tampilkan Jendela
App()
gtk.main()

Hasilnya:

Membuat jendela dengan class

Hasilnya akan sama.

Cara ini mungkin akan sangat berguna saat kita bekerja aplikasi skala besar. Karena kita bisa menerapkan konsep-konsep OOP di sini.

Mengubah Ikon Aplikasi

Selanjutnya kita coba jelajahi, method apa saja yang dimiliki oleh class Window()

Salah satuny aadalah set_icon_from_file() yang fungsinya untuk mengubah ikon.

Baiklah, silahkan buat file baru dengan nama ikon.py. Kemudian isi dengan kode berikut.

import gtk

class App(gtk.Window):
    def __init__(self):
        super(App, self).__init__()

        self.connect("destroy", gtk.main_quit)
        self.set_size_request(250, 150)
        self.set_position(gtk.WIN_POS_CENTER)
        self.set_title("Jendela dengan Ikon")
        self.set_icon_from_file("icon.png")
        self.show()

App()
gtk.main()

Hasilnya:

Jendela dengan ikon

Apa Selanjutnya?

Kita sudah tahu cara membuat jendela dengan PyGTK, selanjutnya cobalah menambahkan tombol dan label di dalamnya.

Oh iya, source code tutorial tersedia di Github:

[ 🎁 Download Source Code]

Baca Juga ini

Belajar Pemrograman Python: Memahami Perulangan

Belajar Pemrograman Python: Memahami Perulangan

Perualangan dalam bahasa pemrograman berfungsi menyuruh komputer melakukan sesuatu secara berulang-ulang. Terdapat dua jenis perualangan dalam bahasa pemrograman python, yaitu perulangan dengan for dan while. Perulangan for disebut counted loop (perulangan yang terhitung), sementara perulangan while disebut uncounted loop (perulangan yang tak terhitung). Perbedaannya adalah perulangan for biasanya digunakan untuk mengulangi kode yang sudah diketahui banyak perulangannya. Sementara while untuk perulangan yang memiliki syarat dan tidak tentu berapa banyak perulangannya.

Belajar Pemrograman Python: Memahami Percabangan untuk Membuat Logika Program

Belajar Pemrograman Python: Memahami Percabangan untuk Membuat Logika Program

Mungkin kalian akan bertanya: Apa itu percabangan dan kenapa dinamakan percabangan? Buat yang belum pernah kuliah atau belajar tentang algoritme dan flowchart, mungkin ini istilah yang baru pertama kamu dengar. Isitilah ini sebenarnya untuk menggambarkan alur program yang bercabang. Pada flow chart, logika “jika…maka” digambarkan dalam bentuk cabang. Karena itu, ini disebut percabangan. Selain percabangan, struktur ini juga disebut control flow, decision, struktur kondisi, Struktur if, dsb. Percabangan akan mampu membuat program berpikir dan menentukan tindakan sesuai dengan logika/kondisi yang kita berikan.

Belajar Pemrograman Python: Mengenal 6 Jenis Operator dalam Python

Belajar Pemrograman Python: Mengenal 6 Jenis Operator dalam Python

Setelah kita mengenal variabel dan tipe data pada Python, selanjutnya kita akan berkenalan dengan Operator. Apa itu operator? Operator merupakan simbol-simbol yang digunakan untuk melakukan operasi tertentu. Ada enam jenis operator dalam pemrograman yang wajib diketahui: Operator Aritmatika Operator Pembanding/Relasi Operator Penugasan Opeartor Logika Operator Bitwise Operator Ternary Mari kita bahas semuanya… 1. Operator AritmatikaOpeartor aritmatika termasuk dalam operator yang paling sering digunakan dalam pemrograman. Opeartor aritmatika terdiri dari:

Belajar Pemrograman Python: Mengenal Variabel dan Tipe Data dalam Python

Belajar Pemrograman Python: Mengenal Variabel dan Tipe Data dalam Python

Pada kesempatan ini kita akan mempelajari tentang variabel dan tipe data pada Python. Pastikan sebelumnya sudah mengetahui cara membuat skrip atau program python. Pengertian Variabel dan Tipe DataVariabel merupakan tempat menyimpan data, sedangkan tipe data adalah jenis data yang terseimpan dalam variabel. Variabel bersifat mutable, artinya nilainya bisa berubah-ubah. Membuat Variabel di PythonVariabel di python dapat dibuat dengan format seperti ini: nama_variabel = <nilai> Contoh: variabel_ku = "ini isi variabel" variabel2 = 20 Kemudian untuk melihat isi variabel, kita dapat menggunakan fungsi print.

Belajar Pemrograman Python: Pengenalan Dasar Python dan Persiapan Awal

Belajar Pemrograman Python: Pengenalan Dasar Python dan Persiapan Awal

Mau belajar bahasa pemrograman python, tapi masih bingung mulainya dari mana? Artikel ini akan membahasnya, dari pengenalan Python dan persiapan awalnya sampai tuntas.

Menggunakan Percabangan pada Program Lazarus

Menggunakan Percabangan pada Program Lazarus

Stuktur pemilihan adalah struktur kode yang menggunakan kaidah jika-maka. Struktur pemilihan dalam dunia pemrograman dikenal juga dengan percabangan, flow control, if-else, dan sebagainya. erdapat dua macam struktur pemilihan dalam pemrograman Lazarus: if-then dan case-of. Perbedaan if-then dan case-of dapat dilihat dari cara mereka membandingkan suatu kondisi. Struktur pemilihan if-then dan case-of membuat komputer berpikir dan mampu menentukan pilihan. Bentuk umum blok kode if-then: if (suatu_kondisi_benar) then kerjakan_sesuatu; Bila terdapat lebih dari satu perintah dalam blok if, maka pakailah begin dan end;: