MATRIKS

Membuat Matriks dengan Fungsi matrix( )

Norman Matloff (2009) menyatakan sebagai berikut.

“Matrix is a vector with two additional attributes, the number of rows and number of columns.

Multidimensional vectors in R are called arrays. A two-dimensional array is also called a matrix, and is eligible for the usual matrix mathematical operations.

Matrix row and column subscripts begin with 1, so for instance the upper-left corner of the matrix a is denoted a[1,1]. The internal linear storage of a matrix is in column-major-order, meaning that first all of column 1 is stored, then all of column 2, etc.”

Berdasarkan uraian di atas dapat ditarik informasi bahwa suatu matriks merupakan suatu vektor dengan dua atribut tambahan (two additional attributes), yakni jumlah baris dan jumlah kolom. Vektor multidimensi (multidimensional vectors) dalam R disebut arrays. Array dua dimensi (two-dimensional array) juga disebut matriks. Perhatikan Gambar 1.

Gambar 1

Pada Gambar 1 digunakan fungsi matrix( ) untuk membuat matriks. Perintah R y <- matrix(c(1,2,3,4), nrow=2, ncol=2) dapat diartikan membuat suatu matriks dengan nama “y”, jumlah baris sebanyak 2, dan jumlah kolom sebanyak 2. Elemen-elemen pada matriks y adalah 1, 3, 2, dan 4. Diketahui:

  • Nilai 1 menempati posisi baris ke-1 dan kolom ke-1.
  • Nilai 2 menempati posisi baris ke-2 dan kolom ke-1.
  • Nilai 3 menempati posisi baris ke-1 dan kolom ke-2.
  • Nilai 4 menempati posisi baris ke-2 dan kolom ke-2.

Perintah R y[1,1] berarti menampilkan nilai pada matriks y, pada posisi baris ke-1 dan kolom ke-1, yakni 1. Perintah R y[1,2] berarti menampilkan nilai pada matriks y, pada posisi baris ke-1 dan kolom ke-2, yakni 3, dan seterusnya. Perhatikan Gambar 2.

Gambar 2
Gambar 3

Pada Gambar 3, perintah R z <- matrix(c(1,2,3,4,5,6), nrow=2) dapat diartikan membuat suatu matriks bernama z, yang jumlah barisnya sebanyak 2. Elemen-elemen pada matriks z adalah 1, 2, 3, 4, 5, dan 6. Perhatikan bahwa:

  • Nilai 1 menempati posisi baris ke-1 dan kolom ke-1.
  • Nilai 2 menempati posisi baris ke-2 dan kolom ke-1
  • Nilai 3 menempati posisi baris ke-1 dan kolom ke-2.
  • Nilai 4 menempati posisi baris ke-2 dan kolom ke-2.
  • Nilai 5 menempati posisi baris ke-1 dan kolom ke-3.
  • Nilai 6 menempati posisi baris ke-2 dan kolom ke-3.
Gambar 4

Pada Gambar 5.4, perintah R z <- matrix(c(1,2,3,4,5,6), ncol=2) dapat diartikan membentuk suatu matriks bernama z, yang jumlah kolomnya sebanyak 2. Elemen-elemen pada matriks z adalah 1, 2, 3, 4, 5, dan 6. Perhatikan bahwa:

  • Nilai 1 menempati posisi baris ke-1 dan kolom ke-1.
  • Nilai 2 menempati posisi baris ke-2 dan kolom ke-1.
  • Nilai 3 menempati posisi baris ke-3 dan kolom ke-1.
  • Nilai 4 menempati posisi baris ke-1 dan kolom ke-2.
  • Nilai 5 menempati posisi baris ke-2 dan kolom ke-2.
  • Nilai 6 menempati posisi baris ke-2 dan kolom ke-2.

Namun perhatikan Gambar 5 dan Gambar 6.

Gambar 5
Gambar 6

Berdasarkan Gambar 6, pada perintah R z <- matrix(x(1,2,3,4,5,6), ncol=2, byrow=TRUE) berarti membuat matriks bernama z dengan jumlah kolom sebanyak 2. Perhatikan bahwa:

  • Nilai 1 menempati posisi baris ke-1 dan kolom ke-1.
  • Nilai 2 menempati posisi baris ke-1 dan kolom ke-2.
  • Nilai 3 menempati posisi baris ke-2 dan kolom ke-1.
  • Nilai 4 menempati posisi baris ke-2 dan kolom ke-2.
  • Nilai 5 menempati posisi baris ke-3 dan kolom ke-1.
  • Nilai 6 menempati posisi baris ke-3 dan kolom ke-2.

Pada Gambar 6, perintah R z[1,]berarti menampilkan elemen-elemen dari matriks z pada baris ke-1, yakni 1 dan 2. Perintah R z[2,] berarti menampilkan elemen-elemen dari matriks z pada baris ke-2, yakni 3 dan 4. Perintah Rz[,1] berarti menampilkan elemen-elemen dari matriks z pada kolom ke-1, yakni 1, 3, dan 5.

Menugaskan Bilangan ke Matriks

Gambar 7

Perhatikan Gambar 7 perintah R a <- matrix(nrow=3, ncol=2) berarti membentuk matriks bernama a, dengan jumlah baris sebanyak 3 dan jumlah kolom sebanyak 2. Pada awalnya, elemen dari matriks a adalah NA (not available).

Perhatikan bahwa:

  • Perintah R a[1,1] <- 1 berarti menugaskan bilangan 1 ke matriks a pada baris ke-1, kolom ke-1.
  • Perintah R a[2,1] <- 2 berarti menugaskan bilangan 2 ke matriks a pada baris ke-2, kolom ke-1.
  • Perintah R a[3,1] <- 3 berarti menugaskan bilangan 3 ke matriks a pada baris ke-3, kolom ke-1.
  • Perintah R a[1,2] <- 4 berarti menugaskan bilangan 4 ke matriks a pada baris ke-1, kolom ke-2.
  • Perintah R a[2,2] <- 5 berarti menugaskan bilangan 5 ke matriks a pada baris ke-2, kolom ke-2.
  • Perintah R a[3,2] <- 6 berarti menugaskan bilangan 6 ke matriks a pada baris ke-3, kolom ke-2.

Mengganti Elemen Matriks

Gambar 8

Pada Gambar 8, misalkan elemen matriks a pada baris ke-2 dan kolom ke-2, yakni nilai 5, ingin diganti menjadi 1000. Perintah R untuk mengganti elemen matriks a pada baris ke-2 dan kolom ke-2, yakni nilai 5, menjadi 1000 adalah a[2,2] <- 1000.

Berbagai Cara Menampilkan Elemen Matriks

Gambar 9

Gambar 9 menampilkan berbagai cara untuk menampilkan elemen matriks. Berdasarkan Gambar 9, perintah R A[,c(1)] berarti menampilkan elemen-elemen matriks A pada kolom ke-1, yakni 1, 2, dan 3. Perintah R A[,-c(2:4)] berarti menampilkan elemen-elemen matriks A, selain dari pada kolom ke-2 sampai ke-4. Dengan kata lain, berarti menampilkan elemen-elemen matriks A pada kolom ke-1, yakni 1, 2, dan 3. Perintah R A[,c(1,4)] berarti menampilkan elemen-elemen matriks A pada kolom ke-1 dan ke-4. Perintah R A[,c(2:4)] berarti menampilkan elemen-elemen matriks A pada kolom ke-2 sampai ke-4. Perintah R A[c(1,3),] berarti menampilkan elemen-elemen matriks A pada baris ke-1 dan ke-3.

Menghapus Baris dan Kolom pada Matriks

Gambar 10

Pada perintah R A <- A[-c(2), ] bertujuan untuk menghapus baris ke-2 dari matriks A. Sementara perintah R A <- A[, -c(4)] bertujuan menghapus kolom ke-4 dari matriks A.

Mengganti Elemen Matriks (Bagian 2)

Gambar 11
Gambar 12

Pada Gambar 11 dan Gambar 12 diberikan berbagai contoh perintah R untuk mengganti elemen matriks. Berdasarkan Gambar 11, diberikan matriks B, C, dan D. Diketahui digunakan fungsi rbind(58) untuk membuat matriks C, sementara fungsi cbind( ) digunakan untuk membuat matriks D. Berdasarkan Gambar 11, Perintah R B[,1] <- C[,2] berarti mengganti elemen-elemen matriks B pada kolom ke-1, dengan elemen-elemen matriks C pada kolom ke-2.Perintah R B[,1] <- D[,1] berarti mengganti elemen-elemen matriks B pada kolom ke-1, dengan elemen-elemen matriks D pada kolom ke-1. Perintah R B[,c(2,3)] <- C berarti mengganti elemen-elemen matriks B pada kolom ke-2 dan ke3, dengan elemen-elemen pada matriks C. Perintah R B[c(1),] <- D[c(2),] mengganti elemen-elemen matriks B pada baris ke-1, dengan elemen-elemen pada matriks D, baris ke-2. Namun memberikan informasi kesalahan

Error in B[c(1), ] = D[c(2), ] :
number of items to replace is not a multiple of replacement length

Hal ini karena jumlah elemen dari matriks B pada baris ke-1 sebanyak 3, sementara jumlah elemen dari matriks D pada baris ke-2 sebanyak 2. Selanjutnya, perintah R C[c(1),] <- D[c(2),] berarti mengganti elemen-elemen matriks C pada baris ke-1, dengan elemen-elemen pada matriks D, baris ke-2.

Operasi Matematika pada Matriks (Bagian 1)

Gamabr 13

Perhatikan Gambar 13. Perintah R B+C berarti

Gambar 14

Perintah R A+B pada Gambar 14 memberi pesan kesalahan dikarenakan matriks A terdiri dari 2 baris dan 3 kolom, sementara matriks B terdiri dari 2 baris dan 2 kolom.

Gambar 15

Perintah R B/C pada Gambar 15 berarti

Gambar 16

Perintah R B%%C pada Gambar 16 berarti

Gambar 17

Perintah R B^C pada Gambar 17 berarti

Perintah R B%*%C pada Gambar 18 berarti

Fungsi rowMeans( ), colMeans(), rowSums( ), dan colSums( )

Gambar 19

Perhatikan Gambar 19. Perintah R rowMeans(A) berarti

Perintah R colMeans(A) berarti

Perintah R rowSums(A) berarti

Perintah R colSums(A) berarti

Transpose Matriks

Gambar 21

Gambar 21 mempelihatkan penggunaan fungsi det( ) untuk menentukan determinan suatu matriks.

Invers Matriks

Gambar 22

Gambar 22 mempelihatkan penggunaan fungsi solve( ) untuk menentukan invers suatu matriks.

Fungsi eigen( ) untuk Menentukan Nilai Eigen dan Vektor Eigen dari Matriks

Matriks persegi (square matrix) A dikatakan memiliki nilai eigen 𝜆, dengan vektor eigen-nya yang bersesuaian (eigenvector) 𝑥 ≠ 0, jika

A𝑥 = 𝜆𝑥

Misalkan diberikan matriks

Gambar 23
Gambar 24

Gambar 23 memperlihatkan nilai eigen dan vektor eigen dari matriks A. Perhatikan bahwa

Sehingga matriks A memiliki 2 pasang nilai eigen dan vektor eigen, yakni

Eliminasi Gauss-Jordan untuk Menentukan Solusi dari Sistem Persamaan Linear

Misalkan diberikan sistem persamaan linear sebagai berikut.

Gambar 25
Gaambar 26

Gambar 25 dan Gambar 26 diberikan ilustrasi dalam R terkait eliminasi Gauss-Jordan, untuk memperoleh solusi dari sistem persamaan linear di atas.

Berdasarkan Gambar 26, diperoleh solusi 𝑥 = 3, 𝑦 = 2, dan 𝑧 = 1. Perhatikan bahwa

Fungsi rref( ) untuk Menentukan Solusi dari Sistem Persamaan Linear

Misalkan diberikan sistem persamaan linear sebagai berikut.

Gambar 27

Gambar 27 diperlihatkan ilustrasi dalam R penggunaan fungsi rref( ) untuk menentukan solusi dari sistem persamaan di atas. Diketahui solusi dari sistem persamaan linear tersebut adalah 𝑥 = 3, 𝑦 = 2, dan 𝑧 = 1.

Fungsi LUsplit( ) dan lu.decomposition( ) untuk Dekomposisi LU

Misalkan diberikan matriks A sebagai berikut.

Gambar 28

Gambar 28 diberikan ilustrasi dalam R penggunaan fungsi LUsplit( ) untuk memperoleh matriks segitiga bawah 𝐿 dan matriks segitiga atas 𝑈, yang memenuhi 𝐿𝑈 = 𝐴.

Fungsi chol( ) untuk Dekomposisi Cholesky

Misalkan diberikan matriks simetri A dengan dimensi 3 × 3.

Karena A matriks simetri, maka berlaku

Sehingga

Sebagai contoh misalkan diberikan matriks simetri A sebagai berikut.

Perhatikan bahwa

Matriks simetri A dapat dinyatakan sebagai perkalian matriks segitiga bawah 𝐿 dan matriks segitiga atas 𝑈, di mana berlaku

Sehingga

Gambar 29
Pada Gambar 29 diberikan ilustrasi dalam R penggunaan fungsi chol( ) untuk menentukan matriks

dan

sehingga memenuhi

Fungsi qr( ) untuk Dekomposisi QR

Misalkan diberikan matriks A sebagai berikut.

Gambar 30

Gambar 30 diberikan ilustrasi dalam R penggunaan fungsi qr( ) terkait dekomposisi QR, untuk memperoleh matriks Q dan R, sehingga memenuhi 𝑄𝑅 = 𝐴. Berdasarkan Gambar 30, diperoleh

Memberi Nama Pada Kolom dan Baris dengan Fungsi colnames( ) dan rownames( )

Gambar 31

Gambar 31 diberikan ilustrasi dalam R penggunaan fungsi colnames( ) dan rownames( ) untuk memberi nama pada kolom dan baris.

Fungsi apply( ) untuk Menampilkan Berbagai Ukuran Deskriptif berdasarkan Baris atau Kolom dari Matriks

Gambar 32

Gambar 32 diberikan ilustrasi dalam R penggunaan apply( ) untuk menampilkan berbagai ukuran deskriptif berdasarkan baris atau kolom dari matriks. Berdasarkan Gambar 32, diketahui:

  • Perintah R apply(A, 1, sum) #Jumlah dari masing-masing baris (nilai 1) berarti menjumlahkan bilangan-bilangan dari matriks A berdasarkan baris, yakni 1 + 2 + 3 = 6 dan4 + 5 + 6 = 15. Pada perintah R apply(A, 1, sum), angka “1” tersebut memerintahkan perhitungan berdasarkan baris.
  • Perintah R apply(A, 2, sum) #Jumlah dari masing-masing kolom (nilai 2) berarti menjumlahkan bilangan-bilangan dari matriks A berdasarkan kolom, yakni 1 + 4 = 5, 2 + 5 = 7 dan3 + 6 = 9. Pada perintah R apply(A, 2, sum), angka “2” tersebut memerintahkan perhitungan berdasarkan kolom.
  • Perintah R apply(A, sum) memberikan pesan kesalahan, begitu juga dengan perintah R apply(A, 3, sum).
Gambar 33

Perhatikan Gambar 33. Perintah R A <- matrix(nrow = 4, ncol = 5) berarti membuat matriks bernama A dengan jumlah baris sebanyak 4 dan jumlah kolom sebanyak 5. Selanjutnya menampilkan elemen dari matriks A, yang ternyata seluruhnya adalah “NA” atau “not available (tidak tersedia)”. Selanjutnya:

  • Perintah R A[1,1] <- 2 berarti menugaskan bilangan 2 ke matriks A pada posisi baris ke-1 dan kolom ke-1.
  • Perintah R A[1,3] <- 5 berarti menugaskan bilangan 5 ke matriks A pada posisi baris ke-1 dan kolom ke-3, dan seterusnya.
  • Perintah R rowSums(A) bertujuan untuk menjumlahkan bilangan-bilangan berdasarkan baris. Namun hasil dari perintah rowSums(A) adalah NA NA NA NA.
  • Selanjutnya perintah R yang sebelumnya rowSums(A) diganti menjadi rowSums(A, na.rm=TRUE). Perintah R rowSums(A, na.rm=TRUE) memberikan hasil 21 4 5 7.
  • Perintah R apply(A, 1, function(x) length(which(!is.na(x)))) memberikan hasil 4 2 3 2. Nilai 4 berarti banyaknya bilangan pada baris pertama sebanyak 4, yakni 2, 5, 6, dan 8. Nilai 2 berarti banyaknya bilangan pada baris kedua sebanyak 2, yakni 3 dan 1.
Gambar 34
  • Pada Gambar 34 perintah R attributes(A) memberikan informasi dimensi dari matriks A, yakni terdiri dari 4 baris dan 5 kolom.

Leave a Reply