Postingan ini merupakan kelanjutan tugas kuliah dari postingan sebelumnya tentang Penyelesaian Numerik Persamaan Non-Linear (Metode Bisection). Pada kesempatan ini saya akan berbagi tentang salah satu metode penyelesaiannya, yaitu dengan Metode Fixed Point Iteration atau biasa disebut juga Metode Iterasi Titik Tetap.
Langkah
penyelesaian:
a. Tentukan
x0, toleransi, dan jumlah iterasi maksimum.
b. Hitung
x = g(x ).
c. Jika
nilai mutlak (xbaru- x0 ) < toleransi, diperoleh
tulisan xbaru sebagai hasil perhitungan; jika tidak, lanjutkan ke langkah
berikutnya.
d. Jika
jumlah iterasi > iterasi maksimum, akhiri program.
e. x0
= xbaru, dan kembali ke langkah b.
Disini yang saya akan bahas bukanlah materi tentang apa itu metode fixed point iteration, berhubung saya tugasnya membuat program, maka yang saya share disini adalah programnya. Saya menggunakan bahasa pemrograman C untuk menemukan solusi dengan metode fixed point iteration ini.
Coding program fixpointiteration.c untuk kasus f(x) = x^3 + 3*cos(x) - x
// Metode Iterasi
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PHI 3.141592654
float x0,tol;
int max_iter;
float g(float x)
{
return x*x*x + 3*cos(x*PHI/180) - x;
}
int main()
{
int it;
float epsilon,xb;
printf("Solusi Akar dengan Fixed Point Iteration\n\n");
printf("Harga awal = "); scanf("%f",&x0);
printf("Toleransi (ex: 0.0001) = "); scanf("%f",&tol);
printf("Jumlah iterasi maksimum = "); scanf("%d",&max_iter);
it = 0;
printf("It.\t x\t\t\t g(x)\t\t\t f(x)\n");
do
{
it = it + 1;
xb = g(x0);
epsilon = fabs(xb-x0);
printf("%3d\t %8.5f\t %8.5f\t\t %8.2e\n",it,x0,xb,epsilon);
x0 = xb;
} while(it <= max_iter && epsilon > tol);
if(it<=max_iter)
{
printf("\nToleransi terpenuhi\n");
printf("Hasil akhir = %g\n",xb);
}
else printf("Toleransi tidak terpenuhi\n");
getch();
}
Disini saya menggunakan software Dev-C++ untuk menjalankannya.
Sekian posting program "Penyelesaian Numerik Persamaan Non-Linear (Metode Fixed Point Iteration)" yang dapat saya bagikan kepada kawan-kawan. Semoga ada manfaatnya! Akhir kata, terima kasih dan ...
Wassalamu'alaikum warahmatullahi wabarakatuh
referensi: http://sutedjo.staff.gunadarma.ac.id/Downloads
No comments:
Post a Comment