Flowchart & Algoritma Runge Kutta
-
Upload
sylvia-yemita -
Category
Documents
-
view
243 -
download
115
description
Transcript of Flowchart & Algoritma Runge Kutta
Input :a, b, X0, Y0, Z0, U0
START
Hitung nilai ∆X :∆X = b-a/N
Inputkan rumus seperti yang terdapat pada algoritma untuk mencari K1, L1, M1, K2, L2, M2, K3, L3, M3, K4, L4, M4
Hitung :Xn+1, Yn+1, Zn+1, Un+1
dengan menggunakan rumus yang terdapat pada algoritma
Hasil keluaran :didapat hasil Xn+1, Yn+1, Zn+1, Un+1 yang baru, yang nantinya digunakan untuk iterasi berikutnya.
Jika Xn+1 ≥ b
STOP (FINISH)
Flowchart Runge Kutta
Algoritma Metode Runge Kutta adalah sebagai berikut:
(1) Masukkan persamaan :d3 y
dx3+2 x2 √ d2 y
dx2+e
−dydx + y √x=e−x
Kemudian manipulasi dengan memisalkan dy/dx = z, sehingga didapat
persamaan :
d2 zdx2 +2x2 √ dzdx +e−z+ y √ x=e−x
Kemudian misalkan kembali dengan dz/du = u, sehingga didapat persamaan :
dudx
+2x2 √u+e−z+ y √ x=e− x
(2) PD simultan yang didapat dari persamaan tersebut adalah :
dy/dx = z
dz/dx = u
dudx
=e− x−2x2 √u−e− z− y √ x
(3) Masukkan kondisi batas : X0 = 0,5 ; Y0 = 1 ; Z0 = 0,8 ; U0 = 1 dengan N=5 ;
∆X = 0,1 (di mana ∆X didapat dari h = (b-a)/N sehingga h = (1-0,5)/5 = 0,1).
(4) Hitung nilai K1, L1, M1, K2, L2, M2, K3, L3, M3, K4, L4, M4, Xn+1, Yn+1, Zn+1, Un+1
dengan menggunakan rumus di bawah ini :
K1 = F1(Xn, Yn, Zn, Un)∆X
L1 = F2(Xn, Yn, Zn, Un)∆X
M1 = F3(Xn, Yn, Zn, Un)∆X
K2 = F1(Xn + ∆X/2, Yn + K1/2, Zn + L1/2, Un + M1/2)∆X
L2 = F2(Xn + ∆X/2, Yn + K1/2, Zn + L1/2, Un + M1/2)∆X
M2 = F3(Xn + ∆X/2, Yn + K1/2, Zn + L1/2, Un + M1/2)∆X
K3 = F1(Xn + ∆X/2, Yn + K2/2, Zn + L2/2, Un + M2/2)∆X
L3 = F2(Xn + ∆X/2, Yn + K2/2, Zn + L2/2, Un + M2/2)∆X
M3 = F3(Xn + ∆X/2, Yn + K2/2, Zn + L2/2, Un + M2/2)∆X
K4 = F1(Xn + ∆X, Yn + K3, Zn + L3, Un + M3)∆X
L4 = F2(Xn + ∆X, Yn + K3, Zn + L3, Un + M3)∆X
M4 = F3(Xn + ∆X, Yn + K3, Zn + L3, Un + M3)∆X
Xn+1 = Xn + ∆X
Yn+1 = Yn + 1/6(K1 + 2K2 + 2K3 + K4)
Zn+1 = Zn + 1/6(L1 + 2L2 + 2L3 + L4)
Un+1 = Un + 1/6(M1 + 2M2 + 2M3 + M4)
(5) Didapat nilai Xn+1, Yn+1, Zn+1, Un+1 yang baru, iterasi dihentikan jika Xn+1 ≥ b.
Jika tidak, maka lakukan lagi iterasi dengan mengikuti langkah (3)-(5).
Hingga nilai Xn+1 ≥ b baru iterasi dihentikan, selesai.