Mengenal Idempotency: Konsep Coding yang Nyelametin Dompetmu

BintangBintang4 September 2026 · 2 menit bacaMengenal Idempotency: Konsep Coding yang Nyelametin Dompetmu

Pernah gak sih lo lagi belanja online, pas klik tombol "Bayar", layarnya mendadak loading lama? Karena gak sabar, lo klik lagi tombolnya beberapa kali. Pas ngecek mutasi rekening, ternyata saldo lo kepotong dua kali untuk transaksi yang sama. Kesal? Pasti.

Kejadian kayak gini bukan cuma bikin pembeli emosi, tapi juga bikin developer dan pemilik bisnis pusing tujuh keliling. Proses refund itu ribet, makan waktu, dan makan biaya. Nah, di dunia software engineering, ada satu konsep sakti yang diciptakan khusus untuk mencegah bencana ini. Namanya Idempotency.

Apa Sih Sebenarnya Idempotency Itu?

Gak usah pusing sama namanya yang terdengar ribet dan ilmiah. Sederhananya, idempotency (atau idempotensi) adalah sifat dari sebuah operasi atau API request yang kalau dijalankan berulang kali dengan input yang sama, hasilnya bakalan tetap sama kayak pertama kali dijalankan.

Bayangkan tombol lift. Kalau lo pencet tombol lantai 5 sekali, liftnya bakal jalan ke lantai 5. Kalau lo pencet tombol itu sampai sepuluh kali berturut-turut, apakah liftnya bakal naik ke lantai 50? Gak, kan? Liftnya tetap bakal berhenti di lantai 5. Itu namanya idempotent.

Sebaliknya, bayangkan transaksi penarikan ATM. Setiap kali lo masukin kartu dan minta tarik tunai Rp100.000, saldo lo bakal berkurang Rp100.000. Kalau lo lakukan itu tiga kali, saldo berkurang Rp300.000. Ini contoh operasi yang non-idempotent (tidak idempotent).

Kenapa Konsep Ini Bisa Nyelametin Uangmu?

Dalam sistem digital, terutama yang urusannya sama duit kayak payment gateway, e-commerce, atau SaaS, jaringan internet itu gak pernah 100% stabil. Masalah klasik yang sering terjadi adalah:

  • User klik tombol bayar.
  • Server menerima request dan sukses memotong saldo user.
  • Pas server mau kirim respon "Sukses" ke browser user, koneksi internet tiba-tiba putus.
  • Browser user mengira transaksi gagal karena gak dapat respon, lalu otomatis mengirim ulang request yang sama (atau user-nya yang ngeklik lagi karena panik).

Tanpa idempotency, server bakal menganggap itu request baru dan memotong saldo user untuk kedua kalinya. Di sinilah idempotency masuk sebagai pahlawan penyelamat.

Cara Kerjanya di Dunia Nyata

Gimana cara kita menerapkannya di codingan kita? Cara paling umum dan standar industri adalah menggunakan Idempotency Key.

Idempotency key adalah sebuah ID unik yang dibuat oleh client (aplikasi/web) sebelum mengirim request ke server. Prosesnya kira-kira seperti ini:

Dapatkan update terbaru

Langganan biar nggak ketinggalan artikel & kabar terbaru.

Lihat lebih banyak dari Bintang

Produk, link, dan artikel lainnya ada di halaman Bintang.

Kunjungi Halaman