Lampiran 3. Jarak Data Uji Terhadap Setiap Data Latih
Data
Ke
2 jl
x
y
2
1 N
jl l
x
y
T
D
G
Sp
Pt
Tg
R
Lt
P
Ph
Lk
Ls
1
0,25
25
1
0
4
0
0
0,04
0
0,51020449
0
0
30,8002
2
0,25
16
0
1
0
0,11111089
1
0,017777689
0
0,007347061
0
1
19,38624
3
0,25
16
0
0
0
0
0
0,444444889
9
0,51020449
0,01
0
26,21465
4
0
25
1
4
4
0,11111089
1
0
0
0,003265322
0
1
36,11438
5
0
16
0
0
1
0
0
0,444444889
0
0,00734689
0
0
17,45179
6
0
25
1
0
1
0,11111089
1
0
0
0,024693922
0
1
29,1358
7
0,25
1
0
0
0
0
1
0
0
0,183673959
0,04
0
2,473674
8
0,00174
16
0
0
4
0
0
0,04
9
0,01306129
0,444444889
1
30,49924
9
0,01563
25
0
0
0
0
1
0,09
9
0,183673959
0
0
35,2893
10
0,01563
9
0
0
4
0
1
0,25
9
0,020408122 0,111110889
0
23,39714
11
0,25
25
0
0
4
0
0
0
1
0,183673959
0,04
1
31,47367
12
0,17361
25
0
0
4
0
1
0
9
0,299886569 0,111110889
1
40,58461
13
0,01563
25
1
0
4
0,11111089
1
0
0
0,51020449
0,01
0
31,64694
Keterangan:
T = Tenor.
D = Uang muka.
G = Jenis kelamin.
Sp = Status perkawinan.
Pt = Pendidikan terakhir.
Tg = Tanggungan.
R = Kepemilikan rumah.
Lt = Lama tinggal.
P = Pekerjaan.
Ph = Penghasilan perbulan.
Lk = Lama bekerja.
Data
Ke
Te-nor
DP
Gen-der
Status
Perkawinan
Pendidikan
Terakhir
Tang-gungan
Kepe-milikan
Rumah
Lama
Tinggal
Pekerjaan
Peng-hasilan
Lama
Kerja
Lis-trik
Re-mark
13
12
0%
L
Kawin
Sarjana
2
Kontrak/
Sewa
1
Peg. Swasta
Formal
3644229
7
900
Good
14
12
0%
L
Kawin
SMTA/
Sederajat
2
Milik
Sendiri
29
Wiraswasta
Non Formal
8000000
3
450
Good
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
795
48
>40%
L
Kawin
Diploma
3
Milik
Sendiri
5
TNI/Polisi
3438000
9
900
Bad
796
48
>40%
L
Kawin
Tidak
Sekolah
3
Milik
Sendiri
20
Wiraswasta
Non Formal
22500000
3
900
Bad
797
48
35-40%
L
Kawin
Dibawah
SMTP
4
Milik
Sendiri
51
Wiraswasta
Non Formal
35000000
20
900
Bad
798
48
>40%
L
Kawin
SMTP/
Sederajat
4
Milik
Keluarga
15
Wiraswasta
Non Formal
8320000
5
900
Bad
799
48
30-35%
L
Kawin
Sarjana
3
Milik
Keluarga
34
Wiraswasta
Formal
25000000
20
900
Bad
800
48
30-35%
P
Kawin
Diploma
0
Milik
Lampiran 6.
Source Code
Program
#include <conio.h>
#include<iostream.h>
#include <math.h>
#include <stdlib.h>
#include<iomanip.h>
#include <string.h>
#include <fstream.h>
void main() {
ifstream latih; ifstream uji; ofstream ubahlatih; ofstream ubahuji; ofstream jarakterdekat; ofstream kelasklasifikasi; char datalatih[60]; char datauji[60];
char ambillatih[1][14][30]; //ambil data latih char ambiluji[1][14][30]; //ambil data uji
double konversilatih[800][14]; //hasil konversi data uji double konversiuji[140][14]; //hasil konversi data latih int kelasuji[140][1]; //output kelas klasifikasi data uji int i,j,l,tetangga;
double m,n,o,p,q,r,s,t,u,v,w,x,y;
double tl[3],hl[3],lkl[2],tnl[3],ltl[2],tu[3],hu[3],lku[2],tnu[3],ltu[2]; double z[140][800]; //jarak data uji dg data latih
double jarak[800][2]; //jarak data uji dan calon kelas klasifikasi
double zz,za,nilaig,nilaib,nilai1,nilai2,total,total1,kelas1,kelas2,pgood,persen; latih.open("datalatih.txt");
ubahlatih.open("konversilatih.txt");
for(i=0;i<800;i++)//proses ambil data latih dr notepad dan konversi data latih {
for(j=0;j<14;j++) {
latih>>datalatih;
strcpy(ambillatih[0][j],datalatih); }
for(j=0;j<3;j++) {
konversilatih[i][j]=(double)atof(ambillatih[0][j]); }
konversilatih[i][6]=(double)atof(ambillatih[0][6]); konversilatih[i][8]=(double)atof(ambillatih[0][8]); konversilatih[i][10]=(double)atof(ambillatih[0][10]); konversilatih[i][11]=(double)atof(ambillatih[0][11]); konversilatih[i][12]=(double)atof(ambillatih[0][12]); if(konversilatih[i][1]<=12) //konversi tenor
{
tl[0]=1; tl[1]=0; tl[2]=0;
}
else if(konversilatih[i][1]>12 && konversilatih[i][1]<24) {
tl[0]=(24-konversilatih[i][1])/(24-12); tl[1]=(konversilatih[i][1]-12)/(24-12); tl[2]=0;
if(tl[0]<tl[1]) {
konversilatih[i][1]=tl[1]; }
else {
konversilatih[i][1]=tl[0]; }
}
else if(konversilatih[i][1]>=24 && konversilatih[i][1]<48) {
tl[0]=0;
tl[1]=(48-konversilatih[i][1])/(48-24); tl[2]=(konversilatih[i][1]-24)/(48-24);
if(tl[2]<tl[1]) {
konversilatih[i][1]=tl[1]; }
else {
konversilatih[i][1]=tl[2]; }
} else {
tl[0]=0; tl[1]=0; tl[2]=1;
konversilatih[i][1]=tl[2]; }
if(konversilatih[i][2]==1)//konversi uang muka(DP)
{
konversilatih[i][2]=1; }
else if(konversilatih[i][2]==6) {
konversilatih[i][2]=2; }
else if(konversilatih[i][2]==11) {
konversilatih[i][2]=3; }
else if(konversilatih[i][2]==16) {
konversilatih[i][2]=4; }
konversilatih[i][2]=5; }
else if(konversilatih[i][2]==26) {
konversilatih[i][2]=6; }
else if(konversilatih[i][2]==31) {
konversilatih[i][2]=7; }
else if(konversilatih[i][2]==36) {
konversilatih[i][2]=8; }
else if(konversilatih[i][2]==41) {
konversilatih[i][2]=9; }
else {
konversilatih[i][2]=10; }
if(strcmp(ambillatih[0][3],"L")==0)//konversi gender {
konversilatih[i][3]=1; }
else {
konversilatih[i][3]=2; }
if(strcmp(ambillatih[0][4],"Single")==0)//konversi status perkawinan {
konversilatih[i][4]=1; }
else if(strcmp(ambillatih[0][4],"Kawin")==0) {
konversilatih[i][4]=2; }
else if(strcmp(ambillatih[0][4],"Duda/Janda_dgn_Anak")==0) {
konversilatih[i][4]=3; }
else {
konversilatih[i][4]=4; }
if(strcmp(ambillatih[0][5],"SARJANA")==0)//konversi pendidikan terakhir {
konversilatih[i][5]=1; }
else if(strcmp(ambillatih[0][5],"DIPLOMA")==0) {
konversilatih[i][5]=2; }
{
konversilatih[i][5]=3; }
else if(strcmp(ambillatih[0][5],"SMTP/SEDERAJAT")==0) {
konversilatih[i][5]=4; }
else if(strcmp(ambillatih[0][5],"DIBAWAH_SMTP")==0) {
konversilatih[i][5]=5; }
else {
konversilatih[i][5]=6; }
if(konversilatih[i][6]<1)//konversi jumlah tanggungan {
tnl[0]=1; tnl[1]=0; tnl[3]=0;
konversilatih[i][6]=tnl[0]; }
else if(konversilatih[i][6]>1 && konversilatih[i][6]<4) {
tnl[0]=(4-konversilatih[i][6])/(4-1); tnl[1]=(konversilatih[i][6]-1)/(4-1); tnl[2]=0;
if(tnl[0]<tnl[1]) {
konversilatih[i][6]=tnl[1]; }
else {
konversilatih[i][6]=tnl[0]; }
}
else if(konversilatih[i][6]>=4 && konversilatih[i][6]<6) {
tnl[0]=0;
tnl[1]=(6-konversilatih[i][6])/(6-4); if(konversilatih[i][6]==4)
{
tnl[2]=0; }
else {
tnl[2]=(konversilatih[i][6]-4)/(6-4); }
if(tnl[1]<tnl[2]) {
konversilatih[i][6]=tnl[2]; }
else {
} } else {
tnl[0]=0; tnl[1]=0; tnl[2]=1;
konversilatih[i][6]=tnl[2]; }
if(strcmp(ambillatih[0][7],"MILIK_SENDIRI")==0)//konversi tempat tinggal {
konversilatih[i][7]=1; }
else if(strcmp(ambillatih[0][7],"MILIK_KELUARGA")==0) {
konversilatih[i][7]=2; }
else if(strcmp(ambillatih[0][7],"RUMAH_DINAS")==0) {
konversilatih[i][7]=3; }
else {
konversilatih[i][7]=4; }
if(konversilatih[i][8]<=5)//konversi lama tinggal
{
ltl[0]=1; ltl[1]=0;
konversilatih[i][8]=ltl[0]; }
else if(konversilatih[i][8]>5 && konversilatih[i][8]<15) {
ltl[0]=(15-konversilatih[i][8])/(15-5); if(konversilatih[i][8]<=10)
{
ltl[1]=0; }
else {
ltl[1]=(konversilatih[i][8]-10)/(25-10); }
if(ltl[0]<ltl[1]) {
konversilatih[i][8]=ltl[1]; }
else {
konversilatih[i][8]=ltl[0]; }
}
else if(konversilatih[i][8]>=15 && konversilatih[i][8]<25) {
ltl[0]=0;
konversilatih[i][8]=ltl[1]; }
else {
ltl[0]=0; ltl[1]=1;
konversilatih[i][8]=ltl[1]; }
if(strcmp(ambillatih[0][9],"PEG.NEGERI")==0) //konversi pekerjaan {
konversilatih[i][9]=1; }
else if(strcmp(ambillatih[0][9],"PEG.SWASTA_FORMAL")==0) {
konversilatih[i][9]=2; }
else if(strcmp(ambillatih[0][9],"PEG.SWASTA_NON_FORMAL")==0) {
konversilatih[i][9]=3; }
else if(strcmp(ambillatih[0][9],"WIRASWASTA_FORMAL")==0) {
konversilatih[i][9]=4; }
else if(strcmp(ambillatih[0][9],"WIRASWASTA_NON_FORMAL")==0) {
konversilatih[i][9]=5; }
else {
konversilatih[i][9]=6; }
if(konversilatih[i][10]<=1000000)//konversi penghasilan perbulan {
hl[0]=1; hl[1]=0; hl[2]=0;
konversilatih[i][10]=hl[0]; }
else if(konversilatih[i][10]>1000000 && konversilatih[i][10]<=1500000) {
hl[0]=(2000000-konversilatih[i][10])/(2000000-1000000); hl[1]=0;
hl[2]=0;
konversilatih[i][10]=hl[0]; }
else if(konversilatih[i][10]>1500000 && konversilatih[i][10]<2000000) {
hl[0]=(2000000-konversilatih[i][10])/(2000000-1000000); hl[1]=(konversilatih[i][10]-1500000)/(5000000-1500000); hl[2]=0;
if(hl[0]<hl[1]) {
else {
konversilatih[i][10]=hl[0]; }
}
else if(konversilatih[i][10]>=2000000 && konversilatih[i][10]<5000000) {
hl[0]=0;
hl[1]=(konversilatih[i][10]-1500000)/(5000000-1500000); hl[2]=0;
konversilatih[i][10]=hl[1]; }
else if(konversilatih[i][10]>=5000000 && konversilatih[i][10]<8000000) {
hl[0]=0;
hl[1]=(8000000-konversilatih[i][10])/(8000000-5000000); if(konversilatih[i][10]==5000000)
{
hl[2]=0; }
else {
hl[2]=(konversilatih[i][10]-5000000)/(10000000-5000000); }
if(hl[2]<hl[1]) {
konversilatih[i][10]=hl[1]; }
else {
konversilatih[i][10]=hl[2]; }
}
else if(konversilatih[i][10]>=8000000 && konversilatih[i][10]<10000000) {
hl[0]=0; hl[1]=0;
hl[2]=(konversilatih[i][10]-5000000)/(10000000-5000000); konversilatih[i][10]=hl[2];
} else {
hl[0]=0; hl[1]=0; hl[2]=1;
konversilatih[i][10]=hl[2]; }
if(konversilatih[i][11]<=5) //konversi lama tingkat kerja {
lkl[0]=1; lkl[1]=0;
konversilatih[i][11]=lkl[0]; }
lkl[0]=(15-konversilatih[i][11])/(15-5); if(konversilatih[i][11]<=10)
{
lkl[1]=0; }
else {
lkl[1]=(konversilatih[i][11]-10)/(25-10); }
if(lkl[0]<lkl[1]) {
konversilatih[i][11]=lkl[1]; }
else {
konversilatih[i][11]=lkl[0]; }
}
else if(konversilatih[i][11]>=15 && konversilatih[i][11]<25) {
lkl[0]=0;
lkl[1]=(konversilatih[i][11]-10)/(25-10); konversilatih[i][11]=lkl[1];
} else {
lkl[0]=0; lkl[1]=1;
konversilatih[i][11]=lkl[1]; }
if(konversilatih[i][12]==450)//konversi listrik {
konversilatih[i][12]=1; }
else if(konversilatih[i][12]==900) {
konversilatih[i][12]=2; }
else if(konversilatih[i][12]==1300) {
konversilatih[i][12]=3; }
else if(konversilatih[i][12]==2200) {
konversilatih[i][12]=4; }
else {
konversilatih[i][12]=5; }
if(strcmp(ambillatih[0][13],"Good")==0) //konversi remark(kelas) {
konversilatih[i][13]=1; }
{
konversilatih[i][13]=2; }
}
latih.close();
for(i=0;i<800;i++)//output konversi data latih {
for(j=0;j<14;j++) {
ubahlatih<<setw(14)<<konversilatih[i][j]; }
ubahlatih<<endl; }
ubahlatih.close(); uji.open("datauji.txt");
ubahuji.open("konversiuji.txt");//ambil data uji dr notepad
for(i=0;i<140;i++) {
for(j=0;j<14;j++) {
uji>>datauji;
strcpy(ambiluji[0][j],datauji); }
for(j=0;j<3;j++) {
konversiuji[i][j]=(double)atof(ambiluji[0][j]); }
konversiuji[i][6]=(double)atof(ambiluji[0][6]); konversiuji[i][8]=(double)atof(ambiluji[0][8]); konversiuji[i][10]=(double)atof(ambiluji[0][10]); konversiuji[i][11]=(double)atof(ambiluji[0][11]); konversiuji[i][12]=(double)atof(ambiluji[0][12]); if(konversiuji[i][1]<=12) //konversi tenor
{
tu[0]=1; tu[1]=0; tu[2]=0;
konversiuji[i][1]=tu[0]; }
else if(konversiuji[i][1]>12 && konversiuji[i][1]<24) {
tu[0]=(24-konversiuji[i][1])/(24-12); tu[1]=(konversiuji[i][1]-12)/(24-12); tu[2]=0;
if(tu[0]<tu[1]) {
konversiuji[i][1]=tu[1]; }
else {
konversiuji[i][1]=tu[0]; }
}
{
tu[0]=0;
tu[1]=(48-konversiuji[i][1])/(48-24); tu[2]=(konversiuji[i][1]-24)/(48-24);
if(tu[2]<tu[1]) {
konversiuji[i][1]=tu[1]; }
else {
konversiuji[i][1]=tu[2]; }
} else {
tu[0]=0; tu[1]=0; tu[2]=1;
konversiuji[i][1]=tu[2]; }
if(konversiuji[i][2]==1)//konversi uang muka(DP) {
konversiuji[i][2]=1; }
else if(konversiuji[i][2]==6) {
konversiuji[i][2]=2; }
else if(konversiuji[i][2]==11) {
konversiuji[i][2]=3; }
else if(konversiuji[i][2]==16) {
konversiuji[i][2]=4; }
else if(konversiuji[i][2]==21) {
konversiuji[i][2]=5; }
else if(konversiuji[i][2]==26) {
konversiuji[i][2]=6; }
else if(konversiuji[i][2]==31) {
konversiuji[i][2]=7; }
else if(konversiuji[i][2]==36) {
konversiuji[i][2]=8; }
else if(konversiuji[i][2]==41) {
} else {
konversiuji[i][2]=10; }
if(strcmp(ambiluji[0][3],"L")==0)//konversi gender {
konversiuji[i][3]=1; }
else {
konversiuji[i][3]=2; }
if(strcmp(ambiluji[0][4],"Single")==0)//konversi status perkawinan
{
konversiuji[i][4]=1; }
else if(strcmp(ambiluji[0][4],"Kawin")==0) {
konversiuji[i][4]=2; }
else if(strcmp(ambiluji[0][4],"Duda/Janda_dgn_Anak")==0) {
konversiuji[i][4]=3; }
else {
konversiuji[i][4]=4; }
if(strcmp(ambiluji[0][5],"SARJANA")==0)//konversi pendidikan terakhir
{
konversiuji[i][5]=1; }
else if(strcmp(ambiluji[0][5],"DIPLOMA")==0) {
konversiuji[i][5]=2; }
else if(strcmp(ambiluji[0][5],"SMTA/SEDERAJAT")==0) {
konversiuji[i][5]=3; }
else if(strcmp(ambiluji[0][5],"SMTP/SEDERAJAT")==0) {
konversiuji[i][5]=4; }
else if(strcmp(ambiluji[0][5],"DIBAWAH_SMTP")==0) {
konversiuji[i][5]=5; }
else {
konversiuji[i][5]=6; }
tnu[0]=1; tnu[1]=0; tnu[3]=0;
konversiuji[i][6]=tnu[0]; }
else if(konversiuji[i][6]>1 && konversiuji[i][6]<4) {
tnu[0]=(4-konversiuji[i][6])/(4-1); tnu[1]=(konversiuji[i][6]-1)/(4-1); tnu[2]=0;
if(tnu[0]<tnu[1]) {
konversiuji[i][6]=tnu[1]; }
else {
konversiuji[i][6]=tnu[0]; }
}
else if(konversiuji[i][6]>=4 && konversiuji[i][6]<6) {
tnu[0]=0;
tnu[1]=(6-konversiuji[i][6])/(6-4); if(konversiuji[i][6]==4)
{
tnu[2]=0; }
else {
tnu[2]=(konversiuji[i][6]-4)/(6-4); }
if(tnu[1]<tnu[2]) {
konversiuji[i][6]=tnu[2]; }
else {
konversiuji[i][6]=tnu[1]; }
} else {
tnu[0]=0; tnu[1]=0; tnu[2]=1;
konversiuji[i][6]=tnu[2]; }
if(strcmp(ambiluji[0][7],"MILIK_SENDIRI")==0)//konversi tempat tinggal {
konversiuji[i][7]=1; }
else if(strcmp(ambiluji[0][7],"MILIK_KELUARGA")==0) {
else if(strcmp(ambiluji[0][7],"RUMAH_DINAS")==0) {
konversiuji[i][7]=3; }
else {
konversiuji[i][7]=4; }
if(konversiuji[i][8]<=5)//konversi lama tinggal {
ltu[0]=1; ltu[1]=0;
konversiuji[i][8]=ltu[0]; }
else if(konversiuji[i][8]>5 && konversiuji[i][8]<15) {
ltu[0]=(15-konversiuji[i][8])/(15-5); if(konversiuji[i][8]<=10)
{
ltu[1]=0; }
else {
ltu[1]=(konversiuji[i][8]-10)/(25-10); }
if(ltu[0]<ltu[1]) {
konversiuji[i][8]=ltu[1]; }
else {
konversiuji[i][8]=ltu[0]; }
}
else if(konversiuji[i][8]>=15 && konversiuji[i][8]<25) {
ltu[0]=0;
ltu[1]=(konversiuji[i][8]-10)/(25-10); konversiuji[i][8]=ltu[1];
} else {
ltu[0]=0; ltu[1]=1;
konversiuji[i][8]=ltu[1]; }
if(strcmp(ambiluji[0][9],"PEG.NEGERI")==0) //konversi pekerjaan {
konversiuji[i][9]=1; }
else if(strcmp(ambiluji[0][9],"PEG.SWASTA_FORMAL")==0) {
konversiuji[i][9]=2; }
{
konversiuji[i][9]=3; }
else if(strcmp(ambiluji[0][9],"WIRASWASTA_FORMAL")==0) {
konversiuji[i][9]=4; }
else if(strcmp(ambiluji[0][9],"WIRASWASTA_NON_FORMAL")==0) {
konversiuji[i][9]=5; }
else {
konversiuji[i][9]=6; }
if(konversiuji[i][10]<=1000000)//konversi penghasilan perbulan {
hu[0]=1; hu[1]=0; hu[2]=0;
konversiuji[i][10]=hu[0]; }
else if(konversiuji[i][10]>1000000 && konversiuji[i][10]<=1500000) {
hu[0]=(2000000-konversiuji[i][10])/(2000000-1000000); hu[1]=0;
hu[2]=0;
konversiuji[i][10]=hu[0]; }
else if(konversiuji[i][10]>1500000 && konversiuji[i][10]<2000000) {
hu[0]=(2000000-konversiuji[i][10])/(2000000-1000000); hu[1]=(konversiuji[i][10]-1500000)/(5000000-1500000); hu[2]=0;
if(hu[0]<hu[1]) {
konversiuji[i][10]=hu[1]; }
else {
konversiuji[i][10]=hu[0]; }
}
else if(konversiuji[i][10]>=2000000 && konversiuji[i][10]<5000000) {
hu[0]=0;
hu[1]=(konversiuji[i][10]-1500000)/(5000000-1500000); hu[2]=0;
konversiuji[i][10]=hu[1]; }
else if(konversiuji[i][10]>=5000000 && konversiuji[i][10]<8000000) {
hu[0]=0;
{
hu[2]=0; }
else {
hu[2]=(konversiuji[i][10]-5000000)/(10000000-5000000); }
if(hu[2]<hu[1]) {
konversiuji[i][10]=hu[1]; }
else {
konversiuji[i][10]=hu[2]; }
}
else if(konversiuji[i][10]>=8000000 && konversiuji[i][10]<10000000) {
hu[0]=0; hu[1]=0;
hu[2]=(konversiuji[i][10]-5000000)/(10000000-5000000); konversiuji[i][10]=hu[2];
} else {
hu[0]=0; hu[1]=0; hu[2]=1;
konversiuji[i][10]=hu[2]; }
if(konversiuji[i][11]<=5) //konversi lama tingkat kerja {
lku[0]=1; lku[1]=0;
konversiuji[i][11]=lku[0]; }
else if(konversiuji[i][11]>5 && konversiuji[i][11]<15) {
lku[0]=(15-konversiuji[i][11])/(15-5); if(konversiuji[i][11]<=10)
{
lku[1]=0; }
else {
lku[1]=(konversiuji[i][11]-10)/(25-10); }
if(lku[0]<lku[1]) {
konversiuji[i][11]=lku[1]; }
else {
}
else if(konversiuji[i][11]>=15 && konversiuji[i][11]<25) {
lku[0]=0;
lku[1]=(konversiuji[i][11]-10)/(25-10); konversiuji[i][11]=lku[1];
} else {
lku[0]=0; lku[1]=1;
konversiuji[i][11]=lku[1]; }
if(konversiuji[i][12]==450)//konversi listrik
{
konversiuji[i][12]=1; }
else if(konversiuji[i][12]==900) {
konversiuji[i][12]=2; }
else if(konversiuji[i][12]==1300) {
konversiuji[i][12]=3; }
else if(konversiuji[i][12]==2200) {
konversiuji[i][12]=4; }
else {
konversiuji[i][12]=5; }
if(strcmp(ambiluji[0][13],"Good")==0) //konversi remark(kelas) {
konversiuji[i][13]=1; }
else if(strcmp(ambiluji[0][13],"Bad")==0) {
konversiuji[i][13]=2; }
}
uji.close();
for(i=0;i<800;i++)//output konversi data uji {
for(j=0;j<14;j++) {
ubahuji<<setw(14)<<konversiuji[i][j]; }
ubahuji<<endl; }
ubahuji.close(); cout<<endl;
cout<<endl; while(tetangga<1) {
cout<<"Jumlah tetangga terdekat(K) tidak boleh kurang dari 1"<<endl; cout<<"Masukkan jumlah tetangga terdekat(K) yang diinginkan "; cin>>tetangga;
}
cout<<"Data latih yg memiliki jarak terdekat sesuai K adalah"<<endl; jarakterdekat.open("jarakterdekat.txt");
for(i=0;i<140;i++)//proses penghitungan jarak tiap data uji ke tiap data latih
{
for(j=0;j<800;j++) {
m=pow(fabs(konversiuji[i][1]-konversilatih[j][1]),2); n=pow(fabs(konversiuji[i][2]-konversilatih[j][2]),2); o=pow(fabs(konversiuji[i][3]-konversilatih[j][3]),2); p=pow(fabs(konversiuji[i][4]-konversilatih[j][4]),2); q=pow(fabs(konversiuji[i][5]-konversilatih[j][5]),2); r=pow(fabs(konversiuji[i][6]-konversilatih[j][6]),2); s=pow(fabs(konversiuji[i][7]-konversilatih[j][7]),2); t=pow(fabs(konversiuji[i][8]-konversilatih[j][8]),2); u=pow(fabs(konversiuji[i][9]-konversilatih[j][9]),2); v=pow(fabs(konversiuji[i][10]-konversilatih[j][10]),2); w=pow(fabs(konversiuji[i][11]-konversilatih[j][11]),2); x=pow(fabs(konversiuji[i][12]-konversilatih[j][12]),2); y=m+n+o+p+q+r+s+t+u+v+w+x;
z[i][j]=pow(y,0.5); jarak[j][0]=z[i][j];
jarak[j][1]=konversilatih[j][13]; }
for(l=0;l<800;l++) {
for(j=0;j<799;j++) {
if(jarak[j][0]>jarak[j+1][0]) {
zz=jarak[j][0];
jarak[j][0]=jarak[j+1][0]; jarak[j+1][0]=zz; za=jarak[j][1];
jarak[j][1]=jarak[j+1][1]; jarak[j+1][1]=za; }
} }
jarakterdekat<<"jarak terdekat dengan data uji ke-"<<i+1<<endl; cout<<"jarak terdekat dengan data uji ke-"<<i+1<<endl;
for(l=0;l<tetangga;l++) //output data uji dg jarak terdekat sejumlah K inputan
{
cout<<jarak[l][1]<<setw(12)<<jarak[l][0]<<endl<<endl; jarakterdekat<<jarak[l][1]<<setw(12)<<jarak[l][0]<<endl; }
for(l=0;l<tetangga;l++)//menghitung membership function tiap kelas
{
if(jarak[l][1]==1) {
nilai1=pow(jarak[l][0],(-2)); nilaig=nilaig+nilai1; }
else {
nilai2=pow(jarak[l][0],(-2)); nilaib=nilaib+nilai2; }
total=pow(jarak[l][0],(-2)); total1=total1+total; }
kelas1=nilaig/total1; kelas2=nilaib/total1;
if(kelas1>kelas2) //menentukan kelas klasifikasi data uji ke-i
{
kelasuji[i][0]=1; }
else {
kelasuji[i][0]=2; }
}
cout<<endl;
kelasklasifikasi.open("hasil.txt");
cout<<"data uji "<<setw(6)<<" kelas klasifikasi "<<setw(6)<<" kelas asli"<<endl;
kelasklasifikasi<<"datauji "<<setw(6)<<" kelasklasifikasi "<<setw(6)<<" kelasasli"<<endl; for(i=0;i<140;i++)
{
cout<<setw(6)<<i+1<<setw(15)<<kelasuji[i][0]<<setw(18)<<konversiuji[i][13]<<endl; kelasklasifikasi<<setw(6)<<i+1<<setw(15)<<kelasuji[i][0];
kelasklasifikasi<<setw(18)<<konversiuji[i][13]<<endl; cout<<endl;
}
kelasklasifikasi.close(); jarakterdekat.close(); cout<<endl;
pgood=0;
for(i=0;i<140;i++) {
if(kelasuji[i][0]==konversiuji[i][13])//uji validasi {
pgood=pgood+1; }
}
persen=(pgood/140)*100;
cout<<"Dengan jumlah tetangga terdekat(K)= "<<tetangga<<endl;
cout<<"Presentase keberhasilan klasifikasi sebesar "<<persen<<"%"<<endl<<endl<<endl; getch();