Wednesday 21 December 2016

Materi 4 Ilmu Program Matlab


M-FILE


A.    MATLAB Editor dan Membuat M-file

Program yang ditulis di jendela perintah pada MATLAB tidak bisa disimpan. Sehingga jika sewaktu-waktu akan menggunakan program yang sama user harus mengetik lagi. Kelemahan lainnya adalah user tidak bisa melakukan editing (pembetulan) terhadap program yang telah ditulis. Untuk itu MATLAB menyediakan satu jendela yang dipergunakan untuk menulis program-program yang sewaktu-waktu dapat diedit atau dieksekusi. Untuk menulis program dengan MATLAB dapat dilakukan dalam lingkungan MATLAB Editor/Debugger (Jendela Editor). Program yang ditulis dalam lingkungan MATLAB Editor/Debugger ini jika disimpan akan diberikan ekstensi *.m. untuk itulah MATLAB mengistilahkan dengan M-file untuk program-program yang ditulis dengan MATLAB.

Langkah-langkah untuk ke jendela Editor MATLAB :
1.       Dalam MATLAB Command Window®File®New®Blank M-file
Pada jendela MATLAB Editor/Debuger ini juga mempunyai beberapa menu, di antaranya adalah File, Edit, View, Debug, Tools, Window, dan Help. Isi dari tiap-tiap menu dapat langsung dilihat dengan melakukan klik pada menu yang dipilih.
Pada keperluan penulisan program, MATLAB menyediakan beberapa fungsi khusus yang berhubungan dengan penulisan M-file sebagai berikut :
No
Fungsi
Keterangan
1.       
disp
Mendisplay hasil tanpa menampilkan nama variabel
2.       
input
Prompt untuk memberikan input dari keyboard
3.       
pause
Pause (berhenti sementara) sampai user menekan sembarang tombol
4.       
pause(n)
Berhenti sementara selama n detik
5.       
waitforbuttonpress
Berhenti sementara sampai user menekan mouse atau keyboard

Contoh, akan ditulis program untuk menghitung luas segitiga sebagai berikut :
%Program Luas Segitiga
disp('PROGRAM LUAS SEGITIGA')
disp('---------------------')
a = input('masukkan alas segitiga =');
t = input('masukkan tinggi segitiga =');
Luas = a*t/2;
hasil = sprintf('Segitiga dengan alas %.4g dan tinggi %.4g mempunyai luas = %.4g',a,t,Luas);
disp(hasil)

Setelah program selesai diketikkan, selanjutnya dapat disimpan dengan langkah-langkah sebagai berikut :
§  Pada jendela MATLAB Editor/Debugger , klik menu File®Save As®ketikkan nama file®Save.

B.     Membuka M-file
Setelah memiliki m-file yang sudah ada, misalnya untuk keperluan memperbaiki program dapat langsung dibuka dari jendela perintah MATLAB. Langkahnya sebagai berikut :
§  Klik pada File®Open®telusuri tempat (direktori) m-file yang akan dibuka®pilih file®klik Open
Selanjutnya user dapat melakukan editing atau manipulasi m-file sesuai keperluan. Setelah selesai melakukan editing terhadapt m-file user dapat menyimpan kembali m-file tersebut dengan langkah sebagai berikut :
§  Dari jendela MATLAB Editor/Debugger , klik pada menu File®Save
Untuk membuka suatu m-file tentu saja dapat juga dilakukan dari jendelaMATLAB Editor/Debugger. Hal ini dapat dilakukan sebagai berikut :
§  Dari jendela MATLAB Editor/Debugger klik pada menu File®Open®telusuri tempat (direktori) m-file yang akan dibuka®pilih file®klik Open.

C.    Mengeksekusi M-file
 M-file yang telah disusun selanjutnya dapat digunakan jika sewaktu-waktu diperlukan. Sebagaimana dalam membuka m-file, untuk mengeksekusi (menjalankan) m-file juga dilakukan melalui jendela perintah MATLAB. Hasil eksekusi dari m-file akan selalu diletakkan pada jendela perintah MATLAB.
Untuk mengeksekusi m-file dari jendela perintah MATLAB adalah dengan mengetikkan langsug nama m-file di jendela perintah. Selanjutnya MATLAB akan menampilkan hasil eksekusi program :
>> segitiga
PROGRAM LUAS SEGITIGA
---------------------
masukkan alas segitiga =5
masukkan tinggi segitiga =4
Segitiga dengan alas 5 dan tinggi 4 mempunyai luas = 10                                                                    
(catatan : bilangan 5 dan 4 yang terdapat garis bawah, menunjukkan input melalui keyboard yang dilakukan oleh user)
Dapat juga m-file dieksekusi melalui jendela MATLAB Editor/Debugger, dengan langkah sebagai berikut :
§  Klik menu Debug®Run segitiga.m (F5)


D.    Contoh-contoh M-file
Contoh 1 :
%Program daftar nilai Sinus
clc  %membersihkan jendelam perintah (Command Window)
disp('DAFTAR NILAI SINUS')
disp('------------------')
disp('')
n=input('Mencari nilai sinus dari 0 derajat sampai berapa derajat?')
x=0:15:n;   %sudut x elemen {0, 15, 30, 45, 60,...,n}
y=x*pi/180; %konversi sudut x (derajat) ke y (radian)
nilai=sin(y);   %mencari nilai sinus x derajat
disp('sudut x =')
disp(x)
disp('sin(x) = ')
disp(nilai)

Contoh 2 :
%Program Deret Aritmatika
clc     %membersihkan jendela perintah
disp('PROGRAM DERET ARITMATIKA')
disp('------------------------')
a = input('masukkan suku pertama a =');
b = input('masukkan beda barisan b =');
n = input('masukkan banyaknya suku =');
disp('Deret Aritmatika tersebut adalah:')
baris=[];
for i=1:n
    Un=a+(i-1)*b;
    baris=[baris Un];
end
disp(baris)
Jn=n/2*(a+Un);
disp(sprintf('Jumlah %.4g suku pertama dari deret adalah %.4g',n,Jn))

E.     Fungsi M-file
Fungsi-fungsi yang disediakan MATLAB dalam batas-batas tertentu mungkin belum memenuhi semua keperluan user. Untuk itu dimungkinkan user membuat sendiri fungsi-fungsi yang dapat digunakan untuk mempermudah dalam menyelesaikan masalah yang dihadapinya. Fungsi-fungsi yang dibuat sendiri oleh user dinamakan fungsi m-file, sebab jika disimpan juga akan diberi ekstensi .moleh MATLAB.
Secara umum untuk membuat fungsi m-file adalah :

function{[variabel output]} = nama_fungsi(variabel input)
                             blok perintah

Dalam sintak tersebut, baik variabel input maupun variabel output dapat lebih dari satu buah. Jika banyaknya variabel (baik input maupun output) lebih dari satu, maka antara variabel dipisahkan dengan tanda koma (,). Kemudian yang juga perlu diperhatikan adalah fungsi m-file harus disimpan dengan nama file sama dengan nama_fungsi. Pemanggilan (pemakaian) fungsi juga sesuai dengan nama fungsi diikuti dengan variabel-variabel input, atau nilai-nilai dari variabel-variabel input.
Andaikan akan dibuat fungsi yang dapat digunakan untuk menghitung nfaktorial, dengan bilangan bulat positif. Dalam teori kombinatorik diketahui bahwa faktorial = 1*2*3*...*n. Berdasarkan sebuah input (yaitu bilangan bulat positif n) akan diperoleh satu bilangan sebagai output, yang merupakan perkalian faktor bilangan bulat positif dari 1 sampai n. Fungsi untuk menghitung faktorial ini dapat dibuat sebagai berikut :

function h = faktorial(n)
%fungsi faktorial
%n faktorial = 1*2*3*...*n
F=1;
for i=1:n
    F=F*i;
end
h=F;    %h=n!
Selanjutnya disimpan pada lingkungan MATLAB, dengan nama faktorial. Kemudian fungsi tersebut siap digunakan oleh user, misalnya ingin menghitung 10! Pada jendela perintah dapat diketikkan sebagai berikut:

>> n=10;
>> faktorial(n)

ans =

     3628800
Atau bisa juga dituliskan dalam bentuk seperti ini :

>> faktorial(10)

ans =

     3628800
Contoh lain misalnya akan dibuat m-file pada suatu balok. Dengan input panjang (p), lebar (l), dan tinggi (t), dapat dihitung volume balok (V) dan luas balok(L). Dalam hal ini V=p×l×t dan L=2×((p×l)+(l×t)+(p×t)).

function [V,L]= balok(p,l,t)
%fungsi balok dengan input p,l,t
%output : volume dan luas balok
%Volume (V)=p*l*t
%Luas (L)=2*(p*l+l*t+p*t)
if nargin < 3
    error('banyaknya input masih kurang')
end
%jika hanya ada satu output, dihitung volume saja
if nargout==1
    V=p*l*t
end
%jika 2 output, dihitung V dan L
if nargout==2
    V=p*l*t;
    L=2*(p*l+l*t+p*t);
end
Setelah fungsi m-file disimpan dengan dengan nama file balok , selanjutnya dengan mudah dapat digunakan untuk menyelesaikan persoalan balok, yaitu untuk mencari volume dan luas balok berdasarkan fungsi balok tersebut.

>> p=2;
>> l=3;
>> t=4;
>> volume=balok(p,l,t)

V =
    24
volume =
    24
>> [volume luas]=balok(p,l,t)
volume =
    24
luas =
    52

No comments:

Post a Comment

Aturan Berkomentar

Silahkan Berkomentar dan Beri Saran Jika Masih ada Kekurangan. 1. Dilarang Berkomentar yang Mengandung Unsur Sara dan Pornography 2. Dilarang Berkomentar Bila Anda Belum Membaca Postingan saya 3. Apabila Mengcopy Postingan ini Harap dilampirkan Sumber yang sebenarnya