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.
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.