Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Program SPK Kelayakan Kredit Mobil
- import numpy as np
- import pandas as pd
- import os
- def main():
- hasil=np.zeros((4,3)) #definisi array hasil untuk menampung nomor, hasil hitung, dan kategori keputusan
- k=np.zeros(5) #definisi array untuk nilai kriteria
- d=pd.read_csv('data_train_kredit.csv',delimiter=";")
- d=np.asarray(d)
- i=0
- i3=0
- kebenaran=0 #inisialisasi keputusan
- print("Masukkan data pemohon")
- print("Masukkan Kriteria 1 :",end=" ")
- k[0]=input()
- k[0]=int(k[0])
- print("Masukkan Kriteria 2 :",end=" ")
- k[1]=input()
- k[1]=int(k[1])
- print("Masukkan Kriteria 3 :",end=" ")
- k[2]=input()
- k[2]=int(k[2])
- print("Masukkan Kriteria 4 :",end=" ")
- k[3]=input()
- k[3]=int(k[3])
- print("Masukkan Kriteria 5 :",end=" ")
- k[4]=input()
- k[4]=int(k[4])
- print("Masukkan nilai k :",end=" ")
- nilai_k=input()
- nilai_k=int(nilai_k)
- os.system('cls') #windows command untuk membersihkan layar
- #os.system('clear') #linux command untuk membersihkan layar
- #input nilai nilai yang dibutuhkan
- while i<len(d): #menggunakan while karena butuh i untuk iteration, karena for dalam python berbeda dengan for dalam c. Ulangi sebanyak data train yang ada.
- i2=0
- while i2<5: #while untuk menghitung masing masing selisih data train dan data test dikuadrat pada kriteria.
- hasil_sq=abs(k[i2]-d[i][i2+1])**2 #rumus menghitung selisih data train dan data test dikuadrat
- hasil[i][0]+=hasil_sq #setiap hasil hitung yang ada ditambahkan
- i2=i2+1
- pass
- hasil[i][0]=np.sqrt(hasil[i][0])#hasil hitung sebelumnya di akar kuadratkan
- hasil[i][1]=i+1 #menyimpan nomor data train
- hasil[i][2]=d[i][6] #menyimpan keputusan hasil hitung
- i=i+1
- pass
- hasil = list(hasil)
- print("Sebelum pengurutan kedekatan")
- print("No \t Kedekatan")
- for x in hasil: #pengulangan untuk menampilkan hasil hitung sebelum diurutkan
- print(int(x[1]),end="\t")
- print(x[0])
- pass
- hasil.sort(key=lambda x:x[0]) #mengurutkan array berdasarkan kedekatan dengan data test
- print("Sesudah pengurutan kedekatan")
- print("No \t Kedekatan")
- for x in hasil: #pengulangan untuk menampilkan hasil hitung setelah diurutkan
- print(int(x[1]),end="\t")
- print(x[0])
- pass
- while i3<nilai_k: #pengulangan untuk memilih hasil penghitungan dengan nilai k yang diurutkan berdasarkan kedekatan.
- kebenaran+=hasil[i3][2] #menghitung total nilai keputusan (0 untuk tidak memenuhi dan 1 untuk memenuhi)
- i3=i3+1
- pass
- keputusan=kebenaran/nilai_k*100 #membagi nilai keputusan dengan nilai k untuk menentukan apakah memenuhi atau tidak.
- print("Berdasarkan perhitungan diatas, sistem menyatakan pemohon",end=" ")
- if keputusan>50:
- print("Memenuhi",end=" ")
- else:
- print("Tidak Memenuhi",end=" ")
- pass
- print("mengajukan kredit.")
- print("Persentasi kebenaran "+str(keputusan)+"%")
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement