Zero-finding atau pencarian akar dalam kalkulus adalah proses menemukan nilai \(x\) di mana suatu fungsi \(f(x)\) mencapai nilai 0. Dalam konteks ini, kita mencari solusi untuk persamaan \(f(x) = 0\). Pencarian akar ini sering dilakukan untuk menemukan titik-titik penting seperti tempat fungsi melintasi sumbu x.

Salah satu metode yang umum digunakan adalah metode bisection. Metode ini bekerja dengan mengambil dua titik di sepanjang sumbu x dimana nilai fungsi memiliki tanda yang berbeda. Kemudian, metode tersebut mencari titik tengah antara dua titik tersebut dan memeriksa tanda nilai fungsi pada titik tersebut. Proses ini diulang sampai kita mendekati solusi dengan tingkat presisi yang diinginkan.

Berikut adalah contoh perhitungan dan plot menggunakan metode bisection:

  1. Metode Bisection: Pertimbangkan fungsi \(f(x) = x^3 - 6x^2 + 11x - 6\). Kami ingin mencari akar dari persamaan \(f(x) = 0\).

  2. Menentukan Interval Awal: Pilih dua titik awal \(a\) dan \(b\) di mana \(f(a)\) dan \(f(b)\) memiliki tanda yang berbeda. Misalnya, \(a = 1\) dan \(b = 3\).

  3. Iterasi Metode Bisection:

    • Iterasi 1: \(c = \frac{a + b}{2} = 2\), \(f(c) = -2\) (tanda berbeda dengan \(f(a)\)), maka kita pilih \(b = c\).
    • Iterasi 2: \(c = \frac{a + b}{2} = 1.5\), \(f(c) = 0.375\) (tanda berbeda dengan \(f(b)\)), maka kita pilih \(a = c\).
    • Iterasi 3: Teruskan iterasi hingga mendekati solusi.

Berikut adalah contoh kode R untuk melakukan perhitungan dan membuat plot:

# Definisi fungsi
f <- function(x) { x^3 - 6*x^2 + 11*x - 6 }

# Metode Bisection
bisection <- function(f, a, b, tol = 1e-6, max_iter = 100) {
  iter <- 0
  
  while ((b - a) / 2 > tol && iter < max_iter) {
    c <- (a + b) / 2
    fc <- f(c)
    
    if (fc == 0) {
      break
    } else if (f(a) * fc < 0) {
      b <- c
    } else {
      a <- c
    }
    
    iter <- iter + 1
  }
  
  return(c(iterations = iter, root = (a + b) / 2))
}

# Penerapan metode bisection
result <- bisection(f, 1, 3)

# Plot fungsi
x_values <- seq(0, 4, by = 0.1)
y_values <- f(x_values)

plot(x_values, y_values, type = "l", col = "blue", lwd = 2, 
     main = "Plot Fungsi dan Akar dengan Metode Bisection",
     xlab = "x", ylab = "f(x)")

# Tandai akar dengan warna merah
abline(h = 0, col = "black", lty = 2)
points(result$root, 0, col = "red", pch = 16, cex = 2)

Dalam script ini, bisection adalah fungsi untuk metode bisection. Hasilnya berupa objek yang berisi jumlah iterasi dan akar yang ditemukan. Plot menunjukkan fungsi \(f(x)\) dan menandai akar yang ditemukan dengan warna merah.

Jangan ragu untuk menguji dan menyesuaikan parameter sesuai kebutuhan. Jika ada yang perlu dijelaskan lebih lanjut atau dimodifikasi, beri tahu saya saja!