Saturday, February 23, 2013

Menerjemahkan fungsi PMT Microsoft Excel ke Web

19 Februari 2013, saya dapat tugas untuk mengubah rumus perhitungan angsuran / cicilan pinjaman. Rumus baru yang digunakan, adalah rumus PMT (http://office.microsoft.com/en-001/excel-help/pmt-HP005209215.aspx)
Perubahannya cukup unik, sebab si pemberi tugas, tidak bisa menjelaskan mengenai apa formula matematis yang berada di belakang fungsi PMT tersebut. *duaar... karena harus belajar bahasa pemrograman


Setelah menjelajah internet, saya dapat terjemahannya. *walaupun implementasinya baru pada hari Sabtu, 23 Februari 2013 :p
Rumusnya adalah seperti berikut :
Whaaaat??!!!
Tampaknya rumit :(
Mari kita bekerja. Akhirnya, rumusnya adalah seperti ini dalam bentuk JavaScript :
pmt = i * p * Math.pow((1 + i), n) / (1 – Math.pow((1 + i), n));
dan fungsinya adalah sebagai berikut :
function PMT(i, n, p) {
 return i * p * Math.pow((1 + i), n) / (1 - Math.pow((1 + i), n));
}
function CalculatePMTFromForm(idLoanAmount, idAnnualInterestRate, idMonths, idResult) {
 var i = $('#' + idAnnualInterestRate).val() / 1200;
 var n = $('#' + idMonths).val();
 var p = $('#' + idLoanAmount).val();
 var pmt = PMT(i, n, -p);
 $('#' + idResult).val(pmt.toFixed(2));
}

Tetapi saya tidak menggunakan fungsi itu. Saya hanya perlu rumusnya saja.
Var i = Interest / Margin Rate
Var n = jangka waktu pinjaman
Var p = nilai jumlah pinjaman
Var pmt = nilai angsuran per bulan

Sehingga, rumusnya menjadi seperti ini :

angsuran =  margin*(-pinjaman)*Math.pow((1+margin),jangka_waktu)/(1-Math.pow((1+margin),jangka_waktu));

Jangan lupa, nilai pinjaman diberikan nilai negatif (-).
Agar hasilnya tidak dalam beberapa angka di belakang koma, berikan parameter to.Fixed seperti pada fungsi diatas. Sehingga menjadi

 $("#angsuran").val(angsuran.toFixed(0));


Nilai (0) adalah agar nilai angsuran tidak memiliki angka dibelakang nol. Jika ingin bernilai hingga 2 angka dibelakang nol, berikan nilai to.Fixed(2).

Selamat mencoba ! 

Referensi :
http://tumanov.com/blog/2009/05/time-value-of-money-excel-pmt-in-javascript-and-php/ 
Post a Comment