Diberikan tiga buah metode untuk mencari akar dari fungsi 𝑓 secara numerik, yaitu metode titiktetap, metode Newton-Raphson, dan metode Halley dengan algoritmenya berturut-turut adalah sebagai berikut: • Algoritme untuk metode titik-tetap: ➢ Mulai dengan sebuah tebakan awal: 𝑥0. ➢ Untuk iterasi ke-𝑖 dengan 𝑖 = 1, 2, 3, …, hitung 𝑥𝑖 = 𝑘 𝑓(𝑥𝑖−1) + 𝑥𝑖−1 dengan konstanta taknol 𝑘 dipilih sedemikian sehingga barisan yang dihasilkan konvergen. • Algoritme untuk metode Newton-Raphson: ➢ Mulai dengan sebuah tebakan awal: 𝑥0. ➢ Untuk iterasi ke-𝑖 dengan 𝑖 = 1, 2, 3, …, hitung 𝑥𝑖 = 𝑥𝑖−1 − 𝑓(𝑥𝑖− 1) /𝑓′(𝑥𝑖−1 ) . • Algoritme untuk metode Halley: ➢ Mulai dengan sebuah tebakan awal: 𝑥0. ➢ Untuk iterasi ke-𝑖 dengan 𝑖 = 1, 2, 3, …, hitung 𝑥𝑖 = 𝑥𝑖−1 − 2𝑓(𝑥𝑖−1)𝑓′(𝑥𝑖−1 ) / 2[𝑓′(𝑥𝑖−1)]2 − 𝑓(𝑥𝑖−1 )𝑓′′(𝑥𝑖−1)
# (a) Metode Titik-Tetap
mtt <- function(f, x0, n) {
k <- 0.1
x <- numeric(n)
for (i in 1:n) {
x[i] <- k * f(x0) + x0
x0 <- x[i]
}
return(x)
}
# (b) Metode Newton-Raphson
mnr <- function(f, df, x0, n) {
x <- numeric(n)
for (i in 1:n) {
x[i] <- x0 - f(x0)/df(x0)
x0 <- x[i]
}
return(x)
}
# (c) Metode Halley
mh <- function(f, df, ddf, x0, n) {
x <- numeric(n)
for (i in 1:n) {
x[i] <- x0 - ((2 * f(x0) * df(x0)) / ((2 * df(x0)^2) - f(x0) * ddf(x0)))
x0 <- x[i]
}
return(x)
}
# (d) Fungsi f
f <- function(x) { exp(x) - x^3 - 3 }
df <- function(x) { exp(x) - 3*x^2 }
ddf <- function(x) { exp(x) - 6*x }
# Plot fungsi f
curve(f, from = -3, to = 5)
# (e) Menggunakan fungsi mtt, mnr, dan mh
x0 <- -2
n_iterasi <- 5
hasil_mtt <- mtt(f, x0, n_iterasi)
hasil_mnr <- mnr(f, df, x0, n_iterasi)
hasil_mh <- mh(f, df, ddf, x0, n_iterasi)
# (f) Membuat grafik perbandingan
plot(1:n_iterasi, hasil_mtt, type = "o", col = "red", ylim = c(-1.7,-1.3),
main = "Perbandingan Nilai Hapiran bagi Akar dari Fungsi f
dengan Metode Titik-Tetap,Metode Newton-Rhapson dan Metode Halley",
ylab = "", xlab = "Iterasi ke-")
lines(1:n_iterasi, hasil_mnr, type = "o", col = "blue")
lines(1:n_iterasi, hasil_mh, type = "o", col = "green")
legend("bottomright", legend = c("Metode Titik-Tetap", "Metode Newton-Raphson", "Metode Halley"),
col = c("red", "blue", "green"), lty = c(1,1), pch=1)