Anda di halaman 1dari 20

Bab 1

Pengantar untuk
Pemrograman MATLAB

1.1 Pendahuluan
MATLAB (Matrix Laboratory) adalah sebuah program untuk
analisis dan komputasi numerik dan merupakan suatu bahasa
pemrograman matematika lanjutan yang dibentuk dengan dasar
pemikiran menggunkan sifat dan bentuk matriks. Pada awalnya,
program ini merupakan interface untuk koleksi rutin-rutin numerik
dari proyek LINPACK dan EISPACK, dan dikembangkan
menggunkan bahasa FORTRAN namun sekarang merupakan produk
komersial dari perusahaan Mathworks, Inc.yang dalam
perkembangan selanjutnya dikembangkan menggunakan bahasa C++
dan assembler (utamanya untuk fungsi-fungsi dasar MATLAB).
MATLAB telah berkembang menjadi sebuah environment
pemrograman yang canggih yang berisi fungsi-fungsi built-in untuk
melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi
matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi-
fungsi tambahan untuk aplikasi khusus . MATLAB bersifat extensible,
dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk
ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia
tidak dapat melakukan tugas tertentu. Kemampuan pemrograman
yang dibutuhkan tidak terlalu sulit bila Anda telah memiliki
pengalaman dalam pemrograman bahasa lain seperti C, PASCAL,
atau FORTRAN.
MATLAB merupakan merk software yang dikembangkan
oleh Mathworks.Inc.(lihat http://www.mathworks.com) merupakan
software yang paling efisien untuk perhitungan numeric berbasis
matriks. Dengan demikian jika di dalam perhitungan kita dapat
2 Judul Buku

menformulasikan masalah ke dalam format matriks maka MATLAB


merupakan software terbaik untuk penyelesaian numericnya.
MATLAB (MATrix LABoratory) yang merupakan bahasa
pemrograman tingkat tinggi berbasis pada matriks sering digunakan
untuk teknik komputasi numerik, yang digunakan untuk
menyelesaikan masalah-masalah yang melibatkan operasi matematika
elemen, matrik, optimasi, aproksimasi dll. Sehingga Matlab banyak
digunakan pada :
• Matematika dan Komputansi
• Pengembangan dan Algoritma
• Pemrograman modeling, simulasi, dan pembuatan
prototipe
• Analisa Data , eksplorasi dan visualisasi
• Analisis numerik dan statistik
• Pengembangan aplikasi teknik

1.2 Window-window pada MATLAB


Ada beberapa macam window yang tersedia dalam
MATLAB, yang dapat dijelaskan sebagai berikut:
a. MATLAB Command window/editor
MATLAB Command window/editor merupakan window
yang dibuka pertama kali setiap kali MATLAB dijalankan
Pengantar untuk Pemrograman MATLAB 3

pada window di atas dapat dilakukan akses-akses ke command-


command MATLAB dengan cara mengetikkan barisan-barisan ekpresi
MATLAB, seperti mengakses help window dan lain-lainnya.
Jika perintah-perintah yang sudah diketikkan dan hasil yang
ditampilkan pada layar command window akan disimpan maka
dapat dilakukan dengan menggunkan command diary. Sebagai
contoh jika ingin disimpan output
m =
1 2 3
5 2 1
direktori c:\backup dengan nama file mydata.txt, maka dapat
dilakukan dengan mengetikan :
» m=[1 2 3;5 2 1]
m =
1 2 3
5 2 1
» diary 'c:\backup\mydata.txt'
dan jika ingin menutup file ini maka ketikkan
» diary off
Command windows juga digunakan untuk memanggil tool
Matlab seperti editor, debugger atau fungsi. Ciri dari window ini
4 Judul Buku

adalah adanya prompt (>>) yang menyatakan matlab siap


menerima perintah. Perintah dapat berupa fungsi-fungsi
pengaturan file (seperti perintah DOS/UNIX) maupun fungsi-
fungsi bawaan/toolbox MATLAB sendiri. Berikut ini beberapa
fungsi pengaturan file dalam MATLAB :
dir / ls : Digunakan untuk melihat isi dari sebuah direktori
aktif.
cd : Digunakan untuk melakukan perpindahan dari
direktori aktif.
pwd : Digunakan untuk melihat direktori yang sedang
aktif
mkdir : Digunakan untuk membuat sebuah direktori
what : Digunakan untuk melihat nama file m dalam
direktori aktif
who : Digunakan untuk melihat variabel yang sedang
aktif
whos : Digunakan untuk menampilkan nama setiap
variabel
delete : Digunakan untuk menghapus file
clear : Digunakan untuk menghapus variabel
clc : Digunakan untuk membersihkan layar
doc : Digunakan untuk melihat dokumentasi The
MathWorks, Inc. dalam format html secara
online.
demo : Digunakan untuk mencoba beberapa tampilan
demo yang disediakan oleh Matlab
Pengantar untuk Pemrograman MATLAB 5

b. MATLAB Editor/Debugger (Editor M-File/Pencarian Kesalahan)


Window ini merupakan tool yang disediakan oleh Matlab
5 keatas. Berfungsi sebagai editor script Matlab (M-file). Walaupun
sebenarnya script ini untuk pemrograman Matlab dapat saja
menggunakan editor yang lain seperi notepad, wordpad bahkan
word. Untuk mengakses window m-file ini dapat dilakukan
dengan cara :
1. Memilih File kemudian pilih New
2. Pilih m-file, maka MATLAB akan menampilkan editor
window :

selain dengan cara di atas untuk menampilkan editor M-


File ini dapat juga dilakukan dengan :
>> edit
Bahasan tentang m-file akan dibahas pada bab selanjutnya.
c. Figure Windows
Window ini adalah hasil visualisasi dari script Matlab.
Namun Matlab memberi kemudahan bagi programer untuk
mengedit window ini sekaligus memberikan program khusus
untuk itu. Sehingga window ini selain berfungsi sebagai
visualisasi output dapat juga sekaligus menjadi media input yang
interaktif.
6 Judul Buku

Contoh :
>> x=0:2:360;
>> y=sin(x*pi/180);
>> plot(x,y)
hasil yang diperoleh adalah :

d. MATLAB help window


MATLAB menyediakan sistem help yang dapat diakses dengan
perintah help. Misalnya, untuk memperoleh informasi mengenai
fungsi elfun yaitu fungsi untuk trigonometri, eksponensial, complex
dan lain-lain, maka hanya perlu mengetikkan perintah berikut :
» help elfun
dan kemudian menekan enter maka di layar akan muncul
informasi dalam bentuk teks pada layar MATLAB yaitu :
Elementary math functions.
Trigonometric.
sin - Sine.
sinh - Hyperbolic sine.
asin - Inverse sine.
Pengantar untuk Pemrograman MATLAB 7

asinh - Inverse hyperbolic sine.


cos - Cosine.
cosh - Hyperbolic cosine.
acos - Inverse cosine.
acosh - Inverse hyperbolic cosine.
tan - Tangent.
tanh - Hyperbolic tangent.
atan - Inverse tangent.
atan2 - Four quadrant inverse tangent.
atanh - Inverse hyperbolic tangent.
sec - Secant.
sech - Hyperbolic secant.
asec - Inverse secant.
asech - Inverse hyperbolic secant.
csc - Cosecant.
csch - Hyperbolic cosecant.
acsc - Inverse cosecant.
acsch - Inverse hyperbolic cosecant.
cot - Cotangent.
coth - Hyperbolic cotangent.
acot - Inverse cotangent.
acoth - Inverse hyperbolic cotangent.
Exponential.
exp - Exponential.
log - Natural logarithm.
log10 - Common (base 10) logarithm.
log2 - Base 2 logarithm and dissect floating
point number.
8 Judul Buku

pow2 - Base 2 power and scale floating point


number.
sqrt - Square root.
nextpow2 - Next higher power of 2.

Complex.
abs - Absolute value.
angle - Phase angle.
complex - Construct complex data from real and
imaginary parts.
conj - Complex conjugate.
imag - Complex imaginary part.
real - Complex real part.
unwrap - Unwrap phase angle.
isreal - True for real array.
cplxpair - Sort numbers into complex conjugate
pairs.

Rounding and remainder.


fix - Round towards zero.
floor - Round towards minus infinity.
ceil - Round towards plus infinity.
round - Round towards nearest integer.
mod - Modulus (signed remainder after
division).
rem - Remainder after division.
sign - Signum.
Pengantar untuk Pemrograman MATLAB 9

Selain help untuk informasi di atas dapat juga dilihat informasi


lainnya misalnya perintah yang sangat berguna untuk mempelajari
pemrograman MATLAB adalah intro, yang membahas konsep-konsep
dasar tentang bahasa MATLAB. Selain itu, juga terdapat banyak
program demonstrasi yang mengilustrasikan berbagai kapabilitas
MATLAB, yang dapat dimulai dengan perintah demo. Atau untuk
lebih lengkapnya dapat dilihat di tampilan MATLAB dengan cara
memilih menu Window kemudian pilih help window, dan untuk
mengetahui informasi yang ada maka dapat dilakukan dengan
mengclickan dua kali info yang ada di MATLAB Help Window atau
dengan mengetikkan informasi yang ingin didapatkan pada sudut
sebelah kiri MATLAB Help Window. Sebagai contoh tampilan Help
window tersebut adalah sebagai berikut :

Sebelum melihat lebih jauh tentang kemampuan


MATLAB untuk programming ataupun penyelesaian masalah-
masalah numerik maka dapat dilakukan beberapa percobaan
sederhana seperti berikut ini :
Ketikkan :
» x=12
» x=6
10 Judul Buku

» x*y
ans =
72
dan perhatikan perbedaannya dengan :
» p=12;
» q=6;
» r=p*q;
dapat dilihat bahwa tanpa ; MATLAB akan mengassign hasil output
ke variabel ans (answer).
Untuk contoh penggunaan fasilitas grafik dari MATLAB,
maka dapat dilihat berikut ini dengan mengetikkan :
» x=[5 10 15 20 25];
» y=cos(x);
» plot(x,y);
dapat dijelaskan bahwa x diassign ke suatu array [5 10 15 20 25],
kemudian y =cos(x) akan mengassign y ke array [cos(5) cos(10)
cos(15) cos(20) cos(25)]. Dan hasilnya dapat dilihat pada gambar
berikut ini :

untuk contoh sederhana lainnya dapat dicoba beberapa perintah


berikut ini :
Pengantar untuk Pemrograman MATLAB 11

1. >> a = [ 1 2; 3 4 ]
>> a * a
>> b = [ 1 2; 0 1 ]
>> a*b
>> b*a
>> a + b
>> s = a + b
>> inv(s)
>> s * inv(s)
>> s/s
>> s\s
>> inv(s) * s
>> a/b
>> a\b
>> c = [ 1 1; 1 1 ]
>> inv(c);

2. Untuk membuat grafik y = sin(t) pada interval t = 0 to t = 10


>> t = 0:.3:10;
>> y = sin(t);
>> plot(t,y)

3. Untuk menggambarkan grafik :z(x,y) = x exp( - x^2 - y^2):


>> [x,y] = meshdom(-2:.2:2, -2:.2:2);
>> z = x .* exp(-x.^2 - y.^2);
>> mesh(z)
12 Judul Buku

Keterangan:
Untuk setiap perintah di atas sebelum ke perintah
selanjutnya maka tekan enter agar dapat ditampilkan outputnya.

1.3 Bilangan dan Operator Matematika di


Matlab
Ada tiga tipe bilangan di dalam Matlab yaitu :
‰ Bilangan bulat ( integer )
‰ Bilangan real
‰ Bilangan kompleks
Contoh bilangan bulat
x=10
x =
10

Contoh bilangan real


x=10.01
x =
10.0100
Untuk bilangan kompleks yang bentuk umumnya adalah z= a+bi ,
salah satu kehebatan MATLAB adalah tidak memerlukan penanganan
khusus untuk bilangan kompleks dan untuk bilangan ini diberi tanda i
atau j, contohnya :
y=sqrt(-2) % akar negatif 2
y =
0 + 1.4142i
real(y)
ans =
0
imag(y)
Pengantar untuk Pemrograman MATLAB 13

ans =
1.4142
abs(y)
ans =
1.4142
angle(y)
ans =
1.5708

Daftar operasi aritmatika dasar dalam Matlab


MATLAB dapat melakukan operasi-operasi aritmatika dasar
berikut :

Operasi Simbol
Penambahan, a + b +
Pengurangan a-b -
Perkalian a x b *
Pembagian a : b / atau \
Pemangkatan ab ^
Urutan operasi tersebut yang dikerjakan dalam suatu ekspresi
yang mengikuti aturan prioritas yang biasa (hirarki). Aturan tersebut
dapat diringkas sebagai berikut :
Ekspresi dikejakan dari kiri ke kanan dengan pemangkatan
mempunyai prioritas tertinggi, diikuti dengan perkalian
atau pembagian yang mempunyai prioritas yang sama,
diikuti dengan penambahan dan pengurangan yang juga
memiliki prioritas yang sama. Tanda kurung dapat
digunakan untuk merubah urutan pengerjaan yang biasa
dimana bagian yang dikerjakan terlebih dahulu adalah
bagian yang yang ada di bagian kurung paling dalam
kemudian keluar.
14 Judul Buku

Contoh :
Misalnya anda mengambil kuliah sebanyak 12 SKS , yang terdiri dari
seismologi 4 sks , Analisis sinyal 3 sks , Tomografi 2 sks dan Gravitasi 3
sks . Lalu pada akhir semester anda mendapat nilai sebagai berikut
seismologi A , Analisis sinyal B , Tomografi C dan gravitasi A . Dengan
point nilai A=4 , B=3 , C=2 Berapa nilai IP anda ?
Untuk memyelesaikan ini kita menggunakan pendekatan seperti
perhitungan di kalkulator :
ip=(4*4+3*3+2*2+3*4)/(4+3+2+3)
ip =
3.4167
Sebagai alternatif kita bisa menyelesaikan masalah di atas dengan
terlebih dahulu menyimpan informasi yang kita punya pada
variabel.

seismologi=4
tomografi=2
analisis_sinyal=3
gravitasi=4
seismologi =
4
tomografi =
2
analisis_sinyal =
3
gravitasi =
4
total_sks=12
total_sks =
12
Pengantar untuk Pemrograman MATLAB 15

ip=(seismologi*4+tomografi*2+analisis_sinyal*3+gravitasi*
3)/total_sks
ip =
3.4167

1.4 Komentar dan Tanda Baca


Semua teks sesudah tanda % dianggap sebagai statemen komentar ,
contoh:
semester=8 % jumlah semester S 1
semester =
8
Variabel semester diisi dengan nilai 8 dan statemen sesudah tanda %
di anggap sebuah komentar . Statemen ini berguna untuk
mendokumentasikan apa yang sudah anda kerjakan. Tanda titik
koma ( ; ) dalam Matlab berguna untuk mencegah menampilkan
hasil, contoh :

semester=8;

1.5 Fungsi-Fungsi Matematika Dasar


MATLAB mempunyai berbagai fungsi matematika umum
yang biasa di gunakan dalam matematik . Sebagian besar fungsi
tersebut hampir sama dengan bila anda menuliskannya secara
matematis. Sebagai contoh :
pi
ans =
3.1416
y=sin(pi/6)
y =
16 Judul Buku

0.5000
y=asin(0.5)
y =
0.5236

Contoh Penyelesaian Masalah


Contoh 1: Persamaan fungsi
M=4x2+3y+10
N=e(2*x)+x
O=sqrt((1/(x+y))+(1/(t+z)))
P=4*(e(-x/2))*sin(pi*x)
Tentukan nilai fungsi tersebut dengan nilai-nilai t=25, x=43, y=15.25,
z=8.2 !
Untuk penyelesaian di atas adalah sbb:
Pertama, dibuat dulu variabel nya
t=25;x=43;y=15.25;z=8.2;
Kedua, masukkan nilai tersebut ke masing-masing fungsinya
M=4*x^2+3*y+10
M =
7.4518e+003
N=exp(2*x)+x
N =
2.2352e+037
O=sqrt((1/(x+y))+(1/(t+z)))
O =
0.2175
P=4*(exp(-x/2))*sin(pi*x)
P =
Pengantar untuk Pemrograman MATLAB 17

1.6223e-023
Contoh 2 : Penentuan volume silinder berlubang
Sebuah silinder mempunyai diameter luar 6.3125 dan diameter dalam
5.762 , tentukan volumenya bila diketahui rumus untuk mencari
volumenya :
4
(
V = π RE 3 − RI 3
3
)
Dimana RE adalah diameter luar dan RI adalah diameter dalam
Penyelesaian :
re=6.3125;ri=5.762;
v=4/3*pi*(re^3-ri^3);
disp(['Volume = ',num2str(v)])
Volume = 252.3169

I.7. Menyimpan dan Memanggil Data


Untuk Menyimpan dan memenggil data dari file pilih File
Save Workspace As … . Untuk memanggil data digunakan pilihan
Load WorkSpace As atau Open pada menu file. Sedangkan untuk
mengimport data , untuk Matlab versi 6 keatas pilih file Import Data
.. . Matlab juga menyediakan dua perintah ---- save dan load -------
yang jauh lebih fleksibel. Perintah save untuk menyimpan satu atau
lebih variabel dalam file format Yang sesuai dengan pilihan anda.
contoh :
clear all
x=1:10;y=10:10:10:100; % membuat array baru
save
Saving to: Matlab.mat
menyimpan semua variabel Matlab dalam format biner di file
Matlab.mat
18 Judul Buku

save data
menyimpan semua variabel Matlab dalam format biner di file
data.mat
save data_x x
menyimpan variabel x dalam format biner di file data_x.mat
save data_xy x y /ascii
menyimpan variabel x dan y dalam format biner di file data_xy
dalam format ascii untuk membuka data digunakan perintah load,
contoh;
load data_x.mat

1.8. Operator Logika dan Relasional


MATLAB menyediakan operasi logika dan relasional, hal
ini diperlukan untuk menjawab pertanyaan benar atau salah dan
salah satu manfaat yang penting dari kemampuan ini adalah
untuk mengontrol urutan eksekusi sederetan perintah MATLAB
(biasanya dalam M-File) berdasarkan pada hasil pertanyaan
benar/salah.
Sebagai masukan pada semua ekpresi relasi dan logika ,
MATLAB menganggap semua angka tidak nol sebagai benar, nol
sebagi salah. Hasil dari semua ekspresi logika relasi dan logika
adalah satu untuk benar dan nol untuk salah dengan tipe array
logika yaitu hasilnya memuat bilangan 1 dan 0 yang tidak saja
dapat digunakan untuk statemen matematika akan tetapi dapat
juga untuk pengalamatan
Operator relasi MATLAB terdiri dari semua pembandingan :
Operator Relasi Deskripsi
< Kurang dari
> Lebih dari
Pengantar untuk Pemrograman MATLAB 19

<= Kurang dari atau sama dengan


>= Lebih dari atau sama dengan
= Sama dengan
~= Tidak sama dengan
Operator relasi MATLAB dapat digunakan untuk membandingkan
dua array berukuran sama atau untuk membandingkan array dengan
skalar.
Operator logika menyediakan cara untuk menggabung atau
menegasikan ekspresi relasi.
Selanjutnya Operator-operator logika dalam MATLAB yaitu :

Operator Logika Deskripsi


& AND
| OR
~ NOT

1.9. Sumber-sumber MATLAB yang ada di


Internet
Jika anda ingin lebih mendalami lagi tentang MATLAB
dan mendownloadnya maka di bawah ini beberapa informasi
yang berkenaan dengan MATLAB, dan informasinya bisa
didapatkan dibeberapa situs berikut ini :
1. Web site MathWorks : http://www.mathworks.com/ disitus
ini bisa di dapatkan informasi tentang produk baru MATLAB
seperti buku dan lain-lainnya.
2. Newsgroup MATLAB: news://saluki
news.siu.edu/comp.soft-sys.matlab/
3. http://dir.yahoo.com/science/mathematics/software/matlab
/ penggunaan source informasi tentang MATLAB dan
20 Judul Buku

merupakan langkah awal untuk memperoleh web site


MATLAB lainnya.
4. http://www.cse.uiuc.edu/cse301/matlab.html, web site ini
merupakan websitenya University of Illinois di Champaign-
Urbana, yang menyediakan beberapa link untuk MATLAB di
internet
5. Mastering Matlab Web site: http://www.eece.maine.edu/mm