Download - Belajar Komputasi Dengan Matlab
-
7/22/2019 Belajar Komputasi Dengan Matlab
1/42
Supardi, M.SiSupardi, M.Si
BAB 1
Pendahuluan
Matlab merupakan sebuah singkatan dari Matrix Laboratory, yang
pertama kali dikenalkan oleh University of New Mexico dan University of
Stanford pada tahun 1!"# software ini pertama kali memang digunakan
untuk keperluan analisis numerik, al$abar linier dan teori tentang matriks#
Saat ini, kemampuan dan fitur yang dimiliki oleh Matlab sudah $auh lebih
lengkap dengan ditambahkannya toolbox%toolbox yang sangat luar biasa#
&eberapa manfaat yang didapatkan dari Matlab antara lain'
(erhitungan Matematika
)omputasi numerik
Simulasi dan pemodelan
*isualisasi dan analisis data
(embuatan grafik untuk keperluan sains dan teknik
(engembangan aplikasi, misalnya dengan memanfaatkan +U#
Matlab dapat dipadang sebagai sebuah kalkulator dengan fitur yang
lengkap# )ita pernah menggunakan kalkulator dengan degan fasilitas
minimal, misalnya hanya terdapat fasilitas penambahan, pengurangan
perkalian dan pembagian# )alkulator yang lebih lengkap lagi adalah
kalkulator scientific dimana fasilitas yang diberikan tidak hanya yang
disebutkan di atas, melainkan sudah ada fungsi%fungsi trigonometri,
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 1
-
7/22/2019 Belajar Komputasi Dengan Matlab
2/42
Supardi, M.SiSupardi, M.Si
bilangan kompleks, akar kuadrat dan logaritma# Nah, Matlab mirip dengan
kalkulator tersebut, tetapi dengan fitur%fitur yang lengkap diantaranya
dapat digunakan untuk memprogram, aplikasi berbasis +U dan lengkap
dengan toolbox yang dapat dimanfaatkan untuk memecahkan masalah
sains dan teknik#
Dokumentasi Matlab
Matlab memberikan kemudahan bagi para pengguna untuk
menemukan bantuan sehubungan dengan semua fasilitas yang diberikan
oleh Matlab# Misalnya, bantuan tentang bagaimana memulai Matlab
pertama kali, trik pemrograman, membuat grafik - dan . dimensi,
menggunakan tool akuisisi data, pengolahan sinyal, penyelesaian
persamaan diferensial parsial#
Untuk memperoleh bantuan tersebut, kita dapat memilih MATLAB
Menu dari menu Help. Untuk bantuan tentang Matlab sendiri, dibagi atas
beberapa bagian antara lain
Development Environment,bagian ini akan memberikan informasi
yang lengkap mengenai desktop dari Matlab#
Mathematics, bagian yang men$elaskan bagaimana menggunakan
fitur yang dimiliki oleh Matlab untuk dalam mengolah data
matematis dan statistik# si dalam bantuan ini dicakup antara lain'
Matrks dan al$abar linier, polinomial dan interpolasi, analisis data
dan statistik, fungsi function, matriks $arang /sparse matrix).
Programming and data type, bagian ini men$elaskan bagaimana
membuat script dan fungsi dengan menggunakan Matlab# &antuan
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 2
-
7/22/2019 Belajar Komputasi Dengan Matlab
3/42
Supardi, M.SiSupardi, M.Si
ini mencakup pemrograman M%0ile, larik, larik multidimensi,
optimalisai performance Matlab, tip pemrograman Matlab#
raphics, bagian ini men$elaskan tentang bagaimana membuat atau
mengeplot grafik dari data yang kita miliki# ang termasuk dalam
bagian ini antara lain, dasar%dasar pengeplotan, format grafik,
membuat grafik khusus misalnya grafik dalam bentuk bar,
histogram, contour dan lain%lain
!"D #isuali$ation,bagian ini men$elaskan dengan tuntas bagaimana
menampilkan data yang kita miliki dalam grafik . dimensi, termasuk
didalamnya membuat grafik .2, menentukan tampilan ob$ek,
transparansi ob$ek, lighting dan lain%lain#
%reating raphical &ser 'nter(aces, bagian ini men$elaskan
bagaimana kita dapat membuat +U /+raphical User nterface3
berbasis Matlab#
2isamping bagian%bagian yang sudah disebutkan di atas, disini $uga
disertakan beberapa bagian tambahan yang ikut melengkapi dokumentasi
pen$elasan tentang Matlab, diantaranya function-By cattegory function-
!lp"abetical #ist "andle grap"ic property bro$ser external interfaces%!P&
external interfaces%!P& references dan lain%lain# 2ibawah ini diperlihatkan
bagian online%help yan dapat diakses dengan cara pilih Menu ") MATLAB
Help ") Matla*.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 3
-
7/22/2019 Belajar Komputasi Dengan Matlab
4/42
Supardi, M.SiSupardi, M.Si
+ambar 1#1 # 2aftar bantuan yang disediakan Matlab
Desktop Matlab
)etika kita pertama kali men$alankan Matlab, maka tampilan
pertama yang kita temui ini dikenal sebagai 2esktop Matlab# 2alam
desktop ini terdapat tool%tool yang berfungsi untuk mana$emen file,
variabel dan aplikasi yang berkaitan dengan Matlab# 2ibawah ini
ditun$ukkan desktop Matlab versi 4#5#
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 4
-
7/22/2019 Belajar Komputasi Dengan Matlab
5/42
Supardi, M.SiSupardi, M.Si
+ambar -# 6ool yang disertakan pada Matlab 4#5
)eterangan
1# tool untuk browse direktori aktif# 2ari tool ini kita dapat mengeset
direktori mana yang aktif# 2irektori aktif berarti bahwa direktori
inilah yang siap untuk diakses file didalamnya atau tempat yang siap
untuk digunakan sebagai penyimpan data#
-# 6ool yang menampilkan direktori aktif# 2ari tool ini kita dapat
melihat direktori mana yang aktif# Sebagai default direktori aktif
Matlab adalah 7'8M96L9&4p58work, $ika Matlab diinstal di
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 5
8
9
10
11
12
3
4
5
6
7
-
7/22/2019 Belajar Komputasi Dengan Matlab
6/42
Supardi, M.SiSupardi, M.Si
direktori 7'8, kalau disimpan di 2'8maka direktori aktif defaultnya
2'8M96L9&4p58work, begitu $uga di :'8atau dimana sa$a#
.# ;endela ini disebut disebut sebagai 7ommand # 6ool untuk mengatur ukuran $endela#
# 6ool untuk melihat perintah apa sa$a yang pernah kita $alankan
melalui command window# 6ool ini diberi nama command history.
1"# 6ool untuk mendisplay isi file apa sa$a yang terdapat di direktori
aktif#
11# 6ool untuk mendisplay nama variabel, ukuran, bytes dan classnya#
6ool%tool yang sudah disebutkan di atas dapat diatur
kemunculannya melalui menu #ie-. Misalnya, kita tidak menginginkan
tampilnya $endela command history,maka kita kita harus menghilangkan
tanda cek yang ada pada submenu command hstory# Lihat gambar .#
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 6
-
7/22/2019 Belajar Komputasi Dengan Matlab
7/42
Supardi, M.SiSupardi, M.Si
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 7
Gambar 3. Menonaktifkan jendela command histor
-
7/22/2019 Belajar Komputasi Dengan Matlab
8/42
Supardi, M.SiSupardi, M.Si
&9& -
2asar%2asar Matlab
Memulai Matlab
)etika kita pertama kali men$alankan Matlab, maka yang tampil
adalah 2esktop Matlab seperti yang telah disinggung di atas# 2iantara$endela yang yang ada pada desktop Matlab adalah command window# 2i
$endela inilah segala macam aktivitas berkaitan dengan perintah maupun
eksekusi program berada# (erintah atau eksekusi program dapat dilakukan
setelah prompt atau tanda ? @@ ?# Sebagai contoh
@@ xA4B
@@ yA!B
@@ CAxDyC A
=-
Cara Program Matlab Bekerja
Sekarang kita akan men$elaskan bagaimana program komputer yang
ditulis dalam Matlab beker$a# (erlu diketahui bahwa Matlab secara teknis
disebut sebagai interpreter. &andingkan dengan bahasa pemrograman tinggi
seperti (ascal, 0ortran, 7 atau lainnya#
Sebagai interpreter, Matlab akan menter$emahkan pada setiap baris
perintah tanpa perlu mengkompile terlebih dahulu# Setelah dilakukan
penter$emahan setiap baris perintah, maka Matlab segera akan
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 8
-
7/22/2019 Belajar Komputasi Dengan Matlab
9/42
Supardi, M.SiSupardi, M.Si
men$alankannya dan hasilnya akan dapat kita lihat#
)onsep dasar Matlab adalah menyimpan angka%angka di dalam
memori komputer /E9M3# 9pabila Matlab memerlukan penyimpanan
terhadap suatu angka tertentu, maka suatu ruangan telah diset untuk
menempatkan angka tersebut# Memori komputer dapat dibayangkan
sebagai bank kotak%kotak yang mana didalam kotak tersebut tersimpan
angka%angka yang sewaktu%waktu dapat diambil atau dipanggil# )otak%
kotak yang berada dalam bank tersebut diberi nama simbolik tertentu#
Sebagai contoh tuliskan dalam command window seperti di bawah ini
@@ gayaA>"
(ernyataan di atas berarti bahwa Matlab menyimpan nilai >" ke
dalam lokasi memori /kotak3 bernama gaya# Nilai >" ini dapat diubah
men$adi harga berapapun# Nama lokasi memori atau kotak dimana suatu
harga tersimpan di dalamnya disebut variabel#
2ibawah ini dituliskan program komputer sederhana sebagai
berikut'
gayaA1"B
luasFpermukaanA-B
tekananAgayaDluasFpermukaanB
disp/tekanan3B
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 9
-
7/22/2019 Belajar Komputasi Dengan Matlab
10/42
Supardi, M.SiSupardi, M.Si
(rogram yang telah kita tuliskan di atas diter$emahkan oleh Matlab
sebagai berikut'
a3 Letakkan /simpan3 nilai 1" pada variabel bernama gaya dan harga
variabel tersebut tidak ditampilkan /dalam command window3#
b3 Letakkan nilai - pada variabel bernama luasFpermukaan dan harga
variabel tidak ditampilkan#
c3 Lakukan operasi perkalian antara variabel gaya dan luasFpermukaan
dan harganya disimpan di dalam variabel tekanan#
d3 6ampilkan isi dari variabel tekanan /dengan perintah disp3#
Bantuan Matlab
)adang%kadang, pada saat membuat program komputer kita lupa
akan satu perintah atau belum tahu deskripsi atau pengguanaan dari
perintah tersebut# Nah, disamping kita dapat meminta bantuan lewat tool
bantuan /Gelp3, kita dapat pula meminta bantuan lewat command window,
caranya ketik help perintahyang dimasud. Misalnya, kita ingin tahu
bagaimana deskripsi dan cara menggunakan fungsi ode=5# 7aranya cukup
dengan mengetik
@@ help ode=5
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 10
-
7/22/2019 Belajar Komputasi Dengan Matlab
11/42
Supardi, M.SiSupardi, M.Si
+ambar -#1# Mencari bantuan tentang ode=5
(ada level dasar Matlab dapat dipandang sebagai sebuah kalkuklator
hitung yang canggih# 7ontoh
@@ Nesya A >D1""B
@@N:syaA NesyaH5B
@@ N:S9Aexp/N:syaD.3
@@ clcB
@@ pwdB
@@ who
@@ whos
(ada contoh diatas, variabel Nesya, N:sya, N:S9 dipandang
sebagai variabel berbeda# *ariabel Nesya tidak sama dengan N:sya tidak
sama pula dengan variabel N:S9# ni berarti bahwa antara huruf besar
dengan huruf kecil dibedakan# Ileh sebab itu, Matlab adalah case sensiti'e.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 11
-
7/22/2019 Belajar Komputasi Dengan Matlab
12/42
Supardi, M.SiSupardi, M.Si
+ambar -#- ditampilkan grafik fungsi yang dapat diangani oleh
Matlab dengan perintah funtool. 2engan mengubah%ubah bentuk fungsi f
maupung konstanta a serta domain yang dinginkan, maka Matlab dapat
menampilkannya dalam bentuk grafik# Selan$utnya, kita $uga dapat
melakukan fitting data dengan tool yang disediakan oleh Matlab# Sebagai
ilustrasi, sekarang ketiklah perintah di command window sebagai berikut
@@ load census
@@ cftool
Setelah anda tulis perintah seperti di atas maka akan muncul gambar
seperti terlihat pada gambar -#. sebagai berikut#
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 12
(ambar . (ambar grafik yang diaktifkan melalui perinta" funtool
-
7/22/2019 Belajar Komputasi Dengan Matlab
13/42
Supardi, M.SiSupardi, M.Si
Matlab $uga menyediakan tool untuk memecahkan persamaan
diferensial parsial dengan pdetool# Untuk memberikan gambaran tentang
pdetool ini, maka ketiklah perintah di command window
@@ pdetool
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 13
(ambar .*. (ambaran cur'a fitting dari cftool
-
7/22/2019 Belajar Komputasi Dengan Matlab
14/42
Supardi, M.SiSupardi, M.Si
2isamping beberapa tool yang sudah diberikan ilustrasi di atas,
Matlab masih banyak menyediakan tool%tool lain yang sangat berguna
untuk menyelesaikan masalah sains dan teknik#
Operator Dasar Aritmatika
Iperator dasar aritmatika antara lain adalah pen$umlahan /J3,
pengurangan /%3, perkalian /D3, pembagian /H3 dan pangkat /K3# Simbol K
digunakan untuk menyatakan pangkat, misalnya
@@ aA1"
a A
1"
@@ aK-
ans A
1""
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 14
(ambar .+. pde tool untuk memeca"kan masala" persamaan diferensial parsial.
-
7/22/2019 Belajar Komputasi Dengan Matlab
15/42
Supardi, M.SiSupardi, M.Si
@@ aK.
ans A
1"""
@@ 1J-D=H.
ans A
.#444!
@@ 1J-H=D.
ans A
-#5"""
6etapi, coba kita lihat contoh ke%= dan ke%5, yaitu bagaimana urutan
operasi pada angka%angka tersebut# Untuk bentuk yang lebih $elas operasi
1J-D=H. dapat dituliskan sebagai
1J//-D=3H.3 A 1J>H.
A 1J -#44!
A .#44!
Sedangkan operasi 1J-H=D. dapat dituliskan sebagai
1J-H=D. A 1J/-H=3D.
A 1 J "#5 D.
A -#5"""
;adi, dalam mengeksekusi sebuah operasi matematika, Matlab mengikuti
aturan%aturan sebagai berikut' Matlab memprioritaskan operasi yang berada di dalam kurung
Iperasi yang melibatkan operator D dan H /dapat D H atau H D3 beker$a
dari kiri ke kanan#
Iperasi matematika yang melibatkan operator J dan /dapat J % atau
% J3 $uga beker$a dari kiri ke kanan#
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 15
-
7/22/2019 Belajar Komputasi Dengan Matlab
16/42
Supardi, M.SiSupardi, M.Si
%ontoh
Lakukan evaluasi terhadap pernyataan Matlab berikut ini dengan
perhitungan manual terlebih dahulu dan setelah itu dicek dengan Matlab
a3 1H.H-H=H5
b3 -D.H=J5
c3 -%.D=H4
d3 /.%=D-3H=%4H-
e3 .%=H/-J.D53
Cara membuat variable
Matlab tidak memerlukan deklarasi variabel atau pernyataan
dimensi pada setiap variabel yang akan digunakan dalam sebuah program
komputer# *ariabel dalam Matlab secara otomatis akan dibuat dan
disimpan setiap kali Matlab menemukan nama variabel baru# 2isamping
itu, hal yang sangat penting untuk diingat bahwa variabel Matlab bersifat
case sensiti(, artinya antara huruf besar dengan huruf kecil dibedakan#
2ibawah ini diberikan beberapa aturan penulisan variabel dalam Matlab,
1# *ariable tidak boleh diawali dengan angka, misalnya -abc, =5y, .ok=.
-# *ariabel dapat merupakan kombinasi antara huruf dan angka,
misalnya ok=5, ok=5ok, abc=.- dsb
.# *ariabel tidak boleh menggunakan karakter khusus Matlab,
misalnya , , % , J, A , dsb# Misalnya ok, net%cost, x, Osign dsb#
=# Gindari memberikan nama variabel dengan nama%nama khusus
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 16
-
7/22/2019 Belajar Komputasi Dengan Matlab
17/42
Supardi, M.SiSupardi, M.Si
yang ada di Matlab, misalnya hindari memberikan nama variabel
dengan nama pi, eps, i, $# )arena piA--H!, epsA 542 , i dan $ memiliki
harga 1 #
5# 2isarankan pembuatan variabel singkat tetapi penuh makna
/informatif3# Gal ini untuk menghindari kesalahan penulisan variabel
yang berulang%ulang#
Format penulisan angka
2i dalam Matlab dikenal beberapa format penulisan angka yang
kelak akan sangat berguna# 0ormat penulisan angka dapat diatur melalui
desktop Matlab, caranya pilih menu /ile ) Pre(erences ) %ommand
0indo-, kemudian pilih format yang diinginkan#
+ambar -#!# Mencari bantuan tentang ode=5
Secara default, format penulisan angka di Matlab adalah (ormat
short seperti yang dapat dilihat pada gambar -#!# Untuk mengubah ke
bentuk format penulisan angka yang lain dapat dilakukan dengan
menuliskan perintah
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 17
-
7/22/2019 Belajar Komputasi Dengan Matlab
18/42
Supardi, M.SiSupardi, M.Si
)) (ormat (ormatnumeriyangdiinginan
misalnya
@@ format long
6abel 1 diberikan contoh perintah untuk mengubah format penulisan
angka yang diinginkan# 9da > /delapan3 format penulisan angka yang
dikenal dalam Matlab ditambah dengan beberapa perintah untuk
mengubah bentuk real men$adi integer#
6abel -#1 0ormat penulisan angka#
No perintah 7ontoh keluaran
1 @@ format short .#1=- / = angka di belakang
koma3
- @@ format long .#1=->5!1=->5!1=
. @@ format short e .#1=-eJ"""= @@ format long e .#1=->5!1=->5!1=.eJ"""
5 @@ format rational --H!
4 @@ format short g .#1=->4
! @@ format long g .#1=->5!1=->5!1=
> @@ format bank .#1=
Perintah Pembulatan Angka
&eberapa perintah Matlab untuk membulatkan angka antara lain
ceil/x3 ' perintah untuk membulatkan angka ke bil integer di atasnya
/arah tak berhingga3
floor/x3' perintah untuk membulatkan angka ke bil integer di
bawahnya /arah minus tak berhingga3
fix/x3 ' perintah untuk membulatkan angka ke bil integer ke atas
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 18
-
7/22/2019 Belajar Komputasi Dengan Matlab
19/42
Supardi, M.SiSupardi, M.Si
atau ke bawah menu$u arah nol
round/x3' perintah untuk membulatkan angka ke bil integer ke arah
lebih dekat#
rem/x,y3' sisa yang ditinggalkan setelah operasi pembagian dengan
definisi x%nDy dimana nAfix/x#Hy3# Gasil dari perintah rem/x,y3
bertanda sama dengan x#
mod/x,y3' sisa yang ditinggalkan setelah operasi pembagian dengan
definisi x%nDy dimana nAfloor/x#Hy3# Gasil dari perintah mod/x,y3
sama tandanya dengan y# Garga dari mod/x,y3 akan bernilai sama
dengan rem/x,y3 $ika x dan y bertanda sama dan akan berharga beda
$ika x dan y bertanda beda#
abs/x3' harga mutlak dari x#
sign/x3' tanda dari x#
factor/x3' faktor utama dari x#
Sebagai contoh penggunaan fungsi tambahan tersebut dapat dilihat
di bawah ini#
@@ xA--H.
x A
!#....
@@ ceil/x3
ans A
>
@@ floor/x3
ans A
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 19
-
7/22/2019 Belajar Komputasi Dengan Matlab
20/42
Supardi, M.SiSupardi, M.Si
!
@@ fix/x3
ans A
!
@@ round/x3
ans A
!
@@ rem/=,.3
ans A
1
@@ rem/%=,.3
ans A
%1
@@ mod/=,.3
ans A
1
@@ mod/%=,.3
ans A
-
@@ abs/%-#.3
ans A
-#."""
@@ abs/-J.i3
ans A
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 20
-
7/22/2019 Belajar Komputasi Dengan Matlab
21/42
Supardi, M.SiSupardi, M.Si
.#4"54
@@ sign/%-#.3
ans A
%1
@@ sign/-#.3
ans A
1
@@ factor/1>3
ans A
- . .
Perintah Tambahan Matlab
(erintah tambahan yang berguna untuk pemrograman
1# clc ' menghapus layar di command window
-# close all ' menghapus semua gambar yang tampil
sebelumnya#
.# clear ' perintah untuk menghapus data di memori
Matlab
=# cd ' perintah untuk mengubah direktori
5# pwd ' perintah untuk mengetahui kita berada di
direktori mana pada saat ini#
4# dir ' perintah untuk mengetahui file apa sa$a yang
ada di current directory
!# mkdir ' perintah untuk membuat direktori dibawah
current direktori
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 21
-
7/22/2019 Belajar Komputasi Dengan Matlab
22/42
Supardi, M.SiSupardi, M.Si
># delete ' perintah untuk menghapus file
# who ' menampilkan semua variabel saat ini#
1"# whos ' menampilkan semua variabel saat ini bersama
dengan informasi tentang ukuran, bytes, class dll
11# what ' menampilkan semua file dengan ekstensi #M /M%0ile3
1-# lookfor ' perintah untuk mencari file dengan katakunci#
Untuk memberikan gambaran penggunaan beberapa perintah
tersebut maka diberikan contoh seperti di bawah ini
@@ piA5B
@@ sPrt/pi3
ans A
-#-.41
@@ mkdir latihanB
@@ who
our variables are'
ans pi
@@ whos
Name SiCe &ytes 7lass
ans 1x1 > double array
pi 1x1 > double array
+rand total is - elements using 14 bytes
@@ clear
@@ whos
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 22
-
7/22/2019 Belajar Komputasi Dengan Matlab
23/42
Supardi, M.SiSupardi, M.Si
@@ sPrt/pi3
ans A
1#!!-5
Menampilkan/Menyembunyikan Output
)adang%kadang ada alasan tertentu kita ingin menampilkan harga
dari sebuah variabel atau mungkin menyembunyikan sa$a# Untuk tu$uan
itu, kita dapat menggunakan notasi titi oma /semi colon3 , contoh
@@ xA-#1B yA.Dx, CAxDy
y A
4#."""
C A
1.#-.""
(erhatikan contoh di atas, bahwa harga variabel x tidak ditampilkan,
sedangkan variabel y dan C ditampilkan# 6entunya kita dapat memahami,
karena setelah variabel x diikuti tanda titik koma, sedangkan y dan C tidak
diikuti titik koma#
Fungsi Bawaan Matlab Built!"n Fun#tios$
Fungsi Trigonometri
9da beberapa fungsi trigonometri yang kita kenal dalam
matematika# 0ungsi%fungsi tersebut masuk ke dalam fungsi bawaan Matlab#
0ungsi%fungsi trigonometri tersebut antara lain' sin/3, cos/3, tan/3, sinh/3,
cosh/3, tanh/3, asin/3, acos/3, atan/3, asinh/3, acosh/3dan atanh/3# ang penting
untuk diingat bahwa argumen untuk fungsi trigonometri ini adalah mode
radian# 7ontoh
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 23
-
7/22/2019 Belajar Komputasi Dengan Matlab
24/42
Supardi, M.SiSupardi, M.Si
@@ sin/piH.3,cos/piH.3,tan/piH.3
ans A
"#>44"
ans A
"#5"""
ans A
1#!.-1
@@ asin/"#>>3,acos/"#>>3,atan/"#>>3
ans A
1#"!5
ans A
"#==
ans A
"#!-1!
@@ sinh/piH.3,cosh/piH.3,tanh/piH.3
ans A
1#-==
ans A
1#4"".
ans A
"#!>"!
@@ asinh/1#--3,acosh/1#--3,atanh/1#--3
ans A
1#"->!
ans A
"#451!
ans A
1#155> J 1#5!">i
Fungsi Dasar Matlab
2isamping fungsi trigonometri, fungsi%fungsi dasar $uga penting#
&eberapa fungsi dasar tersebut antara a*s2, s3rt2, e4p2, log2, log152,
log62. Untuk lebih $elasnya, lihat tabel dibawah ini
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 24
-
7/22/2019 Belajar Komputasi Dengan Matlab
25/42
Supardi, M.SiSupardi, M.Si
6abel -#- 0ungsi dasar Matlab
7o 7ama varia*el 8eterangan
1 abs/3 Menyatakan harga mutlak, misal x
- sPrt/3 Menyatakan akar pangkat dua, misal x
. exp/3 Menyatakan harga eksponensial, misal ex
= log/3 Menyatakan harga ln, misal ln/x3
5 log1"/3 Menyatakan harga logaritma basis 1", misal log/x34 log-/3 Menyatakan harga logaritma basis -, misal
lo!2
x
7ontoh
@@ C A .J=iB
@@ abs/C3
ans A
5
@@ aA1""B
@@ sPrt/a3
ans A
1"
@@ log/a3
ans A
=#4"5-
@@ log1"/a3
ans A
-
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 25
-
7/22/2019 Belajar Komputasi Dengan Matlab
26/42
Supardi, M.SiSupardi, M.Si
@@ log-/a3
ans A
4#4=.
@@ exp/log1"/a33
ans A
!#.>1
%onstanta %husus Matlab
Di pasal terdahulu kita sudah menyinggung beberapa konstanta
khusus yang mana sebaiknya dihindari untuk didefinisikan kembali sebagai
konstanta# &eberapa konstanta khusus tersebut antara lain
6abel -#. )onstanta khusus
No )onstanta )eterangan
1 pi .#1=15-45###
- i Unit ima$iner, 1
. $ Sama dengan i
= eps )etelitian relatif floating%point
5 realmin &ilangan floating%point terkecil
4 realmax &ilangan floating%point terbesar
! inf &ilangan tak hingga
> NaN Not%a%Number
@@ pi
ans A
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 26
-
7/22/2019 Belajar Komputasi Dengan Matlab
27/42
Supardi, M.SiSupardi, M.Si
.#1=14
@@ i
ans A
" J 1#""""i
@@ $
ans A
" J 1#""""i
@@ realmin
ans A
-#--51e%.">
@@ realmax
ans A
1#!!!eJ.">
@@ eps
ans A
-#--"=e%"14
@@ 1H"
-
7/22/2019 Belajar Komputasi Dengan Matlab
28/42
Supardi, M.SiSupardi, M.Si
Menggunakan Fungsi Meshgri&
0ungsi meshgrid digunakan untuk membuat $aring%$aring /grid3
pada bidang x%y yang diatasnya terdapat permukaan fungsi# (erintah ini
akan mentransformasi vektor x dan y pada domain tertentu men$adi bentuk
array Q dan yang dapat digunakan untuk mengevaluasi fungsi dengan
dua variabel dan plot permukaan .%2#
7ontoh
6entukan grafik fungsi z=x2
y2
pada domain0x
5dan
0y0
(enyelesaian
Langkah pertama adalah menentukan $aring%$aring pada bidang x%y dengan
menggunakan meshgrid#
@@ xA"'5B
@@ yA"'5B
@@ RQ Ameshgrid/x,y3
Q A
" 1 - . = 5
" 1 - . = 5
" 1 - . = 5
" 1 - . = 5
" 1 - . = 5
" 1 - . = 5
A
" " " " " "
1 1 1 1 1 1
- - - - - -
. . . . . .
= = = = = =
5 5 5 5 5 5
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 28
-
7/22/2019 Belajar Komputasi Dengan Matlab
29/42
Supardi, M.SiSupardi, M.Si
:fek dari penggunaan meshgrid ini adalah kolom dari matriks Q
memiliki elemen yang bergerak sesuai sumbu x# Sedangkan, matriks
memiliki elemen yang bergerak sesuai sumbu y# Selan$utnya harga C nya
adalah
@@ CAQ#K-%#K-
C A
" 1 = 14 -5
%1 " . > 15 -=
%= %. " 5 1- -1
% %> %5 " ! 14
%14 %15 %1- %! "
%-5 %-= %-1 %14 % "
Sebagai contoh pada titik $aring /.,=3 harga z=3222=5 # 2engan
demikian kita tidak usah khawatir dengan penggunaan meshgrid# Untuk
menampilkan grafiknya@@ mesh/Q,,C3
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 29
-
7/22/2019 Belajar Komputasi Dengan Matlab
30/42
Supardi, M.SiSupardi, M.Si
Fungsi %husus Matlab
Matlab memiliki fungsi khusus yang sangat berguna untuk
perhitungan numerik# 2alam bab ini kita akan membahas beberapa fungsi
khusus yang biasa digunakan dalam bidang sains maupun teknik#
Fungsi 'eval$
0ungsi feval/3 dapat digunakan untuk mengevaluasi sebuah fungsi#
Untuk itu, pertama kali yang harus dipersiapkan adalah membuat fungsi
yang akan dievaluasi# )ali ini, kita menggunakan fungsi yang sudahdisediakan oleh Matlab bernama "umps.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 30
&llustration ,
-
7/22/2019 Belajar Komputasi Dengan Matlab
31/42
Supardi, M.SiSupardi, M.Si
Untuk mengevaluasi fungsi humps tersebut, kita harus membuat
fungsi "andle dengan menggunakan tanda /baca et3#
@@ fhandleAOhumpsB
@@ feval/fhandle,13
ans A
14
Fungsi Polyval
0ungsi polyval digunakan untuk menentukan nilai sebuah
polinomial dalam bentuk
px=a0a
1x
1a
2x
2a
3x
3a
4x
4...a
n1xn1a
nx
n
Matlab memiliki cara sederhana untuk menyatakan polinomial seperti dia
tas dengan cara
p=[ an an1 ... a3 a2 a1 a0 ]
%ontoh
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 31
(ambar ., /ungsi "umps
-
7/22/2019 Belajar Komputasi Dengan Matlab
32/42
Supardi, M.SiSupardi, M.Si
2iketahui sebuah polinomial berbentuk px=x43x
24x5
akan dievaluasi pada x=2, 3 dan =#
9a-a*
(ertama, kita nyatakan polinomial yang akan dievaluasi berbentuk
pAR1 " . = 5#
)edua, kita nyatakan titik evaluasi yaitu xAR-,%.,=
)etiga, mengevaluai polinomial pada x, yaitu polyval/p,x3
;ika ditulis dalam command window
@@ pAR1 " . = 5B
@@ xAR-,%.,=B
@@ polyval/p,x3
ans A
=1 1"1 .-5
Fungsi Poly'it
;ika kita telah memperoleh hasil dari sebuah eksperimen, maka
kadang kita perlu mencocokan dengan bentuk fungsi apa data yang telah
diperoleh# Mungkin sa$a cocok dengan fungsi yang berbentuk linier,
kuadratis, polinomial tiga atau polinomial lainnya# 2engan menggunakan
fungsi ini, kita dapat mencocokan data kita# &entuk umum fungsi ini adalah
p A polyfit/x,y,n3
dengan n adalah polinomial orde n, yaitu polinomial yang digunakan untuk
mencocokan data#
%ontoh
2ari hasil eksperimen diperoleh data sebagai berikut
x 1 - . = 5 4 ! > 1"
y 1#. .#- 11#. 15#1 -5#5 .>#- =!#1 4>#- >1#. >#-
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 32
-
7/22/2019 Belajar Komputasi Dengan Matlab
33/42
Supardi, M.SiSupardi, M.Si
2ari data eksperimen yang diperoleh, kita akan melakukan
pencocokan ke bentuk polinomial tertentu# 6etapi, kalau kita lihat dari
trend data y, kita bisa menduga bahwa data kita mendekati polinomial orde
- /kuadratis3#
xAR1'1"B
yAR1#.,.#-,11#.,15#1,-5#5,.>#-,=!#1,4>#-,>1#.,>#-B
pApolyfit/x,y,-3
9khirnya diperoleh p berbentuk
p A
"#->= "#!4. %1#".5"
yang merupakan koefisien polinomial p# Sekarang kita memiliki polinomial
hasil pencocokan berbentuk
p=0.9284x20.7693x1.0350
Untuk melihat seberapa bagus hasil pencocokan yang kita lakukan, marilah
kita lakukan evaluasi pada titik%titik data yang kita miliki#fApolyval/p,x3B
tabelARxT yT fT /y%f3T
tabel A
1#"""" 1#.""" "#44-! "#4.!.
-#"""" .#-""" =#-1!. %1#"1!.
.#"""" 11#.""" #4->4 1#4!1=
=#"""" 15#1""" 14#>4> %1#!4>
5#"""" -5#5""" -4#"-1> %"#5-1>
4#"""" .>#-""" .!#"".4 1#14=
!#"""" =!#1""" =#>=-. %-#!=-.
>#"""" 4>#-""" 4=#5.!! .#44-.
#"""" >1#.""" >1#""" "#-1""
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 33
-
7/22/2019 Belajar Komputasi Dengan Matlab
34/42
Supardi, M.SiSupardi, M.Si
1"#"""" >#-""" #=1 %1#-1
Sekarang, marilah kita tampilkan selengkapnya dalam bentuk grafik
dengan menuliskan code melalui $endela editor#
Fungsi poly&er
0ungsi polyder digunakan untuk menurunkan polinomial yang kita
miliki# &entuk umum penggunaan fungsi polyder adalah
k A polyder/p3
atau
k A polyder/a,b3
%ontoh
6urunkan polinomial di bawah ini
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 34
(ambar ., Pencocokan data dengan polinomial orde
-
7/22/2019 Belajar Komputasi Dengan Matlab
35/42
Supardi, M.SiSupardi, M.Si
px=4x43x
24x5
9a-a*
pAR= " . = 5B
polyder/p3
ans A
14 " 4 =
Gasilnya $ika dituliskan dalam bentuk ungkapan matematis16x
36 x4
%ontoh
6urunkan polinomial di bawah ini
px=x43 x
24x52x
3x
23 x1
9a-a*
aAR= " . = 5B
bAR- 1 . 1B
pApolyder/a,b3
p A
54 -= " 4" 4 =" 1
atau
px=56 x624x
590x
460x
369x
240x19
Fungsi roots0ungsi roots digunakan untuk memperoleh akar dari sebuah
polinomial orde n# &entuk umum dari fungsi ini adalah
r A roots/c3
%ontoh
2iketahui sebuah polinomial px=4x43x
24x5 . Dapatan
akar%akar polinomial tersebut dengan menggunakan fungsi roots#
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 35
-
7/22/2019 Belajar Komputasi Dengan Matlab
36/42
Supardi, M.SiSupardi, M.Si
9a-a*
(olinomial px=4x43x
24x5 dapat dituliskan dalam Matlab
berbentuk
pAR = " . = 5
9kar polinomial tersebut adalah
roots/p3
ans A
"#4.4= J 1#">."i
"#4.4= % 1#">."i
%"#4.4= J "#4---i
%"#4.4= % "#4---i
Fungsi poly
0ungsi poly digunakan untuk menentukan bentuk polinomial setelah
akar%akar polinomial tersebut diketahui# &entuk umum fungsi poly adalah
p A poly/r3
%ontoh
2iketahui akar polinomial p adalah 1,-,.,= dan 5# 6entukan bentuk
polinomialnya#
9a-a*
@@ rAR1 - . = 5B
@@ poly/r3
ans A
1 %15 >5 %--5 -!= %1-"
atau
px=x515 x
485x
3225x
2274x120
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 36
-
7/22/2019 Belajar Komputasi Dengan Matlab
37/42
Supardi, M.SiSupardi, M.Si
Fungsi #onv
0ungsi conv digunakan untuk mengalikan polinomial# &entuk
umumnya adalah
w A conv/u,v3
%ontoh
2iketahui dua buah polinomial u x=x23x2 dan
vx=x32x
23x1 # 6entukan hasil perkalian dua polinomial
tersebut#
9a-a*
@@ uAR1 . -B
@@ vAR1 - . 1B
@@ conv/u,v3
ans A
1 5 11 1= -
atau
x55 x
411x
314x
29x2
Fungsi &e#onv
0ungsi deconv berkebalikan dengan conv# 0ungsi ini akan
melakukan pembagian dua buah polinomial# &entuk umumnya adalah
RP,r A deconv/v,u3
dengan P dan r masing%masing adalah hasil bagi dan residu#
%ontoh
2iketahui dua buah polinomial yaitu
p1x=2x
43x
3x
24x5 dan p
2x=x
23x4 , maka carilah
hasil bagi antara p1 dengan p2 beserta residunya#
9a-a*
2engan menggunakan fungsi deconv, maka kita dapat memperoleh
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 37
-
7/22/2019 Belajar Komputasi Dengan Matlab
38/42
Supardi, M.SiSupardi, M.Si
hasil bagi dan residunya#
@@ p1AR- . 1 = 5B
@@ p-AR1 . =B
@@ RP rAdeconv/p1,p-3
P A
- %. -
r A " " " 1" %.
atau $ika dinyatakan dalam bentuk matematis
q=2x23x2 dan r=10x3
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 38
-
7/22/2019 Belajar Komputasi Dengan Matlab
39/42
Supardi, M.SiSupardi, M.Si
SI9L L96G9N
1# :valuasi pernyataan Matlab berikut ini# Gitunglah secara manual
terlebih dahulu, setelah itu cek $awabanmu dengan menggunakan
Matlab
a3 -%.
b3 -%5H-
c3 .J=D.
d3 .J=H.D.
e3 .J=D.H=
f3 /-%.H=3H-J.D=
g3 /-%.3H.D=
h3 /.J=H.3H/.%=H.3H.
i3 /.J=H.3H/.%=H.3D.
$3 /.J=H.3H/.%=H.3J.
k3 .D=%=H5J-
-# ;elaskan dengan alasan yang masuk akal manakah penulisan variabel
yang tidak benar berikut ini
a3 b.-
b3 -d
c3 s.=d
d3 la$uFsepeda
e3 Fla$u
f3 kecepatan
g3 kecepatan
h3 la$u sepeda
i3 TaTnu
$3 pi
k3 realmax
l3 aK.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 39
-
7/22/2019 Belajar Komputasi Dengan Matlab
40/42
Supardi, M.SiSupardi, M.Si
.# 6entukan manakah bilangan%bilangan berikut ini yang tidak diterima
oleh Matlab
a3 -,.=
b3 -#.-
c3 "#.-
d3 %.-1=
e3 -#.e%=
f3 5#-eJ-
g3 5eK.
h3 .#=.e5#.
i3 .=#-DeK-
=# 6er$emahkan pernyataan%pernyataan berikut ini dalam Matlab
a3 abc
b3 a
bc
c3 p w
uv
d3 xy z
e3 bb
24 ac
2a
f3 x
yz
g3
a b
cd
a b
cd
5# &agaimanakah nilai x dan y setelah pernyataan berikut ini dieksekusi
yA"B
iA1B
xAxJiB
yAyJiHxB
xAxJiB
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 40
-
7/22/2019 Belajar Komputasi Dengan Matlab
41/42
Supardi, M.SiSupardi, M.Si
yAyJiHxB
xAxJiB
yAyJiHxB
xAxJiB
yAyJiHxB
4# 7obalah untuk membuat program komputer seperti pada perintah
berikut ini#
/a3 Letakkan nilai = pada variabel bernama pan$ang dan tidak
ditampilkan#
/b3 Letakkan nilai - pada variabel bernama lebar dan tidak
ditampilkan#
/c3 Letakkan nilai 5 pada variabel bernama tinggi dan tidak
ditampilkan#
/d3 6entukan variabel volume sebagai hasil perkalian antara variabel
pan$ang, lebar dan tinggi#
/e3 6entukan variabel luasFpermukaan sebagai duakali pan$ang kali
lebar ditambah duakali pan$ang kali tinggi ditambah duakali
lebar kali tinggi#
/f3 6ampilkan harga yang tersimpan di dalam variabel volume dan
luasFpermukaan
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 41
-
7/22/2019 Belajar Komputasi Dengan Matlab
42/42
Supardi, M.SiSupardi, M.Si