Baru

Bahasa Pemrograman C++ - Metode Bagi Dua atau Biseksi #1



#include <stdio.h>
#include <conio.h>
#include <math.h>
#define max 100
main()
{
float fa, fb, fc, xa, xb, xc, e, error;
int kondisi=1,i;
mulai:
puts ("Mencari akar persamaan Dengan Metode Bagi dua/ Biseksi");
puts ("\nPersamaan yang akan diselesaikan adalah x+exp^(x)");
printf ("\nMasukkan batas bawah : ");scanf ("%f",&xb);
printf ("\nMasukkan batas atas : ");scanf ("%f",&xa);
printf ("\nMasukkan error : ");scanf ("%f",&e);
puts ("============================================================================");
fb=xb+exp(xb);
fa=xa+exp(xa);
printf ("\nnilai fungsi pada batas bawah f(%f) = %.4f", xb, fb);
printf ("\nnilai fungsi pada batas atas f(%f) = %.4f", xa, fa);
if (fb*fa>0)
{
printf ("fb * fa = %f ",fa*fb);
puts ("\nTidak ada akar pada selang tersebut!!!");
puts ("\nMasukkan batas atas (xa) dan batas bawah (xb) baru");
goto mulai;
}
else {
puts("\nPemilihan batas atas (xa) dan Batas bawah (xb) tepat");
puts ("Akar diantara xa dan xb");
kondisi = 0;
}
kondisi = 1;
i=1;
puts ("============================================================================");
puts (" i xb xc xa f(xb) f(xc) f(xa) abs(xa-xb) ");
while (kondisi)
{
xc=(xb+xa)/2.00 ;
fb=xb+exp(xb);
fa=xa+exp(xa);
fc=xc+exp(xc);
error=fabs(xa-xb);
printf("%3i %5.4f %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f\n", i, xb,xc,xa, fb,fc, fa,error);
if (fb*fc>0)
xb=xc;
else if (fb*fc<0)
xa=xc;
else{
puts ("\nAkar ditemukan");
kondisi=0;
}
if (error<e)
kondisi=0;
i++;
}
puts ("============================================================================");
printf ("\nHasil Akar = %.4f", xc) ;
getche();
}

Semoga bermanfaat.
Diberdayakan oleh Blogger.