Skip to main content

Bab 1: Pendahuluan

Dalam buku ini kita akan membangun sebuah aplikasi web bernama Snippetbox, yang memungkinkan pengguna untuk menyimpan dan membagikan potongan teks — mirip seperti Pastebin atau Gists oleh GitHub. Menjelang akhir proses pembuatannya, tampilannya akan kurang lebih seperti ini:

Aplikasi ini akan dimulai dari sesuatu yang sangat sederhana, hanya dengan satu halaman web. Lalu, di setiap bab, kita akan mengembangkannya sedikit demi sedikit sampai pengguna bisa menyimpan dan melihat snippet lewat aplikasi web yang akan dibuat. Proses ini akan membawa kamu ke berbagai topik seperti cara menyusun struktur aplikasi, routing request, bekerja dengan database, memproses form, dan menampilkan data dinamis dengan aman.

Kemudian, menjelang akhir buku, kita akan menambahkan akun pengguna dan membatasi akses aplikasi sehingga hanya pengguna terdaftar yang bisa membuat snippet baru. Di sini kamu akan masuk ke topik yang lebih lanjut seperti konfigurasi server HTTPS, manajemen session, autentikasi pengguna, dan middleware.

Konvensi Kode

Blok kode di buku ini ditampilkan dengan latar belakang berwarna abu-abu, seperti contoh di bawah. Jika sebuah blok kode cukup panjang, bagian yang tidak relevan bisa digantikan dengan tanda elipsis (...). Agar mudah diikuti, sebagian besar blok kode juga memiliki judul di bagian atas yang menunjukkan nama file tempat kode tersebut berada. Contohnya:

File: hello.go

package main

... // Menandakan bahwa sebagian kode yang sudah ada diabaikan.
func sayHello() {
fmt.Println("Hello world!")
}

Instruksi terminal (command line) ditampilkan diawali dengan simbol dolar ($). Perintah-perintah ini akan berjalan di sistem operasi berbasis Unix, termasuk macOS dan Linux. Contoh output ditampilkan di bawah perintahnya, seperti ini:

$ echo  "Hello world!" 
Hello world!

Jika kamu menggunakan Windows, kamu perlu menyesuaikannya dengan Command Prompt atau melakukan langkah tersebut melalui GUI Windows seperti biasa.

Perlu dicatat bahwa tanggal dan timestamp yang ditampilkan pada tangkapan layar maupun contoh output perintah hanya bersifat ilustratif. Mereka tidak harus sama atau mengikuti urutan waktu secara kronologis di sepanjang buku.

Beberapa bab di buku ini diakhiri dengan bagian informasi tambahan. Bagian ini berisi informasi yang tidak secara langsung dibutuhkan untuk membangun aplikasi kita, tetapi tetap penting (atau kadang hanya menarik) untuk diketahui. Jika benar-benar baru belajar Go, kamu bisa melewati bagian ini terlebih dahulu dan kembali membacanya nanti.

Tentang Penulis

Hai, saya Alex Edwards, seorang full-stack web developer dan penulis. Saya tinggal di dekat Innsbruck, Austria.

Saya sudah bekerja dengan Go selama lebih dari 10 tahun, membangun aplikasi production baik untuk kebutuhan pribadi maupun klien komersial, serta membantu orang-orang di seluruh dunia untuk meningkatkan kemampuan Go mereka.

Kamu bisa membaca tulisan saya lainnya di blog saya (tempat saya mempublikasikan tutorial yang mendalam), melihat beberapa proyek open-source saya di GitHub, dan juga mengikuti saya di Instagram serta Twitter.

Let’s Go: Learn to build professional web applications with Go. Copyright © 2025 Alex Edwards.

Last updated 2025-08-15 17:43:54 UTC. Version 2.25.0.

The Go gopher was designed by Renee French and is used under the Creative Commons 3.0 Attribution license. Cover gopher adapted from vectors by Egon Elbre.

The information provided within this book is for general informational purposes only. While the author and publisher have made every effort to ensure the accuracy of the information within this book was correct at time of publication there are no representations or warranties, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the information, products, services, or related graphics contained in this book for any purpose. Any use of this information is at your own risk.

Prasyarat

Buku ini dirancang untuk kamu yang baru belajar Go, tetapi kamu mungkin akan lebih menikmati isinya jika sudah memiliki pemahaman umum tentang sintaks Go terlebih dahulu. Jika kamu merasa kesulitan dengan sintaksnya, buku Little Book of Go karya Karl Seguin adalah tutorial yang sangat bagus. Atau, jika kamu ingin sesuatu yang lebih interaktif, saya sarankan mengikuti Tour of Go.

Saya juga mengasumsikan bahwa kamu memiliki pemahaman (sangat) dasar tentang HTML/CSS dan SQL, serta cukup familiar menggunakan terminal (atau command line jika kamu menggunakan Windows). Jika kamu pernah membangun aplikasi web dengan bahasa lain — seperti Ruby, Python, PHP, atau C# — maka buku ini akan sangat cocok untuk kamu.

Go 1.25

Informasi dalam buku ini sesuai dengan rilis mayor terbaru Go (versi 1.25), dan kamu disarankan untuk menginstal versi ini jika ingin mengikuti proses pembangunan aplikasi secara langsung.

Jika Go sudah terpasang di komputermu, kamu bisa mengecek versinya melalui terminal dengan perintah go version. Output-nya akan kurang lebih seperti ini:

$ go version
go version go1.25.0 linux/amd64

Jika kamu perlu memperbarui versi Go — atau memasangnya dari awal — silakan lakukan sekarang. Instruksi lengkap untuk berbagai sistem operasi bisa kamu temukan di sini:

Aplikasi Pendukung

Ada beberapa aplikasi lain yang sebaiknya tersedia di komputermu jika kamu ingin mengikuti buku ini dengan lengkap, yaitu:

  • Perintah curl untuk bekerja dengan HTTP request dan response melalui terminal. Di macOS dan Linux, biasanya sudah terpasang atau tersedia di repository. Jika belum, kamu bisa mengunduh versi terbarunya di sini.

  • Web browser dengan developer tools yang bagus. Dalam buku ini saya menggunakan Firefox, tetapi Chromium, Chrome, atau Microsoft Edge juga bisa kamu gunakan.

  • Text editor favorit kamu 😊