Cara Terbaik Belajar Golang

Cara Terbaik Belajar Golang
','

' ); } ?>

Beberapa tahun ke belakang, Golang banyak dibicarakan oleh komunitas developers. Hal ini mendorong banyak orang untuk belajar Golang. 

Di tahun 2020, sebuah survei dilakukan oleh Stackoverflow. Survei ini mengatakan bahwa Golang termasuk bahasa yang paling disukai oleh developers. Tepatnya, Golang menduduki peringkat kelima dengan hasil suara 62.3%. 

Di samping itu, Golang juga menduduki peringkat tiga besar pada survei Stackoverflow kategori lain. Survei ini menunjukkan bahwa developers yang menguasai Golang memiliki gaji yang lebih tinggi. Hal ini dibandingkan dengan gaji developers yang menggunakan bahasa pemrograman lain. Gaji developers Golang diperkirakan mencapai 74 ribu dolar Amerika.

Dari kedua survei di atas, dapat ditarik sebuah kesimpulan. Hal ini menandakan bahwa Golang memang dibutuhkan oleh perusahaan. Golang juga sangat diminati oleh kalangan developers. Mereka kemungkinan melihat potensi Golang untuk menjadi bahasa pemrograman yang besar. Contohnya seperti Python, Java, C, dan Javascript.

Jika Anda ingin belajar Golang, itu adalah sebuah keputusan yang tepat. Hal ini karena developers Golang banyak dibutuhkan. 

Cara terbaik untuk belajar Golang adalah dengan mengetahui dasar-dasarnya terlebih dahulu. Setelah itu, Anda bisa mulai berlatih dengan mempraktikan teorinya.

Supaya proses pembelajaran Anda lebih mudah, mari kita kupas satu-satu tentang Golang. Lebih lengkapnya melalui poin-poin berikut.

Apa Itu Golang?

Icon Golang
(Source: Flaticon)

Golang adalah bahasa pemrograman yang diluncurkan pada tahun 2009. Umurnya masih termasuk muda. Bahasa ini biasanya disebut juga dengan bahasa pemrograman Go atau Go Language.

Awalnya, pada tahun 2007, sebuah tim engineer di Google mulai menciptakan Golang. Tim ini terdiri dari Robert Griesemer, Rob Pike, dan Ken Thompson. Tujuan awal mereka adalah untuk menciptakan sebuah bahasa yang cocok untuk alur kerja Google. (Uptech)

Meskipun bahasanya masih muda, Golang sudah dipakai oleh banyak perusahaan besar di dunia. Beberapa di antaranya adalah Google, Facebook, Dropbox, Soundcloud, dan Dailymotion.

Di Indonesia sendiri, Golang telah dipakai oleh beberapa startup unicorn. Tentunya sebagai salah satu bahasa pemrograman mereka. Yang pertama adalah Tokopedia. Sedangkan startup unicorn lainnya adalah Gojek. Di sana, Golang dipakai untuk memudahkan implementasi  integration testing dalam proses pengembangannya.

Kelebihan Golang

Golang telah banyak digunakan. Penggunanya pun beragam, mulai dari perusahaan-perusahaan di dalam negeri sampai dengan  di luar negeri. 

Banyaknya penggunaan Golang tentunya didukung oleh beberapa keunggulannya. Sebelum Anda belajar Golang, ada baiknya jika Anda mengetahui terlebih dahulu kelebihan Golang. 

Simaklah pembahasan berikut ini.

1. Bersifat Open Source

Awalnya, Golang hanya dibuat untuk Google. 

Bahasa pemrograman ini tadinya hanya dapat digunakan oleh tim internal saja. Namun, Golang akhirnya dibagikan kepada publik. Sekarang, sifatnya adalah open source.

Artinya, Golang bebas digunakan oleh siapapun. 

Bahkan, pengguna bebas memodifikasi, memperbaiki, dan mendistribusikan Golang. Hal ini berlaku untuk penggunaan personal maupun komersial.

Maka dari itu, Golang tidak memakan banyak biaya. Alasannya karena Golang tidak terikat pada suatu lembaga, individu, atau perangkat lunak tertentu. 

Dengan sifatnya yang open source, Anda tidak akan kesulitan menemukan alat-alat pengembangnya. Terdapat banyak editor, IDE (Integration Development Environment), dan plugins yang dapat diunduh melalui GitHub.

2. Struktur Yang Sederhana

Golang memang didesain sebagai bahasa yang sederhana. 

Bahkan, hal tersebut tertulis di situs resmi Golang. Di sana, disebutkan bahwa Golang akan membuat proses pengembangan perangkat lunak menjadi “simple, reliable, and efficient”.

Golang memiliki struktur sintaks yang kecil dan sederhana. Hal ini membuatnya menjadi lebih mudah untuk dipelajari. Tidak terkecuali bagi orang-orang yang sudah memiliki dasar-dasar programming. Contohnya seperti yang sebelumnya sudah dapat mengoperasikan bahasa C. 

Jika dibandingkan dengan Java, Golang jauh lebih sederhana. Melakukan coding dengan Java dapat membutuhkan berbaris-baris kode untuk hal-hal tertentu. Dengan Golang, prosesnya menjadi lebih compact, rapi, dan jelas.

3. Proses Eksekusi Yang Cepat

Golang dapat mempersingkat waktu.

Struktur sintaks yang sederhana membuat proses eksekusinya lebih cepat. Hal ini dapat dibuktikan lewat sebuah tes regex

Kecepatan Golang dan Java dibandingkan dalam tes tersebut. Hasilnya, Golang cukup bekerja selama 3,94 detik. Sementara itu, Java membutuhkan waktu selama 5,58 detik.

Artinya, ada waktu sebanyak hampir 2 detik yang dipersingkat oleh Golang.

Selain itu, Golang juga tidak memerlukan interpreter atau virtual machine. Hal ini tentunya berbeda dengan Javascript.

Ketika Anda menggunakan Golang, Anda dipertemukan dengan bahasa pemrograman yang sederhana. Kode-kodenya telah dikompilasi dan ditulis ke dalam format yang dimengerti oleh processor.

Kekurangan Golang

Ada kelebihan, ada juga kekurangan.

Golang bukanlah bahasa pemrograman yang sempurna. Masih banyak yang bisa dikembangkan dari Golang. 

Berikut adalah beberapa kekurangan yang patut Anda ketahui sebelum memutuskan untuk belajar Golang.

1. Umurnya Yang Masih Muda

Meskipun sudah berumur lebih dari 10 tahun, Golang masih terbilang muda. Berbeda dengan bahasa pemrograman lainnya. Rata-rata, mereka sudah ada lebih dari 20 tahun. Contohnya seperti Python, Java, Javascript, dan C. 

Dengan umurnya yang muda, library Golang tidak begitu luas. Jauh berbeda dengan Python. Hal ini tentunya cukup menyulitkan pengguna Golang. Khususnya ketika ingin mengkolaborasikannya dengan bahasa pemrograman lain.

2. Tidak Memiliki Manajemen Memori Manual

Golang menyediakan fitur manajemen memori yang otomatis. Fitur ini akan dijelaskan lagi di pembahasan selanjutnya. Singkatnya, fitur ini menghapus memori yang tidak dibutuhkan lagi. 

Sebagian orang mungkin terbantu dengan fitur tersebut. Namun, fitur ini bisa saja menyebabkan masalah. Fitur ini bisa saja aktif di waktu yang salah. Tentunya, hal tersebut dapat menyebabkan error dan delay.

3. Tidak Mendukung Generic Functions

Generic Functions atau fungsi generik adalah sekumpulan fungsi dengan nama yang sama. Di sini, fungsi sendiri artinya adalah baris-baris kode yang menerima input. Setelah itu, input-nya diproses dan nantinya mengembalikan output

Golang tidak memiliki generic functions. Hal ini cukup menyulitkan penggunanya. 

Jika sebuah bahasa pemrograman tidak memiliki fitur ini, developers atau programmers perlu meninggalkan banyak footprints atau tanda pada setiap parameter yang berbeda-beda.

Fitur-Fitur Golang

Sekarang, Anda sudah mengetahui kelebihan dan kekurangan Golang. Namun, Anda juga perlu mengenal fitur-fiturnya. Hal ini berguna supaya Anda lebih mudah dalam belajar Golang.

Golang memiliki beberapa fitur yang bermanfaat. Fitur-fitur ini juga berhubungan dengan kelebihan dan kekurangan Golang yang sudah dijelaskan sebelumnya. 

Berikut adalah beberapa fitur Golang yang dapat Anda pelajari. 

1. Garbage Collector

Masih ingat tentang manajemen memori manual? Golang tidak memiliki fitur tersebut. Hal ini bisa menjadi kekurangan bagi beberapa penggunanya. 

Golang memiliki sebuah fitur bernama Garbage Collector. Seperti namanya, fitur ini bekerja untuk mengumpulkan sampah. Di sini, sampah yang dimaksud adalah memori yang sudah tidak terpakai.

Fitur ini berjalan secara otomatis. Artinya, pengguna tidak perlu menghapus sampah satu per satu. Di sisi lain, pengguna kehilangan kontrol akan hal tersebut.

Garbage Collector dapat mendeteksi objek-objek mana yang masih digunakan dan mana yang tidak. Tujuannya memang untuk mengosongkan memori agar tidak terlalu penuh. Sehingga, memori yang tersedia bisa dimaksimalkan untuk hal-hal yang lebih penting.

2. Goroutines

Golang adalah bahasa pemrograman yang mendukung konkurensi. Artinya, ketika Anda menuliskan dua atau lebih perintah, semuanya dapat dilakukan secara bersamaan. 

Tentunya, konkurensi ini diikuti dengan performa yang baik. Golang memastikan bahwa prosesnya tidak menghambat perintah apapun yang sedang dikerjakan.

Terdapat sebuah fitur yang mendukung konkurensi pada Golang. Fitur tersebut bernama Goroutines. Fitur ini membantu melaksanakan banyak perintah dalam satu waktu yang sama.

Goroutines dapat dibandingkan dengan thread atau utas di Java. Namun, performanya berbeda. Fitur Goroutines di Golang memiliki beban yang lebih ringan.

Ketika Goroutines bekerja, tidak banyak memori yang dipakai. Kemungkinan hanya sekitar 2 kilobytes yang digunakan untuk bekerja. Hal ini tentunya sangat membantu Anda untuk menghindari crash dalam aplikasi atau program yang sedang dikembangkan.

Untuk mendapatkan sedikit gambaran, Anda dapat langsung mencoba fitur Goroutines dari situs resmi Golang. Berikut adalah contoh penulisan perintahnya.

package main

import (
 "fmt"
 "time"
)

func say(s string) {
 for i := 0; i < 5; i++ {
  time.Sleep(100 * time.Millisecond)
  fmt.Println(s)
 }
}

func main() {
 go say("Alterra")
 say("Academy")
}

Perintah di atas dapat Anda ganti dengan kata-kata yang Anda inginkan. Misalnya, Anda dapat mengganti kata ‘Alterra’ dan ‘Academy’ dengan kata ‘Hello’ dan ‘World’.

Namun, sesuai dengan perintah yang telah dituliskan sebelumnya, Anda akan mendapatkan output atau hasil sebagai berikut.

Academy
Alterra
Academy
Alterra
Alterra
Academy
Academy
Alterra
Alterra
Academy

3. Pointers

Selain Goroutines dan Garbage Collector, Golang memiliki pointers. Fitur ini berguna untuk menyimpan alamat memori dari sebuah variabel atau nilai.

Variabel sendiri adalah lokasi memori dimana data disimpan. Jika Anda menggunakan Golang, Anda akan dibantu oleh fitur pointers untuk mengakses data-data tersebut.

Untuk mencoba fitur ini, Anda dapat langsung menuju ke situs resmi Golang. Berikut adalah contoh penulisan kodenya.

package main

import "fmt"

func main() {
 i, j := 42, 2701

 p := &i         // point to i
 fmt.Println(*p) // read i through the pointer
 *p = 21         // set i through the pointer
 fmt.Println(i)  // see the new value of i

 p = &j         // point to j
 *p = *p / 37   // divide j through the pointer
 fmt.Println(j) // see the new value of j
}

Tanda bintang (*) di atas berguna untuk menunjukkan nilai dari variabel yang dituju. Sedangkan tanda (&) menghasilkan pointer kepada operand.

Nantinya, perintah yang dituliskan di atas akan memberikan output sebagai berikut.

42
21
73

Kesimpulan

Golang adalah bahasa yang sangat populer. Dari tahun ke tahun, peminatnya semakin meningkat. Banyak perusahaan di dalam maupun di luar negeri yang membutuhkan developers Golang. 

Hal ini menyebabkan banyak orang mulai belajar Golang. Mengetahui kelebihan, kekurangan, dan fitur-fiturnya adalah sesuatu yang perlu dilakukan. Namun, mempraktekkan teori yang sudah dipelajari tentunya tidak kalah penting.

Artinya, Anda perlu banyak latihan. Tentunya Anda dapat berlatih secara otodidak dengan mencoba A Tour of Go

Namun, belajar Golang akan lebih mudah jika Anda memiliki seorang mentor. Terlebih lagi, Anda akan mendapatkan feedback untuk mengetahui sejauh mana kemampuan Anda dalam mengoperasikan Golang. 

Tidak ada salahnya mengikuti bootcamp atau pelatihan untuk mendapatkan fasilitas tersebut. Salah satunya melalui Immersive Golang Program di Alterra Academy. 

Selain mentor, Anda juga akan mendapatkan garansi penempatan kerja setelah selesai belajar. Tentunya dengan tawaran gaji yang kompetitif.

Jadi, tunggu apa lagi? Ayo belajar Golang!

Leave a Reply