ada chapter ini penulis akan menjelaskan mengenai cara untuk menyelesaikan sistem persamaan linier. Adapun yang akan dibahas pada chapter ini antara lain:

• operasi Vektor dan matriks

• Metode Eliminasi Gauss

• Metode Dekomposisi matriks

• Studi Kasus

Vektor dan matriks

telah dijelaskan sekilas bagaimana cara melakukan operasi pada vektor dan matriks. Pada chapter ini, penulis akan menambahkan operasi-operasi lain yang dapat dilakukan pada vektor dan matriks. Dasar-dasar operasi ini selanjutnya akan digunakan sebagai dasar menyusun algoritma penyelesaian sistem persamaan linier.

Operasi Vektor

u <- seq(1,5)
v <- seq(6,10)

penjumlahan

u+v ##[1] 7 9 11 13 15 # penguranga u-v ##[1] -5 -5 -5 -5 -5

Bagaimana jika kita melakukan operasi dua vektor, dimaana salah satu vektor memiliki penjang yang berbeda?. Untuk memnjawab hal tersebut, perhatikan sintaks berikut:

x <- seq(1,2)
u+x

##Warning in u + x: longer object length is not a ##multiple of shorter object length ##[1] 2 4 4 6 6

Berdasarkan contoh tersebut, R akan mengeluarkan peringatan yang menunjukkan operasi dilakukan pada vektor dengan panjang berbeda. R akan tetap melakukan perhitungan dengan menjumlahkan kembali vektor u yang belum dijumlahkan dengan vektor x sampai seluruh elemen vektor u dilakukan operasi penjumlahan. Operasi lain yang dapat dilakukan pada vektor adalah menghitung inner product dan panjang vektor. Inner product dihitung menggunakan Persamaan

u.v =
Xn
i=1
u1v1 + u2v2 + · · · + unvn

Panjang vektor atau vektor yang telah dinormalisasi dihitung menggunakan Persamaan

Berikut adalah contoh bagaimana cara menghitung inner product dan panjang vektor menggunakan R:

# inner product
u%*%v

##[,1] ##[1,] 130

# panjang vektor u
sqrt(sum(u*u))
## [1] 7.416

contoh operasi penjumlahan pada matriks:

A <- matrix(1:9,3) B <- matrix(10:18,3) C <- matrix(1:6,3) # penjumlahan dengan skalar A+1 ##[,1] [,2] [,3] ##[1,] 2 5 8 ##[2,] 3 6 9 ##[3,] 4 7 10 # penjumlahan A+B A+B

Operasi Baris Elementer

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. Mengalikan baris matriks dengan konstanta bukan nol.

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

3. 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.

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 masingmasing 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)
}
  Catatan: Untuk menyimpan hasil perhitungan, simpan proses perhitungan dalam sebuah objek (lihat Chapter 2.5).
  

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: