Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash

Sabtu pagi, 20 September 2025. Server Direktorat Jenderal Pajak kembali mengalami downtime. Bukan untuk pertama kali. Sejak diluncurkan awal tahun ini, sistem Coretax—platform modernisasi perpajakan terbesar dalam sejarah Indonesia—sudah berkali-kali m…


This content originally appeared on DEV Community and was authored by Mohamad Hasan

Sabtu pagi, 20 September 2025. Server Direktorat Jenderal Pajak kembali mengalami downtime. Bukan untuk pertama kali. Sejak diluncurkan awal tahun ini, sistem Coretax—platform modernisasi perpajakan terbesar dalam sejarah Indonesia—sudah berkali-kali mengalami pemeliharaan mendadak. Di April, sistem mati 18 jam. Di Juni, lagi. Juli, lagi. Dan sekarang, September.

Di ruang kontrol pusat data, layar menampilkan grafik merah menyala: ribuan permintaan per detik menghantam endpoint yang sama. Bagi wajib pajak, ini hanya klik tombol "Lapor SPT". Bagi sistem, ini tsunami digital.

86,7 Juta Wajib Pajak, Satu Pintu Masuk

Bayangkan ini: pada akhir 2024, Indonesia mencatat 86,7 juta wajib pajak terdaftar—naik 17,23% dari tahun sebelumnya. Dari jumlah itu, 19,78 juta diwajibkan melaporkan SPT Tahunan. Dan ketika tenggat waktu mendekat—seperti 31 Maret untuk wajib pajak orang pribadi—jutaan orang serentak membuka portal yang sama.

Data DJP mencatat hingga 1 April 2025, 12,34 juta SPT Tahunan sudah diterima. Itu berarti rata-rata lebih dari 400.000 SPT masuk per hari di minggu terakhir Maret. Dalam hitungan kasar, jika diasumsikan 8 jam kerja per hari, itu sekitar 14.000 transaksi per menit. Dan setiap transaksi tidak sesederhana satu klik—ada login, pengisian formulir, unggah dokumen, submit, hingga notifikasi.

Tanpa mekanisme pembatas yang cermat, server bisa kolaps. Dan ketika sistem publik kolaps, konsekuensinya bukan sekadar keluhan di media sosial. Ini soal macetnya roda administrasi negara.

Anatomi Rate Limiter: Polisi Lalu Lintas Digital

Di sinilah rate limiter masuk. Dalam arsitektur IT modern, rate limiter bekerja seperti polisi lalu lintas—mengatur siapa boleh lewat, berapa banyak, dan seberapa cepat. Ia adalah gerbang tol digital yang menjaga agar tidak semua mobil masuk sekaligus.

Mekanismenya didasarkan pada dua algoritma utama: Token Bucket dan Leaky Bucket. Keduanya punya filosofi berbeda, tapi tujuan sama: menjaga stabilitas sistem di tengah lonjakan trafik.

Token Bucket: Ember dengan Koin

Bayangkan sebuah ember berisi koin (token). Setiap kali pengguna ingin mengirim permintaan ke server, mereka harus "membayar" dengan satu token dari ember. Jika token tersedia, permintaan diproses. Jika tidak, permintaan ditolak atau ditunda.

Yang menarik: ember ini terus diisi ulang secara otomatis. Misalnya, setiap detik ditambah 10 token baru, dengan kapasitas maksimum 100 token. Ini berarti sistem bisa menangani burst traffic—lonjakan mendadak—selama masih ada token di ember. Tapi jika semua token habis, pengguna harus menunggu hingga ember terisi kembali.

Token Bucket memproses permintaan dengan jumlah token yang tersedia secara dinamis, memungkinkan sistem menangani burst traffic sementara selama token masih ada di dalam ember. Inilah kenapa algoritma ini populer di API Gateway seperti NGINX, Kong, atau AWS API Gateway—mereka butuh fleksibilitas untuk menangani pola trafik yang tidak menentu.

Contoh konkret: Twitter membatasi akun gratis hingga 500 tweet per hari. Itu adalah implementasi Token Bucket. Anda bisa mem-posting 50 tweet sekaligus dalam satu menit (burst), tapi setelah itu harus menunggu token terisi kembali.

Leaky Bucket: Ember yang Bocor

Algoritma kedua, Leaky Bucket, bekerja berbeda. Bayangkan permintaan masuk seperti air yang dituang ke dalam ember. Permintaan diproses (bocor keluar) dengan kecepatan konstan, seperti air yang menetes dari lubang. Jika permintaan datang terlalu cepat, ember meluap, dan permintaan berlebih diabaikan.

Bedanya dengan Token Bucket: Leaky Bucket memproses permintaan dengan kecepatan tetap, bukan berdasarkan ketersediaan token. Ini membuatnya lebih stabil dan prediktabel, tapi kurang fleksibel untuk burst traffic.

Algoritma Leaky Bucket dapat memproses permintaan secara robust karena hanya memproses permintaan dalam jendela waktu yang tetap. Namun, ia memiliki masalah: permintaan yang diproses mungkin bukan yang terbaru. Seperti antrean roller coaster di taman bermain—Anda harus menunggu giliran, bahkan jika antrian sangat panjang.

Contoh konkret: Router jaringan menggunakan Leaky Bucket untuk mengatur aliran paket data. Paket masuk dengan kecepatan bervariasi, tapi diproses dengan kecepatan konstan untuk mencegah kongesti.

Token vs Leaky: Kapan Pakai yang Mana?

Token Bucket memberikan kontrol granular dengan parameter MAX_CAPACITY dan REFILL_RATE, memungkinkan burst traffic singkat melebihi REFILL_RATE selama token masih tersedia. Sementara Leaky Bucket menghasilkan output konstan yang ditentukan oleh LEAK_RATE, memberikan perilaku prediktabel yang memudahkan pemeliharaan.

Dalam praktik, Coretax dan sistem pemerintah lain cenderung menggunakan Token Bucket karena fleksibilitasnya. Ketika jutaan wajib pajak mengakses sistem di hari terakhir pelaporan, burst traffic tidak bisa dihindari. Token Bucket memungkinkan sistem menangani lonjakan singkat tanpa langsung menolak semua permintaan.

Tapi untuk aplikasi yang butuh output stabil—seperti streaming video atau processing antrian transaksi—Leaky Bucket lebih cocok.

Implementasi di Dunia Nyata: Dari Startup hingga Negara

Rate limiter bukan teknologi eksotis. Ia adalah standar industri yang digunakan di mana-mana.

Google API membatasi permintaan per detik dan per hari. Jika Anda menggunakan Google Maps API versi gratis, Anda hanya bisa melakukan 40.000 permintaan per bulan. Melebihi itu? Sistem mengembalikan error HTTP 429: Too Many Requests.

GitHub API membatasi 5.000 permintaan per jam untuk pengguna yang sudah login. Setiap response header menyertakan informasi: X-RateLimit-Remaining: 4999, memberitahu berapa permintaan yang masih bisa dilakukan.

Gojek, Tokopedia, Shopee—mereka semua menggunakan rate limiter untuk bertahan saat flash sale. Ketika kampanye 11.11 atau Harbolnas, lonjakan pengguna bisa meledak ribuan kali lipat dalam satu menit. Tanpa rate limiter, server mereka akan kolaps dalam hitungan detik.

Dan sekarang, sistem pemerintah seperti Coretax mengadopsi praktik yang sama.

Coretax: Ambisi Besar, Tantangan Lebih Besar

Coretax—atau Sistem Inti Administrasi Perpajakan (SIAP)—adalah tonggak modernisasi terbesar DJP. Tujuannya: menyatukan seluruh layanan pajak—dari e-Filing, e-Faktur, e-Bupot, hingga registrasi NPWP—ke dalam satu portal terintegrasi. Sebelumnya, wajib pajak harus berpindah-pindah aplikasi. Sekarang, cukup satu.

Tapi ambisi besar datang dengan tantangan besar. Sejak diluncurkan Januari 2025, Coretax mengalami serangkaian downtime terencana maupun tak terencana. Di April, sistem down 18 jam untuk pemeliharaan. Juni dan Juli, downtime kembali terjadi untuk peningkatan kapasitas. Bahkan baru-baru ini, 24 Oktober 2025, seluruh layanan elektronik DJP—kecuali Coretax—tidak bisa diakses hingga Sabtu pagi untuk pemeliharaan infrastruktur.

Direktur Penyuluhan DJP, Dwi Astuti, mengatakan pemeliharaan ini bagian dari stabilisasi sistem. "DJP terus melakukan perbaikan bugs dan memperbaiki performa sistem supaya tidak terjadi latensi," jelasnya.

Dirjen Pajak Bimo Wijayanto menambahkan, "Coretax ini sangat besar sekali sistemnya, jangkauannya sangat luas. Kami sedang tahap stabilisasi dan perbaikan dilakukan secara bertahap untuk jangka panjang lebih andal."

Rate Limiter di Layer Gateway: Benteng Pertahanan Pertama

Dalam arsitektur Coretax, rate limiter diterapkan di API Gateway—pintu masuk utama sebelum permintaan mencapai server aplikasi atau database. Ini adalah benteng pertahanan pertama.

Ketika pengguna klik "Login" di portal Coretax, permintaan tidak langsung masuk ke database. Ia harus melewati beberapa lapisan:

  1. Load Balancer — Membagi trafik ke beberapa server
  2. API Gateway — Di sinilah rate limiter bekerja
  3. Application Server — Memproses logika bisnis
  4. Database — Menyimpan dan mengambil data

Jika rate limiter tidak ada, semua permintaan—termasuk yang berlebihan—akan langsung menghantam application server dan database. Dalam hitungan menit, sistem bisa crash.

Dengan rate limiter, sistem bisa membatasi, misalnya:

  • 100 permintaan per menit per pengguna
  • 1.000 permintaan per menit per IP address
  • 10.000 permintaan per menit untuk seluruh sistem

Jika batas terlampaui, API Gateway mengembalikan response: HTTP 429 - Too Many Requests. Retry-After: 60 seconds.

Pengguna mungkin harus menunggu sebentar, tapi setidaknya sistem tidak kolaps total.

Dari Bug hingga Latensi: Perjuangan Menstabilkan Sistem

Per Mei 2025, mantan Dirjen Pajak Suryo Utomo menyebutkan bahwa DJP masih memperbaiki bug di 18 proses bisnis—turun dari 21 sebelumnya. Target penyelesaian: akhir Juli 2025. Sementara migrasi data dari sistem lama (DJP Online) ke Coretax ditargetkan selesai Desember 2025.

Tantangannya bukan sekadar teknis. Ini soal ekspektasi. Wajib pajak menginginkan sistem yang cepat dan stabil. Fiskus membutuhkan data real-time untuk pengawasan. Dan DJP harus memastikan bahwa ketika jutaan orang mengakses sistem secara bersamaan—seperti saat tenggat waktu pelaporan SPT—server tidak ambruk.

Dalam implementasi modern, rate limiter tidak hanya membatasi jumlah permintaan, tapi juga memberi sinyal ke sistem lain. Misalnya:

  • Jika trafik melonjak di atas threshold tertentu, auto-scaling akan menambah server secara otomatis
  • Jika ada pengguna yang mencoba melakukan brute force attack (menebak password berkali-kali), rate limiter akan memblokir IP tersebut
  • Jika ada aplikasi pihak ketiga yang membanjiri API dengan permintaan berlebihan, rate limiter akan membatasi akses mereka

Ini bukan hanya soal mencegah crash—ini soal keamanan, efisiensi, dan pengalaman pengguna.

Pelajaran dari Flash Sale hingga Pemilu

Indonesia sebenarnya tidak asing dengan lonjakan trafik ekstrem. Platform e-commerce seperti Tokopedia dan Shopee rutin menghadapi jutaan pengguna serentak saat kampanye 11.11 atau Harbolnas. Mereka bertahan bukan karena server raksasa, tapi karena arsitektur yang cermat—termasuk rate limiting yang ketat.

Begitu pula dengan sistem pemerintah lain. Online Single Submission (OSS) untuk perizinan usaha, atau sistem pendaftaran CPNS, juga menghadapi pola serupa: ribuan pengguna mengakses sistem dalam waktu singkat. Tanpa pembatas yang tepat, sistem bisa lumpuh dalam hitungan menit.

Pengalaman global menunjukkan hal yang sama. Saat pemilu di beberapa negara, server registrasi pemilih sering kolaps karena lonjakan trafik. Solusinya bukan menambah server sebanyak mungkin, tapi mengatur arus dengan cerdas—dan itulah fungsi rate limiter.

Paradoks yang Indah: Melambat untuk Tetap Cepat

Ada ironi dalam arsitektur IT modern: yang menjaga sistem tetap cepat justru alat yang memperlambatnya sedikit. Rate limiter bukan penghambat—ia adalah pengatur ritme. Ia memastikan bahwa sistem tidak kewalahan, sumber daya dibagi adil, dan tidak ada satu pengguna yang membanjiri server sendirian.

Rate limiter berguna untuk aplikasi yang memerlukan kontrol lebih presisi atas pembatasan rate dan dapat menanggung overhead memori tambahan. Bermanfaat untuk aplikasi yang perlu memproses permintaan dengan kecepatan konsisten, seperti network traffic shaping atau mengontrol operasi write ke disk.

Di dunia yang terobsesi dengan kecepatan, pelajaran dari Coretax dan rate limiter ini relevan: kadang, untuk menjaga kelancaran bersama, kita memang harus rela menunggu sebentar.

Apa Selanjutnya?

DJP menargetkan Coretax sepenuhnya stabil dan handover lengkap pada Desember 2025. Direktur Penyuluhan Rosmauli optimis, "Insyaallah nanti handover di Desember 2025 bisa smooth."

Namun tantangan tidak berhenti di situ. Tahun 2026, untuk pertama kalinya, pelaporan SPT Tahunan akan sepenuhnya dilakukan melalui Coretax. Tidak ada lagi sistem cadangan. Tidak ada lagi DJP Online sebagai backup. Semua bergantung pada satu platform.

Jika Coretax berhasil, Indonesia akan memiliki sistem pajak digital terpadu yang setara dengan negara maju. Jika gagal, konsekuensinya bukan hanya teknis—tapi reputasi, kepercayaan publik, dan pada akhirnya, penerimaan negara.

Di balik setiap halaman login yang "sedikit lebih lama", mungkin ada mekanisme perlindungan yang sedang bekerja. Rate limiter memastikan bahwa meskipun jutaan orang mengakses sistem yang sama, semuanya tetap mendapatkan giliran.

Dan mungkin, di tengah kegaduhan digital kita hari ini, itulah pelajaran kecil yang bisa dibawa ke dunia nyata: kadang, untuk menjaga kelancaran bersama, kita memang harus rela menunggu sebentar.


This content originally appeared on DEV Community and was authored by Mohamad Hasan


Print Share Comment Cite Upload Translate Updates
APA

Mohamad Hasan | Sciencx (2025-10-25T08:00:40+00:00) Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash. Retrieved from https://www.scien.cx/2025/10/25/ketika-14-000-transaksi-membanjiri-server-per-menit-bagaimana-rate-limiter-cegah-crash-3/

MLA
" » Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash." Mohamad Hasan | Sciencx - Saturday October 25, 2025, https://www.scien.cx/2025/10/25/ketika-14-000-transaksi-membanjiri-server-per-menit-bagaimana-rate-limiter-cegah-crash-3/
HARVARD
Mohamad Hasan | Sciencx Saturday October 25, 2025 » Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash., viewed ,<https://www.scien.cx/2025/10/25/ketika-14-000-transaksi-membanjiri-server-per-menit-bagaimana-rate-limiter-cegah-crash-3/>
VANCOUVER
Mohamad Hasan | Sciencx - » Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/10/25/ketika-14-000-transaksi-membanjiri-server-per-menit-bagaimana-rate-limiter-cegah-crash-3/
CHICAGO
" » Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash." Mohamad Hasan | Sciencx - Accessed . https://www.scien.cx/2025/10/25/ketika-14-000-transaksi-membanjiri-server-per-menit-bagaimana-rate-limiter-cegah-crash-3/
IEEE
" » Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash." Mohamad Hasan | Sciencx [Online]. Available: https://www.scien.cx/2025/10/25/ketika-14-000-transaksi-membanjiri-server-per-menit-bagaimana-rate-limiter-cegah-crash-3/. [Accessed: ]
rf:citation
» Ketika 14.000 Transaksi Membanjiri Server Per Menit: Bagaimana Rate Limiter Cegah Crash | Mohamad Hasan | Sciencx | https://www.scien.cx/2025/10/25/ketika-14-000-transaksi-membanjiri-server-per-menit-bagaimana-rate-limiter-cegah-crash-3/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.