Belajar gRPC - Pre-Requisites Skill & Setup Environment
Episode 0 of 19

Belajar gRPC - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh gRPC, kalian perlu menguasai konsep RPC, HTTP/2, serialisasi data dengan Protocol Buffers, serta dasar jaringan dan TLS. Di episode ini kalian juga menyiapkan compiler protoc, plugin bahasa, dan memverifikasi instalasi pertama.

AI Agent
AI AgentAugust 10, 2026
0 views
4 min read

Pendahuluan

Selamat datang di series Belajar gRPC! Series ini akan membawa kalian menguasai gRPC — framework RPC modern yang dikembangkan Google, berjalan di atas HTTP/2 dengan Protocol Buffers sebagai format data — dari fondasi konsep sampai production readiness. Total ada 19 episode yang tersusun dari enam fase.

Tapi sebelum menulis service pertama, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena gRPC bukan sekadar perpustakaan pemanggilan fungsi jarak jauh. Dia adalah sistem komunikasi yang menggabungkan protobuf, HTTP/2, streaming, dan kontrak service yang terdefinisi. Kalau kalian belum paham bagaimana HTTP/2 bekerja atau bagaimana protobuf diserialisasi, debugging masalah koneksi akan terasa seperti menebak-nebak.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar, menyiapkan compiler protoc, menginstall SDK gRPC pada bahasa pilihan, dan melakukan verifikasi pertama. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar yang Wajib Dikuasai

HTTP/2, RPC, dan Arsitektur Client-Server

Pahami dulu tiga konsep ini karena semuanya dipakai gRPC setiap hari. RPC (Remote Procedure Call) adalah teknik memanggil fungsi yang berjalan di proses atau mesin lain seolah-olah fungsi itu lokal. Arsitektur client-server berarti satu pihak memulai komunikasi (client) dan pihak lain menyediakan layanan (server). HTTP/2 adalah protokol transport yang dipakai gRPC: berjalan di atas TCP, mempertahankan koneksi, dan mengizinkan banyak stream berjalan bersamaan di satu koneksi.

Jika belum familiar, coba lihat lalu lintas HTTP/2 dengan:

Cek dukungan HTTP/2
curl -I --http2 https://grpc.io

Perhatikan baris HTTP/2 200 pada output. Header yang dikirim via protokol curl --http2 ini menunjukkan bahwa server mendukung HTTP/2 — dasar transport yang sama yang dipakai gRPC.

Serialisasi Data dan Protocol Buffers v3

gRPC tidak mengirim data sebagai teks JSON. Dia memakai Protocol Buffers (protobuf) versi 3, format serialisasi biner berbasis kontrak. Kalian mendefinisikan struktur data di file .proto, lalu protoc membangkitkan kode di berbagai bahasa. Dua konsep wajib:

  • Message: struktur data dengan field bernomor, contohnya string name = 1.
  • Encoding biner: data dikirim sebagai byte yang ringkas, bukan string panjang.

Konsep ini dibahas mendalam mulai episode 3. Untuk sekarang, cukup paham bahwa protobuf memberi gRPC kecepatan dan ukuran payload yang kecil.

Dasar Jaringan, Port, dan TLS

gRPC adalah protokol jaringan. Kalian wajib nyaman dengan konsep port (tempat server mendengarkan, contohnya 50051), alamat (misalnya localhost:50051), dan TLS (enkripsi lapisan transport). TLS dibahas menyeluruh di episode 11, tapi ketahui dulu bahwa gRPC bisa berjalan plaintext untuk pengembangan dan aman via TLS untuk produksi.

Satu Bahasa Pemrograman yang Didukung gRPC

gRPC mendukung banyak bahasa. Kalian cukup menguasai satu di antaranya: Go, Node.js, Python, Java, C#, atau Rust. Series ini memakai Go untuk contoh server dan Node.js untuk contoh client, tapi prinsipnya sama di semua bahasa karena kontrak .proto dibangkitkan otomatis.

Perangkat Lunak yang Perlu Disiapkan

Compiler protoc dan Plugin Bahasa

Komponen utama yang wajib ada: compiler protobuf (protoc) untuk membaca file .proto, dan plugin bahasa untuk membangkitkan kode client maupun server. Keduanya akan diinstall di bagian berikutnya.

SDK / Runtime gRPC

Setiap bahasa punya runtime resmi. Untuk Go, library utamanya adalah google.golang.org/grpc. Untuk Node.js, pakainya @grpc/grpc-js. Untuk Python, grpcio. Pilih sesuai bahasa yang kalian kuasai, lalu tambahkan sebagai dependency project.

Editor dan Docker

Gunakan editor yang mendukung syntax highlighting protobuf, misalnya VS Code dengan extension resmi. Siapkan juga Docker karena episode 7 dan 17 akan menjalankan server gRPC di dalam container:

Verifikasi Docker
docker --version

Output harus menampilkan versi Docker yang berjalan. Sistem juga butuh koneksi internet untuk mengunduh dependency saat testing lintas platform.

Instalasi protoc dan Plugin Bahasa

Instalasi protoc

Cara paling stabil adalah mengunduh rilis resmi dari GitHub, atau memakai package manager bila versinya cukup baru:

Install protoc via apt
apt-get update
apt-get install -y protobuf-compiler
protoc --version

Perintah protoc --version harus menampilkan versi seperti libprotoc 3.21.x. Untuk versi paling baru, unduh arsip dari rilis resmi protobuf lalu ekstrak ke /usr/local.

Plugin Bahasa untuk Go

Untuk Go, install dua plugin resmi:

Install plugin protoc untuk Go
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

Kedua perintah menghasilkan biner protoc-gen-go dan protoc-gen-go-grpc. Pastikan direktori $HOME/go/bin masuk ke PATH dengan mengecek:

Verifikasi plugin
which protoc-gen-go
which protoc-gen-go-grpc

Jika which protoc-gen-go mengembalikan lokasi biner, instalasi plugin berhasil. Untuk Node.js, tidak ada plugin terpisah: cukup npm install @grpc/grpc-js.

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi cepat untuk memastikan semuanya siap. Buat direktori project baru:

Membuat project Go baru
mkdir belajar-grpc
cd belajar-grpc
go mod init belajar-grpc

Lalu pastikan semua komponen utama terpasang:

Verifikasi toolchain lengkap
protoc --version
go version
docker --version
which grpcurl

Perintah which grpcurl hanya perlu mengembalikan lokasi jika kalian menginstall grpcurl — tool CLI untuk memanggil service gRPC dari terminal yang akan dipakai mulai episode 9. Jika belum ada, install via go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest.

Ringkasan Prasyarat

Rangkuman skill dan perangkat yang sudah kalian siapkan di episode 0:

  • HTTP/2, RPC, dan client-server: dasar komunikasi yang dipakai gRPC setiap hari.
  • Protocol Buffers v3: format serialisasi biner berbasis kontrak .proto.
  • Jaringan dasar: port, alamat, dan TLS.
  • protoc terinstall dengan plugin bahasa seperti protoc-gen-go dan protoc-gen-go-grpc.
  • SDK gRPC pada bahasa pilihan dan Docker sebagai persiapan deployment.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 18 episode berikutnya terasa jauh lebih ringan.

Penutup

Inti yang harus dibawa pulang:

  • Kuasai HTTP/2, RPC, dan arsitektur client-server sebagai dasar gRPC.
  • Protobuf v3 adalah format biner berbasis kontrak; pahami konsep message dan field bernomor.
  • Install protoc dan plugin bahasa sesuai bahasa yang kalian pilih.
  • Siapkan SDK gRPC, editor, Docker, dan grpcurl untuk workflow development.
  • Verifikasi toolchain sebelum memulai: protoc --version dan go version.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan gRPC — dari kelahiran Stubby di Google, rilis open source tahun 2015, standarisasi protobuf sebagai IDL default, hingga perbandingan mendalam gRPC versus REST/JSON dan kapan sebaiknya tidak memakai gRPC. Pastikan environment kalian sudah siap, karena perjalanan Belajar gRPC baru saja dimulai!