Anda di halaman 1dari 9

TUGAS 12

1. Persamaan yang digunakan pada interferensi I dan II:


Interferensi I:
delta=((2*pi)/lambda)*d*sin((sudut*pi/180));
for i=1:1:n,
ax=ax+cos(i*delta);
ay=ay+sin(i*delta);
ax=ax;
ay=ay;
end
It=(ax).^2+(ay).^2;

Interferensi II:
gamma=(1/2)*((2*pi)/lambda)*d*sin(sudut*pi/180);
nsin=sin(n*gamma);
ssin=sin(gamma);
It=(nsin./ssin).^2;

2. Hasil eksekusi menggunakan nilai amplitude yang berbeda. Menyusun program untuk
menyimpan hasil eksekusi yang diperoleh:
%program interferensi celah
%menggunakan phasor
%implementasi looping/iterasi
clc;
clear all;
%
%masukan program
disp('panjang gelombang (4000A-8000A)');
lambda=input('berikan nilai panjang gelombang, lambda=');
disp(' ');
disp('jarak celah (<panjang gelombang)');
d=input('berikan jarak celah,d=');
disp(' ');
disp('jumlah celah (bilangan bulat>=2)');
n=input('berikan jumlah celah,n=');
%
%persiapan sumbu x dan y
xmin=0;
xmax=60;
ymin=0;
ymax=(n)^2+5;
%
ax=0;
ay=0;
%
sudut=0:1:60;
delta=((2*pi)/lambda)*d*sin((sudut*pi/180));
for i=1:1:n,
ax=ax+cos(i*delta);
ay=ay+sin(i*delta);
ax=ax;
ay=ay;
end
It=(ax).^2+(ay).^2;
%
plot(sudut,It)
axis([xmin xmax ymin ymax])
grid

hasil eksekusi:

panjang gelombang (4000A-8000A)


berikan nilai panjang gelombang, lambda=5000
jarak celah (<panjang gelombang)
berikan jarak celah,d=3000
jumlah celah (bilangan bulat>=2)
berikan jumlah celah,n=5
»
30

25

20

15

10

0
0 10 20 30 40 50 60

%program menyimpan file menggunakan perintah save


%
clear all;
clc;
xmin=0;
xmax=60;
ymin=0;
%
save xmin.txt xmin -ascii;
save xmax.txt xmax -ascii;
save ymin.txt ymin -ascii;

A. Tugas 13

Modifikasi program untuk memperoleh animasi:

%gerak parabola
v0=input('kecepatan awal=');
a=input('sudut elevasi=');
%defenisi variabel
h=0.05;
a=a*pi/180;
g=10;
%percepatan dalam gravitasi
xmax=v0^2*sin(2*a)/g;
ymax=v0^2*sin(a)^2/(2*g);
td=2*v0*sin(a)/g;
%waktu total
x1=0;
y1=0;
for t=0:h:td+h
x=v0*t*cos(a); %jarak dalam sumbu x
y=v0*t*sin(a)-g*t^2/2; %jarak dalam sumbu y
plot(x,y,'ro')
title('gerak parabola');
xlabel('jarak(meter)');
ylabel('ketinggian(meter)');
getframe;
x1=x1+h*v0*cos(a); %metode euler untuk sumbu x
y1=y1+h*(v0*sin(a)-g*t); %metode euler untuk sumbu y
end

Hasil eksekusi:
» tgsprak13
kecepatan awal=5
sudut elevasi=30
»
Kemudian akan muncul grafik sebagai berikut pada jendela figure, animasi ini hanay bertahan
sebentar tidak sampai 5 sekon.
gerak parabola
1

0.5
k e t in g g ia n (m e t e r)

-0.5

-1

-1.5
1 1.5 2 2.5 3 3.5
jarak(meter)

A. Tugas 14
%program menggunakan perintah switch
%menghitung volume bangun ruang
%pilihan menggunakan input bilangan
%
clear;
clc;
disp(' ')
disp('program menghitung gerak');
disp('1.GLB');
disp('2.GLBB');
disp('3.GJB');
disp('4.GLVA');
disp('5.GLVB');
pilih=input('pilihan= ');
disp(' ')
switch pilih
case 'GLB'
disp(' ')
v=input('kecepatan= ');
t=input('waktu= ');
a=[v*t];
disp(['jarak tempuh mobil ,a= 'num2str(a),' m ']);
case 'GLBB'
disp(' ')
v0=input('kecepatan awal= ');
vt=input('kecepatan akhir= ');
t1=input('waktu1= ');
t2=input('waktu2= ');
a=(vt-v0)/t
a=(v0*t2)+1/2*(a*t2.^2);
disp(['jarak tempuh pengendara ,a= 'num2str(a),' m ']);
case 'GJB'
disp(' ')
h0=input('tinggi awal= ');
g=input('gravitasi= ');
t=input('waktu= ');
ht1=(1/2)*g*t.^2;
ht2=h0-ht;
disp(['ketinggian benda ,ht2= ',num2str(ht2), 'm']);
case 'GLVA'
disp(' ')
v0=input('kecepatan awal= ');
g=input('gravitasi= ');
t=input('waktu= ');
h=(v0*t)-(1/2)*g*t^2;
disp(['ketinggian,h= ',num2str(h),'m']);
case 'GLVB'
v0=input('kecepatan awal= ');
g=input('gravitasi= ');
h=input('ketinggian= ');
t=input('waktu= ');
vt=v0*g*t;
disp(['kecepatan benda ,vt= ',num2str(vt),'m/s']);
otherwise
disp('pilihan anda tidak sesuai')
end
disp(' ')

Hasil eksekusi:
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GLB'
kecepatan= 15
waktu= 3
jarak tempuh mobil ,a= 45 m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GLBB'
kecepatan awal= 15
kecepatan akhir= 12
waktu1= 6
waktu2= 4
percepatan= 3
jarak tempuh pengendara ,a= 84 m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GJB'
tinggi awal= 15
gravitasi= 10
waktu= 5
ketinggian akhir= 12
ketinggian benda ,ht2= 3m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GLVA'
kecepatan awal= 20
gravitasi= 10
waktu= 5
ketinggian,h= -25m
»
program menghitung gerak
1.GLB
2.GLBB
3.GJB
4.GLVA
5.GLVB
pilihan= 'GLVB'
kecepatan awal= 15
gravitasi= 10
ketinggian= 12
waktu= 6
kecepatan benda ,vt= 900m/s
»

Tugas 15
Modifikasi program sehingga menjadi function:
Program utama:

%perhitungan jarak menggunakan perintah input


kec=input('berikan nilai kecepatan, kec=')
waktu=input('berikan nilai waktu, waktu=')
jarak=kec*waktu
%
perhjarak(kec,waktu)

Program function:

function perhjarak(kec,waktu)
%
t=5;
%
kec=input('berikan nilai kecepatan, kec=')
waktu=input('berikan nilai waktu, waktu=')
jarak=kec*waktu
end

Hasil eksekusi:
» perhjarak
Warning: Unmatched "end".
In D:\Algoritma\perhjarak.m at line 8.
berikan nilai kecepatan, kec=8
kec =
8
berikan nilai waktu, waktu=5
waktu =
5
jarak =
40
»

Program Utama:
%program GLBB
kec_awal=input('berikan nilai kecepatan awal, kec_awal=')
perc=input('berikan nilai percepatan, perc=')
waktu=0:1:10 %membangkitkan bilangan mulai dari 0 sampai 10
dengan kelipatan 1
jarak=kec_awal*waktu+(1/2)*perc*waktu.^2
%
glbb(v0,a)

Program function:
function glbb(v0,a)
%
t=3;
%
kec_awal=input('berikan nilai kecepatan awal, kec_awal=')
perc=input('berikan nilai percepatan, perc=')
waktu=0:1:10 %membangkitkan bilangan mulai dari 0 sampai 10
dengan kelipatan 1
jarak=kec_awal*waktu+(1/2)*perc*waktu.^2
end

Hasil eksekusi:
» path(path,'D:\Algoritma')
» glbb
Warning: Unmatched "end".
In D:\Algoritma\glbb.m at line 9.
berikan nilai kecepatan awal, kec_awal=10
kec_awal =
10
berikan nilai percepatan, perc=5
perc =
5
waktu =
0 1 2 3 4 5 6 7 8 9
10
jarak =
Columns 1 through 7
0 12.5000 30.0000 52.5000 80.0000 112.5000
150.0000
Columns 8 through 11
192.5000 240.0000 292.5000 350.0000
»

Anda mungkin juga menyukai