Anda di halaman 1dari 4

METODE NEWTON RAPHSON DENGAN C++

1. Program menghitung nilai x dari persamaan f(x) : x2 + 3x 10 dengan menggunakan metode


Newton Rapshon.
Deksripsi :
Metode Newton Rapshon menggunakan formula atau algoritma untuk mendapatkan nilai x maka :

x[n+1] = x[n] f(x)/f`(x)

Parameter awal x diinput dan nilai e = 0.0005

f(x) = fungsi persamaan x2 + 3x 10 = 0, maka x = 2 atau x = -5, jadi kita menginputkan bilangan x
awal apabila mendekati 2 maka hasil x akhir = 3, dan apabila mendekati = -5 maka hasil x akhir = 5

f`(x) = fungsi turunan pertama f(x) 2x + 3

nilai e = 0.0005

kondisi dimana perulangan berhenti nilai mutlak (Absolute) |x[n+1] x[n]| <>

a. Listing Program
#include
#include
#include
float Fungsi(float x);
float FungsiTurunan(float x);
main()
{
int n=0;
float x[100];
float e = 0.0005;
printf( Program Newton Rapshon \n);
printf( ====================== \n\n);
printf(Persamaan Fungsi f(x) : \n);
printf( x*x + 3x 10 \n\n);
printf(x(n+1) : \n);
printf( x(n)-(f(xn)/f(xn)) \n\n);
printf(Nilai e = 0.0005\n\n);
printf(Masukkan nilai x Awal : ); scanf(%f,&x[0]);
printf(==================================================================\n);
printf(! n ! xn ! f(xn) ! f(xn) ! f(xn)/f(xn) ! x(n+1) !\n);
printf(==================================================================\n);
do
{
x[n+1] = x[n] (Fungsi(x[n])/FungsiTurunan(x[n]));
printf(! %d ! %2.4f ! %2.4f ! %2.4f ! %2.4f ! %2.4f !\n, n, x[n],Fungsi(x[n]),
FungsiTurunan(x[n]),Fungsi(x[n])/FungsiTurunan(x[n]),x[n+1]);
n++;
}while(abs(x[n-1]-x[n-2])>e);
printf(! %d ! %2.4f ! %2.4f ! %2.4f ! %2.4f ! %2.4f !\n, n, x[n],Fungsi(x[n]),
FungsiTurunan(x[n]),Fungsi(x[n])/FungsiTurunan(x[n]),x[n+1]);
printf(==================================================================\n\n);
printf(Jadi, Hasil yang memenuhi dari persamaan tersebut x = %2.4f, x[n]);
getch();
}
float Fungsi(float x)
{
return pow(x,2)+(3*x)-10;
}
float FungsiTurunan(float x)
{
return 2*x+3;
}

AGUS SUSILO / 0971100824 / KELAS O

b. Output Program, Jika x awal dinput mendekati 2

Jika x awal diinput mendekati -5

AGUS SUSILO / 0971100824 / KELAS O

ALOGARITMA METODE BISEKSI


1.
2.
3.
4.
5.
6.

Definisikan fungsi f(x) yang akan di cari akarnya


Tentukan nilai a dan b
Tentukan iterasi maksimum N
Hitung f(a) dan f(b)
Jika f(a).f(b)> 0 maka proses dihentikan karena tidak ada akar, bila tidak dilanjutkan
Hitung

7.Hitung f(x)
8.Bila f(x).f(a)<0 maka b=a dan bila tidak a=x
Penyelesaikan persamaan xe-x+1=0, dengan menggunakan range x=[-1,0].
Program C++:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int xmax,i;
float x,fa,fb,fx;
float a,b;
float e;
float xbaru,xmak;
a=-1;
b=0;
e=0.0001;
xmak=20;
for(i=0;i<10;i++)
{
fa=a*exp(-a)+1;
fb=b*exp(-b)+1;
if(fa*fb>0)
{
cout<<berhenti;
}
else
{
xbaru=(a+b)/2;
fx=xbaru*exp(-xbaru)+1;
if(fx*fa<0)
{
b=xbaru;
}else{
a=xbaru;
}
}
cout <<fx<<
}

<<fa<<endl;

return 0;
}

AGUS SUSILO / 0971100824 / KELAS O

AGUS SUSILO / 0971100824 / KELAS O