• Tidak ada hasil yang ditemukan

Modul ke 6 PEMROGRAMAN DAN TIPE DATA. Matlab memberikan kemudahan di dalam penulisan pernyataan-pernyataan

N/A
N/A
Protected

Academic year: 2022

Membagikan "Modul ke 6 PEMROGRAMAN DAN TIPE DATA. Matlab memberikan kemudahan di dalam penulisan pernyataan-pernyataan"

Copied!
11
0
0

Teks penuh

(1)

Supardi 1

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

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

Memanggil M-File melalui command window

>> a=2.4;

>> b= 3.1;

>> c=fungsiku(a,b)

c =

3.9205

(2)

Supardi 2 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

return argumen keluaran.

2. Menjalankan data yang berada di ruang kerja (workspace)

3. Sangat berguna apabila kita

membutuhkan data

sewaktu-waktu, karena data tersimpan dalam ruang kerja.

1. Menerima argumen input dan mereturn argumen output.

2. Tidak menjalankan data yang ada di ruang kerja, melainkan dari variabel internal yang secara default merupakan variabel lokal fungsi.

3. Sangat berguna apabila di lain 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

(3)

Supardi 3 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

(4)

Supardi 4 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))

(5)

Supardi 5 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

(6)

Supardi 6 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

(7)

Supardi 7

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.

(8)

Supardi 8 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;

(9)

Supardi 9

>> [J,M]=fungsiku(s) J =

6 M = 2

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.

(10)

Supardi 10 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 =

6

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

(11)

Supardi 11 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 );

...

Gambar

Gambar  7.2  Ilustrasi  pendefinisian  fungsi  sendir.  Setelah  fungsi  disimpan,  kemudian dipanggil jendela command dengan input berupa array x=0:pi/6:pi
Gambar 7.3 Ilustrasi pembuatan fungsi dan program utamanya
Gambar 7.4 Pembuatan funsi dengan 2 output ( jumlah dan mean) dan 1 input (x).

Referensi

Dokumen terkait

Berbeda dengan fungsi yang bert ipe void , fungsi ini berguna unt uk m elakukan suat u proses yang dapat m engem balikan suat u nilai.. Bent uk um um fungsi t ersebut

Dengan mengetahui kesulitan pelafalan konsonan bahasa Indonesia yang dialami oleh pembelajar BIPA asal Tiongkok, diharapkan adanya penyesuaian materi dan metode pengajaran

melakukan tindak pidana pemalsuan Surat Keputusan Pensiunan dapat diterapkan Pasal 263, Pasal 264, Pasal 372, Pasal 374, dan Pasal 378 Kitab Undang-Undang

Adapun diagnosa yang kelompok laksanakan adalah gangguan persepsi senaori ; halusinasi pendengaran yang perencanaan tindakannya dilaksanakan mulai dari tanggal 08

Kegiatan pembelajaran remedial dengan pemanfaatan tutor sebayamelalui belajar kelompok untuk menjawab pertanyaan yang diberikan guru terkait materi kondisi geologi

yang dihubungkan dengan sumber arus listrik AC tegangan tinggi Dari kedua celah inilah lecutan listrik membentuk suatu aliran elektron berenergi tinggi dalam orde yang sangat

Dalam usaha untuk memanfaatkan abu terbang yang dihasilkan dari pembakaran batubara di PLTU unit II Suralaya menjadi sebagai bahan baku dalam pembuatan refraktori cor,

Adalah suatu metode peramalan serangkaian waktu yang sesuai dengan garis tren terhadap serangkaian titik-titik data masa lalu, kemudian diproyeksikan ke dalam peramlan