Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| import numpy as np | |
| st.title("Kalkulator Kredit Kendaraan") | |
| # Input Data | |
| harga_kendaraan = st.number_input("Harga Kendaraan (Rp)", min_value=0, value=200000000, step=1000000, format="%d") | |
| uang_muka = st.number_input("Uang Muka (Rp)", min_value=0, value=40000000, step=1000000, format="%d") | |
| suku_bunga = st.number_input("Suku Bunga Tahunan (%)", min_value=0.0, value=5.0, step=0.1, format="%.1f") | |
| tenor = st.number_input("Tenor (bulan)", min_value=12, value=48, step=1, format="%d") | |
| # Perhitungan Kredit | |
| pinjaman = harga_kendaraan - uang_muka | |
| bunga_bulanan = suku_bunga / 12 / 100 | |
| angsuran = (pinjaman * bunga_bulanan) / (1 - (1 + bunga_bulanan) ** -tenor) | |
| # Tampilkan hasil | |
| st.subheader("Perkiraan Kredit Anda") | |
| st.write(f"**Angsuran Bulanan:** Rp {angsuran:,.2f}") | |
| st.write(f"**Total Pinjaman:** Rp {pinjaman:,.2f}") | |
| st.write(f"**Total Pembayaran:** Rp {(angsuran * tenor):,.2f}") | |
| # Tabel Amortisasi | |
| st.subheader("Jadwal Angsuran") | |
| data = [] | |
| saldo = pinjaman | |
| for bulan in range(1, tenor + 1): | |
| bunga = saldo * bunga_bulanan | |
| pokok = angsuran - bunga | |
| saldo -= pokok | |
| data.append([bulan, f"Rp {pokok:,.2f}", f"Rp {bunga:,.2f}", f"Rp {angsuran:,.2f}", f"Rp {saldo:,.2f}"]) | |
| df = pd.DataFrame(data, columns=["Bulan", "Pokok", "Bunga", "Total Angsuran", "Sisa Utang"]) | |
| st.dataframe(df, hide_index=True) |