Lompat ke konten Lompat ke sidebar Lompat ke footer

Array dalam Struktur Data

Array dalam Struktur Data


Array / Larik adalah struktur data sederhana yang dapat didefinisikan sebagai pemesanan alokasi memory sederhana pada komputer.

  • Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama.
  • Setiap elemen diakses langsung melalui indeksnya.
  • Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter.
  • Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi.
  • Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau tipe larik lain.
  • Nama lain array adalah Larik, Tabel atau Vektor.


Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

  • Terurut; dapat diartikan bahwa elemen tersebut dapat didefinisikan sebagai elemen pertama, elemen kedua dan seterusnya sampai elemen ke-n.
  • Homogen adalah bahwa setiap elemen dari sebuah Array tertentu haruslah mempunyai type data yang sama.

Sebuah array dapat mempunyai elemen yang seluruhnya berupa integer atua character atau String bahkan dapat pula terjadi suatu array mempunyai elemen berupa array.

Karakteristik Array;

  • Mempunyai batasan dari pemesanan alokasi memory (statis)
  • Mempunyai Type Data sama (homogen)
  • Dapat diakses secara acak

Cara Pendefinisian Array:

Sebagai Peubah:
Contoh:
L:array[1..50] of integer
NamaMhs: array['a'..'j'] of strings


Sebagai tipe baru:
Contoh:
type LarikInt: array[1..100] of integer
P: LarikInt


Mendefinisikan ukuran maksimum elemen larik sebagai konstanta
Contoh:
Const Nmaks=100
type LarikInt: array[1..Nmaks] of integer
P: LarikInt

Bahasa C:
#define Nmaks 100
typedef in LarikInt[Nmaks+1]
LarikInt P;


Cara Mengacu Elemen Larik

Elemen larik diacu melalui indeksnya. Nilai indek harus terdefinisi.

Contoh cara mengacu elemen larik adalah:
L[4] {mengacu elemen keempat dari larik L}
NamaMhs['b'] {mengacu elemen kedua dari larik NamaMhs}
P[k] {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi}


Meninisialiasi Larik
menginisialisasi elemen larik adalah memberikan harga awal untuk seluruh elemen larik, misalnya menginisialisasi dengan nilai 0.

Procedure InisDgn0(output A:larik, input N;integer)
{menginisialisasi setiap elemen larik A[1..N] dengan nol}
{K. Awal: N adalah banyak elemen efektif larik, nilainya terdefinisi}
{K. Akhir: seluruh elemen larik A bernilai nol}
Deklarasi:
K:integer
Deskripsi:
for k <- 1 to N do
A[k] <-0
endfor

Mengisi elemen larik dari piranti masukan
Elemen larik dapat diisi dengan nilai yang dibaca dari piranti masukan.
Procedure BacaLarik(output A:larik, input N;integer)
{mengisi elemen larik A[1..N] dengan nilai yang dibaca dari piranti masukan}
{K. Awal: N adalah banyak elemen efektif larik, nilainya terdefinisi}
{K. Akhir: seluruh elemen larik A berisi nilai-nilai yang dibaca dari piranti masukan}
Deklarasi:
K:integer
Deskripsi:
for k <- 1 to N do
read (A[k])
endfor

Larik Bertype Terstruktu

Larik tidak hanya dapat diisi data bertype tunggal, tapi dapat juga berisi data yang bertipe terstruktur.

Contoh:
const Nmaks=100
type Mahasiswa: record
<nim:integer,
nama_mhs: string,
KodeMK: string,
Nilai:char>
TabMhs: array[1..Nmaks] of Mahasiswa


Contoh cara mengacu elemen TabMhs

TabMhs[2].Nim
mengacu field Nim dari elemen kedua larik
Write(TabMhs[k].KodeMK)
menuliskan field KodeMk dari elemen ke k dari larik.