Array

Array adalah struktur data yang menyimpan kumpulan nilai dengan tipe data yang sama dan ukuran tetap.

Contoh Masalah

Bagaimana cara menyimpan dan mengolah kumpulan data dengan ukuran tetap? Misalnya:

  1. Menyimpan nilai ujian 5 mata pelajaran
  2. Menghitung rata-rata nilai
  3. Mencari nilai tertinggi dan terendah

Penyelesaian

package main

import "fmt"

func main() {
    // 1. Deklarasi dan inisialisasi array
    var nilai [5]int = [5]int{85, 90, 78, 88, 95}
    
    // Cara singkat
    hobi := [3]string{"Membaca", "Menulis", "Coding"}

    // 2. Mengakses dan mengubah elemen
    fmt.Println("Nilai Ujian:")
    for i := 0; i < len(nilai); i++ {
        fmt.Printf("Mata Pelajaran %d: %d\n", i+1, nilai[i])
    }

    // Mengubah nilai
    nilai[2] = 82
    fmt.Printf("\nNilai mata pelajaran 3 diubah menjadi: %d\n", nilai[2])

    // 3. Menghitung rata-rata
    total := 0
    for _, n := range nilai {
        total += n
    }
    rataRata := float64(total) / float64(len(nilai))
    fmt.Printf("\nRata-rata nilai: %.2f\n", rataRata)

    // 4. Mencari nilai tertinggi dan terendah
    tertinggi := nilai[0]
    terendah := nilai[0]
    
    for _, n := range nilai {
        if n > tertinggi {
            tertinggi = n
        }
        if n < terendah {
            terendah = n
        }
    }
    
    fmt.Printf("Nilai tertinggi: %d\n", tertinggi)
    fmt.Printf("Nilai terendah: %d\n", terendah)

    // 5. Menampilkan hobi
    fmt.Printf("\nDaftar Hobi:\n")
    for i, h := range hobi {
        fmt.Printf("%d. %s\n", i+1, h)
    }
}

Penjelasan Kode

  1. Deklarasi Array

    • Format: var nama [ukuran]tipe
    • Contoh: var nilai [5]int
  2. Inisialisasi

    • Dengan nilai: [5]int{1, 2, 3, 4, 5}
    • Otomatis: [...]int{1, 2, 3}
  3. Akses dan Ubah

    • Akses: array[index]
    • Index dimulai dari 0

Output

Nilai Ujian:
Mata Pelajaran 1: 85
Mata Pelajaran 2: 90
Mata Pelajaran 3: 78
Mata Pelajaran 4: 88
Mata Pelajaran 5: 95

Nilai mata pelajaran 3 diubah menjadi: 82

Rata-rata nilai: 88.00
Nilai tertinggi: 95
Nilai terendah: 82

Daftar Hobi:
1. Membaca
2. Menulis
3. Coding

Tips

  • Array di Go memiliki ukuran tetap
  • Index dimulai dari 0
  • Gunakan len() untuk mendapatkan panjang array
  • Jika ukuran bisa berubah, gunakan slice
  • Array adalah value type (disalin saat assignment)