Lembaga: “Universitas Islam Negeri Maulana Malik Ibrahim Malang”
Fakultas: “Sains dan Teknologi”
Jurusan: “Teknik Informatika”
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:
2.Row Swaping. Menukar urutan baris pada sebuah matriks (contoh: menukar baris 1 dengan baris 2 dan sebaliknya).
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.
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
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