SlideShare ist ein Scribd-Unternehmen logo
1 von 12
TUGAS
STRUKTUR DATA

Nama
Nim
Jurusan
Kelas

: Apriady
: C1255201020
: Teknik Informatika
:A
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.
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.
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
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
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
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;
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.
Hasil Output Program di atas :
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.
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.
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Tutorial mat lab_teguhw
Tutorial mat lab_teguhwTutorial mat lab_teguhw
Tutorial mat lab_teguhw
Dimaz Gunawan
 
Tugas 2 kelompok 1 pemograman komputer
Tugas 2 kelompok 1 pemograman komputerTugas 2 kelompok 1 pemograman komputer
Tugas 2 kelompok 1 pemograman komputer
phipin
 
Software Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses BelajarSoftware Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses Belajar
Prandita Sega
 

Was ist angesagt? (17)

Tutorial mat lab_teguhw
Tutorial mat lab_teguhwTutorial mat lab_teguhw
Tutorial mat lab_teguhw
 
Operasi dasar matlab job 1
Operasi dasar matlab job 1Operasi dasar matlab job 1
Operasi dasar matlab job 1
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfPanduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdf
 
Tugas 2 kelompok 1 pemograman komputer
Tugas 2 kelompok 1 pemograman komputerTugas 2 kelompok 1 pemograman komputer
Tugas 2 kelompok 1 pemograman komputer
 
Software Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses BelajarSoftware Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses Belajar
 
Diktat Panduan Matlab
Diktat Panduan MatlabDiktat Panduan Matlab
Diktat Panduan Matlab
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlab
 
Matlab Tutorial Chapter 1
Matlab Tutorial Chapter 1Matlab Tutorial Chapter 1
Matlab Tutorial Chapter 1
 
Dasar matlab
Dasar matlabDasar matlab
Dasar matlab
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
 
Laporan pcd 01
Laporan pcd 01Laporan pcd 01
Laporan pcd 01
 
Modul 1 pengenalan matlab
Modul 1 pengenalan matlabModul 1 pengenalan matlab
Modul 1 pengenalan matlab
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Yuliani fazrin 152151094 - Cara Menyelesaikan Permasalahan Sistem Operasi Mat...
Yuliani fazrin 152151094 - Cara Menyelesaikan Permasalahan Sistem Operasi Mat...Yuliani fazrin 152151094 - Cara Menyelesaikan Permasalahan Sistem Operasi Mat...
Yuliani fazrin 152151094 - Cara Menyelesaikan Permasalahan Sistem Operasi Mat...
 
1 pengenalan matlab
1  pengenalan matlab1  pengenalan matlab
1 pengenalan matlab
 
Fungsi grafik di matlab
Fungsi grafik di matlabFungsi grafik di matlab
Fungsi grafik di matlab
 

Andere mochten auch (6)

Intervention in the classroom
Intervention in the classroomIntervention in the classroom
Intervention in the classroom
 
Pbis secondary & tertiary classroom interventions
Pbis secondary & tertiary classroom interventionsPbis secondary & tertiary classroom interventions
Pbis secondary & tertiary classroom interventions
 
Interventions in the classroom
Interventions in the classroomInterventions in the classroom
Interventions in the classroom
 
Classroom Management & Behavior Interventions
Classroom Management & Behavior InterventionsClassroom Management & Behavior Interventions
Classroom Management & Behavior Interventions
 
How TA practice can promote Teaching & Learning CPD 24.06.15
How TA practice can promote Teaching & Learning CPD 24.06.15How TA practice can promote Teaching & Learning CPD 24.06.15
How TA practice can promote Teaching & Learning CPD 24.06.15
 
Classroom Interventions for Chronic Behavior Problems
Classroom Interventions for Chronic Behavior ProblemsClassroom Interventions for Chronic Behavior Problems
Classroom Interventions for Chronic Behavior Problems
 

Ähnlich wie Tugas2

Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Shofura Kamal
 
Modul praktikum telekomunikasi kurikulum 2018 kkni
Modul praktikum telekomunikasi kurikulum 2018 kkniModul praktikum telekomunikasi kurikulum 2018 kkni
Modul praktikum telekomunikasi kurikulum 2018 kkni
MardiniHasanah
 
Handout aplikom
Handout aplikomHandout aplikom
Handout aplikom
sigituloh
 
Jenis dan operasi matriks
Jenis dan operasi matriksJenis dan operasi matriks
Jenis dan operasi matriks
Safran Nasoha
 
Riskaty miftahul jannah (1730206093) p pt materi matriks
Riskaty miftahul jannah (1730206093) p pt materi matriksRiskaty miftahul jannah (1730206093) p pt materi matriks
Riskaty miftahul jannah (1730206093) p pt materi matriks
riskaty__13
 

Ähnlich wie Tugas2 (20)

Struktur data chapter_04
Struktur data chapter_04Struktur data chapter_04
Struktur data chapter_04
 
1 Array.ppt
1 Array.ppt1 Array.ppt
1 Array.ppt
 
Cepat mahir dengan matlab
Cepat mahir dengan matlabCepat mahir dengan matlab
Cepat mahir dengan matlab
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
 
BMP ESPA4222
BMP ESPA4222BMP ESPA4222
BMP ESPA4222
 
Modul praktikum telekomunikasi kurikulum 2018 kkni
Modul praktikum telekomunikasi kurikulum 2018 kkniModul praktikum telekomunikasi kurikulum 2018 kkni
Modul praktikum telekomunikasi kurikulum 2018 kkni
 
Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLAB
 
Modul 1 matlab 1
Modul 1 matlab 1Modul 1 matlab 1
Modul 1 matlab 1
 
Matriks
MatriksMatriks
Matriks
 
Materi 3 - Pengantar Pengolahan Obyek.pdf
Materi 3 - Pengantar Pengolahan Obyek.pdfMateri 3 - Pengantar Pengolahan Obyek.pdf
Materi 3 - Pengantar Pengolahan Obyek.pdf
 
Handout aplikom
Handout aplikomHandout aplikom
Handout aplikom
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Bahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdf
Bahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdfBahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdf
Bahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdf
 
Bahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdf
Bahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdfBahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdf
Bahan Ajar Inovasi Matriks Lusi Irawati, S.Pd.pdf
 
Jenis dan operasi matriks
Jenis dan operasi matriksJenis dan operasi matriks
Jenis dan operasi matriks
 
Riskaty miftahul jannah (1730206093) p pt materi matriks
Riskaty miftahul jannah (1730206093) p pt materi matriksRiskaty miftahul jannah (1730206093) p pt materi matriks
Riskaty miftahul jannah (1730206093) p pt materi matriks
 
Praktik matlab
Praktik matlabPraktik matlab
Praktik matlab
 
Matriks X
Matriks XMatriks X
Matriks X
 
Matriks
MatriksMatriks
Matriks
 
Tutorial Matlab
Tutorial MatlabTutorial Matlab
Tutorial Matlab
 

Mehr von Av Ri (20)

Ocd 3.0
Ocd 3.0Ocd 3.0
Ocd 3.0
 
Ocd
OcdOcd
Ocd
 
Ocd 3.5
Ocd 3.5Ocd 3.5
Ocd 3.5
 
Tugas simbad
Tugas simbadTugas simbad
Tugas simbad
 
Tugas1
Tugas1Tugas1
Tugas1
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 
Tugas1
Tugas1Tugas1
Tugas1
 
Tugas3
Tugas3Tugas3
Tugas3
 
Tugas p kn
Tugas p knTugas p kn
Tugas p kn
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 
Tugas3
Tugas3Tugas3
Tugas3
 
Tugas2
Tugas2Tugas2
Tugas2
 
Tugas1
Tugas1Tugas1
Tugas1
 
Tugas4
Tugas4Tugas4
Tugas4
 
Logika
LogikaLogika
Logika
 
Logika
LogikaLogika
Logika
 
Tugas 3
Tugas 3Tugas 3
Tugas 3
 
Tugas 2
Tugas 2Tugas 2
Tugas 2
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 

Tugas2

  • 1. TUGAS STRUKTUR DATA Nama Nim Jurusan Kelas : Apriady : C1255201020 : Teknik Informatika :A
  • 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.