Indikator Pencapaian Kompetensi
IPK pengetahuan
Menjelaskan array satu dimensiMenjelaskan array multi dimensi
Mengidentifikasi penerapan array satu dimensi
Mengidentifikasi penerapan array mulri dimensi
IPK Ketrampilan
Membuat aplikasi array satu dimensi
Membuat aplikasi array multi dimensi
Tujuan Pembelajaran
Siswa dapat memahami struktur data Array, serta
pemanfaatannya didalam perancangan program yang terstruktur.Materi Kegiatan Pembelajaran
STRUKTUR DATA ARRAY
Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama dan merupakan gabungan dari beberapa variable sejenis serta memiliki jumlah komponen yang jumlahnya tetap.
Elemen – elemen dari array tersusun secara sequential dalam memori komputer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi.
ARRAY SATU DIMENSI
Untuk lebih jelasnya perhatikan gambar berikut :
Bentuk Umum
Type
<NamaArray> = array[IdexArray] of TipeData;
Gaji = array[1..10] of longint;
Type
Hari=(Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu); PendapatanHarian = array[Hari] of real
Selain itu kita juga dapat mendeklarasikan sebuah tipe data berupa subrange bilangan untuk kemudian dipakai sebagai index dari suatu array seperti berikut.
Type
Tinggi = 145..210;
TinggiManusia = array [tinggi] of byte;
Atau kita juga dapat menggunakan konstanta untuk kemudian dipakai dalam index array. Untuk menggunakan konstanta perlu diawali dengan kata baku const. Untuk lebih jelasnya perhatikan contoh berikut.
Const
Min = 1;
Max = 10;
Type
Arr = array[Min .. Max] of byte;
Var
Point : arr;
Contoh Program :
{ Program untuk menginput nilai mahasiswa ke dalam array satu dimensi }
Program Data_Mahasiswa(Input,Outpu);
Uses CRT;
Type
Nilai_Mhs = array[1..10] of integer;
Var
Index : integer;
Nilai : Nilai_Mhs;
Begin
Clrscr;
{ Proses input nilai mahasiswa }
Writeln('<< Menginput nilai 10 mahasiswa >>');
for index:=1 to 10 do
Begin
Write(' Mahasiswa -> ',index:2,' = '); Readln(nilai[index]);
End;
Writeln;
Write(' Tekan Enter untuk melihat nilai mahasiswa... '); Readln;
{ Proses menampilkan nilai mahasiswa }
Bentuk Umum :
Type
<NamaArray> = array[IndexArray1,IndexArray2] of TipeData;
Baris = 1..2;
Kolom = 1..3;
Ordo = array[Baris,Kolom] of byte;
Matrix : ordo;
Kegiatan = (Main, Belajar, Nonton, Berenang};
Var
[Main] |
[Belajar] |
[Nonton] |
[Berenang] |
|
|
|
|
|
[Senin] |
10 |
12 |
23 |
35 |
|
21 |
5 |
11 |
44 |
[Selasa] |
32 |
2 |
29 |
8 |
[Rabu] |
20 |
13 |
16 |
6 |
[Kamis] |
14 |
4 |
18 |
25 |
[Jum’at] |
26 |
9 |
17 |
22 |
[Sabtu] |
|
Untuk dapat mengakses masing – masing elemen dari array AktivitasAnak diatas kita harus mengetahui posisi baris dan kolom dari elemen – elemen yang ingin diakses tersebut. Sebagai contohnya jika kita ingin mengakses data yang di higlight pada tabel diatas (5) dapat kita deklarasikan seperti dibawah ini :
A [Selasa, Belajar]
{ Program menginput nilai(bilangan) ke dalam array dimensi dua dan menampilkannya }
Program
Matrix(Input,Output);
Uses CRT;
Type
Ordo = array[1..3,1..4] of integer;
Var
Baris, Kolom : Integer;
Matriks : Ordo;
Begin
Clrscr;
{ Menginput elemen array secara Row Major Order }
Writeln('<< Proses memasukkan elemen array >>');
for baris:=1 to 3
do
Begin
for kolom:=1 to 4 do Begin
Write(' Matriks[',baris,'][',kolom,'] = '); Readln(matriks[baris][kolom]);
End;
Writeln;
End;
{ Menampilkan elemen Array secara Row Major Order }
Writeln('<< Proses menampilkan isi array >>');
for baris:=1 to 3 do Begin
for kolom:=1 to 4 do Begin
Write(matriks[baris][kolom]:5);
End;
Writeln;
End;
Readln;
End.
Contoh Program
{ Program penjumlahan matriks dua dimensi } Program Penjumlahan_Matrix(Input,Output); Uses CRT;
Type Ordo = array[1..3,1..4] of integer;
A,B,X,Y,C : Ordo;
i,j : Integer;
Begin
Clrscr;
for i:=1 to 3 do
Begin
for j:= 1 to 4 do
Begin
Write(' Input data matrik A[',i,'][',j,']= '); Readln(A[i][j]);
End;
End;
{******** Masukkan matriks B ********}
Writeln('<< Matriks B >>');
for i:=1 to 3 do
Begin
for j:= 1 to 4 do
End;
End;
{******** Proses penjumlahan matriks A dan B ********}
for i:=1 to 3 do
Begin
for j:= 1 to 4 do
Begin
X[i][j]:=A[i][j]+B[i][j];
End;
End;
Clrscr;
{******** Cetak isi matriks A ********}
Writeln('<< matrik A >>');
for j:=1 to 4 do
Write(A[i][j]:6);
Writeln;
End;
Writeln;
{******** Cetak isi matriks B *******}
Writeln('<< matrik B >>');
for i:=1 to 3 do
Begin
for j:=1 to 4 do
Write(B[i][j]:6);
Writeln;
End;
Writeln;
{** Cetak hasil penjumlahan matriks A dan B **} Writeln('<< matrik penjumlahan A+B >>'); for i:=1 to 3 do
Begin
for j:=1 to 4 do
Write(X[i][j]:6);
Writeln;
End;
Writeln;
Readln;
ARRAY TIGA DIMENSI
Array tiga dimensi dapat dianalogikan sebagai suatu benda
ruang 2 dimensi .
Bentuk Umum :
Type
<NamaArray> = array[IndexArray1,IndexArray2,IndexArray3]of TipeData;
Contoh :
Type
Kalender = array[Tanggal, Bulan, Tahun] of byte; Logika = array[1..10,boolean,2..15] of integer;
Deklarasi pada array tiga dimensi tidak berbeda dengan deklarasi pada array satu dimensi dan dua dimensi yang telah dijelaskan sebelumnya, kecuali pada index array.
Penilaian
SOAL :
1. Buatlah program untuk menginput, menghitung serta mencetak perkalian dua matriks dengan ordo bebas.
2. Buatlah program untuk menghasilkan invers dari suatu matriks dengan ordo bebas.
0 Komentar di Sini:
Posting Komentar
Nuhun sudah komentar