Diferensiasi (Turunan)

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.

Macam-Macam Fungsi Penyelesaian Turunan Fungsi

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.

  1. Diferensiasi Metode Titik Pusat Mengggunakan Fungsidiff()
  2. Diferensiasi Menggunakan Fungsi findiff()
  3. DIferensiasi Menggunakan Paket pracma berikut penjelasan dari masing masing fungsi tersebut.

  1. Diferensiasi Metode Titik Pusat Mengggunakan Fungsidiff()

Fungsi diff() pada Paket base dapat digunakan untuk menghitung turunan suatu persamaan menggunakan metode titik pusat. Fungsi ini pada umumnya digunakan untuk menghitung lag suatu data runtun waktu. Agar fungsi tersebut dapat digunakan untuk menghitung turunan pertama suatu persamaan, kita dapat menggunakan argumen lag = 2. Berikut adalah contoh penerapan fungsi diff() untuk memperoleh turunan pertama persamaan matematik. Sintaks dari fungsi diff() 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

  1. Diferensiasi Menggunakan Fungsi findiff()

Untuk menyelesaikan penyelesaian deferensiasi dapat juga menggunakan Fungsi findiff() dengan sintaks sebagai berikut.
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

  1. Diferensiasi Menggunakan Paket pracma

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.