• Tidak ada hasil yang ditemukan

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

th

edition, 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"],

{

Pilihan,{"Visualisasi 3D","Grafik x vs y","Grafik x vs t","Grafik y vs

t"},ControlType? SetterBar},SynchronousUpdating? False]

Dokumen terkait