← All articles
Technology

Tipe Data Komposit (Composite Data Types) di Golang

Tipe data komposit, atau tipe data terstruktur, adalah pondasi penting dalam pemrograman Go (Golang). Tipe-tipe ini memungkinkan Anda untuk mengelompokkan beberapa nilai menjadi satu unit yang lebih besar dan terorganisir. Di Golang, tipe data komposit utama meliputi Array, Slice, Map, dan Struct.

Muhammad AmienMuhammad Amien·Jun 24, 2026·3 min read
Tipe Data Komposit (Composite Data Types) di Golang

Selain tipe data primitif yang udah kita bahas sebelumnya, Golang punya tipe data komposit yang memungkinkan kita mengelompokkan beberapa nilai jadi satu unit yang lebih besar dan terorganisir. Empat tipe utama: Array, Slice, Map, dan Struct.

Array — Koleksi dengan Ukuran Tetap

Array adalah kumpulan elemen dengan tipe data sama, yang jumlah elemennya sudah ditentukan dan tidak bisa diubah. Ukuran ini adalah bagian dari tipe — [5]int dan [10]int dianggap dua tipe berbeda. Nilai awal otomatis zero value (0 untuk int, "" untuk string, nil untuk pointer).

Slice — Abstraksi Array yang Flexible

Slice adalah tipe koleksi paling umum di Golang. Dibangun di atas array, tapi ukurannya dinamis. Slice terdiri dari tiga komponen: pointer ke array dasar (backing array), length (jumlah elemen yang ada), dan capacity (jumlah maksimal sebelum realokasi).

Map — Key-Value Dictionary

Map adalah kumpulan pasangan key-value yang tidak berurutan — mirip dictionary atau hash table. Setiap key harus unik, dan aksesnya sangat cepat (O(1) average) karena dioptimalkan pake hashing.

Struct — Custom Data Type

Struct adalah kumpulan field bernama yang bisa punya tipe data berbeda. Ini cara Golang mendefinisikan tipe data bentukan — mirip object di bahasa lain, tanpa inheritance.

Kapan Pakai Yang Mana?

Array jarang dipake langsung di production — slice hampir selalu jadi pilihan untuk koleksi data berurutan karena lebih flexible. Map cocok buat lookup berdasarkan key. Struct untuk model data kompleks. Kombinasi slice of struct adalah pattern paling umum di kode Golang sehari-hari.

📎 Referensi

1. Go by Example: Arrays & Slices

2. Go by Example: Maps

3. Go by Example: Structs

4. Effective Go — Data Structures

Share this article
XLinkedInWhatsAppTelegram
Muhammad Amien

Muhammad Amien

Building software that bridges the gap between design and engineering. React, Laravel, and the art of shipping.

Have a project in mind?

I'm currently available for freelance work and collaboration. Let's build something together.

Get in Touch →

Comments

0 responses
Loading...
Loading comments
Tipe Data Komposit (Composite Data Types) di Golang | Muhammad Amien