Pembatasan API | Untuk apa fungsinya?

Pembatasan API penting untuk membatasi akses pengguna, mencegah beban berlebih, memastikan kinerja, dan melindungi dari serangan DoS.

Ardianto Nugroho

Ardianto Nugroho

6 July 2025

Pembatasan API | Untuk apa fungsinya?

API (Application Programming Interfaces) adalah perantara yang menjembatani aplikasi perangkat lunak. Hal ini memungkinkan dua entitas terpisah untuk bertukar data atau fungsionalitas. Namun, ketika sebuah aplikasi menjadi sangat populer, API dan server harus bekerja lebih keras untuk menyediakan layanan mereka kepada lebih banyak pengguna.

💡
Meskipun API disediakan untuk pengguna untuk implementasi aplikasi, beberapa pengguna jahat mungkin mengeksploitasi API Anda, menyebabkannya kelebihan beban. Ini menimbulkan masalah bagi Anda, karena pengguna lain mungkin segera mengeluh tentang kinerja yang sangat buruk yang ditampilkan oleh API Anda.

Untuk memastikan ini tidak pernah terjadi, pertimbangkan untuk menggunakan alat API seperti Apidog. Dengan Apidog, Anda dapat membangun, menguji, membuat mock, dan mendokumentasikan API semuanya dalam satu aplikasi. Jika Anda tertarik, mulailah hari ini dengan mengklik tombol di bawah! 👇 👇 👇
button

Pembatasan API (API throttling) dan pembatasan laju API (API rate limiting) adalah dua istilah yang sering dicampuradukkan. Namun, keduanya tidak memiliki arti yang sama. Untuk memahami lebih lanjut tentang perbedaan antara pembatasan dan pembatasan laju, lihat artikel ini terlebih dahulu!

Apa itu Pembatasan API?

Pembatasan API adalah mekanisme yang digunakan untuk mengontrol laju aplikasi dapat mengakses API. Dengan kata lain, pembatasan API membatasi jumlah permintaan yang dapat dibuat ke API dalam periode tertentu.

Pembatasan API digunakan untuk melindungi API dari kelebihan beban, memastikan bahwa setiap orang memiliki kinerja yang lancar saat menggunakan API.

Bagaimana Cara Kerja Pembatasan API?

Untuk menerapkan pembatasan API, sebuah aplikasi akan bergantung pada algoritma untuk mengelola aliran permintaan yang masuk.

Algoritma Token Bucket

Algoritma Token Bucket berkisar pada dua konsep:

  1. Token: Token adalah "izin" untuk mengakses API
  2. Bucket: Bucket menampung sejumlah token yang terbatas

Dalam Algoritma Token Bucket, ada beberapa konsep yang perlu Anda ketahui:

Kapasitas Burst

Model Token Bucket dapat diperluas dengan kapasitas burst; kapasitas burst memungkinkan bucket untuk menampung jumlah token tambahan (anggap saja sebagai bucket yang sedikit lebih besar dengan beberapa token yang sudah diisi sebelumnya).

Dengan kapasitas burst yang ditambahkan, aplikasi dapat mengirimkan burst permintaan yang melebihi batas laju untuk periode singkat sebelum dibatasi. Biasanya diimplementasikan untuk menangani lonjakan lalu lintas yang besar.

Implementasi Pembatasan API

Ada berbagai tingkatan di mana pembatasan API dapat diimplementasikan:

  1. Berdasarkan Alamat IP: Membatasi permintaan yang berasal dari alamat IP tertentu.
  2. Berdasarkan Kunci API: Menggunakan kunci API unik untuk mengidentifikasi dan membatasi aplikasi individual.
  3. Berdasarkan Pengguna: Pembatasan berdasarkan akun pengguna untuk kontrol yang lebih baik.

Kode Kesalahan dan Percobaan Ulang

Ketika permintaan API dibatasi, API biasanya akan mengembalikan kode respons kesalahan (contoh: 429 Terlalu Banyak Permintaan). Aplikasi yang dikembangkan dengan baik memiliki logika percobaan ulang yang diimplementasikan dengan mekanisme backoff, memaksa pengguna untuk menunggu waktu yang semakin lama sebelum dibatasi.

Keuntungan dari Pembatasan API

Pembatasan API menawarkan beberapa keuntungan signifikan yang memastikan operasi API yang lancar dan stabil baik untuk penyedia maupun penggunanya. Berikut adalah rincian manfaat utamanya:

1. Kinerja dan Stabilitas:

2. Keadilan dan Manajemen Sumber Daya:

3. Skalabilitas dan Efisiensi:

4. Keamanan:

5. Peningkatan Pengalaman Pengguna:

6. Pemantauan Kesehatan Aplikasi:

7. Mendorong Penggunaan yang Bertanggung Jawab:

Contoh Kode Sisi Server Pembatasan API

Contoh kode Python di bawah ini menunjukkan pembatasan API menggunakan Metode Token Bucket.

class TokenBucket:
  def __init__(self, capacity, refill_rate):
    self.capacity = capacity  # Jumlah token maksimum
    self.tokens = capacity  # Jumlah token saat ini
    self.refill_rate = refill_rate  # Token ditambahkan per satuan waktu

  def get_token(self, current_time):
    # Simulasikan pengisian ulang token berdasarkan waktu yang berlalu
    elapsed_time = current_time - self.last_refill_time
    self.tokens = min(self.capacity, self.tokens + (elapsed_time * self.refill_rate))
    self.last_refill_time = current_time

    if self.tokens > 0:
      self.tokens -= 1
      return True
    else:
      return False

# Contoh penggunaan
bucket = TokenBucket(5, 1)  # 5 token, isi ulang 1 per detik
request_time = time.time()  # Dapatkan waktu saat ini

if bucket.get_token(request_time):
  # Proses permintaan (logika dihilangkan demi singkatnya)
  print("Permintaan diizinkan!")
else:
  print("Permintaan dibatasi, coba lagi nanti!")

Penjelasan Kode:

  1. Kelas TokenBucket mewakili bucket dengan capacity dan refill_rate.
  2. Metode get_token memeriksa waktu saat ini dan mensimulasikan pengisian ulang bucket berdasarkan waktu yang berlalu dan laju pengisian ulang.
  3. Jika ada token yang tersedia (tokens lebih besar dari 0), ia menghapus token dan mengizinkan permintaan.
  4. Jika bucket kosong, permintaan dibatasi (ditolak).

Apidog - Buat Permintaan Tak Terbatas ke API

Saat Anda menguji API untuk mengamati respons dan kinerjanya, Anda mungkin perlu membuat permintaan tanpa henti. Sebagian besar alat API membatasi pengguna mereka pada sejumlah permintaan tertentu yang dapat mereka buat per hari. Namun, dengan Apidog, Anda dapat terus membuat permintaan ke API selama belum mencapai batas laju API.

antarmuka pengguna apidog
button

Dengan Apidog, alat pengembangan API all-in-one, Anda dapat membangun, membuat mock, menguji, dan mendokumentasikan API. Apidog memfasilitasi semua proses penting dari siklus hidup API ini tanpa harus menginstal atau mengunduh alat API tambahan.

Membangun API dengan Apidog

Dengan Apidog, Anda dapat membuat API sendiri. Apakah ceruk atau berlaku luas dalam banyak situasi, sepenuhnya terserah Anda untuk memutuskan apa yang mampu dilakukan API Anda.

api baru apidog

Mulailah dengan menekan tombol API Baru, seperti yang ditunjukkan pada gambar di atas.

tambahkan detail api baru apidog

Selanjutnya, Anda dapat memilih banyak karakteristik API. Pada halaman ini, Anda dapat:

Semakin banyak detail yang dapat Anda berikan ke tahap perancangan, semakin deskriptif dokumentasi API Anda, seperti yang ditunjukkan di bagian selanjutnya dari artikel ini.

Untuk memberikan bantuan dalam membuat API jika ini adalah pertama kalinya Anda membuatnya, Anda dapat mempertimbangkan untuk membaca artikel-artikel ini.

Setelah Anda menyelesaikan semua kebutuhan dasar untuk membuat permintaan, Anda dapat mencoba membuat permintaan dengan mengklik Kirim. Anda kemudian akan menerima respons di bagian bawah jendela Apidog, seperti yang ditunjukkan pada gambar di atas.

Antarmuka pengguna yang sederhana dan intuitif memungkinkan pengguna untuk dengan mudah melihat respons yang diperoleh dari permintaan. Penting juga untuk memahami struktur respons karena Anda perlu mencocokkan kode di sisi klien dan server.

Hasilkan Dokumentasi API Deskriptif dengan Apidog

Dengan Apidog, Anda dapat dengan cepat membuat dokumentasi API yang mencakup semua yang dibutuhkan pengembang perangkat lunak hanya dengan beberapa klik.

proses langkah demi langkah berbagi dokumentasi api apidog

Panah 1 - Pertama, tekan tombol Bagikan di sisi kiri jendela aplikasi Apidog. Anda kemudian akan dapat melihat halaman "Dokumen Bersama", yang seharusnya kosong.

Panah 2 - Tekan tombol + Baru di bawah Tidak Ada Data untuk mulai membuat dokumentasi API Apidog pertama Anda.

Pilih dan Sertakan Properti Dokumentasi API Penting

masukkan detail api dan pilih properti dokumen api apidog

Apidog memberi pengembang opsi untuk memilih karakteristik dokumentasi API, seperti siapa yang dapat melihat dokumentasi API Anda dan mengatur kata sandi file, sehingga hanya individu atau organisasi terpilih yang dapat melihatnya.

Lihat atau Bagikan Dokumentasi API Anda

buka bagikan edit dokumentasi api apidog

Apidog mengompilasi detail proyek API Anda ke dalam dokumentasi API yang dapat dilihat melalui URL situs web. Yang harus Anda lakukan adalah mendistribusikan URL sehingga orang lain dapat melihat dokumentasi API Anda!

Jika diperlukan lebih banyak detail, baca artikel ini tentang cara menghasilkan dokumentasi API menggunakan Apidog:

Kesimpulan

Pembatasan API memainkan peran penting dalam memelihara ekosistem API yang sehat dan fungsional. Dengan mengatur aliran permintaan yang masuk, ia melindungi API dari kelebihan beban, memastikan kinerja yang lancar dan waktu respons yang konsisten untuk semua pengguna. Keadilan ini meluas ke manajemen sumber daya, mencegah satu aplikasi memonopoli sumber daya dan menurunkan pengalaman bagi orang lain.

Selain itu, pembatasan memperkuat keamanan dengan mengurangi serangan penolakan layanan yang bertujuan untuk membebani sistem. Intinya, pembatasan API menciptakan skenario win-win bagi penyedia dan pengguna API, mendorong lingkungan yang andal dan efisien untuk pengembangan aplikasi dan pertukaran data.

Apidog dapat menjadi alat API yang optimal untuk memastikan bahwa API Anda berjalan dengan lancar. Bersama dengan fitur dokumentasi Apidog, Anda dapat secara eksplisit menjelaskan apa batas laju untuk API Anda, sehingga mencegah pengguna menyalahgunakan API Anda.

Explore more

Cara Menggunakan OpenAI Sora Secara Gratis: Panduan Lengkap untuk Microsoft Bing Video Creator

Cara Menggunakan OpenAI Sora Secara Gratis: Panduan Lengkap untuk Microsoft Bing Video Creator

💡Ingin alat Pengujian API hebat yang menghasilkan Dokumentasi API yang indah? Ingin platform Terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum? Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!tombol Model teks-ke-video mutakhir OpenAI, Sora, telah mengubah pembuatan konten yang dihasilkan AI dengan kemampuannya menciptakan video yang sangat realistis dari instruksi teks sederhana. Namun, biaya

3 June 2025

Apa itu Ollama? Cara Menginstal Ollama?

Apa itu Ollama? Cara Menginstal Ollama?

💡Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah? Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum? Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau! button Lanskap kecerdasan buatan (AI) terus berkembang dengan kecepatan tinggi, dan Model Bahasa Besar (LLM) menjadi semakin kuat dan mudah diakses. Meskipun banyak orang berinteraksi dengan model

28 April 2025

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?

Ingin Swagger UI dalam Bahasa Indonesia? Artikel ini menjelaskan mengapa tidak ada unduhan resmi gratis dan cara mengaktifkan terjemahan. Jelajahi fitur Swagger dan lihat mengapa Apidog adalah alternatif Swagger superior untuk desain, pengujian, dan dokumentasi API yang terintegrasi.

23 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.