Sketsa Grafik \(f(x) = x^{3} + 3x^{2} + 2x - 3\)

Metode Newton-Raphson

# Mencari solusi f(x) = 0, 
# yakni mencari titik potong fungsi dengan sumbu-x melalui Newton-Raphson

# Mendefinisikan fungsi dan turunan pertamanya
f <- function(x) {
     x^3 + 3*x^2 + 2*x - 3
}
f_turunan <- function(x) {
     3*x^2 + 6*x + 2
}

# Newton-Raphson dengan iterasi sebanyak n_iter
newton_raphson <- function(x_awal, n_iter) {
  x <- x_awal
  for (i in 1:n_iter) {
    x <- x - f(x)/f_turunan(x)
    cat("Iterasi", formatC(i, width=2), ": x =", formatC(x, format = "f", digits = 7), 
        ",  f(x) =",formatC(f(x), format = "f", digits = 5), "\n")
  }
  return(x)
}

# Misal nilai awal x = 5 dengan iterasi = 15
solusi <- newton_raphson(5, 15)
## Iterasi  1 : x = 3.0654206 ,  f(x) = 60.12640 
## Iterasi  2 : x = 1.8278171 ,  f(x) = 16.78496 
## Iterasi  3 : x = 1.0977075 ,  f(x) = 4.13300 
## Iterasi  4 : x = 0.7589687 ,  f(x) = 0.68323 
## Iterasi  5 : x = 0.6764722 ,  f(x) = 0.03535 
## Iterasi  6 : x = 0.6717153 ,  f(x) = 0.00011 
## Iterasi  7 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi  8 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi  9 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi 10 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi 11 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi 12 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi 13 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi 14 : x = 0.6716999 ,  f(x) = 0.00000 
## Iterasi 15 : x = 0.6716999 ,  f(x) = 0.00000