Anda di halaman 1dari 24

Array dan Record

Review
Definisi Array
Adalah sebuah peubah (variabel) yang mempunyai
struktur data yang dapat menyimpan lebih dari satu
nilai yang sejenis (tipe data yang sama), setiap elemen
diacu melalui indeksnya.
Elemen array tersusun di memori secara berurutan
(sekuensial), oleh sebab itu indeks array(larik)
haruslah tipe data yang menyatakan keterurutan,
misalnya integer atau karakter.
Elemen Array
I I
n n
d d
e e
k k
s s
A A
1 1 158
2 2 157
3 3 162
4 4 170
5 5 163
Elemen Array kosong Elemen Array yg sudah
disi nilai
A[1], A[2], A[3], A[4], A[5]
Variabel array vs variabel biasa

Variabel array Variabel biasa


Dapat menyimpan lebih Hanya dapat menyimpan satu
dari satu nilai yg sejenis nilai walaupun sejenis

Contoh: Contoh :
Deklarasi: Deklarasi:
A:array[1..5] of integer A1 : integer
A2 : integer
A3 : integer
A4 : integer
A5 : integer
Deklarasi Array

Deklarasi sebagai variable


Deklarasi sebagai konstanta
Deklarasi sebagai tipe baru
Deklarasi Array sebagai variable dalam
pascal
Array dari tipe data dasar :
DEKLARASI :
A : array[1.50] of integer
NamaMhs : array[1..10] of string
NilaiUjian : array[1..75} of real
Deklarasi Array sebagai konstanta dalam
pascal
Sebagai sebuah konstanta :
Mendefinisikan ukuran array (larik) sebagai sebuah
konstanta
DEKLARASI:
Const A: array[1..5] of char = (A, B, C, D, E )
Deklarasi Array sebagai tipe bentukan
dalam pascal
Sebagai tipe bentukan :
membuat/medefinisikan tipe dasar dengan nama sebuah tipe baru
DEKLARASI :
Type
LarikInt : array[1..100] of integer { nama tipe baru}
A:LarikInt {A adalah sebuah variable (peubah) array dg 100 elemen
dan bertipe integer}
Acuan Elemen Array(Larik)

Elemen Array diacu melalui indeksnya, Nilai Indeks harus


terdefinisi.
A[4] mengacu elemen ke 4 dari larik A
NamaMhs[2] mengacu elemen ke 2 dari larik namaMhs
A[i] mencau elemen ke-I dari larik A, asalkan nilai I sudah
terdefinisi.
Memanipulasi elemen array (larik) :
A[4] 10
NamaMhs[i] Achmad

Read(A[i])
If A[i] < 10 then
A[i] A[i] + 10
Else
.
Pemrosesan Array (Larik)

Elemen array diproses secara beruntun melalu indeks yang terurut mulai
dari elemen pertama sampai elemen terakhir.
Skema umum pemrosesan array:
PROGRAM ProsesArray

DEKLARASI:
Const max= 10
Type LarikInt : array[1..max] of integer

A : LarikInt
I: integer {indeks Array}

ALGORITMA :
For i:=1 to max do
pemrosesan terhadap A[i])
Endfor

Pemrosesan pengisian nilai, pembacaan, penulisan, komputasi, dan


manipulasi lainnya.
Pengisian Elemen Array (Larik) :
Secara Lansung :
Contoh
A[i] 10
Inisialisasi :
For I 1 to n do
A[i] I
Endfor

Dengan pembacaan (dari keyboard) :


Contoh :
For I 1 to n do
read(A[i])
Endfor
Ukuran efektif Array (Larik)
Jumlah elemen larik sudah ditentukan (statis), tapi belum
tentu semua digunakan/dipakai
Jumlah elemen yang dipakai itulah yang disebut dengan
ukuran/jumlah efektif array.
Ukuran efektif dapat dicatat di dalam peubah (variabel)
tertentu, misalnya n.
tiga cara untuk menentukan jumlah elemen
efektif dari array(Larik) :
1. Jika Jumlah elemen efektif ditentukan di awal
2. Jika Jumlah elemen efektif diketahui di akhir pembacaan
3. Jika Jumlah elemen efektif baru diketahui di akhir
pembacaan (variasi dari versi 2)
Jumlah elemen efektif ditentukan di awal

Procedure BacaLarik(Output A : LarikInt, input n :


integer)
{Mengisi elemen-elemen larik A[1..n] dengan pembacaan}
{K. Awal : n adalah jumlah elemen efektif larik, nilainya terdefinisi}
{ K. Akhir : setelah pembacaan, seluruh elemen larik A berisi nilai-nilai yang dibaca
dari piranti masukan (keyboard)}
DEKLARASI
i : integer {pencatat indeks larik }
ALGORITMA
for i 1 to n do
read(A[i])
endfor
Jumlah elemen efektif diketahui di akhir pembacaan

Setiap kali selesai pembacaan satu buah elemen, akan dilakukan konfirmasi apakah masih
ada lagi elemen larik yang akan dimasukkan, seperti statement di bawah ini :
Write(Lagi? (y/t))
JIka jawabnya y maka pembacaan dilanjutkan, jika t maka proses pembacaan dihentikan.
Jumlah elemen yang dibaca di catat di dalam suatu variabel (peubah)

Procedure BacaLarik2(Output A: Larikint, Output n: integer)


{K. Awal : sembarang}
{K. Akhir : sebanyak n buah elemen larik A berisi nilai-nilai yang dibaca; n berisi
jumlah elemen larik yang diisi}
DEKLARASI
Jawab : char
ALGORITMA
N0
Repeat
nn+1
Read(A[n])
Write(Lagi? (y/t))
Read(jawab)
Until jawab = t
Jumlah elemen efektif baru diketahui di akhir pembacaan
(variasi dari versi 2)

Proses pembacaan dianggap selesai jika nilai yang dibaca adalah suatu tanda,
misalnya 9999.
Procedure BacaLarik3(output A, LArikint, output n : integr)
{mengisi elemen-elemen larik A[1..n] dg cara pembacaan. Akhir pembacaan ditandai jika nilai yang dibaca adalah
9999}
{K.Awal : sembarang }
K. Akhit : sebanyak n buah elemen larik A berisi nilai-nilai yang dibaca; n berisi jumlah larik yang diisi.}
DEKLARASI
x : integer {menyimpan sementara nilai yang di baca}
ALGORITMA
n0
read(x)
while x 9999 do
n n +1
A[n] x
read(x)
endwhile
{x = 9999}
Kapan menggunakan Larik (array):
Untuk menyimpan sejumlah data yang bertipe sama.
Untuk menghindari penggunaan nama-nama
peubah(variabel) yang banyak.
Agar penulisan program lebih efisien dalam penulisan
kode programnya.
ARRAY DUA DIMENSI (MATRIKS)

Pengertian array dua dimensi :


Array dua dimensi dapat dipandang sebagai gabungan
array satu dimensi.
Ilustrasi :Pandanglah tiga buah array satu dimensi yang
dibuat dengan: A1[4], A2[4], A3[4] : dengan tipe data
yang sama
ARRAY DUA DIMENSI (MATRIKS)

Ketiga buah array satu dimensi di atas, dapat digabung menjadi satu, sehingga
terbentuk sebuah array yang disebut array dua dimensi, yang dapat diilustrasikan
sebagai berikut :
Bentuk Umum Array Dua Dimensi
TIPE RECORD
Sama dengan larik hanya saja pada rekaman setiap elemen bisa mempunyai
tipe data yang berbedasatu sama lain.
Sintaks:
Type pengenal = record
Field1 : tipe1;
Field2 : tipe2;
.
Fieldn : tipen;
End;
Keterangan :
pengenal adalah pengenal yg menunjukkan tipe data yg akan Dideklarasikan
field1,fieldn adalah nama variabel yang akan digunakan
tipe1,tipen adalah sembarang tipe data yg telah dideklarasikan sebelumnya

9/28/2017
RECORD
CONTOH:
Type rekam= RECORD
nim: string[10];
nama:string[20];
ip:real;
End;
larikrek= ARRAY [1..100] of rekam;
var: mhs:larikrek;

9/28/2017
RECORD
Kebanyakan pemakain record berupa larik, yaitu untuk
pemakaian dalam jumlah besar.
Pada pendeklarasian record memungkinkan suatu variabel
mempunyai banyak tipe

9/28/2017
Next
Tipe Data File

Anda mungkin juga menyukai