Anda di halaman 1dari 11

Modul ke 6

PEMROGRAMAN DAN TIPE DATA

Pendahuluan
Matlab memberikan kemudahan di dalam penulisan pernyataan-pernyataan

atau perintah-perintah. Pernyataan/perintah tersebut dapat dituliskan di dalam editor

tertentu dan disimpan eksetensi .m. Dengan memberikan nama file dengan ekstensi

tersebut, maka akan dapat deksekusi di dalam lingkungan Matlab. Juga, dengan

ekstensi tersebut file yang kita buat bernama M-File.

M-File dapat berupa skrip maupun fungsi. M_File dalam bentuk skrip dapat

dieksekusi secara mudah dengan menuliskan nama skrip tersebyut di command

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

langkah eksekusi file adalah sebagai berikut.

Membuat M-File dengan


function c = fungsiku(a,b)
teks editor.
c = sqrt(a.^2 + b.^2);

>> a=2.4;

>> b= 3.1;

>> c=fungsiku(a,b)

Memanggil M-File melalui

command window c=

3.9205

Supardi 1
Perbedaaan antara M-File dalam bentuk skrip dan fungsi antara lain

M-File dalambentuk skrip M-File dalam bentuk fungsi

1. Tidak menerima input atau 1. Menerima argumen input dan

return argumen keluaran. mereturn argumen output.

2. Menjalankan data yang

berada di ruang kerja 2. Tidak menjalankan data yang ada di

(workspace) ruang kerja, melainkan dari variabel

3. Sangat berguna apabila kita internal yang secara default

membutuhkan data merupakan variabel lokal fungsi.

sewaktu-waktu, karena data

tersimpan dalam ruang 3. Sangat berguna apabila di lain

kerja. waktu kita membutuhkan fungsi

tersebut, karena fungsi tersimpan di

current directory.

Skrip
Skrip merupakan bentuk sederhana dari M-File, karena tidak memiliki

argumen input maupun output. Bentuk ini sangat berguna untuk otomatisasi

serangkaian perintah-perintah Matlab, misalnya perhitungan yang berulang-ulang

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

diberikan contoh skrip M-File sederhana

% Skrip M-file untuk menghasilkan % baris komentar

% plot ʺflower petalʺ

theta = -pi:0.01:pi; % masukan fungsi

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

polar(theta,rho(k,:)) % keluaran grafik

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,

ode113, diag, mean, median dan yang lainnya.

Dibawah ini diberikan contoh M-File dalam bentuk fungsi yang sangat

berguna bagi pemrograman komputer.

function f = fact(n) % baris untuk definisi fungsi

% FACT Factorial. H1

% FACT(N) mereturn factorial dari N,

% biasanya dilambangkan N!

% FACT(N) hasilnya sama dengan PROD(1:N).

f = prod(1:n); % body fungsi

Supardi 3
Fungsi ini memmiliki beberapa bagian, sebagaimana daapt ditemukan di

dalam fungsi-fungsi di Matlab.

Baris definisi fungsi. Baris ini mendefinisikan nama fungsi dan argumen input

dan output. Dalam contoh tersebut nama fungsinya adalah fac, argumen input

adalah n, serta argumen output adalah f.

Baris bantuan. H1 singkatan dari baris “help 1”. Matlab akan menampilkan

baris H1 ketika kita mencarinya dengan perintah lookfor.

Body fungsi. Bagian ini memuat code yang akan melakukan komputasi dan

menyimpan harga untuk kepentingan setiap argumen output.

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

Untuk menampilkan grafik, kita tinggal mengetikkan kode di command

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

Perhatikan pada bagian inline, variabel t disana merupakan variabel inputan.

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;

>> disp([xʹ h(x)ʹ])

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

memberi ilustrasi contoh tersebut.

Gambar 7.2 Ilustrasi pendefinisian fungsi sendir. Setelah fungsi disimpan,


kemudian dipanggil jendela command dengan input berupa array x=0:pi/6:pi. Jadi
meskipun pada fungsi utamanya input adalah t, tetapi saat dipanggil kita dapat
memberi inputan dengan nama variabel lainnya.

Contoh 7.2

Untuk memberikan contoh konkrit penggunaan fungsi M-File ini, ditinjau metode

numerik terkenal dalam pencarian akar persamaan nonlinier bernama metode

Newton-Raphson. Metode ini dapat diungkapkan dengan

= −

Apabila fungsi nonlinier yang akan dicari akar persamaannya adalah = sin( ) −

, maka kita memerlukan turunan fungsi tersebut yaitu ′( ) = cos( ) − 1.

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.

1) Dengan menggunakan inline, kita dapat membuat memperoleh akar

persamaan tersebut dengan seperti dibawah ini

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

melalui command window.

2) Kita juga dapat menyelesaikan masalah di atas dengan terlebih dahulu

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,

buatlagi fungsi turunan dari f yaitu

function y=df(x)

y=cos(x)-1;

Setelah itu, simpan file fungsi tersebut dengan nama df.m.

Supardi 7
Untuk menjalankan fungsi tersebut, hapuslah bagian inline dari contoh

program yang telah diberikan, kemudian panggillah nama file newton melalui

command window atau cukup tekan F5.

Gambar 7.3 Ilustrasi pembuatan fungsi dan program utamanya

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

menghitung rerata dan dan jumlah dari data yang dimasukkan.

function [jumlah,mean]=fungsiku(x)

N=length(x);

jumlah=sum(x);

mean=sum(x)/N;

Kemudian dari command window jalankan,

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

Bentuk umum fungsi adalah

function [outarg1, outarg2, . . .] = nama_fungsi( inarg1, inarg2, . . . )

outarg1 = ... ;

outarg2 = ... ;

...

Kata kunci fungsi

Sebuah fungsi harus diawali dengan kata kunci function.

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

dipanggil diganti dengan s.

Multi Argumen Output

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

hasil dari outarg1 saja, maka tidak diperlukan kurung kotak.

>> jum=fungsiku(x)

jum =

Aturan Penamaan Fungsi

Penamaan fungsi harus sesuai dengan aturan penamaan variabel di Matlab.

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

fungsi ini) melainkan stats, maka untuk menjalankannya

>> r=rand(1,10);

>> [J,M]=stats(r)

J=

3.8603

M=

0.3860

Mengecek Jumlah Argumen Fungsi

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

ditampilkan. Untuk mengecek jumlah input, kita menggunakan perintah

nargin.

function y = myfunction(a, b, c)

disp( nargin );

...

Sedangkan untuk mengecek jumlah output digunakan perintah nargout.

function [y1,y2,y3] = myfunction(a, b, c)

disp( nargout );

...

Supardi 11

Anda mungkin juga menyukai