Penyelesaian Persamaan Non Linier Menggunakan Metode Secant


Metode Newton Raphson merupakan salah satu metode yang tangguh dalam mencari nilai hampiran akar untuk persamaan non linier. Tetapi, tidaksemua fungsi dapat mudah diturunkan. Oleh karena itu, maka metode Newton Raphson ini dimodifikasi, dan diberi nama metode Secant. Berbeda dengan metode Newton Raphson, pada metode secant tidak diperlukan turunan pertama dari
fungsi non liniernya, tetapi diperlukan dua buah nilai awal. Berikut ilustrasi grafiknya.

Metode Numerik - Ilustrasi Metode Secant

Metode Numerik - Ilustrasi Metode Secant

Sehingga diperoleh prosedur iterasinya adalah sebagai berikut:

Metode Numerik - Iterasi Metode Secant

Proses Iterasi akan berhenti apabila memenuhi kondisi dibawah ini.

Metode Numerik - Galat Metode SecantContoh:

Hitung Akar persamaan non linier berikut ini :

 

Metode Numerik - Contoh Metode Secant

dengan ε =n 0.00001. Tebakan nilai awal akar x0=0.5 dan x1=1.

Penyelesaian

Metode Numerik - Iterasi Metode Secant

Implementasi Metode Secant dalam bahasa C

#include
#include
double f(double x)
{
    return cos(x) - x*x*x;
}
double SecantMethod(double xn_1, double xn, double e, int m)
{
    int n;
    double d;
    for (n = 1; n <= m; n++)
    {
        d = (xn - xn_1) / (f(xn) - f(xn_1)) * f(xn);
        if (fabs(d) < e)
            return xn;
        xn_1 = xn;
        xn = xn - d;
    }
    return xn;
}
int main(void)
{
    printf("%0.15f\n", SecantMethod(0, 1, 5E-11, 100));
    return 0;
}

Implementasi Metode Secant Menggunakan Matlab

function metodesecant;
  clc;
  clear;
  disp('Program Metode Secant');
  disp('=============================');
  E=0.0001;
  x0=input('Masukkan X0  :');
  xb=input('Masukkan X1  :');
  i=0;
  M=9;
  disp('_______________________________________________');
  disp(' i           xi          f(xi)     epsilon');
  disp('_______________________________________________');

  while (E
    fx=exp(x0)-5*x0^2;
    fxb=exp(xb)-5*xb^2;
    d = xb - (fxb*(xb-x0)/(fxb-fx));
    M=abs(x0-xb);
    x0 = xb;
    xb = d;
    i=i+1;
    fprintf('%3.0f %12.6f %12.6f %12.6f\n',i,xb,fx,M);
  end;
   disp('_______________________________________________');

  fprintf('Akarnya Adalah = %10.8f\n',xb);
end

Hasilnya

Program Metode Secant
=============================
Masukkan X0  :0.5
Masukkan X1  :1
_______________________________________________
 i           xi          f(xi)     epsilon
_______________________________________________
  1     0.574376     0.398721     0.500000
  2     0.596731    -2.281718     0.425624
  3     0.605533     0.126483     0.022354
  4     0.605265     0.035734     0.008803
  5     0.605267    -0.001123     0.000268
  6     0.605267     0.000009     0.000002
_______________________________________________
Akarnya Adalah = 0.60526712

8 thoughts on “Penyelesaian Persamaan Non Linier Menggunakan Metode Secant

  1. Assalamualaikum
    Salam kenal

    Pak tuk penyelesain persamaan linear ko blm ad y…trutama gaus jordan..mgkin bisa ditambah agar bisa jadi referensi dalam belajar…

    terimakasiih atas perhatiannya..
    salam

    wahyu

    wassalamualaikum

  2. Assalamualaikum,

    Salam kenal
    Pak setelah saya run program diatas koq malah keluar
    ans=2
    tolong pencerahannya pak….
    Terima Kasih

    Wassalamualaikum

  3. Assalamualaikum warahmatullahi Wabarakatuh
    saya masih bingung dengan satu line yang ini:

    M=9;

    itu sebenarnya M itu untuk apa pak?
    Jikalau nilai M dirubah apakah akan mempengaruhi hasil di command window?

    Atas perhatian bapak saya ucapkan terima kasih

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s