import csv
import os
from datetime import datetime
FILE_NAME = “data_keuangan.csv”
# Membuat file jika belum ada
def buat_file():
if not os.path.exists(FILE_NAME):
with open(FILE_NAME, mode=’w’, newline=”) as file:
writer = csv.writer(file)
writer.writerow([“Tanggal”, “Jenis”, “Kategori”, “Jumlah”, “Keterangan”])
# Menambahkan transaksi
def tambah_transaksi(jenis):
tanggal = datetime.now().strftime(“%Y-%m-%d”)
kategori = input(“Masukkan kategori: “)
jumlah = int(input(“Masukkan jumlah uang: “))
keterangan = input(“Keterangan (opsional): “)
with open(FILE_NAME, mode=’a’, newline=”) as file:
writer = csv.writer(file)
writer.writerow([tanggal, jenis, kategori, jumlah, keterangan])
print(” Transaksi berhasil disimpann”)
# Menampilkan laporan
def laporan():
pemasukan = 0
pengeluaran = 0
print(“n=== LAPORAN KEUANGAN ===”)
with open(FILE_NAME, mode=’r’) as file:
reader = csv.DictReader(file)
for row in reader:
if row[“Jenis”] == “Pemasukan”:
pemasukan += int(row[“Jumlah”])
elif row[“Jenis”] == “Pengeluaran”:
pengeluaran += int(row[“Jumlah”])
saldo = pemasukan – pengeluaran
print(f”Total Pemasukan : Rp {pemasukan}”)
print(f”Total Pengeluaran: Rp {pengeluaran}”)
print(f”Saldo Akhir : Rp {saldo}n”)
# Menu utama
def menu():
while True:
print(“=== APLIKASI KEUANGAN PRIBADI ===”)
print(“1. Tambah Pemasukan”)
print(“2. Tambah Pengeluaran”)
print(“3. Lihat Laporan”)
print(“4. Keluar”)
pilihan = input(“Pilih menu (1-4): “)
if pilihan == “1”:
tambah_transaksi(“Pemasukan”)
elif pilihan == “2”:
tambah_transaksi(“Pengeluaran”)
elif pilihan == “3”:
laporan()
elif pilihan == “4”:
print(“Terima kasih telah menggunakan “)
break
else:
print(” Pilihan tidak validn”)
# Program utama
buat_file()
menu()
Requirements:
Get fast, custom help from our academic experts, any time of day.
Place your order now for a similar assignment and have exceptional work written by our team of experts.
Secure
100% Original
On Time Delivery