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;
}