Apa Itu REST API dan Cara Kerjanya untuk Pemula

Kamu mungkin sering mendengar istilah "API" atau "REST API" di dunia pemrograman, tapi mungkin masih bingung apa sebenarnya artinya dan bagaimana cara kerjanya. Jangan khawatir โ€” d...

Apa Itu REST API dan Cara Kerjanya untuk Pemula

Kamu mungkin sering mendengar istilah "API" atau "REST API" di dunia pemrograman, tapi mungkin masih bingung apa sebenarnya artinya dan bagaimana cara kerjanya. Jangan khawatir โ€” dalam artikel ini kita akan membahas REST API dari nol dengan bahasa yang mudah dipahami, lengkap dengan analogi dan contoh yang membuatnya lebih jelas.

Apa Itu API?

API singkatan dari Application Programming Interface. Secara sederhana, API adalah cara dua aplikasi untuk "berbicara" satu sama lain. Bayangkan kamu sedang di restoran. Kamu tidak langsung masuk ke dapur untuk mengambil makanan sendiri โ€” kamu memesan lewat pelayan. Pelayan itulah API: perantara yang menerima permintaanmu, menyampaikannya ke sistem di belakang (dapur/server), lalu mengembalikan hasilnya kepadamu.

Contoh nyata: ketika aplikasi cuaca di ponselmu menampilkan prakiraan cuaca, ia menggunakan API untuk meminta data cuaca dari server penyedia layanan cuaca tersebut.

Apa Itu REST?

REST singkatan dari Representational State Transfer. Ini adalah sebuah gaya arsitektur (bukan protokol atau standar) yang mendefinisikan aturan dan prinsip dalam membangun API menggunakan HTTP. API yang mengikuti prinsip REST disebut RESTful API atau REST API.

REST menjadi populer karena kesederhanaannya โ€” ia memanfaatkan protokol HTTP yang sudah ada dan tidak memerlukan framework khusus untuk digunakan.

Prinsip Utama REST API

Ada beberapa prinsip yang membuat sebuah API disebut "RESTful":

  • Client-Server โ€” client (frontend/aplikasi) dan server (backend) terpisah dan berkomunikasi melalui API
  • Stateless โ€” setiap request berdiri sendiri; server tidak menyimpan informasi tentang request sebelumnya
  • Uniform Interface โ€” menggunakan format dan konvensi yang konsisten (URL, HTTP methods)
  • Resource-based โ€” semua yang diakses dianggap sebagai "resource" yang diidentifikasi oleh URL

Konsep Resource dan Endpoint

Dalam REST API, setiap "hal" yang bisa diakses disebut resource. Misalnya, dalam aplikasi blog, resource-nya bisa berupa artikel, pengguna, atau komentar. Setiap resource diakses melalui endpoint โ€” yaitu URL tertentu.

Contoh endpoint untuk resource artikel:

GET    /api/articles        โ†’ ambil semua artikel
GET    /api/articles/5      โ†’ ambil artikel dengan ID 5
POST   /api/articles        โ†’ buat artikel baru
PUT    /api/articles/5      โ†’ update artikel dengan ID 5
DELETE /api/articles/5      โ†’ hapus artikel dengan ID 5

Perhatikan bagaimana URL mewakili "benda" (artikel) dan HTTP method mewakili "aksi" yang dilakukan.

HTTP Methods dalam REST API

REST API menggunakan HTTP methods untuk menentukan jenis operasi yang dilakukan:

  • GET โ€” membaca atau mengambil data (Read)
  • POST โ€” membuat data baru (Create)
  • PUT โ€” memperbarui seluruh data yang ada (Update)
  • PATCH โ€” memperbarui sebagian data yang ada (Partial Update)
  • DELETE โ€” menghapus data (Delete)

Format Data: JSON

REST API umumnya menggunakan JSON (JavaScript Object Notation) sebagai format data untuk request dan response. JSON mudah dibaca manusia dan mudah diproses oleh mesin. Contoh response dari endpoint GET /api/articles/5:

{
  "id": 5,
  "judul": "Belajar REST API",
  "konten": "REST API adalah...",
  "penulis": "Budi",
  "tanggal": "2024-01-15"
}

Cara Menggunakan REST API

Untuk berkomunikasi dengan REST API, kamu membutuhkan HTTP client. Beberapa pilihan populer:

  • Postman atau Insomnia โ€” tools GUI untuk testing API, sangat cocok untuk pemula
  • cURL โ€” tool command line yang tersedia di hampir semua sistem operasi
  • Fetch API atau Axios โ€” untuk menggunakan REST API dari JavaScript di browser atau Node.js

Contoh menggunakan Fetch API di JavaScript untuk mengambil data artikel:

fetch('https://api.contoh.com/articles')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

Status Code dalam REST API

REST API menggunakan HTTP status code untuk memberitahu client apakah request berhasil atau gagal:

  • 200 OK โ€” request berhasil, data dikembalikan
  • 201 Created โ€” data baru berhasil dibuat
  • 400 Bad Request โ€” request tidak valid atau data yang dikirim salah
  • 401 Unauthorized โ€” perlu login/autentikasi terlebih dahulu
  • 403 Forbidden โ€” tidak punya izin untuk mengakses resource ini
  • 404 Not Found โ€” resource yang diminta tidak ditemukan
  • 500 Internal Server Error โ€” ada masalah di sisi server

Contoh REST API Publik untuk Belajar

Cara terbaik belajar REST API adalah langsung mencobanya. Beberapa REST API publik yang bisa kamu eksplorasi secara gratis:

  • JSONPlaceholder (jsonplaceholder.typicode.com) โ€” fake API untuk testing
  • OpenWeatherMap API โ€” data cuaca global
  • GitHub API โ€” akses data repositori dan pengguna GitHub
  • The Dog API / Cat API โ€” untuk latihan sederhana yang menyenangkan

Kesimpulan

REST API adalah cara standar yang digunakan aplikasi untuk berkomunikasi satu sama lain melalui HTTP. Dengan memahami konsep resource, endpoint, HTTP methods, JSON, dan status code, kamu sudah memiliki pemahaman dasar yang kuat tentang REST API. Langkah selanjutnya adalah langsung praktik โ€” coba gunakan API publik, lalu pelajari cara membangunnya sendiri menggunakan framework backend favoritmu. REST API adalah skill yang sangat dicari di industri, jadi investasi waktumu untuk mempelajarinya tidak akan sia-sia!

REST API adalah cara kerja REST API pengertian API REST API untuk pemula belajar REST API contoh REST API
Bagikan artikel
Kembali

Komentar (0)

Punya pertanyaan atau tambahan? Tulis di bawah โ€” tak perlu login.

Membalas komentarโ€ฆ batal

Belum ada komentar. Jadilah yang pertama!

๐Ÿš€ Partner Recommendation

Butuh Source Code & Aplikasi Premium?

Download aplikasi Laravel, POS, Sekolah, Klinik, ERP, dan source code siap pakai di GudangCode.

GudangCode
  • โœ” Source Code Premium
  • โœ” Sistem Siap Pakai
  • โœ” Lifetime Update
  • โœ” Membership Lifetime
  • โœ” Update Aplikasi Harian
Daftar Membership โ†’