clear; % Menghapus data sebelomnya display('CONTOH PROGRAM BISECTION') toleransi = input('masukkan nilai toleransi : ') N = input('masukkan jumlah looping maximum N = ') a = input('masukkan nilai a = ') b = input('masukkan nilai b = ') fa = fungsi(a); % menghitung f(a) fb = fungsi(b); % menghitung f(b) control = fa*fb; % menghitung peubah "control" if control < 0 % Kemungkinan 1: control < 0 display('OK') if fa < 0 for i = 1:N, c = (a+b)/2; k(i)=i; % Untuk keperluan plotting x(i)=c; % Untuk keperluan plotting fc = fungsi(c); % Menghitung f(c) if abs(fc) <= toleransi break end if fc < 0 % Jika fc < 0 a = c; % c mengganti a else % Jika tidak ..... b = c; % c mengganti b end end else for i = 1:N, c = (a+b)/2; k(i)=i; x(i)=c; fc = fungsi(c); if abs(fc) <= toleransi break end if fc < 0 b = c; else a = c; end end end plot(k,x), grid on, xlabel('iterasi'), ylabel('nilai c') display('proses pencarian akar') format long iterasi = [k' x'] elseif control == 0 % Kemungkinan 2: control = 0 if fa == 0 if fb == 0 display('akar adalah a dan b') akar1 = a akar2 = b else display('akar adalah a') akar = a end else display('akar adalah b') akar = b end else % Kemungkinan 3: control > 0 display('SALAH MEMASUKKAN nilai a dan b') end