Anda di halaman 1dari 7

NAMA : GARENKRIS HAYAKU

NIM
: C1355201030
METODE BISECTION
Metode Bidang Bebas atau lebih spesifik lagi Metode Bidang Paruh (Bisection) adalah
pemaruhan(nilai rata-rata) dari nilai estimasi akar suatu persamaan aljabar non-linear tunggal
yang dibentuk dengan cara menebak 2 buah harga awal pada interval [a,b] yang bertempatkedudukan mengapit (di kiri dan kanan) akar atau jawab yang sebenarnya. Metode ini pada
umumnya memerlukan 2 (dua) buah tebakan untuk harga-harga x-awal (x0 dan x1).
Solusi akar (atau akar-akar) dengan menggunakan Metode Bisection memiliki sifat-sifat
numeris sebagai berikut:
(a) Selalu melakukan pembagian dua (pemaruhan) interval [a,b] yang mengapit akara,
sehingga setelah n kali iterasi akan didapatkan akar persamaan yang berdekatan dengan
harga yang sebenarnya (solusi analitis), dengan memperhitungkan kriteria (akurasi) yang
diinginkan.
(b) Kecepatan atau laju konvergensi dari metode bisection dapat diperkirakan menggunakan
persamaan pendekatan:

Yang dapat dibuktikan bahwa:

(c) Panjang (b - a) menggambarkan panjang interval yang digunakan sebagai harga awal
untuk memulai proses iterasi dalam metode bisection; yang berarti bahwa metode ini
memiliki konvergensi linier dengan laju .

Dari representasi grafis di atas, dapat diambil kesimpulan:

sehingga setelah n kali iterasi akan diperoleh:

Pada saat panjang interval [a,b] tidak melampaui suatu harga t (yang di dalamnya terdapat
akar a), sedemikian rupa sehingga jarak akar a tersebut dengan ekstremitas interval tidak
melebihi t, maka pada saat itu toleransi perhitungan sudah dapat dilakukan.
Adapun algoritma metode bisection adalah sebagai berikut :
Asumsi awal yang harus diambil adalah: menebak interval awal [a,b] dimana f(x) adalah
kontinu padanya, demikian pula harus terletak mengapit (secara intuitif) nilai akar a,
sedemikian rupa sehingga: f (a) f (b) 0
Algoritma BISECTION (f,a,b,akar,e,iter,itmax,flag)
1)
2)
3)
4)
5)
6)
7)
8)

Tebak harga interval [a,b]; tentukan e; dan itmax


Set f0 = f(a); iter = 0; flag = 0;
Tentukan atau hitung akar = c := (a + b)/2; iter = iter + 1;
Jika f(a)f(c) 0 maka b = c jika tidak a = c dan f0 = f(a);
Jika (b a) e maka flag = 1 jika iter > itmax maka flag = 2;
Jika flag = 0 ulangi ke nomor 3;
Akar persamaan adalah: akar = (a + b)/2, sebagai akar terbaru;
Selesai.

Kelebihan metode bisection : Sangat simple, konvergen terjamin


Kekurangan metode bisection : Proses konvergen lamban.
Contoh Program Bisection
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;
}
Hasil :

METODE FALSE POSITION

Metode Posisi Salah merupakan salah satu solusi pencarian akar dalam penyelesaian
persamaan-persamaan non linier melaui proses iterasi (pengulangan). Persamaan non linier ini
biasanya berupa persamaan polynomial tingkat tinggi, eksponensial, logaritmik, dan kombinasi
dari persamaan-persamaan tersebut. Seperti metode biseksi, Metode regula falsi juga termasuk
dalam metode tertutup. Pada umumnya pencarian akar dengan metode biseksi selalu dapat
menemukan akar, namun kecepatan untuk mencapai akar hampiran sangat lambat, oleh karena
itu untuk mempercepat pencarian akar tersebut dibutuhkan metode lain yaitu metode regula
falsi. kehadiran metode regula falsi adalah sebagai modifikassi dari metode biseksi, yang
kinerjanya lebih cepat dalam mencapai pendekatan nilai akar.
Solusi akar (atau akar-akar) dengan menggunakan Metode Regula-Falsi merupakan modifikasi
dari Metode Bisection dengan cara memperhitungkan kesebangunan yang dilihat pada kurva
berikut:

Perhatikan kesebangunan 2 segitiga Pcb dan PQR, sehingga persamaan berikut dapat
digunakan:

Atau

Sehingga diperoleh

Persamaan di atas disebut sebagai persamaan rekursif dari Metode Regula Falsi.
Kecepatan atau laju konvergensi dari Metode Regula-Falsi sama dengan Metode Bisection,
yaitu konvergensi linier, namun dengan faktor pengali (konstanta) yang lebih besar dari 1 2
(factor pengali berkisar antara 1/ 2 1).
Adapun algoritma dari metode false position adalah :
Asumsi awal yang harus diambil adalah sama seperti pada Metode Bisection, yaitu: menebak
interval awal [a,b] dimana f(x) adalah kontinu padanya, demikian pula interval tersebut harus
terletak mengapit (secara intuitif) nilai akar a, sedemikian rupa sehingga: f (a) f (b) 0
Meskipun pada algoritma berikut masih mengandung beberapa kelemahan, namun secara
umum masih sangat menguntungkan untuk dipakai. Perbaikan dan modifikasi secara numeris
dilakukan oleh Brent (Atkinson, 1978), untuk algoritma tersebut.
Algoritma REGFAL(f,a,b,akar,e,iter,itmax,flag)
1.
Tebak harga interval [a,b]; tentukan e; dan itmax
2.
Set xold = 2*b-a; iter = 0; flag = 0;
3.
Tentukan atau hitung akar = c = b f(b) [(b a)/(f(b) f(a)); iter = iter + 1;
4.
Jika f(b)f(c) 0 maka a = c jika tidak b = c;
5.
Jika abs(c xold) e maka flag = 1 atau jika iter > itmax maka flag = 2 atau jika tidak
maka iter = iter + 1 dan akar = c;
6.
Jika flag = 0 ulangi ke nomor 3;
7.
Selesai.
Sehingga formula rekursif dari Metode REGULA-FALSI: dapat dituliskan dalam resume
berikut:

Adapun sifat atau karakteristik metode ini secara umum adalah:

Memerlukan 2 harga awal ( a0 dan b0 sedemikian rupa sehingga f(a0)f(b0) 0)


Konvergensi Superlinier ( Sedang, antara linier dan kuadrat)
Baik digunakan untuk fungsi yang turunannya tak terdefinisi dengan jelas (diskontinyu)
Divergen (RTE, run time error) bila an = bn ( D @ emesin)
Kriteria penghentian iterasi : - e b n a n dan atau f ( x n ) e

Kelebihan metode False Position : Konvergen terjamin


Kekurangan metode False Position : Proses lambat untuk mencapai konvergen
Dibawah ini adalah program bahasa c untuk memperjelas keterangan di atas, yaitu akan dicari
nilai x positif pada persamaan
persamaan dalam bentuk fungsi baru

. Masalah ini diubah ke dalam suatu akar


=

= 0.

#include <stdio.h>
#include <math.h>
double f(double x)
{
return

- x*x*x;

}
double FalsiMethod(double s, double t, double e, int m)
{
int n,side=0;
double r,fr,fs = f(s),ft = f(t);
for (n = 1; n <= m; n++)
{
r = (fs*t - ft*s) / (fs - ft);
if (fabs(t-s) < e*fabs(t+s)) break;
fr = f(r);
if (fr * ft > 0)
{
t = r; ft = fr;
if (side==-1) fs /= 2;
side = -1;
}
else if (fs * fr > 0)
{
s = r; fs = fr;
if (side==+1) ft /= 2;
side = +1;

}
else break;
}
return r;
}
int main(void)
{
printf("%0.15f\n", FalsiMethod(0, 1, 5E-15, 100));
return 0;
}

Setelah menjalankan program ini, jawaban akhirnya kira-kira 0.865474033101614.

Sumber : http://m-d-amrullah.blogspot.com/

Anda mungkin juga menyukai