2. BAB I
1. PENDAHULUAN
1.1.
Latar Belakang
Matriks adalah sekumpulan informasi yang setiap individu elemennya diarahkan
denganmenggunakan dua buah indeks (yang biasanya dikonotasikan dengan baris dan
kolom).
Elemen dari tipe terstruktur seperti larik dapat distrukturkan lagi. Sebuah larik yang
setiap elemennya adalah larik lagi disebut sebagai matriks (matrix). Matriks telah dikenal
secara luas dalam berbagai ilmu, terutama dalam bidang matematika.
Sering dikatakan bahwa matriks adalah tabel atau array berdimensi 2.Tetapi patut di
perhatikan,bahwa pengertian “dimensi 2”, “baris dan kolom” adalah dalam pemikiran
kita.Pengaturan letak elemen matriks dalam memori komputer selalu tetap sebagai deretan
sel “linier”.Pengertian 2 dimensi ini hanya untuk mempermudah pemrograman dalam
mendesain programnya.Maka matriks adalah salah satu contoh struktur data “lojik”.
Contoh : untuk matriks 3 x 4 sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
Dapat disimpan secara linier dan kontigu dengan dua alternatif sebagai berikut :
a. Perbaris
1
2
3
4
5
6
7
8
9
10
11
12
b. Perkolom
1
5
9
2
6
10
3
7
11
4
8
12
Banyaknya baris dan banyaknya kolom biasanya disebut sebagai ukuran matriks.
Contoh : matriks berukuran 4 x 5 mempunyai baris sebanyak 4 dam kolom sebanyak
5,sehingga dapat menyimpan 20 elemen.Ada beberapa bahasa pemrograman yang meminta
ukuran matriks pada pendefinisian,ada yang meminta penomoran minimum dan maksimum
dari baris dan kolom.Pada notasi algoritmik yang kita pakai,cara kedua yang akan di
pakai,sebab ukuran matriks dapat di dedukasi dari penomoran.
Matriks adalah struktur data yang statik,yaitu ukuran maksimum memorinya di tentukan dari
awal.Batas indeks baris dan kolom harus terdefinisi dengan pasti saat dideklarasikan dan tak
dapat di ubah-ubah.Seringkali dalam persoalan semacam ini,kita memesan memory secara
“berlebihan” untuk alasan terjaminnya memory yang tersedia,dan hanya memakai sebagian
saja.Biasanya memori yang di pakai (selanjutnya disebut efektif) adalah yang “kiri atas”
seperti ilustrasi sebagai berikut,dimana pada saat deklarasi,memori maksimum yang di
sediakan adalah 10 x 10,dan hanya akan di pakai untuk 3 x 4.
3. 1.2. Tujuan
Tujuan materi ini di pelajari adalah sebagai berikut:
1. Untuk dapat mengetahui cara mendeklarasikan suatu program matriks.
2. Untuk dapat mengetahui cara menjalankan program dalam operasi matriks.
3. Untuk dapat mengetahui cara mendeklarasikan matriks di dalam teks algoritma yang
ditulis di dalam bagian deklarasi.
4. Sebagai salah satu Tugas Mandiri Struktur Data.
4. BAB II
2. PEMBAHASAN
2.1.
Pengertian Matriks
Matriks adalah sekumpulan informasi yang setiap individu elemennya terdefinisi
berdasarkan dua buah indeks (yang biasanya dikonotasikan dengan baris dan kolom). Setiap
elemen matriks dapat diakses secara langsung jika kedua indeks diketahui, danindeksnya
harus bertype yang mempunyai keterurutan (suksesor), misalnya integer. Matriks adalah
struktur data dengan memori internal. Struktur ini praktis untuk dipakai tetapi memakan
memori! (Matriks integer 100 x 100 memakan 10000 xtempat penyimpanan integer).
Sering dikatakan bahwa matriks adalah tabel atau array berdimensi 2. Tetapi patut
diperhatikan, bahwa pengertian "dimensi 2", "baris dan kolom" adalah dalampemikiran kita.
Pengaturan letak elemen matriks dalam memori komputer selalu tetapsebagai deretan sel
"linier". Pengertian 2 dimensi ini hanya untuk mempermudahpemrogram dalam mendesain
programnya. Maka matriks adalah salah satu contoh struktur data "lojik",misalanya mengisi
elemen matriks yang baris ke 2 dan kolom ke 1 dengan nilai 100,maka cara mengisinya
adalah A(2,1)
100.Contoh matriks bernama A dengan ukuran 2 x 3 (yang memiliki
indeks baris 2 dan indeks kolom 3) :
Elemen Matriks : A[1,1], A[1,2], A[1,3], A[2,1], A[2,2], A[2,3]
Indeks baris dari Matriks A : 1, 2
Indeks kolom dari Matriks : 1, 2, 3
Mengisi elemen Matriks : A[2,1] 100
5. 2.2.
Pendeklarasian Matriks
Berikut ini adalah beberapa pendeklarasian mengenai matriks:
1. Sebagai nama peubah.
DEKLARASI
A : array [1..5, 1..4] of integer
2. Sebagai tipe
DEKLARASI
type Aaa : array[1..5, 1..4] of integer
A : Aaa
3. Mendefinisikan ukuran maksimum matriks sebagai sebuah konstanta
DEKLARASI
const NbarisMaks = 20
const NkolomMaks = 20
A : array [1..NbarisMaks, 1..NKolomMaks] of integer
2.3.
Pemrosesan Matriks dan Contoh Algoritmanya
a. Pemrosesan dengan menggunakan for
procedure ProsesMatriks1(input M : MatriksInt, input Nbar, Nkol : integer)
{Pemrosesan elemen matriks M[1..Nbar, 1..Nkol] per baris per kolom.}
{K.Awal : Matriks M sudah terdefinisi elemen-elemennya.}
{K.Akhir : Setiap elemen matriks M telah diproses.}
DEKLARASI
i : integer
j : integer
ALGORITMA:
for i 1 to Nbar do
for j 1 to Nkol do
Proses(M[i, j])
endfor
endfor
b. Pemrosesan dengan menggunakan while
procedure ProsesMatriks2(input M : MatriksInt, input Nbar, Nkol : integer)
{Pemrosesan elemen matriks M[1..Nbar, 1..Nkol] per baris per kolom.}
{K.Awal : Matriks M sudah terdefinisi elemen-elemennya.}
{K.Akhir : Setiap elemen matriks M telah diproses.}
DEKLARASI
i : integer
j : integer
6. ALGORITMA:
i1
while i ≤ Nbar do
j1
while j ≤ Nkol do
proses (M[i, j])
jj+1
endwhile
ii+1
endwhile
c. Pemrosesan dengan menggunakan repeat – until
procedure ProsesMatriks3(input M : MatriksInt, input Nbar, Nkol : integer)
{Pemrosesan elemen matriks M[1..Nbar, 1..Nkol] per baris per kolom.}
{K.Awal : Matriks M sudah terdefinisi elemen-elemennya.}
{K.Akhir : Setiap elemen matriks M telah diproses.}
DEKLARASI
i : integer
j : integer
ALGORITMA:
i1
repeat
j1
repeat
proses (M[i, j])
jj+1
until j>Nkol
ii+1
until i > Nbar
7. 2.4.
Program Matriks Dalam Pascal
Ini adalah contoh program yang dapat di coba dan di jalankan di dalam Turbo Pascal (TPW
1.5).
1. Program perkalian 2 (dua) Matriks :
program perkalian_2_matriks;
useswincrt;
var
M1 : array[1..20, 1..20] of longint;
M2 : array[1..20, 1..20] of longint;
M3 : array[1..20, 1..20] of longint;
n : array[1..2] of integer;
m : array[1..2] of integer;
i, j, x, y, k, l : integer;
begin
clrscr;
for k := 1 to 2 do begin
write('Banyakbarismatrikske-', k, ' : ');
readln(m[k]);
write('Banyakkolommatrikske-', k, ' : ');
readln(n[k]);
end;
if (n[1] <> m[2]) then
writeln('Tidakbisadikalikan!')
else begin
writeln('Matrikspertama : ');
y := 6;
for i := 1 to m[1] do begin
x := 8;
for j := 1 to n[1] do begin
gotoxy(x,y);
readln(M1[i,j]);
x := x + 8;
end;
y := y + 1;
end;
writeln('Matrikskedua : ');
y := y + 1;
for i := 1 to m[2] do begin
x := 8;
for j := 1 to n[2] do begin
gotoxy(x,y);
readln(M2[i,j]);
x := x + 8;
end;
y := y + 1;
end;
8. Lanjutan Program . . .
writeln('Proses perkalian');
y := y + 1;
for i := 1 to m[1] do begin
x := 2;
for j := 1 to n[2] do begin
M3[i,j] := 0;
for l := 1 to n[1] do begin;
M3[i,j] := M3[i,j] + (M1[i,l] * M2[l,j]);
gotoxy(x,y);
write(M1[i,l], ' . ', M2[l,j]);
if l < n[1] then begin
write(' + ');
end;
x := x + 12;
end;
x := x + 15;
end;
y := y + 1;
end;
y := y + 1;
for i := 1 to m[1] do begin
x := 2;
for j := 1 to n[2] do begin
for l := 1 to n[1] do begin;
gotoxy(x,y);
write(M1[i,l] * M2[l,j]);
if l < n[1] then begin
write(' + ');
end;
x := x + 12;
end;
x := x + 15;
end;
y := y + 1;
end;
writeln;
writeln('PerkalianMatriks : ');
for i := 1 to m[1] do begin
for j := 1 to n[2] do
write(M3[i,j]:8);
writeln;
end; end; readln; end.
10. 2. Program untuk menampilkan Matriks:
programMenampilkan_Angka_Matriks;
useswincrt;
var
kolom_1,kolom_2,kolom_3,kolom_4,kolom_5:array[1..10]of
integer;
n,i:integer;
baca_t : char;
begin
gotoxy(25,2);writeln(' PROGRAM MATRIKS TAMPILAN');
gotoxy(25,3);writeln('==========================');
gotoxy(25,4);writeln(' Input AngkaDibawahIni');
gotoxy(25,5);writeln(' -------------------------');
gotoxy(25,6);writeln(' 0 0 0 0 1');
gotoxy(25,7);writeln(' 0 0 0 1 0');
gotoxy(25,8);writeln(' 0 0 1 0 0');
gotoxy(25,9);writeln(' 0 1 0 0 0');
gotoxy(25,10);writeln(' 1 0 0 0 0');
gotoxy(25,12);write(' Input JumlahOrdo : ' );readln(n);
for i:= 1 to n do
begin
writeln;
write('Input Angka 1 : ');readln(kolom_1[i]);
write('Input Angka 2 : ');readln(kolom_2[i]);
write('Input Angka 3 : ');readln(kolom_3[i]);
write('Input Angka 4 : ');readln(kolom_4[i]);
write('Input Angka 5 : ');readln(kolom_5[i]);
end;
writeln; clrscr;
writeln('
Output Angka yang di Input');
writeln('
****************************');
writeln;
for i:= 1 to n do
begin
writeln(kolom_1[i]:32,kolom_2[i]:4,kolom_3[i]:4,kolom_4[i]:4,kolo
m_5[i]:4);
end;
writeln;writeln;
writeln('Press Any Key To Close Program');
baca_t :=readkey;
donewincrt;
end.
11. Hasil Output Program di atas:
2.5.
Keuntungan dan Kerugian Penggunaan Matriks
Keuntungan struktur data matriks :
1. Paling mudah di operasikan
2. Ekonomis dalam pemakaian memory,bila semua elemen terisi
3. Akses ke setiap elemen memerlukan waktu yang sama
Kerugiannya :
1. Memboroskan tempat jika banyak elemen yang tidak digunakan.
12. BAB III
3. PENUTUP
3.1. Kesimpulan
Dengan mempelajari tentang matriks maka kita dapat mengetahui definisi dari matriks itu
sendiri, dapat mendeklarasikan matriks, mengetahui proses matriks, mengetahui
keuntungan dan kerugian menggunakan matriks serta mampu membuat algoritma dan
program yang menggunakan matriks.