Anda di halaman 1dari 20

1

8. Persamaan Differensial Biasa


(PDB)
Euler, Heun, Runge Kutta 1-4
2
Pendahuluan
Persamaan Differensial :
gabungan dari fungsi yang tidak diketahui dengan turunannya.
Kategori Persamaan Differensial :
PD Biasa :
Persamaan Differensial yang hanya memiliki satu variabel bebas.
Berdasarkan turunan tertinggi yang dimiliki, PDB dikategorikan
menjadi :
PDB Orde 1 : turunan tertingginya adalah turunan pertama
PDB Orde 2 : turunan kedua merupakan turunan tertinggi
PDB Orde 3 : turunan ketiga merupakan turunan tertingginya.
Dan seterusnya
PD Parsial
Persamaan Differensial yang memiliki lebih dari satu variabel
bebas.
3
Pendahuluan Cont.
Contoh Persamaan :

y x
dx
dy
+ =
Turunan dilambangkan dengan : dy/dx atau f(x) atau y,
sedangkan fungsi yang tidak diketahui dilambangkan
dengan keberadaan variabel terikatnya.
seperti contoh di atas, maka :
Turunan dilambangkan dengan dy/dx dan fungsi yang tidak
diketahui diwakili dengan variabel y.
4
Pendahuluan Cont.
2 2
' y x y + =
Kategorikan : (PD / bukan PD / PDP / PDB ?)
0 2
2
= + y y x
dx
dy
) 2 ( 3 ) ( ' ' ' x Sin y x Cos y y = +
' ' 1 ' 2 ' ' ' 2 y y y =
2
2
2
2
2
) 1 ( ) ( 3
y
u
x
x
u
t x Sin
t
u
c
c
+ +
c
c
+ + =
c
c
4 ) ( '
2
= x x x f
) ( ; 17 3 '
5 3
t f y t t y = + =

1.
PDB orde 1
2.
PDP
3.
Bukan PD
4.
PDB orde 2
5.
PDB orde 3
6.
Bukan PD
7.
PDP
8.
PDB orde 1
y x
xye
y
u
x
u
+
=
c
c
+
c
c
6
2
2
2
2
5
Pendahuluan (Cont.)
Solusi PDB :
solusi analitik : salah satunya dengan teknik integral
solusi numerik : menggunakan metode hampiran.
Solusi Numerik :
mencari nilai fungsi di x
r+1
, dimana r menunjukkan
jumlah langkah atau iterasi.
Langkah/iterasi memiliki jarak yang sama (h)
x
r
= x
0
+rh; r = 0,1,2,,n



6
PDB Orde Satu
Bentuk baku PDB orde satu :

Contoh :



Metode penyelesaian :
Euler
Heun
Runge Kutta

) , ( ' ) ( ' y x f y x f
dx
dy
= = =
y
x
y
xy y y y y
x
y
xy
xy
y y xy y
+ + = = = +

= = = +
2 ' 1 ) 1 ( ; ' 2
2
100
' 1 ) 0 ( ; 100 ' 2
7
Metode Euler
Bentuk baku :


Penurunan
Deret Taylor : uraikan y(x
r+1
) disekitar x
r



Dipotong sampai orde 3 :


Karena y(x
r
) = f(x
r
,y
r
) dan x
r+1
-x
r
= h, maka :
rh x x
x y y
y x y y x f y x f
dx
dy
r
r r
+ =
=
= = = =
0
0 0
) (
) ( ); , ( ' ) ( '
... ) ( ' '
! 2
) (
) ( '
! 1
) (
) ( ) (
2
1 1
1
+

+ =
+ +
+ r
r r
r
r r
r r
x y
x x
x y
x x
x y x y
1
2
1 1
1
); ( ' '
! 2
) (
) ( '
! 1
) (
) ( ) (
+
+ +
+
s s

+ =
r r
r r
r
r r
r r
x t x t y
x x
x y
x x
x y x y
n r h O y x hf x y x y
r r r r
,..., 2 , 1 , 0 ); ( ) , ( ) ( ) (
2
1
= + + ~
+
8
Metode Euler (Cont.)
Penurunan secara geometris :
f(x,y) adalah persamaan differensial yang dapat
digambarkan sebagai gradien garis singgung di titik
(x,y).
Garis singgung ditarik menyinggung titik (x
0
,y
0
) untuk
menemukan nilai y(x
1
), pada titik (x
1
,y
1
) ditarik lagi
garis yang menyinggung titik tersebut dengan fungsi
f(x,y) untuk mendapatkan f(x
2
) dan seterusnya.
9
0
1
2
3
4
5
6
7
8
0 0.5 1 1.5 2 2.5 3 3.5 4
y(x)
dy/dx
(x1,y1)
(x0,y0)
(x2,y2)
(x3,y3)
(x4,y4)
(x5,y5)
(x6,y6)
(x7,y7) (x8,y8)
Metode Euler (Cont.)
10
0
1
2
3
4
5
6
7
0 0.5 1
y(x)
yr
Yr+1
sejati
Yr+1
hampiran
Yr
sejati
A
B
C
galat
h
) , (
) , (
) , ( ) ( '
1
1
1
r r r r
r r r r
r r
r r r
y x hf y y
y y y x hf
h
y y
AB
BC
x
y
y x f x y m
+ =
=

= =
A
A
= = =
+
+
+
Metode Euler (Cont.)
11
Metode Euler (Cont.)
Galat
Galat Pemotongan


sebanding dengan kuadrat ukuran langkah
Galat Kumulatif
) ( ) ( ' '
2
1
2 2
h O t y h Ep = ~
) (
2
) ( ' ' ) (
) ( ' '
2
) (
) ( ' '
2
) ( ' '
2
1
2
2
2
1
h O
t hy a b
t y h
h
a b
y y
nh
t y h E
n
r
kumulatif
=

= = ~

=
12
Metode Euler (Cont.)
Contoh Soal :
1. dy/dx =x + y ; y(0) = 0
Berapa y(0.1) dengan langkah h = 0.02 dan h = 0.05
jika diketahui fungsi asli adalah y(x) = e
x
-x-1, langkah mana yang lebih teliti ?

h = 0.05
x = 0 y(0) = 0
x = 0.05 y(0.05) = 0 + 0.05(0+0) = 0
x = 0.1 y(0.1) = 0 + 0.05(0.05+0) = 0.0025
h = 0.02
x = 0 y(0) = 0
x = 0.02 y(0.02) = 0 + 0.02(0+0) = 0
x = 0.04 y(0.04) = 0 + 0.02(0.02+0) = 0.0004
x = 0.06 y(0.06) = 0.004 +0.02(0.04+0.004) = 0.001208
x = 0.08 y(0.08) = 0.001208 +0.02(0.06+0.001208) = 0.00243216
x = 1 y(0.1) = 0.00243216 + 0.02(0.08+0.00243216) = 0.0040808032
y(0.1) = e
0.1
-0.1-1 =


Langkah h = 0.02 lebih teliti
0.00517091807564762
13
Metode Heun
Merupakan perbaikan metode Euler.
Solusi Euler dijadikan solusi perkiraan awal
dan diperbaiki dengan metode Heun.
Perbaikan gradien yang digunakan
merupakan rata-rata gradien dari 2 titik yang
ada.
14
Metode Heun (Cont.)
Dari satu titik awal (xr,yr), iterasi dan
gradien didapatkan perkiraan nilai
y(xr+1) selanjutnya (xr+1,yr+1)
beserta gradiennya.
Dari dua gradien yang ada dicari
rata-ratanya kemudian digunakan
untuk menghitung kembali nilai
y(xr+1).
Misal :
Awal iterasi dimiliki (x0,y0) dan
f(x0,y0)
Kemudian digunakan untuk
menghitung y(x1) dan didapatkan
f(x1,y1)
Hitung kembali y(x1) dengan gradien
(f(x0,y0)+f(x1,y1)/2
) , (
)) , ( ) , ( (
2
1
, (
) , ( ); , (
) , (
) , ( ); , (
1
0
1 1 )
0
1 1
0
1 1
0
1
r r r r
r r r r r r
r r r r
r r r r
r r r r
y x f h y y
y x f y x f y x f
y x f y x
y x hf y y
y x f y x
+ =
+ =
+ =
+
+ +
+ + + +
+
15
Metode Heun (Cont.)
Secara geometris :
0
1
2
3
4
5
6
7
0 0.5 1
y(x)
yr_euler
yr_heun
f(xr,yr) f(xr+1,yr+1)
frat(xr,yr)
(xr,yr)
(xr+1,yr+1)
16
Metode Runge Kutta
Bentuk umum Runge Kutta Orde n:
y
r+1
= y
r
+ a
1
k
1
+ a
2
k
2
+ + a
n
k
n
Dengan a
1
,a
2
,a
3
, ,a
n
adalah konstanta
k
1
= hf(x
r
,y
r
)
k
2
= h(f(x
r
+p
1
h, y
r
+q
11
k
1
)
k
3
= h(f(x
r
+p
2
h,y
r
+q
21
k
1
+q
22
k
2
)
k
4
= h(f(x
r
+p
3
h,y
r
+q
31
k
1
+q
32
k
2
+q
33
k
3
)

k
n
= h(x
r
+p
n-1
h,y
r
+q
n-1,1
k
1
+q
n-1,2
++q
n-1,n-1
k
n-1
)
Galat
Per langkah Runge Kuta orde n : O(h
n+1
)
Kumulatif orde-n :O(h
n
)
17
Orde 1
k
1
= hf(x
r
,y
r
)
y
r+1
= y
r
+ a
1
k
1
; a1 = 1
y
r+1
= y
r
+ hf(x
r
,y
r
) Rumus Euler
Galat :
Per langkah : O(h
2
)
Kumulatif : O(h)
Metode Runge Kutta (Cont. )
18
Orde 2
k
1
= hf(x
r
,y
r
)
k
2
= h(f(x
r
+p
1
h, y
r
+q
11
k
1
)
y
r+1
= y
r
+ a
1
k
1
+ a
2
k
2
Dengan penurunan rumus yang sudah ada didapatkan :
a
1
= 1-a
2
= 1-t
p
1
= 1/(2a
2
) = 1/(2t)
q
11
= 1/(2a
2
) = 1/(2t)
Artinya ada tak berhingga formula orde dua.

Dengan a
1
=a
2
= , p
1
= 1
y
r+1
= y
r
+ (k
1
+ k
2
) Metode Heun


Metode Runge Kutta (Cont. )
19
Orde 3
k
1
= hf(x
r
,y
r
)
k
2
= h(f(x
r
+p
1
h, y
r
+q
11
k
1
)
k
3
= h(f(x
r
+p
2
h,y
r
+q
21
k
1
+q
22
k
2
)
y
r+1
= y
r
+ a
1
k
1
+ a
2
k
2
+ a
3
k
3

dengan menggunakan penurunan rumus yang ada didapatkan :
k
1
= hf(x
r
,y
r
)
k
2
= h(f(x
r
+1/2 h, y
r
+1/2 k
1
)
k
3
= h(f(x
r
+h,y
r
-k
1
+2k
2
)
y
r+1
= y
r
+ 1/6( k
1
+ 4k
2
+ k
3
)



Metode Runge Kutta (Cont. )
20
Orde 4
k
1
= hf(x
r
,y
r
)
k
2
= h(f(x
r
+p
1
h, y
r
+q
11
k
1
)
k
3
= h(f(x
r
+p
2
h,y
r
+q
21
k
1
+q
22
k
2
)
k
4
= h(f(x
r
+p
3
h,y
r
+q
31
k
1
+q
32
k
2
+q
33
k
3
)
y
r+1
= y
r
+ a
1
k
1
+ a
2
k
2
+ a
3
k
3
+ a
4
k
4

dengan menggunakan penurunan rumus yang ada didapatkan :
k
1
= hf(x
r
,y
r
)
k
2
= h(f(x
r
+1/2 h, y
r
+1/2 k
1
)
k
3
= h(f(x
r
+1/2h,y
r
+2k
2
)
k
4
= h(f(xr+h,y
r
+k3)
y
r+1
= y
r
+ 1/6( k
1
+ 2k
2
+ 2k
3
+ k
4
)


Metode Runge Kutta (Cont. )