Kira jumlah pembayaran pinjaman perumahan, jumlah faedah yang dibayar, dan baki tertunggak berdasarkan prinsipal, kadar faedah, tempoh pinjaman, dan kekerapan pembayaran. Penting untuk pembeli rumah, pembiayaan semula, dan perancangan kewangan.
Kalkulator pinjaman perumahan adalah alat yang penting bagi sesiapa yang mempertimbangkan untuk membeli rumah atau membiayai semula pinjaman perumahan yang sedia ada. Ia membantu peminjam menganggarkan pembayaran bulanan mereka, jumlah faedah yang dibayar, dan baki tertunggak sepanjang hayat pinjaman. Kalkulator ini mengambil kira jumlah pokok, kadar faedah, tempoh pinjaman, dan kekerapan pembayaran untuk memberikan pengiraan yang tepat.
Formula asas untuk mengira pembayaran pinjaman perumahan adalah:
Di mana:
Untuk kekerapan pembayaran yang berbeza, formula disesuaikan dengan sewajarnya:
Formula pinjaman perumahan diperoleh daripada konsep nilai sekarang dan nilai masa depan wang. Berikut adalah penjelasan langkah demi langkah:
Nilai sekarang (PV) bagi satu siri pembayaran yang sama (M) selama n tempoh pada kadar faedah r adalah:
Dalam pinjaman perumahan, nilai sekarang adalah sama dengan pokok (P), jadi kita boleh menulis:
Untuk menyelesaikan M, kita darabkan kedua-dua belah dengan r:
Kemudian bahagikan kedua-dua belah dengan :
Darabkan penyebut dan penyebut dengan :
Bentuk akhir ini adalah formula pembayaran pinjaman perumahan standard.
Kalkulator pinjaman perumahan melakukan langkah-langkah berikut:
Kalkulator ini menangani beberapa kes tepian:
Perancangan Pembelian Rumah: Pembeli rumah yang berpotensi boleh menganggarkan pembayaran bulanan mereka berdasarkan pelbagai harga rumah dan bayaran pendahuluan.
Analisis Pembiayaan Semula: Pemilik rumah boleh membandingkan terma pinjaman mereka yang sedia ada dengan pilihan pembiayaan semula yang berpotensi.
Penganggaran: Membantu individu memahami bagaimana pembayaran pinjaman perumahan sesuai dalam keseluruhan bajet mereka.
Perbandingan Pinjaman: Membolehkan pengguna membandingkan pelbagai tawaran pinjaman dengan memasukkan pelbagai kadar faedah dan terma.
Kesan Pembayaran Tambahan: Pengguna boleh melihat bagaimana membuat pembayaran tambahan boleh mengurangkan tempoh pinjaman dan jumlah faedah yang dibayar.
Walaupun pinjaman perumahan kadar tetap adalah biasa, terdapat alternatif yang perlu dipertimbangkan:
Pinjaman Kadar Boleh Ubah (ARM): Kadar faedah berubah secara berkala, berpotensi menghasilkan pembayaran awal yang lebih rendah tetapi risiko yang lebih tinggi.
Pinjaman Hanya Faedah: Peminjam hanya membayar faedah untuk tempoh tertentu, menghasilkan pembayaran awal yang lebih rendah tetapi pembayaran yang lebih tinggi kemudian.
Pinjaman Balloon: Pembayaran bulanan yang lebih rendah dengan pembayaran "balloon" yang besar yang perlu dibayar pada akhir tempoh.
Pinjaman yang Disokong Kerajaan: Program seperti pinjaman FHA, VA, atau USDA sering mempunyai terma dan keperluan yang berbeza.
Konsep pinjaman perumahan telah wujud sejak ribuan tahun, tetapi pengiraan pinjaman perumahan moden menjadi lebih canggih dengan kemunculan teknologi pengkomputeran.
Kadar Peratusan Tahunan (APR): Kadar ini termasuk kadar faedah ditambah dengan kos lain seperti insurans pinjaman perumahan, kos penutupan, dan yuran pengeluaran pinjaman. Ia memberikan pandangan yang lebih komprehensif tentang kos pinjaman berbanding kadar faedah sahaja.
Cukai Hartanah dan Insurans: Kos tambahan ini sering termasuk dalam pembayaran pinjaman perumahan bulanan dan dipegang dalam akaun escrow. Walaupun bukan sebahagian daripada pinjaman itu sendiri, mereka memberi kesan yang ketara terhadap jumlah kos perumahan bulanan.
Insurans Pinjaman Peribadi (PMI): Diperlukan untuk pinjaman konvensional dengan bayaran pendahuluan kurang daripada 20%, PMI menambah kepada kos bulanan sehingga nisbah pinjaman kepada nilai mencapai 80%.
Penalti Pembayaran Awal: Beberapa pinjaman perumahan termasuk yuran untuk membayar pinjaman lebih awal, yang boleh mempengaruhi keputusan mengenai membuat pembayaran tambahan atau membiayai semula.
Berikut adalah beberapa contoh kod untuk mengira pembayaran pinjaman perumahan:
1def calculate_mortgage_payment(principal, annual_rate, years, frequency='monthly'):
2 monthly_rate = annual_rate / 100 / 12
3 num_payments = years * (12 if frequency == 'monthly' else 26 if frequency == 'biweekly' else 52)
4
5 if monthly_rate == 0:
6 return principal / num_payments
7
8 payment = principal * (monthly_rate * (1 + monthly_rate) ** num_payments) / ((1 + monthly_rate) ** num_payments - 1)
9
10 if frequency == 'biweekly':
11 return payment * 12 / 26
12 elif frequency == 'weekly':
13 return payment * 12 / 52
14 else:
15 return payment
16
17## Contoh penggunaan
18principal = 200000
19annual_rate = 3.5
20years = 30
21monthly_payment = calculate_mortgage_payment(principal, annual_rate, years)
22print(f"Pembayaran bulanan: ${monthly_payment:.2f}")
23
1function calculateMortgagePayment(principal, annualRate, years, frequency = 'monthly') {
2 const monthlyRate = annualRate / 100 / 12;
3 const numPayments = years * (frequency === 'monthly' ? 12 : frequency === 'biweekly' ? 26 : 52);
4
5 if (monthlyRate === 0) {
6 return principal / numPayments;
7 }
8
9 let payment = principal * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) - 1);
10
11 if (frequency === 'biweekly') {
12 return payment * 12 / 26;
13 } else if (frequency === 'weekly') {
14 return payment * 12 / 52;
15 } else {
16 return payment;
17 }
18}
19
20// Contoh penggunaan
21const principal = 200000;
22const annualRate = 3.5;
23const years = 30;
24const monthlyPayment = calculateMortgagePayment(principal, annualRate, years);
25console.log(`Pembayaran bulanan: $${monthlyPayment.toFixed(2)}`);
26
1public class MortgageCalculator {
2 public static double calculateMortgagePayment(double principal, double annualRate, int years, String frequency) {
3 double monthlyRate = annualRate / 100 / 12;
4 int numPayments = years * ("monthly".equals(frequency) ? 12 : "biweekly".equals(frequency) ? 26 : 52);
5
6 if (monthlyRate == 0) {
7 return principal / numPayments;
8 }
9
10 double payment = principal * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) - 1);
11
12 if ("biweekly".equals(frequency)) {
13 return payment * 12 / 26;
14 } else if ("weekly".equals(frequency)) {
15 return payment * 12 / 52;
16 } else {
17 return payment;
18 }
19 }
20
21 public static void main(String[] args) {
22 double principal = 200000;
23 double annualRate = 3.5;
24 int years = 30;
25 double monthlyPayment = calculateMortgagePayment(principal, annualRate, years, "monthly");
26 System.out.printf("Pembayaran bulanan: $%.2f%n", monthlyPayment);
27 }
28}
29
1Function CalculateMortgagePayment(principal As Double, annualRate As Double, years As Integer, Optional frequency As String = "monthly") As Double
2 Dim monthlyRate As Double
3 Dim numPayments As Integer
4
5 monthlyRate = annualRate / 100 / 12
6
7 Select Case LCase(frequency)
8 Case "monthly"
9 numPayments = years * 12
10 Case "biweekly"
11 numPayments = years * 26
12 Case "weekly"
13 numPayments = years * 52
14 Case Else
15 numPayments = years * 12
16 End Select
17
18 If monthlyRate = 0 Then
19 CalculateMortgagePayment = principal / numPayments
20 Else
21 Dim payment As Double
22 payment = principal * (monthlyRate * (1 + monthlyRate) ^ numPayments) / ((1 + monthlyRate) ^ numPayments - 1)
23
24 Select Case LCase(frequency)
25 Case "biweekly"
26 CalculateMortgagePayment = payment * 12 / 26
27 Case "weekly"
28 CalculateMortgagePayment = payment * 12 / 52
29 Case Else
30 CalculateMortgagePayment = payment
31 End Select
32 End If
33End Function
34
35' Contoh penggunaan:
36' =CalculateMortgagePayment(200000, 3.5, 30, "monthly")
37
1calculate_mortgage_payment <- function(principal, annual_rate, years, frequency = "monthly") {
2 monthly_rate <- annual_rate / 100 / 12
3 num_payments <- years * switch(frequency,
4 "monthly" = 12,
5 "biweekly" = 26,
6 "weekly" = 52,
7 12)
8
9 if (monthly_rate == 0) {
10 return(principal / num_payments)
11 }
12
13 payment <- principal * (monthly_rate * (1 + monthly_rate)^num_payments) / ((1 + monthly_rate)^num_payments - 1)
14
15 switch(frequency,
16 "biweekly" = payment * 12 / 26,
17 "weekly" = payment * 12 / 52,
18 payment)
19}
20
21## Contoh penggunaan:
22principal <- 200000
23annual_rate <- 3.5
24years <- 30
25monthly_payment <- calculate_mortgage_payment(principal, annual_rate, years)
26cat(sprintf("Pembayaran bulanan: $%.2f\n", monthly_payment))
27
Contoh-contoh ini menunjukkan bagaimana untuk mengira pembayaran pinjaman perumahan untuk pelbagai kekerapan menggunakan pelbagai bahasa pengaturcaraan. Anda boleh menyesuaikan fungsi-fungsi ini mengikut keperluan khusus anda atau mengintegrasikannya ke dalam sistem analisis kewangan yang lebih besar.
Apabila menggunakan kalkulator pinjaman perumahan, adalah penting untuk memahami hasilnya:
Pembayaran Bulanan: Ini adalah jumlah yang akan anda bayar setiap bulan, termasuk pokok dan faedah (dan mungkin cukai dan insurans jika termasuk).
Jumlah Faedah Dibayar: Ini menunjukkan jumlah faedah yang akan anda bayar sepanjang hayat pinjaman. Ia boleh menjadi mengejutkan untuk melihat berapa banyak faedah yang dibayar pada pinjaman jangka panjang.
Jadual Amortisasi: Ini menunjukkan bagaimana setiap pembayaran dibahagikan antara pokok dan faedah dari semasa ke semasa. Pada awal pinjaman, sebahagian besar pembayaran pergi kepada faedah, tetapi ini beralih kepada pokok seiring dengan kemajuan pinjaman.
Baki Pinjaman: Ini menunjukkan berapa banyak yang anda masih berhutang pada bila-bila masa dalam tempoh pinjaman.
Memahami hasil ini boleh membantu anda membuat keputusan yang bijak tentang pinjaman perumahan anda, seperti sama ada untuk membuat pembayaran tambahan atau membiayai semula di masa depan.
Berikut adalah diagram SVG yang menggambarkan proses amortisasi sepanjang hayat pinjaman perumahan 30 tahun:
Diagram ini menunjukkan bagaimana bahagian pokok dan faedah dalam setiap pembayaran berubah sepanjang hayat pinjaman perumahan 30 tahun. Pada awal pinjaman, sebahagian besar daripada setiap pembayaran pergi kepada faedah (kawasan kuning). Seiring berjalannya waktu, lebih banyak daripada setiap pembayaran pergi kepada pokok (kawasan hijau), membina ekuiti dalam rumah.
Temui lebih banyak alat yang mungkin berguna untuk aliran kerja anda