Anda di halaman 1dari 15

CART AND PENDULUM SIMULATION

1. Cart and Pendulum


Pada Gambar 1 ditunjukan Cart and Pendulum Model yang mempunyai persamaan
gerak sebagai berikut:

M m x ml cos F bx ml 2 sin

ml cos x ml 2 I mgl sin

(1)

Apabila persamaan 1 dibuat dalam bentuk matriks akan tampak seperti pada
persamaan 2

M m
ml cos

ml cos
ml 2 I

0
x b ml sin x
F



0
0
mgl sin 0

(2)

Gambar 1 Cart and Pendulum Model


2. Metode Runge Kuta
Metode runge kuta meruapakan suatu metode numerik untuk mendapatkan nilai
integral. Untuk metode runge kutta orde 4 dapat menentukan nilai dari integral 1 dan
integral 2, adapun bentuk umum persamaan matematisnya sebagai berikut:

2 y

x 2
h
k1
2
h
k2
2
k3

h
2

f ( x, y , y ' )
f ( x, y , y ' )

k
h
h
f x , y y ' 1 , y ' k1
2
2
2

k
h
h
f x , y y ' 1 , y ' k 2
2
2
2

h
f x h, y h y ' k 3 , y '2k 3
2
k k 2 k3

y n y n 1 h y ' n 1 1

k4

y ' n y ' n 1

k1 2k 2 2k 3 k 4
3

, dimana

= integration step

(3)

3. Perancangan
Pada persamaan 2 merupakan persamaan differensial dengan orde 2.
dan
dan

percepatan sudut . Untuk mendapatkan nilai dari

jarak dan

percepatan

sudut , dimana

merupakan hasil dari integeral orde 2 , sehingga dapat ditentukan menggunakan

runge kutta order 4.


Persamaan 2 belum bisa menjadi input dari runge kutta perlu dilakukan modifikasi

sehingga pada ruas kiri hanya ada


memisalkan tiap-tiap matriks misal :

. Untuk memudahkan memodifikasinya perlu

M m
ml cos

ml cos
ml 2 I

x


b ml sin
C

0
0

x


0

mgl sin
F
F
0

Sehingga persamaan 2 akan menjadi sebagai berikut

M C G F

(4)

Agar pada ruas kiri hanya ada nilai

saja, maka perlu dibagi dengan

. Nilai

berupa matriks , maka tiap ruas dikalikan dengan nilai invers dari matriks M , sehingga
persamaan 4 menjadi

M 1C M 1G M 1 F
x M m
ml cos

ml cos

M m
ml cos

ml cos

M m
ml cos

ml cos

ml I
2

b ml sin


0
0

F
0

ml I
2

ml 2 I

mgl sin

, dengan

ml 2
I
3

(5)

Bentuk persamaan 5 ini sudah dapat digunakan untuk input dari runge kutta.
Pada persamaan 2 tidak menggandung variable waktu , sehingga bila persamaan 3
disesuaikan dengan bentuk persamaan 5 maka menjadi

t 2
h
k1
2
h
k2
2
k3

h
2

f ( , )
f ( , ' )

k
h
f 1 , k1
2
2

k
h
f 1 , k 2
2
2

h
f h k 3 , 2k 3
2
k k2 k3

n n 1 h n 1 1

k 2k 2 2k 3 k 4
n n 1 1
3
k4

,dimana

(6)

Persamaan 6 merupakan proses runge kutte dengan 2 variabel. Bentuk matriks


memudahkan dalam melakukan perhitungan. Pada persamaan 6 ditunjukan bahwa hasil
output dari proses runge kutte akan menjadi input dari proses runge kutte selanjutntya

xn

n
dengan kata lain

dan

x
n n
n

akan menjadi input untuk proses n +1 .

Dari uraian diatas sehingga dapat disimpulakan kebutuhan akan fungsi-fungsi atau
procedure yang perlu dibuat untuk dapat mensimulasikan cart and pendulum pada bahasa
pemprograman Delphi adalah sebagai berikut
a.Fungsi penjumlahan matriks , sebagai alat bantu menghitung persamaan 5
b.Fungsi perkalian matriks, sebagai alat bantu menghitung persamaan 5
c.Fungsi invers matriks , sebagai alat bantu menghitung persamaan 5
d.Fungsi gerak untuk menghitung persamaan 5
e.Fungsi runge kutte.
f.Fungsi untuk membuat cart dan pendulum
3.1.

Penjumlahan matriks
Dua matriks dapat dijumlahkan apabila kedua matriks tersebut memiliki ordo
yang sama. Matriks hasil penjumlahannya juga akan memiliki ordo yang sama dengan
matriks yang dijumlahkan. Komponen-komponen matriks hasil penjumlahan diperoleh

dengan cara menjumlahkan komponen-komponen setiap matriks yang seletak.


Persamaan matematisnya sebagai berikut:
a b e
c d g

f ae b f

h c g d h

Berdasarkan

persamaan

7, fungsi

(7)
penjumlahan

matriks

dalam bahasa

pemprogrman Delphi adalah sebagai berikut:

3.2. Perkalian matrix


a. Perkalian matriks dengan skalar
Sebuah matriks dapat dikalikan dengan skalar (konstanta) dengan cara
mengalikan setiap komponen matriks dengan skalar. Persamaan matematisnya
sebagai berikut:
a b
ka kb

c d
kc kd

(8)

Berdasarkan persamaan 8, fungsi perkalian matriks dengan skalar dalam


bahasa pemprogrman Delphi adalah sebagai berikut:

b. Perkalian matriks dengan matriks


Dua matriks dapat dioperasikan dengan perkalian jika banyak kolom matriks
pertama sama dengan banyak baris matriks kedua, sedangkan hasil perkalian
matriksnya akan memiliki baris yang sama banyak dengan baris matriks pertama dan
memiliki kolom yang sama banyak dengan kolom matriks kedua, dapat ditulis
sebagai berikut.

Amn Bnr ( AB) mr

(9)

Metode perkalian dua matriks adalah memasangkan baris pada matriks


pertama dengan kolom pada matriks kedua. Persamaan matematisnya sebagai
berikut
a b e
c d g

f
ae bg

h
ce dg

af bh
cf dh

(10)

Berdasarkan persamaan 10, fungsi perkalian matriks dengan matriks dalam


bahasa pemprogrman Delphi adalah sebagai berikut:

3.3. Invers Matriks


Tidak semua matriks memiliki invers, hanya matriks persegi yang memiliki
invers. Secara umum, invers dari matriks persegi A atau ditulis A-1 adalah sebagai
berikut.
A 1

1
adj ( A)
det( A)

(11)
Dengan det (A) adalah determinan matriks A dan adj(A) adalah adjoin matriks A.
Adjoin matriks A adalah transpose dari matriks kofaktor A. Pada persamaan 2 yang
mempunyai matriks persegi adalah matrik 2 x 2, untuk menyederhanakan proses invers
matriks maka dalam perancangan fungsi invers matrik ,hanya untuk matriks yang
berukuran 2 x 2. Untuk matriks A yang berordo 2 x 2 inversnya adalah sebagai berikut.
a b
1 d b
A 1

ad bc c a
c d

(12)

Berdasarkan persamaan 12, fungsi invers matrik berordo 2 x 2 dalam bahasa


pemprogrman Delphi adalah sebagai berikut:

3.4.

Persamaan Gerak
Berdasarkan persamaan 6, fungsi persamaan gerak cart and pendulum dalam bahasa

pemprogrman Delphi adalah sebagai berikut:

3.5.

Desain Cart dan Pendulum


Berdasarkan Gambar 2, desain cart dan pendulum alam bahasa pemprogrman Delphi

adalah sebagai berikut:

Gambar 2. Desain Cart dan Pendulum


3.6.

Desain GUI
Berikut adalah tampilan GUI dari program diatas:

Gambar 3. Desain GUI dari Cart dan Pendulum


4. Pengujian
4.1.
Pengujian Matrik
Hasil perhitungan manual sebagai berikut :

100 5

ml cos

5 10 cos120
ml 2 I

M m
M
ml cos

5 10 cos120
5 10 2
2
5 10 3

25
105

25 666,66667

666,66667 25
1
25
105
(105 666,66667) ( 25 25)
666,66667 25
1

.
25
100
69375,0003
5

M 1

0.009609600.00036036

0.000360360.00151351

10 5 10 0 sin 120

0
10 0

0
0

b ml sin

x 0

0

0
0

mgl sin 5 9,8 10 sin 120


0

-424.35245

F 0

0 0

x
M 1C M 1G M 1 F

- 0.15292

- 0.64226

Berikut hasil dari nilai Uji coba matrik, pada proses ini ditampilkan nilai dari
matrik invers M, nilai dari matrik C, nilai dari matrik invers M dikali C, dan hasil dari
Theta double dot:

Gambar 4. Hasil Pengujian Matrik


4.2.

Pengujian Pertama
Pada pengujian pertama ini dilakukan sebuah pengujian terhadat pendalum yang

mendapatkan nilai awal theta 0 dan 180, dari pemasukan nilai parameter tersebut dapat terjadi
bahwa saat nilai theta di berikan 0 dan 180 maka pendalum dalam keadaan tetap dan tidak
bergerak. Berikut gambar dari hasil pengujian:

Gambar 5. Hasil Pengujian Theta = 180

Gambar 6. Hasil Pengujian Theta = 0


4.3.

Pengujian Kedua
Pengujian kedua in dilakukan dengan merubah nilai dari b, semakin besar nilai b

maka akan semakin cepat pendalum akan berhenti, hasil pengujian dapat dilihat pada gambar
dibawah ini:

Gambar 7. Hasil Pengujian b=0

Gambar 7. Hasil Pengujian b=1

Gambar 7. Hasil Pengujian b=10

4.4.

Pengujian Ketiga
Pengujian kedua in dilakukan dengan merubah nilai dari m, semakin besar nilai m

maka akan semakin cepat pendalum akan berhenti, hasil pengujian dapat dilihat pada gambar
dibawah ini:

Gambar 7. Hasil Pengujian m=1

Gambar 7. Hasil Pengujian m=10

Gambar 7. Hasil Pengujian b=50

Anda mungkin juga menyukai