Rabu, 24 Oktober 2012

Program Pascal Menggunakan Array


1. Definisi

     Array adalah koleksi data yang tipenya sama, tersusun dalam bentuk barisan linier berurutan (sequence) dan jumlah elemen atau datanya tidak berubah (statis) sesuai dengan deklarasi awal. Semua elemen array diidentifikasi dengan sebuah nama (nama array) dan untuk setiap elemennya diidentifikasi/dibedakan dengan sebuah index.


2. Deklarasi

     Bentuk umum deklarasi array adalah:
type tipe_array = array [range_index] of ipe_data;
var var_array : tipe_array; (1.1)
     Atau dapat langsung dituliskan sebagai berikut:
var var_array = array [range_index] of tipe_data; (1.1)
var_array adalah nama variabel array yang dipakai untuk mengidentifikasi array. Pemilihan nama variabel array mengikuti aturan pemberian nama variabel secara umum.
     Range_index adalah batasan index yang digunakan untuk mengidentifikasi elemen array. Range_index menentukan jumlah elemen array, yang jumlahnya tidak akan berubah (statis) mulai saat awal disediakan (program dijalankan) hingga program selesai dijalankan. Misalnya range 0..9 atau 1..10 atau –1..8 atau ‘A’..’J’ akan menentukan jumlah elemen array sebanyak 10 buah.
Setiap elemen array diidentifikasi oleh salah satu index yang berada dalam range yang telah ditentukan. Penggunaan index yang berada di luar range Index akan mengakibatkan kesalah, Index ini tidak harus berupa bilangan positif, tetapi harus berupa bilangan bulat atau data-data yang masuk kategori tipe data ordinal (seluruh tipe data dasar selain real dan double), seperti semua varian integer, char, boolean atau tipe data enumerasi yang dibuat sendiri oleh user.
    Tipe_data adalah tipe data untuk elemen array. Tipe data elemen array tidak harus berupa integer, atau tipe data dasar yang lain, tetapi dapat berupa tipe data terstruktur seperti array.
Tentang pemilihan model deklarasi, model deklarasi dengan membuat sebuah tipe array seperti model (1.1) akan lebih jelas dan lebih ringkas yang dapat dirasakan saat variabel-variabel bertipe array digunakan sebagai parameter sebuah fungsi atau prosedur.
      Berikut ini contoh array A dengan 10 buah elemen tiap elemen memiliki nilai antara 10 hingga 100.
A[1]A[2]A[3]A[4]A[5]A[6]A[7]A[8]A[9]A[10]
12345678910
102030405060708090100
Deklarasi Array.
Array dideklarasikan pada bagian deklarasi. Deklarasi umum dari array adalah
NamaArray : array[IndeksAwal..IndeksAkhir] of tipe_data;
Contoh: Jika akan mendeklarasikan viriabel A sebagai Array dengan 10 elemen bertipe integer :
Var
A: array [1..10] of Integer;
Contoh lain:
A1: array[0..9] of Integer;
A1: array[10..20] of Integer;
A1: array[‘a’..’j’] of Integer;
Mengakses elemen Array
Untuk memberikan nilai pada variabel array dapat dengan menggunakan parameter berikut :
NamaArray [indeks]:=nilai;

3. Operasi Pada Array

- Operasi Memasukkan dan Mengambil Nilai
      Bila array sudah dideklarasikan dan sudah diberi suatu nama, maka dapat dimanfaatkan sesuai fungsinya sebagai objek data. Operasi memasukkan nilai adalah operasi untuk memasukkan nilai data ke dalam elemen-elemen array. Biasanya hal ini dilakukan dengan operasi penugasan (assignment) dengan objek array terletak sebagai operan di sebelah kiri tanda ‘:=’.
Sedangkan operasi mengambil nilai adalah operasi untuk mendapatkan/membaca nilai dari suatu array. Hal dini dilakukan ketika menggunakan array sebagai operan nada suatu operasi atau sebagai parameter sebuah fungsi/prosedur.
- Operasi Mengakses Array
     Operasi mengakses suatu objek data merupakan nama yang lebih umum daripada operasi memasukkan nilai ataupun membaca nilai. Jadi, operasi mengakses array dapat berupa memasukkan nilai atau membaca nilai array. Operasi ini dapat dilakukan pada array secara keseluruhan ataupun pada suatu elemen tertentu.
- Mengakses Elemen Array Secara Acak/Random
     Setiap elemen array dapat diperlakukan secara individual terlepas dari elemen-elemen lainnya. Misalnya dalam hal memasukkan data, nilai[7] dapat dimasukkan lebih dulu daripada elemen lainnya.meskipun akhirnya semua elemen array akan diakses, namun tidak aturan yang pasti tentang urutan mengaksesnya. Kita bisa saja mengakses nilai[5] tanpa mengakses komponen array lainnya.
- Mengakses Elemen Array Secara Sequensial (Berurutan)
     Struktur array yang elemen-elemennya tersusun secara berurutan, memungkinkan kita mengakses sebagian atau seluruh elemen array secara berurutan.
Untuk proses mengunjungi elemen array (traversal of array) secara berurutan dapat dilakukan dengan proses looping (perulangan). Pada model-model di atas, elemen-elemen array diakses secara berurutan dengan selisih satu index. Jadi elemen ke-6 akan diakses sebelum atau sesudah elemen ke-5 ataupun ke-7. Pergeseran index dilakukan dengan menambah atau mengurangi index sebelumnya dengan 1. Kita juga dapat membuat model yang lain dengan mengubah selisih indexnya. Misalkan menjadi 2, 3, atau berapa saja sesuai keperluan, asalkan selalu berada pada range index.
- Mengakses Array Secara Keseluruhan
      Selain mengakses komponen array, kita juga dapat mengakses array secara keseluruhan yang akan mempengaruhi semua elemennya sekaligus. Misalkan A dan B adalah dua buah variabel array yang tipenya sama, dan jumlah elemennya juga sama, maka dalam Pascal dapat dilakukan operasi penugasan A := B yang berarti memasukkan nilai dari setiap elemen array B ke semua elemen A pada Index-Index yang bersesuaian.

4. Array Multidimensi

     Tipe data elemen array tidak harus berupa tipe data elementer, namun juga dapat berupa tipe data terstruktur, misalnya array. Sebagai contoh, perhatikan deklarasi berikut :
Var Matrix:array[1..3,1..3] of integer;
     Bentuk deklarasi mungkin saja dibuat untuk kasus demikian, tipe nilai_ujian adalah berupa array dengan dua elemen bertipe integer untuk menyimpan nilai ujian midterm dan ujian akhir. Sedangkan variabel nilai adalah array dengan sepuluh elemen bertipe nilai_ujian, yang digunakan untuk menyimpan nilai ujian dari 10 mahasiswa. Elemen-elemen array nilai bertipe array integer. Walaupun terdapat dua buah array, tetapi setiap deklarasi array hanya dibatasi dengna sebuah range Index saja. Jumlah elemen array nilai adalah 10, walaupun secara keseluruhan banyaknya bilangan yang dapat disimpan adalah 20 buah. Array demikian dikenal sebagai array berdimensi 1.

5. Penggunaan Konstanta untuk Batas Index Arrray

     Deklarasi konstanta sering digunakan untuk batas bawah dan batas atas pada range Index array. Setiap kali menggunakan array, kita pasti berharap agar ruang yang kita sediakan sesuai dengna banyaknya data yang akan disimpan; jangan sampai berlebihan, ataupun kekurangan.
     Sering kali kita terpaksa harus mengubah batas-batas range Index untuk menyesuaikan jumlah data. Penggunaan konstanta akan memudahkan bila ada keperluan untuk mengubah batas-batas range Index array, yaitu cukup mengganti nilai konstanta tersebut.

Untuk contoh programnya bisa didownload dibawah.

download

Tidak ada komentar:

Posting Komentar