a = input('Masukkan nilai a sembarang =')
b = input('Masukkan nilai b sembarang =')
TOL = input('Masukkan nilai toleransi =')
N = input('Masukkan maksimum iterasi =')
% Awal iterasi
for i = 1:N
    % Merekam iterasi ke i:
        k(i)=i-1; % Ini iterasi ke k
        x(i)= (a+b)/2;
        ERROR=0; % Control variable bila terjadi Error
    if abs((fungsi(a)*fungsi(b))) < TOL
        if abs(fungsi(a)) < TOL
            'a adalah akar'
            akar = a
            break
        else
            'b adalah akar'
            akar = b
            break
        end
    elseif (fungsi(a)*fungsi(b)) > TOL
        'f(a) dan f(b) sama tanda'
        ERROR = 1; % Kesalahan memasukkan a dan b
        break
    else
        c = (a + b)/2; % nilai c di antara a dan b
        if abs(fungsi(c)) < TOL
            'c adalah akar'
            akar = c
            break
        elseif fungsi(c) > TOL
            if fungsi(a) > TOL % Jika f(a) positif, maka:
                a = c; % c menggantikan a
            else %Jika tidak:
                b = c; % c menggantikan b
            end
        else
            if fungsi(a) < -TOL % Jika f(a) negatif, maka:
                a = c; % c menggantikan a
            else %Jika tidak:
                b = c; % c menggantikan b
            end
        end
    end
end
if ERROR == 0
    plot(k,x), grid on, xlabel('iterasi ke k'), ylabel ('x(i)')
end