Tuesday, March 20, 2012

Metode Bisection


Metode Bisection merupakan salah satu metode iterative, dimana dalam metode ini digunakan dua nilai tebakan yang memiliki karakteristik dekat dengan nilai akar-akar sebenarnya.


Pada grafik di atas kita misalkan titik a adalah x0 dan b adalah x1, dimana jika dimasukkan dalam persamaan f(x), f(x0) dan f(x1) akan menghasilkan nilai yang berlawanan tanda. Kemudian kita melakukan ‘Bisect’, yaitu menentukan nilai tengah x2 dari dua nilai tebakan tersebut, dengan persamaan :
x2 = (x0+x1) /2
jika nilai f(x2) = 0, maka nilai x2 tersebut adalah akar dari persamaan tersebut. Jika f(x2) > 0, maka akar terletak di antara x0 dan x2. Pada langkah iterative berikutnya, kita harus mengganti x1 dengan nilai x2.  Jika f(x2) < 0, pada langkah iterative berikutnya, kita harus mengganti nilai x0 dengan nilai x2Selanjutnya kita akan mencoba untuk menerapkan metode ini untuk mencari akar persamaan dari suatu fungsi polynomial.


Kita akan menggunakan contoh soal pada buku Computer Oriented Numerical Methods, halaman 38. Fungsi polynomial yang akan kita gunakan adalah x2 – 25, dengan nilai tebakan awal x0 = 2.0 dan x1 = 7.0.

Algoritma Bisection :
1. Baca x0,x1,e. x0 dan x1 adalah 2 nilai estimasi awal terdekat pada nilai akar yang sebenarnya, e adalah nilai error yang diijinkan. Langkah 2,3 dan 4 merupakan step inisialisasi variable yang digunakan.
2. y0=f(x0)
3. y1=f(x1)
4. I =0
5. if(sign(y0) = sign(y1) kemudian
Mulai tulis “starting value unsuitable”
                        tulis x0,x1,y0,y1
            berhenti
6. While |(x1 - x0)/x1| > e lakukan
        mulai
7.             x2=(x0+x1)/2
8.             y2=f(x2)
9.             i=i+1
10.           if(sign(y0) = sign(y2) kemudian x0=x2 else x1=x2
       Berhenti
11. tulis “sollution converges to a root”
12. tulis “number of iteration =  “,i
13. tulis x2,y2

14. berhenti

Berikut adalah penerapannya dalam Program Visual Basic.

Gambar 1. User Form

  
 
Gambar 2. Koding Bisection Method


Gambar 3. Hasil Iterasi

Dengan menentukan nilai estimasi awal xo = 2 dan x1 = 7 dan jumlah iterasi adalah 100, maka untuk fungsi y = f(x) = x2 – 25, didapatkan akar-akar yaitu x = 5.

6 comments:

  1. Waw, Mas Fajar, lengkap neh deskripsinya, Algoritmanya, and aplikasi programnya..Sangat Aplikatif mas...Lanjut terus berkarya yah..Tetap Semangat.

    ReplyDelete
  2. Fajardo, akhirnya saya bisa bisa mengerjakan metode bisection juga setelah melihat blognya. Terima kasih sekali.

    ReplyDelete
  3. Kalau kayak gini postingnya, saya hanya bisa ucapin terimakasih atas sharing ilmunya karena sangat jelas penjelasannya mulai dari konsep tentang metode dan rumus, ada algoritma sekaligus simulasi VB ya
    Semangat

    ReplyDelete
  4. wah, ini mantap sekali. izin share ya sob!!

    ReplyDelete
  5. do hasilnya ini sama dengan buku gak?minta pencerahan bung

    ReplyDelete
  6. dear Jedo,
    penjelasan yg baik.
    apakah metode biseksi ini bisa untuk memecahkan persamaan-persamaan dengan akar imajiner seperti yg ada di MK pengendalian sistem misalnya

    thanks,

    ReplyDelete