Anda di halaman 1dari 11

LABORATORIUM KOMPUTER TEKNIK KIMIA

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR


Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

MODUL VIII

Judul Percobaan : Metode Runge Kutta


Tujuan Percobaan : Memahami Metode Runge Kutta Order 2, 3 dan 4
Teori Percobaan :

A. Metode Runge Kutta


Setelah proses perhitungan, dapat kita ketahui bahwa metode Euler memiliki ketelitian
yang kurang jika dilihat dari persen kesalahan yang didapatkan. Untuk mendapatkan hasil
yang teliti diperlukan perhitunga suku yang lebih banyak dari deret Taylor atau dengan
menggunakan interval ∆x yang kecil. Kedua cara tersebut tidak menguntungkan.
Perhitungan suku yang lebih banyak memerlukan turunan yang lebih tinggi fari fungsi
y(x) , sedankan penggunaan ∆x memerlukan waktu perhitungan yang panjang.
Metode Runge Kutta memberikan solusi dengan ketelitian hasil yang lebih besar dan
tidak memerlukan turunan dari fungsi. Bentuk umum dari metode Runge Kutta adalah
sebagai berikut:
y i+1 = y i+ ϕ ( x i , y i , Δ x ) Δ x (4.9)
dengan ϕ ( x i , y i , Δ x )adalah fungsi pertambahan yang merupakan kemiringan rerata pada
interval. Fungsi pertambahan dapat dirulis dalam bentuk umum:
ϕ= a 1 k 1 +a 2 k 2+ .. . .. . .. . . .+ an k n (4.10)
dengan a adalah konstanta dan k adalah:
k 1=f ( x i , y i ) (a)
k 2=f ( x i + p1 Δ x , y i +q11 k 1 Δ x ) (b)
k 3=f ( x i + p2 Δ x , y i +q 21 k 1 Δ x+ q22 k 2 Δ x ) (c)
.
.
k n=f ( x i + pn−1 Δ x , y i +q n−1,1 k 1 Δ x +q n−1,2 k 2 Δ x+. . . .. . .+qn −1 , n−1 k n−1 Δ x ) (d)
Persamaan tersebut m enunjukkan bahwa nilai k memiliki hubungan berurutan. Nilai
dari k1 muncul dalam perhitungan unruk menghitung k2, yang juga muncul dalam
oerhitungan untuk menghitung k3, dan seterusnya. Hubungan yang berurutan ini membuat
runge kutta lebih efisien dalam perhitungan.

Praktikum Matematika Teknik


Metode Runge Kutta 1
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

Ada beberapa jenis metode runge kutta yang tergantung pada nilai n yang digunakan.
Untuk n=1 yang disebut runge kutta orde 1, persamaan (4.10) menjadi:
ϕ=a1 k 1=a1 f ( x i , y i )
Untuk a1=1 maka persamaan (4.9) menjadi:
y i+1 = y i+ f ( x i , y i ) Δ x
yang sama dengan metode Euler
Didalam metode Runge Kutta, setelah nilai n ditentukan, kemudian nilai a, p, dan q dicari
dengan menyamakan persamaan (4.19) dengan suku-suku dari deret Taylor.

A.1. Metode Runge Kutta Order 2


Metode Runge Kutta order 2 mempunyai bentuk:
yi+1 = yi + (a1k1 + a2k2 ) ∆x (4.20.a)
dengan:
k1 = f ( xi, yi ) (4.20.b)
k2 = f ( xi + p1∆x, yi + q11 k1∆x ) (4.20.c)
Nilai a1, a2, p1, dan q11 dievaluasi dengan menggunakan persamaan (4.20.a) dengan
deret Taylor order 2, yaitu mempunyai bentuk:
∆x
yi+1 = yi + f (xi, yi) ∆x + f’ (xi, yi) (4.21)
2
dengan f (xi, yi) dapat ditentukan dari hukum berantai (chain rules) berikut:
∂ f ∂ f dy
f (xi, yi) = + (4.22)
∂ x ∂ x dx
Subsitusi persamaan (4.22) ke dalam Persamaan (4.21) menghasilkan:
∂ f ∂ f dy ∆ x
yi+1 = yi + f (xi, yi) ∆x + ( + ¿ (4.24)
∂ x ∂ x dx 2
Di dalam metode Runge-Kutta ini dicari nilai a1, a2, p1, dan q11 sedemikian sehingga
Persamaan (7.22.a) ekivalen dengan Persamaan (4.23). untuk itu digunakan deret
Taylor untuk menggabungkan Persamaan (4.20.c). Deret Taylor untuk fungsi dengan
dua variabel mempunyai bentuk:
∂f ∂f
g ( x + r, y + s) = g (x, y ) + r +s + .....
∂x ∂x
Dengan cara tersebut Persamaan (4.20.c) dapat ditulis dalam bentuk :

Praktikum Matematika Teknik


Metode Runge Kutta 2
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

∂f ∂f
f (xi + p1∆x, yi + q11k1∆x) = f (xi, yi) + p1 ∆x +∆ x +q 11k 1 + 0 (∆x2)
∂x ∂y
Bentuk di atas dan Persamaan (4.20.b) disubsitusikan ke dalam Persamaan (4.20.a)
sehingga menjadi:
∂f ∂f
yi+1 = yi + a1∆x f (xi, yi) + a2 ∆x f (xi, yi) + a2 p1 ∆x2 + a2q11 ∆x2 f (xi, yi) + 0 (∆x3)
∂x ∂x
atau
∂f ∂f
yi+1 = yi + [a1f (xi, yi) + a2 f (xi, yi)] ∆x + [a2 p1 2 + a2q11 f (xi, yi) ] ∆x2 + 0 (∆x3) (7.26)
∂x ∂x
Dengan membandingkan Persamaan (4.23) dan (4.24), dapat disimpulkan bahwa
kedua persamaan akan ekivalen apabila:
a1 + a2 = 1 (4.25.a)
1
a2 p1 = (4.25.b)
2
1
a2 q11 = (4.25.c)
2
Sistem persamaan diatas terdiri dari tiga persamaan mengandung empat bilangan
tak diketahui, sehingga tidak bisa diselesaikan. Untuk itu salah satu bilangan tak
diketahui ditetapkan, dan kemudian dicari ketiga bilangan yang lain. Dianggap bahwa
a2 ditetapkan, sehingga persamaan (4.20.a) sampai (4.20.c) dapat diselesaikan
dihasilkan :
a1 = 1- a2 (4.26.a)
1
p1 = q11 = (4.26.b)
2 a2
Karena nilai a2 dapat dipilih sembarang maka akan terdapat banyak metode Runge-
Kutta oder 2. Dalam sub bab ini akan diberikan tiga metode yang sering digunakan.

a. Metode Heun
Apabila a2 dianggap ½ maka Persamaan (4.26.a) dan (4.26.b) dapat diselesaikan dan
diperoleh:
1
a1 =
2
p1 = q11 = 1

Praktikum Matematika Teknik


Metode Runge Kutta 3
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

Paramter tersebut apabila disubsitusika ke dalam Persamaan (4.20.a) akan


menghasilkan:
1 1
yi+1 = yi + ( k1 + k2 ) ∆x
2 2
dengan
k1 = f (xi, yi)
k2 = f (xi + ∆x , yi + k1 ∆x)
dimana k1 adalah kemiringan fungsi pada awal interval dan k2 adalah kemiringan
fungsi pada akhir interval. Dengan demikian metode Rungke-Kutta oreder 2 adalah
sama dengan metode Heun.
Tugas !
Buatlah program kesalahan metode Heun.

b. Metode Poligon (a2 = 1)


Apabila a2 dianggap 1/2 , maka persamaan (4.26.a) dan (4.26.b) dapat diselesaikan
dan diperoleh:
a1 = 0
p1 = q11 = ½
parameter tersebut apabila disubstitusikan ke dalam persamaan (4.20.a) akan
menghasilkan:
yi+1 = yi + k2 ∆x
dengan
k1 = f (xi, yi)
1 1
k2 = f (xi + ∆x , yi + k1 ∆x)
2 2
Tugas !
Buatlah program kesalahan metode poligon

c. Metode Ralston
Dengan memilih a2 = 2/3 akan menghasilkan kesalahan pemotongan minimum untuk
metode Runge-Kutta order 2. Dengan a2 = 2/3 didapat:
a1 = 1/3
p1 = q11 = ¾
Praktikum Matematika Teknik
Metode Runge Kutta 4
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

sehingga:
1 2
yi+1 = yi + ( k1 + k2 ) ∆x (4.29 a)
3 3
dengan:
k1 = f (xi, yi) (4.29 b)
3 3
k2 = f (xi + ∆x , yi + k1 ∆x) (4.29 c)
4 4
Contoh 3
Selesaikan persamaan differensial berikut dengan metode Ralston!
dy
= -2x3 + 12x2 – 20x + 8,5
dx
Dari x = 0 sampai x =4 dengan menggunakan langkah ∆ x = 0,5. Kondisi awal pada
x = 0 adalah y = 1
Penyelesaian:
Langkah pertama adalah menghitung k1 dan k2 dengan menggunakan Persamaan
(4.29.b) dan (4.29.c)
k1 = f (xo, yo) = -2(0)3 + 12(0)2 – 20) + 8,5 = 8,5
3 3
k2 = f (xi + ∆x , yi + k1 ∆x) = f (0,375 ; 14,875)
4 4
= -2(0,375)3 + 12(0,375)2 – 20,375) + 8,5 = 2,58203125
Kemiringan rerata adalah:
1 2
φ= (8,5) + (2,58203125) = 4,5546875
3 3
Nilai y(0,5) dihitung dengan Persamaan (4.29.a)
y(0,5) = yo + φ ∆x
= 1 + 4,5546875(0,5) = 3,27734375
Tugas !
Buatlah program kesalahan metode Ralston.

A.2. Metode Runge Kutta Order 3


Metode runge kutta order 3 diturunkan dengan cara yang sama dengan runge kutta
order 2 untuk nilai n=3 . Hasilnya adalah 6 persamaan denga 8 bilangan tidak diketahui

Praktikum Matematika Teknik


Metode Runge Kutta 5
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

oleh Karena itu 2 bilangan tidak diketahui harus ditetapkan untuk mendapatkan 6
bilangan tak diketahui lainnya. Hasil yang biasa digunakan adalah:
1
y i+1 = y i+ (k 1+ 4 k 2+ k 3) Δ x (4.30)
6
Dengan:
k 1=f ( x i , y i ) (a)
1 1
(
k 2=f xi + Δ x , y i+ Δ x k 1
2 2 ) (b)

k 3=f ( x i + Δ x , yi −Δ x k 1 +2 Δ x k 2) (c)

Contoh 4:
Selesaikan persamaan berikut dengan menggunakan metode Runge Kutta order 3:
dy
=−2 x3 +12 x 2−20 x+ 8,5
dx
dari x=0 sampai x=4 dengan menggunakan langkah Δ x=0.5 , kondisi awal pada x=0
dan y= 1
Penyelesaian:
Langkah pertama dalam metode runge kutta order 3 adalah menghitung k1, k2, dan k3
k 1=−2 ( 0 )3+ 12 ( 0 )2−20 ( 0 ) +8,5=8,5
k 2=−2 ( 0.25 )3+ 12 ( 0.25 )2 −20 ( 0.25 )+ 8,5=4,21875
k 3=−2 ( 0.5 )3 +12 ( 0.5 )2−20 ( 0.5 ) +8,5=1,25
Dengan persamaan (4.xx) menghitung nilai y(x):
1
y ( 0,5 )=1+ [ 6 ]
( 8,5+ 4 ( 4,21875 ) +1,25 ) 0,5 = 3,21875

Dan seterusnya hingga y(4) ketemu.

Tugas !
Buatlah program kesalahan metode Runge Kutta order 3.

A.3. Metode Runge Kutta order 4


Metode Runge Kutta order 4 banyak digunakan Karena memiliki ketelitian yang tinggi.
Bentuk umum dari metode inu adalah:

Praktikum Matematika Teknik


Metode Runge Kutta 6
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

1
y i+1 = y i+ ( k 1+ 2k 2+2 k 3+ k 4 ) Δ x (4.31)
6
Dengan
k 1=f ( x i , y i ) (a)
1 1
( 2 2 )
k 2=f xi + Δ x , y i+ Δ x k 1 (b)

1 1
k =f ( x + Δ x , y + Δ x k )
3 i i 2 (c)
2 2
k 3=f ( x i + Δ x , yi Δ x k 3 ) (d)

Contoh 5:
Selesaikan persamaan berikut dengan menggunakan metode Runge Kutta order 4:
dy
=−2 x3 +12 x 2−20 x+ 8,5
dx
dari x=0 sampai x=4 menggunakan langkah Δ x=0.5, kondisi awal pada x=0 dan y= 1
Penyelesaian:
Langkah pertama dalam metode runge kutta order 3 adalah menghitung k1, k2, k3, dan k4
k 1=−2 ( 0 )3+ 12 ( 0 )2−20 ( 0 ) +8,5=8,5
k 2=−2 ( 0.25 )3+ 12 ( 0.25 )2 −20 ( 0.25 )+ 8,5=4,21875
k 3=−2 ( 0.25 )3 +12 ( 0.25 )2−20 ( 0.25 ) +8,5=4,21875
k 4=−2 ( 0.5 )3 +12 ( 0.5 )2−20 ( 0.5 ) +8,5=1,25
Dengan menggunakan persamaan (4.xx), hitung nilai y(x):
1
y ( 0,5 )=1+ [ 6 ]
( 8,5+2 ( 4,21875 ) +2 ( 4,21875 )+1,25 ) 0,5 = 3,21875

Dan seterusnya hingga y(4) ketemu.

Contoh Program:
Pada Matlab:
clear all;
clc;
Praktikum Matematika Teknik
Metode Runge Kutta 7
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

syms x;
syms y;
disp ('Program Metode Runge Kutta Orde-4');
f=input(‘masukan persamaan=’);
xa=input('masukkan nilai x=');
ya=input('masukkan nilai y=');
h=input('delta x=');
batas=input('batas x=');
disp('x y k1 k2 k3 k4');
u=xa;
for cam=xa:h:batas
k1= subs (f,{x,y},{xa,ya});
x2=xa+(1/2*h);
y2=ya+((1/2)*k1*h);
k2=subs(f,{x,y},{x2,y2});
y3=ya+((1/2)*k2*h);
k3=subs(f,{x,y},{x2,y3});
x4=xa+h;
y4=ya+(k3*h);
k4=subs(f,{x,y},{x4,y4});
yb=ya+((h/6)*(k1+(2*k2)+(2*k3)+k4));
xa=x4;
ya=yb;
disp([xa' ya' k1' k2' k3' k4]);
end;

Pada Pascal :
program metode_runge_kutta;
uses crt;
var
xa,ya,h,batas,u,k1,k2,k3,k4,x2,x3,x4,y2,y3,y4,yb:real;
function persamaan(x,y:real):real;
var pers:real;
begin
pers:=(-2*x*x*x)+(12*x*x)-(20*x)+8,5;
persamaan:=pers;
end;
begin
clrscr;
writeln('---------------------------------------------');
writeln(' PROGRAM METODE RUNGE KUTTA');
writeln('---------------------------------------------');
writeln('Selesaikan persamaan berikut : (-2x^3)+(12x^2)-(20x)
+8,5');
writeln('---------------------------------------------');
write('Masukkan Nilai x = ');readln(xa);
write('Masukkan Nilai y = ');readln(ya);
write('Delta x = ');readln(h);
write('Batas x = ');readln(batas);
writeln('---------------------------------------------');
writeln(' x y k1 k2 k3 k4');
writeln('---------------------------------------------');
Praktikum Matematika Teknik
Metode Runge Kutta 8
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

xa:=xa;
repeat
xa:=xa;
k1:=persamaan(xa,ya);
x2:=xa+(1/2*h);
y2:=ya+((1/2)*k1*h);
k2:=persamaan(x2,y2);
x3:=xa+(1/2*h);
y3:=ya+((1/2)*k2*h);
k3:=persamaan(x3,y3);
x4:=xa+h;
y4:=ya+(k3*h);
k4:=persamaan(x4,y4);
yb:=ya+((h/6)*(k1+(2*k2)+(2*k3)+k4));
xa:=x4;
ya:=yb;
writeln(xa:5:2,ya:10:2,k1:10:2,k2:10:2,k3:10:2,k4:10:2);
until (xa=batas);
readln;
end.

Praktikum Matematika Teknik


Metode Runge Kutta 9
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

Tugas !
Perhatikan algoritma berikut:

Buatlah program menggunakan Bahasa pascal dan menggunakan aplikasi MATLAB


penyelesaian dengan berbagai metode (Euler, Heun, Poligon, Ralston, Runge-Kutta Orde
3, Runge-Kutta Orde 4) lalu bandingkanlah persen kesalahan masing masing metode, dan
berikan kesimpulan metode mana yang menurutmu lebih mudah dan memberikan persen
kesalahan kecil, beserta alasannya.

Praktikum Matematika Teknik


Metode Runge Kutta 10
LABORATORIUM KOMPUTER TEKNIK KIMIA
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Sekertariat: Giri Reka I, Jl. Raya Rungkut Madya Gunung Anyar, Surabaya, Jawa Timur - 60294
Homepage : www.labkomtk.blogspot.com E-mail : labkom.tk@gmail.com

Daftar Pustaka

Away, Gunaidi Abdia. 2014. “The Shortcut of MATLAB Programming”. Informatika


Bandung: Bandung.

Munir, Rinaldi. 2015. “Metode Numerik”. Penerbit Informatika: Bandung.

Triatmojo, Bambang. 2010. ”Metode Numerik”. Beta Offset: Yogyakarta.

Praktikum Matematika Teknik


Metode Runge Kutta 11

Anda mungkin juga menyukai