Tuesday 3 April 2012

Penyelesaian Numerik Persamaan Non-Linear (Metode Fixed Point Iteration)

Assalamu'alaikum warahmatullahi wabarakatuh

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

Harry Potter - Golden Snitch Angry Birds -  Red Bird