| Nama: Ahmad Bazli Naufal |
| NIM: 230605110119 |
| Prodi: Teknik Informatika |
| Matakuliah: Kalkulus |
| Dosen Pengampu: Prof. Dr. Suhartono, M.Kom |
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
## 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.