• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

2.8 Evaluasi dan Validasi

2.8.2 Confusion Matrix

Gambar 2.4 Cross validation dengan 5-Fold Cross Validation

Dengan ini jumlah kemunculan setiap sampel dalam data latih pasti sama dan setiap sampel pasti muncul satu dan hanya satu kali (tidak kurang dan tidak lebih) dalam data uji (Dr.

Suryanto 2019).

Bentuk umum pendekatan ini memecah set data mejadi k bagian set data dengan ukuran yang sama. Setiap kali berjalan, satu pecahan berperan sebagai set data uji sedangkan pecahan lainnya menjadi set data latih. Prosedur tersebut dilakukan sebanyak k kali sehingga setiap data berkesempatan menjadi data uji tepat satu kali dan menjadi data latih sebanyak k-1 kali (Eko Prasetyo 2014).

2.8.2 Confusion Matrix

Confusion matrix merupakan table yang mencatat hasil kerja klasifikasi.

Tabel 2.1 Matriks confusion untuk klasifikasi 2 kelas

f

ij Kelas hasil prediksi(j)

Kelas = 1 Kelas = 0

Kelas asli (i)

Kelas = 1 f11 f10

Kelas = 0 f01 f00

Contoh confusion matrix yang melakukan klasifikasi masalah biner untuk dua kelas., misalnya kelas 0 dan 1. Setiap sel fij dalam matriks menyatakan jumlah data dari kelas i yang prediksinya masuk ke kelas j. Misalnya sel f11 adalah jumlah data dalam kelas 1 yang secara benar dipetakan ke kelas 1, dan f10 adalah data dalam kelas 1 yang dipetakan secara salah ke kelas 0.

Berdasarkan isi matriks confusion, maka dapat diketahui jumlah data dari masing-masing kelas yang di prediksi secara benar yaitu (f11+f00) dan data yang diklasifikasikan secara salah yaitu(f10+f01).

Kuantitas matriks confusion dapat diringkat menjadi dua nilai yaitu akurasi dan laju error.

Dengan mengetahui jumlah data yang diklasifikasikan secara benar maka dapat diketahui akurasi hasil prediksi dan dengan mengetahui jumlah data yang diklasifikasikan secara salah maka diketahui laju error dari prediksi yang dilakukan. Dua kuantitas ini digunakan sebagai matriks kinerja klasifikasi.(Eka Pasetyo, 2014)

Formula untuk menghitung akurasi adalah sebagai berikut : Akurasi= Jumlah data yang diprediksi secara benar

Jumlah prediksi yang dilakukan * 100% ---(2.9) Akurasi = 𝑓11+𝑓00

𝑓11+𝑓10+𝑓01+𝑓00 *100%

Formula untuk menghitung lanju error (kesalahan prediksi) sebagai berikut : Laju error = Jumlah data yang diprediksi secara salah

Jumlah preddiksi yang di lakukan * 100% ---(2.10) Laju error = 𝑓10+𝑓01

𝑓11+𝑓10+𝑓01+𝑓00 * 100%

17

BAB III

METODOLOGI PENELITIAN

Bab 3 ini berisikan metodologi yang akan digunakan penulis dalam penelitian ini. Pada bagian ini akan menjelaskan proses sistem, sumber data, user interface, peralatan penelitian yang digunakan dan uji akurasi data.

3.1 Sumber Data

Data yang digunakan pada penelitian ini adalah data yang diambil dari web www.kaggle.com (https://www.kaggle.com/iabhishekofficial/mobile-price-classification/version/1) Data yang telah didapatkan berisi data dari penjualan handphone yang di dapat dari berbagai perusahaan.

Nantinya fitur atau atribut ini akan menentukan apakah termasuk dalam handphone dengan harga murah atau mahal. Dari data ini terdapat data testing sebanyak 1000 data yang memiliki 21 atribut dan data training sebanyak 2000 data yang memiliki 20 atribut. Perbedaan data testing dan training terletak pada di data testing tidak ada atribut price range sebagai data label sedangkan di data training ada dan juga aribut id tidak ada di data testing namun di data training tidak ada. Fitur- fitur dan penjelasannya dapat dilihat pada table 3.1

Table 3.1 Atribut harga handphone No Nama Atribut Keterangan

1 ID Nomor

2 Baterry_Power Kapasitas baterai(mAh)

3 Blue Sudah memiliki bluethoot atau tidak

4 Clock_Speed Kecepatan mikroprosesor untuk menjalankan nstruksi(GHz)

5 Dual_Sim Memiliki dua sim atau tidak

6 Fc Ukuran kamera depan(MP)

7 Four_G Sudah memiliki jaringan 4G apa tidak 8 Int_Memory Kapasitas memory internal (GB)

9 M_Dep Ketebalan Handphone(cm)

10 Mobile_wt Berat Handphone(gram)

11 N_Cores Jumlah inti presesor(MB)

12 PC Ukuran kamera utama(MG)

13 Px_height Tinggi resolusi pixel(px) 14 Px_widht Lebar resolusi pixel(px)

15 RAM Random Acces Memory dalam(MB)

16 Sc_H Tinggi layar handphone (cm)

17 Sc_W Lebar layar Handphone (cm)

18 Talk_Time Lamanya waktu bicara untuk menggambarkan durasi penggunaan konstan yang di dukung oleh baterai tunggal yang terisi penuh satuan dalam secon(s)

19 Three_G Sudah 3G atau belum

20 Touch_Screen Sudah layar sentuh atau belum

21 Wifi Sudah ada wifi atau belum

Dalam data ini terdapat 4 kelas label yang akan dikategorikan dapat dilihat sebagai berikut :

Gambar 3.1 Kelas label

Berikut ini contoh 21 atribut data testing yang di dapat dari website www.kaggle.com Tabel 3.2 21 atribut Data Testing

id battery_power blue clock_speed dual_sim fc four_g int_memory m_dep mobile_wt

1 1043 1 1.8 1 14 0 5 0.1 193

2 841 1 0.5 1 4 1 61 0.8 191

3 1807 1 2.8 0 1 0 27 0.9 186

4 1546 0 0.5 1 18 1 25 0.5 96

n_cores pc px_height px_width ram sc_h sc_w talk_time three_g touch_screen wifi

3 16 226 1412 3476 12 7 2 0 1 0

Berikut ini contoh 20 atribut data training beserta label yang di dapat dari website www.kaggle.com

Tabel 3.3 20 atribut Data Training

battery_power blue clock_speed dual_sim fc four_g int_memory m_dep mobile_wt n_cores

842 0 2.2 0 1 0 7 0.6 188 2

pc px_height px_width ram sc_h sc_w talk_time three_g touch_screen wifi price_range

3.1.1 Data yang digunakan

Dalam penelitian ini data yang digunakan hanyalah data yang atributnya telah diseleksi terlebih dahulu menggunakan aplikasi WEKA dengan algoritma info gain dalam menyeleksi data sehingga dari 20 atribut yang digunakan hanya 4 atribut yaitu (Batrerry power, Px height, Px weight dan Ram) yang memiliki bobot tertinggi. Sehingga penulis menggunakan ke 4 atribut tersebut untuk penelitian.

Tabel 3.4 4 atribut yang sudah diseleksi battery_power px_height px_width ram

842 20 756 2549

3.2 Spesifikasi Alat

Perangkat keras yang digunakan dalam penelitian ini adalah laptop LENOVO ThinkPad X230i, dengan spesifikasi sebagai berikut ;

CPU : Intel core i3-3120M, 2.50GHz

RAM : 4GB

HDD : 298GB

Perangkat lunak yang digunakan dalam penelitian ini adalah aplikasi WEKA versi 3.8.5, Matlab versi 2016B dan Windows 10 pro 64-bit

3.3 Tahap Penelitian 3.3.1 Studi kasus

Handphone salah satu alat komunikasi yang tak dapat dipisahkan oleh masyarakat. Dalam kasus ini ketika seorang ingin mendirikan perusahaan handphone sendiri, maka hal yang harus ada sebagai tolak ukur adalah penentuan harga handphone yang akan dijual. Dalam menentukan handphone tersebut termasuk dalam kategori mahal atau murah adalah dilihat dari fitur yang dimiliki dan seberapa jauh hubungan fitur ini dalam menentukan harga handphone.

3.3.2 Penelitian Pustaka

Dalam melakukan penelitian ini penulis mencari dan mengumpulkan data literature yang berkaitan dengan teori-teori yang akan peneliti gunakan dalam meneliti. Literatu ini nantinya digunakan sebagai pendukung dalam proses penelitian ini. Literature yang penulis gunakan berasal dari buku, jurnal ilmiah dan karya ilmiah.

3.4 Skenario Sistem

Proses sistem pada penelitian ini akan diawali dengan data yang akan digunakan, dimana data yang digunakan pada penelitian ini berasal dari website Kaggle yang di ambil pada bulan September 2019. Data tersebut berisi data spesifikasi yang terdapat dalam sebuah Handphone yang berjumlah 2 file csv, file pertama adalah file testing dan file kedua adalah file training.

Di dalam file testing terdapat 21 atribut yaitu (ID, Battery Power, Blue, Clock Speed, Dual sim, fc, Four G, Int Memory, M deep, Mobile wt, N cores, Pc, Px Height, Px Width, Ram, Sc h, Sc w, Talk Time, Three G, Touch Screen dan Wifi) dan di dalam file training terdapat 20 atribut yaitu (Battery Power, Blue, Clock Speed, Dual sim, fc, Four G, Int Memory, M deep, Mobile wt, N cores, Pc, Px Height, Px Width, Ram, Sc h, Sc w, Talk Time, Three G, Touch Screen dan Wifi) dan kelas label nya bernama Price range. Dari semua atribut data termasuk atribut berjenis numerik.

Sebelum proses berlanjut data akan di ubah menjadi bentuk excel dengan format .xls, selanjutnya data mentah ini akan dilakukan tahap preprocessing. Data yang diperoleh akan dilakukan seleksi atribut menggunakan aplikasi WEKA dengan menggunakan algoritma info gain untuk mendapatkan atribut terbaik dari 20 atribut yang akan diuji. Dari hasil seleksi diperoleh sebanyak 4 atribut terbaik yaitu (Battery Power, Px Height, Px Width dan Ram).

Dimana data yang digunakan adalah data yang memiliki bobot paling tinggi dari atribut yang lain yang telah diseleksi menggunakan system. Lalu data yang telah dipilih atributnya akan diproses ke tahap selanjutnya yaitu proses normalisasi data. Metode yang digunakan pada penelitian ini adalah metode tanpa normalisasi, Min-Max dan Z-score.

Setelah tahap pre-processing tahap selanjutnya adalah klasifikasi menggunakan metode K-Nearest Neighbour. Adapun algoritma dari K-K-Nearest Neighbour adalah :

1. Mulai input data training, label data training , k, data testing 2. Hitung jarak dari semua data testing ke setiap data training

3. Lalu tentukan berapa nilai k dari data training yang jaraknya paling dekat dengan data testing.

4. Periksa label dari data yang diperoleh dengan nilai jarak terdekat berdasakan nilai k yang telah ditentukan

5. Tentukan label yang frekuensinya paling banyak dari data yang dipeoleh sejumlah nilai k

6. Masukkan data testing ke kelas dengan frekuensi paling banyak.

7. Lalu proses klasifikasi akan berakhir.

Setelah proses klasifikasi selesai maka langkah selanjutnya menghitung nilai evaluasinya menggunakan metode k-fold cross validation dan confusion matrix. Dari hasil nilai evaluasi

yang telah dihitung dari berbagai percobaan maka dapat ditentukan variasi mana yang menghasilkan klasifikasi yang paling optimal. Hasil paling optimal dilihat dari nilai confusion matrix nya semakin mendekati angka 1 maka hasil itu akan dikatakan terbaik dan tepat.

Pada penelitian menggunakan metode K-Nearest Neighbour ini peneliti melakukan percobaan dengan mengkombinasikan setiap variasi normalisasi, jumlah tetangga, variasi jarak, dan juga variasi k-fold untuk mendapat hasil yang paling optimal dan terbaik. Percobaan perhitungan menggunakan variasi non-normalisasi, Min-Max dan Z-Score. Percobaan jumlah tetangga menggunakan k =3,5,7 dan 9. Proses perhitungan jarak dilakukan menggunakan percobaan dengan variasi Euclidean distance dan Manhattan distance. Dan hasil evaluasi menggunakan percobaan perhitungan menggunakan 3-fold cross validation dan 5-fold cross validation.

3.5 Proses Sistem

Dalam tahap ini system akan dirancang sebagai berikut :

Gambar 3.2 Proses Sistem

3.5.1 Data

Data yang penulis peroleh dari website kaggle berisi 2 file csv file pertama berisi data teting file kedua berisi data training yang akan di ubah kedalam bentuk file excel dengan format .xls. Pada file testing berisi 21 atribut dan file training berisi 20 atribut dan kelas label yang keseluruhan data nya bertipe numerik dapat dilihat di table 3.2 Tabel 21 atribut Data Testing dan Tabel 3.3 Tabel 21 atribut Data Training

3.5.2 Pre-processing

Data yang sudah di dapat akan dipreprocessing dahulu sebelum dapat di klasifikasi. Berikut tahapan yang penulis gunakan dalam preprocessing

a. Seleksi data

Pada tahap seleksi data, dilakukan penghapusan beberapa atribut yang tidak digunakan dalam penelitian, atribut yang dihapus yaitu : ID, blue, clock speed, dual sim, fc, four g, int memory, m dep, mobile wt, n cores, pc, sc h, sc w, talk time, three g dan touch screen. Pada tahap seleksi ini penulis menggunakan aplikasi WEKA dengan menggunakan fungsi Select attributes dan menggunakan algoritma InfoGainAttributesEval hasil yang diperoleh seperti pada gambar berikut :

Gambar 3.3 Hasil seleksi atribut menggunakan WEKA

Pada percobaan menggunakan sistem terdapat 4 atribut yang memiliki bobot, yang mana atribut yang terpilih merupakan atribut pilihan terbaik dalam menentukan harga handphone sehingga penulis memilih atribut tersebut untuk dijadikan data uji dalam penelitian.

Tabel 3.5 Atribut yang digunakan

battery_power px_height px_width ram prize_range

1954 512 1149 700 0

838 984 1850 3554 3

842 20 756 2549 1

1021 905 1988 2631 2

563 1263 1716 2603 2

1445 386 836 1099 0

1821 1208 1212 1411 1

Pada tahap ini data yang telah diseleksi dan dibersihkan akan ditransformasikan.

Transformasi data dilakukan dengan cara menormalisasikan data menggunakan normalisasi min max dan z-score agar jarak antar atribut tidak terlalu jauh. Berikut contoh bentuk normalisasi data menggunakan min max dan z score

Table 3.6 Setelah normalisasi menggunakan min max battery_power px_height px_width ram prize_range

0,99 0,396 0,4112 0,092 0

0,07 0,962 0,8582 0,671 2

Tabel 3.7 Setelah normalisasi menggunakan z-score battery_power px_height px_width ram prize_range

1,37 -0,325 -0,169 -1,3111 0

-1,26 1,356 -0,007 -1,471 0

Pada tahap ini akan dilakukan klasifikasi menggunakan metode K-Nearest Neighbor. Dari data pada tabel 3.6 Tabel setelah normalisasi menggunakan min-max. Berikut langkah-langkah proses klasifikasi menggunakan metode k-nearest neighbour dengan menggunakan normalisasi min-max dan Euclidean distance

a. Membagi data menjadi data testing dan data training menggunakan 5-fold cross validation.

Tabel 3.8 Data training menggunakan min-max No battery_power px_height px_width ram prize_range

1 0,99 0,396 0,4112 0,092 0

20 0 0,899 0,4639 0,039 0

Tabel 3.9 Data testing

No battery_power px_height px_width ram prize_range

21 0,96 0,682 0,7502 0,751 3

22 0 0,372 0,134 0,992 3

23 1 0,72 0,9839 0,464 2

24 0,05 0,178 0,2042 0,621 1

25 0,69 0,254 0,0751 0,139 0

b. Lalu hitung nilai jarak data training dengan data testing menggunakan incluedian distance Perhitungan jarak pada data testing no 21 dengan data training no 1

= √(0,96 βˆ’ 0,99)2+ (0,682 βˆ’ 0,396)2+ (0,682 βˆ’ 0,396)2+ (0,751 βˆ’ 0,092)2

= 0,796

Perhitungan jarak pada data testing no 21 dengan data training no 2

= √(0,96 βˆ’ 0,23)2+ (0,682 βˆ’ 0,776)2+ (0,7502 βˆ’ 0,9032)2+ (0,751 βˆ’ 0,89)2

= 0,771

Perhitungan jarak pada data testing no 21 dengan data training no 3

= √(0,96 βˆ’ 0,23)2+ (0,682 βˆ’ 0)2+ ( 0,7502 βˆ’ 0,1354)2+ (0,751 βˆ’ 0,609)2

= 1,184

Perhitungan jarak pada data testing no 21 dengan data training no 4

= √(0,96 βˆ’ 0,35)2+ (0,682 βˆ’ 0,712)2+ ( 0,7502 βˆ’ 1)2+ (0,751 βˆ’ 0,632)2

= 0,672

Perhitungan jarak pada data testing no 21 dengan data training no 5

= √(0,96 βˆ’ 0,04)2+ (0,682 βˆ’ 1)2+ ( 0,7502 βˆ’ 0,8091)2+ (0,751 βˆ’ 0,624)2

= 0,989

Perhitungan jarak pada data testing no 21 dengan data training no 6

= √(0,96 βˆ’ 0,64)2+ (0,682 βˆ’ 0,294)2+ ( 0,7502 βˆ’ 0,1916)2+ (0,751 βˆ’ 0,203)2

= 0,93

Perhitungan jarak pada data testing no 21 dengan data training no 7

= √(0,96 βˆ’ 0,9)2+ (0,682 βˆ’ 0,956)2+ ( 0,7502 βˆ’ 0,4554)2+ (0,751 βˆ’ 0,291)2

= 0,615

Perhitungan jarak pada data testing no 21 dengan data training no 8

= √(0,96 βˆ’ 0,9)2+ (0,682 βˆ’ 0,472)2+ ( 0,7502 βˆ’ 0,1298)2+ (0,751 βˆ’ 0,31)2

= 0,792

Perhitungan jarak pada data testing no 21 dengan data training no 9

= √(0,96 βˆ’ 0,9)2+ (0,682 βˆ’ 0,29)2+ ( 0,7502 βˆ’ 0,3193)2+ (0,751 βˆ’ 0,797)2

= 0,587

Perhitungan jarak pada data testing no 21 dengan data training no 10

= √(0,96 βˆ’ 0,07)2+ (0,682 βˆ’ 0,962)2+ ( 0,7502 βˆ’ 0,8582)2+ (0,751 βˆ’ 0,671)2

= 0,943

Perhitungan jarak pada data testing no 21 dengan data training no 11

= √(0,96 βˆ’ 0,93)2+ (0,682 βˆ’ 0,27)2+ ( 0,7502 βˆ’ 0)2+ (0,751 βˆ’ 0)2

= 1,139

Perhitungan jarak pada data testing no 21 dengan data training no 12

= √(0,96 βˆ’ 0,18)2+ (0,682 βˆ’ 0,677)2+ ( 0,7502 βˆ’ 0,913)2+ (0,751 βˆ’ 0,055)2

= 1,059

Perhitungan jarak pada data testing no 21 dengan data training no 13

= √(0,96 βˆ’ 0,43)2+ (0,682 βˆ’ 0,513)2+ ( 0,7502 βˆ’ 0,2211)2+ (0,751 βˆ’ 0,409)2

= 0,844

Perhitungan jarak pada data testing no 21 dengan data training no 14

= √(0,96 βˆ’ 0,69)2+ (0,682 βˆ’ 0,105)2+ ( 0,7502 βˆ’ 0,3102)2+ (0,751 βˆ’ 0,966)2

= 0,803

Perhitungan jarak pada data testing no 21 dengan data training no 15

= √(0,96 βˆ’ 0,2)2+ (0,682 βˆ’ 0,261)2+ ( 0,7502 βˆ’ 0,6154)2+ (0,751 βˆ’ 0,646)2

= 0,887

Perhitungan jarak pada data testing no 21 dengan data training no 16

= √(0,96 βˆ’ 0,18)2+ (0,682 βˆ’ 0,183)2+ ( 0,7502 βˆ’ 0,2182)2+ (0,751 βˆ’ 1)2

= 1,099

Perhitungan jarak pada data testing no 21 dengan data training no 17

= √(0,96 βˆ’ 0,93)2+ (0,682 βˆ’ 0,792)2+ ( 0,7502 βˆ’ 0,7656)2+ (0,751 βˆ’ 0,194)2

= 0,569

Perhitungan jarak pada data testing no 21 dengan data training no 18

= √(0,96 βˆ’ 0,31)2+ (0,682 βˆ’ 0,218)2+ ( 0,7502 βˆ’ 0,6112)2+ (0,751 βˆ’ 0,674)2

= 0,816

Perhitungan jarak pada data testing no 21 dengan data training no 19

= √(0,96 βˆ’ 0,06)2+ (0,682 βˆ’ 0,339)2+ ( 0,7502 βˆ’ 0,1733)2+ (0,751 βˆ’ 0,946)2

= 1,143

Perhitungan jarak pada data testing no 21 dengan data training no 20

= √(0,96 βˆ’ 0)2+ (0,682 βˆ’0,899)2+ ( 0,7502 βˆ’0,4639)2+(0,751 βˆ’ 0,039)2

= 1,25

Setelah menghitung jarak data testing no 21 ke semua data training lakukan perhitungan jarak data testing lainnya terhadap semua data training. Maka akan di dapat hasil dari perhitungan data testing terhadp data training yaitu terlihat pada table berikut :

Tabel 3.10 Hasil nilai jarak data testing terhadap data training

NO

c. Kemudian tentukan data dengan jarak terdekat sebanyak k. Sebagai contoh, nilai k yang akan digunakan yaitu k = 3. Berikut hasil

Tabel 3.11 KNN dengan k = 3

d. Lalu tentukan label berdasarkan kelas yang paling banyak muncul, jika data kelas beda semua maka pilih jarak yang paling dekat dengan testing.

Tabel 3.12 Hasil klasifikasi KNN K = 3

TES 1 TES2 TES 3 TES 4 TES 5

1 3 1 3 0

3.5.4 Evaluasi

Evaluasi dalam penelitian ini menggunakan k-fold cross validation dan uji akurasi menggunakan confusion matrix. Setelah penambangan data dilakukan menggunakan metode knn kemudian dilakukan uji akurasi.

Tabel 3.13 Confussion matrix

Confusion Matrix (K = 3) Kelas Hasil Prediksi

0 1 2 3

Akurasi data yang salah = 3

5 * 100% = 60%

Data di atas menunjukan dari 25 data akurasi yang diperoleh sebanyak 40%, akurasi ini merupakan akurasi fold pertama dari 5-fold cross validation. Berikut hasil perhitungan menggunakan confusion matrix dari setiap model data menggunakan keseluruhan fold dalam 5 –fold cross validation.

Tabel 3.14 Nilai akurasi 5-fold cross validation

Hasil nilai rata-rata akurasi : Akurasi = 40+20+60+80+40

3.6 Desain User Interface

Gambar 3.4 User interface klasifikasi harga handphone menggunakan KNN

Gambar 3.5 merupakan desain dari user interface yang dirancang dengan tujuan pengguna dapat menggunakan dan mengoperasikan sistem dengan lebih baik dan mudah. User pertama kali akan menekan tombol β€œInput Data” pada tombol sebelah kiri dan menekan tombol β€œInput Data Non Label” untuk memasukkan data yang akan diseleksi. Pada bagian β€œTrain Test Classification” adalah metode yang digunakan dalam klasifikasi dan hasil akurasi yang didapat dari klasifikasinya.

3.7 Pembuatan Program

Pada tahap ini rancangan system yang telah dibuat akan diimplementasikan kedalam bentuk kode dengan menggunakan bahasa pemrograman Matlab.

35

BAB IV

IMPLEMENTASI DAN ANALISIS

Bab 4 ini akan dibahas mengenai hal-hal yang terkait dengan hasil implementasi system dari klasifikasi harga handphone yang telah dirancang dan diuji serta analisis pengujian dari penelitian ini.

4.1 Data

Data yang digunakan dalam penelitian ini adalah data harga handpone yang didapat dari website www.kaggle.com terdapat 20 atibut dan kelas label. Data yang diperoleh dilakukan seleksi atribut terlebih dahulu menggunakan aplikasi WEKA proses selanjutnya adalah proses preprocessing yaitu dengan melakukan normalisasi data. Kemudian setelah melalui proses preprocessing dilakukan proses classification dengan menggunakan metode K-Nearest Neighbor.

4.2 Implementasi Sistem

Proses sistem diawali dengan menginput data, normalisasi data, pemilihan perhitungan jarak, pemilihan jumlah tetangga, pemilihan perhitungan jumlah fold dan mengetahui hasil akurasi.

4.2.1 Input Data

Gambar 4.1 Input data atribut handphone

Gambar 4.1 merupakan proses input data yang diawali dengan menekan tombol β€œinput data”

berada disebelah kiri tabel, setelah itu akan tampil jendela file explore lalu pilih file yang akan digunakan, pada sistem input ini menggunakan file dengan format excel *.xls yang akan ditampilkan pada tabel.

Gambar 4.2 Input data non label

Selanjutnya input data handphone yang tidak memiliki label, format file harus sama yaitu excel *.xls. Pada input ini sistem hanya membaca file yang bertipe .xls saja. Untuk memilih data yang akan digunakan penulis menggunkan fungsi getFile dan file yang akan dibaca adalah bertipe .xls menggunakan method xlread() selain file bertipe itu akan terjadi kesalahan atau sistem error.

Gambar 4.3 Source Code Input data

4.2.2 Preprocessing (Normalisasi)

Setelah berhasil input data selanjutnya adalah tahap normalisasi. Pada tahap ini penulis menggunakan 3 variasi yaitu tanpa normalisasi, min-max dan z-score.

Gambar 4.4 Gui Normalisasi

Dalam memanggil fungsi dari normalisasi ini penulis terlebih dahulu membuat kelas normalisasi min-max dan kelas z-score yang berisi rumus dari normalisasi tersebut. Pada codingan normalisasi min-max nantinya hasil dari perhitungan akan masuk kedalam kelas minMaxNorm selanjutnya akan dimasukkan ke dalam function NormData. Begitu juga

dengan normalisasi z-score akan dimasukkan ke dalam kelas zscore yang nantinya akan dimasukkan ke dalam function NormData. Data yang tadinya memiliki rentang yang berbeda selanjutnya akan di normalisasi menjadi rentang 0-1 dengan menggunakan rumus normalisasi min-max dan z-score

Gambar 4.5 Source Code Min-max normalisasi

Gambar 4.6 Source Code Z-score normalisasi

4.2.3 K-Nearest Neighbour

Selanjutnya ketika sudah melalui tahap normalisasi maka data akan memiliki rentang 0-1 lanjut ke tahap berikutnya yaitu penambangan data. Pada tahap penambangan data akan menggunakan algoritma K-Nearest Neighbour dalam proses ini yang akan dilakukan adalah memilih jumlah tetangga terdekat dan memilih jarak. Sebelumnya data akan dipisah menjadi data training dan data testing lalu akan dilakukan proses penambangan.

Gambar 4.7 Source code memisah data Training dan data Testing

Gambar 4.8 GUI K-Nearest Neighbor

a. Distance

Ketika data sudah dibagi menjadi data testing dan training maka tahap selanjutnya adalah menghitung jarak antar data testing dan training menggunakan Euclidean Distance atau Manhattan Distance pada tahap ini nantinya hasil dari perhitungan akan dimasukkan ke dalam matrix yang bermana matrix distance

Gambar 4.9 Source code Euclidean Distance

Gambar 4.10 Source code Manhattan Distance

Gambar 4.11 Source code Matrix distance

b. Jumlah Tetangga (k)

Setelah menemukan hasil dari jarak antara data testing dan training maka tahap selanjutnya menentukan jumlah tetangga terdekat. Pada tahap ini jumlah tetangga yang dipilih memiliki variasi yang berbeda yaitu 3,5,7,9. Penulis tidak menggunakan variasi tetangga dengan jumlah genap karena mungkin saja jumlah pola terdekat pada kelas label sama sehingga algoritma ini kesulitan dalam melakukan klasifikasi (tidak ada cara lain selain memilih kelas label secara acak) pada tahap ini tetangga akan dipilih sesuai dengan dialog box yang telah tersedia.

Gambar 4.12 Source code Tetangga

Gambar 4.13 GUI Jumlah Tetangga

4.2.4 Evaluasi

Proses evaluasi menggunakan K-Fold Cross Validation dengan membagi data menjadi n-fold di pada tahap ini data training dan testing akan dibagi menjadi beberapa bagian tergantung dari jumlah fold yang akan digunakan.

a. K-Fold Cross Validation

Gambar 4.14 Source code k-fold cross validation

b. Akurasi Menggunakan Confussion Matrix

Setelah membagi menjadi n-fold maka selanjutnya menghitung akurasi menggunakan metode Confussion Matrix. Hasil dari perhitungan akan dimasukkan ke dalam kelas accuracy

Gambar 4.15 Source code Confusion matrix

Gambar 4.16 GUI akurasi dan hasil

4.2.5 Data tanpa Label

Pada tahap ini data akan di label dengan menggunakan perhitungan yang sama dengan perhitungan hasil akurasi. Pada bagian ini hasil akan di proses dengan memanggil kelas knn2 dimana dalam kelas ini sudah terdapat perhitungan klasifikasi, sehingga hasil yang akan keluar adalah hasil dari kategori kelas tersebut.

Gambar 4.17 Source code input tanpa label

Gambar 4.18 Data non label

4.3 Proses Klasifikasi

Proses diawali dengan menginput data lalu user akan memilih metode normalisasi dan memilih jarak k yang akan digunakan, setelah itu user memilih variasi distance diantaranya Euclidean Distance dan Manhattan Distance. Yang terakhir adalah memilih berapa fold yang akan digunakan. User akan menekan tombol β€œRun” dan hasil yang akan muncul adalah berupa angka akurasi sesuai dengan fold yang diinginkan. Terlihat perbandingan antara hasil akurasi 3 fold cross validation dan 5-fold cross validation pada gambar

Gambar 4.19 Hasil dengan 3-Fold Cross Validation

Gambar 4.19 Hasil dengan 3-Fold Cross Validation

Dokumen terkait