- Persiapan
- Pengenalan
- Tujuan
- Golang Dan Bahasa Lainnya
- Backend Engineering Overview
- Perusahaan yang Menggunakan Golang
Sebelum berlanjut lebih jauh mengenai materi Golang, terdapat beberapa hal yang perlu disiapkan :
-
Text Editor/Code Editor
Contoh : Visual Studio Code (recommended), GoLand, Vim, Vi, Nano, Atom, Sublime Text, Notepad++, atau Notepad. -
[Opsional] Terminal atau CLI (Command Line Interface)
kalian bisa menggunakan windows terminal apabila menggunakan sistem operasi Windows. -
Golang
Golang dapat diunduh melalui laman resmi Golang pada https://go.dev/dl/. Silakan mengunduh rilis yang tepat sesuai dengan sistem operasi yang kalian gunakan. Untuk petunjuk instalasi, kalian dapat melihat di sini :- https://www.youtube.com/watch?v=4zVJBltNwD0&t=132s (Ubuntu Linux 20.04)
- https://www.youtube.com/watch?v=Rbzul5b5KI8 (Windows)
- https://www.youtube.com/watch?v=3u6pZkNRCXg (Mac)
Setelah melakukan setup untuk Golang, pastikan bahwa Golang sudah terinstal dengan menjalankan perintah berikut pada terminal kalian :
go version
Output yang keluar, seharusnya berbentuk seperti berikut :
go version go1.19.2 linux/amd64
Apa itu Golang? Golang atau Go adalah sebuah bahasa pemrograman yang open-source dan dibuat oleh Google. Beberapa pembuat bahasa Go yang terkenal adalah Rob Pike (salah satu pengembang Unix), dan Ken Thompson (salah satu pembuat format UTF-8). Go merupakan sebuah bahasa pemrograman yang statically-typed, artinya Go mengharuskan penggunaan tipe untuk tiap entitas di dalam bahasanya. Go juga merupakan bahasa yang dikompilasi, artinya kode yang ditulis dengan Go harus diubah ke dalam bytecode atau binary yang kemudian dijalankan. Go biasanya digunakan untuk membuat sistem backend dari sebuah aplikasi web, dan juga untuk membuat aplikasi CLI (Command Line Interface).
Go bukanlah sebuah bahasa pemrograman berorientasi objek seperti Java. Go bersifat prosedural seperti bahasa C/Perl. Oleh karena itu, tidak semua penerapan pemrograman berorientasi objek (OOP) tidak berlaku pada Go. Namun, beberapa penerapan konsep OOP dapat diterapkan dengan cara yang bisa saja berbeda dari biasanya.
Telah banyak bahasa pemrograman yang penggunaannya serupa, beberapa di antaranya adalah PHP, Java, C, C++, Python. Namun, mengapa kita harus mempelajari Go?
- Go mudah dipahami dan dipelajari
- Go ringan memori dan juga cepat
- Go memudahkan kita dalam menulis program yang berjalan secara konkuren
- Go memiliki proses kompilasi yang cepat
- Go memiliki dukungan komunitas yang bagus
Berikut merupakan perbedaan utama dari beberapa bahasa pemrograman yang umum dengan golang :
| PHP | NodeJS | Golang |
|---|---|---|
| Bahasa pemrograman OOP | Bahasa pemrograman fungsional | Bahasa pemrograman prosedural |
| Biasa digunakan untuk website | Biasa digunakan untuk website dan sedikit pemrograman sistem | Biasa digunakan untuk website dan pemrograman sistem |
| Bahasa yang diinterpretasi | Bahasa yang diinterpretasi | Bahasa yang dikompilasi |
| Diciptakan tahun 1994 | Diciptakan tahun 2009 | Diciptakan tahun 2009 |
Dalam rekayasa perangkat lunak (software engineering), terdapat banyak peran. Peran yang paling umum dan paling banyak diketahui dalam pemrograman perangkat lunak web adalah frontend, dan backend. Namun, untuk pelatihan ini, kita akan lebih banyak membahas mengenai backend engineering. Backend engineering adalah sesorang yang bertanggung jawab untuk mendesain, membangun, dan menjaga perangkat lunak yang berjalan di server (server side). Backend engineer tidak mendesain antarmuka atapun membangun antarmuka perangkat lunak. Perangkat lunak yang dibangun biasanya berkomunikasi dengan perangkat lunak client (frontend) dengan menggunakan API (Application Programming Interface).
Berikut merupakan beberapa perusahaan yang menggunakan Golang untuk membangun sistem backendnya :