Teknik Informatika

Universitas Islam Negeri Maulana Malik Ibrahim Malang

Dosen Pembimbing: Prof. Dr. Suhartono, M.Kom

Prelude

  1. Apa itu Polinomial?

Polinomial atau biasa disebut juga sebagai Suku banyak merupakan sebuah bentuk dari suku-suku dengan nilai banyak yang disusun dari perubah variabel serta konstanta. Operasi yang dipakai hanya penjumlahan, pengurangan, perkalian serta pangkat bilangan bulat tidak negatif.

Bentuk umum polinomial :

  1. Metode Secant

Metode Secant merupakan salah satu metode numerik untuk mencari suatu akar persamaan. Penyelesaian numerik suatu akar persamaan dilakukan dengan perkiraan berurutan (iterasi) sehingga setiap keluarannya diperoleh hasil yang lebih teliti dan didapat hasil yang mendekati eksak (hasil yang benar) dengan toleransi kesalahan yang diinginkan.

Algoritma Metode Secant

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

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

  3. Tentukan tebakan awal x0 dan x1

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

  5. Untuk iterasi 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

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 Soal

Selesaikan persamaan non-linier x-e^-x = 0 menggunakan metode Secant?

Pembahasan:

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

Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=0,5671433 dengan iterasi dilakukan sebanyak 6 kali.

Secara umum metode Secant menawarkan sejumlah keuntungan dibanding metode lainnya. Pertama, seperti metode Newton-Raphson dan tidak seperti metode tertutup lainnya, metode ini tidak memerlukan rentang pencarian akar penyelesaian. Kedua, tidak seperti metode Newton-Raphson, 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.

Lembar Kerja Mahasiswa

Pembahasan

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: 0x000000000f672d38>
## 
## $root
## [1] 0.9999996
## 
## $iter
## [1] 72

Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=0.9999996 dengan iterasi dilakukan sebanyak 72 kali.

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

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: 0x000000000ed69fb8>
## 
## $root
## [1] 0
## 
## $iter
## [1] 2

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

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

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

Tampuk

Jadi seperti itu contoh penyelesaian matematika polinomial (suku banyak) menggunakan metode root secant pada R studio.

TERIMA KASIH