Anda di halaman 1dari 15

Bisection Method atau dikenal dengan metode bagi dua cara yang digunakan untuk menentukan

akar sebuah fungsi yang berada di antara dua titik pada sumbu hoizontal (sumbu x). Seperti akan
dicari akar / penyelesaian /solusi dari f(x)= x2 + 3x - 6.

Cara Mencari Solusi Persamaan dengan Metode Bagi Dua

Langkah yang harus dilakukan dalam mencari solusi eksak dari sebuah fungsi dengan metode
bagi dua ini adalah :

1. Menentukan 2 titik, misalkan a dan b pada sumbu x. Syaratnya a < b.


2. Bila f(a) * f(b) > 0, maka pencarian akar gagal.
3. Bila f(a)*f(b)< 0,
4. nilai untuk r = c = (a+b)/2. Ini karena c berada diantara a dan b. dilanjutkan
dengan b=c atau a=c
5. Proses ini dilanjutkan hingga nilai |b-a| < dari toleransi yang telah diberikan di
awal.
Sebagai pemahaman tambahan, c = (a+b)/2. Bila dalam hal ini bila f(c)=0 maka, akar persamaan
yang dicari adalah c atau r=c. Kemungkinan lain adalah jika f(c) bukan 0, maka r bukanlah c atau
akar yang dicari bukan c. Berikutnya harus diuji. Jika f(a).f(c) < 0 maka akar persamaan ada di
antara a dan c. Sebaliknya jika f(a).f(c)>0 maka akar persamaan berada di antara a dan b.
Langkah seperti ini dilakukan hingga ditemukan penyelesaian eksak.

Diketahui f(x)= x2 + 3x - 6. Akan dicari solusi persamaan tersebut dengan toleransi 0,01.

Langkah pertama kita akan tetapkan dua nilai batas sebagai interval. kita akan ambil 0 dan 1. Jika
di cari f(1) = -2 dan f(0)=-6. f(1)*f(0) = 12 > 0. Artinya pencarian akar pada selang ini gagal.
Untuk itu kita ambil interval lain yaitu 1 dan 2.

Untuk inerval [1,2] : f(1) = -2, f(2) = 4. f(1)*f(0) = -8 <0 - (*memenuhi syarat 3). Dengan
demikian ini bisa dilanjutkan dengan menggunakan nilai c = (a+b)/2 = (1+2)/2 = 1,5. f(c)= f(1,5)
= 0,4. Karena nilai |f(c) | > Toleransi maka dilanjutkan dengan menguji f(a)*f(c).

f(a) = -2, f(c) = 0,4. Karena f(a)*f(c)= -2*0,4 = -0,8 < 0 , Maka akar yang dicari berada diinterval
baru [a,c] = [ 1, 1.5]. Disini nilai b digantikan oleh c. Lanjutkan lagi mencari c yang baru.
c = (a+b)/2 = (1+1,5)/2 (ingat nilai b sudah digantikan oleh c). Lakukan lagi seperti langkah
sebelumnya. c = 1,375. Lalu cari f(c), bila ditemukan nilai | f(c) | > Toleransi, maka lakukan
perulangan. Perhitungan akan dihentikan saat nilai |f(c)| < Toleransi.

Jika anda melanjutkan hingga 8 kali maka baru akan diperoleh nilah |f(c)| <0. Saat itu nilai |f(c)| =
0,006. Kemudian lihatlah nilai c pada saat itu. Nilai c saat itu adalah 1,367. Maka solusi eksak
dari fungsi tersebut adalah : 1,367
an Kekurangan Metode Bagi 2
Kelebihan melakukan metode bagi dua (bisection method) ini adalah karena kesederhanaannya.
Kemudian ini termasuk konvergen (selalu). Sayangnya ketika menggunakan ini agak lama,
karena harus menebak dua titik dan dilakukan perulangan. Dengan perulangan tersebut pastinya
untuk menemukan keknvergenan terolong lambat. Kemudian, bila dalam interval terdapat akar
yang sama metoda ini dirasa kurang akurat.

http://www.marthamatika.com/2016/10/contoh-soal-dan-pembahasan-metode-bagi-dua-metode-
numerik.html

Metoda bagi dua atau dikenal dengan bisection method adalah metoda tertutup, maksudnya
metoda ini digunakan untuk menentukan akar sebuah fungsi yang berada di antara dua titik pada
sumbu hoizontal (sumbu x). Contohnya, diketahui r = akar yang belum diketahui dari sebuah
fungsi f(x) dimana f(x) kontinu.
Adapun langkah yang harus dilakukan adalah :

1. Menentukan 2 titik, misalkan a dan b pada sumbu x. Syaratnya a < b.


2. nilai untuk r = c, berada diantara a dan b. Sehingga karena berada di antara adan b
berlaku hubungan c = (a+b)/2.
3. Bila f(a) * f(b) > 0, maka pencarian akar gagal.
4. Bila f(a)*f(b)< 0, dilanjutkan dengan b=c atau a=c
5. Proses ini dilanjutkan hingga nilai |b-a| < dari toleransi yang telah diberikan di
awal.
c = (a+b)/2. Dalam hal ini bila f(c)=0 maka, akar persamaan yang dicari adalah c atau r=c.
Kemungkinan lain adalah jika f(c) bukan 0. Maka akan harus diuji. Jika f(a).f(c) < 0 maka
akarpersamaan ada di antara a dan c. Sebaliknya jika f(a).f(c)>0 maka akar persamaan berada di
antara a dan b. Langkah seperti ini dilakukan hingga ditemukan penyelesaian eksak.

Keuntungan menggunakan metode bagi dua (bisection method) ini adalah karena
kesederhanaannya. Kemudian ini termasuk konvergen (selalu). Sayangnya ketika menggunakan
ini agak lama, karena harus menebak dua titik dan dilakukan perulangan. Dengan perulangan
tersebut pastinya untuk menemukan keknvergenan terolong lambat. Kemudian, bila dalam
interval terdapat akar yang sama metoda ini dirasa kurang akurat.

Untuk mempermudah pencarian ini bisa digunakan program matlab. Adapun penulisan kode
tersebut seperti berikut.

function fsposisisalah(f,a,b,n,toll)
% ----------- Bisection Method----------
% variabel f :fungsi,
% a :batasan titik awal yang mengafit akar c
% b :batasan titik akhir yang mengafit akar c
% n :banyaknaya iterasi
% toll: nilai toleransi (epsiolon) yang membatasi
iterasi
syms x;
N=[];
disp('-------------------------------------------------------
---------');
fprintf('\t interval \t a\t\t c \t\t b \t\t fa \t\t fc \t
fb\t\n');
disp('-------------------------------------------------------
---------');
for i=1:n, % i bergerak dari i sampai n
fa=subs(f,x,a); % fa = f(a)
fb=subs(f,x,b); % fb = f(b)
c=b-(fb*(b-a)/(fb-fa));
fc=subs(f,x,c); % fc = f(c)
N=[N;i a c b fa fc fb];
if fa*fc<0 % f(a).f(c) < 0 maka
b=c; % interval akar ada di [a,c]
else % sebaliknay jika f(b).f(c) <
0 maka
a=c; % interval akar ada di [c,b]
end
if abs(b-a)<toll % iterasi berenti ketika |b-
a|< epsilon
break; % epsilon=toll --> didef.
diawal
end
end
N
% ---------------------------------------------------------------
----------
% Untuk memanggil di Command Window
% Pilih interval [a,b]=[2,3] dan n=25 dan toll=10^(-6)
% >> syms x;
% >> f=x^3-3*x-5
% fsbisection(f,2,3,25,1e-6)
Akan didapat hasil seperti gambar di atas. Dari contoh tersebut kita mencari akar persamaan dari
f(x) =x3-3x-5 dalam interval [2,3]. Nilai yang didapat dari iterasi dengan toleransi 10 -6 ada pada
perhitungan ke 20. Jika diperhatikan, bagian yang saya warnai biru adalah data permasalahan.
Anda pasti bisa menganalisa bagia bagian tersebut.

http://www.marthamatika.com/2016/10/contoh-program-metode-bagi-dua-dalam-metode-
numerik.html

Komputasi Numeris: Metode Setengah Interval (Bisection Method).


Pendahuluan

Walaupun primitif dan merupakan metode dengan segala keterbatasan yang ada, metode
setengah interval adalah metode paling sederhana dan paling mudah untuk dipahami
sehingga cocok sebagai pembelajaran awal mata kuliah "Komputasi/ Metode Numeris".
Kesederhanaan yang penulis maksud adalah kemudahan untuk menjelaskan istilah
"interval" yang nanti akan kita gunakan pada metode secant pada pembahasan berikutnya.
Metode ini metode iteratif yang digunakan untuk mencari akar persamaan (linier maupun
non-linear) yang memiliki akar real.

Dasar Teori

1. Menentukan area awal

Metode setengah interval dimulai dari menentukan area (interval) awal sedemikian rupa
sehingga, interval tsb mengapit akar pesamaan yang akan kita cari.
Gambar 1: Penentuan Area Awal

Ini kesulitan pertama metode setengah interval. Area awal yang dipilih HARUS mengapit
akar yang akan dicari. Cara paling mudah adalah menentukan area awal, selebar-lebarnya,
tapi ini akan berakibat pada jumlah iterasi yang semakin banyak.

Okay sementara, abaikan jumlah iterasi yang banyak tersebut, yang penting, ketemu dulu
akarnya. :)

2. Membagi dua area.

Setelah interval awal kita tentukan, berikutnya, kita bagi area tersebut menjadi dua (red:
inilah yang menyebabkan metode ini disebut metode setengah interval) sehingga grafiknya
menjadi seperti berikut:

Gambar 2: Pembagian Dua Area

Proses ini mudah, tinggal jumlahkan nilai X1 dan X3 kemudian dibagi 2. Dapatlah nilai X2.

3. Membuang area yang tidak diperlukan.

Bagian ini sedikit sulit. Jika kita melihat grafik, mungkin tidak sulit bagi kita untuk
menentukan bahwa area yang akan dibuang adalah area antara X1 s.d. X2. Tapi
bagaimana jika dilakukan menggunakan program?

Untuk membuang daerah yang tidak diperlukan kita bisa memasukkan nilai X1, X2 dan X3
pada persamaan yang akan kita cari yaitu f(X1), f(X2) dan f(X3) seperti terlihat pada gambar
berikut:
Gambar 3: Penentuan Titik-Titik Fungsi

Setelah kita tentukan, nilai f(X1), f(X2) dan f(X3), berikutnya kita "pilih" yang mana dari nilai
X1 atu X3 yang akan kita "replace" dengan X2. Kata me-replace di sini artinya dibuang.

Caranya?

Kita pilih di antara X1 dan X3 yang memiliki tanda yang sama dengan X2. Sama-sama
positif atau sama-sama negatif. Menentukannya mana di antara X1 dan X3 yang memiliki
tanda yang sama dengan X2, cukup kalikan saja f(X1) dengan f(X2). Jika menghasilkan nilai
positif ( > 0 ) maka f(X1) memiliki tanda yang sama dengan f(X2). Ini sesuai kodrat alam
yang mengatakan:

"Jika dua bilangan dikalikan menghasilkan bilangan positif, maka kedua bilangan tersebut
sama tandanya dan jika negatif maka kedua bilangan tersebut berbeda tanda"

Sehingga grafik di atas menjadi:

Gambar 4: Area Setelah Dibagi Dua.

4. Mencari Error

Kata orang, mencari kesalahan adalah usaha paling mudah. Apalagi "kesalahan orang lain".
Di sinipun, mencari kesalahan bisa menggunakan beberapa cara. Misalnya:
 Mencari selisih antara X2 dengan nilai X2 sebelumnya.
 Selisih antara nilai mutlak f(X2) dengan 0
Saya menggunakan cara yang kedua.
Apabila selisih antara f(X2) dengan 0 sudah lebih kecil dari toleransi error yang diberikan,
maka selesailah sudah. Nilai X2 itulah yang menjadi akar persamaan. Jika belum, ulangi
langkah 2.

5. Hasil akhir

Proses lengkap dari metode bisection ini digambarkan sebagai berikut:

Gambar 5. Iterasi Bisection

Algoritma Metode Bisection

Setelah kita paham metode bisection, saatnya kita tulis algoritma sederhananya (dulu).
1. Tentukan nilai awal X1 dan X3, toleransi_error=0.0001, f(X2) = 1 dan
jumlah_langkah = 0.
2. Ketika f(X2) > toleransi error:
3. Cari X2 = (X1 + X3) / 2
4. Cari f(X1) dan f(X2)
5. Jika (f(X1) * f(X2)) > 0
6. X1 = X2
7. Jika tidak, X3 = X2
8. Cari nilai mutlak f(X2) = | f(X2)|
9. Loop ke langkah 2.
10. Tampilkan hasil persamaan = X2.
11. Selesai
Algoritma di atas, adalah algoritma sederhana dari metode bisection. Silahkan improvisasi
sendiri untuk anomali-anomali yang ada.

 Nilai X1 dan X3 ternyata tidak mengapit akar persamaan yang dicari


 Ada lebih dari satu akar pada arena X1 dan X3 yang ditentukan.
Listing program:

Asumsikan persamaan yang akan kita cari adalah: f(x) = x^2 - x - 6 dimana akar yang akan
kita peroleh seharusnya 3 dan -2.

#include <iostream>
using namespace std;

void main() {

float x1,x2,x3,fx1,fx2,fx3,toleransi_error;
int iterasi;

cout << "Masukkan Nilai X1 : ";


cin >> x1;
cout << "Masukkan Nilai X3 : ";
cin >> x3;

toleransi_error=1;
iterasi=0;

while (toleransi_error > 0.00001)


{
iterasi++;
fx1 = (x1 * x1) - x1 - 6;
fx3 = (x3 * x3) - x3 - 6;

x2 = (x1 + x3) / 2;
fx2 = (x2 * x2) - x2 - 6;

if ((fx1 * fx2) > 0)


x1 = x2;
else
x3 = x2;

if (fx2 < 0)
toleransi_error = fx2 * -1;
else
toleransi_error = fx2;

cout << "Jumlah iterasi : " << iterasi << endl;


cout << "Akar persamaan : " << x2 <<endl;

system ("pause");
}

Testing Program

Setelah kita tulis kode program, saatnya kita jalankan program sederhana tersebut.
Gambar 6: Output Program

Ingat, contoh di atas adalah penerapan metode bisection paling sederhana dengan
mengabaikan anomali-anomali yang ada. Silahkan di-improvisasi sendiri untuk anomali-
anomali tersebut.

Versi Excel

Berikut angka-angka metode bisection jika ditulis menggunakan MS Excel:


http://jati.stta.ac.id/2017/05/komputasi-numeris-metode-setengah.html
Metoda interval bagi-dua atau disebut juga metoda interval tengah adalah salah satu cara yang
sering digunakan untuk mencari suatu akar. Misalkan kita mengetahui bahwa f(x) = 0 memiliki satu
akar antara x = a dan x = b ; maka f(a) dan f(b) memiliki tanda berlawanan (diasumsikan bahwa grafik
f(x) adalah menerus antara a dan b ) sekarang kita lihat bahwa c adalah pertengahan antara a dan b ,
yaitu c = 1/2(a+b), dan menghasilkan f(c).

Jika f(c) memiliki tanda yang sama seperti f(a), maka akarnya terletak antara c dan b; atau
kemungkinan lain akarnya terletak antara a dan c. Kemudian dikurangi interval dalam menentukan
letak akar menjadi setengah dari lebar rentang aslinya. Kita ulang proses tersebut, pengurangan
interval menjadi 1/4 , 1/8, 1/16, …. sampai kita dapat menentukan akarnya sesuai dengan
keakuratan yang kita inginkan.

Prosedur hitungan secara grafis untuk mendapatkan akar persamaan :

1. Hitung fungsi interval yang sama dari x sampai pada perubahan tanda dari fungsi f(xn) dan f(xn+1)
, yaitu apabila f(xn) x f(xn+1) < 0 .

2. Estimasi pertama dari akar xt dihitung dengan

xt = 1/2{ xn + xn+1 } (1)

3. Buat evaluasi berikut untuk menentukan di dalam sub interval mana akar persamaan berada :

a. Jika f(xn) x f(xn+1) < 0 , akar persamaan berada pada sub interval pertama, kemudian tetapkan
xn+1 = xt dan lanjutkan pada langkah ke 4.

b. Jika f(xn) x f(xn+1) > 0 , akar persamaan berada pada sub interval kedua, kemudian tetapkan xn =
xt dan lanjutkan pada langkah ke 4.

c. Jika f(xn) x f(xn+1) = 0 , akar persamaan adalah xt dan hitungan selesai.

4. Hitung perkiraan baru dari akar dengan persamaan (1)

5. Apabila perkiraan baru sudah cukup kecil (sesuai dengan batasan yang ditentukan ), maka
hitungan selesai, dan xt adalah akar persamaan yang dicari. jika belum, maka hitungan kembali ke
langkah 3.
Gambar Prosedur perhitungan

Contoh 1:

Hitung salah satu akar dari persamaan pangkat tiga berikut :

f(x) = x3 + x2 – 3x – 3 = 0

Penyelesaian :

Menerka dua nilai bilangan yang memberikan nilai f(x) berbeda tanda, misal : x = 1 dan x = 2

untuk x = 1 , f(1) = 13 + 12 – 3(1) – 3 = – 4

untuk x = 2 , f(2) = 23 + 22 – 3(2) – 3 = 3

Dihitung nilai xt =(x1+x2)/2 =(1+2)/2 = 1,5

F(xt =1,5) = 1,53 +1,52 – 3(1,5) – 3 = – 1,875

Oleh karena nilai fungsi berubah tanda antara x = 1,5 dan x = 2 , maka akar terletak diantara kedua
nilai tersebut. Langkah selanjutnya membuat setengah interval berikutnya untuk membuat interval
yang lebih kecil. Adapun hasil perhitungan ada pada Tabel. 1

Tabel 1. Hasil perhitungan metoda interval bagi-dua

Iterasi Xn Xn+1 Xt f(xn) f(xn+1) f(xt)


1 1 2 1,5 -4,0 3,0 -1,875

2 1,5 2 1,75 -1,875 3,0 0,17187

3 1,5 1,75 1,625 -1,875 0,17187 -0,94335

4 1,625 1,75 1,6875 -0,94335 0,17187 0,40942

5 1,6875 1,75 1,71875 -0,40942 0,17187 -0,12478

6 1,71875 1,75 1,733437 -0,12478 0,17187 -0,02198

7 1,71875 1,73437 1,72656 -0,12478 0,17187 0,021198

.. .. .. .. .. .. ..

¥ .. .. 1,73205 .. .. -0,00000

Contoh 2:

Hitung salah satu akar dari persamaan pangkat tiga berikut :

f(x) = x3 – 5x2 – 2x + 10 = 0

Penyelesaian :

Menerka dua nilai bilangan yang memberikan nilai f(x) berbeda tanda, misal : x = 1 dan x = 3

untuk x1 = 1 , f(1) = 13 – 5(12)- 2(1) + 10 = 4

untuk x2 = 3 , f(3) = 33 – 5(32)- 2(3) + 10 = -14

Dihitung nilai x3 =(x1+x2)/2 =(1+3)/2 = 2

F(x3 = 2) = 23 – 5(22)- 2(2) + 10 = – 6


Oleh karena nilai fungsi berubah tanda antara x1 = 1 dan x3 = 2 , maka akar terletak diantara kedua
nilai tersebut. Langkah selanjutnya membuat setengah interval berikutnya untuk membuat interval
yang lebih kecil. Adapun hasil perhitungan ada pada Tabel. 2. Dan ini dapat dilakukan dengan
berbantuan Ms. Excel 2007 dengan sangat mudah dan cepat:

Berikut adalah formulanya:


Dengan menggunakan excel kita dapat dengan mudah melakukan perhitungan untuk mencari nilai
tiap-tiap fungsinya hanya dengan meng-copy kebawah iterasi yang berikutnya.

Langkah-langkahnya:

[1] Ketik terkaan awal yaitu 1 untuk Xn – nya dan 3 untuk Xn+1 masing-masing pada cell A4 dan C4.

[2] Lalu pada cell B4, Jumlahkan kedua nilai terkaan awal tersebut lalu bagi 2 sebagaimana dapat
dilihat pada formula tersebut.

[3] Pada masing-masing fungsinya, di cell E4, F4, dan G4, masukkan masing akar terkaan awal
dan akar baru (jumlah dua akar terkaan awal dibagi dua) kedalam fungsi yang dimaksud.

[4] Tambahkan satu kolom lagi untuk nge-check tanda perkalian dua buah fungsi, yaitu nilai fungsi
dari salah satu akar terkaan awal dan nilai fungsi dari akar baru.

[5] Pada baris ke-5 penampakan excel diatas, masukkan fungsi If pada cell A5 dan C5 seperti yang
ditunjukkan. U Know what i mean?

[6] Sedangkan untuk cell B5, copy dari cell diatasnya yaitu B4. Demikian pula, cell E5, F5 dan G5,
copy dari cell diatasnya.

[7] Pada baris 5 excel diatas, sorot satu range (A5,G5) lalu copy ke bawah dengan cara men-drag
kursor mouse pada pada pojok kanan bawah range.

[8] Selesai

Sampai iterasi ke-5, salah satu akarnya sudah dapat diperoleh yaitu X=1,406 dengan f(x)= 0,080719.
Dengan meneruskan iterasi-nya maka nilai akarnya dapat dibuat semakin mendekati nol sehingga
keakuratannya lebih tinggi.

https://taufiqurrokhman.wordpress.com/2014/05/02/metoda-interval-bagi-dua-interval-
bisection/?fbclid=IwAR3muy0vX1YU6H8UM6r59uQZH2E9KttmXn-8kVdpPjsJ-MhhVrMdIYtvyj4

Anda mungkin juga menyukai