Dalam artikel ini, kita akan membahas apa itu Numerical Zero-Finding. Numerical Zero-Finding merupakan metode untuk menemukan nilai-nilai x yang membuat fungsi f(x) sama dengan nol yang dikenal sebagai akar-akar atau solusi fungsi f(x).

Untuk alasan apa kita harus mencari dasar fungsi? Karena akar-akar fungsi dapat memberikan informasi penting tentang fenomena yang kita pelajari. Misalnya, jika kita memiliki fungsi yang menunjukkan jarak antara roket dan bumi, akar-akar fungsi itu dapat menunjukkan kapan roket akan menyentuh bumi lagi. Atau, jika kita memiliki fungsi yang menunjukkan kecepatan sebuah mobil, akar-akar fungsi itu dapat menunjukkan kapan mobil berhenti atau berbalik arah.

Namun, tidak mudah untuk menemukan asal-usul semua fungsi. Beberapa fungsi sangat kompleks atau tidak dapat diselesaikan dengan aljabar biasa. Untuk mencapai hal ini, kita perlu menggunakan teknik numerik yang dapat mendekati akar-akarnya dengan tingkat ketelitian tertentu. Teknik-teknik ini menggunakan komputer untuk menghitung dan memeriksa nilai-nilai x yang mungkin merupakan akar-akar fungsi.

Untuk menemukan akar-akar fungsi, kita bisa menggunakan metode Biseksi dengan cara membagi interval pencarian menjadi dua bagian yang sama besar dan memilih salah satu bagian yang masih mengandung akar-akarnya. Prosedur ini diulangi sampai interval pencarian menjadi sangat kecil dan mendekati akar-akarnya.

Metode Biseksi dapat digambarkan sebagai berikut:

Bayangkan Anda bermain petak umpet dengan teman Anda. Anda tahu teman Anda bersembunyi di ruangan, tetapi Anda tidak tahu di mana. Anda bisa membagi ruangan menjadi dua bagian yang sama besar dengan menggunakan seutas tali untuk mencari teman Anda. Kemudian Anda dapat bertanya kepada teman Anda apakah dia berada di sebelah kiri atau kanan tali. Jika dia menjawab kiri, maka Anda dapat membuang bagian kanan ruangan dari pencarian Anda, karena Anda tahu bahwa teman Anda tidak berada di sana. Jika dia menjawab kanan, maka Anda dapat membuang bagian kiri ruangan dari pencarian Anda, karena Anda tahu bahwa teman Anda tidak berada di sana.

Anda bisa mengulangi langkah ini sampai ruangan menjadi sangat kecil dan Anda bisa menemukan teman Anda dengan mudah. Setiap kali Anda membagi ruangan menjadi dua bagian, Anda akan semakin dekat dengan posisi teman Anda.

Pertama kita mendefinisikan fungsi f(x) yang akan kita gunakan untuk mencari akarnya. Fungsi ini adalah polinomial (f(x) = x^3 - 2x^2 - 5).

# Membuat fungsi f(x) = x^3 - 2x^2 - 5
f <- rfun( ~ x^3 - 2*x^2 - 5, seed = 579)

Kemudian kita mencari akar dari fungsi f(x) ketika f(x) = 0.

# Mencari akar dari f(x) = 0
zeros <- Zeros(f(x) ~ x, bounds(x = -10:10))
print(zeros)
## # A tibble: 2 × 2
##       x     .output.
##   <dbl>        <dbl>
## 1 0.975 -0.00000305 
## 2 5.18   0.000000617

Terakhir, kita menampilkan plot grafik fungsi f(x) dan garis horizontal pada y = 0.

# Menampilkan plot fungsi f(x) dan garis horizontal pada y = 0
slice_plot(f(x) ~ x, bounds(x = -10:10)) %>%
  gf_hline(yintercept = ~ 0, color = "deeppink")