Konsep Perkalian Matriks dalam Program Bahasa C
Bagi yang belum tahu...
**Kolom adalah deret yang kesamping (lihat matriks A di gambar dibawah ini, kolom pertama berjumlah 3 dengan anggota nya angka 4,2,1)
**Baris adalah deret yang kebawah(lih.matriks A, baris pertama berjumlah 2 dengan anggotanya angka 4 dan 2)
**Matriks A dibawah ini berordo 2x3 (baris x kolom), untuk matriks B berordo (banyaknya baris kali kolom) 3 x 1, Mengerti ?
**Hasil perkalian akan menghasilkan matriks baru dengan odro baris matriks A dikali kolom matriks B (2 x 1).
**Hasil perkalian akan menghasilkan matriks baru dengan odro baris matriks A dikali kolom matriks B (2 x 1).
Gbr. 1 Odro Matriks |
Konsep Perkalian Matriks
Salah satu konsep perkalian matriks adalah anggota baris matriks1 dikali anggota kolom matriks2dengan syarat kolom matriks1 harus sama jumlahnya dengan baris matriks2.
Gbr. 2 Perkalian Matriks |
Untuk mengubah ke bentuk program, kita harus mengibaratkan matriks1 diatas dan matriks2 menjadi sebuah array. Jadi bias diibaratkan, matriks1 adalah array dimensi 2 dengan kotak [][] yang diisi angka sesuai dengan ordo matriksnya.
Kalau kita lihat di gambar, matriks1 adalah matriks dengan ordo 3x3, nah jika diibarkan dengan array, maka akan menjadi array1[3][3]. matriks2 dengan ordo 3x2 bisa diubah menjadi array2[3][2].
Jadi jika kita menulis array1[0][0] maka yang terpanggil adalah matriks1 dengan baris ke 1 dan kolom ke 1 yaitu huruf a. Contoh lainnya adalah array1[0][1] maka yang terpanggil adalah matriks1 dengan baris ke 1 dan kolom ke 2 yaitu huruf b. begitu seterusnya yaitu ...
array1[0][2] = huruf c.
array1[1][0] = huruf d.
array1[1][1] = huruf e.
array1[1][2] = huruf f.
array1[2][0] = huruf g.
array1[2][1] = huruf h.
array1[2][2] = huruf i.
begitu juga jika matriks2 dengan ordo 3x2 (lihat gambar) diubah ke array2 maka menjadi...
array2[0][0] = huruf p
array2[0][1] = huruf q
array2[1][0] = huruf r
array2[1][1] = huruf s
array2[2][0] = huruf t
array2[2][1] = huruf u
nah sudah mengerti kan bagaimana ibaratnya matriks menjadi sebuah array, jika sudah untuk perkalian matriks maka kita akan ibaratkan
perkaliannya yaitu ap + br + ct dan seterusnya{lihat gambar} menjadi sebuah perkalian array maka akan menjadi seperti dibawah...
jadi ap + br + ct akan menjadi array1[0][0] x array2[0][0] + array1[0][1] x array2[1][0] + array1[0][2] x array2[2][0]
aq+bs+cu akan menjadi array selanjutnya {lihat di gambar}… dan seterusnya.
dari hal ini, kita akan menemukan pola angka yang diulang terus dari gambar diatas, jika ada angka berubah dan memiliki pola maka kita akan menggunakan perulangan {for atau while}sebagai kode programnya...
Konsep Perkalian Matriks dengan Array
Baik sebelum ke kode program, kita perjelas lagi perulangannya...
Gambar 3. konsep array seb. matriks diatas dapat kita ubah menjadi seperti ini (ubah tata letaknya saja)
Gbr. 4 konsep array seb. matriks 2 |
sehingga kita dapat menemukan pola yang sangat jelas dari perkalian array ini, dimana polanya mulai dari kiri kebawah adalah (lih angkanya)
Gbr. 5 konsep array seb. matriks 2 |
Pola 1 : paling kiri : 0 (6x) 1 (6x) 2(6x)
Pola 3 : paling kanan : 0 (3x) 1 (3x) 0(3x) 1(3x) 0(3x) 1(3x)
kita sudah dapat 3 pola yang artinya kita memakai 3 kode program pengulangan...
Konsep Perkalian Matriks dalam Program Bahasa C
jadi program perkaliannya dapat seperti di bawah ini :
Gbr. 6 Kode Program Perkalian Matriks |
untuk mengetahui pola mana yang memakai kode perulangan for yang mana, maka kita bisa melihat dari banyaknya pola, misal, pola 1 diulang 6x , pola 2 diulang 1x dan pola 3 diulang 3x. Kita menggunakan for pertama untuk pola yang paling banyak berurutan hingga yang paling sedikit, jadi for pertama untuk pola 1, for kedua untuk pola ke 3 dan for ketiga untuk pola ke 2.
Gbr. 7 Kode Program Perkalian Matriks |
**Note :
-array3[][] adalah matriks hasil perkalian matriks array1[][] dan array2[][]
-array3[][] akan memiliki pola mengikuti pola 1 dan pola 3 yaitu array3[i][j]; i mewakili pola 1 dan j mewakili pola 3.
-array3[][] akan direset menjadi 0, karena array3[][] yang belum dimasukkan variable akan memiliki nilai acak(bukan nol), sehingga kita harus mengubah seluruh nilai array3[][] menjadi nol terlebih dahulu. Contoh dibawah,
int i;
printf("%d", i);
var iini akan memiliki nilai acak (bukan nol)
sehingga jika kita menambahkan dengan
int j = 7 + i;
maka hasilnya variable j bukan 7 melainkan angka acak misalnya 826255.
jadi kita harus mengubah nilai int i menjadi nol dahulu atau sebuah angka (yang penting di deklarisasi) supaya penjumlahan tersebut bisa benar.
-untuk kode programnya bisa dilihat disini : download
Gbr. 8 Hasil Program |
Sekian penjelasan dari saya, jika ada yang ingin ditanyakan, silahkan komen dibawah.
Terimakasih, selamat mengerjakan.
The Best 2017 ford fusion hybrid titanium - Titanium
ReplyDeleteThe best 2017 ford fusion hybrid seiko titanium watch titanium. By titanium daith jewelry Steve Credible. medical grade titanium earrings Share Tweet. This page used ford fusion titanium is regularly updated with new and micro touch titanium trim where to buy existing posts.