Anda di halaman 1dari 7

Pada

Newton Rapson memerlukan syarat wajib yaitu fungsi f(x) harus

memiliki turunan f'(x). Sehingga syarat wajib ini dianggap sulit karena tidak
semua fungsi bisa dengan mudah mencari turunannya. Oleh karena itu
muncul ide dari yaitu mencari persamaan yang ekivalen dengan rumus
turunan fungsi. Ide ini lebih dikenal dengan nama Metode Secant. Ide dari
metode ini yaitu menggunakan gradien garis yang melalui titik (x 0, f(x0)) dan
(x1, f(x1)). Perhatikan gambar dibawah ini.

Persamaan garis adalah

y f (x 1)
xx 1
=
x 0x 1 f ( x 0 ) f ( x 1)
Karna x=x2 maka y=0, sehingga diperoleh

0f (x 1)
x 2x 1
=
x 0x 1 f ( x 0 ) f ( x 1)

x 2x 1=

f ( x 1 ) x( x 0x 1)
f ( x 0 ) f (x 1)

x 2=x 1

f ( x 1 ) x (x 0x 1)
f ( x 0 ) f ( x 1)

Secara umum rumus tersebut dapat ditulis dengan persamaan berikut

Xn+1= Xn

f ( Xn ) x( Xn1 Xn)
f ( Xn1 ) f ( Xn)

Prosedur Metode Secant :


Ambil dua titik awal, misal x0 dan x1. Ingat bahwa pengambilan titik awal
tidak

disyaratkan

alias

pengambilan

secara

sebarang.

Setelah

itu

hitung x2menggunakan rumus diatas. Kemudian pada iterasi selanjutnya


ambil x1 dan x2sebagai titik awal dan hitung x3. Kemudian ambil x2 dan
x3 sebagai titik awal dan hitung x4. Begitu seterusnya sampai iterasi yang
diingankan atau sampai mencapai error yang cukup kecil.
Pada aplikasi

function newtonraphson

disp('Program Metode Newton Raphson');


disp('=============================');
E=0.00000001;
x0=input('Masukkan X awal :');

i=0;
M=100;
xb=0;
disp('_______________________________________________');
disp(' i
xi
f(xi)
eror (%)');
disp('_______________________________________________');
while (E<M)
fx=2.77*x0^3-0.361*(15+x0)^3;
gx=8.31*x0^2-1.083*(15+x0)^2;
xb=x0-(fx/gx);
M= abs((x0-xb)*100/xb);
x0=xb;
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);
fprintf('didapat pada iterasi ke = %10.8f\n',i);
end

Contoh perhitungan
Persamaan dari turap tersebut adalah
2.769826195X^3-0.361033483*(15+X)^3=0
X0=15.42
X1=16
F(X0)=F(15.42)=-7.47330092
F(X1)=F(16)=589.6596027
589.6596027 x ( 15.4216 )
X 2=16
=15.4275890
(7.47 )589.659627

function newtonraphson

disp('Program Metode Newton Raphson');


disp('=============================');
E=0.00000001;
x0=input('Masukkan X awal :');
i=0;
M=100;
xb=0;
disp('_______________________________________________');
disp(' i
xi
f(xi)
eror (%)');
disp('_______________________________________________');
while (E<M)
fx=2.77*x0^3-0.361*(15+x0)^3;
gx=8.31*x0^2-1.083*(15+x0)^2;
xb=x0-(fx/gx);
M= abs((x0-xb)*100/xb);
x0=xb;
i=i+1;
fprintf('%3.0f %12.6f %12.6f %12.6f\n',i,xb,fx,M);
end
disp('------------------------------')
fprintf('Kedalaman dinding pancangan turapnya adalah = %10.8f\n',xb);
fprintf('didapat pada iterasi ke = %10.8f\n',i);
end

a=input ('Masukkan a : ');


b=input ('Masukkan b : ');
galat=0.00000001;
f=inline('2.769826195*x^3-0.361033483*(15+x)^3');
i=1;
disp(' i
a
b
fa
fb
x
fx
');
disp('________________________________________________________________________
_____________ ');
while ((b-a))>galat
x= (a+b)/2;
disp(sprintf('%3g %10.7f %10.7f %10.7f %10.7f %10.7f
%10.7f',i,a,b,f(a),f(b),x,f(x)))
if f(a)*f(x)<0
b=x;

else

a=x;
end
if f(a)*f(b)==0
exit
end
i=i+1;
end
disp(sprintf('kedalaman pemancangan dindingg turapnya adalah=%11.8f',x))
disp(sprintf('didapatkan setelah iterasi ke adalah=%11.8f',i-1))

Anda mungkin juga menyukai