Matlab atau Matrix Laboratory merupakan bahasa pemrograman yang hadir dengan
fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah
ada lebih dahulu seperti Delphi, Basic maupun
C++. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk
kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi
matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan dan
grafik-grafik perhitungan. Matlab hadir dengan membawa warna yang
berbeda. Hal ini karena matlab membawa keistimewaan dalam fungsi-fungsi
matematika, fisika, statistik, dan visualisasi. Matlab dikembangkan oleh
MathWorks, yang pada awalnya dibuat untuk memberikan kemudahan mengakses data
matrik pada proyek LINPACK dan EISPACK. Saat ini matlab memiliki ratusan fungsi
yang dapat digunakan sebagai problem solver mulai dari simple sampai
masalah-masalah yang kompleks dari berbagai disiplin ilmu. Matlab banyak
digunakan dalam bidang fisika, matematika, analisis numerik, elektronika,
pemprosesan sinyal, pemodelan, dan lain-lain. Tujuan dari modul ini hanya untuk
memperkenalkan sebagian dari dasar-dasar pemrograman Matlab.
Pada antar muka awal MATLAB tersebut
terdapat 3 (tiga) jendela utama yaitu jendela Current Directory, Command Window
dan Command History.
1. Current
Directory
Window ini menampilkan isi dari
direktori kerja saat menggunakan matlab. Kita dapat mengganti direktori ini
sesuai dengan tempat direktori kerja yang diinginkan. Default dari alamat
direktori berada dalam folder works tempat program files Matlab berada.
2. Command
Window
Window ini adalah window utama dari
Matlab, digunakan untuk memasukkan perintah program (command) yang akan
dieksekusi. Command Window merupakan jendela
yang berfungsi untuk menuliskan serangkaian intruksi. Tanda >> pada
Command Window merupakan penanda baris intruksi.
3. Command
History
Command
History digunakan untuk melihat perintah program (command) yang yang berfungsi
untuk merekam intruksi-intruksi yang pernah dituliskan
di Command Window.
4. Workspace
Berfungsi untuk menampilkan seluruh
variabel-variabel yangsedang aktif pada
saat pemakaian matlab. Apabila variabel berupa data matriks berukuran besar
maka user dapat melihat isi dari seluruh data dengan melakukan double klik pada
variabel tersebut. Matlab secara otomatis akan menampilkan window “array
editor” yang berisikan data pada setiap variabel yang dipilih user.
1. Getting
Help
Matlab menyediakan fungsi help yang
tidak berisikan tutorial lengkap mengenai Matlab dan segala keunggulannya. User
dapat menjalankan fungsi ini dengan menekan tombol pada toolbar atau menulis perintah ‘helpwin’
pada command window. Matlab juga menyediakan fungsi demos yang berisikan video
tutorial matlab serta contoh-contoh program yang bisa dibuat dengan matlab.
2. Interupting
dan Terminating dalam Matlab
Untuk menghentikan proses yang sedang
berjalan pada matlab dapat dilakukan dengan menekan tombol Ctrl-C. Sedangkan
untuk keluar dari matlab dapat dilakukan dengan menuliskan perintah exit atau
quit pada comamnd window atau dengan menekan menu exit pada bagian menu file
dari menu bar.
3. Function
Function adalah kata kunci yang digunakan
untuk mendefinisikan prosedur pada
matlab. Fungsi dapat menerima input berupa berbagai parameter dan mengeluarkan
output berupa matriks, string, graf atau
figure. Beberapa contoh fungsi yang
terdapat pada Matlab seperti sin, imread, imclose dan lain-lain. Matlab masih
memiliki banyak fungsi lainnya.
Bentuk penulisan nama fungsi
Function [Nilai keluaran ] = namaFungsi
(nilai masukan)
% operasi dari fungsi
% …
% …
Contoh penggunaan:
fungsi yang akan dibuat bernama
‘testfungsi’ memiliki tiga nilai masukan ‘c,d,e’ dan dua nilai keluaran ‘a,b’:
function [a,b] = testFungsi(c,d,e)
%operasi yang dijalankan
a = c + d +e;
b = c * d *e;
Selanjutnya Fungsi tersebut akan
dijalankan melalui command window dengan nilai masukan ’10,2,4’. Perhatikan
penulisan kurung siku ‘[ ]’ pada nilai keluaran dan kurung biasa ‘( )’ pada
nilai masukan.
>> [a,b] = testFungsi(10,2,3)
a =
15
b =
60
4. M-File
M-File berfungsi untuk menangani
serangkaian baris intruksi yang tidak mungkin dituliskan satu-persatu di
Command Window. M-File terdiri dari dua jenis
yaitu Script M-File dan Function M-File.
M-File dapat dipanggil dengan memilih menu file->new->M-File. Di
dalam M-File, kita dapat menyimpan semua perintah dan menjalankan dengan
menekan tombol atau mengetikan nama M-File yang kita buat pada command window.
1. Script
M-File berfungsi untuk menangani baris-baris intruksi biasa 2.
2. Function
M-File berfungsi untuk membuat suatu fungsi.
5. Program
Sederhana
1. Iterasi
Bukalah Script M-File yang baru dengan
cara menekan “Ctrl + N” pada keyboard. Cobalah baris intruksi berikut:
clear all; clc;
%
for i=1:10
x(i)=i^2;
end
x
Lalu tekan F5 atau “fn + F5” untuk
mengeksekusi program. Catatan: intruksi
“clear”
berfungsi untuk membersihkan memory
sedangkan intruksi “clc” berfungsi untuk
membersihkan layar di Command Window.
2. Intruksi if – else – end
“if – else – end” merupakan jenis
intruksi bersayarat. Cobalah baris intruksi berikut:
clear all; clc;
%
for i=1:10
a=5;
if i<6
b(i)=i*a;
else
b(i)=i+a;
end
end
b
Jika terdapat serangkaian syarat yang
harus dipenuhi, maka dapat digunakan kombinasi-
kombinasi dari intruksi di atas,
seperti:
if
...
elseif
...
elseif
...
else
...
End
6. Operasi
Array
Pada bagian sebelumnya, jenis intruksi
for - end digunakan untuk melakukan iterasi atau perulangan. Walaupun MATLAB
menyediakan fitur tersebut, namun pada dasarnya MATLAB tidak didesain untuk
itu. Sebaiknya hal itu dihindari dan diganti dengan operasi array karena
kekuatan MATLAB memang terletak pada komputasi berbasis vektor dan matriks.
Cobalah baris-baris intruksi pembuatan array berikut dan perhatikan output yang
dihasilkannya:
clear all; clc;
%
x=0:10
y=0:2:10
z=linspace(0,10,11)
r=linspace(0,10,6)
length(x)
length(y)
length(z)
length(r)
7. Plot
Titik dan Kurva
1. Plot titik 2D
Cobalah baris intruksi berikut di Script
M-File:
clear all; clc; close all;
%
x=1;
y=1;
plot(x,y,'o')
2. Plot titik 3D
Cobalah baris intruksi berikut di Script
M-File:
clear all; clc; close all;
%
x=1;
y=1;
z=1;
plot3(x,y,z,'o')
3. Plot kurva 2D
Cobalah baris intruksi berikut di Script
M-File:
clear all; clc; close all;
%
% Membangkitkan nilai dari -1.6 sampai
1.6 dengan inkremen 0.001
x=(-1.6:0.001:1.6);
%
y=(sqrt(cos(x)).*cos(200*x)+sqrt(abs(x))-0.7).*(4-x.*x).^0.01;
%
plot(x,y,'r')
%
% Sistem persamaan di atas adalah:
% Y=(cos(x)^0.5 * cos(200x) + abs(x)^0.5
- 0.7)*(4-x^2)^0.01
Baris hijau yang didahului oleh tanda %
merupakan baris komentar yang tidak akan dieksekusi oleh program sehingga
penulisannya bukan suatu keharusan. Operasi yang didahului oleh tanda titik,
seperti .* di atas, merupakan operasi antar elemen dari matriks bukan operasi
matriks.
4. Plot kurva 3D
Cobalah baris intruksi berikut di Script
M-File:
clear all; clc; close all;
tic
%
for i=1:1000
theta(i)=2*pi*0.01*(i-1);
x(i)=cos(theta(i));
y(i)=sin(theta(i));
z(i)=theta(i);
end
toc
Computation_time=toc
plot3(x,y,z)
Selain menggunakan jenis intruksi for –
end untuk melakukan perulangan, program di atas juga dapat ditulis dalam bentuk
lain tanpa melakukan perulangan yaitu dengan cara melakukan vektorisasi atau
membangkitkan array, seperti berikut:
clear all; clc; close all;
tic
%
i=1:1:1000;
% membangkitkan array
theta(1,:)=2*pi*0.01*(i-ones(1,length(i)));
x(1,:)=cos(theta);
y(1,:)=sin(theta);
z(1,:)=theta;
%
toc
Computation_time=toc
plot3(x,y,z)
Bandingkanlah waktu komputasi
(Computation_time) dari kedua script tersebut, lebih
cepat yang mana? Waktu komputasi tersebut dinyatakan dalam satuan detik.
8. Persoalan
– Persoalan Matematika
1. Matriks
Misalkan terdapat matriks A(m,n), dalam hal ini m menyatakan jumlah
baris sedangkan n menyatakan jumlah kolom. Andaikan matriks A tersebut adalah
sebagai berikut:
A=[1 2 3 4; 1 4 9 16;
1 8 27 64; 1 16 81 254]
yang jika dieksekusi, maka di Command
Window akan muncul tampilan matriks sebagai berikut:
A=
1
2
3 4
1
4
9 16
1
8
27 64
1
16 81 254
Cobalah baris-baris intruksi berikut di
Script M-File:
clear all; clc; close all;
%
A=[1 2 3 4; 1 4 9 16; 1 8 27 64; 1 16 81
254]
%
Diagon_A = diag(A) % mengambil hanya diagonal utama dari
matriks A
Transp_A = A' % melakukan operasi transpose terhadap
matriks A
Determ_A = det(A) % menghitung determinan dari matriks A
Invers_A = inv(A) % melakukan invers terhadap matriks A
Ukuran_A = size(A) % mengetahui ukuran matriks A (baris,kolom)
2. Polinomial
Misalkan terdapat persamaan
polinomial ( ) , maka representasinya di dalam MATLAB
adalah sebagai berikut:
y = [1 0 7 -3]
Selanjutnya cobalah baris-baris intruksi
berikut di Script M-File:
clear all; clc; close all;
%
% y = x^3 + 7x -3
y = [1 0 7 -3]
r = roots(y) % menarik akar dari persamaan
polinomial
yy= poly(r) % mengembalikan dari akar ke koefisien
polinomnya
vl= polyval(y,3) % mencari nilai polinomial pada x=3
tr= polyder(y) % mencari turunan dari polinomial
Misalkan terdapat dua buah polinom
yaitu ( ) dan
( ) ,
selanjutnya cobalah script perkalian dan pembagian polinom berikut:
clear all; clc; close all;
%
y = [1 2 4] % y(x) = x^2 + 2x + 4
z = [1 3 7] % z(x) = x^2 + 3x + 7
a = conv(y,z) % a(x) = y(x)*z(x)
[b,r] = deconv(a,z) % [b,r]= a(x)/z(x)
% r adalah polinom sisa
yang mungkin
Tidak ada komentar:
Posting Komentar