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 10c. 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;
}