bangden.id/blog/pengenalan-dan-fungsi-golang
EngineeringJan 30, 20266 min read

Pengenalan dan fungsi Golang

Kenalan santai dengan Golang (Go): apa itu, kenapa populer, dan dipakai untuk apa saja — lengkap dengan contoh kode kecil yang gampang dipahami.

Pengenalan dan fungsi Golang
BD

Bang Den

Verified Author

Frontend Engineer & UI/UX Designer. Passionate about creating beautiful, performant web experiences.

Pernah nggak sih kamu lagi cari bahasa buat backend, terus ketemu rekomendasi yang itu-itu lagi: “pake ini cepat”, “pake itu scalable”, “pake ini banyak job”… lalu ujungnya kamu makin bingung.

Nah, Golang (Go) sering muncul di list itu. Dan biasanya orang yang nyaranin Go punya vibe yang sama: “yang penting beres, kenceng, gampang dirawat.”

Di artikel ini aku bakal ngajak kamu kenalan pelan-pelan:

  • Golang itu apa (versi ngobrol, bukan definisi buku)
  • fungsi Golang di dunia kerja (backend, microservices, DevOps, dll)
  • contoh mini biar kebayang

Kalau kamu sambil baca tiba-tiba mikir, “Kayaknya ini relate ke kebutuhanku,” berarti pas.

Golang itu apa sih?

Golang (Go) adalah bahasa pemrograman yang dibuat oleh Google. Tujuannya nggak muluk-muluk: bikin bahasa yang cepat, simpel, dan enak dipakai buat sistem yang jalan terus (service, server, tooling).

Kalau dijelasin dengan cara yang lebih “kerasa”:

  • Go itu cenderung anti drama. Fitur ada, tapi nggak kebanyakan.
  • Go itu suka rapi. Format kode biasanya seragam (jadi review PR lebih adem).
  • Go itu jago di concurrency (ngurus banyak kerjaan barengan).

Dan ya, Go itu tipe bahasa yang sering bikin orang bilang: “Oke, ternyata bikin server itu nggak semenakutkan itu.”

Kenapa Golang populer?

Aku lempar pertanyaan kecil dulu (seriusan jawab di kepala aja):

Kamu pengen bikin aplikasi yang cepat jalan, atau cepat jadi?

Go lumayan unik karena sering bisa “nyentuh dua-duanya”:

  • Build jadi satu binary: habis go build, hasilnya biasanya satu file executable. Deploy jadi simpel.
  • Performa bagus: cukup kenceng untuk banyak kasus backend.
  • Tooling bawaan matang: formatter, testing, module management udah disiapin.

Makanya Go banyak dipakai di dunia cloud-native dan backend modern.

Fungsi Golang (dipakai untuk apa saja?)

Oke, sekarang masuk inti: fungsi Golang itu paling kelihatan di mana?

1) Backend API (REST / GraphQL)

Ini penggunaan paling umum: bikin API yang stabil dan ringan.

Contoh server HTTP yang bener-bener minimal:

Go
1package main
2
3import (
4 "fmt"
5 "net/http"
6)
7
8func main() {
9 http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
10 fmt.Fprintln(w, "Halo! Ini server Go pertamamu")
11 })
12
13 fmt.Println("Server jalan di http://localhost:8080")
14 _ = http.ListenAndServe(":8080", nil)
15}

Kalau kamu coba ini, biasanya reaksinya antara:

  • “Lah, udah jalan?”
  • “Berarti bisa nih buat endpoint kecil-kecil dulu.”

Dan itu bagus. Banyak orang mulai dari yang kecil.

2) Microservices

Kalau sistem kamu terdiri dari banyak layanan kecil (microservices), Go sering jadi pilihan karena:

  • runtime-nya efisien
  • mudah dipaketin
  • cocok buat service yang “kerja terus”

Biasanya Go ketemu di stack yang juga berisi Docker, Kubernetes, gRPC, dan message broker (Kafka/RabbitMQ). Nggak wajib semuanya, tapi sering begitu.

3) CLI Tools (Command Line)

Kalau kamu suka bikin tool internal (misalnya generator, migrator, atau helper deployment), Go enak banget.

Kenapa?

  • hasil build bisa satu binary
  • gampang dibawa ke server/VM
  • performa oke untuk tooling

Bonus fun fact: banyak tool populer (misal ekosistem cloud) ditulis pakai Go.

4) Concurrency: kerja barengan tanpa pusing

Ini salah satu “senjata utama” Go: goroutine dan channel.

Gampangnya, kamu bisa jalanin banyak pekerjaan secara paralel tanpa bikin program kamu jadi ribet dari awal.

Contoh kecil (dua task jalan barengan, nanti kita ambil hasilnya):

Go
1package main
2
3import (
4 "fmt"
5 "time"
6)
7
8func kerja(nama string, durasi time.Duration, done chan<- string) {
9 time.Sleep(durasi)
10 done <- nama
11}
12
13func main() {
14 done := make(chan string)
15
16 go kerja("task-A", 500*time.Millisecond, done)
17 go kerja("task-B", 300*time.Millisecond, done)
18
19 fmt.Println("Selesai:", <-done)
20 fmt.Println("Selesai:", <-done)
21}

Kalau kamu baru pertama lihat concurrency, wajar kalau agak “kok bisa?”

Tenang. Nanti kalau udah main context, timeout, dan cancelation, baru berasa ini kepake banget di backend.

5) DevOps & cloud tooling

Di dunia DevOps, Go sering nongol karena banyak agent/tooling perlu:

  • ringan
  • stabil
  • gampang didistribusikan

Jadi bukan cuma “Go dipakai buat bikin tool”, tapi juga “tool-tool itu bikin orang makin sering ketemu Go.”

6) Worker & data processing ringan

Untuk worker (queue consumer), batch job, log processing, ETL sederhana: Go juga sering dipakai.

Catatan jujur: kalau kamu butuh eksplorasi data yang banyak coba-coba (notebook, plot, statistik), Python biasanya lebih nyaman. Tapi kalau kamu butuh worker yang jalan stabil dan rapi, Go bisa jadi opsi yang enak.

Kapan Golang kurang cocok?

Supaya adil: Go itu bagus, tapi bukan jawaban untuk semua hal.

Go mungkin kurang cocok kalau:

  • kamu butuh prototyping super cepat dengan library “tinggal pakai” untuk banyak domain (Python sering menang di sini)
  • fokusmu UI yang kompleks (web/mobile) dan kamu pengen ekosistem UI yang super besar
  • tim kamu sangat bergantung pada pola OOP klasik yang berat (Go lebih minimalis)

Tapi kalau targetmu backend service, microservices, CLI tools, atau infra: Go kuat.

Kesalahan pemula yang sering kejadian (biar kamu nggak jatuh di lubang yang sama)

Ini bagian yang sering bikin orang kepleset pas awal belajar Go:

  • Kebanyakan goroutine tanpa kontrol: jalan sih jalan, tapi lupa limit, lupa timeout.
  • Lupa context: request udah dibatalkan, tapi kerjaan di background masih jalan.
  • Error handling asal lewat: if err != nil itu keliatan repetitif, tapi justru bikin alur jelas.
  • Over-engineering dari awal: baru bikin API 3 endpoint udah mikir microservices 12 service.

Kalau kamu merasa “wah kayaknya gue banget,” santai — itu normal.

Cara mulai belajar Golang (yang realistis)

Kalau kamu baru mulai, coba jalur yang nggak bikin pusing:

  1. Install Go, cek go version
  2. Bikin server kecil (kayak contoh di atas) + tambah 2 endpoint
  3. Tambahin log sederhana + validasi input
  4. Baru belajar struct, interface, dan cara design paket
  5. Setelah itu: concurrency (goroutine/channel) + context

Kalau kamu pengen, jawab satu pertanyaan ini: kamu mau pakai Go untuk API, worker, atau CLI tool? Nanti aku bisa bikinin ide project pertama yang pas dan nggak kebesaran.

FAQ singkat

Golang dan Go itu beda?

Nggak beda. “Golang” itu sebutan populer (karena domain golang.org dulu), nama bahasanya “Go”.

Golang cocok buat pemula?

Cocok, terutama kalau kamu suka hal yang jelas dan nggak banyak “magic”. Tantangan awal biasanya di error handling dan cara mikir concurrency.

Golang dipakai perusahaan besar?

Iya. Banyak sistem backend dan tooling cloud-native modern dibangun pakai Go.

Penutup

Kalau diringkas tanpa banyak gaya: fungsi Golang paling kuat ada di backend API, microservices, CLI tools, dan cloud/DevOps. Go itu bukan “bahasa untuk semua hal”, tapi untuk area itu… dia sering jadi pilihan yang aman dan efisien.

Sekarang giliran kamu: kamu pengen belajar Go buat kebutuhan apa dulu—API, worker, atau CLI? Aku bisa sesuaikan contoh project-nya biar kamu langsung praktek.

Share this article

Bang Den

Blog personal tentang teknologi, programming, dan kehidupan digital. Berbagi pengalaman dan tutorial untuk sesama developer.

Connect

Feel free to reach out!

© Bang Den. All rights reserved.

Built with using Next.js & Tailwind CSS