Universitas : UIN Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Gambar 1.1: Metode numerik metode secant.
Metode Secant merupakan perbaikan dari metode regula-falsi dan Newton Raphson, dimana kemiringan dua titik dinyatakan secara diskrit dengan mengambil bentuk garis lurus yang melalui satu titik.
Definisikan f(x) dan f’(x)
Tentukan nilai toleransi e dan iterasi masimum (N)
Tentukan tebakan awal x0 dan x1
Hitung f(x0) dan f(x1)
Untuk iterasi i=1 s/d N atau |f(x)|≥e, hitung x menggunakan Persamaan
Akar persamaan adalah nilai x yang terakhir.
Fungsi root_secant() merupakan fungsi yang penulis buat untuk melakukan iterasi menggunakan metode Secant. Berikut merupakan sintaks dari fungsi tersebut:
root_secant <- function(f, x, tol=1e-7, N=100){
iter <- 0
xold <- x
fxold <- f(x)
x <- xold+10*tol
while(abs(x-xold)>tol){
iter <- iter+1
if(iter>N)
stop("No solutions found")
fx <- f(x)
xnew <- x - fx*((x-xold)/(fx-fxold))
xold <- x
fxold <- fx
x <- xnew
}
root<-xnew
return(list(`function`=f, root=root, iter=iter))
}
Untuk mempercepat proses iterasi kita dapat menggunakan fungsi root_secant() pada R. Berikut sintaks yang digunakan:
root_secant(function(x){x-exp(-x)}, x=0)
## $`function`
## function(x){x-exp(-x)}
## <bytecode: 0x00000000157005b0>
##
## $root
## [1] 0.5671433
##
## $iter
## [1] 6
Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=0, 5671433 dengan iterasi dilakukan sebanyak 6 kali.
Kelebihan metode secant yaitu, metode ini tidak memerlukan rentang pencarian akar penyelesaian, metode ini tidak memerlukan pencarian turunan pertama persamaan non-linier secara analitik dimana tidak dapat dilakukan otomasi pada setiap kasus. Adapun kerugian dari metode ini adalah berpotensi menghasilkan hasil yang tidak konvergen sama seperti metode terbuka lainnya. Selain itu, kecepatan konvergensinya lebih lambat dibanding metode Newton-Raphson.
1. Cari hasil perkalian dari tiga persamaan berikut (x + 2)^2(x − 1)^4(x + 5)
Jawab:
root_secant(function(x){((x + 2)^2)*((x - 1)^4)*(x + 5)}, x=0)
## $`function`
## function(x){((x + 2)^2)*((x - 1)^4)*(x + 5)}
## <bytecode: 0x0000000014a2a0e8>
##
## $root
## [1] 0.9999996
##
## $iter
## [1] 72
Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=0, 9999996 dengan iterasi dilakukan sebanyak 72 kali.
2. Cari faktor dari persamaan 6x^4 + 11x^3 − 56x^2 − x + 60
Jawab:
root_secant(function(x){6*(x^4) + 11*(x^3) - 56*(x^2) + 60}, x=0)
## $`function`
## function(x){6*(x^4) + 11*(x^3) - 56*(x^2) + 60}
## <bytecode: 0x00000000157c01b8>
##
## $root
## [1] 1.000008e-06
##
## $iter
## [1] 3
Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=1.000008e-06 dengan iterasi dilakukan sebanyak 3 kali.
3. Cari penyelesaian persamaan x^4 - 5x^3 + 3x^2 + x = 0
Jawab:
root_secant(function(x){x^4 - 5*(x^3) + 3*(x^2) + x}, x=0)
## $`function`
## function(x){x^4 - 5*(x^3) + 3*(x^2) + x}
## <bytecode: 0x000000001312a700>
##
## $root
## [1] 0
##
## $iter
## [1] 2
Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=0 dengan iterasi dilakukan sebanyak 2 kali.
4. Cari penyelesaian dari pertidaksamaan 7x – 1 < 2x + 3
Jawab:
Diubah dahulu menjadi x<0.
7x-1 < 2x+3
7x-2x-1-3 < 0
Setelah itu, dimasukkan ke dalam root_secant.
root_secant(function(x){7*x - 2*x - 1 - 3}, x=0)
## $`function`
## function(x){7*x - 2*x - 1 - 3}
## <bytecode: 0x0000000014d85f80>
##
## $root
## [1] 0.8
##
## $iter
## [1] 2
Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=0.8 dengan iterasi dilakukan sebanyak 2 kali.
Suhartono.2015.Memahami Kalkulus Dasar Menggunakan Wolfram Mathematica 9.UIN Maliki Malang: Malang.
https://bookdown.org/moh_rosidi2610/Metode_Numerik/rootfinding.html#secant