ARRAY
Array merupakan salah satu tipe data terstruktur(structured data type) yang berguna sebagai sebuah tempat penyimpanan elemen data / nilai yang bertipe sama. Penggunaannya sama seperti variabel(untuk menyimpan nilai) tetapi variabel hanya dapat menyimpan sebuah nilai sedangkan pada array data yang diolah bisa beberapa nilai bertipe sama.Struktur data array dipakai untuk merepresentasikan sekumpulan informasi yang bertipe sama dan disimpan dengan urutan yang sesuai dengan definisi indeks secara kontiu dalam memeori komputer. Oleh karena itu indeks harus suatu tipe data yang mempunyai keterurutan seperti tipe integer atau karakter.
Bentuk array sama seperti tabel sehingga array seringkali juga disebut tabel. Misalnya tabel untuk
menyimpan data nilai 100 buah
TabNilai
index nilai
1 60
2 70
3 100
4 80
5 65
….. …..
100 89
Sebuah array harus diberi nama, supaya mudah diakses atau diacu. Setiap elemen/bagian array harus diberi alamat supaya dapat dibedakan dengan elemen lainnya dan mudah dalam pencarian. Indeks digunakan sebagai alamat elemen pada array.
Deklarasi Array
Supaya sebuah array dapat diisi, arraynya harus dibuat dulu atau dipesan tempatnya (berapa banyak data yang akan dimasukkan ke dalam array) dengan cara dideklarasikan di bagian kamus.Jumlah elemen array tidak dapat diubah selama pelaksanaan program
Bentuk umum deklarasi array :
nama_array : array [range_index] of tipe_elemen
contoh pseudecode array;
Nama 1
Nama 2
Nama 3
.........
Nama 25
Nama[]:string:nama:array{1...25] of string
Input
Read nama
Cetak
Write nama [i]
Contoh program
For i 1 to 25 do
Read (nama[i])
End For
For i 1 to 25 do
Write (nama [i])
End for
Tipe_elemen menunjukkan tipe data dari elemen tabel, semua isi elemen tabel bertipe sama. Range index bisa berupa integer atau character dan harus menaik. Setelah sebuah array dideklarasikan, akan disediakan tempat di memori sebanyak jumlah elemen yang dipesan. Memori adalah tempat untuk menyimpan data yang bersifat sementara sedangkan harddisk untuk menyimpan data yang bersifat permanen. Memori juga memiliki alamat yang dapat diakses jika dibutuhkan.
Operasi Terhadap Array
Operasi atau manipulasi terhadap array hanya dapat dilakukan terhadap satu elemennya yang ditunjukkan oleh indeks.
Untuk mengisi atau mengambil data/nilai dari array :
Nama_Array[alamat_index] ç nilai write(Nama_Array[alamat_index]) nama_variabel ç Nama_Array[alamat_index]
contoh :
Masukkan Nama dan Tinggi badan
Masukkan dalam kelas TI 1!
Hitung rata-rata tinggi Mahasiswa?
Kamus Nama :array [1...30]of string Tinggi : array [1...30] of real Jmlh_mhs:Interger Jmlh_Tinggi:Real Rata-rata_Tinggi:real Deskripsi Read jumlah mhs For i 1 to jmlh mhs do Read (nama[i]) Read (tinggi[j]) End for For j 1 to jmlh mhs do Jumlah tinggi jmlh tinngi=tinggi [i] End for Rata tinggi jmlh tinggi/jmlh mhs Write (rata-rata tinggi)
PEMROSESAN ARRAY
Pemrosesan terhadap Array berarti memproses elemen mulai dari elemen pertama (elemen dengan indeks terkecil, berturut-turut pada elemen berikutnya, sampai elemen terakhir dicapai). Pemrosesan terhadap elemen array menggunakan bentuk pengulangan sebagai berikut :
for i ç index_awal to index_akhir do Proses(Nama_Array[i]) endfor
Pengisian elemen array dengan nilai yang dibaca dari piranti masukan
Algoritma Tabel1
Kamus MyTab : array[1..50] ofinteger n,I : integer Agoritmaread(n) for i ç 1 to n doread(MyTab[i]) endfor . Penulisan elemen array Algoritma Tabel Kamus MyTab : array[1..50] of integer n,i : integer Agoritmaread(n) for i ç 1 to n doread(MyTab[i]) endforfor i ç 1 to n dowrite (MyTab[i]) endfor
contoh.
Algoritma yang membaca sebuah array integer yang menyatakan nilai ujian, TabNilai, mulai indeks 1 sampai n dan menghitung nilai rata-rata ujian dan menampilkannya pada layar dimana n diinputkan oleh user.
Algoritma Nilai_Mahasiswa Kamusconst NMax = 100 TabNilai : array [1..NMax] of real n,i : integer rata : real Deskripsiread (n) for i to n doread(TabNilai[i]) endfor jumlah for i to n do jumlah endfor rata