Langkah penyelesaian: a) Tentukan a, b, toleransi, dan jumlah iterasi maksimum. b) Periksa apakah f(a) x f(b) > 0; jika ya, keluar dari progam karena pada selang yang diberikan tidak terdapat akar persamaan. c) Hitung nilai m = a - f(b) x (b - a) / [f(b) - f(a)]. d) Jika nilai mutlak (m-a) < toleransi, tuliskan m sebagai hasil perhitungan, dan akhiri program; jika tidak, lanjutkan ke langkah berikutnya. e) Jika jumlah iterasi > iterasi maksimum, akhiri program. f) Jika f(a) x f(m) < 0, maka b = m; jika tidak, a = m g) Kembali ke langkah c.
Disini yang kami akan bahas bukanlah materi tentang apa itu metode regula falsi, berhubung kami tugasnya membuat program, maka yang kami share disini adalah programnya. Kami menggunakan bahasa pemrograman C untuk menemukan solusi dengan metode regula falsi ini.
Coding program regulafalsi.c untuk kasus f(x) = x^3 + 3*cos(x) - x // Metode Regula Falsi #include <stdio.h> #include <conio.h> #include <math.h> #define PHI 3.141592654
float f(float x) {
int main() { int it; float epsilon; printf("Solusi Akar dengan Metode Regula Falsi\n\n"); printf("Batas bawah printf("Batas atas printf("Toleransi (ex: 0.0001) = "); scanf("%f",&a); = "); scanf("%f",&b); = "); scanf("%f",&tol);
it = 0; F_a = f(a); F_b = f(b); if(F_a * F_b > 0) /*printf(" else */ { printf("It. printf(" do { it = it + 1; m = a - F_a * (b - a) / (F_b - F_a); F_m = f(m); printf("%3d %8.5f %8.5f %8.5f %8.5f %8.5f a m b f(a) f(b)"); Nilai F(a) x F(b) > 0\n");
abs[f(b)-f(a)]/2\n");
%8.2e\n", it,a,m,b,F_a,F_m,fabs(F_b-F_a)/2); epsilon = fabs(m-a); if(F_a * F_m <= 0) { b = m; F_b = F_m; } else { a = m; F_a = F_m; } } while(it <= max_iter && epsilon > tol);
if(it<=max_iter) { printf("\nToleransi terpenuhi\n"); printf("Hasil akhir = %g\n",b); } else printf("\nToleransi tidak terpenuhi\n"); } getch(); }