Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

LISTING PROGRAM

1. Metode Bisection
a. Persamaan

untuk

#include<stdio.h>
#include<math.h>
f (float x)
{
float z;
z=(x*x*x)+(4*x*x)-10;
return z;
}
main()
{
float a,b,c,d,e;
int i=0;
printf("Program metode bisection dengan persamaan x^3+4x^2-10=0");
printf("Masukkan nilai a : ");
scanf("%f",&a);
printf("Masukkan nilai b ; ");
scanf("%f",&b);
printf("Masukkan nilai e ; "); //e adalah error maksimum
scanf("%f",&e);
printf("\n");
printf("a\t\tb\t\tc\t\td\t\t\t\t",a,b,c,d);

do
{
c=((a+b)/2);
d=(fabs(a-b))/2;
printf("%f\t %f\t %f\t %f\t \n",a,b,c,d);

if(f(a)*f(b)<0)
b=c;
else
a=c;
i++;
}

while
(d>e);

printf("Hampiran akar : %f \n",c);


printf("iterasinya sebanyak %d",i);
return 0;
}
b. Persamaan

untuk

#include<stdio.h>
#include<math.h>
f (float x)
{
float z;
z=(3*x)-exp(x);
return z;
}
main()
{
float a,b,c,d,e;
int i=0;
printf("Program metode bisection dengan persamaan 3x-e^x=0\n");

printf("Masukkan nilai a : ");


scanf("%f",&a);
printf("Masukkan nilai b ; ");
scanf("%f",&b);
printf("Masukkan nilai e ; ");
scanf("%f",&e);
printf("\n");

//e adalah error maksimum

printf("a\t\tb\t\tc\t\td\t\t\t\t",a,b,c,d);

do
{
c=((a+b)/2);
d=(fabs(a-b))/2;
printf("%f\t %f\t %f\t %f\t \n",a,b,c,d);
if(f(a)*f(b)<0)
b=c;
else
a=c;
i++;
}

while
(d>e);
printf("\n");
printf("Hampiran akar : %f \n",c);
printf("iterasinya sebanyak %d",i);
return 0;
}

C. persamaan x^2-4x-log(x)
/*Metode Bisection */
#include<stdio.h>
#include<math.h>
#include<conio.h>
float f(float x)
{
return(x*x)-(4*x)-4-log(x);
}
main()
{
int i=0;
float a,b,c,eror,tol;
printf("Metode Bisection dengan persamaan x2-4x-4-ln x=0 untuk [1,2] dan
[2,4]\n\n");
printf("Masukkan batas bawah a : "); scanf("%f",&a);
printf("Masukkan batas atas b : "); scanf("%f",&b);
printf("Masukkan toleransi :"); scanf("%f",&tol);
if(f(a)*f(b) > 0)
{
printf("Tidak ada akar antara selang a dan b");
}
else
{
printf("i\t a\t b\t c\t f(a)\t f(b)\t f(c)\t eror\n");
do
{
i++;
c =(a+b)/2;
eror = (fabs(b-a))/2;
printf("%d\t %.4f\t %.4f\t %.4f\t %.4f\t%.4f\t%.4f\t%.4f\n",i,a,b,c,f(a),f(b),f(c),eror);

if ((f(a)*f(c))< 0)
{b=c;}

else
{a=c;}
}
while( eror > tol);
printf("Hampiran akar nya adalah : %f\n",c);
printf("Dengan iterasi sebnayak : %d",i);
}
getch();
return 0;
}
D. x cos(x)-2x^3+3x-1
/*Metode Bisection */
#include<stdio.h>
#include<math.h>
#include<conio.h>
float f(float x)
{
return(x*cos(x))-(2*x*x*x)+(3*x)-1;
}
main()
{
int i=0;
float a,b,c,eror,tol;
printf("Metode Bisection dengan persamaan xcosx-2x^2+3x-1=0 untuk [0,2 , 0,3] dan
[1,2 , 1,3]\n\n");
printf("Masukkan batas bawah a : "); scanf("%f",&a);
printf("Masukkan batas atas b : "); scanf("%f",&b);
printf("Masukkan toleransi :"); scanf("%f",&tol);
if(f(a)*f(b) > 0)
{
printf("Tidak ada akar antara selang a dan b");

}
else
{
printf("i\t a\t b\t c\t f(a)\t\t f(b)\t f(c)\t eror\n");
do
{
i++;
c =(a+b)/2;
eror = (fabs(b-a))/2;
printf("%d\t %.4f\t %.4f\t %.4f\t %.4f\t%.4f\t%.4f\t%.4f\n",i,a,b,c,f(a),f(b),f(c),eror);

if ((f(a)*f(c))< 0)
{b=c;}
else
{a=c;}
}
while( eror > tol);
printf("Hampiran akar nya adalah : %f\n",c);
printf("Dengan iterasi sebnayak : %d",i);
}
getch();
return 0;
}

You might also like