Senin, 15 September 2014

ALGORITMA PEMPROGRAMAN BAGUI DUA MENGGUNKAN PASKAL

ALGORITMA PEMPROGRAMAN MENGGUNKAN PASKAL
MENCARI AKAR-AKAR DARI PERSAMAAN MENGGUNAKAN ALGORITMA BAGI DUA


program metode_bagi_dua;
uses wincrt ;
var A,B,T,X,eps :real;
I,N:integer;

function F(x:real):real;
begin
      F:=x*x-2 ;
      end;

begin
clrscr;
       gotoxy(30,2);
       writeln('metode bagi dua');writeln;
       writeln('persamaaannya adalah y=x*x-2');writeln;
       write('beberapa nilai A ?'); readln(A);
       write('beberapa nilai B ?'); readln(B);
       write('beberapa nilai epsilon ?'); readln(eps);
       F(A);
       F(B);
       if F(A)*F(B)>0 then write ('maaf, akarnya tidak terdapat selang a= ',A:2:2,' dan b= ',B:2:2) else
       begin
       gotoxy(1,6);
       writeln('            Tabel hasil penghitungan metode bagi dua');
       writeln('=================================================================');
       writeln('I':3,'X0','X1':11,'T/X2':11,'F(X0)':11,'F(X1)':11,'F(x2)':11,'Ket':0);
       writeln('=================================================================');
       I:=0 ;
       while ABS ((B-A)/B)>eps do
       begin
            T:=(A+B)/2;
            F(T);
            IF(F(A)*F(T)) > 0 then
            begin
                 writeln(I:3,A:11,B:10:6,T:10:6,F(A):11:6,F(B):11:6,F(T):11:6);
                 writeln ('     X2-->X0');
                 A:=T;
            end
            else
            begin
                 write(I:3,A:11,B:10:6,T:10:6,F(A):11:6,F(B):11:6,F(T):11:6);
                 writeln ('     X2-->X1');
                 B:=T;
                 End ; I:=I+1;
            end;
            writeln ('-------------------------------------------------------------');
            writeln ('jadi akarnya adalah ',T:2:6);
            end;
            end.