a. Dasar Teori
Metode Regula Falsi sama dengan bisection. Perbedaannya hanya pada Metode
pencarian titik antara yang menggunakan rumus berbeda. Rumus ini memungkinkan titik
antara mempunyai jarak lebih dekat dengan nilai akar yang dituju sehingga jumlah
perulangan yang diperlukan untuk mencapai toleransi error yang dituju menjadi sedikit.
Rumus yang digunakan adalah:
𝑓(𝑏). 𝑎 − 𝑓(𝑎). 𝑏
𝑐=
𝑓 (𝑏) − 𝑓(𝑎)
b. Algoritma Program
1. Definisikan fungsi f(x)
2. Tentukan batas bawah (a) dan batas bawah (b)
3. Tentukan toleransi error (e) dan iterasi maksimum (N)
4. Hitung Fa = f(a) dan Fb = f(b)
5. Untuk iterasi I = 1 s/d n atau error > e (batasan eror)
𝑓(𝑏).𝑎−𝑓(𝑎).𝑏
• Hitung 𝑐 = 𝑓(𝑏)−𝑓(𝑎)
c. Contoh Soal
Tentukanlah akah fungsi dari 3𝑥 2 − 12𝑥 − 20 jika a = -2 dan b = 2, pada iterasi ke-2!
Penyelesaian:
Iterasi 1:
4
= − 12
3
4 − 36
=
3
32
= −
3
Iterasi 2:
2 = 12 + 4
𝑏= −
3 = 16
2 2 2
𝑓(𝑏) = 3 (− 3) − 12 (− 3) − 20
4
= 3 (9) + 8 − 20
4
= − 12
3
4 − 36
=
3
Jadi, akar fungsi dari persamaan
32 diatas adalah -1,2
= −
3
𝑓(𝑏). 𝑎 − 𝑓(𝑎). 𝑏
𝑐 =
𝑓(𝑏) − 𝑓(𝑎)
32 2
− 3 . (−2) − 16. (− 3)
=
32
− 3 − 16
64 32
+
= 3 3
80
− 3
96
= −
80
6
= −
5
= −1,2
d. Pelaksanaan Program
e. Kode Program
package program;
import java.util.Scanner;
b=isi.nextFloat();
System.out.print("Jumlah Iterasi : ");
iterasi=isi.nextFloat();
for(int i=0;i<iterasi;i++){
f1=(3*(a*a))-12*a-20;
System.out.println("f("+a+") = "+f1);
f2=(3*(b*b))-12*b-20;
System.out.println("f("+b+") = "+f2);
c=(((f2*a)-(f1*b))/(f2-f1));
System.out.println("Nilai c = "+c);
f3=(3*(c*c))- 12*c - 20;
System.out.println("f("+c+") = "+f3+"\n");
if((f1*f3)<0){
b=c;
}
else {
a=c;
}
}
}
}
f. Output Program