Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
BAB 1
PENGENALAN MATLAB
1.1. Definisi MATLAB
MATLAB (Matrix Laboratory) adalah bahasa singkat tingkat tinggi dan interaktif
yang memungkinkan untuk melakukan komputasi secara intensif. MATLAB telah
berkembang menjadi sebuah environment pemrograman yang canggih yang berisi
fungsi – fungsi built-in untuk melakukan pengolahan sinyal, aljabar linear, dan
kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi – fungsi
tambahan untuk aplikasi khusus. Penggunaan MATLAB meliputi bidang – bidang
berikut ini:
- Matematika dan Komputasi
- Pembentukan Algoritma
- Akuisisi Data
- Pemodelan, Simulasi, dan Pembuatan Purwarupa
- Analisis Data, Eksplorasi, dan Visualisasi
- Grafik Keilmuan dan Bidang Rekayasa
1.2. Memulai MATLAB
Setelah melakukan instalasi MATLAB pada PC, perhatikan icon MATLAB pada
tampilan Desktop, kemudian double-click pada icon tersebut. Selanjutnya akan
muncul tampilan seperti pada Gambar 1.1.
Gambar 1.1 Tampilan Awal MATLAB
Pada tampilan awal MATLAB, terlihat beberapa jendela yang merupakan bagian
penting di dalam MATLAB, antara lain sebagai berikut:
a. Jendela Perintah (Command Window)
Pada Command Window, seluruh perintah MATLAB dituliskan dan dieksekusi.
Kita dapat menuliskan perintah perhitungan sederhana, memanggil fungsi,
mencari informasi tentang sebuah fungsi dengan aturan penulisannya (help),
demo program, dan sebagainya. Setiap penulisan perintah selalu diawali dengan
prompt ‘>>’. Misal, mencari nilai sin 30, maka pada command window kita dapat
mengetikkan sebagai berikut:
>> sin (30*pi/180)
ans = 0.5000
b. Jendela Ruang Kerja (Workspace)
Jendela ini berisi informasi penggunaan variable di dalam memori MATLAB.
Misalkan, kita akan menjumlahkan dua buah bilangan, maka pada Command
Window, kita dapat mengetikkan seperti berikut ini:
>> bilangan1=7
bilangan1 = 7
>> bilangan2=9
bilangan2 = 9
>> hasil=bilangan1+bilangan2
hasil = 16
Maka pada Workspace akan menampilkan variabel yang sedang digunakan
seperti yang terlihat pada Gambar 1.2.
Gambar 1.2 Tampilan Workspace
Untuk melihat variabel yang aktif pada saat ini, kita dapat menggunakan
perintah who, seperti berikut ini:
>> who
Your variables are:
bilangan1 bilangan2 hasil
c. Jendela History (Command History)
Jendela ini berisi informasi tentang perintah yang pernah dituliskan sebelumnya.
Kita dapat mengambil kembali perintah dengan menekan tombol panah ke atas
atau melakukan klik perintah pada Command History, kemudian melakukan
copy-paste ke Command Window seperti pada Gambar 1.3.
Gambar 1.3 Tampilan Command History
BAB 2
VARIABEL DAN OPERATOR
2.1. Variabel
Seperti bahasa pemrograman lainnya, MATLAB pun memiliki variabel, tetapi
dalam penulisannya, variabel di dalam MATLAB tidak perlu dideklarasikan, karena
MATLAB mampu mengenali tipe data dari variabel berdasarkan isi variabel tersebut.
Aturan penulisan variabel pada MATLAB sama dengan aturan pada bahasa
pemrograman lainnya, yaitu bersifat case sensitive, diawali dengan huruf, dan
selanjutnya boleh menggunakan gabungan huruf angka atau tanda garis bawah.
MATLAB mampu mengenali sampai 31 karakter pertama, kemudian selanjutnya
diabaikan.
Contoh :
>> var_1=7.7
var_1 = 7.7000
>> var2=[ 2 3 4]
var2 = 2 3 4
Semua tipe data pada MATLAB memiliki bentuk yang sama, yaitu array. Array
minimal berukuran 0x0 dan dapat bertambah menjadi array 𝑛 𝑥 𝑚 dimensi dengan
sembarang ukuran. MATLAB mempunyai beberapa tipe data dasar (atau class), yaitu
Logical, Char, Numeric, Cell, Structure, Java Classes, Function Handles. Adapun
variabel khusus pada MATLAB seperti yang ditunjukkan pada Tabel 2.1.
Tabel 2.1 Penjelasan Variabel Khusus
Variabel Khusus Nilai
ans Untuk hasil apapun
pi Perbandingan antara keliling lingkaran dengan garus
tengahnya
eps Bilangan terkecil sedemikian rupa sehingga bila
ditambahkan pada satu, maka menghasilkan bilangan lebih
besar dari satu pada suatu komputer
flops Jumlah operasi floating point
inf Tak berhingga, misalnya 1/0
nan Bukan suatu bilangan, misalnya 0/0
i dan j i=j=√-1
nargin Jumlah argumen input suatu fungsi
nargout Jumlah argument output suatu fungsi
realmin Bilangan real positif terkecil yang dapat digunakan
realmax Bilangan real positif terbesar yang dapat digunakan
2.2. Operator
Pada MATLAB, operator diklasifikasikan menjadi tiga bagian, yaitu:
a. Operator Aritmatika
Operator yang digunakan untuk mengerjakan komputasi numerik. Jenis –
jenis operator aritmatika dapat dilihat pada Tabel 2.2.
Tabel 2.2 Jenis Operator Aritmatika
Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian (Aturan Matriks)
.* Perkalian masing – masing elemen yang bersesuaian
(Aturan Array)
/ Pembagian Kanan (Matriks)
./ Pembagian Kanan (Array)
\ Pembagian Kiri (Matriks)
.\ Pembagian Kiri (Array)
^ Perpangkatan (Matriks)
.^ Perpangkatan (Array)
: Langkah
b. Operator Relasional
Operator yang digunakan untuk membandingkan antar operand secara
kuantitatif. Jenis – jenis operator relasional dapat dilihat pada Tabel 2.3.
Tabel 2.3 Jenis Operator Relasional
Operator Keterangan
== Sama dengan
~= Tidak sama dengan
< Kurang dari
> Lebih dari
<= Kurang dari sama dengan
>= Lebih dari sama dengan
c. Operator Logika
Operator yang digunakan untuk membandingkan antar dua elemen logika,
yaitu logika benar (True/1) dan logika salah (False/0). Jenis – jenis operator
logika dapat dilihat pada Tabel 2.4.
Tabel 2.4 Jenis Operator Logika
Operator Keterangan
& Akan menghasilkan nilai 1 jika kedua elemen yang bersesuaian
memiliki nilai true dan 0 untuk lainnya
| Akan bernilai 1 jika salah satu elemennya true
~ Komplemen dari elemen yang dimasukkan
Xor Akan bernilai 1 jika salah satu dari kedua elemen memiliki nilai
berbeda dan bernilai nol jika sama
BAB 3
KONTROL PROGRAM
MATLAB dapat berlaku seperti bahasa pemrograman C ataupun PASCAL yang
memiliki struktur control program, biasanya pemrograman engan MATLAB
memerlukan lebih dari satu baris dan memungkinkan untuk didokumentasikan dalam
m-file, control program ini digunakan untuk memperbaiki tampilan atau membuat
tampilan sesuai yang kita inginkan. Dalam bagian ini akan dibahas sebagian control
program yang diperlukan dalam pemrograman menggunakan MATLAB.
3.1 Loop For
Penggunaan Loop For memungkinkan sekelompok perintah diulang sebanyak
suatu jumlah yang tetap. Bentuk umum dari Loop For ialah sebagai berikut:
for x = array
statement
end
Untuk setiap iterasi, variabel x diisi dengan kolom array berikutnya, yaitu dalam
iterasi ke-n dalam loop, x = array(:,n).
Contoh 1 :
>> for n = 1 : 10
x(n) = sin(n*pi/10);
end
>> x
x =
Columns 1 through 8
0.3090 0.5878 0.8090 0.9511 1.0000
0.9511 0.8090 0.5878
Columns 9 through 10
0.3090 0.0000
Contoh 2 :
>> for i = 1 : 5
disp(‘Ini hasil looping 5 kali’);
end
Ini hasil looping 5 kali
Ini hasil looping 5 kali
Ini hasil looping 5 kali
Ini hasil looping 5 kali
Ini hasil looping 5 kali
3.2 Loop While
Penggunaan Loop For mengerjakan sekelompok perintah yang diulang sebanyak
suatu jumlah, tetapi Loop While mengerjakan sekelompok perintah yang diulang
secara tidak terbatas. Bentuk umum dari Loop While ialah sebagai berikut:
while ekspresi
statement
end
Semua elemen yang dieksekusi diantara while dengan end dan harus bernilai
benar.
Contoh 1 :
>> x=0;
>> while x<5
disp(‘Diulang 5 kali’);
x=x+1;
end
Diulang 5 kali
Diulang 5 kali
Diulang 5 kali
Diulang 5 kali
Diulang 5 kali
3.3 Konstruksi If-Else-End
Seringkali sederetan perintah harus dikerjakan dengan didasarkan pada hasil tes
rasional. Dalam bahasa pemrograman, logika ini dikerjakan dengan variasi konstruksi
if-else-end. Bentuk paling sederhana konstruksi if-else-end dapat dideklarasikan
seperti berikut ini:
if ekspresi
perintah
end
Contoh 1 :
>> angka=-4;
>> if angka > 0
disp(‘nilainya adalah positif’);
else
disp(‘nilainya adalah negatif);
end
nilainya adalah negative
BAB 4
ARRAY, MATRIKS, POLINOMIAL
4.1 Array
MATLAB menangani array secara intuitif. Untuk membuat array dalam MATLAB,
yang perlu dilakukan hanyalah mengetikkan kurung kotak kiri, memasukkan elemen-
elemen dengan dipisahkan oleh spasi atau koma, kemudian menutup array dengan
kurung kotak kanan. Berikut ini akan diberikan beberapa contoh assignment untuk
array :
a. Pengalamatan array
Dalam MATLAB elemen-elemen array diakses menggunakan subscript;
misalnya x(1) adalah elemen pertama x, x(2) adalah elemen kedua x, dan
seterusnya.
Contoh :
1. >> x = [2 4 6 8 10]
Dapat dilihat bahwa x(1)=2, x(2)=4, x(3)=6, x(4)=8, x(5)=10
>> x(4) %elemen keempat x
ans =
8
2. >> x([1 3 5])=[0.2 0.5 0.7]
Maka x(1)=0.1, x(3)=0.5, x(5)=0.7 dan x(i) untuk i=2,3,4 bernilai 0.
3. Nilai array dapat juga diisikan sebagai berikut :
>> x=4:1:9
X =
4 5 6 7 8 9
Artinya bahwa nilai array yang diisikan dengan angka dari 4 sampai 9
dengan penambahan 1 (default). Penambahan dapat bernilai sebarang,
bahkan dapat juga negative, seperti contoh berikut :
>> z=10:-2:1
Z =
10 8 6 4 2
4. Memisahkan elemen dengan titik koma membuat elemen berada
dalam baris yang berbeda, seperti contoh berikut :
>> y=[1;3;5;7;9]
y =
1
3
5
7
9
b. Menambahkan elemen array
>> x=[x 1 2] array sebelumnya
>> x=[x 2 4] %menambahkan 2 elemen dibelakang
X =
1 2 2 4
>> x=[1 2 x 3] %menambahkan dua elemen di depan,
satu dibelakang
X =
1 2 1 2 2 4 3
c. Mengakses sebagian elemen array
Dari contoh sebelumnya misalkan hanya diakses elemen ke 2 sampai ke empat
>> y=x(2:4)
y =
2 1 2
d. Menghapus elemen array
Dapat dilihat contoh berikut :
Menghapus elemen terakhir dari array
>> n=[1 3 5 7 9]
n =
1 3 5 7 9
>> n=n(1:length(n)-1)
n =
1 3 5 7
e. Menghapus elemen pada index tertentu
Misalkan z=[1 2 3 4 5] dan ingin dihapus z pada index ke 2 dan 4 maka:
>> z=[1 2 3 4 5]
Z =
1 2 3 4 5
>> z([2 4]) = []
Z =
1 3 5
4.2 Matriks
Matlab menggunakan matriks sebagai dasar komputasinya. Secara garis besar
matlab membagi matriks menjadi 2 bagian, yaitu :
a. Matriks Khusus
1. Matriks Nol
Matriks yang elemennya bilangan nol
Bentuk umum :
>> zeros(n,m)
Contoh :
>> zeros(4,5)
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
2. Matriks Satu
Matriks yang elemennya bilangan saty
Bentuk umum :
>>ones(n,m) Contoh :
>> ones (2,3)
ans =
1 1 1
1 1 1
3. Matriks Identitas
Bentuk umum :
>>eye(n)
Contoh :
>> eye(4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
4. Matriks Bujur Sangkar Ajaib
Matriks yang memiliki hasil jumlah yang pada elemen-elemen baris, kolom
dan diagonalnya.
Bentuk umum :
>>magic(n)
Contoh :
>> magic(3)
ans =
8 1 6
3 5 7
4 9 2
5. Matriks Acak
Matriks yang memiliki nilai acak berdasarkan distribusi statistic pada
elemennya.
Bentuk umum :
>>rand(n,m)
Contoh :
>> rand(3,2)
ans =
0.9501 0.4860
0.2311 0.8913
0.6068 0.7621
b. Matriks yang didefinisikan oleh User
Matlab juga menyediakan bentuk matriks yang didefinisikan oleh user.
Contoh :
>> S=[1 2 3;7 8 9]
S =
1 2 3
7 8 9 Tanda semicolom ‘;’ digunakan untuk memisahkan baris satu dengan yang lain.
4.2 Polinomial
Di Matlab, sebuah polinomial diwakilkan oleh sebuah vector. Untuk menciptakan
polinomial di Matlab, masukkan coefficient polynomial kedalam vector dalam orde
yang menurun.
Misalkan polynomial berikut :
𝒔𝟒 + 𝟑𝒔𝟑 − 𝟏𝟓𝒔𝟐 − 𝟐𝒔 + 𝟗
Untuk memasukkan ke dalam Matlab, masukkan :
>> x = [1 3 -15 -2 9]
x =
1 3 -15 -2 9
Matlab dapat juga menginterpretasikan sebuah panjang n+1 sebagai nth order
polynomial. Jika polynomial missing pada coefficients, anda harus memasukkan nilai nol
kedalam tempat yang bersesuaian di dalam vector.
Contoh :
𝒔𝟒 + 𝟏
ditulis di Matlab, sebagai :
>> y = [1 0 0 0 1]
Anda dapat mencari nilai polynomial menggunakan fungsi polyval.
Contoh :
Untuk mencari nilai polynomial pada s=2, yaitu :
>> z = polyval([1 0 0 0 1],2)
z =
17
Anda dapat mengekstrak akar polynomial.
Contoh :
𝒔𝟒 + 𝟑𝒔𝟑 − 𝟏𝟓𝒔𝟐 − 𝟐𝒔 + 𝟗
Untuk mencari akar polynomial :
>> roots([1 3 -15 -2 9])
ans =
-5.5745
2.5836
-0.7951
0.7860
Jika anda ingin mengalikan hasil 2 polynomials lakukan dengan convulotion dari
coefficient. Fungsi conv dapat digunakan.
>> x = [1 2];
>> y = [1 4 8];
>> z = conv(x,y)
z =
1 6 16 16
Untuk membagi 2 polynomials dapat dilakukan dengan fungsi deconv. Misalkan z dibagi
y dengan hasil x.
>> [xx, R] = deconv(z,y)
xx =
1 2
R =
0 0 0 0
Jika nda ingin menambah 2 polynomial secara bersamaan dengan orde yang sama,
buatah z=x+y akan berhasil (vectors x dan y harus mempunyai panjang yang sama).
Secara umum, anda dapat mendefinisikan fungsi polyadd.
>> z = polyadd(x,y)
X =
1 2
y =
1 4 8
z =
1 5 10
BAB 5
M-FILE DAN GRAFIK
5.1 Pemrograman M-File
M-file merupakan sederetan perintah matlab yang dituliskan secara berurutan
sebagai sebuah file. Nama file yang tersimpan akan memiliki ekstensi .m yang
menandakan bahwa file yang dibuat adalah file matlab. M-file dapat ditulis sebagai
sebuah script atau dapat pula ditulis sebagai sebuah fungsi yang menerima argument
atau masukan yang menghasilkan output.
Contoh script sederhana dari matlab :
%menghitung akar dari
%persamaan kuadrat y=ax^2 +bx +c
Clc
Clear
a=input(‘masukkan konstanta a=’)
b=input(‘masukkan konstanta b=’)
c=input(‘masukkan konstanta c=’)
x1=(-b+sqrt(b^2-4*a*c))/(2*a)
x2=(-b+sqrt(b^2-4*a*c))/(2*a)
5.2 Grafik
Matlab mempunyai bermacam-macam fungsi untuk menampilkan grafik, dimana
setiap fungsi memiliki perbedaan dalam menskalakan garis sumbu. Setiap menerima
inputan dalam bentuk vector atau matriks, matlab akan menskalakan secara otomatis.
a. Plot
Fungsi plot digunakan untuk menggambar grafik 2D dengan skala linear pada
kedua sumbunya.
Contoh :
>> x=-10:10;
>> y=x.^2;
>> plot(x,y)
Hasilnya akan tampak seperti pada Gambar 5.1.
Gambar 5.1 Gambar Grafik 2D Dengan Skala Linear
b. Plot3
Fungsi plot3 digunakan untuk menampilkan grafik 3 dimensi. Plot3
memerlukan 3 argumen dengan bentuk plot3(x,y,z), dimana x, y, z merupakan 3
bagian vector yang sama panjang.
Contoh : >> t=0:pi/100:10*pi;
>> plot3(sin(2*t), cos(2*t), t)
Hasilnya akan tampak seperti pada Gambar 5.2.
Gambar 5.2 Gambar Grafik 3D Dengan 3 Bagian Vector Sama Panjang
c. Bar
Fungsi bar digunakan untuk menampilkan data yang berbentuk vector maupun
matriks. Grafik bar digunakan untuk menampilkan sekumpulan data selama kurun
waktu tertentu dan cocok untuk menampilkan data dalam bentuk diskrit.
Contoh :
>> t=[10 30 21 52; 34 67 12 23; 90, 23, 45, 26; 58 94
30 20];
>> bar(t)
>> grid on
Hasilnya akan tampak seperti pada Gambar 5.3.
Gambar 5.3 Gambar Grafik Bar
Matlab juga menyediakan dalam bentuk 3 dimensi, yaitu bar3. Misal grafik
Gambar 5.3 disajikan dalam bar3, maka kita ketik perintah berikut :
>>bar3(t)
Hasilnya akan tampak seperti pada Gambar 5.4.
Gambar 5.4 Gambar Grafik Bar3
BAB 6
ANALISA DATA DAN INTERPOLASI
6.1 Analisa Data
Dalam bab ini, kita akan belajar bagaimana menganalisis dan memanipulasi data
mempergunakan MATLAB, terutama untuk perhitungan statistik: rentang data,
maksimum/minimum, rata-rata, deviasi, jumlah kumulatif, dan sebagainya. Di MATLAB
fungsi-fungsi statisitik semacam ini telah ada dan bisa digunakan secara fleksibel. Dalam
penjelasan bab ini, x dan y kita misalkan sebagai vector (baris ataupun kolom), dan A
dan B sebagai matriks m×n.
a. Maksimum dan Minimum
Nilai maksimum dan minimum diperoleh dengan command pada Tabel 6.1
berikut ini :
Tabel 6.1 Tabel Fungsi Command
COMMAND KETERANGAN
max(x) Menghitung nilai maksimum dari elemen vector x. Jika x bernilai kompleks maka dihitung max(abs(x))
max(A) Menghitung nilai maksimum dari setiap kolom di matriks A; hasilnya berupa vector 1×n
max(max(A)) menghitung nilai maksimum dari elemen matriks A
max(A,B) menghitung matriks berukuran sama dengan A dan B dengan elemen berisi nilai terbesar di antara elemen A dan B pada posisi yang sama
min(…) sama dengan sintaks max(…) diatas, tetapi untuk mencari minimum
Mari kita praktekkan beberapa contoh untuk menambah pemahaman terhadap
sintaks di atas. Misalkan x ialah data tinggi badan dari 10 orang, dan A ialah data
indeks prestasi (IP) dari 4 mahasiswa dalam 3 semester. Dapat dilihat pada Tabel
6.1 dan Tabel 6.2 berikut :
Tabel 6.2 Tabel Data Tinggi Badan
Data Tinggi Badan (dalam cm)
175 177 173 165 160 170 174 177 168 170
Tabel 6.3 Tabel Data IP Mahasiswa
Data IP Mahasiswa
Nama IP sem-1 IP sem-2 IP sem-3
Agus 3,3 2,8 3,3
Dedy 3,9 4,0 3,8
Tanjung 3,8 3,5 2,9
Vijay 2,9 3,2 3,1
>> x=[175 177 173 165 160 170 174 177 168 170];
>> A=[3.3 2.8 3.3;3,9 4.0 3.8;3.8 3.5 2.9;2.9 3.2
3.1];
>> max(x)
ans =
177
>> max(A), max(A’)
ans =
3.9000 4.0000 3.8000
ans =
3.3000 4.0000 3.8000 3.2000
>> max(max(A))
ans =
4
Kita bisa melihat bahwa max(x) menghitung tinggi maksimum dari 10 orang yang
ada, max(A) menghitung IP tertinggi pada setiap semester, sedangkan max(A’)
menghitung IP tertinggi dari setiap mahasiswa. Sementara itu, max(max(A))
menghitung IP tertinggi yang pernah dicapai mahasiswa selama 3 semester.
b. Statistika
Sekarang kita belajar command untuk analisis data statistik, dapat dilihat pada
tabel 6.4.
Tabel 6.4 Tabel Command Data Statiska
COMMAND KETERANGAN
mean(x) menghitung rata-rata aritmatik dari elemen vector x
mean(A) menghitung rata-rata aritmatik dari elemen setiap kolom di matriks A; hasilnya berupa vector 1×n
median( …) sama seperti sintaks mean(…), tetapi untuk
std( …) menghitung median (nilai tengah) sama seperti sintaks mean(…), tetapi untuk
var(…) menghitung deviasi standard (simpangan baku) sama seperti sintaks mean(…), tetapi untuk menghitung variansi
Sebagai contoh, kita gunakan kembali data tinggi badan dan nilai IP mahasiswa
seperti sebelumnya.
>> x=[175 177 173 165 160 170 174 177 168 170];
>> A=[3.3 2.8 3.3;3.9 4.0 3.8;3.8 3.5 2.9;2.9 3.2
3.1];
>> rataan_IP_sem = mean(A)
rataan_IP_sem =
3.4750 3.3750 3.2750
>> rataan_IP_mhs = mean(A’)
rataan_IP_mhs =
3.1333 3.9000 3.4000 3.0667
>> rataan_IP_total = mean(mean(A))
rataan_IP_total =
3.3750
>> nilai_tengah = median(x), deviasi = std(x), ...
variansi = var(x)
nilai_tengah =
171.5000
deviasi =
5.4661
variansi =
29.8778
6.2 Interpolasi
Pada fungsi yang memilik sejumlah titik terbatas, dimungkinkan untuk
menentukan titik-titik perantaranya dengan interpolasi. Cara termudah untuk
menghitungnya ialah dengan menggunakan interpolasi linear untuk menghubungkan
dua titik yang berdekatan. Command interp1 menggunakan algoritma khusus untuk
interpolasi titik-titik data yang terpisah secara seragam. Untuk command ini, kita harus
tambahkan tanda asteris ‘*’ di depan nama metoda yang diinginkan, misalkan
interp(x,y,xx,’*nearest’).
yy = interp1(x,y,xx) menghitung vector yy yang panjangnya sama dengan vector
xx. Dalam hal ini yy fungsi dari xx merupakan interpolasi dari y fungsi dari x.
Vektor x harus diurutkan secara ascending / descending interp1(x,y,xx,’string’)
menghitung interpolasi 1-dimensi; string menunjukan metode yang digunakan,
yaitu: linear nearest spline cubic interpolasi linier interpolasi “nearest-neighbor”
interpolasi “cubic-spline” interpolasi kubik, membutuhkan jarak pisah seragam
pada x Apabila string tidak dituliskan, maka digunakan interpolasi linier. Untuk
semua metode tersebut, x harus diurutkan ascending / descending.
interp1q(x,y,xx) bekerja seperti interp1 namun lebih cepat untuk titik-titik data
yang terpisah tak seragam. x,y dan xx harus berupa vector kolom.
Misalkan kita memiliki data tekanan udara dalam suatu ruangan tertutup yang diukur
pada jam-jam tertentu sebagai berikut :
>> t = [0 2 3 5 8.5 10 12];
>> press = [660 900 400 300 500 50 300];
Sekarang kita interpolasi dengan metode dan kita plot pada satu gambar sekaligus :
>> tt = linspace(0,12,100);
>> PP1 = interp1(t,press,tt,’*linear’);
>> PP2 = interp1(t,press,tt,’*cubic’);
>> PP3 = interp1q(t’,press’,tt’);
>> figure;
>> plot(t,pres,’k*’,tt,PP1,’k-‘,tt,PP2,’k:’, ...
tt,PP3,’k--‘)
>> grid on;
>> xlabel(‘waktu (jam)’), ylabel(‘Pressure’)
>> legend(‘data’,’linier’,’kubik’,’interp1q’)
>> title(‘Perbandingan metode interpolasi’
Hasilnya dapat dilihat pada Tabel 6.1.
Gambar 6.1 Gambar Grafik Menggunakan Metode Interpolasi
BAB 7
VISUALISASI DAN FUNCTION M-FILE
7.1 Visualisasi 2D dan 3D
MATLAB memiliki beberapa bentuk grafis yang dapat dibuat dengan mudah dan
cara penggunaannya-pun sederhana. Berikut ini akan diberikan contoh-contoh untuk
menampilkan berbagai grafik berdasarkan kategori :
a. Grafik 2D :
1. Grafik garis, mencetak grafis chirp.
>> x=0:0.05:5; {Enter}
>> y=sin(x.^2); {Enter}
>> plot(x,y); {Enter}
2. Grafik Batang (Bar), mencetak kurva BELL.
>> x=-2.9:0.2:2.9; {Enter}
>> bar(x,exp(-x.*x)); {Enter}
3. Grafik tangga, mencetak Gelombang sinus dalam grafik tangga.
>> x=0:0.25:10; {Enter}
>> stairs(x,sin(x)); {Enter}
4. Grafik ErrorBar, mencetak Grafik ErrorBar pada fungsi dengan kesalahan
secara acak.
>> x=-2:0.1; {Enter}
>> y=erf(x); {Enter}
>> e=rand(size(x))/10; {Enter}
>> errorbar(x,y,e); {Enter}
5. Grafik Polar, mencetak fungsi perkalian sin dan cos dalam bentuk polar.
>> t=0:.01:2*pi; {Enter}
>> polar(t,abs(sin(2*t).*cos(2*t))); {Enter}
6. Grafik Stem, mencetak perkalian fungsi sin dengan eksponensial.
>> x=0:0.1:4; {Enter}
>> y=sin(x.^2).*exp(-x); {Enter}
>> stem(x,y) {Enter}
b. Grafik 3D :
1. Grafik Mesh, mencetak bentuk grafik mesh dari fungsi “peaks” yang telah
disiapkan didalam MATLAB.
>> z=peaks(25); {Enter}
>> figure(2);surf(z); {Enter}
2. Grafik Surface, mencetak grafik permukaan dari fungsi “peaks” dengan pola
warna “jet” yang telah didefinisikan didalam MATLAB.
>> z=peaks(25); {Enter}
>> surf(z); {Enter}
>> colormap(jet); {Enter}
3. Grafik Contour, mencetak kontur dari fungsi “peaks”.
>> z=peaks(25); {Enter}
>> contour(z,16); {Enter}
4. Grafik Quiver, mencetak pola arah gerakan suatu nilai.
>> x = -2:.2:2; y = -1:.2:1; {Enter}
>> [xx,yy] = meshgrid(x,y); {Enter}
>> zz = xx.*exp(-xx.^2-yy.^2); {Enter}
>> [px,py] = gradient(zz,.2,.2); {Enter}
>> quiver(x,y,px,py,2); {Enter}
7.2 Function M-File
Fungsi adalah m-file yang menerima argument input dan menghasilkan argument
output. Fungsi dapat dipanggil langsung dari command window atau dari suatu m-file
yang berbeda. Aturan penulisan fungsi dapat dilihat pada Gambar 7.1 berikut :
Gambar 7.1 Gambar Aturan Fungsi
Fungsi di dalam matlab jika disimpan secara default akan tersimpan dengan nama yang
sama dengan nama fungsinya.
Contoh perintah fungsi dapat dilihat pada Gambar 7.2.
Gambar 7.2 Gambar Contoh Perintah Fungsi
Jika kita akan menggunakan fungsi tersebut, maka pada command window kita tuliskan:
>> akar( 1, 8, -2)
Maka akan menghasilkan x1 = 1.1231 x2 = -7.1231
7.3 Bangun Dasar
MATLAB merupakan salah satu aplikasi yang dapat digunakan untuk
mensimulasikan pergerakan robot. Beberapa software pembantu dapat digunakan
untuk memudahkan pemahaman. Untuk menggambar bangun 3-dimensi dasar dapat
dilakukan dengan menggabungkan beberapa bidang atau patch pada MATLAB. Path
merupakan bidang 2-dimensi yang digambar dengan menggunakan perintah “patch()”
yang diikuti dengan koordinat dari tiap – tiap titik. Setiap titik akan dihubungkan satu
dengan yang lainnya, sehingga membentuk suatu bidang 2-dimensi. Contoh kode
program yang digunakan untuk menggambar bidang atau patch dijelaskan pada listing
berikut ini, sedangkan hasil yang akan ditampakkan setelah kode program tersebut
diolah terdapat pada Gambar 7.3.
function [x1,x2]=akar(a,b,c)
x1=(-b + sqrt(b^2-4*a*c))/(2*a)
x2=(-b - sqrt(b^2-4*a*c))/(2*a)
Gambar 7.3 Hasil Gambar Bidang/Patch
Gambar bangun balok dapat dibentuk dengan menggabungkan bidang datar dari
keempat sisi balok. Sebuah balok memiliki delapan buah titik seperti yang ditunjukkan
dalam Gambar 7.4. Agar dapat membentuk balok, maka diperlukan delapan buah
bidang secara berurutan seperti berikut ini.
Gambar 7.4 Titik – Titik Koordinat Balok
Kode program MATLAB yang dibutuhkan untuk menggambar dijelaskan pada
listing code berikut. Hasil eksekusi dari kode program berikut ini ditunjukkan pada
Gambar 7.5.
Gambar 7.5 Hasil Eksekusi Gambar Balok
Teknik dasar dalam menggabungkan bangun 2-dimensi dapat digunakan untuk
membentuk sebuah silinder dengan titik pusat tertentu. Pada dasarnya sebuah silinder
tersusun lebih dari empat bidang datar. Kode program untuk menghasilkan bangun
tersebut ditunjukkan sebagai berikut.
Hasil eksekusi dari kode program tersebut dapat terlihat pada Gambar 7.6 hingga
dapat menghasilkan sebuah bangun silinder.
Gambar 7.6 Hasil Eksekusi Gambar Silinder
7.4 Rotasi Bangun
Bangun 3-dimensi yang sudah terbentuk dapat diputar dengan menerapkan
matriks rotasi pada delapan titik koordinat awal. Penggambaran sebuah bangun hanya
memerlukan delapan titik dari ujung bidang yang akan digabungkan. Posisi koordinat
akhir dari bidang yang diputar dapat dihitung dengan melakukan operasi matematis
titik awal dan matriks rotasi (R) seperti yang dijelaskan pada persamaan berikut ini.
Matriks rotasi (R) yang digunakan adalah matriks rotasi keseluruhan dari titik
acuan bangun terhadap titik acuan koordinat global. Pada Gambar 7.7 menjelaskan
bagaimana perputaran yang dihasilkan dari transformasi.
Gambar 7.7 Perputaran Bangun 3-Dimensi
Pada MATLAB prinsip rotasi tersebut dapat diterapkan dengan menggunakan
kode program berikut ini yang akan menghasilkan keluaran seperti yang ditunjukkan
dalam Gambar 7.8.
Gambar 7.8 Hasil Eksekusi Perputaran Bangun 3-Dimensi
7.5 Teknik Animasi Pada MATLAB
Pada MATLAB teknik animasi dilakukan dengan cara melakukan perulangan
dengan menghapus dan menggambar ulang disertai pergeseran terhadap posisi
sebelumnya. Teknik ini dijelaskan secara rinci pada Gambar 7.9 memperlihatkan proses
pergerakan dari suatu objek tersebut. Kode program MATLAB dasar yang dapat
digunakan untuk menghasilkan gerak animasi tersebut ditunjukkan dalam listing code
berikut ini.
Gambar 7.9 Teknik Animasi Pada MATLAB