-
-
Notifications
You must be signed in to change notification settings - Fork 33.1k
Description
import csv
import os
FILE_NAME = 'register_keberatan.csv'
FIELDS = [
"Nomor Registrasi",
"Tanggal Keberatan Diterima",
"Nama Pemohon",
"Alamat Pemohon",
"Pekerjaan Pemohon",
"Nomor Kontak",
"Nomor Pendaftaran Permintaan Informasi",
"Informasi Yang Diminta",
"Tujuan Penggunaan Informasi",
"Alasan Pengajuan Keberatan (a-g)",
"Keputusan Atasan PPID",
"Hari dan Tanggal Pemberian Tanggapan",
"Nama dan Posisi Atasan PPID",
"Tanggapan Pemohon Informasi"
]
def initialize_file():
if not os.path.exists(FILE_NAME):
with open(FILE_NAME, mode='w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=FIELDS)
writer.writeheader()
def input_data():
print("Masukkan data keberatan:")
data = {}
for field in FIELDS:
data[field] = input(f"{field}: ")
with open(FILE_NAME, mode='a', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=FIELDS)
writer.writerow(data)
print("Data berhasil disimpan.\n")
def search_data():
keyword = input("Masukkan kata kunci pencarian (nama, tanggal, nomor pendaftaran, dll): ").lower()
with open(FILE_NAME, mode='r', encoding='utf-8') as file:
reader = csv.DictReader(file)
results = [row for row in reader if keyword in ''.join(row.values()).lower()]
if results:
print(f"Ditemukan {len(results)} data:")
for i, row in enumerate(results, 1):
print(f"\nData ke-{i}:")
for key, value in row.items():
print(f"{key}: {value}")
else:
print("Data tidak ditemukan.")
def main():
initialize_file()
while True:
print("\nMenu:")
print("1. Input Data Keberatan")
print("2. Cari Data Keberatan")
print("3. Keluar")
choice = input("Pilih menu (1/2/3): ")
if choice == '1':
input_data()
elif choice == '2':
search_data()
elif choice == '3':
print("Keluar dari program.")
break
else:
print("Pilihan tidak valid, coba lagi.")
if name == "main":
main()