• Tidak ada hasil yang ditemukan

PETUNJUK PRAKTIKUM DASAR PEMOGRAMAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "PETUNJUK PRAKTIKUM DASAR PEMOGRAMAN"

Copied!
28
0
0

Teks penuh

(1)

PETUNJUK PRAKTIKUM

DASAR PEMOGRAMAN

TEKNOLOGI INDUSTRI PERTANIAN

FAKULTAS PERTANIAN

UNIVERSITAS TRUNOJOYO MADURA

2014

(2)

Pertemuan 1 Pengenalan MATLAB

Tujuan Instruksional Umum

Mahasiswa dapat memahami karakteristik MATLAB

Tujuan Instruksional Khusus

Mahasiswa mampu menjelaskan karakteristik MATLAB

Mahasiswa mampu menggunakan command windows MATLAB dengan format, karakter spesial, angka dan operasi matematika serta operasi simbol pada MATLAB.

MATLAB singkatan dari MATrix LABoratory, merupakan bahasa pemrograman yang dikembangkan oleh The Mathwork.inc (http://www.mathwork.com). Bahasa pemrograman ini banyak digunakan untuk perhitungan numerik keteknikan, komputasi, simbolik, visualisasi, grafis, analisis data matematis, statistika, simulasi, pemodelan, dan design GUI (Graphical User Interface).

Karateristik MATLAB:

 Bahasa pemrogramannya didasarkan pada matriks (baris dan kolom)

 Lambat (dibanding dengan Fortran atau C) karena bahasanya langsung diartikan. Sebagai contoh, tidak diperlukan pre-compiled.

 Automatic memory management, misalnya kita tidak harus mendeklarasikan arrays terlebih dahulu

 Tersusun rapi

 Memiliki waktu pengembangan program yang lebih cepat dibandingkan dengan bahasa pemrograman tradisional seperti Fortran atau C

 Dapat diubah ke bahasa C lewat MATLAB Compiler untuk efisiensi yang lebih baik.  Tersedia banyak toolbox untuk aplikasi-aplikasi khusus

Command Windows

1. Klik dua kali ikon MATLAB 7.0.1 di desktop, maka akan muncul jendela perintah (command windows) MATLAB seperti dibawah ini:

(3)

2. Untuk membersihkan command windows, ketik clc dan tekan <enter > pada keyboard.

command windows berfungsi untuk memperoleh informasi tentang berbagai perhitungan matematis maupun untuk mengeksekusi suatu program MATLAB. Sebagai contoh, ketik perintah di bawah ini pada command windows. Untuk melihat hasilnya tekan <enter > >> a=1+6 a = 7 >> g1=cos(3*pi/4) g1 = -0.7071

3. Untuk mengubah format angka yang tampil dapat dilakukan dengan mudah, yaitu dengan mengetikan: >> format long >> g1 g1 = -0.70710678118655 >> format bank >> g1 g1 = -0.71

Berbagai Karakter Spesial

1. Tanda % merupakan penanda komentar. Keterangan setelah tanda tersebut akan diabaikan atau tidak akan dieksekusi dalam proses perhitungan.

Misalnya:

>> y=2:1:5 % akan menghasilkan y= 2 3 4 dan 5 y = 2.00 3.00 4.00 5.00

2. Tanda ; merupakan perintah pembatas yang tidak ditampilkan di jendela perintah. Merupakan pemisah antara kolom dan baris dalam matriks.

Misalnya: >> A=[1 2 4;4 6 3;2 6 5] A = 1.00 2.00 4.00 4.00 6.00 3.00 2.00 6.00 5.00

3. Tanda : merupakan pembatas jangkauan. Contoh: >> C=[3:2:9]

C = 3.00 5.00 7.00 9.00

angka akan bertambah terus mulai dari 3 dengan selisih 2 sampai nilai 9

4. Tanda merupakan transpose matriks. Contoh: >> A=[1 2 4;4 6 3;2 6 5] A = 1.00 2.00 4.00 4.00 6.00 3.00 2.00 6.00 5.00

(4)

>> B=A'

B = 1.00 4.00 2.00 2.00 6.00 6.00 4.00 3.00 5.00

5. Tanda ... digunakan saat menulis baris perintah yang terlalu panjang, untuk menghubungkan antara perintah baris pertama dengan beris berikutnya .

Contoh: >> X=1+2+3+4+5+6+... 7+8+9+10 X = 55.00

Angka dan Operasi Aritmatika Ada tiga jenis angka di MATLAB:

 Bulat (integer)  Nyata (Real Number)

 Kompleks (Complex Number)

Bilangan bulat adalah bilangan yang tidak mengandung bilangan desimal. Contoh : >> format

>> d=10 d = 10

Bilangan real. Contoh: >> xr=12.6054

xr = 12.6054

batas atas dan bawah bilangan real

>> realmax %batas atas bilangan real di MATLAB ans = 1.7977e+308

>> realmin %batas bawah bilangan real di MATLAB ans = 2.2251e-308

Bilangan kompleks. Contoh: >> i ans = 0 + 1.0000i >> x=1+sqrt(3)*i x = 1.0000 + 1.7321i >> A=[1 j;-j*5 2] A = 1.0000 0 + 1.0000i 0 - 5.0000i 2.0000

Operasi dasar aritmatika yang dikenali di MATLAB adalah sebagai berikut: Operasi Simbol

 Penambahan +  Pengurangan -  Perkalian *

(5)

>> a=10 a = 10 >> a^2 ans = 100 >> 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. Tugas 1

Lakukan evaluasi terhadap pernyataan Matlab berikut ini dengan perhitungan manual terlebih dahulu dan setelah itu dicek dengan Matlab.

(6)

Pertemuan 2 Pengenalan MATLAB (2)

Tujuan Instruksional Umum

Mahasiswa dapat memahami dan menjelaskan operator assignment, cara membuat variable, format penulisan angka, perintah pembulatan angka serta perintah tambahan pada MATLAB

Tujuan Instruksional Khusus

Mahasiswa mampu menggunakan operator assignment, membuat variable, format penulisan angka, perintah pembulatan angka serta perintah tambahan pada command windows MATLAB

Operator Assignment

Tanda “=” disebut sebagai operator assignment. Ada dua bentuk persamaan matematika seperti di bawah ini

x+4=7 dan x=7−4

Apabila matlab diberikan persamaan seperti pada poin 1) maka akan muncul komentar kesalahan >> x+4=7;

??? x+4=7; |

Error: Missing operator, comma, or semicolon.

Sedangkan, x dapat menyatakan suatu nilai apabila diberikan perintah menghitung hasil suatu operasi tertentu.

>> x=7-4 x = 3

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 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

(7)

Tabel 2.1. Format penulisan angka.

Perintah Pembulatan Angka

Beberapa perintah Matlab untuk membulatkan angka antara lain

 ceil(x) : perintah untuk membulatkan angka ke bil integer di atasnya  floor(x): perintah untuk membulatkan angka ke bil integer di bawahnya

 fix(x) : perintah untuk membulatkan angka ke bil integer ke atas atau ke bawah menuju arah nol

 round(x): perintah untuk membulatkan angka ke bil integer terdekat

 mod(x,y): sisa yang ditinggalkan setelah operasi pembagian dengan definisi x-n*y dimana n=floor(x./y).

 abs(x): harga mutlak dari x.  sign(x): tanda dari x.

 factor(x): faktor utama dari x. 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 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. Tugas 2

1. 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&

(8)

h) laju sepeda i) 'a'nu j) pi k) realmax l) a^3

2. 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

(9)

Pertemuan 3

Fungsi-fungsi dalam MATLAB (1)

Tujuan Instruksional Umum

Mahasiswa dapat memahami dan menjelaskan fungsi bawaan, konstanta khusus, fungsi meshgrid, fungsi feval, fungsi polyval, dan fungsi polyfit pada MATLAB

Tujuan Instruksional Khusus

Mahasiswa mampu menggunakan fungsi bawaan, konstanta khusus, fungsi meshgrid, fungsi feval, fungsi polyval, dan fungsi polyfit pada command windows MATLAB

Fungsi Bawaan Matlab (Built-In Functions) 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().

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

Tabel 3.1 Fungsi dasar Matlab

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:

(10)

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 0≤x≤5 dan 0≤y≤5 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);

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;

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)

Gambar 3.1 mesh (X,Y,z)

(11)

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. 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 polynomial dalam bentuk

p(x)=a0+a1x1+a2 x2+a3 x3+a4 x4+...+an−1x n−1+an xn

Matlab memiliki cara sederhana untuk menyatakan polinomial seperti di atas dengan cara

p=[ an an−1 ... a3 a2 a1 a0 ]

Contoh:

Diketahui sebuah polinomial berbentuk p(x)=x4+3x2+4x+5 akan dievaluasi pada x=2, −3 dan 4. Jawab: p=[1 0 3 4 5]

● 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 mencocokkan data kita. Bentuk umum fungsi ini adalah:

p = polyfit(x,y,n)

dengan n adalah polinomial orde n, yaitu polinomial yang digunakan untuk mencocokkan data. Contoh

(12)

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.9284 x2+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 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 10.0000 98.2000 99.4991 -1.2991

Sekarang, marilah kita tampilkan selengkapnya dalam bentuk grafik dengan menuliskan code melalui jendela editor.

Gambar 3.2 Grafik hasil evaluasi di tiap titik

Salah satu keunggulan Matlab adalah kemudahannya untuk membuat grafik dan suara. Misalkan membuat grafik 2-dimensi,

(13)

>> x=linspace(-5,5,200); >> y=x.^2+cos(10*x); >> plot(x,y)

Gambar 3.2. Grafik dengan perintah Plot deret x dan y

Atau bahkan grafik 3-dimensi: >> u=linspace(-4,4,50); >> [U,V]=meshgrid(u,u); >> W=cos(U).*cos(V/3); >> surf(U,V,W)

Gambar 3.3. Grafik dengan perintah Surf deret x dan y

Tugas 3

1. Misalkan: x=π/6, y=0,001; Hitunglah :

a).

y

b). ex c). Sin x d). Cos 2x e). tan3x f). log10 y g). log2 y h). ln y 2. Misalkan: p=9+16i dan q=-9+16i ; Hitunglah :

a). r = pq b). S=

q

p

c). p – r d). r + s e). p2 f).

q

g).

p

h).

q

i).

r

j).

s

3. Pecahkanlah persamaan linier tiga variabel berikut ini : x + 2y -3z = -7

4x + 5y + 6z = 11 7x + 8y + 9z = 17

(14)

1. Anda ubah ke dalam btk polinomial  >> p=[1 2 -3;4 5 6;7 8 9] 2. Anda masukkan nilai y  y=[-7 11 17]

3. Jawaban=inv(p)*y’ ...  x

...  y ...  z

(15)

Pertemuan 4

Fungsi-fungsi dalam Matlab (2)

Tujuan Instruksional Umum

Mahasiswa dapat memahami dan menjelaskan fungsi polyder, fungsi roots, fungsi poly, fungsi conv, dan fungsi deconv pada MATLAB

Tujuan Instruksional Khusus

Mahasiswa mampu menggunakan fungsi polyder, fungsi roots, fungsi poly, fungsi conv, dan fungsi deconv pada command windows MATLAB

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

P(x) =4x4+3x 2+4x+5 Jawab p=[4 0 3 4 5]; polyder(p) ans = 16 0 6 4

Hasilnya jika dituliskan dalam bentuk ungkapan matematis 16 x 3+6 x+4

Contoh

Turunkan polinomial di bawah ini

P(x)= (4x4+3 x2+4x+5)(2x3+x 2+3 x+1) 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 x6+24 x5+90 x 4+60x3+69x 2+40 x+19 Fungsi roots

Fungsi roots digunakan untuk memperoleh akar dari sebuah polynomial orde n. Bentuk umum dari fungsi ini adalah

(16)

Contoh

Diketahui sebuah polinomial p(x)=4x4+3x2+4x+5. Dapatkan akar-akar polinomial tersebut dengan menggunakan fungsi roots.

Jawab

Polinomial p(x)=4x4+3x2+4x+5 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 p(x )=x 5−15 x4+85 x 3−225 x 2+274 x−120 Fungsi conv

Fungsi conv digunakan untuk mengalikan polinomial. Bentuk umumnya adalah w = conv(u,v)

Contoh

Diketahui dua buah polinomial u( x )=x2+3x+2 dan

v (x )=x3+2x2+3x+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 x5+5 x4+11 x 3+14 x 2+9x+2 Fungsi deconv

(17)

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 )=2x4+3x 3+x 2+4x+5 dan p2 (x )=x2+3x+4 , maka carilah hasil bagi antara p1 dengan p2 beserta residunya.

Jawab

Dengan menggunakan fungsi deconv, maka kita dapat memperoleh 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−3x+2 dan r=10 x−3

Tugas 4

1. Carilah akar persamaan dari y=x4-10x2+9 dan p=4x4+x2+6x+8

2. Diketahui dua buah polinomial u( x )=3x2+2x+3 dan v (x )= 4x2+5x+6 . Tentukan hasil perkalian dua polinomial tersebut.

3. Turunkan polinomial di bawah ini P(x)= (3 x2+6x+9)( x 2+2 x)

(18)

Pertemuan 5

Menggambar Grafik 2-Dimensi dan 3-Dimensi

Tujuan Instruksional Umum

Mahasiswa dapat memahami dan menjelaskan cara menggambar 2 dimensi dan 3 dimensi (plot garis, plot permukaan, plot kontur) menggunakan MATLAB

Tujuan Instruksional Khusus

Mahasiswa mampu menggunakan fungsi plot untuk menggambar 2 dimensi (2D) dan 3 dimensi (3D) pada command windows MATLAB

Mahasiswa mampu menggunakan beberapa command dalam MATLAB yang berkaitan dalam pembuatan plot 2D dan 3D.

Plot 2-Dimensi

Untuk memvisualisasi data secara 2-dimensi ataupun 3-dimensi, kita menggunakan berbagai command plotting; di mana command yang paling dasar ialah plot. Anda bisa praktekkan contoh berikut ini.

>> x = 1:8; y=[20 22 25 30 28 25 24 22]; >> plot(x,y)

Akan muncul window baru berisi figure hasil plotting. Perhatikan kegunaan dari ikon yang ada.

Gambar 5.1 Jendela Figure

Seperti yang Anda lihat, titik (1,20), (2,22), (3,25), (4,30), dst...terhubung dengan garis lurus. Sekarang Anda bisa coba untuk membalik urutan sintaks dan mengamati grafik yang dihasilkan! >> plot(y,x)

Setiap gambar di figure window, bisa Anda print melalui menu FilePrint (Ctrl+P), atau Anda

(19)

Untuk menambahkan judul, label, dan grid ke dalam hasil plot Anda, digunakan command berikut ini.

Sekarang mari kita lihat contoh plot yang lain. Kita akan memplot kurva y = x3 pada rentang x = -3 hingga x = +3.

>> clear

>> x=-3:0.1:3; %inkremen=0.1 agar kurva terlihat mulus >> y=x.^3;

>> plot(x,y)

>> xlabel('Sumbu X'), ylabel('Sumbu Y') >> title('Kurva Y=X^3')

>> grid on

Gambar 5.2. Contoh plot : kurva Y = X3

Ketika Anda menggunakan command plot, gambar sebelumnya di figure window akan terhapus. Lalu bagaimana jika kita ingin memplot beberapa fungsi dalam satu figure sekaligus? Dalam hal ini kita bisa gunakan command hold.

Berikut ini contoh memplot beberapa kurva eksponensial negative sekaligus. >> clear >> x=linspace(0,5,500); >> y1=exp(-x); plot(x,y1); >> grid on >> hold on >> y2=exp(-0.5*x); plot(x,y2); >> y3=exp(-0.25*x); plot(x,y3); >> y4=exp(-0.1*x); plot(x,y4); >> xlabel('sumbu-x'), ylabel('sumbu-y')

(20)

Gambar 5.3. Hasil plot dengan ‘hold on’

Plot 3-Dimensi

Dalam subbab ini akan dibahas tiga macam plot 3-dimensi: plot garis, plot permukaan (surface), dan plot kontur.

Plot Garis

Mari kita mulai dengan plot garis di dalam ruang 3-dimensi. Ini mirip dengan plot 2-dimensi, tetapi kali ini kita gunakan command plot3( ... ), dan dibutuhkan vektor z, untuk dimensi ketiga.

>> X = [10 20 20 10 10]; >> Y = [5 5 15 15 5]; >> Z = [0 0 70 70 0]; >> plot3(X,Y,Z); grid on;

>> xlabel(‘sumbu X’); ylabel(‘sumbu Y’); >> zlabel(‘sumbu Z’);

>> title (‘Contoh plot 3-D’); >> axis([0 25 0 20 0 80])

Gambar 5.4. Contoh plot 3-dimensi dengan command “plot3”

Perhatikan bahwa command label, title, grid, axis, hold, dan subplot juga berlaku di sini. Anda juga bisa merotasi gambar 3-dimensi tersebut dengan cara men-klik ikon rotate dan dragging mouse di atas gambar. Sekarang kita coba contoh yang lain untuk menggambarkan helix.

>> t=0:0.1:25;

>> X=sin(t); Y=cos(t); Z=0.5*t; >> plot3(X,Y,Z)

(21)

>> zlabel(‘sumbu Z’); >> title (‘Helix’);

Gambar 5.5. Contoh penggunaan “plot3”

Plot Permukaan

Sementara itu, untuk plot permukaan (surface) dalam ruang 3-dimensi digunakan command mesh

atau surf. Contoh berikut ini menggambarkan fungsi dua variabel z = x2 + y2. Caranya ialah: 1) Definisikan batas-batas nilai x dan y yang akan diplot

2) Gunakan command meshgrid untuk “mengisi” bidang-XY dengan jalinan titik 3) Hitunglah fungsi 3-dimensi untuk jalinan titik tersebut

4) Buatlah plot dengan command mesh atau surf. Sebagai contoh: >> batas_x = -10:1:10; batas_y = -10:4:10;

>> [X,Y] = meshgrid(batas_x,batas_y); >> Z = X.^2 + Y.^2;

>> mesh(X,Y,Z);

Gambar 5.6. Hasil plot dengan “mesh”

Kini Anda mendapatkan plot 3-dimensi. Kini cobalah >> surf(X,Y,Z);

(22)

Gambar 5.6. Hasil plot dengan “surf”

menambahkan “label” dan “title” seperti plot pada umumnya. Sekarang kita coba contoh yang lain untuk memplot fungsi 3-Dimensi

, ) sin( = r r z dimana r= x2+y2. >> x = linspace(-10,10,40); y = x; >> [X,Y] = meshgrid(x,y); >> R = sqrt(X.^2+Y.^2); >> Z = sin(R)./(R+eps); >> surf(X,Y,Z);

Gambar 5.7. Plot 3-dimensi dari fungsi sin (r)/r

di sini kita menggunakan variabel eps, untuk mencegah perhitungan 0/0 ketika R = 0.

Plot Kontur

Fungsi dua variabel, misalkan z = f(x,y) bisa kita gambarkan konturnya dalam dua dimensi dengan

(23)

Mari kita gambarkan kontur dari fungsi sin(r)/r di atas, lalu bandingkan dengan plot permukaannya: >> figure; contour(X,Y,Z);

>> figure; mesh(X,Y,Z);

Gambar 5.8. Contoh plot kontur

Tugas 5

1. Gambarkan kurva y=x4-9x2 pada rentang -6 ≤ x ≤ 6. Buatlah inkremen x cukup kecil sehingga kurva terlihat mulus.

2. Gambarkan kurva-kurva berikut pada rentang -10 ≤ x ≤ 10 dalam satu figure sekaligus 2

+ 100

= x

y y= 100+2x2 y= 100+4x2 y= 100+16x2

3. Gambarkan kurva berikut ini di dalam ruang 3-D :

x = 1+cos t

y = 2+sin t 0 ≤ t z = 1-cos 2t

4. Plot fungsi dua variabel berikut ini: z = x2 – y2 , untuk rentang -5 ≤ x ≤ 5, -5 ≤ y ≤ 5. 5. Plot kontur dari fungsi dua variable berikut ini :

(24)

Pertemuan 6

M-file editor dan Pemrograman Matlab

Tujuan Instruksional Umum

Mahasiswa dapat memahami dan menjelaskan tentang M-file editor dan pemrograman dengan MATLAB

Tujuan Instruksional Khusus

Mahasiswa mampu membuat M-file sebagai script program dan menjalankannya pada command Windows MATLAB

Mahasiswa mampu membuat M-file sebagai fungsi dan mampu mejalankannya pada MATLAB Pada bab-bab yang lalu, Anda telah belajar berinteraksi dengan MATLAB menggunakan

command window. Sekarang, katakanlah Anda harus mempergunakan sederetan command secara berulang-ulang di dalam sesi MATLAB yang berbeda. Akan sangat repot jika Anda harus mengetikkan

command tersebut secara manual di command window setiap kali Anda butuhkan. Namun dengan

M-file, deretan command tersebut bisa Anda simpan dalam bentuk skrip teks. Kapan saja Anda

butuhkan, skrip tersebut bisa dijalankan/dieksekusi secara otomatis dengan cara mengetikkan nama M-file yang bersangkutan di command window. Kali ini kita akan belajar mengenal M-file dengan contoh sederhana.

Namun demikian perlu diketahui bahwa MATLAB sebenarnya merupakan bahasa pemrograman umum, seperti halnya Basic, C, Java, Pascal, Fortran, dll. Sehingga dalam bab ini kita akan menitikberatkan pada pelajaran pemrograman komputer.

Membuat M-File

Untuk menuliskan skrip M-file, Anda bisa mulai dengan membuka file baru. Caranya ialah melalui menu di main window: FileOpen atau FileNewM-file; atau dengan mengklik ikon yang ada di jendela utama. Sebuah jendela editor akan terbuka seperti gambar berikut ini.

Gambar 6.1. Jendela editor M-file

Dengan editor ini, kita bisa membuka sejumlah M-file, melakukan editing, ataupun mencoba menjalankannya dan melakukan debuging (mencari kesalahan di dalam skrip). Sementara itu, untuk menyimpan M-file, Anda bisa lakukan dengan menu: FileSave atau FileSave As; ataupun dengan

(25)

sebarang editor teks, seperti MS Word, Notepad, dll.; yang penting Anda menyimpan file tersebut dengan ekstensi *.m.

M-File Sebagai Skrip Program

Pada bagian ini, kita akan menggunakan M-file untuk menjalankan sederetan command yang kita tuliskan sebagai skrip. Mari kita mulai dengan skrip sederhana untuk menghitung rata-rata dari lima bilangan. File ini kita namakan rata_rata.m. Bukalah M-file baru lalu ketikkan skrip berikut ini. % Program sederhana untuk menghitung

% rata-rata 5 bilangan: % rata_rata.m a = 50; b = 100; c = 150; d = 200; e = 250;

% Menghitung dan menampilkan rata-rata hasil = (a + b + c + d + e)/5;

hasil

Teks yang diawali tanda “%” menunjukkan komentar, dan tidak akan dieksekusi oleh MATLAB. Simpanlah file ini di dalam direktori Matlab\work dengan nama rata_rata.m. Sekarang cobalah jalankan dari command window. Sebelumnya pastikan bahwa direktori menunjuk ke Matlab\work. Perhatikan “Current Directory” yang ada di jendela utama MATLAB. Kita bisa mengubah direktori yang sedang aktif melalui drop-down menu ataupun melalui browse.

Gambar 6.2. Memilih direktori untuk menjalankan M-file

>> clear >> rata_rata hasil = 150 >> whos

(26)

Perhatikan bahwa:

• Di dalam M-file, setiap command diakhiri dengan titik-koma supaya hasil perhitungan di tiap baris tidak ditampilkan di command window. Kecuali pada hasil perhitungan yang ingin kita tampilkan, tidak diakhiri titik-koma.

• Variabel yang didefinisikan di dalam M-file akan disimpan oleh MATLAB ketika M-file telah dieksekusi.

Di dalam editor, skrip yang kita tuliskan akan memiliki warna tertentu: • hijau untuk komentar

• hitam untuk variabel dan command • biru untuk statement pemrograman.

Sekarang, marilah kita mencoba M-file lain untuk menghitung sisi miring suatu segi tiga siku-siku dengan formula phytagoras, menghitung luasnya, dan kelilingnya.

% Program menghitung segi-3 siku-siku: segi3.m % Untuk menghitung sisi miring, luas, dan keliling % Mendefinisikan sisi siku-siku segitiga

Sisi_A = 3; Sisi_B = 4;

% Menghitung sisi miring Sisi_C = sqrt(Sisi_A^2 + Sisi_B^2) % Menghitung luas segitiga Luas = 1/2* Sisi_A * Sisi_B % Menghitung keliling

Keliling = Sisi_A + Sisi_B + Sisi_C

Lalu simpan dengan nama segi3.m. Sekarang kita panggil M-file tersebut >> segi3 Sisi_C = 5 Luas = 6 Keliling = 12

Sekarang Anda bisa mencoba sendiri membuat program yang lebih menantang, seperti menghitung dan memplot fungsi 2 ataupun 3-dimensi dengan M-file.

M-File Sebagai Fungsi

Sebagai skrip program, jika kita ingin mengubah/mengatur parameter masukan program, maka harus kita lakukan di dalam editor. Padahal seringkali kita harus menjalankan satu

(27)

iterasi atau optimasi. Untuk keperluan ini, kita bisa menuliskan M-file sebagai suatu fungsi spesifik sesuai kebutuhan kita. Dalam setiap fungsi terdapat tiga unsur:

1. Parameter masukan; dalam hal ini kita sebut sebagai “argumen input”. Jumlah parameter (argumen) tersebut bisa sebarang (satu, dua, sepuluh, atau tidak ada argumen input sama sekali). Jenis argumen pun sebarang (variabel, bilangan ataupun teks).

2. Proses di dalam program; berupa sederetan command untuk menjalankan suatu algoritma tertentu.

3. Parameter keluaran; atau “argumen output” yang jumlah dan jenisnya sebarang.

Deklarasi fungsi di M-file harus dilakukan pada baris awal dengan sintaks:

Sebagai contoh awal, kita akan membuat fungsi untuk menghitung sisi miring, luas, dan keliling segitiga; seperti program yang ada pada contoh sebelumnya.

%Fungsi untuk menghitung segi-3 siku-siku: segitiga.m %Untuk menghitung sisi miring, luas, dan keliling function [Sisi_C,Luas,Kll] = segitiga(Sisi_A,Sisi_B) % Menghitung sisi miring

Sisi_C = sqrt(Sisi_A^2 + Sisi_B^2); % Menghitung luas segitiga Luas = 1/2* Sisi_A * Sisi_B; % Menghitung keliling Kll = Sisi_A + Sisi_B + Sisi_C;

Lalu simpan dengan nama “segitiga.m”. Sekarang Anda panggil fungsi tersebut. >> clear >> [Hyp,Area,Circum]=segitiga(12,16) Hyp = 20 Area = 96 Circum = 48

Dari contoh sederhana tersebut, ada beberapa hal yang perlu kita perhatikan:

• Dalam fungsi segitiga, terdapat dua argumen input (Sisi_A, Sisi_B), dan tiga argumen output (Sisi_C, Luas, Kll).

• Ketika dipanggil di command window, kita bisa menggunakan nama argumen input/output yang berbeda dengan di M-file, namun urutannya tidak berubah. Di dalam contoh, argumen Sisi_A dan

Sisi_B kita isi dengan bilangan, sementara argumen Sisi_C, Luas, dan Keliling kita panggil dengan

Hyp, Area, dan Circum.

Sekarang kita lihat dengan command whos: >> whos

(28)

Terlihat bahwa variabel yang dideklarasikan di dalam fungsi tidak disimpan, melainkan dimusnahkan ketika suatu fungsi selesai dijalankan. Yang ada di sana hanyalah variabel yang telah dideklarasikan di command window untuk menyimpan nilai output. Hal ini merupakan salah satu perbedaan utama antara skrip program dengan fungsi.

Penting!

Ketika membuat fungsi dengan M-file, nama file harus sama dengan nama fungsi yang dideklarasikan dalam sintaks function ...Aturan penamaan M-file sama dengan penamaan variabel!

Perlu diperhatikan bahwa fungsi yang telah kita buat pada dasarnya sama dengan fungsi yang telah ada di MATLAB, semisal fungsi sin(x) ataupun sqrt(x). Misalkan kita memanggil fungsi tanpa menyebutkan argumen output, maka keluaran akan disimpan di ans.

Tugas 6

1. Buatlah program dengan M-file untuk menghitung volume dan luas permukaan balok bila diketahui:

Panjang = 5, lebar = 3, tinggi = 6,5. Beri nama program ini dengan prog_balok.m

2. Buatlah suatu fuingsi dengan M-file untuk menghitung volume dan luas permukaan balok dengan spresifikasi :

Masukan fungsi : panjang, lebar, dan tinggi balok Keluaran fungsi : volume, dan luas permukaan balok Beri nama fungsi ini dengan hitung_balok.m

3. Buatlah suatu fungsi dengan M-file untuk menghitung volume dan luas permukaan dari suatu prisma segiempat dengan spesifikasi:

Masukan fungsi : panjang dan lebar alas prisma, serta tinggi prisma Keluaran fungsi : volume dan luas permukaan prisma

Gambar

Tabel 2.1. Format penulisan angka.
Tabel 3.1 Fungsi dasar Matlab
Gambar 3.1 mesh (X,Y,z)
Gambar 3.2 Grafik hasil evaluasi di tiap titik
+7

Referensi

Dokumen terkait

Begitu pula ketika menghadapi fakta empiris bahwa program yang diunggulkan tidak berguna atau kontra-produktif, pihak tersebut menyatakan : (1) efek program tersebut bersifat

Setiap orang dapat mempunyai jawaban yang berbeda, karena itu pihhlah jawaban yang paling sesuai dengan diri anda, karena tidak ada jawab yang salah, dan tidak

Sesuai kebutuhan / rekomendasi Tim RHA Bedah Plastik Anestesi Anak Penyakit Dalam Pulmonologi Kesehatan Jiwa Forensik DVI Dental Forensik. D-3

Dalam konsep ini proses-proses terdistribusi memetakan struktur data globalnya ke dalam dual-port memory yang terletak pada setiap node SCRAMNet sehingga setiap saat suatu

Pengecekan juga dilakukan oleh supervisor terkait kondisi kapal sebelum dilakukan aktivitas bongkar muat. Pengecekan sesuai prosedur kerja yaitu sebelum melakukan bongkar

ELR model berfungsi tidak hanya sebagai penilaian eLearning sebuah institusi apakah sudah siap untuk diterapkan tetapi juga memberitahu area atau bagian mana

Error t-Statistic Prob... Error t-Statistic

Dalam QS Al-A’raf (7): 17 Iblis menyatakan, “Dan Engkau tidak akan menemukan kebanyakan dari mereka {manusia) bersyukur.” Kalimat “tidak akan menemukan” di sini serupa