metode biseksi

4
DEPARTEMEN TEKNIK KIMIA FAKULTAS TEKNIK UNIVERSITAS INDONESIA

Upload: sorindah-molina

Post on 11-Aug-2015

12 views

Category:

Documents


0 download

DESCRIPTION

metnum

TRANSCRIPT

Page 1: Metode biseksi

DEPARTEMEN TEKNIK KIMIAFAKULTAS TEKNIK UNIVERSITAS INDONESIA

C:\Users\user\Desktop\metodebiseksi2.for

Page 2: Metode biseksi

C Program: Solusi Persamaan Aljabar Non-Linear Tunggal (PANLT)C dengan Metode 'Bisection'C VARIAN: Program dengan SubroutineC --------------------------------------------------------------implicit noneexternal fREAL*8 eps,f,fx,f0,x,x0,x1INTEGER flag,iter,maxiterWRITE(*,'(A,$)') 'Harga-harga awal x0,x1 : 'READ(*,*) x0,x1WRITE(*,'(A,$)') 'Jumlah iterasi maksimum : 'READ(*,*) maxiterWRITE(*,'(A,$)') 'Epsilon/kriteria proses : 'READ(*,*) epsCALL BISECT(f,x0,x1,x,eps,iter,maxiter,flag)WRITE(*,*) 'x0 = ',x0WRITE(*,*) 'x1 = ',x1WRITE(*,*) 'f(x) = ',f(x)WRITE(*,*) 'Jumlah iterasi = ',iterSTOPENDFUNCTION f(x)REAL*8 f,xf = x - x**(1.0D0/3)-2RETURNENDSUBROUTINE BISECT(ff,x0,x1,x,eps,itnum,itmax,prflag)C --------------------------------------------------------C Sub-program: Solusi PANLT dengan metode BISECTION |C atau NILAI PARUH |C ff : fungsi f(x) = 0 yang akan dicari akarnya |C x0 : nilai x-awal di sebelah kiri akar f(x) |C x1 : nilai x-awal di sebelah kanan akar f(x) |C x : akar f(x), nilai paruh (antara x0 dan x1) |C eps : kriteria atau ketelitian penghitungan |C itnum : jumlah iterasi yang dilakukan proses |C itmax : jumlah pembatas iterasi untuk proses |C prflag : identifikasi untuk konvergensi, yaitu: |C 0 = proses sedang/akan berlangsung |C 1 = proses mencapai konvergensinya |C 2 = jumlah iterasi maksimum (itmax) telah |C terlampaui |C --------------------------------------------------------REAL*8 eps,ff,fx,f0,x,x0,x1INTEGER prflag,itnum,itmaxf0 = ff(x0)itnum = 0prflag = 0DO WHILE(prflag .EQ. 0)itnum = itnum + 1x = (x0 + x1)/2fx = ff(x)IF ((f0*fx) .LE. 0. 0D0) THENx1 = xELSEx0 = xf0 = fx

Page 3: Metode biseksi

ENDIFIF ((x1-x0) .LE. eps) THENprflag = 1ELSEIF (itnum. GT. itmax) THENprflag = 2ENDIFENDDOx = (x0 + x1)/2RETURNEND