Tutorial Membuat REST API Golang dengan Fiber & MySQL

Di era pengembangan aplikasi modern, kebutuhan akan backend yang cepat, ringan, dan mudah dikembangkan menjadi semakin penting. Developer tidak lagi hanya dituntut bisa menulis kode, tetapi juga mampu membangun API yang rapi, scalable, dan siap digunakan oleh berbagai platform seperti web maupun mobile.

Golang hadir sebagai salah satu bahasa pemrograman yang banyak digunakan di industri karena performanya yang tinggi dan dukungan concurrency yang kuat. Dikombinasikan dengan Fiber Framework dan MySQL, kita bisa membangun REST API yang efisien tanpa konfigurasi berlebihan.

Pada artikel ini, kita akan membahas langkah demi langkah cara membuat REST API sederhana menggunakan Golang, mulai dari setup project, koneksi database, hingga pengujian endpoint menggunakan Postman.

Tutorial Membuat REST API Golang dengan Fiber & MySQL

🚀 Tutorial Membuat REST API Golang dengan Fiber & MySQL

Backend • Golang • REST API

Pada tutorial ini kita akan membuat REST API sederhana menggunakan Golang, Fiber Framework, dan MySQL. Cocok untuk kamu yang ingin membangun backend cepat, ringan, dan siap produksi.

📌 Tech Stack

  • Golang
  • Fiber Framework
  • MySQL
  • GORM ORM

1️⃣ Persiapan Project

go version
mkdir go-fiber-api
cd go-fiber-api
go mod init go-fiber-api
go get github.com/gofiber/fiber/v2
go get gorm.io/gorm
go get gorm.io/driver/mysql

2️⃣ Struktur Folder

go-fiber-api/
├── main.go
├── config/
│   └── database.go
├── models/
│   └── user.go
├── controllers/
│   └── user_controller.go
└── routes/
    └── route.go

3️⃣ Koneksi Database MySQL

package config

import (
  "gorm.io/driver/mysql"
  "gorm.io/gorm"
)

func ConnectDB() *gorm.DB {
  dsn := "root:password@tcp(127.0.0.1:3306)/db_test?charset=utf8mb4&parseTime=True&loc=Local"
  db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
  if err != nil {
    panic("Gagal koneksi database")
  }
  return db
}

4️⃣ Model User

package models

import "gorm.io/gorm"

type User struct {
  gorm.Model
  Name  string `json:"name"`
  Email string `json:"email"`
}

5️⃣ Controller CRUD

package controllers

import (
  "github.com/gofiber/fiber/v2"
  "go-fiber-api/config"
  "go-fiber-api/models"
)

var db = config.ConnectDB()

func GetUsers(c *fiber.Ctx) error {
  var users []models.User
  db.Find(&users)
  return c.JSON(users)
}

func CreateUser(c *fiber.Ctx) error {
  user := new(models.User)
  if err := c.BodyParser(user); err != nil {
    return c.Status(400).JSON(fiber.Map{"error": err.Error()})
  }
  db.Create(&user)
  return c.JSON(user)
}

6️⃣ Routing

package routes

import (
  "github.com/gofiber/fiber/v2"
  "go-fiber-api/controllers"
)

func SetupRoutes(app *fiber.App) {
  api := app.Group("/api")
  api.Get("/users", controllers.GetUsers)
  api.Post("/users", controllers.CreateUser)
}

7️⃣ Main App

package main

import (
  "github.com/gofiber/fiber/v2"
  "go-fiber-api/routes"
)

func main() {
  app := fiber.New()
  routes.SetupRoutes(app)
  app.Listen(":3000")
}

8️⃣ Testing dengan Postman

Endpoint:

  • GET → http://localhost:3000/api/users
  • POST → http://localhost:3000/api/users
{
  "name": "Tuan",
  "email": "tuan@mail.com"
}

✅ Penutup

Dengan Fiber + Golang, kamu bisa membangun REST API yang cepat, minimalis, dan cocok untuk microservice. Tutorial ini bisa dikembangkan ke JWT Auth, Docker, dan Clean Architecture.

🚀 Tren Teknologi 2026 yang Wajib Dipantau Developer


Dunia teknologi bergerak makin cepat. Developer, mahasiswa IT, sampai pelaku startup perlu adaptif agar tidak tertinggal. Berikut tren teknologi yang paling berpengaruh saat ini.

1. AI Bukan Sekadar Tools, Tapi Co-Worker

AI generatif seperti ChatGPT, Copilot, dan Gemini kini jadi coding partner.
Manfaat utama:

  • Auto-complete kode

  • Refactor & bug fixing

  • Generate dokumentasi

Skill penting: prompt engineering + critical thinking, bukan sekadar ngoding.

2. Backend Ringan & Cepat: Golang, Bun, dan Rust

Monolith mulai ditinggalkan. Microservice & high-performance backend jadi standar.
Kenapa Golang makin dilirik?

  • Concurrency native

  • Cocok untuk API & cloud

  • Dipakai di industri nyata (Docker, Kubernetes)

3. Flutter & React Masih Dominan

Flutter tetap unggul di cross-platform mobile, React kuat di web.
Tren baru:

  • Flutter + Backend API (Lumen, Go, Node)

  • React + Server Components

  • Fokus ke performa & UX

4. Cloud + DevOps Jadi Skill Wajib

Bukan cuma “bisa deploy”, tapi:

  • Docker & Docker Compose

  • CI/CD (GitHub Actions)

  • Cloud murah & scalable (Railway, Fly.io, AWS Lightsail)

Developer tanpa DevOps = setengah siap industri.

5. Web3: Bukan Hype, Tapi Spesifik Use Case

Web3 tetap hidup untuk:

  • Smart contract

  • Decentralized finance

  • Digital ownership

Tapi: tidak semua aplikasi butuh blockchain. Gunakan jika memang relevan.

6. Keamanan Jadi Prioritas

Ancaman makin kompleks:

  • Data breach

  • Token leakage

  • API abuse

Skill dasar yang wajib:

  • JWT & OAuth

  • Secure API

  • Input validation & rate limiting


✍️ Penutup

Developer masa kini bukan cuma tukang kode, tapi problem solver yang paham arsitektur, tren, dan kebutuhan industri. Fokus ke fundamental + adaptasi teknologi baru adalah kunci bertahan di dunia IT.

Review service menggunakan API, Docker sebagai microservice dan Flutter untuk Mobile

 Nama: Sabran Hakim

Nim: 2301091027

Kelas: MI 3A

Github: 

    - Docker :https://github.com/sabranhakim/ecommerce-docker.git

    - Flutter: https://github.com/sabranhakim/ecommerce_flutter.git



Postman Testing Calling endpoint





Cart Service menggunakan API, Docker sebagai Microservice dan Flutter sebagai Mobile UI

 Nama: Sabran Hakim

Nim: 2301091027

Kelas: MI 3A

Github: 

    - Docker: https://github.com/sabranhakim/ecommerce-docker.git 

    - Flutter: https://github.com/sabranhakim/ecommerce_flutter.git



UTS Microservices SmartEdu High School : Pengelolaan Pegawai with Docker (perbaikan nilai uts)

Cek IP Mysql dan phpmyadmin

 Sabran Hakim

2301091027






Docker Volume

 Nama: Sabran Hakim

Nim: 23001091027

Mata Kuliah: Microservice



Duplicate