Lampiran 1. Kode Java Perhitungan
Kode Perhitungan
Break Even Point
(BEP)
double BEP = (totalBiayaTetap * lamaPanen) / (hargaProduk -
(totalBiayaTidakTetap / (double) estimasiProduksi));
Kode Perhitungan Return Cost Ratio (R/C)
double rc = (hargaProduk * estimasiProduksi) / (double) (totalBiayaTetap
* lamaPanen + totalBiayaTidakTetap);
Kode Perhitungan Net Present Value (NPV)
privatestaticdouble biayaTetapPresent(ArrayList<Integer>
arrayListBiayaTetap, int hargaProduk, int bungaPemanding, int lamaPanen) {
double totalBiayaTetapPresent = 0;
double i = bungaPemanding / (double) 12 / (double) 100;
// System.out.println("biayaTetapPresent()" + i); int A = 0;
int n = lamaPanen;
for (int x = 0; x < arrayListBiayaTetap.size(); x++) { A = arrayListBiayaTetap.get(x);
totalBiayaTetapPresent += present_tetap(A, i, n); }
return totalBiayaTetapPresent; }
publicstaticdouble present_tetap(int A, double i, int n) {
// P = A[((1+i)^n-1)/(i(1+i)^n )]
Kode Perhitungan Internal Rate of Return (IRR)
publicstaticdouble IRR(ArrayList<Integer> arrayListBiayaTetap, ArrayList<int[]> arrayListBiayaTidakTetap, int estimasiProduksi, int hargaProduk, int lamaPanen,
int bungaPemanding, double i) {
double npvNegative = 0; double npvPositive = 0;
// double NPV = // mengambil i dan NPV positive npvPositive = NPV(arrayListBiayaTetap,
arrayListBiayaTidakTetap, estimasiProduksi, hargaProduk, lamaPanen, bungaPemanding, i);
iPositive = 0.5;
// npvPositive = NPV; iNegative = 50;
// bungaPemanding = 50;
npvNegative = NPV(arrayListBiayaTetap,
arrayListBiayaTidakTetap, estimasiProduksi, hargaProduk, lamaPanen, bungaPemanding, 0.5);
System.out.println("NPV Negative :" + npvNegative + " i:" + iNegative);
System.out.println("i- :" + iNegative + " i+:" + iPositive + " npv-:" + npvNegative + " npv+:" + npvPositive + " Bunga Pembanding: " + bungaPemanding);
double IRR = iNegative + ((npvNegative / (double) (npvNegative - npvPositive)) * (iPositive - iNegative));
// System.out.println(IRR); return IRR;
}