Jurusan : Teknik Informatika

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

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. Persamaan yang dihasilkan disajikan pada Persamaan (7.8).

Nilai m merupakan transformasi persamaan tersebut.

Bila y = f (x) dan yn dan xn diketahui, maka titik ke n + 1 adalah:

Bila titik xn+1 dianggap akar persamaan maka nilai yn+1 = 0, sehingga diperoleh:

atau

Berdasarkan Persamaan (7.14) diketahui bahwa untuk memperoleh akar persamaan diperlukan 2 buah titik pendekatan. ini akan digunakan titik pendekatan kedua merupakan titik pendekatan pertama ditambah sepuluh kali nilai toleransi.

Algoritma Metode Secant

  1. Definisikan f (x) dan f ′ (x)

  2. Tentukan nilai toleransi e dan iterasi masimum (N)

  3. Tentukan tebakan awal x0 dan x1

  4. Hitung f (x0) dan f (x1)

  5. Untuk literasi i = 1 s/d N atau |f (x)| ≥ e, hitung x menggunakan Persamaan (7.14)

  6. Akar persamaan adalah nilai x yang terakhir.

Fungsi root_secant() merupakan fungsi yang penulis buat untuk melakukan literasi 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))
}

kita dapat mempercepat menggunakan fungsiroot_secant() pada R. Berikut sintaks yang digunakan:

root_secant(function(x){x-exp(-x)}, x=0)
## $`function`
## function(x){x-exp(-x)}
## <bytecode: 0x0000000010bb07b0>
## 
## $root
## [1] 0.5671433
## 
## $iter
## [1] 6

Lembar Kerja Mahasiswa

  1. Cari hasil perkalian dari tiga persamaan berikut ( x + 2 )^2( x - 1 )^4( x + 5 )
f <- function(x){
  (x+2)^2*(x-1)^4*(x+5)
}
root_secant(f,0)
## $`function`
## function(x){
##   (x+2)^2*(x-1)^4*(x+5)
## }
## <bytecode: 0x000000000f69be80>
## 
## $root
## [1] 0.9999996
## 
## $iter
## [1] 72
  1. Cari faktor dari persamaan 6x^4 + 11x^3 - 56x^2 - x + 60
f <- function(x){
6*(x^4)+11*(x^3)-56*(x^2)+60
}
root_secant(f,0)
## $`function`
## function(x){
## 6*(x^4)+11*(x^3)-56*(x^2)+60
## }
## <bytecode: 0x000000000f3bd480>
## 
## $root
## [1] 1.000008e-06
## 
## $iter
## [1] 3
  1. Cari penyelesaian persamaan x^4 - 5x^3 + 3x^2 + x = 0
f <- function(x){
x^4-5*(x^3)+3*(x^2)+x
}
root_secant(f,0)
## $`function`
## function(x){
## x^4-5*(x^3)+3*(x^2)+x
## }
## <bytecode: 0x0000000010b7fa40>
## 
## $root
## [1] 0
## 
## $iter
## [1] 2
  1. Cari penyelesaian dari pertidaksamaan 7x – 1 < 2x + 3
f <- function(x){
7*x+2*x-1-3
}
root_secant(f,0)
## $`function`
## function(x){
## 7*x+2*x-1-3
## }
## <bytecode: 0x0000000011a86988>
## 
## $root
## [1] 0.4444444
## 
## $iter
## [1] 2

Daftar Pustaka

  1. https://bookdown.org/moh_rosidi2610/Metode_Numerik/diffinteg.html#finitediff

  2. Suhartono. 2015. Memahami Kalkulus Dasar Menggunakan Wolfram Mathematica 9. Malang : UIN Maliki Malang.