Rabu, 23 Februari 2011

Bab2 array dan record

1.PENGERTIAN ARRAY DAN RECORD.

A. Array
Array/Larik adalah suatu standar struktur penyimpanan data pada banyak bahasa pemrogram. Biasanya, dalam mengembangkan program, anda perlu menyimpan informasi pada memori dengan mengunakan variable. Merupakan penyusun program yang menyimpan data dan diakses berasarkan index atau subscript. Membantu kita menciptakan kode program yang lebih mudah dan sederhana pada banyak situasi.  Dalam VB.NET merupakan inheritance dari class Array dalam namespace System. Index dimulai dari 0 (zero based) dan bertambah  secara  sekuensial.  Jumlah elemen ditentukan oleh nilai atas array (upper bound).  Deklarasi menggunakan kata kunci Dim, ReDim, Static, Private, Public dan Protected. Bisa berbentuk dimensi satu (linier array) atau dimensi banyak (multidimension array). Dalam VB dimensi yang dapat ditentukan adalah 32.

B. Record
Sama halnya dengan larik, rekaman (record) adalah kumpulan data. Perbedaan antara
larik dengan rekaman adalah bahwa dalam larik semua elemennya harus bertipe sama. Tetapi dalam rekaman setiap elemen bisa mempunyai tipe data yang berbeda satu sama lain.

2.DIMENSI ARRAY
  • Array satu dimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1 indeks atau subskrip.
Bentuk umum :
Tipe_data nama_array[jumlah_maks_data];
Contoh :
int Nilai[5];        nilai [1]   nilai [2]      nilai [3]       nilai [4]     nilai [5]
70
80
82
60
75
Catatan :String juga sebenarnya merupakan array yang bertipe karakter. Jumlah elemen array menyatakan jumlah string.
  • Array dua dimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang  akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan indeks kolom.
Bentuknya dapat berupa matriks atau tabel.
·         Deklarasi array :
Tipe_array nama_array[baris][kolom];
·         Cara mengakses array :
Untuk mengakses array, misalnya kita ingin mengisi elemen array baris 2 kolom 3 dengan 10 maka perintahnya adalah sbb :
X[1][2] = 10;
·         Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu :
·         Row Major Order (secara baris per baris)
·         Column Major Order (secara kolom per kolom)
  • Array multidimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui banyak indeks atau subskrip. Array seperti ini biasa digunakan untuk matik, array 2 dimensi juga termasuk kedalam array multidimensi.
Bentuk umumnya yaitu :
tipe_array nama_array[ukuran1][ukuran2]…[ukuranN];

3.MENDEKLARASIKAN ARRAY DALAM BAHASA PEMROGRAMAN
Misalkan kita hendak mendeklarasikan array TEMP yang merupakan array dimensi satu dengan nilai subscript 1 sampai 24, dan masing-masing elemen bertipe data integer (nilainya antara 0 hingga 99 derajat).

Dalam Bahasa COBOL dapat ditulis :
01 TABEL-TEMP
02 TEMP OCCURS 24 TIMES PIC 99.

Dalam bahasa Pascal :
var temp: array l..24)of integer

Dalam Bahasa BASIC, kita dapat mendefinisikan array TEMP tersebut dengan
statement :
DIM TEMP(24).
Tiga hal harus dikemukakan dalam mendeklarasikan suatu array, yakni :
1. nama array
2. range dari subscript
3. tipe data dari elemen array

4.Pemetaan Array ke Storage
A.PEMETAAN ARRAY DIMENSI SATU KE STORAGE
Skema penyajian dapat dievaluasi berdasarkan 4 karakteristik, yakni :
1. kesederhanaan dari akses elemen
2. mudah untuk ditelusuri
3. efisiensi dari utilitasi storage
4. mudah dikembangkan
Umumnya tidaklah mungkin untuk mengoptimalkan keempat faktor tersebut
sekaligus. Pandang array satu dimensi NOPEG dengan batas bawah subscript 1, dan batas
atas subscript = N. Salah satu cara untuk menyimpan array ini adalah sedemikian sehingga
urutan fisik dari elemen sama dengan urutan logik dari elemen. Storage untuk elemen
NOPEG(I+1) adalah berdampingan dengan storage untuk elemen NOPEG(I), untuk setiap
I = 1, 2, 3,..., N-1. Untuk menghitung alamat (address) awal dari elemen NOPEG(I),
diperlukan untuk mengetahui 2 hal yakni :
1. address awal dari ruang storage yang dialokasikan bagi array tersebut.
2. ukuran dari masing-masing elemen array
B.PEMETAAN KE STORAGE TERHADAP ARRAY DIMENSI BANYAK.
Karena memori komputer adalah linear, maka array dimensi banyak harus dilinearkan
apabila akan dipetakan ke dalam storage. Salah satu alternatif untuk pelinearan tersebut
adalah menyimpan pertama kali baris pertama dari array, kemudian baris ke-2, baris ke-3
dan seterusnya. Ini disebut row major order.
Contoh dalam penulisan di cobol:
COMPUTE TOTAL = 0.
PERFORM SUM-UP VARYING 1
FROM 1 BY 1 UNTIL I > 50
AFTER J FROM 1 BY 1 UNTIL J > 225
dalam hal ini
SUM-UP.
TOTAL = TOTAL + A(I,J).

5.TRINGULAR ARRAY (ARRAY SEGITIGA)
Akan kita tinjau beberapa aspek pelinearan suatu array yang khusus, yakni tringular array. Tringular array dapat merupakan upper tringular (seluruh elemen di bawah diagonal utama = 0) ataupun lower tringular (seluruh elemen di atas diagonal utama = 0).Dalam array lower triangular dengan N baris, jumlah maksimum elemen <> 0 pada baris ke-I adalah 1, karenanya total elemen <> 0, tidak lebih dari :
N
Σ I = N(N+1)/2
I = 1

Tidak ada komentar:

Posting Komentar