04.05. Menemukan Nama Hari Menggunakan Python

BayuYudhaSaputra 1 views 11 slides Oct 22, 2025
Slide 1
Slide 1 of 11
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11

About This Presentation

Tuliskan program yang menerima input berupa bilangan integer 0 hingga 6 dengan 0, 1, 2, 3, 4, 5, dan 6 berturut-turut merepresentasikan hari Senin, Selasa, Rabu, Kamis, Jumat, Sabtu dan Minggu. Kemudian, program menawarkan prompt kepada pengguna lagi untuk menginput jumlah hari setelah hari yang dii...


Slide Content

0405-TemukanHari.py #bayuyudhasaputra
Programming Exercise 04.05
Menemukan Nama Hari
04.05.01. Masalah
04.05
(Find future dates)
Tuliskan program yang menerima input berupa bilangan integer 0 hingga 6 dengan 0, 1, 2, 3, 4, 5,
dan 6 berturut-turut merepresentasikan hari Senin, Selasa, Rabu, Kamis, Jumat, Sabtu dan Minggu.
Kemudian, program menawarkan prompt kepada pengguna lagi untuk menginput jumlah hari setelah
hari yang diinput sebelumnya. Program menampilkan nama hari yang diinput dan nama hari
beberapa hari kemudian.
Contoh Program:
Enter today's day: 1
Enter the number of days elapsed since today: 3
Today is Monday and the future day is Thursday
Enter today's day: 0
Enter the number of days elapsed since today: 31
Today is Sunday and the future day is Wednesday
Halaman 1

0405-TemukanHari.py #bayuyudhasaputra
04.05.02. Kode Program
Program ini terdiri dari dua input yaitu, bilangan integer antara 0 hingga 6 yang
merepresentasikan nama-nama hari dan bilangan integer yang merepresentasikan berapa hari
lagi. Bilangan 0, 1, 2, 3, 4, 5, dan 6 berturut-turut merepresentasikan hari Senin, Selasa,
Rabu, Kamis, Jumat, Sabtu dan Minggu. Misal, pengguna menginput bilangan integer 3 maka
program merepresentasikan bilangan ini dengan hari “Kamis”.
Kemudian, program menampilkan prompt lagi kepada pengguna untuk menginput
bilangan integer non-negatif yang menyatakan “Berapa hari lagi?” Nilai integer yang diinput
ini dijumlahkan dengan integer sebelumnya. Kemudian, program menghitung sisa pembagian
dari hasil penjumlahan ini dengan bilangan 7 (sesuai banyak hari dalam seminggu). Jika sisa
pembagian 0, 1, 2, 3, 4, 5, dan 6 maka dapat diartikan hari yang dimaksud berturut-turut
adalah hari Senin, Selasa, Rabu, Kamis, Jumat, Sabtu atau Minggu. Misal, pengguna
menginput bilangan 10 maka program akan menjumlahkan 3 dengan 10, hasilnya adalah 13.
Bilangan 13 ini dibagi dengan 7 sehingga sisanya adalah 6. Berarti, sepuluh hari dari hari
Kamis adalah hari Minggu.
Baris kode lengkap program ini adalah:
1 import sys
2
3 # 1. Input index hari
4 keterangan = ("Input bilangan integer yang merepresentasikan nama hari "
5 "dengan ketentuan: \n"
6 "\t 0 : Senin \n"
7 "\t 1 : Selasa \n"
8 "\t 2 : Rabu \n"
9 "\t 3 : Kamis \n"
10 "\t 4 : Jumat \n"
11 "\t 5 : Sabtu \n"
12 "\t 6 : Minggu")
13
14 print("===================================================================")
15 print(keterangan)
16 print("------------------------------------------------------------------------")
17
18 indexHariIni = eval(input("Input bilangan integer : "))
19
Halaman 2

0405-TemukanHari.py #bayuyudhasaputra
20 # 2. Tentukan nama hari
21 if indexHariIni == 0:
22 namaHariIni = "Senin"
23 print("Hari ini adalah hari", namaHariIni)
24 elif indexHariIni == 1:
25 namaHariIni = "Selasa"
26 print("Hari ini adalah hari", namaHariIni)
27 elif indexHariIni == 2:
28 namaHariIni = "Rabu"
29 print("Hari ini adalh hari", namaHariIni)
30 elif indexHariIni == 3:
31 namaHariIni = "Kamis"
32 print("Hari ini adalah hari", namaHariIni)
33 elif indexHariIni == 4:
34 namaHariIni = "Jumat"
35 print("Hari ini adalah hari", namaHariIni)
36 elif indexHariIni == 5:
37 namaHariIni = "Sabtu"
38 print("Hari ini adalah hari", namaHariIni)
39 elif indexHariIni == 6:
40 namaHariIni = "Minggu"
41 print("Hari ini adalah hari", namaHariIni)
42 else:
43 print("Input angka 0 hingga 6 saja!")
44 sys.exit()
45
46 # 3. Input bilangan yang menyatakan "berapa hari dari sekarang?"
47 keterangan = ("Input bilangan yang menyatakan "
48 " Berapa hari lagi? "
49 )
50 banyakHariEsok = eval(input(keterangan))
51
52 if banyakHariEsok >= 0:
53 # 4. Jumlahkan
54 jumlah = indexHariIni + banyakHariEsok
55
56 # 5. Tentukan indeks hari esok
57 indexHariEsok = jumlah % 7
58
59 # 6. Tentukan nama hari esok
60 print("-------------------------------------------------------------------")
Halaman 3

0405-TemukanHari.py #bayuyudhasaputra
61 if indexHariEsok == 0:
62 namaHariEsok = "Senin"
63 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
64 elif indexHariEsok == 1:
65 namaHariEsok = "Selasa"
66 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
67 elif indexHariEsok == 2:
68 namaHariEsok = "Rabu"
69 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
70 elif indexHariEsok == 3:
71 namaHariEsok = "Kamis"
72 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
73 elif indexHariEsok == 4:
74 namaHariEsok = "Jumat"
75 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
76 elif indexHariEsok == 5:
77 namaHariEsok = "Sabtu"
78 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
79 elif indexHariEsok == 6:
80 namaHariEsok = "Minggu"
81 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
82 else:
83 print("Input bilangan bulat non-negatif")
84 sys.exit()
85
86 print("====================================================================")
Pada baris ke-1, program mengimpor modul sys agar bisa menggunakan method sys.exit()
pada baris ke-44 dan ke-54. Method ini digunakan agar program keluar jika kondisi
terpenuhi.
1 import sys
Langkah ke-1 : Input indeks hari ini
3 # 1. Input index hari
4 keterangan = ("Input bilangan integer yang merepresentasikan nama hari "
5 "dengan ketentuan: \n"
6 "\t 0 : Senin \n"
7 "\t 1 : Selasa \n"
Halaman 4

0405-TemukanHari.py #bayuyudhasaputra
8 "\t 2 : Rabu \n"
9 "\t 3 : Kamis \n"
10 "\t 4 : Jumat \n"
11 "\t 5 : Sabtu \n"
12 "\t 6 : Minggu")
13
14 print("===================================================================")
15 print(keterangan)
16 print("------------------------------------------------------------------------")
17
18 indexHariIni = eval(input("Input bilangan integer : "))
Pada baris ke-2 hingga 12, variabel dengan nama keterangan didefinisikan. Variabel ini berisi
beberapa string yang digabungkan menggunakan tanda kurung. Operasi penggabungan string
ini tidak perlu menggunakan simbol +. Variabel ini digunakan untuk menampung string yang
menjelaskan bagaimana cara menginput suatu bilangan integer antara 0 hingga 6 yang
merepresentasikan hari Senin hingga Minggu seperti yang ditunjukkan oleh gambar 04.05.01
berikut. Kemudian pada baris ke-15, nilai dalam variabel keterangan ditampilkan di layar
menggunakan fungsi print(). Kode pada baris ke-18 digunakan untuk menerima input berupa
integer menggunakan fungsi input(). Kemudian, hasil input dikonversi dari string menjadi
integer menggunakan fungsi eval(). Hasil input ini disimpan dalam variabel dengan nama
indexHariIni.
Halaman 5
Gambar 04.05.01. Contoh Output Ketika Pengguna Belum Menginput Suatu Nilai

0405-TemukanHari.py #bayuyudhasaputra
Langkah ke-2 : Menentukan nama hari ini.
20 # 2. Tentukan nama hari
21 if indexHariIni == 0:
22 namaHariIni = "Senin"
23 print("Hari ini adalah hari", namaHariIni)
24 elif indexHariIni == 1:
25 namaHariIni = "Selasa"
26 print("Hari ini adalah hari", namaHariIni)
27 elif indexHariIni == 2:
28 namaHariIni = "Rabu"
29 print("Hari ini adalh hari", namaHariIni)
30 elif indexHariIni == 3:
31 namaHariIni = "Kamis"
32 print("Hari ini adalah hari", namaHariIni)
33 elif indexHariIni == 4:
34 namaHariIni = "Jumat"
35 print("Hari ini adalah hari", namaHariIni)
36 elif indexHariIni == 5:
37 namaHariIni = "Sabtu"
38 print("Hari ini adalah hari", namaHariIni)
39 elif indexHariIni == 6:
40 namaHariIni = "Minggu"
41 print("Hari ini adalah hari", namaHariIni)
42 else:
43 print("Input angka 0 hingga 6 saja!")
44 sys.exit()
Kode pada baris ke-20 hingga 44 digunakan untuk menentukan nama hari berdasarkan nilai
yang diinput oleh pengguna. Diagram alir langkah ke-2 ini dijelaskan oleh gambar 04.05.02
berikut. Misal, jika pengguna menginput nilai 4 maka variabel dengan nama namaHariIni
diinisialisasi dengan string “Jumat” dan seterusnya seperti yang ditunjukkan oleh gambar
04.05.03. Jika pengguna menginput nilai selain 1, 2, 3, 4, 5, atau 6, program menampilkan
pesan “Input angka 0 hingga 6 saja!” seperti yang ditunjukkan oleh gambar 04.05.04.
Kemudian, program akan keluar karena ada method sys.exit() pada baris ke-44.
Halaman 6

0405-TemukanHari.py #bayuyudhasaputra
Halaman 7
Gambar 04.05.02. Diagram Alir "Nama Hari Ini" Berdasarkan Input Pengguna
Gambar 04.05.03. Contoh output Ketika Pengguna Menginput Nilai 4

0405-TemukanHari.py #bayuyudhasaputra
Langkah ke-3 : Input bilangan yang menyatakan “berapa hari dari sekarang?”
Langkah ke-4: Menjumlahkan indeks hari ini dengan input
Langkah ke-5: Menentukan indeks hari esok
46 # 3. Input bilangan yang menyatakan "berapa hari dari sekarang?"
47 keterangan = ("Input bilangan yang menyatakan "
48 " Berapa hari lagi? "
49 )
50 banyakHariEsok = eval(input(keterangan))
51
52 if banyakHariEsok >= 0:
53 # 4. Jumlahkan
54 jumlah = indexHariIni + banyakHariEsok
55
56 # 5. Tentukan indeks hari esok
57 indexHariEsok = jumlah % 7
58
59 # 6. Tentukan nama hari esok
60 print("-------------------------------------------------------------------")
61 if indexHariEsok == 0:
62 namaHariEsok = "Senin"
63 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
64 elif indexHariEsok == 1:
65 namaHariEsok = "Selasa"
Halaman 8
Gambar 04.05.04.Contoh Output Ketika Pengguna Menginput Selain Angka 1 hingga 6

0405-TemukanHari.py #bayuyudhasaputra
66 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
67 elif indexHariEsok == 2:
68 namaHariEsok = "Rabu"
69 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
70 elif indexHariEsok == 3:
71 namaHariEsok = "Kamis"
72 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
73 elif indexHariEsok == 4:
74 namaHariEsok = "Jumat"
75 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
76 elif indexHariEsok == 5:
77 namaHariEsok = "Sabtu"
78 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
79 elif indexHariEsok == 6:
80 namaHariEsok = "Minggu"
81 print(banyakHariEsok, "hari lagi adalah ", namaHariEsok)
82 else:
83 print("Input bilangan bulat non-negatif")
84 sys.exit()
Pada baris ke-47, program menginisialisasi ulang variabel keterangan. Nilai yang
diinisialisasi adalah gabungan string “Input bilangan yang menyatakan” dengan “Berapa hari
lagi?” Kedua string ini digabungkan menggunakan tanda kurung sehingga tidak perlu
menggunakan operator +. Pada baris ke-50, program menawarkan prompt kepada pengguna
untuk menginput nilai integer yang menyatakan “berapa hari dari sekarang” menggunakan
fungsi input(). Kemudian, nilai ini dikonversi menjadi nilai numerik menggunakan fungsi
eval(). Nilai ini disimpan dalam variabel dengan nama banyakHariEsok. Pada baris ke-52
hingga 60, nilai dalam variabel banyakHariEsok ini dicek. Jika nilai banyakHariEsok tidak
kurang dari 0 (baris ke-52) maka blok perintah pada baris ke-53 hingga 81 akan dijalankan.
Pada baris ke-54, nilai indeks hari ini (tersimpan dalam variabel indexHariIni) ditambahkan
dengan nilai integer yang menyatakan “berapa hari dari sekarang?” (tersimpan dalam variabel
banyakHariEsok). Hasil penjumlahan ini disimpan dalam variabel dengan nama jumlah.
Misal sebelumnya pengguna menginput indexHariIni dengan nilai 4 kemudian pengguna
menginput nilai banyakHariEsok dengan nilai 45 maka nilai variabel jumlah adalah 4 + 45
atau sama dengan 49. Pada baris ke-57, program menentukan sisa pembagian antara hasil
penjumlahan dengan bilangan 7. Bilangan 7 ini menunjukkan banyaknya hari dalam 1
minggu. Sisa pembagian ini disimpan dalam variabel indexHariEsok. Misal sebelumnya nilai
dalam hasil penjumlahan adalah 49, sehingga sisa pembagian antara 49 dengan 7 adalah 0.
Halaman 9

0405-TemukanHari.py #bayuyudhasaputra
Kemudian sisa pembagian ini dikonversi menjadi nama hari menggunakan percabangan pada
blok kode baris ke-61 hingga ke-81. Pada kasus ini, hasil pembagian adalah 0 sehingga nama
hari yang muncul adalah “Senin”. Output program dengan kasus seperti ini ditunjukkan oleh
gambar 04.05.05 berikut.
Jika pengguna menginput nilai variabel banyakHariEsok selain bilangan bulat non-
negatif maka program akan menampilkan pesan “Input bilangan bulat non-negatif” (baris ke-
83). Kemudian, program keluar karena method sys.exit() dijalankan pada baris ke-84.
Gambar 04.05.06 berikut ini adalah contoh output program ketika pengguna menginput nilai
selain bilangan bulat non-negatif.
Halaman 10
Gambar 04.05.05. Contoh Output Program Jika Input Sesuai

0405-TemukanHari.py #bayuyudhasaputra
04.05.02. Daftar Pustaka
Liang. 2013. Introduction to Programming with Python. London: Pearson Education yang
bisa diakses pada tautan berikut:
https://www.amazon.com/Introduction-Programming-Using-Python-Daniel/dp/
0132747189
Baris kode ini bisa diakses pada tautan berikut:
https://github.com/bayuYudhaSaputra/Python/blob/main/Python_Liang/0405-
tebakNamaHari.py
Halaman 11
Gambar 04.05.06. Contoh Output Jika Pengguna Menginput Selain Bilangan Bulat Non-
negatif