clear;
clf;
format long;
% Mencari solusi x(t), 0<t<ta, dengan diketahui:
% Persamaan differensial biasa (ODE) dx(t)/dt= f(x(t),t)
% yang ada pada file dfungsi.m dan keadaan awal tertentu x(0)
% Dari Keadaan awal pembagian 1 interval:
x0=1;
ta=0.55;
x(1)=x0;
alpha1=1;
alpha2=2/3;
beta1=alpha1;
beta2=1-alpha2;
w21=1/(2*alpha1);
w11=1-w21;
w22=1/(2*alpha2);
w12=1-w22;
for n=2:500
   dt=ta/n;
   x(1)=x0;
   xp(1)=x0;
   t(1)=0;
   for i=1:n
      t(i+1)=t(i)+dt;
      F1=dt*dfungsi(x(i),0);
      F21=dt*dfungsi((x(i)+(beta1*F1)),(alpha1*dt));
      F22=dt*dfungsi((x(i)+(beta2*F1)),(alpha2*dt));
      x(i+1)=x(i)+(w11*F1)+(w21*F21);
      xp(i+1)=x(i)+(w12*F1)+(w22*F22);
   end
   clc
   k=n
   xta(n)=x(n+1);
   xpa(n)=xp(n+1);
   if (abs(xta(n)-xpa(n)))<0.000001
    break
   end
end
plot(t,x,t,xp), grid on
   