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
13
setiap 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: