Metode
Runge-Kutta
Persamaan
Diferensial Biasa (PDB) adalah persamaan yang melibatkan satu atau lebih
turunan fungsi satu peubah. Solusi dari PDB adalah fungsi tertentu yang
memenuhi persamaan tersebut. Berikut beberapa contoh PDB :
Penyelesaian PDB dengan metode
deret Taylor tidak praktis karena metode tersebut membutuhkan perhitungan
turunan f(x, y). Lagipula, tidak
semua fungsi mudah dihitung turunannya, terutama bagi fungsi yang bentuknya
rumit. Semakin tinggi orde metode deret Taylor, semakin tinggi turunan fungsi
yang harus dihitung. Karena pertimbangan ini, metode deret Taylor yang berorde
tinggi pun tidak dapat dapat diterima dalam masalah praktek.
Metode Runge-Kutta adalah
alternatif lain dari metode deret Taylor yang tidak membutuhkan perhitungan
turunan. Metode ini berusaha mendapatkan derajat ketelitian yang lebih tinggi,
dan sekaligus menghindarkan keperluan mencari turunan yang lebih tinggi dengan
jalan mengevaluasi fungsi f(x, y) pada titik terpilih dalam setiap
selang langkah [CON80]. Metode Runge-Kutta adalah metode PDB yang paling
popuper karena banyak dipakai dalam praktek.
Bentuk umum metoda Range-Kutta
orde-n ialah:
yr+1 = yr
+ a1k1 + a2k2 + ... + an kn
|
|
dengan a1, a2, ..., an adalah tetapan, dan
k1 = hf (xr , yr)
k2 = hf (xr + p1h,
yr + q11k1)
k3 = hf (xr + p2h,
yr + q21k1 + q22k2)
kn = hf
(xr + pn-1h, yr + qn-1,1 k1 + qn-1,2
k2 + ... + qn-1, n-1 kn-1)
Nilai ai, pi,
qij dipilih sedemikian
rupa sehingga meminimumkan galat per langkah, dan persamaan (P.8.24) akan sama
dengan metode deret Taylor dari orde setinggi mungkin.
Galat per langkah metode Runge-Kutta orde-n : O(hn+1)
Galat longgokan metode Runge-Kutta orde-n : O(hn)
1.
Metode Runge-Kutta
Orde Satu
Metode Runge-Kutta
orde satu berbentuk
|
|
k1 = hf (xr , yr)
|
|
yr+1 = yr + (a1k1)
|
|
Galat per langkah metode R-K orde satu adalah O(h2).
Galat longgokan metode R-K orde satu adalah O(h).
Yang termasuk ke dalam metode Runge-Kutta orde satu ialah metode Euler:
k1 = hf (xr, yr)
yr+1 = yr + k1
(dalam hal ini a1 = 1)
2. Metode Runge-Kutta Orde Dua
Metode Runge-Kutta orde dua
berbentuk
k1
|
=
|
hf (xr, yr)
|
|
k2
|
=
|
hf (xr + p1h, yr + q11k1)
|
|
yr+1
|
= yr + (a1k1 + a2k2)
|
|
Galat per langkah metode Runge-Kutta orde dua adalah O(h3).
Galat longgokan metode Runge-Kutta orde dua adalah O(h2).
Uraikan k2 ke dalam
deret Taylor di sekitar (xr,
yr) sampai suku orde satu
saja:
k2 = hf (xr
+ p1h, yr + q11k1)
= h( f + p1hfx + q11k1 fy )
= h( f + p1hfx + q11hf fy
)
= h( f + h( p1 fx + q11 ffy ))
Sedangkan k1 tidak perlu diuraikan karena sudah berada dalam
bentuk (xr, yr).
Dengan membuat galat per langkah Ep
= 0,
0 = { hfr
+ 1/2 h2(
fx + fr fy)
} - { (a1 + a2) hfr + a2h2( p1 fx
+ q11 fr fy)
}
atau
hf
|
r
|
+ 1/
|
2
|
h2( f
|
x
|
+ f
|
r
|
f ) = (a
|
1
|
+ a
|
) hf
|
r
|
+ a
|
h2( p
|
1
|
f
|
x
|
+ q
|
f f )
|
|
|
|
|
|
y
|
2
|
|
2
|
|
|
|
11 r y
|
|
Agar ruas kiri dan ruas kanannya sama, haruslah
a1 + a2
|
= 1
|
|
a2 p1
|
=
|
½
|
a2 q11
|
=
|
1/2
|
Karena sistem persamaan di atas terdiri atas tiga
persamaan dengan empat peubah yang tidak diketahui, maka solusinya tidak unik,
dengan kata lain, solusinya banyak. Solusi yang unik hanya dapat diperoleh
dengan memberikan sebuah peubah dengan sebuah harga. Misalkan ditentukan nilai a2 = t, t ÃŽR, maka
a1 = 1 – a2 = 1 – t
p1
|
=
|
1
|
|
=
|
1
|
|
||
|
|
|
|
|
|
|||
2a2
|
|
2t
|
||||||
|
|
|
|
|||||
q11
|
=
|
|
1
|
|
=
|
1
|
|
|
|
2a2
|
2t
|
||||||
|
|
|
|
|||||
Karena kita dapat memberikan
sembarang nilai t, berarti metode
Runge-Kutta Orde dua tidak terhingga banyaknya.
Contoh metode Runge-Kutta orde
dua adalah metode Heun, yang dalam hal ini
a2 = 1/2, a1 = 1/2,
p1 = q11 =
1
Dalam bentuk Runge-Kutta orde
2, metode Heun dapat ditulis sebagai
k1 = hf(xr,yr)
k2 = hf(xr + h, yr + k1)
yr+1 = yr + 1/2 (k1 +
k2)
Contoh metode Runge-Kutta orde
dua lainnya ialah metode Ralston, yang dalam hal ini
a2 = 2/3 a1 = 1/3,
p1 = q11 = 3/4
sehingga metode Ralston dapat ditulis dalam bentuk Runge-Kutta orde dua
sebagai
k1
|
=
|
hf (xr, yr)
|
|
|
|
|
|
||
k
|
2
|
=
|
hf (x +
|
3/
|
4
|
h, y + 3/
|
4
|
k
|
)
|
|
|
r
|
|
r
|
1
|
|
|||
yr+1
|
= yr
+ (1/3 k1
+ 2/3 k2)
|
|
|
|
Sepintas, metode Runge-Kutta tampaknya rumit, tapi sebenarnya metode
Runge-Kutta mudah diprogram. Dengan perhitungan tangan, seringnya menghitung f(x,
y) merupakan pekerjaan yang
melelahkan. Tetapi dengan komputer, hal ini tidak menjadi masalah.
Metode Runge-Kutta yang
terkenal dan banyak dipakai dalam praktek adalah metode Runge-Kutta orde tiga
dan metode Runge-Kutta orde empat. Kedua metode tersebut terkenal karena
tingkat ketelitian solusinya tinggi (dibandingkan metode Runge-Kutta orde
sebelumnya, mudah diprogram, dan stabil (akan dijelaskan kemudian).
Metode Runge -Kutta orde tiga berbentuk:
|
k1
|
= hf
(xr, yr)
|
|
|
|
|
|
|
|
|
|||
|
k
|
2
|
= hf
(x + 1/
|
2
|
h, y + 1/ k
|
)
|
|||||||
|
|
r
|
|
|
|
r
|
|
2
|
|
1
|
|
||
|
k3
|
= hf (xr + h, yr - k1 + 2k2)
|
|||||||||||
y
|
r+1
|
= y
+ 1/
|
6
|
( k
|
1
|
+ 4k
|
2
|
+ k
|
)
|
|
|||
|
r
|
|
|
|
|
3
|
|
|
Galat per langkah metode R-K orde tiga adalah O(h4).
Galat longgokan metode R-K orde tiga adalah O(h3).
4. Metode Runge-Kutta Orde Empat
|
|
||||||||||||||||
|
k1
|
=
|
hf (xr, yr)
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
k
|
2
|
=
|
hf (x +
1/
|
2
|
h, y +
|
1/ k
|
)
|
|
|
|||||||
|
|
|
r
|
|
|
r
|
|
|
2
|
1
|
|
|
|
||||
|
k3 = hf (xr + 1/2
h, yr + 1/2 k2)
|
|
|
||||||||||||||
|
k4
|
= hf
(xr + h, yr
+ k3)
|
|
|
|
|
|
|
|||||||||
y
|
r+1
|
=
|
y + 1/
|
6
|
(k
|
1
|
+ 2k
|
2
|
+ 2k
|
3
|
+ k
|
)
|
|
||||
|
|
r
|
|
|
|
|
|
|
4
|
|
|
Galat per langkah metode Runge-Kutta orde empat adalah O(h3).
Galat longgokan metode Runge-Kutta orde empat adalah O(h2).
Metode Runge-Kutta orde yang
lebih tinggi tentu memberikan solusi yang semakin teliti. Tetapi ketelitian ini
harus dibayar dengan jumlah komputasi yang semakin banyak. Jadi ada
timbal-balik (trade-off) dalam
memilih suatu metode Runge-Kutta.