Metode Biseksi
25 January 2015 | Tags: Algoritma Metode Biseksi, Komputasi Metode Biseksi, Komputasi Numerik, Metode Biseksi, Metode Numerik
Metode biseksi merupakan salah satu metode tertutup untuk mentukan solusi akar dari persamaan non linear. Ide awal dari metode biseksi adalah metode tabel dimana areanya dibagi menjadi N bagian. Sementara dalam motode biseksi membagi range menjadi 2 (dua) bagian saja. Akar-akar persamaan nonlinear dicari melalui proses iterasi, dengan prinsip utama sebagai berikut: memilih bagain yang mengandung akar dan membuang yang tidak mengandung akar hingga diperoleh akar persamaan.
Hal yang terlebih dahulu harus ditentukan dalam metode biseksi adalah menentukan batas bawah (a) dan batas atas (b). Kemudian dicari nilai tengah : x=(a+b)/2. Secara matematis, akan terdapat akar persamaan bila f(a) dan f(b) dalam suatu range berlawanan tanda atau f(a) x (f(b)<0.
Algorima Metode Biseksi
- Definisikan fungsi f(x) yang akan dicari akarnya
- Tentukan nilai a dan b
- Tentukan torelansi e dan iterasi maksimum N
- Hitung f(a) dan f(b)
- Jika f(a).f(b)>0 maka proses dihentikan karena tidak ada akar, bila tidak dilanjutkan
- Hitung x=(a+b)/2
- Hitung f(x)
- Bila f(x).f(a)<0 maka b=x dan f(b)=f(x), bila tidak a=x dan f(a)=f(x)
- Jika |b-a|<e atau iterasi>iterasi maksimum maka proses dihentikan dan didapatkan
akar = x, dan bila tidak, ulangi langkah 6.
Contoh Metode Biseksi untuk menyelesaikan sebuah persamaan
Selesaikan persamaan f(x) = xe-x+1 dengan range x=[-1,0] ! Dan hasil outputnya adalah
Untuk menghentikan iterasi metode biseksi dapat dilakukan dengan menggunakanan toleransi error atau iterasi maksimum.
Meotde biseksi dengan toleransi error 0,001 dibutuhkan 10 iterasi, semakin teliti (kecil toleransi error-nya) maka semakian besar jumlah iterasi yang dibutuhkan.
Source Code Metode Biseksi dengan PHP
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Metode Biseksi</title> <link href="style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/jquery.min.js"></script> <script src="js/highcharts.js"></script> </head> <body> <div id="container"> <h2>Metode Biseksi</h2> <div class="solusi"> <p> Carilah akar persamaan <strong>f(x) = xe<sup>-x</sup>+1</strong></p> <?php //----Fungsi menentukan persamaan function persamaan($x) { return $x*pow(M_E,-$x)+1; } //----End fungsi persamaan $a =isset($_GET['a'])?$_GET['a']*1:0; $b =isset($_GET['b'])?$_GET['b']*1:0; $n =isset($_GET['n'])?$_GET['n']*1:0; ?> <form id="form1" name="form1" method="get" action="<?php echo $_SERVER['PHP_SELF'];?>"> <table class="f_isian"> <tr> <td>Batas Atas (a)</td> <td>:</td> <td><input type="text" name="a" id="a" value="<?php echo $a;?>" /> (s)</td> </tr> <tr> <td>Batas Atas (b)</td> <td>:</td> <td><input type="text" name="b" id="b" value="<?php echo $b;?>" /> (s)</td> </tr> <tr> <td>Jumlah Iterasi</td> <td>:</td> <td><input type="text" name="n" id="n" value="<?php echo $n;?>" /></td> </tr> <tr> <td> </td> <td> </td> <td><input class="beda" type="submit" name="button" id="button" value="Proses" /></td> </tr> </table> </form> <?php $data_r=""; if($n>0) { $fa=persamaan($a); $fb=persamaan($b); if($fa*$fb>=0) { echo " f(a)xf(b)>0, proses dihentikan karena tidak ada akar !"; } else { ?> <table cellspacing="1" bgcolor="#666666" cellpadding="4" width="100%" class="f_isian"> <tr bgcolor="#e8e8e8"> <td align="center"><strong>Iterasi</strong></td> <td align="center"><strong>a</strong></td> <td align="center"><strong>b</strong></td> <td align="center"><strong>x</strong></td> <td align="center"><strong>f(x)</strong></td> <td align="center"><strong>f(a)</strong></td> <td align="center"><strong>Keterangan</strong></td> </tr> <?php for($k=1;$k<=$n;$k++) { $x=($a+$b)/2; $fx=persamaan($x); $ket=""; if($fa*$fx<0) { $ket="Berlawanan tanda"; } ?> <tr bgcolor="#FFFFFF"> <td align="center"><?php echo $k;?></td> <td align="center"><?php echo number_format($a,4,",",".");?></td> <td align="center"><?php echo number_format($b,4,",",".");?></td> <td align="center"><?php echo number_format($x,4,",",".");?></td> <td align="center"><?php echo number_format($fx,4,",",".");?></td> <td align="center"><?php echo number_format($fa,4,",",".");?></td> <td align="center"><?php echo $ket; ?></td> </tr> <?php if($fa*$fx<0) { $b=$x; $fb=$fx; } else { $a=$x; $fa=$fx; } } ?> </table> <?php } } ?> </div> </div> </body> </html>
Source Code Metode Biseksi dapat anda download disini!
Sumber rujukan : Metode Numerik dan Algoritma Komputasi (Drs. Achmad Basuki & NanaRamdijanti, S,Kom ; Andi Offset)
Komentar tentang Metode Biseksi
Invalid link download, tolong di upload ulang mas. Terima kasih. 🙂
Ini file-nya.
https://drive.google.com/file/d/0Bz88DDzxXgk_SkdMLTRiRk5VZEk/view?usp=sharing
file sql nya mas bro??
Ngga pake Sql mas brow.
Keren banget om! Metode lain selain biseksi di tunggu yaa hehe mantap
OK. Terima kasih
terima kasih banyak gan sudah banyak membantu
ok, sama2
berarti dari hasil perhitungan diatas nilai yang diambil yang mna bos kan disini mencari akar persamaan Fx