{"id":9454,"date":"2026-09-15T15:36:56","date_gmt":"2026-09-15T15:36:56","guid":{"rendered":"https:\/\/julfian.com\/?page_id=9454"},"modified":"2026-09-15T15:44:40","modified_gmt":"2026-09-15T15:44:40","slug":"kalkulator-kpr","status":"publish","type":"page","link":"https:\/\/julfian.com\/en\/kalkulator-kpr\/","title":{"rendered":"Kalkulator KPR: Cek Cicilan Rumah 1 Menit"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9454\" class=\"elementor elementor-9454\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-93d5769 e-con-full e-flex e-con e-parent\" data-id=\"93d5769\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f01b2d elementor-widget elementor-widget-html\" data-id=\"5f01b2d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ================================================================= -->\r\n<!-- KALKULATOR SIMULASI KPR - WARNA COKLAT & WARM THEME (JULFIAN REF)  -->\r\n<!-- Target Keyword: Kalkulator Simulasi KPR                          -->\r\n<!-- Siap Pasang di WordPress Elementor (Custom HTML Widget)          -->\r\n<!-- ================================================================= -->\r\n\r\n<div class=\"kpr-elementor-wrapper\">\r\n\r\n  <!-- CONTAINER 1: HERO -->\r\n  <section class=\"kpr-section kpr-hero-section\" id=\"kprHeroSection\">\r\n    <div class=\"kpr-hero-badge\">Simulasi KPR Online & Akurat<\/div>\r\n    <h1 class=\"kpr-hero-title\">Kalkulator Simulasi KPR: Hitung Estimasi Cicilan Rumah Anda<\/h1>\r\n    <p class=\"kpr-hero-desc\">\r\n      Gunakan kalkulator simulasi KPR ini untuk menghitung estimasi cicilan bulanan rumah impian Anda secara akurat dan transparan. \r\n      Sesuaikan nominal <strong>uang muka<\/strong> yang disiapkan, tingkat suku <strong>bunga KPR<\/strong> bank saat ini, \r\n      serta pilihan <strong>tenor<\/strong> pinjaman terbaik agar rencana finansial masa depan Anda tetap aman dan terukur.\r\n    <\/p>\r\n  <\/section>\r\n\r\n  <!-- CONTAINER 2: KALKULATOR -->\r\n  <section class=\"kpr-section kpr-calc-section\" id=\"kprCalcSection\">\r\n    <div class=\"kpr-calc-container\">\r\n      \r\n      <!-- Kolom Input Form -->\r\n      <div class=\"kpr-card kpr-form-card\">\r\n        <div class=\"kpr-card-header\">\r\n          <h2 class=\"kpr-card-title\">Parameter Simulasi Pinjaman<\/h2>\r\n          <p class=\"kpr-card-subtitle\">Ubah nilai di bawah ini untuk melihat hasil perhitungan secara langsung.<\/p>\r\n        <\/div>\r\n\r\n        <form id=\"kprCalculatorForm\" class=\"kpr-form\" onsubmit=\"return false;\">\r\n          \r\n          <!-- Input 1: Harga Properti -->\r\n          <div class=\"kpr-input-group\">\r\n            <div class=\"kpr-label-wrapper\">\r\n              <label for=\"kprPropertyPrice\" class=\"kpr-label\">Harga Properti (Rp)<\/label>\r\n              <span class=\"kpr-hint\" id=\"kprPriceSpell\">Lima ratus juta rupiah<\/span>\r\n            <\/div>\r\n            <div class=\"kpr-input-prefix-wrapper\">\r\n              <span class=\"kpr-prefix\">Rp<\/span>\r\n              <input \r\n                type=\"text\" \r\n                inputmode=\"numeric\" \r\n                id=\"kprPropertyPrice\" \r\n                class=\"kpr-input\" \r\n                value=\"500.000.000\" \r\n                placeholder=\"Contoh: 500.000.000\"\r\n                autocomplete=\"off\"\r\n              \/>\r\n            <\/div>\r\n            <div class=\"kpr-quick-buttons\">\r\n              <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"price\" data-val=\"300000000\">300 Jt<\/button>\r\n              <button type=\"button\" class=\"kpr-chip-btn active\" data-type=\"price\" data-val=\"500000000\">500 Jt<\/button>\r\n              <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"price\" data-val=\"750000000\">750 Jt<\/button>\r\n              <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"price\" data-val=\"1000000000\">1 Milyar<\/button>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <!-- Input 2: Uang Muka (Rupiah & Persentase) -->\r\n          <div class=\"kpr-input-group\">\r\n            <div class=\"kpr-label-wrapper\">\r\n              <label class=\"kpr-label\">Uang Muka (DP)<\/label>\r\n              <span class=\"kpr-hint\" id=\"kprDpPercentLabel\">Minimal 10% - 20%<\/span>\r\n            <\/div>\r\n            <div class=\"kpr-dp-grid\">\r\n              <div class=\"kpr-input-prefix-wrapper\">\r\n                <span class=\"kpr-prefix\">Rp<\/span>\r\n                <input \r\n                  type=\"text\" \r\n                  inputmode=\"numeric\" \r\n                  id=\"kprDownPaymentNominal\" \r\n                  class=\"kpr-input\" \r\n                  value=\"100.000.000\" \r\n                  placeholder=\"Nominal DP\"\r\n                  autocomplete=\"off\"\r\n                \/>\r\n              <\/div>\r\n              <div class=\"kpr-input-suffix-wrapper\">\r\n                <input \r\n                  type=\"number\" \r\n                  id=\"kprDownPaymentPercent\" \r\n                  class=\"kpr-input kpr-input-short\" \r\n                  value=\"20\" \r\n                  min=\"0\" \r\n                  max=\"99\" \r\n                  step=\"0.5\"\r\n                \/>\r\n                <span class=\"kpr-suffix\">%<\/span>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"kpr-quick-buttons\">\r\n              <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"dp\" data-val=\"10\">DP 10%<\/button>\r\n              <button type=\"button\" class=\"kpr-chip-btn active\" data-type=\"dp\" data-val=\"20\">DP 20%<\/button>\r\n              <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"dp\" data-val=\"30\">DP 30%<\/button>\r\n              <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"dp\" data-val=\"50\">DP 50%<\/button>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <!-- Input 3 & 4: Suku Bunga & Tenor -->\r\n          <div class=\"kpr-two-cols\">\r\n            <div class=\"kpr-input-group\">\r\n              <label for=\"kprInterestRate\" class=\"kpr-label\">Suku Bunga per Tahun<\/label>\r\n              <div class=\"kpr-input-suffix-wrapper\">\r\n                <input \r\n                  type=\"number\" \r\n                  id=\"kprInterestRate\" \r\n                  class=\"kpr-input\" \r\n                  value=\"6.5\" \r\n                  min=\"0.1\" \r\n                  max=\"25\" \r\n                  step=\"0.05\"\r\n                \/>\r\n                <span class=\"kpr-suffix\">% \/ thn<\/span>\r\n              <\/div>\r\n              <div class=\"kpr-quick-buttons\">\r\n                <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"rate\" data-val=\"4.25\">4.25%<\/button>\r\n                <button type=\"button\" class=\"kpr-chip-btn active\" data-type=\"rate\" data-val=\"6.5\">6.5%<\/button>\r\n                <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"rate\" data-val=\"8.75\">8.75%<\/button>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"kpr-input-group\">\r\n              <label for=\"kprTenorYears\" class=\"kpr-label\">Tenor (Jangka Waktu)<\/label>\r\n              <div class=\"kpr-input-suffix-wrapper\">\r\n                <input \r\n                  type=\"number\" \r\n                  id=\"kprTenorYears\" \r\n                  class=\"kpr-input\" \r\n                  value=\"15\" \r\n                  min=\"1\" \r\n                  max=\"35\" \r\n                  step=\"1\"\r\n                \/>\r\n                <span class=\"kpr-suffix\">Tahun<\/span>\r\n              <\/div>\r\n              <div class=\"kpr-quick-buttons\">\r\n                <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"tenor\" data-val=\"10\">10 Thn<\/button>\r\n                <button type=\"button\" class=\"kpr-chip-btn active\" data-type=\"tenor\" data-val=\"15\">15 Thn<\/button>\r\n                <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"tenor\" data-val=\"20\">20 Thn<\/button>\r\n                <button type=\"button\" class=\"kpr-chip-btn\" data-type=\"tenor\" data-val=\"25\">25 Thn<\/button>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <!-- Tombol Hitung & Reset -->\r\n          <div class=\"kpr-form-actions\">\r\n            <button type=\"button\" id=\"kprBtnCalculate\" class=\"kpr-btn kpr-btn-primary\">\r\n              <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                <rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\"><\/rect>\r\n                <line x1=\"8\" y1=\"6\" x2=\"16\" y2=\"6\"><\/line>\r\n                <line x1=\"16\" y1=\"14\" x2=\"16\" y2=\"18\"><\/line>\r\n                <path d=\"M16 10h.01\"><\/path>\r\n                <path d=\"M12 10h.01\"><\/path>\r\n                <path d=\"M8 10h.01\"><\/path>\r\n                <path d=\"M12 14h.01\"><\/path>\r\n                <path d=\"M8 14h.01\"><\/path>\r\n                <path d=\"M12 18h.01\"><\/path>\r\n                <path d=\"M8 18h.01\"><\/path>\r\n              <\/svg>\r\n              Hitung Simulasi KPR\r\n            <\/button>\r\n            <button type=\"button\" id=\"kprBtnReset\" class=\"kpr-btn kpr-btn-secondary\" title=\"Kembalikan ke nilai awal\">\r\n              Reset\r\n            <\/button>\r\n          <\/div>\r\n\r\n        <\/form>\r\n      <\/div>\r\n\r\n      <!-- Kolom Hasil Perhitungan -->\r\n      <div class=\"kpr-card kpr-result-card\" id=\"kprResultArea\">\r\n        <div class=\"kpr-card-header\">\r\n          <h2 class=\"kpr-card-title\">Ringkasan Estimasi Cicilan<\/h2>\r\n          <span class=\"kpr-status-badge\">Metode Anuitas Bunga Efektif<\/span>\r\n        <\/div>\r\n\r\n        <!-- Highlight Box: Cicilan per Bulan -->\r\n        <div class=\"kpr-highlight-box\">\r\n          <span class=\"kpr-highlight-label\">Estimasi Cicilan per Bulan<\/span>\r\n          <div class=\"kpr-highlight-value\" id=\"kprMonthlyInstallment\">Rp 3.486.643<\/div>\r\n          <span class=\"kpr-highlight-sub\" id=\"kprInstallmentPeriodNote\">Selama 15 Tahun (180 Bulan)<\/span>\r\n        <\/div>\r\n\r\n        <!-- Detail Breakdown List -->\r\n        <div class=\"kpr-breakdown-list\">\r\n          <div class=\"kpr-breakdown-row\">\r\n            <span class=\"kpr-breakdown-label\">\r\n              <span class=\"kpr-dot kpr-dot-primary\"><\/span> Total Pinjaman Pokok (Plafon)\r\n            <\/span>\r\n            <strong class=\"kpr-breakdown-val\" id=\"kprPrincipalLoan\">Rp 400.000.000<\/strong>\r\n          <\/div>\r\n\r\n          <div class=\"kpr-breakdown-row\">\r\n            <span class=\"kpr-breakdown-label\">\r\n              <span class=\"kpr-dot kpr-dot-warning\"><\/span> Estimasi Total Bunga\r\n            <\/span>\r\n            <strong class=\"kpr-breakdown-val\" id=\"kprTotalInterest\">Rp 227.595.740<\/strong>\r\n          <\/div>\r\n\r\n          <div class=\"kpr-breakdown-row kpr-total-row\">\r\n            <span class=\"kpr-breakdown-label\">Total Pengeluaran (Pokok + Bunga)<\/span>\r\n            <strong class=\"kpr-breakdown-val\" id=\"kprTotalPayment\">Rp 627.595.740<\/strong>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- Bar Visualisasi Proporsi Pinjaman -->\r\n        <div class=\"kpr-visual-bar-wrap\">\r\n          <div class=\"kpr-bar-legend\">\r\n            <span id=\"kprBarPrincipalPct\">Pokok: 64%<\/span>\r\n            <span id=\"kprBarInterestPct\">Bunga: 36%<\/span>\r\n          <\/div>\r\n          <div class=\"kpr-progress-bar\">\r\n            <div id=\"kprBarPrincipal\" class=\"kpr-bar-fill kpr-bar-principal\" style=\"width: 63.7%;\"><\/div>\r\n            <div id=\"kprBarInterest\" class=\"kpr-bar-fill kpr-bar-interest\" style=\"width: 36.3%;\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- Financial Insight \/ Rekomendasi Gaji -->\r\n        <div class=\"kpr-insight-box\">\r\n          <div class=\"kpr-insight-icon\">\ud83d\udca1<\/div>\r\n          <div class=\"kpr-insight-content\">\r\n            <strong>Rekomendasi Gaji Bulanan:<\/strong>\r\n            <p id=\"kprSalaryRecommendation\">\r\n              Minimal <strong>Rp 11.622.000 \/ bulan<\/strong> agar porsi cicilan tidak melebihi batas aman 30% dari penghasilan kotor Anda.\r\n            <\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- Catatan Disclaimer Ringan -->\r\n        <div class=\"kpr-disclaimer\">\r\n          *Perhitungan simulasi menggunakan rumus anuitas bunga tetap. Angka hasil bersifat estimasi dan dapat berbeda tergantung kebijakan bank, biaya provisi, notaris, asuransi, serta floating rate.\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- CONTAINER 3: PANDUAN -->\r\n  <section class=\"kpr-section kpr-guide-section\" id=\"kprGuideSection\">\r\n    <div class=\"kpr-guide-header\">\r\n      <h2 class=\"kpr-section-title\">Cara Menggunakan Kalkulator Simulasi KPR<\/h2>\r\n      <p class=\"kpr-section-subtitle\">Ikuti lima langkah praktis berikut untuk merencanakan pembiayaan hunian Anda secara mandiri.<\/p>\r\n    <\/div>\r\n\r\n    <ol class=\"kpr-steps-list\">\r\n      <li class=\"kpr-step-item\">\r\n        <div class=\"kpr-step-num\">1<\/div>\r\n        <div class=\"kpr-step-body\">\r\n          <h3 class=\"kpr-step-title\">Masukkan Nilai Harga Properti<\/h3>\r\n          <p class=\"kpr-step-text\">Ketik harga pasar atau harga jual rumah\/apartemen yang ingin Anda beli dalam format Rupiah, atau klik tombol nominal cepat.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"kpr-step-item\">\r\n        <div class=\"kpr-step-num\">2<\/div>\r\n        <div class=\"kpr-step-body\">\r\n          <h3 class=\"kpr-step-title\">Tentukan Besaran Uang Muka (DP)<\/h3>\r\n          <p class=\"kpr-step-text\">Isi persentase (misal 10% - 30%) atau nominal uang muka langsung. Semakin besar DP yang disetorkan, semakin kecil plafon pokok dan cicilan bulanan Anda.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"kpr-step-item\">\r\n        <div class=\"kpr-step-num\">3<\/div>\r\n        <div class=\"kpr-step-body\">\r\n          <h3 class=\"kpr-step-title\">Tentukan Suku Bunga KPR per Tahun<\/h3>\r\n          <p class=\"kpr-step-text\">Masukkan suku bunga yang ditawarkan oleh bank penyedia KPR. Anda dapat menggunakan acuan bunga fixed promo yang sedang berlaku.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"kpr-step-item\">\r\n        <div class=\"kpr-step-num\">4<\/div>\r\n        <div class=\"kpr-step-body\">\r\n          <h3 class=\"kpr-step-title\">Pilih Jangka Waktu (Tenor) Pinjaman<\/h3>\r\n          <p class=\"kpr-step-text\">Tentukan durasi masa angsuran (umumnya 10 hingga 25 tahun). Sesuaikan dengan proyeksi usia produktif dan kestabilan pendapatan bulanan Anda.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"kpr-step-item\">\r\n        <div class=\"kpr-step-num\">5<\/div>\r\n        <div class=\"kpr-step-body\">\r\n          <h3 class=\"kpr-step-title\">Lihat Hasil Estimasi Cicilan Real-Time<\/h3>\r\n          <p class=\"kpr-step-text\">Kalkulator otomatis menghitung cicilan bulanan, pokok pinjaman, estimasi total bunga, hingga saran batas penghasilan minimum yang aman.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n    <\/ol>\r\n  <\/section>\r\n\r\n  <!-- CONTAINER 4: ARTIKEL SEO -->\r\n  <section class=\"kpr-section kpr-article-section\" id=\"kprArticleSection\">\r\n    <div class=\"kpr-article-card\">\r\n      <h2 class=\"kpr-section-title\">Manfaat Menghitung Simulasi KPR<\/h2>\r\n      \r\n      <p class=\"kpr-article-p\">\r\n        Melakukan perhitungan simulasi KPR sebelum mengajukan kredit kepemilikan rumah adalah langkah krusial untuk mengukur kemampuan finansial jangka panjang. Dengan kalkulator simulasi KPR ini, calon debitur dapat membandingkan berbagai skenario suku bunga dan jangka waktu cicilan, sehingga terhindar dari risiko gagal bayar di masa depan. Mengetahui estimasi cicilan bulanan sejak dini juga membantu Anda menyiapkan alokasi anggaran rumah tangga secara disiplin, memilih tipe properti yang sesuai dengan kemampuan riil dompet, serta memperkirakan total biaya bunga yang harus dilunasi hingga masa kredit berakhir.\r\n      <\/p>\r\n\r\n      <p class=\"kpr-article-p\">\r\n        Selain itu, simulasi KPR memberikan gambaran akurat mengenai kebutuhan uang muka (DP) yang wajib disiapkan sebelum transaksi berlangsung. Dengan pemahaman terhadap rincian pokok pinjaman dan estimasi suku bunga bank, Anda dapat bernegosiasi secara lebih percaya diri dengan pihak pengembang (developer) maupun pihak perbankan guna memperoleh fasilitas pembiayaan terbaik, baik program KPR konvensional, KPR syariah, maupun KPR subsidi pemerintah.\r\n      <\/p>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- CONTAINER 5: FAQ (SEO RICH SNIPPETS) -->\r\n  <section class=\"kpr-section kpr-faq-section\" id=\"kprFaqSection\">\r\n    <div class=\"kpr-faq-header\">\r\n      <h2 class=\"kpr-section-title\">Pertanyaan Seputar Simulasi KPR<\/h2>\r\n      <p class=\"kpr-section-subtitle\">Temukan jawaban atas pertanyaan yang paling sering diajukan seputar pengajuan dan perhitungan cicilan KPR.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"kpr-faq-list\">\r\n      \r\n      <!-- FAQ 1 -->\r\n      <details class=\"kpr-faq-item\" open>\r\n        <summary class=\"kpr-faq-question\">\r\n          <span>Berapa porsi ideal cicilan KPR dari total penghasilan bulanan?<\/span>\r\n          <span class=\"kpr-faq-arrow\" aria-hidden=\"true\">\u25be<\/span>\r\n        <\/summary>\r\n        <div class=\"kpr-faq-answer\">\r\n          <p>\r\n            Berdasarkan kaidah perencanaan keuangan standar dan penilaian risiko perbankan (Debt Service Ratio), batas maksimal cicilan KPR yang sehat adalah <strong>30% hingga 35%<\/strong> dari total penghasilan bersih bulanan Anda. Apabila Anda memiliki pinjaman lain (seperti kredit kendaraan atau kartu kredit), akumulasi seluruh cicilan idealnya tidak melebihi 40% dari gaji agar cash flow bulanan tetap aman untuk kebutuhan pokok, tabungan dana darurat, dan investasi.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <!-- FAQ 2 -->\r\n      <details class=\"kpr-faq-item\">\r\n        <summary class=\"kpr-faq-question\">\r\n          <span>Apa saja syarat umum pengajuan KPR rumah ke bank?<\/span>\r\n          <span class=\"kpr-faq-arrow\" aria-hidden=\"true\">\u25be<\/span>\r\n        <\/summary>\r\n        <div class=\"kpr-faq-answer\">\r\n          <p>Syarat umum pengajuan KPR di Indonesia antara lain:<\/p>\r\n          <ul class=\"kpr-faq-bullets\">\r\n            <li>Warga Negara Indonesia (WNI) berusia minimal 21 tahun atau sudah menikah.<\/li>\r\n            <li>Usia maksimal saat kredit berakhir biasanya 55\u201360 tahun untuk karyawan dan 65 tahun untuk wiraswasta\/profesional.<\/li>\r\n            <li>Memiliki status karyawan tetap dengan masa kerja minimal 1\u20132 tahun, atau usaha yang telah berjalan minimal 2 tahun.<\/li>\r\n            <li>Dokumen identitas: KTP, Kartu Keluarga, NPWP pribadi, dan Akta Nikah (jika ada).<\/li>\r\n            <li>Dokumen finansial: Slip gaji 3 bulan terakhir, surat keterangan kerja, dan rekening koran tabungan 3-6 bulan terakhir.<\/li>\r\n            <li>Memiliki riwayat kredit yang baik pada Sistem Layanan Informasi Keuangan (SLIK OJK \/ BI Checking) dengan status Kol 1 (lancar).<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/details>\r\n\r\n      <!-- FAQ 3 -->\r\n      <details class=\"kpr-faq-item\">\r\n        <summary class=\"kpr-faq-question\">\r\n          <span>Apa perbedaan antara suku bunga tetap (fixed rate) dan mengambang (floating rate)?<\/span>\r\n          <span class=\"kpr-faq-arrow\" aria-hidden=\"true\">\u25be<\/span>\r\n        <\/summary>\r\n        <div class=\"kpr-faq-answer\">\r\n          <p>\r\n            <strong>Suku Bunga Tetap (Fixed Rate)<\/strong> adalah suku bunga yang nominalnya tidak berubah selama periode tertentu yang disepakati (misalnya tetap 5.5% selama 3 atau 5 tahun pertama). Cicilan bulanan Anda akan konstan selama masa promo ini.\r\n          <\/p>\r\n          <p>\r\n            Sebaliknya, <strong>Suku Bunga Mengambang (Floating Rate)<\/strong> mulai berlaku setelah masa fixed rate berakhir. Besaran suku bunga ini akan naik atau turun mengikuti suku bunga acuan Bank Indonesia (BI Rate) dan kebijakan bank, sehingga nilai cicilan bulanan Anda dapat mengalami penyesuaian secara berkala.\r\n          <\/p>\r\n        <\/div>\r\n      <\/details>\r\n\r\n    <\/div>\r\n  <\/section>\r\n\r\n<\/div>\r\n\r\n\r\n<style>\r\n  \/* ======================================================= *\/\r\n  \/* TEMA WARNA COKLAT & WARM BACKGROUND (INSPIRASI JULFIAN) *\/\r\n  \/* ======================================================= *\/\r\n  .kpr-elementor-wrapper {\r\n    --kpr-primary: #8d4925;\r\n    --kpr-primary-hover: #733819;\r\n    --kpr-primary-light: #faece1;\r\n    --kpr-secondary: #292524;\r\n    --kpr-accent: #b45309;\r\n    --kpr-accent-light: #fef3c7;\r\n    --kpr-warning: #d97706;\r\n    --kpr-bg: #faf7f2;\r\n    --kpr-card-bg: #ffffff;\r\n    --kpr-border: #e7e0d6;\r\n    --kpr-border-focus: #8d4925;\r\n    --kpr-text-main: #292524;\r\n    --kpr-text-muted: #78716c;\r\n    --kpr-shadow: 0 4px 20px -2px rgba(41, 37, 36, 0.07), 0 2px 6px -1px rgba(41, 37, 36, 0.04);\r\n    --kpr-radius-lg: 16px;\r\n    --kpr-radius-md: 10px;\r\n    --kpr-radius-sm: 6px;\r\n    \r\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\r\n    color: var(--kpr-text-main);\r\n    line-height: 1.6;\r\n    max-width: 1140px;\r\n    margin: 0 auto;\r\n    padding: 24px 16px;\r\n    box-sizing: border-box;\r\n    background-color: var(--kpr-bg);\r\n  }\r\n\r\n  .kpr-elementor-wrapper *,\r\n  .kpr-elementor-wrapper *::before,\r\n  .kpr-elementor-wrapper *::after {\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  .kpr-section {\r\n    margin-bottom: 48px;\r\n  }\r\n\r\n  \/* 1. HERO SECTION *\/\r\n  .kpr-hero-section {\r\n    text-align: center;\r\n    max-width: 820px;\r\n    margin-left: auto;\r\n    margin-right: auto;\r\n    padding: 24px 16px 12px;\r\n  }\r\n\r\n  .kpr-hero-badge {\r\n    display: inline-block;\r\n    background-color: var(--kpr-primary-light);\r\n    color: var(--kpr-primary);\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n    padding: 6px 16px;\r\n    border-radius: 999px;\r\n    margin-bottom: 16px;\r\n    letter-spacing: 0.4px;\r\n    text-transform: uppercase;\r\n    border: 1px solid rgba(141, 73, 37, 0.2);\r\n  }\r\n\r\n  .kpr-hero-title {\r\n    font-size: clamp(28px, 4vw, 42px);\r\n    font-weight: 800;\r\n    color: var(--kpr-secondary);\r\n    line-height: 1.25;\r\n    margin: 0 0 16px;\r\n    letter-spacing: -0.5px;\r\n  }\r\n\r\n  .kpr-hero-desc {\r\n    font-size: 17px;\r\n    color: var(--kpr-text-muted);\r\n    margin: 0 auto;\r\n    line-height: 1.7;\r\n  }\r\n\r\n  \/* 2. KALKULATOR CONTAINER & GRID *\/\r\n  .kpr-calc-container {\r\n    display: grid;\r\n    grid-template-columns: 1.15fr 1fr;\r\n    gap: 28px;\r\n    align-items: stretch;\r\n  }\r\n\r\n  @media (max-width: 900px) {\r\n    .kpr-calc-container {\r\n      grid-template-columns: 1fr;\r\n      gap: 24px;\r\n    }\r\n  }\r\n\r\n  .kpr-card {\r\n    background: var(--kpr-card-bg);\r\n    border: 1px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-lg);\r\n    padding: 32px 28px;\r\n    box-shadow: var(--kpr-shadow);\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .kpr-card {\r\n      padding: 22px 18px;\r\n    }\r\n  }\r\n\r\n  .kpr-card-header {\r\n    margin-bottom: 24px;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: flex-start;\r\n    flex-wrap: wrap;\r\n    gap: 8px;\r\n  }\r\n\r\n  .kpr-card-title {\r\n    font-size: 20px;\r\n    font-weight: 700;\r\n    color: var(--kpr-secondary);\r\n    margin: 0;\r\n  }\r\n\r\n  .kpr-card-subtitle {\r\n    font-size: 14px;\r\n    color: var(--kpr-text-muted);\r\n    margin: 4px 0 0;\r\n    width: 100%;\r\n  }\r\n\r\n  .kpr-status-badge {\r\n    background-color: var(--kpr-primary-light);\r\n    color: var(--kpr-primary);\r\n    font-size: 12px;\r\n    font-weight: 600;\r\n    padding: 4px 10px;\r\n    border-radius: var(--kpr-radius-sm);\r\n    border: 1px solid rgba(141, 73, 37, 0.2);\r\n  }\r\n\r\n  .kpr-input-group {\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .kpr-label-wrapper {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: baseline;\r\n    margin-bottom: 8px;\r\n  }\r\n\r\n  .kpr-label {\r\n    font-size: 14px;\r\n    font-weight: 600;\r\n    color: var(--kpr-secondary);\r\n  }\r\n\r\n  .kpr-hint {\r\n    font-size: 12px;\r\n    color: var(--kpr-primary);\r\n    font-weight: 600;\r\n  }\r\n\r\n  .kpr-input-prefix-wrapper,\r\n  .kpr-input-suffix-wrapper {\r\n    position: relative;\r\n    display: flex;\r\n    align-items: center;\r\n    width: 100%;\r\n  }\r\n\r\n  .kpr-prefix {\r\n    position: absolute;\r\n    left: 14px;\r\n    font-weight: 700;\r\n    color: var(--kpr-text-muted);\r\n    font-size: 15px;\r\n    pointer-events: none;\r\n  }\r\n\r\n  .kpr-suffix {\r\n    position: absolute;\r\n    right: 14px;\r\n    font-weight: 600;\r\n    color: var(--kpr-text-muted);\r\n    font-size: 14px;\r\n    pointer-events: none;\r\n  }\r\n\r\n  .kpr-input {\r\n    width: 100%;\r\n    height: 48px;\r\n    padding: 10px 14px;\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    color: var(--kpr-secondary);\r\n    background-color: #ffffff;\r\n    border: 1.5px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-md);\r\n    transition: all 0.2s ease;\r\n    outline: none;\r\n  }\r\n\r\n  .kpr-input-prefix-wrapper .kpr-input {\r\n    padding-left: 44px;\r\n  }\r\n\r\n  .kpr-input-suffix-wrapper .kpr-input {\r\n    padding-right: 58px;\r\n  }\r\n\r\n  .kpr-input:focus {\r\n    border-color: var(--kpr-primary);\r\n    box-shadow: 0 0 0 3px rgba(141, 73, 37, 0.16);\r\n  }\r\n\r\n  .kpr-dp-grid {\r\n    display: grid;\r\n    grid-template-columns: 1.6fr 1fr;\r\n    gap: 12px;\r\n  }\r\n\r\n  .kpr-two-cols {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 16px;\r\n  }\r\n\r\n  @media (max-width: 500px) {\r\n    .kpr-two-cols, .kpr-dp-grid {\r\n      grid-template-columns: 1fr;\r\n    }\r\n  }\r\n\r\n  .kpr-quick-buttons {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 6px;\r\n    margin-top: 8px;\r\n  }\r\n\r\n  .kpr-chip-btn {\r\n    background-color: #f5efe6;\r\n    border: 1px solid transparent;\r\n    color: var(--kpr-text-muted);\r\n    font-size: 12px;\r\n    font-weight: 500;\r\n    padding: 4px 10px;\r\n    border-radius: var(--kpr-radius-sm);\r\n    cursor: pointer;\r\n    transition: all 0.15s ease;\r\n  }\r\n\r\n  .kpr-chip-btn:hover {\r\n    background-color: #ebdcd0;\r\n    color: var(--kpr-secondary);\r\n  }\r\n\r\n  .kpr-chip-btn.active {\r\n    background-color: var(--kpr-primary-light);\r\n    color: var(--kpr-primary);\r\n    border-color: rgba(141, 73, 37, 0.35);\r\n    font-weight: 700;\r\n  }\r\n\r\n  .kpr-form-actions {\r\n    display: flex;\r\n    gap: 12px;\r\n    margin-top: 10px;\r\n  }\r\n\r\n  .kpr-btn {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 8px;\r\n    height: 48px;\r\n    font-size: 15px;\r\n    font-weight: 600;\r\n    border-radius: var(--kpr-radius-md);\r\n    cursor: pointer;\r\n    transition: all 0.2s ease;\r\n    border: none;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .kpr-btn-primary {\r\n    background-color: var(--kpr-primary);\r\n    color: #ffffff;\r\n    flex: 1;\r\n    box-shadow: 0 3px 10px rgba(141, 73, 37, 0.25);\r\n  }\r\n\r\n  .kpr-btn-primary:hover {\r\n    background-color: var(--kpr-primary-hover);\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 5px 14px rgba(141, 73, 37, 0.35);\r\n  }\r\n\r\n  .kpr-btn-secondary {\r\n    background-color: #f5efe6;\r\n    color: var(--kpr-text-muted);\r\n    padding: 0 18px;\r\n  }\r\n\r\n  .kpr-btn-secondary:hover {\r\n    background-color: #ebdcd0;\r\n    color: var(--kpr-secondary);\r\n  }\r\n\r\n  \/* RESULT CARD HIGHLIGHTS *\/\r\n  .kpr-result-card {\r\n    background: linear-gradient(180deg, #ffffff 0%, #faf7f2 100%);\r\n    border-top: 4px solid var(--kpr-primary);\r\n  }\r\n\r\n  .kpr-highlight-box {\r\n    background: #ffffff;\r\n    border: 1.5px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-md);\r\n    padding: 22px;\r\n    text-align: center;\r\n    margin-bottom: 24px;\r\n    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);\r\n  }\r\n\r\n  .kpr-highlight-label {\r\n    display: block;\r\n    font-size: 13px;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.5px;\r\n    font-weight: 600;\r\n    color: var(--kpr-text-muted);\r\n    margin-bottom: 6px;\r\n  }\r\n\r\n  .kpr-highlight-value {\r\n    font-size: clamp(26px, 3.5vw, 36px);\r\n    font-weight: 800;\r\n    color: var(--kpr-primary);\r\n    line-height: 1.15;\r\n    letter-spacing: -0.5px;\r\n  }\r\n\r\n  .kpr-highlight-sub {\r\n    display: block;\r\n    font-size: 13px;\r\n    color: var(--kpr-text-muted);\r\n    margin-top: 6px;\r\n  }\r\n\r\n  .kpr-breakdown-list {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 12px;\r\n    margin-bottom: 24px;\r\n  }\r\n\r\n  .kpr-breakdown-row {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    font-size: 14px;\r\n    padding-bottom: 10px;\r\n    border-bottom: 1px dashed var(--kpr-border);\r\n  }\r\n\r\n  .kpr-breakdown-label {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    color: var(--kpr-text-muted);\r\n  }\r\n\r\n  .kpr-dot {\r\n    width: 10px;\r\n    height: 10px;\r\n    border-radius: 50%;\r\n    display: inline-block;\r\n  }\r\n\r\n  .kpr-dot-primary {\r\n    background-color: var(--kpr-primary);\r\n  }\r\n\r\n  .kpr-dot-warning {\r\n    background-color: var(--kpr-warning);\r\n  }\r\n\r\n  .kpr-breakdown-val {\r\n    font-weight: 700;\r\n    color: var(--kpr-secondary);\r\n    font-size: 15px;\r\n  }\r\n\r\n  .kpr-total-row {\r\n    border-bottom: none;\r\n    padding-top: 4px;\r\n    border-top: 1.5px solid var(--kpr-border);\r\n    font-size: 15px;\r\n  }\r\n\r\n  .kpr-total-row .kpr-breakdown-val {\r\n    font-size: 16px;\r\n    color: var(--kpr-secondary);\r\n  }\r\n\r\n  .kpr-visual-bar-wrap {\r\n    margin-bottom: 20px;\r\n  }\r\n\r\n  .kpr-bar-legend {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    font-size: 12px;\r\n    font-weight: 600;\r\n    color: var(--kpr-text-muted);\r\n    margin-bottom: 6px;\r\n  }\r\n\r\n  .kpr-progress-bar {\r\n    display: flex;\r\n    height: 10px;\r\n    border-radius: 999px;\r\n    overflow: hidden;\r\n    background-color: #ebdcd0;\r\n  }\r\n\r\n  .kpr-bar-fill {\r\n    height: 100%;\r\n    transition: width 0.3s ease;\r\n  }\r\n\r\n  .kpr-bar-principal {\r\n    background-color: var(--kpr-primary);\r\n  }\r\n\r\n  .kpr-bar-interest {\r\n    background-color: var(--kpr-warning);\r\n  }\r\n\r\n  .kpr-insight-box {\r\n    display: flex;\r\n    gap: 12px;\r\n    background-color: var(--kpr-accent-light);\r\n    border: 1px solid rgba(180, 83, 9, 0.25);\r\n    border-radius: var(--kpr-radius-md);\r\n    padding: 14px;\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  .kpr-insight-icon {\r\n    font-size: 20px;\r\n    line-height: 1;\r\n  }\r\n\r\n  .kpr-insight-content {\r\n    font-size: 13px;\r\n    color: #78350f;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  .kpr-insight-content strong {\r\n    display: block;\r\n    margin-bottom: 2px;\r\n    color: #451a03;\r\n  }\r\n\r\n  .kpr-insight-content p {\r\n    margin: 0;\r\n  }\r\n\r\n  .kpr-disclaimer {\r\n    font-size: 11.5px;\r\n    color: #a8a29e;\r\n    line-height: 1.4;\r\n    font-style: italic;\r\n  }\r\n\r\n  \/* 3. CONTAINER PANDUAN *\/\r\n  .kpr-guide-section {\r\n    background: #ffffff;\r\n    border: 1px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-lg);\r\n    padding: 36px 32px;\r\n    box-shadow: var(--kpr-shadow);\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .kpr-guide-section {\r\n      padding: 24px 18px;\r\n    }\r\n  }\r\n\r\n  .kpr-section-title {\r\n    font-size: clamp(22px, 3vw, 28px);\r\n    font-weight: 800;\r\n    color: var(--kpr-secondary);\r\n    margin: 0 0 8px;\r\n    letter-spacing: -0.3px;\r\n  }\r\n\r\n  .kpr-section-subtitle {\r\n    font-size: 15px;\r\n    color: var(--kpr-text-muted);\r\n    margin: 0 0 28px;\r\n  }\r\n\r\n  .kpr-steps-list {\r\n    list-style: none;\r\n    padding: 0;\r\n    margin: 0;\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\r\n    gap: 20px;\r\n  }\r\n\r\n  .kpr-step-item {\r\n    background: #faf7f2;\r\n    border: 1px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-md);\r\n    padding: 20px 18px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    transition: transform 0.2s ease, border-color 0.2s ease;\r\n  }\r\n\r\n  .kpr-step-item:hover {\r\n    transform: translateY(-2px);\r\n    border-color: var(--kpr-primary);\r\n  }\r\n\r\n  .kpr-step-num {\r\n    width: 32px;\r\n    height: 32px;\r\n    background-color: var(--kpr-primary);\r\n    color: #ffffff;\r\n    font-weight: 700;\r\n    font-size: 14px;\r\n    border-radius: 50%;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    margin-bottom: 14px;\r\n  }\r\n\r\n  .kpr-step-title {\r\n    font-size: 16px;\r\n    font-weight: 700;\r\n    color: var(--kpr-secondary);\r\n    margin: 0 0 8px;\r\n  }\r\n\r\n  .kpr-step-text {\r\n    font-size: 13.5px;\r\n    color: var(--kpr-text-muted);\r\n    margin: 0;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  \/* 4. CONTAINER ARTIKEL SEO *\/\r\n  .kpr-article-section {\r\n    background: #ffffff;\r\n    border: 1px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-lg);\r\n    padding: 36px 32px;\r\n    box-shadow: var(--kpr-shadow);\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .kpr-article-section {\r\n      padding: 24px 18px;\r\n    }\r\n  }\r\n\r\n  .kpr-article-p {\r\n    font-size: 15.5px;\r\n    color: #44403c;\r\n    line-height: 1.75;\r\n    margin: 0 0 18px;\r\n  }\r\n\r\n  .kpr-article-p:last-child {\r\n    margin-bottom: 0;\r\n  }\r\n\r\n  \/* 5. CONTAINER FAQ *\/\r\n  .kpr-faq-section {\r\n    background: #ffffff;\r\n    border: 1px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-lg);\r\n    padding: 36px 32px;\r\n    box-shadow: var(--kpr-shadow);\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .kpr-faq-section {\r\n      padding: 24px 18px;\r\n    }\r\n  }\r\n\r\n  .kpr-faq-header {\r\n    margin-bottom: 24px;\r\n  }\r\n\r\n  .kpr-faq-list {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 14px;\r\n  }\r\n\r\n  .kpr-faq-item {\r\n    background: #faf7f2;\r\n    border: 1.5px solid var(--kpr-border);\r\n    border-radius: var(--kpr-radius-md);\r\n    overflow: hidden;\r\n    transition: all 0.2s ease;\r\n  }\r\n\r\n  .kpr-faq-item[open] {\r\n    border-color: var(--kpr-primary);\r\n    background: #ffffff;\r\n  }\r\n\r\n  .kpr-faq-question {\r\n    padding: 16px 20px;\r\n    font-size: 16px;\r\n    font-weight: 700;\r\n    color: var(--kpr-secondary);\r\n    cursor: pointer;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    list-style: none;\r\n    user-select: none;\r\n  }\r\n\r\n  .kpr-faq-question::-webkit-details-marker {\r\n    display: none;\r\n  }\r\n\r\n  .kpr-faq-arrow {\r\n    font-size: 18px;\r\n    color: var(--kpr-primary);\r\n    transition: transform 0.2s ease;\r\n  }\r\n\r\n  .kpr-faq-item[open] .kpr-faq-arrow {\r\n    transform: rotate(180deg);\r\n  }\r\n\r\n  .kpr-faq-answer {\r\n    padding: 0 20px 20px 20px;\r\n    font-size: 14.5px;\r\n    color: #57534e;\r\n    line-height: 1.65;\r\n  }\r\n\r\n  .kpr-faq-answer p {\r\n    margin: 0 0 10px;\r\n  }\r\n\r\n  .kpr-faq-answer p:last-child {\r\n    margin-bottom: 0;\r\n  }\r\n\r\n  .kpr-faq-bullets {\r\n    margin: 8px 0 0;\r\n    padding-left: 20px;\r\n  }\r\n\r\n  .kpr-faq-bullets li {\r\n    margin-bottom: 6px;\r\n  }\r\n<\/style>\r\n\r\n\r\n<script>\r\n(function() {\r\n  function parseNumber(str) {\r\n    if (!str) return 0;\r\n    var cleaned = str.toString().replace(\/[^0-9]\/g, '');\r\n    return cleaned ? parseInt(cleaned, 10) : 0;\r\n  }\r\n\r\n  function formatRupiahNumber(num) {\r\n    if (isNaN(num) || num === null) return \"0\";\r\n    return Math.round(num).toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \".\");\r\n  }\r\n\r\n  function formatRupiahFull(num) {\r\n    return \"Rp \" + formatRupiahNumber(num);\r\n  }\r\n\r\n  function getTerbilangShort(num) {\r\n    if (!num || num <= 0) return \"\";\r\n    if (num >= 1000000000) {\r\n      var m = (num \/ 1000000000).toFixed(2).replace(\/\\.00$\/, '').replace(\/\\.\/, ',');\r\n      return m + \" Milyar Rupiah\";\r\n    }\r\n    if (num >= 1000000) {\r\n      var jt = (num \/ 1000000).toFixed(1).replace(\/\\.0$\/, '').replace(\/\\.\/, ',');\r\n      return jt + \" Juta Rupiah\";\r\n    }\r\n    return formatRupiahFull(num);\r\n  }\r\n\r\n  var elPrice = document.getElementById('kprPropertyPrice');\r\n  var elPriceSpell = document.getElementById('kprPriceSpell');\r\n  var elDpNominal = document.getElementById('kprDownPaymentNominal');\r\n  var elDpPercent = document.getElementById('kprDownPaymentPercent');\r\n  var elInterest = document.getElementById('kprInterestRate');\r\n  var elTenor = document.getElementById('kprTenorYears');\r\n\r\n  var outMonthly = document.getElementById('kprMonthlyInstallment');\r\n  var outPeriodNote = document.getElementById('kprInstallmentPeriodNote');\r\n  var outPrincipal = document.getElementById('kprPrincipalLoan');\r\n  var outInterest = document.getElementById('kprTotalInterest');\r\n  var outTotal = document.getElementById('kprTotalPayment');\r\n  var outBarPrincipal = document.getElementById('kprBarPrincipal');\r\n  var outBarInterest = document.getElementById('kprBarInterest');\r\n  var outBarPrincipalPct = document.getElementById('kprBarPrincipalPct');\r\n  var outBarInterestPct = document.getElementById('kprBarInterestPct');\r\n  var outSalary = document.getElementById('kprSalaryRecommendation');\r\n\r\n  var btnCalculate = document.getElementById('kprBtnCalculate');\r\n  var btnReset = document.getElementById('kprBtnReset');\r\n\r\n  function calculateKPR() {\r\n    if (!elPrice || !elDpNominal || !elInterest || !elTenor) return;\r\n\r\n    var price = parseNumber(elPrice.value);\r\n    var dpNominal = parseNumber(elDpNominal.value);\r\n    var rateAnnual = parseFloat(elInterest.value) || 0;\r\n    var tenorYears = parseInt(elTenor.value, 10) || 0;\r\n\r\n    if (price <= 0) price = 0;\r\n    if (dpNominal > price) {\r\n      dpNominal = price;\r\n      elDpNominal.value = formatRupiahNumber(dpNominal);\r\n      elDpPercent.value = 100;\r\n    }\r\n    if (tenorYears <= 0) tenorYears = 1;\r\n\r\n    var principal = Math.max(0, price - dpNominal);\r\n    var totalMonths = tenorYears * 12;\r\n    var monthlyInstallment = 0;\r\n    var totalPayment = 0;\r\n    var totalInterest = 0;\r\n\r\n    if (principal > 0 && totalMonths > 0) {\r\n      if (rateAnnual > 0) {\r\n        var monthlyRate = (rateAnnual \/ 100) \/ 12;\r\n        var compoundFactor = Math.pow(1 + monthlyRate, totalMonths);\r\n        monthlyInstallment = principal * (monthlyRate * compoundFactor) \/ (compoundFactor - 1);\r\n        totalPayment = monthlyInstallment * totalMonths;\r\n        totalInterest = Math.max(0, totalPayment - principal);\r\n      } else {\r\n        monthlyInstallment = principal \/ totalMonths;\r\n        totalPayment = principal;\r\n        totalInterest = 0;\r\n      }\r\n    }\r\n\r\n    var minSalary = monthlyInstallment > 0 ? monthlyInstallment \/ 0.3 : 0;\r\n\r\n    if (outMonthly) outMonthly.textContent = formatRupiahFull(monthlyInstallment);\r\n    if (outPeriodNote) outPeriodNote.textContent = \"Selama \" + tenorYears + \" Tahun (\" + totalMonths + \" Bulan)\";\r\n    if (outPrincipal) outPrincipal.textContent = formatRupiahFull(principal);\r\n    if (outInterest) outInterest.textContent = formatRupiahFull(totalInterest);\r\n    if (outTotal) outTotal.textContent = formatRupiahFull(totalPayment);\r\n\r\n    var principalPct = totalPayment > 0 ? (principal \/ totalPayment) * 100 : 100;\r\n    var interestPct = totalPayment > 0 ? (totalInterest \/ totalPayment) * 100 : 0;\r\n\r\n    if (outBarPrincipal && outBarInterest) {\r\n      outBarPrincipal.style.width = principalPct.toFixed(1) + \"%\";\r\n      outBarInterest.style.width = interestPct.toFixed(1) + \"%\";\r\n      if (outBarPrincipalPct) outBarPrincipalPct.textContent = \"Pokok: \" + Math.round(principalPct) + \"%\";\r\n      if (outBarInterestPct) outBarInterestPct.textContent = \"Bunga: \" + Math.round(interestPct) + \"%\";\r\n    }\r\n\r\n    if (outSalary) {\r\n      outSalary.innerHTML = \"Minimal <strong>\" + formatRupiahFull(minSalary) + \" \/ bulan<\/strong> agar porsi cicilan tidak melebihi batas aman 30% dari penghasilan kotor Anda.\";\r\n    }\r\n\r\n    if (elPriceSpell) {\r\n      elPriceSpell.textContent = getTerbilangShort(price);\r\n    }\r\n  }\r\n\r\n  function handleCurrencyInput(inputEl, onUpdate) {\r\n    if (!inputEl) return;\r\n    inputEl.addEventListener('input', function(e) {\r\n      var raw = parseNumber(this.value);\r\n      this.value = raw > 0 ? formatRupiahNumber(raw) : \"\";\r\n      if (onUpdate) onUpdate(raw);\r\n      calculateKPR();\r\n    });\r\n  }\r\n\r\n  if (elPrice) {\r\n    handleCurrencyInput(elPrice, function(newPrice) {\r\n      var pct = parseFloat(elDpPercent.value) || 0;\r\n      var dpVal = (newPrice * pct) \/ 100;\r\n      elDpNominal.value = formatRupiahNumber(dpVal);\r\n    });\r\n  }\r\n\r\n  if (elDpNominal) {\r\n    handleCurrencyInput(elDpNominal, function(newDp) {\r\n      var price = parseNumber(elPrice.value);\r\n      if (price > 0) {\r\n        var pct = (newDp \/ price) * 100;\r\n        elDpPercent.value = Math.min(100, parseFloat(pct.toFixed(1)));\r\n      }\r\n    });\r\n  }\r\n\r\n  if (elDpPercent) {\r\n    elDpPercent.addEventListener('input', function() {\r\n      var pct = parseFloat(this.value) || 0;\r\n      if (pct > 100) { pct = 100; this.value = 100; }\r\n      if (pct < 0) { pct = 0; this.value = 0; }\r\n      var price = parseNumber(elPrice.value);\r\n      var dpVal = (price * pct) \/ 100;\r\n      elDpNominal.value = formatRupiahNumber(dpVal);\r\n      calculateKPR();\r\n    });\r\n  }\r\n\r\n  if (elInterest) elInterest.addEventListener('input', calculateKPR);\r\n  if (elTenor) elTenor.addEventListener('input', calculateKPR);\r\n\r\n  var chipButtons = document.querySelectorAll('.kpr-chip-btn');\r\n  chipButtons.forEach(function(btn) {\r\n    btn.addEventListener('click', function() {\r\n      var type = this.getAttribute('data-type');\r\n      var val = parseFloat(this.getAttribute('data-val'));\r\n\r\n      var parent = this.closest('.kpr-quick-buttons');\r\n      if (parent) {\r\n        parent.querySelectorAll('.kpr-chip-btn').forEach(function(b) { b.classList.remove('active'); });\r\n        this.classList.add('active');\r\n      }\r\n\r\n      if (type === 'price') {\r\n        elPrice.value = formatRupiahNumber(val);\r\n        var pct = parseFloat(elDpPercent.value) || 20;\r\n        elDpNominal.value = formatRupiahNumber((val * pct) \/ 100);\r\n      } else if (type === 'dp') {\r\n        elDpPercent.value = val;\r\n        var price = parseNumber(elPrice.value);\r\n        elDpNominal.value = formatRupiahNumber((price * val) \/ 100);\r\n      } else if (type === 'rate') {\r\n        elInterest.value = val;\r\n      } else if (type === 'tenor') {\r\n        elTenor.value = val;\r\n      }\r\n\r\n      calculateKPR();\r\n    });\r\n  });\r\n\r\n  if (btnCalculate) {\r\n    btnCalculate.addEventListener('click', function() {\r\n      calculateKPR();\r\n      var resultEl = document.getElementById('kprResultArea');\r\n      if (resultEl && window.innerWidth < 900) {\r\n        resultEl.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n      }\r\n    });\r\n  }\r\n\r\n  if (btnReset) {\r\n    btnReset.addEventListener('click', function() {\r\n      elPrice.value = \"500.000.000\";\r\n      elDpNominal.value = \"100.000.000\";\r\n      elDpPercent.value = \"20\";\r\n      elInterest.value = \"6.5\";\r\n      elTenor.value = \"15\";\r\n      \r\n      document.querySelectorAll('.kpr-chip-btn').forEach(function(b) { b.classList.remove('active'); });\r\n      var defaultChips = document.querySelectorAll('[data-val=\"500000000\"], [data-val=\"20\"], [data-val=\"6.5\"], [data-val=\"15\"]');\r\n      defaultChips.forEach(function(b) { b.classList.add('active'); });\r\n\r\n      calculateKPR();\r\n    });\r\n  }\r\n\r\n  calculateKPR();\r\n})();\r\n<\/script>\r\n\r\n\r\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@graph\": [\r\n    {\r\n      \"@type\": \"WebApplication\",\r\n      \"name\": \"Kalkulator Simulasi KPR\",\r\n      \"applicationCategory\": \"FinanceApplication\",\r\n      \"operatingSystem\": \"All\",\r\n      \"description\": \"Kalkulator simulasi KPR online untuk menghitung estimasi cicilan bulanan rumah, bunga KPR, tenor, dan uang muka secara akurat dan real-time.\",\r\n      \"offers\": {\r\n        \"@type\": \"Offer\",\r\n        \"price\": \"0\",\r\n        \"priceCurrency\": \"IDR\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"FAQPage\",\r\n      \"mainEntity\": [\r\n        {\r\n          \"@type\": \"Question\",\r\n          \"name\": \"Berapa porsi ideal cicilan KPR dari total penghasilan bulanan?\",\r\n          \"acceptedAnswer\": {\r\n            \"@type\": \"Answer\",\r\n            \"text\": \"Batas maksimal cicilan KPR yang sehat adalah 30% hingga 35% dari total penghasilan bersih bulanan Anda agar arus kas keluarga tetap aman untuk kebutuhan pokok dan tabungan dana darurat.\"\r\n          }\r\n        },\r\n        {\r\n          \"@type\": \"Question\",\r\n          \"name\": \"Apa saja syarat umum pengajuan KPR rumah ke bank?\",\r\n          \"acceptedAnswer\": {\r\n            \"@type\": \"Answer\",\r\n            \"text\": \"WNI usia minimal 21 tahun, berstatus karyawan tetap minimal 1-2 tahun atau wiraswasta 2 tahun, melampirkan KTP, KK, NPWP, slip gaji 3 bulan, rekening koran, serta riwayat SLIK OJK (BI Checking) yang lancar.\"\r\n          }\r\n        },\r\n        {\r\n          \"@type\": \"Question\",\r\n          \"name\": \"Apa perbedaan antara suku bunga tetap (fixed rate) dan mengambang (floating rate)?\",\r\n          \"acceptedAnswer\": {\r\n            \"@type\": \"Answer\",\r\n            \"text\": \"Fixed rate adalah suku bunga dengan besaran tetap selama periode promo tertentu (misal 1-5 tahun), sedangkan floating rate adalah suku bunga yang berfluktuasi mengikuti suku bunga acuan pasar setelah masa fixed berakhir.\"\r\n          }\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}\r\n<\/script>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Simulasi KPR Online &amp; Akurat Kalkulator Simulasi KPR: Hitung Estimasi Cicilan Rumah Anda Gunakan kalkulator simulasi KPR ini untuk menghitung estimasi cicilan bulanan rumah impian Anda secara akurat dan transparan. Sesuaikan nominal uang muka yang disiapkan, tingkat suku bunga KPR bank saat ini, serta pilihan tenor pinjaman terbaik agar rencana finansial masa depan Anda tetap [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-9454","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.3 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Kalkulator KPR: Cek Cicilan Rumah 1 Menit<\/title>\n<meta name=\"description\" content=\"Kalkulator KPR akurat untuk hitung estimasi cicilan rumah, bunga floating &amp; fixed, uang muka (DP), Cek simulasi sekarang!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/julfian.com\/en\/kalkulator-kpr\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kalkulator KPR: Cek Cicilan Rumah 1 Menit\" \/>\n<meta property=\"og:description\" content=\"Kalkulator KPR akurat untuk hitung estimasi cicilan rumah, bunga floating &amp; fixed, uang muka (DP), Cek simulasi sekarang!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/julfian.com\/en\/kalkulator-kpr\/\" \/>\n<meta property=\"og:site_name\" content=\"Julfian Property Expert\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-15T15:44:40+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/julfian.com\\\/kalkulator-kpr\\\/\",\"url\":\"https:\\\/\\\/julfian.com\\\/kalkulator-kpr\\\/\",\"name\":\"Kalkulator KPR: Cek Cicilan Rumah 1 Menit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/julfian.com\\\/#website\"},\"datePublished\":\"2026-09-15T15:36:56+00:00\",\"dateModified\":\"2026-09-15T15:44:40+00:00\",\"description\":\"Kalkulator KPR akurat untuk hitung estimasi cicilan rumah, bunga floating & fixed, uang muka (DP), Cek simulasi sekarang!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/julfian.com\\\/kalkulator-kpr\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/julfian.com\\\/kalkulator-kpr\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/julfian.com\\\/kalkulator-kpr\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Beranda\",\"item\":\"https:\\\/\\\/julfian.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kalkulator KPR: Cek Cicilan Rumah 1 Menit\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/julfian.com\\\/#website\",\"url\":\"https:\\\/\\\/julfian.com\\\/\",\"name\":\"Julfian | Executive Property Advisor\",\"description\":\"Properti Alam Sutera, BSD &amp; Gading Serpong\",\"publisher\":{\"@id\":\"https:\\\/\\\/julfian.com\\\/#\\\/schema\\\/person\\\/c4fa8cf9a29c54dbc2c66d7f080a968d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/julfian.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/julfian.com\\\/#\\\/schema\\\/person\\\/c4fa8cf9a29c54dbc2c66d7f080a968d\",\"name\":\"Juaniyuna\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/julfian.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Julfian.jpeg\",\"url\":\"https:\\\/\\\/julfian.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Julfian.jpeg\",\"contentUrl\":\"https:\\\/\\\/julfian.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Julfian.jpeg\",\"width\":1000,\"height\":1000,\"caption\":\"Juaniyuna\"},\"logo\":{\"@id\":\"https:\\\/\\\/julfian.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Julfian.jpeg\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kalkulator KPR: Cek Cicilan Rumah 1 Menit","description":"Kalkulator KPR akurat untuk hitung estimasi cicilan rumah, bunga floating & fixed, uang muka (DP), Cek simulasi sekarang!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/julfian.com\/en\/kalkulator-kpr\/","og_locale":"en_US","og_type":"article","og_title":"Kalkulator KPR: Cek Cicilan Rumah 1 Menit","og_description":"Kalkulator KPR akurat untuk hitung estimasi cicilan rumah, bunga floating & fixed, uang muka (DP), Cek simulasi sekarang!","og_url":"https:\/\/julfian.com\/en\/kalkulator-kpr\/","og_site_name":"Julfian Property Expert","article_modified_time":"2026-09-15T15:44:40+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/julfian.com\/kalkulator-kpr\/","url":"https:\/\/julfian.com\/kalkulator-kpr\/","name":"Kalkulator KPR: Cek Cicilan Rumah 1 Menit","isPartOf":{"@id":"https:\/\/julfian.com\/#website"},"datePublished":"2026-09-15T15:36:56+00:00","dateModified":"2026-09-15T15:44:40+00:00","description":"Kalkulator KPR akurat untuk hitung estimasi cicilan rumah, bunga floating & fixed, uang muka (DP), Cek simulasi sekarang!","breadcrumb":{"@id":"https:\/\/julfian.com\/kalkulator-kpr\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/julfian.com\/kalkulator-kpr\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/julfian.com\/kalkulator-kpr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Beranda","item":"https:\/\/julfian.com\/"},{"@type":"ListItem","position":2,"name":"Kalkulator KPR: Cek Cicilan Rumah 1 Menit"}]},{"@type":"WebSite","@id":"https:\/\/julfian.com\/#website","url":"https:\/\/julfian.com\/","name":"Julfian | Executive Property Advisor","description":"Properti Alam Sutera, BSD &amp; Gading Serpong","publisher":{"@id":"https:\/\/julfian.com\/#\/schema\/person\/c4fa8cf9a29c54dbc2c66d7f080a968d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/julfian.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/julfian.com\/#\/schema\/person\/c4fa8cf9a29c54dbc2c66d7f080a968d","name":"Juaniyuna","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/julfian.com\/wp-content\/uploads\/2026\/05\/Julfian.jpeg","url":"https:\/\/julfian.com\/wp-content\/uploads\/2026\/05\/Julfian.jpeg","contentUrl":"https:\/\/julfian.com\/wp-content\/uploads\/2026\/05\/Julfian.jpeg","width":1000,"height":1000,"caption":"Juaniyuna"},"logo":{"@id":"https:\/\/julfian.com\/wp-content\/uploads\/2026\/05\/Julfian.jpeg"}}]}},"_links":{"self":[{"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/pages\/9454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/comments?post=9454"}],"version-history":[{"count":6,"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/pages\/9454\/revisions"}],"predecessor-version":[{"id":9461,"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/pages\/9454\/revisions\/9461"}],"wp:attachment":[{"href":"https:\/\/julfian.com\/en\/wp-json\/wp\/v2\/media?parent=9454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}