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

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Fakultas : Sains dan Teknologi

Ujian Tengan Semester

Soal Nomer 1

1). Temukan akar persamaan dari persamaan non-linier f(x)=x3−2x+2 menggunakan metode terbuka dengan x0 = 0 dan x0 =1/2!

Metode terbuka menggunakan Metode 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))
}

▶️ Jawab :

A).f(x)=x3−2x+2 dengan x0 =0

root_secant(function(x){x^3 - 2*x + 2}, x=0)
## $`function`
## function(x){x^3 - 2*x + 2}
## <bytecode: 0x0000000015268f40>
## 
## $root
## [1] -1.769292
## 
## $iter
## [1] 26

Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x= -1.769292 dengan iterasi dilakukan sebanyak 26 kali

B).f(x)=x3−2x+2 dengan x0 = 1/2!

root_secant(function(x){x^3 - 2*x + 2}, x=1/2)
## $`function`
## function(x){x^3 - 2*x + 2}
## <bytecode: 0x0000000015c06ec8>
## 
## $root
## [1] -1.769292
## 
## $iter
## [1] 16

Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x=-1.769292 dengan iterasi dilakukan sebanyak 16 kali

Soal Nomer 2

  1. Temukan akar persamaan dari persamaan f(x)= sin(x) / x dengan rentang pencarian x= 0,5 dan x=1

Metode terbuka menggunakan Metode Secant :

▶️ Jawab :

A).f(x)= sin(x) / x dengan x = 0.5

root_secant(function(x){sin(x)/x}, x=0.5)
## $`function`
## function(x){sin(x)/x}
## <bytecode: 0x00000000132129a0>
## 
## $root
## [1] 6.283185
## 
## $iter
## [1] 7

Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x = 6.283185 dengan iterasi dilakukan sebanyak 7 kali

B).f(x)= sin(x) / x dengan x = 1

root_secant(function(x){sin(x)/x}, x=1)
## $`function`
## function(x){sin(x)/x}
## <bytecode: 0x0000000014e4a038>
## 
## $root
## [1] 3.141593
## 
## $iter
## [1] 8

Berdasarkan hasil iterasi diperoleh nilai akar penyelesaian adalah x= 3.141593 dengan iterasi dilakukan sebanyak 8 kali.

Soal Nomer 3

3). Hitung integral fungsi f(x)=sin2(x) pada domain x∈[0,π]

Menggunakan Metode Trapezoidal

▶️ Jawab :

trapezoid <- function(ftn, a, b, n = 100) 
     h <- (b-a)/n
     x.vec <- seq(a, b, by = h)
     f.vec <- sapply(x.vec, ftn)     # ftn(x.vec)
     Trap <- h*(f.vec[1]/2 + sum(f.vec[2:n]) + f.vec[n+1]/2)
     return(Trap)

integral fungsi f(x)=sin2(x) pada domain x∈[0,π] dengan pemisalan n = 6

fungsi <- function(x){
      sin(x)^2
}
trapezoid(fungsi,0,pi,n = 6)
## [1] 1.570796

\(Referensi\)