Setelah berhasil setup project dengan Go Modules, sekarang waktunya untuk momen yang paling ditunggu-tunggu: menulis program Go pertama kamu! Di dunia programming, ada tradisi yang hampir semua programmer lewati - membuat program “Hello World”. Ini bukan sekadar tradisi, tapi langkah pertama yang menandai kamu resmi menjadi bagian dari komunitas programmer.
Bayangkan kamu baru saja belajar bahasa asing, dan kata pertama yang kamu ucapkan adalah “Halo”. Begitu juga dengan programming - “Hello World” adalah kata pertama yang kamu “ucapkan” ke komputer menggunakan bahasa Go. Sederhana, tapi penuh makna.
Mengapa Hello World Itu Penting?
Program Hello World bukan cuma tentang menampilkan teks di layar. Ada beberapa hal penting yang akan kamu pelajari:
Memahami Struktur Dasar Program Go Setiap program Go memiliki pola yang sama. Seperti resep masakan, ada urutan dan aturan yang harus diikuti agar “masakan” (program) kamu berhasil.
Mengenal Komponen Fundamental Dari satu program sederhana ini, kamu akan berkenalan dengan package, import, function, dan cara menampilkan output - semua elemen yang akan kamu gunakan terus-menerus.
Merasakan Proses Build dan Run Kamu akan belajar bagaimana Go mengubah kode yang kamu tulis menjadi program yang bisa dijalankan komputer.
Membuat File Program Go
Pertama-tama, mari buat file untuk program kita. Di dalam folder project yang sudah kamu buat di bab sebelumnya, buatlah file baru dengan nama main.go
.
# Masuk ke folder project kamu
cd hello-golang
# Buat file main.go (bisa pakai editor favoritmu)
touch main.go
Kenapa nama filenya main.go
? Sebenarnya kamu bisa kasih nama apa saja yang berakhiran .go
, tapi main.go
adalah konvensi umum untuk file utama program.
Program Hello World Pertama
Sekarang, buka file main.go
dengan editor kesukaan kamu dan ketik kode berikut. Jangan copy-paste, ketik manual supaya jari-jari kamu terbiasa dengan sintaks Go:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Setelah selesai, simpan file tersebut. Sekarang jalankan program dengan perintah:
go run main.go
Boom! Kamu akan melihat output:
Hello, World!
Selamat! Kamu baru saja menjadi programmer Go! 🎉
Bedah Anatomi Program Hello World
Mari kita pecah program ini baris per baris untuk memahami apa yang sebenarnya terjadi:
Baris 1: package main
package main
Package dalam Go seperti map atau peta yang mengelompokkan kode-kode yang saling berkaitan. Bayangkan package seperti departemen di kantor - ada departemen IT, departemen marketing, departemen finance. Setiap departemen punya tugas dan fungsi yang berbeda.
package main
adalah package spesial yang memberitahu Go: “Ini adalah program utama yang bisa dijalankan langsung”. Tanpa package main
, Go tidak akan tahu bahwa file ini adalah program yang bisa di-execute.
Aturan penting:
- Setiap file Go harus dimulai dengan deklarasi package
- Untuk program yang bisa dijalankan langsung, gunakan
package main
- Untuk library atau kode yang akan digunakan program lain, gunakan nama package yang lain
Baris 3: import "fmt"
import "fmt"
Import seperti meminjam alat dari gudang. Dalam hal ini, kamu meminjam “alat” bernama fmt
dari gudang standar Go. Package fmt
(singkatan dari “format”) berisi berbagai function untuk input dan output, termasuk function untuk mencetak teks ke layar.
Tanpa baris ini, Go tidak akan tahu apa itu fmt.Println
di baris selanjutnya. Seperti kamu mau menggunakan blender tapi lupa mengambilnya dari lemari.
Baris 5-7: Function main()
func main() {
fmt.Println("Hello, World!")
}
Function main()
adalah jantung dari program Go kamu. Ini adalah tempat eksekusi program dimulai - seperti tombol “Start” pada game. Ketika kamu menjalankan go run main.go
, Go akan mencari function main()
dan menjalankan semua kode di dalamnya.
Struktur function:
func
adalah keyword untuk membuat functionmain
adalah nama function (harus persis seperti ini untuk program utama)()
adalah tempat parameter (kosong dalam hal ini){}
mengapit semua kode yang akan dijalankan
Baris 6: fmt.Println("Hello, World!")
fmt.Println("Hello, World!")
Ini adalah baris yang melakukan pekerjaan utama! Mari kita pecah:
fmt
merujuk ke package yang sudah kita import.
adalah cara mengakses function di dalam package (seperti membuka kotak lalu mengambil isinya)Println
adalah function untuk mencetak teks dan menambah baris baru di akhir("Hello, World!")
adalah parameter - teks yang ingin dicetak
Fun fact: Println
adalah singkatan dari “Print line”. Ada juga Print
(tanpa baris baru) dan Printf
(dengan format khusus).
Variasi Program Hello World
Setelah berhasil dengan program dasar, coba beberapa variasi ini untuk lebih memahami cara kerja Go:
1. Hello World dengan Nama
package main
import "fmt"
func main() {
nama := "Budi"
fmt.Println("Hello,", nama, "!")
fmt.Println("Selamat datang di dunia Go!")
}
Output:
Hello, Budi !
Selamat datang di dunia Go!
2. Menggunakan Printf untuk Format
package main
import "fmt"
func main() {
nama := "Sari"
umur := 20
fmt.Printf("Halo, nama saya %s dan umur saya %d tahun\n", nama, umur)
}
Output:
Halo, nama saya Sari dan umur saya 20 tahun
3. Multiple Messages
package main
import "fmt"
func main() {
fmt.Println("Baris pertama")
fmt.Println("Baris kedua")
fmt.Println("Baris ketiga")
}
Output:
Baris pertama
Baris kedua
Baris ketiga
Perbedaan Print, Println, dan Printf
Go menyediakan tiga cara utama untuk menampilkan output:
fmt.Print()
Mencetak tanpa menambah baris baru di akhir:
fmt.Print("Hello ")
fmt.Print("World!")
// Output: Hello World!
fmt.Println()
Mencetak dan menambah baris baru di akhir:
fmt.Println("Hello")
fmt.Println("World!")
// Output:
// Hello
// World!
fmt.Printf()
Mencetak dengan format khusus:
nama := "Go"
versi := 1.21
fmt.Printf("Bahasa %s versi %.2f\n", nama, versi)
// Output: Bahasa Go versi 1.21
Error Yang Sering Terjadi
Sebagai pemula, wajar kalau kamu mengalami error. Berikut beberapa error umum dan solusinya:
1. package main is not a main package
Penyebab: Typo di package main
atau tidak ada function main()
Solusi: Pastikan baris pertama persis package main
dan ada function main()
2. undefined: fmt
Penyebab: Lupa import package fmt
Solusi: Tambahkan import "fmt"
setelah package main
3. syntax error: unexpected newline
Penyebab: Lupa tanda kurung tutup }
atau salah penempatan
Solusi: Periksa semua kurung kurawal sudah berpasangan
4. Program tidak menampilkan apa-apa
Penyebab: Mungkin tidak ada kode di dalam function main atau ada error yang tidak terlihat
Solusi: Pastikan ada kode di dalam function main dan tidak ada error saat compile
Langkah Selanjutnya
Setelah berhasil membuat program Hello World, kamu sudah memahami:
- ✅ Struktur dasar program Go
- ✅ Cara menggunakan package dan import
- ✅ Function main sebagai entry point
- ✅ Cara menampilkan output dengan fmt
- ✅ Proses build dan run program Go
Program Hello World memang sederhana, tapi ini adalah fondasi yang akan terus kamu gunakan. Dari sini, kamu akan belajar variabel, tipe data, conditional, looping, dan fitur-fitur Go lainnya yang akan membuat program kamu semakin canggih.
Remember: Setiap programmer pernah di titik yang sama seperti kamu sekarang. Yang membedakan programmer sukses dengan yang menyerah adalah konsistensi dalam belajar dan praktek. Keep coding!
Tips Praktis
- Selalu ketik manual - jangan copy-paste kode, supaya muscle memory terbentuk
- Coba variasi - ubah-ubah teks, tambah baris baru, eksperimen!
- Baca error message - Go punya error message yang cukup jelas, manfaatkan untuk belajar
- Praktek rutin - luangkan waktu 15-30 menit setiap hari untuk coding
Selamat! Kamu sudah resmi menjadi Go programmer. Di bab selanjutnya, kita akan belajar tentang variabel - cara menyimpan dan mengelola data dalam program kamu.