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
Pada artikel ini kita akan membahas apa itu iterasi. Proses mengulangi suatu tindakan atau perhitungan dengan tujuan mencapai hasil yang diinginkan dikenal sebagai iterasi. Iteration (iterasi) digunakan dalam mosaic calculus untuk menyelesaikan berbagai masalah. Misalnya, itu digunakan untuk mencari akar suatu fungsi, menemukan nilai optimal suatu fungsi, atau menyelesaikan persamaan diferensial.
Salah satu metode iterasi, metode Newton-Raphson, dapat digunakan
untuk menemukan akar dari fungsi f(x) = x^2 - 2. Metode ini menggunakan
turunan fungsi untuk memperkirakan akar dengan mengurangi selisih antara
nilai tebakan dan nilai sebenarnya. Nilai awal, fungsi, dan toleransi
dimasukkan sebagai masukan, dan nilai akar dihasilkan sebagai keluaran
dari metode ini. Untuk melakukan metode Newton-Raphson, paket mosaicCalc
menyediakan fungsi argM.
Kita dapat menggunakan metode gradien turun, metode iterasi untuk optimisasi, untuk menemukan nilai fungsi optimal. Metode ini menggunakan gradien dari fungsi untuk menemukan jalan terbaik menuju titik minimum atau maksimum. Nilai awal, fungsi, dan laju pembelajaran diperlukan sebagai masukan dalam metode ini untuk menghasilkan nilai terbaik. Untuk melakukan metode gradien turun, paket mosaicCalc menyediakan fungsi gradientDescent.
Untuk menyelesaikan persamaan diferensial, metode Euler—metode iterasi untuk dinamika—menggunakan laju perubahan suatu variabel untuk memperkirakan nilai variabel tersebut pada waktu berikutnya. Nilai awal, fungsi laju perubahan, dan selang waktu digunakan sebagai masukan, dan metode ini menghasilkan nilai variabel pada titik tertentu. Untuk melakukan metode Euler, paket mosaicCalc menyediakan fungsi Euler.
# Fungsi untuk menghitung akar kuadrat dengan metode Newton-Raphson
sqrt_newton_raphson <- function(x, guess, tolerance = 1e-6, max_iter = 100) {
for (iteration in 1:max_iter) {
new_guess <- (guess + x / guess) / 2
if (abs(new_guess - guess) < tolerance) {
return(new_guess)
}
guess <- new_guess
}
cat("Iterasi maksimum tercapai.")
return(guess)
}
# Contoh penggunaan fungsi untuk menghitung akar kuadrat dari 100
x <- 100
initial_guess <- x / 2 # Tebakan awal: setengah dari x
result <- sqrt_newton_raphson(x, initial_guess)
cat("Akar kuadrat dari", x, "adalah", result, "\n")
## Akar kuadrat dari 100 adalah 10
Dalam program ini, kami membuat fungsi sqrt_newton_raphson yang menggunakan metode Newton-Raphson untuk menghitung akar kuadrat dari suatu bilangan. Tiga argumen digunakan dalam fungsi ini: x (bilangan yang akan dicari akar kuadratnya), guess (tebakan awal), tolerance (toleransi untuk penghentian iterasi), dan max_iter.
Setelah itu, kami menginisialisasi tebakan awal dengan setengah dari x, dan kami menggunakan loop for untuk melakukan iterasi hingga nilai akar kuadrat mendekati nilai sebenarnya dengan tingkat toleransi yang telah ditetapkan atau hingga jumlah iterasi maksimum.
Daftar Pustaka