Pendahuluan
Matlab memberikan kemudahan di dalam penulisan pernyataan-pernyataan
tertentu dan disimpan eksetensi .m. Dengan memberikan nama file dengan ekstensi
tersebut, maka akan dapat deksekusi di dalam lingkungan Matlab. Juga, dengan
M-File dapat berupa skrip maupun fungsi. M_File dalam bentuk skrip dapat
window, atau cukup menekan tombol F5 dengan catatan skrip sudah diberikan nama.
M-File dalam bentuk fungsi terdiri atas argumen yang harus diberikan input sebelum
dieksekusi dan menghasilkan ouput. Apabila M-File kita berupa fungsi, maka
>> a=2.4;
>> b= 3.1;
>> c=fungsiku(a,b)
command window c=
3.9205
Supardi 1
Perbedaaan antara M-File dalam bentuk skrip dan fungsi antara lain
current directory.
Skrip
Skrip merupakan bentuk sederhana dari M-File, karena tidak memiliki
argumen input maupun output. Bentuk ini sangat berguna untuk otomatisasi
dengan data yang sama. Dengan menggunakan tombol down arrow atau up arrow,
maka kita dapat menemukan kembali data atau perintah yang pernah kita eksekusi.
Hal ini karena data atau perintah tadi terseimpan di dalam ruang kerja. Dibawah ini
Supardi 2
rho(1,:) = 2*sin(5*theta).^2; % mulai perhitungan
rho(2,:) = cos(10*theta).^3;
rho(3,:) = sin(theta).^2;
rho(4,:) = 5*cos(3.5*theta).^3;
for k = 1:4
pause
end
Fungsi
Sebagaimana bahasa pemrogrman tingkat tinggi lainnya, Matlab memiliki
fungsi bawaan, yaitu fungsi yang sudah tercompile sehingga fungsi ini siap
digunakan. Contoh fungsi bawaan ini misalnya sin, cos, tan, exp, log, dan lainnya.
Disamping fungsi bawaan ini, Matlab juga menyediakan fungsi yang siap digunakan
dalam bentuk M-File. Ingatlah kembali, bahwa ketika kita membuat program melalui
edit window, file tersebut selalu disimpan dalam ekstensi .m. Ekstensi ini
menunjukkan bahwa file yang disimpan tersebut dalam format M-File. Fungsi M-File
yang sudah disiapkan oleh Matlab berjumlah banyak. Sebagai contoh fzero, ode23,
Dibawah ini diberikan contoh M-File dalam bentuk fungsi yang sangat
% FACT Factorial. H1
% biasanya dilambangkan N!
Supardi 3
Fungsi ini memmiliki beberapa bagian, sebagaimana daapt ditemukan di
Baris definisi fungsi. Baris ini mendefinisikan nama fungsi dan argumen input
dan output. Dalam contoh tersebut nama fungsinya adalah fac, argumen input
Baris bantuan. H1 singkatan dari baris “help 1”. Matlab akan menampilkan
Body fungsi. Bagian ini memuat code yang akan melakukan komputasi dan
Beberapa Contoh
Misalnya kita mempunyai sebuah sistem yang terdiri atas dua massa yang
tergandeng dengan sebuah pegas. Fungsi h(t) dibawah ini menggambarkan sistem
terkopel tersebut
ℎ( ) = sin(7 ) + sin(8 )
Dalam Matlab, kita dapat menyatkan h(t) tersebut dengan perintah inline,
h=inline(ʹsin(7*t)+sin(8*t)ʹ,ʹtʹ)
window.
>> h=inline(ʹsin(7*t)+sin(8*t)ʹ,ʹtʹ);
>> t=0:pi/60:5*pi;
>> plot(t,h(t))
Supardi 4
Gambar 7.1 Grafik ℎ( ) = sin 7 sin 8
Variabel t tersebut disebut pula sebagai variabel dummy. Kita dapat memberikan
masukan pada fungsi h dengan variabel input tidak harus bernama t. Lihat contoh di
bawah ini
>> h=inline(ʹsin(7*t)+sin(8*t)ʹ,ʹtʹ);
>> x=0:pi/6:pi;
0 0
0.5236 -1.3660
1.0472 1.7321
1.5708 -1.0000
2.0944 -0.0000
2.6180 0.3660
3.1416 -0.0000
Contoh 7.1
Supardi 5
Kita juga dapat mendefinisikan fungsi sendiri. Funsgi tersebut memiliki input
dapat output. Dalam contoh ini, nama input adalah t dan output h. Gambar 7.2
Contoh 7.2
Untuk memberikan contoh konkrit penggunaan fungsi M-File ini, ditinjau metode
= −
Apabila fungsi nonlinier yang akan dicari akar persamaannya adalah = sin( ) −
Untuk membuat fungsi M-File f(x) dan fʹ(x) kita dapat melakukan dengan dua
cara, yaitu dengan inline dan menyimpannya dalam file M-File lainnya.
Supardi 6
clear; close all;
f=inline('sin(x)-x','x');
df=inline('cos(x)-1','x');
x=input('Masukkan terkaan awal :');
step=0; %langkah ke 0
tol=1e-2; %Toleransi selisih nilai sekarang
dan sebelumnya
temp=1; % nilai awal selisih nilai lama
dan sekarang
while (temp>=tol)
xlama=x;
x=x-f(x)/df(x); % mencari akar persamaan
dengan Newton Raphson
step=step+1; % langkah berikutnya
disp([x' f(x)']);
temp=abs(x-xlama);
end
if temp<=tol % syarat akar persamaan ditemukan
disp('Akar persamaan ditemukan di x =');
disp(x);
else
disp('Akar persamaan tidak ditemukan.');
end
Kemudian simpanlah file ini dengan nama newton.m dan anggillah file
membuat fungsi M-File. Cara, bukalah jendela editor kemudian tuliskan fungsi
function y=f(x)
y=sin(x)-x;
Selanjutnya simpanlah file fungsi tersebut dengan nama f.m. Setelah itu,
function y=df(x)
y=cos(x)-1;
Supardi 7
Untuk menjalankan fungsi tersebut, hapuslah bagian inline dari contoh
program yang telah diberikan, kemudian panggillah nama file newton melalui
Aturan Dasar
Aturan dasar yang dimaksudkan adalah bagaimanakah cara membuat fungsi
sendiri dengan argumen input dan output yang dimungkinkan. Untuk memberikan
gambaran ini, marilah kita membuat sebuah fungsi yang akan digunakan untuk
function [jumlah,mean]=fungsiku(x)
N=length(x);
jumlah=sum(x);
mean=sum(x)/N;
>> s=1:3;
Supardi 8
>> [J,M]=fungsiku(s)
J=
M=
Gambar 7.4 Pembuatan funsi dengan 2 output ( jumlah dan mean) dan 1 input (x).
Setelah dijalankan variabel input dapat diganti namanya.
Dari contoh di atas kita dapat menarik kesimpulan tentang fungsi yaitu,
outarg1 = ... ;
outarg2 = ... ;
...
Supardi 9
Argumen input dan argumen output merupakan variabel dummy, artinya
bahwa kita dapat memberikan nama berbeda saat fungsi tersebut dipanggila
Sebagai contoh, argumen input pada fungsi yang dibuat adalah jumlah dan
mean, tetapi ketika dipanggil di command window kita ganti dengan J dan M.
Demikian pula pada argumen outputnya, pada fungsi adalah x sedangkan saat
Kita dapat menentukan lebih dari satu argumen ouput. Pada contoh, argumen
ouput yang kita buat yaitu jumlah dan mean. Kita dapat membuat lebih dari
dua output kika diinginkan. Untuk memanggil semua argumen output, kita
harus menggunakan kurung kotah [outarg1, ouarg2, ...]. Jika hanya menginkan
>> jum=fungsiku(x)
jum =
Apabila fungsi yang kita buat diberikan nama lain, maka pemanggilan fungsi
harus sesuai dengan nama fungsi yang disimpan. Sebagai contoh, jika fungsi
yang telah kita buat bukan diberikan nama fungsiku (sesuai dengan nama
>> r=rand(1,10);
>> [J,M]=stats(r)
J=
3.8603
M=
0.3860
Supardi 10
Sebuah fungsi dapat dipanggil beserta semua, sebagian atau tidak sama sekali
argumen yang dimilikinya. Kalau kita tidak ingin menyertakan argumen input
sama sekali, maka tanda kurung dihilangkan. Untuk argumen output, kita
juga dapat menyertakan semua argumen, sebagian atau satu saja. Apabila kita
memanggil fungsi tanpa argumen output, maka argumen pertama yang akan
nargin.
function y = myfunction(a, b, c)
disp( nargin );
...
disp( nargout );
...
Supardi 11