Download - Modul Pelatihan Matlab
MODUL PELATIHAN MATLAB (INTRODUCE AND BASIC)
LAB. MANUFAKTUR
DEPARTEMEN TEKNIK MESIN
UNIVERSITAS INDONESIA
2008
Pelatihan MATLAB lab. Manufaktur DTM FTUI
1
MODUL PELATIHAN MATLAB
Modul ini berisi tentang pengenalan dan juga cara – cara pengoperasian MATLAB
serta dilengkapi dengan panduan cara pemograman MATLAB secara umum.
Pendekatan yang dilakukan dalam modul ini adalah dengan menggunakan contoh –
contoh pemrograman dengan menggunakan MATLAB dengan disertai penjelasan
tentang program tersebut. Secara umum materi yang akan diberikan dalam modul ini
adalah sebagai berikut:
Sintak dasar dan control flow
Teknik membangun data
Teknik manipulasi data array
Interaksi input output user
Interaksi dengan file input/output
Visualisasi data 2D dan 3D
Pemrograman Windows
Tujuan MODUL
Modul ini dibuat dengan tujuan untuk mempermudah pembelajaran MATLAB dan
memberikan pemahaman dasar mengenai pemrograman dengan menggunakan
MATLAB.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
2
BAB I
PENDAHULUAN
I.1 Sekilas MATLAB
MATLAB berasal dari 2 kata yaitu Matrix dan Laboratory. MATLAB seperti halnya
C dan C++ merupakan salah satu bahasa pemrograman komputer. Namun MATLAB
merupakan bahasa pemrograman tingkat tinggi yang lebih mudah digunakan.
MATLAB memberikan sistem interaktif yang menggunakan konsep array/matik
sebagai standar varialbel elemennya tanpa membutuhkan pendeklarasian array seperti
bahasa pemrograman lainnya. MATLAB banyak digunakan dalam lingkungan
pendidikan dan penelitian sebagai alat pemrograman standar.
I.2 Lingkungan Kerja MATLAB
Sebelum menggunakan MATLAB pastikan MATLAB sudah ter-install pada
komputer. Saat me-running MATLAB akan muncul beberapa lingkungan kerja
MATLAB yang terpadu. Lingkungan terpadu ini terdiri atas beberapa window yang
memiliki kegunaan masing-masing. Setiap membuka aplikasi MATLAB maka akan
muncul beberapa window. Semuanya ini dapat ditutup kecuali command window.
Pada wimdow ini digunakan sebagai lingkungan kerja MATLAB. Untuk lebih
jelasnya berikut adalah wondow yang terdapat pada MATLAB:
Window Utama MATLAB
Pelatihan MATLAB lab. Manufaktur DTM FTUI
3
Window ini adalah window induk yang melingkupi seluruh lingkungan kerja
MATLAB. Pada beberapa program MATLAB ada perbedaan tampilan.
Launch Pad Window
Window ini mulai ada pada MATLAB versi 6, berfungsi sebagai penuntun bagi
pemakai dalam memilih opsi yang telah disediakan langsung pada MATLAB.
Workspace Wimdow
Pelatihan MATLAB lab. Manufaktur DTM FTUI
4
Window ini berfungsi sebagai navigator bagi pemakai dalam menyediakan informasi
mengenai variabel yang sedang aktif dalam workspace saat pemakaian. Workspace
adalah suatu lingkungan abstrak yang menyimpan seluruh variabel dan perintah yang
pernah digunakan selama pengunaan MATLAB berlangsung.
Current Directory Wmdow
Berfungsi sebagai browser direktory aktif, yang serupa dengan window explorer.
Command History
Berfungsi sebagai penyimpanan perintah yang pernah dikerjaan pada suatu
workspace.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
5
Command Window
Merupakan window yang penting. Pada window ini dituliskan berbagai sintak dan
perintah pemrograman MATLAB. Window ini merupakan tempat interaksi kita
dengan MATLAB.
Matlab Editor
Window ini berfungsi untuk membuat program MATLAB. Untuk dapat
memunculkan window ini pada MATLAB dengan mengetik ”edit” pada command
window MATLAB.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
6
I.3 Cara Bekerja dengan MATLAB
MATLAB dapat langsung digunakan dengan mengetik perintah pada command
window. Cara ini biasa digunakan untuk pengerjaan fungsi – fungsi secara langsung
dan sederhana.
Contoh:
Cara ini memiliki kelemahan bila banyak variabel yang berubah maka penggantian
akan dilakukan dengan manual.
Cara lain menggunakan MATLAB adalah dengan menggunakan M file. Cara ini
merupakan cara yang sangat efektif dan handal dalam melakukan berbagai jenis
Pelatihan MATLAB lab. Manufaktur DTM FTUI
7
pemrograman. Dengan cara ini maka kita akan lebih mudah mengevaluasi perintah
secara keseluruhan tanpa harus mengganti skrip.
Contoh:
Ketik pada MATLAB editor seperti di bawah ini. Lalu save dengan nama latihan01
Maka akan muncul pada command window
Jika tidak muncul maka berarti diretory penyimpan m file salah. Ganti diretory di
tempat m file program disimpan.
Yang perlu diperhatikan dalam penulisan pada editor adalah pemberian nama variable
tidak boleh sama dengan nama-nama default yang telah dikenal MATLAB. Jika tidak
maka akan terjadi overlaping yang mengakibatkan program tidak akan jalan.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
8
BAB II
SINTAK DASAR MATLAB
II.1 Variabel dan Operasi Matematika
Seperti bahasa pemrograman pada umumnya, MATLAB juga memiliki metoda dan
simbol tersendiri dalam penulisannya. Tipe data yang dikenal dalam pemrograman
MATLAB hanya 2 numeric dan string. Tidak seperti bahasa pemrograman lain, dalam
pemrograman MATLAB tidak dibutuhkan deklarasi eksplisit yang menyatakan tipe
data, karena MATLAB memiliki kemampuan tersendiri untuk mengenali tipe data
yang dimasukan oleh pemrogram pada setiap variabelnya, dan dapat secara dinamis
mengganti tipe data tersebut pada waktu yang relatif bersamaan tanpa adanya
kesalahan. Namun demikian ada beberapa hal penting ayng harus diperhatikan dalam
penulisan sintak, yaitu:
1. penamaan variabel bersifat case censitif, artinya MATLAB akan
membedakan adanya huruf besar dan kecil.
2. panjang nama variabel tidak dapat melebihi 31 karakter
3. penamaan variabel harus diawali dengan huruf tidak dengan bilanga atau
simbol lainnya.
II.2 Cara Penulisan Variabel
Penulisan variabel disesuaikan dengan jenis data yang akan diolah, yaitu:
1. data numerik tunggal
cara penulisan
a = 12
diterjemahkan dalam MATLAB
a = 12
2. data numerik berdimensi banyak (array)
cara penulisan
a = [12 30;10 20]
diterjemahkan
Pelatihan MATLAB lab. Manufaktur DTM FTUI
9
a =
12 30
10 20
3. data string / teks
cara penulisan
>> a=’ali’
Diterjemahkan
a =
ali
beberapa hal penting dalam penggunaan perintah MATLAB
tanda (;) pada akhir command menunjukan hasil command tidak tampil
pada layar.
Tanda ([]) digunakan untuk penulisan batas bawah dan batas akhir
elemen matrik.
Tanda (;) dalam deklarasi matrik digunakan untuk pemisahan antar
baris dan kolom.
Tanda (,) dalam deklarasi matrik berarti sama dengan spasi atau
pemisah antar elemen dalam satu baris matrik.
Cara Mengakses Variabel
Secara default MATLAB mengenali variabel yang digunakan sebagai matrik/array.
Maka untuk variabel yang memiliki elemen lebih dari satu, pengalamatan setiap
elemen variabel pada MATLAB memakai notasi berikut:
Variabel (baris ke, kolom ke)
Untuk ilustrasi cara penggunaannya, buatlah pada command window sebuah matrik A
berdimensi 3x3:
>> a = [1 2 3; 2 3 4; 3 4 5]
a =
1 2 3
2 3 4
3 4 5
Pelatihan MATLAB lab. Manufaktur DTM FTUI
10
Cara mengakses elemen tunggal adalah sebagai berikut:
>> a (2,3)
ans =
4
Artinya pengaksesan pada baris 2 kolom 3
Cara mengakses elemen pada baris tertentu:
>> a = ( 2,: )
ans =
2 3 4
Artinya mengakses elemen baris kedua dari variabel a. Tanda : berarti semua kolom.
Hal yang sama dilakukan untuk mengakses elemen pada kolom tertentu.
Cara mengakses beberapa elemen sekaligus pada baris dan kolom:
>>a = (1:2 , 2:3)
ans =
2 3
3 4
Artinya pengaksesan elemen dari baris ke 1 sampai 2 dan elemen dari kolom ke 2
sampai 3 dari variabel a.
Operasi Matematika
Operasi matematika dalam MATLAB sangat sederhana, sama halnya dengan
memakai kalkulator. Berikut adalah tabel operator matematika yang digunakan dalam
pemrograman MATLAB.
OPERASI SIMBOL CONTOH
Penjumlahan + A + B
Pengurangan - A – B
Perkalian * A * B
Pembagian / atau \ A / B atau A\B
Perpangkatan ^ A^B
Pelatihan MATLAB lab. Manufaktur DTM FTUI
11
Pengetahuan tentang Matrik adalah suatu hal yang sangat mendasar dalam
pemrograman MATLAB. Karena semua pola operasi matematika akan dikembalikan
dalam pola operasi matrik. Sebagai contoh adalah ketika melakukan deklarasi variabel
a yang diisi dengan nilai 5 adalah sebagai berikut:
>>a = 5
ans =
5
Maka secara otomatis MATLAB akan mengenal variabel a sebagai sebuah matrik
dengan dimensi 1x1. lihat pembuktian dibawah
>>a (1,1)
ans =
5
Perbedaan akan sangat terasa ketika melakukan operasi yang melibatkan perkalian
dan pembagian. Sebgai contoh lihat penyelesaian dibawah:
>>pjg = 5;
>>lbr = 6;
>>luas = pjg*lbr;
Luas =
30
Jika panjang dan lebar terdapat banyak elemen maka akan terjadi
Eror tersebut terjadi karena tidak terpenuhinya syarat perkalian matrik. Maka agar
sesuai dengan yang dimaksud adalah sebagaiberikut:
Pelatihan MATLAB lab. Manufaktur DTM FTUI
12
Penggunaan titik dimaksudkan perkalian antar elemen pada data panjang dengan
lebar. Keputusan penggunaan titik sesuai dengan kebutuhan dalam program.
Operasi Bilangan Kompleks
Kelebihan dari MATLAB adalah kemampuannya dalam mengolah data bilangan
kompleks tanpa membutuhkan deklarasi variabel khusus. Berikut adalah cara
mendeklarasikan variabel bilangan kompleks.
Kesimpulannya, tidak ada perbedaan menggunakan pengenal i atau j untuk bilangan
kompleks. Untuk keperluan perhitungan matematika tidak dibutuhkan fungsi khusus,
misalnya sebagai berikut:
Pelatihan MATLAB lab. Manufaktur DTM FTUI
13
Sedangkan untuk kebutuhan pemisahan nilai real dan imajiner dapat dengan mudah
dilakukan, misalnya:
Bentuk kompleks a + bi dalam aritmatika bilangan kompleks adalah bentuk
rectangular, sedangkan bentuk polar dari bilangan kompleks tersebut direalisasikan
dengan Magnitude dan sudut. Konversi rectangular ke polar dalam MATLAB
dipenuhi melalui fungsi abs dan angle.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
14
Fungsi Matetmatika Umum
Berikut adalah daftar fungsi matematika yang disediakan MATLAB.
FUNGSI TRIGONOMETRI DESKRIPSI
acos Invers kosinus
acosh Invers hiperbola kosinus
acot Invers kotangen
acoth Invers hiperbola kotangen
acsc Invers kosekan
acsch Invers hiperbola kosekan
asec Invers sekan
asech Invers hiperbola sekan
asin Invers sinus
asinh Invers hiperbola sinus
atan Invers tangen
atanh Invers hiperbola tangen
acos Kosinus
acosh Kosinus hiperbola
cot Kotangen
coth Kotangen hiperbola
csc Kosekan
Pelatihan MATLAB lab. Manufaktur DTM FTUI
15
csch Kosekan hiperbola
sec Sekan
sech Sekan hiperbola
sin Sinus
sinh Sinus hiperbola
tan Tangen
tanh Tangen hiperbola
Berikut adalah contoh penggunaan fungsi trigonometri:
1. pada command window ketik edit,lalu enter
2. maka akan muncul MATLAB editor. Lalu keti sebagai berikut
3. simpan di direktori dengan nama latihan02
4. lalu ketik latihan02 pada command window
5. maka akan muncul
Pelatihan MATLAB lab. Manufaktur DTM FTUI
16
Fungsi matematika lainnya:
FUNGSI EKSPONENSIAL DESKRIPSI
Exp Eksponensial
Log Logaritma natural
sqrt Akar pangkat
Input dan Output Program Dinamis
Program dinamis maksudnya program yang interaktif yaitu setiap ingin menggunakan
data baru tidak perlu mengganti skrip. MATLAB menyediakan fasilitaws untuk dapat
berinteraksi langsung dengan program tanpa harus merubah skrip. Fungsi yang
dimaksud adalah input. Lihat penulisannya sbb:
Variabel = input (’string ditampilkan’);
Dan untuk menampilkan output program ke layar, MATLAB menyediakan funsi disp.
Disp = (’string ditampilkan’);
Untuk lebih jelas lihat contoh:
Pelatihan MATLAB lab. Manufaktur DTM FTUI
17
HASILNYA=> Control Flow
Sama sepeti bahasa yang lainnya pada matlab banyak tipe command yang
mengkondisikan sesuatu data. Contohnya adalah sbb:
Iterasi terkondisi (while...end)
Sintak iterasi ini digunakan untuk melakukan pengulangan proses tanpa diketahui
jumlah pengulangannya. Iterasi ini hanya berhenti melakukan pengulangan ketika
mencapai syarat tertentu. Cara penulisannya adalah sbb:
While syarat
Perintah –perintah end
Pelatihan MATLAB lab. Manufaktur DTM FTUI
18
Untuk lebih jelasnya ikuti contoh berikut:
HASILNYA
Kondisional nilai relatif (if...elseif…else…end)
Sesuai dengan namanya kegunaannya untuk syarat dalam interval tertentu. Cara
penulisannya sbb:
if syarat1 Perintah –perintah elseif syarat2 else perintah -perintah end
Pelatihan MATLAB lab. Manufaktur DTM FTUI
19
Untuk lebih jelas lihat contoh:
HASILNYA Kondisi nilai absolut (switch...case...otherwise...end)
Sintak ini digunakan untuk memilih kasus yang dimaksud untuk syarat dengan nilai
yang tidak berada dalam interval tertentu. Cara penulisannya sbb:
swicth variabel11 case value1 perintah-perintah case value2 perintah-perintah . . . Otherwise perintah-perintah end
Pelatihan MATLAB lab. Manufaktur DTM FTUI
20
Pelatihan MATLAB lab. Manufaktur DTM FTUI
21
BAB III
TEKNIK MANIPULASI DATA
III.1 Cara Manipulasi Data
MATLAB menyediakan cara teknik pemilihan dan manipulasi data dengan
menggunkan sintak yang tersedia. Dengan begitu kita dapat menentukan data yang
kita inginkan. Lihat contoh-contoh berikut:
Data dengan elemen yang telah ditentukan.
Vektor kolom
Vektor baris
matrik
Data dengan batas awal dan batas akhir.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
22
Data dengan increment.
Data denganjumlah yang ditentukan.
Data log.
Membangun matrik standar.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
23
Data random.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
24
Mengubah orientasi data dengan transpos.
Menempelkan data pada baris/kolom.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
25
Teknik pengurutan data.
Teknik menyeleksi data.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
26
BAB IV
VISUALISASI MATLAB
IV.1 Teknik Visualisasi 2D
MATLAB selain untuk program juga dapat digunakan untuk menampilkan grafik baik
itu 2D atau 3D. Untuk dapat membuat grafik pada MATLAB sebenarnya tidak sulit.
Penampilan grafik pada MATLAB hanya menggunakan comand plot. Berikut adalah
contoh penggunaan sederhana.
Grafik tersebut terlihat polos tanpa keterangan. Untuk memberikan keterangan grafik
beri command title dan label serta grid bila perlu.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
27
Grafik juga dapat diganti warna serta jenis garisnya. Contohnya sbb:
Pelatihan MATLAB lab. Manufaktur DTM FTUI
28
Berikut ini adalah tabel sintak yang dipakai dalam editing grafik pada MATLAB.
Selain grafiknya font pada legenda grafik juga dapat diedit. Sintaknya adalah sbb:
set(gca,’color’,[R G B],’font property’,value)
title(‘teks’,’color’,[R G B],’font property’,value)
xlabel(‘teks’,’color’,[R G B],’font property’,value)
ylabel(‘teks’,’color’,[R G B],’font property’,value)
hasilnya adalah berikut ini.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
29
Berikut ini adalah tabel yang digunakan untuk font properti pada MATLAB.
FONT PROPERTY VALUE
fontname Arial, times news roman, dll.
fontweight Bold, normal
fontsize 1,2,3,.....,30
fontangel Italic,normal.
Selain hal tersebut. Grafik juga dapat ditampilkan dengan cara overlay. Maksudnya
adalah penampilan lebih dari satu grafk dalam plot yang sama. Sintaknya adalah sbb:
Plot(x1,y1,simbol1,x2,y2,simbol2,……,dst)
Atau dengan cara lain yaitu fungsi hold on. Sintaknya adalah sbb:
Plot(x1,y1,simbol1); hol on;
plot(x2,y2,simbol2); hol on; dst…..
MATLAB juga mempunyai kemampuan langsung menampilan visualisasi 2D. Sintak
– sintak yang dipakai adalah bar, stem, stairs.
Pelatihan MATLAB lab. Manufaktur DTM FTUI
30
IV.2 Visualisasi Data 3D
Visualisasi data 3D merupakan penampilan data dalam bidang x,y,z. Sintak – sintak
editing grafiknya sama dengan 2D. Namun sintak untuk membuat grafik 3D adalah
plot3(x,y,z); . Berikut ini adalah contoh cara ploting 3D:
Fungsi mesh.
Fungsi interpolasi (surf)
>> [x,y]=meshgrid(-3:0.25:3); >> z=peaks(x,y); >> plot3(x,y,z)
>> [x,y]=meshgrid(-3:1:3); >> z=peaks(x,y); >> surf(x,y,z)
Pelatihan MATLAB lab. Manufaktur DTM FTUI
31
>> [xi,yi]=meshgrid(-3:0.25:3); >> zi1=interp2(x,y,z,xi,yi,’nearest); >> surf(xi,yi,zi1)
>> zi2=interp2(x,y,z,xi,yi,’bilinear’); >> surf(xi,yi,zi2)
Pelatihan MATLAB lab. Manufaktur DTM FTUI
32
>> zi3=interp2(x,y,z,xi,yi,’bicubic’); >> surf(xi,yi,zi3)
Pelatihan MATLAB lab. Manufaktur DTM FTUI
33
BAB V
PEMROGRAMAN GUI
V.1 Pendahulan GUI
GUI (Graphic User Interface) merupakan salah satu fitur yang terdapat pada
MATLAB untuk dapat membuat suatu tampilan program lebih menarik, atraktif, dan
juga efektif. Dengan adnay GUI maka kita dapat menggunakan program yang kita
buat secara langsung dengan tampilan yang lebih mudah dipahami. Penggunaan GUI
pada MATLAB tidak sulit, karena MATLAB telah menyediakan komponen –
komponen standar untuk pemrograman window. Unutk dapat menggunakan
komponen – komponen tersebut kita harus memahami konsep pemrograman berbasis
objek di matlab dengan benar. Berikut ini adalah penjelasannya.
Penjelasan diagram di atas adalah sebagai berikut: setipa objek yang akan digunakan
harus diposisikan pada objek parentnya. Misalnya pushbotton harus diletakan pada
objek figure sebagai parentnya. Sintak umum untuk menggunakan objek pada
program MATLAB adalah :
SCREEN
FIGURE
UI CONTROL
SCRIPT STYLE
AXES UI MENU
PARENT
CHILDREN
Pelatihan MATLAB lab. Manufaktur DTM FTUI
34
objHandle = Objek ([propety objek],[properti value]);
Untuk lebih jelasnya dapat dilihat langsung pada contoh yang akan di buat pada bab
ini.
V.2 Objek pada GUI
Objek GUI pada MATLAB yang paling sering digunakan adalah sebagai berikut:
Objek Figure
Figure adalah objek tertinggi dalam pemrograman window. Objek ini dapat di akses
dengan sintak sebagai berikut:
Contoh pemakaian:
Objek UI Control
Nama = figure ( ‘color’,[r g b],… ‘menubar’,<’figure’|’none’>,… ‘units’,<’points’|’pixel’>,… ‘position’,[left top width height],.. ‘resize’,<’on’|’off’>,… ‘numbertitle,<’on’|’off’>,… ‘name’,[teks window],… ‘window style’,<’normal’|’modal’>);
Win1 = figure ( ‘color’,[.8 .8 .9], ‘menubar’,’none’, ‘units’,’points’, ‘position’,[100 150 500 300], ‘resize’,’off’, ‘numbertitle,’off’, ‘name’,’latihan programing window’);
Pelatihan MATLAB lab. Manufaktur DTM FTUI
35
Objek UI control objek yang kita gunakan untuk berinteraksi dengan program. Objek
ini berisi komponen yang dibutuhkan unutk mendeasain form unutk media interaksi.
Sintak untuk mengaksesnya adalah sebagai berikut:
Contoh :
Pada style dipilih push button. Namun MATLAB menyedikan bermacam style yaitu:
Nama = uicontrol ( ‘parent’,[nama figure],..
‘style’,[komponen],… ‘units’,<’points’|’pixel’>,… ‘listboxtop’,0,…
‘position’,[left top width height],.. ‘string’,[teks pada objek],… ‘callback’,[MATLAB skrip]);
Edit1 = uicontrol ( ‘parent’,win1,
‘style’,’pushbutton’, ‘units’,’points’, ‘fontname’,’arial’, ‘fontsize’,10,
‘position’,[110 140 100 15], ‘string’,[exit], ‘callback’,’close’);
Pelatihan MATLAB lab. Manufaktur DTM FTUI
36
Objek UI Menu
Objek ui menu pada dasarnya mirip dengan ui control khususnya pada komponen
push button. Seperti namanya kegunaan objek ui menu adalah untuk membuat menu
pada program window. Berikut adalah sintak untuk menampilkan ui menu.
Contohnya:
Objek Axes
Objek ini sangat penting untuk visualisasi data pada MATLAB. Tanpa menggunakan
objek axes kita tidak dapat menampilkan hasil eksekusi fungsi plot, mesh, contour,
dan lainnya. Sintak umumnya adalah:
Nama = uimenu (‘parent’,[nama figure],… ‘label’,[teks menu],… ‘callback’,[MATLAB SKRIP]);
Menu1 = uimenu (‘parent’,win1 ‘label’,’Program’; Menu11 = uimenu (‘parent’,win1 ‘label’,’kalkulator’;
‘callback’,’skrip latihan’);
Pelatihan MATLAB lab. Manufaktur DTM FTUI
37
Untuk lebih jelasnya coba ikuti contoh premrograman GUI berikut ini:
----------------------------------------------------------------------------------------------------
% MATLAB GUI kalkulator % by vrickoh clear all; clc; win1 = figure(... 'units','points',... 'position',[130 190 400 200],... 'color',[.9 .9 .9],... 'menubar','none',... 'resize','off',... 'numbertitle','off',... 'name','oto'); frame1 = uicontrol('parent',win1,... 'units','points',... 'position',[0 0 400 65],... 'backgroundcolor',[.3 .3 .3],... 'style','frame'); label1 = uicontrol('parent',win1,... 'units','points',... 'position',[40 170 320 20],... 'backgroundcolor',[.8 .8 .9],... 'style','text',... 'string','KALKULATOR',... 'fontname','verdana',... 'fontsize',12,... 'fontweight','bold',... 'foregroundcolor',[0 0 0]); label2 = uicontrol('parent',win1,... 'units','points',... 'position',[30 140 100 15],... 'backgroundcolor',[.3 .8 .9],... 'style','text',... 'string','ANGKA ke 1',... 'fontname','arial',...
nama = axes (‘parent’,[objek parent],... ‘units’,<’points’|’pixel’>,... ‘xgrid’,’on/off’,.. ‘ygrid’,’on/off’,... ‘xcolor’,[r g b],... ‘ycolor’,[r g b],... ‘fontsize’,[numerik],.. ‘color’,[r g b]);
Pelatihan MATLAB lab. Manufaktur DTM FTUI
38
'fontsize',10); label3 = uicontrol('parent',win1,... 'units','points',... 'position',[30 120 100 15],... 'backgroundcolor',[.3 .8 .9],... 'style','text',... 'string','ANGKA ke 2',... 'fontname','arial',... 'fontsize',10); label4 = uicontrol('parent',win1,... 'units','points',... 'position',[30 90 100 15],... 'style','text',... 'string','sama dengan',... 'fontname','arial',... 'fontweight','bold',... 'fontsize',10); %data inputan yang akan dipanggil %angka ke 1 edit1 = uicontrol('parent',win1,... 'units','points',... 'position',[130 140 60 15],... 'backgroundcolor',[1 1 1],... 'style','edit',... 'string','0',... 'fontname','arial',... 'fontsize',10); %angka ke 2 edit2 = uicontrol('parent',win1,... 'units','points',... 'position',[130 120 60 15],... 'backgroundcolor',[1 1 1],... 'style','edit',... 'string','0',... 'fontname','arial',... 'fontsize',10); %sama dengan edit3 = uicontrol('parent',win1,... 'units','points',... 'position',[130 90 60 15],... 'backgroundcolor',[1 1 1],... 'style','edit',... 'string','0',... 'fontweight','bold',...
Pelatihan MATLAB lab. Manufaktur DTM FTUI
39
'fontname','arial',... 'fontsize',11); %pengeditan tombol operasi tomtambah = uicontrol('parent',win1,... 'units','points',... 'position',[30 40 80 15],... 'style','pushbutton',... 'callback','otoa',... 'string','tambah',... 'fontname','arial',... 'fontsize',10); tomkurang = uicontrol('parent',win1,... 'units','points',... 'position',[110 40 80 15],... 'style','pushbutton',... 'callback','otob',... 'string','kurang',... 'fontname','arial',... 'fontsize',10); tomkali = uicontrol('parent',win1,... 'units','points',... 'position',[190 40 80 15],... 'style','pushbutton',... 'callback','otoc',... 'string','kali',... 'fontname','arial',... 'fontsize',10); tombagi = uicontrol('parent',win1,... 'units','points',... 'position',[270 40 80 15],... 'style','pushbutton',... 'callback','otod',... 'string','bagi',... 'fontname','arial',... 'fontsize',10); tomclose = uicontrol('parent',win1,... 'units','points',... 'position',[270 20 80 15],... 'style','pushbutton',... 'string','close',... 'fontname','arial',... 'fontsize',10,... 'callback','close');
Pelatihan MATLAB lab. Manufaktur DTM FTUI
40
Program di atas merupakan proram kalkulator sederhana. Pada bagian pengeditan
tombol operasi merupakan pemanggilan kembali fungsi yang telah kita buat
sebelumnya. Fungsi tersebut yaitu otoa, otob, otoc, otod. Fungsi ini berisi sintak untuk
opreasi hitung tambah, kurang, kali, dan bagi. Isi programnya adalah sebgai berikut:
Program – program ini di save pada satu direktori, yang kemudian akan dipanggil pada window parentnya. Setelah dipanggil maka akan tampak seperti ini
Contoh pembuatan grafik pada GUI: Ketik program di bawah ini pada m editor: % -------------------------------- % Program Latihan grafik GUI % Matlab Window Programming % vrickoh % -------------------------------- clear all; clc; win1=figure(... 'units','points',... 'position',[100 150 500 300],... 'color',[.8 .8 .9],...
Pelatihan MATLAB lab. Manufaktur DTM FTUI
41
'menubar','none',... 'resize','off',... 'numbertitle','off',... 'name','Latihan 25 : Window Programming'); frame1=uicontrol('parent',win1,... 'units','points',... 'position',[0 270 500 50],... 'backgroundcolor',[.3 .3 .4],... 'style','Frame'); frame1=uicontrol('parent',win1,... 'units','points',... 'position',[0 0 500 60],... 'backgroundcolor',[.3 .3 .4],... 'style','Frame'); label1=uicontrol('parent',win1,... 'units','points',... 'position',[150 270 200 20],... 'backgroundcolor',[.3 .3 .4],... 'style','Text',... 'horizontalalignment','left',... 'string','Hitung Trigonometri',... 'fontname','arial',... 'fontsize',12,... 'fontweight','bold',... 'foregroundcolor',[1 1 1]); label2=uicontrol('parent',win1,... 'units','points',... 'position',[10 140 100 15],... 'backgroundcolor',[.8 .9 .9],... 'style','Text',... 'string','Sudut Awal',... 'fontname','arial',... 'fontsize',10); label3=uicontrol('parent',win1,... 'units','points',... 'position',[10 120 100 15],... 'backgroundcolor',[.8 .9 .9],... 'style','Text',... 'string','Sudut Akhir',... 'fontname','arial',... 'fontsize',10); label4=uicontrol('parent',win1,... 'units','points',...
Pelatihan MATLAB lab. Manufaktur DTM FTUI
42
'position',[10 100 100 15],... 'backgroundcolor',[.8 .9 .9],... 'style','Text',... 'string','Interval Sudut',... 'fontname','arial',... 'fontsize',10); label5=uicontrol('parent',win1,... 'units','points',... 'position',[10 80 100 15],... 'backgroundcolor',[.8 .9 .9],... 'style','Text',... 'string','Buat Grafik',... 'fontname','arial',... 'fontsize',10); edit1=uicontrol('parent',win1,... 'units','points',... 'position',[110 140 100 15],... 'backgroundcolor',[1 1 1],... 'style','Edit',... 'string','0',... 'fontname','arial',... 'fontsize',10); edit2=uicontrol('parent',win1,... 'units','points',... 'position',[110 120 100 15],... 'backgroundcolor',[1 1 1],... 'style','Edit',... 'string','0',... 'fontname','arial',... 'fontsize',10); edit3=uicontrol('parent',win1,... 'units','points',... 'position',[110 100 100 15],... 'backgroundcolor',[1 1 1],... 'style','Edit',... 'string','0',... 'fontname','arial',... 'fontsize',10); popup1=uicontrol('parent',win1,... 'units','points',... 'position',[110 85 100 10],... 'backgroundcolor',[1 1 1],... 'style','popupmenu',... 'string','Sinus|Cosinus|Sinus Dan Cosinus',... 'fontname','arial',...
Pelatihan MATLAB lab. Manufaktur DTM FTUI
43
'fontsize',10); grafik1=axes('parent',win1,... 'units','points',... 'position',[250 80 240 180],... 'xgrid','on',... 'ygrid','on',... 'xcolor',[0.4 0 .15],... 'ycolor',[0.4 0 .15],... 'fontsize',8,... 'color',[1 1 1]); tomproses=uicontrol('parent',win1,... 'units','points',... 'position',[250 40 80 15],... 'style','pushbutton',... 'callback','trigonoa',... 'string','Proses',... 'fontname','arial',... 'fontsize',10); tomtutup=uicontrol('parent',win1,... 'units','points',... 'position',[400 40 80 15],... 'style','pushbutton',... 'string','Tutup',... 'fontname','arial',... 'fontsize',10,... 'callback','close'); Pada program di atas belum dapat dijalankan karena belum ada rumusnya. Seperti
mobil hanya baru ada bodinya saja tapi tidak ada mesin. Sekarang akan dibuat
mesinnya. Pembuatan program dilakukan di m file juga dan di save pada direktori
yang sama. Berikut adalah contoh programnya.
% ------------------------------------- % Program Trigonometri Untuk Latihan 25 % ------------------------------------- awal=str2num(get(edit1,'String')); akhir=str2num(get(edit2,'String')); interval=str2num(get(edit3,'String')); x=[awal:interval:akhir]; pilihan = get(popup1,'Value'); switch pilihan case 1 y=sin(x*pi/180);
Pelatihan MATLAB lab. Manufaktur DTM FTUI
44
set(win1,'CurrentAxes',grafik1); plot(x,y,'*r'); case 2 y=cos(x*pi/180); set(win1,'CurrentAxes',grafik1); plot(x,y,'*r'); case 3 y1=sin(x*pi/180); y2=cos(x*pi/180); set(win1,'CurrentAxes',grafik1); plot(x,y1,'*r'); hold on; plot(x,y2,'ob'); hold off; end; set(grafik1,... 'xgrid','on',... 'ygrid','on',... 'xcolor',[0.4 0 .15],... 'ycolor',[0.4 0 .15],... 'fontsize',8,... 'color',[1 1 1]); Setelah selesai save program dengan nama trigonoa. Lalu coba jalankan lagi program
trigono. Maka akan terlihat tampilan seperti berikut;