Pemrograman Bisection dengan Visual C++


Metode Biseksi adalah membagi range menjadi 2 bagian. Dari dua bagian yang mengandung dan yang tidak mengandung akar dibuang. Untuk menggunakan metode ini, terlebih dahulu ditentukan batas awal (a) dan batas atas (b), kemudian dihitung nilai tengah :

rumus

Setelah dihitung x, maka perlu dilakukan pengecekan keberadaan akar. Secara matematis, akar persamaan terdapat dalam range bila f(a) dan f(b) berlawanan tanda.

f(a).f(b)<0

Setelah diketahui bagian mana yang mengandung akar, batas bawah dan batas atas diperbaharui sesuai dengan range dari bagian yang mempunyai akar.

 

Alogaritma Metode Biseksi

 

  1. Definisikan fungsi f(x) yang akan di cari akarnya
  2. Tentukan nilai a dan b
  3. Tentukan iterasi maksimum N
  4. Hitung f(a) dan f(b)
  5. Jika f(a).f(b)> 0 maka proses dihentikan karena tidak ada akar, bila tidak dilanjutkan
  6. Hitung

rumus

7.Hitung f(x)

8.Bila f(x).f(a)<0 maka b=a dan bila tidak a=x

Contoh:

Selesaikan persamaan xe-x+1=0, dengan menggunakan range x=[-1,0].

Program C++:

#include  <iostream>

#include <cmath>

 

using namespace std;

 

int main()

{

int xmax,i;

float x,fa,fb,fx;

float a,b;

float e;

float xbaru,xmak;

a=-1;

b=0;

e=0.0001;

xmak=20;

 

for(i=0;i<10;i++)

{

fa=a*exp(-a)+1;

fb=b*exp(-b)+1;

 

if(fa*fb>0)

{

cout<<“berhenti”;

}

else

{

xbaru=(a+b)/2;

fx=xbaru*exp(-xbaru)+1;

 

if(fx*fa<0)

{

                  b=xbaru;

     

}else{

      a=xbaru;

 

}

}

 

cout <<fx<<“   “<<fa<<endl;

}

 

 

      return 0;

}

biseksi

 

4 thoughts on “Pemrograman Bisection dengan Visual C++

  1. Pingback: bisection « Safrinayulia’s Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s