2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan...

30
1 2. ARRAY (LARIK) 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks tersebut haruslah tipe data yang mempunyai keterurutan, misalnya integer atau karakter. Nama lain array adalah larik, tabel, atau vektor.

Transcript of 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan...

Page 1: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

1

2. ARRAY (LARIK) 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama.

Setiap elemen diakses langsung melalui indeksnya. Indeks tersebut haruslah tipe data yang mempunyai keterurutan, misalnya integer atau karakter.

Nama lain array adalah larik, tabel, atau vektor.

Page 2: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

2

2.2. Cara Pendefinisian Array

Array adalah struktur data statik, artinya jumlah elemen

larik harus sudah diketahui sebelum program

dieksekusi.

Mendefinisikan array pada bagian deklarasi adalah :

Mendefinisikan banyaknya elemen array

Mendefinisikan tipe elemen array

Cara pendefinisian array pada bagian deklarasi

Dapat dilakukan dengan cara sebagai berikut :

Page 3: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

3

a. Sebagai Peubah (Variabel)

Contoh :

Misalkan L adalah nama peubah array yang

mempunyai 100 elemen yang bertipe integer,

maka dapat dituliskan :

{Deklarasi}

var

L : array[1..100] of integer;

Page 4: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

4

b. Sebagai Tipe Baru

Misalkan LarikInt didefinisikan sebagai sebuah tipe baru untuk array yang bertipe integer. Banyak elemen array 100 buah elemen, maka dapat ditulis sebagai berikut :

{Deklarasi}

type

LarikInt : array[1..100] of integer;

var

P : LarikInt;

Page 5: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

5

c. Mendefinisikan Ukuran Maksimum

Elemen Array Sebagai Sebuah Konstanta

Misalkan LarikInt didefinisikan sebagai nama

sebuah tipe baru untuk array yang bertipe

integer. Banyak elemen maksimum 100 elemen. P

adalah array bertipe integer

{Deklarasi}

const Nmaks = 100;

type LarikInt : array[1..Nmaks] of integer;

var

P : LarikInt;

Page 6: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

6

2.3. Cara Mengacu Elemen Array

Elemen Array diacu melaui indeksnya. Nilai Indeks

harus terdefinisi.

Contoh cara mengacu elemen array :

L[5]

P[k], asalkan k telah terdefinisi

Contoh menggunakan elemen array :

L[4] :=10;

read(P[k]);

if HargaBarang[t]<1000 then

writeln(‘Harga Murah’)

else

writeln(‘Harga Mahal’);

Page 7: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

7

2.4. Pemrosesan Array

Pemrosesan beruntun pada array adalah

pemrosesan mulai dari elemen pertama array

(yaitu elemen indeks terkecil, berturut-turut

elemen berikutnya, sampai elemen terakhir

dicapai, yaitu elemen dengan indeks terbesar)

Skema umum algoritma memproses array (disebut

juga skema mengunjungi/traversal array) adalah :

Page 8: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

8

Algoritma_skema_umum_pemrosesan_array

{ Memproses setiap elemen array secara beruntun,

mulai dari indeks terkecil sampai indeks

terbesar}

{Deklarasi}

const Nmaks = 100 {banyaknya elemen array}

type LarikInt : array[1..Nmaks] of integer

var

A : LarikInt

k : integer {indeks array}

Page 9: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

9

{Deskripsi}

Inisialisasi {Pemberian nilai awal}

k ← 1 {mulai dari elemen pertama}

while k ≤ Nmaks do

Pemrosesan terhadap A[k]

k ← k + 1 {tinjau elemen berikutnya}

endwhile

{akhir pengulangan k > Nmaks}

Terminasi {Penulisan hasil}

Page 10: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

10

Atau dapat juga menggunakan struktur for..do :

{Deskripsi}

Inisialisasi {Pemberian nilai awal}

for k ←1 to Nmaks do

Pemrosesan terhadap A[k]

endfor

Terminasi {Penulisan hasil}

Page 11: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

11

2.4.1. Jumlah Elemen Efektif Array

Bila sebuah array A didefinisikan 100 elemen,

mungkin tidak seluruh seratus elemen yang

dipakai. Banyaknya elemen array yang

dipakai disebut jumlah elemen efektif

Jumlah elemen efektif disimpan dalam nama

peubah tertentu misalnya N

Page 12: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

12

2.4.2. Array Bertipe Terstruktur

Elemen array dapat juga bertipe terstruktur.

Misalkan TabMhs adalah sebuah array yang

elemennya menyatakan nilai ujian seorang

mahasiswa untuk suatu mata kuliah (MK)

yang ia ambil.

Data setiap mahasiswa adalah NIM (Nomor Induk

Mahasiswa), Nama Mahasiswa, Mata Kuliah

yang diambil dan Nilai Mata Kuliah Tersebut.

Page 13: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

13

Maka Pendefinisiannya adalah sbb :

{Deklarasi}

const Nmaks = 100

type Mahasiswa = record

<NIM : String

NamaMhs : String

KodeMK : String

Nilai : char

>

TabMhs : array[1..Nmaks] of Mahasiswa

Page 14: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

14

Cara Mengacu Elemen TabMhs Contoh cara mengacu elemen :

1. Elemen Kedua dari TabMhs

TabMhs[2]

2. Mengacu field NIM dari elemen kedua Array

TabMhs[2].NIM

3. Mengacu field KodeMK dari elemen kedua array

TabMhs[2].KodeMK

Karena record merupakan tipe terstruktur, pencetakan

elemen tidak dapat dilakukan dengan bentuk sebagai

berikut :

write(TabMhs[k])

Page 15: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

15

Tapi harus dengan cara sebagai berikut :

write(TabMhs[k].NIM, TabMhs[k].NamaMhs, TabMhs[k].KodeMK, TabMhs[k].Nilai)

Namun pengisian nilai elemen ke elemen berikutnya

Dengan penulisan berikut adalah benar :

TabMhs[k] ←TabMhs[k+1]

Bentuk tersebut sama dengan pengisian perfield Sbb :

TabMhs[k].NIM ← TabMhs[k+1].NIM

TabMhs[k].NamaMhs ← TabMhs[k+1].NamaMhs

TabMhs[k].KodeMK ← TabMhs[k+1].KodeMK

TabMhs[k].Nilai ← TabMhs[k+1].Nilai

Page 16: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

16

2.4.3. Menginisialisasi Array

Menginisialisasi array adalah memberikan harga awal untuk seluruh elemen array. Inisialisasi elemen array misalnya mengosongkan elemen array sebelum dipakai untuk proses tertentu.

Menginisialisasi array bertipe numerik dapat berupa pengisian elemen array dengan nol sedangkan pada array karakter berarti mengisi elemen array dengan spasi atau karakter kosong

Page 17: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

17

a. Menginisialisasi Elemen Array dengan 0 (nol)

Procedure Inisialisasi(output A : LarikInt, input N : integer)

{K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi

K. Akhir : Seluruh elemen array A bernilai 0

Proses : Menginisialisasi setiap elemen array A[1..N] dengan 0 }

{Deklarasi}

k : integer {pencatat indeks array}

{Deskripsi}

for k ←1 to N do

A[k] ← 0

endfor

Page 18: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

18

b. Menginisialisasi Elemen Array masing-masing dengan 1,2,3,…N

Procedure Inisialisasi(output A : LarikInt, input N : integer)

{K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi

K. Akhir : Seluruh elemen array A bernilai k

Proses : Menginisialisasi setiap elemen array A[1..N] dengan 1,2,3…N }

{Deklarasi}

k : integer {pencatat indeks array}

{Deskripsi}

for k ←1 to N do

A[k] ← k

endfor

Page 19: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

19

2.4.4. Mengisi Elemen Array dari

Piranti Masukan Procedure Baca(output A : LarikInt, input N : integer)

{K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi

K. Akhir : Seluruh elemen array A berisi nilai yang dibaca.

Proses : Mengisi setiap elemen array A[1..N] dengan nilai yang dibaca dari piranti masukan }

{Deklarasi}

k : integer {pencatat indeks array}

{Deskripsi}

for k ←1 to N do

read(A[k])

endfor

Page 20: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

20

2.4.5. Menulis Elemen Array Ke

Piranti Keluaran Procedure Tulis(input A : LarikInt, input N : integer)

{K. Awal : N adalah jumlah elemen efektif array, misalnya sudah terdefinisi

K. Akhir : Seluruh elemen array A telah tercetak.

Proses : Mencetak setiap elemen array A[1..N] ke piranti keluaran }

{Deklarasi}

k : integer {pencatat indeks array}

{Deskripsi}

for k ←1 to N do

write(A[k])

endfor

Page 21: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

21

Menghitung Nilai Rata-rata

Procedure HitungRata(input A : LarikInt ,

input N : integer, output u : real)

{K. Awal : N adalah jumlah elemen efektif

array, misalnya sudah terdefinisi

K. Akhir : U berisi rata-rata elemen array

Proses : Menghitung rata-rata elemen

array A[1..N] }

Page 22: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

22

Mencari Nilai Maksimum Array

Procedure CariMaks(input A : LarikInt ,

input N : integer, output Maks : integer)

{K. Awal : N adalah jumlah elemen efektif

array, misalnya sudah terdefinisi

K. Akhir : Maks berisi elemen array yang maksimum

Proses : Mencari elemen array A[1..N] yang

maksimum }

Page 23: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

23

Mencari Nilai Minimum Array

Procedure CariMin(input A : LarikInt ,

input N : integer, output Min : integer)

{K. Awal : N adalah jumlah elemen efektif

array, misalnya sudah terdefinisi

K. Akhir : Min berisi elemen array yang minimum

Proses : Mencari elemen array A[1..N] yang

minimum }

Page 24: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

24

Contoh-contoh yg lebih kompleks

Misalkan akan disimpan data nilai-nilai mata kuliah

mahasiswa pada sebuah array bernama

TabMhs dengan field mahasiswa terdiri dari

NIM, NamaMHs, dan MataKuliah. Mata

kuliah yang diambil mempunyai field

KodeMk, NamaMK, dan Nilai.

Maka Algoritmanya adalah sebagai berikut :

Page 25: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

25

Algoritma Baca_Array_Mahasiswa

{ Mengisi elemen array mahasiswa dengan data

yang dibaca ari piranti masukan }

{ Deklarasi}

const Nmaks = 100

type MataKuliah = record

<KodeMK : String,

NamaMK : String,

Nilai : Char >

Page 26: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

26

type Mahasiswa = record

<NIM : String,

NamaMhs : String,

MK : array[1..4] of MataKuliah >

TabMhs : array[1..Nmaks] of Mahasiswa

i, j : integer

N : integer

{Deskripsi}

Page 27: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

27

read(N)

for i ← 1 to N do

read(TabMhs[i].NIM)

read(TabMhs[i].NamaMhs)

for j ← 1 to 4 do

read(TabMhs[i].MK[j].KodeMK)

read(TabMhs[i].MK[j].NamaMK)

read(TabMhs[i].MK[j].Nilai)

endfor

endfor

Page 28: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

28

Soal-soal

1. Dalam rangka ulang tahun sebuah toserba

memberikan diskon sebesar 15% untuk seluruh

barang. Misalkan data Kode Barang dan Harga

Jual Barang tersebut telah diisikan ke dalam array

HargaJual. HargaJual bertipe LarikBarang.

Buatlah pendefinisian permasalahan tersebut

pada bagian deklarasi dan buatlah prosedur

untuk menurunkan harga barang tersebut.

Page 29: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

29

2. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Buatlah prosedur untuk mencari elemen X dalam array yang keluarannya adalah indeks dari tempat elemen X ditemukan

3. Diberikan sebuah array integer A yang berukuran N elemen. Array A sudah terdefinisi elemen-elemennya. Buatlah prosedur untuk menghitung banyaknya elemen ganjil dalam array yang keluarannya adalah banyaknya elemen ganjil yang ditemukan.

Page 30: 2.1. Pengertian Array · 2.1. Pengertian Array Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks

30

4. Diberikan sebuah array integer A yang

berukuran N elemen. Array A sudah terdefinisi

elemen-elemennya. Buatlah fungsi untuk

mengirimkan banyaknya elemen array.

5. Diberikan sebuah array integer A yang

berukuran N elemen. Array A sudah terdefinisi

elemen-elemennya. Buatlah fungsi untuk

menghitung jumlah elemen array.