Anda di halaman 1dari 3

Penyelesaian Numerik Persamaan Non-Linear (Metode Regula Falsi)

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 a,m,b,F_a,F_m,F_b,tol; int max_iter;

float f(float x) {

return x*x*x + 3*cos(x*PHI/180) - 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);

printf("Jumlah iterasi maksimum = "); scanf("%d",&max_iter);

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(); }

Anda mungkin juga menyukai