Metode Newton Raphson biasa digunakan dalam mencari akar dari suatu persamaan non linier, jika diasumsikan f mempunyai turunan kontinu f’. Metode Newton Rapshon sering digunakan karena kesederhanaannya dan mempunyai konvergensi yang cepat. Karena metode ini merupakan metode Terbuka, maka tetap diperlukan nilai tebakan awal untuk Xo. Secara geometri, metode Newton Raphson hampir sama dengan metode regula falsi, bedanya garis yang dipakai adalah garis singgung. Dengan menggunakan x0 sebagai tebakan awal, dilanjutkan dengan mencari titik (x0, f(x0)). Kemudian dibuat garis singgung dari titik (x0, f(x0)), sehingga diperoleh titik potong (x1, 0) antara sumbu-x dan garis singgung titik (x0, f(x0)). Kemudian dilanjutkan lagi dengan mencari titik (x1, f(x1)). Dari titik (x1, f(x1)) kemudian dibuat garis singgung, sehingga diperoleh titik potong (x2, 0) antara sumbu-x dan garis singgung titik (x1, f(x1)).
Algoritma Metode Newton Raphson :
1. Definisikan fungsi f(x) dan f'(x)
2. Tentukan toleransi error (e) dan iterasi maksimum (n)
3. Tentukan nilai pendekatan awal x0
4. Hitung f(x0) dan f1(x0)
5. Untuk iterasi I = 1 s/d n atau |f(xi)| ≥ e
6. Akar persamaan adalah nilai xi yang terakhir diperoleh.
Contoh:
Hitung akar f(x)=e^x – 5x^2,
ε = 0.00001
x0 = 0.5
Penyelesaian
Sehingga iterasi Newton Raphson nya sebagai berikut:
Hasil setiap iterasi sebagai berikut:
Jadi, hampiran akarnya adalah x=0.605267.
Kode Progran Metode Newton Raphson menggunakan Turbo Pascal
Berikut ini adalah kode program mencari akar dengan metode Newton Raphson dengan menggunakan bahasa Turbo Pascal
Program Newtonraphson; Uses Crt; Function F(X:Real):Real; Begin F:=Exp(X)-4*X; End; Function G(X:Real):Real; Begin G:=Exp(X)-4; End; Var Xl,Xb,E,M : Real; i : Integer; Begin Clrscr; Writeln('Program Metode Newton Raphson'); Writeln('============================='); E:=0.0001; Write('Masukkan X : ');Readln(Xl);Writeln; i:=0; Repeat Xb:=Xl-(F(Xl)/G(Xl)); M:= Abs(Xl-Xb); Xl:=Xb; i:=i+1; Writeln ('Iterasi Ke ',i,'= ',Xb:0:8); Until M <> E Writeln; Writeln ('Akarnya Adalah = ',Xb:0:6); Readln; End.
Kode Progran Metode Newton Raphson menggunakan Matlab
function newtonraphson clc; clear; disp('Program Metode Newton Raphson'); disp('============================='); E=0.0001; x0=input('Masukkan X awal :'); i=0; M=9; xb=0; disp('_______________________________________________'); disp(' i xi f(xi) epsilon'); disp('_______________________________________________'); while (E<M) fx=exp(x0)-4*x0; gx=exp(x0)-4; xb=x0-(fx/gx); M= abs(x0-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); end
Output
Program Metode Newton Raphson ============================= Masukkan X awal :5 _______________________________________________ i xi f(xi) epsilon _______________________________________________ 1 4.110793 128.413159 0.889207 2 3.329113 44.551908 0.781680 3 2.718702 14.597128 0.610412 4 2.334689 4.285820 0.384012 5 2.178595 0.987494 0.156095 6 2.153872 0.119504 0.024722 7 2.153293 0.002677 0.000580 8 2.153292 0.000001 0.000000 ------------------------------ Akarnya Adalah = 2.15329236
Ini untuk soal fisika dengan menggunakan komputer / bukan,,,bingung????????
ijin kopy ya pak
Boleh
pak saya ada tugas
algoritma nya seperti ini:
Pada metode ini algoritma programnya adalah :
1. Fungsi f(v) didefinisikan sebagai
f(v) = IsR(e40v – 1) + v – Vb,
dimana harga- harga R, Is, Vb adalah bernilai tetap (konstan).
2. Fungsi f(v) diturunkan yaitu
f’(v) = 40 IsR(e40v – 1) + 1
3. Range nilai h digunakan sebagai peubah pendekatan nilai vn.
4. Nilai toleransi error (ε) dimasukkan.
5. Tebakan awal vT dimasukkan..
6. Dengan vk = vT dan vk+1 = (vT – h), maka masing-masing nilai tersebut dimasukkan
f(vk) dan f(vk+1).
7. Jika nilai
f (vk ) ⋅ f (
k +1
) ≥ 0 , langkah 6 diulangi sampai diperoleh hasil perkalian
f (vk ) ⋅ f (vk +1 ) < 0 (salah satu nilai f(v) negatif).
8. Nilai v yang diperoleh dari langkah 7 digunakan untuk perhitungan nilai f(v) dan
f’(v) sehingga bentuknya menjadi f(vk) dan f’(vk+1).
9. Untuk iterasinya, digunakan persamaan :
vn +1
= vn −
f (vn )
f ' (vn )
dimana nilai vn yang dipakai adalah vk+1 yang diperoleh dalam langkah 7.
10. Hitung nilai | vn +1 − vn
| < ε, jika hasilnya belum memenuhi, ulangi langkah 9 dengan
menggunakan nilai vn+1. Sehingga bentuknya menjadi :
vn + 2 =
vn +1 −
f (vn +1 )
f ' (vn +1 )
11. Bila langkah 10 sudah dipenuhi, maka diperoleh sebuah nilai v (tegangan kerja dioda) yang dicari.
1. Hitung nilai absolut |vn – vn-1|, jika nilai ini lebih besar atau sama dengan (≥) nilai errornya (ε), maka masukkan nilai vn+1 = vn dan vn-1 = vn, kemudian ulangi dari
langkah 3 sampai dengan 6. Perulangan ini dihentikan saat nilai absolutnya kurang
(<) dari nilai errornya.
2. Apabila langkah 6 sudah dilewati dimana nilai absolutnya kurang dari errornya, maka diperoleh nilai tegangan kerja dioda yang dicari.
saya bingung karena kurang paham pascal, mohon bantuannya coding di pascal
atas bantuannya terimakasih
pak, saya mohon di bantu, untuk penyelesaian tugas seperti di bawah ;
mencari akar-akar persamaan menggunakan metode Newton-Rhapson :
3x-cos(x)=0. dengan tebakan awal x=0,5
terima kasih,
Cari dulu turunan kesatu dan turunan kedua dari persamaan tersbut. Kemudian masukkan kerumus ya..
pak syarat agar pada sistem persamaan non linear dg metode iterasi dpat diturunkan itu gmana????
maksih…
pak, saya dapat tugas pemodelan numerik untuk pmecah gelombang, bisa bantu ya pak
Satu Pertanyaan Pak,
ini code yg di pascaL “Until M <> E”
Syntax error Pak, mohon penjelasanya ya…. 🙂
maaf pak, gag jadi, setelah koment trnyata uda bisa… 🙂
itu yang di source code beda m yg saya tulis di coment ini… og.. 😦
makanya bingung pas di pascaLnya…
mbak..yang aku juga error…gmana caranya??
salam kenal Pak
saya ingin bertanya kalau program newton Raphson untuk software R atau S-Pluss bagaimana ya Pak?
terima kasih
fungsi yang dipakai dari koding Matlab metode newton rhapson diatas berapa ya apa ya????
pak , mw minta tolong klu akar persamaannya f(x)=e^-x – x
denag E = 0,01 ..
gimana penyelesaiannya ???
tolong dibantu 🙂
tengkyuu
mantap bangg. . . .. .
akhirnya tugas ane slesai juga. . . .
hehe. . .
sintax error di baris 29 Until M <> E
pencerahannya pak :’)
pak saya mau tanya..
klo mnecari perpotongan titik 2buah kurva menggunakan metode newton rapshon itu gimna ya pak??
makasih.. 🙂
pak, mohon bantuanya klo untuk persamaannya seperti yg ini
f(x) = x^3+x^2-3x-3=0
pak saya minta tolong besar2an pak
program yang dibawah ini kenapa eror
function [x,iter]=newton(x0,f,fp)
% newton-raphson algorithm
N = 100; eps = 1.e-5; % define max. no. iterations and error
maxval = 10000.0; % define value for divergence
xx = x0;
while (N>0)
xn = xx-f(xx)/fp(xx);
if abs(f(xn))maxval
disp([‘iterations = ‘,num2str(iter)]);
error(‘Solution diverges’);
break;
end;
N = N – 1;
xx = xn;
end;
error(‘No convergence’);
break;
% end function
ada gk pak persamman non linier dgan 7 metode? yakni metode newton raphson,metode biseksi,metode regula falsi, iterasi sederhana dll klo ada kirim k email saya pak.
Pak, kalo persamaan kuadratnya di input sendiri algoritmanya seperti apa??
pak saya mau tanya..
cara menentukan titik awal atau nilai pendekatan awal kalau soal itu tidak di ketahui X0
kalau menggunakan bahasu turbo pascal haru pakai aplikasi apa?
pakai Notpad bisa tidak ?
Akhirnya ketemu juga.. Terimakasih sangat bermanfaat