Simulasi Perhitungan Cicilan Pinjaman Berbunga dengan Python

Didalam kode perhitungan cicilan pinjaman ini, garis besarnya adalah mengambil data dari pengguna, membuat variabel yang diperlukan, memproses, dan menampilkannya. Mari kita mulai pembuatannya. Dalam simulasi ini, bunga adalah sebesar 2.95% dan dibebankan ke sisa tagihan saja.

Tanpa Kelas

Keunggulan dari kode ini adalah penulisannya sesuai dengan urutan proses, sehingga mudah dipahami oleh pemula. Diawali dengan mengambil data dari pengguna, pada proses ini kita akan meminta pengguna untuk memasukan informasi yang diperlukan, yaitu Jumlah tagihan, Jumlah Cicilan (Dicicil berapa kali), dan Uang muka.
tagihan=input("Jumlah Tagihan: ")
jumlah_cicilan=input("Jumlah Cicilan: ")
uang_muka=input("Uang Muka: ")
Kemudian dilanjutkan dengan membuat variabel yang diperlukan. Disini kita memerlukan variabel untuk menyimpan sisa tagihan, sisa cicilan, dan jumlah bunga yang sudah dibayar (untuk ditampilkan di akhir).
sisa_t=tagihan-uang_muka
sisa_c=jumlah_cicilan
jumlah_bunga=0
bunga=2.95/100
Kemudian kita buat beberapa fungsi agar nanti dalam perhitungan lebih mudah. Fungsi ini meliputi fungsi untuk mendapatkan bunga yang harus dibayar, mendapatkan cicilan wajib perbulan, dan mendapatkan total yang harus dibayar.
def get_bunga():
  return sisa_t*bunga
def get_cicilan():
  return sisa_t/sisa_c
def get_total_bayar():
  return get_bunga()+get_cicilan()
Variabel sudah, saatnya memproses dan menampilkannya.
print "Cicilan %d, diangsur %dx dengan uang muka %d \n" % (tagihan,jumlah_cicilan,uang_muka)
for i in range(jumlah_cicilan):
  print "Cicilan ke-%d: %d + %d = %d" % (i+1,get_cicilan(),get_bunga(),get_total_bayar())
  jumlah_bunga+=get_bunga()
  sisa_t-=get_cicilan()
  sisa_c-=1
print "\nBayar Uang Muka: %d\nTotal Bayar Cicilan: %d\nTotal Bunga: %d\nTotal: %d" % (uang_muka,tagihan-uang_muka,jumlah_bunga,tagihan+jumlah_bunga)
Selesai, kemudian mari kita lihat yang dengan kelas. Kode secara keseluruhan bisa dilihat dibawah ini.
tagihan=input("Jumlah Tagihan: ")
jumlah_cicilan=input("Jumlah Cicilan: ")
uang_muka=input("Uang Muka: ")
sisa_t=tagihan-uang_muka
sisa_c=jumlah_cicilan
jumlah_bunga=0
bunga=2.95/100
def get_bunga():
  return sisa_t*bunga
def get_cicilan():
  return sisa_t/sisa_c
def get_total_bayar():
  return get_bunga()+get_cicilan()
print "Cicilan %d, diangsur %dx dengan uang muka %d \n" % (tagihan,jumlah_cicilan,uang_muka)
for i in range(jumlah_cicilan):
  print "Cicilan ke-%d: %d + %d = %d" % (i+1,get_cicilan(),get_bunga(),get_total_bayar())
  jumlah_bunga+=get_bunga()
  sisa_t-=get_cicilan()
  sisa_c-=1
print "\nBayar Uang Muka: %d\nTotal Bayar Cicilan: %d\nTotal Bunga: %d\nTotal: %d" % (uang_muka,tagihan-uang_muka,jumlah_bunga,tagihan+jumlah_bunga)
 

Dengan Kelas

Sebenarnya hampir sama saja dengan cara diatas, perbedaannya adalah kita akan membuat class yang berisi tentang variabel dan fungsi diatas. Untuk lebih jelasnya lihat di kode yang menggunakan kelas dibawah ini,
class Kredit:
  tagihan=0
  jumlah_cicilan=0
  uang_muka=0
  sisa_tagihan=0
  sisa_cicilan=0
  jumlah_bunga=0
  bunga=2.95/100
  def get_bunga(this):
    return this.sisa_tagihan*this.bunga
  def get_cicilan(this):
    return this.sisa_tagihan/this.sisa_cicilan
  def get_total_bayar(this):
    return this.get_bunga()+this.get_cicilan()
  def hitung(this,tagihan=0,jumlah_cicilan=0,uang_muka=0):
    if(tagihan+jumlah_cicilan+uang_muka>0):
      this.tagihan=tagihan
      this.jumlah_cicilan=jumlah_cicilan
      this.uang_muka=uang_muka
    else:
      this.tagihan=input("Jumlah Tagihan: ")
      this.jumlah_cicilan=input("Jumlah Cicilan: ")
      this.uang_muka=input("Uang Muka: ")
    this.sisa_tagihan=this.tagihan-this.uang_muka
    this.sisa_cicilan=this.jumlah_cicilan
    print "\nCicilan %d, diangsur %dx dengan uang muka %d \n" % (this.tagihan,this.jumlah_cicilan,this.uang_muka)
    for i in range(this.jumlah_cicilan):
      print "Cicilan ke-%d: %d + %d = %d" % (i+1,this.get_cicilan(),this.get_bunga(),this.get_total_bayar())
      this.jumlah_bunga+=this.get_bunga()
      this.sisa_tagihan-=this.get_cicilan()
      this.sisa_cicilan-=1
    print "\nBayar Uang Muka: %d\nTotal Bayar Cicilan: %d\nTotal Bunga: %d\nTotal Bayar: %d\n" % (this.uang_muka,this.tagihan-this.uang_muka,this.jumlah_bunga,this.tagihan+this.jumlah_bunga)
aktif=1
kredit=Kredit()
while(aktif):
  print "Selamat datang di penghitung cicilan\nKetik:\n  'mulai' untuk mulai menghitung\n  'keluar' untuk keluar"
  perintah=raw_input("Perintah: ")
  if perintah=='mulai':
    print "\n"
    kredit.hitung()
  elif perintah=='keluar':
    aktif=0
  else:
    print "Perintah tidak diketahui"
Mudah bukan? cukup sekian saja artikel ini. Jangan lupa baca artikel lainnya.]]>

About: totop275


Leave a Reply

Your email address will not be published. Required fields are marked *