Algoritma dan Pemrograman Penentuan Akar Menggunakan Metode Newton Raphson
Table of Contents
Berikut ini adalah algoritma untuk menentukan akar menggunakan metode Newton Raphson. Metode ini dapat dikatakan lebih baik daripada metode-metode sebelumnya, Metode Tabel, Metode Bisection dan Metode False Position. Algoritma Newton Raphson saya tuliskan dalam bentuk flowchart :
Berikut implementasi Newton Raphson dalam bahasa Java
import java.util.logging.Level; import java.util.logging.Logger; /** * * @author CHARIS */ public class NR { double X1 = 0; double X = 0; double Xbantu = 0; double Ea = 100; double Es = 2; int iterasi = 0; boolean berjalan = true; public double fungsiX(double x) { X = x; double Fx = (X * Math.exp(-X) + 1); return Fx; } public double TfungsiX(double x) { X = x; double TFx = (1 - X) * Math.exp(-X); return TFx; } public double rumusX(double Xnya, double Fx, double TFx) { double rum = Xnya - Fx / TFx; return rum; } public void run() { for (int a = 0; a >= iterasi; a++) { if (Ea < Es) { System.out.println("Berhenti.."); double akar = X1; System.out.println("Akar : " + akar); break; } else { if (a == 0) { System.out.println("Iterasi : " + a + " "); System.out.print("X : " + X + " "); System.out.print("F(X) : " + fungsiX(X) + " "); System.out.println("F'(X) : " + TfungsiX(X) + " "); } if (a > 0) { double baru = X; System.out.println("Iterasi : " + a + " "); X1 = rumusX(X, fungsiX(X), TfungsiX(X)); System.out.print("X : " + X1 + " "); System.out.print("F(X) : " + fungsiX(X1) + " "); System.out.print("F'(X) : " + TfungsiX(X1) + " "); Ea = Math.abs((X1 - baru) / X1) * 100; System.out.print("|Ea| : " + Ea + " "); System.out.println("Es : " + Es + " "); } } } } public static void main(String[] args) { NR R = new NR(); R.run(); } }
Maka, ketika program dijalankan menghasilkan output berikut :
Post a Comment