Birthday Paradox: Kenapa 23 Orang Cukup untuk Berbagi Ulang Tahun

Coba tebak: berapa orang yang harus berkumpul di satu ruangan agar peluang ada dua orang dengan ulang tahun yang sama melewati 50%? Kebanyakan orang menjawab ratusan — toh setahun ada 365 hari. Jawaban sebenarnya cuma 23. Inilah yang disebut Birthday Paradox: bukan paradoks yang melanggar logika, melainkan kejutan yang melanggar intuisi.
1. Kenapa intuisi kita meleset
Otak kita diam-diam menjawab pertanyaan yang salah. Kita membayangkan: “berapa peluang ada orang yang ulang tahunnya sama dengan saya?” — itu memang butuh banyak orang.
Padahal pertanyaannya: “berapa peluang ada sepasang orang mana pun yang sama?” Yang dihitung adalah pasangan, bukan individu. Dan jumlah pasangan tumbuh jauh lebih cepat daripada jumlah orang:
Di ruangan berisi 23 orang, jumlah pasangannya sudah 253. Dengan 253 kesempatan untuk cocok, 50% jadi masuk akal.

Menambah orang menambah banyak pasangan sekaligus. 23 orang → 253 pasangan yang semuanya berpeluang cocok.
2. Menghitungnya dengan tepat
Cara termudah adalah menghitung kebalikannya dulu: peluang semua orang punya ulang tahun berbeda. Orang pertama bebas (365/365), orang kedua harus beda (364/365), orang ketiga (363/365), dan seterusnya:
Maka peluang ada yang sama tinggal satu dikurangi itu:
3. Angkanya
| Jumlah orang | Peluang ada yang sama |
|---|---|
| 5 | 2,71% |
| 10 | 11,69% |
| 20 | 41,14% |
| 23 | 50,73% |
| 30 | 70,63% |
| 40 | 89,12% |
| 50 | 97,04% |
| 57 | 99,01% |
| 70 | 99,92% |
Dua angka yang paling mengejutkan: hanya butuh 23 orang untuk melewati 50%, dan hanya 57 orang untuk mencapai 99%. Dengan 70 orang, praktis pasti ada yang kembar ulang tahunnya.

Peluang naik curam di awal: menyentuh 50% di 23 orang, lalu 99% di 57 orang.
4. Buktikan dengan kode
Rumus eksaknya cukup beberapa baris:
def prob_shared(n, days=365):
p = 1.0
for k in range(n):
p *= (days - k) / days
return 1 - p # peluang minimal dua orang berbagi ulang tahun
for n in [10, 23, 50, 57]:
print(f"{n:>3} orang -> {prob_shared(n) * 100:.2f}%")
Keluarannya:
10 orang -> 11.69%
23 orang -> 50.73%
50 orang -> 97.04%
57 orang -> 99.01%
Dan karena angka 50,73% itu terasa terlalu bagus untuk dipercaya, mari uji dengan simulasi: acak ulang tahun 23 orang, ulangi ratusan ribu kali, lalu hitung berapa sering ada yang tabrakan.
import random
def ada_yang_sama(n=23, days=365):
ultah = [random.randint(1, days) for _ in range(n)]
return len(set(ultah)) < n # ada duplikat?
trials = 200_000
hit = sum(ada_yang_sama() for _ in range(trials))
print(f"{hit / trials * 100:.2f}%")
# ~50.78%
Hasil simulasi ~50,78% — nyaris pas dengan hitungan teori 50,73%. Bukan sulap.
5. Bukan sekadar trik pesta
Birthday Paradox terlihat seperti kejutan statistik yang lucu, tapi prinsipnya serius: tabrakan jauh lebih mungkin terjadi daripada dugaan kita setiap kali banyak “benda” dipetakan ke sejumlah terbatas “kotak”.
Prinsip yang sama muncul saat memilih panjang ID acak, hash, atau token: jumlah item yang dibutuhkan untuk mulai bertabrakan tumbuh hanya seakar jumlah kemungkinan — bukan sebesar jumlah kemungkinannya. Itulah kenapa 365 hari ternyata “kecil”, dan kenapa ulang tahun kembar begitu sering kita temui.
Penutup
- Yang dihitung adalah pasangan, bukan orang — dan pasangan tumbuh kuadratik.
- Peluang ada yang berbagi ulang tahun =
. - 23 orang sudah melewati 50%; 57 orang mencapai 99%.
Jadi lain kali Anda di ruangan berisi dua-tiga lusin orang, kemungkinan besar ada sepasang yang meniup lilin di hari yang sama. Intuisi boleh kaget — tapi angkanya tidak pernah bohong.