i
ALGORITMA K-NEAREST NEIGHBOUR UNTUK KLASIFIKASI HARGA HANDPHONE
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Informatika
Oleh:
VERONICA MEIDITA SETYANI 165314037
PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2021
ii
K-NEAREST NEIGHBOUR ALGORITHM FOR MOBILE PHONE PRICE CLASSIFICATION
THESIS
Present as Partial Fullfillment of the Requirement To Obtain the Sarjana Komputer Degree
In Informatics Study Program
By:
VERONICA MEIDITA SETYANI 165314037
INFORMATICS STUDY PROGRAM
FACULITY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
YOGYAKARTA
2021
iii
iv
v
HALAMAN PERSEMBAHAN
“Tidak ada yang tidak mungkin, semua pasti ada jalan nya hanya saja perlu kesabaran dan proses yang matang untuk mencapainya”
Karya ini penulis persebahkan untuk
KELUARGA PENULIS
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dangan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagain karya orang lain, kecuali yang sudah saya sebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 24 Januari 2022 Penulis,
Veronica Meidita Setyani
vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Saya yang bertanda tangan di bawah ini saya mahasiswa Universitas Sanata Dharma Yogyakarta :
Nama : Veronica Meidita Setyani
Nim : 165314037
Demi kepentingan pengembangan Ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma Yogyakarta karya ilmiah saya dengan judul:
ALGORITMA K-NEAREST NEIGHBOUR UNTUK KLASIFIKASI HARGA HANDPHONE
Dengan demikian saya memberikan wewenang untuk Perpustakaan Universitas Sanata Dharma Yogyakarta untuk menyimpan, mengalihkan dalam bentuk media lain, serta mengelolanya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin dan memberikan royalty kepada saya selama tetap menyantumkan nama saya sebagai penulis karya ilmiah.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 24 Januari 2022 Penulis,
Veronica Meidita Setyani
viii
ABSTRAK
Handphone merupakan benda yang paling banyak dicari dan memiliki berbagai macam fitur di dalamnya. Handphone sangat penting untuk kehidupan masyarakat saat ini.
Perusahaan handphone yang belum cukup besar terkadang bingung untuk menentukan termasuk dalam golongan mahal atau murah handphone yang akan dijual ke konsumen.
Penelitian ini mencoba untuk mengklasifikasi dari berbagai jenis fitur yang ada di handphone akan dikelompokkan untuk mengetahui termasuk tingkat harga murah atau mahal sebuah handphone tersebut. Akan diambil empat fitur sebagai penentu apakah handphone itu termasuk tingkat harga murah atau mahal. Metode yang akan digunakan dalam penelitian ini adalah metode Classificasion dengan algoritma K-Nearest Neighbor.
Jumlah data yang digunakan adalah 2000 data. Menggunakan pendekatan jarak Euclidean dan Manhattan. Nilai akurasi dari hasil klasifikasi akan menggunakan metode confusion matrix.
Dari hasil percobaan yang telah dilakukan, rata-rata akurasi tertinggi pada percobaan 5-fold cross validation tanpa normalisasi yaitu 92,15% dan yang paling rendah yaitu percobaan menggunakan 3-fold cross validation normalisasi Z-Score dengan akurasi 88,59%. Dalam hal ini metode K-Nearest Neighbour baik dalam pengklasifikasian harga handphone.
Kata kunci: Klasifikasi, K-Nearest Neighbour, Handphone, confusion matrix
ix
ABSTRACT
Mobile phones is the most sought after object and have a variety of features in them. Mobile phones are very important for people's lives today. Mobile phone companies that are not big enough are sometimes confused to determine including the group of expensive or cheap mobile phones that will be sold to consumers.
This research tries to classify the various types of features in mobile phones will be grouped to find out including the level of cheap or expensive price of a mobile phone. It will take four features to determine the phone includes the price level is cheap or expensive. The method that will be used in this research is the Classification method with the K-Nearest Neighbor algorithm. The amount of data used is 2000 data. It uses euclidean and manhattan distance approaches. The accuracy value of the classification results will use the confusion matrix method.
From the results of experiments that have been conducted, the highest average accuracy on 5-fold cross validation experiments without normalization is 92.15% and the lowest is the experiment using 3-fold cross validation normalization Z-Score with an accuracy of 88.59%. in this case, the K-Nearest Neighbour method is good in classifying the price of mobile phones.
Keywords: Classification, K-Nearest Neighbour, Mobile, confusion matrix
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala rahmat dan berkat yang telah diberikan sehingga penulis dapat menyelesaikan tugas akhir yang berjudul
“
ALGORITMA K-NEAREST NEIGHBOUR UNTUK KLASIFIKASI HARGA HANDPHONE
”.Dalam penulisan karya ilmiah ini penulis juga tidak lupa mengucapkan terima kasih kepada seluruh pihak yang telah turut membantu dan juga memberi semangat dalam pengerjaan karya ini.
Ucapan terima kasih penulis ucapkan kepada:
1. Tuhan Yesus Kristus yang selalu memberi berkat serta karunia-Nya yang melimpah sehingga mempermudah dalam mengerjakan tugas akhir ini.
2. Keluarga, Papa, Mama,Adik dan Mas yang penulis kasihi
3. Bapak Prof. Ir. Sudi Mungkasi, Ph.D., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
4. Bapak Robertus Adi Nugroho, S.T., M.Eng. selaku Dosen Pembimbing Akademik dan Ketua Program Studi Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma.
5. Romo Cyprianus Kuntoro Adi, S.J., M.A., M.Sc., Ph.D. Dosen Pembimbing yang selalu menyemangati penulis dalam mengerjakan skripsi.
6. Edwita Ristyan selaku partner dalam kehidupan penulis
7. Sahabat penulis Shevika Skolastika, Aprelia Hana dan Yesika Kristalisa yang selalu memberikan dukungan agar penulis semangat dalam mengerjakan skripsi
8. Sahabat kuliah penulis The crips (Albi, Ega, Ferdi, Iwan, Johan, Josphine, Kevin, Ricky, Yan, dan Yos) yang telah membantu penulis dalam mengerjakan skripsi
9. Yos Rio Puraga selaku teman dan mentor penulis dalam menyusun tugas akhir
10. Romo Tomi Subarjo SJ, Romo Thomas Septi SJ dan Teman –teman Kotabaru yang tidak lelah untuk memberi dukungan kepada penulis agar dapat menyelesaikan skripsi.
11. Seluruh teman dan keluarga yang mendukung penulis
xi
Penulis menyadari masih banyak kekurangan dalam penulisan tugas akhir ini, oleh karena itu penulis mengharapkan kritik dan saran yang bermanfaat untuk penulisan selanjutnya semoga penelitian ini dapat berguna bagi pembaca, terutama teman-teman informatika dan juga semua pembaca
Yogyakarta, 24 Januari 2022 Penulis
Veronica Meidita Setyani
xii
DAFTAR ISI
JUDUL ... i
TITLE ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... v
PERNYATAAN KEASLIAN KARYA ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR TABEL ... xv
DAFTAR GAMBAR ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Penelitian ... 2
1.4 Manfaat Penelitian ... 3
1.5 Batasan Masalah ... 3
1.6 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 5
xiii
2.1 Data Mining ... 5
2.2 Fungsi Data Mining ... 6
2.3 Teknik Pembelajaran Data Mining ... 7
2.4 Klasifikasi ... 9
2.5 Information Gain ... 10
2.5.1 Entropy ... 10
2.5.2 Information Gain ... 10
2.6 Normalisasi Data ... 11
2.6.1 Normalisasi Min-Max ... 12
2.6.2 Normalisasi Z-Score ... 12
2.7 K-Nearest Neighbour ... 12
2.8 Evaluasi dan Validasi ... 14
2.8.1 K-Fold Cross Validation ... 14
2.8.2 Confusion Matrix ... 15
BAB III METODE PENELITIAN ... 17
3.1 Sumber Data ... 17
3.1.1 Data yang digunakan ... 20
3.2 Spesifikasi Alat ... 21
3.3 Tahap Penelitian ... 21
3.3.1 Studi Kasus ... 21
3.3.2 Penelitian Pustaka ... 21
3.4 Skenario Sistem ... 21
3.5 Proses Sistem ... 23
3.5.1 Data ... 23
3.5.2 Pre-processing ... 23
3.5.3 K-Nearest Neighbour ... 27
3.5.4 Evaluasi ... 33
3.6 Desain User Interface ... 34
3.7 Pembuatan Program ... 34
BAB IV IMPLEMENTASI DAN ANALISIS ... 35
xiv
4.1 Data ... 35
4.2 Implementasi Sistem ... 35
4.2.1 Input data ... 35
4.2.2 Pre-processing(Normalisasi) ... 36
4.2.3 K-Nearest Neighbour ... 37
a. Distance ... 38
b. Jumlah Tetangga ... 39
4.2.4 Evaluasi... 39
a. K-Fold Cross Validation ... 39
b. Akurasi menggunakan Confussion matrix ... 39
4.2.5 Data tanpa Label ... 40
4.3 Proses Klasifikasi ... 41
4.4 Uji Validasi ... 42
4.5 Perbandingan nilai Confusion Matrix pada 3-Fold dan 5-fold ... 44
BAB V KESIMPULAN ... 48
5.1 Kesimpulan ... 48
5.2 Saran ... 48
DAFTAR PUSTAKA ... 49
xv
DAFTAR TABEL
Tabel 2.1 Matriks confusion untuk klasifikasi 2 kelas ... 15
Table 3.1 Atribut harga handphone ... 17
Tabel 3.2 21 atribut data testing ... 18
Tabel 3.3 20 atribut data training ... 19
Tabel 3.4 4 atribut yang sudah diseleksi ... 20
Tabel 3.5 Atribut yang digunakan ... 24
Table 3.6 Setelah normalisasi menggunakan min max ... 25
Tabel 3.7 Setelah normalisasi menggunakan z-score ... 26
Tabel 3.8 Data Training menggunakan min-max ... 27
Tabel 3.9 Data testing ... 28
Tabel 3.10 Hasil nilai jarak data testing terhadap data training ... 31
Tabel 3.11 KNN dengan k = 3 ... 32
Tabel 3.12 Hasil klasifikasi KNN ... 32
Tabel 3.13 Confussion matrix ... 33
Tabel 3.14 Nilai akurasi 5-fold cross validation ... 33
Tabel 4.1 Nilai Confusion Matrix pada 3-fold dan 5-fold ... 44
Tabel 4.2 Akurasi Terendah dan Tertinggi 3 fold dan 5 fold ... 47
xvi
DAFTAR GAMBAR
Gambar 2.1 Proses KDD ... 5
Gambar 2.2 Proses klasifikasi ... 9
Gambar 2.3 KNN dengan nilai K tetangga (a) 1-NN; (b) 3-NN;(c) 5-NN;(d) 7-NN ... 13
Gambar 2.4 Cross validation dengan 5-Fold Cross Validation ... 15
Gambar 3.1 Kelas Label ... 18
Gambar 3.2 Proses Sistem ... 23
Gambar 3.3 Hasil seleksi atribut menggunakan WEKA ... 24
Gambar 3.4 User interface klasifikasi harga handphone menggunakan KNN ... 34
Gambar 4.1 Input data atribut handphone ... 35
Gambar 4.2 Input data non label ... 36
Gambar 4.3 Source code Input data ... 36
Gambar 4.4 Gui normalisasi ... 36
Gambar 4.5 Source code min-max normalisasi ... 37
Gambar 4.6 Source code z-score normalisasi... 37
Gambar 4.7 Source code memisah data Training dan data Testing ... 38
Gambar 4.8 GUI K-Nearest Neighbor ... 38
Gambar 4.9 Source code Euclidean Distance ... 38
Gambar 4.10 Source code Manhattan Distance ... 38
Gambar 4.11Source code Matrix distance ... 39
Gambar 4.12 Source code Tetangga ... 39
xvii
Gambar 4.13 GUI Jumlah Tetangga ... 39
Gambar 4.14 Source code k-fold cross validation ... 39
Gambar 4.15 Source code Confusion matrix ... 40
Gambar 4.16 GUI akurasi dan hasil ... 40
Gambar 4.17 Source code input tanpa label ... 40
Gambar 4.18 Data non label ... 41
Gambar 4.19 Hasil dengan 3-Fold Cross Validation ... 41
Gambar 4.20 Hasil dengan 5-Fold Cross Validation ... 42
Gambar 4.21 Euclidean distance menggunakan z-score normaliasi hitung manual ... 42
Gambar 4.22 Euclidean distance menggunakan z-score normaliasi dengan sistem ... 43
Gambar 4.23 Perhitungan k = 3 hitungan manual 1-Fold Cross Validation ... 43
Gambar 4.24 Perhitungan k= 3 jarak terdekat dengan sistem ... 43
Gambar 4.25 Grafik akurasi keseluruhan ... 46
Gambar 4.26 Grafik Akurasi non-normalisasi, min-max dan z-score keseluruhan ... 47
1
BAB I
PENDAHULUAN 1.1 Latar Belakang Masalah
Di zaman yang modern ini, semua pastinya memiliki alat untuk berkomunikasi satu sama lain. Contoh alat komunikasi yang paling sering digunakan dalam kehidupan sehari-hari yaitu handphone. Alat ini lebih praktis di bawa dan dipakai, biasanya kegunaan dari alat ini selain untuk berkomunikasi juga untuk mengakses informasi dari dunia luar melalui internet. Saat ini berbagai macam produk handphone dapat kita jumpai di toko handphone dan juga perusahaan yang bergerak di dalam bidang komunikasi. Berbagai macam jenis handphone yang ditawarkan sebanding dengan fitur yang terdapat di dalam handphone antara lain fitur kamera, bluethooth, wifi dan touch screen. Namun beberapa dari perusahaan handphone yang belum cukup besar kesulitan dalam mengkategorikan handphone yang akan mereka jual nantinya apakah termasuk dalam golongan murah atau mahal berdasarkan fitur yang dimiliki dari sebuah handphone.
Dalam membantu permasalahan ini peneliti akan menggunakan metode K-Nearest Neighbor untuk memprediksi harga handphone. Peneliti menggunakan metode ini karena pada dasarnya metode ini merupakan metode yang sangat populer yang sudah ada sejak lama dan termasuk dalam metode yang sederhana karena tidak memerlukan parameter yang rumit sehingga dapat dengan mudah dipahami. Konsep dari metode ini sendiri adalah mengklasifikasi dengan cara voting yaitu mencari sejumlah k objek data atau pola (dari semua pola latih yang ada) yang paling dekat dengan pola masukan, kemudian memilih kelas dengan jumlah pola terbanyak diantara k pola tersebut. Cara memprediksi ini dapat dilakukan dengan salah satu ilmu komputer yaitu Data Mining. Dalam pengertiannya Data Mining sendiri adalah langkah analisis terhadap proses penemuan pengetahuan di dalam basis data atau knowledge discovery in database yang disingkat KDD (Fayyad et al. 1996). Penelitian ini mengunakan data Mobile Price yang di dapat dari website www.kaggle.com. Peneliti menggunakan data handphone karena saat ini handphone merupakan alat yang paling penting yang dimiliki oleh seluruh lapisan masyarakat di era kemajuan teknologi. Selain banyak kegunakan yang ditawarkan dari sebuah handphone, alat ini sangat digemari dan digunakan oleh masyarakat karena bentuknya yang praktis dan mudah untuk dibawa.
Berdasarkan penelitian yang telah dilakukan sebelumnya oleh Sumarno Hadi Putra dan Barzan Trio Putra (2018) dalam seminar riset tahunannya yang berjudul Klasifikasi Harga Cell Phone menggunakan Metode K-Nearest Neighbor (KNN), di dapat akurasi mencapai 82% dengan menggunakan metode Mikowski dalam perhitungan jarak kemiripan dan menggunakan 11 atribut dalam variable predsiksi. Yang membedakan dengan penelitian sebelumnya adalah penelitian ini menggunakan 4 atribut yang sudah diseleksi melalui aplikasi WEKA, dalam perhitungan jarak penelitian ini menggunakan 2 variasi metode yaitu Euclidean distance dan Manhattan distance.
1.2 Rumusan Masalah
Bedasarkan latar belakang masalah yang telah dikemukakan, rumusan masalah yang akan diselesaikan adalah :
1. Bagaimana pendekatan algoritma K-Nearest Neighbor mampu mengklasifikasikan harga Handphone dengan baik?
2. Fitur apa yang relevan dan tidak relevan digunakan untuk mencari hasil yang terbaik dalam memprediksi harga Handphone?
3. Berapakah rata-rata keseluruhan akurasi dari hasil pengklasifikasian algoritma K-Nearest Neighbor dengan menggunakan 3-fold cross validation dan 5-fold cross validation dalam memprediksi harga Handphone?
1.3 Tujuan Penelitian
Berdasarkan rumusan masalah yang telah di uraikan, maka tujuan penelitian ini adalah : 1. Mengimplementasikan algoritma K-Nearest Neighbor dalam pengklasifikasian harga
Handphone
2. Untuk mengetahui fitur apa yang layak digunakan untuk mencari hasil yang terbaik dalam menentukan Handphone.
3. Untuk mengetahui rata-rata keseluruhan akurasi dari hasil implementasi algoritma K- Nearest Neighbor dengan menggunakan 3-fold cross validation dan 5-fold cross validation dalam memprediksi harga Handphone
1.4 Manfaat Penelitian
Berdasarkan tujuan penelitian yang telah dikemukakan maka manfaat penelitian ini adalah : 1. Dapat membantu pihak-pihak yang ingin mendirikan sebuah perusahaan handphone
dengan mengkategorikan harga handphone yang akan dijual melalui fitur yang ada.
2. Menambah pengetahuan dan wawasan peneliti mengenai algoritma K-Nearest Neighbor 3. Dapat menjadi rujukan untuk penelitian selanjutnya yang berhubungan dengan Klasifikasi
1.5 Batasan Masalah
Berdasarkan rumusan masalah maka dapat ditentukan batasan masalah sebagai berikut:
1. Penelitian ini hanya menggunakan data yang diambil dari website www.Kaggle.com pada bulan September 2019, yang telah di upload pada tahun 2016.
2. Data yang digunakan merupakan data spesifikasi Handphone
3. Sistem nantinya akan digunakan untuk lingkup internal perusahaan dan juga user
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi menjadi beberapa bab dengan susunan sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi tentang pembahasan latar belakang masalah, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini mengemukakan teori-teori mengenai topik dan metode yang akan digunakan dalam penelitian.
BAB III METODOLOGI PENELITIAN
Bab ini berisi penjelasan gambaran umum penelitian serta tahapan yang dilakukan penulis dalam penelitian. Termasuk bagaiamana cara mendapatkan data,mengolah data, cara analisis data, cara pengujian dan desain alat uji.
BAB IV IMPLEMENTASI DAN ANALISA HASIL
Bab ini berisi implementasi sistem serta analisis hasil dari program yang telah dibuat.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari penelitian dan juga saran yang diberikan pada sistem yang sudah dibuat.
5
BAB II
LANDASAN TEORI
Bab 2 ini akan menjelaskan landasan teori mengenai klasifikasi dan proses yang digunakan dalam pengklasifikasian yang akan penulis gunakan dalam melakukan penelitian.
2.1 Data Mining
Dengan cara pandang yang berbeda-beda mengenai pengetahuan membuat para ahli memberikan definisi berbeda mengenai Data Mining. Sebagian ahli mengatakan bahwa Data Mining adalah langkah analisis terhadap proses penemuan ilmu pengetahuan di dalam basis data atau knowledge discovery in database yang disingkat KDD (Fayyad et al. 1996).
Pengetahuan bisa berupa pola data atau relasi antar data yang valid (yang tidak diketahui sebelumnya).
Data mining merupakan gabungan sejumlah disiplin ilmu komputer (ACM 2006), (Clifton 2010), yang didefinisikan sebagai proses penemuan pola-pola baru dari kumpulan-kumpulan data sangat besar, meliputi metode-metode yan merupakan irisan dari Artificial Intelligence, Machine Learning Statistics, dan Database System (ACM 2006)
Data Mining ditujukan untuk mengekstrak (mengambil intisari) pengetahuan dari sekumpulan data sehingga didapatkan struktur yang dapat dimengerti manusia (ACM 2006) serta meliputi basis data dan managemen data, prapemrosesan data, pertimbangan model dan inferensi, ukuran ketertarikan, pertimbangan kompleksitas, pascapemrosesan terhadap struktur yang ditemukan, visualisasi, dan online updating (ACM 2006).
Gambar 2.1 Proses KDD
Menurut Fayyad dkk (2009) secara garis besar proses KDD (Knowledge Discovery and Data) dijelaskan sebagai berikut :
a. Seleksi
Pemilihan atau seleksi data dari sekumpulan data operasional perlu dilakukan sebelum tahap penggalian informasi dalam KDD dimulai. Data hasil seleksi akan digunakan untuk proses data mining.
b. Pre-processing/ Cleaning
Proses cleaning yaitu menghilangkan duplikasi data, memeriksa sata yang tidak konsisten, dan memperbaiki kesalahan data (tipografi).
c. Transformasi
Proses tranformasi data adalah pengumpulan (aggregation) yaitu mengaplikasikan , kesimpulan pada data, generalisasi (generalization) yaitu mengganti data primitif/data level rendah menjadi data level tinggi, normalisasi (normalizatiton) dan kontruksi atribut yaitu mngkontruksi dan menambahkan atribut baru untuk membantu proses penambangan.
d. Penambangan data
Tahap ini menimplemetasikan algoritma penambangan data yang digunakan untuk mengubah data yang telah disiapkan untuk menghasilkan hasil yang diinginkan.
e. Interpretasi/evaluasi
Pada tahap ini, hasil dari proses penambangan data dipresentasikan kepada user untuk menjelaskan luaran sistem.
2.2 Fungsi Data Mining
Data mining dibagi menjadi dua kategori utama (Hand dan Kamber 2006) yaitu : 1. Prediktif
Untuk memprediksi nilai dari atribut tertentu berdasarkan pada nilai atribut-atribut lain.
Atribut yang diprediksi umumnya dikenal sebagai target atau variable tak bebas, sedangkan atribut-atribut yang digunkana untuk membuat prediksi dikenal sebagai variable bebas.
2. Deskriptif
Untuk menurunkan pola-pola (korelasi, trend, cluster, teritori, dan anomali) yang meringkas hubungan yang pokok dalam data. Sering merupakan penyelidikan dan seringkali memerlukan teknik post-processing untuk validasi dan penjelasan hasil.
Berdasarkan fungsionalitasnya, tugas-tugas data mining bisa dikelompokkan kedalam enam kelompok berikut (Fayyad et al. 1996)
a. Klasifikasi(classification)
Menggeneralisasi struktur yang diketahui untuk diaplikasikan pada data. Misalkan, klasifikasi penyakit kedalam sejumlah jenis, klasifikasi email ke dalam spam atau bukan.
b. Klasterisasi(clustering)
Mengelompokkan data yang tidak diketahui label kelasnya ke dalam kelompok tertentu sesuai dengan ukuran kemiripannya.
c. Regresi(regression)
Menemukan suatu fungsi yang memodelkan data dengan galat(kesalahan prediksi) seminimal mungkin.
d. Deteksi anomaly(anomaly detection)
Mengidentifikasi data yang tidak umum, bisa berupa outlier(pencilan), perubahan atau deviasi yang mungkin sangat penting dan perlu investigasi lebih lanjut.
e. Pembelajaran aturan asosiasi(association rule learning) Mencari relasi antar variabel
f. Perangkuman (summarization)
Menyediakan representasi data yang lebih sederhana, meliputi visualisasi dan pembuatan laporan.
2.3 Teknik Pembelajaran Data Mining
Di dalam data mining sendiri dalam metode pembelajaran tekniknya yaitu (Retno 2002) : a) Supervised Learning
Adalah teknik yang paling banyak digunakan. Teknik ini sama dengan “programming by example”. Teknik ini melibatkan fase pelatihan dimana data pelatihan history yang karakter-karakternya dipetakan ke hasil-hasil yang telah diketahui diolah dalam algoritma data mining. Proses ini melatih algoritma untuk mengenali variabel-variabel dan nilai-nilai kunci yang nantinya akan digunakan sebagai dasar dalam membuat perkiraan-perkiraan ketika diberikan data baru.
Contohnya : Decision Tree Learning (DTL), Bayesian Learning (BL), Artificial Neural Network (ANN), Suport Vector Machine (SVM), Nearest Neighbour Rule (NNR), Long Short-Term Memory (LSTM).(Dr Suryanto 2019)
b) Unsupervised Learning
Teknik ini tidak melibatkan fase pelatihan seperti yang terdapat pada supervised learning.
Teknik ini bergantung pada penggunaan algoritma yang mendeteksi semua pola, seperti associations dan sequence yang muncul dari kriteria penting yang spesifik dalam data masukan. Pendekatan ini mengarah pada pembuatan banyak aturan (rules) yang mengkarakterisasikan penemuan associations, clusters, dan segments, aturan-aturan ini kemudian dianalisis untuk menemukan hal-hal yang penting.
Contoh : centroid-based clustering, hierarchical clustering, density-based clustering, grid- based clustering, self-organizing map.(Dr Suryanto 2019)
c) Reinforcement Learning
Teknik pembelajaran ini jarang digunakan dibandingkan dengan deua teknik lainnya, namun memiliki penerapan-penerapan yang terus dioptimalkan dari waktu ke waktu dan memiliki control adaptif. Teknik ini sangat menyerupai kehidupan nyata yaitu seperti “on- job-training”, dimana seorang pekerja diberikan sekumpulan tugas yang membutuhkan keputusan-keputusan. Pada beberapa titik waktu kelak diberikan penilaian atas performance pekerjaan tersebut kemudian pekerja diminta mengevaluasi keputusan- keputusan yang telah dibuatnya sehubungan dengan hasil performance pekerja tersebut.
Sangat tepat digunakan untuk menyelesaikan masalah-masalah yang sulit yang bergantung pada waktu.
Contoh : Q-learning, SARSA, Deep Reinforcement Learning (DRL) .(Dr Suryanto 2019)
2.4 Klasifikasi
Klasifikasi dapat didefinisikan secara detail sebagai suatu pekerjaan yang melakukan pelatihan/pembelajaran terhadap fungsi target f yang memetakan setiap vector (set fitur) x ke dalam satu dari sejumlah label kelas y yang tersedia. Pekerjaan pelatihan tersebut akan menghasilkan suatu model yang kemudian disimpan sebagai memori (Prasetyo, 2013).
Dapat juga diartikan sebagai suatu kumpulan data uji digunakaan untuk menentukan keakuratan suatu model. Umumnya, data set yang diberikan dibagi ke dalam sekumpulan data latih dan data uji, dimana data latih digunakan untuk membentuk model dan data uji digunakan untuk menguji.
Gambar 2.2 Proses klasifikasi
Proses klasifikasi didasarkan pada empat komponen (Gorunescu, 2011) : 1. Kelas
Variabel terikat yang berupa kategorikal yang mempresentasikan label yang terdapat pada objek. Contohnya : resiko penyakit jantung, resiko kredit.
2. Predictor
Variabel bebas yang direpresentasikan oleh karekteristik data. Contohnya: merokok, tabungan 3. Training dataset
Satu set data yang berisi nilai dari kedua komponen di atas yang digunakan untuk menentukan kelas yang cocok berdasarkan predictor
4. Testing dataset
Berisi data yang akan diklasifikasikan oleh model yang telah dibuat dan akurasi klasifikasi dievaluasi.
2.5 Information Gain 2.5.1 Entropy
Secara istilah, entropy adalah keberbedaan atau keberagaman. Dalam data mining entropy didefinisikan sebagai suatu parameter untuk mengukur heterogenitas (keberagaman) dalam suatu himpunan data. Semakin heterogen suatu himpunan data, semakin besar pula nilai entropy-nya. Secara matematis, entropy dirumuskan sebagai (Dr. Suryanto 2019) :
Entropy(S) ≡ ∑ −𝑐𝑖 pi log2𝑝i , ---(2.1)
c : jumlah niai yang terdapat pada atribut target (jumlah kelas)
pi : menyatakan porsi atau rasio antara jumlah sample di kelasi I dengan jumlah semua sampel pada himpunan data.
2.5.2 Information Gain
Secara istilah, Information Gain adalah perolehan informasi. Dalam data mining information gain didefinisikan sebagai ukuran efektivitas suatu atribut dalam mengkalsifikasikan data.
Secara matematis, information gain dari suatu atribut A, dituliskan sebagai (Dr. Suryanto 2019):
Gain(S, A) ≡ Entropy(S) - ∑ |𝑆𝑣|
𝑣∈𝑉𝑎𝑙𝑢𝑒𝑠(𝐴) |𝑆| Entropy(Sv) ---(2.2) Di mana :
A : atribut
V : menyatakan suatu nilai yang mungkin untuk atribut A Values(A) : himpunan nilai-nilai yang mungkin untuk atribut A
|Sv| : jumlah sampel untuk nilai v
|S| : Jumlah seluruh sampel data
Entropy(Sv) : entropy unutk sampel-sampel yang memiliki nilai v
Berdasarakan formula di atas, himpunan data yang memiliki dua kelas dengan jumlah sampel di kelas pertama sama persis dengan jumlah sampel di kelas kedua akan memiliki entropy yang maksimum (yaitu sama dengan 1). Artinya , himpunan data tersebut memiliki keberagaman maksimum. Sebaliknya, himpunan data yang memiliki dua kelas dengan jumlah sampel pada salah satu kelas adalah 0 akan memiliki entropy yang minimum (yaitu sama dengan 0). Artinya, himpunan data tersebut memiliki keberagaaman minimum (Dr. Suryanto 2019).
Information gain akan mengalami masalah untuk atribut yang memiliki nilai sangat bervariasi.
Untuk mengatasi masalah tersebut, dapat menggunkan ukuran lain yang disebut Gain Ratio, yang dihitung berdasarkan Split Information yang dirumuskan sebagai (Mitchell 1997) : SplitInformation ≡ ∑𝑐𝑖 =1−|𝑆𝑖|
|𝑆| log2
|𝑆𝑖|
|𝑆| --- (2.3)
S : himpunan sampel data
S1-Sc : sub himpunan sampel data yang terbagi berdasarkan jumlah variasi nilai pada atribut A.
Selanjutnya Gain Ratio di rumuskan dengan Information Gain dibagi dengan Split Information sebagai (Mitcell 1997)
GainRatio(S, A) ≡ 𝐺𝑎𝑖𝑛(𝑆,𝐴)
𝑆𝑝𝑙𝑖𝑡𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛(𝑆,𝐴) ---(2.4)
2.6 Normalisasi Data
Nilai-nilai atribut data yang berbeda-beda rentangannya seringkali perlu dinormalisasikan atau distandarisasikan agar proses Data Mining tidak bias. Biasanya normalisasi data dilakukan ke dalam rentang yang kecil, seperti [0,1] atau [-1,1], sehingga semua atribut akan memiliki bobot yang sama. Teknik normalisasi sangat penting dalam data mining, khususnya klasifikasi dan klasterisasi.(Dr Suryanto, 2019)
2.6.1 Normalisasi Min-Max
Metode ini menggunakan nilai minimum dan maksimum untuk melakukan konveksi data secara linier. Misalkan A adalah atribut bertipe numerik, minA adalah minimum dari atribut A, maksA adalah maksimum dalam atribut A. Suatu nilai xi dapat dinormalisasikan menjadi nilai baru 𝑥𝑖 1 yang berasa dalam rentang [minbaruA, maksbaruA] dengan formula :
𝑥𝑖 1 = 𝑥𝑖−𝑚𝑖𝑛𝐴
𝑚𝑎𝑘𝑠𝐴−𝑚𝑖𝑛𝐴 (minbaruA - maksbaruA) + minbaruA --- (2.5)
Metode ini banyak digunakan secara praktis. Namun, ,metode ini memiliki kelemahan pada dua kondisi, yaitu : jika terdapat nilai pencilan yang mendominasi dan menjadi minA dan maksA (yang jauh lebih besar atau jauh lebih kecil dibandingin nilai-nilai lainnya) atau jika suatu saat ada nilai-nilai atribut yang lebih besar daripada maksA atau lebih kecil daripada minA maka nilai-nilai tersebut akan berada di luar rentang [minbaruA. maksbaruA].(Dr Suryanto 2019)
2.6.2 Normalisasi Z-score
Metode yang disebut juga dengan zero-mean ini menormalisasi suatu nilai xi pada atribut A menjadi nilai baru 𝑥𝑖 1 berdasarkan nilai rata-rata 𝐴̅ dan 𝜎 A menggunakan formula :
𝑥𝑖 1 = 𝑥𝑖−𝐴̅
𝜎 A --- (2.6)
Dengan manfaat nilai rata-rata dan deviasi standar (𝜎), metode ini lebih stabil terhadap nilai- nilai pencilan maupun adanya nilai-nilai baru yang lebih besar daripada maksa atau lebih kecil daripada mina. (Dr. Suryanto 2019)
2.7 K-Nearest Neighbour
K-Nearest Neighbor (KNN) sangat sederhana dan mudah diimplementasikan hanya dengan mengelompokkan suatu data baru berdasarkan jarak data baru itu ke beberapa data/tetangga (neighbor) terdekat.dalam hal ini jumlah data/tetangga terdekat di tentukan oleh user yang dinyatakan dengan k. Setiap data testing dihitung jaraknya yang paling dekat ke data testing.(Santosa, 2007)
Secara ringkas langkah-langkah k-nearest neighbour dapat diuraikan sebagai berikut (Santoso, 2007)
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.
Gambar 2.3 KNN dengan nilai K tetangga (a) 1-NN; (b) 3-NN;(c) 5-NN;(d) 7-NN Terdapat sejumlah formula untuk mengukur jarak antar dua objek data yang memiliki atribut numerik, yaitu Euclidean distance dan Manhattan distance (Dr. Suryanto 2019)
Euclidean distance adalah formula pengukuran jarak yang paling popular. Formula yang biasa disebut dengan jarak garis lurus ini menggunakan rumus :
d(i, j) =
√(xi1− 𝑥𝑗1)2+ (𝑥𝑖2 − 𝑥𝑗2)2+ ⋯ + (𝑥𝑖𝑝 − 𝑥𝑗𝑝)2 ---(2.7)Dimana i dan j adalah dua objek data yang memiliki p atribut bernilai numerik, yang dinyatakan sebagai i = (xi1,xi2,…,xip) dan j = (xj1,xj2,…,xjp)
Manhattan Distance atau city block adalah ukuran jarak yang mengadaptasi jarak antara dua lokasi dalam sebuah kota, misalnya 3 blok ke kanan dan 4 blok ke bawah sehingga jarak totalnya adalah 7 blok. Ukuran jarak ini menggunakan rumus
d(i,j) = |x
i1-x
j1|+|x
i2-x
i2|+…+|x
ip-x
jp|
---(2.8)Di mana |xi1-xj1| menyatakan selisih absolut antara nilai atribut ke-1 pada objek i dan nilai atribut ke-1 pada objek j. misalnya, jika xi1=2 dan xj1 = 5, maka |xi1-xj1| = |2-5| = 3
Kelemahan algoritma ini adalah pengaturan parameter k untuk mengklasifikasikan kelas yang berjumlah genap. Dengan menggunakan k yang genap, dua atau empat, mungkin saja jumlah pola terdekat kelas sama sehingga knn kesulitan melakukan klasifikasi (tidak ada cara lain memilih salah satu kelas secara acak). (Dr. Suryanto 2019)
Parameter k ini berfungsi untuk mengatur tingkat generalisasi terhadap data-data yang akan datang (di luar data latih). Dengan para meter k yang kecil knn akan memiliki tingkat generalisasi data yang tinggi. Sebaliknya dengan parameter k yang besar, knn akan memiliki tingkat generalisasi data yang rendah dan mungkin menjadi overfit, hanya mampu mengklasifikasi data-data latih saja namun gagal mengklasifikasian data-data baru yang akan datang. (Dr. Suryanto 2019)
2.8 Evaluasi dan Validasi
Dalam evaluasi dan validasi penulis menggunakan k –fold cross validation dan akurasi nya menggunakan metode confusion matriks
2.8.1 K-Fold Cross Validation
Metode K-Fold Cross Validation mempartisi himpunan data D secara acak menjadi k fold (subhimpunan) yang saling bebas: f1, f2, f3, …, fk, sehingga masing masing fold berisi 1/k bagian data. Selanjutnya anda dapat membangun k himpunan data: D1, D2, D3, … Dk yang masing-masing berisi (k-1) fold untuk data latih, dan 1 fold untuk data uji. Di ilustrasikan pada gambar :
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
5 1434 0 1.4 0 11 1 49 0.5 108
6 1464 1 2.9 1 5 1 50 0.8 198
7 1718 0 2.4 0 1 0 47 1 156
8 833 0 2.4 1 0 0 62 0.8 111
9 1111 1 2.9 1 9 1 25 0.6 101
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
5 12 746 857 3895 6 0 7 1 0 0
3 4 1270 1366 2396 17 10 10 0 1 1
8 20 295 1752 3893 10 0 7 1 1 0
6 18 749 810 1773 15 8 7 1 0 1
8 9 569 939 3506 10 7 3 1 1 1
2 3 1283 1374 3873 14 2 10 0 0 0
1 2 1312 1880 1495 7 2 18 0 1 1
5 19 556 876 3485 11 9 10 1 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
1021 1 0.5 1 0 1 53 0.7 136 3
563 1 0.5 1 2 1 41 0.9 145 5
615 1 2.5 0 0 0 10 0.8 131 6
1821 1 1.2 0 13 1 44 0.6 141 2
1859 0 0.5 1 3 0 22 0.7 164 1
1821 0 1.7 0 4 1 10 0.8 139 8
1954 0 0.5 1 0 0 24 0.8 187 4
pc px_height px_width ram sc_h sc_w talk_time three_g touch_screen wifi price_range
2 20 756 2549 9 7 19 0 0 1 1
6 905 1988 2631 17 3 7 1 1 0 2
6 1263 1716 2603 11 2 9 1 1 0 2
9 1216 1786 2769 16 8 11 1 0 0 2
14 1208 1212 1411 8 2 15 1 1 0 1
7 1004 1654 1067 17 1 10 1 0 0 1
10 381 1018 3220 13 8 18 1 0 1 3
0 512 1149 700 16 3 5 1 1 1 0
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
1021 905 1988 2631
563 1263 1716 2603
615 1216 1786 2769
1821 1208 1212 1411
1859 1004 1654 1067
1821 381 1018 3220
1954 512 1149 700
1445 386 836 1099
509 1137 1224 513
769 248 874 3946
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-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
1815 607 748 1482 1
1821 381 1018 3220 3
615 1216 1786 2769 2
1866 356 563 373 0
775 862 1864 568 0
1131 658 878 1835 1
1520 151 1005 3826 3
803 344 1440 2680 2
769 248 874 3946 3
1859 1004 1654 1067 1
961 291 1434 2782 2
595 441 810 3752 3
509 1137 1224 513 0
1911 868 1632 3057 3
510 483 754 3919 3
1965 915 1965 2032 2
586 241 854 2592 1
1512 336 670 869 0
b. Transformasi data
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,23 0,776 0,9032 0,89 3
0,23 0 0,1354 0,609 1
0,35 0,712 1 0,632 2
0,04 1 0,8091 0,624 2
0,64 0,294 0,1916 0,203 0
0,9 0,956 0,4554 0,291 1
0,9 0,472 0,1298 0,31 1
0,9 0,29 0,3193 0,797 3
0,07 0,962 0,8582 0,671 2
0,93 0,27 0 0 0
0,18 0,677 0,913 0,055 0
0,43 0,513 0,2211 0,409 1
0,69 0,105 0,3102 0,966 3
0,2 0,261 0,6154 0,646 2
0,18 0,183 0,2182 1 3
0,93 0,792 0,7656 0,194 1
0,31 0,218 0,6112 0,674 2
0,06 0,339 0,1733 0,946 3
0 0,899 0,4639 0,039 0
0,96 0,682 0,7502 0,751 3
0 0,372 0,134 0,992 3
1 0,72 0,9839 0,464 2
0,05 0,178 0,2042 0,621 1
0,69 0,254 0,0751 0,139 0
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
-0,66 0,945 1,3456 1,12954 3
-0,65 -1,648 -1,018 0,2701 1
-0,33 0,732 1,6437 0,34022 2
-1,16 1,695 1,0561 0,31628 2
0,445 -0,663 -0,845 -0,9699 0
1,128 1,547 -0,033 -0,7031 1
1,117 -0,069 -1,035 -0,6424 1
1,128 -0,677 -0,452 0,84392 3
-1,06 1,569 1,2073 0,45823 2
1,21 -0,744 -1,435 -1,5908 0
-0,77 0,617 1,3758 -1,424 0
-0,13 0,068 -0,754 -0,3405 1
0,581 -1,295 -0,48 1,36215 3
-0,72 -0,776 0,4598 0,38212 2
-0,78 -1,034 -0,763 1,46477 3
1,197 0,999 0,9221 -0,9973 1
-0,43 -0,919 0,4468 0,46935 2
-1,1 -0,515 -0,901 1,29887 3