Dosen Pengampu : Prof. Dr. Suhartono M.Kom Mata Kuliah : Kalkulus
Prodi : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Diferensiasi merupakan proses mencari slope suatu garis pada titik yang diberikan. Secara umum proses diferensiasi dinyatakan melalui Persamaan (9.1).
f′(x)≈ f (x+h)−f (x) h (9.1)
Kita dapat menyatakan secara formal proses diferensiasi sebagai limit Persamaan (9.1) dimana h mendekati nol. Jadi kita ingin membuat nilai h sekecil mungkin untuk memperoleh pendekatan terbaik terhadap nilai turunan suatu fungsi. Kita membatasi nilai h pada sejumlah nilai yang masuk akal untuk mencegah pembagian dengan nilai yang tidak biasa. Kita juga harus memastikan f (x) dan f (x+h) terpisah cukup jauh untuk mencegah floating point round off error mempengaruhi proses substraksi.
Terdapat tiga buah metode untuk memperoleh turunan pertama suatu fungsidengan menggunakan metode numerik, yaitu:
f′(x)= f (x+h)−f (x) h − h 2f′′(c) (9.2)
f′(x)= f (x)−f (x−h) h − h 2f′′(c) (9.3)
Metode nilai tengah menggunakan ukuran langkah h dua kali dibandingkan dengan 2 metode lainnya. Error yang dihasilkan juga berbeda dengan kedua metode sebelumnya, dimana error dihasilkan dari pemotongan turunan ketiga pada deret Taylor. Secara umum metode selisih tengah memiliki akurasi yang lebih baik dibandingkan kedua metode sebelumnya karena metode ini mempertimbangkan dua sisi untuk memeriksa nilai x. Persamaan (9.4) merupakan persamaan untuk memperoleh nilai turunan pertama suatu fungsi dan estimasi error menggunakan deret Taylor.
f′(x)= f (x+h)−f (x−h) 2h − h2 6 f′′′(c) (9.4)
Bagaimana menentukan h? beberapa literatur menggunakan pendekatan machine error ϵ berdasarkan program yang digunakan untuk melakukan proses perhitungan.Metode selisih maju dan selisih mundur menggunakan pendekatan yang ditunjukkan pada Persamaan (9.5).
h∗ = x√ϵ (9.5)
Untuk metode selisih tengah pendekatan nilai h menggunakan Persamaan(9.6).
h∗ = x 3 √ϵ (9.6)
Kita dapat menggunakan Persamaan (9.2) sampai Persamaan (9.4) untuk membentuk sebuah program yang digunakan untuk menghitung turunan pertama suatu fungsi.
Sintaks yang digunakan adalah 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")
}
}
}
findiff(function(x) 3*(x^2)+ (2*x) +4, x=1, h=0.05, method="central")
## [1] 8
findiff(function(x) 3*(x^2)+ (2*x) +4, x=1, h=0.05, method="forward")
## [1] 8.15
Referensi
* https://bookdown.org/moh_rosidi2610/Metode_Numerik