Mengenal Program Golang

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 library math.
  • Modulo (%): Operator ini digunakan untuk mencari sisa bagi. Jika luasInt % 2 hasilnya 0, maka angka tersebut habis dibagi dua (Genap).
  • Type Casting: Perhatikan int(luas). Di Go, kita tidak bisa langsung melakukan operasi modulo pada tipe float64 (desimal), jadi kita ubah dulu ke integer.

Kenapa Go Sangat Oke untuk Matematika?

  1. Strict Typing: Go akan protes jika kamu mencoba menjumlahkan integer dengan float tanpa konversi. Ini mencegah hasil perhitungan yang tidak akurat (bug presisi).
  2. Kecepatan Eksekusi: Untuk perhitungan yang butuh jutaan iterasi (seperti simulasi Monte Carlo atau enkripsi), Go jauh lebih cepat daripada Python.

Baca pembuatan aplikasi digital untuk pengentasan kemiskinan dari Regarcomm Development.

Baca Juga mengenal Regarcomm Development

Bikin Soal ExamView Nggak Pakai Ribet: Panduan Import dari File Word untuk Dev & Edukator

Bikin Soal ExamView Nggak Pakai Ribet: Panduan Import dari File Word untuk Dev & Edukator Sebagai orang yang akrab dengan dunia pemrograman dan efisiensi teknologi, melihat pekerjaan copy-paste manual satu per satu terasa sangat tidak efisien. Bayangkan harus memasukkan 100 soal ke ExamView Test Generator dengan cara klik new question, ketik soal, ketik opsi A,

Read More »

Aplikasi Website Akuntansi Usaha

Aplikasi Web Akuntansi dengan data input dan laporan akuntansi lengkap beserta ekspor laporan dalam format PDF dan Excel Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap

Read More »

Aplikasi Web Absensi Karyawan By Scan QR

Aplikasi Web Absensi dengan sistem input manual dan Scan QR serta laporan absensi lengkap beserta ekspor laporan dalam format PDF dan Excel Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak

Read More »

Paket Aplikasi Toko Online

Aplikasi Web Toko Online Harga : Rp.1.500.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap tahun Kembali Menu Depan

Read More »

Paket Aplikasi Inventory

Aplikasi Web Inventory Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap tahun Kembali Ke Menu

Read More »

Paket Absen Sekolah

Aplikasi Web Absen Sekolah Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap tahun Klik di sini

Read More »