KESIMPULAN DAN SARAN
5.1 Kesimpulan
1. Semakin ke arah kutub maka pengaruh efek Coriolis semakin besar, ini terlihat dari pola lintasan pendulum kutub yang membetuk lingkaran penuh dan terlihat pepat.
2. Sudut putaran yang terbentuk oleh ayunan pendulum Foucault bervariasi di setiap lokasi di bumi, tergantung dari posisi sudut lintang. Di daerah kutub dimana sudut lintang 90o terbentuk pola lingkaran penuh, sedangkan di khatulistiwa dengan sudut lintang 0o tidak terbentuk pola.
3. Grafik yang ditunjukkan pada gambar 4.8 dan 4.10 mempresesi bumi secara relatif tetapi lebih lambat dari pendulum kutub yang diperlihatkan pada gambar 4.4.
4. Pendulum yang terikat pada sebuah tali dan dapat berayun secara bebas dan periodik yang menjadi dasar kerja dari sebuah jam dinding kuno yang mempunyai ayunan. Dalam bidang fisika, prinsip ini pertama kali ditemukan pada tahun 1602 oleh Galileo Galilei, bahwa perioda (lama gerak osilasi satu ayunan, T) dipengaruhi oleh panjang tali dan percepatan gravitasi mengikuti rumus
g l
T =2π .
5.2 Saran
1. Dilakukan modifikasi simulasi agar dapat melihat pengaruh Chaos pada
pendulum Foucault.
2. Pada penelitian selanjutnya dapat menggunakan metode lain dalam menyelesaikan persamaan gerak pendulum dan melihat perbandingannya dengan metode Runge-Kutta Orde 4 .
3. Pada penelitian selanjutnya dapat menggunakan metode adam untuk menyelesaikan persamaan gerak pendulum dan membandingkan secara analitik dan numerik.
DAFTAR PUSTAKA
Kandasamy,P, Thilagavathy,K., Gunavathy,K. 1997. Numerical Methods. New Delhi, S.Chand Company Ltd.
Marcelo, da Silva, 2004, intermediate Dynamics Complemented with Simulations and Animations, the McGraw Hill Companies, USA.
Pikatan, Sugata, Akibat Rotasi Bumi, jurnal Kristal no.9/Desember/2009, diunduh 12-
10-2010.
Peter, Soedojo, , 2000, Azas-Azas Mekanika Analisa, Yogyakarta: Gajah Mada University Press.
Prawirowardoyo, Susilo,1996, Meteorology, Bandung: Intitut Teknologi Bandung
Raymond P. Canale, Steven C. Chapra.1991. Metode Numerik Untuk Teknik Dengan Penerapan Pada Komputer Pribadi. Jakarta: Universitas Indonesia Press.Spigel, R. Murray,1994, Analisis Vektor, Jakarta : Erlangga.
Tiller, W, Bill, 1996, physical science, 5
thedition, Arizona State University, New
york.
Thomson, T. William, 1992, Teori Getaran Dengan Penerapan, Jakarta: Erlangga.
Wolfram, S.1991.Mathematica: A System for Doing Mathematics by Computer.Second Edition. California: Addison Wesley Publishing Company, Inc.
LAMPIRAN A: LISTING PROGRAM ANIMASI PENDULUM FOUCAULT
(*pengenalan tampilan variabel)
Option Explicit
Private mDx7 As DirectX7
Private mDrw As DirectDraw7
Private mDrm As Direct3DRM3
Private mFrS As Direct3DRMFrame3
Private mFrC As Direct3DRMFrame3
Private mFrO As Direct3DRMFrame3
Private mFrL As Direct3DRMFrame3
Private mDev As Direct3DRMDevice3
Private mVpt As Direct3DRMViewport2
Private mDownX As Single
Private mDownY As Single
Private mStopFlag As Boolean
Private mMouseDown As Boolean
Dim ubah As Integer
Private Type dxPTM
dX As Single
dY As Single
Distance As Single
End Type
(menampilkan bola dengan bentuk 3D)
Private Sub LoadMesh()
Dim DxMeshB As Direct3DRMMeshBuilder3
mDrm.SetSearchPath App.Path
Set DxMeshB = mDrm.CreateMeshBuilder()
With DxMeshB
.LoadFromFile "sphere.x", 0, D3DRMLOAD_FROMFILE, Nothing, Nothing
.SetTexture mDrm.LoadTexture("peta-dunia1.bmp")
End With
mFrO.AddVisual DxMeshB
'Command4.Left = ubah
Me.Show: DoEvents
End Sub
Private Sub RefreshLoop()
Do While mStopFlag = False
mFrS.Move 1
With mVpt
.Clear D3DRMCLEAR_ALL
.Render mFrS
End With
mDev.Update
DoEvents
Loop
End Sub
(*inisialisasi layar backround)
Private Sub Initialise()
Set mDx7 = New DirectX7
Set mDrm = mDx7.Direct3DRMCreate
Set mDrw = mDx7.DirectDrawCreate("")
End Sub
Private Sub CreateSceneGraph()
Dim DxL1 As Direct3DRMLight
Dim DxL2 As Direct3DRMLight
With mDrm
Set mFrS = .CreateFrame(Nothing)
Set mFrC = .CreateFrame(mFrS)
Set mFrO = .CreateFrame(mFrS)
Set mFrL = .CreateFrame(mFrS)
Set DxL1 = .CreateLightRGB(D3DRMLIGHT_DIRECTIONAL, 0.8, 0.8, 0.8)
Set DxL2 = .CreateLightRGB(D3DRMLIGHT_AMBIENT, 0.5, 0.5, 0.5)
End With
mFrL.AddLight DxL1
mFrL.AddLight DxL2
mFrC.SetPosition Nothing, 0, 0, -2
End Sub
Private Sub CreateDisplay()
Dim DxClipper As DirectDrawClipper
Set mVpt = Nothing
Set mDev = Nothing
Set DxClipper = mDrw.CreateClipper(0)
ScaleMode = vbPixels
DxClipper.SetHWnd hWnd
Set mDev = mDrm.CreateDeviceFromClipper(DxClipper, "", ScaleWidth,
ScaleHeight)
Set mVpt = mDrm.CreateViewport(mDev, mFrC, 0, 0, ScaleWidth, ScaleHeight)
End Sub
Private Sub Form_Load()
ubah = 4080
Initialise
CreateSceneGraph
CreateDisplay
LoadMesh
RefreshLoop
Cleanup
End
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
mStopFlag = True
End Sub
Private Sub Form_Resize()
CreateDisplay
End Sub
Private Sub mnuExit_Click()
mStopFlag = True
Public Sub Cleanup()
Set mVpt = Nothing
Set mDev = Nothing
Set mFrL = Nothing
Set mFrO = Nothing
Set mFrC = Nothing
Set mFrS = Nothing
Set mDrm = Nothing
Set mDx7 = Nothing
End Sub
Private Sub SetQuality(Quality As CONST_D3DRMRENDERQUALITY)
mDev.SetQuality Quality
mnuFlat.Checked = False
mnuWireframe.Checked = False
mnuFlat.Checked = True
End Sub
Private Sub Text1_Change()
Dim putar As Double
putar = Val(Text1.Text) / 5000
If Text1.Text <> "" Then
mFrO.SetRotation Nothing, 0, 1, 0, putar
End If
End Sub
Dim i As Integer
Private Sub Form_Load()
Timer1.Enabled = True
i = 1
End Sub
(*pengatur kecepatan perputaran bumi)
Private Sub Text1_Change()
Dim inter As Integer
If Text1.Text <> "" Then
inter = 5000 / Val(Text1.Text)
Timer1.Interval = inter
End If
End Sub
Private Sub Timer1_Timer()
Picture1.Picture = LoadPicture("C:/gambar/pendulum" & i & ".bmp")
i = i + 1
If i > 5 Then
i = 1
End If
End Sub
LAMPIRAN B: LISTING PROGRAM SIMULASI PENDULUM FOUCAULT
(* Menentukan langkah- langkah yang digunakan pada metode Runge-Kutta*)
RungeKutta4[___]["Step"[f_,t_,h_,y_,yp_]]:=
Block[{deltay,k1,k2,k3,k4},
k1=yp;
k2=f[t+1/2 h,y+1/2 h k1];
k3=f[t+1/2 h,y+1/2 h k2];
k4=f[t+h,y+h k3];
deltay=h (1/6 k1+1/3 k2+1/3 k3+1/6 k4);
{h,deltay}
];
(* Menentukan Orde yang digunakan pada metode Runge-Kutta*)
RungeKutta4[___]["DifferenceOrder"]:=4;
(*fungsi untuk visualisasi pendulum*)
pendelPos[{x_,y_}]:={x,y,-Sqrt[10- x^2-y^2]};
pendel[tau_?NumericQ,sol_]:=({AbsoluteThickness[3],Line[{{0,0,0},pendelPos[{x[t]
,y[t]}]}],Sphere[pendelPos[{x[t],y[t]}],0.15]}/.sol[[1]])/.t? tau;
(*Penyelesaian persamaan gerak pendulum Foucault dengan metode Runge-Kutta*)
Manipulate[
fde={x''[t]? - g/l*x[t]+2 ? *Sin[? ]*y'[t],y''[t]? -g/l*y[t]-2 ? *Sin[? ]*x'[t]};
sol=NDSolve[Join[fde,{x[0]? x0,y[0]? y0,x'[0]? xd0,y'[0]? yd0}],{x[t],y[t]},{t,0,64
Pi},Method? RungeKutta4];
(*Menu pilihan*)
Which[Pilihan=="Visualisasi 3D",
Graphics3D[{ParametricPlot3D[pendelPos[{x[t],y[t]}/.sol[[1]]],{t,t1,t1+4
Pi},PlotStyle? {Thickness[.008],RGBColor[1,0,1]}][[1]],ParametricPlot3D[{x[t],y[t],
-4}/.sol[[1]],{t,0,64 Pi},PlotPoints? 1024][[1]],pendel[t1,sol]},PlotRange?
{{-5,5},{-5,5},{-4,0}},ImageSize? {375,375}],
Pilihan? "Grafik x vs
y",ParametricPlot[Evaluate[{First[x[t]/.sol],First[y[t]/.sol]}],{t,100,200},ImageSize?
{550,375},PlotPoints? 1000,AxesLabel? {"x(m)","y(m)"}],
Pilihan? "Grafik x vs t",Plot[Evaluate[{First[x[t]/.sol]}],{t,0,64
Pi},ImageSize? {550,375},AxesLabel? {"t(s)","x(m)"}],
Pilihan? "Grafik y vs t",Plot[Evaluate[{First[y[t]/.sol]}],{t,0,64
Pi},ImageSize? {550,375},AxesLabel? {"t(s)","y(m)"}]],
(*Tampilan eksekusi program*)
Style[" SIMULASI GERAK PENDULUM
FOUCAULT",Bold,16,Darker[Green,.8],"Label"],
Delimiter,
Style[" ",Bold,16,Darker[Green,.8],"Label"],
Style["PARAMETER PENDULUM",Bold,12,Darker[Green,.8],"Label"],
Style[" ",Bold,16,Darker[Green,.8],"Label"],
{{g,9.8,"Percepatan Gravitasi"},9.8,10,0.01,ImageSize? Tiny,Appearance ?
"Labeled"},
{{l,10,"Panjang Tali"},1,10,1 ImageSize? Tiny,Appearance ? "Labeled"},
Delimiter,
Style["PARAMETER BUMI",Bold,12,Darker[Green,.8],"Label"],
Style[" ",Bold,16,Darker[Green,.8],"Label"],
{{? ,1/16,"Frekuensi Rotasi Bumi"},0,1/2,ImageSize? Tiny,Appearance ?
"Labeled"},
{{? ,Pi/3,"Sudut Lintang"},0,Pi/2,ImageSize? Tiny,Appearance ? "Labeled"},
Delimiter,
Style["KONDISI AWAL",Bold,12,Darker[Green,.8],"Label"],
Style[" ",Bold,16,Darker[Green,.8],"Label"],
{{x0,2,"x"},0.1,2,ImageSize? Tiny,Appearance ? "Labeled"},
{{xd0,0,"x'"},0,1,ImageSize? Tiny,Appearance ? "Labeled"},
{{y0,2,"y"},0.1,2,ImageSize? Tiny,Appearance ? "Labeled"},
{{yd0,0,"y'"},0,1,ImageSize? Tiny,Appearance ? "Labeled"},
{{t1,0,"Waktu"},0,60 Pi,ImageSize ? Tiny,Appearance ? "Labeled"},
Delimiter,
Style["MENU",Bold,12,Darker[Green,.8],"Label"],
Style[" ",Bold,16,Darker[Green,.8],"Label"],
{