Prodi : Teknik Informatika

Lembaga : UIN Maulana Malik Ibrahim Malang

Operasi Baris Elementer

Operasi Baris Elementer (OBE) adalah salah satu alternatif dalam menyelesaikan suatu bentuk matriks seperti menentukan invers matriks dan penerapan matriks pada sistem persamaan linear menggunakan dua cara yaitu “Eliminasi Gauss” dan “Eliminasi Gauss-Jordan”. Terdapat tiga buah operasi dasar pada baris matriksoperasi baris elementer. Ketiga operasi ini akan menjadi dasar operasi sub-chapter selanjutnya. Ketiga operasi dasar tersebut antara lain:

  1. Row Scalling. Mengalihkan baris matriks dengan konstanta bukan nol.

Fungsi row scalling pada R dapat dituliskan pada sintaks berikut:

scale_row <- function(m, row, k){
 m[row, ] <- m[row, ]*k
 return(m)
}

Berikut adalah contoh penerapannya:

# membuat matriks A
(A <- matrix(1:15, nrow=5))

##      [,1] [,2] [,3]
## [1,]    1    6   11
## [2,]    2    7   12
## [3,]    3    8   13
## [4,]    4    9   14
## [5,]    5   10   15

# lakukan scaling pada row 2 dengan nilai 10
scale_row(m=A, row=2, 10)

##      [,1] [,2] [,3]
## [1,]    1    6   11
## [2,]   20   70  120
## [3,]    3    8   13
## [4,]    4    9   14
## [5,]    5   10   15

Catatan: Untuk menyimpan hasil perhitungan, simpan proses perhitungan dalam sebuah objek

  1. Row Swaping. Menukar urutan baris pada sebuah matriks (contoh: menukar baris 1 dengan baris 2 dan sebaliknya).

Row swapping merupakan proses yang berulang, kita perlu menyimpan terlebih dahulu baris matriks pertama kedalam sebuah objek. Baris matriks pertama selanjutnya diganti dengan baris matriks kedua, sedangkan baris matriks kedua selanjutnya akan diganti dengan baris matriks pertama yang telah terlebih dahulu disimpan dalam sebuah objek. Fungsi row swapping pada R dapat dituliskan pada sintaks berikut:

swap_row <- function(m, row1, row2){
  row_tmp <- m[row1, ]
  m[row1, ] <- m[row2, ]
  m[row2, ] <- row_tmp
  return(m)
}

Berikut merupakan contoh penerapan fungsi swap_row():

# pertukarkan baris 2 dengan baris 5
swap_row(m=A, row1=2, row2=5)

##      [,1] [,2] [,3]
## [1,]    1    6   11
## [2,]    5   10   15
## [3,]    3    8   13
## [4,]    4    9   14
## [5,]    2    7   12
  1. Row Replacement. Baris matriks diganti dengan hasil penjumlahan atau pengurangan baris matriks tersebut dengan baris matriks lainnya, dimana baris matriks lainnya yang akan dijumlahkan/dikurangkan dengan matriks tersebut telah dilakukan proses row scalling. Luaran yang diperoleh pada umumnya adalah nilai nol pada baris matriks awal atau akhir.

Pada proses row replacement, proses perhitungan dilakukan dengan melakukan penjumlahan suatu baris matriks dengan baris matriks lainnya dengan terlebih dahulu melakukan row scalling terhadap matriks lainnya. Berikut adalah fungsi replace_row() yang ditulis pada R:

replace_row <- function(m, row1, row2, k){
  m[row2, ] <- m[row2, ] + m[row1, ]*k
  return(m)
}

Berikut adalah contoh penerapan fungsi replace_row():

replace_row(m=A, row1=1, row2=3, k=-3)

##      [,1] [,2] [,3]
## [1,]    1    6   11
## [2,]    2    7   12
## [3,]    0  -10  -20
## [4,]    4    9   14
## [5,]    5   10   15

Ketiga proses tersebut akan terjadi secara berulang, khusunya jika kita hendak mengerjakan sistem persamaan linier menggunakan algoritma eliminasi Gauss. Untuk mempermudah proses tersebut, kita dapat membuat masing-masing fungsi untuk masing-masing operasi tersebut. Algoritma fungsi-fungsi tersebut selanjutnya menjadi dasar penyusunan algoritma fungsi-fungsi eliminasi Gauss dan dekomposisi matriks yang akan dijelaskan pada chapter selanjutnya.

REFERENSI:

https://bookdown.org/moh_rosidi2610/Metode_Numerik/linearaljabar.html#rowoperation

https://www.konsep-matematika.com/2015/09/operasi-baris-elementer-obe-dan-penerapannya.html