Anda di halaman 1dari 73

DTM FTUI

Pengantar
MATLAB

Dr. Ir. Gandjar Kiswanto, M.Eng


Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pengajar dan Referensi

Pengajar : Gandjar Kiswanto


Office : Manufacturing Laboratory, Dept. of
Mechanical Eng. UI
Telepon : 7270032 ext. 222
E-mail : gandjar_kiswanto@eng.ui.ac.id
Referensi :

Mathworks, Matlab Manuals.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pemakaian Matlab dalam ke-ilmuan


Mekanikal ? Kurikulum 2004
Kalkulus , 4

Aljabar Linear,
4

Mat. Eng. *, 4

Mek. Fluida, 4
Sistem
Instalasi Fluida
*, 3

Kimia, 2
Termodinamika
Dasar., 4

Statistik, 2

Fisika 1*, 4
panas & mek

Material
Teknik, 4

Perp. Kalor
dan Massa, 4
Teknik Tenaga
Listrik, 2

Fisika 2*, 4
lis,mag,gel&opt
ik
Perancangan
Mekanikal, 6

Mesin
Konversi
Energi *, 4

Pengendalian
Sistem, 4

Kinematika &
Dinamika, 4

Mekatronika*,
4

Skripsi, 6

Get. Mekanis, 2
Tugas
Merancang, 4

Menggambar
Teknik*, 2

MKU
Terintegrasi , 6
Bhs Inggris *, 3

Olah Raga atau


Seni ,1

Proses
Produksi*, 5

Menggambar
Mesin*, 3

Agama, 2

Industrial
Safety, H & E,
2

Metrologi dan
Pengukuran. *,
3

Pemilihan
Bahan &
Proses, 4

Manajemen
Proyek*, 3

Sistem
Pemeliharaan, 2

Pilihan (12 sks)


1 s/d 3, 3@4

Manajemen Sist.
Informasi, 3

Kapita Selekta
Industrial, 2

Hk. & Peraturan


Industri, 2

Kerja
Praktek , 2

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

Pilihan (8 sks)
4 & 5 ,2@4

DTM FTUI

Topik
1. Pendahuluan
2. Operasi Vektor
3. Operasi Matriks
4. Grafik dan Plotting
5. M-files
6. Pengantar Pemrograman
7. Simulink

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pendahuluan
MATLAB ? MATrix LABoratory Perangkat lunak
komputasi numerik dan visualisasi yg berkinerja tinggi.
Matlab meng-integrasikan :
Komputasi matrix/vektor dan berbasis matrix/vektor
Analisa numerik pemecahan akar dari pers. Polynomial
Signal processing
Data analysis
2D-3D Graphics data plotting, visualisasi & animasi
Pemecahan masalah berdasarkan applikasi (Applications-specific
problem) TOOLBOX (Library dari fungsi2 matlab Statistik,
Termodinamik, dinamika api, perancangan mekanik, getaran,
statistik, robotika, dll.
Dll
Tanpa harus selalu membuat pemrograman secara tradisional !
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pendahuluan (contd)
Matlab basic :
1. Memulai Matlab double click (klik dua kali) Matlab *.exe
file (cth C:\MATLABR11\bin\matlab.exe)
2. Muncul command window

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pendahuluan (contd)
Matlab basic :

MatLab Toolbar :
New File ; Open File
Cut, Copy dan Paste

Workspace Browser untuk meng-edit variable


secara cepat silahkan coba klik.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pendahuluan (contd)
Workspace Browser :

Klik 1
(pilih variable yg
ingin di edit)

Klik 2
Untuk menghapus variable
MatLab editor/debugger
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pendahuluan (contd)

Ruang untuk merubah nilai variabel

Ruang untuk merubah jumlah elemen variabel

Nama variabel yg sdg dirubah


Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

DTM FTUI

Pendahuluan (contd)
Path Browser untuk meng-edit path dimana Matlab
akan mencari functions silahkan coba klik.
Path Browser :

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

10

DTM FTUI

Pendahuluan (contd)
Simulink silahkan coba klik.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

11

DTM FTUI

Pendahuluan (contd)
Matlab basic :
4. Tanda >> pada command window disebut : Matlab
command prompt tempat mendefinisikan variabel atau
membuat statement, dll.
5. Mematikan Matlab ketik quit
6. Pembuatan history dari command yg telah di buat, dilakukan
dengan command diary nama_file berada pada :
C:\MATLABR11\work\
7.

Matlab di bangun dengan struktur file mirip Unix

8. Pada saat dijalankan default path C:\MATLABR11\work\


proses (pembuatan file, output) dijalankan di path ini.
9. Untuk mengetahui path kita sekarang ketik pwd
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

12

DTM FTUI

Pendahuluan (contd)
Matlab basic :
10. Untuk mengetahui isi direktori pada path ketik ls atau dir
11. Untuk mengganti ke upper direktori ketik cd .. (apa yg
terjadi ? Cek dgn pwd)
12. Untuk mengganti ke root direktori ketik cd \ (apa yg terjadi
? Cek dgn pwd)
13. Untuk mengganti ke lower direktori 1 tingkat ketik
cd nama_direktori1 (apa yg terjadi ? cek dgn pwd)
14. Untuk mengganti ke lower direktori > 1 tingkat ketik
cd nama_direktori1\nama_direktori2 (apa yg terjadi ? cek
dgn pwd)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

13

DTM FTUI

Pendahuluan (contd)
Matlab basic :
15. Membuat & menggunakan variabel :
>> P=1
P=

>> n=1
n=
1

>> R=0.081
R=
0.0081

>> T=273
T=
273

16. Nama variabel/konstanta case-sensitive n N


17. Nama variabel yg memungkinkan :
Berisi huruf dan angka cth : ST306, 318i
Dapat berupa kata cth : Pressure, Vol
18. Command sebelumnya dpt dipanggil kembali dengan panah atas
atau panah bawah (silahkan coba).
19. Matlab selalu menyimpan nilai terakhir variabel yg dibuat.
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

14

DTM FTUI

Pendahuluan (contd)
Matlab basic :
20. Untuk mengetahui variabel yg telah didefinisikan oleh kita
ketik who format singkat, atau whos format detail
(silahkan coba). Cth :
>> whos
Name
A
B
v

Size
3x3
3x3
1x5

Bytes Class
72 double array
72 double array
40 double array

Grand total is 23 elements using 184 bytes

21. Operasi yang mungkin dilakukan e.g. operasi aritmatik +, -,


*, /, ^ (lebih detail pada operasi vektor/matriks):
Cth Volume = n*R*T/P
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

15

DTM FTUI

Pendahuluan (contd)
Matlab basic :
22. Variable/statement yg diakhiri ; (semi colon) utk
menghilangkan print out hasil/kopi perlu bila ingin
melakukan komputasi dgn banyak persamaan cth Volume =
n*R*T/P;
23. Resolusi display nilai suatu variabel (perhitungan) dpt di
tentukan dengan (yg plg umum) command format (5 digit =
default) atau format short (5 digit) dan format long (15
digit), dll (silahkan coba dahulu !) dari workspace.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

16

DTM FTUI

List dan Aritmatik List


Matlab memungkinkan untuk melakukan operasi terhadap
sejumlah list angka/nilai !
List ini disebut Vektor, Array atau Matriks.
Ada berbagai macam cara untuk membuat list
Menggunakan operator colon : >> T=300:10:400
T=
(silahkan cek)

Menggunakan fungsi zeros atau ones :


>> z=zeros(1,5)
z=
(silahkan cek)

>> z=ones(1,7)
z=
(silahkan cek)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

17

DTM FTUI

Operasi Vektor
Bekerja dengan Vektor :
Sebuah vektor didefinisikan dengan menempatkan urutan
bilangan/angka di dalam kurung persegi [ ].
Vektor yg didefinisikan

>> v = [3 1]
v=

Kopi dari vektor yg didefinisikan

Entri 1
Entri 2
Variabel/Label dari vektor
Bila ingin melihat elemen dari vektor ketik label vektor !
>> v
v=

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

18

DTM FTUI

Operasi Vektor (contd)


Utk melihat setiap elemen/entri dr vektor
>> v(1)
ans =

ans = label untuk operasi tanpa asignment !


3

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

19

DTM FTUI

Operator Aritmatik pada Matlab


Operator Aritmatik
1.

Operasi aritmatik dirancang untuk bekerja dgn matriks.

2. Mencakup operator + - * / \ ^ '

+ adl penambahan

- adl pengurangan

* adl perkalian

/ , Slash, adl pembagian kanan matriks

\ , Backlash, adl pembagian kiri matriks

^ adl operator pangkat

' adl operator transpose


3. Memiliki 2 tipe operasi aritmatik yg berbeda : Matriks dan
Array.
4. Array = operasi dijalankan elemen-per-elemen, Matriks =
operasi aljabar linear (e.g. perkalian matriks).
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

20

DTM FTUI

Operator Aritmatik (contd)


5.

Titik . membedakan antara operasi Array dengan operasi Matriks


contoh : A*B (perkalian matriks) dan A.*B (perkalian antar
elemen) matriks.

6. Semicolon ; yg diletakkan sesudah sebuah ekspresi atau statement


adl untuk memberhentikan pencetakan atau memisahkan
statements.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

21

DTM FTUI

Operator Aritmatik (contd)


>>A = [1;2;3]
A=
1
2
3

>> B= [10;20;30]
B=
10
20
30

>> A+B
ans =

>> A-B
ans =
11
22
33

>> A'
ans =

>> B'
ans =
123

>> A+10
ans =
-9
-18
-27

10 20 30

>> B-5
ans =
11
12
13

5
15
25

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

22

DTM FTUI

Operator Aritmatik (contd)


>> A*B
??? Error using ==> *
Inner matrix dimensions must
agree

>> A*B'
ans =

>> A.*B
ans =
10
40
90

>> A*2
ans =
10 20 30
20 40 60
30 60 90

>> A'*B
ans =
140

>> A.*2
ans =
2
4
6

>> A\B
ans =
2
4
6

10

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

23

DTM FTUI

Operator Aritmatik (contd)


>> A.\B
ans =

>> 2\A
ans =
10
10
10

>> A./B
ans =
0.1000
0.1000
0.1000

>> 2.\A
ans =
0.5000
1.0000
1.5000

>> A/B
ans =
0.5000
1.0000
1.5000

>> B^A
??? Error using ==> ^
Matrix dimensions must agree.

0 0 0.0333
0 0 0.0667
0 0 0.1000

>> B.^A
ans =
10
400
27000

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

24

DTM FTUI

Operator Aritmatik (contd)


>> A^2
??? Error using ==> ^
Matrix must be square

>> A.^2
ans =
1
4
9

Operator/notasi colon (titik-dua) : digunakan untuk


mendefinisikan range dari bilangan entri awal, ikremen (bila
perlu), entri akhir.
>> x = 1:4
x=
1234

>> x = 1:2:10
x=
13579

>> x = 0:0.25:1.25
x=
0 0.25 0.5 0.75 1.0 1.25
>> y=[x[0:0.25:1.25]]
Apa hasilnya ? Cek !
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

25

DTM FTUI

Operator Relasional dan Logika


Operator Relasional Matlab : memberikan status
1.
2.
3.
4.
5.
6.

benar/salah
< kurang dari
<= kurang dari atau sama dengan
> lebih dari
>= lebih dari atau sama dengan
== sama dengan
~= tidak sama dengan

>> 2 + 2 ==4
ans =
1
>> A>B
ans =
0
0
0

>> A==B
ans =
0
0
0
>> A<B
ans =

Operator Logika Matlab : membuat

1
1
1

kondisi logik pada algoritma


1. & dan
2. | atau
3. not not
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

26

DTM FTUI

Matriks
Bekerja dengan Matriks
1. Cara yg paling mudah untuk memulai matriks mengetik
command dlm bentuk :
variable = [value1-1 value1-2 value1-3 ... ; value2-1 value2-2 ...]
2. Setiap value dapat berupa bilangan rasional atau kompleks.
3. Dalam kurung persegi yg digunakan untuk membuat vektor atau
matriks, dapat digunakan semicolon ; untuk mengakhiri
sebuah baris. Cth
>> x = [1 2 3 4; 5 6 7 8]
x=

(Note : Semicolon yg diletakkan sesudah


sebuah ekspresi atau statement adl untuk
memberhentikan pencetakan atau
memisahkan statements)

1234
5678
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

27

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
4. Dapat juga dibuat dari sebuah baris dari Vektor kolom
>> B = [ [1 2 3]' [2 4 7]' [3 5 8]']
B=
1 2 3
2 4 5
3 7 8

Jgn lupa spasi !

5. Dapat dibuat dengan menggunakan beberapa kolom operator/notasi


colon dgn mendefinisikan entri pertama, inkremen, entri terakhir
(lihat sebelumnya).
>> C = [ 1 :4;2:5;3:6]
C=
1

3 4

2
3

3
4

4 5
5 6

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

28

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
6. Mendapatkan inverse dari sebuah matriks dilakukan dengan
command
inv(nama_variabel)
>> B= [100 2 3;4 7 6;23 8 91]
B=
100
2
3
4
7
6
23
8
91

>> inv(B)
ans =
0.0101 -0.0027 -0.0002
-0.0039 0.1555 -0.0101
-0.0022 -0.0130 0.0119

Warning terjadi bila matriks mendekati singular (walaupun tetap


keluar inversenya) !

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

29

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
7. Mendapatkan approksimasi terhadap eigenvalue dan eigen
vektor dari matriks
eig(nama_variabel)
hasil : vektor yg merupakan eigenvalue dari nama_variabel.
>> eig(B)
ans =
105.3390
86.2721
6.3889

>> [S,T]=eig(B)
ans =
(silahkan cek ;-)

Menghasilkan matriks diagonal T dr


eigenvalue & sebuah matriks S yg
kolomnya adalah eigenvektor yg
berhubungan shg B*S=S*T
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

30

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
8. Fungsi lain pada Matriks :
A.

Seterusnya Gunakan command help nama_fungsi


untuk mengetahui detail syntax dan kegunaan fungsi ybs !!!.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

31

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
8. Fungsi lain pada Matriks (contd) :
B.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

32

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
8. Fungsi lain pada Matriks (contd) :
C.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

33

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
8. Fungsi lain pada Matriks (contd) :
D.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

34

DTM FTUI

Matriks (contd)
Bekerja dengan Matriks
8. Fungsi lain pada Matriks (contd) :
E.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

35

DTM FTUI

Matriks (contd)
Contoh Soal :
Sebuah silinder memiliki titik pusat lingkaran bawah (0.0,0.0,0.0)
dan tinggi 10 unit. Silinder tersebut kemudian
a di perbesar dengan faktor perbesaran = 5 searah sumbu
x,
b kemudian diikuti oleh sebuah rotasi terhadap sumbu-Z
sebesar 30 derajat,
c akhirnya di translasi dengan vektor arah <2, 1, 2>.
Berapa koordinat dari titik pusat lingkaran atas nya sekarang ?
5

0
a
0

0
1
0
0

0
0
1
0

0
0

cos30 sin 30

sin 30 cos30
b
0
0

0
0

0 0

0 0
1 0

0 1

1 0 0 2

0
1
0
1

c
0 0 1 2

0
0
0
1

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

36

DTM FTUI

Fungsi-fungsi pada Matlab


Fungsi2 Elementer :

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

37

DTM FTUI

Fungsi-fungsi pada Matlab


(contd)
Fungsi2 Elementer :

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

38

DTM FTUI

Fungsi-fungsi pada Matlab


(contd)
Fungsi2 Elementer :

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

39

DTM FTUI

Polinomial (Polynomials)
1.

Matlab merepresentasikan polinomial sebagai row vector (vektor


baris) yg memiliki koefisien yg ter-urut berdasarkan nilai pangkat
yg menurun, cth :

p( x) x3 2 x 7
2. Untuk pemecahan akar polinom, pada Matlab nilai tersebut
dimasukkan sbb & dipecahkan dengan command (fungsi) roots :
>> S= [1 0 2 -7]
S=
1 0 -2 -7

Masukkan nol utk koefisien nil

>> T=roots(S)
T=
2.2583
-1.1291 + 1. 3509i
-1.1291 1. 3509i

Matlab menyimpan akar (root) dalam vektor kolom !


Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

40

DTM FTUI

Polinomial (contd)
3. Untuk mendapatkan nilai koefisiennya (kebalikan dari point
sebelumnya) memakai command poly sbb :
>> U=poly(T)
U=
1 0 -2 -7

Contoh 2 :

p( x) 4 x 4 x3 2 x 7

>> V= [4 1 0 2 -7]
V=
4 -1 0 -2

>> W=roots(V)
W=
1.3130
-0.0315 + 1.1540i
-0.0315 1.1540i
-1.0000
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

41

DTM FTUI

Polinomial (contd)
>> X=poly(W)
X=
1.0000 -0.2500

-0.0000

-0.5000

-1.7500

Terdapat pengaruh : scaling, round-off error dan/atau order !


4. poly juga dpt menghitung koefisien dari polinomial karakteristik
(red. yg digunakan untuk mencari roots dari hasil utk
mendapatkan eigenvalue) dari sebuah matrix :
>> A= [1.2 3 0.9;5 1.75 6;9 0 1];
>> poly(A)
ans =
1.0000 -3.9500 -1.8500

-163.2750

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

42

DTM FTUI

Polinomial (contd)
5.

Untuk mencetak nilai dari suatu polinomial = melakukan


evaluasi terhadap nilai polinomial yg kita miliki gunakan
command polyval
>> Y=polyval(S,0)
Y=
-7

Cobalah dgn nilai yg lain, e.g. polyval(S, 1.5)

6. Perkalian antar polinomial dapat dilakukan dengan


menggunakan command (fungsi) conv (convolution) cth :

a(s) s 2 2s 3

b( s ) 4 s 2 5s 6

>> a=[1 2 3]; b=[4 5 6];


>> c=conv(a,b)
c=
4 13 28 27 18
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

43

DTM FTUI

Polinomial (contd)
7.

Untuk mendapatkan kembali koefisien polinomial dari perkalian


dua buah polinomial dilakukan dengan menggunakan command
(fungsi) deconv (convolution) cth :
>> [q,r]=deconv(c,a)
q=
4 5 6
r=
0 0 0 0 0

8. Untuk mendapatkan Derivatif (turunan) dari suatu polinomial


dilakukan dengan menggunakan fungsi polyder
>> k=polyder(S)
k=
3 0 -2
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

44

DTM FTUI

Polinomial (contd)
9. Untuk mendapatkan Derivatif (turunan) dari perkalian antar
polinomial juga dpt dilakukan dengan menggunakan fungsi
polyder
>> a=[1 2 3]; b=[4 5 6];
>> d=polyder(a,b)
d=
16 39 56 27
10. Untuk mendapatkan koefisien dari sebuah polinomial yg fit
secara least-square terhadap sebuah set data dpt dilakukan dgn
funci polyfit , cth : untuk third order polinomial
>> x1=[1 2 3 4 5]; y1=[5.5 43.1 128 290.7 498.4];
>> p=polyfit(x1,y1,3)
p=
-0.1917 31.5821 -60.3262 35.3400
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

45

DTM FTUI

Polinomial (contd)
10. Untuk mendapatkan nilai polyfit yg meng-estimasi dalam
range/interval yg lebih halus dan mem-plot nilai data yg real
sebagai perbandingan :
>> x2=[1:.1:5]; y2=polyval(p,x2);
>> plot(x1,y1,o,x2,y2)
>> grid on

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

46

DTM FTUI

Plotting
1.

Di Matlab mem-plot data adalah mudah ! dgn fungsi plot

2. Asumsikan akan memplot fungsi sinus terhadap waktu :


>> t=0:0.25:7;
>> y=sin(t);
>> plot(t,y)
>> grid on
membuat grid

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

47

DTM FTUI

Plotting (contd)
3. Untuk melakukan multiple plotting pada satu window dpt
dilakukan dgn :
>> y2=sin(t-0.25);
>> y3=sin(t-0.5);
>> plot(t,y,t,y2,t,y3)
>> grid on

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

48

DTM FTUI

Plotting (contd)
4. Untuk melakukan multiple plotting dengan tipe garis yg berbedabeda pada satu window dpt dilakukan dgn :
>> y2=sin(t-0.25); y3=sin(t-0.5);
>> plot(t,y,ot,y2,x,t,y3,-)
>> grid on
Pakai hold on untuk
menampilkan grafik-grafik
di satu window Figure !

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

49

DTM FTUI

Plotting (contd)
5.

Tipe-tipe garis, simbol dan warna yg dapat digunakan untuk


melakukan multiple plotting pada satu window dpt berupa :
plot(t,y,s)
b

blue

point

solid

green

Circle

Dotted

red

X-mark

_.

Dashdo
t

cyan

Plus

--

dashed

magent
a

Star

yellow

square

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

50

DTM FTUI

Plotting (contd)
6. Untuk melakukan plotting 3 dimensi dengan tipe garis yg
berbeda-beda pada satu window dpt dilakukan dgn fungsi plot3 :
>> [x,y]=meshgrid(-3:0.25:3);
>> z=peaks(x,y);
>> plot3(x,y,z)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

51

DTM FTUI

Plotting (contd)
Grafik plotting :

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

52

DTM FTUI

Plotting (contd)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

53

DTM FTUI

Plotting (contd)

Edit/buat
judul smb X,
Y, dan Z.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

54

DTM FTUI

Interpolasi
1.

Interpolasi adalah proses untuk memperkirakan nilai yg terletak


antara titik-titik data yg diketahui aplikasi : signal processing,
image processing, visualisation, dll.

2. Pada Matlab dibagi menjadi : interpolasi 1 dimensi dengan


fungsi interp1, interpolasi 2 dimensi dengan fungsi
interp2, dan interpolasi 3 dimensi interp3.
3. Untuk pelatihan ini fokus pada interpolasi 2 dimensi :

ZI interp2( X , Y , Z , XI , YI , method )
Z = array rectangular yg berisi nilai dari fungsi dua-dimensi, X
dan Y adalah array dengan ukuran yg sama yg mengandung titiktitik yg didapat berdasarkan nilai Z yg diberikan. XI dan YI
adalah matriks dari titik-titik data yg harus di interpolasi.
Method adalah interpolasi method yang akan digunakan.
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

55

DTM FTUI

Interpolasi (contd)
4. Contoh pemakain interp2
>> [x,y]=meshgrid(-3:1:3);
>> z=peaks(x,y);
>> surf(x,y,z)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

56

DTM FTUI

Interpolasi (contd)
>> [xi,yi]=meshgrid(-3:0.25:3);
>> zi1=interp2(x,y,z,xi,yi,nearest);
>> surf(xi,yi,zi1)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

57

DTM FTUI

Interpolasi (contd)
>> zi2=interp2(x,y,z,xi,yi,bilinear);
>> surf(xi,yi,zi2)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

58

DTM FTUI

Interpolasi (contd)
>> zi3=interp2(x,y,z,xi,yi,bicubic);
>> surf(xi,yi,zi3)

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

59

DTM FTUI

Pemrograman pada Matlab


Struktur control for dan while memungkinkan untuk menulis
progam di Matlab !
1.

Command for memungkinkan utk membuat sebuah command


atau serangkaian command yg dpt di jalankan (execute) beberapa
kali == loops :
>> for i=1:4
i
end
silahkan dicek hasilnya !

2. Setiap command for, harus memiliki statemen end yg sesuai.


3. Command for dimungkinkan untuk melakukan nested

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

60

DTM FTUI

Pemrograman pada Matlab


(contd)
>>for m = 1:3
for n = 1:3
x (m,n) = m + n*i;
end
end
>>
Silahkan cek hasilnya

4. Command if memberikan kemungkinan untuk mengecek suatu


kondisi atau persamaan/statemen sebelum menjalankan
command yg lain.
>>if a > 0
x=a^2 ;
end
>>
Silahkan cek hasilnya ?
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

61

DTM FTUI

Pemrograman pada Matlab


(contd)
>>if a > 0
x=a^2 ;
else
x=-a^2;
end
>>

Silahkan cek hasilnya ?

5.

Pengecekan terhadap kondisi/persamaan/statemen dpt dilakukan


lebih dari 1, cth :
>> if a > 0
x = a^2;
elseif a == 0
x = i;
else
x = - a^2;
end
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

62

DTM FTUI

Pemrograman pada Matlab


(contd)
6.
Command while memungkinkan untuk dilakukannya
serangkaian command yg lain hingga suatu/beberapa kondisi
tidak terpenuhi lagi cth :
>>x=2;
>>while x<1000
x=x+100;
end
>>
Silahkan cek hasilnya ?

Proses didalam while dan end dijalankan hingga kondisi while


tidak terpenuhi.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

63

DTM FTUI

Pemrograman pada Matlab


(contd)
7.
Command while dapat di terminasi lebih awal bila suatu kondisi
yang lain terpenuhi dgn menggunakan command break cth :
>>while 1
If x > 100
break;
end
x=x^2;
end
>>
Silahkan cek hasilnya ?

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

64

DTM FTUI

Pemrograman pada Matlab


(contd)
Pemrograman dengan m-file :
1.

Ada dua tipe pemrograman m-file : script programming dan


function programming.

2. Script programming :
Tidak menerima input argumen dan tdk memberikan output
argumen.
Beroperasi pada data di dalam workspace.
Berguna utk meng-automatisasikan serangkaian langkah yg perlu
dilakukan berulang kali.

3. Function programming :
Menerima input argumen dan memberikan output argumen.
Internal variabel adalah bersifat lokal fungsi tersebut.
Berguna utk melakukan ekspansi fungsi Matlab berdasarkan
kebutuhan.
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

65

DTM FTUI

Pemrograman pada Matlab


(contd)
% Contoh Matlab m-file Script sederhana
% untuk menghasilkan matriks zeros 4x4
A1=[0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0]
Save ke dalam file bernama mis : matzero4.m
Lalu jalankan script tersebut ! (apa yg terjadi ?)
4. Cobalah membuat sebuah program m-file fungsi !

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

66

DTM FTUI

Pembuatan GUI (Graphical User


Interface)
T = [S*SX(1-)/4/] 1/4-T0.

1.

Ketik guide pada Matlab Command Window untuk memulai


GUI editor. Akan terlihat window Figure dgn garis putus-putus,
dan window Guide Control Panel atau disingkat GCP.

2. Klik pada Text box di bagian bawah window GCP, lalu klik pada
suatu titik pada window Figure, kemudian akan terbentuk sebuah
box ini adalah box yg akan mengandung text Solar Multiplier.
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

67

DTM FTUI

Pembuatan GUI (contd)


3. Klik dua kali (Double click) box yg baru terbentuk dan window
Graphics Property Editor akan pop up (muncul). Ini
memungkinkan kita melakukan setting properties dari text box.
Pd daerah (region) yg berwarna putih dari window, hapus kata
BackgroundColor dan ketik String dan tekan enter. Pada region
berikutnya, akan muncul dua quote (). Ketik kata Solar
Multiplier antara dua quote tersebut dan ketik enter.
4. String sekarang akan terlihat pada box text pada figure. Resize
dpt dilakukan dgn dengan drag pd salah satu sudut dari box text.
5.

Sekarang kita akan membuat box dimana user akan mengetik


(memasukkan) nilai (value) Solar Multiplier. Untuk melakukan
ini, klik pada box Edit pada GCP untuk membuat box edit-text
(dimana user dpt mengetikkan nilai dari Solar Multiplier).
Tempatkan dekat dengan box text yg baru saja dibuat. Ini
berwarna putih dengan tepi hitam.
Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

68

DTM FTUI

Pembuatan GUI (contd)


6. Klik dua kali (double click) box edit-text. Kita akan men-set
String 1. Juga perlu di set sebuah "Tag" untuk box ini (shg
kita akan dpt membaca string dlm box pada program kalkulasi
kita). Asumsikan digunakan tab SX untuk box ini.
7.

Ulangi operasi diatas untuk membuat sebuah box text dengan


string 'Albedo' dan sebuah box yg dapat mengubah text (editabletext box) yg mengandung string 0.32 dan memiliki sebuah tag
'Albedo'.

8. Dalam GCP, pilih Pushbutton, dan tempatkan di suatau lokasi di


screen.
9. Klik dua kali (Double-click) pd pushbutton dan set string-nya
mjd 'Calculate'.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

69

DTM FTUI

Pembuatan GUI (contd)


10. Ketika pushbuttin ini di klik, kita ingin Matlab menjalankan
script yg dinamakan ebm0calc. Untuk melakukan ini, set properti
dari CallBack button ke 'ebm0calc'. Properti CallBack adl sebuat
Matlab command (atau serangkaian command yg terpisah oleh
semicolons) yg di eksekusi (dijalankan) ketika button di tekan.
11. Akhirnya, diperlukan sebuah tempat untuk menampilkan
temperatur akhir. Buat dua box text dan set BackgroundColor
mjd Cyan. Pada box yg satu, tempatkan string 'Blackbody
Temperature' dan utk box yg lain, berikan properti Tag nya
adalah TFinal. Disinilah temperatur akhir akan ditulis.
12. Pada titik ini, GUI telah komplit dan akan terlihat spt gambar
dibawah.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

70

DTM FTUI

Pembuatan GUI (contd)


13. Dibawah menu Options, pilih Activate Figure dan save sebagai
ebm0gui.m. Dengan meng-aktifkan gambar (figure), kita
membiarkan GUI editor dan memungkinkan Matlab untuk
mengolah button yg telah di definisikan. File ebm0gui.m
mengandung Matlab command untuk mengahsilkan screen ini.
14. Buat Program m-file yg diberi nama ebm0calc.m yg berisi
perhitungan Black Body Temperature (lihat halaman
belakang).
15. Setelah selesai jalankan command ebm0gui dari Matlab
Command Window.

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

71

DTM FTUI

Pembuatan GUI (contd)


Peserta harus mendapatkan seperti ini [];-)~

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

72

DTM FTUI

% <pre>
% EBM0CALC.M
% Energy Balance Model dari Eqn 1 pada
% http://physics.gac.edu/~huber/envision/instruct/ebm1doc.htm
% Berdasarkan persamaan 3.8 dari 'A Climate Modeling Primer', 1st Edition, 1987
% Membutuhkan emb0gui - GUI Front end to set up values
S = 1370;

% Solar Constant (W/m^2)

Sigma = 5.6696E-8;

% Steffan's Constant (in W/m^2K^4)

T0 = 273.15;

% Kelvin -> Centigrade Conversion

% Ambil nilai Albedo (dari obyek dgn tab "Albedo)


% Properti yg di-nginkan adalah String
% Haru melakukan str2num konversi untuk merubah string ke bilangan/angka
HH = findobj(gcf,'Tag','Albedo');
albedo = str2num(get(HH,'String'));
HH = findobj(gcf,'Tag','SX');
SX = str2num(get(HH,'String'));
TFinal = (S*SX*(1-albedo)/4/Sigma)^.25;
Units = ' C';

% Deraja Celcius

TFinal = TFinal - T0;

% Merubah dari Kelvin Celcius

% Mengambil Handle untuk tag TFinal


HH = findobj(gcf,'Tag','TFinal');
% Set string untuk TFinal
set(HH,'String',[num2str(TFinal) Units])

Laboratorium Teknologi
Manufaktur
Departemen Teknik Mesin

73

Anda mungkin juga menyukai