Ganjil vs Genap: Menang Mana?

Diambil dari detik.com
Sumber Ilustrasi: Detik.com

Seperti yang Anda tahu, warga DKI Jakarta mengalami permasalahan kota yang sangat klasik, yaitu kemacetan. Untuk mengatasi permasalahan tersebut, pemerintah sudah banyak melakukan usaha, seperti penambahan armada busway, pembatasan kendaraan dengan 3 in 1 di lokasi tertentu, dan peraturan yang paling baru resmi diterapkan pada 30 Agustus 2016, yaitu ganjil genap. Dengan adanya peraturan ganjil genap ini, maka 3 in 1 sudah tidak ada lagi.

Saya tak akan menganalisis pengaruh peraturan ini terhadap tingkat kemacetan di Jakarta, tetapi ingin menjawab pertanyaan yang tadi pagi terlintas dalam benak saya, yaitu:

Mana yang lebih untung, punya kendaraan berplat ganjil atau genap?

Untuk menjawab pertanyaan tersebut, kita asumsikan yang menjadi patokan “lebih untung” adalah jumlah hari kendaraan bisa berkendara di jalan-jalan yang diterapkan ganjil-genap, maka kita harus menghitung berapa hari masing-masing kendaraan ganjil dan genap dapat melintas dalam kurun waktu tertentu.

Asumsi kurun waktu yang diambil adalah 1 tahun sejak 30 Agustus 2016. Berarti, interval waktunya adalah 30 Agustus 2016 hingga 29 Agustus 2017. Jumlah hari dalam kurun waktu tersebut adalah 365 hari. Kita kurangkan dengan hari Sabtu dan Minggu yang mana sebanyak 104 hari, sehingga tinggal 261 hari. Kita kurangkan lagi dengan jumlah hari libur yang tidak bertepatan pada hari Sabtu dan hari Minggu, yaitu sebanyak 11 hari, sehingga tinggal 250 hari. Jika kita asosiasikan dengan tanggal, maka jumlah tanggal ganjil di luar dari hari Sabtu, Minggu, dan libur adalah 129 hari. Sedangkan jumlah tanggal genapnya adalah 121 hari. Dengan demikian, Anda yang memiliki kendaraan plat nomor ganjil lebih diuntungkan 8 hari dibandingkan dengan yang memiliki kendaraan plat nomor genap.

Pertanyaan saya terjawab.

Oiya, untuk mengerjakan hal ini, saya dibantu oleh R programming sederhana berikut.

library(lubridate)
library(dplyr)
#set direktori
setwd("C:/Users/USER/Documents/05_pribadi/tanggal_ganjilgenap")

#daftar libur dari 30 Agustus 2016 s.d. 29 Agustus 2017
Liburan <- read.csv("daftarlibur.csv")
Liburan$Date <- as.Date(mdy(Liburan$Date))

#Buat tanggal dari 30 Agustus 2016 hingga 29 Agustus 17
Tanggal <- data.frame(Date = seq.Date(as.Date("2016/8/30"),as.Date("2017/8/29"),"days"))
Tanggal$day <- apply(Tanggal,1,day)

#Merge dengan liburan
Tanggal <- left_join(Tanggal,Liburan,by="Date")

#Beri label apakah tanggal tersebut ganjil atau genap 
Tanggal <- Tanggal %>% mutate(jenis = ifelse(day %% 2 == 0,"genap","ganjil"),weekday = wday(Date,label = TRUE))
Tanggal[is.na(Tanggal)] <- 0

#Filter hari Sabtu, Minggu, dan Libur
Tanggal <- Tanggal %>% filter(as.integer(weekday)>1, as.integer(weekday)<7, as.integer(Holiday)==0)

#Agregat jumlah ganjil dan genap 
Agregat <- Tanggal %>% group_by(jenis) %>% summarise(jumlah=n())

#Print agregat
print(Agregat)

Note: Daftar Hari Libur saya daftar di file csv (daftarlibur.csv).

Date,Holiday
9/12/2016,1
10/2/2016,1
12/12/2016,1
12/24/2016,1
12/25/2016,1
12/26/2016,1
1/1/2017,1
1/28/2017,1
3/28/2017,1
4/14/2017,1
4/24/2017,1
5/1/2017,1
5/25/2017,1
6/1/2017,1
6/25/2017,1
6/26/2017,1
8/17/2017,1

Akan tetapi, sebenarnya tanpa bantuan script pun bisa dilakukan dengan cepat. Satu tahun ada 12 bulan. Ada 7 bulan yang memiliki 31 hari, 4 bulan yang memiliki 30 hari, dan 1 bulan yang memiliki 28 atau 29 hari. Berarti dalam satu tahun, tanggal ganjil akan 7-8 hari lebih banyak ketimbang genap. Make sense. Ganjil, you are the winner!

Wanna support me?

Follow by Email
LinkedIn
Share