Friday 13th: Akan Selalu Ada Minimal Satu Hari Jumat Tanggal 13 dalam Setiap Tahun
Ini bukan cerita horor atau hal lain yang tidak scientific yah. Jika
kita perhatikan dengan seksama, dalam setiap tahun ada minimal satu hari
Jumat bertanggal 13. Kalau gak percaya, lihat saja kalendar. Pada
tahun 2020 ini, Jumat tanggal 13 muncul 2 kali pada Maret dan
November nanti.
Bahkan dulu waktu kuliah di Matematika, ada satu soal ujian Matematika Diskrit dengan soal seperti ini:
Buktikan bahwa ada minimal satu Jumat bertanggal
13setiap tahunnya!
Pembuktian secara matematika mungkin agak sulit dipahami yah. Intinya
saat kita bisa membuat kondisi secara iteratif, Jumat tanggal 13 akan
terjadi saat awal bulan (tanggal 1) jatuh pada hari Minggu.
Menariknya, selalu ada tanggal 1 yang jatuh di hari Minggu.
Sekarang saya akan memberikan bukti dengan cara brute force, yakni
dengan menghitung sampai 30 tahun ke depan, ada berapa banyak Jumat
tanggal 13 muncul setiap tahunnya.
Untuk melakukannya saya akan membuat algoritma sehingga mesin yang akan menghitungnya secara otomatis.
Pertama-tama, saya akan membuat database tanggal dari 1 Januari 2020
hingga 31 Desember 2050.
tanggal = seq(as.Date("2020-01-01"),as.Date("2050-12-31"),by = 1)
data = data.frame(
tanggal = tanggal,
hari = lubridate::wday(tanggal, label = T),
angka = lubridate::day(tanggal),
bulan = lubridate::month(tanggal,label = T),
tahun = lubridate::year(tanggal)
)
Kemudian saya akan hitung kemunculan Jumat tanggal 13 setiap tahunnya:
hasil =
data %>%
filter(hari == "Fri" & angka == 13) %>%
group_by(tahun) %>%
summarise(freq = n(),
terjadi_saat = stringr::str_c(bulan,collapse = ",")) %>%
ungroup()
| tahun | freq | terjadi\_saat |
|---|---|---|
| 2020 | 2 | Mar,Nov |
| 2021 | 1 | Aug |
| 2022 | 1 | May |
| 2023 | 2 | Jan,Oct |
| 2024 | 2 | Sep,Dec |
| 2025 | 1 | Jun |
| 2026 | 3 | Feb,Mar,Nov |
| 2027 | 1 | Aug |
| 2028 | 1 | Oct |
| 2029 | 2 | Apr,Jul |
Kalau saya buat visualisasinya, maka:
