library(mosaicCalc)
Nama dan NIM : Deny Ary Septian Lazuardi (23060511088)
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Program Studi : Teknik Informatika
library(mosaicCalc)
kali ini saya akan membahas tentang Graphical Iteration. Jadi Konsep iterasi grafis menggambarkan proses iteratif melalui representasi visual atau grafis. Ini digunakan untuk memahami bagaimana iterasi atau pengulangan berfungsi secara geometris dan bagaimana proses mengubah nilai yang berulang untuk mencapai nilai yang diinginkan. Graphical Iteration melibatkan penggunaan gambar atau grafik untuk menunjukkan proses iterasi.
Ini membantu kita memahami bagaimana nilai berubah setiap kali dicoba. Pada awal iterasi, grafik menunjukkan titik atau nilai awal, yang menunjukkan tebakan awal atau nilai yang kita mulai. Kita mengikuti aturan atau perubahan geometris selama iterasi. Ini dapat berupa garis, kurva, atau bentuk visual lainnya yang menunjukkan perubahan.
Setiap langkah iterasi menghasilkan titik lebih dekat ke nilai yang dimaksud. Sampai kita cukup dekat dengan hasil yang diinginkan, proses ini berhenti. Ketika nilai yang diinginkan dicapai, yang ditunjukkan pada grafik sebagai titik konvergensi, proses iterasi selesai. Ini adalah hasil akhir dari berbagai upaya.
better <- makeFun((guess + x/guess)/2 ~ guess)
better(1, x=40)
## [1] 20.5
# 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))
}
# 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)
# Langkah ketiga - Visualisasi iterasi
ggplot(result$steps, aes(x = iteration, y = guess)) +
geom_line() +
geom_hline(yintercept = sqrt(x), linetype = "dashed", color = "purple") +
labs(title = "Graphical Iteration dengan Metode Newton-Raphson",
x = "Iterasi", y = "Tebakan") +
theme_minimal()
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 hasil. 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.
Setelah itu , 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 warna ungu
dengan geom_line.
Daftar Pustaka