GUI MATLAB - 031900024 - Mohammad Hafidz Akbar
GUI MATLAB - 031900024 - Mohammad Hafidz Akbar
GUI MATLAB
Disusun Oleh :
BAB I
PENDAHULUAN
I. Latar Belakang
Dewasa ini perkembangan ilmu pengetahuan dan teknologi telah berkembang
dengan pesat. Khususnya dibidang ilmu komputer yang telah mengalami
perkembangan yang begitu besar sehingga bermunculan berbagai macam jenis
program – program komputer yang telah beredar luas di masyarakat. Matlab
merupakan salah satu contoh program komputer yang dibuat oleh manusia untuk
mempermudah dalam proses perhitungan matematika. Namun, kebanyakan orang
tidak tahu bahasa pemrograman untuk menggunakan program matlab, yang
dianggap oleh masyarakat bahasa yang sulit untuk dipahami. Maka dari itu penulis
membuat program aplikasi dari matlab, yang dapat digunakan untuk
mempermudah pekerjaan perhitungan dll, dan disertai dengan cara pembuatan
program dan screenshoot programnya.
II. Tujuan Praktikum
- Memperkenalkan mahasiswa tentang penggunaan GUI MATLAB untuk
berbagai macan fungsi dan membuat sebuah aplikasi sederhana dari GUI
MATLAB.
BAB II
DASAR TEORI
GUIDE atau GUI builder merupakan sebuah graphical user interface (GUI) yang
dibangun dengan obyek grafik seperti tombol (button), kotak teks, slider, menu dan lain-
lain. Aplikasi yang menggunakan GUI umumnya lebih mudah dipelajari dan digunakan
karena orang yang menjalankannya tidak perlu mengetahui perintah yang ada dan
bagaimana kerjanya.
Sampai saat ini, jika kita membicarakan pemrograman berorientasi visual, yang
ada di benak kita adalah sederetan bahasa pemrograman, seperti visual basic, Delphi,
visual C++, visual Fox Pro, dan lainnya yang memang didesai secara khusus untuk itu.
Matlab merintis ke arah pemrograman yang menggunakan GUI dimulai dari versi 5, yang
terus disempurnkan sampai sekarang.
GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan bahasa
pemrogram lainnya, diantaranya:
1) GUIDE Matlab banyak digunakan dan cocok untuk aplikasi-aplikasi berorientasi
sains, sehingga banyak peneliti dan mahasiswa menggunakan GUIDE Matlab untuk
menyelesaikan riset atau tugas akhirnya.
2) GUIDE Matlab mempunyai fungsi built-in yang siap digunakan dan pemakai
tidak perlu repot membuatnya sendiri.
3) Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil.
4) Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan dengan
bahasa pemrograman lainnya.
Memulai GUIDE MATLAB
Memulai GUIDE Matlab dapat dilakukan dengan dua cara, yaitu:
1) Melalui command matlab dengan mengetikkan: >> guide
2) Klik tombol Start Matlab dan pilihlah MATLAB, lalu pilih GUIDE (GUI Bulder)
Selanjutnya akan muncul tampilan kotak dialog pilihan GUIDE Quick Start.
GUIDE Quick Start memiliki dua buah pilihan, yaitu Create New GUI dan Open
Existing GUI. Create New GUI digunakan jika kita memang belum pernah membuat
aplikasi GUI Matlab atau jika kita memang ingin membuat sebuah figure baru,
sedangkan Open Existing GUI digunakan jika kita sudah memiliki file figure matlab atau
akan memodifikasi file figure yang telah kita simpan.
Pada pilihan Create New GUI terdapat menu GUIDE templates yang memiliki
beberapa tipe dasar dari GUI, sehingga kita dapat melakukan modifikasi pada template
agar menjadi GUI seperti yang kita harapkan. Sebagai pemula, kita gunakan Blank GUI
(Default) yang merupakan sebuah GUI dengan figure kosong dan merupakan kondisi
default dari GUIDE dan diplih jika kita memang akan membuat sebuah aplikasi dengan
komponen yang layout-nya tidak terdapat pada GUI template yang lain. Setelah kita
memilih Blank GUI templates, maka akan muncul tampilan Menu Utama GUIDE.
Komponen palet pada GUIDE Matlab terdiri dari beberapa uicontrol (kontrol user
interface), seperti pada bahasa pemrograman visual lainnya, yaitu: pushbutton,
togglebutton, radiobutton, chexkboxes, edit text, static text, slider, frames, listboxes,
popup menu, dan axes. Kita dapat meletakkan semua kontrol pada layout editor dan
selanjutnya hanya tinggal mengaturnya melalui property inspector.
Semua kontrol pada GUIDE dapat dimunculkan pada layout/figure dengan cara
mendrag kiri kontrol yang diinginkan ke figure. Adapun penjelasan fungsi masing-
masing kontrol adalah sebagai berikut:
1) Pushbutton
Pushbutton merupakan jenis kontrol berupa tombol tekan yang akan menghasilkan
tindakan jika diklik, misanya tombol OK, Cancel, Hitung, Hapus, dan sebagainya.
Untuk menampilkan tulisan pada pushbutton kita dapat mengaturnya melalui property
inspector dengan mengklik obeyek pushbutton pada figure, lalu mengklik toolbar
property inspector atau menggunakan klik kanan lalu pilih property inspector.
Selanjutnya isilaha tab string dengan label yang diinginkan, misalnya Hitung.
2) Toggle Button
Toggle button memiliki fungsi yang sama dengan pushbutton. Perbedaanya adalah
saat pushbutton ditekan, maka tombol akan kembali pada posisi semula jika tombol
mouse dilepas, sedangkan pada toggle button, tombol tidak akan kembali ke posisi
semula, kecuali kita menekannya kembali. Contoh aplikasi Radio button dapat dilihat
pada Gambar 6.
3) Radio Button
Radio button digunakan untuk memilih atau menandai satu pilihan dari beberapa
pilihan yang ada. Misalnya, sewaktu kita membuat aplikasi operasi Matematika
(penjumlahan, pengurangan, perkalian, dan pembagian). Contoh aplikasi Radio button
dapat dilihat pada Gambar 6.
4) Edit Text dan Static Text
Edit text digunakan untuk memasukkan atau memodifikasi suatu text yang diinputkan
dari keyboard, sedangkan static text hanya berguna untuk menampilkan text/tulisan,
sehingga kita tidak bisa memodifikasi/mengedit text tersebut kecuali memalui
property inspector. Contoh edit dan static text dapat dilihat pada Gambar 6.
5) Frames
Frames merupakan kotak tertutup yang dapat digunakan untuk mengelompokkan
kontrol-kontrol yang berhubungan. Tidak seperti kontrol lainnya, frames tidak
memiliki rutin callback.
6) Checkboxes
Kontrol checkboxes berguna jika kita menyediakan beberapa pilihan mandiri atau tidak
bergantung dengan pilihan-pilihan lainnya. Contoh aplikasi penggunaan checkboxes
adalah ketika kita diminta untuk memilih hobi. Karena hobi bisa lebih dari satu, maka
kita dapat mengklik checkboxes lebih dari satu kali.
7) Slider
Slider berguna jika kita menginginkan inputan nilai tidak menggunakan keyboarad,
tatapi hanya dengan cara menggeser slider secara vertical maupun horizontal ke nilai
yang kita inginkan. Dengan menggunakan slider, kita lebih fleksibel dalam melakukan
pemasukan nilai data karena kita dapat mengatur sendiri nilai max, nilai min, serta
sliderstep.
8) Popup Menu
Popop menu berguna menampilkan daftar pilihan yang didefinisikan pada String
Propoerty ketika mengklik tanda panah pada aplikasi dan memiliki fungsi yang sama
seperti radio button. Ketika tida dibukak, popup menu hanya menampilkan satu item
yang menjadi pilihan pertama pada String Property. Popupmenu sangat bermanfaat
ketika kita ingin memberi sebuah pilihan tanpa jarak, tidak seperti radiobutton.
9) Axes
Axes berguna untuk menampilkan sebuah grafik atau gambar (image). Axes
sebenarnya tidak masuk dalam UIControl, tetapi axes dapat deprogram agar pemakai
dapat berinteraksi dengan axes dan obyek grafik yang ditampilkan melalui axes.
Membuat GUI dengan MATLAB
MATLAB mengimplementasikan GUI sebagai sebuah figure yang berisi barbagai style
obyek UIControl. Selanjutnya kita harus memprogram masing-masing obyek agar dapat
bekerja ketika diaktifkan oleh pemakai GUI.
Langkah dasar yang harus dikerjakan dalam membuat GUI adalah :
1) Mengatur layout komponen GUI
Setelah kita membuka GUIDE Matlab dan telah menentukan template GUI,
langkah selanjutnya adalah adalah mendesai figure dengan menggunakan komponen
palet sesuai dengan kebutuhan, seperti p ushbutton, radiobutton, chexkboxes, edit text,
static text, slider, frames, popup menu, axes, dan sebagainya. Selanjutnya kita dapat
mengatur layout masing-masing komponen, baik string(caption), font, color, size, dan
sebagainya menggunakan property inspector.
Jika kita telah selesai mendesain, jangan lupa untuk menyimpan file figure yang secara
default akan memiliki ekstensi *.fig. Dari sini, matlab secara otomatis akan
membuatkan sebuah m-file dengan nama yang sama, yaitu file berekstensi *.m.
2) Memprogram Komponen GUI
M-file yang telah dibuat pada langkah sebelumnya, akan otomatis terbuka dan kita
harus menulis programnya agar komponen kontrol dapat bekerja secara simultan.
Untuk membuat program dalam m-file kita cukup memperhatikan fungsi-fungsi
matlab bertanda callback dimana perintah disispkan.
Dari langah-langkah dasar diatas, secara sederhana sebenarnya GUI Matlab dibentuk
oleh dua buah file, yaitu fig-file dan m-file.
BAB III
SCRIPT KOMPUTASI
I. Membuat sebuah kalkulator sederhana dari GUI MATLAB dengan operasi perkalian,
pembagian, penjumlahan, dan pengurangan.
function varargout = CALCULATOR_031900022(varargin)
% CALCULATOR_031900022 MATLAB code for CALCULATOR_031900022.fig
% CALCULATOR_031900022, by itself, creates a new CALCULATOR_031900022 or raises
the existing
% singleton*.
%
% H = CALCULATOR_031900022 returns the handle to a new CALCULATOR_031900022
or the handle to
% the existing singleton*.
%
% CALCULATOR_031900022('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in CALCULATOR_031900022.M with the given input
arguments.
%
% CALCULATOR_031900022('Property','Value',...) creates a new
CALCULATOR_031900022 or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before CALCULATOR_031900022_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to CALCULATOR_031900022_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = CALCULATOR_031900022_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
II. Membuat plot fungsi sinus yang ditampilkan dalam GUI MATLAB dengan nilai
variable yang diganti adalah amplitude dan nilai x.
𝑓(𝑥)=𝐴 sin𝑥
Dengan ketentuan, nilai minimum untuk amplitude adalah 5 dan maximumnya 50, untuk
nilai minimum x adalah 10 sedangkan maximumnya 500.
function varargout = plotsinussssss(varargin)
% PLOTSINUSSSSSS MATLAB code for plotsinussssss.fig
% PLOTSINUSSSSSS, by itself, creates a new PLOTSINUSSSSSS or raises the existing
% singleton*.
%
% H = PLOTSINUSSSSSS returns the handle to a new PLOTSINUSSSSSS or the handle to
% the existing singleton*.
%
% PLOTSINUSSSSSS('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in PLOTSINUSSSSSS.M with the given input arguments.
%
% PLOTSINUSSSSSS('Property','Value',...) creates a new PLOTSINUSSSSSS or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before plotsinussssss_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to plotsinussssss_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = plotsinussssss_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
BAB IV
HASIL DAN PEMBAHASAN
Pada percobaan kali ini adalah membuat tampilan sederhana dengan menggunakan fitur
GUI pada matlab. Kali ini membuat 2 macam percobaan, diantaranya percobaan pertama
membuat GUI sebuah kalkulator sederhana dan percobaan yang kedua adalah membuat
plot grafik fungsi sinus.
1. GUI Kalkulator Sederhana
Gambar diatas adalah hasil pembuatan GUI sebuah kalkulator sederhana yang
dimana komposisinya adalah 4 panel, 5 toggle button, 3 edit text dan 1 static text.
Setelah kita membuat desain GUI di MATLAB, kita save terlebih dahulu menjadi
desain.fig , untuk contoh penulis save dengan nama desain.fig. Dan untuk filename.m
akan menjadi desain.m. Pada percobaan ini saya memberi file ‘.fig’ dengan nama
CALCULATOR_031900022.fig dan file ‘.m’ akan otomatis mengikuti nama file
‘.fig’ yang telah dibuat.
Sebelum membuat code perhatikan setiap komposisi terlebih dahulu. Masuk kedalam
menu ‘inspector’ pada guide kemudian ubah string, tag, dan fontsize setiap toggle
button, edit text, dan static text.
- Untuk membuat button penjumlahan maka string button di beri tanda ‘+’ dan
diberi tag ‘ADD’ dengan fontsize button sebesar 12
- Untuk membuat button penngurangan maka string button di beri tanda ‘-’ dan
diberi tag ‘SUB’ dengan fontsize button sebesar 12
- Untuk membuat button pembagian maka string button di beri tanda ‘:’ dan diberi
tag ‘DIV’ dengan fontsize button sebesar 12
- Untuk membuat button perkalian maka string button di beri tanda ‘x’ dan diberi
tag ‘MUL’ dengan fontsize button sebesar 12
- Untuk membuat button pembersih layar angka maka string button di beri tanda
‘C’ dan diberi tag ‘CLEAR’ dengan fontsize button sebesar 12
- Untuk 2 edit text pada panel input kosongkan string dan beri tag ‘IN1’ pada edit
text pertama, lakukan hal yang sama pada edit text kedua beri tag ‘IN2’ dengan
fontsize edit text sebesar 12
- Untuk 1 edit text pada panel output kosongkan string dan beri tag ‘OUT’ dengan
fontsize edit text sebesar 12
- Untuk 1 static text ganti string menjadi ‘KALKULATOR’ dengan fontsize static
text sebesar 20.
Selanjutnya kita akan berikan code pada setiap button. Pertama kita letakkan code di
button pembagian ‘:’. Pada percobaan ini bisa menyalin code berikut pada callback
button pembagian ‘:’. Cara mencari callback yaitu, klik kanan pada button, kemudian
klik view callback dan pilih callback.
A=str2double(get(handles.IN1,'string'));
B=str2double(get(handles.IN2,'string'));
C=A/B;
set(handles.OUT,'string',num2str(C));
Untuk code diatas, kita dapat menyalinnya pada button operasi matematika yang
lainnya (x, +. -). Namun perlu diperhatikan pada code ‘C=A/B;’ untuk setiap operasi
matematika memiliki input code berbeda-beda.
- Code perkalian ‘x’ maka ‘C=A*B;’
- Code penjumlahan ‘+’ maka ‘C=A+B;’
- Code pengurangan ‘-‘ maka ‘C=A-B;’
Kemudian kita sisipkan code untuk button Clear. Fungsi button clear adalah
membersihkan layar angka dan juga membuka kembali button yang di off-kan. Salin
code berikut pada callback button clear.
set(handles.IN1,'string','');
set(handles.IN2,'string','');
set(handles.OUT,'string','');
Selanjutnya kita save, dan kita siap untuk melakukan running program kalkulator
sederhana.
2. GUI Plot Grafik Sinus
Gambar diatas adalah hasil pembuatan GUI sebuah kalkulator sederhana yang
dimana komposisinya adalah 2 slider, 1 axes, dan 2 static text. Setelah kita membuat
desain GUI di MATLAB, kita save terlebih dahulu menjadi desain.fig , untuk
contoh penulis save dengan nama desain.fig. Dan untuk filename.m akan menjadi
desain.m. Pada percobaan ini saya memberi file ‘.fig’ dengan nama
plotsinussssss.fig dan file ‘.m’ akan otomatis mengikuti nama file ‘.fig’ yang telah
dibuat.
Sebelum membuat code perhatikan setiap komposisi terlebih dahulu.
Masuk kedalam menu ‘inspector’ pada guide kemudian ubah nilai min-max, string,
tag, dan value pada slider. Ubah XTick, XTick Label, YTick, YTick Label pada
axes dan terakhir ubah string, tag dan fontsize pada static text.
- Pada slider 1 atau slider terhadap sumbu Y, memiliki nilai min-max sebesar
5 sampai 50 dengan nilai value rentang 5 < value < 50 dalam hal ini saya
menginput nilai value sebesar 25, beri tag ‘slider1’ dan kosongkan string.
- Pada slider 2 atau slider terhadap sumbu X, memiliki nilai min-max sebesar
10 sampai 500 dengan nilai value rentang 10 < value < 500 dalam hal ini
saya menginput nilai value sebesar 250, beri tag ‘slider2’ dan kosongkan
string.
- Pada axes 1 sumbu-X pertama tentukan rentang label nilai sumbu di
‘XTick Label’ misalkan di dalam grafik saya membuat rentang label (0,
10, 100, 200, 300, 400, 500) dan atur skala jarak antar label di ‘XTick’ (0,
0.15, 0.3, 0.45, 0.6, 0.75, 0.9).
- Pada axes 1 sumbu-Y pertama tentukan rentang label nilai sumbu di
‘YTick Label’ misalkan di dalam grafik saya membuat rentang label (0, 5,
10, 20, 30, 40, 50) dan atur skala jarak antar label di ‘XTick’ (0, 0.15, 0.3,
0.45, 0.6, 0.75, 0.9).
- Untuk 2 static text ganti string menjadi ‘0’ dengan fontsize static text
sebesar 12, dan ganti tag kedua static text menjadi ‘text2’ pada sumbu-Y
dan ‘text3’ pada sumbu-X .
Selanjutnya kita akan berikan code pada setiap slider. Pada percobaan ini bisa
menyalin code berikut pada callback slider 1 dan slider 2. Cara mencari callback yaitu,
klik kanan pada button, kemudian klik view callback dan pilih callback.
Membuat code berikut pada slider 1 untuk sumbu-Y:
x=get(handles.slider1,'Value');
y=5:50;
g=y*sin(x)
plot(handles.axes1,y,g);
set(handles.text2,'String',x);
title('Plot Fungsi Sinus');
xlabel('x data');
ylabel('Amplitudo');
Membuat code berikut pada slider 2 untuk sumbu-X:
y=get(handles.slider2,'Value');
x=10:500; %amplitudo
g=y*sin(x)
plot(handles.axes1,x,g);
set(handles.text3,'String',y);
title('Plot Fungsi Sinus');
xlabel('x data');
ylabel('Amplitudo');
Selanjutnya kita save, dan kita siap untuk melakukan running program plot grafik
fungsi sinus yang telah dibuat.
BAB V
KESIMPULAN
1. GUI atau biasa disebut GUIDE (GUI builder) Matlab merupakan aplikasi display dari
MATLAB yang mengandung tugas, perintah, atau komponen program yang mempermudah
user (pengguna) dalam menjalankan sebuah program dalam MATLAB.
2. Pembuatan fitur GUI pada matlab dapat dilakukan dengan 2 cara, yaitu memanggil dari
command window dengan kode guide atau dari toolbar yang telah disediakan.