Minggu, 03 Maret 2019

Pengertian Tipe Data Array Pascal

Pengertian dan Cara Penggunaan Tipe Data Array Pascal

 

Pengertian Tipe Data Array Pascal


Tipe data array adalah tipe data bentukan 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.
Sebagai contoh, perhatikan kode program berikut ini:
program tipe_array;
uses crt;
var
  nilai1, nilai2, nilai3, nilai4: integer;
begin
  clrscr;
  
  nilai1:= 23;
  nilai2:= 13;
  nilai3:= 98;
  nilai4:= 106;
  
  writeln('nilai1: ',nilai1);
  writeln('nilai2: ',nilai2);
  writeln('nilai3: ',nilai3);
  writeln('nilai4: ',nilai4);
  
  readln;
end.

Dalam contoh tersebut kita membuat 4 variabel: nilai1, nilai2, nilai3 dan nilai4. Keempat variabel ini bertipe integer.
Tidak ada yang salah dari kode program diatas. Tapi bayangkan apabila kita ingin menyimpan lebih dari 4 nilai, bagaimana jika 10 atau 100 nilai? Tentu tidak efisien jika kita harus membuat variabel nilai1, nilai2, nilai3… sampai dengan nilai100. Untuk hal inilah tipe data array lebih cocok digunakan.

 

Cara Penggunaan Tipe Data Array Pascal

Untuk membuat tipe data array di pascal, kita harus menentukan seberapa banyak element array yang ingin dibuat. Element adalah sebutan untuk ‘anggota’ / isi dari array. Sebagai contoh, untuk membuat 10 element array bertipe integer kita bisa menggunakan kode berikut:
var
nilai: array[0..9] of integer;

Sekarang, variabel ‘nilai’ berisi array dengan 10 element bertipe integer. Perhatikan angka 0..9, ini berarti kita membuat element array dari element 0, element 1, element 2, element 3,.. hingga element 9 (total terdapat 10 element).
Bagaimana cara mengakses element ini? kita bisa mengaksesnya melalui nomor index. Index adalah urutan element di dalam sebuah array. Sebagai contoh, untuk mengakses element ke – 2, kita bisa menulis: nilai[2]. Untuk mengakses element ke-6, bisa menggunakan: nilai[6].
Berikut contoh kode program pascal cara penggunaan tipe data array:

program tipe_array;
uses crt;
var
  nilai: array[0..9] of integer;
    begin
  clrscr;
  nilai[0]:= 23;
  nilai[1]:= 13;
  nilai[2]:= 98;
  nilai[3]:= 106;
  writeln('nilai0: ',nilai[0]);
  writeln('nilai1: ',nilai[1]);
  writeln('nilai2: ',nilai[2]);
  writeln('nilai3: ',nilai[3]);
  
  readln;
end.

 

Pada contoh diatas, kita membuat variabel ‘nilai’ sebagai array yang berisi 10 element integer. Di dalam variabel ‘nilai’ ini, index array dimulai dari 0 hingga 9, karena kita menulisnya dengan array[0..9] of integer. Jika anda ingin membuat 100 element array, bisa menulisnya sebagai array[0..99] of integer.
Walaupun kita membuat 10 element, tapi kita tidak harus mengisi semua element ini. Pada contoh tersebut, kita hanya mengisi 4 element. Bagaimana dengan element lainnya? ini akan menggunakan nilai default (bawaan) pascal, biasanya berisi angka 0 untuk tipe data integer.
Selain itu, kita juga tidak harus mengisinya secara berurutan. Kita bisa mengisi element element array ini secara acak, selama masih dalam batas yang ditetapkan. Berikut contohnya:

program tipe_array;
uses crt;
var
  nilai: array[0..9] of integer;
  begin
  clrscr;
  nilai[3]:= 23;
  nilai[9]:= 13;
  nilai[2]:= 98;
  nilai[0]:= 106;
  writeln('nilai3: ',nilai[3]);
  writeln('nilai9: ',nilai[9]);
  writeln('nilai2: ',nilai[2]);
  writeln('nilai0: ',nilai[0]);
  writeln('nilai1: ',nilai[1]);
  writeln('nilai7: ',nilai[7]);
  readln;
end.


Kali ini kita mengisi element secara acak, dan juga kita menampilkan element nilai[1] dan nilai[7] yang memang tidak diisi dengan nilai. Hasilnya? pascal akan menggunakan nilai default: 0.
Bagaimana jika kita melewati batas element array? Misalnya kita mengakses element ke 10? Pascal akan meneluarkan error: Range check error while evaluating constants.


Kita tidak hanya bisa membuat array bertipe integer saja, tapi juga bisa menggunakan tipe lain seperti real, char atau string. Berikut contohnya:

program tipe_array;
uses crt;
var
  kata: array[20..29] of string[20];
begin
  clrscr;
  kata[24]:= 'Sedang ';
  kata[25]:= 'belajar pascal ';
  kata[26]:= 'di ';
  kata[27]:= 'Duniailkom.com';
  write(kata[24]);
  write(kata[25]);
  write(kata[26]);
  write(kata[27]);
  readln;
end.


Kita membuat variabel kata dengan array berjumlah 10 element yang masing-masing isinya adalah string[20].
Anda bisa lihat bahwa kita menggunakan penomoran array mulai dari 20 hingga 29. Ini tidak menjadi masalah, selama kita juga mengaksesnya dengan index yang sesuai. Berikut hasil yang didapat :


·         Keunggulan dari Array
  1. Sangat cocok untuk pengaksesan acak atau random.
  2. Jika berada di suatu lokasi element, sangat mudah menelusuri ke element tetangga, baik element pendahulu maupun element penerus.
  3. Jika element array adalah nilai-nilai independen dan seluruhnya harus terjaga.
·         Kelemahan dari Array
  1. Bersifat Homogen.
  2. Kebanyakan bahasa pemograman meng-implementasikan array static yang sulit di ubah ukurannya di waktu eksekusi.
·         Jenis-Jenis Array
  1. One Dimensional Array ( Dimensi 1)
Deklarasi Array Dimensi 1

var nama_array : array [batas bawah indeks..batas atas indeks] of type_data;

  1. Two Dimensional Array ( Dimensi 2)
Deklarasi Array Dimensi 2

var nama_array : array [batas bawah indeks baris..batas atas indeks baris, batas bawah indeks kolom..batas atas indeks kolom] of type_data;

  1. Multi Dimensional Array ( Dimensi Banyak)

Berikut adalah contoh source kode array dalam program turbo pascal.

Program Data_mahasiswa;
uses crt;
var
   nama :array[1..10]of string[20];
   NPM:array[1..10]of string[20];
   alamat:array[1..20]of string[30];
   i,j :integer;

begin
clrscr;
   write('Masukkan Jumlah Data Mahasiswa :'); readln(j);
   for i:=1 to j do


begin
       writeln('Data ke-',i);
       write('Nama Mahasiswa :'); readln(nama[i]);
       write('Masukkan NPM :'); readln(NPM[i]);
       write('Alamat :'); readln(alamat[i]);
end;

clrscr;
       writeln('*******************************************************************************');
       writeln('No. |     Nama Mahasiswa        |         NPM         |         Alamat        |');
       writeln('*******************************************************************************');

   for i:= 1 to j do
begin
       writeln(i:1, nama[i]:20, NPM[i]:25, alamat[i]:25);
end;
       writeln('*******************************************************************************');
readln;
end.



Dari syntax tersebut jika di RUN akan menghasilkan Input sebagai berikut :

 
Dan Outputnya adalah :