Teks tersebut membahas metode numerik untuk menyelesaikan persamaan diferensial dengan menggunakan metode Euler dan Runge-Kutta. Metode Euler menggunakan deret Taylor sedangkan Runge-Kutta menghasilkan solusi lebih akurat dengan menghitung beberapa kali per iterasi. Contoh soal memberikan ilustrasi penerapan kedua metode tersebut pada persamaan diferensial orde satu.
1. MATEMATIKA 4
METODE NUMERIK PADA
PERSAMAAN DIFFERENSIAL
Bagus Hario Setiadji
Jurusan Teknik Sipil
Fakultas Teknik Universitas Diponegoro
2. DEFINISI METODE NUMERIK
• Metode numerik adalah suatu prosedur yang menghasilkan solusi
perkiraan (approximate solution) pada suatu nilai, dengan hanya
menggunakan operasi penambahan, pengurangan, perkalian dan
pembagian.
• Metode numerik sangat sesuai digunakan untuk menyelesaikan
persamaan-persamaan diferensial (dan juga integral) yang kompleks.
• Pada perkuliahan ini, suatu persamaan diferensial biasa (PDB) orde satu
atau lebih akan diselesaikan dengan menggunakan pendekatan metode
numerik yang diturunkan dari deret Taylor dan metode beda hingga (finite
difference).
3. PENDEKATAN DALAM METODE NUMERIK
• Pada umumnya, fungsi diferensial yang berbentuk kompleks dapat
disederhanakan menjadi fungsi hampiran dalam bentuk fungsi polinomial
yang lebih sederhana.
• Apabila dilakukan suatu pekerjaan hitungan dengan menggunakan fungsi
yang sesungguhnya, maka akan diperoleh hasil solusi yang eksak (solusi
sejati). Tetapi apabila pekerjaan hitungan tersebut diselesaikan dengan
fungsi hampiran, maka akan diperoleh hasil solusi hampiran (solusi
pendekatan).
• Perbedaan antara solusi eksak dan solusi hampiran adalah pada adanya
galat (error) pada fungsi hampiran. Galat pada solusi numerik harus selalu
dihubungkan dengan seberapa teliti fungsi polinomial tersebut dalam
menghampiri fungsi yang sesungguhnya.
4. PENDEKATAN DALAM METODE NUMERIK
• Cara numeris untuk menyelesaikan problem nilai awal adalah diferensial
hingga. Pada metode differensial hingga, penyelesaian pendekatan
didapat pada titik-titik hitung
x0 < x1 < x2 < x3 < …< xi < …
dan nilai pendekatan pada setiap xi diperoleh dengan menggunakan nilai-
nilai yang telah diperoleh sebelumnya.
5. PENDEKATAN DALAM METODE NUMERIK
• Misalkan diketahui PDB:
y’ = f(x, y) ; y(x0) = y0
• Setiap metode numerik akan menghasilkan solusi hampiran pada titik x0,
x1, x2, …, xi; dimana selisih antara dua nilai x yang berurutan adalah
konstan sebesar xi+1 – xi = h (i = 0, 1, 2, …, N), disebut sebagai step-size
• Solusi hampiran dari xi dinyatakan sebagai y(xi) atau yi. Solusi eksak dari xi
dinyatakan sebagai Y(xi) atau Yi. Sekali nilai yi diketahui, maka dari
persamaan di atas dapat ditulis:
y’n = f(xi, yi)
6. METODE EULER
• Metode Euler merupakan metode numerik paling sederhana dan
diturunkan dari deret Taylor. Misalkan, fungsi y(x) adalah fungsi kontinyu
dan memiliki turunan dalam interval [a, b]. Maka dalam deret Taylor
dengan xi < i < xi+1; dan xi = a + ih; i = 0, 1, 2, .., N
Dan karena y(xi) memenuhi persamaan diferensial
dan y(a) = , maka
iiii
y
h
xhyxyxy ''
2
'
2
1
iiiii
y
h
xyxhfxyxy ''
2
)(,
2
1
N
ab
xxh ii 1
bxa);,( yxf
dx
dy
7. METODE EULER
• Dengan mengabaikan suku terakhir dari persamaan di atas, diperoleh:
• Contoh 1:
Diketahui persamaan diferensial orde 1: y’ = y; 0 x 1; y(0) = 1 dan N = 5
• Solusi:
dan xi = a + ih = 0.2i; i = 0, 1, 2, …, 5
dengan demikian persamaan Euler dapat dinyatakan sebagai
yi+1 = yi + h(yi) = yi + 0.2(yi) = 1.2 yi
)(,1 iiii
xyxhfxyxy
2.0
5
01
N
ab
h
8. METODE EULER – Contoh 1
• yi+1 = 1.2 yi dengan n = 0, 1, 2, …, 5
• Maka:
i = 0; x0 = 0, y0 = 1
i = 1; x1 = 0.2, y1 = 1.2 y0 = 1.2 (1)= 1.2
i = 2; x2 = 0.4, y2 = 1.2 y1 = 1.2 (1.2) = 1.44
i = 3; x3 = 0.6, y3 = 1.2 y2 = 1.2 (1.44) = 1.728
i = 4; x4 = 0.8, y4 = 1.2 y3 = 1.2 (1.728) = 2.0736
i = 5; x1 = 1.0, y5 = 1.2 y4 = 1.2 (2.0736) = 2.48832
• Solusi eksak dari contoh 1 adalah
x
x
eY(x)
)y(
ceycxy
dx
y
dy
y
dx
dy
y
Jadi,
0cce1maka,10Jika
ln
'
0
9. METODE EULER – Contoh 2
• Contoh 2 :
Diketahui persamaan diferensial orde 1: y’ = y2 + 1; 0 x 1; y(0) = 0 dan N = 5
• Solusi:
dan xi = a + ih = 0.2i; i = 0, 1, 2, …, 5
dengan demikian persamaan Euler dapat dinyatakan sebagai
yi+1 = yi + h(yi
2 + 1) = yi + 0.2(yi
2 + 1) = 0.2 yi
2 + yi + 0.2
• Maka:
i = 0; x0 = 0, y0 = 0
i = 1; x1 = 0.2, y1 = 0.2 y0
2 + yo + 0.2 = 0.2 (0)2 + (0) + 0.2 = 0.2
i = 2; x2 = 0.4, y2 = 0.2 y1
2 + y1 + 0.2 = 0.2 (0.2)2 + (0.2) + 0.2 = 0.408
i = 3; x3 = 0.6, y3 = 0.2 y2
2 + y2 + 0.2 = 0.2 (0.408)2 + (0.408) + 0.2 = 0.6413
i = 4; x4 = 0.8, y4 = 0.2 y3
2 + y3 + 0.2 = 0.2 (0.6413)2 + (0.6413) + 0.2 = 0.9236
i = 5; x5 = 1.0, y5 = 0.2 y4
2 + y4 + 0.2 = 0.2 (0.9236)2 + (0.9236) + 0.2 = 1.2942
2.0
5
01
N
ab
h
10. METODE EULER – Contoh 2
• Solusi eksak dari contoh 1 adalah
xY(x)
)y(
cxycxy
dx
y
dy
y
dx
dy
y
tanJadi,
0cc0tan0maka,00Jika
tanarctan
1
1'
2
2
11. METODE EULER – Contoh 1 dan 2
• Galat (error) antara solusi hampiran dan solusi eksak
• Contoh 1 Contoh 2
Ket: Y(x) = ex Ket: Y(x) = tan x
• Terlihat bahwa galat yang terjadi pada metode Euler terus membesar
dengan bertambahnya iterasi.
i xn yn Yn Yn - yn
0 0 1 1 0
1 0.2 1.2 1.2214 0.0214
2 0.4 1.44 1.4918 0.0518
3 0.6 1.728 1.8221 0.0941
4 0.8 2.0736 2.2255 0.1519
5 1.0 2.48832 2.7183 0.2291
i xn yn Yn Yn - yn
0 0 0 0 0
1 0.2 0.2 0.2027 0.0027
2 0.4 0.408 0.4223 0.0143
3 0.6 0.6413 0.6841 0.0428
4 0.8 0.9236 1.0296 0.106
5 1.0 1.2942 1.5574 0.2632
12. METODE RUNGE – KUTTA
• Metode Runge – Kutta menawarkan penyelesaian diferensial dengan
pertumbuhan galat yang jauh lebih kecil dibandingkan dengan metode
Euler.
• Persamaan umum metode Runge – Kutta
34
23
12
1
43211
,
2
1
,
2
1
2
1
,
2
1
,
22
6
1
kyhxhfk
kyhxhfk
kyhxhfk
yxhfk
kkkkyy
ii
ii
ii
ii
ii
13. METODE RUNGE – KUTTA -- Contoh 1
• Contoh 1
Diketahui persamaan diferensial orde 1: y’ = y; 0 x 1; y(0) = 1 dan N = 5
• Solusi:
dan xi = a + ih = 0.2i; i = 0, 1, 2, …, 5
i = 0; x0 =0; y0 = 1
2.0
5
01
N
ab
h
2214.12444.0222.0222.022.0
6
1
122
6
1
2444.0222.012.0,
222.0
2
22.0
12.0
2
1
2
1
,
2
1
22.0
2
2.0
12.0
2
1
2
1
,
2
1
2.012.0,
432101
303004
202003
101002
0001
kkkkyy
kyhkyhxhfk
kyhkyhxhfk
kyhkyhxhfk
hyyxhfk
20. METODE RUNGE – KUTTA -- Contoh 1
• i = 2; x2 =0.4; y2 = 0.4228
• Silakan dicoba untuk i = 3 dan i = 4, untuk mendapatkan y4 dan y5
6842.0
2935.02610.022585.022358.0
6
1
4228.022
6
1
2935.012610.04228.02.01,
2610.01
2
2585.0
4228.02.01
2
1
2
1
,
2
1
2585.01
2
2358.0
4228.02.01
2
1
2
1
,
2
1
2358.014228.02.01,
432123
22
323224
22
222223
22
121222
22
2221
kkkkyy
kyhkyhxhfk
kyhkyhxhfk
kyhkyhxhfk
yhyxhfk
21. METODE RUNGE - KUTTA -- Contoh 1 dan 2
• Galat (error) antara solusi hampiran dan solusi eksak
• Contoh 1 Contoh 2
• Terlihat bahwa galat yang terjadi pada metode Runge - Kutta sangat kecil,
dibandingkan dengan galat pada metode Euler.
i xn yn Yn Yn - yn
0 0 1 1 0
1 0.2 1.2214 1.2214 0.0000
2 0.4 1.4918 1.4918 0.0000
3 0.6 1.8221 1.8221 0.0000
4 0.8 2.2255 2.2255 0.0000
5 1.0 2.7182 2.7183 0.0001
i xn yn Yn Yn - yn
0 0 0 0 0
1 0.2 0.2027 0.2027 0.0000
2 0.4 0.4228 0.4223 0.0005
3 0.6 0.6842 0.6841 0.0001
4 0.8 1.0297 1.0296 0.0001
5 1.0 1.5575 1.5574 0.0001
22. METODE NUMERIK UNTUK PDB
ORDE 2 ATAU LEBIH
• Penyelesaian metode numerik untuk PDB orde 1 dapat juga digunakan
pada PDB orde 2 atau lebih, dengan terlebih dahulu melakukan
transformasi PDB orde 2 ke PDB orde 1 terlebih dahulu.
• Bentuk standar untuk sistem dengan dua persamaan
y’ = f(x, y, z); z’ = g(x, y, z); y(x0) = y0; z(x0) = z0
Dengan y’ = f(x, y, z) z, maka z’ = y’’, merupakan PDB orde 2, maka:
y’’ = z’ = g(x, y, y’); y(x0) = y0; y’(x0) = z0
• Bentuk standar untuk sistem dengan tiga persamaan
y’ = f(x, y, z, w); z’ = g(x, y, z, w); w’ = r(x, y, z, w); y(x0) = y0; z(x0) = z0
w(x0) = w0
Jika y’ = f(x, y, z, w) z, dan z’ = g(x, y, z, w) w, merupakan PDB orde 3,
maka: y’’’ = w’ = r(x, y, z, w); y(x0) = y0; y’(x0) = z0; y’’(x0) = w0
23. METODE NUMERIK UNTUK PDB
ORDE 2 ATAU LEBIH
• Contoh transformasi dari PDB orde 2 ke PDB orde 1
Diketahui PDB sebagai berikut y’’ – 3y’ + 2y = 0; y(0) = -1; y’(0) = 0
Definisikan: z = y’, maka z(0) = y’(0) = 0 dan z’ = y’’.
Selanjutnya PDB yang diketahui dapat ditulis:
y’’ = 3y’ - 2y atau z’ = 3z – 2y; dimana z = y’, serta y(0) = -1; z(0) = 0
• Contoh 2
Diketahui PDB orde 2 sebagai berikut:
3x2y’’ – xy’ + y = 0; y(1) = 4; y’(1) = 2
Definisikan: z = y’, maka z(1) = y’(1) = 2 dan z’ = y’’.
Selanjutnya PDB yang diketahui dapat ditulis:
2141dimana;
3x
y-xz
z';
3
'
'' 22
); z()z; y(y'
x
yxy
y
24. METODE RUNGE – KUTTA
UNTUK PDB ORDE 2 ATAU LEBIH
334
334
223
223
112
112
1
1
43211
43211
,,
,,
2
1
,
2
1
,
2
1
2
1
,
2
1
,
2
1
2
1
,
2
1
,
2
1
2
1
,
2
1
,
2
1
,,
,,
22
6
1
22
6
1
lzkyhxhgl
lzkyhxhfk
lzkyhxhgl
lzkyhxhfk
lzkyhxhgl
lzkyhxhfk
zyxhgl
zyxhfk
llllzz
kkkkyy
iii
iii
iii
iii
iii
iii
iii
iii
ii
ii
25. METODE RUNGE – KUTTA
(CONTOH PDB ORDE 2)
• Diketahui persamaan diferensial orde 2:
y’’ – 3y’ + 2y = 0; 0 x 1; y(0) = -1; y’(0) = 0 dan N = 5
• Solusi:
y’’ = 3y’ – 2y
y’’ = z’ dan y’ = z = f(x, y, z), sehingga
z’ = g(x, y, z) = 3z – 2y
x0 = 0; y(0) = -1 dan z(0) = y’(0) = 0
26. dan xi = a + ih = 0.2i; i = 0, 1, 2, …, 5
y’ = f(x, y, z) = z dan z’ = g(x, y, z) = 3z – 2y
• i = 0; x0 = 0; y0 = -1; z0 = 0
2.0
5
01
N
ab
h
52.0
2
0
12
2
4.0
032.0
2
1
2
2
1
3
2
1
,
2
1
,
2
1
04.0
2
4.0
02.0
2
1
2
1
,
2
1
,
2
1
4.012032.023,,
002.0,,
1010101002
10101002
000001
00001
kylzhlzkyhxhgl
lzhlzkyhxhfk
yzhzyxhgl
zhzyxhfk
METODE RUNGE – KUTTA
(CONTOH PDB ORDE 2)
32. METODE RUNGE – KUTTA
(CONTOH PDB ORDE 2)
• Solusi eksak dari PDB yang diberikan:
y’’ – 3y’ + 2y = 0; 0 x 1; y(0) = -1; y’(0) = 0 dan N = 5
• Berdasarkan general formula:
Maka y’’ – 3y’ – 2y = 0 dapat ditulis:
r2 – 3r – 2 = 0
(r – 2)(r – 1) = 0 r1 = 2; r2 = 1
Persamaan PDB yang diberikan dapat ditulis:
xx
xx
ececxy
ececxy
2
2
1
2
2
1
2)('
)(
xrxr
ececxy 21
21
)(
33. METODE RUNGE – KUTTA
(CONTOH PDB ORDE 2)
• Gunakan nilai batas untuk menentukan c1 dan c2
y(0) = -1, maka: -1 = c1 + c2
y’(0) = 0, maka: 0 = 2c1 + c2
Gunakan prinsip substitusi dan eliminasi, sehingga diperoleh c1 = 1; c2 = -2
Oleh karena itu, solusi eksak dari PDB: y’’ – 3y’ + 2y = 0 adalah
y(x) = e2x – 2ex
34. METODE RUNGE – KUTTA
(CONTOH PDB ORDE 2)
• Perbandingan galat (error) antara solusi hampiran dan solusi eksak:
• Untuk mengecilkan galat, bisa dilakukan dengan memperbanyak jumlah N,
atau dengan kata lain mengecilkan ukuran step-size. Sebagai contoh,
berikut ini akan dilakukan perhitungan kembali contoh yang diberikan,
dengan menggambil nilai N = 10, atau
i xn yn Yn Yn - yn
0 0 -1 -1 0
1 0.2 -0.9511 -0.9510 0.0001
2 0.4 -0.7591 -0.7581 0.0010
3 0.6 -0.3250 -0.3241 0.0009
1.0
10
01
N
ab
h
37. METODE RUNGE – KUTTA
(CONTOH PDB ORDE 2)
• Untuk i = 0, diperoleh sebagai hasil akhir berupa solusi hampiran:
y1 = -0.9889
Solusi eksak Y1 = -0.9889
Sehingga, galat (error) = 0.0000
• Sebagai latihan, hitunglah nilai y2, y4, y6 dari contoh yang diberikan
menggunakan h = 0.1 dan bandingkan hasilnya dengan hasil yang
diperoleh apabila menggunakan h = 0.2