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
% Dilakukan N iterasi, atau sampai dicapai toleransi
for I = 1:N,
    k(I) = I; % penghitung langkah
    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
    delta_x = (b - a)/I; % Menghitung besarnya interval delta x
    if I == 1 % Pada iterasi pertama hanya satu bidang luas yang dihitung
        Luas_4PP = abs((fungsi_2011(a))*delta_x);
        Luas_TRAP = abs((fungsi_2011(a) + fungsi_2011(b))*delta_x/2);
    else % Untuk I > 1, luas tiap sub-bidang dihitung satu persatu lalu di-total
        Luas_4PP = abs((fungsi_2011(a))*delta_x);
            for J = 1:(I-1),
                Luas_4PP = Luas_4PP + abs((fungsi_2011(a + J*(delta_x)))*delta_x);
            end
        Luas_TRAP = abs((fungsi_2011(a) + fungsi_2011(a + delta_x))*delta_x/2);
            for K = 1:(I-1),
                Luas_TRAP = Luas_TRAP + abs((fungsi_2011(a + K*delta_x) + fungsi_2011(a + (K+1)*delta_x))*delta_x)/2;
            end  
    end
    Luas_4pp(I) = Luas_4PP;
    Luas_trap(I) = Luas_TRAP;
    error(I)=(abs(Luas_trap(I) - Luas_4pp(I))/Luas_trap(I))*100;
    if error(I) <= tol
        'Toleransi Tercapai'
        break
    end
end % "END" untuk loop for
subplot(311), plot(k,Luas_4pp), grid on, xlabel('k iterasi'), ylabel('Luas 4 PP')
subplot(312), plot(k,Luas_trap), grid on, xlabel('k iterasi'), ylabel('Luas Trap')
subplot(313), plot(k,error), grid on, xlabel('k iterasi'), ylabel('Error')