Jawaban Ujian Fisika Komputasi

Post on 24-Jul-2015

530 views 28 download

Transcript of 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)