MODUL PERKULIAHAN
Komputasi
Mekanikal
GUI 1
Abstrak Sub-CPMK
Pendahuluan
Graphical user interface (GUI) adalah tampilan grafis dalam satu atau lebih jendela yang
berisi kontrol, yang disebut komponen, yang memungkinkan pengguna untuk melakukan
tugas-tugas interaktif. Pengguna GUI tidak harus membuat skrip atau mengetik perintah
di baris perintah untuk menyelesaikan tugas. Tidak seperti program pengkodean untuk
menyelesaikan tugas, pengguna GUI tidak perlu memahami rincian tentang bagaimana
tugas dilakukan. Komponen GUI dapat mencakup menu, toolbar, tombol tekan, tombol
radio, kotak daftar, dan slider. GUI yang dibuat menggunakan peralatan Matlab juga
dapat melakukan semua jenis perhitungan, membaca dan menulis berkas data,
berkomunikasi dengan GUI lain, dan menampilkan data sebagai tabel atau sebagai plot.
Kebanyakan GUI menunggu pengguna untuk memanipulasi kontrol, dan kemudian
menanggapi setiap tindakan. Setiap kontrol, dan GUI itu sendiri, memiliki satu atau lebih
rutin (kode Matlab yang dapat dieksekusi) yang dikenal sebagai callbacks, dinamai itu
karena rutin itu "memanggil kembali" ke Matlab untuk memintanya melakukan sesuatu.
Eksekusi setiap callback dipicu oleh tindakan pengguna tertentu seperti menekan tombol
layar, mengklik tombol mouse, memilih item menu, mengetik string atau nilai numerik,
atau melewati kursor di atas komponen. GUI kemudian menanggapi peristiwa ini.
Pencipta GUI, menyediakan callbacks yang menentukan apa yang dilakukan komponen
untuk menangani peristiwa. Jenis pemrograman ini sering disebut sebagai pemrograman
berbasis peristiwa. Sebagai contoh, klik tombol adalah salah satu peristiwa tersebut.
Dalam pemrograman berbasis peristiwa, eksekusi callback bersifat asinkron, yaitu, dipicu
oleh peristiwa di luar perangkat lunak. Dalam kasus GUI Matlab, sebagian besar peristiwa
adalah interaksi pengguna dengan GUI, tetapi GUI dapat menanggapi jenis peristiwa lain
juga, misalnya, pembuatan berkas atau menghubungkan perangkat ke komputer.
Pembangunan GUI
GUI Matlab adalah jendela gambar tempat Anda menambahkan kontrol yang
dioperasikan pengguna. Anda dapat memilih, merubah ukuran, dan memposisikan
komponen-komponen ini sesuka Anda. Menggunakan callbacks Anda dapat membuat
komponen melakukan apa yang Anda inginkan ketika pengguna mengklik atau
memanipulasi komponen-komponen tersebut dengan menekan tombol. Anda dapat
membangun GUI Matlab dengan dua cara:
1. Menggunakan GUIDE (GUI Development Environment), kit konstruksi GUI
interaktif.
2. Membuat berkas kode yang menghasilkan GUI sebagai fungsi atau skrip
(konstruksi GUI terprogram).
• Jika beberapa komponen memiliki bentuk yang sama, Anda dapat menggunakan
Alat Perataan untuk menyelaraskannya satu sama lain. Untuk menyelaraskan tiga
tombol tekan:
1. Pilih ketiga tombol tekan dengan menekan Ctrl dan mengkliknya.
2. Pilih Ratakan Objek dari menu Alat untuk menampilkan Alat Perataan.
3. Buat pengaturan ini di Alat Perataan, seperti yang ditunjukkan pada
gambar berikut:
Jarak 20 piksel antara tombol tekan ke arah menegak.
Kiri sejajar dalam arah mendatar.
• Saat Anda menyimpan GUI, GUIDE membuat dua berkas, berkas fig, dan berkas
kode. Berkas fig, dengan ekstensi .fig, adalah berkas biner yang berisi deskripsi
tata letak. Berkas kode, dengan ekstensi .m, berisi fungsi Matlab yang mengontrol
GUI.
• Untuk menyimpan GUI, Anda dapat memilih Simpan sebagai... dari menu Berkas
atau Jalankan (dari menu Peralatan). Jika Anda mencoba menjalankan Gambar
yang belum disimpan, GUIDE akan meminta Anda untuk menyimpannya terlebih
dahulu. Simpan Gambar sebagai Latihan_GUI.fig (di jalur saat ini): GUIDE
menyimpan berkas Latihan_GUI.fig dan Latihan_GUI.m. Berkas yang terakhir
dibuka di Editor.
• Jalankan gambar dengan memilih Tools > Run atau dari konsol Matlab, dengan
mengetik:
>> Latihan_GUI
Ketika Anda menyimpan GUI Anda di bagian sebelumnya, GUIDE membuat dua berkas:
Berkas fig Latihan_GUI.fig yang berisi tata letak GUI dan berkas Latihan_GUI.m, yang
berisi kode yang mengontrol bagaimana GUI berperilaku. Kode ini terdiri dari satu set
fungsi Matlab (bukan skrip). Tetapi GUI tidak menanggapi karena fungsinya belum berisi
pernyataan yang melakukan tindakan. Di sini kita akan melihat cara menambahkan kode
ke berkas untuk membuat GUI melakukan sesuatu.
Di bagian ini kita akan belajar bagaimana menghasilkan data yang akan diplot ketika
pengguna GUI mengklik tombol. Fungsi pembukaan menghasilkan data ini dengan
memanggil fungsi Matlab. Fungsi pembukaan, yang menginisialisasi GUI ketika dibuka,
adalah callback pertama di setiap berkas kode GUI yang dihasilkan GUIDE. Dalam
contoh ini, Anda menambahkan kode yang membuat tiga set data ke fungsi pembukaan.
Kode ini menggunakan fungsi Matlab peaks, membrane, dan sinc. Buka Latihan_GUI.m di
Editor:
>> edit Latihan_GUI
Gulir ke fungsi Latihan_GUI_OpeningFcn (atau pilih di alat Tampilkan fungsi f() di editor
dan tambahkan kode ini untuk membuat data untuk GUI segera setelah komentar yang
dimulai dengan:
% varargin command line arguments to Latihan_GUI (see VARARGIN)
Walaupun gambar sudah muncul dalam poros, tetapi tidak terjadi apa-apa jika tombol-
tombol ditekan atau menu pop-up diubah pilihannya. Itu karena belum ada kode untuk
komponen-komponen tersebut. Pada bahasan selanjutnya, kita akan menambahkan kode
untuk komponen-komponen itu.
Masing-masing dari tiga tombol tekan membuat jenis plot yang berbeda menggunakan
data yang ditentukan oleh pilihan data sekarang di menu pop-up. Callbacks tombol tekan
memplot data dalam data_sekarang. Tombol-tombol tersebut secara otomatis memiliki
Sekarang GUI sudah dapat berfungsi sepenuhnya dan semua komponen sudah aktif
seperti pada gambar-gambar berikut ini.