UI vs. UX: What’s the difference?

Apa Itu REST API? Panduan Lengkap Untuk Pemula

Pernahkah Anda bertanya-tanya bagaimana aplikasi Gojek di ponsel Anda bisa menampilkan peta dari Google Maps, atau bagaimana aplikasi Traveloka bisa menampilkan daftar harga tiket dari berbagai maskapai penerbangan sekaligus? Jawabannya terletak pada sebuah teknologi penghubung yang kuat bernama REST API.

Jika Anda baru memulai perjalanan di dunia pengembangan software, istilah "API" atau "REST API" mungkin terdengar rumit dan menakutkan. Namun, konsep dasarnya sebenarnya sangat intuitif. Mari kita bedah tuntas dalam panduan ini.

 

Analogi Sederhana: Restoran dan Pelayan

 

Bayangkan Anda sedang berada di sebuah restoran. Anda (sebagai klien) ingin memesan makanan dari dapur (sebagai server). Anda tidak bisa langsung masuk ke dapur dan memasak sendiri. Anda membutuhkan perantara.

Di sinilah peran pelayan (sebagai API) menjadi sangat penting.

Anda melihat menu (dokumentasi API) untuk mengetahui apa saja yang bisa Anda pesan.

Anda memanggil pelayan dan memberitahukan pesanan Anda (Anda membuat permintaan atau request).

Pelayan mencatat pesanan Anda, membawanya ke dapur, dan memastikan dapur mengerti apa yang harus dimasak.

Setelah makanan siap, pelayan akan mengantarkannya dari dapur ke meja Anda (dapur memberikan jawaban atau response).

Dalam analogi ini:

Anda: Klien (aplikasi yang meminta data, seperti aplikasi mobile atau website).

Pelayan: API (Application Programming Interface), perantara yang menerima permintaan dan mengantar jawaban.

Dapur: Server (tempat data disimpan dan diproses).

REST API adalah salah satu gaya arsitektur paling populer untuk membangun "pelayan" ini.

 

Membedah Istilah: REST API

 

API adalah singkatan dari Application Programming Interface. Ini adalah seperangkat aturan dan protokol yang memungkinkan berbagai aplikasi perangkat lunak untuk berkomunikasi satu sama lain.

REST adalah singkatan dari Representational State Transfer. Ini bukan standar atau protokol, melainkan serangkaian batasan atau gaya arsitektur untuk merancang aplikasi jaringan. Ketika sebuah API mengikuti prinsip-prinsip REST, ia disebut sebagai RESTful API atau REST API.

Singkatnya, REST API adalah sebuah gaya arsitektur API yang menggunakan protokol HTTP untuk komunikasi data antar aplikasi, dengan format data yang umum digunakan seperti JSON atau XML.

 

Komponen Utama dan Cara Kerja REST API

 

REST bekerja berdasarkan model komunikasi klien-server. Klien mengirimkan permintaan (request) ke server, dan server mengirimkan kembali jawaban (response). Setiap permintaan ini independen dan tidak bergantung pada permintaan sebelumnya.

Mari kita lihat komponen-komponen utamanya:

 

1. Sumber Daya (Resources)

 

Dalam REST, segala sesuatu dianggap sebagai "sumber daya". Sumber daya bisa berupa data apa pun: profil pengguna, daftar produk, sebuah foto, atau artikel berita. Setiap sumber daya ini memiliki pengenal unik yang disebut URI (Uniform Resource Identifier).

Contoh URI:

https://api.toko-online.com/products (untuk semua produk)

https://api.toko-online.com/products/123 (untuk produk dengan ID 123)

https://api.media-sosial.com/users/johndoe (untuk pengguna dengan username 'johndoe')

 

2. Metode HTTP (HTTP Verbs)

 

Untuk berinteraksi dengan sumber daya, klien menggunakan metode standar dari protokol HTTP. Ini mirip dengan perintah yang Anda berikan kepada "pelayan". Empat metode yang paling umum adalah:

MetodeAksiContoh Analogi di Restoran
GETMengambil data dari server."Tolong lihatkan menu."
POSTMembuat data baru di server."Tolong buatkan pesanan baru."
PUTMemperbarui data yang sudah ada."Tolong ganti pesanan saya."
DELETEMenghapus data dari server."Tolong batalkan pesanan saya."

Contoh Praktis:

GET /users - Mengambil daftar semua pengguna.

POST /users - Membuat pengguna baru.

PUT /users/123 - Memperbarui data pengguna dengan ID 123.

DELETE /users/123 - Menghapus pengguna dengan ID 123.

 

3. Representasi Sumber Daya (Representation)

 

Saat Anda meminta data dari server, server tidak mengirimkan database-nya secara langsung. Sebaliknya, ia mengirimkan "representasi" atau salinan dari keadaan sumber daya tersebut pada saat itu. Format representasi yang paling populer saat ini adalah JSON (JavaScript Object Notation) karena ringan dan mudah dibaca oleh manusia maupun mesin.

Contoh response dalam format JSON saat melakukan GET /users/123:

JSON

 

{
  "id": 123,
  "nama": "Budi Santoso",
  "email": "budi.santoso@example.com",
  "status": "aktif"
}

 

4. Stateless (Tanpa Status)

 

Ini adalah prinsip kunci REST. Setiap permintaan dari klien ke server harus berisi semua informasi yang dibutuhkan server untuk memahami dan memproses permintaan tersebut. Server tidak menyimpan informasi atau status apa pun tentang klien di antara permintaan.

Setiap kali Anda "berbicara" dengan pelayan, Anda dianggap sebagai pelanggan baru. Anda tidak bisa berkata, "Sama seperti yang tadi," karena pelayan (server) tidak mengingat pesanan Anda sebelumnya.

 

Mengapa REST API Begitu Populer?

 

Sederhana dan Mudah Dipelajari: Menggunakan standar HTTP yang sudah dikenal luas oleh para developer.

Pemisahan Klien dan Server: Tim frontend (yang membuat tampilan aplikasi) dan tim backend (yang mengelola server dan database) bisa bekerja secara independen. Selama keduanya setuju pada "menu" (spesifikasi API), sistem akan berjalan lancar.

Skalabilitas dan Fleksibilitas: Karena sifatnya yang stateless, mudah untuk menyeimbangkan beban ke banyak server. Selain itu, satu backend API bisa digunakan oleh berbagai macam klien (website, aplikasi Android, aplikasi iOS).

Independen dari Teknologi: Anda bisa membangun klien dengan JavaScript (React, Vue) dan server dengan Python (Django), Java (Spring), atau Node.js. Selama mereka berkomunikasi melalui REST API, semuanya akan terhubung dengan baik.

 

Contoh di Dunia Nyata

 

Aplikasi Cuaca: Ponsel Anda mengirimkan permintaan GET ke API cuaca dengan menyertakan lokasi Anda. Server API merespons dengan data cuaca terkini dalam format JSON, yang kemudian ditampilkan dengan indah di layar Anda.

Login dengan Google/Facebook: Saat Anda mengklik "Login with Google", aplikasi Anda mengirim permintaan ke API Google untuk otentikasi. Google API akan memvalidasi dan mengirimkan kembali token sebagai bukti bahwa Anda adalah pengguna yang sah.

E-commerce: Saat Anda menambahkan barang ke keranjang, browser Anda mungkin mengirim permintaan POST ke API e-commerce untuk membuat item baru di keranjang belanja Anda.

 

Kesimpulan

 

REST API bukanlah teknologi yang rumit, melainkan sebuah gaya arsitektur elegan yang berfungsi sebagai jembatan penghubung antar aplikasi. Dengan memahami konsep klien-server, sumber daya (URI), metode HTTP, dan format data seperti JSON, Anda telah memegang kunci dasar untuk memahami cara kerja sebagian besar aplikasi modern di dunia.

Selamat datang di dunia pengembangan aplikasi yang saling terhubung! Memahami REST API adalah langkah pertama yang krusial dalam perjalanan Anda menjadi seorang developer yang andal.