Metode Numerik dalam C++: Metode Sekan atau Tali Busur (Secant Method)

         Metode sekan atau tali busur adalah salah satu metode numerik yang digunakan untuk mencari akar. Bahasa pemrograman yang sering digunakan untuk menyelesaikan sebuah persamaan adalah bahasa C++. Berikut ini adalah salah satu contoh program yang saya buat untuk menyelesaikan suatu persamaan dengan metode sekan/tali busur menggunakan bahasa C++.
Fungsinya adalah f(x) = e^x - (x^2)/3 - x^3

OUTPUT PROGRAM


Hasil Keluaran Program





SOURCE CODE  
#include <iostream>
#include <conio.h>
#include <cmath>
#include <iomanip>

using namespace std;

//KAMUS
float f(float x);
int main() {
float d,e,r,q,p,n,epsilon;
float s;

//ALGORITHM
cout<<"========================================================"<<endl;
cout<<"=================                                                             ============"<<endl;
cout<<"====================                    Secant Method                     ======="<<endl;
cout<<"=================                                                               ==========="<<endl;
cout<<"========================================================"<<endl;
cout<<"Function: f(x) = e^x - (x^2)/3 - x^3"<<endl;
cout<<"Enter the 2 initial guess "<<endl;
cout<<"Guess 1: ";cin>>d;
cout<<"Guess 2: ";cin>>e;
cout<<"Enter the relative error [E]: "; cin>>epsilon;
n=1;
if(e>d)
    {p=d;
    q=e;}
else
    {q=d;
    p=e;}
cout<<setw(10)<<"i"<<setw(15)<<"x0"<<setw(15)<<"x1";

cout<<setw(15)<<"xk"<<setw(15)<<"|E|"<<endl;
do{
    r=q-((f(q)*(q-p))/(f(q)-f(p)));
    s=fabs((r-q)/r);
    cout<<setw(10)<<n<<setw(15)<<p<<setw(15)<<q<<setw(15)<<r<<setw(15)<<s<<endl;
    p=q;
    q=r;
    n++;
} while (n<30 && s>epsilon && s!=0);
cout<<"\n\n Approx. root = "<<r;
cout<<endl<<endl<<endl;

return 0;
}


//FUNCTION

float f( float x) {
    return (exp(x) - x*x/3-pow(x,3));
}

No comments:

Powered by Blogger.