Pengenalan API untuk Pemula: REST, GraphQL, & gRPC
Di dunia pengembangan web modern, istilah API (Application Programming Interface) pasti sering kamu dengar. API adalah jembatan yang memungkinkan dua aplikasi berbeda saling berkomunikasi. Bayangkan sebuah restoran — kamu sebagai pelanggan memesan makanan melalui pelayan (API), lalu pelayan menyampaikan pesanan ke dapur (server) dan membawakan hasilnya kembali kepadamu.
Artikel ini akan mengenalkan tiga jenis API paling populer: REST, GraphQL, dan gRPC. Cocok untuk pemula yang baru mulai mendalami backend development.
Apa Itu API?
Secara teknis, API adalah sekumpulan aturan dan protokol yang memungkinkan sebuah perangkat lunak berinteraksi dengan perangkat lunak lain. API menentukan endpoint, format data, dan metode komunikasi yang digunakan.
- Client — aplikasi yang meminta data (frontend, mobile app).
- Server — backend yang menyediakan data.
- Endpoint — URL spesifik tempat client bisa mengakses sumber daya tertentu.
REST (Representational State Transfer)
REST adalah arsitektur API yang paling banyak digunakan saat ini. REST menggunakan protokol HTTP dengan metode standar seperti GET, POST, PUT, dan DELETE. Data biasanya dikirim dalam format JSON atau XML.
Contoh Request REST
GET /api/users/1 HTTP/1.1
Host: api.example.com
Accept: application/json
Contoh Response REST
{
"id": 1,
"nama": "Budi Santoso",
"email": "budi@example.com",
"jurusan": "Teknik Informatika"
}
Prinsip REST
- Stateless — setiap request berdiri sendiri, tidak ada session yang disimpan di server.
- Uniform Interface — resource diidentifikasi dengan URL, dimanipulasi melalui representasi.
- Cacheable — response bisa di-cache untuk meningkatkan performa.
GraphQL
Dikembangkan oleh Facebook (sekarang Meta), GraphQL adalah query language untuk API yang memberikan fleksibilitas lebih besar dibanding REST. Client bisa meminta data yang persis dibutuhkan — tidak lebih, tidak kurang.
Contoh Query GraphQL
query {
user(id: 1) {
nama
email
}
}
Contoh Response GraphQL
{
"data": {
"user": {
"nama": "Budi Santoso",
"email": "budi@example.com"
}
}
}
Kelebihan GraphQL
- Hanya satu endpoint — tidak perlu banyak URL seperti REST.
- Client menentukan data — mengurangi over-fetching dan under-fetching.
- Struktur response mengikuti query — lebih mudah diprediksi.
gRPC
Dikembangkan oleh Google, gRPC adalah framework API berperforma tinggi yang menggunakan Protocol Buffers (protobuf) sebagai format data, bukan JSON. gRPC berjalan di atas HTTP/2 dan mendukung komunikasi bidirectional streaming.
Contoh Definisi Protobuf (file .proto)
service UserService {
rpc GetUser (UserRequest) returns (UserResponse);
}
message UserRequest {
int32 id = 1;
}
message UserResponse {
int32 id = 1;
string nama = 2;
string email = 3;
}
Kapan Menggunakan gRPC?
- Aplikasi microservices yang membutuhkan komunikasi cepat antar layanan.
- Sistem dengan trafik tinggi dan kebutuhan latensi rendah.
- Komunikasi real-time (streaming data).
Perbandingan REST vs GraphQL vs gRPC
- REST: Mudah dipelajari, dokumentasi luas, cocok untuk hampir semua kasus.
- GraphQL: Fleksibel, efisien dalam pengambilan data, ideal untuk aplikasi dengan frontend kompleks.
- gRPC: Sangat cepat, mendukung streaming, cocok untuk sistem internal dan microservices.
Kesimpulan
Setiap jenis API memiliki kelebihan dan kasus penggunaan masing-masing. Sebagai pemula, mulailah dengan REST karena paling sederhana dan banyak sumber belajar. Setelah memahami dasar-dasar API, kamu bisa bereksperimen dengan GraphQL untuk fleksibilitas lebih, atau gRPC untuk performa maksimal.
Tertarik mendalami pemrograman web? Kunjungi Kuliah Ilmu Komputer untuk tutorial lengkap API, framework, dan pengembangan web.






