1+ def tambah_pengunjung (list_kunjungan_dari_main , id_terakhir_dari_main ):
2+
3+ print ("\n Tambah Data Pengunjung" )
4+ nama_pengunjung = input ("Nama Pengunjung: " )
5+ nama_santri = input ("Nama Santri: " )
6+
7+ while True :
8+ print ("Daerah asal : Sumatra, Kalimantan, Jawa" )
9+ daerah_asal = input ("Masukkan Daerah Asal: " ).lower ()
10+
11+ if daerah_asal in ["sumatra" , "kalimantan" , "jawa" ]:
12+ break
13+ else :
14+ print (" Perhatikan ketikan mu dek" )
15+
16+ id_terakhir_dari_main += 1
17+ id_antrian_baru = id_terakhir_dari_main
18+
19+ data_baru = [id_antrian_baru , nama_pengunjung , nama_santri , daerah_asal ]
20+
21+ list_kunjungan_dari_main .append (data_baru )
22+
23+ print (f"\n Berhasil! Data pengunjung '{ nama_pengunjung } ' telah ditambahkan." )
24+ print (f"ID Antrian Anda adalah: { id_antrian_baru } " )
25+
26+ return id_antrian_baru
27+
28+ def tampilkan_pengunjung (list_kunjungan_dari_main ):
29+ print ("\n Daftar Seluruh Kunjungan Santri" )
30+
31+ if not list_kunjungan_dari_main :
32+ print ("Belum ada data yang terdaftar." )
33+ return
34+
35+ daftar_daerah = ["sumatra" , "kalimantan" , "jawa" ]
36+ for daerah_target in daftar_daerah :
37+ print (f"\n DAERAH { daerah_target .upper ()} " )
38+
39+ data_ditemukan_di_daerah_ini = False
40+ for data in list_kunjungan_dari_main :
41+ if data [3 ] == daerah_target :
42+ print (f"ID: { data [0 ]} | Nama: { data [1 ]} | Menjenguk: { data [2 ]} " )
43+ data_ditemukan_di_daerah_ini = True
44+ if not data_ditemukan_di_daerah_ini :
45+ print (f" (Tidak ada pengunjung dari { daerah_target } )" )
46+
47+ def hapus_pengunjung (list_kunjungan_dari_main ):
48+
49+ print ("\n Hapus Data Pengunjung" )
50+ if not list_kunjungan_dari_main :
51+ print ("Belum ada data." )
52+ return
53+
54+ id_input_str = input ("Masukkan ID Antrian: " )
55+ input_valid = True
56+ if len (id_input_str ) == 0 :
57+ input_valid = False
58+ else :
59+ for karakter in id_input_str :
60+ if karakter not in "0123456789" :
61+ input_valid = False
62+ break
63+ if not input_valid :
64+ print ("ID Antrian harus berupa angka positif." )
65+ return
66+
67+ id_hapus = int (id_input_str )
68+
69+ data_yang_akan_dihapus = None
70+
71+ for data in list_kunjungan_dari_main :
72+ if data [0 ] == id_hapus :
73+ data_yang_akan_dihapus = data
74+ break
75+
76+ if data_yang_akan_dihapus :
77+ list_kunjungan_dari_main .remove (data_yang_akan_dihapus )
78+ print (f"Data dengan ID Antrian { id_hapus } telah berhasil dihapus." )
79+ else :
80+ print (f"Data dengan ID Antrian { id_hapus } tidak ditemukan." )
81+
82+ def main ():
83+ list_kunjungan_lokal = []
84+ id_terakhir_lokal = 0
85+
86+ while True :
87+ print ("\n Sistem Antrian Kunjungan Santri" )
88+ print ("1. Tambah" )
89+ print ("2. Tampilkan" )
90+ print ("3. Hapus" )
91+ print ("4. Keluar" )
92+
93+ pilihan = input ("pilih (1-4): " )
94+
95+ if pilihan == '1' :
96+ id_terakhir_lokal = tambah_pengunjung (list_kunjungan_lokal , id_terakhir_lokal )
97+
98+ elif pilihan == '2' :
99+ tampilkan_pengunjung (list_kunjungan_lokal )
100+
101+ elif pilihan == '3' :
102+ hapus_pengunjung (list_kunjungan_lokal )
103+
104+ elif pilihan == '4' :
105+ print ("\n Kamu sudah keluar program." )
106+ break
107+ else :
108+ print ("\n Harap masukkan angka 1, 2, 3, atau 4." )
109+
110+ if __name__ == "__main__" :
111+ main ()
0 commit comments