Universitas : UIN MAULANA MALIK IBRAHIM MALANG

Jurusan : TEKNIK INFORMATIKA

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.

Algoritma Metode Secant

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

2.Tentukan nilai toleransi edan iterasi masimum (N)

3.Tentukan tebakan awal x0 dan x1

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

5.Untuk iterasi i=1s/d Natau |f(x)|≥e , hitung x menggunakan Persamaan

6.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))
}

Soal Pada Lembar Kerja Mahasiswa

1.Cari hasil perkalian dari tiga persamaan berikut (x + 2)2(x − 1)4(+5).

Penyelesaian

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: 0x000000000f897138>
## 
## $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

Penyelesaian

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: 0x0000000010d85a80>
## 
## $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 x4 − 5x3 + 3x2 + x = 0

Penyelesaian

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: 0x00000000103487a0>
## 
## $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

Penyelesaian

root_secant(function(x){7*x + 2*x - 1 - 3}, x=0)
## $`function`
## function(x){7*x + 2*x - 1 - 3}
## <bytecode: 0x00000000109cdc60>
## 
## $root
## [1] 0.4444444
## 
## $iter
## [1] 2

Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x= 0.4444444 dengan iterasi dilakukan sebanyak 2 kali.

Referensi

https://bookdown.org/moh_rosidi2610/Metode_Numerik/rootfinding.html#akar-persamaan-polinomial-menggunakan-fungsi-polyroot