PENDAHULUAN
- Selama ini kita menggunakan satu variabel untuk menyimpan 1 buah nilai dengan tipe
data tertentu.
-
Misalnya :
int a1, a2, a3, a4, a5;
Deklarasi variabel diatas digunakan untuk menyimpan 5 data integer dimana masing-
masing variabel diberi nama a1, a2, a3, a4, dan a5.
- Jika kita memiliki 10 data, 100 data integer bahkan mungkin data yang ingin kita
proses tidak kita ketahui atau bersifat dinamis?
Kita tidak mungkin
menggunakan variabel seperti diatas.
- Di dalam
C dan pemrograman yang lain, terdapat suatu
fasilitas untuk menyimpan
data-data yang bertipe data sama dengan suatu nama tertentu.
DEFINISI ARRAY
- Array adalah
suatu tipe data terstuktur yang berupa
sejumlah data sejenis
(bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
- Elemen-elemen array tersusun
secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan.
-
Array
dapat berupa array 1 dimensi,
2 dimensi, bahkan n-dimensi.
- Elemen-elemen
array bertipe data sama tapi bisa bernilai
sama atau berbeda-beda.
- Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu
- Pengaksesan
elemen
array
dapat
dilakukan
berurutan
atau
random
berdasarkan
indeks tertentu secara langsung.
- Pengisian
dan
pengambilan
nilai
pada
indeks
tertentu
dapat
dilakukan
dengan
mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
- Dalam C, tidak terdapat
error handling terhadap batasan
nilai indeks, apakah indeks
tersebut berada di dalam indeks array
yang sudah didefinisikan atau belum. Hal ini merupakan tanggung
jawab programmer. Sehingga jika programmer mengakses
indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena
mengakses alamat memori yang tidak sesuai.
DEKLARASI
ARRAY 1 DIMENSI
tipe_data nama_var_array[ukuran];
tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll)
nama_var_array : menyatakan nama variabel yang dipakai.
ukuran : menunjukkan jumlah maksimal
elemen larik.
Contoh:
char
huruf[9]:
berarti akan memesan tempat
di memori komputer sebanyak
9 tempat dengan
indeks dari
0-8, dimana semua elemennya bertipe
data karakter semuanya. Kalau
satu karakter berukuran
1 byte, berarti membutuhkan
memori sebesar 9 byte.
int umur[10]:
berarti akan memesan
tempat di memori komputer sebanyak
10 tempat dengan
indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya. Kalau
satu integer berukuran 4 bytes,
berarti membutuhkan memori sebesar 4 x 10 = 20
bytes.
int kondisi[2]:
berarti akan memesan
tempat di memori komputer
sebanyak 2 tempat dengan
indeks 0-1, dimana semua
elemennya bertipe data integer semuanya. Dan
pada
contoh
di
atas
isi
elemen-elemennya
yang
sebanyak 2 buah
diisi
sekaligus
(diinisialisasi) yaitu pada elemen
kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai
1. berarti mendeklarasikan array
dengan ukuran
maksimum array tidak diketahui, namun ukuran tersebut diketahui berdasarkan inisialisasi
yaitu sebanyak 3 elemen,
yang isinya 1,2, dan 3.. Kita
tidak dapat mendeklarasikan array dinamis tanpa inisialisasi.
PENJELASAN
ARRAY 1 DIMENSI
- Tanda [ ] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti
elemen yang ke nol.
- Array yang sudah dipesan,
misalnya 10 tempat
tidak harus diisi
semuanya, bisa saja hanya diisi 5 elemen saja, baik
secara berurutan maupun tidak. Namun
pada kondisi yang tidak
sepenuhnya terisi
tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak
terisi tetap akan terpesan dan dibiarkan kosong.
BERBAGAI CONTOH ARRAY 1 DIMENSI
Contoh 1 (variabel array dan variabelbiasa)
total = x1 + x2 + x3 + x4 + x5;
ARRAY DIMENSI
DUA
-
Sering
kali digambarkan/dianalogikan sebagai
sebuah matriks.
- Jika array berdimensi satu hanya
terdiri
dari
1
baris
dan
banyak
kolom,
array
berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama
ILUSTRASI ARRAY 2 DIMENSI
Gambar array berdimensi (baris x kolom = 3 x 4):
DEKLARASI BENTUK UMUM ARRAY 2 DIMENSI
tipe_data nama_var_array[batas_baris][batas_kolom];
Contoh:
int matriks[3][4];
int matriks2[3][4] = { {5,20,1,11}, {4,7,67,-9},
{9,0,45,3} };
Tidak ada komentar:
Posting Komentar