% Contoh Program Mencari Akar Persamaan 
% .... dengan Metode Bisection 
clear;
a = input('Masukkan nilai a = ')
b = input('Masukkan nilai b = ')
tol = input('Masukkan nilai toleransi = ')
N = input('Masukkan jumlah maksimum iterasi = ')
% Awal iterasi;
for i = 1:N
    % iterasi ke:
    k(i) = i-1;
    ERROR = 0;
    FA = fungsi(a);
    if abs(FA) < tol % jika FA kecil, -tol < FA < tol
        'akar adalah a'
        akar = a
        x(i) = a;
        break
    elseif FA >= tol
        FB = fungsi(b)
           if abs(FB) < tol  % jika FB kecil, -tol < FB < tol
               'akar adalah b'
               akar = b
               x(i) = b;
               break
           elseif FB >= tol
               'FA dan FB sama-sama positif'
               ERROR = 1;
               break
           else
               % Metode Bisection:
               c = (a+b)/2;
               x(i) = c;
               FC = fungsi(c)
               if abs(FC) < tol % jika FC kecil, -tol < FC < tol
                   'akar adalah c'
                   akar = c
                   break
               elseif FC < -tol
                   b = c;
               else
                   a = c;
               end
           end    
    else % Jika FA < -tol
            FB = fungsi(b);
           if abs(FB) < tol  % jika FB kecil, -tol < FB < tol
               'akar adalah b'
               akar = b
               x(i) = b;
               break
           elseif FB <= -tol
               'FA dan FB sama-sama negatif'
               ERROR = 1;
               break
           else
               % Metode Bisection:
               c = (a+b)/2;
               x(i) = c;
               FC = fungsi(c)
               if abs(FC) < tol % jika FC kecil, -tol < FC < tol
                   'akar adalah c'
                   akar = c
                   break
               elseif FC < -tol
                   a = c;
               else
                   b = c;
               end
           end    
    end   
end
if ERROR ==0
    plot(k,x), grid on, xlabel('iterasi ke'), ylabel('akar')
end



    
