Go (atau Golang) adalah bahasa pemrograman yang dikembangkan oleh Google pada tahun 2009. Bahasa ini dirancang untuk efisiensi, kecepatan, dan kemudahan dalam pengembangan perangkat lunak modern. Go populer untuk pengembangan backend, microservices, dan alat DevOps.
Dalam tutorial ini, kita akan mempelajari dasar-dasar Go, mulai dari instalasi hingga pembuatan program sederhana.
1. Instalasi Go
Sebelum memulai, pastikan Go sudah terinstal di komputer Anda.
Instalasi di Windows
-
Download installer dari golang.org/dl.
-
Jalankan installer dan ikuti petunjuknya.
-
Setelah selesai, buka CMD dan cek versi Go:
go version
Instalasi di Linux/macOS
-
Unduh versi terbaru Go:
wget https://golang.org/dl/go1.21.0.linux-amd64.tar.gz
-
Ekstrak dan pindahkan ke
/usr/local
:sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
-
Tambahkan PATH di
.bashrc
atau.zshrc
:export PATH=$PATH:/usr/local/go/bin
-
Verifikasi instalasi:
go version
2. Struktur Dasar Program Go
Buat file hello.go
dan ketik kode berikut:
package main // Setiap program Go dimulai dengan package main import "fmt" // Import package untuk input/output func main() { // Fungsi utama fmt.Println("Hello, Dunia!") // Cetak teks ke console }
Penjelasan Kode:
-
package main
→ Package utama yang harus ada di program executable. -
import "fmt"
→ Package untuk operasi input/output sepertiPrintln()
. -
func main()
→ Fungsi utama yang dijalankan pertama kali. -
fmt.Println()
→ Mencetak teks ke console.
Menjalankan Program:
go run hello.go
Output:
Hello, Dunia!
3. Variabel dan Tipe Data
Go mendukung beberapa tipe data seperti string
, int
, float64
, dan bool
.
Deklarasi Variabel
package main import "fmt" func main() { // Cara 1: Deklarasi eksplisit var nama string = "Budi" // Cara 2: Type inference (otomatis) umur := 20 // Cara 3: Multiple variables var ( alamat = "Jakarta" tinggi = 175.5 ) fmt.Println("Nama:", nama) fmt.Println("Umur:", umur) fmt.Println("Alamat:", alamat) fmt.Println("Tinggi:", tinggi) }
Tipe Data di Go
Tipe Data | Contoh |
---|---|
string |
"Go" |
int |
42 |
float64 |
3.14 |
bool |
true |
4. Kondisi dan Perulangan
Kondisi (If-Else)
nilai := 85 if nilai >= 80 { fmt.Println("A") } else if nilai >= 70 { fmt.Println("B") } else { fmt.Println("C") }
Perulangan (For Loop)
Go hanya punya for
loop (tidak ada while
).
// Loop dasar for i := 1; i <= 5; i++ { fmt.Println(i) } // While-style loop x := 1 for x < 5 { fmt.Println(x) x++ }
5. Fungsi di Go
Fungsi digunakan untuk mengorganisir kode.
package main import "fmt" // Fungsi dengan parameter dan return value func tambah(a int, b int) int { return a + b } func main() { hasil := tambah(5, 3) fmt.Println("5 + 3 =", hasil) }
Fungsi dengan Multiple Return
func hitung(a, b int) (int, int) { return a + b, a * b } func main() { jumlah, kali := hitung(4, 5) fmt.Println("4+5 =", jumlah) fmt.Println("4*5 =", kali) }
6. Struct dan Method (OOP Sederhana)
Go tidak memiliki class, tetapi menggunakan struct
.
package main import "fmt" // Definisi struct type Mahasiswa struct { Nama string Umur int } // Method (fungsi yang menempel pada struct) func (m Mahasiswa) Perkenalan() { fmt.Printf("Halo, nama saya %s, umur %d tahun\n", m.Nama, m.Umur) } func main() { // Buat objek struct mhs1 := Mahasiswa{"Andi", 21} // Panggil method mhs1.Perkenalan() }
7. Contoh Program Sederhana: Kalkulator
package main import "fmt" func main() { var a, b int var operasi string fmt.Print("Masukkan angka pertama: ") fmt.Scan(&a) fmt.Print("Masukkan angka kedua: ") fmt.Scan(&b) fmt.Print("Pilih operasi (+, -, *, /): ") fmt.Scan(&operasi) switch operasi { case "+": fmt.Println("Hasil:", a + b) case "-": fmt.Println("Hasil:", a - b) case "*": fmt.Println("Hasil:", a * b) case "/": fmt.Println("Hasil:", a / b) default: fmt.Println("Operasi tidak valid!") } }
Kesimpulan
Go adalah bahasa yang sederhana, cepat, dan powerful untuk pengembangan modern. Dalam tutorial ini, kita telah mempelajari:
✅ Instalasi Go
✅ Struktur program dasar
✅ Variabel & tipe data
✅ Kondisi & perulangan
✅ Fungsi
✅ Struct & method
✅ Contoh program kalkulator
Coba eksplorasi lebih lanjut dengan membuat proyek kecil seperti API sederhana atau aplikasi CLI.
Selamat coding! 🚀
Referensi: