Less talk, more code

The blog of Iskandar Soesman

Pengenalan Bahasa Pemrogaman Go

Tidak dapat dipungkiri, Go kini menjadi salah satu bahasa pemrograman alternatif untuk mendapatkan performa aplikasi yang optimal. Sebut saja projek open source yang kini sedang populer seperti Docker dan Kubernetes. Belum lagi perusahan-perusahan besar yang beralih menggunakan Go untuk mengoptimalkan layanan-layanan mereka. Netflix misalnya, berpindah ke Go dan mendapatkan scalabilitas hingga 81 million pengguna. Kemudian, Uber menggunakan Go untuk pemrosesan peta dunia dan mendapatkan kecepatan 0,1 second untuk setiap prosesnya. Yang perlu digrisbawahi adalah, Go adalah bahasa pemrograman yang dibuat oleh Google.

Untuk bisa memahami seperti apa kelebihan bahasa pemrograman ini, kita bisa memulai dengan membuat aplikasi sederhana, yaitu REST API untuk daftar nama dan alamat. Yang perlu diperhatikan, Go adalah static typing. Artinya setiap variable yang akan digunakan, harus secara explisit didelarasikan dahulu di awal.

Instalasi

Untuk menjalankan Go, kita membutuhkan sebuah file Go binary yang nantinya akan kita gunakan untuk proses kompilasi aplikasi. File binary Go bisa di download di halaman berikut. Sesuaikan dengan sistem operasi yang akan digunakan.

Setelah berhasil, maka ada beberapa konfigurasi yang harus disiapkan.

Sistem Operasi Windows

Untuk bisa menjalankan Go, setidaknya kita membutuhkan Windows XP SP2 atau yang lebih baru dengan arsitektur amd64 atau 386. Sangat disarankan untuk mengguanakan versi installer msi untuk instalasi Go di sistem operasi Windows. Secara default lokasi instalasi Go berada di c:\Go

Selanjutnya c:\Go\bin harus disertakan ke dalam PATH environment variable windows. Setelah itu, semua terminal yang sedang dibuka saat ini harus direstart dulu untuk melakukan eksekusi binary go.

Untuk setup environment variable di Windows, lokasinya ada di tab "System" di dalam control panel. Beberapa Windows ada juga di "Advanced System Settings" di dalam "System" control panel.

Sistem Operasi Ubuntu

Untuk Ubuntu bisa menggunakan:

sudo apt-get install golang-go

Atau jika ingin mendapatkan versi terbaru, maka bisa menggunakan:

sudo add-apt-repository ppa:gophers/archive
sudo apt-get update
sudo apt-get install golang-1.10-go

Sistem Operasi OSX

Untuk OSX, kita bisa menggunakan Brew untuk install Go.

brew install golang

Setup GOPATH Environment Variable

Setelah proses instalasi selesai dilakukan, berikutnya adalah menambahkan sebuah GOPATH environment variable. Ini adalah sebuah folder dimana kita menempatkan semua projek apliaksi yang menggunakan Go.

Untuk sistem operasi berbasis Unix, silahkan edit file ~/.bash_profile lalu isikan dengan nilai:

export GOPATH=$HOME/go

Atau dengan nilai yang berbeda jika lokasi kamu menggunakan lokasi folder yang berbeda.

Untuk sistem operasi Windows bisa dengan cara:

  • Buat sebuah folder C:\go-work
  • Klik kanan pada bagian "Start" kemudian pilih "Control Panel", lalu klik "System and Security" dan kemudian klik "System".
  • Pada menu sebelah kiri, pilih "Advanced systems settings".
  • Klik tombol "Environment Variables" dibagian bawah.
  • Klik "New" pada bagian "User variables".
  • Isikan dengan nilai GOPATH pada bagian "Variable name".
  • Isikan dengan nilai C:\go-work pada bagian "Variable value".
  • Lalu klik OK.

Hello World

Untuk menguji apakah proses instalasi sudah berhasil, maka selanjutnya kita buat sebuah program sederhana dengan menggunakan Go. Buat sebuah file dengan nama main.go di dalam folder yang bernama src/hello yang lokasinya berada di GOPATH.

Isikan file main.go dengan syntax:

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

Selanjutnya masuk ke dalam folder $HOME/go/src/hello dan kompilasi kode tadi.

cd $HOME/go/src/hello
go build

Lalu jalankan file binary hasil dari kompilasi tadi.

./hello

Jika berhasil maka akan muncul output hello, world.

Untuk selanjutnya, kita akan berkenalan lebih jauh tentang Go dengan membuat sebuah aplikasi RESTful sederhana. Untuk melihat lebih jauh tahapannya silahkan lihat artikel yang berjudul Simpel RESTFul API dengan Go.