Membuat matlab GUI dgn m-file

Tulisan kali ini berupa rangkuman singkat ttg detail dlm membuat GUI dgn m-file. Di matlab GUI, hubungan Parent vs Children terlihat spt di bawah ini:

1. Objek Figure
Figure adalah objek tertinggi yg dapat kita gunakan dalam pemrograman window. Spt gbr di atas, figure adalah parent buat uimenu, uicontrol dan axes. Buat figurenya dgn kode umum spt berikut:
Nama = figure(…
‘Color’, [R G B], …
‘MenuBar’, <’figure’ | ‘None’ >, …
‘Units’, <’points’ | ‘pixel’ >, …
‘Position’, [Left Bottom Width Height], …
‘Resize’, <’on’ | ‘off’ >, …
‘NumberTitle’, <’on’ | ‘off’>, …
‘Name’, [Teks Windows], …
‘WindowStyle’, <’normal’ | ‘modal’>);

Position:
left means how many points or pixel from the left
bottom means how many points or pixel from the bottom
width means how many points or pixel the width is
height means how many points or pixel the height is

Urutannya gak mesti spt di atas! Contoh:
win1=figure(…
‘units’,’points’,…
‘position’,[100 150 500 300],…
‘color’,[.8 .8 .9],…
‘menubar’,’none’,…
‘resize’,’off’,…
‘numbertitle’,’off’,…
‘name’,’Latihan Window Programming’);

2. Objek Uicontrol
Uicontrol adalah objek yg digunakan utk berinteraksi di figure. Uicontrol merupakan parent utk objek2 yg digunakan utk berinteraksi. Kode umumnya:
Nama = uicontrol(…
‘Parent’,[NamaFigure],…
‘Style’,[Komponen atau jenis objek yg diinginkan],…
‘Units’, <’points’ | ‘pixel’>,…
‘ListboxTop’,0,…
‘Position’,[Left Bottom Width Height],…
‘String’,[Text pada objek yg dimaksud],…
‘Callback’,[Matlab skrip],…

Jenis2 objek yg ada:

Skrip style Keterangan
‘style’,’Text’,… Static text
‘style’,’Edit’,… Edit text
‘style’,’Pushbutton’,… Pushbutton
‘style’,’Checkbox’,… Checkbox
‘style’,’Radiobutton’,… Radiobutton
‘style’,’Slider’,… Slider
‘style’,’Frame’,… Frame
‘style’,’Popupmenu’,… Popup menu
‘style’,’Listbox’,… List box

Kode ini diletakkan setelah kode utk figure di atas. Contoh:
edit1=uicontrol(…
‘parent’,win1,…
‘units’,’points’,…
‘position’,[110 140 100 15],…
‘backgroundcolor’,[1 1 1],…
‘style’,’Pushbutton’,…
‘string’,’Exit’,…
‘fontname’,’arial’,…
‘fontsize’,10,…
‘Callback’,’Close’);

3. Objek Uimenu
Uimenu berupa menu2 yg biasa terdapat di sblh kiri atas window. Kode umumnya:
Nama=uimenu(…
‘parent’,[NamaFigure],…
‘Label’,[Teks utk menunya],…
‘Callback’,[Matlab skrip utk menu tersebut]);

Contoh:
menu1=uimenu(‘parent’,win1,…
‘Label’,’Program’);
menu11=uimenu(‘parent’,menu1,…
‘Label’,’Keluar’,…
‘Callback’,’Close’);

4. Objek axes

Axes adalah tempat utk menampilkan gambar atau plot. Kode umumnya:
Nama=axes(‘parent’,[objek parent],…
‘units’, <’points’ | ‘pixel’>, …
‘position’, [Left Bottom Width Height],…
‘xgrid’, <’on’ | ‘off’>, …
‘ygrid’, <’on’ | ‘off’>, …
‘xcolor’, [R G B],…
‘ycolor’, [R G B],…
‘fontsize’,[numerik],…
‘color’, [R G B]);

Contoh:
grafik1=axes(‘parent’,win1,…
‘units’,’points’,…
‘position’,[250 80 240 180],…
‘xgrid’,’on’,…
‘ygrid’,’on’,…
‘xcolor’,[0.4 0 0.15],…
‘ycolor’,[0.4 0 0.15],…
‘fontsize’,8,…
‘color’,[1 1 1]); %skala warna dari 0-1.
%Klo [1 0.1 0.1], maka axisnya akan berwarna merah,
%Klo [0.1 0.1 0.1], maka axisnya akan berwarna hitam,
%Klo [1 1 1], maka axisnya akan berwarna putih, dst
%demikian jg dgn xcolor dan ycolor.

5. Callback sbg media interaksi
Callback adalah media utk menyuruh objek melakukan hal2 yg kita inginkan. Contoh:
edit2=uicontrol(‘parent’,win1,…
‘units’,’points’,…
‘position’,[110 140 100 15],…
‘backgroundcolor’,[1 1 1],…
‘style’,’Pushbutton’,…
‘string’,’Bikin Grafik’,…
‘fontname’,’arial’,…
‘fontsize’,10,…
‘Callback’,[‘x=[0:10:180];’,…
‘y=sin(x*pi/180);’,…
‘plot(x,y,”-r”)’]);

Referensi:
Gunaidi Abdia Away, 2006, “The Shortcut of Matlab Programming”, Penerbit Informatika, Bandung

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: