11 Array Statis 2 Dimensi
11 Array Statis 2 Dimensi
(MATRIKS)
ALGORITMA & PEMROGRAMAN
Tim Algoritma & Pemrograman IF
PENGERTIAN ARRAY 2
DIMENSI
Sekumpulan data yang bertipe data sama yang
bisa diakses lewat dua (2) buah indeks
DEKLARASI UMUM (1)
Algoritma:
Contoh:
Kamus:
nama_var_matriks:array[1..maks_baris,1..maks_kolom] of tipedata
Kamus:
A : array[1..5,1..3] of integer
DEKLARASI UMUM (2)
Algoritma:
Contoh:
Kamus:
Const
maks_baris = ...
maks_kolom = ...
nama_var_matriks:array[1..maks_baris,1..maks_kolom] of tipedata
Kamus:
Const
maks_baris = 5
maks_kolom = 3
A : array[1..maks_baris,1..maks_kolom] of integer
DEKLARASI UMUM (3)
Algoritma:
Kamus:
Const
maks_baris = ...
maks_kolom = ...
Type
type_matriks = array[1..maks_baris,1..maks_kolom] of tipedata
nama_var_matriks : type_matriks
DEKLARASI UMUM (3)
Contoh:
Kamus:
Const
maks_baris = 5
maks_kolom = 3
Type
Matriks_A = array[1..maks_baris,1..maks_kolom] of integer
A : Matriks_A
OPERASI-OPERASI MATRIKS
1. Penciptaan (create) array 2 dimensi
Mempersiapkan matriks untuk diakses/diproses
dengan asumsi elemen matriks diisi dengan
angka 0 jika elemen matriksnya diisi
numerik/bilangan/angka
atau diisi dengan karakter // untuk
alphanumerik.
Prosedur Penciptaan
Algoritma:
Procedure CreateMatrix(Output nama_var_matriks:type_matriks)
{I.S: elemen matriks diberi harga awal agar siap digunakan}
{F.S: menghasilkan matriks yang siap digunakan}
Kamus:
brs, klm : integer {brs=indeks baris, klm=indeks kolom}
Algoritma:
for brs 1 to maks_baris do
for klm 1 to maks_kolom do
nama_var_matriks(brs,klm) 0 {elemen matriks numerik}
endfor
endfor
EndProcedure
OPERASI-OPERASI MATRIKS
(Lanjutan)
2. Traversal
Proses mengunjungi setiap elemen matriks
satu persatu dari elemen pertama sampai
elemen terakhir.
Proses-proses Traversal
Proses traversal:
1. Pengisian elemen matriks dengan data
2. Menampilkan elemen matriks
3. Menentukan nilai maksimum dan minimum
4. Menghitung nilai rata-rata, dsb.
Prosedur umum proses Traversal
Algoritma umum traversal:
Procedure traversal (I/O nama_var_matriks:type_matriks)
{I.S: Matriks sudah terdefinisi}
{F.S: menghasilkan matriks sesuai dengan proses traversal
yang dilakukan}
Kamus:
brs, klm : integer
Algoritma:
Inisialisasi {pemberian harga awal terhadap sebuah
variabel}
for brs 1 to maks_baris do
for klm 1 to maks_kolom do
proses
endfor
endfor
Terminasi {penutupan yang harus dilakukan setelah proses
selesai}
EndProcedure
Operasi-operasi
Matriks(Lanjutan)
3. Pencarian data pada matriks
4. Penghancuran data pada matriks
Soal Matriks
1. Buatlah algortima untuk menghitung jumlah anggota
yang ada dalam suatu matriks.
Contoh :
2 3 4
5 6 2
1 3 4
Total Elemen matriks adalah 30
Catatan : Anggota elemen dimasukan dari keyboard
Soal Matriks (Lanjutan)
2. Buatlah algoritma untuk menampilkan total elemen per
baris dan per kolom.
Contoh :
Layar Masukan :
2 3 4
5 6 2
1 3 4
Layar Keluaran:
2 3 4 9
5 6 2 13
1 3 4 8
8 12 10
Soal Matriks (Lanjutan)
3. Buatlah algoritma untuk mengecek apakah suatu matrik
simetris atau tidak.
Contoh 1 :
Input :
2 3 4
5 6 2 Matrik tidak simetris
1 3 4
Contoh 2 :
Input :
2 5 6
5 1 2 Matrik simetris
6 2 4
Catatan : Suatu matrik akan disebut simetris jika Mij = Mji,
jadi satu elemen saja tidak terpenuhi berarti matrik tersebut
tidak simetris.
Soal Matriks (Lanjutan)
4. Buatlah algoritma untuk melakukan perkalian 2 buah matriks.
Elemen matriks pertama dan elemen matriks kedua dimasukan dari
keyboard, kemudian lakukan operasi perkalian dan kemudian
tampilkan hasilnya.
5.
MK_1 MK_2 . . . MK_n
NIM_1 IDX_11 IDX_12 . . . IDX_1n
NIM_2 IDX_21 IDX_22 . . . IDX_2n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
NIM_m IDX_m1 IDX_m2 . . . IDX_mn
MK = matakuliah, NIM = nomor induk mhs, IDX = nilai mutu
Nilai mutu didapat dari nilai akhir yang dimasukkan oleh
user.
Matriks di atas berordo m x n, dimana harga m dan harga n
dimasukkan oleh user.