Download - Jawaban Ujian Fisika Komputasi
JAWABAN FINAL TEST
FISIKA KOMPUTASI
Oleh
Ora Vide Sirituka
0906062459
JURUSAN FISIKA
FAKULTAS SAINS DAN TEKNIK
UNIVERSITAS NUSA CENDANA
KUPANG
2012
Soal 1.Formulasi Analitik
a. Darimana asal formula beda pusat 3 titik, berikut ini :
f '''( x0)≈f 2−2 f 1+2 f−1−f −2
2h3
b. Jelaskan penggalan syntax program dibawah :
While x<x2 Do
Fx:= 1 –exp (-12.5*x/68.1);
J;=j+1;
If (x=x1) Or (x=x2) Then what [i]:=what [i]+fx
Else
Begin
If(x>x1) And (x=x2) And (j mod 2=0)Then
what [i]:= What [i] + 4*fx;
If (x.x1) And (x<x2) And (j mod 2=1) Then
what [i]:=what [i] +2*fx;
End;
Jawab
a. Formula beda pusat 3 titik:
f ( x )=f 0+xf '+ x2
2 !f ''+ x3
3 !f '''+.. .
Semua turunan dievaluasi pada x=0, didapatkan bentuk persamaan
f ±1≡f ( x=±h)=f 0±hf '+ h2
2f ''±h3
6f '''+O (h4 )
dimana , O(h4 )merupakan pendekatan kesalahan dalam orde 4 atau lebih tinggi. Subtraksi f-1
dari f1 pada persamaan (1) memberikan bentuk diferensial,
f '=f 1−f −1
2 h−h2
6f '''+O(h4 )
Bentuk f'''
akan terinduksi ketika h diperkecil menjadi
f '≈f 1−f−1
2h
yang merupakan formula beda pusat (central difference) dengan 3 titik, yang lebih dikenal
sebagai “3 point” formula atau formula 3 titik.
Untuk formula beda pusat orde O(h2) ; formula 3 titik
f ' ( x0)≈f 1−f−1
2h
f ''( x0 )≈f 1−2 f 0+ f−1
h2
f '''( x0)≈f 2−2 f 1+f −1−f−2
2 h3
Untuk lebih jelasnya untuk mendapatkan Formula beda pusat 3 titik yaitu:
Pembuktian Formulasi 3 titik untuk f’’’(x0):
f ( x+h )=f ( x )+hf ' (x )+ 12
h2 f ' ' ( x )+ 16
h3 f ' ' ' ( x )
f ( x−h ) f ( x )−hf ' (x )+ 12
h2 f ' ' ( x )−16
h3 f ' ' ' ( x )−¿
f ( x+h )−f (x−h)=2 hf ' (x )+ 13
h3 f ' ' ' ( x ) . . . . . . . . . (1)
f ( x+2 h )= f ( x )+2hf ' ( x )+2 h2 f ' ' ( x )+ 16(2 h)3 f ' ' ' ( x )
f ( x−2h ) f (x )−hf ' ( x )+2 h2 f ' ' ( x )−16(2 h)3 f ' ' ' (x )−¿
f ( x+2 h )−f (x−2h)=4hf ' ( x )+ 13(2 h)3 f ' ' ' (x ) . . . . . (2)
Untuk mengeliminasi f’(x) dari kedua persamaan, maka persamaan (1) dan (2) diambil sehingga:
f ( x+h )−f ( x−h )=2 hf ' ( x )+ 13
h3 f ' ' ' ( x ) … ..x 2
f ( x+2 h )− f ( x−2 h )=4 hf ' ( x )+ 13
(2 h )3 f ' ' ' ( x ) …. x 1
sehingga:
2 f ( x+h )−2 f (x−h )=4 hf ' ( x )+ 23
h3 f ' ' ' ( x )
f ( x+2 h )−f ( x−2h )=4 hf ' ( x )+ 13
(2 h )3 f ' ' ' ( x )−¿
2f ( x+h )−2 f ( x−h )−f ( x+2 h )+f ( x−2 h )=23
h3 f ' ' ' ( x )−83
h3 f ' ' ' ( x )
2f ( x+h )−2 f ( x−h )−f ( x+2h )+f ( x−2h )=−2h3 f ' ' ' ( x )
2h3 f ' ' ' ( x )−2 f ( x+h )+2 f (x−h )+f ( x+2 h )−f ( x−2h )
f ' ' ' (x )= f (x+h )−2 f ( x−h )−f ( x+2h )−f ( x−2 h )2h3
f ' ' ' (x )= f 2−2 f 1−2 f −1− f −2
2 h3
b. Penjelasan penggalan syntax program adalah sebagai berikut:
Program ini adalah penggalan program yang menggunakan metode Simpson 1/3.
Ketika x lebih kecil x2 maka akan dikerjakan oleh program (while x<x2 Do)
Fx:= 1-exp(-12.5*x/68.1) merupakan rumusan atau persamaan untuk mencari nilai fx
nya.
j :=j+1; berarti bahwa nilai untuk variable j= j+1
If (x=x1) atau (x=x2) Then what [i]:=what [i]+fx berarti bahwa jika nilai x sama
dengan x1atau nilai x sama dengan x2 maka nilai i= i+fx
Else menunjukkan operasi yang lainnya
Begin berarti memulai program
If(x>x1) And (x=x2) And (j mod 2=0)Then menggambarkan bahwa jika x>x1 dan
x=x2 dan nilai j dari operasi hasil bagi terhadap 2=0 maka
what [i]:= What [i] + 4*fx; i= i+4fx
If (x>x1) And (x<x2) And (j mod 2=1) Then jika x lebih besar x1 dan x lebih kecil
x2 dan hasil bagi nilai j terhadap 2=1 maka
End; program berakhir
Program ini menggambarkan metode Simpson 1/3 yang mana dalam list program ini
menggambarkan cara jalannya program. Dalam penggalan program ini juga
menjelaskan tentang aturan Simpson untuk fungsi ganjil dan genap. Jika saat program
dijalankan dan tidak memenuhi aturan untuk fungsi ganjil maka program akan
dilanjutkan ke aturan untuk fungsi genap lalu berhenti. Tapi apabila memenuhi fungsi
ganjil maka program akan berhenti. Demikian seterusnya.
Soal 2. Diferensial
Seorang mahasiswa fisika bermassa 60 kg meloncat dari Heli Thunder yang
terbang diam di atas Penfui, dan mengalami percapatan (dv/dt).Jika parasut
mengalami resistansi udara Fu = -cv, dimana c= 12,5 kg/s , konstanta gravitasi (g
= 9,8 m/s2);
a. Rumuskan solusi analitiknya untuk y(t), v(t) dan a(t)
b. Rumuskan formulasi untuk a(t) menggunakan metode beda pusat 3 titik!
c. Tuliskan program dan running untuk mendapatkan solusi!
Jawab
Dik : m = 60 kg
a = dvdt
Fu = -cv
c = 12,5 Kg/s
g = 9,8 m/s2
dit : a. solusi analitik untuk y(t), V(t), dan a(t)
b. Rumuskan formulasi untuk a(t) menggunakan metode beda pusat 3
titik.
c. program dan running untuk mendapatkan solusi.
Jawab:
a. solusi analitik untuk y(t), V(t), dan a(t)
dvdt
= fm
F= F0 + Fu ; F0 = mg, Fu = -cv
F = mg – cv
Untuk memperoleh y(t) maka terlebih dulu dicari v(t) ;
dvdt
=mg−cvm
dvdt
=g− cvm
∫vt
v0
dv
gcvm
=∫t 0
t
dt
∫V 0
Vt d (g− cvm
)
g−cvm
=∫t o
t
dt
−mc ⟦ ln( g− cv
m
g− cvm
)⟧ vtv 0
=t ] tt 0
−mc
ln( g−cv t
m
g−cv t
m)=t−t 0
−mc
ln( g−cv t
m
g−cv t
m)=t−t 0
ln ( g−c v t
mg )=−ct
m
g−c v t
mg
=(e−ctm )
g−c v t
mg
=(e−ctm )
1−(e−ct
m )=cv t
gm
v t=gmc
(1−e−( c
m )t
)
Jika pada t = 1
v(t=1) =
9,8×6012 ,5
(1−e−(12 ,5 /60)1)
=
58812 ,5
(1−e−(0 , 2083))
= 8,845m/s
Setelah diperoleh V(t), lalu diintegralkan untuk memperoleh y(t) ;
V(t) = mgc
[1−e(−c
m )t
]
∫t0
t1
mgc
[1−e(−c
m )t
]dt
mg∫t 0
t
[1−e(−c
m )t
]dt
¿mgc∫dt−
mgc∫e
(−cm )t
dt
¿ mgc
⟦t ⟧t 1
t 0−mgc
e(−c
m )t
−¿
= mgc
t+ mgc
mc
¿)
¿ mgc
t+ mgc
mc
(e(−cm )
−1)
¿ mgc
t+ mgc
mc
(e(−cm )
−1)
Y (t )=f (x)= gmc
[ t+ mc
(e(−cm )
−1)]
Pada t=1 maka:
Y (t )=f (x)=9.8 x 6012.5
[1+ 6012.5
(e(−12.560 )
−1)]y (t )=¿4,5767 m.
Setelah diperoleh Y(t), maka sekarang di cari a(t) ;
V(t) = mgc
[1−e(−c
m )t
]
a (t)=dv t
dt
¿gmc
−cm
(e(−c
m )t
)
a¿ ge(−c
m )t
Pada t =0 maka:
a ( t )=9 . 8×e−(12 . 5/60 )0
a ( t )=9 . 8×e−(0)
a ( t )=9,8m
s2
pada t=1
a=9.8 e(−12.5
60 )1
¿7,9569 m /s2
b.Formulasi untuk a(t) menggunakan metode beda pusat 3 titik
Untuk mendapatkan rumusan a(t) sebelumnya kita harus menurunkan atau
mendeferensialkan v(t)
v ( t )=gmc
(1−e−(c /m )t )
a ( t )=dvdt
a ( t )=d ( gm
c(1−e−(c /m )t )
dt
a ( t )=gmc
× cm
e−(c /m )t
a ( t )=g×e−(c /m) t
Kemudian hasil yang diperoleh dimasukan ke formula beda pusat 3 titik
f '''( x0)≈f 2−2 f 1+f −1−f−2
2h3
Secara numeric juga dapat dituliskan
t :=y-(i-2)*h;
a(t) := 9.8*(exp(-12.5*t/60));
z[i]:=at;
dt:= (z[1]-2*z[2]+z[3]/sqr h);
c. Program dan hasil runingnya
Program yang dibuat untuk mencari solusi dari kasus parasut yaitu menentukan nilai a(t).
Solusi ini menggunakan program TPW 1,5 yang di buat dengan metode beda pusat.
List programnya:
Program Turunan2_BedaPusat;
Uses wincrt;
Const eps = 1e-3;
Type Deret = Array[1..3] of Real;
Var ft, del, dt, zz, t, y, h : Real;
i, n : Integer;
z : Deret;
Begin
Clrscr;
Writeln ('program turunan II untuk beda pusat');
Writeln;
Write('':5,'masukkan nilai t:'); Readln(y) ;
Writeln;
h := 1;
n := 0;
zz :=0;
del :=10;
While Abs (del) >= eps Do
Begin
n := n+1;
For i := 1 To 3 Do
Begin
t := y- (i - 2)* h;
{ -dapat berubah sesuai bentuk fungsi -}
ft := t + 60/12.5*( exp( - 12.5*t/60) - 1);
ft := ft* 9.8* 60/12.5;
{------------------------------------------}
z[i]:=ft;
End;
dt := (z[1] - 2*z[2] + z[3])/sqr(h) ;
del := zz - dt ;
Writeln ('':5, h:10, '':5, dt:10,'':5, del:10) ;
zz := dt;
h := h/10;
End;
Writeln;
Writeln('':5,'Turunan Kedua f(t) :',dt:10);
Gotoxy(60,5); Write ('Tekan <Esc>') ;
Repeat Until Readkey = #27;
End.
Hasil runingnya
Hasil yang di dapatkan nilai dengan numeric sama dengan secara analitik tetapi dalam
penyelesaiannya numeric lebih cepat dan tingkat ketelitiannya lebih baik dari pada analitik.
Soal 3. Integrasi
1
10
20 cm
Berapakah besar arus listrik yang mengalir pada sebuah kawat sangat panjang yang sejajar
dengan sisi panjang sebuah bidang persegi yang ditembus fluks magnet Ф sebesar 3,5 x 10 -6
Weber seperti pada gambar diatas ?
Hitunglah secara analitik dan programkan kasus ini secara komputasi numerik menggunakan
metode simpson 1/3 dan running hasilnya!
Jawab
Diketahui : Panjang (L)= 20 cm= 20/100=0,2 m
Batas bawah x1 dan batas atas x2= 1 cm= (0,01 m) dan 11cm=(0,11 m)
fluks magnet Ф sebesar 3,5 x 10-6
Ditanya : hitung arus (i) secara anlitik dan numeric?
Penyelesaiannya:
Secara anlitik
dФ = B.dA
= B.L.dr
=μ0
2 πiL
drr
Ф = μ0
2 πiL∫
x 1
x 2dxx
Dimana;
µ0 =4π ×10-7 Wb/Am
i = arus (ampere)
L = panjang (m)
Ф=fluks magnet (Weber)
i= φ×2π
μ0×L×∫x1
x2dxx
i= 3,5 μ×6 ,28
μ0×0,2× ∫0 , 01
0, 11dxx
i=21 ,98 μ
μ0×0,2× ln x ]0 , 010 . 11
i=21 ,98×10−6
4 π×10−7×0,2×2 ,398
i=21 ,98×10−6
6 , 023776×10−7
i=36 ,48 A
Secara numerik
Diselesaikan dengan program TPW1,5 dan menggunakan metode simpson 1/3
List programnya:
Program Simpson;
Uses wincrt;
Const max = 100;
eps = 1e-3;
Type indeks = 1..max;
Luas = Array[indeks] of Real;
Var simp : Luas;
x, x1, x2, delt, delx, pita, fx : Real;
i, j : Integer;
Arus,fluks,L: real;
Begin
Clrscr;
Write('':5,'Batas bawah:'); Readln(x1) ;
Write('':5,'Batas atas:'); Readln(x2) ;
Writeln; Writeln;
i :=0;
delt :=100;
fluks:=35;
L:=0.2;
Repeat
Begin
i:=i+1;
j:=0;
simp[i]:=0;
x:=x1;
pita:=2*exp((i-1)*Ln(2));
delx:=(x2-x1)/pita;
While x<x2 Do
Begin
{-------dapat berubah sesuai bentuk fungsi -----}
fx :=1/x;
{-----------------------------------------------}
j:=j+1;
If (x=x1) Or (x=x2) Then simp[i]:=simp[i]+fx
Else
Begin
If(x>x1) And (x<x2) And (j mod 2=0) Then
simp[i]:=simp[i]+4*fx;
If (x>x1) And (x<x2) And (j mod 2=1) Then
simp[i]:=simp[i]+2*fx;
End;
x:=x+delx;
End;
simp[i]:=simp[i]*delx/3;
If i=1 Then
Writeln('':5, pita:5:0,'':5,simp[i]:15)
Else
Begin
delt:=simp[i]-simp[i-1];
Writeln('':5,pita:5:0,'':5,simp[i]:15,'':10,
delt:15);
End;
End;
Until Abs(delt)<eps;
Writeln('':5, 'Harga Integrasi :' ,simp[i]:15) ;
Arus:=fluks/(L*2*simp[i]);
Writeln('':5, 'Arus yang mengalir adalah :' ,Arus:15) ;
Gotoxy(60,5); Write('Tekan <Esc>') ;
Repeat Until Readkey = #27;
End.
Hasil runingnya:
Soal 4. Syarat awal & keadaan awal pada ODE
Sebuah kotak kubus bermassa M= 0,6 kg terikat pada ujung bawah
sebuah tali tak bermassa. Pada ujung tali atas diikatkan pada tiang
diam. Kubus menerima resistansi R=-B dy/dt dari udara, dimana B
adalah konstanta damping (Lihat Gambar). Persamaan geraknya:
Md2
dt 2y+B
ddt
y+ky=0 , y(0)=1, y’(0) = 0
Dimana y adalah perpindahan dari posisi statis, k adalah konstanta
pegas sebesar 100 kg/dtk2, dan B= 10 kg/det
Gunakan metode Runge Kutta orde kedua:
(a) y (t) untuk 0<t<0,05 detik dengan h = 0,025
(b) y (t) untuk 0<t<10 detik dengan h = 0,001
Jawab
Diketahui : massa (M)= 0,6 kg
resistansi R=-B dy/dt
B adalah konstanta damping (10 kg/det)
k adalah konstanta pegas sebesar 100 kg/dtk2
Persamaan geraknya:
Md2
dt 2y+B
ddt
y+ky=0 , y(0)=1, y’(0) = 0
Ditanya : (a) y (t) untuk 0<t<0,05 detik dengan h = 0,025
(b) y (t) untuk 0<t<10 detik dengan h = 0,001
mengunakan metode Runge Kutta orde kedua:
Penyelesaiannya:
Secara analitik
M d2
d t 2 y + B ddt
y + ky = 0; y(0) = 1 , y1 (0) = 1
Y = z = F (y,z,t)
Z1 = −BM
z− KM
Y=Y ( y , z , t )
Y(0) = 1
Z(0) = 0
Dengan :
a¿BM
= 100,6
=16,66
b¿KM
=1000,6
=166,66
U/ n = 1 , t = 0,025
K1 = hf (Y0,Z0,t0) = hz0 = 0,025 (0) = 0
l1 = hf (Y0,Z0,t0) = h(-a(z0)-b(y0) = 0,025 (-16,66(0)-166,66(1)) = 4,1665
K2 = hf (y0+K1,Z0+I1,t0) = hz0 = h (Z0 + l1)= 0,025 (0 – 4,1665) = - 0,1041625
L2 = hf (y0+K1,Z0+I1,t1) = hz0 = h ((Z0 + l1) – b(Y0) + K1)
= 0,025 (– 16,67 (0+(-4,1665) – 166,66x1))
= 0,025 (– 16,67 (-4,1665 – 166,66x1))
= 0,025 (-97,210) = -2,43025
Yn+1 = Yn +12
(K1 + K2)
Y1 = Y0 +12
(0 - 104)
= 1 +12
(- 0,104)
= 1 +0,052
= 0,948
Z1 = Z0 +12
( -4, 1665 – (- 2,43025))
= Z0 +12
( -4, 1665 +2,43025)
= 0 +12
(−6,59675¿
¿−3,298375
n = 2, h =0.025, t=0,05
k 1=( y1 , z1 ,t 1 )=h . z1=0,025 (−3,298 )=−0,08245
l1=hg ( y1 , z1 ,t 1)=h(−a z1−b y1)
¿0,025(−16,667 {−3,298 }−166,667 {0,948 })
¿−2,57581375
k 2=hf ( y1+k1 , z1+l1 ,t 1 )=h (z1+l1)
¿0.025 (−3.298315−2.5758 )=0.025−5.87418875=−0.1468547188
l2=hg ( y1+k1, z1+ l1 , t1 )=h[−16.667 ( z1+l1 )−b ( y1+k 1) ]
¿0.025¿
¿0.025¿
¿0.025 (−46.336851 )=−1.158421275
Maka y2= y1+12
(k 1+k2 )
¿0.9375+ 12
(−0.08245−0.1468547188 )
¿0.9375+ 12
(−0.2293042188 )
¿0.9375+0.1146523594=1.052152359
z2=z1+12
( l1+l2 )
¿−3.298375+ 12
(−2.57581375−1.158421275 )
¿−3.298375−1.8671175
¿−5.1654925
b. n = 1, t = 5, h=0,001
k 1=hf ( y0 , z0 , t0 )=h z0=0.001 x0=0
l 1=hg ( y0 , z0 , t 0 )=h (−16.667 x 0−166.667 x 1 )=0.001 (−166.667 )=−0.166667
k 2=hf ( y1+k1 , z1+l1 ,t 1 )=h ( z0+l0 )
¿0.001 (−166.667 )=1.66667 x10−4
l2=hg ( y1+k1, z1+ l1 , t1 )=h [−16.667 (0−0.6667 )−166.667 (1 ) x 0 ]
¿0.001¿
¿0.001 (−163.8891111)=−0.1638891111
y1= y0+12
( k1+k2 )=1+ 12(0−1.66667 x10−4)
¿0.999916665
z1=z0+12
(l1+l2 )=0+ 12(−0.166667−0.1638891111)
¿−0.1652780556
n = 2, t = 10, h=0.001
k 1=hf ( y1, z1 ,t 1 )=h z1=0.001 x (−0.1652780556 )=−1.652780556 x 10−4
l1=hg ( y1 , z1 , t1 )=h (−16.667−0.1652780556 )−166.667 x 0.999916665=0.001 x (−16.83227806−166.6531108)=0.001 (−183.4853889 )
¿−0.1834853889
k 2=hf ¿
¿0.001(−0.1652780556−0.1834853889)
¿−3.487634445 x10−4
l2=hg ( y1+k1, z1+ l1 , t1 )
¿h {−16.67 ( z1+l1 )−166.67( y1+k1)
¿0.001 {−16.67 (−0.1652780556−0.1834853889 )−166.667 (0.999916665 )−1.652808056 x 10−4 } ¿0.001 {−16.667 x (−0.348763445 )−166.667 (0.9997513842 ) }
¿0.001(5.812840338−166.6255639)
¿0.001 (−160.8127236 )=−0.1608127236
y2= y1+12
(k 1+k2 )
¿0.999916665+ 12(−1.652788556 x10−4−3.487634445 x 10−4)
¿0.99+ 12(−5.140415001 x 10−4)
¿0.99+(−2.570207501 x10−4)
¿0.9996694338
z2=z1+12
( l1+l2 )
¿0.1652780556+ 12(−0.1639008795−0.1601411045)
¿−0.3278017976
Secara Numerik
Listing programnya adalah sebagai berikut:
program runge_kutta_2;
uses wincrt;
var
n,i:integer;
k,l,y,z: array[0..50]of real;
h,k1,k2,l1,l2,B,x,a,c,M:real;
begin
clrscr;
write('Masukkan jumlah iterasi (maks. 50):');readln(n);
write('Masukkan h :');readln(h);
z[0]:=0;
y[0]:=1;
B:=10;
x:=100;
write('Masukan M :');readln(M);writeln;
writeln;
for i:=1 to n do
begin
a:=B/M;
c:=x/M;
k[i]:=h*z[i-1];
l[i]:=h*((-a*z[i-1])-(c*y[i-1]));
k[i+1]:=h*(z[i-1]+l[i]);
l[i+1]:=h*(-a*(z[i-1]+l[i])-(c*y[i-1])+k[i]);
y[i]:=y[i-1]+(0.5*(k[i]+k[i+1]));
z[i]:=z[i-1]+(0.5*(l[i]+l[i+1]));
writeln('k[',i,']=',k[i]:11:5,'; l[',i,']=',l[i]:11:5);
writeln('k[',i+1,']=',k[i+1]:11:5,'; l[',i+1,']=',l[i+1]:11:5);
writeln('y[',i,']=',y[i]:11:5,'; z[',i,']=',z[i]:11:5);
writeln;
end;
readln;
end.
Hasil runningnya
a. untuk h =0.025
b. untuk h=0.001
Soal 5. Soal 4. Syarat awal & keadaan awal pada ODE
Sebuah rangkaian ditujukan pada gambar memiliki induktansi diri L=80H,
Resisitensi R=30ohm, dan sumber tegangan V=12 volt. Jika saklar ditutup
pada t=0, arus I(t) memenuhi
L d/dt I(t) +RI(t)=E , I(O)=0
Tentukan arus yang mengalir untuk 0≤t≤10detik menggunakan metode
Runge Kutta orde kedua, ketiga, dan keempat dengan h=0,1
Jawab
Diketahui : induktansi diri L=80H
Resisitensi R=30ohm
sumber tegangan V=12 volt
Ditanya : arus yang mengalir untuk 0≤t≤10detik menggunakan metode Runge Kutta
orde kedua, ketiga, dan keempat dengan h=0,1?
Penyelesaiannya:
Secara analitik
metode Runge Kutta orde dua :
ddt
I ( t )+ RL
I ( t )+ EL
≡f ( I , t )
k 1=h[−RL
I+EL ]
k 2=h[−RL
( In+k 1)+EL ]
I n+1=I n+12
(k 1+k 2)
n = 0(t = 0.1)
K1= 0.1[(-0.375)(0)+0.15] = 0.015
K2= 0.1[(-0.375)(0+0.015)+0.15] = 0,144375
I1= I0 + ½ (K1+K2)=0 =0+1/2(0.015+0.144375)=0.0796875
n = 0(t = 0.1)
K1= 0.1[(-0.375)(0.0796875)+0.15] = 0.012
K2= 0.1[(-0.375)(0.079687+0.012)+0.15] = 0.0115
I2= I1 + ½ (K1+K2)=0.079687-1/2 (0.012+0.0115)=0,068126
Secara numerik
Solusinya menggunakan program TPW 1,5 dengan penyelesaiannya digunakan program
Range Kutta orde dua ,metode Heun.
List programnya
Program Runge_Kutta_orde2;
Uses wincrt;
Const eps=1e-5;
delx=0.1;
type selang=array[0..1000] of real;
var I, k: selang;
k 1=h[−RL
I+EL ]
k 2=h[−RL
( In+k 1)+EL ]
I n+1=I n+12
(k 1+k 2)
y, ka, delt, t:real;
n, j, m: integer;
begin
write('masukan nilai awal(I0):'); readln(I[0]);
writeln;
n:=0; m:=1;
writeln('t(detik)':10,'I(amp)':10, 'Ketelitian':20);
repeat
begin
n:=n+1;
for j:=1 to 2 do
begin
if j=1 then
begin
y:=I[n-1];
end else
begin
y:=I[n-1]+k[1];
end;
k[j]:=delx*(-0.375*y+0.15);
end;
I[n]:=I[n-1]+0.5*(k[1]+k[2]);
ka:=I[n];
delt:=I[n]-I[n-1];
if (n/10)= m then
begin
writeln(m:5,ka:15:5,delt:25);
m:=m+1;
end;
end;
until delt<eps;
end.
Hasil runningnya
metode Runge Kutta orde tiga
secara analitik
untuk n=0 (t=0,1);
k 1=h [− RL
I + EL ]=0 ,015
k 2=h [− R2 L (I n+
12
k1)+ EL ]=0 ,0148
k 3=h[−RL ( I n−k1+2 k 2)+ E
L ]=0 ,0144
I n=1=I n+1
6 (k1+4 k2+k3 )
I 1=0+16
(0 , 015+4×0 , 0148+0 ,0144 )
l1=0 , 0886
Secara numerik
Program Runge_Kutta_orde3;
Uses wincrt;
Const eps=1e-5;
delx=0.1;
type selang=array[0..1000] of real;
var I, k: selang;
y, ka, delt, t:real;
n, j, m: integer;
begin
write('masukan nilai awal(I0):'); readln(I[0]);
writeln;
n:=0; m:=1;
writeln('t(detik)':10,'I(amp)':10, 'Ketelitian':20);
repeat
begin
n:=n+1;
for j:=1 to 3 do
begin
if j=1 then
begin
y:=I[n-1];
end else
begin
y:=I[n-1]+k[1];
end;
k[j]:=delx*(-0.37*y+0.15);
end;
I[n]:=I[n-1]+0.17*(k[1]+4*k[2]+k[3]);
ka:=I[n];
delt:=I[n]-I[n-1];
if (n/10)= m then
begin
writeln(m:5,ka:15:5,delt:25);
m:=m+1;
end;
end;
until delt<eps;
end.
Hasil runningnya
metode Runge Kutta orde empat
Secara analitik
Untuk n=0 (t=0,1);
k 1=h [− R
LI + E
L ]=0 ,015
k 2=h [− R2 L (I n+
12
k1)+ EL ]=0 ,0148
k 3=h[− R2 L (I n+
12
k2)+ EL ]=0 ,01486
k 4=h [− RL ( I n+k3 )+ E
L ]=0 , 0144
I n=1=I n+1
6 (k1+2 k2+2 k3+k4 )
I 1=0+16
(0 , 015+4×0 , 0148+0 ,0144 )
l1=0 , 08872
Secara numerik
List programnya
Program Runge_Kutta_orde4;
Uses wincrt;
Const eps=1e-5;
delx=0.1;
type selang=array[0..1000] of real;
var I, k: selang;
y, ka, delt, t:real;
n, j, m: integer;
begin
write('masukan nilai awal(I0):'); readln(I[0]);
writeln;
n:=0; m:=1;
writeln('t(detik)':10,'I(amp)':10, 'Ketelitian':20);
repeat
begin
n:=n+1;
for j:=1 to 4 do
begin
if j=1 then
begin
y:=I[n-1];
end else
begin
y:=I[n-1]+k[1];
end;
k[j]:=delx*(-0.37*y+0.15);
end;
I[n]:=I[n-1]+0.166*(k[1]+2*k[2]+2*k[3]+k[4]);
ka:=I[n];
delt:=I[n]-I[n-1];
if (n/10)= m then
begin
writeln(m:5,ka:15:5,delt:25);
m:=m+1;
end;
end;
until delt<eps;
end.
Hasil runningnya
Soal 6. Soal Bonus
Pada kasus fisis getaran tergandeng yang terjadi pada dua buah
titik massa (M) yang keduanya dihubungkan oleh sebuah pegas
yang berfungsi sebagai gaya pemulih harmonik (harmonic
restoring force) dan perpindahan posisi untuk benda pertama dan
kedua berturut-turut adalah x1 dan x2 memberikan dua persamaan
gerakan, yaitu
−md2 x1
dt2−C1 x1+C ( x2−x1 )=0
dan −m
d2 x1
dt 2−C2 x2+C ( x2−x1 )=0
Dengan C1 dan C2 adalah tetapan-tetapan gaya yang bergantung pada panjang masing-masing
pendulum ,dengan C1¿ C2 adalah kontanta pegas. Analisis dengan program dan grafik hasil
running!!
Jawab
Diketahui : x1 dan x2 memberikan dua persamaan gerakan, yaitu
−md2 x1
dt2−C1 x1+C ( x2−x1 )=0
dan −m
d2 x1
dt 2−C2 x2+C ( x2−x1 )=0
Ditanya : Analisis dengan program dan grafik hasil running!!
Penyelesaiannya:
program osilasi_harmonik_tergandeng;uses wincrt;vark1,l1,m1,n1,k2,l2,m2,n2,k3,l3,m3,n3,k4,l4,m4,n4,M,c,c1,c2,h,t,ta,z1,z2,x1,x2,xx1,xx2,x01,x02,z01,z02:extended;i:integer;osilasi:text;Procedure Analitik_khusus;begint:=0;x1:=x01;x2:=x02;z1:=z01;z2:=z02;writeln(osilasi,'metode analitik untuk keadaan khusus');writeln(osilasi);writeln(osilasi,' t(detik) x1(meter)x2(meter) ');writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);repeatx1:=x01*cos(t*sqrt(c1/M))+z01*sqrt(M/c1)*sin(t*sqrt(c1/M));x2:=x02*cos(t*sqrt(c2/M))+z02*sqrt(M/c2)*sin(t*sqrt(c2/M));t:=t+h;writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);until t>ta;End;procedure Euler;Begint:=0;x1:=x01;x2:=x02;z1:=z01;z2:=z02;writeln(osilasi,'metode Euler');writeln(osilasi);writeln(osilasi,' t(detik) x1(meter) x2(meter) ');writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);repeatk1:=h*z1;l1:=h*(-(c1+c)*x1/M+c*x2/M);m1:=h*z2;n1:=h*(c*x1/M-(c2+c)*x2/M);x1:=x1+k1;
z1:=z1+l1;x2:=x2+m1;z2:=z2+n1;t:=t+h;writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);until t>ta;End;{ program telah dipenggal disini !!}procedure Runge_Kutta_Orde_Empat;begint:=0;x1:=x01;x2:=x02;z1:=z01;z2:=z02;writeln(osilasi,'metode Runge-Kutta orde 4');writeln(osilasi);writeln(osilasi,'t(detik) x1(meter) x2(meter) ');writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);repeatk1:=h*z1;l1:=h*(-(c1+c)*x1/M+c*x2/M);m1:=h*z2;n1:=h*(c*x1/M-(c2+c)*x2/M);k2:=h*(z1+l1*0.5);l2:=h*(-(c1+c)*(x1+k1*0.5)/M+c*(x2+m1*0.5)/M);m2:=h*(z2+n1*0.5);n2:=h*(c*(x1+k1*0.5)/M-(c2+c)*(x2+m1*0.5)/M);k3:=h*(z1+l2*0.5);l3:=h*(-(c1+c)*(x1+k2*0.5)/M+c*(x2+m2*0.5)/M);m3:=h*(z2+n2*0.5);n3:=h*(c*(x1+k2*0.5)/M-(c2+c)*(x2+m2*0.5)/M);k4:=h*(z1+l3);l4:=h*(-(c1+c)*(x1+k3)/M+c*(x2+m3)/M);m4:=h*(z2+n3);n4:=h*(c*(x1+k3)/M-(c2+c)*(x2+m3)/M);x1:=x1+(k1+2*k2+2*k3+k4)/6;z1:=z1+(l1+2*l2+2*l3+l4)/6;x2:=x2+(m1+2*m2+2*m3+m4)/6;z2:=z2+(n1+2*n2+2*n3+n4)/6;t:=t+h;writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);until t>ta;End;beginM:=2; c1:=30; c2:=40; c:=0; x01:=4; x02:=5; z01:=0;z02:=40;h:=0.1; ta:=2;{ta = t akhir}assign(osilasi,'fisika.txt');rewrite(osilasi);analitik_khusus;writeln(osilasi);
Euler;writeln(osilasi);Runge_Kutta_Orde_Dua;writeln(osilasi);Runge_Kutta_Orde_Tiga;writeln(osilasi);Runge_Kutta_Orde_Empat;Close(osilasi);End
Hasil RunningData hasil running didapatkan untuk analisis kasus yang dilakukan dengan cara memvariasikan nilai konstanta pegas (C), besarnya tetapan gaya yang bekerja pada massa benda pertama (C1), tetapan gaya pada benda kedua (C2), lebar langkah (h), dan kelajuan awal (Z01).Pada kasus khusus C=0 yang diamati hanya untuk perpindahan pendulum pertama yang tidak diberikan kelajuan awal dan ketika lebar langkah h=0,1. Hasil yang diperoleh dengan metode Euler jauh menyimpang dari hasil analitiknya, sedangkan metode Runge-Kutta menunjukan hasil yang mendekati nilai analitiknya. Keakuratan hasil yang diperoleh bertambah baik dengan bertambahnya orde metode Runge-Kutta, sehingga metode Runge-Kutta orde empat lebih baikdaripada metode lain yang digunakan.
Gambar . Simpatetik dengan (M= 2 kg, C1= 30 N/m, C2= 40 N/m, C= 0 N/m, h= 0.1, Z01= 10 m/s)
Ketika digunakan nilai lebar langkah h=0,001, dan hasil yang diperoleh untuk setiap metode memberikan nilai yang hampir sama dengan nilai analitiknya.
Gambarnya adalah seperti dibawah ini:
Gambar Simpatetik dengan (M= 2 kg, C1= 30 N/m, C2= 40 N/m, C= 0 N/m, h= 0.001)