0% menganggap dokumen ini bermanfaat (0 suara)
76 tayangan

Modul 10 Array

Modul ini membahas penggunaan array, termasuk array satu dimensi, dua dimensi, dan multi dimensi. Tujuannya adalah untuk menyimpan dan mengakses data secara lebih efisien. Praktikum meliputi penggunaan array untuk program statistik sederhana dan operasi matriks seperti perkalian, determinan, transpose, dan invers matriks.

Diunggah oleh

Hanna Sajidha
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
76 tayangan

Modul 10 Array

Modul ini membahas penggunaan array, termasuk array satu dimensi, dua dimensi, dan multi dimensi. Tujuannya adalah untuk menyimpan dan mengakses data secara lebih efisien. Praktikum meliputi penggunaan array untuk program statistik sederhana dan operasi matriks seperti perkalian, determinan, transpose, dan invers matriks.

Diunggah oleh

Hanna Sajidha
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

MODUL 10 ARRAY

1. Deskripsi Singkat
Pada modul 10 ini akan dibahas penggunaan array. Pengunaan array salah satunya
bertujuan untuk efisiensi penyimpanan dan pengambilan data.

2. Tujuan Praktikum
Setelah praktikum pada modul 10 ini diharapkan:

1. Mahasiswa memahami dan menguasai struktur data array


2. Mahasiswa dapat menggunakan struktur data aray dengan terampil pada
program.

3. Material Praktikum
Kegiatan pada modul 10 ini memerlukan material berupa program Pascal

4. Kegiatan Praktikum
Array atau larik adalah suatu struktur data berindeks yang dapat digunakan untuk
menyimpan sejumlah variabel yang memiliki tipe data yang sama.
Misalkan program kita akan menggunakan 10 buah data integer. Jika kita tidak
menggunakan array, maka kita perlu mendeklarasikan 10 buah variabel dengan tipe
integer seperti contoh berikut:
Var
X1, X2, X3, X4, X5, X6, X7, X8, X9, X10 : integer;
Namun jika kita menggunakan array, maka kita cukup mendeklarasikan satu array yang
berisi 10 data integer seperti contoh berikut:
Var
X : array[1..10] of integer;
Dengan kata lain, untuk menyimpan 10 elemen variabel bertipe integer, kita cukup
menggunakan satu identifier X.

Array merupakan sebuah struktur data yang statis. Statis artinya ketika runtime
ukurannya tidak dapat berubah.
Deklarasi umum dari array adalah:
NamaArray : array[IndeksAwal..IndeksAkhir] of tipe_data;

1
Nilai IndeksAwal harus lebih kecil atau sama dengan nilai IndeksAkhir. Kita bisa
menggunakan tipe data yang memiliki nilai ordinal sebagai IndeksAwal dan
IndeksAkhir. Yang banyak digunakan sebagain indeks array adalah bilangan bulat.

Contoh deklarasi array:


Var
A: array[0..9] of Integer;
B: array[10..20] of String;
C: array[‘a’..’j’] of Boolean;
X : array[1..100] of Integer;
Untuk mengakses setiap elemen array, kita menggunakan indeksnya. Misal pada
deklarasi variabel X di atas, indeks array dimulai dari 1 sampai 100 yang nantinya
dituliskan pada kurung siku [ ]. Misalnya:
...
X[1] := 10; {array X indeks pertama kita isi nilai 10}
X[2] := X[1] – 5; {array X indeks kedua kita isi nilai
array X indeks pertama dikurangi 5 yang mana hasilnya adalah
5}
X[3] := X[2] + X[1];
Writeln(X[3]); {output = 15}
...
Kita tidak bisa mengakses indeks array di luar range yang telah dideklarasikan karena
akan menyebabkan error out of range. Misalnya:
Var
X: array[1..5] of integer;
Begin
X[6] := 15 {error, indeks yang akan diakses di luar
range}
Penggunaan array bertujuan untuk efisiensi manajemen data dengan memanfaatkan
indeks array. Berikut adalah contoh pencarian nilai terbesar dari 3 bilangan tanpa
menggunakan array:
if x > y then
if x > z then

terbesar := x

2
else

terbesar := z
else
if y > z then

terbesar := y
else
terbesar := z;
Bagaimana jika bilangannya ada 100? Atau ada 1000? Jika kita menggunakan array,
maka berapapun jumlah datanya tidak menjadi masalah. Perhatikan program berikut:
Var
X : array[1..10] of Integer;
Terbesar: Integer;
i : Integer;
Begin
For i:=1 to 10 do
Begin
Write(‘Input data ke-‘, i,’= ’);
Readln(X[i]);
End;
{di awal dimisalkan bahwa data terbesar adalah X[1]}
Terbesar := X[1];
For i:=2 to 10 do {perulangan bergerak dari indeks ke 2
sampai 10}
Begin
If X[i] > Terbesar then Terbesar := X[i];
End;
Writeln(Terbesar); {menampilkan data terbesar yang diinput
user}
Readln;
End.

3
4
A. Array 2 Dimensi
Pembahasan sebelumnya adalah untuk array satu dimensi. Array yang memiliki
dimensi lebih dari 1 disebut array multidimensi. Array yang memiliki 2 dimensi disebut
dengan array 2 dimensi.
Setiap elemen array dapat diakses menggunakan indeks[baris, kolom]
Misal kita mendeklarasikan array 2 dimensi sebagai berikut:
Var
X : array[1..3, 1..4] of integer;
Maka jumlah data yang disimpan pada variabel X adalah sebanyak baris kali kolom
atau 3 x 4 = 12. Kira-kira memori akan menyimpan variabel X seperti berikut:
X
Baris/Kolom 1 2 3 4
1 [1,1] [1,2] [1,3] [1,4]
2 [2,1] [2,2] [2,3] [2,4]
3 [3,1] [3,2] [3,3] [3,4]

Setiap elemen array dapat diakses menggunakan indeks[baris, kolom]. Misalnya:


Var
X : array[1..3, 1..4] of integer;
Begin
X[1,3] := 10;
Writeln(X[1,3]); {output 10}
End.
Array 2 dimensi banyak digunakan untuk operasi matriks. Perhatikan listing program
untuk penjumlahan matriks berikut ini:
Program penjum_matriks;
var
a,b,c: array[1..3, 1..3] of integer;
i,j: integer;
begin
writeln('buat matriks A');
for i:=1 to 3 do
for j:=1 to 3 do

5
begin
write('[',i,',',j,']=');
readln(a[i,j]);
end;
writeln('buat matriks B');
for i:=1 to 3 do
for j:=1 to 3 do
begin
write('[',i,',',j,']=');
readln(b[i,j]);
end;

writeln('Matriks A');
for i:=1 to 3 do
begin
for j:=1 to 3 do
write(a[i,j],' ');
writeln;
end;
writeln('Matriks B');
for i:=1 to 3 do
begin
for j:=1 to 3 do
write(b[i,j],' ');
writeln;
end;
writeln('matriks C');
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin

6
c[i,j]:=a[i,j]+b[i,j];
write(c[i,j],' ');
end;
writeln;
end;
readln;
end.

Program di atas menginput matriks A, menginput matriks B, kemudian menampilkan


matriks A dan matriks B kemudian menampilkan matriks C sebagai hasil penjumlahan
dari matriks A+B.

B. Array Multi Dimensi


Array dapat kita deklarasikan dalam sejumlah dimensi tergantung kebutuhan kita.
Misal sebuah array yang memiliki 3 dimensi dengan masing-masing dimensinya adalah
3, dapat digambarkan seperti sebuah rubric cube.

Rubric Cube adalah array 3x3x3


Contoh deklarasinya adalah sebagai berikut:
Var
X : array[1..3, 1..3, 1..3] of integer;
Maka variabel X memiliki elemen sebanyak 3 x 3 x 3 = 27 buah. Untuk mengakses tiap
elemen, indeksnya sebanyak 3 seperti contoh berikut ini.
Var
X : array[1..3, 1..3, 1..3] of integer;

7
Begin
X[1,1,1] := 10;
Writeln(X[1,1,1]); {output 10}
End.
Terdapat 27 elemen pada X yaitu:
X[1,1,1] , X[1,2,1] , X[1,3,1], X[1,1,2] , X[1,2,2] , X[1,3,2],
X[1,1,3] , X[1,2,3] , X[1,3,3], X[2,1,1] , X[2,2,1] , X[2,3,1],
X[2,1,2] , X[2,2,2] , X[2,3,2], X[2,1,3] , X[2,2,3] , X[2,3,3],
X[3,1,1] , X[3,2,1] , X[3,3,1], X[3,1,2] , X[3,2,2] , X[3,3,2],
X[3,1,3] , X[3,2,3] , X[3,3,3]

Dapatkah anda bayangkan array 4 dimensi, 5 dimensi, dan seterusnya?


Array dapat juga kita nyatakan pada bagian type, untuk selanjutnya kita gunakan
pada bagian var. Perhatikan contoh berikut:
Type

Matrix = array[1..3, 1..3] of real;


Var

A,B,C : Matrix;
Untuk array multidimensi terdapat cara lain untuk mengakses indeks elemen array
selain menggunakan koma yaitu menggunakan kurung siku terpisah. Misalnya:
Var

X : array[1..3, 1..4] of integer;


Begin

X[1][3] := 10;

Writeln(X[1][3]); {output 10}


End.
5. Penugasan
1) Buatlah program statistik sederhana yang memiliki fungsi input data,
menampilkan semua data, menampilkan bilangan terkecil, bilangan terbesar,

8
dan rata-rata. Fungsi-fungsi tersebut dibuat dengan menggunakan sub
program sebagaimana yang telah dipelajari sebelumnya.

Selamat datang di aplikasi statistik sederhana


Silahkan pilih menu berikut:
1. Input data
2. Tampilkan semua data
2. Tampilkan data terkecil
3. Tampilkan data terbesar
4. Tampilkan rata-rata
5. Keluar

2) Buatlah program untuk:


A. Melakukan perkalian matriks
B. Menghitung determinan matriks
C. Melakukan transpose matriks
D. Melakukan invers matriks

Anda mungkin juga menyukai