Makalah Array, Materi Tentang Array

PENDAHULUAN

Variabel bisa kita gunakan yang saat ini hanya bisa menampung satu data hanya pada satu variabel saja. Dalam banyak kasus kita akan repot menggunakan banyak variabel, sebagai contoh perhitungan nilai, jika terdapat banyak siswa, maka variabel nilai yang dibutuhkan disesuaikan dengan banyaknya siswa. Maka dilihat dari kasus diatas, maka dengan array, kita bisa mendeklarasikan nilai.
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama.  Komponen-komponen tersebut disebut sebagai komponen type, array mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam array ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subscript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange.  Tipe array mengartikan isi dari aray atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.



PEMBAHASAN

A.    PENGERTIAN ARRAY
Menurut definisinya, array (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data yang sama). Hal ini tentu berbeda dengan variable biasa yang hanya mampu menampung satu buah nilai. Setiap nilai yang disimpan di dalam array di sebut dengan elemen array, sedangkan nilai urut yang digunakan untuk mengakses elemennya disebut dengan indeks array.
B.     DEKLARASI ARRAY
Sama seperti variable lain, array juga dideklarasikan di dalam bagian deklarasi variable. Bila akan didefinisikan sebagai tipe bentukan, maka array juga akan dideklarasikan di bagian definisi tipe (dibawah kata kunci tipe). Dalam bahasa pascal, pendeklaraasian array dilakukan dengan menggunakan kata kunci array dan tipe data yang akan disimpan di dalamnya, selain itu juga harus disertai dengan batas-batas indeksnya yang diapit oleh tanda bracket([]). Berikut ini bentuk umum pendeklarasiannya.

NamaArray : array [IndeksArray..IndeksAkhir] of tipe_data;

Sebagai contoh, apabila kita ingin mendeklarasikan array dengan nama A yang berisi 10 buah elemen bertipe integer, maka kita harus mendeklarasikannya dengan cara berikut.

Var
A : array [1..10] of integer;

Pada kode tersebut, indeks awal dimulai dari satu. Perlu diperhatikan bahwa bahasa pascal berbeda dengan bahasa C yang indeks array-nya selalu dimulai dari nol. Pada bahasa pascal, indeks array dapat dimulai dari bilangan berapapun. Selain itu, indeks array juga dapat bertipe karakter maupun tipe enumerasi. Berikut ini contoh-contoh kode yang dapat digunakan untuk mendeklarasikan 10 buah elemen array bertipe integer sebagai pengganti kode diatas.

Var
A1: array[0..9] of integer;

A2: array[5..15] of integer;

A3: array[‘a’..’j’] of integer;

A4: array[‘A’..’J’] of integer;

Dalam bahasa pascal, tersedia dua buah fungsi yang dapat digunakan untuk mengambil indek terendah dan tertinggi dari sebuah array, yaitu fungsi Low dan High. Adapun parameter dari kedua fungsi tersebut adalah nama array yang akan dicari indeknya. Perhatikan contoh kode berikut.

Var
A: array[1..100] of integer;

Terendah, tertinggi: integer;

Begin
Terendah:= low(A); {akan menghasilkan nilai 1}
Tertinggi:= high(A); {akan menghasilkan nilai 100}

End
.
C.    MENGAKSES ELEMEN ARRAY
Cara untuk memanipulasi array, langkah pertama yang harus dilakukan adalah mengisikan nilai ke dalam elemen-elemen array bersangkutan. Adapun bentuk umum untuk pengisian eleman array adalah sebagai berikut.

NamaArray[indeks]:= nilai;

Untuk lebih memahaminya, coba anda perhatikan terlebih dahulu contoh kode di bawah ini.

Var
A: array[1..100] of integer;

Begin
A[1]:= 1; {mengisi elemen pertama dengan nilai 1}
A[2]:= 2; {mengisi elemen kedua dengan nilai 2}
A[3]:= 3; {mengisi elemen ketiga dengan nilai 3}
            ……..
A[100]:= 100; {mengisi elemen keseratus dengan nilai 100}
End.

Kode tersebut akan melakukan pengisian 100 elemen array dengan nilai 1 sampai 100 sehingga kode tersebut akan lebih sederhana apabila dituliskan dengan menggunakan struktur pengulangan seperti yang terlihat pada kode berikut.
Var
A: array[1..100] of integer;
I: integer;

Begin
For i:=1 to 100 do begin
A[i]:= I ;
End;
End.

D.    MENGAPA HARUS MENGGUNAKAN ARRAY
Mungkin anda yang merupakan pemula akan bertanya mengapa kita perlu untuk mendeklarasikan array? untuk menjawab pertanyaan tersebut, coba Anda perhatikan dulu contoh kasus berikut. Apabila kita akan membuat program untuk menyimpan sekumpulan data, misalnya data-data hasil penelitian yang berupa bilangan, dimana jumlah dari data tersebut puluhan, ratusan, atau bahkan ribuan, apakah anda akan menggunakan variable sebanyak data yang ada? Jawabanya tentu tidak, karena hal tersebut merupakan hal yang sangat tidak efisien. Sebagai contoh, asumsikan bahwa banyak data tersebut adalah sepuluh, maka apabila kita menggunakan variabel biasa tentu kita akan menuliskannya melalui contoh kode berikut.

Var
N1, n2, n3, n4, n5, n6, n7, n8, n9, n10: real;

Begin
Writeln(‘masukkan data ke-1 : ‘); readln(n1);
Writeln(‘masukkan data ke-2 : ‘); readln(n2);
Writeln(‘masukkan data ke-3 : ‘); readln(n3);
Writeln(‘masukkan data ke-4 : ‘); readln(n4);
Writeln(‘masukkan data ke-5 : ‘); readln(n5);
Writeln(‘masukkan data ke-6 : ‘); readln(n6);
Writeln(‘masukkan data ke-7 : ‘); readln(n7);
Writeln(‘masukkan data ke-8 : ‘); readln(n8);
Writeln(‘masukkan data ke-9 : ‘); readln(n9);
Writeln(‘masukkan data ke-10 : ‘); readln(n10);
End.

Hal ini tentu akan merepotkan diri kita. Apabila dilihat, program di atas memang masih pendek karena datanya hanya sepuluh, bagaimana bila ratusan atau bahkan ribuan?
Untuk mengatasi masalah ini, seharusnya kita menggunakan array untuk menyimpan data-data tersebut sehingga program akan jauh lebih sederhana dan mudah dalam pengerjaannya. Berikut iini perbaikan program diataas apabila kita menampung data-datanya kedalam sebuah array..

Const max= 10;
N: array[1..max] of real;
I: integer;

Begin
For i:=1 to max do
Writeln(‘masukkan data ke-‘, I,’ : ‘); readln(n[i]);
End.

Apabila ternyata data berjumlah 100 atau 1000, maka anda hanya perlu mengganti nilai dari konstanta max di atas dengan nilai yang sesuai. Alasan seperti inilah yang menyebabkan kita perlu menggunakan array.
Contoh program:
{author: Noor Fitriana, S1 Ilmu Komputer 2008}

Program rata2;
uses wincrt;
const max=100;
var
nilai : array[1..max] of integer;
jml, rata: real;
n,i:integer;
begin
writeln(’*****************WELCOME***************’);
writeln(’***program untuk mencari rata-rata ***’);
writeln(’**************************************’);
writeln;
writeln(’TEKAN ENTER UNTUK MENAMPILKAN DATA!’);
readln;
write(’Masukkan jumlah nilai yang di masukkan: ‘); readln(n);
writeln;
for i:=1 to n do begin
write(’nilai ke-’,i:2,’: ‘); readln(nilai[i]);
end;
jml:=0;
for i:=1 to n do
jml:=jml+nilai[i];
rata:=jml/n;
writeln;
writeln(’—————————’);
writeln(’Jumlah    = ‘,jml:9:2);
writeln(’Rata-rata = ‘,rata:9:2);
writeln(’—————————’);
readln;
end.

E.     ARRAY DIMENSI SATU
·         Mendeklarasikan Array Dimensi Satu
Bentuk deklarasi Array Dimensi Satu, seperti dibawah ini :
Var
nama_variabel : Array[ index ] Of Tipe_Data;
Contoh :
Var
Nilai : Array[1..10] Of Integer;
Pada contoh Array dengan nama Nilai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 10 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.
Memberikan Nilai ke Array Dimensi Satu
Untuk memberikan nilai kedalam variabel array berdimensi satu, nama variabel diikuti dengan index yang berada didalam kurung siku. Seperti contoh dibawah ini :
Nilai[1] := 75;
Nilai[2] := 85;
Nilai[3] := 74;
...
...
dan seterusnya
·         Contoh Program
PROGRAM PENGGUNAAN_ARRAY_DIMENSI_SATU; 
Uses Crt;
VAR
A, N, Jml_Nilai : Integer;
Nilai : ARRAY[1..10] Of Integer;
Nil_Rata : Real;
BEGIN
ClrScr;
WriteLn('Program Latihan Array');
WriteLn('=====================');
WriteLn;
{Memasukan Nilai}
Write('Masukan Banyak Data : ');
ReadLn(N);
FOR A := 1 TO N DO
Begin
Write('Nilai Ke- ',A,' = ');
ReadLn(Nilai[A]);
End;
{Membaca Nilai Array}
Nil_Rata := 0;
Jml_Nilai := 0;
FOR A := 1 TO N DO
Begin
Jml_Nilai := Jml_Nilai + Nilai[A];
Write('Nilai Ke- ',A,' = ',Nilai[A]);
End;
Nil_Rata := Jml_Nilai / N;
WriteLn('---------------------');
WriteLn('Jumlah Nilai    : ',Jml_Nilai);
WriteLn('Nilai Rata-Rata : ',Nil_Rata:5:2);
ReadLn;
END.


F.     ARRAY DUA DIMENSI
Array 2 dimensi dapat di gambarkan sebagai berikut :
Pendeklarasian Array 2 dimensi
var
arrayName: array[1..x, 1..y] of element-type;
Contoh Program
program Khasus2;
var
   data  : array [1..3,1..3] of string[30]; // asumsikan semua sebagai string
   i,j : integer;
begin
   data[1,1] := 'Yoshimori Sumimura';
   data[1,2] := 'Kyoto';
   data[1,3] := '15';  // mengisi array data di baris 1 kolom3 dengan kota
   data[2,1] := 'Fujisaki Yuushuke'; // mengisi array data di baris 2 kolom1 dengan   
                                    nama
   data[2,2] := 'Tokyo';
   data[2,3] := '17';
   data[3,1] := 'Gen Shishio';
   data[3,2] := 'Okinawa'; // mengisi array data di baris 3 kolom 2 dengan kota
   data[3,3] := '16';
   For j := 1 to 3 do // perulangan baris array
   Begin
       For i := 1 to 3 do // perulangan kolom array

       Begin
        writeln('isi data di baris ', j ,' kolom ', i ,' : ', data[j,i]);  // menampilkan  
            array baris ke j kolom ke i
       End;
       writeln(' ');
   End;
end.

Hasilnya
isi data di baris 1 kolom 1 : Yoshimori Sumimura
isi data di baris 1 kolom 2 : Kyoto
isi data di baris 1 kolom 3 : 15
isi data di baris 2 kolom 1 : Fujisaki Yuushuke
isi data di baris 2 kolom 2 : Tokyo
isi data di baris 2 kolom 3 : 17
isi data di baris 3 kolom 1 : Gen Shishio
isi data di baris 3 kolom 2 : Okinawa
isi data di baris 3 kolom 3 : 16



KESIMPULAN

Array (larik) adalah sebuah variable yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data yang sama).  Bila akan didefinisikan sebagai tipe bentukan, maka array juga akan dideklarasikan di bagian definisi tipe (dibawah kata kunci tipe). Dalam bahasa pascal, pendeklaraasian array dilakukan dengan menggunakan kata kunci array dan tipe data yang akan disimpan di dalamnya, selain itu juga harus disertai dengan batas-batas indeksnya yang diapit oleh tanda bracket([]).
Array digunakan untuk mempermudah dalam penulisan syntax program pascal, array dapat menyimpan data sehingga bisa menyederhanakan dan mengefektifkan syntax pascal. Array dibedakan menjadi dua yaitu, Array Satu Dimensi dan Array Dua Dimensi. Setiap jenis array mempunyai kegunaannya masing-masing.
                                                   









Post a Comment

0 Comments