Baru

Bahasa Pemrograman C++ - Metode Regula Falsi #2



#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 4x^3 - 15x^2 + 17x - 6");
printf ("\nMasukkan batas bawah : ");scanf ("%f",&xb);
printf ("\nMasukkan batas atas : ");scanf ("%f",&xa);
printf ("\nMasukkan error : ");scanf ("%f",&e);
puts ("============================================================================");
fb=4*(xb*xb*xb)-15*(xb*xb)+17*xb-6;
fa=4*(xa*xa*xa)-15*(xa*xa)+17*xa-6;
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)
{
fb=4*(xb*xb*xb)-15*(xb*xb)+17*xb-6;
fa=4*(xa*xa*xa)-15*(xa*xa)+17*xa-6;
fc=4*(xc*xc*xc)-15*(xc*xc)+17*xc-6;
xc=xa-((fa*(xa-xb))/(fa-fb));
error=fabs(fc);
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.