Nama/Nim : Axel Dzakhwan AL
Yushen/230605110124
Dosen Pengampu :
Prof. Dr. Suhartono, M.Kom
Universitas :
Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Program
Studi : Teknik Informatika
Di artikel ini kita akan
membahas apa itu Iteration. Iteration adalah proses mengulang suatu
tindakan atau perhitungan dengan tujuan mendekati hasil yang diinginkan.
Jika melihat pada mosaic calculus, iterasi (Iteration) digunakan untuk
menyelesaikan berbagai masalah, seperti mencari akar dari suatu fungsi,
menemukan nilai optimal dari suatu fungsi, atau menyelesaikan persamaan
diferensial.
Untuk mencari akar dari fungsi f(x) = x^2 - 2, kita bisa menggunakan metode Newton-Raphson yang merupakan salah satu metode iterasi. Metode ini menggunakan turunan dari fungsi untuk memperkirakan akar dengan cara mengurangi selisih antara nilai tebakan dan nilai sebenarnya. Metode ini membutuhkan nilai awal, fungsi, dan toleransi sebagai masukan, dan menghasilkan nilai akar sebagai keluaran. Paket mosaicCalc menyediakan fungsi argM untuk melakukan metode Newton-Raphson.
Untuk menemukan nilai optimal dari suatu fungsi, kita bisa menggunakan metode gradien turun yang merupakan metode iterasi untuk optimisasi. Metode ini menggunakan gradien dari fungsi untuk mencari arah terbaik untuk menuju titik minimum atau maksimum. Metode ini membutuhkan nilai awal, fungsi, dan laju pembelajaran sebagai masukan, dan menghasilkan nilai optimal sebagai keluaran. Paket mosaicCalc menyediakan fungsi gradientDescent untuk melakukan metode gradien turun.
Untuk menyelesaikan persamaan diferensial, kita bisa menggunakan metode Euler yang merupakan metode iterasi untuk dinamika. Metode ini menggunakan laju perubahan dari suatu variabel untuk memperkirakan nilai variabel tersebut pada waktu berikutnya. Metode ini membutuhkan nilai awal, fungsi laju perubahan, dan selang waktu sebagai masukan, dan menghasilkan nilai variabel pada waktu tertentu sebagai keluaran. Paket mosaicCalc menyediakan fungsi euler untuk melakukan metode 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 55
x <- 55
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 55 adalah 7.416198
Dalam program ini, kami membuat fungsi sqrt_newton_raphson yang
menghitung akar kuadrat dari suatu bilangan menggunakan metode
Newton-Raphson. Fungsi ini mengambil tiga argumen: x (bilangan yang akan
dicari akar kuadratnya), guess (tebakan awal), tolerance (toleransi
untuk penghentian iterasi), dan max_iter (jumlah maksimum iterasi
sebelum penghentian).
Kemudian, kami menginisialisasi tebakan awal dengan setengah dari x (Kita dapat mengganti tebakan awal sesuai kebutuhan). Selanjutnya, kami menggunakan loop for untuk melakukan iterasi hingga nilai akar kuadrat mendekati nilai sebenarnya dengan tingkat toleransi yang telah ditetapkan atau hingga mencapai jumlah iterasi maksimum.
Setelah iterasi selesai, program mencetak hasil akar kuadrat ke layar.