Metode Bagi Dua (Bisection) Sederhana Dengan Python
Metode Bagi Dua adalah salah satu metode numerik tertutup untuk menyelesaikan sistem persamaan non linier.Sistem persamaan non linier memang tidak bisa diselesaikan scr langsung untuk mendapatkan solusi eksak kecuali sistem persamaan kuadrat yang bisa diselesaikan dengan pemfaktoran maupun rumus ABC.
Untuk sistem persamaan non linier sendiri bisa diselesaikan dengan metode numerik (metode memperkirakan ) yang bisa dibagi menjadi 2 yaitu
Metode Tertutup,maksudnya di sini adalah kita harus punya 2 nilai awal yang mengurung solusi lalu kita lakukan perulangan terus-menerus sampai selisih dengan solusi sangat kecil sehingga bisa kita abaikan.Metode tertutup ini hampir selalu berhasil untuk menemukan solusi karena solusi sendiri dikurung oleh 2 nilai awal yang kita tentukan (selalu konvergen)
Contoh metode tertutup : Bagi Dua dan Regula-Falsi
Metode Terbuka, dalam metode ini kita tidak butuh kurungan metode ini lebih cepat untuk menemukan solusi dari pada metode tertutup namun terkadang nilai yang diberikan malah divergen (menjauhi solusi)
Contoh metode terbuka : Iterasi Titik Tetap, Newton Raphson, dan Secant
Kali ini saya akan membahas dulu metode bagi dua untuk yang lain mungkin saya bahas di lain post
Algoritma metode bagi dua cukup sederhana yaitu :
Kita akan memakai Python saja supaya kita lebih mudah untuk menemukan solusi sedekat mungkin
1.Tentukan 2 titik yang mengurung solusi misalnya a dan b
Catatan : a akan memberikan nilai negatif jika dimasukkan ke persamaan
b akan memberikan nilai positif jika dimasukkan ke persamaan
2. akar/solusi untuk perulangan adalah (a+b)/2 misalkan adalah c
3. masukkan c ke persamaan non linier nya
4.Jika hasilnya kurang dari 0 maka ganti nilai a dengan c
5.Jika hasilnya lebih dari 0 maka ganti nilai b dengan c
6.Lakukan perulangan sebanyak yang kalian inginkan
misalnya kita akan mencari solusi dari c³ - 2c² + 5c -10 = 0
masukkan code ini di lembar kerja Python kalian
a = 2 # a dan b adalah nilai untuk mengurung solusi
b = 3
while b-a >=0.001:#perulangan terus dilakukan selama b-a lebih dari 0,001
c = (a+b)/2 #nilai c untuk perulangan (solusi sementara)
if c**3-2*c**2+5*c-10<0:
a=c
elif c**3-2*c**2+5*c-10>0:
b=c
else:
print("Akar nya adalah", c)
break
print("Akar yang terdekat adalah",c)
Silahkan run untuk mengetahui hasilnya
Di perulangan yang terakhir di dapat solusi c = 2.0009765625
atau supaya lebih detail kita bisa mengubah nilai 0.001 menjadi 0.0001 maka beginilah kalau di run
kita mendapatkan 2.00006103515625 sebagai solusi akhir
Penjelasan :
While adalah code untuk terus melakukan perulangan selama kondisi masih terpenuhi jika kondisi sudah tidak terpenuhi maka perulangan akan berhenti
Dalam program di atas,program akan terus berjalan jika b-a lebih dari 0.001
Break adalah untuk menghentikan perulangan For atau While jika kondisi tertentu sudah dipenuhi
Dalam program di atas bila b-a sama dengan 0 maka perulangan .akan berhenti
** untuk menyatakan pangkat di python
/ untuk menyatakan bagi di pyhon
Post a Comment for "Metode Bagi Dua (Bisection) Sederhana Dengan Python"
Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)