Professional Documents
Culture Documents
Nim:4153121056
PRAKTIKUM – 15
1. Tujuan
Setelah melaksanakan praktikum dalam sesi ini mahasiswa dapat:
a. Memahami srtuktur fungsi dalam Matlab
b. Menyusun dan mengeksekusi fungsi dalam Matlab
2. Pengantar
Pekerjaan yang dilakukan secara berulang-ulang disebut dengan rutin. Demikian
halnya dengan program. Program yang dapat dieksekusi berulangkali tanpa harus ke
luar dari program utama disebut dengan rutin. Ada berbagai penamaan yang
digunakan untuk menyatakan suatu rutin. Procedure, routine, dan function merupakan
beberapa nama yang digunakan untuk menyatakan suatu rutin dalam program.
Matlab menyediakan banyak sekali yang rutin (function) yang kemudian membuat
penyusunan program dalam Matlab menjadi sangat efisien (biult-in). Namun, masih
dimungkinkan bagi penyusunan program untuk membuat sendiri function yang
diperlukan. Matlab menyimpan banyak sekali rutin dalam programnya. Penyusunan
program dapat menggunakan biult-in function ini dalam penyusunan program. Di
dalam sebuah function dapat disisipkan function yang disebut dengan subfunction.
Function dijalankan menggunakan program yang disusun pada file yang berbeda.
4. Prosedur
4.1 Persamaan kuadrat
- Program menghitung akar-akar persamaan kuadrat digunakan sebagai contoh untuk
membuat function. Program itu dibagi menjadi dua sebagi berikut:
Program Utama:
clear;
clc;
disp('program menghitung akar persamaan kuadrat ');
disp('persamaan berbentuk Ax^2 +Bx +C ');
A=input('Berika nilai A= ');
B=input ('Berikan nilai B= ');
C=input('Berikan nilai C= ');
%
[x1,x2]=kuadr(A,B,C)
Program Function:
function [x1,x2]=kuadr(A,B,C);
D=(B^2-4*A*C)
disp(' ')
if D==0
disp('kedua akarnya sama yaitu ');
x1=-B/2*A;
x2=x1;
elseif D<0
disp('akar-akarnya imajiner ');
x1=(-B+sqrt(D))/(2*A);
x2=(-B-sqrt(D))/(2*A);
else
disp('akar-akarmya riil ');
x1=(-B+sqrt(D))/(2*A);
x2=(-B-sqrt(D))/(2*A);
end
- Menyimpan program ini dengan cara langsung di-save as, tanpa harus memberikan
nama file karena secara otomatis Matlab akan memberikan nama function-nya.
- Menjalankan program diatas dan memberikan nilai masukan sebagaimana yang
tertera pada komentar program. Memeriksa kesesuaian output program yang
dihasilkan. Bila benar, output program akan sesuai dengan komputer.
PROGRAM UTAMA
%proggram gerak peluru
%menggunakan function gerpel
clc;
clear all;
%
disp(' ')
vo=input('berikan nilai kecepatan awal peluru ,vo= ');
sudut=input('berikan sudut arah ggerak peluru,alpha= ');
%
gerpel(vo,sudut)
PROGRAM FUNCTION
function gerpel(vo,sudut)
%
g=10;
%
alpha=(sudut*pi)/180;
tmax=vo*sin(alpha)/g;
t=0:0.01:2*tmax;
x=vo*cos(alpha)*t;
y=vo*sin(alpha)*t-(1/2)*g*t.^2;
plot(x,y)
clear;
clc;
disp('program menghitung akar persamaan kuadrat ');
disp('persamaan berbentuk Ax^2 +Bx +C ');
A=input('Berika nilai A= ');
B=input ('Berikan nilai B= ');
C=input('Berikan nilai C= ');
%
[x1,x2]=kuadr(A,B,C)
Program Function
function [x1,x2]=kuadr(A,B,C);
D=(B^2-4*A*C)
disp(' ')
if D==0
disp('kedua akarnya sama yaitu ');
x1=-B/2*A;
x2=x1;
elseif D<0
disp('akar-akarnya imajiner ');
x1=(-B+sqrt(D))/(2*A);
x2=(-B-sqrt(D))/(2*A);
else
disp('akar-akarmya riil ');
x1=(-B+sqrt(D))/(2*A);
x2=(-B-sqrt(D))/(2*A);
end
Hasil Eksekusi
D=
0
x1 =
1
x2 =
1
>>
program menghitung akar persamaan kuadrat
persamaan berbentuk Ax^2 +Bx +C
Berika nilai A= 2
Berikan nilai B= -2
Berikan nilai C= -4
D=
36
akar-akarmya riil
x1 =
x2 =
-1
>>
program menghitung akar persamaan kuadrat
persamaan berbentuk Ax^2 +Bx +C
Berika nilai A= 1
Berikan nilai B= 0
Berikan nilai C= -9
D=
36
akar-akarmya riil
x1 =
x2 =
-3
>>
D=
-24
akar-akarnya imajiner
x1 =
-1.0000 + 1.2247i
x2 =
-1.0000 - 1.2247i
>>
PROGRAM UTAMA
PROGRAM FUNCTION
function gerpel(vo,sudut)
%
g=10;
%
alpha=(sudut*pi)/180;
tmax=vo*sin(alpha)/g;
t=0:0.01:2*tmax;
x=vo*cos(alpha)*t;
y=vo*sin(alpha)*t-(1/2)*g*t.^2;
plot(x,y)
Hasil Eksekusi:
140
120
100
80
60
40
20
-20
0 100 200 300 400 500 600 700 800 900
6. Analisa Data
- Pada percobaan 4.1 nilai secara teori sama dengan nilai yang didapat oleh matlab,maka
program adalah benar.
- Pada percobaan 4.2 grafik yang ditampilkan telah sesuai dengan grafik gerak peluru
- Pada program utama hanya mengandung diketahui sedangkan rumus di ketik pada program
function
7. Simpulan
o Perintah “function” adalah perintah yang digunakan untuk mengefisienkan program
yang disusun pada file yang berbeda
o Jika meggunakan perintah function,maka nama program akan tersave as sesuai
dengan nama disebelah perintah “function” tersebut.
Jawab:
Program utama
program function
function momentum(m1,m2,v1,v2)
v1f = [(m1-m2)*v1+(2*m2*v2)]/(m1+m2)
v2f=v1-v2+v1f
disp (' ')
disp(['kecepatan pantulan benda pertama ,v1f= ',num2str(v1f)])
disp(['kecepatan pantulan benda kedua ,v2f= ',num2str(v2f)])
Hasil Eksekusi
v1f =
3.0000
v2f =
>>
Program Utama
program function
function fourier(bs,theta)
F=0;
for n=1:1:bs
F=F+(2/((2*n)-1))*sin(((2*n)-1)*theta);
F=F;
end
plot(theta,F)
grid
Hasil Eksekusi
1.5
0.5
-0.5
-1
-1.5
-2
-4 -3 -2 -1 0 1 2 3 4