Tuesday, 5 February 2013

Biseksi menggunakan C++

Oke kawan, kali ini saya akan berbagi program mencari akar menggunakan C++ dengan metode Biseksi atau di bagi menjadi dua bagian. Berikut Listing Programnya.

#include <stdio.h>
#include <conio.h>
#include <math.h>

float f(float x)
 {
  float d;
  d=(x*x*x)+(2*x)+1;
  return d;
 }

main()
{
float x1,x2,xr,error,tol;
int i=1;
printf("\n\t\t\t\t METODE BISECTION\n");
printf("\t\t\t\t METODE BAGI DUA \n");
printf("\t\t\t\t ****************\n\n");

printf("\t\t\t\t x^3+2x+1=0\n\n");
printf("\tMasukkan batas atas persamaan(x1): ");scanf("%f",&x1);
printf("\tMasukkan batas bawah persamaan (x2): ");scanf("%f",&x2);
printf("\tMasukkan nilai toleransi: ");scanf("%f",&tol);
printf("\tTidak ada akar di antara kedua batas persamaan\n");
{
printf("\n \ti \tx1 \tx2 \txr \tf(x1) \tf(x2) \tf(xr) \terror \n");
do
 {
 xr=(x1+x2)/2;
 error=fabs(x2-x1);
 printf("\t%d\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\n",i,x1,x2,xr,f(x1),f(x2),f(xr),error);
 if(f(x1)*f(x2)<tol)
  x2=xr;
  else
  x1=xr;
  i++;
 }
while(error>tol);
 printf("\n \tnilai xr terakhir : %.3f\n",xr);
 printf("\tBanyaknya iterasi : %d \n",i-1);
 printf("\n\t\t\t\t\t\t\tTERIMA KASIH");
 printf("\n\t\t\t\t\t\t\t*************");
 printf("\n\t\t\t\t\t\t\tKurniawan Priyananto");
}
getch();
return 0;
}

Source http://rosyidahhamzah.blogspot.com/2012/06/program-c-untuk-mencari-akar-persamaan.html

No comments:

Post a Comment