Skip to content

Instantly share code, notes, and snippets.

@adityasuseno
Last active November 19, 2022 20:49
Show Gist options
  • Save adityasuseno/37b9039a0599c434bc04cd14d0490998 to your computer and use it in GitHub Desktop.
Save adityasuseno/37b9039a0599c434bc04cd14d0490998 to your computer and use it in GitHub Desktop.
Python script untuk menghitung jumlah hari dimana mobil ganjil dan mobil genap boleh keluar di kawasan ganjil-genap Jakarta
#!/usr/bin/env python3
# Python script untuk menghitung jumlah hari dimana mobil ganjil dan mobil genap boleh keluar di kawasan ganjil-genap Jakarta
# Dibikin oleh Aditya Suseno
import calendar # kita mengimpor library yang sudah ada
tahun = 2022 # ganti dengan tahun yang kamu inginkan
c = calendar.TextCalendar(calendar.SUNDAY) # set bahwa hari pertama di tiap bulan adalah hari Minggu
# mulai jumlah hari dengan nol
genap = 0
ganjil = 0
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
# 0 untuk Senin, 1 untuk Selasa, 2 untuk Rabu, 3 Kamis, 4 untuk Jumat, 5 untuk Sabtu, 6 untuk Minggu
# fungsi itermonthdays2 akan menghasilkan sebuah tuple dimana index 0 menunjukkan tanggal dan index 1 menunjukkan hari dalam bulan yang sudah ditentukan
for bulan in range (1, 13):
for i in c.itermonthdays2(tahun, bulan):
if i[0] > 0:
if (i[1] == 5 or i[1] == 6): #Jika Sabtu atau Minggu
genap += 1
ganjil += 1
elif (i[0] % 2 == 0): #Jika Genap
genap += 1
else:
ganjil += 1
else:
continue
print ("Jumlah Hari Mobil Pelat GANJIL Boleh Keluar Selama Tahun", tahun, "adalah", ganjil, "Hari")
print ("Jumlah Hari Mobil Pelat GENAP Boleh Keluar Selama Tahun", tahun, "adalah", genap, "Hari")
@adityasuseno
Copy link
Author

Asumsi:

Hanya menghitung hari sabtu dan minggu
TIDAK menghitung hari libur nasional

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment