Baru

Bahasa Pemrograman C++ - Mencari Akar Persamaan dengan Metode Regula Falsi



#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 Regula Falsi");
puts ("\nPersamaan yang akan diselesaikan adalah 2x^5-4x^2+e^x");
printf ("\nMasukkan batas bawah : ");scanf ("%f",&xb);
printf ("\nMasukkan batas atas : ");scanf ("%f",&xa);
printf ("\nMasukkan error : ");scanf ("%f",&e);
puts ("============================================================================");
fb=2*(xb*xb*xb*xb*xb)-4*(xb*xb)+exp(xb);
fa=2*(xa*xa*xa*xa*xa)-4*(xa*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 xa f(xb) f(xa) xc f(xc) abs(f(xc)) ");
while (kondisi)
{
fb=2*(xb*xb*xb*xb*xb)-4*(xb*xb)+exp(xb);
fa=2*(xa*xa*xa*xa*xa)-4*(xa*xa)+exp(xa);
xc=xa-(fa*(xa-xb)/(fa-fb));
fc=2*(xc*xc*xc*xc*xc)-4*(xc*xc)+exp(xc);
error=fabs(fc);
printf("%3i %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f\n", i,xb,xa,fb,fa,xc,fc,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.