METODE REGULA-FALSI/POSISI PALSU (FALSE POSITION METHOD)

Metode regula falsi merupakan metode yang menyerupai metode biseksi, dimana iterasi dilakukan dengan terus melakukan pembaharuan rentang untuk memperoleh akar persamaan. Hal yang membedakan metode ini dengan metode biseksi adalah pencarian akar didasarkan pada slope (kemiringan) dan selisih tinggi dari kedua titik rentang. Titik pendekatan pada metode regula-falsi disajikan pada Persamaan di bawah ini:


Ilustrasi dari metode regula falsi disajikan pada Gambar berikut.

ALGORITMA METODE REGULA-FALSI

  • Definisikan fungsi
  • Tentukan rentang untuk yang berupa batas bawah dan batas atas
  • Tentukan nilai toleransi dan iterasi maksimum
  • Hitung dan .
  • Untuk iterasi s/d
    • Hitung nilai berdasarkan Persamaan di atas.
    • Hitung
    • Hitung
    • Jika , maka dan . Jika tidak, dan .
  • Akar persamaan adalah

METODE REGULA-FALSI DI MS.EXCEL

METODE REGULA-FALSI DI PYTHON
import math, os
os.system('clear')
# Definisi Fungsi
def f(x):
y = math.exp(x) - (5 * x * x)
return y
# Metode Regula Falsi
def RegulaFalsi(a,b):
epsilon1 = 0.000001
epsilon2 = 0.0000001
i = 0
print()
print(' PROGRAM METODE REGULA FALSI ')
print('------------------------------------------------------------------------------------------------------------------------------')
print(' r a c b f(a) f(c) f(b) Selang baru Lebarnya')
print('------------------------------------------------------------------------------------------------------------------------------')
while abs(a - b) > epsilon2:
#c = b - (f(b) * (b - a)/(f(b) - f(a)))
c = (a * f(b) - b * f(a)) / (f(b) - f(a))
if abs (f(c)) < epsilon2 :
a == c
b == c
elif f(a) * f(c) < 0 :
br = ('[a, c]')
elif f(b) * f(c) < 0 :
br = ('[c, b]')
else:
br = (' ')
print(f" {i}\t {a:.6f}\t {c:.6f}\t {b:.6f}\t {f(a):.6f}\t {f(c):.6f}\t {f(b):.6f}\t {br}\t {abs(a-c):.6f} ")
if f(a) * f(c) < 0:
b = c
elif f(b) * f(c) < 0 :
a = c
elif f(c) == 0 :
print()
print('Akar sejati ditemukan, yaitu : ',f'{c:.6f}')
exit()
else:
print('Akar tidak ditemukan!')
exit()
i = i+1
#i += 1
print()
print('Hampiran Akar = ',f"{c:.6f}")
# Input selang a dan b
a = float(input('Input Batas Bawah (a) : '))
b = float(input('Input Batas Atas (b) : '))
#Pemeriksaan Kebenaran Nilai Tebakan Awal dan Metode Regula Falsi
if f(a) * f(b) >= 0:
print()
print('Metode Regula Falsi tidak berlaku di interval ini.')
print()
exit()
else:
# Memanggil Metode BagiDua
RegulaFalsi(a,b)

 

Comments

Popular posts from this blog

MEMANFAATKAN KESALAHAN QUERY DATABASE SUATU WEB UNTUK MENDAPATKAN USERNAME SERTA PASSWORD NYA MENGGUNAKAN TEKNIK SQL INJECTION