Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Kelas : B

Algoritma Metode Secant Pada RStudio

• Definisikan f(x)f(x) dan f′(x)f′(x)

• Tentukan nilai toleransi ee dan iterasi maximum (N)

• Tentukan tebakan awal x0x0 dan x1x1

• Hitung f(x0)f(x0) dan f(x1)f(x1)

• Untuk iterasi i=1i=1 s/d NN atau |f(x)|≥e|f(x)|≥e, * hitung xx menggunakan Persamaan (7.14)

• 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))
}

Contoh 7.6 Selesaikan persamaan non-linier pada

Contoh 7.5 menggunakan metode Secant?

Jawab:

Untuk menyelesaikan persamaan tersebut digunakan nilai pendekatan awal x0=0x0=0 dan x1=0+10∗10−7=10−6x1=0+10∗10−7=10−6.

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: 0x0000000014da4dc8>
## 
## $root
## [1] 0.5671433
## 
## $iter
## [1] 6