You are on page 1of 66

PETUNJUK PEMAKAIAN PERANGKAT LUNAK

MatLab+Simulink

DISUSUN :
EDIWAN

INSTITUT TEKNOLOGI BUDI UTOMO


JAKARTA
1996

1. PENDAHULUAN
MatLab adalah suatu program komputer yang memudahkan seseorang dalam
memprogram komputer, dengan MATLAB persoalan-persoalan numeris maupun
perhitungan yang komplek dapat diselesaikan dengan mudah tanpa harus menulis program
komputer yang sangat panjang, karena Matlab menyediakan rutin siap pakai yang lengkap,
begitu juga fasilitas grafis yang langsung ditampilkan, baik 2 maupun 3 dimensi. Dengan
demikian MatLab dapat melayani mahasiswa, ilmuwan dan akhli teknik seperti layaknya
sebuah

laboratorium yang cocok untuk komputasi matematika dan dibuat oleh

Perusahaan The Math Work Amerika Serikat.


Program ini ditulis dengan bahasa Fortran dan dirancang untuk semua sistem
operasi. MatLab adalah software untuk keperluan operasi-operasi matriks dengan elemen
kompleknya, fungsi-fungsi, analisa data, polinomial, integral, deferensial, persamaan linier,
non linier serta pemroses sinyal dan sebagainya, tanpa harus menuliskan program komputer
yang panjang, karena MatLab telah menyediakan sekumpulan rutin siap pakai yang
merupakan

algoritma-algoritma

dalam

komputasi

numeris.

Bidang

yang

dapat

memanfaatkan software ini terutama industri, teknik, ekonomi, statistik dan yang
membutuhkan lainnya.
Seperti halnya software-software yang lain, MatLab selalu berkembang mulai dari
versi dos, windows, macintosh hingga jaringan serta fasilitas bantuan yang sewaktu-waktu
dapat dipanggil jika diperlukan.

2. OPERASI DASAR
Seperti yang telah disebutkan diatas bahwa MatLab mempunyai beberapa perintah
yang siap pakai, yang berupa variabel, pernyataan, maupun fungsi yang dapat langsung
dipergunakan. Tetapi seperti halnya program komputer lainnya, MatLab juga mempunyai
perintah-perintah dasar pemrograman sebagai berikut :
Yang dipakai dalam operasi / pembuatan program Matlab :
- Angka 0 1 2 3 4 5 6 7 8 9
- Abjad A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,v,q,r,s,t,u,v,w,x,y,z
- Simbol + - * / . , ; ' " = $ [ ] ( ) : % ? dll
Contoh :
>> 2+5
>> 9-5
>> 9*23 , 67/52
>> 3*14 , 4-16 , 51+6 ; 12/7
>> A=2+7
soal 1.
>> b= 8-3
jawab :
b=
5
soal 2.
>>3+7
jawab
10
soal 3.
>> 3*15
jawab
45
soal 4. character string menggunakan tanda ()
>>
c=Selamat Datang
>>
cs=(c)
atau
>>
c= Selamat
>>
cs=(c,Datang)
jawab :
Selamat Datang

>> gaya=10;
>> luas=2;
>> tekanan=gaya*luas;
>> disp(tekanan);
20
>> disp(tekanan)
20
Statement disp sama dengan print pada basic
Catatan :
Tanda baca koma ',' memisahkan dua perintah dalam satu baris, sedangkan tanda
titik koma ';' diahir baris akan menyimpan hasil perhitungan dimemori komputer dan
tidak akan menampilkan hasil perhitungan di layar serta dapat menggunakan hurup
besar atau kecil dan kedua-duanya.

3. OPERASI ARITMATIC
Operasi aritmatic diperlukan untuk suatu proses aljabar yang akan dilakukan oleh
komputer dimana proses ini didalam pemrograman Matlab digunakan beberapa simbol
khusus yang dinamakan operator, untuk melakukan operasinya yaitu:
Operator

Simbol Operasi

Tanda

Tingkatan

Penjumlahan
Pengurangan
Perkalian
Pembagian
Pangkat

+
*
/
^

Plus
Minus
Asteris
Slash

3
3
2
2
1

Contoh :
>> a=(18+6)/4
jawab :
a=
6
>> 90*(23+6) , b^3 , a^(1/3)
>> 3*4 , 4-6 , 5+6 ; 2/7

>> a+b^2

c^3

>> fprintf(Luas= %8.3f meter kwadrat \n,pi*4.5^2)


jawab :
Luas= 63.617 meter kwadrat

Angka 8 menunjukkan disediakan 8 kolom untuk output dan pada 8 kom ada 3 desimal

4. FUNGSI STANDART MATEMATIK


4.1 Fungsi umum
Untuk fungsi matematik lain, selain operasi-operasi dasar diatas maka komputer
mempunyai 'perpustakaan' yang akan mengerjakan fungsi-fungsi itu berdasar 4(empat)
operasi dasar ( + , - , * , / dan ^ ) diatas, fungsi-fungsi tersebut adalah :
Tabel 2.2 Fungsi dasar Matlab
No

Nama variabel

Keterangan

abs()

Menyatakan harga mutlak, misal x

sqrt()

Menyatakan akar pangkat dua, misal

exp()

Menyatakan harga eksponensial, misal e x

log()

Menyatakan harga ln, misal ln(x)

log10()

Menyatakan harga logaritma basis 10, misal log(x)

log2()

2
Menyatakan harga logaritma basis 2, missal log x

Fungsi

Notasi Matematik

BahasaProgram

Akar dari x
Harga Mutlak
Eksponen x
Sinus x
Cosinus x
ln x
Log x
Tangen x
Arcus Tg x

X
x
ex
sin x
cos x
ln x
log x, log10(x),log2(x)
tg x
arc tg x

SQR(X)
ABS(X)
EXP(X)
SIN(X)
COS(X)
LOG(X)
ALOG(X)
TAN(X)
ATAN(X)

contoh :
1. soal :

16

>> sqrt(16)
atau
>> x=16
>> sqrt (x)
jawab :
4
2.

e0.25( 0.2 )
0.01. 3.

>> exp(-0.25*0.2)/(0.01*sqrt(3))
jawab:
54.9192

4.2. Fungsi Trigonometri


Semua fungsi trigonometri tersedia dalam paket perangkat lunak Matlab ini
termasuk inversenya. Namun perlu diingat bahwa Matlab mengerjakan semua fungsi
trigonometri dalam satuan radian, sehingga bila ingin ke derajat dikali pi/180
Contoh :
>> a=cos(30)
jawab :
a=
0.154
COS 30 = 0.866 dalam sistem derajat
>> a=sin(pi/2)
jawab :
a=
1
>>
>>
>>
>>
>>

sudut=90*pi/180
250/sin(pi/6)
sudut=acos(0.5*sqrt(2))
sudut=sudut*180/pi
sudut=atanh(0.4)

%sudut 90o dalam radian


%inverse sudut 2 2 dalam radian
%dalam derajat
%inverse hiperbolik tangen

4.3. Logaritmik dan eksponen


Matlab juga menyediakan fungsi-fungsi dasar logaritmik, akar pangkat dan
eskponensial
Contoh :
>> log(100)
>> log10(100)
>> exp(0)
>> log(exp(1))
>> 2^4+8^2-4*sqrt(23)

%dasar bilangan alami


%dasar 10

soal :

e0.25(0.2 ) .sin(2. (0.2)


0.01. 3.log(18)
>> exp(-0.25*0.2)*sin(2*pi*0.2)/(0.01*sqrt(3)*log(18))
jawab:
18.0707
Latihan :

1. x y 3 log 100 , dimana x = 10 dan y = 4 (jawaban = 6)


sin
2.
x ln 2 , dimana = 45o dan x = 10 (jawaban = 0.4249)
2
e 2
3. e 4
23 (jawaban = 54.2736)
2

4.4 Fungsi Khusus


Seperti yang telah dijelaskan diawal bahasan ini, MatLab mempunyai mempunyai
perintah yang siap pakai seperti yang ditabelkan dibawah ini,

Fungsi

Notasi Matematik

BahasaProgram

invers matrik
Eigen value
determinant
Transpose
Jumlah
Akar polinomial

invers matrik A

inv(a)
eig(a)
det(a)
A'
sum(a)
roots(a)

determinan matrik a
AT

Penggunaan fungsi diatas akan dibahas tersendiri, pada operasi bagian berikutnya.

5. Operasi Dasar Vector


5.1. Vector Sederhana
Penulisan vector di dalam Matlab dilakukan dengan menggunakan kurung tegak '['
dan ']'. Pemisahan antara elemen-elemen vector dapat dilakukan dengan memakai tanda
koma ',' atau cukup dengan spasi saja. Jika ingin membuat vector kolom (i.e. satu kolom),
maka tanda pemisah adalah tanda titik koma ';'.
Contoh :
>>
>>
>>
>>

clear
%menghapus semua variabel sebelumnya
x=[1,2,3,4] atau x=[1 2 3 4]
y=[0.1,0.2,0.3,0.4] atau y=[0.1 0.2 0.3 0.4]
z=[1+2i ; 2+2i ; 3+2i ; 4+2i]
%complex column vector

soal 1.
>> x =[2,1,3,4] atau x=[2 1 3 4]
jawab :

%baris vector

x=
2

soal 2.
>> x=[2;-4;8]

%column vector

jawab :
x=
2
-4
8

5.2. Pembentukan Vector


Selain dengan cara di atas untuk membuat sebuah vector (i.e. dengan memasukkan
satu persatu elemen-elemen vector), ada beberapa cara yang dikenal Matlab untuk
membuat sebuah vector.
Yaitu :
>>
>>
>>
>>

clear
x=(1:0.1:5)
x=1:8 atau x=1:1:8
y=linspace(1,2,11)

%vector dari 1 sampai 5 dengan spasi 0.1


%vector dari 1 sampai 8 dengan spasi 1
%vector spasi linear dari 1 sampai 2 dengan 11
elemen
>> z=logspace(-1,2,16)
%vector spasi logaritmik dari -1 sampai 2
dengan
16 elemen
contoh :
>> z=0:pi/3:pi
jawab :
z=
0.0000
>>

1.0472

2.0944

3.1416

x=1:8 atau x=1:1:8

jawab :
x =
1

>> x=5:-1:1
jawab :
x =

% kenaikan negatif atau turun


4

y=x (transpose)
y=

4
3
2
1
5.3. Operasi Skalar dengan Vector
Operasi matematika antara vector dengan skalar tidak memerlukan perintah khusus.
Contoh :
>> 2 * x 1
ans =
9

>> x / 2
ans =
2.5000
>> r=[tan(pi/4)

2.0000

1.5000

sqrt(9)

1.0000

0.5000

-5]

jawab :
r=
1.0000

3.0000

-5.0000

5.0000

15.0000

-25.0000

>> p=5*r
jawab :
p=

5.4. Operasi Vector dengan Vector

Operasi matematika antara vector dengan vector tidak sesederhana seperti operasi
vector dengan skalar. Jika dua vector memiliki jumlah elemen yang sama, maka operasi
antara dua vector tersebut akan dilakukan dengan dasar perelemen-elemen yang
bersangkutan.
Contoh :
>> clear, clc
>> x = linspace(1,10,10) , y = linspace (1,2,10)
>> x + y
>> x - y
>> x = linspace(1,10,10)

x =
1

10

1.888

2.0

>> y = linspace (1,2,10)


y =
1.0 1.11 1.22 1.33 1.44 1.55 1.66

1.77

>> x+y
ans =
2.0 3.11 4.22 5.33 6.44 7.55 8.66

9.77

10.88 12.0

soal 1.
>> x=[2;-4;8]
x =
2
-4
8
>> y=[1;3;-5]
y =
1
3
-5
>> z=x+y
z=
3
-1
3
Namun untuk perkalian dan pembagian matrik, notasi penulisan sedikit berbeda,
yaitu dengan menambahkan titik '.' sebelum tanda kali '*' dan tanda bagi '/'.

Contoh :
>>x ./ y
>>x .* y
soal 1.
>>x=[1 2 3];
>>y=[4 5 6]
>>z=x.*y
jawab:
z=

10

18

Demikian pula untuk akar pangkat :


>> x .^ 2 berarti 12 22 32
>> x .^ y berarti 14 25 36

soal 1.

>> x=[1 2 3] ; y=[4 5 6]


>> z=x.^y
jawab :
z=
1 32 729
>> r=x.^2
jawab :
r=
1

soal 2
>>x=[1 2 3;2 4 1; 3 2 5]
>>y=3
>>r=sqrt(x.^2+y^2)
jawab: ?

contoh 2.
E = [1 2;3 4]
F = [2 3;4 5]
G = E .* F
E=
1 2
3 4
F=
2 3
4 5
G=
2 6
12 20
E^3
ans =
37 54
81 118
E.^3
ans =
1
27

8
64

Nilai Invers
X = inv(E)
X=
-2.0000
1.0000
1.5000
-0.5000
nilai eigen
eig(E)
ans =
-0.3723
5.3723
coefficients characteristic polynomial fungsi "poly" :
p = poly(E)
p=
1.0000 -5.0000 -2.0000

5.5. Manipulasi Vector


Vector baris dapat diubah menjadi vector kolum dengan perintah transpose ''' atau
dot-transpose '.''. Perbedaan antara dua perintah ini adalah pada operasi bilangan
komplek dimana transpose akan memberikan hasil komplek konjugate sedangkan dottranspose hanya akan mengubah bentuk vector tanpa mengubah elemen vector.
Contoh :
>> z = [ 1+2i ; 2+2i ; 3+2i ; 4+2i]
vector
>> z'
>> z.'

%complex column

soal1.
>>r=[tan(pi/4) sqrt(9) -5]
r=
1.0000
3.0000
-5.0000
>> y=r

jawab: y=
1.0000
3.0000
-5.0000

Namun demikian dua perintah tersebut tidak berpengaruh untuk bilangan nyata :
>> x' , x.'

5.6. Operasi Elemen Vector


Setelah mempelajari operasi vector dengan skalar dan vector dengan vector, ada
baiknya untuk mempelajari juga operasi antar elemen vector.

Contoh :
>>
>>
>>
>>

x(4) , y(7) %elemen ke-4 dari vector x dan elemen ke-7 dari vector y
x(4) / y(10)
x(3:7)
%blok elemen dari elemen ke-3 sampai ke-7 dari vector x
x(4) = 0
%mengubah elemen vector x yang ke-4 menjadi 0

Latihan :
1. adalah sebuah vector yang memiliki 20 elemen dari 0 sampai dengan 2. f juga
adalah sebuah vector yang merupakan fungsi dari dengan mengikuti persamaan : f
= sin + 2 (sehingga f juga memiliki 20 elemen). Bentuklah vector dan f
dengan menggunakan operasi vector yang telah dipelajari di atas.
2. Bentuklah vector g dengan persamaan g = f - 2
3. Tampilkan dalam grafik antara dengan f dan g dengan perintah :
>> plot (,f,,g,'--');
Catatan : Apabila tidak dapat ditulis dalam Matlab, cari nama variabel yang lain.

6. SISTEM PERSAMAAN LINIER


6.1. Pembentukan Matrik
Matlab merupakan perangkat lunak yang pada awalnya dikembangkan dengan
menggunakan sistem persamaan matrik. Pembentukan matrik di Matlab dilakukan dengan
cara menulis elemen-elemennya dan dibatasi dengan tanda kurung tegak '[' dan ']'.
Penulisan di baris baru dilakukan dengan memakai tanda titik koma ';'.
Contoh : 1.
>> A = [1,2,3;4,5,6;7,8,9]
atau
>> A = [1 2 3; 4 5 6; 7 8 9]
jawab :

1
4
A=

2
5
8

3
6

adalah matrik A yang merupakan matrik 3 x 3.

contoh 2.
>> B = [1 0 0 1; 1 1 1 1; 1 0 1 1; 1 2 0 1]

1
1

B = 1

0
1
0
2

0
1
1
0

1
1

adalah matrik B yang merupakan matrik 4 x 4


Catatan : elemen satu baris dipisahkan dengan spasi atau tanda koma ';'.

6.2. Operasi Elemen Matrik


Elemen-elemen di dalam sebuah matrik dapat ditunjuk berdasarkan lokasi baris dan
kolumnya. Menurut default, nomor baris mendahului nomor kolum.
Contoh :
>> A
>> A(3,3)
>> A(2,3)=0
dengan 0
>> A(3,3) * A(1,1)

%recall matrix A
%recall elemen matrik A di baris 3 kolom 3
%mengubah elemen matrik A baris 2 kolom 3 sama

soal 1.
>> a=[2 3 4 1;2 4 5 6;10 2 3 5;3 2 1 0]
jawab

2
2

10

3
4
2
2

4
5
3
1

1
6

>> a(1,1)+a(2,1)+a(3,1)+a(4.1)
jawab :

17
>> sum(a)
jawab :
17

11

13

12

6.3. Manipulasi Matrik


Operasi-operasi manipulasi matrik meliputi transpose, rotate, flip atas bawah, flip
kiri kanan dan sebagainya. Daftar perintah-perintah selengkapnya dapat dilihat pada
reference.
Contoh :
>> B = A + 2
>> C = A * B, D = B * A, E = A'
>> flipud(A)
%flip matrik atas bawah
>> size(B)
%dimensi matrik B
>> det(B)
%determinan matrik B
>> inv(B)
%inverse matrik B
>> [X,D)=eig(a)
% nilai dan fungsi eigen
Soal 1.
>> a=[16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1]
a=

16
5

3
10
6
15

2
11
7
14

13
8

12

>>diag(a)
16
10
7
1

% diagonal matrik a

>> sum(diag(a))
34

% penjumlahan diagonal matrik a

>> b=a
16
3
2
13

% transpose matrik a
5
10
11
8

9
6
7
12

4
15
14
1

>> a = [1 2 3; 4 5 6; 7 8 9]

1
4
a=

2
5
8

3
6

inv(a)

soal 2.

1
4

2
5
8

3
6

x1 10
x 5
2 =

x3

2

ditanyakan X1, X2, X3


Cara1
>> a = [1 2 3; 4 5 6; 7 8 9]
>> b = [10 ; 5;2]
x=a \ b
Cara2
>> c=inv(a)
>> x=c*b
>> a=[0 1 -1;-6 -11 6;-6 -11 5]

0
6

1
11
11

1
6

>> [X,D]=eig(a)
jawab :

D=

-1
-2
-3

X=-0.7071
0.0000
-0.7071

0.2182
0.4364
0.8729

-0.0921
-0.5523
-0.8285

7. POLINOMIAL
7.1. Pembentukan
Polinomial di dalam Matlab diwakili oleh vector baris yang berisikan koefisienkoefisien dari polinomial tersebut dengan orde menurun.
Contoh :
>> c = [ 1 2 3 4 ]

%artinya x3 + 2x2 + 3x + 4

Untuk mencari akar-akar persamaan polinomial di atas x3 + 2x2 + 3x + 4 = 0,


Matlab menggunakan perintah
>> akar = roots(c)
contoh : y=x3 -30.x +30
>> y=[1 0 -30 30]
>> akar=roots(y)
jawab :
akar=
-5.9217
4.8845
1.0372
Matlab juga memiliki perintah untuk membentuk polinomial dari akar-akarnya :
Contoh :
>> clear;
>> akar = [1; 2; 3; 2+i; 2-i];
>> c = poly(akar)
7.2. Operasi polinomial
Perkalian polinomial dilakukan dalam Matlab dengan menggunakan perintah conv.
Contoh :
>> a = [1 0 2 1]; b = [1 1 3 24];
>> c = conv(a,b)
Demikian pula sebaliknya untuk pembagian polinomial dilakukan dengna
menggunakan perintah deconv,
>> q = deconv(c,b)

%b dibagi c

Untuk penjumlahan dan pengurangan, orde dari polinomial harus sama. Jadi
polinomial dengan orde yang lebih rendah harus diawali dengan angka nol untuk
mendapatkan vector baris yang sama.

Contoh :
>> e = [1 3 4 0 7]; f = [ 1 2];
>> g = e + [0 0 0 f]

8. Grafik 2-Dimensi dan 3-Dimensi


8.1. Perintah plot
Perintah plot ini dipakai untuk menampilkan grafik 2-dimensi antara dua vector.
Contoh :
>>
>>
>>
>>
>>
>>

x = linspace(-10,12,100);
y = x.^5 - 3*exp(x) + 13*x.^2;
plot(x,y); grid;
xlabel('variabel x'); ylabel('variabel y');
title('Grafik Percobaan');
zoom

soal 1.
>> x=0:0.1:10;
>> y=sin(x)
>> plot(x,y)
atau
>> x=0:0.1:10;
>> plot(x,sin(x))

soal 2.
Warna grafik r=red, g=green dll
>> t=(0:0.01:10);
>> y1=sin(t);
>> y2=cos(t);
>> plot(t,y1,'r',t,y2,'g')

Soal 3 Hrafik 3 Dimensi


>> t=0:1/50:5;
>> plot3(sin(t.^2),cos(t.^2,t)

>> z=sqrt(x.^2+y.^2);z=bessel(0,z);m=[-45 60];mesh(z,m)

Soal Jawab
t= 0:0.1:16*pi;
x=exp(-0.03*t).*cos(t);
y=exp(-0.03*t).*sin(t);
z=t;
plot3(x, y, z),

8.2. Manipulasi grafik


Manipulasi grafik dapat dilakukan dengan berbagai perintah yang selengkapnya
dapat dilihat pada halaman referensi. Sebagai contoh di sini akan ditampilkan manipulasi
garis dan marker, axis serta tampilan beberapa grafik dalam satu window
Contoh :
>>
>>
>>
>>
>>
>>
>>
>>

clear, clc
x = linspace(-10,12,100);
y = x.^5 - 3*exp(x) + 13*x.^2;
z = x.^4.*sin(x);
plot(x,y,g:,x,z,r--,x,y,y+,x,z,wx);
w = x.^4.*cos(2.*x);
hold on
plot(x,w,b-,x,w,mo);

Untuk menampilkan beberapa grafik dalam satu window


>>clf reset,clc
>>subplot 221;plot(x,y);grid;title(grafik pertama);axis
off;
>>subplot 222;plot(x,z);title(grafik kedua);
axis(square);
>>subplot 223;plot(x,w);title(grafik ketiga);
axis(equal);
>>subplot 224;plot(x,x.^2-3.*x);grid;title(grafik
terakhir);

Matlab melengkapi perintah di dalam grafik dengan fasilitas zoom. Untuk


memperbesar, gunakan tombol mouse sebelah kiri dan untuk memperkecil gunakan
tombol mouse sebelah kanan.
>> zoom on
Setelah selesai, untuk kembali ke ukuran semula, gunakan perintah
>> zoom out
8.3. Comet animasi dan 3-dimensi plot
Contoh di bawah ini akan menunjukkan animasi comet dalam grafik 3-dimensi
sesuai dengan fungsi persamaan matematika yang kita inginkan.
Contoh :
>> clf reset, clc
>> [x,y]=meshgrid(-3:.5:4); z= x.^4.*cos(y);
>> plot3(y,z,x);

Berikut adalah beberapa contoh grafik 3-dimensi

>> clf;
>> meshc(z);
>> clf;
>> colormap(hot);
>> surfl(z);
Latihan :
1. Tampilkan dalam bentuk grafik persamaan y( x) 3 e 0.005x cos 2x , dari x = 0 sampai
dengan x = 2.
2. Gambarkan sebuah bola dengan radius = 3 menurut persamaan x2 + y2 + z2 = 9.

9. Data Analisis
9.1. File operasi
Perangkat lunak Matlab memiliki kemampuan untuk mengambil data mentah dalam
bentuk matrik dari sebuah file

Contoh :
Sebuah file bernama data.dat berisi data daftar harga buah-buahan perbulan
dalam satu tahun. Kolom pertama berisi data bulan, kolom kedua adalah data harga
pisang, kolom ketiga, keempat dan kelima masing-masing berisi data harga buah durian,
semangka dan jeruk. File ini telah disiapkan, sehingga pemindahan file ke hard disk drive
masing-masing komputer dilakukan dengan cara :
>> !copy a:\data.dat
Akses data dari file data.dat ke dalam Matlab workspace dilakukan dengan
menggunakan perintah load.
>> load data.dat
akan menghasilkan sebuah variabel data yang berisikan data-data dari matrik file
data.dat

9.2. Fungsi Statistik


Fungsi statistik Matlab dapat diilustrasikan sebagian sebagai berikut :
Untuk mencari harga rata-rata dari masing-masing kolom :
>> rata_rata = mean(data)
Untuk mencari harga tertinggi :
>> mahal = max(data)
Untuk mencari harga termurah
>> murah = min(data)
Demikian pula untuk mencari standard deviasi dari masing-masing kolom dapat
dilakukan dengan menggunakan :
>> sd = std(data)
Statistik kadang lebih suka menggunakan tampilan dalam bentuk grafik balok :
>> bar(data(:,1), data(:,2:5));
Latihan :
1. Tampilkan dalam bentuk matrik perbedaan harga masing-masing buah-buahan dengan
masing-masing harga rata-ratanya dalam satu tahun.
2. Tampilkan dalam bentuk grafik perbedaan-perbedaan tersebut (plot biasa)

9.3. Differensiasi dan Evaluasi


Differensiasi polinomial dapat dilakukan dengan cara :
>> polyder(e)
Evaluasi persamaan polinomial dapat dilakukan dengan menggunakan perintah
polyval.
Contoh : 1
>>
>>
>>
>>

a = [1 2 0 -23];
x = linspace(-3,3,100);
hasil = polyval(a,x);
plot(x,hasil);

contoh 2
Diketahui sebuah polinomial berbentuk
p =x4
3x2 4x
x= - 3 dan 4. Menggunakan perintah polyval
akan dievaluasi pada
>> p=[1 0 3 4 5];
>> x=[-3,4];
>> polyval(p,x)
ans =
101 325
Turunan Fungsi pangkat 4
Px=4 x4 + 3 x2 + 4 x + 5
Disusun dalam matrik berikut
P=[4 0 3 4 5];
Polyder(p)
Ans =
16

Hasilnya jika dituliskan dalam bentuk ungkapan matematis


16 x 3 6 x 4

Turunan Untuk dua perkalian fungsi


Px =( 4 x4 + 3 x2 + 4 x + 5) (2 x3 + x2 + 3 x + 1)
Jawab
A=[4 0 3 4 5];
B=[2 1 3 1];
P=polyder(a,b)
p=
56 24

90

60

69

40

19

p x = 56 x 6 24 x 5 90 x 4 60 x 3 69 x 2 40 x

19

Latihan :
1. Carilah akar-akar persamaan x4 - 2x2 + 24 = 0
2. Plot persamaan tersebut dari x = -4 sampai dengan x = 4
3. Tentukan persamaan polinomial yang memiliki akar-akar -2, 1, 3, 3-i, 3+i

10. Differential Equation


10.1. First order linear equation :
Bentuk umum dari persamaan linear order pertama dapat ditulis secara umum
sebagai berikut :

dy
P( x) y Q( x)
dx

1.1

untuk menyelesaikan persamaan di atas, langkah pertama yang dilakukan adalah


memperoleh faktor integrasi dengan menyelesaikan persamaan (1.2)

P ( x ) dx

1.2

Dengan mengalikan faktor integrasi ini dengan persamaan (1.1), maka akan
diperoleh

d
y Q( x)
dx

1.3

Persamaan y(x) yang merupakan penyelesaian persamaan linear order pertama (1.1)
dapat diketahui dengan menyelesaikan persamaan (1.3).
Langkah demikian harus ditempuh untuk dapat menyelesaikan persamaan (1.1)
secara analitik. Namun perangkat lunak Matlab menyediakan kemudahan dengan
memberikan fasilitas penyelesaian ordinary differential equation secara numerik dengan
menggunakan perintah ode23 atau ode45.
Untuk menyelesaikan persamaan (1.1) dengan menggunakan Matlab, langkah
pertama adalah membuat bentuk eksplisit

dy
P( x) y Q( x)
dx

1.4

Kemudian membuat fungsi dalam Matlab m-file sebagai berikut :


function dy_dx = firstode(x,y)
dy_dx = [-P(x)y + Q(x)];
Untuk memperoleh simulasi dari persamaan linear order pertama ini, perintah yang
harus dilakukan dalam Matlab command window adalah sebagai berikut :

>>
>>
>>
>>
atau

x0=0;
%batas bawah
xf=1;
%batas atas
y0=[1];
%initial condition y(0)
[x,y] = ode23('firstode',x0,xf,y0);

>> [x,y] = ode45('firstode',x0,xf,y0);

Contoh 1
Selesaikan persamaan differensial linear order pertama

dy
xy x , dengan kondisi awal y(0) = 3
dx
1.5
Analitik :
P(x) = x and Q(x) = x
jadi

xdx

x2

sehingga

2
2
d
ye x 2 xe x 2
dx

persamaan akhir dengan memperhitungkan kondisi awal :

y( x) 2e x

Matlab :
Bentuk eksplisit :

dy
xy x , dengan kondisi awal y(0) = 3
dx
Fungsi dalam Matlab m-file (click File, New, M-file)
function dy_dx = firstode(x,y)
dy_dx = [-x*y+x];
M-file ini harus diberi nama (Save As) firstode.m sesuai dengan nama
fungsi. Kemudian invoke Matlab command window dengan perintah-perintah :

>>
>>
>>
>>

x0=0;
%batas bawah
xf=1;
%batas atas
y0=[3];
%initial condition y(0)
[x,y] = ode23('firstode',x0,xf,y0);

Untuk membandingkan hasil perhitungan numerik Matlab dengan hasil exact


analitik, dapat dilakukan dengan
>> exact=2*exp(-(x.^2)./2)+1;
>> error=y-exact
>> plot(x,error); grid;

Contoh 2 a
Sebuah roket jatuh bebas dari ketinggian 600 m dengan massa roket 80 kg ditulis seperti
persamaan dibawah ini,
dV
=f(t,v)
dt
dV
4 2
m
= -m g +
.V
15.
dt

dV
4 V2
g
dt
15 m

diganti

function rk=f(t,v)
m=80;
g=9.81;
rk=-g+4/15*v^2/m;

dy
=f(t,y)
dt

% f(0)=0

simpan dalam file f.m


>> clear all
>>timerange=[0 30];
>>initialvelocity=0;
>> [t,v]=ode45(@f,timerange,initialvelocity)
>>plot(t,v)

table=[t,y]

tabel =
0
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0001
0.0001
0.0003
0.0004
0.0005
0.0160
0.0320
0.0480
0.0640
0.0800
0.1600
0.2400
0.3201
0.4001
0.8002
1.2002
13.2504
14.0004
14.7504
15.5004
16.2504
17.0004
17.7504
18.5004
24.5004
25.2504
26.0004
26.7504
27.5004
28.2504
29.0004
29.2503
29.5002
29.7501
30.0000

0
-0.0001
-0.0001
-0.0002
-0.0002
-0.0005
-0.0007
-0.0010
-0.0012
-0.0025
-0.0037
-0.0050
-0.1569
-0.3139
-0.4709
-0.6279
-0.7849
-1.5694
-2.3534
-3.1363
-3.9179
-7.7954
-11.5929
-53.3582
-53.5669
-53.7290
-53.8527
-53.9462
-54.0174
-54.0727
-54.1148
-54.2340
-54.2376
-54.2404
-54.2425
-54.2442
-54.2454
-54.2464
-54.2466
-54.2469
-54.2471
-54.2473

Soal 2 a perbaikan
Tabel diatas menampilkan waktu dari 0 s/d 30 detik, untuk menampilkan sesuai keinginan
seperti program dibawah ini,
>> t=[0,0.1,0.2,0.3];
>> i=0;
>> [t,y]=ode45(@f,t,i);
>> table=[t,y]
table =
0
0
0.1000 -0.9809
0.2000 -1.9611
0.3000 -2.9401
Soal 2
dy
(1 x) y 2 atau y=(1-x)y2 dengan y(0)=1.5
dx
function rk=f(x,y)
rk=(1-x)*y^2;
simpan f.m
>> t=[0 0.1 0.2 0.3];
>> i=1.5;
>> [x,y]=ode45(@f,t,i)

>> tabel=[x,y]
tabel =
0
0.1000
0.2000
0.3000

1.5000
1.7493
2.0548
2.4291

Soal
y = 1000y + 1000 sin(t) + cos(t) with

y(0) = 1

10.2. Second and higher order linear differential equation


Penyelesaian persamaan differensial orde dua dilakukan dengan mengubah orde dua
tersebut menjadi orde pertama dengan mensubstitusikan variabel baru.
Contoh :
Persamaan
1.8

cx kx 0
mx

dapat diselesaikan dengan menggunakan Matlab dengan memperkenalkan variabel


baru, y.
y1 x ,

y1 x

y 2 x,

y2
x

1.9
Bentuk eksplisit dari persamaan (1.8) di atas adalah :

c
k
x x
m m

1.10
Substitusikan (1.9) ke dalam (1.10), sehingga memperoleh vektor kolom turunan y :

y2
y1
k
c
y2 y 2 y 1
m
m
1.11

Membuat fungsi dalam Matlab m-file (click File, New, M-file)


function dy_dx = two_ode(t,y);
c = 1000; k = 10000; m = 2;
dy_dx = [y(2); -c*y(2)/m-k*y(1)/m];
M-file ini harus diberi nama (Save As) two_ode.m sesuai dengan nama fungsi.
Kemudian invoke Matlab command window dengan perintah-perintah :

>>
>>
>>
>>

t0=0;
%batas bawah
tf=0.1;
%batas atas
x0=[0;1];
%initial condition x(0) dan x(0)
[t,y] = ode23('two_ode',t0,tf,x0);

Untuk orde tiga dan seterusnya, jumlah variabel baru yang dimasukkan tinggal
ditambah saja.
Latihan :
1. Selesaikan persamaan
(0) 1

d2 g
0 , di mana g = 9.81, l = 2 dan (0) = 0 dan
l
dt 2

2. Selesaikan persamaan

dx
(0) 1 dan x(0) = 0
dy

d 3x
d2x
d2x

2
x

24

0
(0) 0 ,
,
dengan
kondisi
awal
dy 3
dy 2
dy 2

10.3 Pencocokan kurva (Interpolasi)


Dari hasil eksperimen diperoleh data sebagai berikut
x

10

1.3

3.2

11.3

15.1

25.5

38.2

47.1

68.2

81.3

98.2

P=0.9284X2+0.7693X-1.0350

Untuk polyvit(x,y,4)
0.9003
4.6209
9.4910
16.2300
25.2556
36.6836
50.3280
65.7013
82.014
98.1752

pengenalan perangkat lunak Matlab

Praktek ITBU - Ediwan

pengenalan perangkat lunak Matlab

Praktek ITBU - Ediwan

pengenalan perangkat lunak Matlab

Praktek ITBU - Ediwan

pengenalan perangkat lunak Matlab

Praktek ITBU - Ediwan

11. Script File : Matlab M-file


11.1 . M-File
Matlab M-file sebenarnya hanyalah sekumpulan perintah-perintah Matlab yang dijadikan
satu dalam sebuah text file. Text editing dapat dilakukan dengan menggunakan berbagai word
processor.
Untuk membuat Matlab M-file, click File, New, M-file sehingga keluar notepad
window. Kemudian tuliskan perintah-perintah yang diinginkan. Setelah selesai, kembali click
File dan Save. Berikan nama apa saja (8 karakter maksimum) dengan extension .m.
Setelah itu kembali ke Matlab command window dan jalankan program dengan mengetik nama
file tersebut tanpa extensionnya.
Contoh :
1. Click File, New, M-file
2. Ketik di dalam notepad window
clear; clc;
disp('Contoh Matlab M-file');
disp('tekan apa saja ...');
pause;
clc;
disp('operasi penjumlahan dan pengurangan');
x = 3, y = 10, z = 34
p = x + y + z
disp('tekan apa saja ...');
pause;
clc;
disp('operasi trigonometri dan apa saja ...');
sin(x) + exp(y) - log(z)
disp('tekan apa saja ...');
pause;
disp('end .......');
3. Click File, Save
4. Ketik nama file test1.m
5. Kembali ke Matlab command window dan ketik
>> test1
Latihan :
1. Gambarkan grafik y(x) = sin 2x, dari x = -2 sampai x = 2, menggunakan Matlab M-file
dengan nama sinus.m
pengenalan perangkat lunak Matlab

10

11.2. Pemrograman Komputer


Pemrograman di dalam Matlab sangat mudah. Apalagi jika sudah pernah mengenal
bahasa pemrograman sebelumnya, seperti Basic atau Pascal. Berikut ini akan ditampilkan
program interaktive dalam Matlab M-file (meminta input).
Contoh :
Seandainya kita memiliki sebuah persamaan posisi mobil pada saat t detik

1
y( t ) V0 t at 2 sin t
2

1.12

di mana V0 adalah kecepatan awal mobil dan a adalah percepatan. Dalam kurun
waktu t = 0 sampai dengan t = 10 detik, kita ingin mengetahui posisi mobil
berdasarkan masukan kecepatan awal dan percepatan.
Langkah pemrograman :
Buka New Matlab M-file dengan cara click File, New, M-file. Tulis di
dalamnya
%Program Posisi Mobil
%menurut persamaan y=V0.*t+.5*a.*t.^2.*sin(t)
%grafik posisi mobil dari t=0 sampai t=10
clear; close;
input('Kecepatan awal V0 = '); V0 = ans;
input('Percepatan
= '); a = ans;
t=linspace(0,10,100);
y=V0.*t+.5*a.*t.^2.*sin(t);
figure;
plot(t,y); grid;
xlabel('waktu t detik'); ylabel('posisi y meter');
temptext=['Grafik posisi mobil, V0=',int2str(V0),',
a=',int2str(a)];
title(temptext);
Kemudian ke File, Save As : mobil.m
Setelah kembali ke Matlab command windows, ketik
>> mobil
Latihan :
Praktek ITBU - Ediwan

11

1. Tiga orang telah berbelanja komputer, laptop dan software. Si Anto membeli masing-masing
3, 2 dan 1, Ira membeli 5 komputer dan 3 software dan Toto membeli masing-maing 2, 4 dan
12. Buatlah program perhitungan harga masing-masing barang berdasarkan variabel harga
total yang dibayarkan oleh ketiga orang tersebut. Tanyakan kepada user untuk memasukkan
nilai x, y dan z yang merupakan harga keseluruhan yang dibayar Anto, Ira dan Toto.
Kemudian hitung harga masing-masing barang.

3 2 1 komputer x
persamaan matematikanya : 5 0 3 laptop y
2 4 12 software z

11.3. Flow Control


Sering kita temui dalam bahasa pemrograman flow control yang mengatur alur dari
program yang kita buat. Dalam Matlab ada tiga macam flow control yang sama dengan Pascal,
yaitu :
1. For
Bentuk umum dari For adalah :
for x = array
commands
end
Contoh :
for x = 1:10
for y = 10:-1:1
z = sin(x)+cos(y);
end;
end;
2. While
Bentuk umum dari While adalah :
While pernyataan
commands
end
Contoh :
x = linspace(1,100);
pengenalan perangkat lunak Matlab

12

while y < 10
y = sin(x) + x;
end;
3. If-else
Bentuk umum dari If-else adalah :
if pernyataan1
commands dikerjakan apabila pernyataan1 benar
elseif pernyataan2
commands dikerjakan apabila pernyataan2 benar
else
commands dikerjakan apabila tidak ada yang benar
end
input('Nilai = ');N= ans;
if N>=60
disp ('Saudara LULUS');
else
disp('Saudara TDK
LULUS');
end;

Praktek ITBU - Ediwan

13

Contoh 2:
input('harga apel = '); apel = ans;
if apel > 2000
diskon = 0.10;
else
diskon = 0;
end;
apel = apel * (1-diskon)
end;
Contoh 3
input('A=');
ans;
input('A=');
A a= =ans;
input('B=');
b=
ans;
input('B=');
B=
ans;
input('C=');
c
=
ans;
input('C='); C = ans;
if a==0
if A==0
X=-c/b
X=-C/B
else
else
d=b^2-4*a*c
D=B^2-4*A*C;
if d<0
if D<0
disp('Imaginer')
disp('Imaginer');
else
else
X1=(-b+sqrt(d))/(2*a)
X1=(-B+sqrt(D))/(2*A)
X2=(-b-sqrt(d))/(2*a)
X2=(-B-sqrt(D))/(2*A)
end
end;
end;
clear all;
clc;
disp('-----------------------');
disp('program latihan 6');
disp('Matlab Programming');
disp('By ITBU');
disp('------------------------');
uts1=input('nilai uts1=');
uts2=input('nilai uts2=');
uas=input('nilai uas=');
na=(uts1*20/100)+(uts2*30/100)+(uas*50/100);
disp(['nilai akhir = ' num2str(na)]);
if na>80
disp('grade anda=A');
elseif na<=80 & na>70
disp('grade anda=B');
elseif na<=70 & na>60
disp('grade anda=C');
elseif na<=60 & na>50
disp('grade anda=D');
else
pengenalan perangkat lunak Matlab

14

disp('grade anda=E');
end;

Latihan :
1. Modifikasi program latihan sebelumnya yaitu tentang harga komputer, laptop dan softaware,
jika harga total lebih dari 5 juta, diskon 10 %, jika lebih dari 10 juta, diskon 20 persen dan
jika lebih dari 20 juta, diskon 30 persen.

Praktek ITBU - Ediwan

15

11.4. Sedikit tentang GUI (Graphical User Interface) :


Matlab selain merupakan sebuah perangkat lunak numerik juga sangat mudah untuk
visualisasi. Untuk membantu mempermudah pemrograman dan menjalankan program bagi
user, Matlab menyediakan fasilitas GUI atau graphical user interface, semacam window based
command. Ada banyak sekali perintah-perintah yang berhubungan dengan GUI ini, yang
selengkapnya dapat dilihat di halaman referensi.
Contoh :
x=linspace(-2*pi,2*pi);
continue = 1;
while continue == 1
k=menu('pilih grafik :
','sinus','cosinus','tangen','selesai');
if k == 4
continue = 0;
end;
if continue == 1
if k == 1
plot(x,sin(x)); grid; title('Grafik sinus');
elseif k == 2
plot(x,cos(x)); grid; title('Grafik cosinus');
elseif k == 3
plot(x,tan(x)); grid; title('Grafik tangen');
end;
end;
end;

Pustaka :
1. Duane Hanselman and Bruce Littlefield, The Student Edition of Matlab : Version 4 User's
Guide, The Math Works Inc., Prentice Hall, NJ, 1995.
2. The MATLAB EXPO, An Introduction to MATLAB, SIMULINK@, and the MATLAB
Application Toolboxes April 1993
3. Hadi Saadat, 1993, COMPUTATIONAL AIDS IN CONTROL SYSTEM USING
MATLAB Milwaukee, WisconsinMcGraw-Hill, Inc
4. Clave Moler, MATLAB User Guide, University New Mexico
5. The MATLAB for DOS Personal Computers, Prentice Hall
6. COMPUTATIONAL AIDS IN CONTROL SYSTEMS Using MATLAB, International
Editions 1993 McGraw-Hill, Inc.

pengenalan perangkat lunak Matlab

16

akar.m
a=2;
b=8;
c=3;
d=b^2-4*a*c;
x1=(-b+sqrt(d))/(2*a)
pause
x2=(-b-sqrt(d))/(2*a)
pause
x=[1:1:10];
y=a.*x.^2+b.*x+c;
plot(x,y)

Praktek ITBU - Ediwan

17

SIMULINK
Kasus matematik

Constant pada souce,


SUM pada Math
Display pada Sink

pengenalan perangkat lunak Matlab

18

Praktek ITBU - Ediwan

19

pengenalan perangkat lunak Matlab

20

Introduction
Simulink (Simulation and Link) is an extension of MATLAB by Mathworks Inc. It works with
MATLAB to offer modeling, simulation, and analysis of dynamical systems under a graphical
user interface (GUI) environment. The construction of a model is simplified with click-and-drag
mouse operations. Simulink includes a comprehensive block library of toolboxes for both linear
and nonlinear analyses. Models are hierarchical, which allow using both top-down and bottomup approaches. As Simulink is an integral part of MATLAB, it is easy to switch back and forth
during the analysis process and thus, the user may take full advantage of features offered in both
environments. This tutorial presents the basic features of Simulink and is focused on control
systems as it has been written for students in my control systems course.
This tutorial has been written for Simulink v.5 and v.6.
Getting Started
To start a Simulink session, you'd need to bring up Matlab program first.
From Matlab command window, enter:
>> simulink
Alternately, you may click on the Simulink icon located on the toolbar as shown:

Simulink's library browser window like one shown below will pop up presenting the block set for
model construction.

Praktek ITBU - Ediwan

21

To see the content of the blockset, click on the "+" sign at the beginning of each toolbox.
To start a model click on the NEW FILE ICON as shown in the screenshot above. Alternately,
you may use keystrokes CTRL+N.
A new window will appear on the screen. You will be constructing your model in this window.
Also in this window the constructed model is simulated. A screenshot of a typical working
(model) window is shown below:

pengenalan perangkat lunak Matlab

22

To become familiarized with the structure and the environment of Simulink, you are encouraged
to explore the toolboxes and scan their contents. You may not know what they are all about at
first, but perhaps you could catch on the organisation of these toolboxes according to their
categories. For instance, you may see that the Control System toolbox consists of the Linear
Time Invariant (LTI) system library and the MATLAB functions can be found under Function
and Tables of the Simulink main toolbox. A good way to learn Simulink (or any computer
program in general) is to practice and explore. Making mistakes is part of the learning curve. So,
fear not you should be!
A simple model is used here to introduce some basic features of Simulink. Please follow the
steps below to construct a simple model.
STEP 1: CREATING BLOCKS.
From BLOCK SET CATEGORIES section of the SIMULINK LIBRARY BROWSER window,
click on the "+" sign next to the Simulink group to expand the tree and select (click on) Sources.

A set of blocks will appear in the BLOCKSET group. Click on the Sine Wave block and drag it
to the workspace window (also known as model window).

Praktek ITBU - Ediwan

23

Now you have established a source of your model.


NOTE: It is advisable that you save your model at some point early on so that if your PC crashes
you wouldn't loose too much time reconstructing your model. This is among the reasons why I
prefer Linux or Unix!
I am going to save this model under the filename: "simexample1". To save a model, you may
click on the floppy diskette icon
. or from FILE menu, select Save or using keystrokes
CTRL+S. All Simulink model file will have an extension ".mdl". Simulink recognises file with
.mdl extension as a simulation model (similar to how MATLAB recognises files with the
extension .m as an MFile).
Continue to build your model by adding more components (or blocks) to your model window.
We'll continue to add a Scope from Sinks library, an Integrator block from Continuous library,
and a Mux block from Signal Routing library.
NOTE: If you wish to locate a block knowing its name, you may enter the name in the SEARCH
WINDOW (at Find prompt) and Simulink will bring up the specified block.
To move the blocks around, simply click on it and drag it to a desired location.
Once you've dragged over all necessary blocks, the workspace window should consist of the
following components:

pengenalan perangkat lunak Matlab

24

You may remove (delete) a block by simply clicking on it once to turn on the "select mode" (with
four corner boxes) and use the DEL key or keys combination CTRL-X.
STEP 2: MAKING CONNECTIONS
To establish connections between the blocks, move the cursor to the output port represented by
">" sign on the block. Once placed at a port, the cursor will turn into a cross "+" enabling you to
make connection between blocks.
To make a connection: left-click while holding down the control key (on your keyboard) and
drag from source port to a destination port.
The connected model is shown below.

A sine signal is generated by the Sine Wave block (a source) and is displayed by the scope. The
integrated sine signal is sent to scope for display along with the original signal from the source
via the Mux, whose function is to mutiplex signals in form of scalar, vector, or matrix into a bus.
STEP 3: RUNNING SIMULATION
You now may run the simulation of the simple system above by clicking on the play button .
Alternately, you may use keystrokes CTRL+T, or choose Start submenu (under Simulation
menu).
Praktek ITBU - Ediwan

25

Double click on the Scope block to display of the scope.

To view/edit the parameters, simply double click on the block of interest.


Handling of Blocks and Lines
The table below describes the actions and the corresponding keystrokes or mouse operations
(Windows versions).

Annotations

pengenalan perangkat lunak Matlab

26

To add an annotation to your model, place the cursor at an unoccupied area in your model
window and double click (left button). A small rectangular area will appear with a cursor
prompting for your input.
To delete an annotation, hold down the SHIFT key while selecting the annotation, then press the
DELETE or BACKSPACE key. You may also change font type and colour from FORMAT
menu. Make sure that the block is selected before making the change.

Praktek ITBU - Ediwan

You might also like