π§ 1. Pengertian Array
6
π Definisi
Array adalah struktur data yang menyimpan sekumpulan elemen dengan tipe data yang sama dalam lokasi memori yang berurutan (contiguous).
π§ Narasi Konseptual
Bayangkan array seperti deretan loker bernomor:
- Setiap loker menyimpan satu data
- Nomor loker = indeks
- Semua loker tersusun rapi dan berurutan
β‘οΈ Hal ini membuat akses data sangat cepat karena lokasi memori dapat dihitung langsung.
π― 2. Karakteristik Array
π Tabel Karakteristik
| Karakteristik | Penjelasan |
|---|---|
| Homogen | Semua elemen bertipe sama |
| Indeks | Dimulai dari 0 (umumnya) |
| Ukuran tetap | Tidak berubah setelah dibuat |
| Akses langsung | Elemen dapat diakses langsung |
π§ Penjelasan
- Array sangat efisien untuk akses data cepat
- Namun kurang fleksibel untuk penambahan/penghapusan di tengah
π§© 3. Jenis-Jenis Array
6
πΉ A. Array 1 Dimensi
Contoh:
[10, 20, 30, 40]
Digunakan untuk data linear.
πΉ B. Array 2 Dimensi
Contoh (Matriks):
[ [1,2],
[3,4] ]
Digunakan untuk:
- Tabel
- Matriks matematika
πΉ C. Array Multidimensi
Lebih dari 2 dimensi, digunakan dalam:
- Grafika komputer
- Machine learning
π§ 4. Representasi Array di Memori
7
π Konsep
Alamat elemen array dihitung dengan rumus:Address=Base+(IndexΓSize)
π§ Narasi
- Tidak perlu mencari satu per satu
- Komputer langsung menghitung lokasi memori
β‘οΈ Inilah alasan array memiliki kompleksitas akses O(1)
βοΈ 5. Operasi Dasar pada Array
π Tabel Operasi
| Operasi | Deskripsi |
|---|---|
| Traversal | Mengunjungi semua elemen |
| Insertion | Menambahkan elemen |
| Deletion | Menghapus elemen |
| Searching | Mencari elemen |
| Updating | Mengubah nilai |
π 6. Traversal (Penelusuran)
6
π Definisi
Mengakses semua elemen array satu per satu.
π» Contoh (Python)
data = [10, 20, 30, 40]for i in data:
print(i)
π§ Kompleksitas
β‘οΈ O(n)
β 7. Insertion (Penyisipan)
6
π Konsep
Menambahkan elemen ke dalam array.
π§ Narasi
Jika menyisipkan di tengah:
- Elemen lain harus digeser
β‘οΈ Membutuhkan waktu lebih lama
π» Contoh
data = [10, 20, 30]
data.insert(1, 15)
print(data)
π§ Kompleksitas
- Awal: O(n)
- Tengah: O(n)
- Akhir: O(1) (jika masih ada ruang)
β 8. Deletion (Penghapusan)
6
π Konsep
Menghapus elemen dari array.
π§ Narasi
Setelah penghapusan:
- Elemen setelahnya harus digeser
π» Contoh
data = [10, 20, 30]
data.remove(20)
print(data)
π§ Kompleksitas
β‘οΈ O(n)
π 9. Searching (Pencarian)
7
πΉ A. Linear Search
- Mencari satu per satu
- Kompleksitas: O(n)
πΉ B. Binary Search
- Data harus terurut
- Kompleksitas: O(log n)
π 10. Updating (Perubahan Data)
π Konsep
Mengubah nilai elemen array secara langsung.
π» Contoh
data = [10, 20, 30]
data[1] = 99
print(data)
π§ Kompleksitas
β‘οΈ O(1)
βοΈ 11. Kelebihan dan Kekurangan Array
π Tabel Perbandingan
| Kelebihan | Kekurangan |
|---|---|
| Akses cepat (O(1)) | Ukuran tetap |
| Implementasi sederhana | Insert/delete mahal |
| Hemat memori | Tidak fleksibel |
π 12. Perbandingan Array dengan Struktur Data Lain
π Tabel Perbandingan
| Struktur | Akses | Insert | Delete |
|---|---|---|---|
| Array | O(1) | O(n) | O(n) |
| Linked List | O(n) | O(1) | O(1) |
π§ͺ 13. Studi Kasus Nyata
π Kasus: Data Nilai Mahasiswa
- Menggunakan array untuk menyimpan nilai
- Mudah diakses berdasarkan indeks
Namun:
- Sulit menambah data di tengah
β‘οΈ Alternatif: Linked List
π» 14. Implementasi Lengkap (Python)
# Inisialisasi array
data = [10, 20, 30, 40]# Traversal
for i in range(len(data)):
print(data[i])# Insertion
data.append(50)# Deletion
data.remove(20)# Searching
if 30 in data:
print("Ditemukan")# Updating
data[0] = 100print(data)
π 15. Ringkasan Materi
- Array adalah struktur data dasar dengan memori berurutan
- Memiliki akses cepat (O(1))
- Operasi utama: traversal, insert, delete, search
- Kurang fleksibel untuk data dinamis
- Digunakan dalam banyak aplikasi pemrograman
π 16. Latihan / Diskusi
βοΈ Soal Teori
- Jelaskan konsep array dan karakteristiknya
- Mengapa array memiliki akses O(1)?
- Apa kelemahan utama array?
π» Soal Praktikum
- Buat program array untuk menyimpan 10 angka
- Implementasikan insertion dan deletion
- Buat pencarian linear
π― Penutup
Array adalah fondasi utama struktur data yang harus benar-benar dipahami karena:
- Digunakan hampir di semua program
- Menjadi dasar untuk struktur data lain
- Membantu memahami manajemen memori