"""Pengolah File CSV — Bagian 1: Membaca data penjualan."""

import csv
import sys


def baca_data(nama_file):
    """Baca seluruh baris file CSV dan kembalikan sebagai list of dict."""
    with open(nama_file, newline="", encoding="utf-8") as berkas:
        return list(csv.DictReader(berkas))


def hitung_omzet(baris):
    """Hitung omzet satu baris: jumlah dikali harga."""
    return int(baris["jumlah"]) * int(baris["harga"])


def main():
    if len(sys.argv) != 2:
        print("Pemakaian: python3 main.py <file.csv>")
        return 1

    nama_file = sys.argv[1]
    try:
        data = baca_data(nama_file)
    except FileNotFoundError:
        print(f"File tidak ditemukan: {nama_file}")
        return 1

    print(f"{'Tanggal':<12}{'Produk':<16}{'Jumlah':>6}{'Harga':>10}{'Omzet':>12}")
    print("-" * 56)

    total_omzet = 0
    for baris in data:
        omzet = hitung_omzet(baris)
        total_omzet += omzet
        print(
            f"{baris['tanggal']:<12}"
            f"{baris['produk']:<16}"
            f"{baris['jumlah']:>6}"
            f"{int(baris['harga']):>10}"
            f"{omzet:>12,}"
        )

    print("-" * 56)
    print(f"Total baris : {len(data)}")
    print(f"Total omzet : Rp{total_omzet:,}")

    return 0


if __name__ == "__main__":
    sys.exit(main())
