Metode Regula-Falsi dengan Python


Melanjutkan post yang kemarin tentang Metode Bagi Dua kali ini kita akan membahas metode Regula-Falsi. Untuk metode Regula-Falsi sendiri tidak hanya memperhitungkan a dan b (nilai tebakan) tapi juga nilai F(a) dan F(b) untuk rumus Regula-Falsi sendiri adalah


Untuk algoritma Regula-Falsi mirip dengan Bagi Dua hanya saja untuk nilai c menggunakan persam aan di atas.Regula-Falsi sendiri memiliki kecepatan konvergensi yang lebih cepat daripada Bagi Dua.Nmaun,kelemahannya adalah terkadang kita menemukan tiitk stagnan di mana nilai b-a selalu sama di tiap perulangan .

Maka,untuk mengatasi nya kita tidak akan menggunakan While di sini tapi kita akan menggunakan For saja untuk menentukan berapa perulangan yang kita inginkan

Misal kita akan mencari akar dari c² -12 = 0 dengan Regula-Falsi

untuk code dalam Python nya adalah sebagai berikut

a = 3
b = 4
def F(a):
    F = a**2-12
    return F
for x in range(20):
    c = b-((F(b)*(b-a))/(F(b)-F(a)))
    if  F(c)<0:
        a=c
    elif  F(c)>0:
         b=c
    else:
        print("Akar nya adalah", c)
        break
    print("Akar yang terdekat adalah",c)
Di sini kita akan memakai 20 iterasi saja



silahkan run (F5) untuk melihat hasilnya


di sini kita menemukan akar akhir adalah c = 3.4641016151377544 dan kita lihat kalau di perulangan akhir nilai akar selalu sama.Nah,inilah yang di sebut titik stagnan dan kalau kita lanjutkan kita tidak akan menemui akhir perulangan makanya saya sarankan pakai For saja dari pada While karena kalau pakai While program kita tidak akan pernah berhenti

Penjelasan :
range (20) adalah untuk menjangkau semua bilangan dari 0 sampai 20(20 tidak termasuk) jadi 0,1,2,...,19

contoh lain range :
range (3,8) maka bilangannya adalah 3,4,5,6,7 memakai awal 3, akhir 8 dan langkah 1
range(4,21,3) maka bilangannya adalah 4,7,10,13,16,19 memakai awal 4,akhir 21 san langkah 3

For adalah perulangan yang sudah ditentukan berapa banyak karena For menggunakan list sebagai perantara

Contoh :
a = (2,3,5,8)
for x in a:
print(x)

maka hasil run adalah
2
3
5
8

def untuk membuat method di python

Contoh :
def luass3 (alas,tinggi):
    Luas = (alas*tinggi)/2
    print(Luas)
luass3(7,8) maka hasilnya (7*8)/2 = 28

    
                     


EmoticonEmoticon