Dalam artikel ini, kita akan membahas Graphical Iteration. Oleh karena itu, istilah “Graphical Iteration” atau “iterasi grafis” mengacu pada gagasan yang menggambarkan proses iteratif dengan menggunakan representasi visual atau grafis. Ini membantu Anda memahami cara kerja iterasi atau pengulangan secara geometris. Konsep ini bermanfaat untuk melihat bagaimana nilai-nilai berulang berubah selama proses dan bagaimana mereka bergerak menuju nilai yang diinginkan.W
Untuk memulai, kita menggunakan metode
Newton-Raphson untuk membuat fungsi untuk menghitung akar kuadrat dari
suatu bilangan. Fungsi menerima parameter berikut: x
(bilangan yang akan dicari akar kuadratnya), guess (tebakan
awal), tolerance (toleransi untuk penghentian iterasi), dan
max_iter.Selain itu, fungsi ini mengumpulkan
langkah-langkah iterasi dalam sebuah frame data yang disebut
result.
library(ggplot2)
# Langkah Pertama - Fungsi untuk menghitung akar kuadrat dengan metode Newton-Raphson
sqrt_newton_raphson <- function(x, guess, tolerance = 1e-6, max_iter = 100) {
results <- data.frame(iteration = numeric(), guess = numeric())
for (iteration in 1:max_iter) {
new_guess <- (guess + x / guess) / 2
results <- rbind(results, data.frame(iteration = iteration, guess = guess))
if (abs(new_guess - guess) < tolerance) {
return(list(result = new_guess, steps = results))
}
guess <- new_guess
}
cat("Iterasi maksimum tercapai.")
return(list(result = guess, steps = results))
}
Dalam langkah kedua, kita menentukan bilangan
x yang akan dicari akar kuadratnya, dan menginisialisasi
initial_guess sebagai setengah dari x.
Selanjutnya, kita menghitung akar kuadrat dengan menggunakan fungsi
sqrt_newton_raphson dan mendapatkan hasil akhir dalam
variabel result.
# Langkah kedua - Contoh penggunaan fungsi untuk menghitung akar kuadrat dari 55
x <- 55
initial_guess <- x / 2 # Tebakan awal: setengah dari x
result <- sqrt_newton_raphson(x, initial_guess)
Pada langkah ketiga, kita menggunakan
ggplot2 untuk membuat visualisasi. Ini dimulai dengan
memplot langkah-langkah iterasi sebagai garis hitam dengan
geom_line. Kemudian, untuk mewakili akar kuadrat yang
sebenarnya, kita menambahkan garis putus-putus merah muda dengan
geom_hline.
# Langkah ketiga - Visualisasi iterasi
ggplot(result$steps, aes(x = iteration, y = guess)) +
geom_line() +
geom_hline(yintercept = sqrt(x), linetype = "dashed", color = "deeppink") +
labs(title = "Graphical Iteration dengan Metode Newton-Raphson",
x = "Iterasi", y = "Tebakan") +
theme_minimal()