library(mosaicCalc)
## Loading required package: mosaic
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
##     quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
## Loading required package: mosaicCore
## 
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
## 
##     count, tally
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
##      (status 2 uses the sf package in place of rgdal)
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D

Pada artikel ini kita akan membahas tentang Zero-finding atau menemukan input yang menghasilkan output yang kita inginkan, operasi ini adalah salah satu yang dipersyaratkan dalam penilian dalam kalkulus.

Fungsi adalah suatu mekanisme dalam rumusan matematika yang digunakan untuk mengubah variabel input yang diberikan ke fungsi menjadi nilai output dari suatu fungsi. Zero-finding atau bisa kita sebut sebagai Temuan Nol adalah memberikan hasil dengan arah yang lain yaitu dengan cara diberi nilai output kemudian akan ditemukan nilai input yang sesuai.

Sebagai contoh, perhatikan fungsi eksponensial yaitu f(x)= e^x. Dengan masukan nilai spesifik x=2.135, Maka anda dapat dengan mudah menghitung output yang sesuai dengan menggunakan prompt dari R:

exp(2.135)
## [1] 8.457047

Pada penyelesain rumus fungsi f(x)=e^x dimana jika x=2.135 maka kita akan mendapatkan nilai fungsi adalah 8.457047

Tetapi kemudian kita balik yaitu dalam bentuk output dari fungsi kemudian didapat nilai inpt dari fungsi, katakanlah e^x0 adalah 1.595339. Kita akan tahu bahwa jika kita mengisi nilai x0 tertentu maka kita akan mendapatkan nilai outout dari fungsi yaitu 4.93.

Bagaimana kita mendapatkan nilai x0 dengan hasil dari f(x0)=e^x0 adalah 4.93, untuk itu kita akan mengerjalakan dengan fungsi ln() seperti pada kode dibawah ini:

log(4.93)
## [1] 1.595339

Dari hasil didapat bahwa jika kita memasukkkan nilai x0 sama dengan 4.93 maka akan didapatkan nilai fungsi adalah 1.595

Contoh lain adalah jika kita mendapatkan fungsi f(x)=1.7-0.85x+0.063x^2

ini adalah suatu fungsi polinomial jika kita memberi nilai x0 tertentu pada fungsi tersebut maka kita bisa contohkan hasil dari f(x) adalah 3 maka kita bisa mencarai nilai dari x0 dengan cara seperti berikut:

f <- makeFun(1.7-0.85*x+0.063*x^2 ~ x)
f
## function (x) 
## 1.7 - 0.85 * x + 0.063 * x^2
Zeros(f(x) - 0 ~ x, bounds(x=-50:50))
## # A tibble: 2 × 2
##       x .output.
##   <dbl>    <dbl>
## 1  2.44  3.27e-9
## 2 11.1  -2.82e-6
slice_plot(f(x) ~ x, bounds(x=-50:50)) %>%
  gf_hline(yintercept = ~ 3, color="magenta")