You are on page 1of 1

// BISECT.

CPP
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
double f (double x) // fungsi yang dicari zerosnya
{ return x*x*x*x-2*x*x-4*x*x+4*x+4 }
main ()
{
int i, Nmax;
double a, b, x, xp, Emax, e;
i=1;
cout << "Mencari akar persamaan dengan metode Bisection\n"
<< "Tebakan awal bawah (a) = ";
cin >> a;
cout << "Tebakan awal atas (b) = ";
cin >> b;
cout << "Galat maksimum (Emax) = ";
cin >> Emax;
cout << Iterasi maksimum (Nmax) = ";
cin >> Nmax;
cout << " i a b x"
<< " f(a) f(b) f(x) e" << endl;
xp = a;
while (i <=Nmax)
{
x = (a+b)/2;
e = fabs ((x-xp)/x);
cout << setw(3) << i
<< setiosflags (ios :: fixed)
<< setprecision (5)
<< setw (10) << a
<< setw (10) << b
<< setw (10) << x
<< setw (10) << f(a)
<< setw (10) << f(b)
<< setw (10) << f(x);
if (i>1)
{
cout << setw(10) << e;
}
cout << endl ;
if (e <=Emax)
{break;}
if (f(a)*f(x) <0
{b=x;}
else
{a=x;}
i++;
xp = x;
}
cout << "Jadi akarnya adalah " << x << endl;
}
--------------------------------------------------------------------------

You might also like