Mata Kuliah : Kalkulus Dosen Pengampu : Prof. Dr. Suhartono, M.kom
Turunan/ derivatif dari fungsi mengukur tingkat di mana nilai fungsi berubah saat inputnya berubah. Perubahan nilai fungsi tergantung pada arah perubahan nilai variabel independen.
Diferensiasi adalah proses menemukan turunan dari fungsi yang dapat dibedakan. Perbedaan keduanya adalah derivatif mengacu pada tingkat perubahan fungsi sedangkan diferensiasi adalah proses menemukan turunan dari suatu fungsi.
Dalam pemrograman R, turunan dari suatu fungsi dapat digunakan menghitung dan fungsi. Ini digunakan untuk menghitung turunan dari ekspresi sederhana. deriv() D()
Syntax 1. deriv(expr,name) 2. D(expr,name)
Output yang dihasilkan adalah fungsi. Fungsi akan mencantumkan sebagai argumen semua variabel yang terkandung dalam ekpresi input. Lalu, mengevaluasi fungsi output untuk nilai numerik tertentu untuk menemukan nilai fungsi turunan.
Kita bisa menggunakan fungsi D() untuk menghitung diferensiasi sebuah fungsi.
Misalnya,
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
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
g <- D(x^4 ~ x)
g(2)
## [1] 32
g(5.5)
## [1] 665.5
Di bawah ini merupakan cara membuat fungsi, yaitu :
library(mosaicCalc)
my_function <- function(x) {
return (5 * x^3)
}
my_function(2)
## [1] 40
Mengaplikasikan fungsi (my_function) dalam diferensiasi pemrograman R
g<-D(my_function(x)~x)
g(20)
## [1] 6000
Pengaplikasian diferensial dalam pemrograman R dengan fungsi berisi variabel dan trigonometri serta definisi variabel.
s2 <- D(A * sin(2 * pi * t / P) + C ~ t)
s2( t=3, A=2, P=10, C=4 )
## [1] -0.3883222
Terakhir adalah membuat grafik dengan slice_plot dalam aplikasi diferensial pemrograman bahasa R yang fungsi terdiri dari trigonometri dan variabel.
slice_plot(s2(t, A=5, P=20, C=100) ~ t,
domain(t=range(0,20)))
Contoh derivative/ turunan lainnya adalah :
# Ekspresi
f = expression(x^2 + 5*x + 1)
# Turunan
cat("Menggunakan fungsi deriv() :\n")
## Menggunakan fungsi deriv() :
print(deriv(f, "x"))
## expression({
## .value <- x^2 + 5 * x + 1
## .grad <- array(0, c(length(.value), 1L), list(NULL, c("x")))
## .grad[, "x"] <- 2 * x + 5
## attr(.value, "gradient") <- .grad
## .value
## })
cat("\nMenggunakan fungsi D() :\n")
##
## Menggunakan fungsi D() :
print(D(f, 'x'))
## 2 * x + 5
Pertama, menerapkan fungsi deriv() ke rumus seperti ini :
test_deriv <- deriv(~ x^3 + 2 * x, "x")
Selanjutnya, menentukan nilai x yang ingin dievaluasi (yaitu 5) :
x <- 5
Menerapkan fungsi eval untuk mengevaluasi ekspresi :
eval(test_deriv)
## [1] 135
## attr(,"gradient")
## x
## [1,] 77
Fungsi eval telah mengembalikan hasil 135 yaitu (3^3 + 2*3 + 5 = 135)
Kaplan, Daniel, 2020, Computer-age Calculus with R (https://dtkaplan.github.io/RforCalculus/)
Kumar, Utkarsh, 2020, Compute Derivative of an Expression in R Programming – deriv() and D() Function (https://www.geeksforgeeks.org/compute-derivative-of-an-expression-in-r-programming-deriv-and-d-function/)
Schork, Joachim, Calculate Derivative of Expression in R (Example) | deriv() Function (https://statisticsglobe.com/calculate-derivative-expression-r)
Admin, 2011, Difference Between Differentiation and Derivative (https://www.differencebetween.com/difference-between-differentiation-and-vs-derivative/)
Venkateswarlu, Nagasuri Bala, 2018, Differentiation and integration in R (https://rpubs.com/venkatritch/333327)