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

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Ujian Tengah Semester

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

    Menggunakan Metode Secant

    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))
    }
    1. 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: 0x0000000014f2a418>
    ## 
    ## $root
    ## [1] -1.769292
    ## 
    ## $iter
    ## [1] 26

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

    1. 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: 0x0000000014337180>
    ## 
    ## $root
    ## [1] -1.769292
    ## 
    ## $iter
    ## [1] 16

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

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

    Menggunakan Metode Secant

    1. 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: 0x00000000149788e0>
    ## 
    ## $root
    ## [1] 6.283185
    ## 
    ## $iter
    ## [1] 7

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

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

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

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

    Metode Trapezoidal

    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

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