P. 1
Matlab Hari 1

Matlab Hari 1

|Views: 4,602|Likes:
Published by arrester97

More info:

Published by: arrester97 on Oct 05, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

05/14/2013

pdf

text

original

Sections

MATLAB Terapan 1

1. Apa itu MATLAB
MATLAB merupakan bahasa pemrograman dengan performansi tinggi untuk
komputasi numerik dan visualisasi. Kombinasi kemampuan, fleksibilitas, reability
dan powerfull grafik membuat MATLAB menjadi program yang sangat cocok
digunakan untuk keteknikan. MATLAB merupakan suatu bahasa pemrograman
sederhana dengan fasilitas yang jauh lebih hebat dan lebih mudah digunakan dari
bahasa pemrograman lain, seperti BASIC, Pascal, atau PC, melalui kemampuan
grafisnya, MATLAB menyediakan banyak pilihan untuk visualisasi data. MATLAB
adalah suatu lingkungan untuk membuat aplikasi dimana anda dapat membuat
antarmuka grafis dan menyediakan pendekatan visual untuk menyelesaikan
program-program tertentu. Lebih dari itu MATLAB menyediakan sekelompok alat
penyelesaian masalah untuk problem-problem khusus, yang dinamakan Toolbox.
Sebagai contoh menyediakan Control System Toolbox, Signal Processing Toolbox,
Symbolix Math Toolbox dan bahkan anda dapat membuat toolbox sendiri..
MATLAB mengintegrasikan komputasi, visualisasi dan pemrograman dalam ruang
yang mudah digunakan dimana masalah dan solusi diekpresikan dalam notasi
matematika yang umum. MATLAB adalah sebuah sistem interaktif dimana elemen
dasar data berupa array yang tidak perlu definisi dimensi. Ini memberikan
kebebasan untuk menyelesaikan banyak masalah komputasi teknik, terutama yang
berkaitan rumus vektor dan matriks.
2. Bagaimana memulai MATLAB
Apabila telah diinstal MATLAB pada PC anda, maka untuk menjalankan MATLAB,
anda cukup klik double pada icon MATLAB. Beberapa saat kemudian muncul
command window dari MATLAB. Commond Window merupakan jendela utama
dimana penggunaannya untuk berkomunikasi dengan interpreter MATLAB. Tampilan
prompt interpreter MATLAB ( » ) menunjukkan bahwa MATLAB siap untuk
Ansar Suyuti - ikhlas kitta 1

menerima perintah dari pengguna. Adapun tampilan command window seperti
dibawah ini.

Cara termudah untuk menggambarkan MATLAB adalah menganggapnya sebagai
sebuah kalkulator. Seperti umumnya kalkulator biasa, MATLAB sanggup
mengerjakan perhitungan sederhana seperti penambahan, pengurangan, perkalian
dan pembagian. Seperti kalkulator sains, MATLAB dapat menangani bilangan
kompleks, akar dan pangkat, logaritma, operasi trigonometri seperti sinus, cosinus
dan tangen. Seperti kalkulator yang dapat diprogram, MATLAB dapat digunakan
untuk menyimpan dan memanggil data. Anda dapat membuat, menjalankan dan
menyimpan sederetan perintah untuk mengotomatisasi perhitungan suatu
persamaan penting; anda dapat melakukan perbandingan logika dan mengatur
urutan pelaksanaan perintah. Seperti kalkulator terbaik saat ini, MATLAB
memungkinkan anda untuk menggambarkan data dengan berbagai cara,
mengerjakan aljabar matriks, memanipuasi polinomial, mengintegralkan fungsi,
memanipulasi persamaan secara simbol, dll. Sesungguhnya MATLAB menyediakan
lebih banyak lagi fasilitas dan jauh lebih kompleks dari kalkulator manapun.
MATLAB adalah alat untuk melakukan perhitungan matematika.
Sebagai contoh, untuk menginput sebuah matrik 3x2, dapat diketik :
» A=[1 2;3 4;5 6]
Ansar Suyuti – ikhlas kitta 2
MATLAB Terapan 1
setelah ditekan Enter, maka respon MATLAB berupa hasil
A =
1 2
3 4
5 6
3. Ruang Kerja MATLAB
Ruang kerja MATLAB, merupakan kumpulan tool dan fasilitas dimana kita bekerja
dalam pemrograman MATLAB. Termasuk fasilitas untuk mengatur variabel dalam
ruang kerja dan untuk import dan eksport data, termasuk tool untuk
pengembangan. Perintah dan variabel yang telah dibuat, dikatakan tinggal dalam
ruang kerja MATLAB dan dapat dipanggil kapanpun anda menghendakinya.
Jika anda tidak dapat mengingat nama variabel, maka anda tinggal mengetik who:
» who
Your variables are:
A
Untuk memanggil perintah sebelumnya, MATLAB menggunakan tombol panah [↑ ↓]
pada keyboard anda, Sebagai alternatif mouse dapat digunakan bersama dengan
cip-bord untuk menghapus (cut), mengcopy (copy), mengeluarkan kembali (paste),
dan mengedit teks yang ada di prompt command.
4. Variabel
Pada program MATLAB, expresi tanpa nama variabel tetap diproses dan hasilnya
dengan nama variabel ans (singkatan answer). Tetapi untuk pemrograman dimana
beberapa konstanta dioperasikan, maka nama variabel mutlat ada. Variabel adalah
nama atau simbol yang digunakan untuk mewakili suatu nilai.
Ansar Suyuti - ikhlas kitta 3

Contoh 4-1:
» A=10;
» B=20;
» C=A*B
C =
200
Pada program contoh di atas, A B, dan C disebut dengan variabel. Variabel A
mewakili nilai 10 dan B mewakili nilai 20, sedangkan variabel C mewakili hasil
perhitungan, yang mana nilai yang diwakili dapat berubah tergantung dari nilai
variabel A dan B.
Aturan penulisan nama variabel MATLAB adalah :
1. Nama variabel dibedakan antara huruf kecil dan huruf kapital, contoh ; Jumlah,
jumlah, juMlah, jumlaH dan JUMLAH.
2. Panjang maksimal nama variabel adalah 31 karakter, dan karakter setelah
karakter ke-31 diabaikan.
3. Nama variabel harus diawali dengan huruf, diikuti dengan sembarang bilangan,
huruf, atau garis bawah. Karakter-karakter tanda baca tidak diperbolehkan
karena banyak diantaranya mempunyai arti tersendiri dalam MATLAB, contoh;
biaya_rata_rata, x25065.
4. Tidak menggunakan variabel khusus.
Beberapa variabel khusus pada MATLAB adalah :
ans
eps

i,j
NaN atu nan
pi
realmax
realmin
hasil/jawaban untuk untuk statemen yang tidak nama variabel
bilangan terkecil sedemikian rupa sehingga bila ditambahkan
satu, menghasilkan bilangan lebih besar dari satu
1 − atau simbol yang mewakili bilangan imajiner pada
bilangan kompleks
bukan suatu bilangan/ hasil bukan numerik.
nilai dari bilangan
π
bilangan real positip terbesar
bilangan real positif terkecil

Ansar Suyuti – ikhlas kitta 4
MATLAB Terapan 1
Variabel dalam ruang kerja MATLAB dapat dihapus dengan menggunakan perintah
clear.
» clear A
untuk menghapus variabel A
» clear B*
untuk menghapus semua variabel yang diawali dengan huruf B
» clear
untuk menghapus semua variabel diruang kerja
Syarat pemberian nama variabel numerik dan variabel string dalam MATLAB tidak
dibedakan. Tetapi penulisan konstanta variabel string harus diapit dengan tanda
apostrop tunggal ( ' ).
Contoh 4-2:
» c='Selamat'
c =
Selamat
» cd=[c,' datang']
cd =
Selamat datang
Ansar Suyuti - ikhlas kitta 5

5. Komentar
Jika program dibuat cukup panjang dan rumit, akan lebih baik bila di dalam
program diberi penjelasan seperlunya sehingga mereka yang membaca program
akan dapat mengerti maksud dari program dengan lebih jelas. Komentar pada
MATLAB berupa tanda persen (%), sehingga semua teks sesudah tanda persen (%)
dianggap sebagai statemen komentar
Contoh 5-1:

» A=[1 2;3 4]; % matriks A(2x2)
» B=[5 6 7;8 9 0]; %matriks B(2x3)
» Mat_C=A*B
Mat_C =
21 24 7
47 54 21
Kalimat matriks A(2x2) dan matriks B(2x3) setelah tanda % diabaikan/tidak
diproses oelh MATLAB.
Beberapa perintah dapat diletakkan pada baris yang sama jika dipisahkan dengan
koma ( , ) atau titik koma ( ; ). Tanda koma memberitahu MATLAB untuk
menampilkan hasil dan titik koma untuk tidak menampilkan hasil.
Contoh 5-2 :
Ansar Suyuti – ikhlas kitta
» jml=10; harga=1000, bayar =jml*harga
harga =
1000
bayar =
10000
6
MATLAB Terapan 1
Deretan tiga titik berfungsi sebagai tanda sambung/lanjutan statemen pada baris
berikutnya. Biasanya digunakan apabila sebuah statemen melebihi dari satu baris.
tetapi nama variabel tidak bisa dipisah menjadi dua baris
Terlihat bahwa perintah yang diinput tidak dapat diproses oleh MATLAB
6. Bilangan Kompleks
Salah satu kelebihan MATLAB adalah bahwa ia tidak memerlukan penanganan
khusus untuk bilangan kompleks. Bagian imajiner ( 1 − ) dalam MATLAB, diwakili
oleh variabel i atau j.
Contoh 6-1:
Carilah nilai V =Zc Cosh g + Sinh g/Zc,
Dimana : Zc= 200 + j300 dan g=0,02 + j1,5.
» Zc=200+300j;
» g=0.02+1.5j;
» V=Zc*cosh(g)+sinh(g)/Zc
V =
8.1672 +25.2172i
Ansar Suyuti - ikhlas kitta 7
» bayar=jml*har...
ga
??? bayar=jml*harga
|
Missing operator, comma, or semi-colon.
» harga=bayar/...
jml
harga =
1000

Perubahan bentuk polar bilangan kompleks ke bentuk rectanguler-nya juga dapat
dilakukan ;
bi a e M M
j
+ · ≡ <
θ
θ .
dengan bentuk polar diberikan oleh besarnya M dan sudut θ, sedangkan bentuk
rectanguler diberikan dengan a+bi. Hubungan antara bentuk-bentuk ini adalah:
M= ) (
2 2
b a +
) / ( tan
1
a b

· θ
a= M cosθ
b=M sinθ
Dalam MATAB, konversi antara bentuk polar dan rectanguler menggunakan fungsi-
fungsi real, imag dan angle.
Untuk merubah bentuk rectanguler ( V ) menjadi bentuk polar, maka dapat
dilakukan :
Contoh 6-2:
» Real_V=abs(V)
Real_V =
26.5068
» Sudut_V=angle(V)*180/pi
Sudut_V =
72.0542
Sedangkan untuk merubah polar ke rectanguler, maka dapat dilakukan :
Ansar Suyuti – ikhlas kitta 8
MATLAB Terapan 1
» P_V=Real_V*exp(j*Sudut_V*pi/180)
P_V =
8.1672 +25.2172i
» real_PV=real(P_V)
real_PV =
8.1672
» imaj_PV=imag(P_V)
imaj_PV =
25.2172
Fungsi abs menghitung besarnya bilangan kompleks atau harga mutlak dari
bilangan real, tergantung argumen apa yang diberikan. Fungsi angle menghitung
sudut bilangan kompleks dalam radian.
7. Menyimpan dan memanggil data
MATLAB dapat menyimpan dan memanggil data dari file. Pilihan Save Workspace
as... dalam menu File akan membuka kotak dialog untuk menyimpan semua
variabel yang ada. Mirip dengan itu, pilihan Load workspace as.. dari menu File
akan membuka kotak dialog untuk memanggil variabel yang telah disimpan
sebelumnya. Memanggil variabel yang bernama sama dengan variabel yang aktif
akan membuat isi variabel aktif ditimpa oleh isi variabel yang dipanggil dari file.
Jika menu File belum cukup bagi anda, MATLAB menyediakan dua perintah Save
dan load yang jauh lebih fleksibel. Perintah save membuat anda dapat menyimpan
satu atau lebih variabel dalam file format yang sesuai dengan pilihan anda.
» save
Saving to: matlab.mat
Ansar Suyuti - ikhlas kitta 9

Menyimpan semua variabel MATLAB dalam format biner di file matlab.mat
» save data
menyimpan semua variabel MATLAB dalam format biner di file data.mat
» clear
» load matlab
memanggil data/variabel-variabel yang telah di save dengan nama matlab setelah
dihapus dengan perintah clear dari ruang kerja MATLAB.
8. M- File
Script M-FILE
Jika masalah yang dihadapi sederhana, mengetikkan beberapa perintah langsung di
jendela command memang cukup tepat dan efektif. Akan tetapi jika jumlah
perintahnya sangat banyak, atau jika anda ingin mengubah nilai beberapa variabel
dan kemudian mengulang kembali perhitungannya, maka mengetikkan perintah-
perintah langsung akan sangat menyusahkan. Untuk menyelesaikan masalah ini,
MATLAB memungkinkan anda untuk mengetikkan sederetan perintah tersebut
dalam suatu teks file dan kemudian memerintahkan MATLAB untuk membuka file
tersebut dan menjalankannya seolah-olah diketikkan langsung di jendela
Command. File seperti ini dinamakan file Script atau M-File. Ketika file scrip
dipanggil, MATLAB langsung mengeksekusi perintah-perintah yang ditemui dalam
file. Statemen file scrip dioperasi secara global terhadap data di workspace. Scrip
berguna untuk menyelesaikan analisis atau desain dengan urutan-urutan statemen
yang cukup panjang.
MATLAB menyediakan beberapa fungsi pada M-File, perintah-perintah itu adalah
Ansar Suyuti – ikhlas kitta 10
MATLAB Terapan 1
Disp(ans)
Echo
input
keyboard
pause
pause (n)
waitforbuttonpress
menampilkan hasil tanpa menampilkan nama variabel
mengatur jendela command dalam penampilan kembali perintah
yang sedang dikerjakan
meminta pemakai untuk memberikan input
memberikan kontrol pada keyboard sementara waktu. Ketikkan
retour untuk kembali
berhenti sampai pemakai menekan semarang tombol
berhenti selama n detik
berhenti sampai ada penekanan tombol mouse atau tombol
keyboard
Jika perintah MATLAB tidak diakhiri dengan titik koma, hasil dari perintah itu serta
nama variabelnya akan ditampilkan kembali dalam jendela command.
Function M-File
File fungsi dari MATLAB, tidak sama dengan file script dalam hal bahwa variabel
yang dioperasikan didalamnya bersifat lokal terhadap fungsi itu saja. File script
akan bersifat global terhadap variabel yang ada di workspace. File fungsi
digunakan untuk suatu keperluan yang berulang satu atau beberapa kali dalam
suatu program. File fungsi pada sama fungsinya dengan functions pada bahasa C,
subroutines pada FORTRAN dan BASIC dan procedures pada PASCAL. M-file berisi
kata function pada awal program adalah file fungsi. File fungsi diawali dengan kata
function dengan perintah
function [output variabel]=nama fungsi (input variabel)
output variabel berada dalam kurung segi empat atau [ ] dan input variabel
dalam kurung parentheses atau ( ). Nama file fungsi harus di save sama dengan
nama fungsi. Misalnya function[S]=tegangan(Z,I), nama file fungsi tersebut harus
tegangan.m.
Contoh 8-1 :
function [S]=tegangan(V,I)
S=V.*conj(I);
Ansar Suyuti - ikhlas kitta 11

File tersebut bernama tegangan dengan variabel output V dan variabel input V
dan I
Untuk menjalankan program tersebut, pada command window dibuat suatu
statemen sebagai berikut :
Jika nilai V dan I hanya mempunyai masing-masing satu elemen , maka

» S=tegangan(10+12j,5+10j)
S =
1.7000e+002 -4.0000e+001i
Jika nilai V dan I hanya mempunyai merupakan matrik, maka
» s=tegangan([1 2;3 4],[10 10;10 10])
s =
10 20
30 40
Dari hasil diperoleh terlihat bahwa, input untuk varibel V dan I dapat berupa skalar
maupun matrik.
9. Operator Aritmetik
Operator aritmetik adalah simbol-simbol yang digunakan untuk maksud operasi
numerik. MATLAB menyediakan operator aritmatik dasar berikut :
Operasi Simbol Contoh
Penambahan a+b + 15+10
Pengurangan, a-b - 15-10
Perkalian, a.b * 15*10
Pembagian, a: b / atau \ 15/10=10\15
Pemangkatan, a
b
^ 15^10
Urutan operasi ini dikerjakan dalam suatu ekspresi yang mengikuti aturan prioritas
yang biasa. Aturan ini diringkas sebagai berikut : Ekspresi dikerjakan dari kiri ke
kanan, dengan pemangkatan mempunyai prioritas tertinggi, diikuti dengan
Ansar Suyuti – ikhlas kitta 12
MATLAB Terapan 1
perkalian atau pembagian yang mempunyai prioritas yang sama, diikuti dengan
penambahan dan pengurangan yang juga mempunyai prioritas yang sama. Tanda
kurung dapat digunakan untuk mengubah urutan pengerjaan yang biasa, dimana
bagian yang dikerjakan lebih dulu adalah bagian yang ada dibagian kurung paling
dalam kemudian keluar.
Contoh : Carilah nilai
A=P
]
]
]
]

− +
+
1 ) 1 (
) 1 (
N
N
I
I I
, untuk P=1000, I=12% dan N=10
» P=1000; i=0.12; N=10;
» A=P*((i*(1+i)^N)/((1+i)^N-1))
A =
176.9842
% Contoh penggunaan pembagian kiri dan kanan
» C=P/N
C =
100
» D=N\P
D =
100
10. Operator relasi dan logika
Matlab menyediakan operasi relasi dan logika. Kegunaan dari operator dan fungsi
tersebut ialah untuk menyediakan jawaban atas pertanyaan benar salah. Salah satu
kegunaan penting dari kemampuan ini ialah untuk mengontrol urutan eksekusi
sederetan perintah MATLAB berdasarkan pada hasil benar/salah. MATLAB
menganggap semua angka tidak nol sebagai benar, dan nol sebagai salah. Hasil dari
ekspresi relasi dan logika adalah satu untuk Benar dan nol untuk Salah dengan tipe
Ansar Suyuti - ikhlas kitta 13

array logika, yaitu hasilnya membuat bilangan 1 dan 0 yang tidak saja dapat
digunakan untuk statemen matematika, tetapi juga dapat digunakan untuk
pengalamatan.
Operator Relasi
Operator relasi MATLAB terdiri dari :
Operator relasi Deskripsi
<
<=
>
>=
=
~=
Kurang dari
Kurang dari atau sama dengan
Lebih dari
Lebih dari atau sama dengan
Sama dengan
Tidak sama dengan
Operator relasi MATLAB dapat dipergunakan untuk membandingkan dua array
berukuran sama atau untuk membandingkan array dengan skalar. Skalar
dibandingkan dengan semua elemen array dan hasilnya berukuran sama.
Contoh penggunaan :
» A=1:9,B=9-A
A =
1 2 3 4 5 6 7 8 9
B =
8 7 6 5 4 3 2 1 0
» tf=A>4
tf =
0 0 0 0 1 1 1 1 1
» tf=(A==B)
tf =
0 0 0 0 0 0 0 0 0
Operator Logika
Operator logika menyediakan cara untuk menggabung ekspresi logika. Operator
logika terdiri dari :
Operator Logika Deskripsi
& AND
Ansar Suyuti – ikhlas kitta 14
MATLAB Terapan 1
|
~
OR
NOT
Contoh penggunaan :
» A=1:9; b=9-A;
» tf=A>4
tf =
0 0 0 0 1 1 1 1 1
» tf=~(A>4)
tf =
1 1 1 1 0 0 0 0 0
» tf=(A>2)&(A<6)
tf =
0 0 1 1 1 0 0 0 0
» x=[1,1,0,0];
» y=[1,1,1,1];
» z1=~y>x
z1 =
0 0 0 0
» z2=x&y
z2 =
1 1 0 0
» z3=x|y
z3 =
1 1 1 1
» z4=xor(x,y)
z4 =
0 0 1 1
» A=[1,1,0,0]';
» B=[0,0,1,1]';
» [A,B,~A,A|B,A&B,xor(A,B)]
ans =
1 0 0 1 0 1
1 0 0 1 0 1
0 1 1 1 0 1
0 1 1 1 0 1
Ansar Suyuti - ikhlas kitta 15

11. Fungsi-fungsi Dasar Matematis
Sebagian dari fungsi-fungsi dasar matematis yang dimiliki MATLAB dapat dilihat
berikut :
Fungsi trigonometri
abs (x)
acos(x)
acosh(x)
angle(x)
asin(x)
asinh(x)
atan(x)
atan2(x)
atanh(x)
ceil(x)
conj(x)
cos(x)
cosh(x)
exp(x)
fix(x)
floor(x)
gdc(x,y)
imag(x)
lcm(x)
log(x)
log10(x)
real(x)
rem(x,y)
round(x)
sign(x)
sin(x)
sinh(x)
sqrt(x)
tan(x)
harga mutlak atau besarnya bilangan kompleks
invers cosinus
invers cosinus hiperbolik
sudut pada suatu bilangan kompleks
invers sinus
invers sinus hiperbolik
invers tangen
invers tangen empat kuadran
invers tangen hiperbolik
pembulatan ke arah plus tak berhingga
konjuget bilangan kompleks
cosinus
cosinus hiperbolik
eksponensial
pembulatan ke arah nol
pembulatan ke arah minus tak berhingga
faktor persekutuan terbesar bilangan bulat x dan y
bilangan imajiner
kelipatan persekutuan terkecil bilangan bulat x dan y
logaritma natural
logaritma biasa
bagian real suatu bilangan kompleks
sisa pembagian x dibagi y
pembulatan ke arah bilangan bulat terdekat
menghasilkan tanda dari argumen
sinus
sinus hiperbolik
akar kuadrat
tangen
Ansar Suyuti – ikhlas kitta 16
MATLAB Terapan 1
contoh :
carilah nilai V(t)= A sin wt +30o, dimana A=10 dan t=1,2,3,4,5
» t=1:1:5;
» A=10;f=100;
» Vt=A*sin(2*pi*f*t+30*180/pi)
Vt =
-4.0977 -4.0977 -4.0977 -4.0977 -4.0977
Fungsi dasar MATLAB
exp
log
log10
sqrt
abs
angle
conj
imag
real
fix
floor
ceil
round
mod
rem
sign
exponensial
logaritma natural
logaritma biasa (basis 10)
akar kuadrat
harga mutlak
sudut fasa
kompleks konjugate
bagian imajiner bilangan kompleks
bagian real bilangan kompleks
membulatkan ke arah nol
membulatkan ke arah minus tak terhingga
membulatkan ke arah plus tak terhingga
membulatkan ke arah bilangan bulat terdekat
modulus (sisa pembagian)
pembagian bilangan bulat
tanda bilangan
Contoh :
» x=exp(-0.2696*.2)*sin(2*pi*0.2)/(0.01*sqrt(3)*log(18))
x =
18.0001
Ansar Suyuti - ikhlas kitta 17

12. Format Input
Pemberian nilai pada variabel dalam MATLAB dapat dilakukan dengan mengetikkan
nama variabel kemudian tanda sama dengan ( = ) dan nilai variabel yang
diinginkan.
Contoh 12-1;
Untuk variabel skalar
» A=10
A =
10
» B=5;
» C=A*B
C =
50
dari contoh terlihat bahwa saat kita mengetik nilai A = 10 kemudian ditekan enter,
maka MATLAB akan merespon dengan menampilkan hasil, sedangkan pada saat
kita ketik B = 10; lalu dienter, MATLAB tidak menampilkan hasilnya karena kita
menambahkan tanda titik koma ( ; ).
Contoh 12-2:
Untuk variabel bentuk array/matriks
» A=[1 2 3;4 5 6]
A =
1 2 3
4 5 6
» B=[7,6,5;3,2,1];
» C=A+B
Ansar Suyuti – ikhlas kitta 18
MATLAB Terapan 1
C =
8 8 8
7 7 7
untuk program yang mempunyai data yang banyak, maka pemberian nilai variabel
dapat dilakukan secara terpisah.Data dapat dibuatkan M-file tersendiri,
selanjutnya kapan data tersebut dibutuhkan maka tinggal mengetikkan nama file
M-file yang telah dibuat.
Contoh 12-3:
Data Y dan I disimpan pada M-file dengan nama data1.m
Y=[0-8.5i 0+2.50i 0+5.0i 0+0i
0+2.5i 0-8.75i 0+5.0i 0+0i
0+5.0i 0+5.00i 0-22.5i 0+12.5i
0+0.0i 0+0.00i 0+12.5i 0-12.5i];
I=[0-1.1i;0-1.25i;0;0];
Untuk mengguanakan data tersebut, kita tinggal menulis nama M-file ( data1) pada
program
data1 % nama file data berisi Y dan I
% I=Y.V ===>V=inv(Y)*I
Z=inv(Y) % membuat invers Y
V=Z*I % perkalian
Hasil program
Z =
0 + 0.5000i 0 + 0.4000i 0 + 0.4500i 0 + 0.4500i
0 + 0.4000i 0 + 0.4800i 0 + 0.4400i 0 + 0.4400i
0 + 0.4500i 0 + 0.4400i 0 + 0.5450i 0 + 0.5450i
0 + 0.4500i 0 + 0.4400i 0 + 0.5450i 0 + 0.6250i
V =
1.0500
1.0400
1.0450
Ansar Suyuti - ikhlas kitta 19

1.0450
Dalam program contoh di atas, kita membuat dua buah M-file, satu M-file khusus
berisi data sedangkan M-file lainnya berisi program. File yang berisi data yang kita
beri nama data1.m dapat digunakan dengan hanya mengetikkan data1 pada
program, walaupun file tersebut tidak aktif diruang kerja MATLAB.
Tetapi kadang-kadang pada kondisi tertentu kita menginginkan bahwa suatu
variabel, dapat mempunyai nilai yang berubah sesuai dengan keinginan si pengguna
yang dapat di input dari keyboard. Pada M-file input nilai variabel dapat dilakukan
dari keyboard dengan menggunakan perintah
x = input (' komentar')
dimana x adalah nama variabel, komentar akan ditampilkan dilayar saat program
dijalankan.
Contoh 12-4 :
R=input (' input nilai R (ohm) =');
I=input (' input nilai I (Amp) =');
V=I*R
Jika program tersebut di run, maka hasilnya :
» input nilai R (ohm) =10
input nilai I (Amp) =2
V =
20
dengan demikian nilai variabel R dan I dapat berubah sesuai besar nilai yang
diinput.
Ansar Suyuti – ikhlas kitta 20
MATLAB Terapan 1
Sedangkan untuk variabel string, maka perintahnya
x=input ( 'komentar' , 'string' )
string harus berisi hurup 's' atau ' S ',yang menunujukkan string, sedangkan
komentar dapat berisi apa saja yang inginkan
contoh 12-5:

tanya=input (' anda ingin lanjut ? Y/N :','s');
if(isempty(tanya))|(tanya=='Y')|(tanya=='y')
tanya='Y'
else
tanya='N'
end
Hasil program
anda ingin lanjut ? Y/N :
tanya =
Y
13. Format Output
Saat MATLAB menampilkan hasil proses numerik, MATLAB mengikuti beberapa
aturan. Dalam keadaan biasa, jika hasilnya berupa bilangan bulat, maka akan
ditampilkan sebagai bilangan bulat. Jika hasilnya suatu bilangan real, MATLAB akan
menampilkan sebagai bilangan dengan empat digit desimal. Perintah format ini
hanya mengendalikan format numerik nilai yang ditampilkan dilayar, hanya
Ansar Suyuti - ikhlas kitta 21

berefek pada berapa jumlah angka yang ditampilkan, bukan bagaimana MATLAB
menghitung atau menyimpannya.
MATLAB
COMMAND
Average_Cost Keterangan
Format short 50.833 5 digits
Format long 50.83333333333334 16 digits
Format short e 5.0833e+01 5 digits plus exponent
Format long e 5.083333333333334e+01 16 digits plus exponent
Format short g 50.833 Better of format short or
format short e
Format long g 50.83333333333333 Better of format longt or
format long e
Format hex 40496aaaaaaaaaab Hexadecimal
Format bank 50.83 2 decimal digits
Format + + Positive, negative, or zero
Format rat 305/6 Rational approximation
Untuk lebih fleksibelnya dalam format output, MATLAB menyediakan statemen
fprintf untuk menampilkan hasil/output numerik dari program. Beberapa farmat
dari fprintf dapat dilihat pada tabel.
Kode Format Kontrol Karakter
%e scientific format, lower case e
%E sientific format, upper case E
%f format desimal
%s string
%i integer
%u mengikuti tipe
%x hexadecimal, lower case
%X hexadecimal, upper case
\n baris baru
\r permulaan dari baris
\b back space
\t tabulasi
\g halaman baru
" apostrop
\\ back slash
\a bell
Contoh 13-1:
» fprintf('Luas= %7.3f meter per segi \n',pi*10^2)
Luas= 314.159 meter per segi
Ansar Suyuti – ikhlas kitta 22
MATLAB Terapan 1
Format %7.3f, menunjukkan format bilangan desimal tujuh angka dengan tiga
angka dibelakang koma. Sedangkan /n untuk baris baru.
Contoh 13-2:
» V=[ 10;20;30;40;50];
» R=[ 5;7;9;11;13];
» y=[V R]
y =
10 5
20 7
30 9
40 11
50 13
» fprintf('%4i \t %8.2f\n',y')
10 5.00
20 7.00
30 9.00
40 11.00
50 13.00
Program contoh di atas memperlihatkan dua cara menampilkan output, yaitu
dengan variabel yang akan ditampilkan diberi kurung empat misal [V R], cara ini
akan menampilkan nilai variabel sesuai dengan tipenya, dan yang kedua adalah
dengan statemen fprintf (%4i \t %8.2 \n), %4i akan menampilkan pada kolom
pertama sesuai dengan tipe maksimum empat angka, \t penulisan selanjutnya
dengan jarak sesuai tabulasi, %8.2 menampilkan dengan format desimal delapan
angka termasuk titik, dengan dua angka dibelakang koma.
MATLAB juga menyiapkan format output berupa statemen disp, yang berfungsi
untuk menampilkan numerik dan string dari programnya.
Contoh 13-3:
data1 % nama file data berisi Y dan I
% I=Y.V ===>V=inv(Y)*I
Ansar Suyuti - ikhlas kitta 23

Z=inv(Y); % membuat invers Y
V=Z*I ; % perkalian
disp ('Hasil program V=inv(Y)*I adalah')
disp(V)
Hasil program V=inv(Y)*I adalah

1.0500
1.0400
1.0450
1.0450

Contoh di atas, memperlihatkan bahwa statemen disp dapat digunakan untuk
string atau numerik dan hanya menampilkan nilai variabel.
Contoh 13-4:
program M-file untuk perkalian bilangan kompleks
disp(' ');
disp(' PROGRAM PERKALIAN BILANGAN KOMPLEKS'); disp(' ');
disp(' Jenis: 1-polar, 2-rectangular'); disp(' ');
jumlah=input('Berapa banyak Bilangan Kompleks yang akan
dikalikan ?'); disp(' ');
for i=1:jumlah;
F=input(['Jenis ',num2str(i),' ketik 1 jika polar 2 jika
rectanguler = ']);
if (F~=1 & F~=2); disp('Anda Salah Input'); end
if F==1
M=input(['Nilai ',num2str(i),' = ']);
A=input(['Sudut ',num2str(i),' = '])*180/pi;
N(i)=M*exp(j*A); disp(' ');
else
R=input(['Real ',num2str(i),' = ']);
I=input(['Imag ',num2str(i),' = ']);
N(i)=R+j*I; disp(' ');
end
end
P=N(1); for k=2:jumlah; P=P*N(k); end
disp(' '); disp(['HASIL PERKALIAN = ' num2str(real(P)) ' +j '...
num2str(imag(P)) ' = ' num2str(abs(P)) '|_'...
num2str(angle(P)*pi/180) ' derajat']);
Ansar Suyuti – ikhlas kitta 24
MATLAB Terapan 1
Hasil program
PROGRAM PERKALIAN BILANGAN KOMPLEKS

Jenis: 1-polar, 2-rectangular

Berapa banyak Bilangan Kompleks yang akan dikalikan ?2

Jenis 1 ketik 1 jika polar 2 jika rectanguler = 1
Nilai 1 = 10
Sudut 1 = 90

Jenis 2 ketik 1 jika polar 2 jika rectanguler = 1
Nilai 2 = 10
Sudut 2 = 90


HASIL PERKALIAN = -100 +j 1.2246e-014 = 100|_180 derajat
14. KONTROL PROGRAM
Kontrol program sangat penting karena memungkinkan komputasi-komputasi yang
lalu mempengaruhi komputasi yang akan datang. MATLAB menyediakan struktur
pengambilan keputusan atau struktur kontrol program, yaitu : loop for, loop while,
if-else-end, dan swicth-case.
Loop for
Loop for memungkinkan sekelompok perintah diulang sebanyak suatu jumlah yang
tetap. Bentuk umum dari loop for adalah
For nama variabel loop = awal:step:akhir
Ansar Suyuti - ikhlas kitta 25

Perintah-perintah
end
Ekspresi awal adalah nilai awal, ekspresi step adalah langkah/pertambahan dan
ekspresi akhir adalah batas nilai akhir variabel loop. Contoh for x=2:2:10, perintah
akan diulang dan dimulai untuk x=2, melangkah sebanyak 2 dan berakhir pada nilai
x=10.
Contoh 14-1
for x=2:2:10
v(x)=cos(x*pi/180);
end
loop for dapat ditulis dalam satu baris
for x=2:2:10, v(x)=cos(x*pi/180),end
loop for dapat dibuat didalam loop for yang lain ;
Contoh 14-2:
Hasil dari program tersebut adalah
C =
30 24 18
Ansar Suyuti – ikhlas kitta
% Program perkalian Matriks A * B
A=[1 2 3;4 5 6;7 8 9];
B=[9 8 7;6 5 4;3 2 1];
% Proses perkalian
for k=1:3
for l=1:3
C(k,l)=0;
for m=1:3
C(k,l)=C(k,l)+A(k,m)*B(m,l);
end
end
end
26
MATLAB Terapan 1
84 69 54
138 114 90
bandingkan dengan perintah asterik ( * ) untuk perkalian matriks , maka hasil yang
diperoleh sama
» A=[1 2 3;4 5 6;7 8 9];
B=[9 8 7;6 5 4;3 2 1];
C=A*B
C =
30 24 18
84 69 54
138 114 90
Loop While
Loop while mengerjakan sekelompok perintah yang diulang sampai syarat yang
diberikan terpenuhi.
Bentuk umum loop while adalah ;
while ekspresi
Perintah-perintah
end
perintah-perintah yang terdapat di antara while dan end dieksekusi berulang kali
selama semua elemen dalam ekspresi adalah benar.
Contoh 14-3
Ansar Suyuti - ikhlas kitta 27

» x=1;
» while x<10
disp(x)
x=x+1; end
1
2
3
4
5
6
7
8
9
» x=9;
» while x~=0
disp(x)
x=x-1;
end
If - else -end
Bentuk paling sederhana if-else-end adalah
if ekspresi
perintah …
end
Untuk kasus dengan dua pilihan if-else-end adalah
if ekspresi
perintah…jika memenuhi eksperesi
else
perintah… jika tidak memenuhi ekspresi (salah)
end
Jika terdapat 3 atau lebih pilihan if-else-end :
Ansar Suyuti – ikhlas kitta 28
MATLAB Terapan 1
elseif ekspresi1
Perintah.. jika ekspresi1 benar
elseif ekspresi2
Perintah.. jika ekspresi2 benar
elseif ekspresi3
Perintah.. jika ekspresi3 benar
elseif…
else
perintah.. dikerjakan jika tak ada ekspresi benar
end
contoh 14-4
for k = 1:5;
if k<2
a=cos (k*pi/180);
elseif k<3
b=cos((k-1)*pi/180);
elseif k<4
c=cos((k-2)*pi/180);
elseif k<5
d=cos((k-3)*pi/180);
else
e=cos((k-4)*pi/180);
end;
end;
» a,b,c,d,e
a =
0.9998
b =
0.9998
c =
0.9998
d =
0.9998
e =
0.9998
Ansar Suyuti - ikhlas kitta 29

Switch-Case
Bentuk umum dari Switch-Case adalah
switch ekspresi
case test_ekspresi
deret_perintah1
case {test_ekspresi2, test_ekspresi3, test_ekspresi4}
deret_ekspresi2
otherwise
deret ekspresi3
end
Contoh 14-5:
Buatlah program untuk mengkonversi satuan meter kesatuan inchi, feet,
millimeter dan centimeter, yang mana nilai satuan meter dan konversi satuan yang
diinginkan diinput dari keyboard.
x=input('masukkan nilai x dalam meter =' );
satuan=input('konversi ke satuan "in",ft",mm" dan "cm" = ','s');
switch satuan
case {'inchi','in'} %konversi ke inchi
inchi=x*2.54*100
case{'feet','ft'} % konversi ke feet
feet=x*2.54*12*100
case{'milimeter','mm'} % konversi ke millimeter
mm=x*10*100
case{'centimeter','cm'} % konversi ke Centimeter
cm=x*100
otherwise
disp(['anda salah input:' units])
y=nan
end;
masukkan nilai x dalam meter =3
konversi ke satuan "in",ft",mm" dan "cm" = cm
cm =
300
Contoh 14-6:
Mencari nilai x minimum, maksimum dan penjumlahan untuk x= e-t .sin t untuk t =
0 sampai 100.
Ansar Suyuti – ikhlas kitta 30
MATLAB Terapan 1
% program untuk mencari nilai minimum,
% maksimum atau penjumlahan x
t = [0:100];
x=exp(-t).*sin(t*pi/180);
pilih=input('Mencari x "maks,min atau jumlah" =','s');
switch pilih
case {'maksimum','maks'}
maks=max(x)
case {'minimum','min'}
minim=min(x)
case {'jumlah','jum'}
total=sum(x)
otherwise
disp('anda salah input')
end
15. Grafik 2-Dimensi
Statemen plot
MATLAB menyediakan fasilitas dalam pembuatan suatu grafik dengan sangat
sempurna dan mudah untuk digunakan, ini merupakan salah keistimewaan MATLAB,
sehingga sangat cocok digunakan untuk komputasi teknik.
Statemen yang digunakan dalam pembuatan grafik ini yaitu :
plot : Plot linier
loglog : plot dengan skala loglog
semilogx : plot dengan skala semi log
semilogy : plot dengan skala semilog
Untuk judul, label, garis sumbu dan teks digunakan :
title : judul grafik
xlabel : label sumbu x
ylabel : label sumbu y
text : teks keterangan
gtext : tempat teks diletakkan
grid : grid line
axis : batas sumbu y dan x
Ansar Suyuti - ikhlas kitta 31

Statemen yang digunakan untuk membuat grafik linier, plot (x,y ) ini untuk
menggambar bidang vector x dan vector y. Jika x atau y adalah sebuah matriks
maka mereka akan saling menggambarkan sesuai dengan baris dan kolomnya
masing-masing. Tetapi bila x adalah sebuah besaran skalar sedangkan y adalah
besaran vector maka akan terjadi titik yang tidak terhubung pada plot.
Berbagai macam jenis garis, symbol plot dan warna dapat dibuat dengan perintah
plot(x,y,s) dimana s adalah karakter string yang dibuat dari salah satu atau lebih
dari statemen dibawah ini
SPESIFIKASI WARNA JENIS GARIS
WARNA Istilah Jenis Simbol
Hitam k Solid -
Biru b Dashed --
Cyan c Dotted :
Hijau g Dash-dot -.
Magenta m Point .
Merah r Circle o
Putih w X-mark x
Kuning y Plus +
Star *
Kita bisa membuat tiga pilihan kurva pada grafik yang sama. Sebagai contoh,
Plot(x1,y1,’r’,x2,y2.’+b’,x3,y3,’-‘)
Plot (x1, y1) dengan garis merah solid ,(x2,y2) dengan warna biru dan tanda +,
( x3,y3) dengan garis putus-putus. Plot juga dapat ditambahkan dengan keterangan
nama pada grafik, label pada sumbu X dan Y dan grid. Perintah grid membuat
kotak-kotak gairs / kisi-kisi pada grafik. Cara penulisannya hanya tinggal ditulis
sesudah perintah plot. Sedangkan perintah nama/title (‘Graph title’) memberi
nama pada plot dan x label (‘x-axis label’), y label (‘y-axis label’) yang memberi
label pada plot dengan string yang khusus. Perintah text ( x-coordinate, y-
coordinate,’text’) dapat digunakan untuk meletakkan text pada grafik, dimana
nilai koordinat diambil dari plot tertentu. Sebagai contoh, kalimat perintahnya
adalah :
Text(3.5, 1.5,’Voltage’)
Ansar Suyuti – ikhlas kitta 32
MATLAB Terapan 1
Kalimat perintah ini akan menuliskan kata Voltage pada titik grafik (3.5, 1.5).
Selain itu juga dapat digunakan perintah gtext (‘text’), dimana perintah ini
menempatkan teks pada grafik dengan menggunakan mouse. Alternatif perintah
lain adalah legend(string1,sring2,string3,…) yang juga berfungsi untuk
menempatkan teks dalam grafik dengan menggunakan string. MATLAB
menyediakan skala otomatis. Perintah axis ([x min. x max. y min. y max.]).
Sebagai contoh :
Axis ([-10 40 -60 60])
Menghasilkan skala sumbu x dari – 10 sampai 40 dan skala sumbu y dari – 60 sampai
60. Mengetik kembali axis (‘auto’) akan menghasilkan skala sendiri.
Contoh :
Membuat plot X-Y dengan variabel berikut ini :
x 0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0
y 10 10 16 24 30 38 52 68 82 96 123
Programnya dapat dituliskan sebagi berikut :
x = [ 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0];
y = [10 10 16 24 30 38 52 68 82 96 123];
plot(x, y), grid
xlabel('x'), ylabel('y'), title('Contoh Grafik Sederhana')
Hasilnya dapat dilihat pada grafik ini :
Ansar Suyuti - ikhlas kitta 33

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
20
40
60
80
100
120
140
x
y
ContohGrafikSederhana
MATLAB juga menyediakan statement fplot untuk membuat grafik dari fungsi
dalam bentuk string. Dengan sintaks sebagai berikut;
fplot ('string',[xmin,xmax])
atau
fplot ('string',[xmin xmax ymin ymax])
dimana string merupakan sebuah fungsi, [xmin xmax] adalah nilai minimum dan
maksimum dari variabel bebas fungsi.
Contoh
» f='cos(tan(x))-tan(sin(x))';
» fplot(f,[0 3]), title (' Grfaik cos(tan(x))-tan(sin(x))')
Ansar Suyuti – ikhlas kitta 34
MATLAB Terapan 1
0 0 . 5 1 1. 5 2 2. 5 3
-3
-2. 5
-2
-1. 5
-1
-0. 5
0
0. 5
1
Grfa i k c os ( t an(x ))-t an( s i n(x ))
Statemen polyval
Program ini menggunakan perintah polyfit untuk mendapatkan pencocokan data
(koefisien) untuk mendapatkan persamaan polynomial yang sesuai dengan data
yang ada.
Kata perintah yang lain adalah polyval yaitu digunakan untuk, mengevaluasi
polynimial dari data-data yang diberikan :
Contoh :
x = [ 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0];
y = [10 10 16 24 30 38 52 68 82 96 123];
p = polyfit(x, y, 2)
yc = polyval(p, x);
plot(x, y,'x', x, yc)
xlabel('x'), ylabel('y'), grid
title('Polynomial curve fitting')
legend('Actual data', 'Fitted polynomial')
Hasil penggunaan perintah polyfit dan polyval dapat dilihat berikut ini :
P=
4.02333 2.01107 9.6783
Ansar Suyuti - ikhlas kitta 35

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
20
40
60
80
100
120
140
x
y
Polynomial curvefitting
Actual data
Fittedpolynomial
Pada program ini akan digunakan,* untuk perkalian elemen dengan elemen dari
dua bentuk persamaan yang telah diberikan, fungsinya y = 1 + e-2t sin (8t-π /2)
dari 0 sampai 3 detik). Program ini juga memakai perintah [cp,k]=max (c ) yang
memperlihatkan nilai maksimum dari grafik.
Contoh Program untuk mencari nilai maksimum c=1+e-2t.sin(8t-pi/2)
t=0:.005:3;
c = 1+ exp(-2*t).*sin(8*t - pi/2);
[cp, k] = max(c)
tp = t(k)
plot(t, c), xlabel(' t, sec'), ylabel('c'), grid
title('Grafik sinus teredam')
text(0.55,1.35,['cp = ',num2str(cp)])
text(0.55, 1.2,['tp = ',num2str(tp)])
Hasil dari M-file diatas :
Ansar Suyuti – ikhlas kitta 36
MATLAB Terapan 1
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
t, sec
c
Grafik sinus teredam
cp = 1.4702
tp = 0.36
Cara interaktif untuk mendapatkan data-data titik-titik pada kurva adalah dengan
menuliskan perintah ginput. Perintah ini akan memudah mendapatkan titik-titik
yang diinginkan dengan cara mengklik mouse.
t=0:.005:3;
c = 1+ exp(-2*t).*sin(8*t - pi/2);
[cp, k] = max(c)
tp = t(k)
plot(t, c), xlabel(' t, sec'), ylabel('c'), grid
title('Grafik sinus teredam')
text(0.55,1.35,['cp = ',num2str(cp)])
text(0.55, 1.2,['tp = ',num2str(tp)])
%menggunakan statemen ginput
[tp, cp] = ginput
Statemen Subplot
Statemen subplot ( m, n, p ), berfungsi untuk membagi tampilan gambar menjadi
sebanyak m baris, n kolom dan p menunjukkan gambar keberapa. Selain itu
memakai perintah subplot (111) yang fungsinya seperti CLF RESET dimana grafik
yang satu dengan yang lain tidak saling mempengaruhi sehingga mendapatkan
tampilan yang maksimal.
Contoh :
Ansar Suyuti - ikhlas kitta 37

wt = 0: 0.05: 3*pi;
v=120*sin(wt); % Sinusoidal voltage
i=100*sin(wt-pi/4); % Sinusoidal current
p=v.*i; % Instantaneous power
subplot(2, 2, 1),plot(wt,v, wt,i); % Plot of v & i versus wt
title('Voltage & current')
xlabel('\omegat, radians ');
subplot(2, 2, 2),plot(wt,p); % Instantaneous power vs. wt
title('Power')
xlabel(' \omegat, radians ');
Fm=3.0;
fa = Fm*sin(wt); % Three-phase mmf's fa, fb, fc
fb = Fm*sin(wt-2*pi/3);
fc = Fm*sin(wt-4*pi/3);
subplot(2, 2, 3),plot(wt,fa, wt,fb, wt,fc )
title('3-phase mmf');
xlabel(' \omegat, radians ');
fR = 3/2*Fm;
subplot(2, 2, 4),plot(-fR*cos(wt),fR*sin(wt))
title('Rotating mmf')
subplot(111)
Ansar Suyuti – ikhlas kitta 38
MATLAB Terapan 1
0 5 10
-200
-100
0
100
200
V ol t age & c urrent
ω
t , radi ans
0 5 10
-5000
0
5000
10000
15000
P ower

ω
t , radi ans
0 5 10
-4
-2
0
2
4
3-phas e m m f

ω
t , radi ans
-5 0 5
-5
0
5
Rot at i ng m m f
Statemen subplot(2, 2, 1),plot(wt,v, wt,i)bertujuan untuk membagi tampilan
grafik menjadi 2 baris dan 2 kolom, sehingga layar grafik menjadi empat bagian.
Bagian bagian tersebut diberi nomor grafik berurut-urut, nomor 1 adalah baris
pertama kolom pertama, selanjutnya nomor 2 adalah baris pertama kolom kedua,
nomor 3 adalah baris kedua kolom pertama dan nomor empat adalah baris kedua
kolom kedua. Penempatan grafik disesuaikan dengan nomornya.
Contoh
» x=0:0.001:3;
» f=cos(tan(x))-tan(sin(x));
» subplot(1,2,1),plot(x,f),xlabel('x'),ylabel('y'),axis([0 1.5 -3 1]);
» subplot(1,2,2),plot(x,f),xlabel('x'),ylabel('y'),axis([1.5 3 -3 1]);
Ansar Suyuti - ikhlas kitta 39

0 0. 5 1 1. 5
-3
-2. 5
-2
-1. 5
-1
-0. 5
0
0. 5
1
x
y
1. 5 2 2. 5 3
-3
-2. 5
-2
-1. 5
-1
-0. 5
0
0. 5
1
x
y
Statemen Figure
Statemen figure digunakan apabila dalam suatu program terdapat beberapa grafik,
tetapi ingin ditampilkan pada halaman grafik yang berbeda. Misal program contoh
6-4, dimana keempat grafik ditampilkan dalam satu layar, maka dengan statemen
figure grafik tersebut dapat dibuat pada layar yang berbeda. Statemen figure
adalah
Figure ( nomor grafik), plot (…,….)
Contoh :
clf
wt = 0: 0.05: 3*pi;
v=120*sin(wt); % tegangan sinusoidal
i=100*sin(wt-pi/4); % Arus sinusoidal
p=v.*i; % daya Instantaneous
figure(1),plot(wt,v, wt,i); % Grafik 1
title('Voltage & current')
xlabel('\omegat, radians ');
figure(2),plot(wt,p); % Grafik 2
title('Power')
xlabel(' \omegat, radians ');
Fm=3.0;
fa = Fm*sin(wt);
fb = Fm*sin(wt-2*pi/3);
fc = Fm*sin(wt-4*pi/3);
figure(3),plot(wt,fa, wt,fb, wt,fc ); % grafik 3
Ansar Suyuti – ikhlas kitta 40
MATLAB Terapan 1
title('3-phase mmf');
xlabel(' \omegat, radians ');
fR = 3/2*Fm;
figure(4),plot(-fR*cos(wt),fR*sin(wt)); % Grafik 4
title('mf')
0 1 2 3 4 5 6 7 8 9 10
-150
-100
-50
0
50
100
150
Voltage & current
ω
t, radians
0 1 2 3 4 5 6 7 8 9 10
-2000
0
2000
4000
6000
8000
10000
12000
Power

ω
t, radians
0 1 2 3 4 5 6 7 8 9 10
-3
-2
-1
0
1
2
3
3-phas e m m f

ω
t , ra di ans
Ansar Suyuti - ikhlas kitta 41

-5 -4 -3 -2 -1 0 1 2 3 4 5
-5
-4
-3
-2
-1
0
1
2
3
4
5
m f
Grafik 3- Dimensi
Statemen Plot
Statemen plot3(x,y,z), berguna untuk menghasilkan sebuah garis 3 dimensi dari 3
buah vektor x,y,z yang menyatakan besar masing-masing sumbu
Contoh :
» t=0:pi/50:10*pi;
» plot3(sin(t),cos(t),t)
Hasilnya :
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
10
20
30
40
Ansar Suyuti – ikhlas kitta 42
MATLAB Terapan 1
atau perintah
plot (x1,y1,z1,s1,x2,y2,z2,s2,….)
mengkombinasikan beberapa plot (x,y,z,s), dimana x,y,z vektor atau matriks dan s
string.
Statemen Meshgrid
Untuk menggambar permukaan koordinat z berdasarkan nilai matriks m x n. Antar
elemen matriks dihubungkan garis dalam penyajiannya.
Misal z = f(x,y)
2 2
2 2
) sin(
y x
y x
z
+
+
·
ingin ditampilkan pada rentang -8 8 ≤ ≤ x dan -8
8 ≤ ≤ y
» x=-8:0.5:8;
» y=x;
» [X,Y]=meshgrid(x,y);
» R=sqrt(X.^2+Y.^2)+eps;
» Z=sin(R)./R;
» mesh(Z)
Ansar Suyuti - ikhlas kitta 43

Stateman Contour
Statemen countour digunakan untuk memvisualisasi kontur atau garis-garis yang
menunjukkan ketinggian tetap. Satatemen contour adalah :
CONTOUR(Z), menggambar contour berdasarkan nilai Z
CONTOUR (X,Y,Z), dimana X dan Y vektor, untuk membatasi area contour dari Z
CONTOUR(Z,N) dan CONTOUR(X,Y,Z,N), menggambar N buah garis
CONTOUR(Z,V) dan CONTOUR(X,Y,Z,V), menggambar sebanyak LENGTH(V) garis
contour pada nilai vektor V
CONTOUR(…..,'linetype') menggambar dengan tipe garis tertentu.
Contoh :
» contour(peaks,50)
Ansar Suyuti – ikhlas kitta 44
MATLAB Terapan 1
5 10 15 20 25 30 35 40 45
5
10
15
20
25
30
35
40
45
Statemen Mesh dan Surface
Fungsi mesh dan surf menampilkan permukaan secara 3 dimensi. Jika Z matriks
dengan elemen Z(i,j) mendefinisikan ketinggian pada grid (i,j), maka
mesh(Z)
membangkitkan rangka berwarna permukaan matriks Z
surf(Z)
membangkitkan rangka dan pewarnaan permukaan dari Z
Ansar Suyuti - ikhlas kitta 45

contoh :
» mesh(peaks)
dengan perintah tambahan
colormap(hot)
atau
colormap(pink)
maka warna akan beruba sesuai perintah
Memotong sebagian gambar dengan NaN
NaN(Not a Number) bisa untuk menghilangkan sebagian visualisasi
Misal :
Ansar Suyuti – ikhlas kitta 46
MATLAB Terapan 1
» p=peaks;
» p(25:35,2030)=nan*p(25:35,20:30);
» p(25:35,20:30)=nan*p(25:35,20:30);
» mesh(peaks,p)
Arah Pandang Grafik
Dalam MATLAB anda dapat menentukan sudut untuk melihat garafik tiga dimensi.
Statemen view(asimuth,elevation) mengeset sudut pandang dengan menentukan
sudut proyeksi pandang mata dan ketinggian anda. Statemen adalah
view(a,b)
dimana :
a : sudut antara arah pandang terhadap titil (0,0) dengan bidang (x,y)
b : sudut antara proyeksi arah pandang mata ke bidang (x,y) dengan bidang (z,y)
Ansar Suyuti - ikhlas kitta 47

contoh :
» view(20,0)
Ansar Suyuti – ikhlas kitta 48
MATLAB Terapan 1
16. Dasar Operasi Array
Untuk membuat array dalam MATLAB, yang perlu dilakukan hanyalah mengetikkan
kurung kotak kiri, memasukkan elemen - elemen dengan dipisahkan oleh spasi atau
koma, kemudian menutup array dengan kurung kotak kanan.
Contoh :
» A=[1 2 3 4 5]
A =
1 2 3 4 5
» B=[5,4,3,2,1]
B =
5 4 3 2 1
» C=A+B
C =
6 6 6 6 6
Jadi sangat mudah untuk mengoperasikan array dalam MATLAB, begitu pula
mengoperasikan. seperti menjumlahkan, dan operasi lainnya.
Pembentukan Array
MATLAB menyediakan fasilitas lain untuk pembentukan array, yang mana
memasukkan nilai array, tidak perlu mengetikkan elemen demi elemen. Beberapa
cara untuk pembentukan array dapat dilihat pada tabel.
x = [2 2*pi sqrt(2) 2-3j]
x = first:last
x = first : increment:last
x = linspace (first,last,n)
x = logspace (first,last,n)
membentuk array x dengan elemen-elemen khusus
membentuk array x dimulai dengan nilai awal first, meningkat
setiap 1 dan berakhir pada nilai akhir last
Pembentukan array x dimulai dengan nilai awal first, meningkat
sebesar nilai incerement dan berakhir pada nilai last
Membuat array x dimulai dengan nilai first, berakhir dengan nilai
last, dengan jumlah elemen n
Membuat array x dimulai dengan nilai awal 10
first
, berakhir
dengan nilai 10
last
, dengan jumlah elemen n
Ansar Suyuti - ikhlas kitta 49

Contoh :
» x=[2 2*pi sqrt(2) 2-3j]
x =
2.0000 6.2832 1.4142 2.0000 - 3.0000i
» x=1:5
x =
1 2 3 4 5
» x=1:2:10
x =
1 3 5 7 9
» x=linspace(1,5,5)
x =
1 2 3 4 5
» x=logspace(1,5,5)
x =
10 100 1000 10000 100000
» a=1:5,b=1:2:9
a =
1 2 3 4 5
b =
1 3 5 7 9
» a=1:5,b=1:2:9
a =
1 2 3 4 5
b =
1 3 5 7 9
» c=[b a]
c =
1 3 5 7 9 1 2 3 4 5
» d=[a(1:2:5) 1 0 1]
d =
1 3 5 1 0 1
Ansar Suyuti – ikhlas kitta 50
MATLAB Terapan 1
Pengalamatan Array
Array x yang terakhir mempunyai 5 elemen yang dipisahkan dalam kolom-kolom,
dengan demikian dapat dikatakan bahwa array tersebut array satu lima atau suatu
array dengan panjang 5.
Dalam MATLAB, elemen-elemen array diakses menggunakan subscript; misalnya
x(1) adalah elemen pertama x, x(2) adalah elemen kedua x, dst.
Contoh :
» x(2)
ans =
100
» x(1:3)
ans =
10 100 1000
» x(1:2:5)
ans =
10 1000 100000
» x(4:end)
ans =
10000 100000
» x([5 2 5])
ans =
100000 100 100000
Ansar Suyuti - ikhlas kitta 51

Untuk membentuk vektor kolom, maka MATLAB menyediakan operator titik koma (
; ) untuk membuat baris, apostrop ( ' ) untuk transpose, titik apostrop ( .' ) untuk
transpose tetapi tidak melakukan konjugasi. Operator titik-transfose ini
diinterpretasi sebagai transpose konjugasi non kompleks. Jika suatu array
merupakan array kompleks, transpose ( ' ) memberikan transpose konjugasi
kompleks, yaitu tanda dari bagian imajiner yang berubah sebagai akibat operasi
transpose. Tetapi titik transpose melakukan transpose pada array namun tidak
melakukan konjugat padanya.
Contoh :
» A=[1;2;3;4;5]
A =
1
2
3
4
5
» B=[1 2 3 4 5]'
B =
1
2
3
4
5
» AA=[1+2j 1+0.5j 2+1j]'
AA =
1.0000 - 2.0000i
1.0000 - 0.5000i
2.0000 - 1.0000i
» BB=[1+2j 1+0.5j 2+1j].'
BB =
1.0000 + 2.0000i
1.0000 + 0.5000i
2.0000 + 1.0000i
Ansar Suyuti – ikhlas kitta 52
MATLAB Terapan 1
Dari contoh terlihat bahwa bila bilangan kompleks ditranspose dengan statemen
apostrop ( ' ) maka terjadi konjugasi atau dengan kata lain tanda imajiner akan
berubah. Sedangkan bila bilangan kompleks di transpose dengan statemen titik
apostrop ( .' ) maka tidak terjadi konjugasi.
Jika suatu array dapat berupa vektor baris atau vektor kolom, maka array dapat
dibentuk berupa matriks.
Contoh
» K=[1 2 3;4 5 6;7 8 9]
K =

1 2 3
4 5 6
7 8 9
» K=[1 2 3
4 5 6
7 8 9]
K =
1 2 3
4 5 6
7 8 9
selain titik koma, menekan tombol Return atau Enter saat memasukkan nilai
matriks juga dapat membuat baris baru.
Ansar Suyuti - ikhlas kitta 53

Operasi Operasi Array
Operasi Array dengan Skalar
Penambahan, pengurangan , perkalian dan pembagian dengan skalar dapat
dikenakan pada semua elemen array.
Contoh
» A=[1 2 3;4 5 6]
A =
1 2 3
4 5 6
» b=A*4
b =
4 8 12
16 20 24
» c=b/4
c =
1 2 3
4 5 6
» d=A+4
d =
5 6 7
8 9 10
Operasi Array dengan Array
Jika dua array mempunyai dimensi yang sama, penambahan, pengurangan,
perkalian dan pembagian berlaku pada elemen ke elemen . Tapi jika dimensi tidak
Ansar Suyuti – ikhlas kitta 54
MATLAB Terapan 1
sama maka tentu operasi tersebut tidak dapat dilaksanakan. Operator -operator
dasar dari operasi array adalah sebagai berikut
+
-
.*
./
.\
.^
penambahan array (a+b)
pengurangan array (a- b)
perkalian array (a .* b)
pembagian kanan array (a ./b )
pembagian kiri array ( a ./b)
pemangkatan array (a.^ b)
Titik yang mendahului simbol perkalian, pembagian dan pemangkatan
memberitahu MATLAB untuk melakukan operasi elemen ke elemem. Perkalian
tanpa titik berarti perkalian matriks.
Contoh :
» a=[ 1 1 1;2 2 2]
a =
1 1 1
2 2 2
» b=[3 3 3;4 4 4]
b =
3 3 3
4 4 4
» c=a+b
c =
4 4 4
6 6 6
» d=a-b
d =
-2 -2 -2
-2 -2 -2
Ansar Suyuti - ikhlas kitta 55

e =
3 3 3
8 8 8
» f=a./b
f =
0.3333 0.3333 0.3333
0.5000 0.5000 0.5000
» g=a.\b
g =
3 3 3
2 2 2
» h=a.^b
h =
1 1 1
16 16 16
Dari contoh terlihat bahwa semua operasi array dilakukan merupakan operasi antar
elemen-elemen array.
memanipulasi Array
Karena array dan matriks merupakan hal mendasar dalam MATLAB, maka terdapat
banyak cara untuk memanipulasinya.
Cntoh :
» A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
» A(3,3)=0
A =
1 2 3
4 5 6
7 8 0
Ansar Suyuti – ikhlas kitta 56
MATLAB Terapan 1
mengubah A(3,3) menjadi nol
contoh
» A(2,6)=1
A =
1 2 3 0 0 0
4 5 6 0 0 1
7 8 0 0 0 0
mengubah elemen pada baris 2 kolom 6 menjadi satu, karena A tidak mempunyai
enam kolom, ukuran A diperbesar seperlunya dan diisi dengan nol sehingga matriks
tetap segi empat.
Contoh
» A(:,4)=4
A =
1 2 3 4 0 0
4 5 6 4 0 1
7 8 0 4 0 0
membuat semua elemen di kolom empat menjadi 4.
A =
1 2 3
4 5 6
7 8 9
» B=A(3:-1:1,1:3)
B =
7 8 9
4 5 6
1 2 3

menciptakan matriks B dengan urutan baris A yang dibalik
» B=A(3:-1:1,:)
B =
7 8 9
4 5 6
1 2 3
Ansar Suyuti - ikhlas kitta 57

menciptakan matriks B dengan urtan baris A yang dibalik, disini titik dua berarti
semua kolom (titik dua terakhir dari contoh di atas). Jadi : adalah singkatan 1:end
atau 1:3 sebab A memiliki 3 kolom.
» C=[A B(:,[1 3])]
C =
1 2 3 7 9
4 5 6 4 6
7 8 9 1 3
membuat matriks C dengan menambhkan semua baris pada kolom pertama dan
ketiga B ke sisi kanan A.
» B=A(1:2,2:3)
B =
2 3
5 6

membuat B dengan mengambil dua baris pertama dan dua kolom terakhir A.
» B=A(:)
B =
1
4
7
2
5
8
3
6
9
membuat matriks B dengan mengurutkan kolom-kolom A
» B=B.'
B =
1 4 7 2 5 8 3 6 9
Ansar Suyuti – ikhlas kitta 58
MATLAB Terapan 1
mentranspose matriks A
» B=A
B =
1 2 3
4 5 6
7 8 9
» B(:,2)=[]
B =
1 3
4 6
7 9
mendefinisikan kembali B dengan membuang semua baris pada kolom kedua
matriks B semula. Saat anda mengeset sesuatu menjadi matriks kosong [ ], sesuatu
itu akan terhapus, mengakibatkan matriks berkurang menjadi apa yang tertinggal.
Array dengan Elemen Satu dan Nol
Karena banyak dipergunakan, MATLAB menyediakan fungsi untuk membuat array
yang semua elemennya satu atau nol.
Contoh:
» ones(4)
ans =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
» zeros(2,5)
ans =
0 0 0 0 0
0 0 0 0 0
» ones(3,4)
ans =
1 1 1 1
1 1 1 1
1 1 1 1
Ansar Suyuti - ikhlas kitta 59

Statemen ones (4) membentuk array bujur sangkar (4 x 4 ) dengan seluruh
elemennya bernilai satu. Statemen ones (3,4) untuk membentuk array berdimensi
3 baris dan 4 kolom dengan seluruh elemen bernilai satu. Statemen zero (2,5)
untuk membentuk array berdimensi 2 baris dan 4 kolom dengan seluruh elemen
bernilai nol.
Operasi Matriks
Semula MATLAB diciptakan untuk menyederhanakan komputasi matriks dan aljabar
linier yang terdapat di berbagai aplikasi adalah sebagai berikut:
+
-
*
/ dan \
det (A)
d=eig(A)
[V,D] = eig(A)
expm(A)
inv(A)
lu(A)
orth(A)
pinv(A)
poly(A)
polyeig(A1,A2,..)
sqrtm(A)
svd(A)
trace(A)
Penjumlahan
Pengurangan
Perkalian
Pembagian kiri dan kanan
X=A\B adalah solusi untuk A*X=B
X=B/A adalah solusi untuk X*A=B
dimensi harus sesuai dengan aturan perkalian
matriks
Determinan
Nilai eigen
Nilai eigen dan eigen vektor
Pemangkatan matriks
Invers matriks
Faktor dari eliminasi gaus
Ortognalisasi
Pseudoinvers
Karakteristik polynomial
Menyelesaikan masalah nilai eigen polinomial
Akar kuadrat matriks
Dekomposisi nilai singular
Jumlah elemen-elemen diagonal
Jika sebuah persamaan simultan sebagai berikut :
a11 X1 + a12 X2 + … + a1n Xn = B1
a21 X1 + a22 X2 + … + a1n Xn = B2
. . . .
. . . .
an1 X1 + an2 X2 + … + ann Xn = Bn
Ansar Suyuti – ikhlas kitta 60
MATLAB Terapan 1
persamaan di atas dapat dituliskan dalam bentuk matriks
]
]
]
]
]
]

·
]
]
]
]
]
]

]
]
]
]
]
]

3
...
2
1
3
...
2
1
.
...
... ... ... ...
...
...
2 1
2 22 21
1 12 11
B
B
B
x
x
x
a a a
a a a
a a a
nn n n
n
n
atau
A.x = B
Sehingga vektor X dapat dihitung :
[x] = [A]
-1
B
contoh :
persamaan dalam bentuk , A X = B hitunglah vektor X
]
]
]
]
]

·
]
]
]
]
]

]
]
]
]
]

351
804
366
3
2
1
.
0 8 7
6 5 4
3 2 1
x
x
x
» A=[1 2 3;4 5 6;7 8 0]
A =
1 2 3
4 5 6
7 8 0
» b=[366;804;351]
b =
366
804
351
Ansar Suyuti - ikhlas kitta 61

Jika anda mempunyai dasar aljabar linier maka sangat mudah untuk menentukan
bahwa masalah mempunyai satu jawaban tunggal jika determinan matriks A tidak
sama dengan nol.
» det(A)
ans =
27
» inv(A)
ans =
-1.7778 0.8889 -0.1111
1.5556 -0.7778 0.2222
-0.1111 0.2222 -0.1111
Penyelesaian persamaan simultan tersebut diselesaikan dalam program MATLAB
dengan tiga cara :
Cara I
Penyelesaian menggunakan statemen inv
» x=inv(A)*b
x =
25.0000
22.0000
99.0000
Cara II
Penyelesaian menggunakan statemen / (statemen pembagian kanan matriks).
» x=A\b
x =
25.0000
22.0000
99.0000
Ansar Suyuti – ikhlas kitta 62
MATLAB Terapan 1
Cara III
Penyelesaian dengan menggunakan factorisasi lu (statemen lu) dari hasil dari upper
af lower matrik triangular , A=LU, dimana X diperoleh dari X = U-1 L-1 B.
» A=[1 2 3;4 5 6;7 8 0];
» B=[366;804;351];
» [L,U]=lu(A)
L =
0.1429 1.0000 0
0.5714 0.5000 1.0000
1.0000 0 0
U =
7.0000 8.0000 0
0 0.8571 3.0000
0 0 4.5000
» X=inv(U)*inv(L)*B
X =
25.0000
22.0000
99.0000
Untuk mencari nilai eigen values dan eigen vektor
» [x,D]=eig(A)
x =
0.7471 -0.2998 -0.2763
-0.6582 -0.7075 -0.3884
0.0931 -0.6400 0.8791
D =
-0.3884 0 0
0 12.1229 0
0 0 -5.7345
atau
» eig(A)
Ansar Suyuti - ikhlas kitta 63

ans =
-0.3884
12.1229
-5.7345
Contoh :
Carilah nilai x, y dan z dari persamaan dibawah ini
6x - 3y + 4z = 41
12x + 5y - 7z = -26
-6x + 2y + 6z = 14
sebelum kita membuat program MATLAB, maka persamaan dapat dibuat dalam
bentuk matrik
]
]
]
]
]

− ·
]
]
]
]
]

]
]
]
]
]




14
26
41
6 2 6
7 5 12
4 3 6
z
y
x

atau
[ABC][xyz]=[K]
sehingga
[xyz]=[ABC]
-1
[K]
» ABC=[6 -3 4;12 5 -7;-6 2 6];
» K=[41;-26;14];
» xyz=inv(ABC)*K
xyz =
2.0035
-2.6842
5.2316
Ansar Suyuti – ikhlas kitta 64
MATLAB Terapan 1
Contoh
Sebuah rangkaian listrik seperti gambar dibawah, hitunglah V1 dan V2 dan daya
pada setiap sumber arus.
i
1 i
2
y
1 0
y
2 0
y
1 2
V
1 V
2
y12 = 0,35 - j 1,2 i1 = 30 + j 40 A
y10 = 1,15 - j 0,8 i2 = 20 + j 15 A
y20 = 0,55 - j 0,4
dengan menggunakan hukum kirchhoff, diperoleh persamaan simpul
]
]
]

+
+
·
]
]
]

]
]
]

− + −
+ − −
1 5 2 0
4 0 3 0
2
1
6 , 1 9 , 0 2 , 1 3 5 , 0
2 , 1 3 5 , 0 0 . 2 5 , 1
j
j
V
V
j j
j j
atau
[y].[V] = [I]
sehingga

[V]= [y]
-1
[I]
Ansar Suyuti - ikhlas kitta 65

sedangkan rumus untuk daya sumber ( S ) = V I*.
I=[30+40j;20+15j]; % Arus sumber
Y=[1.5-2j -0.35+1.2j; -0.35+1.2j 0.9-1.6j];
disp(' tegangan V1 dan V2')
V=inv(Y)*I
disp(' daya sumber S1 dan S2')
S = V.*conj(I)
Hasil program
tegangan V1 dan V2
V =
3.5902 +35.0928i
6.0155 +36.2212i
daya sumber S1 dan S2
S =
1.0e+003 *
1.5114 + 0.9092i
0.6636 + 0.6342i
Matriks Khusus
Matriks dengan kegunaan umum meliputi
» zeros(3)
ans =
0 0 0
0 0 0
0 0 0
» ones(2,4) % 2x4 matriks berelemen satu
ans =
1 1 1 1
1 1 1 1
» zeros(3)+pi
ans =
Ansar Suyuti – ikhlas kitta 66
MATLAB Terapan 1
3.1416 3.1416 3.1416
3.1416 3.1416 3.1416
3.1416 3.1416 3.1416
» eye(3) % matriks identitas
ans =
1 0 0
0 1 0
0 0 1
Statemen zeros(3) digunakan untuk membentuk matriks 3x3 dengan seluruh
elemen bernilai nol, statemen zeros(3)+pi digunakan untuk membentuk matriks nol
3x3 dengan menambahkan nilai pi pada setiap elemen. Statemen eye(3), untuk
membentuk matrik identitas berdimensi 3x3.
17. Akar-akar Polinomial
Mencari akar suatu polinomial merupakan suatu masalah tersendiri muncul dalam
berbagai bidang ilmu. MATLAB menyediakan fungsi roots untuk mencari akar
polinomial, sedangkan akar-akar polinimial yang diperoleh dapat dikonversi
kedalam persamaan awal dengan fungsi poly. Contoh :
15 75 . 14 75 . 67 25 . 61 25 . 31 9
2 3 4 5 6
+ + + + + + s s s s s s
akar-akar dapat diperoleh dengan menggunakan fungsi roots:
Contoh
» p=[1 9 31.25 61.25 67.75 14.75 15]
p =
1.0000 9.0000 31.2500 61.2500 67.7500 14.7500 15.0000
» r=roots(p)
r =
-4.0000
-3.0000
-1.0000 + 2.0000i
-1.0000 - 2.0000i
Ansar Suyuti - ikhlas kitta 67

0.0000 + 0.5000i
0.0 - 0.5000i
akar-akar polinomial tersebut dapat dikonversi ke koefisien polinomial dengan
fungsi poly(r):
» poly(r)
ans =
1.0000 9.0000 31.2500 61.2500 67.7500 14.7500 15.0000
Contoh
» r=[-1 -2 -3+4i -3-4i]
r =
-1.0000 -2.0000 -3.0000 + 4.0000i -3.0000 - 4.0000i
» poly(r)
ans =
1 9 45 87 50
berarti persamaan polinomialnya adalah :
0 50 87 45 9
2 3 4
· + + + + s s s s
MATLAB juga juga dapat mencari akar karakteristik persamaan polinomial dalam
bentuk matriks :
A=
]
]
]
]
]

− −
− −

5 11 6
6 11 6
1 1 0
Karakteristik persamaan dari matriks tersebut dapat diperoleh fungsi poly dan
akar-akar persamaan diperoleh dengan fungsi roots.
Ansar Suyuti – ikhlas kitta 68
MATLAB Terapan 1
Contoh
» A=[0 1 -1;-6 -11 6;-6 -11 5];
» p=poly(A)
p =
1.0000 6.0000 11.0000 6.0000
» r=roots(p)
r =
-3.0000
-2.0000
-1.0000
akar-akar dari karakteristik persamaan tersebut sama dengan eigenvalues dari
matriks A atau r=eig(A)
» eig(A)
ans =
-1.0000
-2.0000
-3.0000
Perkalian, Pembagian dan Penjumlahan Polinomial
Perkalian polinomial dilakukan dengan fungsi conv (melakukan convulotion dari
array), pembagian dilakukan dengan fungsi deconv dan penjumlahan dilakukan
dengan seperti penjumlahan array biasa tetapi derajat polinomial harus sama, jika
polinomial mempunyai derajat yang berbeda maka derajat yang lebih rendah
ditambahkan dengan koefisien-koefisien nol atau menggunakan fungsi yang
disediakan oleh MATLAB yaitu polyadd.
Contoh .
12 7
2
+ + · s s A dan 9
2
+ · s B carilah C=A.B , D=C+B dan E=C-B
Ansar Suyuti - ikhlas kitta 69

52 81 37 9
2 3 4
+ + + + · s s s s Z dan 13 4
2
+ + · s s Y carilah
Y
Z
X ·
contoh dapat diselesaikan dengan MATLAB
A=[1 7 12];B=[1 0 9];
Z=[1 9 37 81 52]; Y=[1 4 13];
C=conv(A,B)
D=A+B
E=A-B
X=deconv(Z,Y)
Hasil dari program adalah :
C =
1 7 21 63 108
D =
2 7 21
E =
0 7 3
X =
1 5 4
Turunan
Turunan polinomial dapat dilakukan dengan menggunakan fungsi polyder.
52 81 37 9
2 3 4
+ + + + · s s s s A
turunan dari polinomial A adalah:
» A=[1 9 37 81 52];
» polyder(A)
ans =
4 27 74 81
Polynomial Curve Fitting
n
d d
c x c x c x p + + + ·

.... ) (
1
2 1
Ansar Suyuti – ikhlas kitta 70
MATLAB Terapan 1
persamaan tersebut mempunyai koefisien n=d+1, dengan derajat d. Maka fungsi
pengurangan orde polynomial adalah polyfit(x,y,d).
Contoh .
X= 0 1 2 4 6 10
Y= 1 7 23 109 307 1231
Carilah sebuah polinomial derajat ke 3 dari data tersebut di atas;
» x=[0 1 2 4 6 10];
» y=[1 7 23 109 307 1231];
» c = polyfit(x,y,3)
c =
1.0000 2.0000 3.0000 1.0000
Evaluasi Polinomial
Evaluasi polinomial dapat dilakukan dengan fungsi polyval(c,x).
Contoh, kita ingin mengevaluasi polynomial c terhadap titik x= 0,1,2,3 dan 4 .
» plot(t,x)
» c=[1 2 3 1];
» x=0:1:4;
» y=polyval(c,x)
y =
1 7 23 55 109
» plot(x,y),title('x^3+2x^2+3x+1')
Ansar Suyuti - ikhlas kitta 71

0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
x
3
+2x
2
+3x+1
Partial-fraction Expansion
Untuk memperoleh residu atau partial-fraction expantion ( r ) , kutup yang
bersesuaian (p) dan dirct terms (K), digunakan fungsi : [r,p,K]=residu(b,a].
0 1
1
1
0 1
1
1
...
...
) (
) (
a s a s a s a
b s b s b s b
s Q
s P
n
n
n
n
m
m
m
m
+ + + +
+ + + +
·




Vector b dan a merupakan koefisien dari polinomial.
Contoh
Hitunglah partial fraction expantion dari :
4 4
1 9 2
) (
2 3
3
+ + +
+ +
·
s s s
s s
s F
Penyelesaian dengan MATLAB adalah
» b=[2 0 9 1];
» a=[1 1 4 4];
» [r,p,K]=residue(b,a)
r =
0.0000 - 0.2500i
Ansar Suyuti – ikhlas kitta 72
MATLAB Terapan 1
0.0000 + 0.2500i
-2.0000
p =
-0.0000 + 2.0000i
-0.0000 - 2.0000i
-1.0000
K =
2
Berarti partial fraction expantion-nya adalah
4
1
1
2
2
2
25 . 0
2
25 . 0
1
2
2
2
+
+
+

+ ·


+
+
+
+

+
s s j s
j
j s
j
s
untuk mengembalikan persamaan polinomial P(s)/Q(s) dapat dilakukan dengan
fungsi [b,a]=residue(r,p,K).
» [b,a]=residue(r,p,K)
b =
2.0000 0.0000 9.0000 1.0000
a =
1.0000 1.0000 4.0000 4.0000
Ansar Suyuti - ikhlas kitta 73

18. Integral Numerik
Trapezoidal Integration (integrasi trapesium)
Cara paling sederhana untuk menentukan luas daerah dibawah sebuah kurva adalah
dengan membagi-bagi luas daerah itu dengan bentuk persegi . Semakin kecil lebar
persegi yang dibentuk semakin mendekati nilai integral. Atau dengan
menggunakan bagian-bagian secara trapesium. MATLAB melaksanakan integrasi
secara trapesium dengan fungsi "trapz". Syntaksnya adalah trapz (x,y), dimana y
merupakan fungsi.
Contoh :
Hitunglah integral
Ansar Suyuti – ikhlas kitta 74
MATLAB Terapan 1

π
0
sin xdx
jawabannya adalah

π
0
sin xdx
=
π
0
| cos x − =cos 0 - cos π =2
Untuk menyelediki pengaruh lebar bagian trapesium, pertama kita gunakan 10
bagian dengan lebar yang sama 10 / π , maka programnya :
» x=linspace(0,pi,10);
» y=sin(x);
» trapz(x,y)
ans =
1.9797
jika lebar bagian trapesium diperkecil, misalnya dengan membagi menjadi 100
bagian, maka
» x=linspace(0,pi,100);
» y=sin(x);
» trapz(x,y)
ans =
1.9998
contoh :
Sebuah accelerometer mengukur percepatan dan digunakan pada pesawat terbang,
roket, dan kendaraan untuk memperkirakan kecepatan dan perpindahannya.
Accelerometer mengintegrasi sinyal percepatan untuk menghasilkan sebuah
perakiraan nilai kecepatan, dan mengintegrasi perkiraan nilai kecepatan untuk
menghasilkan perkiraan nilai pemindahan. Misalnya kendaraan mulai bergerak pada
t=0 dan percepatan yang terukur seperti pada tabel.
Ansar Suyuti - ikhlas kitta 75

Waktu (t) 0 1 2 3 4 5 6 7 8 9 10
Percepatan (m/dtk
2
) 0 2 4 7 11 17 24 32 41 48 51
Carilah :
• kecepatan setelah 10 detik
• kecepatan pada waktu t= 1,2,..,10 detik
Jawab :
• hubungan antara kecepatan dan percepatan adalah
∫ ∫
· + ·
10
0
10
0
) ( ) 0 ( ) ( ) 10 ( dt t a v dt t a V
» t=[0:10];
» a=[0,2,4,7,11,17,24,32,41,48,51];
» vak=trapz(t,a)
vak =
211.5000
kecepatan pada t=10 adalah 211,5 meter/detik
• untuk menentukan kecepatan pada waktu t=1,2,…,10, untuk v(t1)=0 maka
persmaan dapat dituliskan menjadi
∫ ∫
· + ·
k k
k
dt t a t v dt t a t V
1 1
1
) ( ) ( ) ( ) (
dimana k=2,3,4….,11
» t=[0:10];
» a=[0,2,4,7,11,17,24,32,41,48,51];
» v(1)=0;
» for k=2:11;
v(k)=trapz(t(1:k),a(1:k));
end
» disp([t',v'])
0 0
Ansar Suyuti – ikhlas kitta 76
MATLAB Terapan 1
1.0000 1.0000
2.0000 4.0000
3.0000 9.5000
4.0000 18.5000
5.0000 32.5000
6.0000 53.0000
7.0000 81.0000
8.0000 117.5000
9.0000 162.0000
10.0 211.5000
atau dalam bentuk tabel :
Waktu (t) 0 1 2 3 4 5 6 7 8 9 10
Kecepatan (m/dtk) 0 1 4 9,5 18,5 32,5 53 81 117 162 211,5
Integrasi Fungsi Kuadrat
Jika integral merupakan fungsi linier, maka integrasi secara trapesium merupakan
solusi yang paling tepat, tetapi jika integral bukan fungsi linier, maka integrasi
fungsi kuadrat akan menghasilkan tingkat akurasi yang lebih tinggi dibandingkan
integrasi trapesium. Cara pendekatan yang digunakan pada fungsi kuadrat
menggunakan persamaan simpson, yang membagi batas integrasi b - a menjadi
bagian-bagian dengan jumlah yang sama dan menggunakan perbedaan kuadrat
pada tiap-tiap bagian yang bersebelahan. MATLAB menyediakan dua fungsi untuk
menyelesaikan integrasi fungsi kuadrat yaitu : quad yang didasarkan pada
penyelesaian integrasi persamaan Simpson dan quadl yang didasarkan penyelesaian
integrasi algoritma Labatto. Syntaksnya adalah
quad ('function',a,b) dan quadl ('function',a,b)
dimana function adalah nama fungsi , a adalah batas bawah dan b adalah batas
atas integrasi
untuk lebih jelasnya dapat dilihat pada contoh .
Contoh :
Ansar Suyuti - ikhlas kitta 77


π
0
sin xdx
=2
» A=quad('sin',0,pi)
A =
2.0000
dari hasil yang diperoleh terlihat bahwa hasil yang diperoleh dari fungsi quad dan
quadl lebih akurat dibandingkan dengan fungsi trapz, namun fungsi quad hanya
dapat digunakan untuk perhitungan integral fungsi dan tidak dapat digunakan
untuk perhitungan integral yang ditentukan dengan nilai set point.
Differenial Numerik

Seperti yang telah ketahui bahwa, turunan dari fungsi dapat diartikan secara grafis
sebagai kemiringan dari fungsi. Algoritma sederhana untuk perhitungan turunan
numerik dapat dilihat pada gambar dibawah ini.
Dari gambar tersebut terlihat ada tiga titik data yang mewakili fungsi y(x), maka :
x
y
dx
dy
x


·
→ ∆ 0
lim
diasumsikan bahwa jarak antara pengukuran teratur, yaitu
x x x x x ∆ · − · −
1 2 2 3
.
Jika diinginkan untuk memperkirakan turunan
dx dy /
pada titik
2
x
, maka jawaban
Ansar Suyuti – ikhlas kitta 78
MATLAB Terapan 1
yang benar adalah kemiringan garis lurus yang dilewati melalui titik ) , (
2 2
y x ,
tetapi ada dua titik pada garis itu sehingga tidak dapat dicari kemiringannya. Oleh
karena itu harus diperkirakan kemiringan dengan menggunakan pendekatan pada
titik-titik data. Diperkirakan kemiringannya adalah :
x
y y
x x
y y
m
A


·


·
1 2
1 2
1 2
perkiraan lain dapat dihasilkan dari garis lurus B. kemiringannya adalah
x
y y
x x
y y
m
B


·


·
2 3
2 3
2 3
Nilai rata-rata
A
m dan
B
m adalah
x
y y
x
y y
x
y y m m
m
B A
C


·
,
`

.
|


+


·
+
·
2 2
1
2
1 3 2 3 1 2
kemiringan garis ini dinamakan C, yang menghubungkan titik pertama dan ketiga.
MATLAB menyiapkan fungsi d = diff(x) untuk menyelesaikan persamaan
differensial, dimana x adalah nilai vektor dan hasilnya berupa vektor d berisi
diffrensial antara pendekatan elemen-elemen dalam sumbu x. Bila x memiliki n
elemen, d akan memiliki n-1 elemen, dimana d=[x(2)-x(1), x(3)-x(2), …. , x(n)-x(n-
1)]. Sebagai contoh, bila x = [ 5, 7, 12, 20], lalu diff(x) menjadi vektor [ 2, 5, -32].
Solver ODE 23 dan ODE45
Ordenary Differential Equation (ODE), atau persamaan differensial biasa adalah
persamaan yang memiliki turunan orde dari variabel bebas. Contoh sederhana
adalah
2
t
dt
dy
·
Ansar Suyuti - ikhlas kitta 79

variabel y merupakan variabel bebas, dan t merupakan tidak bebas. Persamaan
tersebut dapat diselesaikan dengan mengintegralkan persamaan tersebut dengan
variabel independent t.
3 3
3
0
3
0
2
0
t t
dt t dt
dt
dy
t
t t
· · ·
∫ ∫
hasilnya adalah
3
) 0 ( ) (
3
t
y t y + ·
untuk selanjutnya kita gunakan notasi turunan diberi simbol "dot" /"titik", misalnya
dt
dy
t y
o
· ) (
2
2
) (
dt
y d
t y
oo
·
Penyelesaian dengan dengan fungsi ode 23 menggunakan solusi penyelesaian
persamaan differensial dengan menggunakan kombinasi metode Runge-Kutta orde
dua dan tiga dengan step-size, sedangkan ODE 45 menggunakan kombinasi metode
Runge-Kutta orde empat dan orde lima. Pada umumnya ODE 45 lebih cepat dan
akurat, tetapi menggunakan step-size yang lebih besar sehingga dapat
menghasilkan plot yang tidak sehalus dengan plot yang dihasilkan ODE 23.
Syntax dari ODE adalah
[t,y]=ode23( 'ydot', tspan, y0 )
ydot adalah nama file fungsi yang memiliki input t dan y dan mempunyai output
yang berupa vektor kolom yang memperesentasikan dy/dt, yaitu f(t,y). baris dari
vektor kolom harus sama dengan orde dari persamaan. Syntax ODE 23 dan ODE 45
adalah solver yang identik. Vektor tspan berisi nilai awal dan akhir dari variabel
bebas t dan dapat dipilih dari nilai t yang diinginkan, misalnya nilai t0<t<tf maka
tspan adalah [t0 tf], dimana t0 adalah nilai awal dan tf adalah nilai akhir dari
Ansar Suyuti – ikhlas kitta 80
MATLAB Terapan 1
variabel bebas t. Anda juga memecahkan persamaan secara mundur dengan
membuat t0 menjadi lebih besar dari tf.
Contoh Aplikasi ODE untuk penyelesaian persamaan differensial, pada sebuah
rangkaian listrik yang terdiri dari elemen R, L dan C
+
-
V = 1 V
t
R = 1 . 4 o h m
L = 2 H
C = 0 . 3 2 F
V c ( t )

Elemen dari rangkaian ini adalah R=1.4 Ω , L= 2 H, dan C =0.32 F. Keadaan awal
dari arus ini adalah 0, dan tegangan awal kapasitor 0.5 Volt. Kemudian tegangan Vs
=1 Volt digunakan pada saat t =0. Carilah niali i(t) dan v(t) untuk waktu 0<t<15
detik dan gambarlah garfik arus dengan tegangan kapasitor.
Persamaan rangkaian Gambar 2.10 adalah
Vs Vc
dt
di
L Ri · + + ====== L di/dt =vs-Vc-Ri
di/dt= (1/L)(Vs-X1-Ri)
0
2 X
=(1/L) (Vs-X1-Ri)
dimana :
) (
dt
dVc
C i ·
Ansar Suyuti - ikhlas kitta 81

Vc x · 1
i x · 2
2 )
1
( 1 x
C
x ·

) 2 1 )( / 1 ( 2 Rx x Vs L x − − ·

Xdot=[X(2)/C; 1/L*(Vs-x(1)-RX(2)]
Program File-M untuk penyelesaian persamaan differensial tersebut adalah
Program Utama
t0= 0; tfinal =15;
x0 = [0.5, 0];
tspan = [t0, tfinal];
[t,x] = ode45('electsys',tspan, x0);
subplot(2,1,1),plot(t,x)
title('Time response of an RLC series circuit')
xlabel('t, sec')
text(8,1.15,'Capacitor voltage')
text(8, 0.1,'Current')
vc= x(:,1); i = x(:,2);
sub program
function xdot = electsys(t,x);
V = 1;
R =1.4; L = 2; C = 0.32;
xdot = [x(2)/C ; 1/L*( V - x(1) - R*x(2) ) ]
Hasil programnya adalah
Ansar Suyuti – ikhlas kitta 82
MATLAB Terapan 1
0 5 10 15
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
Timeresponseof anRLCseries circuit
t, sec
Capacitor voltage
Current
Aplikasi pada pengaturan motor DC terkenali jangkar
Pengaturan kecepatan motor dc pengaturan tegangan terminal jangkar, biasa
digunakan pada sistem kontrol simpal tertutup. Diagram motor dc pengaturan
tegangan jangkar diberikan pada gambar 1. Pada gambar ini v(t) adalah tegangan
jangkar yang dianggap sebagai masukan sistem. Resistansi dan induktansi rangkaian
jangkar adalah R dan L. Tegangan e(t) adalah tegangan yang timbul pada
kumparan jangkar karana adanya pergerakan pada kumparan di dalam magnetik
motor dan biasanya disebut emf-balik (back emf ).
Sehingga dapat dituliskan
dl
d
K t e
θ
φ · ) (
Ansar Suyuti - ikhlas kitta 83

k o n s t a n
Gambar 1. Motor DC pengaturan jangkar
dengan K adalah konstanta motor, φ adalah fluks medan, dan θ adalah sudut
poros motor, jadi
dl

adalah kecepatan sudut poros ( ω ), jika fluks konstant
maka .
ω
θ
m m b
K
dt
d
K t e · · ) (
Untuk rangkaian jangkar dapat dituliskan
) (
) (
) ( . ) ( t e
dt
t di
L t i R t v
b a
+ + ·
Persamaan torka adalah
T (t) = K φ i a ( t)
Karena fluks diasumsikan konstan, maka dapat dituliskan
T (t) = KT i a ( t)
Persamaan tegangan motor menjadi
Ansar Suyuti – ikhlas kitta 84
R L
V(t) eb(t)
T(t)
J
B
MATLAB Terapan 1
e(t) = Ke.ω (t)
Momen inersia J meliputi semua inersia yang dihubungkan ke poros motor dan
konstanta B meliputi gesekan udara dan gesekan bantalan poros, maka persamaan
toki menjadi :
dt
d
B
dt
d
J t T
θ θ
+ ·
2
2
) ( atau
) ( ) ( t B
dt
dw
J t T ω + ·
Subtitusi pers.(5) dan (6 ) kedalam pers. ( 3) diperoleh
[ ] ) ( ) ( ) (
) (
t v t k t i R
L
I
dt
t di
b a a
a
+ − − · ω
diperoleh
[ ] ) ( ) ( t B t i K
J
I
dt
d
a m
ω
ω
− ·
diperoleh matriks persamaan differensial atau yang biasa disebut model dinamik
motor DC
) ( .
0
1
) (
) (
) (
t v
L
t
t i
J
B
J
K
L
K
L
R
d t
d
d t
t d l
a
a
b
]
]
]
]

+
]
]
]

]
]
]
]
]


− −
·
]
]
]
]
]
]

ω ω
Ansar Suyuti - ikhlas kitta 85

Dengan mengganti simbol ia(t) menjadi
1
x dan
) (t ω
menjadi
2
x , maka dapat
ditulis sebagai berikut
) (
0
1
.
2
1
2
1
t v
L
x
x
J
B
J
K
L
K
L
R
x
x
m
e
o
o
]
]
]
]
]
]

+
]
]
]
]

]
]
]
]
]


− −
·
]
]
]
]

atau
v B x A X
o
. . + ·
Persamaan differensial tersebut di atas dapat diselesaikan dengan menggunakan
program file-M ode23 atau ode45 dari MATLAB.
Tabel . Parameter-parameter motor DC pengaturan jangkar, 5 HP, 230 Volt.
Parameter-parameter motor DC Parameter-parameter motor DC
Tahanan Jangkar (R) 0,200 Ω Konstanta mekanik (Km) 0,7789 N.m/A
Induktansi (L) 0,067 H Konstanta motor (Ke) 0,9032 V.dt/rad
Arus jangkar nominal (Ia ) 18,3 Amp
Putaran nominal (
nom
ω
)
2500 rpm
Momen inersia ( J ) 0,6700 LB.FT
2
0,0282 N.m.dt
2
/rad
Konstanta gesekan (B) 0,0545 N.m dt/rad
Program MATLAB-nya
t0= 0; tfinal = 7; % time interval
x0 = [0, 0]; % initial conditions
tspan = [t0, tfinal]; % use with MATLAB 5
[t,x] = ode45('adcmotor', tspan, x0); % use with MATLAB 5
i= x(:,1); w = x(:,2);
subplot(2,1,1), plot(t,i),grid on
title('Karakteristik arus jangkar Vs waktu ')
xlabel('Waktu (dtk)'),ylabel('Arus jangkar (Amp.)')
subplot(2,1,2),plot(t,w),grid on
title('Karakteristik kecepatan Vs waktu ')
xlabel('Waktu (dtk)'),ylabel('kecepatan (rad/det)')
Ansar Suyuti – ikhlas kitta 86
MATLAB Terapan 1
subplot(111)
function xdot = adcmotor(t,x) % returns the state derivatives
R=0.20; % (ohm)
L = 0.67; % (Henry)
Ke=0.9032; % (Volt.det/rad
Km=0.7789; % (N.m/Amp)
B=0.0545; % (N.m.det/rad)
J = 0.0282; % (N.m.det2/rad)
A=[-R/L,-Ke/L;Km/J,-B/J];
B=[1/L;0];
v=240;
xdot = A*x+B*v;
0 1 2 3 4 5 6 7
-20
0
20
40
60
80
K arak t eri s t i k arus j angk ar V s wak t u
W ak t u (dt k )
A
r
u
s

j
a
n
g
k
a
r

(
A
m
p
.
)
0 1 2 3 4 5 6 7
0
100
200
300
400
500
K arak t eri s t i k k ec epat an V s wak t u
W ak t u (dt k )
k
e
c
e
p
a
t
a
n

(
r
a
d
/
d
e
t
)
Ansar Suyuti - ikhlas kitta 87

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->