Array dalam C++
Array adalah struktur data yang menyimpan kumpulan elemen dengan tipe data yang sama dalam lokasi memori yang berurutan.
Deklarasi Array
tipe_data nama_array[ukuran];
tipe_data nama_array[ukuran] = {nilai1, nilai2, ..., nilaiN};
Array Satu Dimensi
int angka[5] = {10, 20, 30, 40, 50};
// Mengakses elemen array
cout << angka[0]; // Output: 10
angka[2] = 35; // Mengubah nilai elemen
Array Multi Dimensi
1. Array Dua Dimensi (Matriks)
int matriks[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
cout << matriks[1][2]; // Output: 6
2. Array Tiga Dimensi
int arr3d[2][3][4] = {
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
},
{
{13,14,15,16},
{17,18,19,20},
{21,22,23,24}
}
};
cout << arr3d[1][2][3]; // Output: 24
String sebagai Array Karakter
char nama[20] = "Budi";
char nama2[] = {'A', 'n', 'i', '\0'};
cout << nama; // Output: Budi
cout << nama2; // Output: Ani
Array dan Fungsi
// Menerima array sebagai parameter fungsi
void cetakArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
}
int main() {
int angka[] = {1, 2, 3, 4, 5};
cetakArray(angka, 5);
return 0;
}
STL Array (C++11)
#include <array>
array<int, 5> arr = {1, 2, 3, 4, 5};
// Menggunakan method STL
cout << "Size: " << arr.size();
cout << "Elemen pertama: " << arr.front();
Contoh Program Lengkap
#include <iostream>
#include <array>
using namespace std;
const int SIZE = 5;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// Tukar elemen
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
// Array biasa
int nilai[SIZE];
cout << "Masukkan " << SIZE << " nilai:\n";
for (int i = 0; i < SIZE; i++) {
cin >> nilai[i];
}
// Mengurutkan array
bubbleSort(nilai, SIZE);
cout << "Nilai setelah diurutkan:\n";
for (int i = 0; i < SIZE; i++) {
cout << nilai[i] << " ";
}
cout << endl;
// STL Array
array<string, 3> buah = {"Apel", "Mangga", "Jeruk"};
cout << "\nDaftar Buah:\n";
for (auto b : buah) {
cout << "- " << b << endl;
}
// Array multidimensi
int matriksA[2][2] = {{1, 2}, {3, 4}};
int matriksB[2][2] = {{5, 6}, {7, 8}};
int hasil[2][2];
// Penjumlahan matriks
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
hasil[i][j] = matriksA[i][j] + matriksB[i][j];
}
}
cout << "\nHasil Penjumlahan Matriks:\n";
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
cout << hasil[i][j] << " ";
}
cout << endl;
}
return 0;
}