Belajar Gin - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar Gin - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh Gin, kalian perlu menguasai dasar bahasa Go, konsep HTTP dan REST, serta toolchain Go. Di episode ini kalian juga menyiapkan environment, menginstall Gin v1.12.0, dan memverifikasi instalasi pertama.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Selamat datang di series Belajar Gin! Series ini akan membawa kalian menguasai Gin — web framework HTTP paling populer untuk bahasa Go — dari fondasi konsep sampai production readiness. Total ada 23 episode yang tersusun dari enam fase: pre-requisites, basic operational, data management, security, scaling, dan production.

Sebelum masuk ke kode Gin, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena Gin bukan framework ajaib: dia adalah lapisan tipis di atas net/http standar Go. Semua konsep seperti method HTTP, status code, header, dan body JSON harus sudah kalian pahami agar tidak bingung saat membaca kode handler.

Episode 0 ini adalah peta jalan kalian: memastikan skill dasar, menyiapkan Go toolchain, menginstall Gin v1.12.0, dan melakukan verifikasi pertama. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar yang Wajib Dikuasai

Bahasa Go dan Sistem Modul

Gin ditulis dalam Go dan dipakai dari Go, jadi kalian wajib nyaman dengan sintaks dasar: variabel, fungsi, struct, interface, slice, dan map. Pahami juga sistem modul modern Go:

  • Module: unit distribusi kode yang didefinisikan di go.mod.
  • Package: kumpulan file Go dalam satu folder yang berbagi nama paket.
  • Struct tag: metadata di belakang field struct, misalnya tag json, yang menjadi fondasi binding Gin.
  • net/http: paket standar Go untuk HTTP yang menjadi dasar semua framework web.
Struct dengan tag json
package main
 
import "fmt"
 
type User struct {
    Name  string `json:"name"`
    Email string `json:"email"`
}
 
func main() {
    u := User{Name: "Arman", Email: "arman@example.com"}
    fmt.Printf("%s - %s\n", u.Name, u.Email)
}

Struct tag seperti json:"name" inilah yang nanti dibaca Gin saat melakukan binding request ke struct. Tanpa paham konsep ini, episode 5 tentang binding akan terasa membingungkan.

Konsep HTTP dan REST

Gin adalah framework HTTP, jadi pahami setidaknya hal-hal berikut:

  • HTTP method: GET, POST, PUT, PATCH, DELETE, OPTIONS.
  • Status code: 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 404 Not Found, 500 Internal Server Error.
  • Header: seperti Content-Type dan Authorization.
  • Body JSON: format pertukaran data utama di REST API.

REST (Representational State Transfer) adalah gaya arsitektur yang memetakan resource ke URL. Contohnya GET /users/1 untuk membaca user dengan id 1. Konsep ini akan terus dipakai sejak episode 3.

Cek dasar curl
curl -i http://example.com

Perhatikan bahwa perintah curl -i http://example.com menampilkan status line dan header. Kebiasaan memakai curl untuk menguji API akan menjadi rutinitas sepanjang series ini.

Database dan Git

Untuk fase data management (episode 9-12), kalian butuh dasar database:

  • SQL: query dasar seperti SELECT, INSERT, UPDATE, DELETE.
  • PostgreSQL atau MySQL: salah satu database relasional untuk disimpan secara lokal.
  • Redis: opsional, akan dipakai untuk caching dan token di episode 13 dan 19.

Gunakan juga Git untuk versioning:

Verifikasi Git
git --version
git config --global user.name "Nama Kalian"
git config --global user.email "kalian@example.com"

Perangkat Lunak yang Perlu Disiapkan

Go Toolchain

Pastikan Go terinstall dengan versi stabil terbaru, minimal Go 1.24:

Verifikasi versi Go
go version
go env GOPATH GOROOT

Output go version harus menampilkan go1.24 atau lebih baru. Jalankan juga go env GOPATH untuk mengetahui lokasi modul global kalian.

Menginstall Gin

Setelah Go siap, buat direktori project dan inisialisasi modul, lalu install Gin v1.12.0:

Init modul dan install Gin
mkdir belajar-gin
cd belajar-gin
go mod init belajar-gin
go get github.com/gin-gonic/gin@v1.12.0

Perintah go get github.com/gin-gonic/gin@v1.12.0 akan menambahkan Gin ke go.mod dan go.sum. Versi v1.12.0 adalah stable release terbaru per penulisan series ini (Februari 2026). Setelah install, verifikasi versi yang tertulis:

Cek versi Gin di go.mod
go list -m github.com/gin-gonic/gin

Editor dan API Client

Disarankan memakai VS Code dengan ekstensi Go resmi dari golang.go. Ekstensi ini menyediakan IntelliSense, formatting, dan debugging terintegrasi. Untuk menguji API, kalian bisa memakai:

  • curl: sudah tersedia di terminal, cukup untuk verifikasi cepat.
  • Bruno: API client open-source yang menyimpan koleksi request sebagai file.
  • Postman: alternatif populer dengan fitur lengkap.

Semua contoh pengujian di series ini memakai curl agar mudah disalin ke terminal.

Verifikasi Instalasi

Sebelum lanjut ke episode 1, buat file main.go di root project dan jalankan:

Verifikasi pertama Gin
package main
 
import (
    "net/http"
 
    "github.com/gin-gonic/gin"
)
 
func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{"message": "pong"})
    })
    r.Run(":8080")
}

Jalankan server di satu terminal, lalu tes dari terminal lain:

Jalankan server
go run main.go
Tes dari terminal lain
curl http://localhost:8080/ping

Jika output menampilkan {"message":"pong"}, environment kalian sudah siap. Fungsi gin.Default() menciptakan engine dengan middleware Logger dan Recovery bawaan — detailnya akan kita bedah di episode 3.

Info

Jika port 8080 sudah terpakai, ubah argumen r.Run menjadi r.Run(":9090") dan sesuaikan perintah curl.

Ringkasan Skill yang Harus Dikuasai

Rangkuman prasyarat yang sudah kalian siapkan di episode 0:

  • Go 1.24+ dengan pemahaman module, package, struct tag, dan net/http.
  • Konsep HTTP: method, status code, header, dan body JSON.
  • Dasar REST dan kebiasaan menguji dengan curl.
  • Gin v1.12.0 terinstall dan terverifikasi lewat go list -m.
  • Git dan database lokal (PostgreSQL/MySQL) sebagai bekal fase berikutnya.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 22 episode berikutnya terasa jauh lebih ringan.

Penutup

Inti yang harus dibawa pulang:

  • Gin adalah lapisan tipis di atas net/http: kuasai dulu dasar Go dan HTTP.
  • Struct tag seperti json:"name" adalah fondasi binding Gin.
  • Install Go 1.24+, lalu go get github.com/gin-gonic/gin@v1.12.0.
  • Biasakan menguji API dengan curl.
  • Verifikasi pertama: buat engine gin.Default() dan tes endpoint /ping.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan Gin — dari evolusi net/http, kelahiran Gin sebagai fork dari Martini pada 2014, hingga perbandingan awal dengan Echo, Fiber, chi, dan net/http polos. Pastikan environment kalian sudah siap, karena perjalanan Belajar Gin baru saja dimulai!

Belajar Gin - Pre-Requisites Skill & Setup Environment | Belajar Gin