Array
merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang
sama serta setiap elemen diakses dengan membedakan indeks array-nya.
Berikut adalah contoh variable bernama c
yang mempunyai lokasi memori yang semuanya bertipe int.
C[0] -45
C[1] 6
C[2] 0
C[3] 72
C[4] 1543
C[5] 43
C[6] 4
Masing-masing nilai dalam setiap lokasi mempunyai identitas
berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung
‘[..]’. sebagai contoh, 72 adalah nilai
dari c[3].
DEKLARASI ARRAY
Variable array dideklarasikan dengan
mencantumkan tipe dan nama variable yang diikuti dengan banyaknya
lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk
variable array
c di atas adalah :
int c[7];
Perlu diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori
yang sesuai dengan yang dideklarasikan, dimana nomor indeks selalu
dimulai dari 0. Nilai suatu variable array dapat juga
diinisialisasi secara langsung pada saat deklarasi, misalnya;
Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}
Berarti setiap lokasi memori dari variable array c langsung diisi
dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal.
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai degan
banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang
tentunya membuat variable array dengan 10 lokasi
memori:
Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
Untuk memperjelas gambaran anda tentang array perhatikan contoh
aplikasi variable array, yaitu program
untuk menghitung jumlah setiap elemen dalam suatu array.
Sebagai gambaran dari program tersebut, dapat
dibuat sebuah algoritma sebagai
berikut:
1. Tentukan elemen array sebanyak yang
diinginkan (dalam hal ini, elemen array tersebut berjumlah 12
buah)
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam
hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah
elemen array
diatas yaitu 12 dikurangi dengan 1, kenaikannya adalah 1)
3. Lakukan perulangan sesuai dengan
langkah 2
4. Lakukan penjumlahan masing-masing elemen array sampai batas akhir
indeks terpenuhi
5. Tampilkan penjumlahan semua elemen array
6. Selesai.
Sedangkan implementasi dalam program dapat dilihat
berikut ini.
Contoh Program array
/*Program
:array1.cpp*/
#include
#define SIZE 12
main()
{
int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int indeks, total =0;
for(indeks=0; indeks<=SIZE-1; indeks++)
total += a[indeks];
printf(“nTotal setiap eleen array adalah %d”,total);
return 0;
}
Bila program
diatas dijalankan, akan muncul hasil :
Total setiap elemen array adalah 383
Adapun keterangan dari program diatas adalah
sebagai berikut : Hasil penjumlahan setiap elemen array diperoleh dari jumlah
data atau elemen array sebanyak 12 buah yang
sudah didefinisikan pada awal program yaitu #define
SIZE 12. Kemudian setiap elemen array dari a[0] yang berisi
data, a[1] yang berisi data 3 di jumlahkan sampai dengan a[11] yang
berisi data 45. Proses penjumlahan dilakukan pada loop dimulai dari 0
sampai data yang terakhir atau elemen terakhir.
ARRAY
DIMENSI SATU
Bentuknya :
Tipe nama_var[ukuran];
Dengan :
Tipe : menyatakan jenis elemen array (int, char, unsigned, dan
lain-lain)
Ukuran : menyatakan jumlah maksimal elemen array
Contoh :
Float nilai_ujian[5];
Pada turbo C++ array disimpan dalam memori
secara berurutan. Elemen pertama berindeks nol digambarkan sebagai
berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]
Masing-masing berbentuk float dan berjumlah 5 elemen.
Selain itu, deklarasi array juga dapat berupa :
Static int bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai dengan deklarasi array diatas, maka isi
variable array
telah ditentukan yaitu :
Bulan[0] bernilai 1
Bulan[1] bernilai 2
Bulan[2] bernilai 3
Bulan[3] bernilai 4
Bulan[4] bernilai 5
Bulan[5] bernilai 6
Bulan[6] bernilai 7
Bulan[7] bernilai 8
Bulan[8] bernilai 9
Bulan[9] bernilai 10
Bulan[10] bernilai 11
Bulan[11] bernilai 12
Untuk memperjelas tentang array dimensi satu,
perhatikan maslah berikut ini :
Misalkan Anda diminta membuat algoritma dan program
untuk menampilkan bilangan dari 1 sampai bilangan
10, dengan pangkatnya masing-masing. Adapun batas nilai maksimal yang
disimpan adalah 100.
Sesuai yang telah Anda pelajari , bahwa bilangan 1 pangkatnya
adalah 1. Hasil ini diperoleh dari 1*1, kemudian bilangan 2 pangkatnya
adalah 4, hasil ini diperoleh dari 2*2 sampai bilangan 10 yang
pangkatnya adalah 100, hasil ini diperoleh dari 10*10.
Algoritma
dari permasalahan diatas adalah berikut ini :
1. Tentukan elemen array untuk menampung nilai
perkalian
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam
hal ini , nilai awal indeks adalah 0, batas akhir indeks adalah 10, dan
kenaikannya adalah 1)
3. Lakukan perulangan sesuai langkah 2
4. Nilai awal indeks ditambah dengan 1
5. Lakukan perkalian masing-masing elemen array sampai batas akhir
indeks terpenuhi.
6. Tampilkan perkalian semua elemen array
7. Selesai .
Contoh program array
dimensi satu
/*Program
:array2.cpp*/
#include
int main()
{
int square[100];
int i; /*loop index*/;
int k; /*the integer*/
/*calculate the squares */
for (i=0; i<10; i++)
{
k= i+1;
square[i]=k*k;
printf(“nPangkat dari %d adalah %d “, k, square[i]);
}
return 0;
}
Bila program
dijalankan akan muncul hasil :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100
Penjelasan :
Dari program
diatas, Anda dapat melihat ada 10 buah elemen yang masing-masing
nilainya akan dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori
sudah dipesan tempat sebanyak 100.
Sedangkan apabila array akan dikirim ke
sebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa
diikuti dengan tanda apapun, seperti contoh berikut :
int c[5] = {-45, 0, 6, 72, 1543};
—
—
JUMLAH (c, 5)
—-
Dalam contoh
diatas, yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa
variable array
c dan sebuah konstanta 5. Perhatikan
bahwa variable array ditulis hanya c tanpa
notasi tambahan apapun. Deklarasi variable array yang menjadi
parameter dari suatu fungsi dituliskan dengan nama variable array yang
diikuti dengan tanda kurung [], tanpa menuliskan banyaknya lokasi memori
yang diinginkan.
ARRAY
DIMENSI DUA
Struktur
array
yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut
variable array
berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari
satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh,
sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti
berikut : int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi
memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
Dan definisi variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]
Sebagai implementasi dari keterangan diatas, perhatikan program
berikut ini :
Contoh Program array
dimensi dua
/*Program
:array2.cpp*/
#include
void printArray(int[][3]);
main()
{ int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
int matrik2[2][3] = {1, 2, 3, 4, 5};
int matrik3[2][3] = {{1, 2},{4}};
printArray (matrik1);
printArray (matrik2);
printArray (matrik3);
return 0; }
void printArray (int a[][3])
{ int i,j;
for (i=0; i<=1; i++)
{ for (j=0; j<=2; j++)
printf(“%d”,a[i][j]);;
printf(“n”);
}
}
Bila program
diatas dijalankan, akan mucul hasil :
123
456
123
450
120
400
Penjelasan :
Dari program
diatas untuk matrik 1, penulisannya adalah 123 456, sedangkan pada
matrik 2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat
yang disediakan untuk data kolom ke 3 dan baris ke 2 tidak diisi.
Sedangkan matrik 3 penulisannya adalah 120 400. Dari matrik 3 disini
kita bisa melihat bahwa pada baris pertama kolom ketiga data tidak diisi
dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak
diisi juga diisi 0.
Dalam program
tersebut, juga digunakan fungsi untuk menampung hasil penjumlahan
matrik.
Perhatikan contoh
lain :
Int datasiswa[4][3];
Deklarasi diatas digunakan untuk mendeklarasikan suatu data siswa yang
berbentuk demikian :
No Nama Kelas Jumlah Siswa
Tahun 1989 Tahun 1990 Tahun 1991
1 Kelas 1 50 55 49
2 Kelas 2 60 60 55
3 Kelas 3 56 56 56
4 Kelas 4 49 50 54
Dari deklarasi diatas maka angka empat [4] menyatakan jumlah kelas,
dan angka indek [3] menyatakan tahun.
Data siswa [0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55.
Atau jumlah siswa kelas 1 pada tahun 1990 adalah 55.
Bentuk data siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54
Array
ini dapat pula diberi nilai tetap dengan static seperti pada array dimensi
satu. Deklarasinya adalah sebagai berikut :
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};
ARRAY
DIMENSI BANYAK
Array
ini seperti array
dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array
dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu
kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang
peranan yang penting.
Contoh
:
Static int dataktp[2][7][8][5];
Read More......