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 1970. software ini pertama kali memang digunakan
untuk keperluan analisis numerik, aljabar linier dan teori tentang matriks.
Saat ini, kemampuan dan fitur yang dimiliki oleh Matlab sudah jauh lebih
lengkap dengan ditambahkannya toolbox-toolbox yang sangat luar biasa.
Beberapa manfaat yang didapatkan dari Matlab antara lain:
Perhitungan Matematika
Komputasi numerik
Simulasi dan pemodelan
Visualisasi dan analisis data
Pembuatan grafik untuk keperluan sains dan teknik
Pengembangan aplikasi, misalnya dengan memanfaatkan GUI.
Matlab dapat dipadang sebagai sebuah kalkulator dengan fitur yang
lengkap. Kita pernah menggunakan kalkulator dengan degan fasilitas
minimal, misalnya hanya terdapat fasilitas penambahan, pengurangan
perkalian dan pembagian. Kalkulator 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
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 GUI 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 2 dan 3 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 menjelaskan bagaimana menggunakan
fitur yang dimiliki oleh Matlab untuk dalam mengolah data
matematis dan statistik. Isi dalam bantuan ini dicakup antara lain:
Matrks dan aljabar linier, polinomial dan interpolasi, analisis data
dan statistik, fungsi function, matriks jarang (sparse matrix).
Programming and data type, bagian ini menjelaskan bagaimana
membuat script dan fungsi dengan menggunakan Matlab. Bantuan
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 2
Supardi, M.SiSupardi, M.Si
ini mencakup pemrograman M-File, larik, larik multidimensi,
optimalisai performance Matlab, tip pemrograman Matlab.
Graphics, bagian ini menjelaskan tentang bagaimana membuat atau
mengeplot grafik dari data yang kita miliki. Yang termasuk dalam
bagian ini antara lain, dasar-dasar pengeplotan, format grafik,
membuat grafik khusus misalnya grafik dalam bentuk bar,
histogram, contour dan lain-lain
3-D Visualization, bagian ini menjelaskan dengan tuntas bagaimana
menampilkan data yang kita miliki dalam grafik 3 dimensi, termasuk
didalamnya membuat grafik 3D, menentukan tampilan objek,
transparansi objek, lighting dan lain-lain.
Creating Graphical User Interfaces, bagian ini menjelaskan
bagaimana kita dapat membuat GUI (Graphical User Interface)
berbasis Matlab.
Disamping bagian-bagian yang sudah disebutkan di atas, disini juga
disertakan beberapa bagian tambahan yang ikut melengkapi dokumentasi
penjelasan tentang Matlab, diantaranya function-By cattegory, function-
Alphabetical List, handle graphic property browser, external interfaces/API,
external interfaces/API references dan lain-lain. Dibawah ini diperlihatkan
bagian online-help yan dapat diakses dengan cara pilih Menu -> MATLAB
Help -> Matlab.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 3
Supardi, M.SiSupardi, M.Si
Gambar 1.1 . Daftar bantuan yang disediakan Matlab
Desktop Matlab
Ketika kita pertama kali menjalankan Matlab, maka tampilan
pertama yang kita temui ini dikenal sebagai Desktop Matlab. Dalam
desktop ini terdapat tool-tool yang berfungsi untuk manajemen file,
variabel dan aplikasi yang berkaitan dengan Matlab. Dibawah ini
ditunjukkan desktop Matlab versi 6.5.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 4
Supardi, M.SiSupardi, M.Si
Gambar 2. Tool yang disertakan pada Matlab 6.5
Keterangan
1. tool untuk browse direktori aktif. Dari tool ini kita dapat mengeset
direktori mana yang aktif. Direktori aktif berarti bahwa direktori
inilah yang siap untuk diakses file didalamnya atau tempat yang siap
untuk digunakan sebagai penyimpan data.
2. Tool yang menampilkan direktori aktif. Dari tool ini kita dapat
melihat direktori mana yang aktif. Sebagai default direktori aktif
Matlab adalah C:\MATLAB6p5\work, jika Matlab diinstal di
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 5
89
1011
12
3
45
6
7
Supardi, M.SiSupardi, M.Si
direktori C:\ , kalau disimpan di D:\ maka direktori aktif defaultnya
D:\MATLAB6p5\work, begitu juga di E:\ atau dimana saja.
3. Jendela ini disebut disebut sebagai Command Window. Dari jendela
ini kita dapat memasukkan perintah Matlab. Disamping itu kita juga
dapat menjalankan atau mengeksekusi program yang sudah kita
buat di editor window dan disimpan di direktori aktif.
4. Tool yang digunakan untuk mendisplay bantuan pada Matlab.
5. Tool yang dapat digunakan untuk menuju ke Simulink Library
Browser.
6. Tool untuk membuka file yang ada di direktori aktiv.
7. Tool untuk membuat file baru dengan format M-File.
8. Tool untuk mengatur ukuran jendela.
9. Tool untuk melihat perintah apa saja yang pernah kita jalankan
melalui command window. Tool ini diberi nama command history.
10. Tool untuk mendisplay isi file apa saja yang terdapat di direktori
aktif.
11. Tool untuk mendisplay nama variabel, ukuran, bytes dan classnya.
Tool-tool yang sudah disebutkan di atas dapat diatur
kemunculannya melalui menu View. Misalnya, kita tidak menginginkan
tampilnya jendela command history, maka kita kita harus menghilangkan
tanda cek yang ada pada submenu command hstory. Lihat gambar 3.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 6
Supardi, M.SiSupardi, M.Si
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 7
Gambar 3. Menonaktifkan jendela command history
Supardi, M.SiSupardi, M.Si
BAB 2
Dasar-Dasar Matlab
Memulai Matlab
Ketika kita pertama kali menjalankan Matlab, maka yang tampil
adalah Desktop Matlab seperti yang telah disinggung di atas. Diantara
jendela yang yang ada pada desktop Matlab adalah command window. Di
jendela inilah segala macam aktivitas berkaitan dengan perintah maupun
eksekusi program berada. Perintah atau eksekusi program dapat dilakukan
setelah prompt atau tanda “ >> “. Sebagai contoh
>> x=6;>> y=7;>> z=x*yz = 42
Cara Program Matlab Bekerja
Sekarang kita akan menjelaskan bagaimana program komputer yang
ditulis dalam Matlab bekerja. Perlu diketahui bahwa Matlab secara teknis
disebut sebagai interpreter. Bandingkan dengan bahasa pemrograman tinggi
seperti Pascal, Fortran, C atau lainnya.
Sebagai interpreter, Matlab akan menterjemahkan pada setiap baris
perintah tanpa perlu mengkompile terlebih dahulu. Setelah dilakukan
penterjemahan setiap baris perintah, maka Matlab segera akan
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 8
Supardi, M.SiSupardi, M.Si
menjalankannya dan hasilnya akan dapat kita lihat.
Konsep dasar Matlab adalah menyimpan angka-angka di dalam
memori komputer (RAM). Apabila 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. Kotak-
kotak yang berada dalam bank tersebut diberi nama simbolik tertentu.
Sebagai contoh tuliskan dalam command window seperti di bawah ini
>> gaya=80
Pernyataan di atas berarti bahwa Matlab menyimpan nilai 80 ke
dalam lokasi memori (kotak) bernama gaya. Nilai 80 ini dapat diubah
menjadi harga berapapun. Nama lokasi memori atau kotak dimana suatu
harga tersimpan di dalamnya disebut variabel.
Dibawah ini dituliskan program komputer sederhana sebagai
berikut:
gaya=10;
luas_permukaan=2;
tekanan=gaya*luas_permukaan;
disp(tekanan);
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 9
Supardi, M.SiSupardi, M.Si
Program yang telah kita tuliskan di atas diterjemahkan oleh Matlab
sebagai berikut:
a) Letakkan (simpan) nilai 10 pada variabel bernama gaya dan harga
variabel tersebut tidak ditampilkan (dalam command window).
b) Letakkan nilai 2 pada variabel bernama luas_permukaan dan harga
variabel tidak ditampilkan.
c) Lakukan operasi perkalian antara variabel gaya dan luas_permukaan
dan harganya disimpan di dalam variabel tekanan.
d) Tampilkan isi dari variabel tekanan (dengan perintah disp).
Bantuan Matlab
Kadang-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 (Help), kita dapat pula meminta bantuan lewat command window,
caranya ketik help perintah_yang dimaksud. Misalnya, kita ingin tahu
bagaimana deskripsi dan cara menggunakan fungsi ode45. Caranya cukup
dengan mengetik
>> help ode45
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 10
Supardi, M.SiSupardi, M.Si
Gambar 2.1. Mencari bantuan tentang ode45
Pada level dasar Matlab dapat dipandang sebagai sebuah kalkuklator
hitung yang canggih. Contoh
>> Nesya = 8*100;
>>NEsya= Nesya/5;
>> NESYA=exp(NEsya*3)
>> clc;
>> pwd;
>> who
>> whos
Pada contoh diatas, variabel Nesya, NEsya, NESYA dipandang
sebagai variabel berbeda. Variabel Nesya tidak sama dengan NEsya tidak
sama pula dengan variabel NESYA. Ini berarti bahwa antara huruf besar
dengan huruf kecil dibedakan. Oleh sebab itu, Matlab adalah case sensitive.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 11
Supardi, M.SiSupardi, M.Si
Gambar 2.2 ditampilkan grafik fungsi yang dapat diangani oleh
Matlab dengan perintah funtool. Dengan mengubah-ubah bentuk fungsi f
maupun g, konstanta a serta domain yang dinginkan, maka Matlab dapat
menampilkannya dalam bentuk grafik. Selanjutnya, kita juga 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 2.3 sebagai berikut.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 12
Gambar 2.2 Gambar grafik yang diaktifkan melalui perintah funtool
Supardi, M.SiSupardi, M.Si
Matlab juga 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
Gambar 2.4. Gambaran curva fitting dari cftool
Supardi, M.SiSupardi, M.Si
Disamping 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
Operator dasar aritmatika antara lain adalah penjumlahan (+),
pengurangan (-), perkalian (*), pembagian (/) dan pangkat (^). Simbol ^
digunakan untuk menyatakan pangkat, misalnya
>> a=10a = 10>> a^2ans = 100
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 14
Gambar 2.6. pde tool untuk memecahkan masalah persamaan diferensial parsial.
Supardi, M.SiSupardi, M.Si
>> a^3ans = 1000>> 1+2*4/3
ans = 3.6667
>> 1+2/4*3ans =
2.5000
Tetapi, coba kita lihat contoh ke-4 dan ke-5, yaitu bagaimana urutan
operasi pada angka-angka tersebut. Untuk bentuk yang lebih jelas operasi
1+2*4/3 dapat dituliskan sebagai
1+((2*4)/3) = 1+8/3
= 1+ 2.667
= 3.667
Sedangkan operasi 1+2/4*3 dapat dituliskan sebagai
1+2/4*3 = 1+(2/4)*3
= 1 + 0.5 *3
= 2.5000
Jadi, dalam mengeksekusi sebuah operasi matematika, Matlab mengikuti
aturan-aturan sebagai berikut:
Matlab memprioritaskan operasi yang berada di dalam kurung
Operasi yang melibatkan operator * dan / (dapat * / atau / *) bekerja
dari kiri ke kanan.
Operasi matematika yang melibatkan operator + dan – (dapat + - atau
- +) juga bekerja dari kiri ke kanan.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 15
Supardi, M.SiSupardi, M.Si
Contoh
Lakukan evaluasi terhadap pernyataan Matlab berikut ini dengan
perhitungan manual terlebih dahulu dan setelah itu dicek dengan Matlab
a) 1/3/2/4/5
b) 2*3/4+5
c) 2-3*4/6
d) (3-4*2)/4-6/2
e) 3-4/(2+3*5)
Cara membuat variable
Matlab tidak memerlukan deklarasi variabel atau pernyataan
dimensi pada setiap variabel yang akan digunakan dalam sebuah program
komputer. Variabel dalam Matlab secara otomatis akan dibuat dan
disimpan setiap kali Matlab menemukan nama variabel baru. Disamping
itu, hal yang sangat penting untuk diingat bahwa variabel Matlab bersifat
case sensitif, artinya antara huruf besar dengan huruf kecil dibedakan.
Dibawah ini diberikan beberapa aturan penulisan variabel dalam Matlab,
1. Variable tidak boleh diawali dengan angka, misalnya 2abc, 45y, 3ok43
2. Variabel dapat merupakan kombinasi antara huruf dan angka,
misalnya ok45, ok45ok, abc432 dsb
3. Variabel tidak boleh menggunakan karakter khusus Matlab,
misalnya %, #, - , +, = , dsb. Misalnya %ok, net-cost, %x, @sign dsb.
4. Hindari memberikan nama variabel dengan nama-nama khusus
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 16
Supardi, M.SiSupardi, M.Si
yang ada di Matlab, misalnya hindari memberikan nama variabel
dengan nama pi, eps, i, j. Karena pi=22/7, eps= 542− , i dan j memiliki
harga 1− .
5. Disarankan pembuatan variabel singkat tetapi penuh makna
(informatif). Hal ini untuk menghindari kesalahan penulisan variabel
yang berulang-ulang.
Format penulisan angka
Di dalam Matlab dikenal beberapa format penulisan angka yang
kelak akan sangat berguna. Format penulisan angka dapat diatur melalui
desktop Matlab, caranya pilih menu File > Preferences > Command
Window , kemudian pilih format yang diinginkan.
Gambar 2.7. Mencari bantuan tentang ode45Secara default, format penulisan angka di Matlab adalah format
short seperti yang dapat dilihat pada gambar 2.7. Untuk mengubah ke
bentuk format penulisan angka yang lain dapat dilakukan dengan
menuliskan perintah
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 17
Supardi, M.SiSupardi, M.Si
>> format format_numerik_yang_diinginkan
misalnya
>> format long
Tabel 1 diberikan contoh perintah untuk mengubah format penulisan
angka yang diinginkan. Ada 8 (delapan) format penulisan angka yang
dikenal dalam Matlab ditambah dengan beberapa perintah untuk
mengubah bentuk real menjadi integer.
Tabel 2.1 Format penulisan angka.
No perintah Contoh keluaran1 >> format short 3.1429 ( 4 angka di belakang
koma)2 >> format long 3.14285714285714 3 >> format short e 3.1429e+0004 >> format long e 3.142857142857143e+0005 >> format rational 22/76 >> format short g 3.142867 >> format long g 3.142857142857148 >> format bank 3.14
Perintah Pembulatan Angka
Beberapa perintah Matlab untuk membulatkan angka antara lain
ceil(x) : perintah untuk membulatkan angka ke bil integer di atasnya
(arah tak berhingga)
floor(x): perintah untuk membulatkan angka ke bil integer di
bawahnya (arah minus tak berhingga)
fix(x) : perintah untuk membulatkan angka ke bil integer ke atas
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 18
Supardi, M.SiSupardi, M.Si
atau ke bawah menuju arah nol
round(x): perintah untuk membulatkan angka ke bil integer ke arah
lebih dekat.
rem(x,y): sisa yang ditinggalkan setelah operasi pembagian dengan
definisi x-n*y dimana n=fix(x./y). Hasil dari perintah rem(x,y)
bertanda sama dengan x.
mod(x,y): sisa yang ditinggalkan setelah operasi pembagian dengan
definisi x-n*y dimana n=floor(x./y). Hasil dari perintah mod(x,y)
sama tandanya dengan y. Harga dari mod(x,y) akan bernilai sama
dengan rem(x,y) jika x dan y bertanda sama dan akan berharga beda
jika x dan y bertanda beda.
abs(x): harga mutlak dari x.
sign(x): tanda dari x.
factor(x): faktor utama dari x.
Sebagai contoh penggunaan fungsi tambahan tersebut dapat dilihat
di bawah ini.
>> x=22/3
x =
7.3333
>> ceil(x)
ans =
8
>> floor(x)
ans =
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 19
Supardi, M.SiSupardi, M.Si
7
>> fix(x)
ans =
7
>> round(x)
ans =
7
>> rem(4,3)
ans =
1
>> rem(-4,3)
ans =
-1
>> mod(4,3)
ans =
1
>> mod(-4,3)
ans =
2
>> abs(-2.3)
ans =
2.3000
>> abs(2+3i)
ans =
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 20
Supardi, M.SiSupardi, M.Si
3.6056
>> sign(-2.3)
ans =
-1
>> sign(2.3)
ans =
1
>> factor(18)
ans =
2 3 3
Perintah Tambahan Matlab
Perintah tambahan yang berguna untuk pemrograman
1. clc : menghapus layar di command window
2. close all : menghapus semua gambar yang tampil
sebelumnya.
3. clear : perintah untuk menghapus data di memori
Matlab
4. cd : perintah untuk mengubah direktori
5. pwd : perintah untuk mengetahui kita berada di
direktori mana pada saat ini.
6. dir : perintah untuk mengetahui file apa saja yang
ada di current directory
7. mkdir : perintah untuk membuat direktori dibawah
current direktori
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 21
Supardi, M.SiSupardi, M.Si
8. delete : perintah untuk menghapus file
9. who : menampilkan semua variabel saat ini.
10. whos : menampilkan semua variabel saat ini bersama
dengan informasi tentang ukuran, bytes, class dll
11. what : menampilkan semua file dengan ekstensi .M (M-File)
12. lookfor : perintah untuk mencari file dengan katakunci.
Untuk memberikan gambaran penggunaan beberapa perintah
tersebut maka diberikan contoh seperti di bawah ini
>> pi=5;
>> sqrt(pi)
ans =
2.2361
>> mkdir latihan;
>> who
Your variables are:
ans pi
>> whos
Name Size Bytes Class
ans 1x1 8 double array
pi 1x1 8 double array
Grand total is 2 elements using 16 bytes
>> clear
>> whos
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 22
Supardi, M.SiSupardi, M.Si
>> sqrt(pi)
ans =
1.7725
Menampilkan/Menyembunyikan Output
Kadang-kadang ada alasan tertentu kita ingin menampilkan harga
dari sebuah variabel atau mungkin menyembunyikan saja. Untuk tujuan
itu, kita dapat menggunakan notasi titik koma (semi colon) , contoh
>> x=2.1; y=3*x, z=x*y
y = 6.3000z = 13.2300
Perhatikan contoh di atas, bahwa harga variabel x tidak ditampilkan,
sedangkan variabel y dan z ditampilkan. Tentunya kita dapat memahami,
karena setelah variabel x diikuti tanda titik koma, sedangkan y dan z tidak
diikuti titik koma.
Fungsi Bawaan Matlab (Built-In Functios)
Fungsi Trigonometri
Ada beberapa fungsi trigonometri yang kita kenal dalam
matematika. Fungsi-fungsi tersebut masuk ke dalam fungsi bawaan Matlab.
Fungsi-fungsi trigonometri tersebut antara lain: sin(), cos(), tan(), sinh(),
cosh(), tanh(), asin(), acos(), atan(), asinh(), acosh()dan atanh(). Yang penting
untuk diingat bahwa argumen untuk fungsi trigonometri ini adalah mode
radian. Contoh
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 23
Supardi, M.SiSupardi, M.Si
>> sin(pi/3),cos(pi/3),tan(pi/3)ans = 0.8660ans = 0.5000ans = 1.7321>> asin(0.88),acos(0.88),atan(0.88)ans = 1.0759ans = 0.4949ans = 0.7217>> sinh(pi/3),cosh(pi/3),tanh(pi/3)ans = 1.2494ans = 1.6003ans = 0.7807>> asinh(1.22),acosh(1.22),atanh(1.22)ans = 1.0287ans = 0.6517ans = 1.1558 + 1.5708i
Fungsi Dasar Matlab
Disamping fungsi trigonometri, fungsi-fungsi dasar juga penting.
Beberapa fungsi dasar tersebut antara abs(), sqrt(), exp(), log(), log10(),
log2(). Untuk lebih jelasnya, lihat tabel dibawah ini
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 24
Supardi, M.SiSupardi, M.Si
Tabel 2.2 Fungsi dasar Matlab
No Nama variabel Keterangan
1 abs() Menyatakan harga mutlak, misal ∣x∣
2 sqrt() Menyatakan akar pangkat dua, misal x3 exp() Menyatakan harga eksponensial, misal ex
4 log() Menyatakan harga ln, misal ln(x)
5 log10() Menyatakan harga logaritma basis 10, misal log(x)
6 log2() Menyatakan harga logaritma basis 2, misal log2 x
Contoh
>> z = 3+4i;
>> abs(z)
ans =
5
>> a=100;
>> sqrt(a)
ans =
10
>> log(a)
ans =
4.6052
>> log10(a)
ans =
2
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 25
Supardi, M.SiSupardi, M.Si
>> log2(a)
ans =
6.6439
>> exp(log10(a))
ans =
7.3891
Konstanta Khusus Matlab
Di pasal terdahulu kita sudah menyinggung beberapa konstanta
khusus yang mana sebaiknya dihindari untuk didefinisikan kembali sebagai
konstanta. Beberapa konstanta khusus tersebut antara lain
Tabel 2.3 Konstanta khusus
No Konstanta Keterangan
1 pi 3.14159265...
2 i Unit imajiner, −1
3 j Sama dengan i
4 eps Ketelitian relatif floating-point
5 realmin Bilangan floating-point terkecil
6 realmax Bilangan floating-point terbesar
7 inf Bilangan tak hingga
8 NaN Not-a-Number
>> pi
ans =
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 26
Supardi, M.SiSupardi, M.Si
3.1416
>> i
ans =
0 + 1.0000i
>> j
ans =
0 + 1.0000i
>> realmin
ans =
2.2251e-308
>> realmax
ans =
1.7977e+308
>> eps
ans =
2.2204e-016
>> 1/0
Warning: Divide by zero.
ans =
Inf
>> 0/0
Warning: Divide by zero.
ans =
NaN
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 27
Supardi, M.SiSupardi, M.Si
Menggunakan Fungsi Meshgrid
Fungsi meshgrid digunakan untuk membuat jaring-jaring (grid) pada bidang x-y yang diatasnya terdapat permukaan fungsi. Perintah ini akan mentransformasi vektor x dan y pada domain tertentu menjadi bentuk array X dan Y yang dapat digunakan untuk mengevaluasi fungsi dengan dua variabel dan plot permukaan 3-D.
Contoh
Tentukan grafik fungsi z=x2− y2 pada domain 0x5 dan0 y0
Penyelesaian
Langkah pertama adalah menentukan jaring-jaring pada bidang x-y dengan
menggunakan meshgrid.
>> x=0:5;
>> y=0:5;
>> [X Y]=meshgrid(x,y)
X =
0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5
Y =
0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 28
Supardi, M.SiSupardi, M.Si
Efek dari penggunaan meshgrid ini adalah kolom dari matriks X memiliki elemen yang bergerak sesuai sumbu x. Sedangkan, matriks Y memiliki elemen yang bergerak sesuai sumbu y. Selanjutnya harga z nya adalah
>> z=X.^2-Y.^2
z =
0 1 4 9 16 25
-1 0 3 8 15 24
-4 -3 0 5 12 21
-9 -8 -5 0 7 16
-16 -15 -12 -7 0 9
-25 -24 -21 -16 -9 0
Sebagai contoh pada titik jaring (3,4) harga z=32−22=5 . Dengan demikian kita tidak usah khawatir dengan penggunaan meshgrid. Untuk menampilkan grafiknya
>> mesh(X,Y,z)
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 29
Supardi, M.SiSupardi, M.Si
Fungsi Khusus Matlab
Matlab memiliki fungsi khusus yang sangat berguna untuk perhitungan numerik. Dalam bab ini kita akan membahas beberapa fungsi khusus yang biasa digunakan dalam bidang sains maupun teknik.
Fungsi feval()
Fungsi feval() dapat digunakan untuk mengevaluasi sebuah fungsi. Untuk itu, pertama kali yang harus dipersiapkan adalah membuat fungsi yang akan dievaluasi. Kali ini, kita menggunakan fungsi yang sudah disediakan oleh Matlab bernama humps.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 30
Illustration 1:
Supardi, M.SiSupardi, M.Si
Untuk mengevaluasi fungsi humps tersebut, kita harus membuat fungsi handle dengan menggunakan tanda @ (baca et).
>> fhandle=@humps;
>> feval(fhandle,1)
ans =
16
Fungsi Polyval
Fungsi polyval digunakan untuk menentukan nilai sebuah polinomial dalam bentuk
px =a0a1x1a2 x
2a3 x3a4 x
4...an−1xn−1an x
n
Matlab memiliki cara sederhana untuk menyatakan polinomial seperti dia tas dengan cara
p=[ an an−1 ... a3 a2 a1 a0 ]Contoh
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 31
Gambar 2.1 Fungsi humps
Supardi, M.SiSupardi, M.Si
Diketahui sebuah polinomial berbentuk px =x 43x 24x5akan dievaluasi pada x=2, −3 dan 4.
Jawab
● Pertama, kita nyatakan polinomial yang akan dievaluasi berbentuk p=[1 0 3 4 5].
● Kedua, kita nyatakan titik evaluasi yaitu x=[2,-3,4]
● Ketiga, mengevaluai polinomial pada x, yaitu polyval(p,x)
Jika ditulis dalam command window
>> p=[1 0 3 4 5];
>> x=[2,-3,4];
>> polyval(p,x)
ans =
41 101 325
Fungsi Polyfit
Jika kita telah memperoleh hasil dari sebuah eksperimen, maka kadang kita perlu mencocokan dengan bentuk fungsi apa data yang telah diperoleh. Mungkin saja cocok dengan fungsi yang berbentuk linier, kuadratis, polinomial tiga atau polinomial lainnya. Dengan menggunakan fungsi ini, kita dapat mencocokan data kita. Bentuk umum fungsi ini adalah
p = polyfit(x,y,n)
dengan n adalah polinomial orde n, yaitu polinomial yang digunakan untuk mencocokan data.
Contoh
Dari hasil eksperimen diperoleh data sebagai berikut
x 1 2 3 4 5 6 7 8 9 10
y 1.3 3.2 11.3 15.1 25.5 38.2 47.1 68.2 81.3 98.2
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 32
Supardi, M.SiSupardi, M.Si
Dari data eksperimen yang diperoleh, kita akan melakukan pencocokan ke bentuk polinomial tertentu. Tetapi, kalau kita lihat dari trend data y, kita bisa menduga bahwa data kita mendekati polinomial orde 2 (kuadratis).
x=[1:10];
y=[1.3,3.2,11.3,15.1,25.5,38.2,47.1,68.2,81.3,98.2];
p=polyfit(x,y,2)
Akhirnya diperoleh p berbentuk
p =
0.9284 0.7693 -1.0350
yang merupakan koefisien polinomial p. Sekarang kita memiliki polinomial hasil pencocokan berbentuk
p=0.9284x20.7693 x−1.0350
Untuk melihat seberapa bagus hasil pencocokan yang kita lakukan, marilah kita lakukan evaluasi pada titik-titik data yang kita miliki.
f=polyval(p,x);
tabel=[x' y' f' (y-f)']
tabel =
1.0000 1.3000 0.6627 0.6373
2.0000 3.2000 4.2173 -1.0173
3.0000 11.3000 9.6286 1.6714
4.0000 15.1000 16.8968 -1.7968
5.0000 25.5000 26.0218 -0.5218
6.0000 38.2000 37.0036 1.1964
7.0000 47.1000 49.8423 -2.7423
8.0000 68.2000 64.5377 3.6623
9.0000 81.3000 81.0900 0.2100
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 33
Supardi, M.SiSupardi, M.Si
10.0000 98.2000 99.4991 -1.2991
Sekarang, marilah kita tampilkan selengkapnya dalam bentuk grafik dengan menuliskan code melalui jendela editor.
Fungsi polyder
Fungsi polyder digunakan untuk menurunkan polinomial yang kita miliki. Bentuk umum penggunaan fungsi polyder adalah
k = polyder(p)
atau
k = polyder(a,b)
Contoh
Turunkan polinomial di bawah ini
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 34
Gambar 2.1 Pencocokan data dengan polinomial orde 2
Supardi, M.SiSupardi, M.Si
px =4x 43x 24x5
Jawab
p=[4 0 3 4 5];
polyder(p)
ans =
16 0 6 4
Hasilnya jika dituliskan dalam bentuk ungkapan matematis
16x 36 x4
Contoh
Turunkan polinomial di bawah ini
px =x43 x24x52x3x 23 x1
Jawab
a=[4 0 3 4 5];
b=[2 1 3 1];
p=polyder(a,b)
p =
56 24 90 60 69 40 19
atau
px =56 x624x 590x 460x369x 240x19
Fungsi roots
Fungsi roots digunakan untuk memperoleh akar dari sebuah polinomial orde n. Bentuk umum dari fungsi ini adalah
r = roots(c)
Contoh
Diketahui sebuah polinomial px =4x 43x 24x5 . Dapatkan akar-akar polinomial tersebut dengan menggunakan fungsi roots.
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 35
Supardi, M.SiSupardi, M.Si
Jawab
Polinomial px =4x 43x 24x5 dapat dituliskan dalam Matlab berbentuk
p=[ 4 0 3 4 5]
Akar polinomial tersebut adalah
roots(p)
ans =
0.6364 + 1.0830i
0.6364 - 1.0830i
-0.6364 + 0.6222i
-0.6364 - 0.6222i
Fungsi poly
Fungsi poly digunakan untuk menentukan bentuk polinomial setelah akar-akar polinomial tersebut diketahui. Bentuk umum fungsi poly adalah
p = poly(r)
Contoh
Diketahui akar polinomial p adalah 1,2,3,4 dan 5. Tentukan bentuk polinomialnya.
Jawab
>> r=[1 2 3 4 5];
>> poly(r)
ans =
1 -15 85 -225 274 -120
atau
px =x 5−15 x485x 3−225 x 2274x−120
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 36
Supardi, M.SiSupardi, M.Si
Fungsi conv
Fungsi conv digunakan untuk mengalikan polinomial. Bentuk umumnya adalah
w = conv(u,v)
Contoh
Diketahui dua buah polinomial u x =x23x2 dan v x =x 32x 23x1 . Tentukan hasil perkalian dua polinomial
tersebut.
Jawab
>> u=[1 3 2];
>> v=[1 2 3 1];
>> conv(u,v)
ans =
1 5 11 14 9 2
atau
x55 x411x 314x 29x2
Fungsi deconv
Fungsi deconv berkebalikan dengan conv. Fungsi ini akan melakukan pembagian dua buah polinomial. Bentuk umumnya adalah
[q,r] = deconv(v,u)
dengan q dan r masing-masing adalah hasil bagi dan residu.
Contoh
Diketahui dua buah polinomial yaitu p1 x =2x
43x 3x 24x5 dan p2 x =x23x4 , maka carilah
hasil bagi antara p1 dengan p2 beserta residunya.
Jawab
Dengan menggunakan fungsi deconv, maka kita dapat memperoleh
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 37
Supardi, M.SiSupardi, M.Si
hasil bagi dan residunya.
>> p1=[2 3 1 4 5];
>> p2=[1 3 4];
>> [q r]=deconv(p1,p2)
q =
2 -3 2
r =
0 0 0 10 -3
atau jika dinyatakan dalam bentuk matematis
q=2x 2−3x2 dan r=10x−3
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 38
Supardi, M.SiSupardi, M.Si
SOAL LATIHAN
1. Evaluasi pernyataan Matlab berikut ini. Hitunglah secara manual
terlebih dahulu, setelah itu cek jawabanmu dengan menggunakan
Matlab
a) 2-3
b) 2-5/2
c) 3+4*3
d) 3+4/3*3
e) 3+4*3/4
f) (2-3/4)/2+3*4
g) (2-3)/3*4
h) (3+4/3)/(3-4/3)/3
i) (3+4/3)/(3-4/3)*3
j) (3+4/3)/(3-4/3)+3
k) 3*4-4/5+2
2. Jelaskan dengan alasan yang masuk akal manakah penulisan variabel
yang tidak benar berikut ini
a) b32
b) 2d
c) s34d
d) laju_sepeda
e) _laju
f) %kecepatan
g) kecepatan&
h) laju sepeda
i) 'a'nu
j) pi
k) realmax
l) a^3
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 39
Supardi, M.SiSupardi, M.Si
3. Tentukan manakah bilangan-bilangan berikut ini yang tidak diterima
oleh Matlab
a) 2,34
b) 2.32
c) 0.32
d) -3214
e) 2.3e-4
f) 5.2e+2
g) 5e^3
h) 3.43e5.3
i) 34.2*e^2
4. Terjemahkan pernyataan-pernyataan berikut ini dalam Matlab
a) abc
b)ab−c
c) p wu−v
d) x y z
e) −bb2−4 ac2a
f) x y z
g)a− bc−d
a bcd
5. Bagaimanakah nilai x dan y setelah pernyataan berikut ini dieksekusi
y=0;
i=1;
x=x+i;
y=y+i/x;
x=x+i;
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 40
Supardi, M.SiSupardi, M.Si
y=y+i/x;
x=x+i;
y=y+i/x;
x=x+i;
y=y+i/x;
6. Cobalah untuk membuat program komputer seperti pada perintah
berikut ini.
(a) Letakkan nilai 4 pada variabel bernama panjang dan tidak
ditampilkan.
(b) Letakkan nilai 2 pada variabel bernama lebar dan tidak
ditampilkan.
(c) Letakkan nilai 5 pada variabel bernama tinggi dan tidak
ditampilkan.
(d) Tentukan variabel volume sebagai hasil perkalian antara variabel
panjang, lebar dan tinggi.
(e) Tentukan variabel luas_permukaan sebagai duakali panjang kali
lebar ditambah duakali panjang kali tinggi ditambah duakali
lebar kali tinggi.
(f) Tampilkan harga yang tersimpan di dalam variabel volume dan
luas_permukaan
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 41
Supardi, M.SiSupardi, M.Si
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 42