N = input('Masukkan iterasi maksimum N=')
pause
tol = input('Masukkan toleransi tol=')
pause
a = input('Masukkan sembarang a=')
pause
b = input('Masukkan sembarang b=')
pause
for I = 1:N,
    k(I) = I; % penghitung langkah
    x(I) = (a+b)/2; % nilai akar
    if a == b % kalo' a sama dengan b
        'a tidak boleh sama dengan b'
        break
    elseif a > b % kalo' a lebih besar dari b
        % menukarkan a dengan b:
        b_sementara = b; % simpan dulu b
        b = a; % b yang baru sama dengan a
        a = b_sementara; % a yang baru sama dengan b yang lama
    end
% Hitung f(a) dan f(b):
FA = fungsi_2011(a);
FB = fungsi_2011(b);
FAB = FA*FB;
if FAB > 0 
    'Tidak ada akar di antara a dan b'
    break
elseif FAB == 0
    if FA == 0
        'salah satu akar adalah:'
        x = a
        break
    elseif FB == 0
        'salah satu akar adalah:'
        x = b
        break
    end
end
c = (a+b)/2; % bisection method
FC = fungsi_2011(c);
if abs(FC) <= tol
    'Akar ditemukan:'
    akar_x = c
    break
end
if FC < 0
    if FA < 0
        a = c; % c mengganti a
    else
        b = c; % c mengganti b
    end
else % f(c) > 0
    if FA < 0 
        b = c; % c mengganti b
    else
        a = c; % c mengganti a
    end
end
end % "END" untuk loop for
if length(k) > 1
    plot(k,x), grid on, xlabel('iterasi ke-k'), ylabel('nilai akar x')
end