M-FILE DAN PEMROGRAMAN MATLAB
Kita akan menggunakan M-File untuk menjalankan sederetan command yang kita tuliskan sebagai skrip. File ini kita namakan rata_rata.m. Bukalah M-file baru lalu ketikkan skrip berikut ini :
%Program sederhana untuk menghitung
%rata-rata 5 bilangan :
%rata_rata.m
a=50;
b=100;
c=150;
d=200;
e=250;
%Menghitung dan menampilkan rata-rata
hasil=(a+b+c+d+e)/5;
hasil
Teks yang diawali tanda “%” menunjukkan komentar, dan tidak akan dieksekusi oleh Matlab. Sebelumnya pastikan bahwa direktori menunjukkan ke Matlab/work.
>> clear
>> rata_rata hasil = 150
Perhatikan bahwa :
- Di dalam M-file, setiap command diakhiri dengan titik-koma supaya hasil perhitungan di tiap baris tidak ditampilkan di command window. Kecuali pada hasil perhitungan yang ingin kita tampilkan, tidak diakhiri titik-koma.
- Variabel yang didefinisikan di dalam M-file akan disimpan oleh Matlab ketika M-file telah dieksekusi.
Di dalam editor, skrip yang kita tuliskan akan memiliki warna tertentu :
- Hijau untuk komentar
- Hitam untuk variabel dan command
- Biru untuk statement pemrograman
Sekarang, marilah kita coba M-file lain untuk menghitung sisi miring suatu segi tiga siku-siku dengan formula pytagoras, menghitung luasnya, dan kelilingnya :
%Program untuk mengitung segi-3 siku-siku : segi3.m
%Untuk menghitung sisi miring, luas, da keliling
%Mendefinisikan sisi siku-siku segitiga
sisi_a=3;
sisi_b=4;
%Menghitung sisi miring
sisi_c=sqrt(sisi_a^2+sisi_b^2)
%Menghitung luas segitiga
Luas=1/2*sisi_a * sisi_b
%Menghitung keliling
Keliling=sisi_a + sisi_b + sisi_c
Lalu simpan dengan nama segi3.m dan sekarang kita bisa panggil M-file tersebut dengan skrip :
>> segi3
sisi_c =
5
Luas =
6
Keliling =
12
7.2. M-file Sebagai Fungsi
Sebagi skrip program, jika kita ingin mengubah/mengatur parameter masukan program, maka harus kita lakukan di dalam editor. Padahal seringkali kita harus menjalankan satu program/algoritma berulang kali dengan nilai masukan yang berbeda-beda, misalkan dalam proses iterasi atau optimasi. Untuk keperluan ini, kita bisa menuliskan M-file sebagai suatu fungsi spesifik sesuai kebutuhan kita.
Dalam setiap fungsi terdapat tiga unsur :
1. Parameter masukan; dalam hal ini kita sebut sebagai “argument input”. Jumlah parameter (argumen) tersebut bisa sebarang (satu, dua, sepeuluh, atau tidak ada argument input sama sekali). Jenis argument pun sebarang (variabel, bilangan ataupun teks).
2. Proses di dalam program; berupa sederetan command untuk menjalankan suatu algoritma tertentu.
3. Parameter keluaran; atau “argument output” yang jumlah dan jenisnya sebarang.
Deklarasi fungsi di M-file harus dilakukan pada baris awal dengan sintaks :
function [argument output] = nama_fungsi(argument input)
Sebagi contoh awal, kita akan membuat fungsi untuk menghitng sisi miring, luas, dan keliling segitiga; seperti program yang ada pada contoh sebelumnya.
%Fungsi untuk menghitung segi 3 siku-siku : segitiga.m
%Untuk menghitung sisi miring, luas, dan keliling
function [Sisi_C, Luas, Kll]=segitiga(Sisi_A, Sisi_B)
%Menghitung sisi miring
Sisi_C = sqrt(Sisi_A^2 + Sisi_B^2);
%Menghitung luas segitiga
Luas=1/2*Sisi_A * Sisi_B;
%Menghitung keliling
Kll=Sisi_A + Sisi_B + Sisi_C;
Lalu simpan dengan nama “segitiga.m”. Sekarang anda panggil fungsi tersebut dengan skrip berikut :
>> clear
>> [Hyp, Area, Circum]=segitiga(12,16)
Hyp =
20
Area =
96
Circum =
48
Dari contoh sederhana tersebut, ada beberapa hal yang perlu kita perhatikan :
- Dalam fungsi segitiga, terdapat dua argument input (Sisi_A, Sisi_B), dan tiga argument output (Sisi_C, Luas, Kll).
- Ketika dipanggil di command window, kita bisa menggunakan nama argument input/output yang berbeda dengan di M-file, namun urutannya tidak berubah. Di dalam contoh, argumen Sisi_A dan Siis_B kita isi dengan bilangan, sementara argument Sisi_C, Luas, dan Keliling kita panggil dengan Hyp, Area, dan Circum.
Sekarang kita lihat dengan command whos :
>> whos
Name Size Bytes Class Attributes
Area 1x1 8 double
Circum 1x1 8 double
Hyp 1x1 8 double
Terlihat bahwa variabel yang dideklarasikan di dalam fungsi tidak disimpan, melainkan dimusnahkan ketika sutau fungsi selesai dijalankan, yang ada di sana hanyalah variabel yang telah dideklarasikan di command window untuk menyimpan nilai output. Hal ini merupakan salah satu perbedaan utama antara skrip program dengan fungsi.
PENTING
Ketika membuat fungsi dengan M-file, nama file harus sama dengan nama fungsi yang dideklarasikan dalam sintaks function….
Aturan penamaan M-file sama dengan penamaan variabel.
7.3. Display dan Input
Adakalanya kita membutuhkan interaksi dengan pengguna program untuk memasukkan parameter tertentu di awal/tengah program. Dalam hal ini kita bisa pergunakan cara sederhana dengan command input. Sementara command disp digunakan untuk menampilkan teks di layar.
Misalkan kita akan membuat program untuk menhitung jumlah kombinasi team basket yang mungkin dari sejumlah mahasiswa.
% Program menghitung kombinasi : hit_komb.m
% untuk menghitung jumlah kombinasi
% dari sejumlah populasi
% Menampilkan judul program
clc;
disp(‘Menghitung Kombinasi’);
disp(‘---------------------‘);
% Meminta masukan dari user
n = input(‘Berapa jumlah mahasiswa yang ada? : ‘);
r = input(‘Berapa jumlah personel satu team? : ‘);
% Menghitung kombinasi
kombinasi = factorial(n)/factorial(r)/factorial(n-r);
% Menampilkan keluaran disp(‘Jumlah kombinasi yang ada = ‘,kombinasi);
Tidak ada komentar:
Posting Komentar