Pertemuan 3 - Struktur data array dan operasinya

 Pertemuan 3 - Struktur data array dan operasinya

1. Pendahuluan

Array adalah struktur data yang digunakan untuk menyimpan sejumlah elemen dengan tipe data yang sama di dalam satu variabel. Array memiliki indeks untuk mengakses setiap elemen yang tersimpan di dalamnya. Dalam C++, array dapat memiliki ukuran tetap atau dapat dialokasikan secara dinamis.

2. Deklarasi dan Inisialisasi Array

a. Deklarasi Array

// Deklarasi array dengan ukuran tetap
int angka[5];

b. Inisialisasi Array

// Inisialisasi langsung saat deklarasi
int angka[5] = {1, 2, 3, 4, 5};

// Inisialisasi tanpa menentukan ukuran
int angka[] = {10, 20, 30, 40, 50};

3. Operasi Dasar pada Array

a. Mengakses Elemen Array

Setiap elemen dalam array dapat diakses menggunakan indeksnya yang dimulai dari 0.

#include <iostream>
using namespace std;

int main() {
    int angka[5] = {1, 2, 3, 4, 5};
    cout << "Elemen pertama: " << angka[0] << endl;
    cout << "Elemen ketiga: " << angka[2] << endl;
    return 0;
}

b. Mengubah Elemen dalam Array

int angka[5] = {1, 2, 3, 4, 5};
angka[2] = 10; // Mengubah elemen indeks ke-2 menjadi 10

c. Menampilkan Seluruh Elemen Array

#include <iostream>
using namespace std;

int main() {
    int angka[] = {10, 20, 30, 40, 50};
    for(int i = 0; i < 5; i++) {
        cout << "Elemen ke-" << i << ": " << angka[i] << endl;
    }
    return 0;
}

4. Operasi Lanjutan pada Array

a. Pencarian Elemen dalam Array

Linear search adalah metode pencarian elemen dalam array secara berurutan.

#include <iostream>
using namespace std;

int linearSearch(int arr[], int size, int key) {
    for (int i = 0; i < size; i++) {
        if (arr[i] == key)
            return i;
    }
    return -1;
}

int main() {
    int angka[] = {10, 20, 30, 40, 50};
    int key = 30;
    int index = linearSearch(angka, 5, key);
    if (index != -1)
        cout << "Elemen ditemukan di indeks: " << index << endl;
    else
        cout << "Elemen tidak ditemukan" << endl;
    return 0;
}

b. Mengurutkan Array (Bubble Sort)

#include <iostream>
using namespace std;

void bubbleSort(int arr[], int size) {
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                swap(arr[j], arr[j + 1]);
            }
        }
    }
}

int main() {
    int angka[] = {50, 20, 40, 10, 30};
    int size = sizeof(angka) / sizeof(angka[0]);
    
    bubbleSort(angka, size);
    
    cout << "Array setelah diurutkan: ";
    for (int i = 0; i < size; i++) {
        cout << angka[i] << " ";
    }
    return 0;
}