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

Numerical zero finding adalah proses pencarian nilai di mana suatu fungsi bernilai nol menggunakan metode numerik. Salah satu metode numerik yang umum digunakan adalah metode biseksi. Metode ini memanfaatkan sifat fungsi yang kontinu untuk mencari akar di antara dua titik pada interval tertentu. Berikut adalah contoh implementasi pencarian nol dengan metode biseksi dalam RStudio, termasuk pembuatan diagram grafik:

# Install dan muat library 'ggplot2' untuk plotting
if (!requireNamespace("ggplot2", quietly = TRUE)) {
  install.packages("ggplot2")
}
library(ggplot2)

# Fungsi yang ingin dicari akarnya
f <- function(x) {
  return(x^2 - 4)  # Misalnya mencari akar dari x^2 - 4 = 0
}

# Metode biseksi untuk pencarian nol
bisection_method <- function(f, a, b, tolerance = 1e-6, max_iter = 100) {
  iter <- 0
  while ((b - a) / 2 > tolerance && iter < max_iter) {
    c <- (a + b) / 2
    if (f(c) == 0) {
      break  # Akar ditemukan secara tepat
    } else if (f(a) * f(c) < 0) {
      b <- c
    } else {
      a <- c
    }
    iter <- iter + 1
  }
  
  return(list(root = (a + b) / 2, iterations = iter))
}

# Menjalankan metode biseksi pada interval awal [a, b]
result <- bisection_method(f, a = -5, b = 5)

# Menampilkan hasil
cat("Akar yang ditemukan:", result$root, "\n")
## Akar yang ditemukan: -2
cat("Jumlah iterasi:", result$iterations, "\n")
## Jumlah iterasi: 23
# Plotting grafik fungsi dan lokasi akar yang ditemukan
x_values <- seq(-5, 5, length.out = 100)
y_values <- f(x_values)

plot_data <- data.frame(x = x_values, y = y_values)

ggplot(plot_data, aes(x, y)) +
  geom_line() +
  geom_hline(yintercept = 0, linetype = "dashed", color = "red") +
  geom_point(x = result$root, y = 0, color = "blue", size = 3) +
  labs(title = "Metode Biseksi untuk Pencarian Nol",
       x = "Nilai x", y = "Nilai f(x)")


Penjelasan:

  1. Fungsi ‘f’ merupakan fungsi yang ingin dicari akarnya (dalam contoh ini, f(x)=x^2-4.
  2. Fungsi ‘bisection_method’ adalah implementasi metode biseksi untuk mencari akar pada interval [a,b].
  3. Grafik menunjukkan fungsi f(x) dengan garis putus-putus menunjukkan sumbu y = 0 dan titik biru menunjukkan lokasi akar yang ditemukan.