Anda di halaman 1dari 12

Modul5

METODE BIDANG-PARUH (BISECTION) untuk


Solusi Akar PERSAMAAN ALJABAR NON-LINIER
TUNGGAL
A.Pendahuluan
PersamaanAljabarNonLinierTunggalatauPANLTmerupakan
sembarang fungsi atau persamaan aljabar yang terbentuk
berdasarkanproyeksifungsionalvariabelbebasnya(padasumbu
datar,absis)padavariabelterikatnya(padasumbutegak,ordinat):
y(x)f(x)

Sedangkan problem utama yang dijumpai dalam pencarian akar


suatuPANLTadalah:perpotonganpersamaan(kurva)itudengan
sumbudatarpadatitik(sehinggaakarnyadisebutjugasebagai),
danpadasaatyangbersamaanfungsi f(x) tersebutjugamencapai
nilainolnya.BentukumumPANLTinidapatdituliskansebagai:
f(x)0

Berbagai teknik telah dikembangkan untuk pencarian akar (atau


akarakar)darisuatuPANLTdenganbentukumumsepertidiatas.
Bebarapadiantaranyadapatdikelompokkandalammetodemetode
berikut:
1.

Metode Titik Tetap (fixedpoint), yaitu suatu metode


pendekatan numeris yang terbentuk dari reorganisasi PANLT
sedemikianrupasehinggadihasilkan2buahfungsi,disisiyang
satuhanyamengandungvariabelbebasnyasajasedangkandisisi
lainnya berbentuk g(x), suatu fungsi dalam bentuk yang lain.
Metodeinimemerlukan1(satu)buahhargax(disebutsebagaix
awal) sebagai tebakan untuk memulai proses iterasi. Karena
sifatnya yang kurang praktis, bahkan tidak efisien dan juga
lambat dalam mencapai konvergensi, maka metode ini tidak
akandibicarakanlebihlanjutdalamkuliahini.

Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(1/1)

2.

MetodeBidangBebasataulebihspesifiklagiMetodeBidang
Paruh(Bisection).Prinsipdarimetodeiniadalahpemaruhan
(nilai ratarata) dari nilai estimasi akar suatu PANLT yang
dibentukdengancaramenebak2buahhargaawalpadainterval
[a,b]yangbertempatkedudukanmengapit(dikiridankanan)
akar atau jawab yang sebenarnya. Metode ini pada umumnya
memerlukan2(dua)buahtebakanuntukhargahargaxawal(x0
danx1).

3.

MetodeTangentatauyangdikenalsebagai MetodeNewton
atau MetodeNewtonRaphson,yangdihasilkandariekspansi
f() sampai suatu harga x tertentu (xn) menggunakan deret
Taylor,dengancaramengabaikantermorder(xn)2atauyang
lebih tinggi. Alternatif lain, penurunan tersebut juga dapat
dilakukan secara geometris, yang akan dijelaskan lebih lanjut
padaModul7.

4.

MetodeSecant,yangterbentukdaripendekatanmelaluigaris
secant di sekitar jawab atau akar persamaan . Di sisi lain,
metodeinisebenarnyabentukatauvariannumerisdaribentuk
turunan yang dipersyaratkan oleh Metode Newton Raphson.
MetodeiniakandijelaskanlebihjauhpadaModul8.

B.SolusiAkarPANLTdenganMetodeBisection
Solusiakar(atauakarakar)denganmenggunakanMetodeBisection
memilikisifatsifatnumerissebagaiberikut:
(1)

Selalumelakukanpembagiandua(pemaruhan)interval[a,b]
yangmengapitakar ,sehinggasetelahnkaliiterasiakan
didapatkanakarpersamaanyangberdekatandenganharga
yangsebenarnya(solusianalitis),denganmemperhitungkan
kriteria(akurasi)yangdiinginkan.

(2)

Kecepatanataulajukonvergensidarimetodebisectiondapat
diperkirakanmenggunakanpersamaanpendekatan:
cn

1 nba
2

Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(2/2)

yangdapatdibuktikanbahwa:
limcn
n

(3)

Panjangbamenggambarkanpanjangintervalyang
digunakan sebagai harga awal untuk memulai proses
iterasidalammetodebisection;yangberartibahwametode
inimemilikikonvergensilinierdenganlaju1 2.

C.RepresentasiGrafisdariMetodeBisection
Representasigrafisdarimetodebisectionsebagaiberikut:
f(x)

[a
X

b]
X

Gambar 5.1. Representasi grafis metode bisection.

Darirepresentasigrafisdiatas,dapatdiambilkesimpulandengan
jelas,bahwa:

x1 x0

sehinggasetelahnkaliiterasiakandiperoleh:
atau

n1

x1
2
n

Padasaatpanjanginterval[a,b]tidakmelampauisuatuhargat(yang
didalamnyaterdapatakar),sedemikianrupasehinggajarak
Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(3/3)

akar tersebutdenganekstremitasintervaltidakmelebihi t,maka


padasaatitutoleransiperhitungansudahdapatdilakukan.
D.AlgoritmaMetodeBisection
Asumsiawalyangharusdiambiladalah:menebakintervalawal
[a,b] dimana f(x) adalah kontinu padanya, demikian pula harus
terletakmengapit(secaraintuitif)nilaiakar ,sedemikianrupa
sehingga:
f(a)f(b)0

AlgoritmaBISECT(f,a,b,akar,,iter,itmax,flag)
1.

Tebakhargainterval[a,b];tentukan;dan
itmax

2.

Setf0=f(a);iter=0;flag=0;

3.

Tentukanatauhitungakar=c:=(a+b)/2;
iter=iter+1;

4.

Jikaf(a)f(c)0makab=cjikatidaka=c
danf0=f(a);
Jika(b a) maka flag =1jikaiter>
itmaxmakaflag=2;

5.

6.

Jikaflag=0ulangikenomor3;

7.

Akarpersamaanadalah: akar =(a + b)/2,


sebagaiakarterbaru;

8.

Selesai.

Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(4/4)

E.ListingProgramMetodeBisection
Diberikanpersoalanuntuk mengitungakar(akarakar) persamaan
f(x)=0,sebagaiberikut:
1 x

f(x)xe

Listing program sederhana (nonsubroutine) dan program dengan


subroutinedisertakandalamgambargambar5.2.dan5.3.dibawah
ini,yangditulisdalamBahasaFORTRAN77(kompatibeldengan
BahasaFORTRAN90/95):
C
C
C
C
C
C
C

Program: Solusi Persamaan Aljabar Non-Linier Tunggal (PANLT)


dengan Metode 'Bisection'
VARIAN: Program sederhana/Non-Subroutine
Kondisi proses dinyatakan dalam variabel 'flag'
flag = 0; berarti sistem masih dalam proses iterasi
flag = 1; berarti proses telah mencapai konvergensi
flag = 2; berarti jumlah iterasi maksimum telah terlampaui
------------------------------------------------------------implicit none
REAL*8 eps,f,fx,f0,x,x0,x1
INTEGER flag,iter,maxiter

WRITE(*,'(A,$)') 'Harga-harga awal x0, x1 : '


READ(*,*) x0,x1
WRITE(*,'(A,$)') 'Jumlah iterasi maksimum : '
READ(*,*) maxiter
WRITE(*,'(A,$)') 'Epsilon/kriteria proses : '
READ(*,*) eps
f0 = f(x0)
iter = 0
flag = 0
DO WHILE(flag .EQ. 0)
iter = iter + 1

10= (x0 + x1)/2


fx = f(x)

IF ((f0*fx) .LE. 0.0D0) THEN


x1 = x
ELSE
x0 = x
f0 = fx
ENDIF
IF ((x1 - x0) .LE. eps) THEN
flag = 1
ELSEIF (iter .GT. maxiter) THEN
flag = 2
ENDIF
ENDDO

Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(5/5)

x = (x0 + x1)/2
WRITE(*,*)
WRITE(*,*)
WRITE(*,*)
WRITE(*,*)
WRITE(*,*)

'x0 = ',x0
'x1 = ',x1
'x = ',x
'f(x) = ',f(x)
'Jumlah iterasi = ',iter

STOP
END
FUNCTION f(x)
REAL*8 f,x
f = x - exp(1.0D0/x)
RETURN
END

Gambar5.2.Listingprogramsederhana(tanpasubroutine).

C Program: Solusi Persamaan Aljabar Non-Linier Tunggal (PANLT) C


dengan Metode 'Bisection'
C
VARIAN: Program dengan Subroutine
3
------------------------------------------------------------implicit none
external f
REAL*8 eps,f,x,x0,x1
INTEGER flag,iter,maxiter

WRITE(*,'(A,$)') 'Harga-harga awal x0, x1 : '


READ(*,*) x0,x1
WRITE(*,'(A,$)') 'Jumlah iterasi maksimum : '
READ(*,*) maxiter
WRITE(*,'(A,$)') 'Epsilon/kriteria proses : '
READ(*,*) eps
CALL BISECT(f,x0,x1,x,eps,iter,maxiter,flag)
WRITE(*,*)
WRITE(*,*)
WRITE(*,*)
WRITE(*,*)

'x0 = ',x0
'x1 = ',x1
'x = ',x
'f(x) = ',f(x)

WRITE(*,*) 'Jumlah iterasi = ',iter


STOP
END
FUNCTION f(x)
REAL*8 f,x

f = x - exp(1.0D0/x)
RETURN
END
Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(6/6)

SUBROUTINE BISECT(ff,x0,x1,x,eps,itnum,itmax,prflag)
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

--------------------------------------------------------

Sub-program: Solusi PANLT dengan metode BISECTION


atau NILAI PARUH
ff
: fungsi f(x) = 0 yang akan dicari akarnya
x0
: nilai x-awal di sebelah kiri akar f(x)
x1
: nilai x-awal di sebelah kanan akar f(x)
x
: akar f(x), nilai paruh (antara x0 dan x1)
eps
: kriteria atau ketelitian penghitungan
itnum
: jumlah iterasi yang dilakukan proses
itmax
: jumlah pembatas iterasi untuk proses
prflag : identifikasi untuk konvergensi, yaitu:
0 = proses sedang/akan berlangsung
1 = proses mencapai konvergensinya
2 = jumlah iterasi maksimum (itmax) telah
terlampaui
--------------------------------------------------------

|
|
|
|
|
|
|
|
|
|
|
|
|
|

REAL*8 eps,ff,fx,f0,x,x0,x1
INTEGER prflag,itnum,itmax
f0 = ff(x0)
itnum = 0
prflag = 0

DO WHILE(prflag .EQ. 0)
itnum = itnum + 1
x = (x0 + x1)/2
fx = ff(x)
IF ((f0*fx) .LE. 0.0D0) THEN
x1 = x
ELSE
x0 = x
f0 = fx
ENDIF
IF ((x1 - x0) .LE. eps) THEN
prflag = 1
ELSEIF (itnum .GT. itmax) THEN
prflag = 2
ENDIF
ENDDO

x = (x0 + x1)/2
RETURN
END

Gambar5.3.Listingprogramdengansubroutine.

Tugas:
x

Cariakar(akarakar)daripersamaan:f(x)e ln(x)!

Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(7/7)

F.Pustakayangbersesuaian
Atkinson, Kendal E., An Introduction to Numerical Analysis,
JohnWiley&Sons,Toronto,pp.3944,1978.
Atkinson, L.V., Harley, P.J., An Introduction to Numerical
MethodswithPascal,AddisonWesleyPublishingCo.,Tokyo,
pp.4649,1983.
Bismo, Setijo, Kumpulan Bahan Kuliah Metode Numerik,
JurusanTGPFTUI,1999.

Seri Kuliah Metode Numerik (Modul 5: Metode Bisection untuk Solusi PANLT (Persamaan Aljabar Non-Linier Tunggal)

(8/8)

Anda mungkin juga menyukai