Memahami Contoh Program Golang

Pengantar Bahasa Pemrograman Go

Go, atau sering disebut Golang, adalah bahasa pemrograman yang dikembangkan oleh Google. Dikenal karena kecepatannya, efisiensi konkurensi yang luar biasa (berkat goroutine), dan sintaksnya yang sederhana, Go telah menjadi pilihan utama untuk pengembangan backend, layanan mikro, dan alat CLI. Bagi pemula, memahami struktur dasar program Go adalah langkah krusial. Artikel ini akan menyajikan beberapa contoh program Golang fundamental yang mudah dipahami.

GO Struktur

Ilustrasi sederhana struktur program Go.

Contoh 1: Program "Hello World"

Setiap permulaan belajar bahasa pemrograman selalu dimulai dengan program "Hello World". Dalam Go, ini melibatkan deklarasi paket (package), impor pustaka standar (import), dan fungsi utama (main function).


package main

import "fmt"

func main() {
    fmt.Println("Halo Dunia dari Golang!")
}
            

Penjelasan: Baris pertama mendeklarasikan bahwa ini adalah program yang bisa dieksekusi (package main). Pustaka fmt diimpor untuk menangani input/output terformat. Fungsi main adalah titik masuk program.

Contoh 2: Variabel dan Tipe Data Dasar

Go adalah bahasa dengan pengetikan statis, namun ia memungkinkan inferensi tipe data yang kuat. Kita bisa mendeklarasikan variabel menggunakan var atau notasi pendek :=.


package main

import "fmt"

func main() {
    // Deklarasi menggunakan var
    var nama string = "Budi"
    
    // Inferensi tipe data (paling umum digunakan)
    usia := 25
    tinggi := 1.75 // float64 secara default

    fmt.Printf("Nama: %s, Usia: %d tahun, Tinggi: %.2fm\n", nama, usia, tinggi)
    
    // Konstanta
    const PI = 3.14159
    fmt.Println("Nilai PI:", PI)
}
            

Dalam contoh ini, kita melihat penggunaan tipe data string, integer (int), dan floating point (float64). Penggunaan := sangat efisien untuk inisialisasi variabel di dalam fungsi.

Contoh 3: Penggunaan Struktur Kontrol (If-Else)

Kontrol aliran eksekusi sangat penting. Sintaks Go untuk struktur kondisional if sangat bersih; tanda kurung kurawal wajib ada, tetapi tanda kurung biasa di sekitar kondisi bersifat opsional.


package main

import "fmt"

func main() {
    nilai := 85

    if nilai >= 90 {
        fmt.Println("Nilai Anda A")
    } else if nilai >= 70 {
        fmt.Println("Nilai Anda B")
    } else {
        fmt.Println("Perlu belajar lebih giat")
    }
}
            

Ini menunjukkan bagaimana Go menangani logika percabangan. Sintaks yang ringkas membuat kode mudah dibaca dibandingkan dengan beberapa bahasa lain.

Contoh 4: Fungsi dan Goroutine (Dasar Konkurensi)

Kekuatan utama Golang terletak pada konkurensi. Kita akan melihat contoh sederhana fungsi dan bagaimana meluncurkannya sebagai goroutine menggunakan kata kunci go.


package main

import (
    "fmt"
    "time"
)

// Fungsi sederhana yang akan dijalankan secara konkuren
func cetakHitungan(id int) {
    for i := 0; i < 3; i++ {
        fmt.Printf("Goroutine %d: Hitungan ke %d\n", id, i)
        time.Sleep(100 * time.Millisecond)
    }
}

func main() {
    fmt.Println("Memulai program utama.")
    
    // Meluncurkan dua goroutine secara bersamaan
    go cetakHitungan(1)
    go cetakHitungan(2)

    // Menunggu goroutine selesai (sangat penting di program kecil)
    time.Sleep(1 * time.Second) 
    
    fmt.Println("Program utama selesai.")
}
            

Perhatikan bahwa kita harus menggunakan time.Sleep di fungsi main. Tanpa jeda ini, fungsi main akan selesai sebelum goroutine sempat mencetak outputnya, menyebabkan program berakhir prematur. Kemampuan menjalankan banyak tugas secara bersamaan inilah yang membuat Golang sangat efisien untuk sistem modern. Memahami contoh program Golang ini memberikan fondasi kuat untuk eksplorasi lebih lanjut.

Kesimpulan

Golang dirancang untuk kesederhanaan dan performa. Mulai dari struktur paket yang jelas, sintaks variabel yang fleksibel, hingga dukungan bawaan untuk konkurensi melalui goroutine, Go menawarkan alat yang ampuh untuk pengembang. Dengan menguasai contoh program Golang dasar di atas, Anda telah mengambil langkah pertama yang solid dalam perjalanan pemrograman Go Anda.