You are on page 1of 4

Problem nilai awal suatu PDB orde ke-1 dpt ditulis dlm bentuk:

y’(t) = f(y,t) ; y(0) = y0


dimana f(y,t) adl sebuah fungsi dari y dan t, dan pers di sebelah kanannya adl kondisi awal,
jika tanpa kondisi awal ini maka PDB tersebut tidak dpt dievaluasi. Pada persamaan di atas,
turunan perttama dari y diberikan sebagai fungsi dari y dan t, dan kita berharap untuk dpt
menghitung fungsi yang tak diketahui y melalui integrasi secara numerik f(y,t)

Untuk orde ke-2 :


u”(t) + au’(t) + bu(t) = s ; u(0) = u0 ; u’(0) = u0’
dengan a, b dan s adl konstanta atau fungsi-fungsi dari t. Jika a, b dan s independent dari u,
maka pers tsb menjadi pers linier. Jika a, b dan s sebagai fungsi dari u atau u’ atau leduanya,
maka pers tsb menjadi pers non linier

Beberapa metode untuk menyelesaikan problem nilai awal PDB:


1. METODE FORWARD EULER
Digunakan unt menyelesaikan y’ = f(y,t) diturunkan dengan pendekatan beda maju:
y n 1  y n
 y'n menjadi yn+1 = yn + h f(yn,tn)
h
dimana y’n = f(yn , tn) , sering disebut dengan bertambahnya jangkah waktu. Secara
berulang pers di atas dimanfaatkan sebagai :
y1 = y0 + h y0’ = y0 + h f(y0 , t0 )
y2 = y1 + h f(y1 , t1 )
y3 = y2 + h f(y2 , t2 )

yn = yn-1 + h f(yn-1 , tn-1 )

Fungsi MATLAB untuk metode foward Euler:


function E = feuler (f, a, b, ya, maks)
% Menyelesaikan dy/dt = f(t,y)
% Nilai awal dan nilai akhir t adalah a dan b
% ya adl nilai awal y
% maks adl banyaknya jangkah

h = (b – a) / maks ; % jangkah
t = a : h : b ;
n = length (t) ;
y = zeros (1 , n);
y(1) = ya ;
for i = 1 : maks
y(i + 1) = y( i ) + h * feval (f , t ( i ) , y ( i )) ;
end
E = [ t’ y’]

2. METODE HEUN
Merupakan modifikasi dari metode Euler, dengan cara menerapkan aturan trapesium untuk
mencari solusi y’ = f(y,t) dengan cara mencari nilai bantuan terlebih dahulu yaitu :
y*n+1 = yn+1 + h f(tn , yn)
kemudian dimanfaatkan unt mendapatkan nilai baru :
yn+1 = yn + h/2 [ f(yn , tn) + f(y*n+1 + tn+1)]
Fungsi MATLAB untuk metode Heun:
function H = fheun (f, a, b, ya, maks)
% f fungsi sebagai string ‘f’
% a dan b titik-titik ujung kiri dan kanan
% ya kondisi awal y
% maks banyaknya jangkah / step
% H = [t’ y’]
% t vektor absis
% y vektor ordinat

h = (b-a) / maks;
t=a:h:b;
n = length (t);
y = zeros (1,n) ;
y(1) = ya ;
for j = 1 : maks
k1 = feval (f, t( j ), y( j )) ;
k2 = feval (f, t(j+1), y(j+1)) ;
y(j+1) = y( j ) = (h/2) * (k1 + k2) ;
end
H = [t’ y’]

TUGAS:
1. Buatlah diagram alir / algoritma untuk ke dua metode di atas.
2. Selesaikan kasus penerjun payung yang lalu menggunakan metode Euler dan Heun
3. Gunakan kedua metode di atas untuk menyelesaikan persamaan di bawah ini:
a. y" = (1+x) √y ; dengan y(0)=1 ; h = 0,25 ; 0≤ x < 1
b. y” – t + y = 0 dimana y(0) = 2 ; y’(0) = 0 ; h = 0,1 ; 0≤ x < 4

JAWABAN BY EMAIL KE albertdlesmono@gmail.com paling lambat sabtu 20 nop 2010


3. METODE RUNGE-KUTTA ORDE 2

Dalam metode Runge-Kutta, untuk mencari solusi y’ = f(y,t) ; y(0) = y0 secara numerik, kita
menghitung yn+1 dengan nilai yang diketahui yn melalui integrasi persamaan di atas dalam
interval tn ≤ t ≤ tn+1 sebagai berikut:
t n 1

y n 1  y n   f ( y, t )dt
tn

Melalui aturan trapesium untuk seku ke-dua ruas kanan :


t n 1
h
t f ( y, t )  2  f ( y n , t n )  f ( y n1 , t n1 )
n

Dimana h = tn+1 – tn . Pada persamaan ini yn+1 tidak diketahui, maka suku ke-dua didekati
sebagai f ( y n 1 , t n 1 ) , dengan y n 1 sebagai nilai yang diperoleh dari metode Forward Euler.
Selanjutnya Runge-Kutta orde kedua diturunkan sebagai berikut :
y n 1 = yn + h f(yn , tn)
h
yn+1 = yn +  f ( y n , t n )  f ( y n1 , t n 1 )
2
dalam bentuk baku :
k1 = h f( yn , tn )
k2 = h f( yn , tn+1 + k1 )

yn+1 = yn + ½ ( k1 + k2)

4. METODE RUNGE-KUTTA ORDE 3


Metode ini diturunkan dengan menerapkan aturan Simpson dan dapat dituliskan sebagai :
h
 f ( y n .t n )  4 f ( y n 1 / 2 , t n 1 / 2 )  f ( y n 1 , t n 1 )
y n 1  y n 
6
Melalui beberapapenurunan dan nilai-nilai estimasi y n 1 / 2 dan y n 1 diperoleh metode
Runge-Ketta orde ke 3, yang dalam bentuk baku dituliskan sebagai :
k1 = h f( yn , tn )
k2 = h f( yn , tn+1/2 + k1/2 )
k3 = h f( yn , tn+1 – k1 +2 k2 )

yn+1 = yn + 1/6 ( k1 +4 k2+ k3 )

5. METODE RUNGE-KUTTA ORDE 4


Penurunan metode Runge-Kutta orde ke 4 sama dengan penurunan orde ke 3, akan tetapi
dalam mengevaluasi turunan yang digunakan lebih satu langkah.
k1 = h f( yn , tn )
k2 = h f( yn , tn+1/2 + k1/2 )
k3 = h f( yn , tn+1/2 + k2/2 )
k4 = h f( yn , tn+1 + k3 )

yn+1 = yn + 1/6 ( k1 + 2 k2+ 2 k3 + k4 )

Fungsi MATLAB untuk metode Runge-Kutta orde 2:


function RK=rk2(f,a,b,ya,maks)
% f fungsi sebagai string 'f'
% a dan b adalah nilai awal dan nilai akhir dari t
% ya adalah nilai awal y
% maks adalah banyaknya jangkah / step
% RK =[t' y']
% t vektor absis dan y vektor ordinat

h = (b-a)/maks ; % lebar jangkah


t=a:h:b;
n = length (t);
y = zeros (1,n);
y(1) = ya ;
for i = 1:maks
k1 = h*feval(f,t(i),y(i));
k2 = h*feval(f,t(i+1)+h,y(i)+k1);
y(i+1) = y(i) + (k1+k2)/2;
end
t=t(:) ; y = y(:);
RK = [ t y];

I (t)  L = 50 mH

R = 20 Ohm
E = 10 V DC

Pada sirkuit di atas, jika saklar S ditutup pada t = 0 , maka arus I(t) memenuhi persamaan :

dI (t )
L  R.I (t )  E I(0) = 0
dt

Dalam MATLAB dapat dituliskan sebagai : function yp = arus(t,I)


L = 50e-3;
R = 20 ;
E = 10 ;
yp = (E-R*I)/L
Carilah nilai arus pada interval 0 < t < 0,02 detik dan plot hasilnya Mulailah dengan maks =
20. 40, 80 dan 100.

You might also like