

Apa itu Golang?
Golang adalah bahasa pemrograman open-source yang dikembangkan oleh tim di Google (Robert Griesemer, Rob Pike, dan Ken Thompson) pada tahun 2007 dan dirilis ke publik pada 2009.
Dibuat karena rasa frustrasi para teknisi Google terhadap bahasa seperti C++ atau Java yang dianggap terlalu kompleks dan lambat saat melakukan kompilasi dalam skala besar. Go hadir sebagai solusi: secepat C++, semudah Python, dan seefisien Java dalam menangani multithreading.
Fungsi Utama Golang
Secara garis besar, Go dirancang untuk menangani sistem yang masif. Berikut adalah kegunaan utamanya:
- Pengembangan Cloud-Native: Go adalah bahasa “ibu” dari teknologi cloud modern seperti Docker dan Kubernetes.
- Microservices: Karena ukurannya yang ringan dan eksekusi yang cepat, Go sangat ideal untuk arsitektur microservices.
- Backend Web Development: Banyak startup dan perusahaan besar (seperti Gojek, Tokopedia, Uber) menggunakan Go untuk API backend yang butuh performa tinggi.
- Networking & Tooling: Digunakan untuk membuat alat bantu infrastruktur, server jaringan, dan sistem distribusi data.
Tujuan Diciptakannya Golang
Kenapa dunia butuh Go? Google merancangnya dengan tiga pilar utama sebagai tujuan:
1. Efisiensi dan Kecepatan
Go adalah bahasa yang di-kompilasi (compiled language) langsung ke kode mesin. Hal ini membuatnya jauh lebih cepat daripada bahasa yang menggunakan interpreter (seperti Python atau PHP).
2. Concurrency (Kemampuan Menjalankan Banyak Tugas)
Ini adalah “senjata rahasia” Go. Melalui fitur bernama Goroutines, Go bisa menjalankan ribuan tugas secara bersamaan tanpa memakan banyak memori (RAM). Sangat cocok untuk aplikasi yang melayani jutaan pengguna sekaligus.
3. Kesederhanaan (Simplicity)
Go membuang fitur-fitur rumit yang sering membingungkan di bahasa lain, seperti inheritance (pewarisan), classes, dan try-catch. Tujuannya agar kode mudah dibaca dan dikelola oleh tim besar.

Struktur Dasar Kode Go
Agar lebih terbayang, begini tampilan program “Hello World” di Go:
Go
package main // Syarat utama: setiap file executable harus punya package main
import "fmt" // Mengimpor library untuk format input/output
func main() {
fmt.Println("Halo, selamat datang di dunia Go!")
}
Karakteristik Penting:
- Statically Typed: Tipe data harus jelas (angka, teks, dsb), yang membantu mencegah error saat program dijalankan.
- Garbage Collection: Go otomatis membersihkan memori yang tidak terpakai, jadi kamu tidak perlu pusing mengelola RAM secara manual.
membuat program Go sederhana yang menerapkan logika matematika. Kita akan membuat program untuk menghitung Luas Lingkaran dan menentukan apakah hasilnya merupakan Bilangan Genap atau Ganjil.
Dalam contoh ini, kita akan menggunakan rumus matematika:
$$Luas = \pi \times r^2$$
Contoh Kode: Kalkulator Lingkaran & Logika Ganjil-Genap
Berikut adalah kode Go yang bersih dan mudah dipahami:
Go
package main
import (
"fmt"
"math"
)
func main() {
// 1. Deklarasi Variabel
var jariJari float64 = 7
const Pi = 3.14
// 2. Operasi Matematika: Menghitung Luas
// Kita gunakan math.Pow untuk pemangkatan: r^2
luas := Pi * math.Pow(jariJari, 2)
fmt.Printf("Jari-jari: %.2f\n", jariJari)
fmt.Printf("Hasil Luas Lingkaran: %.2f\n", luas)
// 3. Logika Perbandingan & Pengkondisian (If-Else)
// Kita konversi ke integer dulu untuk mengecek ganjil/genap dengan modulo (%)
luasInt := int(luas)
fmt.Printf("Jika dibulatkan ke bawah: %d\n", luasInt)
if luasInt % 2 == 0 {
fmt.Println("Status: Hasil luas merupakan Bilangan GENAP.")
} else {
fmt.Println("Status: Hasil luas merupakan Bilangan GANJIL.")
}
}
Penjelasan Logika di Atas:
math.Pow(jariJari, 2): Ini adalah cara Go melakukan operasi eksponen ($r^2$). Go sangat ketat dengan tipe data, jadi kita menggunakan librarymath.- Modulo (
%): Operator ini digunakan untuk mencari sisa bagi. JikaluasInt % 2hasilnya0, maka angka tersebut habis dibagi dua (Genap). - Type Casting: Perhatikan
int(luas). Di Go, kita tidak bisa langsung melakukan operasi modulo pada tipefloat64(desimal), jadi kita ubah dulu ke integer.
Kenapa Go Sangat Oke untuk Matematika?
- Strict Typing: Go akan protes jika kamu mencoba menjumlahkan integer dengan float tanpa konversi. Ini mencegah hasil perhitungan yang tidak akurat (bug presisi).
- Kecepatan Eksekusi: Untuk perhitungan yang butuh jutaan iterasi (seperti simulasi Monte Carlo atau enkripsi), Go jauh lebih cepat daripada Python.