Senin, 25 April 2011

Program Metode BagiDua Dengan Pascal


Ini contoh program metode bagidua pada Metode Numerik dengan program pascal. Semoga berguna..


program metode_bagi_dua;
uses wincrt;
var
a,b,c,e,fa,fc,i:real;
function pangkat(p:real; q:integer) : real;
var
k:integer;
hsl : real;
begin
hsl := 1;
for k:=1 to q do
begin
hsl := hsl * p;
end;
pangkat := hsl;
end;

begin
write('METODE BAGI DUA DALAM PASCAL');
writeln;
writeln;
write('Mencari akar persamaan f(x)=x^3+2x^2+10x-20 dalam selang [a,b] dengan epsilon');
Writeln;
write('Masukan nilai a= '); readln(a);
write('Masukan nilai b= '); readln(b);
write('Masukan epsilon(e)= ');readln(e);
c:=0;
i:=0;
repeat
i:=i+0;
c:=(a+b)/2;
fa:=pangkat(a,3)+2*sqr(a)+10*a-20;
fc:=pangkat(c,3)+2*sqr(c)+10*c-20;
if fa*fc<0 then b:=c else a:=c; until i>((ln(b-a)-ln(e))/ln(2)) ;
writeln('Hampirannya adalah ',c:10:6)
end.