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

Lembaga: Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan: Teknik Informatika

Aljabar Linier

Latihan Chapt.6 no.1

Selesaikan sistem persamaan linier berikut menggunakan eliminasi Gauss! -4x + 4y = -1

-2x + 2y - 3z = -3

3x + 1y - 3z = -3

Penyelesaian soal menggunakan Fungsi solve()

# memecah matriks m menjadi matriks koefisien dan vektor konstanta
a <- matrix(c(-4,-2,3,4,2,1,0,-3,-3),nrow=3)
b <- c(-1,-3,-3)

solve(a,b)
## [1] -0.0625000 -0.3125000  0.8333333

Akar Persamaan Non Linier

Latihan Chapt.7 no.1

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

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

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

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

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

Akar Persamaan Non Linier

Latihan Chapt.8 no.1

Diberikan data titik (3,5), (0,-2), dan (4,1). Tentukan persamaan polinomial untuk melakukan interpolasi pada ketiga titik tersebut!

poly_inter <- function(x, y){
  if(length(x) != length(y))
    stop("Lenght of x and y vectors must be the same")
  
  n <- length(x)-1
  vandermonde <- rep(1, length(x))
  for(i in 1:n){
    xi <- x^i
    vandermonde <- cbind(vandermonde, xi)
  }
  beta <- solve(vandermonde, y)
  
  names(beta) <- NULL
  return(beta)
}
x <- c(3,0,4)
y <- c(5,-2,1)
(coeff <- poly_inter(x, y))
## [1] -2.000000  7.083333 -1.583333

Berdasarkan hasil perhitungan, diperoleh nilai β. Nilai tersebut selanjutnya digunakan untuk membentuk persamaan polinomial. Berikut merupakan persamaan polinomial yang terbentuk:

-2x^2 + 7x - 1

Akar Persamaan Non Linier

Latihan Chapt.9 no.1

Hitung Integral fungsi f (x)= sin^2(x) pada domain x∈[0,π]!

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)
}
#mendefinisikan fungsi f(x)
f <- function(x){
      sin(x)^2
    }
#Menghitung integral menggunakan trapezoid dengan permisalan n=6
trapezoid(f,0,pi,n = 6)
## [1] 1.570796

Referensi

bookdown.org (2019, 23 Desember). Metode Numerik Menggunakan R Untuk Teknik Lingkungan Diakses pada 13 Oktober 2021, dari https://bookdown.org/moh_rosidi2610/Metode_Numerik/