Digital Transformation

Idempotensi (Idempotency)

Vito Atmo
Vito Atmo·9 Juni 2026·1 kali dibaca·2 min baca

TL;DR: Idempotensi adalah sifat sebuah operasi yang memberikan hasil akhir sama walau dipanggil sekali atau berkali-kali dengan input identik. Konsep ini menjaga sistem pembayaran, webhook, dan API tetap aman dari duplikasi saat ada percobaan ulang otomatis.

Apa itu Idempotensi?

Idempotensi adalah jaminan bahwa menjalankan operasi yang sama dua kali tidak menambah efek dibanding menjalankannya sekali. Analogi sederhananya seperti menekan tombol lantai 3 di lift: pencet sekali atau lima kali, lift tetap berhenti di lantai 3, bukan lantai 15. Dalam sistem digital, sifat ini penting karena jaringan tidak selalu andal dan klien sering mengirim ulang permintaan yang dikira gagal.

Operasi pembacaan data umumnya idempoten secara alami. Yang berisiko adalah operasi yang mengubah data, misalnya membuat order atau memotong saldo. Di sinilah pengembang memakai idempotency key, sebuah penanda unik per transaksi, agar server bisa mengenali permintaan duplikat dan mengembalikan hasil yang sama tanpa memproses ulang.

Cara Kerja Idempotency Key

LangkahYang terjadi
Klien kirim permintaanSertakan header unik, misal Idempotency-Key: abc-123
Server cek keyKalau key belum pernah ada, proses dan simpan hasilnya
Permintaan ulangKey sama dikenali, server kembalikan hasil tersimpan tanpa eksekusi ulang

Kenapa Penting?

Tanpa idempotensi, satu klik ganda bisa jadi dua tagihan. Untuk bisnis yang memproses pembayaran atau memicu otomatisasi lewat marketing automation, duplikasi data adalah sumber komplain dan kerugian nyata. Praktik standar industri, termasuk yang dipakai Stripe dan payment gateway lokal, mewajibkan idempotency key pada endpoint yang sensitif.

Pertanyaan Umum

Apakah operasi GET selalu idempoten?

Ya. Membaca data berkali-kali tidak mengubah kondisi server, jadi GET idempoten secara bawaan. Yang perlu dijaga adalah POST dan operasi penulisan lain.

Apa beda idempoten dengan aman (safe)?

Operasi aman tidak mengubah data sama sekali. Operasi idempoten boleh mengubah data, tetapi hasil akhirnya tetap sama walau diulang.

Bagikan