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

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Fakultas : Sains dan Teknologi

Artikel ini akan membahas tentang solusi penyelesaian soal-soal latihan yang ada dalam buku Metode Numerik Menggunakan R untuk Teknik Lingkungan karya Mohammad Rosidi. Artikel ini saya tulis untuk memenuhi tugas UTS mata kuliah Kalkulus. Berikut adalah penjelasannya.

Aljabar Linear

Bab 6 Hal 175
1. Selesaikan sistem persamaan linier berikut menggunakan eliminasi Gauss!
-4x + 4y = -1
-2x + 2y - 3z = -3
3x + 1y − 3z = −3
Penyelesaian

Dengan Eliminasi Gauss-Jordan Dengan menggunakan fungsi gauss_jordan(), kita dapat membentuk matriks row echelon form.

Sintaks

gauss_jordan <- function (a){
    m <- nrow (a)
    n <- ncol (a)
    piv <- 1
    
# cek elemen diagonal utama apakah bernilai nol
    for(row_curr in 1:m){
        if(piv <= n){
            i <- row_curr
            while(a[i, piv] == 0 && i < m){
                i <- i + 1
                if(i > m){
                    i <- row_curr
                    piv <- piv + 1
                    if(piv > n)
                        return (a)
                }
            }

# jika diagonal utama bernilai nol,lakukan row swapping
            if(i != row_curr)
                a <- swap_row(a, i, row_curr)
            
# proses pembentukan matriks reduced row echelon form
            piv_val <- a[row_curr , piv]
            a <- scale_row (a, row_curr , 1 / piv_val)
            for(j in 1: m){
                if(j != row_curr){
                    k <- a[j, piv]/a[row_curr, piv]
                    a <- replace_row (a, row_curr, j, -k)
                }
            }
            piv <- piv + 1
        }
    }
    return (a)
}
am <- c(-4,-2,3,
        4,2,1,
        0,-3,-3,
        -1,-3,-3)
(m <- matrix(am, nrow=3))
##      [,1] [,2] [,3] [,4]
## [1,]   -4    4    0   -1
## [2,]   -2    2   -3   -3
## [3,]    3    1   -3   -3

Dengan Row Echelon Form Dengan menggunakan fungsi ref_matrix(), kita dapat membentuk matriks row echelon form.

Sintaks

ref_matrix <- function(a){
  m <- nrow(a)
  n <- ncol(a)
  piv <- 1
  
# cek elemen diagonal apakah bernilai nol
  for(row_curr in 1:m){
    if(piv <= n){
      i <- row_curr
      while(a[i, piv] == 0 && i < m){
        i <- i+1
        if(i > m){
          i <- row_curr
          piv <- piv+1
          if(piv > n)
            return(a)
        }
      }
      
# jika diagonal bernilai nol, lakukan row swapping
    if(i != row_curr)
      a <- swap_row(a, i, row_curr)
    
# proses triangulasi untuk membentuk matriks segitiga atas
    for(j in row_curr:m)
      if(j != row_curr){
        c <- a[j, piv]/a[row_curr, piv]
        a <- replace_row(a, row_curr, j, -c)
      }
    piv <- piv+1
    }
  }
  return(a)
}
am <- c(-4,-2,3,
        4,2,1,
        0,-3,-3,
        -1,-3,-3)
(m <- matrix(am, nrow=3))
##      [,1] [,2] [,3] [,4]
## [1,]   -4    4    0   -1
## [2,]   -2    2   -3   -3
## [3,]    3    1   -3   -3

Daftar Pustaka

  • Rosidi, M. (2019). Metode Numerik Menggunakan R Untuk Teknik Lingkungan. Bandung.