Array adalah suatu data terstruktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Elemen-elemen array tersusun secara sekuensial dalam memori komputer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi (multi dimensi).

Implementasi Array Dalam C++
1. Array Satu Dimensi
Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda.

Bentuk umum pendeklarasian array satu dimensi:
Tipe_data nama_variabel[ukuran]
Inisialisasi Array:
Tipe_data nama_variabel[ukuran] = {elemen1, elemen2, elemen-n}
Dari ilustrasi di atas, dapat kita implementasikan seperti berikut:
int nilai[10] = {100, 56, 67, 3, 88, 66, 11, 16, 45}
Contoh 1.1:
#include <iostream.h>
#include <conio.h>
/**
*bundet.com
*Mencatat nilai minimum dan maksimum dalam array
*/
void main() {
float nilai[3], total;
//input nilai
for (int i=0; i < 3; i++) {
cout << "Nilai ke " << i+1;
cout << " = ";
cin >> nilai[i];
}
//jumlahkan nilai
for (int i=0; i < 3; i++) {
total += nilai[i];
}
cout << "Nilai Akhir " << total / 3;
getch();
}
Output:
Nilai ke 1 = 70
Nilai ke 2 = 80.5
Nilai ke 3 = 90.5
Nilai Akhir 80.3333
Contoh 1.2:
#include <iostream.h>
#include <conio.h>
#define LENGTH 5
/**
*bundet.com
*Mencari bilangan minimum dan maksimum dalam array
*/
void main() {
int nilai[LENGTH] = {67, 34, 12, 77, 88};
//asumsi nilai min dan max adalah elemen
//array pertama
int min = nilai[0], max = nilai[0];
for (int i = 1; i < LENGTH; i++) {
//mencari bilangan minimum
if (nilai[i] < max) {
min = nilai[i];
}
//mencari bilangan maksimum
if (nilai[i] > max) {
max = nilai[i];
}
}
cout << "\nNilai Minimum : " << min;
cout << "\nNilai Maksimum : " << max;
getch();
}
Output:
Nilai Minimum : 12
Nilai Maksimum : 88
2. Array Dua dimensi
Array dua dimensi merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama.
Perhatikan ilustrasi berikut:


Implementasi dalam C++
Bentuk umum pendeklarasian array dua dimensi:
Tipe_data nama_variabel[jumlah_baris][jumlah_kolom]
Inisialisasi Array:
Tipe_data nama_variabel[jumlah_baris][jumlah_kolom] = {{elm1-1}, {elm-n-n}}
Dari ilustrasi di atas, dapat kita implementasikan seperti berikut:
int ar2[3][6] = {
{55, 2, 66, 166, 6, 16},
{66, 55, 4, 35, 23, 77},
{55, 55, 556, 511, 55, 51}
}
Contoh 2.1:
#include <iostream.h>
#include <conio.h>
#define ROWS 3
#define COLS 2
/**
*bundet.com
*Mencatat data penjualan pertahun
*/
void main() {
int tahun= 2010;
int cell = 10;
int penjualan[ROWS][COLS];
//input data penjualan
for (int i=0; i < ROWS; i++) {
cout << "\nPenjualan Tahun " << i+tahun;
cout << "\n--------------------\n";
for (int j=0; j < COLS; j++) {
cout << "Data ke-" << j+1;
cout << " = "; cin >> penjualan[i][j];
}
}
//cetak header tabel
cout << "Data penjualan pertahun\n";
cout << "-----------------------\n";
//output data penjualan
for (int i=0; i < ROWS; i++) {
cout << "\nTahun " << tahun+i;
cout << "\n----------------\n";
for (int j=0; j < COLS; j++) {
cout << j+1 << ") ";
cout << penjualan[i][j] << endl;
}
}
getch();
}
Output:
Penjualan Tahun 2010
--------------------
Data ke-1 = 20
Data ke-2 = 10
Penjualan Tahun 2011
--------------------
Data ke-1 = 80
Data ke-2 = 90
Penjualan Tahun 2012
--------------------
Data ke-1 = 30
Data ke-2 = 12
Data penjualan pertahun
-----------------------
Tahun 2010
Sumber:
Modul STMIK El Rahma Yogyakarta. Oleh Eding Muh. Saprudin, S.Kom
Catatan Versi Lain
Seperti telah dijelaskan pada bab-bab sebelumnya, array dapat digunakan untuk menyimpan banyak data yang tipenya sama pada satu nama variabel. Pendefinisian array pada C++ hamper mirip dengan VB atau Java. Hanya sintaks penulisannya yang berbeda. Perhatikan contoh array sederhana berikut ini.
Contoh 9.23. Array sederhana
#include <iostream>
using namespace std;
int main() {
// deklarasi array A dengan 5 buah elemen bertipe int int A[5];
cout<<"A[C]"<<" "<<"B"<<endl; // Memasukkan nilai ke dalam elemen array for (int C=0; C<5; C++) { double B = 5; A[C] = C; B = A[C]/B;
cout<<A[C]<<" "<<B<<endl;
} return 0; }
Pada contoh di atas kita mendeklarasikan array dengan nama A dan tipe datanya adalah int. C pada kode di atas adalah variabel counter. Untuk memasukkan nilai pada array, perhatikan pada baris A[C] = C. C di sini adalah indeks dari variabel A. Sama seperti halnya pada VB ataupun Java, nilai default awal dari indeks array adalah 0. Apabila contoh di atas dijalankan, maka output akan tampak seperti pada Gambar 9.6.

Gambar 9.6. Output hasil eksekusi program array sederhana.
Pada contoh 9.23 di atas kita mendeklarasikan array tanpa inisialisasi nilai. Tapi sebenarnya kita dapat langsung member nilai bersamaan dengan pendeklarasian variabel array. Kemudian kita dapat merubah nilainya ketika program sedang berjalan atau dibagian lain dari program. Perhatikan contoh 9.24 berikut.
Contoh 9.24. Deklarasi dan inisialisasi array
#include <iostream>
using namespace std;
int main() {
// Deklarasikan dan inisialisasi array char X[3] = { 'A', 'B', 'C' };
// Menampilkan nilai awal elemen array cout<<"Nilai array awal"<<endl; cout<<"X[0] = "<<X[0]<<endl; cout<<"X[1] = "<<X[1]<<endl; cout<<"X[2] = "<<X[2]<<endl;
// Mengubah elemen ke-1 dan ke-2
X[0] = 'G';
X[1] = 'H';
// Menampilkan nilai perubahan dari elemen array cout<<"Nilai array setelah dirubah"<<endl; cout<<"X[0] = "<<X[0]<<endl; cout<<"X[1] = "<<X[1]<<endl; cout<<"X[2] = "<<X[2]<<endl;
return 0; }
Jika kita jalankan kode program di atas, maka hasilnya akan tampak seperti pada Gambar 9.7

Gambar 9.7. Hasil eksekusi deklarasi dan inisialisasi array.
C++ juga menyediakan fitur untuk membuat array multidimensi. Deklarasi array multidimensi dapat dilakukan dengan cara seperti pada contoh 9.25.
Contoh 9.25. Deklarasi array multidimensi
#include <iostream>
using namespace std;
int main() {
// Deklarasi dan inisialisasi array multidimensi int Matrik_A[3][2] = { {1,2}, {3,4}, {5,6} }; int Matrik_B[2][3] = { {1,2,3}, {4,5,6} };
// Mendeklarasikan variabel untuk indeks pengulangan int j, k;
// Menampilkan nilai yang tersimpan dalam elemen array A cout<<"ISI MATRIKS A"<<endl; for (j=0; j<3; j++) { for (k=0; k<2; k++) {
cout<<"Matrik A["<<j<<"]["<<k<<"] =
"<<Matrik_A[j][k]<<endl;
} cout<<endl;
}
// Menampilkan nilai yang tersimpan dalam elemen array B cout<<"ISI MATRIKS B"<<endl; for (j=0; j<2; j++) { for (k=0; k<3; k++) {
cout<<"Matrik B["<<j<<"]["<<k<<"] =
"<<Matrik_B[j][k]<<endl;
} cout<<endl;
} return 0; }
Pada contoh di atas, ada dua buah array multidimensi yaitu Matrik_A dan Matrik_B. Keduanya merupakan matriks dua dimensi. Matrik_A memiliki 3 baris dan 2 kolom sedangkan Matrik_B memiliki 2 baris dan 3 kolom. Pengisian nilai elemen array dilakukan pada saat deklarasi. Namun kalian dapat mengisi dengan menggunakan masukkan dari keyboard melalui perintah cin. Hasil eksekusi dari program di atas akan tampak seperti pada Gambar 9.8.

Gambar 9.8. Hasil eksekusi array multidimensi.