fbpx

Algoritma dan Pemrogaman : Konsep Array dan Cara Pendeklarasiannya

Konsep Array (Larik)

Array adalah suatu tipe data yang terdiri dari kumpulan tipe data lain. Daripada membuat 10 variabel yang terdiri dari nama1, nama2, nama3, dst, akan lebih efisien jika variabel nama ini disimpan ke dalam array.

Misalkan kita ingin membuat suatu deretan record dari mahasiswa perguruan tinggi, data tersebut dapat berjumlah ratusan-ribuan. Untuk memudahkannya, diperlukan struktur data yang memudahkan dalam mengumpulkan data yang sejenis tersebut. Sehingga data yang cocok akan seperti:

Mahasiswa[1]
Mahasiswa[2]
Mahasiswa[3]
...

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrogaman, karena array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen elemennya, dalam Pascal elemen pertamanya dimulai dari indeks 1, elemen kedua memiliki indeks 2, dan seterusnya. Dengan kata lain, array adalah variabel yang dapat menampung sejumlah data dengan tipe dan nama sama tetapi ditandai dengan suatu indeks pada masing masing elemennya.


Mendeklarasikan Variabel Array

Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe integer dapat dilakukan dengan cara :

x : array [1..10] of integer;

dengan keterangan:

  • x = Nama array
  • [1..10] = Definisi panjang array (indeks)
  • integer = Tipe data

Jadi perbedaan utama pendeklarasian variabel array dengan variabel biasa adalah adanya array + tanda kurung [ ] + tipe datanya.


Mendefinisikan Array

Dengan adanya pendefinisian panjang array (yang berada dalam [ ]), berarti Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil ukurannya setelah didefinisikan. Setelah didefinisikan , maka variabel dengan nama array dapat menyimpan sebanyak nilai yang berada dalam [ ]. Contoh yang sebelumnya , berarti terdapat 10 angka x yang bertipe integer yang dapat diakses melalui indeks 1 s.d 10.

Pada masing masing elemen x hanya menampung satu nilai integer. Setelah pendefinisian array, maka memori akan dialokasikan untuk menyimpan data dari array. Besar memori yang dialokasikan tergantung dari tipe data variabel array dan jumlah elemen array yang didefinisikan.


Perbandingan Tanpa dan Dengan Array

Misalnya kita akan menjumlahkan total nilai dari variabel tersebut tanpa array maka dapat ditulis

Total:=0;
Total:=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10;

Dan kalau memakai array

Total:=0;
for i:=1 to 10 do
  total:=total+nilai[i];

Bagaimana kalau terdapat 100 elemen? Mudah disimpulkan bahwa akan lebih ringkas dengan menggunakan array.

Array juga dapat digunakan pada loop for/while/repeat dengan menggunakan variabel indeks . Variabel penghitung harus berjenis ordinal misalnya integer atau char, sesuai dengan nilai nilai yang tercantum pada definisi array yang bersangkutan , seperti

array1 : array[1..10] of integer;
array2 : array[-20..8] of real;
array3 : array['a'..'z'] of char;

Contoh Program Array

Contoh 1

Program berikut akan menerima inputan dari user, yang kemudian inputan user tersebut akan disimpan dalam bentuk array x[i]. Proses terakhir, program akan menampilkan isi dari array x[i].

program contoharray;
uses crt;
var
  x:array[1..100] of integer;
  n,i:integer;
begin
  writeln('Ini adalah contoh program aray');
  writeln('==============================');
  writeln;
  write('Silakan input banyak data : ');readln(n);
  writeln;
  for i:=1 to n do
    readln(x[i]);
  writeln;
  write('Data yang telah dimasukkan :');
  for i:=1 to n do
    write(x[i],' ');
readln;
end.

Contoh output:

Contoh 2

Program berikut akan menerima inputan dari user, yang kemudian inputan user tersebut akan disimpan dalam bentuk array x[i]. Proses terakhir, program mencari nilai max, min, mean, standar deviasi, dan median.

program contoharraylain;
var 
    x: array [1..100] of integer;
    n,i,max,min,tot,pos:integer;
    rt,sdt,sd,md:real;
begin
    writeln('Program Array');
    writeln('=============');
    writeln;
    write('Masukkan Jumlah Data (Data harus Urut ): ');readln(n);
    writeln;
    for i:= 1 to n do
        readln(x[i]);
    writeln;
    Write('Data Yang Telah Dimasukkan : ');
    max:=x[1];
    min:=x[1];
    tot:=0;
    sdt:=0;
    for i:= 1 to n do
    begin
        write(x[i],' ');
        if (max<x[i]) then
            max:=x[i]
        else
            min:=x[i];
        tot:= tot+x[i];
    end;
    rt:=tot/n;
    for i:= 1 to n do
    begin
        sdt:=sdt+sqr(x[i]-rt);
    end;
    sd:=sqrt(sdt/(n-1));
    if (n mod 2 = 1) then
        begin
            pos:=(n div 2)+1;
            md:=x[pos];
        end
    else
        begin
            pos:=(n div 2);
            md:=(x[pos]+x[pos+1])/2;
        end;
    writeln;
    writeln('Nilai Maximal   : ',max);
    writeln('Nilai Minimal   : ',min);
    writeln('Nilai Rata Rata : ',rt:4:2);
    writeln('Standar Deviasi : ',sd:4:2);
    writeln('Median          : ',md:4:2);
end.

Contoh output:


Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Array dan Record, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up