Lampiran 1. Data Latih Manual

dokumen-dokumen yang mirip
BAB IV PEMBAHASAN. Pada bab ini akan dibahas mengenai penerapan metode Fuzzy K-Nearest

Pada prinsipnya operasi yang dilakukan pada file terdiri dari 3 tahapan : 1. Membuka file 2. Melakukan pemrosesan pada file 3.

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

Array Dimensi Satu. Pendahuluan. Slamet Kurniawan, S.Kom

Baca Tulis File. Untuk dapat membaca atau menulis data dari/ke sebuah file maka langkah yang perlu dilakukan adalah:

C++ Mathematic Functions

Pertemuan 2 ARRAY DIMENSI 1 & 2

Modul 3 INPUT DAN OUTPUT

PENGENALAN BAHASA C DAN C++

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

Pada bahasa pemrograman C++, dapat dibuat program dengan beberapa sub-program sesuai dengan keinginan dengan menggunakan fungsi.

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil

Komentar, Identifier, Konstanta dan Variabel

PENGANTAR BAHASA C++

MI, KA-D3, SIA, SIB. ADI, S.Kom.

File & Stream. Kegunaan File : file : ini. dengan. iostream.h) suatu. stream, Jika. dapat menghubungkan. mendeklarasikan. kita.

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SCRIPT PERTEMUAN 23. #include<conio.h> #include<stdio.h> #include<iostream.h> #include<iomanip.h>

PERTEMUAN X. Gbr.1 Konsep program dibagi menjadi sejumlah modul. void main() { fungsi a();

Pengenalan Array. Array Satu Dimensi

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Struct & Pointer. Agung Sasongko, M.Kom

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

Keg. Pembelajaran 3 : Operator dalam Bahasa C++

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

PERTEMUAN 3 KONSEP TIPE DATA

LAMPIRAN A LISTING PROGRAM

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

MODUL 6 PERULANGAN. Contoh1: 1. Pernyataan while Digunakan untuk pengambilan keputusan dan looping. Bentuk Umum:

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

LAMPIRAN PUSTAKA I/O C++

Input/Output with files

PRAKTIKUM 1 ALGORITMA & PEMROGRAMAN. 1. Mengenal C/C++

STRUKUR KENDALI : PERCABANGAN

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

mengatur jumlah digit pecahan yang diinginkan mengatur atau mengontrol sejumlah tanda format, misalkan rata kiri, kanan, huruf capital dll.

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

TUTORIAL BAHASA PEMOGRAMAN C++

Konsep Dasar Pemrograman Dan Pengenalan C++

CLASS. Bentuk Umum : class nama_class { Data elemen_class ; ... Public : Data elemen_class ; Data elemen_class ; } nama_object; BENTUK

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1];

PRAKTIKUM I STRUKTUR DATA. a. List program di bawah ini untuk dijalankan di Turbo C++ atau Borland C++ #include <iostream.h>

Struktur Bahasa C dan C++

SL 1201 Materi tentang Fungsi

Notasi Algoritma Separator Special Character. Dasar Pemrograman. Yoannita, S.Kom.

P R E T R EM N 5 STRUKTUR LOOPING

Notasi Algoritma Separator Special Character Kesalahan pada program Yoannita

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

VARIABEL & TIPE DATA PEMROGRAMAN C++

MODUL IV OPERASI DASAR MASUKAN DAN KELUARAN

BAB IV. OPERATOR DAN STATEMENT

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

MODUL. Pemrograman Terstruktur Semester IV, 2017 Acihmah Sidauruk, M.Kom. 1. Tujuan. 2. Teori Singkat. 3. Praktikum KONSTAN DAN OPERATOR

MODUL PRAKTIKUM ALGORITMA & PEMROGRAMAN II

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Array (Larik) Modul 7

AHMAD JURNAIDI WAHIDIN

MODULAR (FUNGSI)

TUGAS RESUME C++ Dosen pembimbing : Taufiqurrahman. Di susun Oleh : Ahmad Faisal Akbar ( ) Ahmad Tarjianto ( )

Pert 2 Struktur Data (mengajarkomputer.wordpress.com) ARRAY DIMENSI 1 & 2

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Object Oriented Programming (OOP)

QUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

Pert. 5. Operai Penyeleksian Kondisi

Monte Carlo Sebagai Metode Pencarian Acak. Achmad Basuki

FILE & STREAM Bab FILE

MODUL PRAKTIKUM ALGORITMA DAN PEMOGRAMAN I. Oleh : Wahyu Widodo, S.Kom

PENGANGGUR TERBUKA KABUPATEN/ KOTA KARANGASEM AGUSTUS 2015

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

INPUT DAN OUTPUT BAHASA C

a. Array berdimensi satu o Setiap elemen array dapat diakses melalui indeks. o Indeks array (subscript) secara default dimulai dari 0.

Praktikum Algoritma dan Struktur Data

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Pertemuan 2 ARRAY DIMENSI 1 & 2

OBJECT ORIENTED PROGRAMMINGS

TUGAS BESAR MATA KULIAH STRUKTUR DATA PEMROGRAMAN CASIER MENGGUNAKAN TURBO C++

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

Laporan Hasil Tugas Konsep Pemrograman

Selection / Pemilihan PEMILIHAN

UNIVERSITAS WIDYATAMA JURUSAN TEKNIK INFORMATIKA - FAKULTAS TEKNIK Jl. Cikutra No.204 A BAndung UJIAN TENGAH SEMESTER TA.

Algoritma Pemrograman. Fery Updi,M.Kom

BAB 2. FUNGSI INPUT OUTPUT

Contoh Program C++ Sederhana. Script Program : #include<conio.h> #include<stdio.h> main() { cout<< Selamat Datang Di Lab H <<endl;

PEMROGRAMAN BERORIENTASI OBJEK

OBJEK LANJUT. Oleh : Rasim Ilkom UPI

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

Paradigma Pemrograman Berorientasi Objek

BAB V INPUT DAN OUTPUT

LAPORAN PRAKTIKUM V. Oleh:

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Transkripsi:

Lampiran 1-1 Lampiran 1. Data Latih Manual Data Ke DP Status Perkawinan Pendidikan Terakhir 1 12 16-20% P Kawin Sarjana 2 SMTA/ 2 24 21-25% L Single Sederajat 0 SMTA/ 3 24 21-25% L Kawin Sederajat 2 Duda/Janda Dibawah 4 36 16-20% P tanpa Anak SMTP 0 SMTP/ 5 36 21-25% L Kawin Sederajat 3 6 36 16-20% P Kawin Diploma 1 SMTA/ 7 24 36-40% L Kawin Sederajat 2 Dibawah 8 35 21-25% L Kawin SMTP 2 SMTA/ 9 33 16-20% L Kawin Sederajat 2 Dibawah 10 33 26-30% L Kawin SMTP 2 Dibawah 11 11 16-20% L Kawin SMTP 3 Dibawah 12 23 16-20% L Kawin SMTP 2 Tinggal Sendiri 7 Keluarga 23 Sendiri 15 Keluarga 40 Sendiri 15 Keluarga 29 Keluarga 28 Sendiri 22 Keluarga 8 Keluarga 10 Sendiri 36 Keluarga 25 Tenor Gender Tanggungan Kepemilikan Rumah Pekerjaan Penghasilan Pekerjaan Listrik Remark Peg. Swasta Formal 5000000 1 900 Good Peg. Swasta Formal 2800000 3 450 Good Non Formal 22500000 6 900 Good Peg. Swasta Formal 2700000 2 450 Good Peg. Swasta Formal 2200000 2 900 Good Peg. Swasta Formal 1950000 5 1300 Good Peg. Swasta Formal 4000000 7 900 Good Non Formal 7000000 15 450 Bad Non Formal 4000000 5 900 Bad Non Formal 3000000 20 900 Bad Peg. Swasta Non Formal 4000000 7 450 Bad Non Formal 5500000 20 450 Bad

Lampiran 1-2 Data Ke DP Status Perkawinan Pendidikan Terakhir 13 33 16-20% P Kawin Sarjana 1 Dibawah 14 23 36-40% L Kawin SMTP 6 Tinggal Keluarga 30 Sendiri 27 Tenor Gender Tanggungan Kepemilikan Rumah Pekerjaan Penghasilan Pekerjaan Listrik Remark Peg. Swasta Formal 1000000 6 900 Bad Non Formal 3300000 40 450 Bad Data Uji Manual Data Ke DP Status Perkawinan 1 36 >40% L Kawin Tinggal Sendiri 4 Pekerjaan Tenor Gender Pendidikan Tanggungan Terakhir SMTA/ Sederajat 3 Kepemilikan Rumah Penghasilan Listrik Remark Pekerjaan Peg. Swasta Formal 2500000 3 900 Good

Lampiran 2-1 Lampiran 2. Konversi Data Latih Data Ke Tenor DP Status Perkawinan Pendidikan Terakhir Kepemilikan Rumah Tinggal Pekerjaan 1 1 5 2 2 1 0,666667 1 0,8 2 1 1 2 1 2 1 6 1 1 3 1 2 0,866667 2 0,371429 1 1 1 3 1 6 1 2 3 0,666667 1 0,333333 5 1 0,9 2 1 4 0,5 5 2 4 5 1 2 1 2 0,342857 1 1 1 5 0,5 6 1 2 4 0,666667 1 0,333333 2 0,2 1 2 1 6 0,5 5 2 2 2 1 2 1 2 0,128571 1 3 1 7 1 9 1 2 3 0,666667 2 1 2 0,714286 0,8 2 1 8 0,54167 6 1 2 5 0,666667 1 0,8 5 0,4 0,333333 1 2 9 0,625 5 1 2 3 0,666667 2 0,7 5 0,714286 1 2 2 10 0,625 7 1 2 5 0,666667 2 0,5 5 0,428571 0,666667 2 2 11 1 5 1 2 5 0,666667 1 1 3 0,714286 0,8 1 2 12 0,91667 5 1 2 5 0,666667 2 1 5 0,833333 0,666667 1 2 13 0,625 5 2 2 1 1 2 1 2 1 0,9 2 2 14 0,91667 9 1 2 5 1 1 1 5 0,514286 1 1 2 Konversi Data Uji Gender Tanggungan Pekerjaan Penghasilan Listrik Remark Data Gender Status Pendidikan Tang- Kepemilikan Peker- Peng- Lis- Re- Ke Tenor DP Perkawinan Terakhir gungan Rumah Tinggal jaan hasilan Pekerjaan trik mark 1 0,5 10 1 2 3 0,666667 1 1 2 0,285714 1 2 1

Lampiran 3-1 Lampiran 3. Jarak Data Uji Terhadap Setiap Data Latih Data Ke 1 2 3 4 5 6 7 8 9 10 11 12 13 14 x y jl 2 N l 1 x y T D G Sp Pt Tg R Lt P Ph Lk Ls 0,25 25 1 0 4 0 0 0,04 0 0,51020449 0 0 30,8002 0,25 16 0 1 0 0,11111089 1 0,017777689 0 0,007347061 0 1 19,38624 0,25 16 0 0 0 0 0 0,444444889 9 0,51020449 0,01 0 26,21465 0 25 1 4 4 0,11111089 1 0 0 0,003265322 0 1 36,11438 0 16 0 0 1 0 0 0,444444889 0 0,00734689 0 0 17,45179 0 25 1 0 1 0,11111089 1 0 0 0,024693922 0 1 29,1358 0,25 1 0 0 0 0 1 0 0 0,183673959 0,04 0 2,473674 0,00174 16 0 0 4 0 0 0,04 9 0,01306129 0,444444889 1 30,49924 0,01563 25 0 0 0 0 1 0,09 9 0,183673959 0 0 35,2893 0,01563 9 0 0 4 0 1 0,25 9 0,020408122 0,111110889 0 23,39714 0,25 25 0 0 4 0 0 0 1 0,183673959 0,04 1 31,47367 0,17361 25 0 0 4 0 1 0 9 0,299886569 0,111110889 1 40,58461 0,01563 25 1 0 4 0,11111089 1 0 0 0,51020449 0,01 0 31,64694 0,17361 1 0 0 4 0,11111089 0 0 9 0,052245159 0 1 15,33697 jl 2

Lampiran 3-2 Keterangan: T = Tenor. Lk = bekerja. D = Uang muka. Ls = Listrik. G = Jenis kelamin. Sp = Status perkawinan. Pt = Pendidikan terakhir. Tg = Tanggungan. R = Kepemilikan rumah. Lt = tinggal. P = Pekerjaan. Ph = Penghasilan perbulan.

Lampiran 4-1 Lampiran 4. Data Latih Program Data Ke DP Status Perkawinan 1 35 15-20% L Kawin 2 22 15-20% L Kawin 3 36 20-25% L Kawin 4 33 15-20% L Kawin Pendidikan Terakhir SMTA/ Sederajat SMTA/ Sederajat SMTP/ Sederajat Dibawah SMTP 5 22 35-40% L Single Diploma 0 6 33 15-20% L Kawin 7 33 15-20% L Kawin 8 33 25-30% L Kawin SMTP/ Sederajat SMTP/ Sederajat SMTP/ Sederajat 9 27 15-20% P Kawin Sarjana 0 10 36 >40% L Kawin SMTA/ Sederajat 11 12 0% L Kawin Diploma 4 12 12 0% L Single SMTA/ Sederajat 4 2 3 2 3 4 3 2 0 Tinggal 3 58 40 8 21 15 30 6 12 20 Pekerjaan Peg. Swasta Non Formal Non Formal Non Formal Non Formal Non Formal Non Formal Non Formal Non Formal Peg. Swasta Formal Non Formal Kerja Tenor Gender Tanggungan Kepemilikan Rumah Sendiri Sendiri Sendiri Keluarga Sendiri Keluarga Sendiri Sendiri Keluarga Sendiri Sendiri Sendiri Penghasilan Listrik Remark 2300000 2 900 Good 11000000 30 1300 Good 2500000 10 450 Good 5000000 5 900 Good 14500000 5 900 Good 6400000 15 900 Good 7500000 10 450 Good 12000000 12 900 Good 600000 9 900 Good 6000000 20 900 Good 20 Peg. Negeri 6000000 20 1300 Good 22 Non Formal 6000000 4 450 Good

Lampiran 4-2 Data Ke DP Status Perkawinan Pendidikan Terakhir Tinggal Pekerjaan 13 12 0% L Kawin Sarjana 2 1 Peg. Swasta Formal 3644229 7 900 Good 14 12 0% L Kawin SMTA/ 2 29 Sederajat Non Formal 8000000 3 450 Good.......................................... 795 48 >40% L Kawin Diploma 3 Sendiri 5 TNI/Polisi 3438000 9 900 Bad 796 48 >40% L Kawin Tidak 3 20 Sekolah Sendiri Non Formal 22500000 3 900 Bad 797 48 35-40% L Kawin Dibawah 4 51 SMTP Sendiri Non Formal 35000000 20 900 Bad 798 48 >40% L Kawin SMTP/ 4 15 Sederajat Keluarga Non Formal 8320000 5 900 Bad 799 48 30-35% L Kawin Sarjana 3 34 Keluarga Formal 25000000 20 900 Bad 800 48 30-35% P Kawin Diploma 0 Keluarga 6 Peg. Negeri 4286800 5 900 Bad Kerja Tenor Gender Tanggungan Kepemilikan Rumah Kontrak/ Sewa Sendiri Penghasilan Listrik Remark

Lampiran 5-1 Lampiran 5. Data Uji Program Data Ke DP Status Perkawinan 1 48 20-25% L Kawin Pendidikan Terakhir Dibawah SMTP 3 Tinggal Sendiri 5 Pekerjaan Kerja Tenor Gender Tanggungan Kepemilikan Rumah Penghasilan Listrik Remark Non Formal 63750000 7 900 Good 2 20 >40% L Kawin SMTA/ Sederajat 5 Sendiri 28 Formal 40000000 23 1300 Good 3 48 25-30% L Kawin Sarjana 4 4 47 20-25% L Kawin Sarjana 3 Sendiri 4 Peg. Negeri 4300000 24 1300 Good Sendiri 38 Peg. Negeri 3677500 3 900 Good 5 48 35-40% L Kawin Tidak Sekolah 2 Sendiri 29 Non Formal 22230000 4 900 Good 6 48 35-40% L Kawin SMTA/ Sederajat 2 Sendiri 37 Formal 72800000 5 900 Good 7 36 35-40% L Kawin Sarjana 4 Sendiri 7 Peg. Negeri 4429800 17 900 Good 8 36 >40% L Kawin SMTA/ Sederajat 3 Kontrak/ Sewa 20 Peg. Negeri 5656400 30 450 Good

Lampiran 5-2 Data Ke DP Status Perkawinan 9 36 25-30% L Kawin Pendidikan Terakhir SMTP/ Sederajat 2 Tinggal Sendiri 30 Pekerjaan Kerja Tenor Gender Tanggungan Kepemilikan Rumah Penghasilan Listrik Remark Non Formal 17600000 8 900 Good 10 48 20-25% L Kawin SMTP/ Sederajat 4 Sendiri 26 Formal 60000000 15 900 Good 11 36 30-35% L Kawin Dibawah SMTP 2 Sendiri 35 Non Formal 3000000 4 450 Good.......................................... SMTP/ 136 12 >40% L Single Sederajat 0 Keluarga 22 Non Formal 10000000 4 900 Good 137 36 15-20% L Kawin Sarjana 3 Sendiri 30 Peg. Negeri 3500000 7 2200 Good 138 24 20-25% P Kawin Dibawah SMTP 2 Sendiri 14 Formal 30000000 14 450 Good 139 36 15-20% L Kawin Dibawah SMTP 3 Sendiri 25 Non Formal 7000000 15 450 Good 140 36 25-30% L Single SMTA/ Sederajat 0 Keluarga 20 Peg. Swasta Formal 2500000 5 450 Good

Lampiran 6-1 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; konversilatih[i][1]=tl[0];

Lampiran 6-2 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]; konversilatih[i][1]=tl[0]; 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]; konversilatih[i][1]=tl[2]; 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; if(konversilatih[i][2]==6) konversilatih[i][2]=2; if(konversilatih[i][2]==11) konversilatih[i][2]=3; if(konversilatih[i][2]==16) konversilatih[i][2]=4; if(konversilatih[i][2]==21)

Lampiran 6-3 konversilatih[i][2]=5; if(konversilatih[i][2]==26) konversilatih[i][2]=6; if(konversilatih[i][2]==31) konversilatih[i][2]=7; if(konversilatih[i][2]==36) konversilatih[i][2]=8; if(konversilatih[i][2]==41) konversilatih[i][2]=9; konversilatih[i][2]=10; if(strcmp(ambillatih[0][3],"l")==0)//konversi gender konversilatih[i][3]=1; konversilatih[i][3]=2; if(strcmp(ambillatih[0][4],"single")==0)//konversi status perkawinan konversilatih[i][4]=1; if(strcmp(ambillatih[0][4],"kawin")==0) konversilatih[i][4]=2; if(strcmp(ambillatih[0][4],"duda/janda_dgn_anak")==0) konversilatih[i][4]=3; konversilatih[i][4]=4; if(strcmp(ambillatih[0][5],"sarjana")==0)//konversi pendidikan terakhir konversilatih[i][5]=1; if(strcmp(ambillatih[0][5],"diploma")==0) konversilatih[i][5]=2; if(strcmp(ambillatih[0][5],"smta/sederajat")==0)

Lampiran 6-4 konversilatih[i][5]=3; if(strcmp(ambillatih[0][5],"smtp/sederajat")==0) konversilatih[i][5]=4; if(strcmp(ambillatih[0][5],"dibawah_smtp")==0) konversilatih[i][5]=5; 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]; 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]; konversilatih[i][6]=tnl[0]; 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; tnl[2]=(konversilatih[i][6]-4)/(6-4); if(tnl[1]<tnl[2]) konversilatih[i][6]=tnl[2]; konversilatih[i][6]=tnl[1];

Lampiran 6-5 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; if(strcmp(ambillatih[0][7],"milik_keluarga")==0) konversilatih[i][7]=2; if(strcmp(ambillatih[0][7],"rumah_dinas")==0) konversilatih[i][7]=3; konversilatih[i][7]=4; if(konversilatih[i][8]<=5)//konversi lama tinggal ltl[0]=1; ltl[1]=0; konversilatih[i][8]=ltl[0]; 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; ltl[1]=(konversilatih[i][8]-10)/(25-10); if(ltl[0]<ltl[1]) konversilatih[i][8]=ltl[1]; konversilatih[i][8]=ltl[0]; if(konversilatih[i][8]>=15 && konversilatih[i][8]<25) ltl[0]=0; ltl[1]=(konversilatih[i][8]-10)/(25-10);

Lampiran 6-6 konversilatih[i][8]=ltl[1]; 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; if(strcmp(ambillatih[0][9],"peg.swasta_formal")==0) konversilatih[i][9]=2; if(strcmp(ambillatih[0][9],"peg.swasta_non_formal")==0) konversilatih[i][9]=3; if(strcmp(ambillatih[0][9],"wiraswasta_formal")==0) konversilatih[i][9]=4; if(strcmp(ambillatih[0][9],"wiraswasta_non_formal")==0) konversilatih[i][9]=5; 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]; 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]; 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]) konversilatih[i][10]=hl[1];

Lampiran 6-7 konversilatih[i][10]=hl[0]; 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]; 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; hl[2]=(konversilatih[i][10]-5000000)/(10000000-5000000); if(hl[2]<hl[1]) konversilatih[i][10]=hl[1]; konversilatih[i][10]=hl[2]; 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]; 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]; if(konversilatih[i][11]>5 && konversilatih[i][11]<15)

Lampiran 6-8 lkl[0]=(15-konversilatih[i][11])/(15-5); if(konversilatih[i][11]<=10) lkl[1]=0; lkl[1]=(konversilatih[i][11]-10)/(25-10); if(lkl[0]<lkl[1]) konversilatih[i][11]=lkl[1]; konversilatih[i][11]=lkl[0]; 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]; lkl[0]=0; lkl[1]=1; konversilatih[i][11]=lkl[1]; if(konversilatih[i][12]==450)//konversi listrik konversilatih[i][12]=1; if(konversilatih[i][12]==900) konversilatih[i][12]=2; if(konversilatih[i][12]==1300) konversilatih[i][12]=3; if(konversilatih[i][12]==2200) konversilatih[i][12]=4; konversilatih[i][12]=5; if(strcmp(ambillatih[0][13],"good")==0) //konversi remark(kelas) konversilatih[i][13]=1; if(strcmp(ambillatih[0][13],"bad")==0)

Lampiran 6-9 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]; 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]; konversiuji[i][1]=tu[0]; if(konversiuji[i][1]>=24 && konversiuji[i][1]<48)

Lampiran 6-10 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]; konversiuji[i][1]=tu[2]; 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; if(konversiuji[i][2]==6) konversiuji[i][2]=2; if(konversiuji[i][2]==11) konversiuji[i][2]=3; if(konversiuji[i][2]==16) konversiuji[i][2]=4; if(konversiuji[i][2]==21) konversiuji[i][2]=5; if(konversiuji[i][2]==26) konversiuji[i][2]=6; if(konversiuji[i][2]==31) konversiuji[i][2]=7; if(konversiuji[i][2]==36) konversiuji[i][2]=8; if(konversiuji[i][2]==41) konversiuji[i][2]=9;

Lampiran 6-11 konversiuji[i][2]=10; if(strcmp(ambiluji[0][3],"l")==0)//konversi gender konversiuji[i][3]=1; konversiuji[i][3]=2; if(strcmp(ambiluji[0][4],"single")==0)//konversi status perkawinan konversiuji[i][4]=1; if(strcmp(ambiluji[0][4],"kawin")==0) konversiuji[i][4]=2; if(strcmp(ambiluji[0][4],"duda/janda_dgn_anak")==0) konversiuji[i][4]=3; konversiuji[i][4]=4; if(strcmp(ambiluji[0][5],"sarjana")==0)//konversi pendidikan terakhir konversiuji[i][5]=1; if(strcmp(ambiluji[0][5],"diploma")==0) konversiuji[i][5]=2; if(strcmp(ambiluji[0][5],"smta/sederajat")==0) konversiuji[i][5]=3; if(strcmp(ambiluji[0][5],"smtp/sederajat")==0) konversiuji[i][5]=4; if(strcmp(ambiluji[0][5],"dibawah_smtp")==0) konversiuji[i][5]=5; konversiuji[i][5]=6; if(konversiuji[i][6]<1)//konversi jumlah tanggungan

Lampiran 6-12 tnu[0]=1; tnu[1]=0; tnu[3]=0; konversiuji[i][6]=tnu[0]; 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]; konversiuji[i][6]=tnu[0]; 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; tnu[2]=(konversiuji[i][6]-4)/(6-4); if(tnu[1]<tnu[2]) konversiuji[i][6]=tnu[2]; konversiuji[i][6]=tnu[1]; 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; if(strcmp(ambiluji[0][7],"milik_keluarga")==0) konversiuji[i][7]=2;

Lampiran 6-13 if(strcmp(ambiluji[0][7],"rumah_dinas")==0) konversiuji[i][7]=3; konversiuji[i][7]=4; if(konversiuji[i][8]<=5)//konversi lama tinggal ltu[0]=1; ltu[1]=0; konversiuji[i][8]=ltu[0]; 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; ltu[1]=(konversiuji[i][8]-10)/(25-10); if(ltu[0]<ltu[1]) konversiuji[i][8]=ltu[1]; konversiuji[i][8]=ltu[0]; 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]; 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; if(strcmp(ambiluji[0][9],"peg.swasta_formal")==0) konversiuji[i][9]=2; if(strcmp(ambiluji[0][9],"peg.swasta_non_formal")==0)

Lampiran 6-14 konversiuji[i][9]=3; if(strcmp(ambiluji[0][9],"wiraswasta_formal")==0) konversiuji[i][9]=4; if(strcmp(ambiluji[0][9],"wiraswasta_non_formal")==0) konversiuji[i][9]=5; 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]; 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]; 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]; konversiuji[i][10]=hu[0]; 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]; if(konversiuji[i][10]>=5000000 && konversiuji[i][10]<8000000) hu[0]=0; hu[1]=(8000000-konversiuji[i][10])/(8000000-5000000); if(konversiuji[i][10]==5000000)

Lampiran 6-15 hu[2]=0; hu[2]=(konversiuji[i][10]-5000000)/(10000000-5000000); if(hu[2]<hu[1]) konversiuji[i][10]=hu[1]; konversiuji[i][10]=hu[2]; 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]; 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]; 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; lku[1]=(konversiuji[i][11]-10)/(25-10); if(lku[0]<lku[1]) konversiuji[i][11]=lku[1]; konversiuji[i][11]=lku[0];

Lampiran 6-16 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]; lku[0]=0; lku[1]=1; konversiuji[i][11]=lku[1]; if(konversiuji[i][12]==450)//konversi listrik konversiuji[i][12]=1; if(konversiuji[i][12]==900) konversiuji[i][12]=2; if(konversiuji[i][12]==1300) konversiuji[i][12]=3; if(konversiuji[i][12]==2200) konversiuji[i][12]=4; konversiuji[i][12]=5; if(strcmp(ambiluji[0][13],"good")==0) //konversi remark(kelas) konversiuji[i][13]=1; 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<<"masukkan jumlah tetangga terdekat(k) yang diinginkan ";//input jarak terdekat cin>>tetangga;

Lampiran 6-17 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; nilaig=0; nilaib=0; total1=0;

Lampiran 6-18 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; 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; 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();

Lampiran 7-1 Lampiran 7. Hasil Klasifikasi dan Uji Validasi Data Uji Kelas Klasifikasi Kelas Asli 1 1 1 2 1 1 3 1 1 4 1 1 5 2 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1 20 1 1 21 1 1 22 1 1 23 1 1 24 1 1 25 1 1 26 1 1 27 1 1 28 1 1 29 1 1 30 1 1 31 1 1 32 1 1 33 1 1 34 1 1 35 1 1 36 1 1 37 1 1 38 1 1 39 1 1

Lampiran 7-2 Data Uji Kelas Klasifikasi Kelas Asli 40 1 1 41 1 1 42 1 1 43 1 1 44 1 1 45 1 1 46 1 1 47 1 1 48 1 1 49 2 1 50 1 1 51 1 1 52 1 1 53 1 1 54 1 1 55 1 2 56 1 1 57 1 1 58 1 1 59 1 1 60 1 1 61 1 1 62 1 1 63 1 1 64 1 1 65 1 1 66 1 1 67 1 1 68 1 1 69 1 1 70 1 1 71 1 1 72 1 1 73 1 1 74 1 1 75 1 1 76 1 1 77 1 1 78 1 1 79 1 1

Lampiran 7-3 Data Uji Kelas Klasifikasi Kelas Asli 80 1 1 81 1 1 82 1 1 83 1 1 84 1 1 85 1 1 86 1 1 87 1 1 88 1 2 89 1 1 90 1 1 91 1 1 92 1 2 93 1 1 94 1 1 95 1 1 96 1 1 97 1 1 98 1 1 99 1 1 100 1 1 101 1 1 102 2 1 103 1 1 104 1 1 105 1 1 106 1 1 107 1 1 108 1 1 109 1 1 110 1 1 111 1 1 112 2 1 113 1 1 114 1 1 115 1 1 116 1 1 117 1 1 118 1 1 119 1 1

Lampiran 7-4 Data Uji Kelas Klasifikasi Kelas Asli 120 1 1 121 2 1 122 1 1 123 1 1 124 1 1 125 1 1 126 1 2 127 1 1 128 1 1 129 1 1 130 1 1 131 2 1 132 1 1 133 1 1 134 1 1 135 2 1 136 1 1 137 1 1 138 1 1 139 1 1 140 1 1 Total data 140 Jumlah benar 129 % benar 92,1429