Biseksi adalah salah satu metode dalam pemrograman numerik yang digunakan untuk mendapatkan nilai akar suatu persamaan.Konsep yang digunakan cukup mudah yaitu dengan menerapkan pengerucutan nilai dari range nilai yang dicari serta membandingkan nilai tiap tiap bagian range sehingga jika disubtitusikan ke fungsi yang dicari akarnya akan mendekati nol. Berikut listing program biseksi dengan menggunakan C++


======================================
/*
Nama    : Ni'am Tamami
NRP        : 7108.040.016
Tugas    : biseksi dengan iterasi tak ditentukan
*/
#include

#include

float a,b,e,n,c,i;
float fungsi( float x)
{
    return (exp(-x)-x);        //fungsi dicari!

}
void main()
{
    cout << "Tugas    : biseksi dengan iterasi tak ditentukan\n";
    cout << "Masukan Nilai Batas Bawah\n";    //input data
    cin >> b;
    cout << "Masukan Nilai Batas Atas\n";
    cin >> a;
    cout << "Masukan Nilai Toleransi Error\n";
    cin >> e;
    if (fungsi(a)*fungsi(b)>0)        //tdk ada akar karena tidak menyinggung sumbu x
        cout << "Tidak ada akar\n";
    else                            //f(x) menyinggung sumbu x
    {
        i=1;      
        while( fabs(fungsi(c)) > e)
        {
            c = (a+b)/2;
            if (fungsi(a)*fungsi(c)<0)    // pengerucutan nilai biseksi
                {
                    b=c;
                }
            else
                {
                    a=c;
            i+=1;
        }      
  
    }
    cout<<"Didapatkan nilai akar "<< c <<" Pada iterasi ke-"<
<
    }
}

0 Comments