
Go From Zero to Hero #08: Mengenal Array — Cara Praktis Menyimpan Banyak Data dalam Satu Wadah
- Daffa Fadhil
- Golang , Code
- 26 Juni 2026
Table of Contents
Halo Go Developers! Selamat datang kembali di seri Go From Zero to Hero.
Di artikel ketujuh kemarin, kita sudah berhasil memberi arahan komputer untuk melakukan tugas berulang-ulang lewat satu-satunya keyword perulangan di Go, yaitu for. Kita juga sudah belajar cara memodifikasi alur looping tersebut lewat analogi boks bola (break) dan boks apel busuk (continue).
Nah, di artikel kedelapan ini, kita akan menaikkan lagi efisiensi kode program kita ke tingkat yang lebih tinggi! Kita akan berkenalan dengan sebuah konsep manajemen data yang bakal sering banget kamu temui di dunia kerja, yaitu Array.
Tidak tanggung-tanggung, dalam artikel ini kita akan mengupas tuntas cara mengelompokkan data yang sejenis agar tidak berserakan di dalam kode, lengkap dengan analogi dunia nyata dan cara memanipulasinya menggunakan ilmu looping yang sudah kita pelajari kemarin.
Di akhir artikel nanti, kamu akan paham kenapa para programmer profesional bisa mengelola ratusan data siswa atau produk hanya dengan mengandalkan satu nama variabel saja!
Sudah siap merapikan data program Go kamu agar terlihat lebih profesional? Yuk, siapkan teks editor favoritmu, ambil posisi duduk paling nyaman, dan mari kita mulai!
Masalah Nyata: Berkenalan dengan Array
Sebelum masuk ke baris kode, mari kita lihat sebuah masalah yang sering bikin pusing di dunia nyata.
Bayangkan kamu diminta untuk mendata nama-nama siswa di dalam satu kelas yang isinya ada 5 orang. Jika menggunakan ilmu variabel biasa, kamu terpaksa harus mendeklarasikannya satu per satu seperti ini:
var siswa1 string = "Budi"
var siswa2 string = "Andi"
var siswa3 string = "Siti"
var siswa4 string = "Dewi"
var siswa5 string = "Roni"
Sangat merepotkan, bukan, jika harus menulis kode satu per satu untuk setiap nama siswa? Nah, di sinilah Array hadir untuk membantu kita mengelola banyak data hanya dalam 1 nama variabel saja.
Analoginya mirip seperti sebuah lemari rak atau laci besar. Nama lemari rak tersebut kita beri nama siswa. Di dalam lemari ini, terdapat kotak-kotak laci kecil yang sudah diberi nomor urut di depannya. Di dalam dunia coding, nomor urut laci ini disebut sebagai Index.
Ingat aturan penting ini: Komputer itu selalu menghitung mulai dari angka 0, jadi nomor laci kita akan dimulai dari laci ke-0, laci ke-1, laci ke-2, dan seterusnya. Setiap satu nama siswa akan kita simpan di dalam laci dengan nomor (index) yang berbeda.
Lalu, apa hubungannya dengan perulangan (looping)?
Nah, di sini kita bisa menyuruh looping for untuk bertindak sebagai “petugas otomatis”. Setiap kali perulangan berputar, si petugas ini akan berjalan membuka laci satu per satu berdasarkan nomor index-nya, lalu memasukkan atau menampilkan nama siswa dari dalam laci tersebut secara berurutan.
Apa itu Array di Go? (Dua Aturan Mutlak)
Sebelum kita mulai menulis kodenya, ada dua aturan mutlak yang wajib kamu ingat tentang Array di bahasa Go. Go sangat ketat soal ini, jadi pastikan kamu paham:
- Tipe Datanya Harus Sama: Jika kamu membuat Array untuk menyimpan data
string(teks), maka seluruh laci di dalamnya HANYA BISA diisi oleh datastring. Kamu tidak bisa mencampurnya dengan angka (int) atau nilai logika (boolean). - Ukurannya Statis (Tetap): Sejak pertama kali kamu memesan Array, kamu harus menentukan berapa kapasitas lacinya. Jika kamu pesan Array berukuran 5, maka selamanya kapasitasnya cuma 5. Kamu tidak bisa tiba-tiba menambah laci ke-6 di tengah jalan.
Sintax Array di Go
Ada beberapa cara penulisan sintax Array di go dan kombinasi menggunakan perulangan for kita akan kupas tuntas satu persatu.
Cara Membuat Array Dasar di Go (Secara Manual)
Nah, bagaimana cara kita menuangkan analogi lemari rak tadi ke dalam baris kode Go? Caranya sangat simpel dan ringkas! Kita cukup menentukan berapa kapasitas lacinya di dalam kurung siku [ ], tentukan tipe datanya, lalu masukkan isinya di dalam kurung kurawal {}.
Mari kita lihat contoh kode yang paling sering digunakan di dunia nyata saat mendata nama siswa:
package main
import "fmt"
func main() {
// Memesan kapasitas 3 laci dan langsung mengisi datanya sekaligus
siswa := [3]string{"Budi", "Andi", "Siti"}
// Menampilkan seluruh isi lemari siswa sekaligus
fmt.Println(siswa)
}
Jika kode di atas kamu run di terminal, output-nya akan dibungkus di dalam kurung siku seperti ini:
[Budi Andi Siti]
Note
Tips Kilat Go: Kamu bahkan bisa mengganti angka di dalam kurung siku dengan tanda titik tiga […]. Dengan begitu, Go akan menghitung sendiri secara otomatis berapa jumlah data yang kamu ketik di dalam kurung kurawal. Contoh: nilai := […]int{90, 85, 88} (Go otomatis tahu kapasitas lemarinya adalah 3).
Mengakses (Mengambil) Data Tertentu
Misalkan kita hanya ingin mengambil nama siswa yang ada di laci pertama (index 0) dan laci ketiga (index 2):
package main
import "fmt"
func main() {
siswa := [3]string{"Budi", "Andi", "Siti"}
// Mengambil data dari laci tertentu
fmt.Println("Siswa di laci pertama:", siswa[0])
fmt.Println("Siswa di laci ketiga:", siswa[2])
}
Outputnya seperti ini:
Siswa di laci pertama: Budi
Siswa di laci ketiga: Siti
Mengubah (Update) Data di Dalam Laci
Array di Go itu bersifat mutable, artinya isinya bisa diganti sesuka hati selama tipe datanya tetap sama. Misalkan siswa di laci nomor 1 yang awalnya bernama “Andi” ingin kita perbarui namanya menjadi “Andi Wijaya”:
package main
import "fmt"
func main() {
siswa := [3]string{"Budi", "Andi", "Siti"}
// Mengubah data di laci nomor 1 (Andi -> Andi Wijaya)
siswa[1] = "Andi Wijaya"
// Kita cetak seluruh array untuk melihat perubahannya
fmt.Println("Isi array setelah diperbarui:", siswa)
}
Output setelah diperbarui:
Isi array setelah diperbarui: [Budi Andi Wijaya Siti]
Kombo Array dan looping for
Nah, di awal artikel tadi kita sempat membahas masalah jika ada 500 data siswa. Apakah kita harus mencetaknya manual satu per satu menggunakan fmt.Println(siswa[0]) sampai siswa[499]?
Tentu saja tidak! Di sinilah kita memanfaatkan Looping for yang sudah kita pelajari di artikel sebelumnya. Looping ini akan bertindak sebagai “petugas otomatis” untuk mengisi dan membongkar lemari Array kita secara kilat.
Mari kita lihat bagaimana perulangan for bekerja sama dengan Array untuk meminta input nama siswa dan menampilkannya kembali secara otomatis:
package main
import "fmt"
func main() {
// 1. Memesan Array bernama 'siswa' dengan kapasitas 3 laci kosongan
var siswa [3]string
fmt.Println("--- 1. PROSES INPUT DATA ---")
// 2. Looping untuk MEMASUKKAN data dari keyboard ke dalam Array
// Variabel i akan berjalan dari 0, 1, sampai 2
for i := 0; i < 3; i++ {
fmt.Printf("Masukkan nama siswa untuk laci nomor %d: ", i)
fmt.Scan(&siswa[i]) // Menyimpan ketikan user ke siswa[0], siswa[1], dst.
}
fmt.Println("\n--- 2. PROSES MENAMPILKAN DATA ---")
// 3. Looping untuk MENAMPILKAN kembali semua data yang ada di Array
// Kita gunakan fungsi bawaan len(siswa) sebagai batas akhir putaran
for i := 0; i < len(siswa); i++ {
fmt.Println("Isi laci nomor", i, "adalah:", siswa[i])
}
}
Penjelasan singkat:
Mengapa kondisinya i < 3? Karena kapasitas Array kita diset di angka 3, berarti laci yang tersedia hanya nomor 0, 1, dan 2. Perulangan akan langsung berhenti begitu nilai i menyentuh angka 3. Ini menjaga agar program kita tidak mencoba mengakses laci nomor 3 yang memang tidak pernah ada.
Fungsi len(siswa): Ini adalah fungsi bawaan Go untuk menghitung panjang atau kapasitas sebuah Array. Karena variabel siswa memiliki kapasitas 3, maka len(siswa) akan mengembalikan nilai 3. Menggunakan fungsi ini membuat kode kita jauh lebih rapi karena kita tidak perlu menuliskan angka batasnya secara manual di loop kedua.
Output Program:
--- 1. PROSES INPUT DATA ---
Masukkan nama siswa untuk laci nomor 0: Budi
Masukkan nama siswa untuk laci nomor 1: Andi
Masukkan nama siswa untuk laci nomor 2: Siti
--- 2. PROSES MENAMPILKAN DATA ---
Isi laci nomor 0 adalah: Budi
Isi laci nomor 1 adalah: Andi
Isi laci nomor 2 adalah: Siti
🏆 Tantangan Mini: Uji Pemahamanmu!
Biar pemahamanmu tentang Array dan looping ini makin mantap, yuk coba selesaikan tantangan kecil ini!
Coba buat sebuah program Go yang berisi sebuah Array angka dengan kapasitas 5, langsung isi dengan angka bebas pilihanmu (contoh: [5]int{12, 7, 20, 15, 3}).
Tugasmu adalah membuat perulangan for untuk memeriksa setiap angka di dalam Array tersebut, lalu tampilkan hanya angka yang nilainya lebih besar dari 10.
(Petunjuk: Gunakan perulangan for biasa untuk membongkar Array, lalu di dalamnya gunakan logika if seperti di artikel #05 untuk menyaring angkanya).
Tulis jawabanmu di kode editor masing-masing, ya! Jangan takut salah, karena dari mencoba itulah logika kita akan makin tajam.
Kesimpulan & Penutup
Selamat! Kamu sudah resmi menguasai dasar-dasar struktur data lewat materi Array. Sekarang kamu sudah tahu cara menyimpan banyak data sejenis dalam satu variabel, mengakses slot laci tertentu menggunakan index, hingga mengolah seluruh isinya secara otomatis dibantu oleh looping for.
Meskipun Array ini sangat berguna, ukurannya yang statis (tidak bisa ditambah atau dikurangi setelah dibuat) terkadang membuat kita kurang fleksibel jika menghadapi data di dunia nyata yang jumlahnya tidak menentu.
Oleh karena itu, di Artikel #09 nanti, kita akan mempelajari saudara kandung Array yang jauh lebih fleksibel, dinamis, dan menjadi tipe data yang paling sering dipakai di industri saat ini, yaitu Slice.
Jangan sampai kelewatan artikel selanjutnya, ya! Sekarang, coba praktikkan kode di atas di laptop masing-masing. Jika berhasil jalan atau ada kendala, langsung saja tulis di kolom komentar di bawah. Sampai jumpa di artikel berikutnya, dan happy coding!