Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is the main DLL file.
- #include "stdafx.h"
- #include "numerik.h"
- #include "stdio.h"
- #include "math.h"
- #include "sal.h"
- double f(double x){
- return (exp(-x)-x);
- }
- void main() {
- double h[100],a,b,e,fa,fb,xr,fx;
- int n,i;
- printf("\t\t****************\n");
- printf("\t\t|Metode Biseksi|\n");
- printf("\t\t****************\n");
- printf("Input batas bawah(a)\t\t:");
- scanf("%f",&a);
- //masukkan nila a
- printf("Input batas atas(b)\t\t:");
- scanf("%f",&b);
- //masukkan nilai b
- printf("Input toleransi error\t\t:");
- scanf("%f",&e);
- //masukkan e
- printf("Input iterasi maksimum(N)\t:");
- scanf("%d",&n);
- //masukkan N
- fa=f(a);
- fb=f(b);
- if(fa*fb>0) //cek apakah (fa*fb>0)
- printf("tidak ditemukan akar\n"); //jika benar,maka print tdk ditemukan akar
- else{
- i=0; //cek lagi, apakah I=0
- printf("----------------------------------------------------------------\n");
- printf("|%3s|%11s|%11s|%11s|%11s|%11s|\n","i","a","b","xr","f(a)","f(xr)");
- printf("----------------------------------------------------------------\n")
- //cetak hasil
- while (i<=n) //ketika i<n
- {
- xr=(a+b)/2; //maka hitung nilai xr
- h[i]=f(xr);
- fx=f(xr);
- printf("|%3d|%11lf|%11lf|%11lf|%11lf|%11lf|\n",i+1, a, b, xr,fa,f(xr)); //cetak hasil
- if(h[i]*fa<0){ //cek apakah (h[i]*fa<0)
- b=xr;//jika ya maka b=xr dan fb= f(xr)
- fb= f(xr);
- }
- else{ //jika tidak maka a=xr dan fa= f(xr)
- a=xr;
- fa= f(xr);
- }
- i++;
- if (fabs(b-a)<=e || i>(n-1)) //cek apakah (fabs(b-a)<=e|| i>(n-1))&dimutlakkan
- break; //jika yaa maka berhenti pada looping
- }
- printf("----------------------------------------------------------------\n");
- printf("Akar persamaan adalah %lf\n",xr); //cetak akar
- if(f(xr)<0){ //cek apakah f(xr)<0
- fx=f(xr)*-1; //jika yaa,hitung nilai fx
- printf("Nilai error = %lf\n",fx); //cetak error
- }
- else //jika tidak
- printf("Nilai error = %lf\n",fx); //tetap cetak error
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement