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

Turunan fungsi (diferensial) ialah fungsi lain dari suatu fungsi sebelumnya, misalnya fungsi f menjadi f’ yang memiliki nilai tak beraturan. Turunan dapat diketahui melalui sifat-sifatnya. Berikut sifat-sifat dari diferensiasi, Jika k suatu konstanta, f dan g fungsi-fungsi yang terdiferensialkan, u dan v fungsi – fungsi dalam x sehingga u =f(x) dan v =g(x) maka berlaku :

Jika y = k * u, maka y’ = k * (u’) Jika y = u + v, maka y’ = u’ + v′ Jika y = u − v, maka y’ = u’ − v′ Jika y = u * v, maka y’ = u’v + u v′ Jika y = u / v, maka y’ = u’v – u v’ / v2 Untuk dapat melakukan sebuah program menghitung turunan pertama sebuah fungsi pada RStudio aktifkan operasi turunan terlebih dahulu

findiff <- function(f, x, h, method=NULL){
  if(is.null(method)){
    warning("please select a method")
  }else{
    if(method == "forward"){
      return((f(x+h)-f(x))/h)
    }else if(method=="backward"){
      return((f(x)-f(x-h))/h)
    }else if(method=="central"){
      return((f(x+h)-f(x-h))/(2*h))
    }else{
      warning("you can use method: forward, bacward, or central")
    }
  }
}

contoh yang lainnya: Hitunglah turunan pertama f(x) = 2x - 1 / x2 -1 dengan x = 2, dan h = 0.05

 findiff(function(x)
  ((2*2)-1)/((2^2)-1), x=2, h=0.05,
    method="central")
## [1] 0