Nama : Muhamad Fran Dahlan Gibran
NIM : 230605110127
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Universitas :
Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas :
Sains dan Teknologi
Program Studi : Teknik Informatika
Iterasi Numerik: Iterasi numerik merupakan suatu metode untuk mendekati solusi suatu masalah matematika dengan melakukan pendekatan berulang terhadap solusi yang diinginkan. Salah satu contoh metode iterasi numerik adalah Metode Newton-Raphson, di mana kita memperbarui tebakan awal secara berulang dengan menggunakan turunan fungsi.
Kalkulus: Kalkulus adalah cabang matematika yang mempelajari perubahan dan laju perubahan. Terdapat dua cabang utama kalkulus: diferensial dan integral.
Diferensial: Memeriksa perubahan suatu fungsi saat variabel inputnya berubah. Turunan adalah konsep utama dalam diferensial.
Integral: Menyelidiki akumulasi suatu besaran, seperti luas di bawah kurva fungsi. Integral adalah konsep utama dalam integral.
library(ggplot2)
# Fungsi yang akan diiterasi
fungsi <- function(x) {
return(x^2 - 4)
}
# Metode iterasi numerik
iterasi_numerik <- function(fungsi, x0, tol = 1e-6, max_iter = 100) {
x <- x0
iter <- 0
nilai_x <- numeric(max_iter)
while (abs(fungsi(x)) > tol && iter < max_iter) {
nilai_x[iter + 1] <- x
x <- x - fungsi(x) / deriv(fungsi, x) # Metode Newton-Raphson
iter <- iter + 1
}
if (iter == max_iter) {
cat("Iterasi tidak konvergen setelah", max_iter, "iterasi.\n")
} else {
cat("Solusi yang ditemukan setelah", iter, "iterasi:", x, "\n")
}
return(nilai_x[1:iter])
}
# Fungsi untuk menghitung turunan fungsi
deriv <- function(f, x, h = 1e-6) {
return((f(x + h) - f(x - h)) / (2 * h))
}
# Contoh penggunaan
nilai_iterasi <- iterasi_numerik(fungsi, x0 = 2)
## Solusi yang ditemukan setelah 0 iterasi: 2
# Membuat grafik iterasi numerik
iterasi_df <- data.frame(iterasi = 1:length(nilai_iterasi), nilai_x = nilai_iterasi)
ggplot(iterasi_df, aes(x = iterasi, y = nilai_x)) +
geom_line() +
geom_point() +
labs(title = "Iterasi Numerik",
x = "Iterasi",
y = "Nilai x") +
theme_minimal()
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?