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: