Calcul Rata Credit
This is a user request for a "calcul rata credit" which translates to "calculate credit installment" or "loan repayment calculator" in Indonesian. The user wants a calculator that specifically calculates the monthly installment for a loan.
Here's the breakdown of the required adaptations:
* **Topic:** Loan Repayment Calculator (Indonesian context)
* **Inputs:**
* Loan Principal (Jumlah Pinjaman) – *This is the initial amount borrowed.*
* Annual Interest Rate (Suku Bunga Tahunan) – *This is the yearly percentage charged on the loan.*
* Loan Term in Years (Jangka Waktu Pinjaman (Tahun)) – *The total duration of the loan in years.*
* **Calculation:** Standard loan amortization formula to find the monthly payment.
* **Output:** Monthly Installment Amount (Cicilan Bulanan).
* **Article Content:** Explain what a loan repayment calculator is, why it's useful for understanding credit, factors influencing installments (principal, interest rate, term), and how to use the calculator.
* **Examples:** Realistic loan scenarios in Indonesia (e.g., KPR, KKB, personal loans).
* **No '$' signs:** Except where explicitly representing a cost (which isn't the case for the primary inputs here).
function calculateInstallment() {
var principal = parseFloat(document.getElementById("loanPrincipal").value);
var annualRate = parseFloat(document.getElementById("annualInterestRate").value);
var years = parseInt(document.getElementById("loanTermYears").value);
var resultDiv = document.getElementById("installmentResult");
if (isNaN(principal) || principal <= 0) {
resultDiv.innerHTML = "Harap masukkan jumlah pinjaman yang valid (lebih dari 0).";
return;
}
if (isNaN(annualRate) || annualRate < 0) {
resultDiv.innerHTML = "Harap masukkan suku bunga tahunan yang valid (tidak negatif).";
return;
}
if (isNaN(years) || years <= 0) {
resultDiv.innerHTML = "Harap masukkan jangka waktu pinjaman yang valid (lebih dari 0 tahun).";
return;
}
var monthlyRate = annualRate / 100 / 12;
var numberOfMonths = years * 12;
var installment;
if (monthlyRate === 0) {
installment = principal / numberOfMonths;
} else {
installment = principal * (monthlyRate * Math.pow(1 + monthlyRate, numberOfMonths)) / (Math.pow(1 + monthlyRate, numberOfMonths) – 1);
}
if (isNaN(installment)) {
resultDiv.innerHTML = "Terjadi kesalahan perhitungan. Periksa kembali input Anda.";
} else {
resultDiv.innerHTML = "Perkiraan Cicilan Bulanan Anda: Rp " + installment.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ".") + "";
}
}
.loan-calculator-widget {
font-family: sans-serif;
border: 1px solid #e0e0e0;
padding: 20px;
border-radius: 8px;
max-width: 600px;
margin: 20px auto;
background-color: #f9f9f9;
}
.loan-calculator-widget h2, .loan-calculator-widget h3, .loan-calculator-widget h4 {
color: #333;
margin-bottom: 15px;
}
.loan-calculator-widget p {
line-height: 1.6;
color: #555;
}
.calculator-header {
text-align: center;
margin-bottom: 25px;
border-bottom: 1px solid #eee;
padding-bottom: 15px;
}
.calculator-inputs .form-group {
margin-bottom: 15px;
}
.calculator-inputs label {
display: block;
margin-bottom: 5px;
font-weight: bold;
color: #444;
}
.calculator-inputs input[type="number"] {
width: calc(100% – 22px);
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1rem;
}
.calculator-inputs button {
background-color: #007bff;
color: white;
padding: 12px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 1.1rem;
transition: background-color 0.3s ease;
width: 100%;
margin-top: 10px;
}
.calculator-inputs button:hover {
background-color: #0056b3;
}
.calculator-results {
margin-top: 25px;
padding: 15px;
background-color: #e9ecef;
border-radius: 5px;
text-align: center;
}
.calculator-results h3 {
margin-top: 0;
margin-bottom: 10px;
color: #0056b3;
}
.calculator-results p {
font-size: 1.2rem;
font-weight: bold;
color: #333;
}
.calculator-explanation {
margin-top: 30px;
border-top: 1px solid #eee;
padding-top: 20px;
}
.calculator-explanation ul, .calculator-explanation ol {
margin-left: 20px;
color: #555;
}
.calculator-explanation li {
margin-bottom: 10px;
}
.calculator-explanation strong {
color: #333;
}