FISIKA KOMPUTASI
Oleh :
Winda Kusuma Dewi
4211412048
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS NEGERI SEMARANG
2012
DAFTAR ISI
Daftar isi
BAB I
1.1 Kecepatan Bola Jatuh Dalam Udara dengan Hambatan..... 10
1.2 Gerak Jatuh Bebas Tanpa Hambatan...... 15
BAB II
2.1 Nilai Percepatan Tanpa Redaman Pada Hukum Hooke..
22
25
28
BAB III
3.1 Gerak Proyektil 39
3.2 Gerak Bumi Mengelilingi Matahari. 46
3.3 Lintasan Orbit dengan Variasi Vy..
52
55
BAB IV
4.1 Rangkaian RC (Pengisian).
65
BAB V
5.1 Lintasan Ion Hidrogen 1.
98
102
BAB VI
6.1 Hamburan Rutherford. 113
vo
Apabila diasumsikan tidak ada gaya yang menghambat laju benda saat jatuh, maka gaya yang
bekerja pada benda tersebut hanyalah gaya berat akibat gravitasi bumi (W). Dengan demikian
sesuai dengan Hukum II Newton, percepatan gerak benda pada waktu t adalah
F = ma
(mg)=ma
a = g
Dari persamaan di atas, nyatalah bahwa percepatan benda hanya dipengaruhi oleh percepatan
gravitasi bumi.Dengan konsep ini, maka kecepatan gerak benda yang dijatuhkan dari
waktu t sebesarv(t) =
vo
+ at atau v (t)=
dv
=a
, maka kecepatan gerak benda pada
dt
vo
dx
=v
,maka posisi benda pada waktu t dapat dihitung dengan x(t) =
dt
1 2
x o+ v o t g t .
2
vo
dan dengan memperhatikan gaya hambat fluida (drag force), maka gaya yang
bekerja pada benda tersebut selain gaya berat juga gaya hambat udara itu sendiri (
Fd
Jika a adalah percepatan gerak benda jatuh, maka dari Gambar tampak bahwa sesuai dengan
Hukum II Newton
F=ma
Fd
W=ma
Fd
mg = ma
Fd
penampang melintang benda, dan kerapatan fluida dimana benda bergerak.Besarnya gaya
1
Fd = v 2 Cd A
2
dengan
Fd
Cd
(tak berdimensi), dan A adalah luas penampang melintang benda yang dijatuhkan ( m2).
Besarnya percepatan benda yang bergerak dalam suatu fluida dan mengalami gaya hambat
Fd
ma =
adalah
Fd
mg
a=
Fd
m
a=
v2 C d A
2m
a=
K v2
g ; dengan K =
m
-g
C d A
2
Untuk mengetahui kecepatan benda pada waktu t (secara analitik) dapat ditentukan dengan
cara melihat hubungan antara percepatan dengan kecepatan pada persamaan di atas.
Jikadiketahui
a=
dv K v 2
=
g
dt
m
dv
,
dt maka
dv
=dt
K v2
g
m
dengan mengintegralkan persamaan di atas dan menggunakan konsep
dx
ax 2+ b+c =
4 acb
tan
2 ax +b
4 acb 2
maka
dv
K 2
( v g)
m
= dt
2
tan 1
4 Kg
m
Kv
m
( )
2
g
4 K
m
=t atau
K
mg
v
m 1
t=
tan
Kg
dengan demikian kecepatan benda pada saat t dapat dihitung dengan dengan menggunakan
persamaan berikut :
g
m
t
m
v ( t )= g tanh
K
K
Dengan tanda negatif (-) menunjukkan bahwa benda bergerak denganarah ke bawah.
Kecepatan Terminal
Kecepatan terminal dicapai saat gaya hambat sama dengan gaya yang mendorong benda
tersebut atau saat percepatan benda sama dengan nol. Dari persamaan gerak benda di atas
dapat diketahui bahwa kecepatan terminal benda adalah
v terminal =
2 mg
Cd A
Solusi Numerik
Jika
dv
=a
aka kecepatan pada saat t+t dapat dihitung jika percepatan pada saat t telah
dt
diketahui.
v ( t+ t )v (t)
dv
=a=
atauv ( t+ t )=v ( t ) +a(t ) t
dt
t
Jika persamaan ditulis dalam bentuk indeks maka
v n +1=v n + an t dimana an=
K v n2
g
m
1.2 Soal
Sebuah bola dengan radius 7.5 mm dan massa 3.9 g dijatuhkan tanpa kecepatan awal dari
sebuah ketinggian tertentu. Jika koefisien hambatan bola di udara adalah 0,46, kerapatan
udara adalah 1,2 kgm-3, dan percepatan gravitasi bumi 9,8 ms -2, maka dengan menggunakan
metode Euler:(a) hitunglah kecepatan benda sebagai fungsi dari waktu (t) dari t=0 s sampai
dengan 15 s. Gunakan perubahan selang waktu t = 0.01 s (b) Apakah kecepatan bola akan
terus membesar? Jelaskan! (c) Bandingkan hasil perhitungan kecepatan bola dengan
menggunakan metode Euler dan perhitungan secara analitik. Apakah terjadi perbedaan yang
cukup signifikan?
Dengan menggunakan bantuan Microsoft Excel, kita dapat membandingkan secara
numerik dan analitik, berikut tampilannya :
Pilih nilai h
STEP 2 :
STEP 3 :
Mulai Loop
STEP 4 :
Hitung a
a=
v2 C d r2
2m
STEP 5 :
Cetak t dan v
STEP 6 :
Update v:
vv+ha
STEP 7 :
Increment t
tt+h
STEP 8 :
STEP 9 :
Selesai
t max
Inisialisasi awal
H dan v(0)
Hitung
a = F/m
Cetak
V(t)
t=t+h
Tidak
t >=
t max
Y
A
Selesai
10
std"color=00cccc>(Winda
KusumaDewi/4211412048)<br/><br/></font>
<?php
ini_set('display_errors',0);
//initial condition
define('G',9.8);
define('h',0.01);
$r=7.5e-3;
$m=3.9e-3;
$C=0.46;
$rho=1.2;
$v=0;
$v_anal=$v;
$K=0.5*$C*$rho*pi()*$r*$r;
$vter=sqrt(($m*G)/$K);
echo"<h2>
Tabel
Perhitungan
Nilai
Kecepatan
Gerak
Bola
Jatuh
dengan
Hambatan";
echo"<br><br>Kecepatan terminal ".round($vter,4);
echo"<table
border='1'><tr><th>t
2</sup>)</th><th>v
2</sup>)</th><th>v
(sekon)</th><th>a
(ms<sup>-1</sup>)</th><th>a
analitik
analitik
(ms<sup>(ms<sup>-
(ms<sup>-1</sup>)</th><th>Error
(relatif)</th></tr>";
for($t=0;$t<=15;$t=round($t+h,3)){
$F=($m*G)-(0.5*$C*$rho*pi()*$r*$r*$v*$v);
$a=$F/$m;
$F_anal=($m*G)-(0.5*$C*$rho*pi()*$r*$r*$v_anal*$v_anal);
$a_anal=$F_anal/$m;
$v_anal=1*sqrt(G*$m/$K)*tanh($t*sqrt($K*G/$m));
$selisih=abs(($v-$v_anal)/$v_anal);
echo"<tr><td>$t</td><td>".round($a,4)."</td><td>".round($v,4)."</td><td>".r
ound($a_anal,4)."</td><td>".round($v_anal,4)."<td>".$selisih."</td></tr>";
11
$v+=$a*h;
}
echo"</table>";
?>
</center></B>
</html>
12
Hasilnya :
13
14
imageline($img,
transformx($xmin+1),transformy(0),transformx($xmax),transformy(0),$kuning);
imageline($img,
transformx(0),transformy($ymin),transformx(0),transformy($ymax),$kuning);
//skala x
$dx=($xmax-($xmin+1))/15;
$x=$xmin+1;
while($x<=$xmax)
{
imageline($img,transformx($x),transformy(0)2,transformx($x),transformy(0)+2,$merah);
imagestring($img,3,transformx($x)-8,transformy(0)+1,"$x",$kuning);
$x=$x+$dx;
imagestring($img,5,770,410,"t(sekon)",$kuning);
}
//skala y
$dy=($ymax-$ymin)/3;
$y=$ymin;
while($y<=$ymax)
{
imageline($img,transformx(0)2,transformy($y),transformx(0)+2,transformy($y),$merah);
imagestring($img,3,transformx(0)-15,transformy($y),"$y",$kuning);
$y+=$dy;
imagestring($img,5,10,5,"V(m/s)",$kuning);
}
//keterangan
imagestring($img,5,700,5,"v(t)",$merah);
imagestring($img,5,700,380,"a(t)",$putih);
imagestring($img,5,180,3,"s(t)",$hijau);
//grafik
$r=7.5e-3;
$m=3.9e-3;
$t=0;
$s=0;
$g=9.8;
$C=0.46;
$rho=1.2;
$v=0;
$h=0.01;
do{
15
$a=$g-0.5*$C*$rho*pi()*$r*$r*pow($v,2)/$m;
imagesetpixel($img,transformx($t),transformy($a),$putih);
imagesetpixel($img,transformx($t),transformy($v),$merah);
imagesetpixel($img,transformx($t),transformy($s),$hijau);
$v=$v+$a*$h;
$t=$t+$h;
$s=($v+$a*$h)+$t;
}
while($t<=15);
Header("Content-Type:image/png");
imagepng($img);
imagedestroy($img);
?>
Hasilnya :
16
kx = ma
k
m
x(t)
v ( t +h ) v (t )
h
17
=0, v =
,x=
x0
k x 0
dan dengan itu dapat
m
k
m
x-
18
Sebagaimana
nampak
pada
algoritma
penyelesaiaan
dinamika
,mula-mula
1
2
1
= Xn + hVn + 2
1
Vn + 2 merupakan kecepatan setengah jalan pada interval h
Sehingga untuk mendapatkanVn +
1
2
= Vn -
1
2
+ h an
=V-
1
a
2 +h 0
V0
h
2
h
a
2 0
19
Cari total gaya yang bekerja pada benda lalu tentukan percepatan a=F/m
STEP 2
STEP 3
STEP 4
Hitung
1
V 2
STEP 5
V0
h
a
2 0
STEP 6
STEP 7
update nilai :
x x + hv
STEP 8
STEP 9
Update nilai v
v v + ha
STEP 10
Increment t
t t+h
20
MULAI
Inisialisasi awal h,
x 0 , dan v 0
Hitung a = F/m
Hitung a pada t =0
1
V 2
V0
TIDAK
x=x+hv
v = v + ha
t=t+h
21
t >= tmax?
YA
SELESAI
22
Kode program Menentukan Nilai Percepatan Tanpa Redaman Pada Kasus Hukum
Hooke
<html>
<bodybgcolor="99bbdd">
<center>
<formaction="4211412048_hooke tnpa hambatan.php"method="POST">
<fontsize="8"face="britannic bold">TABEL PERHITUNGAN PEGAS TIDAK
TEREDAM</font><br/>
<br></br>
<fontsize="5"face="kristen itc">Masukkan data</font>
<tablebgcolor="aaffdd">
<tr>
<td>Delta x awal :</td>
<td><inputtype="text"name="awal"></td>
</tr>
<tr>
<td> Delta x akhir :</td>
<td><inputtype="text"name="akhir"><br></td>
</tr>
<tr>
<td><inputtype="submit"name="Input"value="hitung"></td><br><br>
</tr>
<br><tableborder="3"><br/>
<tr><center>
<tdbgcolor="6677ff">massa (m)</td>
<tdbgcolor="6677ff">konstanta (N/m)</td>
<tdbgcolor="6677ff">delta x (m)</td>
<tdbgcolor="6677ff">percepatan (m/s<sup>2</sup>)</td></center>
</tr>
</center>
<?php
ini_set('display_errors',0);
$awal=$_POST['awal'];
$akhir=$_POST['akhir'];
define('G',9.8);
define('h',0.1);
$k=1;
$m=2;
23
for($x=$awal;$x<=$akhir;$x+=0.01)
{
$a=(-$k*$x)/$m;
echo"<tr>
<td>$m</td>
<td>$k</td>
<td>$x</td>
<td>$a</td>
</tr>";
}
?>
</table>
</body>
</html>
24
Hasilnya
25
26
27
for ($t=0;$t<=30*pi();$t+=$h){
ini_set('display error','0');
$a=-($k/$m*$x)-($c/$m*$v);
//menampilkan grafik
ImageSetPixel($gb,$t*$k1+$k2,$x*$k3+$k4,$putih);
Imageline($gb,($xmin+1)*$k1+$k2,0*$k3+$k4,$xmax*$k1+$k2,0*$k3+$k4,$hitam);
ImageLine($gb,0*$k1+$k2,($ymin+5)*$k3+$k4,3+$k1+$k2,($ymax-50)*$k3+
$k4,$hitam);
//menampilkan tulisan
imagestring($gb,5,46*$k1+$k2,-1.2*$k3+$k2,'t(s)',$warna2);
imagestring($gb,5,-1.1*$k1+$k2,1.1*$k3+$k4,'x(m)',$warna2);
imagestring($gb,15,11*$k1+$k2,1.3*$k3+$k4,'Grafik hubungan Posisi (x) thdp
Waktu (t)',$warna2);
//perulangan skala & angka pada sumbu-x
for($aa=0;$aa<=30*pi();$aa+=10){
//angka
imagestring($gb,3,$aa*$k1+$k2,-0.05*$k3+$k4,$aa,$biru);
//skala
imagestring($gb,3,$aa*$k1+$k2,0.03*$k3+$k4,"|",$biru);
}
//perulangan skala & angka pada sumbu-y
for($bb=-1;$bb<=1;$bb+=0.2){
//angka
imagestring($gb,3,0.01*$k1*$k2,$bb*$k3+$k4,$bb,$biru);
//skala
imagestring($gb,3,-0.04*$k1+$k2,$bb*$k3+$k4,"-",$biru);
}
$v=$v+$a*$h;
$x=$x+$v*$h;
}
//kaki
Header("Content-Type:Image/Jpeg");
ImageJPEG($gb);
ImageDestroy($gb);
?>
28
Hasilnya :
29
30
Imagestring($image,4,$k1*($xmin+0.01)+$k2,($k3*($ymax-0.05)+
$k4),"Grafik Simpangan Vs Kecepatan Osilasi Teredam",$merah);
//sumbu x
$px1 = $k1*$xmin+$k2;
$px2 = $k1*$xmax+$k2;
$py1 = $k3*0.0+$k4;
imageline($image, ceil($px1), ceil($py1), ceil($px2), ceil($py1),
$hitam);
// menamai sumbu x
for($x=$xmin;$x<=$xmax; $x += 0.1)
{
imageline ($image,$k1*$x+$k2,$k3*(-0.01)+$k4,$k1*$x+$k2,$k3*0.01+
$k4, $hitam);
if ($x<=-0.1 or $x>=0)
{
imagestring($image,2,$k1*$x+$k2,($k3*-0.01+$k4),$x,$merah);
}
}
imagestring($image,3,$k1*($xmax-0.15)+$k2,($k3*0.05+$k4),"V(m/s)",
$merah);
//sumbu y
$py1 = $k3*$ymin+$k4;
$py2 = $k3*$ymax+$k4;
$px1 = $k1*0+$k2;
imageline($image, ceil($px1), ceil($py1), ceil($px1), ceil($py2),
$hitam);
for($y=$ymin;$y<=$ymax; $y += 0.1)
{
imageline ($image,$k1*(-0.01)+$k2,$k3*$y+$k4,$k1*(0.01)+$k2,$k3*$y+
$k4, $hitam);
if ($y<=-0.1 or $y>=0)
{
imagestring($image,2,$k1*(-0.01)+$k2,($k3*($y)+$k4),round($y,2),
$merah);
}
}
31
imagestring($image,3,$k1*(0.01)+$k2,($k3*($ymax-0.05)+
$k4),"X(meter)",$merah);
// membuat grafik ayunan teredam X vs V
define('G',9.8);//membuat konstanta G
define('h',0.0005);//h dalam hal ini adalah delta t
$m=0.5;
$k=8;
$b=0.23;
$e=2.72;
$v0=0;
$A=0.2;
$w=sqrt(($k/$m)-pow(($b/(2*$m)),2));
$t0=0;
$x0=$A;
for ($t=0;$t<=30;$t=$t+h)
{
//untuk numeriknya
$Vi=$v0-((($b/$m)*$v0*$t0)+(($k/$m)*$x0*$t0));
$xi=$x0+$Vi*h;
//untuk analitiknya
$Van=-$A*$w* pow($e,-$b/(2*$m)*$t)*sin($w*$t);
$xan=$A* pow($e,-$b/(2*$m)*$t)*cos($w*$t);
//transformasi X dan V numerik
$px1=$k1*$Vi+$k2;
$py1=$k3*$xi+$k4;
//transformasi X dan V analitik
$px2=$k1*$Van+$k2;
$py2=$k3*$xan+$k4;
//grafik numerik
imagesetpixel ($image,$px1,$py1,$biru);
// grafik analitik
imagesetpixel ($image,$px2,$py2,$merah);
$t0=h;
$v0=$Vi;
$x0=$xi;
}
32
imagestring($image,3,$k1*(0.1)+$k2,$k3*(-0.63)+$k4,"Keterangan :",
$hitam);
imageline ($image,$k1*(0.1)+$k2,$k3*(-0.7)+$k4,$k1*(0.3)+$k2,$k3*(0.7)+$k4, $merah);
imagestring($image,2,$k1*(0.3)+$k2,$k3*(-0.68)+$k4,"Grafik X terhadap V
Analitik", $hitam);
imageline ($image,$k1*(0.1)+$k2,$k3*(-0.8)+$k4,$k1*(0.3)+$k2,$k3*(0.8)+$k4, $biru);
imagestring($image,2,$k1*(0.3)+$k2,$k3*(-0.78)+$k4,"Grafik X terhadap V
Numerik", $hitam);
imagejpeg($image);
imagedestroy($image);
?>
Hasilnya
33
34
Pada bab yang terdahulu elah dibahas penggunaan metode Euler atau metode
Feynman Newton dalam teknik numerik untuk persoalan yang meliputi hukum kedua
newton. Pada bab ini akan diperluas untuk masalah dua dimensi ,yaitu tentang geak proyektil
dengan hambatan udara dan gerak orbital.
Gambar 5.1 menunjukkan kuantitas penting yang diasosiasikan sebagai gerak sebagai
gerak dalam dua dimensi. Sebuah benda dengan massa m ,dengan perpindahan r ,yang
mungkin bervariasi terhadap waktu dan dikenal gaya eksternal F. Vector r mempunyai
komponen x dan y, yaitu koordinat dari massa m. Vektor F mempunyai komponen Fx dan Fy.
ax
Fx
m
dan
ay
Fy
m
Sehingga kita dapat menyelesaikan maslah gerak dalam dua dimensi dengan satu set
persamaan pada masing-masing koordinat.
1
2
cA A
vx
v
sin =
vy
v
35
v=
vx 2 +vy 2
1
2
A / m v cos
2
=-
Dan
ay
= -g -
1
2
A / m v sin
2
= - kvvx
dan
ay
= - kvvy
Dimana
k=
1
2
A
m
36
Gambar 5.4 Penembakan proyektil dari puncak gunung pada sebuah planet
Kita asumsikan planet kita tidak berotasi dan massanya M ,sedemikian hingga GM = 1. Dari
puncak gunung pada planet tersebut kita tembakkan meriam secara horisontal dengan
kecepatan awal v0.
Gaya gravitasi F yang bekerja pada proyektil mengarah kepusat planet. Jika massa gunung
kita abaikan dan jarak proyektil dari pusat planet r serta massa proyektil m.maka gaya yang
bekerja adalah:
GMm
r^
r2
F=-
Dengan adalah vector satuan sepanjang r dan tanda minus meperlihatkan gaya F berarah
kepusat planet. Menurut hukum kedua newton kita dapatkan :
a=
F
m
=-
GM
r^
r2
percepatan relative dari proyektil dengan massa m terhadap bumi dengan massa M, jika
mM dapat dihitung sebagai berikut:
dengan asumsi GM =1 dan komponen-komponen dalam arah x dan y dari percepatan adalah:
ax
=-
cos
r2
ax
=-
sin
r2
37
Dimana
cos =
x
x + y2
sin =
y
x + y2
x 2+ y 2
ax
x 2+ y 2
Dan
ay
x 2+ y 2
Dimana ax dan ay adalah percepatan proyektil yang mengelilingi planet yang lebih kompleks
dibanding bumi yang datar.
Adanya variasi kecepatan satelit akan menempuh lintasan yang berbeda- beda,
Lintasan orbit lingkaran adalah kasus paling sederhana pada gerak satelit. Namun hal ini
merupakan kasus paling penting,.bila sebuah gaya yang bekerja pada satelit yang orbitnya
lingkaran mengelilingi bumi dalam gaya tarik bumi. Yang mana arah gaya tarik tersebut
kepusat bumi sebagai pusat orbit. Ini berarti bahwa satelit bergerak melingkar beraturan
dengan kecepatan konstan.
Menurut model atom Bohr ,atom hydrogen terdiri dari orbit electron yang
mengelilingi proton dalam bentuk lingkaran. Untuk mem-plot orbit dari electron dalam atom
hydrogen,kita gunakan hukum Coloumb:
F=k
Q1 Q2
r2
38
Gaya tersebut adalah gaya atraksi diantara proton dan electron dalam orbit pada jarak r dari
proton .kuantitas k = 8.99 109 N m2C -2.untuk lebih sederhananya kita asumsikan orbit
lingkaran dengan proton pada titik pusat koordinat. Gaya coulomb menghasilkan gaya
sentripetal yang mempertahankan electron dalam orbit lingkaran. Electron dalam atom
hydrogen mengitari sebuah proton sebagai inti , keduanya bermuatan sebesar 1.602 10-19 C.
dengan demikian menurut hukum kedua Newton akan diperoleh:
a=-
k e2
2
r
k e2
m
STEP 1
Tentukan interval h
STEP 2
dan
v0
x0
,y =
y 0, v x
v0
cos
Hitung
ax
= - kv
vx
dan
ay
= - g - kv
vy
dimana k =
1
2
A
m
STEP 4
1
2
=v
x0
h
a
2 x
vy
1
2
=v
y0
h
a
2 y
39
STEP 5
STEP 6
STEP 7
x+h
vx
y+h
vy
STEP 8
STEP 9
STEP 10
t
v x vx
+h
ax
vy v y
+h
ay
Increment waktu
t+h
STEP 11
STEP 12
Selesai
Inisialisasi
t = 0, x =
x0
,y =
y 0,
v x = v 0 cos
40
a x = - kv v x
a y = - g - kv v y
vx
1
2
=v
x0 +
h
a
2 x
TIDA
K
x=x+h
vx
y=y+h
vy
ax dan ay
Xx=v x + h a x
Vy=v y + h a y
t=t+h
X > = x max ?
41
YA
SELESAI
42
43
$k3=-$b/($ymax-$ymin);
$k4=$b*$ymax/($ymax-$ymin);
$py=$k3*$y+$k4;
return$py;
}
//sumbu
imageline($img,transformx($xmin),transformy(0),transformx($xmax),transformy
(0),$hitam);
imageline($img,transformx(0),transformy($ymin),transformx(0),transformy($ym
ax),$hitam);
//skala x
$dx=($xmax-($xmin))/10;
$x=$xmin+$dx;
while($x<=$xmax)
{
imageline($img,transformx($x),transformy(0)2,transformx($x),transformy(0)+2,$hitam);
imagestring($img,3,transformx($x)-8,transformy(0)+1,$x,$biru);
$x=$x+$dx;
}
//skala y brooo...,,,
$dy=($ymax-$ymin)/10;
$y=$ymin+$dy;
while($y<=$ymax)
{
imageline($img,transformx(0)1,transformy($y),transformx(0)+1,transformy($y),$hitam);
imagestring($img,3,transformx(0)-15,transformy($y),$y,$hitam);
$y=$y+$dy;
}
imagestring($img,30,-5*$k1+$k2,9*$k3+$k4,'y(m)',$merah);
imagestring($img,30,35*$k1+$k2,-1*$k3+$k4,'x(m)',$merah);
$x=0.0;
44
$y=0.0;
$g=9.8;
$h=0.01;
$c=0.46;
$m=0.19;
$theta=M_PI/180*37;
$v=25;
$vx=$v*cos($theta);
$vy=$v*sin($theta);
$ro=1.2;
$r=0.06;
$luas=M_PI*POW($r,2);
$k=0.5*$c*$ro*$luas/$m;
$n=0;
$t=0;
$ax=-$k*$v*$vx;
$ay=-$g-$k*$v*$vy;
imagesetpixel($img,transformx ($x),transformy ($y),$biru);
$n++;
$t=$t+$h;
$vx=$vx+$h/2*$ax;
$vy=$vy+$h/2*$ay;
$x=$x+$h*$vx;
$y=$y+$h*$vy;
$ax=-$k*$v*$vx;
$ay=-$g-$k*$v*$vy;
imagesetpixel($img,transformx ($x),transformy ($y),$biru);
for($t=$t+$h;$t<=10;$t+=$h)
{
$n++;
$vx=$vx+$h*$ax;
$vy=$vy+$h*$ay;
$x=$x+$h*$vx;
$y=$y+$h*$vy;
$ax=-$k*$v*$vx;
$ay=-$g-$k*$v*$vy;
45
Hasilnya :
46
Tentukan h = 864000s
STEP 2
STEP 3
Hitung
STEP 4
ax = -
x/ (x 2+ y 2)3 /2
ay = -
y/ (x 2+ y 2)3 /2
STEP 5
1
vx 2
= vx +
h
2 ax
1
vy 2
= vy +
h
2 ay
Plot (x,y)
STEP 7
STEP 8
x+h
vx
y+h
vy
STEP 9
STEP 10
vx
vx
+h
ax
vy
vy
+h
ay
Increment waktu
t
t+h
STEP 11
STEP 12
Selesai
47
inisialisasi awal h
t0,x,y,vx,vy
= GM = 1.328. 1020
2
N m kg
ax = -
x/ (x 2+ y 2)3 /2
ay = -
y/ (x 2+ y 2)3 /2
1
vx 2
=vx+
h
2 ax
1
vy 2
= vy +
h
2 ay
TIDAK
x=x + h
vx
48
ax dan ay
v x vx + h ax
v y =v y
+h
ay
t=t+h
t >= tmax?
YA
selesai
49
50
//box
$px1=$k1*$xmin+$k2;
$px2=$k1*$xmax+$k2;
$py1=$k3*$ymin+$k4;
$py2=$k3*$ymax+$k4;
//kotak
//imagerectangle($gb, ceil($px1), ceil($py1), ceil($px2), ceil($py2),
$hitam);
//sumbu x
$px1=$k1*$xmin+$k2;
$px2=$k1*$xmax+$k2;
$py1=$k3*0.0+$k4;
imageline($gb, ceil($px1), ceil($py1), ceil($px2), ceil($py1),$ungu);
//sumbu y
$py1=$k3*$ymin+$k4;
$py2=$k3*$ymax+$k4;
$px1=$k1*0+$k2;
$x = 0;
51
$vx=$vo*cos($th);
$ax=-$K*pow($vo,2)*cos($th);
$ay=-g-$K*pow($vo,2)*sin($th);
$y=0;
$xa=$ya=$x_s=$y_s=0; // posisi analitik awal
$vxa=$vya=25; // kecepatan analitik awal
$vx_s=$vo+($ax*dt)/2; //
$vy_s=$vo+($ay*dt)/2; // (Metode Feyman-Newton)
$x_s=$x_s+$vx_s*dt;
//
$y_s=$y_s+$vy_s*dt;
//
52
53
$px1=$k1*$x+$k2;
imagesetpixel($gb,$px1,$py1,$merah);
$vx=$vx+$h*$ax;
$vy=$vy+$h*$ay;
}
for($a=-2.25e+11;$a<=2.25e+11;$a+=0.5e+11){// label sumbu y
imageline($gb,$k1*-0.05e+11+$k2,$k3*$a+$k4,$k1*0.05e+11+$k2,$k3*$a+
$k4,$hitam);
imagestring($gb,5,$k1*-0.5+$k2,$k3*$a+$k4,$a/1e+9,$hitam);
}
for($a=-2.25e+11;$a<=2.25e+11;$a+=0.5e+11){// label sumbu x
imageline($gb,$k1*$a+$k2,$k3*-0.05e+11+$k4,$k1*$a+$k2,$k3*0.05e+11+
$k4,$hitam);
imagestring($gb,5,$k1*$a+$k2,$k3*-0.5+$k4,$a/1e+9,$hitam);
}
imagestring($gb,5,$k1*0.25e+11+$k2,$k3*2.25e+11+$k4,"y (10^6 km)",$ungu);
imagestring($gb,5,$k1*1.875e+11+$k2,$k3*0.125e+11+$k4,"x (10^6 km)",$ungu);
imagestring($gb,5,$k1*-2e+11+$k2,$k3*2.25e+11+$k4,"Gerak Bumi Mengitari
Matahari",$ungu);
imagestring($gb,5,$k1*-1.5e+11+$k2,$k3*2.175e+11+$k4,"Grafik y vs x",
$ungu);
imagestring($gb,5,$k1*0.5e+11+$k2,$k3*-2e+11+$k4,"Winda Kusuma Dewi
(4211412048)",$merah);
// Menampilkan gambar ke browser
imagejpeg($gb);
// Mendealokasikan memory
imagedestroy($gb);
?>
54
Hasilnya :
55
56
$sb_y=($ymax-$ymin)/4;
for($y=$ymin;$y<=$ymax;$y+=$sb_y){
imagestring($im,4,($k1*0+$k2)+5,($k3*$y+$k4)+5,$y,$merah);
imagestring($im,50,500,500,"Winda Kusuma Dewi_4211412048",$putih);
}
$vy0=0;
do{
$x=25;
$y=0;
$h=0.05;
$t=0;
$vx=0;
$vy0=$vy0+0.04;
$vy=$vy0;
$GM=1;
$tmax=2000;
//$r=pow($x,2)+pow($y,2);
$ax=-$GM*$x/pow((pow(($x),2)+pow($y,2)),1.5);
$ay=-$GM*$y/pow((pow(($x),2)+pow($y,2)),1.5);
//$ax=-$GM*$x/pow($r,1.5);
//$ay=-$GM*$y/pow($r,1.5);
$vx=$vx+($h/2)*$ax;
$vy=$vy+($h/2)*$ay;
//mulai loop
for($t=0;$t<=$tmax;$t=($t+$h)){
$x=$x+$h*$vx;
$y=$y+$h*$vy;
//$ax=-$GM*$x/pow($r,1.5);
//$ay=-$GM*$y/pow($r,1.5);
$ax=-$GM*$x/pow((pow(($x),2)+pow($y,2)),1.5);
$ay=-$GM*$y/pow((pow(($x),2)+pow($y,2)),1.5);
$vx=$vx+$h*$ax;
57
$vy=$vy+$h*$ay;
$lx=$k1*$x+$k2;
$ly=$k3*$y+$k4;
imagesetpixel($im,$lx,$ly,$hijau);
}
}
while($vy<=0.32);
Header("Content-Type:image/PNG");
ImagePNG($im);
ImageDestroy($im);
?>
Hasilnya :
58
//gambar
59
imageline ($im,($k1*$xmin+$k2),($k3*0+$k4),($k1*$xmax+$k2),($k3*0+$k4),
$merah);//sumbu x
$sb_x=($xmax-$xmin)/5;
for ($x=$xmin;$x<=$xmax;$x+=$sb_x)
{
imagestring($im,5,($k1*$x+$k2)+5,($k3*0+$k4)+5,$x,$hitam);
//imagestring($im,30,0.003625*$k1+$k2,0.00875*$k3+$k4,'t(sekon)',
$hitam);
}
imageline ($im,($k1*0+$k2),($k3*$ymax+$k4),($k1*0+$k2),($k3*$ymin+$k4),
$merah);//sumbu y
$sb_y= ($ymax-$ymin)/10;
for ($y=$ymin;$y<=$ymax;$y+=$sb_y)
{
imagestring($im,5,($k1*0+$k2)+5,($k3*$y+$k4)+5,$y,$hitam);
imagestring($im,5,-9.6e-10*$k1+$k2,5.6e-10*$k3+$k4,'GRAFIK MODEL
ATOM BOHR',$ungu);
}
ini_set('display_errors',0);
$x=5.3e-10;
$y=0;
$vy=2.19e+5;
$vx=0;
$h=1e-19;
$t=0;
$tmax=2e-14;
$e=1.6e-19;
$d=0.535e-10;
$m=9.11e-31;
$k=8.99e+9;
$c=$k*$e*$e/$m;
$ax=-$c*((($x-$d)/pow((($x-$d)*($x-$d)+($y*$y)),1.5))+(($x+$d)/pow((($x+
$d)*($x+$d)+($y*$y)),1.5)));
$ay=-$c*((($y)/pow((($x-$d)*($x-$d)+($y*$y)),1.5))+(($y)/pow((($x+$d)*($x+
$d)+($y*$y)),1.5)));
$vx=$vx+$h/2*$ax;
$vy=$vy+$h/2*$ay;
60
do
{
$lx=($k1*$x)+$k2;
$ly=($k3*$y)+$k4;
imagesetpixel ($im,$lx,$ly,$hijau);
$x=$x+$h*$vx;
$y=$y+$h*$vy;
$ax=-$c*((($x-$d)/pow((($x-$d)*($x-$d)+($y*$y)),1.5))+(($x+
$d)/pow((($x+$d)*($x+$d)+($y*$y)),1.5)));
$ay=-$c*((($y)/pow((($x-$d)*($x-$d)+($y*$y)),1.5))+(($y)/pow((($x+
$d)*($x+$d)+($y*$y)),1.5)));
$vx=$vx+$h*$ax;
$vy=$vy+$h*$ay;
$t=$t+$h;
}
while($t<=$tmax);
Header("Content-Type:image/jpeg");
ImageJPEG($im);
imagedestroy ($im);
?>
61
Hasilnya :
62
Rangkaian RC terdiri dari batere dengan betere dengan beda potensial Vyang diserikan
dengan resistor dengan resistansi R dan kapasitor dengan kapasistansi C.Rangkaian tersebut
diperlihatkan pada gambar di atas pada saat t = 0 saklar ditutup. Arus pada rangkaian i(t) dan
muatan pada kapasitor q(t).bagaimana arus pada rangkaian berubah berubah terhadap waktu
setelah itu?
Bagaimana muatan pada berubah terhadap waktu?
Sesuai dengan hukum kirchoff pada suatu rangkaian tertutup, jumlah potensialnya adalah 0.
q
V IR =0
c
63
Tegangan pada resistor menurun sesuai dengan hukum ohm IR dan tegangan yang turun pada
capasitor adalah q/C. Muatan q(t) dan arus i(t)saling berhubungan. Muatan pada capasitor
naik sebab ada muatan yang mengalir melalui kawat ke C.
dq
=i
dt
Jadi semakin besar arus semakin cepat kenaikan q, subtitusikan hubungan ini pada persamaan
pertama hingga diperoleh:
dq V
q
=
dt R RC
Kita asumsikan tidak ada muatan saat t = 0, jadi kondisi awalnya t = 0, q = 0, dan i =
q
t .
v ( t+ h )v (t)
dv
=lim
dt h 0
h
q ( t+ h )q (t)
dq
=lim
dt h 0
h
1
r 2
a=g C
v
2
m
i=
V
q
R RC
a (t )
v ( t +h ) v (t )
h
v ( t+ h ) v ( t )+ ha(t)
i(t )
q ( t+ h )q (t)
h
q ( t+ h ) q ( t ) +hi(t)
V
R
4.2 Rangkaian RL
Rangkaian LR terdiri dari batere, resistor dan induktor.Tujuan kita yaitu mencari perubahan
arus terhadap waktu setelah saklar ditutup. Kita asumsikan beda potensial dari baterai adalah
V, resistansi R dan induksi dari induksi adalah L. Tegangan VL yang melalui inductor dapat
diekspresikan sebagai:
V L =L
di
dt
Hubungan diatas memperlihatkan bahwa arus akan naik secara perlahan lahan dari nilai awal
nol.
Kemudian kita aplikasikan aturan kirchoff untuk rangkaian tertutup dengan saklar yang
tertutup akan diperoleh:
V iRL
di
=0
dt
atau
di
=0
dt
di V
R
= i
dt L
L
65
Untuk mendapatkan solusi numeric i(t), analog dengan rangkaian RC diperoleh rumus iterasi
sebagai:
i n+1=i n +h i n '
dimana
'
i n=
V
R
i
L
L
di
dt yang sangat besar, berarti akan
menghasilkan beda potensial yang sangat besar yang melalui inductor. Hal ini akan
menimbulkan percikan api pada saklar. Ada beberapa cara untuk menghindari hal tersebut.
Cara pertama dengan menaruh kapasitor diantara terminal saklar. Cara ini akan menjadikan
inductor diusahakan dialiri arus listrik yang konstan. Akan tetpi sebaliknya percikan api pada
i=
V
R
mengalir dalam
rangkaian. Saat t=0 saklar dibuka, dengan menerapkan hukum kirchoff pada rangkaian
tersebut akan diperoleh persamaan :
V L
di q
Ri=0
dt C
66
Pada kasus dimana kondisi awal t = 0 dan q =0 , akan terdapat arus yang mengalir dalam
rangkaian bila saklar telah dibuka. Kita tahu bahwa:
i=
dq
=q ' (t)
dt
Dan
di d 2 q
=
=q (t)
dt dt 2
Dengan mensubtitusikan kedua persamaan diatas akan diperoleh :
q (t)=- {1} over {L} [ {q} over {C} +Rq'(t)-V]
q0
dan
q0
i0
x } rsub {0}
) dapat
h
x ' 1/ 2=v 1 /2=v 0 +
2
ditulis:
q } rsub {0}
h
q ' 1/2 =i1 /2 =i0 +
2
Mulai loop
Mulai loop
q q + h i atau q q + h q
x x + h v atau x x + h x
i i + h q
v v+ h x
t t+ht
t t+ht
akhir loop
akhir loop
67
q 0=0 dan i 0=
STEP 2
STEP 3
STEP 4
V
R
q (t )
1
i ( t )= (V ( t )
)
R
C
STEP 5
STEP 6
Update muatan
q q + ht
STEP 7
Increment waktu
t t + h
STEP 8
STEP 9
Selesai
Inisialisasi awal
R, C, dan h
V
q 0=0 dan i 0=
R
TIDA
K
68
Hitung
q (t )
1
i ( t )= (V ( t )
)
R
C
q q + ht
t t + h
t >=
t max
YA
Selesai
Kode Program Rangkaian RC (Pengisian)
<?php
//ukuran kanvas
$a=1100;
$b=600;
//transformasi koordinat
$xmin=-1;
$xmax=5;
$ymin=-0.0001;
$ymax=0.001;
69
$k1=$a/($xmax-$xmin);
$k2=$a*$xmin/($xmin-$xmax);
$k3=$b/($ymin-$ymax);
$k4=$b*$ymax/($ymax-$ymin);
//membuat kanvas
//$gbr= Imagecreate(panjang,lebar);
$gbr=Imagecreate($a,$b);
//mengeset warna
//ImageColorAllocate (kanvas,komposisi R, G, B);
$hijaumuda=ImageColorAllocate($gbr,120,240,100);
$putih=ImageColorAllocate($gbr,255,255,255);
$RosyBrown=ImageColorAllocate($gbr,188,143,143);
$hitam=ImageColorAllocate($gbr,0,0,0);
$biru=ImageColorAllocate($gbr,0,0,255);
$merah=ImageColorAllocate($gbr,225,0,0);
//membuat garis
//ImageLine (kanvas, x1, y1, x2, y2, warna);
ImageLine($gbr,$xmin*$k1+$k2,0*$k3+$k4,$xmax*$k1+$k2,0*$k3+$k4,$hitam);
ImageLine($gbr,0*$k1+$k2,$ymin*$k3+$k4,0*$k1+$k2,$ymax*$k3+$k4,$hitam);
70
/*
//menulis sumbu X
ImageString ($gbr,3,990,480,'t',$hitam);
//menulis sumbu Y
Imagestring($gbr,3,510,40,'v',$hitam);
*/
//membuat grafik
//ImageSetPixel (kanvas,x,y,warna);
for($R=1000;$R<=3000;$R+=300)
{
$V=10;
$C=0.0001;
$i=0;
$q=0;
$h=0.0005;
$t=0;
$tmax=5;
for($t=0;$t<=$tmax;$t+=$h)
{
$i=($V/$R)-($q/$R/$C);
ImageSetPixel($gbr,$t*$k1+$k2,$q*$k3+$k4,$biru);
$q=$q+$h*$i;
$t=$t+$h;
}
}
//output ke browser
header ("Content-type: image/jpeg");
ImageJpeg($gbr);
ImageDestroy($gbr);
?>
Hasilnya :
71
72
$k1=$a/($xmax-$xmin);
$k2=$a*$xmin/($xmin-$xmax);
$k3=$b/($ymin-$ymax);
$k4=$b*$ymax/($ymax-$ymin);
//membuat kanvas
//$gbr= Imagecreate(panjang,lebar);
$gbr=Imagecreate($a,$b);
//mengeset warna
//ImageColorAllocate (kanvas,komposisi R, G, B);
$hijaumuda=ImageColorAllocate($gbr,120,240,100);
$hitam=ImageColorAllocate($gbr,0,0,0);
$orange=ImageColorAllocate($gbr,255,150,40);
$putih=ImageColorAllocate($gbr,255,255,255);
$biru=ImageColorAllocate($gbr,0,0,255);
$merah=ImageColorAllocate($gbr,255,0,0);
$hitam=ImageColorAllocate($gbr,0,0,0);
$hijau=ImageColorAllocate($gbr,55,228,10);
//membuat garis
//ImageLine (kanvas, x1, y1, x2, y2, warna);
ImageLine($gbr,$xmin*$k1+$k2,0*$k3+$k4,$xmax*$k1+$k2,0*$k3+$k4,$hitam);
ImageLine($gbr,0*$k1+$k2,$ymin*$k3+$k4,0*$k1+$k2,$ymax*$k3+$k4,$hitam);
73
//output ke browser
header ("Content-type: image/PNG");
ImagePNG($gbr);
ImageDestroy($gbr);
?>
74
Hasilnya :
75
STEP 2
STEP 3
STEP 4
Hitung
in '
di
dt
dengan rumus :
V R
i' = i
L L
STEP 5
STEP 6
Update arus
i i + hi
STEP 7
Increment waktu
t t + h
STEP 8
STEP 9
Selesai
76
Inisialisasi awal
R, L, dan h
di
dt
TIDA
K
Hitung
V R
i' = i
L L
i i + hi
t t + h
t >=
t max
YA
Selesai
77
78
//sumbu
imagerectangle($img,0,0,$a+40,$b+40,$putih);
imageline($img,transformx($xmin),transformy(0),transformx($xmax),transformy
(0),$putih);
imageline($img,transformx(0),transformy($ymin),transformx(0),transformy($ym
ax),$putih);
//skala x
$dx=($xmax-$xmin)/5;
$x=$xmin;
while($x<=$xmax)
{
imageline($img,transformx($x),transformy(0),transformx($x),transformy(0),
$putih);
imagestring($img,3,transformx($x),transformy(0),"$x",$putih);
$x=$x+$dx;
imagestring($img,5,650,310,"t(sekon)",$putih);
}
//skala y
$dy=($ymax-$ymin)/2;
$y=$ymin;
while($y<=$ymax)
{
imageline($img,transformx(0),transformy($y),transformx(0),transformy($y),
$putih);
imagestring($img,3,transformx(0),transformy($y),"$y",$putih);
$y+=$dy;
imagestring($img,5,5,10,"i(A)",$putih);
}
imagestring($img,430,500,20,"Grafik Rangkaian R-L",$hijau);
//grafik
for($r=2e3;$r<=4e3;$r+=1e3){
$v=10;
$l=0.1;
$h=1e-6;
$i=0;
79
$tmax=0.005;
for($t=0;$t<=0.005;$t=$t+$h)
{
do{
$di=($v/$l)-$i*($r/1);
imagesetpixel($img,transformx($t),transformy($i),$merah);
$i=$i+$h*$di;
$t=$t+$h;
}while($t<=$tmax);
}
}
ImageJPEG($img);
?>
Hasilnya :
<?php
$xmin=-0.005;
$xmax=0.005;
$ymin=-0.05;
$ymax=0.5;
function transformx ($x)
{
$xmin=-0.0005;
$xmax=0.005;
$a=800;
$k1=$a/($xmax-$xmin);
$k2=-$a*$xmin/($xmax-$xmin);
$px=$k1*$x+$k2;
return$px;
}
function transformy ($y)
{
$ymin=-0.05;
$ymax=0.5;
$b=350;
$k3=-$b/($ymax-$ymin);
$k4=$b*$ymax/($ymax-$ymin);
$py=$k3*$y+$k4;
return$py;
}
Header("Content-Type:image/jpeg");
$a=700;
$b=300;
$img=ImageCreate($a+50,$b+50);
//warna
$putih=ImageColorAllocate($img,255,255,255);
$merah=ImageColorAllocate($img,255,0,0);
$hijau=ImageColorAllocate($img,55,228,10);
$hitam=ImageColorAllocate($img,0,0,0);
$biru=ImageColorAllocate($img,0,0,255);
//sumbu
imagerectangle($img,0,0,$a+40,$b+40,$hitam);
81
imageline($img,transformx($xmin),transformy(0),transformx($xmax),transformy
(0),$hitam);
imageline($img,transformx(0),transformy($ymin),transformx(0),transformy($ym
ax),$hitam);
//skala x
$dx=($xmax-$xmin)/4;
$x=$xmin;
while($x<=$xmax)
{
imageline($img,transformx($x),transformy(0),transformx($x),transformy(0),
$merah);
imagestring($img,3,transformx($x),transformy(0),"$x",$hitam);
$x=$x+$dx;
imagestring($img,5,670,290,"t(sekon)",$hitam);
}
//skala y
$dy=($ymax-$ymin)/4;
$y=$ymin;
while($y<=$ymax)
{
imageline($img,transformx(0),transformy($y),transformx(0),transformy($y),
$hitam);
imagestring($img,3,transformx(0),transformy($y),"$y",$hitam);
$y+=$dy;
imagestring($img,5,10,10,"i(A)",$hitam);
}
imagestring($img,400,320,100,"Grafik RL",$hitam);
//grafik
for($r=200;$r<=1000;$r=$r+100)
{
$L=0.1;
$t=0;
$v=10;
$q=0;
$h=1e-6;
$tmax=0.0005;
82
$i=0;
do{
$di=$v/$L-($i*$r/$L);
$vL=-$L*$di;
imagesetpixel($img,transformx($t*5),transformy($i*50),$biru);
$i=$i+$h*$di;
$t=$t+$h;
}while($t<=$tmax);
};
ImageJPEG($img);
?>
Hasilnya :
STEP 1
q0
dan
t0
STEP 2
STEP 3
t=
h
2
h
'
q =q ' 0 + q } rsub {0} atau i= {i} rsub {0} + {h} over {2} {q 0
2
STEP 4
t max
STEP 5
STEP 6
Update muatan
q q + h i
STEP 7
STEP 8
STEP 9
Increment waktu
t t + h
STEP 10
STEP 11
Selesai
84
t=
TIDA
K
h
2
h
'
q =q ' 0 + q } rsub {0} atau i= {i} rsub {0} + {h} over {2} {q 0
2
Hitung
q } rsub {0} =- {1} over {L} [ {q} over {C} +Rq']
q q + h q dan i i + h q
t t + h
85
t >=
t max
YA
Selesai
86
$py=$k3*$y+$k4;
return$py;
}
//warna
$putih=ImageColorAllocate($img,255,255,255);
$kuning=ImageColorAllocate($img,255,255,0);
$merah=ImageColorAllocate($img,255,0,0);
$hijau=ImageColorAllocate($img,55,228,10);
$hitam=ImageColorAllocate($img,0,0,0);
$biru=ImageColorAllocate($img,0,0,255);
//sumbu
imagerectangle($img,0,0,$a+40,$b+40,$hitam);
imageline($img,transformx($xmin),transformy(0),transformx($xmax),transformy
(0),$hitam);
imageline($img,transformx(0),transformy($ymin),transformx(0),transformy($ym
ax),$hitam);
//skala x
$dx=($xmax-$xmin)/5;
$x=$xmin;
while($x<=$xmax)
{
imageline($img,transformx($x),transformy(0),transformx($x),transformy(0),
$hitam);
imagestring($img,3,transformx($x),transformy(0),"$x",$hitam);
$x=$x+$dx;
imagestring($img,5,650,180,"t(sekon)",$hitam);
}
//skala y
$dy=($ymax-$ymin)/6;
$y=$ymin;
while($y<=$ymax)
{
imageline($img,transformx(0),transformy($y),transformx(0),transformy($y),
$hitam);
imagestring($img,3,transformx(0),transformy($y),"$y",$hitam);
87
$y+=$dy;
imagestring($img,5,5,10,"i(A)",$hitam);
}
imagestring($img,5,300,10,"Grafik LRC (teredam)",$hitam);
//grafik
$v=0;
$r=5;
$h=1e-7;
$l=0.001;
$c=1e-6;
$t=0;
$i=0.2;
$q=0;
$di=-($q/$c+$i*$r-$v)/$l;
$i=$i+$di*$h/2;
for($t=0;$t<=0.001;$t+0.0001){
$q=$q+$i*$h;
$di=-($q/$c+$i*$r-$v)/$l;
$i=$i+$h*$di;
$t=$t+$h;
imagesetpixel($img,transformx($t),transformy($i*20),$biru
);
}
ImageJPEG($img);
?>
88
Hasilnya :
89
$v=10;
$r=63;
90
$h=1e-7;
$l=1e-3;
$c=1e-6;
$t=0;
$i=0.2;
$q=0;
$di=-($q/$c+$i*$r-$v)/$l;
$i=$i+$di*$h/2;
for($t=0;$t<=$xmax;$t+=$h){
$q=$q+$i*$h;
$di=-($q/$c+$i*$r-$v)/$l;
$i=$i+$di*$h/2;
imagesetpixel($gb,$k1*$t+$k2,$k3*$i*20+$k4,$merah);
}
91
Hasilnya :
92
93
$abu2=ImagecolorAllocate($img,128,128,128);
$orange=ImageColorAllocate($img,255,150,40);
$kuning=imagecolorallocate($img,225,225,0);
//sumbu
//imagerectangle($img,0,0,$a+40,$b+40,$hitam);
imageline($img,transformx($xmin),transformy(0),transformx($xmax),transformy
(0),$kuning);
imageline($img,transformx(0),transformy($ymin),transformx(0),transformy($ym
ax),$kuning);
//skala x
$dx=($xmax-($xmin))/5;
$x=$xmin;
while($x<=$xmax)
{
imageline($img,transformx($x),transformy(0),transformx($x),transformy(0),
$kuning);
imagestring($img,3,transformx($x),transformy(0),"$x",$kuning);
$x=$x+$dx;
imagestring($img,5,650,180,"t(sekon)",$biru);
}
//skala y
$dy=($ymax-$ymin)/4;
$y=$ymin;
while($y<=$ymax)
{
imageline($img,transformx(0),transformy($y),transformx(0),transformy($y),
$merah);
imagestring($img,3,transformx(0),transformy($y),"$y",$kuning);
$y+=$dy;
imagestring($img,5,20,100,"I(A)",$biru);
}
imagestring($img,430,320,300,"grafik rangkaian RLC (tidak teredam)",
$merah);
94
95
Hasilnya :
Molekul hydrogen yang telah kehilangan satu electronnya, disebut molekul hydrogen yang
+
H 2 . ion ini terdiri dari dua proton dan satu electron,
+
H 2 adalah system fisika yang stabil.Karena
+
H 2 . Hukum
Coulomb adalah:
F=k q 1
q2
r2
r^
-2
q1
q2
+
H 2
Geometri dari system diilustrasikan pada gambar 7.1 yang sangat mirip dengan geometri
yang digunakan pada gerak proyektil dan gerak satelit, tetapi disini terdapat dua gaya yang
bekerja pada orbit. Dengan demikian metode Feyman-Newton akan digunakan pada banyak
bagian.
97
Jarak Gambar 7.1 Geometri dari posisi dan vektor gaya pada ion
H2
Kedua proton terletak pada titik (d, 0) dan (-d, 0) pada jarak 2d. Percepatan ax,dari elektron
karena adanya proton pada (d, 0) adalah:
ax=
F 1 cos 1
cos 1
( xd )
2
2
=k e
=k e
2
3 /2
2
m
m ( xd ) + y
m [(x d)2 + y 2 ]
Untuk mendapatkan percepatan karena gaya oleh proton pada (-d, 0), persamaan diatas
diganti bagian (x - d) dengan (x + d)
ax=
F 2 cos 2
cos 2
( x+ d )
=k e 2
=k e2
2
3 /2
2
m
m ( x +d ) + y
m [( x +d )2+ y 2 ]
( x y ) dengan
numerator y.
Energi pada elektron dapat dapat dihitung
U=k e2
1
1
+
2
2
(xd ) + y (x+ d)2 + y 2
]
98
1
K= m v 2 dan
2
E=( K +U )/1.6 x 1019
Pada rumus diatas U adalah energy potensial listrik, K adalah energy kinetic dan E adalah
energy total dari electron. Dengan menambah kode program untuk menghitung E, tentunya
akan diperoleh hasil bahwa nilai E adalah kekal,sementara electron mengorbit pada
proton.Hasil ini dapat digunakan untuk mengecek validitas dari program yang bersangkutan.
99
H2
q1 , q2
dan e
Massa elektron
Konstanta k pada hukum Coulomb
Jarak 2d antar proton dalam molekul
Step-size h
STEP 2
STEP 3
( xd)
( xd)
( 2+ y2 )3/ 2
( x+ d )
( 2+ y 2)3 /2 +
( xd )
ax=C
( xd )
( xd )
( 2+ y 2 )3 / 2
y
3 /2
( 2+ y 2) +
ay=C
2
ke
Dengan C= m
STEP 4
STEP 5
t max
100
STEP 6
STEP 7
Update posisi
STEP 8
STEP 9
Update kecepatan
Selesai
101
FLOWCHART ion
H2
MULAI
Inisialisasi awal
q1 , q2 ,
e, m, k, 2d dan h
Percepatan ax dan ay
h
vx =vx 0 + ax
2
h
vy =vy 0 + ay
2
TIDA
K
Plot (x,y)
x=x+ h vx
y= y +h vy
ax dan
ay
102
vx =vx +h ax
vy =vy +h ay
t t + h
t >=
t max
YA
Selesai
103
H2
PERTAMA
<?php
Header("Content-Type:image/jpeg");
$a=600;
$b=500;
$img=ImageCreate($a,$b);
$xmin=-7.5e-11;
$xmax=7.5e-11;
$ymin=-4.67e-11;
$ymax=4.67e-11;
function transformx($x){
$xmin=-7.5e-11;
$xmax=7.5e-11;
$a=600;
$k1=$a/($xmax-$xmin);
$k2=-$a*$xmin/($xmax-$xmin);
$px=$k1*$x+$k2;
return$px;}
function transformy($y){
$ymin=-4.67e-11;
$ymax=4.67e-11;
$b=500;
$k3=$b/($ymin-$ymax);
$k4=$b*$ymax/($ymax-$ymin);
$py=$k3*$y+$k4;
return$py;}
//warna
$hitam=ImageColorAllocate($img,0,0,0);
$putih=ImageColorAllocate($img,255,255,255);
$merah=ImageColorAllocate($img,255,0,0);
$hijau=ImageColorAllocate($img,55,228,10);
$biru=ImageColorAllocate($img,0,0,255);
$abu2=ImagecolorAllocate($img,128,128,128);
$orange=ImageColorAllocate($img,255,150,40);
$kuning=imagecolorallocate($img,225,225,0);
104
105
$a=pow($x-$d,2)+pow($y,2);
$b=pow($x+$d,2)+pow($y,2);
$c=$k*POW($e,2)/$m;
$ax=-$c*(($x-$d)/pow($a,1.5)+($x+$d)/pow($b,1.5));
$ay=-$c*($y/pow($a,1.5)+$y/pow($b,1.5));
$vx=$vx+($h/2)*$ax;
$vy=$vy+($h/2)*$ay;
do{
$x=$x+$h*$vx;
$y=$y+$h*$vy;
imagesetpixel($img,transformx($x),transformy($y),$merah);
$a=pow($x-$d,2)+pow($y,2);
$b=pow($x+$d,2)+pow($y,2);
$ax=-$c*(($x-$d)/pow($a,1.5)+($x+$d)/pow($b,1.5));
$ay=-$c*(($y/pow($a,1.5))+($y/pow($b,1.5)));
$vx=$vx+$h*$ax;
$vy=$vy+$h*$ay;
$t=$t+$h;
}
while($t<=$tmax);
ImageJPEG($img);
?>
106
Hasilnya :
107
H2
KEDUA
<?php
Header("Content-Type:image/jpeg");
$a=600;
$b=500;
$img=ImageCreate($a,$b);
$xmin=-4.5e-10;
$xmax=4.5e-10;
$ymin=-3e-10;
$ymax=3e-10;
function transformx($x){
$xmin=-4.5e-10;
$xmax=4.5e-10;
$a=600;
$k1=$a/($xmax-$xmin);
$k2=-$a*$xmin/($xmax-$xmin);
$px=$k1*$x+$k2;
return$px;}
function transformy($y){
$ymin=-3e-10;
$ymax=3e-10;
$b=500;
$k3=$b/($ymin-$ymax);
$k4=$b*$ymax/($ymax-$ymin);
$py=$k3*$y+$k4;
return$py;}
//warna
$hitam=ImageColorAllocate($img,0,0,0);
$putih=ImageColorAllocate($img,255,255,255);
$merah=ImageColorAllocate($img,255,0,0);
$hijau=ImageColorAllocate($img,55,228,10);
$biru=ImageColorAllocate($img,0,0,255);
$abu2=ImagecolorAllocate($img,128,128,128);
$orange=ImageColorAllocate($img,255,150,40);
$kuning=imagecolorallocate($img,225,225,0);
108
109
$a=pow($x-$d,2)+pow($y,2);
$b=pow($x+$d,2)+pow($y,2);
$c=$k*POW($e,2)/$m;
$ax=-$c*(($x-$d)/pow($a,1.5)+($x+$d)/pow($b,1.5));
$ay=-$c*($y/pow($a,1.5)+$y/pow($b,1.5));
$vx=$vx+($h/2)*$ax;
$vy=$vy+($h/2)*$ay;
do{
$x=$x+$h*$vx;
$y=$y+$h*$vy;
imagesetpixel($img,transformx($x),transformy($y),$kuning);
$a=pow($x-$d,2)+pow($y,2);
$b=pow($x+$d,2)+pow($y,2);
$ax=-$c*(($x-$d)/pow($a,1.5)+($x+$d)/pow($b,1.5));
$ay=-$c*(($y/pow($a,1.5))+($y/pow($b,1.5)));
$vx=$vx+$h*$ax;
$vy=$vy+$h*$ay;
$t=$t+$h;
}
while($t<=$tmax);
ImageJPEG($img);
?>
110
Hasilnya :
111
6. HAMBURAN RUTHERFORD
Sebuah eksperimen yang mendasar pada bab ini adlah eksperimen yang dilakukan oleh Lord
Rutherford (1871-1937) yang diperkenalkan oleh H. Geiger dan E. Marsden. Struktur dari
atom tetap merupakan misteri.Masalahnya adalah ukuran dari atom.
(x,
y)
Q
X,
Y
Gambar 6.1 Partikel alpha yang mendekati atom emas. Pusat atom
emas pada (X,Y) dengan muatan Q yang terdistribusi uniform pada
bola dengan radius R. Partikel alpha dengan muatan q pada (x,y)
F=
qE
r^
(x,
y)
(X,
Y)
Gambar 6.2 Geometri lokasi dari atom target (Q) dari
partikel alpha (q)
112
Di dalam atom r R pada jarak r dari pusat dan besar medan listriknya adalah
E=
r3 Q ^
k r
R3 r 2
Dengan mengacu pada gambar 6.2 kita dapatkan komponen x dan y dari percepatan
ax=
F x k Qq
( xX )
k Qq xX k
=
cos=
= Qq
2
2
3 /2
m m r
m r
r
m
[ (xX )2 +( y Y )2 ]
a y=
F y k Qq
( xX )
k Qq xY k
=
sin=
= Qq
2
2
3 /2
m m r
m r
r
m
[( xX )2+( yY )2 ]
Dimana m adalah massa dari partikel alpha. Dengan hukum ketiga Newton percepatan atom
dapat dihitung dengan persamaan :
M A x =m ax
A x=
m
a
M x
m
a
M y
113
STEP 2
Radius atom, R
Massa partikel alpha, m=6.64 x 10-27 kg
Massa atom target M (massa kelipatan A dari 1.66 x 1027 kg amu-1)
Muatan elektron e = 1.6 x 10-19 C
Ratio muatan partikel alpha terhadap muatan elektron
Ratio muatan atom target terhadap muatan elektron
Konstanta k=8,99 x 109 Nm2C-2
Parameter impak b
Kecepatan inisial partikel alpha untuk 7 MeV, v= 2x107 ms-1
Step-size h = 1x10-24 s
Pilih kondisi awal untuk
STEP 3
STEP 4
kQe
m
a x =N
x X
3
r
114
dan
a y =N
-
xY
r3
xY
3
R
STEP 4
m
a
M y
STEP 5
STEP 6
STEP 7
Update posisi
x=x+ hv x
y= y +hv y
115
X =X +hV x
dan
Y =Y + hv y
Hitung komponen-komponen percepatan dengan rumus pada STEP 3
STEP 9
Update kecepatan
v x =v x + ha x
v y =v y +ha y
V x =V x +hA x
dan
V y =V y +hA y
STEP 10
Increment waktu:
tt+h
STEP 11
STEP 12
Selesai
116
Inisilisasi awal h
Partikel alpha x,y,vx,vy
Atom target X,Y,Vx,Vy
N=
19
a x =N
x X
r3
a y =N
xY
r3
Jika r<R
a x =N
x X
R3
A x=
m
a
M x
117
h
v x =v x 0+ a x0
2
h
v y =v y 0 + a y 0
2
h
V x =V x 0 + A x0
2
TIDA
Plot posisi
(x,y)
x=x+hvx ,
y=y+hvy
a x dan a y
v x =v x + h a x
v y =v y +h a y
t=t
+h
t >=tmax
YA
SELESAI
118
119
$xmax=6e-13;
$a=500;
$k1=$a/($xmax-$xmin);
$k2=-$a*$xmin/($xmax-$xmin);
$px=$k1*$x+$k2;
return$px;
}
function transformy ($y){
$ymin=-4e-13;
$ymax=4e-13;
$b=500;
$k3=-$b/($ymax-$ymin);
$k4=$b*$ymax/($ymax-$ymin);
$py=$k3*$y+$k4;
return$py;
}
//sumbu
imageline($img,transformx($xmin),transformy(0),transformx($xmax),transformy
(0),$hijau);
imageline($img,transformx(0),transformy($ymin),transformx(0),transformy($ym
ax),$hijau);
imagestring($img,5,110,510,"Winda Kusuma Dewi (4211412048)",$kuning);
imagestring($img,5,150,530,"Hamburan Rutherford",$kuning);
//skala x
$dx=($xmax-($xmin))/5;
$x=$xmin+$dx;
while($x<=$xmax){
imageline($img,transformx($x),transformy(0)2,transformx($x),transformy(0)+2,$hijau);
imagestring($img,3,transformx($x)-8,transformy(0)+1,$x,$merah);
$x=$x+$dx;
}
//skala y
$dy=($ymax-$ymin)/5;
$y=$ymin+$dy;
120
while($y<=$ymax){
imageline($img,transformx(0)1,transformy($y),transformx(0)+1,transformy($y),$hijau);
imagestring($img,3,transformx(0)-15,transformy($y),$y,$merah);
$y=$y+$dy;
}
$b=1e-12;
$rt=7.5e-14;
imageellipse($img,transformx(-$rt*$x),transformy($rt*$y),transformx($rt*$x),transformy($rt*$y),$putih);
for($i=1;$i<=8;$i+=1){
$spy=$b/pow(2,$i);
$mp=6.64e-27;
$mt=197*(1.66e-27);
$e=1.6e-19;
$q=79*$e;
$k=8.99e+9;
$spx=-5e-13;
$vpx=1e+7;
$vpy=0;
$vty=0;
$vtx=0;
$stx=0;
$sty=0;
$h=1e-22;
$n=2*$k*$q*$e/$mp;
$r=pow((pow(($spx-$stx),2)+pow(($spy-$sty),2)),0.5);
if($r>$rt){
$apx=$n*($spx-$stx)/pow($r,3);
$apy=$n*($spy-$sty)/pow($r,3);
}
else{
$apx=$n*($spx-$stx)/pow($rt,3);
$apy=$n*($spy-$sty)/pow($rt,3);
}
$atx=-$mp/$mt*$apx;
$aty=-$mp/$mt*$apy;
$vpx=$vpx+0.5*$h*$apx;
121
$vpy=$vpy+0.5*$h*$apy;
$vtx=$vtx+0.5*$h*$atx;
$vty=$vty+0.5*$h*$aty;
for($t=0;$t<=8.5e-20;$t+=$h){
$xl=$k1*$spx+$k2;
$yl=$k3*$spy+$k4;
ImageSetPixel($img,$xl,$yl,$putih);
$stx=$stx+$h*$vtx;
$sty=$sty+$h*$vty;
$spx=$spx+$h*$vpx;
$spy=$spy+$h*$vpy;
$r=pow((pow(($spx-$stx),2)+pow(($spy-$sty),2)),0.5);
if($r>$rt){
$apx=$n*($spx-$stx)/pow($r,3);
$apy=$n*($spy-$sty)/pow($r,3);
}
else{
$apx=$n*($spx-$stx)/pow($rt,3);
$apy=$n*($spy-$sty)/pow($rt,3);
}
$atx=-$mp/$mt*$apx;
$aty=-$mp/$mt*$apy;
$vpx=$vpx+$h*$apx;
$vpy=$vpy+$h*$apy;
$vtx=$vtx+$h*$atx;
$vty=$vty+$h*$aty;
}
}
ImagePNG($img);
ImageDestroy($img);
?>
122
Hasilnya :
123
Soal :
Seorang penerjun payung bermassa m=68.1 kg meloncat dari balon udara yang diam, dan
meluncur di tempat pendaratan yang memenuhi persamaan:
124
125
$t0=h;
$v0=$v;
}
?>
</td>
</center>
</table>
<br><br><br>
</body>
</html>
126
Hasilnya
127
Kode Program s vs
t, v vs t, dan a vs t
<?php
$xmin=-5;
$xmax=60;
$ymin=-40;
$ymax=300;
function
transformx ($x)
{
$xmin=-5;
$xmax=60;
$a=800;
$k1=$a/($xmax$xmin);
$k2=-$a*$xmin/
($xmax-$xmin);
$px=$k1*$x+$k2;
return$px;}
function transformy ($y)
{
$ymin=-40;
$ymax=300;
$b=500;
$k3=-$b/($ymax-$ymin);
$k4=$b*$ymax/($ymax-$ymin);
$py=$k3*$y+$k4;
return$py;}
Header("Content-Type:image/jpeg");
$a=800;
$b=600;
$kertas=ImageCreate($a+50,$b+50);
//warna
$coklat=imagecolorallocate($kertas,195,134,116);
$putih=ImageColorAllocate($kertas,255,255,255);
$merah=ImageColorAllocate($kertas,255,0,0);
$hijau=ImageColorAllocate($kertas,55,228,10);
$hitam=ImageColorAllocate($kertas,0,0,0);
$biru=ImageColorAllocate($kertas,0,0,255);
$orange=ImageColorAllocate($kertas,255,150,40);
128
//sumbu
//imagerectangle($kertas,0,0,$a+40,$b+40,$hitam);
imageline($kertas,transformx($xmin+1),transformy(0),transformx($xmax),trans
formy(0),$hitam);
imageline($kertas,transformx(0),transformy($ymin),transformx(0),transformy(
$ymax),$hitam);
//skala x
$dx=($xmax-($xmin+1))/10;
$x=$xmin+1;
while($x<=$xmax){
imageline($kertas,transformx($x),transformy(0)2,transformx($x),transformy(0)+2,$merah);
imagestring($kertas,3,transformx($x)-8,transformy(0)+1,"$x",$hitam);
$x=$x+$dx;
imagestring($kertas,30,720,470,"t(s)",$hitam);
}
//skala y
$dy=($ymax-$ymin)/10;
$y=$ymin;
while($y<=$ymax){
imageline($kertas,transformx(0)1,transformy($y),transformx(0)+1,transformy($y),$merah);
imagestring($kertas,3,transformx(0)-15,transformy($y),"$y",$hitam);
$y+=$dy;
imagestring($kertas,30,5,120,"V(m/s)",$hitam);}
//keterangan
imagestring($kertas,5,520,220,"v(t)",$merah);
imagestring($kertas,5,560,360,"x(t)",$biru);
imagestring($kertas,5,200,480,"a(t)",$putih);
imagestring($kertas,600,120,520,"Keterangan :",$hitam);
imagestring($kertas,600,270,520,"merah:grafik kecepatan terhadap waktu",
$merah);
imagestring($kertas,600,270,540,"biru:grafik posisi terhadap waktu",$biru);
imagestring($kertas,600,270,560,"putih:grafik percepatan terhadap waktu",
$putih);
imagestring($kertas,50,180,70,"Winda Kusuma Dewi (4211412048)",$hitam);
//grafik
$m=68.1;
$t=0;
$g=9.8;
129
$c=12.5;
$h=0.2;
$e=2.72;
$v=0;
$x0=0;
do{
$a=$g-(($c/$m)*$v);
$V=$v+($g-(($c/$m)*$v)*(($t+$h)-$t));
//SOLUSI NUMERIK
$x=$x0+($V-$v)*(($t+$h)-$t);
imagesetpixel($kertas,transformx($t),transformy($a),$putih);
imagesetpixel($kertas,transformx($t),transformy($v),$merah);
imagesetpixel($kertas,transformx($t),transformy($x0/100),$biru);
$v=$V+$a*$h;
$x0=$x+$v*$h;
$t=$t+$h;}
while($t<=$xmax);
ImageJPEG($kertas);
?>
130
Hasilnya :
131