Turunan suatu fungsi berkaitan dengan materi limit fungsi dan gradien garis atau kemiringan garis di suatu titik tertentu. Lalu apa yang dimaksud dengan turunan? Turunan fungsi (diferensial) ialah fungsi lain dari suatu fungsi sebelumnya, misalnya fungsi f menjadi f’ yang memiliki nilai tak beraturan. Turunan (diferensial) dipakai sebagai suatu alat untuk menyelesaikan berbagai masalah dalam geometri dan mekanika. Dalam sumber lain mengatakan bahwa turunan suatu fungsi adalah gradien garis singgung fungsi tersebut yang berada di suatu titik tertentu.
Terdapat sejumlah fungsi R yang dapat digunakan untuk menghitung turunan suatu persamaan matematik atau suatu fungsi. Fungsi-fungsi tersebut tersedia dalam sejumlah Paket, baik base package maupun yang berasal dari Paket lainnya. Fungsi- fungsinya yaitu sebagai berikut.
Contoh Soal : f(x) = e^-x(sin(2x)) + 1
f <- function(x){exp(-x)*sin(2*x)+1}
x <- 1
h <- x*.Machine$double.eps^(1/3)
xvec <- seq(x-h, x+h, h)
# turunan pertama
diff(f(xvec), lag=2)/(2*h)
## [1] -0.6406956
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")
}
}
}
Untuk mengujinya maka kita gunakan satu contoh soal seperti di bawah ini.
Contoh Soal : f(x) = e^-x(sin(2x)) + 1
findiff (function(x)
exp(-x)*sin(2*x)+1, x=1, h=0.05,
method="central")
## [1] -0.6390352
Terdapat sejumlah fungsi pada Paket pracma yang dapat digunakan untuk melakukan diferensiasi suatu persamaan matematik. Fungsi-fungsi yang dapat digunakan untuk melakukan diferensiasi sederhana antara lain: fderiv(), numderiv(), numdiff(), dan grad(). Namun, fungsi-fungsi di atas belum bisa langsung digunakan karena paket belum terinstall. Oleh karena itu, hal pertama yang harus dilakukan adalah dengan menginstall Paket pracma di R Studio.