METODE EULER EKSPLISIT
Metode Euler adalah salah satu metode single step yang paling sederhana. Jika dibandingkan
dengan metode lainnya, maka metode ini tergolong metode yang kurang teliti. Perhatikan
masalah nilai awal PD orde 1 berikut:
𝑑𝑦
= 𝑓(𝑡, 𝑦), 𝑡 > 0, 𝑦(𝑡0 ) = 𝑦0
𝑑𝑡
Untuk mendapatkan solusi persamaan 1 pada suatu interval I secara numerik, interval I
tersebut dibagi menjadi 𝑛 subinterval yang sama panjang dengan titik-titik ujung
interval 𝑡𝑖 , 𝑖 = 1,2,3, … , 𝑛. Lebar dari subinterval ini adalah ∆𝑡 = 𝑡𝑖+1 − 𝑡𝑖 = ℎ.
Dengan 𝑓𝑖 ≡ 𝑓(𝑡𝑖 , 𝑦𝑖 ), 𝑦𝑖 ≡ 𝑦(𝑡𝑖 ).
Penurunan Rumus
Rumus skema Euler eksplisit dapat diturunkan menggunakan cara berikut.
1. Deret Taylor
Rumus Deret Taylor:
ℎ ℎ2 ℎ3
𝑦𝑖+1 = 𝑦𝑖 + 𝑦𝑖′ + 𝑦𝑖′′ + 𝑦𝑖′′′ +⋯
1! 2! 3!
𝑦𝑖+1 = 𝑦𝑖 + 𝑦𝑖′ ℎ
𝑦𝑖+1 = 𝑦𝑖 + 𝑓𝑖 ℎ
Orde Kesalahan Pemotongan Lokal : 𝑂(ℎ2 )
Orde Kesalahan Pemotongan Global : 𝑂(ℎ)
2. Integral
Perahatikan masalah nilai awal persamaan (1), integralkan pada integralkan pada
interval [𝑡𝑖 , 𝑡𝑖+1 ], sehingga diperoleh
𝑑𝑦
= 𝑓(𝑡, 𝑦)
𝑑𝑡
𝑡𝑖+1 𝑡𝑖+1
∫ 𝑑𝑦 = ∫ 𝑓(𝑡, 𝑦) 𝑑𝑡
𝑡𝑖 𝑡𝑖
𝑡𝑖+1
𝑦𝑖+1 − 𝑦𝑖 = ∫ 𝑓(𝑡, 𝑦) 𝑑𝑡
𝑡𝑖
𝑡𝑖+1
𝑦𝑖+1 = 𝑦𝑖 + ∫ 𝑓(𝑡, 𝑦) 𝑑𝑡
𝑡𝑖
Integral tertentu di atas dapat dihitung menggunakan pendekatan numerik dengan
menjalankan luasan semua pias yang berupa persegi panjang kiri pada interval
𝑡𝑖 , 𝑡𝑖+1 ], sehingga diperoleh:
𝑦𝑖+1 ≈ 𝑦𝑖 + 𝑦𝑖′ ℎ 𝑎𝑡𝑎𝑢 𝑦𝑖+1 ≈ 𝑦𝑖 + 𝑓𝑖 ℎ
Implementasi Program MATLAB
Perhatikan masalah nilai awal berikut:
𝑑𝑦
= 𝑒 −2𝑦 sin 𝑡 , 0 < 𝑡 ≤ 7, 𝑦(0) = 0
𝑑𝑡
Dan diberikan solusi eksaknya yaitu,
1
𝑦(𝑡) = ln (3 − 2 cos 𝑡)
2
1. clear all;
2. clc;
3. fprintf('--------Metode Euler Eksplisit--------
\n');
4. h=0.1;
5. t=0:h:7;
6. n=length(t);
7. y(1)=0;
8. %% Mencari solusi numerik dari PD
9. for i=1:n-1
10. f=exp(-2*y(i))*sin(t(i));
11. y(i+1)=y(i)+h*f;
12. end
13. %% Mencari solusi eksak dari PD dan errornya
solusi numerik
14. fprintf(' i t y yeksak
error\n');
15. for i=1:n
16. yeksak(i)=0.5*log(3-2*cos(t(i)));
17. error(i)=abs(yeksak(i)-y(i));
18. fprintf('%3d %3.2f %5.4f %5.4f
%5.4f\n',i,t(i),y(i),yeksak(i),error(i));
19. end
20. %% Plot grafik solusi numerik, solusi eksak,
dan error
21. subplot(1,2,1);
22. plot(t,y,'o','color','k','markersize',4,'mark
erfacecolor','b');
23. hold on;
24. plot(t,yeksak,'-','color','k','linewidth',2);
25. title('Solusi Numerik dan Eksak Metode Euler
Eksplisit');
26. xlabel('t');
27. ylabel('y');
28. grid on;
29. legend('Solusi Numerik','Solusi Eksak');
30. subplot(1,2,2);
31. plot(t,error,'o','color','k','markersize',4,'
markerfacecolor','r');
32. grid on;
33. title('Error');
34. xlabel('t');
35. ylabel('error');