Anda di halaman 1dari 38

PENYELESAIAN PERSAMAAN

DIFERENSIAL BIASA
MENGGUNAKAN PENDEKATAN
NUMERIS
MOTIVASI
y
y=f (x)

gradien f(xn-1,yn-1)

x0 x1 x2 x3  xn-1 xn x
PENYELESAIAN ANALITIK ATAU EKSAK
Dibahas pada matakuliah Persamaan Diferensial Biasa semester 4.
Ingat kembali tentang: PD orde satu linear, PD eksak, PD Bernoulli, PD
orde dua dengan koefisien konstan, metode koefisien tak tentu,
metode separasi/ pemisahan variable.
Yang dilakukan sekarang adalah penyelesaian numerik dari suatu
persamaan diferensial biasa. Prinsipnya adalah pada suatu titik
diketahui kemiringannya, lalu penyelesaiannya seperti apa?
METODE
Metode Euler
Metode Euler yang dimodifikasi (Metode Heun)
Metode Runge Kutta
METODE EULER
Menentukan penyelesaian persamaan differensial melalui taksiran/
perkiraan langsung dari slope xi / kemiringan atau turunan
pertamanya.

y i +1 = y i + f (x i , y i )h
𝑑𝑦
Perkenalkan notasi baru : 𝑓 𝑥, 𝑦 =
𝑑𝑥

𝑦𝑖+1 = 𝑦𝑖 + 𝑓′ 𝑥𝑖 ℎ
Berdasarkan tafsiran geometri pada Gambar di atas, kita juga
dapat menurunkan metode Euler. Tinjau Gambar di bawah ini.
Gradien (m) garis singgung di xr adalah
y
y(x)
yr+1 sejati

yr+1 B
yr A
C

xr xr+1 x

y BC y r +1 − y r
m = y '(xr) = f(xr, yr) = = =
x AC h
 yr+1 = yr + hf(xr, yr)

yang tidak lain adalah persamaan metode Euler.


CONTOH:
𝑑𝑦
Selesaikan persamaan differensial =𝑥 𝑦
𝑑𝑥
1
pada interval x = 0 sampai x = 1, ℎ = . Pada saat x = 0, nilai y =
4
1. Hitung kesalahan sebenarnya!
PENYELESAIAN:
Untuk x = 0 bersesuaian dengan y = 1
Untuk x = 0,25
yi+1 = yi + f(xi, yi).h
= 1 + f(0,1).0,25
= 1 + 0. 1. 0,25
=1
Untuk x = 0,5
yi+1 = yi + f(xi, yi).h
= 1 + f(0,25;1).0,25
= 1 + 0,25. 1. 0,25
= 1,0625
Untuk x = 0,75
yi+1 = yi + f(xi, yi).h
= 1,0625 + f(0,5;1,0625).0,25
= 1,0625 + 0,5. 1,0625. 0,25
= 1,1914
Untuk x = 1
yi+1 = yi + f(xi, yi).h
= 1,1914 + f(0,75;1,1914).0,25
= 1,1914 + 0,75. 1,1914. 0,25
= 1,3961
x y
0 1
0,25 1
0,5 1,0625
0,75 1,1914
1 1,3961
PENYELESAIAN ANALITIK
dy
= x y → dy = x y  dx
dx
dy
− x.dx = 0
y
Metode
−1
y 2
 dy − x  dx = 0 Separasi
−1 Variabel
y 2
 dy −  x  dx =  0
1 2
2 y − x =C
2
Masalah Nilai
Pada saat x = 0; y = 1 Awal
1 2
2 1− (0) = C  C = 2
2

Persamaan

1 2
2 y − x =2
2
PENYELESAIAN ANALITIK DI….
Untuk x = 0,25
1
2 y − (0,25) = 2
2

2
2 y = 2,0325
y = 1,015625
y = 1,0315
Untuk x = 0,5

1
2 y − (0,5) = 2
2

2
y = 1,0625
y = 1,1289
DIPEROLEH…..
x yEuler ysebenarnya t
0 1 1 0%
0,25 1 1,0315 3,0538 %
0,5 1,0625 1,1289 5,8818 %
0,75 1,1914 1,3010 8,4243 %
1 1,3961 1,5625 10,6496 %

y Euler − y s ebenarnya
t =  100%
y s ebenarnya
METODE EULER: KELEBIHAN DAN
KEKURANGAN
Metode sangat sederhana sehingga relative mudah dipahami
Error masih cukup tinggi
METODE EULER YANG DIMODIFIKASI
(METODE HEUN)
Untuk memperbaiki Metode Euler, digunakan Metode Heun dengan
cara perbaikan dari perkiraan nilai slopenya.
Perbaikan perkiraan slope tersebut, ditempuh melalui nilai turunan
dari slope-nya pada titik awal. Kemudian mencari turunan slope-nya
pada titik akhir dan nilai tersebut dirata-ratakan.
METODE HEUN: METODE 2 LANGKAH
Langkah-langkah Metode Heun:
1. Mencari slope awal 𝑦 ′ = 𝑓(𝑥𝑖 , 𝑦𝑖 )

2. Slope awal pada no.1 digunakan untuk ekstrapolasi nilai 𝑦 0 𝑖+1


dengan rumus
o
y i +1 = y i + f (x i , y i )  h

Ada prediktor dan ada korektor


3. Persamaan prediktor (𝑦 0 𝑖+1 ) digunakan untuk
mencari slope akhir (sebut dengan 𝑦1 𝑖+1 ), dengan rumus
'
 o

yi +1 = f  xi +1 ; yi +1 
 
4. Mencari slope rata-rata (sebut dengan)

 o

f (x i , y i ) + f  x i +1 , y i +1 
y =  
2
• Slope rata-rata ini yang sebenarnya digunakan untuk mengekstrapolasikan yi ke
yi+1
yi+1 = yi + (slope rata-rata).h

 o

f (x i , y i ) + f  x i +1 , y i +1 
y i +1 = yi +   h
2
CONTOH:
𝑑𝑦
Selesaikan persamaan differensial =𝑥 𝑦
𝑑𝑥
1
pada interval x = 0 sampai x = 1, ℎ = . Pada saat x = 0, nilai y =
4
1. Hitung kesalahan sebenarnya!
BERDASARKAN CONTOH, BUAT TABEL
BERIKUT INI:
x yHeun ysebenarnya t
0 1 1 0%

0,25 1,0313 1,0315 0,01939 %

0,5 1,1284 1,1289 0,0443 %

0,75 1,3001 1,3010 0,06918 %

1 1,5608 1,5625 0,1088 %


KELEBIHAN DAN KEKURANGAN METODE
HEUN
Lebih baik memberikan hasil (daripada metode Euler)
Masih kurang baik memberikan penyelesaian
Perlu metode lain?
METODE RUNGE KUTTA
Penyelesaian PDB dengan metode deret Taylor tidak praktis karena metode
tersebut membutuhkan perhitungan turunan.

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.

Metode Runge-Kutta adalah metode PDB yang paling popuper karena


banyak dipakai dalam praktek.
Bentuk umum metoda Runge-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 di atas akan sama dengan metode deret Taylor dari
orde setinggi mungkin..

Galat per langkah metode Runge-Kutta orde-n: O(hn+1)

Galat metode Runge-Kutta orde-n: O(hn)


Orde metode = n
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 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)
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 metode Runge-Kutta orde dua adalah O(h2).


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)
k2 = hf (xr + 3/4 h, yr + 3/4 k1)
yr+1 = yr + (1/3 k1 + 2/3 k2)
METODE RUNGE KUTTA ORDE TIGA
Metode Runge-Kutta yang terkenal adalah metode Runge-Kutta orde tiga dan
metode Runge-Kutta orde empat.

Metode Runge-Kutta orde tiga berbentuk:

k1 = hf (xr, yr)
k2 = hf (xr + 1/2 h, yr + 1/2 k1)
k3 = hf (xr + h, yr - k1 + 2k2)
yr+1 = yr + 1/6 ( k1 + 4k2 + k3)

Galat per langkah metode R-K orde tiga adalah O(h4).


Galat metode R-K orde tiga adalah O(h3).
function y_RK3(x0, y0, b, h:real):real;

{menghitung y(b) dengan metode Runge-Kutta orde tiga pada PDB

y'=f(x,y); y(x0)=y0

var

r, n: integer;

x, y, k1, k2, k3: real;

begin

n:=(b - x0)/h; {jumlah langkah}

y:=y0; {nilai awal}

x:=x0;

for r:=1 to n do

begin

k1:=h*f(x, y);

k2:=h*f(x + h/2, y + k1/2);

k3:=h*f(x + h, y - k1 + 2*k2);

y:=y + (k1 + 4*k2 + k3)/6 { nilai y(xr) }

x:=x+h; { titik berikutnya}

end;

y_RK3:=y;

end;
METODE RUNGE KUTTA ORDE EMPAT
Metode Runge-Kutta orde empat adalah
k1 = hf (xr, yr)
k2 = hf (xr + 1/2 h, yr + 1/2 k1)
k3 = hf (xr + 1/2 h, yr + 1/2 k2)
k4 = hf (xr + h, yr + k3)
yr+1 = yr + 1/6 (k1 + 2k2 + 2k3 + k4)

Galat per langkah metode Runge-Kutta orde empat adalah O(h5).

Galat metode Runge-Kutta orde empat adalah O(h4).


function y_RK4(x0, y0, b, h:real):real;

{menghitung y(b) dengan metode Runge-Kutta orde empat pada PDB

y'=f(x,y); y(x0)=y0 }

var

r, n: integer;

x, y, k1, k2, k3, k4: real;

begin

n:=(b - x0)/h; {jumlah langkah}

y:=y0; {nilai awal}

x:=x0;

for r:=1 to n do

begin

k1:=h*f(x, y);

k2:=h*f(x + h/2, y + k1/2);

k3:=h*f(x + h/2, y + k2/2);

k4:=h*f(x + h, y + k3);

y:=y + (k1 + 2*k2 + 2*k3 + k4)/6 { nilai y(xr) }

x:=x+h; { titik berikutnya}

end;

y_RK4:=y;

end;
Contoh:
Diketahui PDB
dy
= 1 + y2 ; y(0) = 0
dx

Tentukan y(0.20) dengan metode Runge-Kutta orde tiga. Gunakan ukuran langkah
h = 0.10.

Penyelesaian:
Diketahui
a = x0 = 0
b = 0.20
h = 0.10

maka n = (0.20 - 0)/0.10 = 2 (jumlah langkah


Langkah:
x0 = 0 → y0 = 0
x1 = 0.10 → y1 = ?

k1 = hf(x0, y0) = (0.10) (1 + 02) = 0.10


k2 = hf(x0 + 1/2 h, y0 + 1/2 k1) = (0.10) (1 + 0.052) = 0.10025
k3 = hf(x0 + h, y0 - k1 + 2k2) = (0.10) (1 + 0.10052) = 0.10101
y1 = y0 + 1/6 ( k1 + 4k2 + k3)
= 0 + 1/6 (0.10 + 4  0.10025 + 0.10101) = 0.10034
x2 = 0.20 → y2 = ?
k1 = hf(x1,y1) = (0.10)(1 + 0.100342) = 0.10101
k2 = hf(x1 +1/2 h, y1 + 1/2 k1) = (0.10)(1 + 0.1508452) = 0.10228
k3 = hf(x1 + h, y1 - k1 + 2k2) = (0.10) (1 + 0.203892) = 0.10416
y2 = y1 + 1/6 (k1 + 4k2 + k3)
= 0.10034 + 1/6 (0.10101 + 4  0.10228 + 0.10416)
= 0.20272

Jadi, y(0.20)  0.20272.


Nilai sejati → y(0.20) = 0.20271.
LATIHAN SOAL

Anda mungkin juga menyukai