Metode Bagi Dua – Apa itu, Algoritma, dan Contoh

Apa itu Metode Bagi Dua?

Metode Bagi Dua merupakan salah satu solusi numerik dasar untuk menemukan akar persamaan polinomial. Metode ini mengurung interval tempat akar persamaan berada dan membaginya menjadi dua bagian dalam setiap iterasi hingga menemukan akarnya. Dengan demikian, metode bagi dua juga disebut metode pengurungan.

Akan tetapi, karena mekanisme kerjanya mirip dengan algoritma pencarian biner, metode bagi dua juga dikenal sebagai metode pencarian biner, metode bagi dua, atau metode dikotomi. Metode ini terutama didasarkan pada teorema nilai antara.

Menemukan Akar Persamaan

Dalam contoh ini, kita hanya mempertimbangkan persamaan dengan satu variabel bebas. Itu bisa linier atau nonlinier. Persamaan linier digunakan untuk mewakili grafik garis lurus, sedangkan persamaan non-linier digunakan untuk mewakili kurva.

Akar persamaan berarti nilai variabel bebas yang memenuhi persamaan tersebut. Contoh: akar persamaan f(x)= 4-x2 = 0 adalah 2 karena f(2) = 4-22 = 0.

Mari kita anggap f(x) sebagai fungsi kontinu nyata. Berdasarkan teorema nilai antara, persamaan f(x)=0 mempunyai paling sedikit satu akar antara a dan b jika f(a)f(b) < 0. Fungsi f(x) mempunyai akar “c,” antara a dan b.

Menemukan Akar Persamaan

Representasi Grafis Metode Bagi Dua

Grafik berikut menggambarkan mekanisme kerja metode bagi dua. Dari grafik, kita dapat melihat bahwa akar persamaan diberi tanda merah.

Memulai dengan:

  • Kami pertama-tama mengambil dua tebakan awal, a1 dan B1, untuk itu f(a1)f(b1) < 0. Menurut teorema nilai antara, akarnya harus terletak di [a1, b1].
  • Kita dapat mencari titik tengah a1 dan B1, yaitu b2. Jadi, interval awal sekarang dikurangi menjadi [a1, b2] karena f(a1)f(b2) < 0.
  • Dengan cara yang sama, interval dikurangi hingga solusi perkiraan ditemukan.

Representasi Grafis Metode Bagi Dua

Algoritma Metode Bagi Dua

Langkah-langkah penerapan algoritma metode bagi dua untuk mencari akar persamaan f(x)=0 adalah sebagai berikut

Langkah 1) Pilih tebakan awal a, b, dan tingkat toleransi e

Langkah 2) Jika f(a)f(b) >=0, maka akarnya tidak terletak pada interval ini. Dengan demikian, tidak akan ada solusi.

Langkah 3) Tentukan titik tengahnya, c = (a+b)/2

(i) Jika nilai fungsi titik tengah f(c) = 0, maka c adalah akarnya. Lanjutkan ke langkah 5.
(ii) Jika f(a)f(c) < 0 akarnya terletak di antara a dan c. Kemudian himpunan a = a, b = c.
(iii) Himpunan lain a = c, b = b.

Langkah 4) Jika kesalahan absolut lebih tinggi dari tingkat toleransi atau (ba) > e, lanjutkan ke langkah 3.

Langkah 5) Tampilkan c sebagai perkiraan root.

Mari kita lihat contoh algoritma metode bagi dua.
Kita harus mencari akar fungsi kontinu berikut menggunakan rumus metode bagi dua.

f(x) = x3 - x2 + 2

Contoh Metode Bagi Dua

Langkah 1) Mari kita asumsikan,

         sebuah = -10,
         b = 10, dan
         e = 1% atau 0.01

Langkah 2) Sekarang, kita akan memeriksa apakah f(a)f(b) >= 0 atau tidak.

         f(a) = f(-10) = (-10)3 – (-10)2 + 2 = -1098
         f(b) = f(10) = (10)3 – (10)2 + 2 = 902
         f(a)f(b) = f(-10)f(10) = (-1098)(902) < 0

Oleh karena itu, akar dari fungsi di atas terletak pada interval ini [-10, 10].

Langkah 3) Kemudian titik tengah c akan dihitung terlebih dahulu.

Contoh Metode Bagi Dua

Sekarang kondisi berikut perlu diperiksa:

(i) apakah f(c) = 0:
         f(c) = f(0) = (0)3 – (0)2 + 2 = 2 ≠ 0

(ii) jika f(a)f(c) < 0:
         f(c)f(a) = 2*(-1098) < 0

Syaratnya terpenuhi. Untuk iterasi berikutnya, nilainya adalah,

         a = a = -10
         b = c = 0

Langkah 4) Karena (ba) = (0-(-10)) = 10>0.05, proses akan diulangi. Iterasi selanjutnya ditunjukkan pada tabel.

Pengulangan a b c ba f(c)
1 -10 0 0 10 2
2 -5 0 -5 5 -148
3 -2.5 0 -2.5 2.5 -19.875
4 -1.25 0 -1.25 1.25 -1.52562
5 -1.25 -0.625 -0.625 0.625 1.36523
6 -1.25 -0.9375 -0.9375 0.3125 0.297119
7 -1.09375 -0.9375 -1.09375 0.15625 -0.50473
8 -1.01562 -0.9375 -1.01562 0.078125 -0.0791054
9 -1.01562 -0.976562 -0.976562 0.0390625 0.115003
10 -1.01562 -0.996094 -0.996094 0.0195312 0.0194703
11 -1.00586 -0.996094 -1.00586 0.00976562 -0.0294344

Langkah 5) Pada iterasi ke-11, kondisi langkah 4 akan salah. Jadi, akar persamaan ini adalah -1.00586.

Diagram Logika Metode Bagi Dua

Diagram Logika Metode Bagi Dua

Kode Semu

Start
Set a, b, e
if f(a)*f(b) >=0 
	Output("Root does not exist in this interval")
	Stop
while (b-a)>e do   
	c ← (a + b)/2    
	if f(c) = 0
        	break    
	end if 
	if f(c)*f(a) < 0 then
      	b ← c    
	else        
		a ← c
end while
Output(c)
Stop

Contoh Metode Bagi Dua di C/C++

Memasukkan:

#include<bits/stdc++.h>
using namespace std;
#define Error 0.01
double value(double x)
{
	return x*x*x - x*x + 2;
}
void bisection_method(double a, double b)
{
	if (value(a) * value(b) >= 0)
	{
		cout << "The root does not lie in this interval\n";
		return;
	}
	double c = a;
	while ((b-a) >= Error)
	{
		c = (a+b)/2;
		if (value(c) == 0.0)
			break;
		else if (value(c)*value(a) < 0)
			b = c;
		else
			a = c;
	}
	cout << "The root is :" << c;
}
int main()
{
	double a =-10 , b = 10;
	bisection_method(a, b);
	return 0;
}

Keluaran:

The root is :-1.00586

Contoh Metode Bagi Dua di Python

Memasukkan:

def value(x):
	return x*x*x - x*x + 2
def bisection_method(a,b):
	if (value(a) * value(b) >= 0):
		return
	c = a
	while ((b-a) >= 0.01):
		c = (a+b)/2
		if (value(c) == 0.0):
			break
		if (value(c)*value(a) < 0):
			b = c
		else:
			a = c			
	print("The root is : ","%.4f"%c)	
a =-10
b = 10
bisection_method(a, b)

Keluaran:

The root is :  -1.0059

Kelebihan & Keterbatasan Metode Bagi Dua

Berikut Kelebihan dan Kekurangan Metode Bagi Dua:

Pro Kekurangan
Metode pencarian root yang mudah dan sederhana untuk diterapkan. Konvergensinya lambat karena hanya didasarkan pada pengurangan separuh interval.
Karena ia berada di dalam kurung akar, maka ia selalu konvergen. Jika salah satu tebakan awal dekat dengan akar, maka untuk mencapai akar akan memerlukan lebih banyak iterasi.
Tingkat kesalahan dapat dikontrol dengan menambah atau mengurangi jumlah iterasi.