Anda di halaman 1dari 42

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/311717122

Panduan Belajar Mandiri MATLAB

Book · October 2011

CITATIONS READS

0 54,832

2 authors:

Mochammad Ariyanto Wahyu Caesarendra


Osaka University Universiti Brunei Darussalam
75 PUBLICATIONS   203 CITATIONS    112 PUBLICATIONS   1,603 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Arduino - Android View project

Biomechatronics, Supernumerary Robotic finger (SRF), Prosthetic hand, and Biorobotics View project

All content following this page was uploaded by Mochammad Ariyanto on 19 December 2016.

The user has requested enhancement of the downloaded file.


Contents

1. Pendahuluan
- Apa itu MATLAB
- Keunggulan-keunggulan MATLAB
2. Lingkungan Kerja MATLAB
- Memulai MATLAB
- Command Window
- Workplace
- Current Directory
- Command History
3. Variabel dan Operator
- Definisi dari Variabel dan operator
- Contoh-contoh operator
4. Matriks dan vektor
- Cara penulisan vector dan matriks di MATLAB
5. Pemrograman pada MATLAB
M-File
Logical Operation (Programming)
- For
- While
- Switch
- If
6. Plotting Graphical dan suara
- 2D
- 3D
- Movie
- Suara/musik
7. Statistik menggunakan MATLAB
8. Penyelesaian system persamaan aljabar
9. Analisis fungsi dan interpolasi
10. Aplikasi-aplikasi dalam ilmu matematika
- Fourier
- Integral
- Differential
- Polynomial
11. Referensi
Bab I
Pendahuluan

M ATLAB (singkatan dari Matrix LABoratory), adalah


sebuah lingkungan komputasi numerikal dan bahasa
pemrograman komputer generasi keempat.
Dikembangkan oleh The MathWorks.Inc, MATLAB memungkinkan
manipulasi matriks, pem-plot-an fungsi dan data, implementasi
algoritma, pembuatan antarmuka pengguna, dan peng-antarmuka-
an dengan program dalam bahasa lainnya. Meskipun hanya
bernuansa numerik, sebuah kotak kakas (toolbox) yang
menggunakan mesin simbolik MuPAD, memungkinkan akses
terhadap kemampuan aljabar komputer. Sebuah paket tambahan,
Simulink, menambahkan simulasi grafis multiranah dan Desain
Berdasar-Model untuk sistem terlekat dan dinamik.(
http://id.wikipedia.org)

Pada tahun 2004, MathWorks mengklaim bahwa MATLAB telah


dimanfaatkan oleh lebih dari satu juta pengguna di dunia
pendidikan dan industri. MATLAB pertama kali diadopsi oleh
insinyur kontrol, tapi lalu menyebar secara cepat ke berbagai bidang
lain. Kini juga digunakan di bidang pendidikan, khususnya dalam
pengajaran aljabar linear dan analisis numerik, serta populer di
kalangan ilmuwan yang menekuni bidang pemrosesan citra.

Berikut di bawah ini merupakan karakteristik dari MATLAB:


 Bahasa pemrogramannya berdasarkan pada matriks (baris dan
kolom)

1
 Tersedia banyak toolbox untuk aplikasi-aplikasi khusus seperti;
Simulink, Neural Network, State Flow, Data Acquisition Toolbox,
Communications Blockset, Fuzzy Logic Toolbox, Image
Acquisition Toolbox, Signal Processing Blockset, dan lain
sebagainya.
 Dalam menulis kode programnya, tidak harus mendeklarasikan
array terlebih dahulu.
 Memiliki waktu pengembangan program yang lebih cepat
dibandingkan dengan pemrograman tradisional seperti Fortran,
dan C.

2
Bab II
Lingkungan Kerja MATLAB

2.1 Membuka Program MATLAB

Membuka program MATLAB dapat dilakukan dengan mengeksekusi


ikon MATLAB di layar komputer ataupun melalui tombol Start
di Windows. Setelah proses loading program, jendela utama
MATLAB akan muncul seperti di bawah ini.

Gambar 2.1 Jendela MATLAB

3
Bab VI
Grafik dan Suara

M ATLAB mempunyai beberapa keunggulan dalam


pengolahan grafik dan suara yaitu mampu menampilkan
dan mengolah grafik serta suara dengan command
yang sederhana dan fleksibel. Dalam bab ini akan dibahas tentang
cara membuat grafik dan mengolahnya, serta mebuat kode dan
membaca suara pada MATLAB.
Kita dapat mempelajari demo untuk membuat dan
memvisualisasikan grafik baik 2D maupun 3D yang terdapat pada
Help kemudian klik demos, Graphics, cari 2d atu 3d. Kita dapat ,
menjalankan M-file yang terdapat pada demo tersebut.

6.1 Plot 2 dimensi


Dalam mebuat grafik 2 dimensi, fungsi dasar yang terdapat
pada MATLAB yaitu fungsi plot. Untuk mengetahui definisi fungsi
ini, kita dapat mengetik help plot atau helpwin plot pada command
window MATLAB.
Coba kita buat plot sederhana dengan menggunakan perintah
plot. Ketikkan perintah di bawah ini pada command window
MATLAB.

>> x=1:1:9;
>> y=[10 11 15 14 13 17 15 18 16];
>> plot(x,y)

Akan muncul window baru berisi figure hasil plotting. Perhatikan


kegunaan dari ikon yang ada.

4
BELUM
DIKASIH
KETERANG
AN

Gambar 6.1 Jendela figure

Kita juga bisa memberikan judul plot, label sumbu x dan


sumbu y, memberikan legenda, dan lain sebagainya pada jendela
figure, jika kita tidak melakukannya pada command window di
MATLAB.
Berikut dibawah ini merupakan command yang sering
digunakan untuk membuat dan mengolh grafik 2 dimensi.

Table 6.1 Perintah untuk mebuat grafik 2D


Perintah Fungsi
plot Membuat grafik 2 Dimensi
xlabel Memberi label pada sumbu-x
ylabel Memberi label pada sumbu-y
title Memberi judul di atas area plot
gtext(string) Menempatkan teks dengan mouse
text(x,y,string) Menambahkan tekspada lokasi (x,y) di grafik yang
aktif
grid on Memunculkan grid di dalam area plot
5
grid off Menghapus grid
axis off Menghilangkan tampilan sumbu koordinat pada
plot
axis on Menampakkan kembali sumbu koordinat
axis (….) Membuat batas-batas plot pada sumbu x dan y
axis equal Mengubah skala sumbu-x dan sumbu-y menjadi
sama
axis square Mengubah bentuk area plot menjadi bujur sangkar
Xlim(…) Membatasi plot pada sumbu x
Ylim(…) Membatasi plot pada sumbu y
Legend (….) Menyisipkan legenda ke dalam plot
legend off Menghilangkan keterangan dari grafik yang aktif
clf “clear figure”, mengosongkan figure window yang
sedang aktif.

Sekarang akan kita buat plot persamaan kuadrat y=2x2+5x-7,


dengan x antara -10 sampa dengan 10. Ketikkan perintah di bawah
ini pada command window MATLAB.

>> clear
>> x=-6:1:6;
>> y=2*x.^2+5*x-7;
>> plot(x,y)
>> xlabel('sumbu x')
>> ylabel('sumbu y')
>> title(' Plot kurva y=2x^2+5x-7')
>> grid

Kita dapat menyalin hasil plot yang dihasilkan MATLAB, ke


dalam Microsoft word dengan cara klik Edit pada menubar, plih
Copy Figure, kemudian paste ke dalam dokumen Microsoft word
yang kita inginkan, sehingga akan dihasilkan plot seperti pada
gambar 6.2.

6
Plot kurva y=2x 2+5x-7
100

80

60
sumbu y

40

20

-20
-6 -4 -2 0 2 4 6
sumbu x

Gambar 6.2 Contoh Plot fungsi kuadrat

Terdapat tiga bentuk penulisan fungsi plot, yaitu:

plot(x,y), menampilkan vektor y (sumbu vertikal) terhadap


vektor x (sumbu horizontal).
plot(y) menampilkan vektor y terhadap indeksnya.
plot(x,y,s), menampilkan vektor y terhadap vektor x,
dengan format menurut string s. String s menyatakan
warna, bentuk penanda dan bentuk garis antarnilai.

Berikut adalah beberapa nilai yang dapat digunakan pada string s.

Tabel 6.2 Warna, bentuk penanda dan bentuk garis

Simbol Warna Simbol Penandaan Simbol Style garis


b Biru . Titik - Garis lurus
g Hijau o Lingkaran : Garis titik-titik
r Merah x Tanda silang -. Garis terpotong
dan titik

7
c Cyan + Tanda plus -- Garis terpotong-
potong
m Magenta * Bintang
Y Kuning s Bujursangkar
K Hitam d Diamond
w Putih ^ Segitiga ke
atas
v Segitiga ke
bawah
< Segitiga ke
kiri
> Segitiga ke
kanan
p Pentagram
h Heksagram

Jika kita tidak memilih warna pada saat menggunakan


perintah plot, MATLAB akan memulainya dengan warna biru dan
berputar berurutan ke tujuh warna pertama dalam tabel untuk
setiap penambahan garis. Standar style garis adalah garis lurus
kecuali jika kita memberikan style garis yang lain pada saat
menggunakan perintah plot atau melalui jendela figure.

Untuk membuat plot yang terdapat string pada table 6.2,


ketikkan code seperti dibawah ini di dalam M-file.
t=0:0.1:5; % inkremen=0.1 agar kurva terlihat mulus
x=2*t-3; % fungsi linear
y=2*t.^2+5*t-7; % fungsi kuadrat
z=t.^3-5*t.^2+2*t+1; % fungsi polinomial orde 3
atau kubik
plot(t,x,'r-','LineWidth',1.5,hold on
plot(t,y,'b-.','LineWidth',1.5),hold on
plot(t,z,'k--','LineWidth',1.5)
legend('x','y','z','FontSize',12)
xlabel('t','FontSize',12)
ylabel('fungsi x, y, dan z','FontSize',12)
title('Fungsi linear, kuadrat, dan kubik', 'FontSize',12)
grid on
8
Setelah semua code pada M-file telah diketik semua,
kemudian simpan dan jalankan dengan klik icon run atau tekan
tombol F5 pada keyboard.

Fungsi linear, kuadrat, dan kubik


70
x
60 y
z
50

40
fungsi x, y, dan z

30

20

10

-10

-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t

Gambar 6.3 Plot fungsi linear, kuadrat, dan kubik

Berbagai fungsi yang berkaitan dengan plot di atas, berlaku


pula untuk plot diskrit, plot logaritmik dan plot dalam koordinat
polar. Berikut pada tabel 6.2 merupakan beberapa fungsi plot yang
menggunakan skala logaritmik.

Tabel 6.3 Fungsi skala logaritmik

Fungsi keterangan
semilogy( ... ) Plot dengan sumbu-y menggunakan
skala logaritmik (basis 10)
semilogx( ... ) Plot dengan sumbu-x menggunakan
skala logaritmik (basis 10)
loglog( ... ) Plot dengan sumbu-x dan sumbu-y
menggunakan skala logaritmik (basis 10)
9
Kita akan mocoba command pada tabel 6.3, yaitu pada fungsi
semilogy dengan fungsi eksponensial positif. Ketikkan beberapa
kode pada M-file seperti di bawah ini.

clear all
clc
x=linspace(0,5,500);
y1=exp(x);
y2=exp(2*x);
y3=exp(3*x);
y4=exp(5*x);
semilogy(x,y1,x,y2,x,y3,x,y4)
grid on
xlabel('sumbu-x')
ylabel('sumbu-y')
title('Kurva y = exp(Ax)')
legend('A=1','A=2','A=3','A=5')

12
Kurva y = exp(Ax)
10
A=1
A=2
10
10 A=3
A=5

8
10
sumbu-y

6
10

4
10

2
10

0
10
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
sumbu-x

Gambar 6.4 Plot fungsi menggunakan semilogy


10
6.1.2 Subplot

Perintah subplot digunakan untuk membuat beberapa plot


dalam satu jendela figure. Perintah subplot dapat dipanggil dengan
menggunakan syntax subplot(m,n,p), dimana m merupakan jumlah
baris plot, n merupakan jumlah kolom plot, dan p merupakan
urutan dari plot.

Untuk lebih memahami fungsi dari perintah subplot lihat


contoh di bawah ini, yang diketik pada M-file, menulis pada M-file
lebih efisien jika kita menulis langsung pada command window
MATLAB.
figure
x=0:0.1:5;
y1=exp(-2*x).*sin(20*x);
y2=sin(5*x).^2;
y3=cos(x).*sin(x);
y4=cosh(x);
subplot(2,2,1); % membuat plot degan jumlah 2
baris dan 2 kolom pada urutan ke 1
plot(x,y1)
xlabel('x')
ylabel('y1')
title('y1=exp(-2*x).*sin(20*x)')
grid on
axis([ 0 5 -1 1])
subplot(2,2,2); %membuat plot degan jumlah 2
baris dan 2 kolom pada urutan ke 2
plot(x,y2)
xlabel('x')
ylabel('y2')
title('y2=sin(5*x).^2')
grid on
axis([ 0 5 -1 1])
subplot(2,2,3); %membuat plot degan jumlah 2
baris dan 2 kolom pada urutan ke 3
plot(x,y3)
xlabel('x')
ylabel('y3')
11
title('y3=cos(x).*sin(x)')
grid on
axis([ 0 5 -1 1])
subplot(2,2,4); %membuat plot degan jumlah 2
baris dan 2 kolom pada urutan ke 4
plot(x,y4)
xlabel('x')
ylabel('y4')
title('y4=cosh(x)')
grid on
axis([ 0 5 0 80])

y1=exp(-2*x).*sin(20*x) y2=sin(5*x). 2
1 1

0.5 0.5
y1

y2

0 0

-0.5 -0.5

-1 -1
0 1 2 3 4 5 0 1 2 3 4 5
x x
y3=cos(x).*sin(x) y4=cosh(x)
1 80

0.5 60
y3

y4

0 40

-0.5 20

-1 0
0 1 2 3 4 5 0 1 2 3 4 5
x x

Gambar 6.5 Subplot

12
6.1.2 ezplot

Perintah ezplot digunakan untuk membuat plot dengan


membuat simbol atau variabel terlebih dahulu kemudian
mendefinisikan suatu fungsi terlebih dahulu. Untuk mendefinisikan
suatu variabel atau simbol dapat menggunakan perintah syms.

Kita akan membuat plot suatu fungsi dibawah ini dengan


menggunakan ezplot

x3  y 2  0

>>syms x y;
>>ezplot(x^3-y^2)
>>grid on

x 3-y 2 = 0
6

0
y

-2

-4

-6
-6 -4 -2 0 2 4 6
x

Gambar 6.6 Plot menggunakan fungsi ezplot

13
Selain fungsi plot dari ezplot terdapat juga seperti fungsi
berikut ini: ezcontour, ezcontourf, ezmesh, ezmeshc, ezplot3,
ezpolar, dan ezsurf, dan ezsurfc. Untuk mengetahui fungsi tersebut
dapat dicari pada help, demos di MATLAB help.

Plot yang sudah dibahas sebelumnya merupakan cara mebuat


plot dengan garis lurus. Sekarang akan dibahas cara membuat plot
dengan menggunakan perintah bar, stairs, errorbar, polar, stem,
scatter dan fill. Masih ada fungsi plot untuk 2 dimensi yang lain yang
tidak kita bahas, tentu kita bisa mempelajarinya lewat help, demos
pada MATLAB.

6.1.3 bar dan barh

Bar digunakan untuk membuat plot batang pada posisi


vertikal, sedangkan barh digunakan untuk membuat plot batang
pada posisi horizontal.

% Contoh plot bar dan barh


x = -2.9:0.2:2.9;
subplot(1,2,1)
bar(x,exp(-x.*x));
title('bar')
subplot(1,2,2)
barh(x,exp(-x.*x));
title('barh')
grid

14
bar barh
1 3

0.9
2
0.8

0.7
1
0.6

0.5 0

0.4
-1
0.3

0.2
-2
0.1

0 -3
-4 -2 0 2 4 0 0.5 1

Gambar 6.7 Contoh Plot bar dan barh

6.1.4 stairs

Satirs step graphs digunakan untuk membuat grafik waktu


domain sample dari data digital.

% Contoh plot stairs


t=0:0.1:10;
y=sin(2*pi*t); % inkremen stairs 0.1 detik
subplot(1,2,1)
stairs(t,sin(t))
xlabel('t')
ylabel('y')
title('y=sin(t)')
grid on
subplot(1,2,2)
stairs(t,cos(t),'r')
xlabel('t')
ylabel('y')
title('y=cos(t)')

15
y=sin(t) y=cos(t)
1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
y

y
-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8

-1 -1
0 5 10 0 5 10
t t

Gambar 6.8Contoh Plot stairs

6.1.5 errorbar

Errorbar ………………………………………………………

Contoh membuat errorbar simetri dengan panjang dua satuan


standar deviasi.

% Contoh plot errorbar


X = 0:pi/10:pi;
Y = sin(X);
E = std(Y)*ones(size(X));
errorbar(X,Y,E)

16
1.4

1.2

0.8

0.6

0.4

0.2

-0.2

-0.4
-0.5 0 0.5 1 1.5 2 2.5 3 3.5

Gambar 6.9 Contoh Plot errorbar

6.1.6 Polar
Polar merupakan suatu perintah dalam MATLAB yang
berfungsi untuk menggambar grafik dalam koordinat polar. Syntax
yang sering digunakan yaitu polar(theta,rho), membuat grafik dalam
koordinat polar, dengan sudut theta dan jari-jari rho.

% Contoh plot polar


t=0:.01:2*pi;
subplot(1,2,1)
polar(t,abs(sin(2*t).*cos(2*t)),'b');
title('abs(sin(2*t).*cos(2*t)')
subplot(1,2,2)
polar(t,(sin(2*t)),'r');
title('sin(2*t)')

17
abs(sin(2*t).*cos(2*t) sin(2*t)
90 0.5 90 1
120 60 120 60

150 0.25 30 150 0.5 30

180 0 180 0

210 330 210 330

240 300 240 300


270 270

Gambar 6.10 Contoh Plot polar

6.1.7 Stem
Fungsi stem digunakan untuk membuat rangkaian data
diskrit.

% Contoh plot stem


x = 0:0.1:4; %inkremen untuk scatter 0.1
y = sin(x.^2).*exp(-x);
stem(x,y)
title('Plot menggunakan stem')

18
Plot menggunakan stem
0.35

0.3

0.25

0.2

0.15

0.1

0.05

-0.05

-0.1

-0.15
0 0.5 1 1.5 2 2.5 3 3.5 4

Gambar 6.11 Contoh Plot stem

6.1.8 Scatter
……………………..

% Contoh plot scatter


t=0:.5:10; % inkremen untuk scatter 0.5
y=sin(t)
z=t.^2-5*t+3
subplot(1,2,1)
scatter(t,y,'r*');
title('y=sin(t)')
subplot(1,2,2)
scatter(t,z,'b+');;
title('z=t.^2-5*t+3')
19
y=sin(t) z=t. 2-5*t+3
1 60

0.8
50
0.6

0.4 40

0.2
30
0
20
-0.2

-0.4 10

-0.6
0
-0.8

-1 -10
0 5 10 0 5 10

Gambar 6.12 Contoh Plot scatter

6.1.8 fill
Fill merupakan suatu fungsi pada MATLAB yang digunakan
untuk membuat grafik segi banyak berwarna pada grafik 2 dimensi.

% Contoh plot fill


% Segi delapan warna hijau
subplot(1,2,1)
t = (1/16:1/8:1)'*2*pi;
x = sin(t);
y = cos(t);
fill(x,y,'g')
axis square
title('Segi delapan warna hijau')
% Segi duabelas warna merah
subplot(1,2,2)
n=-6:6;
a=sin(n*pi/6);
b=cos(n*pi/6);
fill(a,b,'r')
axis square
title('Segi duabelas warna
20 merah')
Segi delapan warna hijau Segi duabelas warna merah
1 1

0.5 0.5

0 0

-0.5 -0.5

-1 -1
-1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1

Gambar 6.13 . Contoh plot fill

6.2 Plot 3 dimensi

Pada subbab ini akan dibahas beberapa fungsi pada MATLAB


untuk membuat grafik/plot 3 dimensi.

6.2.1 Plot garis

Plot garis di dalam ruang 3-dimensi Ini mirip dengan plot 2-


dimensi, tetapi kali ini digunakan command plot3( ... ), dan
dibutuhkan vektor z, untuk dimensi ketiga. Berikut ini merupakan
contoh code yang ditulis pada M-file:

% Contoh 1: plot 3 dimensi helix


t = 0:pi/50:5*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)');ylabel('cos(t)');
zlabel('t');title ('Helix');
grid on
axis square

21
Helix

20

15

10
t

0
1
0.5 1
0 0.5
0
-0.5
-0.5
cos(t) -1 -1
sin(t)

Gambar 6.14 Contoh plot3 Helix

Perhatikan bahwa command label, title, grid, axis, hold,


dan subplot juga berlaku di sini. Kita juga bisa merotasi gambar 3-
dimensi tersebut dengan cara men-klik ikon rotate dan dragging
mouse di atas gambar atau mengedit plot dengan melalui jendela
figure.

% Contoh 2: plot 3 dimensi


persegi panjang
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 ('Persegi panjang');
axis([0 25 0 20 0 80])

22
Persegi panjang

80

60
sumbu Z

40

20

0
20
15 25
20
10 15
5 10
5
sumbu Y 0 0
sumbu X

Gambar 6.15 Contoh plot3 Persegi panjang

6.2.2 Mesh dan meshc


Fungsi mesh digunakan untuk membuat plot grafik 3-D dalam
bentuk mesh surface. Sebelum kita menggunakan fungsi ini
sebaiknya kita mengenal fungsi meshgrid terlebih dahulu. Fungsi ini
menjalankan 2 x2 D array untuk plot 3-D.
>> x=[1 3 5];
>> y=[10 15 20];
>> [xi yi]=meshgrid(x,y)
xi =

1 3 5
1 3 5
1 3 5
yi =
10 10 10
15 15 15
20 20 20

23
Perhatikan bahwa matriks xi berisi replikasi baris dari array x
sedangkan yi berisi replika kolom y. Nilai z dihitung dari array xi dan
yi.

Untuk menggunakan perintah mesh dan meshc sebaiknya


digunakan cara di bawah ini:
1) Definisikan batas-batas nilai x dan y yang akan diplot.
2) Gunakan perintah meshgrid untuk “mengisi” bidang-XY
dengan jalinan titik.
3) Hitunglah fungsi 3-dimensi untuk jalinan titik tersebut atau
tentukan fungsi z.
4) Buatlah plot dengan perintah mesh atau meshc.

Untuk mengetahu fungsi mesh dan mesh c, ketik perintah


dibawah ini dalam M-file.
% Contoh plot menggunakan mesh
x=-2*pi:0.1:2*pi;% mendefinisikan batas nilai x
y=x;% mendefinisikan batas-batas nilai y
[x,y] = meshgrid(-2*pi:0.1:2*pi);
z = sin(x).*cos(y); % mendefinisikan fungsi 3-D
mesh(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')
colormap(jet) % memberikan pola warna

24
Gambar 6.16 Contoh plot mesh

Colormap digunakan untuk mengatur permukaan dengan warna


yang didefinisikan oleh pengguna. Jika perintah colormap tidak
ditambahkan maka MATLAB akan menggunakan warna permukaan
secara default. Berikut ini daftar colormap yang tersedia dalam
MATLAB.

Gambar 6.17 Colormap

25
Meshc digunakan untuk memplot grafik 3-D (mesh surface)
bersama plot kontur di bawah permukan plot.

% Contoh plot menggunakan meshc


x=-2*pi:0.1:2*pi;% mendefinisikan batas-batas
nilai x
y=x;% mendefinisikan batas-batas nilai y
[x,y] = meshgrid(-2*pi:0.1:2*pi);
z = sin(x).*cos(y); % mendefinisikan fungsi 3-D
meshc(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')
colormap(cool) % memberikan pola warna

Gambar 6.18 Contoh plot meshc


26
6.2.3 surf, surfc, dan surfl

Fungsi surf sama dengan mesh digunakan untuk membuat


plot grafik 3-D dalam bentuk surface tapi untuk permukaan yang
’gelap’.
Sekarang kita coba contoh yang lain untuk memplot fungsi
3-dimensi dengan menggunakan perintah surf.
sin(r )
z , dimana r  x 2  y 2
r
% Contoh plot menggunakan surf
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);

0.5

-0.5
10
5 10
0 5
0
-5 -5
-10 -10

Gambar 6.19 Contoh plot surf

27
Dalam hal ini digunakan variabel eps, untuk mencegah
perhitungan 0/0 ketika R = 0.

surfc digunakan untuk memplot grafik 3-D (surf surface)


bersama plot kontur di bawah permukan plot. Sebagai contoh akan
dibuat sebuah persamaan parabola hiperbol.
z  y2  x2
dimana -1< x <1 dan, -1< y <1

% Contoh plot menggunakan surfc


x=-1:0.1:1;
y=x;
[xi yi]=meshgrid(x,y);
zi=yi.^2-xi.^2;
surfc(xi,yi,zi)
axis off

Gambar 6.20 Contoh plot surfc

28
Fungsi surf sama dengan surf yang digunakan untuk
membuat plot grafik 3-D dalam bentuk surface tapi untuk
permukaan yang ber ’shading’.
z  ye  x
2

% Contoh plot menggunakan surfl


x=-3:0.1:3;
y=x;
[xi yi]=meshgrid(x,y);
zi=yi.*exp(-xi.^2);
surfl(xi,yi,zi)
shading interp
colormap(pink)

Gambar 6.21 Contoh plot surfc

Pada baris ke tujuh terdapat perintah shading, yang


digunakan untuk mengontrol kegelapan warna yang digunakan.

29
6.2.4 Contour

Fungsi dua variabel, misalkan z = f(x,y) bisa digambarkan


konturnya dalam dua dimensi dengan perintah berikut ini:

Table 6.3 Fungsi contour


Fungsi Keterangan
contour(X,Y,Z) Menggambar kontur dari nilai di Z dengan 10
level. Elemen Z diterjemahkan sebagai level-
level di atas bidang (x,y)
C = contour(X,Y,Z) Menghitung matriks kontur C
contour(X,Y,Z,n) Menggambar kontur dengan n level
contour( ... , menggambar kontur dengan properti yang
‘string’) ditentukan oleh string (lihat tabel 6.2)
clabel(C) Menuliskan angka pada garis-garis kontur
untuk menunjukkan level

Mari kita gambarkan kontur dari fungsi sin(r)/r pada sub


bab 6.2.3, lalu bandingkan dengan plot permukaannya:

% Contoh perbandingan plot


permukaan dan plot kontur
x = linspace(-10,10,40);
y = x;
[X,Y] = meshgrid(x,y);
R = sqrt(X.^2+Y.^2);
Z = sin(R)./(R+eps);
meshc(X,Y,Z);
colormap jet
contour(X,Y,Z);

30
Gambar 6.22 Contoh plot contour

6.2.5 Sphere dan cylinder


MATLAB mempunyai beberapa fungsi untuk menggambarkan
plot permukaan yang khusus yaitu fungsi sphere dan cylinder.
The sphere function generates the x-, y-, and z-coordinates of
a unit sphere for use with surf and mesh.

31
Table 6.4 Fungsi sphere

Fungsi Keterangan
sphere generates a sphere consisting of 20-by-20 faces.
sphere(n) draws a surf plot of an n-by-n sphere in the
current figure.
[X,Y,Z] =sphere(n) returns the coordinates of a sphere in three
matrices that are (n+1)-by-(n+1) in size. You
draw the sphere with surf(X,Y,Z) or mesh(X,Y,Z)

% Contoh plot sphere


sphere
axis equal

Gambar 6.23 Contoh plot sphere

32
Cylinder generates x-, y-, and z-coordinates of a unit
cylinder. You can draw the cylindrical object using surf or mesh,or
draw it immediately by not providing output arguments.

Berikutnya akan kita buat sebuah kerucut dengan


menggunakan perintah cylinder.
% Contoh plot cylinder
cylinder([1 0])
h = findobj('Type','surface');
set(h,'CData',rand(size(get(h,'CData'))))
title('kerucut')

Gambar6.24 Contoh plot cylinder (kerucut)

Contoh yang berikutnya kan dibuat sebuah plot 3-D dengan


profil kurva r=3sin(t).

33
% Contoh plot cylinder
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(3+sin(t));
surf(X,Y,Z)
axis square

Gambar 6.25 Contoh plot cylinder


6.3 Animasi

34
[x,y] = meshgrid([-10:0.5:10]);
for j = 1:15
z = bessel(0, (j-1)*0.2 + sqrt(x.^2
+y.^2));
surf(x,y,z)
axis([-10 10 -10 10 -.5 1])
M(j) = getframe;
end
frame_order = [1:15 14:-1:1];
number_repeats = 7;
movie(M, [number_repeats frame_order]);

Gambar 6.26 Contoh plot animasi 1

35
h = uicontrol('style','slider','position',...
[10 50 20 300],'Min',1,'Max',16,'Value',1)
for k = 1:16
plot(fft(eye(k+16)))
axis equal
set(h,'Value',k)
M(k) = getframe(gcf);
end
clf
axes('Position',[0 0 1 1])
movie(M,30)

Gambar 6.26 Contoh plot animasi 1

36
6.4 Suara

MATLAB juga bisa digunakan untuk mengolah suara yang


mempunyai format WAV, menjadi bentuk vektor dan frekuensi
sampling. Untuk menyuarakan suatu vektor, ataupun membaca dan
menyimpan file audio berformat WAV, digunakan perintah berikut
ini:
Tabel fungsi suara
Fungsi Keterangan
[x,Fs] = Membaca file berformat WAV dan
wavread(‘nama_file’) menyimpannya dalam vektor x, serta
mengembalikan frekuensi sampling Fs
dari file tersebut. Command ini juga
bisa membaca file berformat WAV
multi kanal.
wavwrite(x,Fs,’nama_file’) Menuliskan file berformat WAV dari
vektor x dengan frekuensi sampling Fs.
sound(x,Fs) Menyuarakan vektor x dengan
frekuensi sampling Fs.
soundsc(x,Fs) Sama seperti sintaks sebelumnya, tetapi
vektor x terlebih dahulu diskalakan
pada selang –1 ≤ x ≤ +1.

File berformat WAV yang akan dibaca harus tersimpan di


direktori Matlab\work, atau harus dirinci drive, direktori dan nama
file jika file tersimpan di direktori lain atau.

37
View publication stats

Anda mungkin juga menyukai