MATRIKS (ARRAY 2 DIMENSI)
Definisi Array 2 Dimensi Sekumpulan data bertipe data sama yg diakses / diacu oleh dua buah indeks. Misalkan: Matriks A berordo m x n A m x n a11 a12 .. a1n a21 a22 a2n . am1 am2 amn
Deklarasi Array 2 Dimensi VarMatriks : array[1..MaksBaris,1..MaksKolom] of tipedata Contoh: A : array [1..5,1..3] of integer Const MaksBaris = … MaksKolom = … MaksBaris = 5 MaksKolom = 3 A : array [1..MaksBaris,1..MaksKolom] of integer
Deklarasi Array 2 Dimensi (lanjutan) Const MaksBaris = … MaksKolom = … Type TipeMatriks = array[1..MaksBaris,1..MaksKolom] of tipedata var_matriks : nama_tipe_matriks Contoh: MaksBaris = 5 MaksKolom = 3 Matriks = array[1..MaksBaris,1..MaksKolom] of integer A : Matriks {nama variabel matriks}
Soal Matriks Buat algo. untuk membuat matriks A berordo 5 x 3, gunakan subrutin. Procedure IsiMatriks(Output A : Matriks) {I.S. : user memasukan elemen matriks A berordo 5 x 3} {F.S. : menghasilkan matriks A berordo 5 x 3} Kamus: i,j : integer Algoritma: for i 1 to 5 do for j 1 to 3 do input(A(i,j)) endfor EndProcedure
Procedure TampilMatriks(Input A : Matriks) {I. S Procedure TampilMatriks(Input A : Matriks) {I.S. : elemen matriks A berordo 5 x 3 sudah terdefinisi} {F.S. : menampilkan matriks A berordo 5 x 3} Kamus: i,j : integer Algoritma: for i 1 to 5 do for j 1 to 3 do output(A(i,j)) endfor EndProcedure
{Algoritma Utama} Membuat_Matriks_A {I. S {Algoritma Utama} Membuat_Matriks_A {I.S. : user memasukan elemen matriks A berordo 5 x 3} {F.S. : menampilkan matriks A berordo 5 x 3} Kamus: Type Matriks = array[1..5,1..3] of integer A : Matriks Procedure isi_matriks(Output A : Matriks) Procedure tampil_matriks(Input A : Matriks) Algoritma: IsiMatriks(A) TampilMatriks(A)
Soal Matriks 2. Buat algo. untuk menjumlahkan dua buah matriks berordo M x N, gunakan subrutin. Procedure IsiMatriks(Output M,N:integer, Output A,B : Matriks) {I.S. : user memasukan banyaknya baris (M), banyaknya kolom (N) dan elemen dua buah matriks berordo M x N} {F.S. : menghasilkan banyaknya baris (M), banyaknya kolom (N) dan dua buah matriks berordo M x N} Kamus: i,j : integer Algoritma: input(M,N) {harus ada validasi untuk M dan N} for i 1 to M do for j 1 to N do input(A(i,j), B(i,j)) endfor EndProcedure
Procedure JumlahMatriks(Input M,N : integer, Input A,B : Matriks, Output C : Matriks) {I.S. : {F.S. : Kamus: Algoritma: EndProcedure
Procedure TampilHasil(Input M,N : integer, Input C : Matriks) {I. S Procedure TampilHasil(Input M,N : integer, Input C : Matriks) {I.S. : {F.S. : Kamus: Algoritma: EndProcedure
{Algoritma Utama} PenjumlahanDuaBuahMatriks {I. S {Algoritma Utama} PenjumlahanDuaBuahMatriks {I.S. : user memasukan banyaknya baris (M), banyaknya kolom (N) dan elemen dua buah matriks berordo M x N} {F.S. : menampilkan hasil penjumlahan dua buah matriks} Kamus: Const MaksBaris = 10 MaksKolom = 10 Type Matriks = array[1..MaksBaris,1..MaksKolom] of integer A,B,C : Matriks M,N : integer Procedure IsiMatriks (Output M,N:integer, Output A,B : Matriks) Procedure JumlahMatriks (Input M,N : integer, Input A,B : Matriks, Output C : Matriks) Procedure TampilHasil (Input M,N : integer, Input C : Matriks) Algoritma: IsiMatriks(M,N,A,B) JumlahMatriks(M,N,A,B,C) TampilHasil(M,N,C)