Array adalah susunan/tatanan yang
tempatnya/alamatnya urut.
Misal ada array huruf: A , B, C
·
Di mana letak A: di
sebelah kiri B atau sebelum B
·
Di mana letak B: di
antara A dan C
·
Di mana letak C: di
sebelah kanan B atau setelah B
Pemahaman diatas PENTING karena dalam
menggunkan “pointer” kita akan memainkan alamat si “array”, jadi jangan sampai
bingung. Ingat pointer itu memainkan alamatnya, bukan isinya.
Untuk dapat digunakan, array harus dideklarasikan
terlebih dahulu:
Contoh:
int A[10];
artinya kita mendeklarasikan array A sebanyak 10 nilai integer
jadiii, array A bertipe integer, isinya ada 10, dari A[0] - A[9].
jangan tertipu, biarpun deklarasinya A[10], dalam pemakaiannya A[10] TIDAK ADA
artinya kita mendeklarasikan array A sebanyak 10 nilai integer
jadiii, array A bertipe integer, isinya ada 10, dari A[0] - A[9].
jangan tertipu, biarpun deklarasinya A[10], dalam pemakaiannya A[10] TIDAK ADA
n-Dimensi Array : Array yang memiliki sub-susunan/sub-tingkatan sebanyak (n-1).
Contoh:
int A[5][10];
adalah array 2 dimensi yang memiliki satu sub-susunan/sub-tingkatan
untuk tingkatan array yang paling kiri yang paling tinggi.
banyaknya data berarti 50 buah, dari A[0][0] - A[4][9]
adalah array 2 dimensi yang memiliki satu sub-susunan/sub-tingkatan
untuk tingkatan array yang paling kiri yang paling tinggi.
banyaknya data berarti 50 buah, dari A[0][0] - A[4][9]
Nah, dalam contoh
tadi, yang letaknya paling awal adalah A[0][0], dilanjutkan oleh A[0][1], BUKAN
A[1][0].
Mengapa? Karena tingkatan
yang di kiri lebih tinggi dibandingkan dengan yang kanan.
Misal:
X=A[10], maka A[5][10]
= X[5]
jadi sekumpulan array sebanyak sepuluh yang diarraykan lagi sebanyak 5.
Setiap array X memiliki array A yang banyaknya sepuluh:
X[0] punya A[10]
X[1] punya A[10]
...
X[4] punya A[10]
Data pertama dari array tersebut adalah X[0], sementara data pertama dari X[0] adalah A[0], maka array pertama dari A[5][10] adalah A[0][0].
Data setelah A[0][0] adalah data kedua dari X[0], yang berarti A[0][1].
Sedangkan data terakhir dari array tersebut adalah X[4], sementara data terakhir dari X[4] adalah A[9], maka array terakhir dari A[5][10] adalah A[4][9].
jadi sekumpulan array sebanyak sepuluh yang diarraykan lagi sebanyak 5.
Setiap array X memiliki array A yang banyaknya sepuluh:
X[0] punya A[10]
X[1] punya A[10]
...
X[4] punya A[10]
Data pertama dari array tersebut adalah X[0], sementara data pertama dari X[0] adalah A[0], maka array pertama dari A[5][10] adalah A[0][0].
Data setelah A[0][0] adalah data kedua dari X[0], yang berarti A[0][1].
Sedangkan data terakhir dari array tersebut adalah X[4], sementara data terakhir dari X[4] adalah A[9], maka array terakhir dari A[5][10] adalah A[4][9].
Sama halnya dengan
array lebih dari 2 dimensi:
A[3][5][10] berarti
dimisalkan X=A[10], Y=X[5],
maka array A[3][5][10] = Y[3]
Y[0], Y[1], Y[2], masing-masing punya X[5]; sementara X[0], X[1], X[2], X[3], X[4], masing-masing memiliki A[10]
menuliskan dimensinya dari tingkatan tertinggi (Y), menengah (X), baru terendah (A).
A[0][0][0] --> data pertama
A[2][4][9] --> data terakhir
jumlah data: 3 x 5 x 10 = 150
maka array A[3][5][10] = Y[3]
Y[0], Y[1], Y[2], masing-masing punya X[5]; sementara X[0], X[1], X[2], X[3], X[4], masing-masing memiliki A[10]
menuliskan dimensinya dari tingkatan tertinggi (Y), menengah (X), baru terendah (A).
A[0][0][0] --> data pertama
A[2][4][9] --> data terakhir
jumlah data: 3 x 5 x 10 = 150
Keuntungan dalam
menggunakan array adalah kita dapat mengakses datanya secara acak (Random
Access), jadi kita dapat langsung “comot” A[2][0][3] dari array A[3][5][10]
tanpa harus membaca data-data sebelum data tersebut.
·
Masalah-masalah dalam
penggunaan array: Tempat yang terbatas karena kita harus mendeklarasikannya
terlebih dahulu agar bisa dipakai.
Seandainya data ternyata melebihi kapasitas yang kita deklarasikan, maka akan memunculkan error karena data yang berlebih dianggap data asing.
Seandainya data ternyata melebihi kapasitas yang kita deklarasikan, maka akan memunculkan error karena data yang berlebih dianggap data asing.
·
Sebaliknya, bila
ternyata tempat yang dideklarasikan berlebih atau terlalu banyak, sisa array
yang tidak terpakai akan menghabiskan persediaan memori yang ada, sehingga
program bisa saja berjalan lambat walau datanya sedikit.
Tidak ada komentar:
Posting Komentar