Supardi, 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.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.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, functionAlphabetical 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.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.Si 7
3
5 6
4
2
1
8
10 9
11
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
Supardi, 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.Si
Gambar 3. Menonaktifkan jendela command history
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
7
Supardi, 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*y z= 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
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
Matlab
segera
akan
8
Supardi, 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. Kotakkotak 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.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.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.Si
Gambar 2.2 Gambar grafik yang diaktifkan melalui perintah funtool
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
Supardi, M.Si
Gambar 2.4. Gambaran curva fitting dari cftool
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
Supardi, M.Si
Gambar 2.6. pde tool untuk memecahkan masalah persamaan diferensial parsial.
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=10 a= 10 >> a^2 ans = 100 Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
14
Supardi, M.Si >> a^3 ans = 1000 >> 1+2*4/3 ans = 3.6667 >> 1+2/4*3 ans = 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.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.Si yang ada di Matlab, misalnya hindari memberikan nama variabel dengan nama pi, eps, i, j. Karena pi=22/7, eps= 2 − 54 , 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 ode45 Secara 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.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 1
perintah >> format short
2 3 4 5 6 7 8
>> format long >> format short e >> format long e >> format rational >> format short g >> format long g >> format bank
Contoh keluaran 3.1429 ( 4 angka di belakang koma) 3.14285714285714 3.1429e+000 3.142857142857143e+000 22/7 3.14286 3.14285714285714 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.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.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.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.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.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.3000 z= 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.Si >> sin(pi/3),cos(pi/3),tan(pi/3) ans = 0.8660 ans = 0.5000 ans = 1.7321 >> asin(0.88),acos(0.88),atan(0.88) ans = 1.0759 ans = 0.4949 ans = 0.7217 >> sinh(pi/3),cosh(pi/3),tanh(pi/3) ans = 1.2494 ans = 1.6003 ans = 0.7807 >> asinh(1.22),acosh(1.22),atanh(1.22) ans = 1.0287 ans = 0.6517 ans = 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.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
3
exp()
Menyatakan harga eksponensial, misal e x
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 2 log x
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.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,
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
−1
>> pi ans = Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
26
Supardi, 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.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 0 y0
z =x 2− y 2 pada domain 0x5 dan
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 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
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 1 2 3 4 5
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
28
Supardi, 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
-25 -24 -21 -16
0 -9
9 0
Sebagai contoh pada titik jaring (3,4) harga z =32−2 2=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.Si
Illustration 1:
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
Supardi, M.Si
Gambar 2.1 Fungsi humps 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 1
2
3
4
p x =a 0a 1 x a 2 x a3 x a 4 x ...an−1 x
n−1
a n x
n
Matlab memiliki cara sederhana untuk menyatakan polinomial seperti dia tas dengan cara p=[ an an−1 ... a 3 a 2 a1 a0
]
Contoh
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
31
Supardi, M.Si Diketahui sebuah polinomial berbentuk akan dievaluasi pada x=2, −3 dan 4.
p x =x 43 x 24 x 5
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.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 2
p=0.9284 x 0.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
2.0000
3.2000
4.2173 -1.0173
3.0000 11.3000
9.6286
0.6373 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.Si 10.0000 98.2000 99.4991 -1.2991 Sekarang, marilah kita tampilkan selengkapnya dalam bentuk grafik dengan menuliskan code melalui jendela editor.
Gambar 2.1 Pencocokan data dengan polinomial orde 2
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
Supardi, M.Si p x =4 x 4 3 x 24 x 5 Jawab p=[4 0 3 4 5]; polyder(p) ans = 16
0
6
4
Hasilnya jika dituliskan dalam bentuk ungkapan matematis 16 x 36 x 4 Contoh Turunkan polinomial di bawah ini p x = x 4 3 x 2 4 x 5 2 x 3 x 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 p x =56 x 6 24 x 5 90 x 460 x 3 69 x 2 40 x 19
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 p x =4 x 4 3 x 24 x 5 . Dapatkan akar-akar polinomial tersebut dengan menggunakan fungsi roots. Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
35
Supardi, M.Si Jawab Polinomial berbentuk
p x =4 x 4 3 x 24 x 5 dapat dituliskan dalam Matlab
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 p x =x 5−15 x 4 85 x 3 −225 x 2274 x −120
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
36
Supardi, M.Si
Fungsi conv Fungsi conv digunakan untuk mengalikan polinomial. Bentuk umumnya adalah w = conv(u,v) Contoh Diketahui dua buah polinomial u x =x 2 3 x 2 dan 3 2 v x =x 2 x 3 x 1 . 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 x 5 5 x 4 11 x 314 x 2 9 x 2
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 =2 x 4 3 x 3x 24 x 5 dan p2 x =x 2 3 x 4 , 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.Si hasil bagi dan residunya. >> p1=[2 3 1 4 5]; >> p2=[1 3 4]; >> [q r]=deconv(p1,p2) q= 2
-3
2
0
0
0
r= 10
-3
atau jika dinyatakan dalam bentuk matematis 2 q=2 x −3 x 2 dan r =10 x −3
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
38
Supardi, 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
g) (2-3)/3*4
b) 2-5/2
h) (3+4/3)/(3-4/3)/3
c) 3+4*3
i) (3+4/3)/(3-4/3)*3
d) 3+4/3*3
j) (3+4/3)/(3-4/3)+3
e) 3+4*3/4
k) 3*4-4/5+2
f) (2-3/4)/2+3*4 2. Jelaskan dengan alasan yang masuk akal manakah penulisan variabel yang tidak benar berikut ini a) b32
g) kecepatan&
b) 2d
h) laju sepeda
c) s34d
i) 'a'nu
d) laju_sepeda
j) pi
e) _laju
k) realmax
f) %kecepatan
l) a^3
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
39
Supardi, M.Si 3. Tentukan manakah bilangan-bilangan berikut ini yang tidak diterima oleh Matlab a) 2,34
f) 5.2e+2
b) 2.32
g) 5e^3
c) 0.32
h) 3.43e5.3
d) -3214
i) 34.2*e^2
e) 2.3e-4 4. Terjemahkan pernyataan-pernyataan berikut ini dalam Matlab a)
abc
b)
a −c b
c)
p
d)
w u−v
e)
−b b 2−4 a c 2a
f)
x y z b c−d b a cd a−
g)
xyz
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.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.Si
Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik
42