Modul Praktikum VII 2023 Matlab
Modul Praktikum VII 2023 Matlab
2. Pemanggilan Fungsi
MATLAB menyediakan banyak sekali fungsi-fungsi yang dapat
menyelesaikan berbagai permasalahan komputasi. Misalkan diberikan
variabel A dan B sebagai berikut :
A = [1 3 5];
B = [10 6 4];
Untuk memanggil fungsi, parameter input dituliskan di dalam tanda kurung :
max(A);
Jika terdapat beberapa parameter input, maka penulisannya dipisahkan dengan tanda
koma :
max(A,B);
Hasil output dari suatu fungsi dapat disimpan ke dalam sebuah variabel :
maxA = max(A);
Jika terdapat beberapa parameter output, maka penulisannya menggunakan tanda
kurung siku :
[maxA,location] = max(A); Untuk memanggil sebuah fungsi yang tidak memerlukan
input dan tidak mengembalikan suatu output maka tuliskan nama fungsinya saja : clc
Fungsi clc akan melakukan clear pada Command Window.
Contoh 2.
Agar lebih memahami penulisan dan penggunaan fungsi dalam MATLAB perhatikan
program berikut ini :
%faktorial
function x = fakto(q);
b=1;
for i=1:q
b=b*i;
x=b;
end;
Jika program ini disimpan, namanya menjadi fakto.m.
dengan pragram utama
n = input('bilangan ');
fprintf(' %d faktorial adalah = %d \n',n, fakto(n));
Contoh 3
Di bawah ini diberikan fungsi sederhana bernama rerata yang akan menghitung
elemen dalam sebuah vektor.
function y = rerata(x)
[m,n] = size(x);
if (~ ((m == 1) | (n == 1)) | (m == 1 & n == 1))
error('Inputan harus berupa vektor')
end
y = sum(x)/length(x); % perhitungan
dengan program utama yang dapat dipanggil pada Comman Window
A = [1 4 5 5 7 7]
y = rerata(A)
fprintf(‘rata rata bilangan adalah = %f ‘,y).
Argumen fungsi baik argumen input maupun output dapat lebih dari satu. Pada
fungsi rerata.m di atas, argumen input hanya satu yaitu vektor x, sedangkan argumen
output juga hanya satu yaitu y. Pertanyaannya, apakah argumen dapat lebih dari satu
jawabnya adalah bisa! Sebagai contoh 4.
function [Luas,Keliling] = kotak(p,l);
if (p<=0 | l<=0)
fprintf(' Inputan salah p dan l harus >0');
end
Luas = p*l;
Keliling=2*p*l;
3. Sub Fungsi
Fungsi M-File dapat terdiri dari lebih dari satu fungsi. Fungsi pertama
disebut sebagai fungsi utama, sedangkan fungsi berikutnya disebut sebagai
subfungsi. Contoh 5.
function [avg,med] = statistik(u) % fungsi utama
n = length(u);
avg = mean(u,n);
med = median(u,n);
function a = mean(v,n) % Subfungsi
a = sum(v)/n; % menghitung rerata.
function m = median(v,n) % Subfungsi
w = sort(v); % menghitung median.
if rem(n,2) == 1
m = w((n+1)/2);
else
m = (w(n/2)+w(n/2+1))/2;
end
dengan program utama
a=[1 3 4 5 6 8 9]
statistik(a);
fprintf('avg = %f \n',statistik(a))
C. Kegiatan Praktikum
1. Ketik program contoh 3, 4 dan 5 di atas, perhatikan serta pelajarilah hasilnya.
simpan sebagai Prakt07a, Prakt07b dan Prakt07c
N
2. Bila jumlah deret bilangan ganjil dapat ditulis dengan jum = 2 * i − 1 ;
i =1
N
Jumlah deret bilangan genap dapat ditulis dengan jum = 2 * i
i =1
B
Jumlah deret bilangan cacah dapat ditulis dengan jum = i yang diagram alir
i= A
penjumlahannya adalah sebagai berikut:
B
Berarti jumlah = i
i= A
Bagaimana bentuknya bila
B B
jum = 2 * i + 1 dan jum = 2 * i − 1
i= A i= A
Berdasarkan pengertian di atas buatlah program menggunakan fungsi genap dan ganjil untuk
menghitung jumlah bilangan genap dan bilangan ganjil. Simpanlah program dengan nama
Prakt07d.
3. Buatlah program untuk menghitung potensial pada titik (r) solenoida tak terhingga dengan
jumlah lilitan N persatuan panjang. Bila penampang solenoida berbentuk lingkaran berjari-
jari R dan arus mengalir arus sebesar I dengan ketentuan program dibagi menjadi fungsi:
a. tampilan_judul;
b. masukkan_data (jari-jari, kuat arus, konstan permuibilitas ruang hampa µo);
c. menghitung_potensial; persamaan yang berlaku
NI
V = o r , (r < R atau titik berada di dalam selenoida)
2
V=0 , ( r = R atau titik berada di selenoida)
NI R 2
V = o , (r > R atau titik berada di luar selenoida) ( Penjelasannya baca
2 r
Waloejo Loeksmanto, Medan Elektromagnetik, halaman : 139 -140)
d. tampilkan_hasil
e. Harga potensial dari dihitung dari r = 0 sampai dengan r tak terhingga, untuk setiap
jarak 0.2 cm dalam bentuk Tabel
(Simpan hasil program sdr. dengan nama Prakt07e)
5. Saudara ditugaskan menghitung massa berbagai jenis benda yang berbentuk Bola dan Kubus
terbuat Besi dan Aluminium dengan berbagai ukuran. Agar perhitungan dapat dilakukan
dengan cepat dan akurat, instruktur memerintahkan Saudara agar membuat program dengan
ketentuan sebegai berikut:
a. untuk menghitung Volume, Massa jenis, gunakan program pembantu (subprogram)
FUNCTION
b. Input adalah sisi kubus atau jari-jari bola, massa jenis bahan benda
c. Tampilan menu:
- Menu Jenis Benda:
1. Data Kubus
2. Data Bola
Selasai
Pilihan Anda !!!
- Menu Bahan Benda
a. Alumunium
b. Besi
c. Tembaga
Pilihan Bahan Anda !!!
d. Memasukkan data selesai setelah pada bagian input jenis benda dituliskan kata
“Selesai” dan Simpan hasil program sdr. dengan nama Prakt07g
D. Tugas Pendahuluan
Buatlah diagram alir dan program untuk soal di bawah ini dengan tampilan sebagus mungkin
(gunakan perintah Window, Textcolor dll). Jumlah suku sesuai dengan input dari keyboard.
1. Apa yang dimaksud dengan program pembantu
2. Jelaskan perbedaan variabel lokal dengan variabel global
3. Apa guna parameter dalam subprogram ?
4. Jelaskan perbedaan parameter formal dengan aktual.
5. Jelaskan pebedaan parameter nilai parameter variabel
6. Buat desain program dalam algoritma atau diagram alir dan program kegiatan praktikum 2,
3 ,4 dan 5. diatas.