Perkalian dua buah MATRIX.

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

ARRAY 1 DIMENSI Array 1 dimensi
PERTEMUAN II ARRAY JURUSAN TELEKOMUNIKASI
Pointer. Output? #include int x = 2; void misteri(int a, int b) { a = 2*x; b = y; y = a; } main() { int y; x = 5; y = 7; misteri(x, y); printf("%d %d\n",
Jurusan Teknik Informatika Universitas Ahmad Dahlan 2004
ARRAY (Lanjutan).
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
ARRAY Dr. Lily Wulandari.
Teknik Pemrograman Terstruktur 2
PENGENALAN c++ DAN STRUKTUR DASAR C++
Jenis Operasi dalam Matriks:
Algoritma dan Struktur Data
PART 7 Array DOSEN : AHMAD APANDI, ST.
Array dan String.
Aljabar Linear dan Matriks
PERTEMUAN III ARRAY BAG II JURUSAN TELEKOMUNIKASI
Bab 05 Tipe Data dan Mengisi Variabel
STRUKTUR PERULANGAN 2 (LOOPING-2)
MATRIKS.
PERSAMAAN LINEAR MATRIK.
STRUKTUR DATA DIMENSIONAL ARRAY
Castaka Agus Sugianto, M.Kom., M.CS
ARRAY / LARIK STRUKTUR DATA Oleh : Yuli Praptomo PHS, S.Kom.
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
ARRAY 2 DIMENSI (MATRIK)
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
Nurita Cahyaningtyas ( )
SMA NEGERI 1 MUNTOK BANGKA BARAT
06.3 Hari-6.
ALJABAR LINIER DAN MATRIKS
Struktur Data Khoiriya Latifa, M.Kom.
ARRAY (LARIK).
Pertemuan 3 ARRAY DIMENSI BANYAK.
PERTEMUAN 9 Algoritma Presented by : Sity Aisyah, M.Kom
09.4 Hari-9.
Jenis Operasi dalam Matriks:
Dosen Pengampu Rusanto, SPd., MSi
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
S. Indriani Lestariningati, M.T
Algoritma dan Struktur Data
291.
Pemograman Terstruktur
MODI (Modified Distribution)
Soal-soal Pengulangan
Looping, Percabangan dan Array
Tipe Data & Array 1D, 2D Daniel Riano Kaparang.
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
09.3 Hari-9.
Pertemuan Hari ke - 1 Sesi-2.
Pertemuan Hari ke - 1 Sesi-1.
Array (Larik) Pertemuan ke-6 Bahasa C.
MATRIKS Materi - 7 Pengertian Matriks Operasi Matriks
mencetak Total kedua bilangan tersebut
Praktikum KBP 2 Array.
Array.
Contoh Aplikasi Array Sorting (Bubble Sort).
array Array merupakan tipe data yang menampung
Konsep Pemgrograman LARIK.
Jenis Operasi dalam Matriks:
Matriks Elementer & Invers
Bab 08 Menghitung Total Data yang Diinput Dari Keyboard
MATRIKS September 2018.
Algoritma dan Pemrograman
Array.
Array.
design by budi murtiyasa 2008
contoh aplikasi array 2 dimensi
Penjumlahan dua buah MATRIX. Penjumlahan dua buah MATRIX.
ARRAY.
23 Oktober Oktober Oktober MATRIKS.
Transcript presentasi:

Perkalian dua buah MATRIX

Array 2 Dimensi disebut juga MATRIX ( Matriks )

Perkalian Matrix Kalikan Matrix A dengan Matrix B, 2 4 3 5 A #include <stdio.h> void main() { int A[2][3] = { 2, 4, 3, 3, 2, 5 }; int B[3][5] = { 2, 2, 5, 7, 4, 2, 4, 6, 3, 2, 3, 3, 2, 5, 4 }; int C[2][5]; - } 3 2 5 7 4 6 B C Kalikan Matrix A dengan Matrix B, dan simpan hasil perkaliannya di Matrix C

C = A x B A x B = C Perkalian Matrix Kalikan Matrix A dengan Matrix B 2 4 3 5 A Kalikan Matrix A dengan Matrix B 3 2 5 7 4 6 dan simpan hasil perkaliannya di Matrix C B C Biasa ditulis : C = A x B A x B = C atau :

x = Perkalian Matrix b = baris k = kolom B A C C[bc][kc] A[ba][ka] 3 2 5 7 4 6 2 4 3 5 23 29 40 31 28 37 36 52 x = C[bc][kc] A[ba][ka] B[bb][kb] b = baris k = kolom ba = baris matriks A ka = kolom matriks A bb = baris matriks B kb = kolom matriks B bc = baris matriks C kc = kolom matriks C

x = bb = ka Perkalian Matrix ukuran matriks A & B harus sama B A C 3 2 5 7 4 6 ukuran matriks A & B 2 4 3 5 23 29 40 31 28 37 36 52 x = C[bc][kc] A[ba][ka] B[bb][kb] Syarat Utama : bb = ka Jumlah baris Matriks B harus sama dengan jumlah kolom Matriks A harus sama

x = Perkalian Matrix ukuran matriks C bc = ba kc = kb B A C C[bc][kc] 3 2 5 7 4 6 2 4 3 5 23 29 40 31 28 37 36 52 ukuran matriks C x = C[bc][kc] A[ba][ka] B[bb][kb] bc = ba Jumlah baris Matriks C harus dibuat sama dengan jumlah baris Matriks A kc = kb Jumlah kolom Matriks C harus dibuat sama dengan jumlah kolom Matriks B

x = Perkalian Matrix ukuran matriks B A C C[bc][kc] A[ba][ka] 3 2 5 7 4 6 2 4 3 5 23 29 40 31 28 37 36 52 ukuran matriks x = C[bc][kc] A[ba][ka] B[bb][kb] sama sama sama

x = A[2][3], B[3][5], C[2][5] Perkalian Matrix B A C C[bc][kc] 7 4 6 2 4 3 5 23 29 40 31 28 37 36 52 x = C[bc][kc] A[ba][ka] B[bb][kb] sama A[2][3], B[3][5], C[2][5] sama sama

C[0][0] x = Perkalian Matrix Instruksi : B C A 3 2 5 7 4 2 4 3 2 4 6 3 2 x = 3 2 5 3 3 2 5 4 Instruksi : Total hasil perkalian semua elemen-elemen baris 0 Matriks A dengan kolom 0 Matriks B C[0][0] Kolom 0 Baris 0

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 Total semua untuk i = 0, 1, 2

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 Total semua untuk i = 0, 1, 2 C[0][0] = A[0][ 0 ] * B[ 0 ][0] + A[0][ 1 ] * B[ 1 ][0] + A[0][ 2 ] * B[ 2 ][0]

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 A[0][0] * B[0][0] + A[0][1] * B[1][0] + A[0][2] * B[2][0] = C[0][0]

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 A[0][0] * B[0][0] + A[0][1] * B[1][0] + A[0][2] * B[2][0] = C[0][0] 2 * 3 6

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 A[0][0] * B[0][0] + A[0][1] * B[1][0] + A[0][2] * B[2][0] = C[0][0] 2 * 3 + 4 * 2 6 + 8

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 A[0][0] * B[0][0] + A[0][1] * B[1][0] + A[0][2] * B[2][0] = C[0][0] 2 * 3 + 4 * 2 + 3 * 3 = 6 + 8 + 9 =

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 23 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 A[0][0] * B[0][0] + A[0][1] * B[1][0] + A[0][2] * B[2][0] = C[0][0] 2 * 3 + 4 * 2 + 3 * 3 = 6 + 8 + 9 = 23

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 A[0][0] * B[0][0] + A[0][1] * B[1][0] + A[0][2] * B[2][0] = C[0][0] 2 * 3 + 4 * 2 + 3 * 3 = 6 + 8 + 9 = 23

C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : Perkalian Matrix C[0][0] C 3 2 5 7 4 23 2 4 3 2 4 6 3 2 3 2 5 3 3 2 5 4 baris 0 kolom 0 baris 0 kolom 0 i=2 C[0][0] = ∑ A[0][ i ] * B[ i ][0] Instruksi : i=0 A[0][0] * B[0][0] + A[0][1] * B[1][0] + A[0][2] * B[2][0] = C[0][0] 2 * 3 + 4 * 2 + 3 * 3 = 6 + 8 + 9 = 23

Perkalian Matrix C[1][3] Instruksi : C[1][3] = C 23 29 40 31 28 28 29 0 1 2 3 4 3 2 5 7 4 1 2 23 29 40 31 28 2 4 3 1 1 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 Instruksi : C[1][3] =

Perkalian Matrix C[1][3] C[1][3] = ∑ Instruksi : C i=2 i=0 23 29 40 31 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 i=2 C[1][3] = ∑ Instruksi : i=0

Perkalian Matrix C[1][3] C[1][3] = ∑ A[1][ i ] Instruksi : C i=2 i=0 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 baris 1 i=2 C[1][3] = ∑ A[1][ i ] Instruksi : i=0

C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : Perkalian Matrix C 3 2 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 baris 1 kolom 3 i=2 C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : i=0

C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : Perkalian Matrix C 3 2 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 baris 1 kolom 3 i=2 C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : i=0 A[1][0] * B[0][3] + A[1][1] * B[1][3] + A[1][2] * B[2][3] = C[1][3]

C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : Perkalian Matrix C 3 2 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 baris 1 kolom 3 i=2 C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : i=0 A[1][0] * B[0][3] + A[1][1] * B[1][3] + A[1][2] * B[2][3] = C[1][3] 3 * 7 21

C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : Perkalian Matrix C 3 2 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 baris 1 kolom 3 i=2 C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : i=0 A[1][0] * B[0][3] + A[1][1] * B[1][3] + A[1][2] * B[2][3] = C[1][3] 3 * 7 + 2 * 3 21 + 6

C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : Perkalian Matrix C 3 2 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 baris 1 kolom 3 i=2 C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : i=0 A[1][0] * B[0][3] + A[1][1] * B[1][3] + A[1][2] * B[2][3] = C[1][3] 3 * 7 + 2 * 3 + 5 * 5 = 21 + 6 + 25 =

C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : Perkalian Matrix C 3 2 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 3 3 2 5 4 C[1][3] baris 1 kolom 3 baris 1 kolom 3 i=2 C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : i=0 A[1][0] * B[0][3] + A[1][1] * B[1][3] + A[1][2] * B[2][3] = C[1][3] 3 * 7 + 2 * 3 + 5 * 5 = 21 + 6 + 25 = 52

C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : Perkalian Matrix C 3 2 5 7 4 23 29 40 31 28 2 4 3 2 4 6 3 2 3 2 5 28 29 37 52 3 3 2 5 4 baris 1 kolom 3 baris 1 kolom 3 i=2 C[1][3] = ∑ A[1][ i ] * B[ i ][3] Instruksi : i=0 A[1][0] * B[0][3] + A[1][1] * B[1][3] + A[1][2] * B[2][3] = C[1][3] 3 * 7 + 2 * 3 + 5 * 5 = 21 + 6 + 25 = 52

= C00 = A00*B00 + A01*B10 + A02* B20 A X B C C00 maksudnya : C[0][0] 4 3 5 kolom C = kolom B A sama sama sama C00 = A00*B00 + A01*B10 + A02* B20 X baris C = baris A 3 2 5 7 4 6 C00 = A00*B00 + A01*B10 + A02*B20 B C01 = A00*B01 + A01*B11 + A02*B21 C02 = A00*B02 + A01*B12 + A02*B22 C03 = A00*B03 + A01*B13 + A02*B23 C04 = A00*B04 + A01*B14 + A02*B24 C10 = A10*B00 + A11*B10 + A12*B20 C11 = A10*B01 + A11*B11 + A12*B21 C12 = A10*B02 + A11*B12 + A12*B22 C13 = A10*B03 + A11*B13 + A12*B23 C14 = A10*B04 + A11*B14 + A12*B23 = 23 29 40 31 28 37 36 52 C C00 maksudnya : C[0][0]

= C00 = A00*B00 + A01*B10 + A02* B20 A X B C Perkalian seluruhnya : kolom C = kolom B 2 4 3 5 A sama sama sama C00 = A00*B00 + A01*B10 + A02* B20 X baris C = baris A 3 2 5 7 4 6 Perkalian seluruhnya : B 2x3 + 4x2 + 3x3 = 6 + 8 + 9 = 23 2x2 + 4x4 + 3x3 = 4 + 16 + 9 = 29 2x5 + 4x6 + 3x2 = 10 + 24 + 6 = 40 2x7 + 4x3 + 3x5 = 14 + 12 + 15 = 31 2x4 + 4x2 + 3x4 = 8 + 8 + 12 = 28 3x3 + 2x2 + 5x3 = 9 + 4 + 15 = 28 3x2 + 2x4 + 5x3 = 6 + 8 + 15 = 29 3x5 + 2x6 + 5x2 = 15 + 12 + 10 = 37 3x7 + 2x3 + 5x5 = 21 + 6 + 25 = 52 3x4 + 2x2 + 5x4 = 12 + 4 + 20 = 36 = 23 29 40 31 28 37 36 52 C

x = C14 = A10 * B04 + A11 * B14 + A12 * B24 B A C Untuk : C14 Ko Ko K1 3 2 5 7 4 6 2 4 3 5 23 29 40 31 28 37 36 52 x = Untuk : C14 Terlihat hubungan indeks array A, B, dan C adalah sebagai berikut : K dipakai untuk : KOLOM. pada array A dan BARIS pada array B dan untuk suatu nilai I & J, nilai K bergerak dari 0 s.d 2 Ko Ko K1 K1 K2 K2 C14 = A10 * B04 + A11 * B14 + A12 * B24 J dipakai untuk : KOLOM. pada array C dan B Untuk suatu nilai I, nilai J bergerak dari 0 s.d. 4 J J J J I I I I I dipakai untuk : BARIS pada array C dan A I bergerak dari 0 s.d. 1

Ko Ko K1 K1 K2 K2 K dipakai untuk : KOLOM. pada array A dan BARIS pada array B dan untuk suatu nilai I & J, nilai K bergerak dari 0 s.d 2 C14 = A10 * B04 + A11 * B14 + A12 * B24 J dipakai untuk : KOLOM. pada array C dan B Untuk suatu nilai I, nilai J bergerak dari 0 s.d. 4 J J J J I I I I I dipakai untuk : BARIS pada array C dan A I bergerak dari 0 s.d. 1 SECARA UMUM 10 PERSAMAAN DIATAS, DAPAT DITULIS SEBAGAI BERIKUT : Untuk suatu nilai I & J, nilai K bergerak dari 0 sampai 2 C[I,J] = ∑ (A [I,K] * B [K,J] ) Sewaktu I masih = 0, J bergerak dari 0 sampai 4 Sewaktu I = 1, J bergerak lagi dari 0 sampai 4 Nilai I bergerak dari 0 sampai 1

x = C[I,J] = ∑ (A [I,K] * B [K,J] ) I J K for(I = 0; I <= 1; I++ ) 3 2 5 7 4 6 2 4 3 5 23 29 40 31 28 37 36 52 x = I J K 1 1 2 3 4 0,1 C[I,J] = ∑ (A [I,K] * B [K,J] ) for(I = 0; I <= 1; I++ ) {for(J = 0; J <= 4; J++ ) {for(K = 0; K <= 1; K++ ) {C[I,J] = C[I,J] + A[I,K] * B[K,J]; }

I J K atau for(I = 0; I <= 1; I++ ) {for(J = 0; J <= 4; J++ ) {for(K = 0; K <= 1; K++ ) {C[I,J] = C[I,J] + A[I,K] * B[K,J]; } I J K 1 1 2 3 4 0,1 atau I = 0; while( I <= 1 ) { J = 0; while( J <= 4) { K = 0; while( K <= 1 ) { C[I,J] = C[I,J] + A[I,K] * B[K,J] K++; } J++; I++;

x = C[I,J] = ∑ (A [I,K] * B [K,J] ) I J K for(I = 0; I <= 2; I++ ) 0,1,2 1 2 3 4 x = C[I,J] = ∑ (A [I,K] * B [K,J] ) 0,1,2 1 1 2 3 4 for(I = 0; I <= 2; I++ ) {for(J = 0; J <= 4; J++ ) {for(K = 0; K <= 2; K++ ) {C[I,J] = C[I,J] + A[I,K] * B[K,J]; } 0,1,2 2 1 2 3 4

x = C[I,J] = ∑ (A [I,K] * B [K,J] ) I J K for(I = 0; I <= 3; I++ ) 1 2 3 4 0,1,2 x = 1 2 3 4 0,1,2 1 C[I,J] = ∑ (A [I,K] * B [K,J] ) for(I = 0; I <= 3; I++ ) {for(J = 0; J <= 4; J++ ) {for(K = 0; K <= 2; K++ ) {C[I,J] = C[I,J] + A[I,K] * B[K,J]; } 1 2 3 4 0,1,2 2 1 2 3 4 0,1,2 3