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) |