(Java)Mencari Akar persamaan dengan metode Bisection – KOMPUTASI NUMERIK

Penyelesaian persamaan non linier adalah penentuan akar-akar persamaan non linier. Akar sebuah persamaan adalah nilai-nilai x yang menyebabkan nilai sama dengan nol. Dengan kata lain akar persamaan adalah titik potong antara kurva dan sumbu X.
Beberapa persamaan polynomial yang sederhana dapat diselesaikan dengan theorema sisa, sehingga tidak memerlukan metode numerik dalam menyelesaikannya, karena metode analitik dapat dilakukan.Tetapi bagaimana menyelesaikan persamaan . Tampaknya sederhana, tetapi untuk menyelesaikan persamaan non linier merupakan metode pencarian akar secara berulang-ulang. Beberapa metode akan dibahas dalam bab ini, diantaranya adalah metode bisection dan regula falsi.
1.1. Metode Bisection
Sebelum lebih jauh membahas metode bisection, ada sebuah teorema yang senantiasa digunakan dalam proses iterasi sebagai berikut.

Theorema 1.
Suatu fungsi f(x) terdefinisi dan diketahui sebuah range . Fungsi f(x) akan mempunyai akar bila dan berlawanan tanda atau memenuhi
Ide awal metode ini adalah metode table, dimana area dibagi menjadi N bagian. Hanya saja metode bisection ini membagi range menjadi 2 bagian, dari dua bagian ini dipilih bagian mana yang mengandung dan bagian yang tidak mengandung akar dibuang. Hal ini dilakukan berulang-ulang hingga diperoleh akar persamaan.

a
Gambar 1. Pencarian akar menggunakan metode bisection
Untuk menggunakan metode bisection, terlebih dahulu ditentukan batas bawah (a) dan batas atas (b). Kemudian dihitung nilai tengah :
Dari nilai x ini perlu dilakukan pengecekan keberadaan akar. Secara matematik, suatu range terdapat akar persamaan bila f(a) dan f(b) berlawanan tanda atau dituliskan . Setelah diketahui dibagian mana terdapat akar, maka batas bawah dan batas atas di perbaharui sesuai dengan range dari bagian yang mempunyai akar.

 import javax.swing.JOptionPane;

/**
 *
 * @author aerdy4
 */
public class Bisection {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    float a,b,c,fa,fb,fc,konfergensi;
    int iterasi;
    
    a = Float.parseFloat(JOptionPane.showInputDialog("Masukkkan A"));
    b = Float.parseFloat(JOptionPane.showInputDialog("Masukkkan B"));
    konfergensi = 1;
    iterasi = 0;
    while(konfergensi>0.0000005){
        c=(a+b)/2;
        fa=(2*a)+3;
        fb=(2*b)+3;
        fc=(2*c)+3;
        
        if((fc*fb)>2){
            b=c;
            
        }else{
            a=c;
        }
        konfergensi=a-b;
        if(konfergensi<0){
            konfergensi = konfergensi *-1;
            iterasi++;
        }
        System.out.println("Jumlah Iterasi :"+iterasi);
        System.out.println("Akar Persamaan :"+a);
    }
    }
}
Capture

Advertisements

Published by

jarcode

hello I am jarcode

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