Akolade: Bisection

INISIALISASI

Untuk memulai mencari solusi akar persamaan dengan menggunakan Metode Bisection, pastikan telah mengimport package akolade yang menampung metode ini.

import computing.numeric as num
import computing.akolade as akolade

kemudian lakukan inisialisasi awal dengan menggunakan class Numerical.

misalnya rumus yang akan kita pakai adalah 

    

numeric = num.Numerical(
    low=1,
    high=3,
    step=0.1,
    formula="x^2 - 4*x - 12"
)

lakukan perhitungan numerik pada metode Tabulasi pada class Tabulation.
tabulation = akolade.Tabulation(numeric, title=False, precision=3)

dan yang terakhir kita panggil class Bisection pada akolade dan simpan ke dalam variabel bisection.
bisection = akolade.Bisection(tabulation, x1=0, x2=3, iteration=10, eksak=2.00)

Bisection

Class ini akan melakukan perhitungan komputasi pada metode Bisection dalam mencari nilai akar persamaan atau nilai eksak dari suatu rumus f(x) yang telah ditentukan dengan perpacu pada nilai Eksak hasil dari metode Tabulasi.


Parameter: tabulation

Sebuah parameter wajib untuk menggunakan metode Bisection ini, parameter tabulation ini bisa didapat melalui perhitungan menggunakan metode Tabulasi.


Parameter: x1 dan x2

Sebuah parameter opsional untuk menentukan nilai x1 dan x2 dalam perhitungan Bisection dalam mencari nilai x3.

Jika kita tidak memasukan nilai x1 dan x2, maka nilai x1 dan x2 akan diisi oleh points atau nilai yang berganti tanda pada Metode Tabulasi.
tabulation = akolade.Tabulation(numeric, 3, title=False)
print(tabulation.getPoints()) # [1.99, 2.0]

bisection = akolade.Bisection(tabulation) # x1 = 1.99 dan x2 = 2.0

Parameter: iteration

Sebuah parameter opsional untuk menentukan berapa kali iterasi Bisection akan dilakukan, default nilai dari parameter ini adalah 10 kali iterasi.


Parameter: eksak

Sebuah parameter opsional untuk memberikan nilai Eksak atau nilai akar yang sebenarnya, jika kita tidak memberikan nilai pada parameter ini, maka nilai eksak akan diisi oleh nilai eksak pada metode Tabulasi. 


Method: table( )

Sebuah method untuk mencetak tabel yang berbentuk DataFrame dari perhitungan Tabulasi.

Method ini sedikit berbeda dengan method table pada Tabulation karena pada method ini terdapat parameter didalamnya, yakni parameter untuk mengatur ketelitian setiap kolom pada saat di cetak.

Pada metode Bisection ini terdapat 7 kolom dan setiap kolom mempunyai nilai default 6 decimal.
x1 x2 x3 f(x1) f(x2) f(x3) |Error|

Jadi kita dapat mengatur ketelitian decimal pada setiap kolom dengan memberikan parameter col1 - col7, atau jika kita ingin mengatur semuanya cukup mengisi parameter col=.
bisection = akolade.Bisection(tabulation, iteration=0)
bisection.table()

bisection.table(col1=2, col4=3)

bisection.table(col=3)
========= BISECTION METHOD ========= 
     x1   x2     x3   f(x1)  f(x2)     f(x3)  |Eror|
0  1.99  2.0  1.995 -0.0799    0.0 -0.039975    0.25

x1 x2 x3 f(x1) f(x2) f(x3) |Eror| 0 1.99 2.0 1.995 -0.08 0.0 -0.039975 0.25

x1 x2 x3 f(x1) f(x2) f(x3) |Eror| 0 1.99 2.0 1.995 -0.08 0.0 -0.04 0.25

Method: getTable( )

Sebuah method untuk mendapatkan nilai dari hasil perhitungan Bisection dalam bentuk List Python.

Method ini sedikit mirip seperti pada method table( ) sebelumnya yakni dapat mengatur ketelitian decimal setiap kolom, bedanya adalah pada method ini tidak dapat mengatur semua sekaligus kolomnya.
bisection = akolade.Bisection(tabulation, iteration=0)
table = bisection.getTable()
print(table) # [[1.99, 2.0, 1.995, -0.0799, 0.0, -0.039975, 0.25]]

table2 = bisection.getTable(col4=2)
print(table2) # [[1.99, 2.0, 1.995, -0.08, 0.0, -0.039975, 0.25]]

Method: result( )

Sebuah method untuk mencetak hasil dari perhitungan Bisection atau Akar persamaan yang didapat.

Method ini mempunyai 1 parameter precision dengan nilai default 6 untuk mengatur ketelitian desimal dari akar yang dicetak.

bisection = akolade.Bisection(tabulation)
bisection.result()

bisection.result(precision=3)
========= BISECTION METHOD ========= 
Bisection: Root value 1.999995

Bisection: Root value 2.0

Method: getResult( )

Sebuah method untuk mendapatkan hasil dari perhitungan Bisection atau Akar persamaan yang didapat.

Method ini mempunyai 1 parameter precision dengan nilai default 6 untuk mengatur ketelitian desimal dari akar yang dicetak.

bisection = akolade.Bisection(tabulation)
result = bisection.getResult()
print(result) # 1.999995