Pada tutorial menggunakan R kali ini, kita akan mempraktikkan metode pencarian akar dengan metode Bisection (Metode Bagi Dua) dan Metode Newton.
Library yang akan kita gunakan adalah cmna yang dapat anda akses melalui alamat https://rdrr.io/cran/cmna/.
library cmnalibrary(cmna)
f <- function(x) {
x^3 + 4 * x^2 - 10
}
curve(f, xlim=c(0,3), col='blue', lwd=1, lty=2)
abline(h=0)
abline(v=0)
Untuk mencari perkiraan akar dari fungsi \(f(x)\) dengan Metode Bagi Dua, gunakan fungsi bisection seperti ini,
bisection(f, a, b, tol = 0.001, m = 100).
Keterangan Argumen
f = fungsi
a = nilai interval pertama
b = nilai interval kedua
tol = nilai toleransi error
m = cacah iterasi maksimal
bisection(f, 1, 2)
## [1] 1.364746
Untuk penyelesaian dengan Metode Newton, terlebih dahulu kita mendefinisikan turunan dari fungsi \(f\) menggunakan library Deriv.
library(Deriv)
Berikut ini adalah proses mendapatkan turunan fungsi \(f\).
fp <- Deriv(f)
fp
## function (x)
## x * (2 * (4 + x) + x)
Untuk mencari solusi akar dari sebuah fungsi dengan Metode Newton, gunakan fungsi newton dengan cara:
newton(f, fp, x, tol = 0.001, m = 100)
Keterangan Argumen
f = fungsi
fp = fungsi derivasi dari \(f\)
x = nilai perkiraan awal
tol = nilai toleransi error
m = cacah iterasi maksimal
newton(f, fp, 1.5)
## [1] 1.36523
Gunakan Metode Bisection untuk mencari perkiraan akar dari fungsi-fungsi berikut!
\(f(x)= \sqrt{x}-cos x\) pada selang \([0,1]\)
\(f(x)=3(x+1)(x-\frac{1}{2})(x-1)\) pada selang \([-2,1.5]\) dan [-1.25,2.5]
\(f(x)=x^3-2x^2+14x-6\) pada selang \([0.1];[1,3.2];[3.2,4]\) dengan toleransi error \(10^{-2}\)
Gunakan Metode Newton untuk mencari perkiraan akar fungsi-fungsi berikut!
\(f(x)=x^2-6\) dengan inisialisasi awal \(p_0=1\)
\(f(x)=x^3-2x^2+14x-6\) dengan inisialisasi awal \(p_0=1.5\)
Untuk mengerjakan soal 1 dan 2, silakan anda melakukan adjustment terhadap parameter cacah iterasi dan atau toleransi error untuk mendapatkan hasil terbaik!