Top Banner
i KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN BARANG ONLINE BERDASARKAN DATA WEB CLICKSTREAM MENGGUNAKAN ALGORITMA WEIGHTED K-NEAREST NEIGHBOR SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Informatika Oleh : Valentina Yohana Senduk 165314121 PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2020 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86

KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

Nov 06, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

i

KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN

BARANG ONLINE BERDASARKAN DATA WEB CLICKSTREAM

MENGGUNAKAN ALGORITMA WEIGHTED K-NEAREST NEIGHBOR

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Informatika

Oleh :

Valentina Yohana Senduk

165314121

PROGRAM STUDI INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

ii

CLASSIFICATION OF USER THAT HAS THE POTENTIAL TO MAKE

ONLINE PURCHASE ACCORDING TO WEB CLICKSTREAM DATA

USING WEIGHTED K-NEAREST NEIGHBOR ALGORITHM

THESIS

Present as Partial Fulfillment of the Requirement

to Obtain Sarjana Komputer Degree

in Informatics Study Program

By :

Valentina Yohana Senduk

165314121

INFORMATICS STUDY PROGRAM

DEPARTMENT OF INFORMATICS

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

v

HALAMAN PERSEMBAHAN

“Kasih itu sabar; kasih itu murah hati; ia tidak cemburu. Ia tidak

memegahkan diri dan tidak sombong.”

(1 Korintus 13:4)

Skripsi ini saya persembahkan untuk :

Mama & Papa, yang selalu mengajarkan bagaimana menjadi manusia yang utuh

Aurelia, Karmela, Mariano, Zeptian, Oma dan Opa, keluarga yang bertumbuh

bersama saya

Toiletterz dan teman-teman yang saya temui yang telah berbagi pengalaman &

perspektif selama 4 tahun saya berkuliah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

viii

ABSTRAK

Perdagangan elektronik merupakan pertukaran yang menggunakan

teknologi sebagai perantara antara berbagai pihak (individu atau organisasi) serta

kegiatan pertukaran intra atau antar organisasi berbasis elektronik. Antar muka

yang paling sering digunakan adalah web browser. Perilaku pengunjung di situs

web dapat dianalisis menggunakan algoritma klasifikasi terhadap data urutan

kunjungan halaman situs atau biasa dikenal sebagai web clickstream. Pada

penelitian ini digunakan algoritma weighted k-nearest neighbor untuk

mengklasifikasikan user yang berpotensi melakukan pembelian barang online

berdasarkan data publik web clickstream sebuah e-commerce. Metode weighted k-

nearest neighbor melakukan klasifikasi berdasarkan label yang memiliki jumlah

bobot jarak terbesar pada k-tetangga terdekat dari data yang diklasifikasi.

Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

pembelian barang online dan mana yang tidak. Peneliti melakukan percobaan

seleksi atribut dengan variasi k dan variasi jumlah atribut berdasarkan hasil

perhitungan information gain dan memperoleh 2 atribut yang paling berpengaruh

dalam klasifikasi yakni Page Values dan Exit Rates. Pengujian untuk mencari k

yang paling optimal dilakukan pada 7.632 data menggunakan 3-fold cross

validation dan menghasilkan akurasi tertinggi yakni 86.2028% pada k = 65.

Kata kunci : e-commerce, web clickstream, weighted k-nearest neighbor,

klasifikasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

ix

ABSTRACT

Electronic commerce is an exchange using technology as an intermediary

between various parties (individuals or organizations) as well as electronic-based

intra or interorganizational exchange activities. The most commonly used

interface is the web browser. Visitor’s behavior on a web site can be analyzed

using a classification algorithm on the data order of site visits or commonly

known as web clickstream. In this study the weighted k-nearest neighbor

algorithm is used to classify users who have the potential to make online based

purchase on public data on a web clickstream data of an e-commerce. The

weighted k-nearest neighbor method makes the classification based on the label

that has the highest number of distance weights at the nearest k-neighbor from the

classified data. The output of this system is the classification of users who have

the potential to purchase goods online and those who do not. Researchers

conducted an attribute selection experiment with variations in k and variations in

the number of attributes based on the results of rank information gain and

obtained the 2 most influential attributes in the classification namely Page Values

and Exit Rates. Testing to find the most optimal k was done on 7,632 data using 3-

fold cross validation and produced the highest accuracy of 86.2028% at k = 65.

Kata kunci : e-commerce, web clickstream, weighted k-nearest neighbor,

classification

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

x

KATA PENGANTAR

Puji syukur penulis haturkan ke hadirat Tuhan Yang Maha Esa, karena dengan

kekuatan dan bimbingan dari-Nya penulis dapat menyelesaikan Tugas Akhir ini

dengan baik. Selain atas berkat dari Tuhan Yesus Kristus dan Bunda Maria yang

tak henti penulis rasakan selama menyelesaikan Tugas Akhir ini, ada begitu

banyak pihak yang turut membantu penulis. Bantuan datang entah dalam bentuk

ilmu, masukan, dukungan, doa, tempat berbagi keluh kesah, maupun pertanyaan

yang mendorong penulis menyelesaikan Tugas Akhir di kala pandemi melanda.

Pada kesempatan ini, penulis ingin mengucapkan limpah terima kasih kepada

mereka

1. Ibu Hendra Veronique Golioth dan Bapak Ferdinand Senduk, kedua

orangtua yang selalu mengucapkan nama penulis dalam doa mereka serta

tak hentinya mendukung dalam berbagai bentuk kasih sayang.

2. Aurelia Teresa Senduk, Karmela Fransiska Senduk, Mariano Gerardus

Senduk, dan Zeptian Fredrik Senduk yang senantiasa menjadi pendukung

dan penghibur jiwa di saat suka maupun duka.

3. Bapak Eko Hari Parmadi, S.Si., M.Kom., selaku dosen pembimbing tugas

akhir yang telah memberikan bimbingan, dukungan, dan dengan sabar

membagikan ilmu serta masukan dalam penyempurnaan Tugas Akhir ini.

4. Ibu Paulina Heruningsih Prima Rosa, M.Sc., selaku dosen pembimbing

akademik yang selalu menginspirasi, memberikan ilmu, dan bimbingan.

5. Bapak Sudi Mungkasi, S.Si., M.Math.Sc,. Ph.D selaku Dekan Fakultas

Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

6. Bapak Robertus Adi Nugroho, M.Eng, selaku Ketua Program Studi

Informatika Universitas Sanata Dharma Yogyakarta.

7. Seluruh Dosen Fakultas Sains dan Teknologi Sanata Dharma khususnya

Program Studi Informatika yang tak lelah mengajar, mendidik, dan

menginspirasi selama proses perkuliahan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

xi

8. Toiletterz; Indah Permata Sari dan Putu Intan Hasri Putri, yang sudah

bersedia selalu direpotin dan jadi sahabat berbagi pandangan dan momen

bahagia, excited, kecewa, galau, dan lainnya dalam berbagai aspek

kehidupan sebagai mahasiswi-mahasiswi Informatika.

9. Paulina, Desi, Caroline, Dodi, Dian, Alfri yang banyak bertanya & berbagi

wawasan dan kian mendorong penulis untuk segera menyelesaikan TA.

10. Teman-teman angkatan 2016 Informatika yang telah bahu-membahu

membantu satu sama lain saat susah maupun senang.

11. Yunita dan teman-teman Kos Putri Palem lainnya, yang telah menemani

penulis hidup merantau di Paingan.

12. Republik Ubur-Ubur; Andi, Ce Marsha, Sinta, Tata, Vianny, Enjel, dan

Pak Andre, yang telah menghabiskan waktu bersama di Jogja, Davao, dan

Talaandig serta menjadi sosok-sosok yang mengajari penulis banyak hal.

13. Charlin dan Rere, seperanak-didik di Kalicode.

14. Bebek Squad; sahabat Royalty yang tetap terkoneksi meski LDR.

15. EXO, Taylor Swift, IU, Taeyeon, Whitney Houston, Michael Jackson,

DAY6, Isyana Sarasvati, Nikita, Cast dan Crew Reply 1988 serta When the

Camellia Blooms, Renee Amberg, pegiat kreatif lainnya, yang secara tak

langsung menemani, menghibur, dan menginspirasi penulis selama

pembuatan Tugas Akhir melalui karya-karya hebat mereka.

16. Semua pihak lainnya yang telah ikut membantu yang tidak dapat

disebutkan satu persatu disini.

Penulis menyadari masih banyak kekurangan pada Tugas Akhir ini karena

pengalaman dan pengetahuan penulis yang masih terbatas. Oleh karena itu,

penulis mengharapkan kritik dan saran yang membangun untuk Tugas Akhir ini.

Akhir kata, penulis berharap Tugas Akhir ini dapat bermanfaat bagi berbagai

pihak.

Penulis

Valentina Yohana Senduk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

xii

DAFTAR ISI

HALAMAN PERSETUJUAN PEMBIMBING ................................................................. iii

HALAMAN PENGESAHAN............................................................................................. iv

HALAMAN PERSEMBAHAN .......................................................................................... v

PERNYATAAN KEASLIAN KARYA ............................................................................. vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI............................................. vii

ABSTRAK ........................................................................................................................ viii

ABSTRACT .......................................................................................................................... ix

KATA PENGANTAR ......................................................................................................... x

DAFTAR ISI ...................................................................................................................... xii

DAFTAR TABEL ............................................................................................................. xiv

DAFTAR GAMBAR ........................................................................................................ xvi

DAFTAR RUMUS .......................................................................................................... xvii

BAB I PENDAHULUAN ................................................................................................... 1

1.1. Latar Belakang .................................................................................................... 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

2.1. Perdagangan Elektronik ........................................................................................... 5

2.2. Analisis Web Clickstream ........................................................................................ 5

2.3. Knowledge Discovery in Database .......................................................................... 5

2.4. Penambangan Data ................................................................................................... 8

2.5. Klasifikasi pada Penambangan Data ...................................................................... 10

2.6. Weighted k-Nearest Neighbor ................................................................................ 10

2.7. K-fold Cross Validation ......................................................................................... 12

2.8. Confusion Matrix ................................................................................................... 13

BAB III METODOLOGI PENELITIAN ......................................................................... 15

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

xiii

3.1. Gambaran Umum Sistem ....................................................................................... 15

3.2. Data ........................................................................................................................ 15

3.3. Seleksi Data ........................................................................................................... 18

3.4. Transformasi Data .................................................................................................. 19

3.5. Weighted k-Nearest Neighbor ................................................................................ 24

3.6. Evaluasi dengan Confusion Matrix ........................................................................ 36

3.7. 3-Fold Cross Validation ........................................................................................ 38

3.8. Spesifikasi Sistem .................................................................................................. 38

3.9. Desain Interface ..................................................................................................... 39

BAB IV HASIL DAN ANALISIS.................................................................................... 41

4.1. Seleksi Data ........................................................................................................... 41

4.2. Transformasi Data .................................................................................................. 42

4.3. Klasifikasi Weighted K-Nearest Neighbor ............................................................. 45

4.4. Uji Data Tunggal .................................................................................................... 47

BAB V PENUTUP ........................................................................................................... 48

5.1. Kesimpulan ............................................................................................................ 48

5.2. Saran ...................................................................................................................... 48

DAFTAR PUSTAKA ....................................................................................................... 49

LAMPIRAN ...................................................................................................................... 50

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

xiv

DAFTAR TABEL

Tabel 2.1 Confusion Matrix................................................................... 13

Tabel 3.1 Atribut Dataset Web Clickstream...........................................15

Tabel 3.2 Contoh Data Web Clickstream............................................... 16

Tabel 3.3 Hasil Uji Seleksi Atribut........................................................ 17

Tabel 3.4 Data Kolom 1 (Administrative).............................................. 19

Tabel 3.5 Hasil Normalisasi Kolom 1 (Administrative)........................ 20

Tabel 3.6 Hasil Transformasi Kolom 1-10........................................... 21

Tabel 3.7 Hasil Transformasi Contoh Data Web Clickstream.............. 22

Tabel 3.8 Pemetaan langkah-langkah W-kNN dengan function............ 24

Tabel 3.9 Data Train 3 dan Data Test 11.............................................. 24

Tabel 3.10 Hasil Perhitungan Euclidean distance................................... 25

Tabel 3.11 Pengurutan Euclidean distance terhadap data test 11............ 26

Tabel 3.12 Pengurutan Euclidean distance terhadap data test 12............ 26

Tabel 3.13 Pengurutan Euclidean distance terhadap data test 13............ 27

Tabel 3.14 Pengurutan Euclidean distance terhadap data test 14............ 27

Tabel 3.15 Pengurutan Euclidean distance terhadap data test 15............ 28

Tabel 3.16 Hasil Klasifikasi k-Nearest Neighbor Data Test.................... 29

Tabel 3.17 Pembobotan Euclidean distance data test 11......................... 29

Tabel 3.18 Pembobotan Euclidean distance data test 12......................... 31

Tabel 3.19 Pembobotan Euclidean distance data test 13......................... 32

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

xv

Tabel 3.20 Pembobotan Euclidean distance data test 14......................... 33

Tabel 3.21 Pembobotan Euclidean distance data test 15......................... 34

Tabel 3.22 Hasil Klasifikasi Weighted k-Nearest Neighbor Data Test.... 35

Tabel 3.23 Perbandingan Hasil Klasifikasi weighted 7-nn...................... 36

Tabel 3.24 Confusion Matrix k = 7.......................................................... 36

Tabel 3.25 Akurasi Variasi k................................................................... 36

Tabel 4.1 Perangkingan Atribut Berdasarkan Information Gain........... 40

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

xvi

DAFTAR GAMBAR

Gambar 2.1 Ilustrasi k-NN dan W-kNN................................................. 11

Gambar 2.2 Ilustrasi 3-fold cross validation............................................. 13

Gambar 3.1 Gambaran Umum Sistem....................................................... 14

Gambar 3.2 Flowchart Weighted K-Nearest Neighbor............................. 23

Gambar 3.3 Skenario 3-fold Cross Validation.......................................... 37

Gambar 3.4 Desain Interface..................................................................... 38

Gambar 4.1 Input Data Train.................................................................... 41

Gambar 4.2 Tampilan Data Input.............................................................. 42

Gambar 4.3 Tampilan Data Input.............................................................. 42

Gambar 4.4 Hasil Transformasi Data....................................................... 43

Gambar 4.5 Hasil Transformasi Data....................................................... 43

Gambar 4.6 Grafik Rangkuman Hasil Klasifikasi W-kNN tanpa

penyeimbangan data.............................................................. 44

Gambar 4.7 Grafik Rangkuman Hasil Klasifikasi W-kNN dengan

penyeimbangan data.............................................................. 45

Gambar 4.8 Hasil Confusion Matrix......................................................... 45

Gambar 4.9 Hasil Uji Data Tunggal......................................................... 46

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

xvii

DAFTAR RUMUS

Rumus 2.1 Rumus Information Gain...................................................... 6

Rumus 2.2 Rumus Information Gain....................................................... 6

Rumus 2.3 Rumus Information Gain....................................................... 7

Rumus 2.4 Rumus Min-Max.................................................................... 7

Rumus 2.5 Euclidean Distance............................................................... 11

Rumus 2.6 Persamaan Fungsi Inversi Bobot.......................................... 12

Rumus 2.7 Persamaan Confusion Matrix................................................ 13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

1

BAB I

PENDAHULUAN

1.1.Latar Belakang

Perkembangan teknologi informasi berupa jaringan elektronik seperti

internet mengubah sistem perdagangan yang dulunya dilakukan melalui

pertemuan langsung antara penjual dan konsumen, kini dapat dilakukan

melalui dunia maya melalui perdagangan elektronik. Perdagangan elektronik

ini memberikan berbagai keuntungan bagi konsumen yakni salah satunya

memungkinkan konsumen untuk berbelanja dimanapun dan kapanpun.

Perubahan model perdagangan berbasis online juga membantu penjual

meningkatkan pangsa pasar ke skala global karena sifatnya yang tidak terbatas

oleh jarak dan waktu.

Transaksi yang awalnya dilakukan secara bertatap muka ke arah dunia

maya ikut mengubah pola penjual dalam membaca perilaku konsumen ketika

melakukan pembelian. Tingkah laku konsumen ketika benar-benar ingin

membeli barang tertentu dan ketika hanya melakukan window shopping dapat

lebih mudah dibedakan apabila transaksi jual beli dilakukan di toko. Hal ini

berbeda kasusnya pada perdagangan elektronik. Pengelola bisnis elektronik

hanya memperoleh data dari hasil browsing pengunjung di situs webnya untuk

mengklasifikasikan mana pengunjung yang akhirnya membeli barang dan

mana yang tidak.

Melonjaknya penggunaan perdagangan elektronik berimbas pada besarnya

data yang diperoleh. Himpunan data ini dapat diolah untuk menghasilkan

pengetahuan untuk membantu pengelola bisnis elektronik merencanakan

strategi pemasaran yang lebih baik. Salah satunya dengan menggunakan

algoritma klasifikasi dalam menganalisis data web clickstream pada situs web.

Web clickstream sendiri merupakan urutan halaman web yang diminta

oleh pengguna termasuk di antaranya user session yang menjelaskan halaman

web yang dilihat oleh satu pengguna selama satu periode ketika masuk ke web

(Rayport & Jaworski, 2003). User session bisa berisi halaman dari lebih dari

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

2

satu situs.

Terdapat beberapa penelitian terkait analisis intensi pembeli online seperti

yang dilakukan oleh Suchacka (2015) dengan metode Support Vector Machine

yang menghasilkan akurasi 99.94%. Selain menggunakan metode SVM,

Suchacka (2015) juga menggunakan metode k-nearest neighbor untuk

meneliti dataset yang sama. Hasil akurasi yang diperoleh adalah 99.85%.

Berdasarkan latar belakang tersebut, penulis tertarik untuk melakukan

penelitian yang serupa dengan menggunakan dataset berbeda yang diperoleh

dari website UCI Repository Machine Learning. Metode yang digunakan

dalam penelitian ini adalah modifikasi dari k-nearest neighbor yakni weighted

k-nearest neighbor karena penggunaannya yang intuitif dan mudah

diaplikasikan.

1.2.Rumusan Masalah

Dari latar belakang di atas dapat dirumuskan masalah sebagai berikut :

1. Apa saja atribut dari data web clickstream yang mempengaruhi hasil

klasifikasi?

2. Berapa nilai k yang menghasilkan akurasi tertinggi dalam

mengklasifikasikan pengunjung yang berpotensi melakukan pembelian

barang online berdasarkan data web clickstream?

3. Berapa akurasi yang dihasilkan algoritma weighted k-nearest neighbor

dalam mengklasifikasikan pengunjung yang berpotensi melakukan

pembelian barang online berdasarkan data web clickstream?

1.3.Tujuan Penelitian

Beberapa tujuan dari penelitian ini adalah sebagai berikut :

1. Mengetahui atribut dari data web clickstream yang mempengaruhi hasil

klasifikasi.

2. Mengetahui jumlah k yang menghasilkan akurasi tertinggi dalam

mengklasifikasikan pengunjung yang berpotensi melakukan pembelian

barang online berdasarkan data web clickstream.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

3

3. Mengetahui akurasi hasil klasifikasi pengunjung yang berpotensi

melakukan pembelian barang online berdasarkan data web clickstream

dengan algoritma weighted k-nearest neighbor.

1.4.Manfaat Penelitian

Manfaat dari penelitian ini adalah :

1. Membantu pihak pengelola e-commerce dalam mengidentifikasi

pembeli yang berpotensi melakukan pembelian barang online agar

dapat membuat pesan promosi dan sistem yang lebih efektif.

2. Memperoleh pengetahuan lebih mengenai algoritma weighted k-

nearest neighbor dalam klasifikasi.

1.5.Batasan Masalah

Adapun batasan masalah penelitian ini adalah sebagai berikut :

1. Data yang digunakan adalah data publik dari UCI Repository Mahine

Learning yaitu Online Shoppers Purchasing Intention Dataset..

2. Sistem dibuat dengan Matlab.

1.6.Sistematika Penulisan

Dokumen ini tersusun dari beberapa bab, yakni diantaranya :

1. Bab I Pendahuluan

Bab ini berisi latar belakang, rumusan masalah, tujuan penelitian, manfaat

penelitian, batasan penelitian, dan sistematika penulisan.

2. Bab II Landasan Teori

Bab ini menjelaskan mengenai algoritma weighted k-nearest neighbor

beserta teori-teori mengenai penambangan data, klasifikasi, dan e-

commerce.

3. Bab III Metodologi Penelitian

Bab ini menjelaskan mengenai perancangan sistem meliputi data yang

digunakan, pengolahan data, pembuatan alat uji dan evaluasi, dan desain

antar muka sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

4

4. BAB IV Hasil dan Analisis

Bab ini berisi implementasi program komputer berdasarkan hasil

perancangan yang dibuat beserta analisis perangkat lunak yang telah

dibuat.

5. BAB V Penutup

Bab ini berisi kesimpulan dan saran untuk keseluruhan penulisan tugas

akhir.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

5

BAB II

LANDASAN TEORI

2.1. Perdagangan Elektronik

Perdagangan elektronik dapat didefinisikan sebagai pertukaran yang

menggunakan teknologi sebagai perantara antara berbagai pihak (individu

atau organisasi) serta kegiatan intra atau antar organisasi berbasis elektronik

yang memfasilitasi pertukaran tersebut (Rayport & Jaworski, 2003). Antar

muka yang digunakan seperti automated teller machines (ATM), electronic

banking, dan yang paling sering digunakan adalah web browsers yang dapat

diakses dengan internet. Perdagangan elektronik menjadikan tempat dimana

pembeli dan penjual bertemu untuk melakukan transaksi bisnis berpindah dari

dunia fisik ke dunia maya.

2.2. Analisis Web Clickstream

Perilaku pengunjung di situs web dapat diprediksi dengan menganalisis data

yang ada pada urutan kunjungan halaman situs. Pada saat browsing, setiap kali

pengguna menautkan ke situs web, server melacak semua tindakan pengguna

dalam file log. Web clickstream sendiri merupakan urutan halaman web yang

diminta oleh pengguna termasuk di antaranya user session yang menjelaskan

halaman web yang dilihat oleh satu pengguna selama satu periode ketika

masuk ke web. User session ini bisa berisi halaman dari lebih dari satu situs.

Selain itu ada pula server session, atau session, yang merupakan kumpulan

halaman untuk satu situs tertentu selama user session. Halaman-halaman ini

juga biasa disebut sebagai sebuah visit.

2.3. Knowledge Discovery in Database

Proses knowledge discovery in database (KDD) secara garis besar dijelaskan

sebagai berikut (Kusrini & Luthfi, 2009):

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

6

1. Seleksi Data

Sebelum tahap penggalian informasi dalam KDD dimulai, perlu

dilakukan pemilihan atau seleksi data termasuk diantaranya seleksi atribut

dari sekumpulan data operasional. Data hasil seleksi ini yang akan

digunakan untuk proses penambangan data. Salah satu metode untuk

seleksi data adalah dengan metode Information Gain. Nilai information

gain dihitung dengan persamaan (2.1) sampai persamaan (2.3) berikut ini:

Info(D) = -∑𝑖=1𝑚 pi log2(pi) (2.1)

dimana :

Info(D)= entropi untuk kelas D

D = jumlah seluruh sampel data

m = jumlah nilai pada atribut target (jumlah kelas

klasifikasi)

i = maksimal nilai pada atribut target

pi = rasio jumlah sampel di kelas i terhadap total

sampel pada himpunan data

InfoA(D) = ∑𝑗=1𝑣

|𝐷𝑗|

|𝐷| x Info(Dj) (2.2)

dimana :

InfoA(D)= entropi untuk kelas D pada atribut A

A = atribut

v = suatu nilai yang mungkin untuk atribut A

j = maksimal nilai yang mungkin untuk atribut A

|Dj| = jumlah sampel untuk nilai v

D = jumlah seluruh sampel data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

7

Nilai dari information gain ini kemudian digunakan untuk menghitung

efektifitas suatu atribut pada data dengan persamaan (2.3) berikut ini:

Gain (A) = |Info(D)-InfoA(D)| (2.3)

dimana :

Gain(A) = Information Gain atribut A

A = atribut

Info(D) = entropi untuk kelas D

InfoA(D) = entropi untuk kelas D pada atribut A

2. Cleaning Data

Proses cleaning bertujuan untuk menghilangkan duplikasi data,

memeriksa data yang tidak konsisten, dan memperbaiki kesalahan pada

data yang digunakan untuk KDD. Data yang tidak sesuai dapat diperbaiki

atau dihilangkan dan diisi prediksi nilainya. Pada tahapan ini juga data

dapat diperkaya dengan data atau informasi eksternal yang mungkin

diperlukan.

3. Transformasi Data

Proses transformasi data merupakan proses untuk mengubah bentuk data

ke bentuk yang sesuai untuk digunakan. Beberapa diantaranya yakni

generalisasi untuk mengganti data primitif atau data level rendah menjadi

data level tinggi, normalisasi yang merupakan proses penskalaan nilai

atribut pada data sehingga masuk dalam rentang tertentu, dan konstruksi

atribut yaitu mengkonstruksi misalnya mengubah dari yang belum

numerik ke numerik atau menambahkan atribut baru untuk membantu

proses penambangan. Salah satu metode transformasi data yang akan

digunakan di penelitian ini adalah metode min-max yang berfungsi untuk

normalisasi. Nilai normalisasi min-max dapat dihitung dengan persamaan

(2.4) berikut ini (Han, 2011) :

.

Ndata = (𝑣−min)(nmax−nmin)

𝑚𝑎𝑥−𝑚𝑖𝑛+ 𝑛𝑚𝑖𝑛 (2.4)

dimana :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

8

Ndata = data hasil normalisasi min-max

v = data yang akan dinormalisasi

min = nilai minimum dari data

max = nilai maksimum dari data

nmax = skala maksimum yang ditentukan

nmin = skala minimum yang ditentukan

4. Penambangan data

Pada tahapan ini digunakan algoritma penambangan data untuk mencari

pola atau informasi dalam data yang telah ada untuk memberikan hasil

yang diinginkan. Ada berbagai metode dan teknik dalam penambangan

data dan dapat dipilih sesuai tujuan dari proses KDD tersebut.

5. Interpretasi dan Evaluasi

Pada tahapan ini, hasil penambangan data diperlihatkan kepada pengguna

sehingga informasi tersebut dapat digunakan. Hasil ini dapat dijelaskan

melalui visualisasi atau tampilan tertentu agar pengguna dapat

memahaminya dengan lebih jelas. Tahap ini juga termasuk pengujian

terhadap hasil yang ditemukan apakah sesuai fakta sebelumnya.

2.4. Penambangan Data

Penambangan data merupakan bagian dari knowledge discovery in database

untuk menemukan pengetahuan dari data yang kompleks dan banyak.

Penambangan data bertujuan untuk menangani masalah pengambilan

informasi dari basis data yang besar dengan menyatukan berbagai teknik

machine learning, statistik, database, pengenalan pola, dan visualisasi.

Terdapat dua pengelompokkan penambangan data berdasarkan bagaimana

pembelajarannya yaitu :

1. Supervised Learning merupakan pembelajaran menggunakan guru dan

biasanya menggunakan kelas atau label pada himpunan datanya.

Contohnya metode untuk prediksi dan klasifikasi, beberapa

diantaranya yaitu algoritma Rough Set, dan k-Nearest Neighbor (k-

NN).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

9

2. Unsupervised Learning merupakan pembelajaran tanpa guru dan

biasanya tak ada kelas atau label pada himpunan datanya. Contohnya

metode untuk klastering dan asosiasi, diantaranya algoritma K-means,

dan lainnya.

Pada penambangan data, inputan berupa himpunan data diproses

menggunakan metode yang ada dalam penambangan data sehingga

menghasilkan keluaran berupa pengetahuan yang dapat berbentuk cluster,

pola, pohon keputusan, dan lainnya. Terdapat beberapa jenis metode

penambangan data yakni:

1. Estimasi : digunakan untuk melakukan perkiraan terhadap sebuah data

baru yang belum memiliki keputusan berdasarkan data yang telah ada.

Contoh pemanfaatannya ketika melakukan estimasi pembiayaan

pembangunan bangunan baru di sebuah kota baru.

2. Asosiasi : digunakan untuk mencari kelakuan khusus atau proses

dimana hubungan asosiasi muncul pada tiap kejadian. Algoritma

pemecahan yang biasanya digunakan adalah Algoritma Apriori.

Contoh penggunaannya di perpustakaan yakni tata letak buku oleh

pustakawan.

3. Klasifikasi : digunakan untuk mengklasifikasikan data baru

berdasarkan data yang ada dan telah diklasifikasi sebelumnya. Hasil

klasifikasi data yang ada digunakan untuk memberikan sejumlah

aturan dalam pengklasifikasian data baru. Salah satu algoritma yang

sering digunakan yaitu Decision tree, k-Nearest Neighbor, dan lainnya.

Contoh penggunaannya adalah klasifikasi tumbuhan berdasarkan

ekstrasi ciri morfologinya.

4. Klastering : digunakan untuk mengelompokkan data ke kelompok-

kelompok tertentu sesuai dengan algoritma yang digunakan. Berbeda

dengan klasifikasi yang sebelumnya sudah didefinisikan kelompoknya.

K-means adalah salah satu algoritma atau metode yang sering

digunakan untuk klastering data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

10

5. Prediksi : digunakan untuk memperkirakan atau memprediksi suatu

kejadian di masa depan sebelum peristiwa itu terjadi. Salah satu

metode yang sering digunakan adalah Rough Set, dan biasanya

digunakan di bidang Klimatologi dan Geofisika, misalnya untuk

memperkirakan bagaimana cuaca di tanggal tertentu.

2.5. Klasifikasi pada Penambangan Data

Seperti yang telah dijelaskan sebelumnya, pada penambangan data terdapat

berbagai jenis algoritma yang digunakan yakni salah satunya adalah algoritma

untuk klasifikasi yang merupakan teknik untuk mengklasifikasi sebuah data

baru untuk mengelompokkannya ke kelompok yang telah didefinisikan.

Proses klasifikasi didasarkan pada empat komponen (Gorunescu, 2011) :

a. Kelas

Variabel dependen yang berupa kategorikal yang mempresentasikan

label yang terdapat pada objek. Contoh : resiko kredit, jenis gempa.

b. Predictor

Variabel independen yang direpresentasikan oleh karakteristik data.

Contoh: tabungan, aset, gaji.

c. Training dataset

Set data yang berisi nilai dari kedua komponen di atas yang digunakan

untuk menentukan kelas yang cocok berdasarkan predictor.

d. Testing dataset

Set data yang akan diklasifikasikan oleh model yang telah dibuat.

Akurasi klasifikasi nantinya akan dievaluasi.

2.6. Weighted k-Nearest Neighbor

Algoritma k-Nearest Neighbor menggunakan perhitungan kemiripan data

baru (data testing) dengan data sebelumnya yang sudah memiliki label atau

kelas (data training) sebagai nilai prediksi dari sampel uji yang baru.

Perhitungan kemiripan dilakukan dengan menghitung jarak antar tetangga.

Pada umumnya, jarak antar tetangga pada k-NN dihitung dengan Eucledian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

11

distance. Penentuan label data baru sendiri akan dilakukan melalui voting

label mayoritas dari k-tetangga terdekat. Ilustrasi metode k-NN dan W-kNN

dapat dilihat pada gambar 2.1 berikut ini :

Gambar 2.1 Ilustrasi (a) k-NN dan (b) w-KNN

Sumber : Bichego & Loog (2016)

Masalah bisa terjadi ketika kelas terdekat mempunyai jarak yang

bervariasi. Seperti pada gambar 2.1 (a) class(x) diklasifikasikan sebagai

lingkaran karena dengan algoritma k-NN jumlah kelas terbanyak pada

tetangga terdekat adalah lingkaran. Pada kenyataannya, class(x) yang

sebenarnya adalah kotak. Cara untuk mengatasi ini adalah dengan

pembobotan tetangga terdekat oleh jaraknya (Eko, 2014). Metode

pembobotan yang paling sering digunakan adalah dengan menginverskan

jarak tiap k-tetangga terdekat. Metode k-Nearest Neighbor dengan

pembobotan tetangga terdekat disebut Weighted k-Nearest Neighbor (W-

kNN). Pada penelitian ini, akan digunakan modifikasi k-NN dengan

pembobotan ini. Berikut merupakan algoritma weighted k-nearest neighbor

(Schliep, K. P, 2004) :

1. Menentukan parameter k (k adalah jumlah tetangga paling dekat yang

akan disertakan dalam penentuan kelas).

2. Menghitung kuadrat jarak Euclidean setiap objek data latih terhadap

data uji yang diberikan. Rumus untuk mendapatkan jarak antar data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

12

dengan jarak Euclidean dapat dihitung menggunakan persamaan (2.5)

berikut ini :

di=√∑ (𝑥𝑖 − 𝑦𝑖)²𝑛𝑖=1 (2.5)

dimana :

di = jarak Euclidean variabel ke-i

i = variabel data (i = 1,2,3,...,n)

n = dimensi data

x = data uji

y = data latih

3. Mengurutkan hasil jarak euclidean dari terkecil ke terbesar.

4. Mengambil sejumlah k-tetangga terdekat.

5. Memberikan bobot pada masing-masing jarak pada k-tetangga terdekat

menggunakan fungsi inversi. Pembobotan dengan fungsi inversi dapat

dihitung menggunakan persamaan (2.6) berikut ini :

w(i) = 1

|di| (2.6)

dimana :

w(i) = bobot variabel ke-i

di = jarak Euclidean variabel ke-i

i = variabel data (i = 1,2,3,...,n)

6. Menjumlahkan bobot tiap kelas pada k-tetangga terdekat.

7. Menggunakan kelas pada k-tetangga terdekat yang memiliki bobot

terbesar sebagai label data uji.

2.7. K-fold Cross Validation

Salah satu metode statistik yang biasanya digunakan untuk memvalidasi

sebuah metode penambangan data adalah Cross Validation. Pada metode ini,

data dipisahkan menjadi dua subset yaitu data testing dan data training.

Metode dilatih oleh subset training dan divalidasi oleh subset testing.

Selanjutnya pemilihan jenis Cross Validation dapat didasarkan pada ukuran

set data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

13

K-fold cross validation digunakan karena dapat mengurangi waktu

komputasi dengan tetap menjaga keakuratan perkiraan. Pendekatan ini

memecah set data menjadi k bagian set data. Tiap dijalankan, satu pecahan

berperan sebagai data latih, sedangkan pecahan lain berperan sebagai data uji.

Langkah tersebut dilakukan sebanyak k kali. (Eko, 2014). Misalkan kita

menggunakan k=3, maka skenario 3-fold cross validation bisa dilihat pada

gambar 2.2 berikut ini :

Gambar 2.2 Ilustrasi 3-fold cross validation

2.8. Confusion Matrix

Confusion matrix adalah salah satu metode yang digunakan untuk mengukur

kinerja suatu metode klasifikasi. Representasi hasil klasifikasi pada confusion

matrix menggunakan empat penentu untuk mencari akurasinya sebagaimana

dapat dilihat pada tabel 2.1 berikut ini :

Tabel 2.1 Confusion Matrix

Label Positive Negative

Positive TP (True Positive) FN (False Negative)

Negative FP (False Positive) TN (True Negative)

Akurasi dihitung menggunakan persamaan (2.7) berikut ini :

Akurasi = 𝑇𝑃+𝑇𝑁

𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁𝑥100% (2.7)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

14

dimana :

TP = jumlah positive yang diklasifikasikan sebagai positive

TN = jumlah negative yang diklasifikasikan sebagai negative

FP = jumlah negative yang diklasifikasikan sebagai positive

FN = jumlah positive yang diklasifikasikan sebagai negative

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

15

BAB III

METODOLOGI PENELITIAN

3.1. Gambaran Umum Sistem

Pada sistem ini terdapat 5 proses yaitu input data, seleksi data, transformasi

data, klasifikasi, dan penghitungan akurasi. Alur sistem secara umum dapat

dilihat pada gambar 3.1 berikut :

Gambar 3.1 Gambaran Umum Sistem

3.2. Data

Data yang digunakan dalam penelitian ini adalah data publik yang diperoleh

dari situs UCI Repository Machine Learning yaitu Online Shoppers

Purchasing Intention Dataset. Dataset ini terdiri dari vektor fitur yang

berasal dari 12.330 session yang dibentuk sehingga setiap sesi menjadi milik

pengguna yang berbeda dalam periode 1 tahun guna menghindari

kecondongan pada kampanye tertentu, periode tertentu, hari khusus, atau

profil pengguna. Terdapat 18 atribut yaitu 10 atribut numerikal dan 7 atribut

kategorikal dan satu kelas label. Label ada dua yakni FALSE yang

menandakan pengunjung yang berakhir tidak membeli, dan TRUE yang

menandakan pengunjung yang berakhir membeli. Penjelasan mengenai

atribut yang digunakan dapat dilihat pada tabel 3.1, dan contoh datanya dapat

dilihat pada tabel 3.2 berikut ini:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

16

Tabel 3.1 Atribut Dataset Web Clickstream

No. Atribut Keterangan dan Nilai

1 Administrative Jumlah kunjungan pengunjung ke halaman Administrative

2 Administrative Duration Total waktu yang dihabiskan di halaman Administrative

3 Informational Jumlah kunjungan pengunjung ke halaman Informational

4 Informational Duration Total waktu yang dihabiskan di halaman Informational

5 Product Related Jumlah kunjungan pengunjung ke halaman Product Related

6 Product Related Duration Total waktu yang dihabiskan di halaman Product Related

7 Bounce Rates Persentase pengunjung yang masuk ke situs dari halaman

tersebut dan kemudian keluar (“bounce”) tanpa memulai

permintaan lain ke server analytics selama session tersebut.

8 Exit Rates Dihitung untuk semua tampilan halaman ke halaman,

persentase yang terakhir dalam sesi

9 Page Values Nilai rata-rata untuk halaman web yang dikunjungi pengguna

sebelum menyelesaikan transaksi

10 Special Day Jarak waktu pengunjung mengunjungi situs web ke hari khusus

11 Month Bulan saat pengunjung mengunjungi situs web

12 Operating Systems Sistem operasi yang digunakan pengunjung

13 Browser Jenis browser yang digunakan pengunjung

14 Region Wilayah sesuai sistem browser yang digunakan pengunjung

15 Traffic Type Traffic Type

16 Visitor Type Karakteristik pengguna, New_visitor merupakan pengunjung

yang baru pertama kali mengunjungi situs web,

Returning_visitor merupakan pengunjung yang sudah pernah

mengunjungi situs web sebelumnya

16 Weekend Nilai boolean yang mengindikasikan apakah hari pengunjung

mengunjungi situs web adalah akhir pekan

18 Revenue Label kelas yang bernilai TRUE apabila pengunjung akhirnya

membeli barang di situs web, FALSE apabila pengunjung tidak

membeli barang.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

17

Tabel 3.2 Contoh Data Web Clickstream

No.

Adm

inis

-tra

tive

Adm

inis

-tra

tive

Dura

tion

Info

rma-

tional

Info

rmat

-ional

Dura

tion

Pro

duct

Rel

ated

Pro

duct

Rel

ated

Dura

tion

Bounce

Rat

es

Exit

Rat

es

Pag

e

Val

ues

Spec

ial

Day

Month

OS

Bro

wse

r

Reg

ion

Tra

ffic

Type

Vis

itor

Type

Wee

ken

d

Rev

enue

1 0 0 0 0 1 0 0.2 0.2 0 0 Feb 1 1 1 1 Ret FALSE FALSE

2 0 0 0 0 1 0 0.2 0.2 0 0 Mar 2 2 4 1 Ret FALSE FALSE

3 1 32.33 1 56 62 2414.9 0 0.002 30.462 0 May 2 2 9 2 Ret FALSE TRUE

4 1 26.2 0 0 4 106.8 0 0.04 36.662 0 Oct 2 2 2 5 New FALSE TRUE

5 1 39.2 2 120.8 7 80.5 0 0.01 0 0 Nov 3 2 4 2 New TRUE FALSE

6 3 145 0 0 53 1783.79 0.007 0.029 12.242 0 Dec 4 6 1 1 Ret TRUE FALSE

7 0 0 0 0 6 169 0 0.016 0 0.4 Feb 1 1 3 3 Ret FALSE FALSE

8 7 150.357 1 9 221 11431.001 0.011 0.022 1.582 0 Nov 2 5 1 2 Ret TRUE TRUE

9 2 152.833 0 0 20 791.667 0.011 0.017 41.350 0 Mar 1 1 1 2 New FALSE TRUE

10 0 0 0 0 2 7 0.05 0.15 0 0.2 May 2 2 7 4 Ret FALSE FALSE

11 3 16 3 86 15 2773.5 0 0.03 78.812 0 Dec 2 2 1 2 Ret FALSE TRUE

12 0 0 0 0 7 705.833 0.029 0.086 0 0 Dec 5 11 4 1 Ret TRUE FALSE

13 0 0 0 0 7 212.5 0 0.033 0 0 Nov 3 2 1 11 Ret TRUE FALSE

14 13 456.988095 3 72.833 39 976.710 0.004 0.010 39.655 0 Mar 1 1 1 1 Ret TRUE TRUE

15 0 0 0 0 32 1916.633 0.016 0.027 0 0 Mar 2 2 1 10 Ret FALSE FALSE

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

18

3.3. Seleksi Data

Pada tahap ini, akan dilakukan seleksi data untuk memilih atribut yang

dibutuhkan dan menghapus atribut yang kurang relevan untuk penelitian.

Kolom Revenue menjadi kelas yang digunakan untuk klasifikasi dan bernilai

TRUE dan FALSE. Data yang digunakan pada tahap ini sejumlah 7.632

dengan rincian 1.908 bernilai 1 atau TRUE, dan 5.724 bernilai 0 atau FALSE.

Pengurangan data dilakukan untuk menyeimbangkan data dengan

perbandingan 1:3 data yang bernilai TRUE:FALSE. Atribut-atribut pada data

dirangking dengan metode Information Gain pada fitur di aplikasi Weka versi

3.8.3. Hasil penghitungan information gain dapat dilihat pada tabel 3.3

berikut ini :

Tabel 3.3 Information Gain Atribut Data Penelitian

Rank Nomor Kolom Atribut

0.32221 9 Page Values

0.08439 8 Exit Rates

0.05715 6 Product Related Duration

0.0509 7 Bounce Rates

0.04728 5 Product Related

0.03232 1 Administrative

0.03214 11 Month

0.02855 2 Administrative Duration

0.02763 15 Traffic Type

0.01158 3 Informational

0.01129 4 Informational Duration

0.01085 16 Visitor Type

0.00861 10 Special Day

0.00558 12 Operating Systems

0.00143 17 Weekend

0.00112 13 Browser

0 14 Region

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

19

Berdasarkan hasil rangking atribut di atas, atribut Browser dan Region yang

nilainya mendekati 0 tidak digunakan untuk klasifikasi. Tahap selanjutnya

adalah transformasi data kemudian klasifikasi data dengan metode weighted k-

nearest neighbor menggunakan atribut dengan rangking tertinggi kemudian

ditambahkan satu per satu atribut dengan rangking tertinggi berikutnya untuk

dilihat akurasinya.

3.4. Transformasi Data

Setelah proses seleksi data, dilakukan tranformasi data dimana atribut Month

dan Visitor Type ditransformasi ke data numerik. Kemudian, atribut pada

kolom 1-10 dinormalisasi menggunakan metode min-max. Berikut hasil

transformasi data :

1. Transformasi pada kolom Month

Hasil transformasi pada kolom Month adalah sebagai berikut :

• Jan : 1

• Feb : 2

• Mar : 3

• Apr : 4

• May : 5

• June : 6

• Jul : 7

• Aug : 8

• Sep : 9

• Oct : 10

• Nov : 11

• Dec : 12

2. Transformasi pada kolom Visitor Type

Terdapat 3 jenis Visitor pada kolom ini, hasil transformasinya sebagai

berikut :

• Returning_Visitor: 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

20

• New_Visitor : 2

• Other : 3

3. Transformasi pada kolom 1-10

Pada atribut 1-10 dilakukan normalisasi dengan metode min-max

menggunakan rentang min 0 dan max 1. Misalkan kita gunakan data pada

kolom pertama (Administrative) di Tabel 3.2, maka langkah-langkah

normalisasi min-max adalah sebagai berikut :

a. Langkah pertama yaitu menentukan skala maksimum (nmax) dan

minimum (nmin) baru yang kita tentukan, disini digunakan nmax

= 1 dan nmin = 0.

b. Kemudian dicari nilai minimum dan nilai maksimum dari data

pada kolom pertama. Data kolom pertama dapat dilihat pada tabel

3.4 :

Tabel 3.4 Data Kolom 1 (Administrative)

No. Data

1 0

2 0

3 1

4 1

5 1

6 3

7 0

8 7

9 2

10 0

11 3

12 0

13 0

14 13

15 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

21

Berdasarkan data tersebut, maka diperoleh min = 0, dan max = 13

c. Setelah itu, dihitung normalisasi tiap data pada kolom

Administrative dengan rumus 2.3. Berikut hasil perhitungan data :

• Untuk data ke-1,2,7,10,12,13,15 = 0

N1,2,7,10,12,13,15 = (0−0)∗(1−0)

13−0+ 0 = 0

• Untuk data ke 3,4,5 = 1

N3,4,5 = (1−0)∗(1−0)

13−0+ 0 = 0.077

• Untuk data ke 9 = 2

N9 = (2−0)∗(1−0)

13−0+ 0 = 0.154

• Untuk data ke 6,11 = 3

N6,11 = (3−0)∗(1−0)

13−0+ 0 = 0.231

• Untuk data ke 8 = 7

N8 = (7−0)∗(1−0)

13−0+ 0 = 0.538

• Untuk data ke 14 = 13

N8 = (13−0)∗(1−0)

13−0+ 0 = 1

d. Hasil normalisasi untuk kolom 1 (Administrative) dapat dilihat

pada tabel 3.5 berikut ini :

Tabel 3.5 Hasil Normalisasi Kolom 1 (Administrative)

Data ke- Nilai

1 0

2 0

3 0.077

4 0.077

5 0.077

6 0.231

7 0

8 0.538

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

22

9 0.154

10 0

11 0.231

12 0

13 0

14 1

15 0

Selanjutnya dicari normalisasi untuk data kolom 2-10 dengan cara yang

sama. Tabel 3.6 berikut merupakan hasil normalisasi kolom 1-10 :

Tabel 3.6 Hasil Transformasi Kolom 1-10

No.

Adm

inis

stra

tive

Adm

inis

trat

ive

Dura

tion

Info

rmat

ional

Info

rmat

ional

Dura

tion

Pro

duct

Rel

ated

Pro

duct

Rel

ated

Dura

tion

Bounce

Rat

es

Exit

Rat

es

Pag

e V

alues

Spec

ial

Day

1 0 0 0 0 0 0 1 1 0 0

2 0 0 0 0 0 0 1 1 0 0

3 0.077 0.071 0.333 0.464 0.277 0.211 0 0 0.387 0

4 0.077 0.057 0 0 0.014 0.009 0 0.192 0.465 0

5 0.077 0.086 0.667 1 0.027 0.007 0 0.040 0 0

6 0.231 0.317 0 0 0.236 0.156 0.035 0.136 0.155 0

7 0 0 0 0 0.023 0.015 0 0.071 0 1

8 0.538 0.329 0.333 0.075 1 1 0.055 0.101 0.020 0

9 0.154 0.334 0 0 0.086 0.069 0.055 0.076 0.525 0

10 0 0 0 0 0.005 0.001 0.25 0.747 0 0.5

11 0.231 0.035 1 0.712 0.064 0.243 0 0.141 1 0

12 0 0 0 0 0.027 0.062 0.145 0.424 0 0

13 0 0 0 0 0.027 0.019 0 0.157 0 0

14 1 1 1 0.603 0.173 0.085 0.020 0.040 0.503 0

15 0 0 0 0 0.141 0.168 0.080 0.126 0 0

Hasil transformasi untuk keseluruhan data pada contoh data tabel 3.2 dapat dilihat

pada tabel 3.7 berikut ini:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

23

Tabel 3.7 Hasil Transformasi Contoh Data Web Clickstream

No.

Adm

inis

-tra

tive

Adm

inis

-tra

tive

Dura

tion

Info

rma-

tional

Info

rmat

-ional

Dura

tion

Pro

duct

Rel

ated

Pro

duct

Rel

ated

Dura

tion

Bounce

Rat

es

Exit

Rat

es

Pag

e

Val

ues

Spec

ial

Day

Month

OS

Bro

wse

r

Reg

ion

Tra

ffic

Type

Vis

itor

Type

Wee

ken

d

Rev

enue

1 0 0 0 0 0 0 1 1 0 0 2 1 1 1 1 1 0 0

2 0 0 0 0 0 0 1 1 0 0 3 2 2 4 1 1 0 0

3 0.077 0.071 0.333 0.464 0.277 0.211 0 0 0.387 0 5 2 2 9 2 1 0 1

4 0.077 0.057 0 0 0.014 0.009 0 0.192 0.465 0 10 2 2 2 5 2 0 1

5 0.077 0.086 0.667 1 0.027 0.007 0 0.040 0 0 11 3 2 4 2 2 1 0

6 0.231 0.317 0 0 0.236 0.156 0.035 0.136 0.155 0 12 4 6 1 1 1 1 0

7 0 0 0 0 0.023 0.015 0 0.071 0 1 2 1 1 3 3 1 0 0

8 0.538 0.329 0.333 0.075 1 1 0.055 0.101 0.020 0 11 2 5 1 2 1 1 1

9 0.154 0.334 0 0 0.086 0.069 0.055 0.076 0.525 0 3 1 1 1 2 2 0 1

10 0 0 0 0 0.005 0.001 0.25 0.747 0 0.5 5 2 2 7 4 1 0 0

11 0.231 0.035 1 0.712 0.064 0.243 0 0.141 1 0 12 2 2 1 2 1 0 1

12 0 0 0 0 0.027 0.062 0.145 0.424 0 0 12 5 11 4 1 1 1 0

13 0 0 0 0 0.027 0.019 0 0.157 0 0 11 3 2 1 11 1 1 0

14 1 1 1 0.603 0.173 0.085 0.020 0.040 0.503 0 3 1 1 1 1 1 1 1

15 0 0 0 0 0.141 0.168 0.080 0.126 0 0 3 2 2 1 10 1 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

24

3.5. Weighted k-Nearest Neighbor

Setelah data input diseleksi dan ditransformasi, data diklasifikasi dengan

weighted k-nearest neighbor dan divalidasi dengan 3-fold cross validation.

Pada tahapan uji data tunggal, sejumlah 10 data diambil sebagai data untuk

uji data tunggal (5 berlabel TRUE, 5 berlabel FALSE). Proses klasifikasi ini

menggunakan metode weighted k-nearest neighbor yang secara umum

dijelaskan dengan flowchart pada gambar 3.2 berikut :

Gambar 3.2 Flowchart weighted k-nearest neighbor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

25

Pemetaan langkah-langkah dalam proses weighted k-nearest neighbor pada

gambar 3.2 dengan function pada program yang diimplementasikan dapat

dilihat pada tabel 3.8 berikut ini :

Tabel 3.8 Pemetaan langkah-langkah W-kNN dengan function

No. Langkah Function

1. Input nilai k wknn2.m

2. Perhitungan euclidean distance eucDistance.m

3. Pengurutan euclidean distance secara ascending wknn2.m

4. Pengambilan k tetangga terdekat wknn2.m

5. Pembobotan euclidean distance pada k tetangga terdekat wknn2.m

6. Penjumlahan weight berdasar kelas wknn2.m

7. Penentuan kelas berdasar weight terbesar wknn2.m

Sebagai ilustrasi bagaimana klasifikasi menggunakan metode weighted k-

nearest neighbor, kita ambil contoh klasifikasi w-knn menggunakan k =

1,3,5,7 dengan data pada Tabel 3.7 terkecuali data pada kolom Browser dan

Region tidak digunakan karena hasil information gain yang kecil. Pembagian

data klasifikasi yakni data 1-10 menjadi data train dan data 11-15 menjadi

data testing. Berdasarkan skenario tersebut berikut langkah-langkah

klasifikasi weighted k-nearest neighbors dengan k = 1,3,5, dan 7 :

a. Hitung jarak Euclidean distance dengan rumus 2.5 untuk setiap data train

terhadap data test yang diberikan. Tabel 3.9 berikut merupakan rincian

data train 3 dan data test 11 :

Tabel 3.9 Data Train 3 dan data test 11

Atribut Data Train 3 Data Test 11

Administrative 0.077 0.231

Administrative Duration 0.071 0.035

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

26

Informational 0.333 1

Informational Duration 0.464 0.712

Product Related 0.277 0.064

Product Related Duration 0.211 0.243

Bounce Rates 0 0

Exit Rates 0 0.141

Page Values 0.387 1

Special Day 0 0

Month 5 12

OS 2 2

Traffic Type 2 2

Visitor Type 1 1

Weekend 0 0

Misalkan dihitung Euclidean distance data train 3 terhadap data test 11

menggunakan data pada tabel 3.9 di atas, maka perhitungannya sebagai

berikut:

di=

√(0.231 − 0.077)2 + (0.035 − 0.071)2 + (1 − 0.333)2 + (0.712 − 0.464)2 + (0.064 − 0.277)2 + (0.243 − 0.211)2 +

√(0 − 0)2 +(0.141 − 0)2 + (1 − 0.387)2 + (0 − 0)2 + (12 − 5)2 + (2 − 2)2 + (2 − 2)2 + (1 − 1)2 + (0 − 0)2

Maka diperoleh Euclidean distance d(x,y) = 7.069. Perhitungan yang sama

dikerjakan untuk data train sisa. Hasil perhitungan Euclidean distance

untuk tiap data train terhadap data test dapat dilihat pada tabel 3.10

berikut:

Tabel 3.10 Hasil Perhitungan Euclidean distance

Data

train

Data test

11 12 13 14 15

1 10.313 10.866 13.701 2.746 9.201

2 9.293 9.595 12.950 2.746 9.092

3 7.069 7.796 10.937 3.037 8.278

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

27

4 3.985 5.595 6.342 8.436 8.676

5 2.299 2.937 9.136 8.499 11.511

6 2.888 1.151 10.111 9.621 12.930

7 10.277 11.052 12.289 3.263 7.214

8 2.334 3.668 9.189 8.315 11.443

9 9.212 10.027 12.306 2.352 8.150

10 7.504 8.269 9.363 4.411 6.381

Hasil euclidean distance kemudian diurutkan dari yang terkecil sampai ke

terbesar. Jarak terkecil menunjukkan tetangga yang lebih dekat ke data

test. Hasil pengurutan euclidean distance untuk tiap data test dapat dilihat

pada tabel 3.11 sampai tabel 3.15 berikut :

Tabel 3.11 Pengurutan Euclidean distance terhadap data test 11

No. Euclidean

Distance

Data

train ke -

Label data

train

1 2.299 5 FALSE

2 2.334 8 TRUE

3 2.888 6 FALSE

4 3.985 4 TRUE

5 7.069 3 TRUE

6 7.504 10 FALSE

7 9.212 9 TRUE

8 9.293 2 FALSE

9 10.277 7 FALSE

10 10.313 1 FALSE

Tabel 3.12 Pengurutan Euclidean distance terhadap data test 12

No. Euclidean

Distance

Data

train ke -

Label data

train

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

28

1 1.151 6 FALSE

2 2.937 5 FALSE

3 3.668 8 TRUE

4 5.595 4 TRUE

5 7.796 3 TRUE

6 8.269 10 FALSE

7 9.595 2 FALSE

8 10.027 9 TRUE

9 10.866 1 FALSE

10 11.052 7 FALSE

Tabel 3.13 Pengurutan Euclidean distance terhadap data test 13

No. Euclidean

Distance

Data

train ke -

Label data

train

1 6.342 4 TRUE

2 9.136 5 FALSE

3 9.189 8 TRUE

4 9.363 10 FALSE

5 10.111 6 FALSE

6 10.937 3 TRUE

7 12.289 7 FALSE

8 12.306 9 TRUE

9 12.950 2 FALSE

10 13.701 1 FALSE

Tabel 3.14 Pengurutan Euclidean distance terhadap data test 14

No. Euclidean

Distance

Data

train ke -

Label data

train

1 2.352 9 TRUE

2 2.746 1 FALSE

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

29

3 2.746 2 FALSE

4 3.037 3 TRUE

5 3.263 7 FALSE

6 4.411 10 FALSE

7 8.315 8 TRUE

8 8.436 4 TRUE

9 8.499 5 FALSE

10 9.621 6 FALSE

Tabel 3.15 Pengurutan Euclidean distance terhadap data test 15

No. Euclidean

Distance

Data

train ke -

Label data

train

1 6.381 10 FALSE

2 7.214 7 FALSE

3 8.150 9 TRUE

4 8.278 3 TRUE

5 8.676 4 TRUE

6 9.092 2 FALSE

7 9.201 1 FALSE

8 11.443 8 TRUE

9 11.511 5 FALSE

10 12.930 6 FALSE

Selanjutnya, dicari hasil klasifikasi dengan k-nearest neighbor tanpa

pembobotan jarak untuk dibandingkan dengan hasil klasifikasi weighted k-

nearest neighbor. Sesuai langkah klasifikasi k-NN, hasil klasifikasi dapat

dicari setelah hasil euclidean distance data train terhadap data test

diperoleh. Hasil klasifikasi k-NN diperoleh dari label yang paling sering

muncul pada k-tetangga terdekat dilihat dari hasil perhitungan

jarak/euclidean distance dari nilai terkecil.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

30

Berdasarkan hasil pengurutan euclidean distance tiap data test pada Tabel

3.11 sampai Tabel 3.15, maka diperoleh keseluruhan hasil klasifikasi k-

nearest neighbor untuk tiap data test dengan variasi k = 1,3,5, dan 7 adalah

sebagaimana ditampilkan pada tabel 3.16 berikut :

Tabel 3.16 Hasil klasifikasi k-Nearest Neighbor Data Test

Data test Label

Sebenarnya

Hasil klasifikasi kNN

k = 1 k = 3 k = 5 k = 7

11 TRUE FALSE FALSE TRUE TRUE

12 FALSE FALSE FALSE TRUE FALSE

13 FALSE TRUE TRUE FALSE FALSE

14 TRUE TRUE FALSE FALSE FALSE

15 FALSE FALSE FALSE TRUE FALSE

Pada tahap selanjutnya, diambil sejumlah k-tetangga terdekat berdasarkan

pengurutan euclidean distance. Karena k = 7 adalah nilai k tertinggi, maka

disini hanya ditampilkan hasil 7 tetangga terdekat saja. Selanjutnya, hasil

euclidean distance diberikan bobot dengan menginverskannya

(1/euclidean distance). Hasil pembobotan jarak untuk tiap data test dapat

dilihat pada tabel 3.17 sampai tabel 3.21 berikut:

Tabel 3.17 Pembobotan Euclidean distance data test 11

No. Euclidean

Distance

Bobot jarak

(1/euclidean

distance)

Label data

train

1 2.299 0.4349 FALSE

2 2.334 0.4285 TRUE

3 2.888 0.3463 FALSE

4 3.985 0.2510 TRUE

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

31

5 7.069 0.1415 TRUE

6 7.504 0.1333 FALSE

7 9.212 0.1086 TRUE

Setelah jarak diberi bobot, pengklasifikasian sudah dapat dilakukan.

Berikut hasil klasifikasi dengan weighted k-nearest neighbor untuk data

test 11 di tiap-tiap nilai k yang digunakan :

• Untuk k = 1, hasil klasifikasi adalah FALSE, dilihat dari label 1

tetangga terdekat saja.

• Untuk k = 3, masing-masing label di 3 tetangga terdekat dihitung

bobotnya.

- Bobot label TRUE (data 2) = 0.4285

- Bobot label FALSE (data 1 dan 3) = 0.4349 + 0.3463 = 0.7812

Setelah diperoleh bobot masing-masing label, dicari mana nilai yang

paling besar. Maka, hasil klasifikasinya adalah FALSE.

• Untuk k = 5, masing-masing label di 5 tetangga terdekat dihitung

bobotnya.

- Bobot label TRUE (data 2, 4, dan 5) = 0.4285 + 0.2510 + 0.1415

= 0.821

- Bobot label FALSE (data 1 dan 3) = 0.4349 + 0.3463 = 0.7812

Setelah diperoleh bobot masing-masing label, dicari mana nilai yang

paling besar. Maka, hasil klasifikasinya adalah TRUE.

• Untuk k = 7, masing-masing label di 7 tetangga terdekat dihitung

bobotnya.

- Bobot label TRUE (data 2, 4, 5, dan 7) = 0.4285 + 0.2510 +

0.1415 + 0.1086 = 0.9296

- Bobot label FALSE (data 1, 3, dan 6) = 0.4349 + 0.3463 + 0.1333

= 0.9145

Setelah diperoleh bobot masing-masing label, dicari mana nilai yang

paling besar. Maka, hasil klasifikasinya adalah TRUE.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

32

Tabel 3.18 Pembobotan Euclidean distance data test 12

No. Euclidean

Distance

Bobot jarak

(1/euclidean

distance)

Label data

train

1 1.151 0.8689 FALSE

2 2.937 0.3405 FALSE

3 3.668 0.2726 TRUE

4 5.595 0.1787 TRUE

5 7.796 0.1283 TRUE

6 8.269 0.1209 FALSE

7 9.595 0.1042 FALSE

Berdasarkan hasil pembobotan euclidean distance pada Tabel 3.18 di atas,

maka diperoleh hasil klasifikasi dengan weighted k-nearest neighbor untuk

data test 12 di tiap-tiap nilai k yang digunakan :

• Untuk k = 1 hasil klasifikasi adalah FALSE.

• Untuk k = 3

- Bobot label TRUE (data 3) = 0.2726

- Bobot label FALSE (data 1 dan 2) = 0.8689 + 0.3405 = 1.2094

Maka, hasil klasifikasi adalah FALSE.

• Untuk k = 5

- Bobot label TRUE (data 3, 4, dan 5) = 0.2726 + 0.1787 + 0.1283

= 0.5796

- Bobot label FALSE (data 1 dan 2) = 0.8689 + 0.3405 = 1.2094

Maka, hasil klasifikasi adalah FALSE.

• Untuk k = 7

- Bobot label TRUE (data 3, 4, dan 5) = 0.2726 + 0.1787 + 0.1283

= 0.5796

- Bobot label FALSE (data 1, 2, 6 ,dan 7) = 0.8689 + 0.3405 +

0.1209 + 0.1042 = 1.4345

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

33

Maka, hasil klasifikasi adalah FALSE.

Tabel 3.19 Pembobotan Euclidean distance data test 13

No. Euclidean

Distance

Bobot jarak

(1/euclidean

distance)

Label data

train

1 6.342 0.1577 TRUE

2 9.136 0.1095 FALSE

3 9.189 0.1088 TRUE

4 9.363 0.1068 FALSE

5 10.111 0.0989 FALSE

6 10.937 0.0914 TRUE

7 12.289 0.0814 FALSE

Berdasarkan hasil pembobotan euclidean distance pada Tabel 3.19 di atas,

maka diperoleh hasil klasifikasi dengan weighted k-nearest neighbor untuk

data test 13 di tiap-tiap nilai k yang digunakan :

• Untuk k = 1 hasil klasifikasi adalah TRUE.

• Untuk k = 3

- Bobot label TRUE (data 1 dan 3) = 0.1577 + 0.1088 = 0.2665

- Bobot label FALSE (data 2) = 0.1095

Maka, hasil klasifikasi adalah TRUE.

• Untuk k = 5

- Bobot label TRUE (data 1 dan 3) = 0.1577 + 0.1088 = 0.2665

- Bobot label FALSE (data 2, 4, dan 5) = 0.1095 + 0.1068 + 0.0989

= 0.3152

Maka, hasil klasifikasi adalah FALSE.

• Untuk k = 7

- Bobot label TRUE (data 1, 3, dan 6) = 0.1577 + 0.1088 + 0.0914

= 0.3579

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

34

- Bobot label FALSE (data 2, 4, 5, dan 7) = 0.1095 + 0.1068 +

0.0989 + 0.0814 = 0.3966

Maka, hasil klasifikasi adalah FALSE.

Tabel 3.20 Pembobotan Euclidean distance data test 14

No. Euclidean

Distance

Bobot jarak

(1/euclidean

distance)

Label data

train

1 2.352 0.4251 TRUE

2 2.746 0.3642 FALSE

3 2.746 0.3642 FALSE

4 3.037 0.3293 TRUE

5 3.263 0.3065 FALSE

6 4.411 0.2267 FALSE

7 8.315 0.1203 TRUE

Berdasarkan hasil pembobotan euclidean distance pada Tabel 3.20 di atas,

maka diperoleh hasil klasifikasi dengan weighted k-nearest neighbor untuk

data test 14 di tiap-tiap nilai k yang digunakan :

• Untuk k = 1 hasil klasifikasi adalah TRUE.

• Untuk k = 3

- Bobot label TRUE (data 1) = 0.4251

- Bobot label FALSE (data 2 dan 3) = 0.3642 + 0.3642 = 0.7284

Maka, hasil klasifikasi adalah FALSE.

• Untuk k = 5

- Bobot label TRUE (data 1 dan 4) = 0.4251 + 0.3293 = 0.7544

- Bobot label FALSE (data 2, 3, dan 5) = 0.3642 + 0.3642 +

0.3065= 1.0349

Maka, hasil klasifikasi adalah FALSE.

• Untuk k = 7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

35

- Bobot label TRUE (data 1, 4, dan 7) = 0.4251 + 0.3293 +

0.1203= 0.8747

- Bobot label FALSE (data 2, 3, 5, dan 6) = 0.3642 + 0.3642 +

0.3065 + 0.2267 = 1.2616

Maka, hasil klasifikasi adalah FALSE.

Tabel 3.21 Pembobotan Euclidean distance data test 15

No. Euclidean

Distance

Bobot jarak

(1/euclidean

distance)

Label data

train

1 6.381 0.1567 FALSE

2 7.214 0.1386 FALSE

3 8.150 0.1227 TRUE

4 8.278 0.1208 TRUE

5 8.676 0.1153 TRUE

6 9.092 0.1100 FALSE

7 9.201 0.1087 FALSE

Berdasarkan hasil pembobotan euclidean distance pada Tabel 3.21 di atas,

maka diperoleh hasil klasifikasi dengan weighted k-nearest neighbor untuk

data test 15 di tiap-tiap nilai k yang digunakan :

• Untuk k = 1 hasil klasifikasi adalah FALSE.

• Untuk k = 3

- Bobot label TRUE (data 3) = 0.1227

- Bobot label FALSE (data 1 dan 2) = 0.1567 + 0.1386 = 0.2953

Maka, hasil klasifikasi adalah FALSE.

• Untuk k = 5

- Bobot label TRUE (data 3, 4, dan 5) = 0.1227 + 0.1208 + 0.1153

= 0.3588

- Bobot label FALSE (data 1 dan 2) = 0.1567 + 0.1386 = 0.2953

Maka, hasil klasifikasi adalah TRUE.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

36

• Untuk k = 7

- Bobot label TRUE (data 3, 4, dan 5) = 0.1227 + 0.1208 + 0.1153

= 0.3588

- Bobot label FALSE (data 1, 2, 6, dan 7) = 0.1567 + 0.1386 +

0.1100 + 0.1087 = 0.514

Maka, hasil klasifikasi adalah FALSE.

Berdasarkan hasil pembobotan jarak, diperoleh keseluruhan hasil W-

kNN untuk tiap data test yakni seperti ditunjukkan pada tabel 3.22

berikut :

Tabel 3.22 Hasil Klasifikasi Weighted k-Nearest Neighbor Data Test

Data

test

Label

Sebenarnya

Hasil klasifikasi W-kNN

k = 1 k = 3 k = 5 k = 7

11 TRUE FALSE FALSE TRUE TRUE

12 FALSE FALSE FALSE FALSE FALSE

13 FALSE TRUE TRUE FALSE FALSE

14 TRUE TRUE FALSE FALSE FALSE

15 FALSE FALSE FALSE TRUE FALSE

Setelah membandingkan hasil klasifikasi dengan k-nearest neighboar dan

weighted k-nearest neighbor pada Tabel 3.16 dan Tabel 3.22 di atas,

dapat dilihat bahwa terdapat satu hasil klasifikasi yang berubah yakni

pada data test 12 dengan k = 5 hasil kelas TRUE pada k-NN berubah

menjadi FALSE pada W-kNN sehingga hasil klasifikasi menjadi sesuai

dengan label data test yang sebenarnya.

3.6. Evaluasi dengan Confusion Matrix

Evaluasi hasil klasifikasi dilakukan dengan menghitung akurasi hasil

klasifikasi berdasarkan confusion matrix. Misalkan kita menggunakan hasil

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

37

klasifikasi weighted k-nn dengan k = 7 pada Tabel 3.22 seperti ditunjukkan

rinciannya pada Tabel 3.23 berikut :

Tabel 3.23 Perbandingan Hasil Klasifikasi weighted 7-nn

Data Test Kelas Sebenarnya Prediksi Kelas

11 TRUE TRUE

12 FALSE FALSE

13 FALSE FALSE

14 TRUE FALSE

15 FALSE FALSE

Berdasarkan data pada Tabel 3.23 di atas, maka diperoleh hasil confusion

matrix-nya sebagaimana ditunjukkan pada tabel 3.24 berikut :

Tabel 3.24 Confusion matrix k = 7

Prediksi Kelas

TRUE FALSE

TRUE 1 1

FALSE 0 3

Maka, berdasarkan rumus (2.7) diperoleh akurasi weighted 7-nn adalah :

Akurasi = 1+3

1+3+1+0𝑥100% = 80%

Dengan langkah-langkah yang sama, diperoleh akurasi untuk weighted k-

nearest neighbor dengan k = 1,3,5, dan 7 seperti pada tabel 3.25 berikut :

Tabel 3.25 Akurasi Variasi k

k Akurasi

1 60%

3 40%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

38

5 60%

7 80%

Berdasarkan hasil akurasi variasi k pada Tabel 3.25 di atas, maka diperoleh k

yang paling optimal adalah k = 7.

3.7. 3-Fold Cross Validation

Pada sistem ini validasi klasifikasi menggunakan metode 3-fold Cross

Validation dimana data dipecah menjadi 3 set data dan bergantian menjadi

subset testing dan subset training. 1/3 data menjadi data testing dan 2/3 data

menjadi data training di tiap model. Skenario 3-fold yang akan digunakan

untuk validasi klasifikasi pada sistem ini dapat dilihat pada gambar 3.3

berikut:

Gambar 3.3 Skenario 3-fold Cross Validation

3.8. Spesifikasi Sistem

Berikut ini adalah alat yang digunakan untuk merancang sistem ini:

• Perangkat keras

Laptop Lenovo Type Ideapad S210 Touch

Processor : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz 1.80 GHz

Memory : 4 GB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

39

Hard Drive: 500 GB

• Perangkat lunak

Matlab 2016b

3.9. Desain Interface

Desain interface pada sistem ini terbagi menjadi 3 panel utama yaitu panel

input data train, panel Weighted k-Nearest Neighbor dan panel Uji Data

Tunggal. Rancangan desain interface sistem ini dapat dilihat pada gambar 3.4

berikut :

Gambar 3.4 Desain Interface

Berikut penjelasan untuk setiap panelnya :

a. Panel Input Data

Panel ini digunakan untuk menginput data yang berformat .xls atau

.xlsx. Pengguna dapat melihat data yang diinputkan dengan menekan

tombol Lihat Data, serta mentransformasi data dengan menekan tombol

Transformasi Data.

b. Panel Weighted K-Nearest Neighbor

Panel ini digunakan untuk menginput jumlah atribut (tersedia nilai 1-

15), jumlah k yang digunakan untuk klasifikasi W-KNN, serta 3-fold

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

40

untuk Cross Validation. Setelah data train, jumlah atribut, dan jumlah k

dimasukkan, pengguna dapat melakukan klasifikasi dengan menekan

tombol Proses. Hasil klasifikasi ditampilkan pada Output.

c. Panel Uji Data Tunggal

Panel ini berisi text box yang digunakan untuk menginputkan data

untuk diklasifikasikan. Pengguna dapat mengupload file berisi banyak

data untuk diklasifikasi sekaligus dengan menekan tombol Upload Data

kemudian menekan tombol Test untuk mencari hasil klasifikasi data

tunggal. Bila pengguna ingin mengklasifikasikan data baru, pengguna

dapat menekan tombol Reset dan menginputkan data baru.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

41

BAB IV

HASIL DAN ANALISIS

Bab ini berisi implementasi progam komputer berdasarkan hasil perancangan

yang dibuat beserta analisis perangkat lunak yang telah dibuat. Berikut hasil dan

analisis implementasi program :

4.1. Seleksi Data

Pada tahap seleksi data ini dilakukan penghitungan information gain terhadap

atribut dengan Weka. Hasil information gain diurutkan dari nilai terbesar ke

terkecil. Perangkingan atribut berdasarkan hasil penghitungan information

gain dapat dilihat pada tabel 4.1 berikut ini:

Tabel 4.1 Perangkingan Atribut Berdasarkan Information Gain

No. Rank No. Kolom Atribut

1 0.32221 9 Page Values

2 0.08439 8 Exit Rates

3 0.05715 6 Product Related Duration

4 0.0509 7 Bounce Rates

5 0.04728 5 Product Related

6 0.03232 1 Administrative

7 0.03214 11 Month

8 0.02855 2 Administrative Duration

9 0.02763 15 Traffic Type

10 0.01158 3 Informational

11 0.01129 4 Informational Duration

12 0.01085 16 Visitor Type

13 0.00861 10 Special Day

14 0.00558 12 Operating Systems

15 0.00143 17 Weekend

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

42

Berdasarkan hasil rangking atribut di atas, dilakukan percobaan klasifikasi

weighted k-nearest neighbor pada data yang telah ditransformasi dengan

menggunakan atribut dengan rangking tertinggi kemudian ditambahkan satu

per satu atribut dengan rangking tertinggi berikutnya dan dilihat akurasinya

berdasarkan hasil 3-fold Cross Validation.

4.2. Transformasi Data

Pada tahap ini dilakukan transformasi data pada kolom 1-10 dengan

normalisasi min-max, untuk atribut Month dan Visitor Type ditransformasi ke

data numerik.

Input Data Train

Sebelum melakukan transformasi data, user harus mengupload file berformat

.xls atau .xlsx yang berisi data untuk diklasifikasi. Fitur Lihat Data dan

Transformasi Data hanya dapat dijalankan setelah user mengupload file.

Gambaran hasil input data pada panel input data train dapat dilihat pada

gambar 4.1 berikut ini :

Gambar 4.1 Input Data Train

Setelah file diupload, user dapat melihat data mentah yang diupload dengan

fitur Lihat Data. Gambar 4.2 dan 4.2 berikut ini adalah contoh tampilan data

yang telah diupload melalui fitur Lihat Data :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

43

Gambar 4.2 Tampilan Data Input

Gambar 4.3 Tampilan Data Input

Pada bagian kanan bawah jendela Lihat Data terdapat tombol Transformasi

Data untuk mentransformasi data mentah.

Transformasi Data

Apabila user memilih mentransformasi data baik melalui tombol

Transformasi Data pada jendela utama maupun pada jendela Lihat Data,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

44

sistem akan mentransformasi data dengan normalisasi min-max pada atribut

1-10 dan mengubah atribut Month dan Visitor Type ke dalam bentuk numerik.

Contoh hasil transformasi data dapat dilihat pada gambar 4.4 dan 4.5 berikut

ini :

Gambar 4.4 Hasil Transformasi Data

Gambar 4.5 Hasil Transformasi Data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

45

4.3. Klasifikasi Weighted K-Nearest Neighbor

Pada tahap ini dilakukan klasifikasi weighted k-nearest neighbor dengan 3-

fold cross validation pada data tanpa penyeimbangan sejumlah 12.330 data

dan data setelah penyeimbangan sejumlah 7.632 data. Data tersebut telah

ditransformasi pada tahap sebelumnya. Pembagian jumlah data di masing-

masing model 3-fold cross validation yakni data training sejumlah 2/3 dari

keseluruhan data, dan data testing sejumlah 1/3 dari keseluruhan data. Disini

dicari nilai k dan jumlah atribut yang paling optimal untuk klasifikasi

weighted k-nearest neighbor. Percobaan berhenti ketika hasil akurasi optimal

pada k mulai menurun. Hasil percobaan lengkap pada setiap k dapat dilihat

pada lampiran 1. Grafik rangkuman hasil klasifikasi weighted k-nearest

neighbor tanpa penyeimbangan data dan dengan penyeimbangan data dapat

dilihat pada gambar 4.6 dan gambar 4.7 berikut ini :

Gambar 4.6 Grafik Rangkuman Hasil Klasifikasi W-kNN tanpa

penyeimbangan data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

46

Gambar 4.7 Grafik Rangkuman Hasil Klasifikasi W-kNN dengan

penyeimbangan data

Dapat dilihat pada hasil percobaan di atas, terjadi peningkatan akurasi optimal

ketika menggunakan data yang telah diseimbangkan. Dan, berdasarkan hasil

percobaan, akurasi tertinggi diperoleh ketika menggunakan k = 65 dan jumlah

atribut 2 dengan presentase akurasi 86.2028%. Hasil confusion matrix tiap

fold untuk k = 65 dan jumlah atribut 2 dapat dilihat pada gambar 4.8 berikut :

Gambar 4.8 Hasil Confusion Matrix

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

47

4.4. Uji Data Tunggal

Pada tahap ini dilakukan uji data tunggal pada 10 data dengan rincian 5

berlabel TRUE dan 5 berlabel FALSE. Data yang diinputkan berupa data

mentah yang belum dinormalisasi dan akan dinormalisasi terlebih dahulu

dengan data training pada sistem kemudian siap untuk diklasifikasi. Atribut

yang digunakan berjumlah 2 sesuai hasil percobaan paling optimal yaitu Page

Values dan Exit Rates. Model yang digunakan adalah weighted k-nearest

neighbor dengan k = 65. Hasil uji data tunggal sebagaimana dapat dilihat

pada gambar 4.9 berikut ini :

Gambar 4.9 Hasil Uji Data Tunggal

Data ke 1-5 berlabel TRUE dan data ke 6-10 berlabel FALSE dan dengan

menggunakan metode weighted k-nearest neighbor menghasilkan klasifikasi

yang tepat untuk semua data uji.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

48

BAB V

PENUTUP

5.1. Kesimpulan

Dari hasil penelitian ini, proses klasifikasi user yang berpotensi melakukan

barang online menggunakan metode Weighted k-Nearest Neighbor, dapat

ditarik kesimpulan sebagai berikut :

1. Atribut dari data web clickstream yang mempengaruhi klasifikasi

menggunakan metode Weighted k-Nearest Neighbor, berdasarkan hasil

percobaan yang dilakukan adalah 2 atribut yaitu Page Values dan Exit

Rates.

2. Pengujian yang dilakukan pada 7.632 data menghasilkan akurasi tertinggi

pada k = 65 dengan metode Weighted k-Nearest Neighbor.

3. Akurasi paling optimal percobaan klasifikasi dengan metode Weighted k-

Nearest Neighbor adalah 86.2028%.

5.2. Saran

Saran untuk penelitian akhir ini adalah :

1. Seleksi atribut pada sistem ini dapat dikembangkan dengan metode lain.

2. Sistem ini dapat dikembangkan menggunakan metode lain.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

49

DAFTAR PUSTAKA

Bicego, M. & Loog, M.. (2016). Weighted K-Nearest Neighbor revisited. 1642-

1647. 10.1109/ICPR.2016.7899872.

Dicky N., Gunadi N. (2015). Algoritma Data Mining dan Pengujian. Penerbit

DeePublish : Yogyakarta.

Gorunescu, Florin. (2011). Data Mining : Concepts, Model, and Techniques.

Springer.

Han, Jiawei, dkk. (2012). Data Mining : Concepts and Techniques, Elsevier Inc.

Kusrni dan Luthfi, E.T.(2009). Algoritma Data Mining. Yogyakarta: ANDI.

Prasetyo, E. (2014). Data Mining – Mengolah Data Menjadi Informasi

Menggunakan Matlab. Penerbit Andi : Yogyakarta.

Rayport J., Jaworski B. (2003). Introduction to e-Commerce. Penerbit

McGrawHill : New York.

Sakar, C.O., Polat, S.O., Katircioglu, M. et al. Neural Comput & Applic (2018).

Schliep, K. P. (2004). Weighted k-nearest-neighbor techniques and ordinal

classification. Open Access LMU. https://doi.org/10.5282/ubm/epub.1769

Suchacka, Grażyna & Skolimowska, Magdalena & Potempa, A.. (2015). A k-

Nearest Neighbors method for classifying user sessions in E-commerce scenario.

2015. 64-69.

Suchacka, Grażyna & Skolimowska, Magdalena & Potempa, Aneta. (2015).

Classification Of E-Customer Sessions Based On Support Vector Machine.

Proceedings - 29th European Conference on Modelling and Simulation, ECMS

2015. 594-600. 10.7148/2015-0594.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

51

Lampiran 1 : Hasil Percobaan Klasifikasi Weighted k-Nearest Neighbor

k Jumlah Atribut

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 83.949 82.075 80.778 80.936 81.040 80.267 73.939 74.044 72.563 72.419 72.196 71.803 71.423 70.139 69.890

2 83.923 82.901 80.831 80.988 81.080 80.267 73.952 74.057 72.563 72.419 72.196 71.803 71.423 70.139 69.890

3 84.499 84.080 83.189 83.504 83.726 82.534 76.153 76.271 73.572 73.637 73.401 72.930 72.707 71.462 71.292

4 84.631 84.277 83.333 84.028 84.015 82.862 76.297 76.428 73.781 73.808 73.808 73.244 72.930 71.488 71.436

5 84.696 84.526 84.434 84.513 84.617 83.451 77.136 76.834 74.319 74.175 74.201 73.310 73.192 72.039 72.235

6 84.879 84.709 84.591 84.657 84.670 83.700 77.031 77.110 74.410 74.555 74.528 73.637 73.467 72.262 72.183

7 84.906 84.722 84.827 85.010 84.617 83.635 77.083 77.057 74.279 74.502 74.253 73.415 73.454 72.366 72.235

8 84.971 85.128 84.775 85.155 84.696 83.831 77.267 77.385 74.450 74.777 74.699 73.572 73.637 72.602 72.353

9 85.037 85.181 85.142 85.246 84.513 84.237 77.332 77.372 74.450 74.633 74.515 73.585 73.598 72.628 72.052

10 85.050 85.286 84.866 85.076 84.617 84.172 77.162 77.345 74.463 74.620 74.620 73.768 73.716 72.642 72.091

11 85.063 85.325 85.299 85.194 84.788 84.015 77.123 77.254 74.528 74.607 74.620 73.860 73.808 72.615 72.039

12 85.102 85.390 85.194 85.390 84.919 84.146 77.136 77.463 74.437 74.607 74.450 73.847 73.781 72.628 72.183

13 85.220 85.364 85.338 85.351 84.644 84.172 77.149 77.293 74.646 74.856 74.803 73.886 73.795 72.602 72.026

14 85.220 85.535 85.273 85.456 84.696 84.224 77.188 77.372 74.659 74.633 74.738 73.834 73.834 72.733 72.091

15 85.220 85.521 85.259 85.246 84.709 84.185 77.241 77.280 74.699 74.699 74.646 73.834 73.821 72.655 72.091

16 85.181 85.613 85.273 85.364 84.814 84.198 77.254 77.254 74.712 74.725 74.764 73.886 73.860 72.694 72.209

17 85.194 85.653 85.246 85.312 84.644 84.185 77.254 77.227 74.672 74.869 74.725 73.899 73.873 72.681 72.248

18 85.194 85.600 85.417 85.390 84.644 84.237 77.201 77.372 74.528 74.777 74.738 74.030 74.030 72.537 72.209

19 85.273 85.626 85.312 85.259 84.604 84.119 77.267 77.345 74.581 74.672 74.738 73.847 73.886 72.510 72.406

20 85.220 85.561 85.482 85.404 84.657 84.172 77.188 77.306 74.699 74.555 74.502 73.926 73.912 72.537 72.353

21 85.259 85.613 85.482 85.286 84.617 84.002 77.241 77.306 74.699 74.581 74.633 73.677 73.624 72.537 72.393

22 85.299 85.639 85.574 85.325 84.657 84.093 77.123 77.162 74.817 74.646 74.646 73.873 73.873 72.432 72.248

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

52

k Jumlah Atribut

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

23 85.273 85.718 85.561 85.338 84.604 83.910 77.201 77.254 74.843 74.686 74.607 73.821 73.795 72.720 72.366

24 85.351 85.679 85.482 85.273 84.604 83.949 77.254 77.358 74.843 74.620 74.594 73.834 73.821 72.707 72.484

25 85.364 85.770 85.390 85.338 84.486 83.897 77.201 77.345 74.895 74.686 74.607 73.899 73.873 72.877 72.471

26 85.364 85.836 85.377 85.246 84.447 83.923 77.280 77.293 74.869 74.777 74.607 73.912 73.912 72.864 72.484

27 85.404 85.875 85.351 85.364 84.421 83.857 77.267 77.214 74.921 74.725 74.633 73.952 73.912 73.008 72.419

28 85.417 85.888 85.404 85.246 84.486 83.975 77.214 77.267 74.921 74.777 74.817 74.070 74.070 72.890 72.406

29 85.443 85.915 85.377 85.364 84.447 83.897 77.188 77.345 74.921 74.908 74.843 74.266 74.240 72.786 72.563

30 85.469 85.928 85.233 85.220 84.578 83.923 77.110 77.175 74.895 74.974 75.013 74.096 74.083 72.838 72.576

31 85.469 85.993 85.338 85.325 84.565 83.831 77.083 77.149 74.895 74.921 74.948 74.109 74.083 72.825 72.563

32 85.482 86.006 85.299 85.259 84.631 83.792 77.070 77.083 74.830 74.921 74.987 74.044 74.044 72.956 72.681

33 85.469 85.954 85.351 85.220 84.578 83.818 77.005 77.123 74.882 74.869 74.987 74.148 74.096 72.890 72.668

34 85.456 86.046 85.312 85.273 84.591 83.805 77.018 77.110 74.843 74.948 74.908 74.044 73.991 72.956 72.773

35 85.404 86.006 85.312 85.194 84.552 83.884 77.031 77.057 74.869 74.921 74.987 74.044 74.004 72.930 72.668

36 85.377 86.046 85.351 85.181 84.631 83.857 77.018 77.083 74.699 74.961 74.961 74.057 74.017 72.917 72.733

37 85.364 86.019 85.312 85.246 84.526 83.805 77.005 77.070 74.738 75.026 74.987 74.096 74.044 72.969 72.825

38 85.390 86.072 85.299 85.181 84.526 83.949 76.874 76.900 74.738 75.026 75.000 73.991 73.952 72.943 72.890

39 85.404 85.993 85.312 85.115 84.539 83.831 76.847 76.952 74.764 75.066 74.987 73.991 73.912 72.995 72.733

40 85.390 86.046 85.299 85.076 84.513 83.857 76.821 76.821 74.777 75.052 75.013 74.030 73.939 73.061 72.759

41 85.351 86.059 85.325 85.102 84.460 83.779 76.874 76.782 74.764 74.974 74.987 74.070 73.965 73.035 72.773

42 85.338 86.098 85.299 85.115 84.421 83.805 76.821 76.782 74.790 74.987 74.948 73.991 73.926 73.100 72.759

43 85.351 86.072 85.325 85.102 84.473 83.831 76.795 76.703 74.869 74.948 74.974 74.083 73.965 73.139 72.759

44 85.338 86.072 85.351 85.089 84.460 83.818 76.795 76.861 75.013 75.039 74.974 74.096 74.070 73.139 72.628

45 85.351 86.124 85.325 85.063 84.486 83.831 76.808 76.756 74.934 75.000 74.948 74.070 74.030 73.021 72.615

46 85.377 86.124 85.312 85.089 84.434 83.779 76.730 76.769 74.882 75.000 74.908 74.004 73.965 73.087 72.746

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

53

k Jumlah Atribut

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

47 85.351 86.137 85.299 85.050 84.447 83.700 76.730 76.703 74.856 75.026 74.934 74.017 74.004 73.048 72.773

48 85.364 86.150 85.273 85.115 84.316 83.661 76.730 76.730 74.934 75.039 74.961 74.083 74.096 73.113 72.733

49 85.364 86.137 85.233 85.063 84.303 83.661 76.703 76.664 74.974 75.013 74.934 74.057 74.004 73.061 72.694

50 85.364 86.098 85.286 85.102 84.237 83.661 76.743 76.651 74.830 74.987 75.039 74.083 74.044 73.008 72.576

51 85.390 86.111 85.259 85.076 84.290 83.648 76.716 76.690 74.817 74.961 74.974 74.070 74.030 73.035 72.707

52 85.377 86.072 85.325 85.142 84.251 83.687 76.651 76.625 74.830 74.948 74.987 74.083 73.991 73.113 72.759

53 85.404 86.085 85.351 85.076 84.290 83.595 76.677 76.546 74.869 74.987 75.026 74.122 74.044 73.113 72.812

54 85.404 86.059 85.351 85.010 84.237 83.648 76.690 76.599 74.843 75.039 75.000 74.122 74.057 73.166 72.825

55 85.417 86.046 85.364 84.984 84.264 83.569 76.625 76.520 74.803 75.026 74.987 74.201 74.122 73.179 72.877

56 85.417 86.046 85.325 84.958 84.316 83.556 76.664 76.441 74.764 74.948 75.026 74.135 74.057 73.257 72.917

57 85.430 86.059 85.338 84.958 84.237 83.556 76.572 76.441 74.764 74.934 75.039 74.227 74.161 73.126 72.995

58 85.417 86.098 85.259 84.906 84.224 83.530 76.585 76.389 74.830 74.921 75.039 74.122 74.057 73.179 72.904

59 85.430 86.098 85.286 84.945 84.251 83.530 76.507 76.441 74.830 75.000 75.092 74.188 74.109 73.100 72.851

60 85.430 86.098 85.246 84.945 84.224 83.438 76.494 76.389 74.817 75.039 75.039 74.070 74.017 73.100 72.943

61 85.430 86.098 85.259 84.932 84.237 83.464 76.468 76.271 74.895 74.948 75.039 74.122 74.017 73.035 72.995

62 85.417 86.190 85.233 84.919 84.198 83.425 76.402 76.258 74.856 75.052 75.039 74.044 73.965 73.061 72.995

63 85.443 86.177 85.246 84.971 84.185 83.438 76.389 76.323 74.934 75.079 75.039 74.109 73.991 72.995 73.021

64 85.456 86.150 85.246 84.893 84.185 83.477 76.389 76.271 74.934 75.118 75.000 73.965 73.886 73.153 73.139

65 85.417 86.203 85.246 84.840 84.185 83.451 76.310 76.245 75.013 75.092 75.105 74.109 73.978 73.100 73.113

66 85.443 86.177 85.299 84.893 84.198 83.504 76.310 76.140 75.000 75.052 75.079 74.030 73.899 73.100 73.192

67 85.417 86.190 85.273 84.879 84.237 83.425 76.323 76.192 75.000 75.092 75.092 74.161 74.030 73.231 73.100

68 85.456 86.177 85.194 84.840 84.211 83.438 76.245 76.127 75.000 75.039 75.013 74.096 73.978 73.205 73.297

69 85.430 86.190 85.259 84.866 84.198 83.386 76.153 76.166 74.974 75.092 75.105 74.188 74.083 73.336 73.244

70 85.443 86.190 85.312 84.840 84.119 83.386 76.114 76.127 75.000 75.092 75.079 74.057 73.991 73.270 73.323

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

54

Lampiran 2 : Kode Program

1. Source Code Random Undersampling

clc; clear; %% baca data [a b data]=xlsread('pisah.xls'); %baca data yang telah

dipisah berdasar label True dan label False dataTrue=data(1:1908,:); %menyimpan data berlabel True dataFalseMentah=data(1909:end,:); %menyimpan data

berlabel False randomPick1=randsample(size(dataFalseMentah,1),size(dataT

rue,1)*3); %mengambil index random dataFalseFix1=num2cell(rand((size(dataTrue,1)*3),18));

%menyimpan data berlabel False hasil sampling for i=1:size(randomPick1,1) dataFalseFix1(i,:)=dataFalseMentah(randomPick1(i),:);

%mengambil acak sejumlah 3 x jumlah dataTrue untuk

dataFalse baru end %% menggabungkan dataTrue dan dataFalse yang sudah

diseimbangkan 1:3 dataFix1=[dataTrue.' dataFalseFix1.']; dataFix1=dataFix1.'; %% acak keseluruhan data yang sudah diseimbangkan randomPick2=randsample(size(dataFix1,1),size(dataFix1,1))

; dataFix=num2cell(rand((size(dataFix1,1)),18)); for i=1:size(randomPick2,1)

dataFix(i,:)=dataFix1(randomPick2(i),:); end %% menyimpan hasil random sampling xlswrite('random3.xls',dataFix,1);

2. Source Code Transformasi

%baca data %... [num, text, raw] = xlsread('random2.xls');

%menghitung jumlah data revenue = raw(:,18); [m,n] = size(revenue);

%transformasi data kolom 11-Month & 16-Visitor Type dari

kategorikal ke numerikal for i=1:m %transformasi data kolom 11-Month if (strcmp(raw(i,11), 'Jan')) num(i,11) = 1; elseif (strcmp(raw(i,11), 'Feb')) num(i,11) = 2;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

55

elseif (strcmp(raw(i,11), 'Mar')) num(i,11) = 3; elseif (strcmp(raw(i,11), 'Apr')) num(i,11) = 4; elseif(strcmp(raw(i,11), 'May')) num(i,11) = 5; elseif(strcmp(raw(i,11), 'June')) num(i,11) = 6; elseif(strcmp(raw(i,11), 'Jul')) num(i,11) = 7; elseif(strcmp(raw(i,11), 'Aug')) num(i,11) = 8; elseif(strcmp(raw(i,11), 'Sep')) num(i,11) = 9; elseif(strcmp(raw(i,11), 'Oct')) num(i,11) = 10; elseif(strcmp(raw(i,11), 'Nov')) num(i,11) = 11; elseif(strcmp(raw(i,11), 'Dec')) num(i,11) = 12; end %transformasi data kolom 16-Visitor Type if (strcmp(raw(i,16), 'Returning_Visitor')) num(i,16) = 1; elseif(strcmp(raw(i,16), 'New_Visitor')) num(i,16) = 2; elseif(strcmp(raw(i,16), 'Other')) num(i,16) = 3; end end

% normalisasi min max kolom 1-10 admin = min_max(num(:,1)); adminDur = min_max(num(:,2)); info = min_max(num(:,3)); infoDur = min_max(num(:,4)); product = min_max(num(:,5)); productDur = min_max(num(:,6)); bounceRates = min_max(num(:,7)); exitRates = min_max(num(:,8)); pageVal = min_max(num(:,9)); specialDay = min_max(num(:,10)); [m,n] = size(admin); hasilTransformasi = num;

%menyimpan hasil normalisasi ke variabel

hasilTransformasi for i=1:m hasilTransformasi(i,1) = admin(i); hasilTransformasi(i,2) = adminDur(i); hasilTransformasi(i,3) = info(i); hasilTransformasi(i,4) = infoDur(i); hasilTransformasi(i,5) = product(i); hasilTransformasi(i,6) = productDur(i); hasilTransformasi(i,7) = bounceRates(i); hasilTransformasi(i,8) = exitRates(i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

56

hasilTransformasi(i,9) = pageVal(i); hasilTransformasi(i,10) = specialDay(i); end

xlswrite('random2_transformasi.xls', hasilTransformasi,

1); end

3. Source Code Normalisasi Min-Max

function [newValue] = min_max(v_data) % MATH_SCALE_VALUES % Konversi suatu nilai dri range tertentu ke range yang

baru % (originalValue -

minOriginalRange)(maxNewRange - minNewRange) % newValue = -----------------------------------------

-------------------- + minNewRange % (maxOriginalRange -

minOriginalRange)

[m,n] = size(v_data); min_ = min(v_data); % minOriginalRange max_ = max(v_data); % maxOriginalRange nmin = 0; % minNewRange nmax = 1; % maxNewRange newValue = v_data; % v_data = originalValue

for i=1:m newValue(i) = nmin + (((v_data(i) - min_)*(nmax -

nmin))/(max_ - min_)); end end

4. Source Code Klasifikasi W-kNN

function [output] = wknn2(dataTrain, dataTrainLabel,

dataTest, k) [m,n] = size(dataTrainLabel); [o,p] = size(dataTest);

hasil = zeros(1,2);

%modelling for i=1:o sort = zeros(m,2); sort(:,2) = dataTrainLabel; dist = eucDistance(dataTrain,dataTest(i,:)); %mencari

jarak sort(:,1) = dist.'; assignin('base', 'sort', sort) sort = sortrows(sort,1); %mengurutkan jarak secara

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

57

ascending (terkecil ke terbesar) assignin('base', 'sort', sort) true = 0; false = 0; for l=1:k %mengambil k-tetangga terdekat weight = 1/abs(sort(l,1)); %memberikan weight

pada jarak ke l if (sort(l,2)==1) true = true+weight; elseif (sort(l,2)==0) false = false+weight; end end hasil(i,1) = true; hasil(i,2) = false; end

%predict for i=1:o if(hasil(i,1)>hasil(i,2)) output(i) = 1; elseif (hasil(i,1)<=hasil(i,2)) output(i) = 0; end end end

5. Source Code Euclidean Distance

function [eucDist] = eucDistance(Y,X) % MATH_SCALE_VALUES % Mencari jarak euclidean % Y = data train % X = data test

[m,n] = size(X); [o,p] = size(Y);

%menghitung euclidean distance masing-masing data uji ke

data latih for i=1:o a = 0; for j=1:n a = a + ((X(m,j) - Y(i,j)) .^ 2); end eucDist(i) = sqrt(a); end

6. Source Code 3-fold

clear data = xlsread('random2.xls'); k = 65; %jumlah k tetangga untuk knn

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

58

%rangking = [9,8,6,7,5,1,11,2,15,3,4,16,10,12,17]; atribut = [9,8]; %atribut yg digunakan 9,8

%3-fold cross validation fold = 3; [m,n] = size(data); range = round(m/fold);

for i=1:fold trueLabels = data(range*(i-1)+1:(range*i),18);

%menyimpan label sebenarnya dari data pada fold ke-i

dataTest = data(range*(i-1)+1:(range*i),atribut);

%menyimpan data test fold ke-i

dataTrain = data; dataTrain(range*(i-1)+1:(range*i),:) = []; dataTrainLabel = dataTrain(:,18); %menyimpan label

data training untuk fold ke-i dataTrain = dataTrain(:,atribut); %menyimpan data

training pada fold ke-i sudah dipisah dengan data test

p = wknn2(dataTrain, dataTrainLabel, dataTest,k);

%melakukan klasifikasi wknn untuk fold ke-i predictedLabels = transpose(p); %menyimpan hasil

prediksi label dari klasifikasi fold ke-i

c = confusionmat(trueLabels,predictedLabels);

%menyimpan hasil confusion matriks untuk hasil fold ke-i akurasi(i)=(sum(diag(c)))/range*100; %menghitung

akurasi dari klasifikasi fold ke-i berdasarkan hasil

confusion matrix end

akurasiTot = sum(akurasi)/fold; %menghitung akurasi

keseluruhan dari klasifikasi wknn 10-fold cross

validation

7. Source Code GUI

a) wknn.m

function varargout = wknn(varargin) % WKNNBUTTON MATLAB code for wknnButton.fig ... % End initialization code - DO NOT EDIT

% --- Executes just before wknnButton is made visible. function wknn_OpeningFcn(hObject, eventdata, handles,

varargin) % This function has no outputtext args, see OutputFcn. ...

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

59

% Choose default command line outputtext for wknnButton handles.Output = hObject;

% Update handles structure guidata(hObject, handles);

namaFile = get(handles.namaFile, 'String');

if (isempty(namaFile)) %mengecek bila belum ada data yang diinput maka

tombol lihatData, %transformasi, dan wknn di-disable set(handles.lihatDataButton,'Enable','off'); set(handles.transformasiButton,'Enable','off'); set(handles.wknnButton,'Enable','off'); else %bila sudah ada data yang diinput, tombol lihatData,

transformasi, dan %wknn di-enable set(handles.lihatDataButton,'Enable','on'); set(handles.transformasiButton,'Enable','on'); set(handles.wknnButton,'Enable','on'); end

% UIWAIT makes wknnButton wait for user response (see

UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the

command line. function varargout = wknn_OutputFcn(hObject, eventdata,

handles) % varargout cell array for returning outputtext args

(see VARARGOUT); ... % Get default command line outputtext from handles

structure varargout{1} = handles.Output;

% --- Executes on button press in uploadFileButton. function uploadFileButton_Callback(hObject, eventdata,

handles) % hObject handle to uploadFileButton (see GCBO) ... % handles structure with handles and user data (see

GUIDATA) [filename, filepath] = uigetfile([{'*.xls','XLS

Only'};{'*.xlsx','XLSX Only'}],'Pilih File'); clear global; global num; global raw;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

60

fullname = strcat(filepath, filename); if (~(isempty(fullname))) [num, text, raw] = xlsread(fullname); set(handles.namaFile,'String', filename); setappdata(0,'num',num); setappdata(0,'raw',raw); refreshdata(wknn); end

function namaFile_Callback(hObject, eventdata, handles) % hObject handle to namaFile (see GCBO) ... % Hints: get(hObject,'String') returns contents of

namaFile as text % str2double(get(hObject,'String')) returns

contents of namaFile as a double refreshdata(wknn);

% --- Executes during object creation, after setting all

properties. function namaFile_CreateFcn(hObject, eventdata, handles) % hObject handle to namaFile (see GCBO) ... % Hint: edit controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in lihatDataButton. function lihatDataButton_Callback(hObject, eventdata,

handles) % hObject handle to lihatDataButton (see GCBO) ... % handles structure with handles and user data (see

GUIDATA) lihatData;

% --- Executes on button press in transformasiButton. function transformasiButton_Callback(hObject, eventdata,

handles) % hObject handle to transformasiButton (see GCBO) ... % handles structure with handles and user data (see

GUIDATA) global num; global raw; revenue = raw(:,18); [m,n] = size(revenue);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

61

%transformasi data kolom 11-Month & 16-Visitor Type dari

kategorikal ke numerikal for i=1:m %transformasi data kolom 11-Month , min_max if (strcmp(raw(i,11), 'Jan')) num(i,11) = 1; elseif (strcmp(raw(i,11), 'Feb')) num(i,11) = 2; elseif (strcmp(raw(i,11), 'Mar')) num(i,11) = 3; elseif (strcmp(raw(i,11), 'Apr')) num(i,Jan11) = 4; elseif(strcmp(raw(i,11), 'May')) num(i,11) = 5; elseif(strcmp(raw(i,11), 'June')) num(i,11) = 6; elseif(strcmp(raw(i,11), 'Jul')) num(i,11) = 7; elseif(strcmp(raw(i,11), 'Aug')) num(i,11) = 8; elseif(strcmp(raw(i,11), 'Sep')) num(i,11) = 9; elseif(strcmp(raw(i,11), 'Oct')) num(i,11) = 10; elseif(strcmp(raw(i,11), 'Nov')) num(i,11) = 11; elseif(strcmp(raw(i,11), 'Dec')) num(i,11) = 12; end %transformasi data kolom 16-Visitor Type if (strcmp(raw(i,16), 'Returning_Visitor')) num(i,16) = 1; elseif(strcmp(raw(i,16), 'New_Visitor')) num(i,16) = 2; elseif(strcmp(raw(i,16), 'Other')) num(i,16) = 3; end end

% normalisasi min max kolom 1-10 admin = min_max(num(:,1)); adminDur = min_max(num(:,2)); info = min_max(num(:,3)); infoDur = min_max(num(:,4)); product = min_max(num(:,5)); productDur = min_max(num(:,6)); bounceRates = min_max(num(:,7)); exitRates = min_max(num(:,8)); pageVal = min_max(num(:,9)); specialDay = min_max(num(:,10)); [m,n] = size(admin);

global hasilTransformasi; hasilTransformasi = num; for i=1:m

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

62

hasilTransformasi(i,1) = admin(i); hasilTransformasi(i,2) = adminDur(i); hasilTransformasi(i,3) = info(i); hasilTransformasi(i,4) = infoDur(i); hasilTransformasi(i,5) = product(i); hasilTransformasi(i,6) = productDur(i); hasilTransformasi(i,7) = bounceRates(i); hasilTransformasi(i,8) = exitRates(i); hasilTransformasi(i,9) = pageVal(i); hasilTransformasi(i,10) = specialDay(i); end setappdata(0,'hasilTransformasi',hasilTransformasi); transformasiData

function k_Callback(hObject, eventdata, handles) % hObject handle to k (see GCBO) ... % Hints: get(hObject,'String') returns contents of k as

text % str2double(get(hObject,'String')) returns

contents of k as a double

% --- Executes during object creation, after setting all

properties. function k_CreateFcn(hObject, eventdata, handles) % hObject handle to k (see GCBO) ... % Hint: edit controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in jumlahAtribut. function jumlahAtribut_Callback(hObject, eventdata,

handles) % hObject handle to jumlahAtribut (see GCBO) ... % Hints: contents = cellstr(get(hObject,'String'))

returns jumlahAtribut contents as cell array % contents{get(hObject,'Value')} returns selected

item from jumlahAtribut

% --- Executes during object creation, after setting all

properties. function jumlahAtribut_CreateFcn(hObject, eventdata,

handles) % hObject handle to jumlahAtribut (see GCBO) ...

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

63

% Hint: popupmenu controls usually have a white

background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

set(hObject, 'String', {'1', '2', '3', '4', '5', '6',

'7', '8', '9', '10', '11', '12', '13', '14', '15'});

% --- Executes on button press in wknnButton. function wknnButton_Callback(hObject, eventdata, handles) % hObject handle to wknnButton (see GCBO) % eventdata reserved - to be defined in a future version

of MATLAB % handles structure with handles and user data (see

GUIDATA) refreshdata(wknn);

global hasilTransformasi; global num;

data = [];

if (isempty(hasilTransformasi)) data = num; else data = hasilTransformasi; end

k = str2double(get(handles.k, 'String')); %jumlah k

tetangga untuk knn jumlahAtribut =(get(handles.jumlahAtribut, 'Value')); rangking = [9,8,6,7,5,1,11,2,15,3,4,16,10,12,17]; namaAtribut = {'Page Values', 'Exit Rates', 'Product

Related Duration', 'Bounce Rates', 'Product

Related','Administrative', 'Month', 'Administrative

Duration', 'Traffic Type', 'Informational',

'Informational Duration','Visitor Type', 'Special Day',

'Operating Systems', 'Weekend'}; atribut = rangking(:,1:jumlahAtribut); [m,n] = size(data);

%% outputText output = sprintf('%s===Weighted %d-Nearest

Neighbor===\n', '', k); output = sprintf('%sJumlah data : %d\n', output, m); output = sprintf('%sAtribut \t : %d\n', output,

jumlahAtribut);

for i=1:jumlahAtribut output = sprintf('%s ', output,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

64

char(namaAtribut(:,i))); output = sprintf('%s %d\n', output, ''); end

output = sprintf('%s\n===3-fold Cross Validation===%d\n',

output, ''); output = sprintf('%s==Confusion Matrix==%d\n\n', output,

'');

%% 3-fold cross validation fold = 3; [m,n] = size(data); range = round(m/fold);

for i=1:fold output = sprintf('%sFold %d\n', output, i); output = sprintf('%s a b \t\t <--

diklasifikasikan sebagai%d\n', output, '');

trueLabels = data(range*(i-1)+1:(range*i),18);

%menyimpan label sebenarnya dari data pada fold ke-i dataTest = data(range*(i-1)+1:(range*i),atribut);

%menyimpan data test fold ke-i dataTrain = data; dataTrain(range*(i-1)+1:(range*i),:) = []; dataTrainLabel = dataTrain(:,18); %menyimpan

label data training untuk fold ke-i dataTrain = dataTrain(:,atribut); %menyimpan data

training pada fold ke-i sudah dipisah dengan data test

p = wknn2(dataTrain, dataTrainLabel, dataTest,

k); %melakukan klasifikasi wknn untuk fold ke-i

predictedLabels = transpose(p); %menyimpan hasil

prediksi label dari klasifikasi fold ke-i c = confusionmat(trueLabels,predictedLabels);

%menyimpan hasil confusion matriks untuk hasil fold ke-i % assignin('base', 'c',c); d = [c(2,2) c(2,1); c(1,2) c(1,1)]; g = num2str(d);

[m,n] = size(g); if(m==1) h = sprintf('%s', '', g(1,:)); h = sprintf('%s 0\t | a = FALSE %d\n', h,

''); h = sprintf('%s 0 0 \t | b = TRUE %d\n', h,

''); else h = sprintf('%s', '', g(1,:)); h = sprintf('%s \t | a = TRUE %d\n', h, ''); h = sprintf('%s', h, g(2,:)); h = sprintf('%s \t | b = FALSE %d\n', h, ''); end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

65

output = sprintf('%s', output, h);

akurasi(i)=(sum(diag(c)))/range*100; %menghitung

akurasi dari klasifikasi fold ke-i berdasarkan hasil

confusion matrix

output = sprintf('%sAkurasi : %.4f%% \n\n',

output, akurasi(i)); end

akurasiTot = sum(akurasi)/fold; %menghitung akurasi

keseluruhan dari klasifikasi wknn 3-fold cross validation output = sprintf('%sAkurasi Keseluruhan = %.4f%% \n',

output, akurasiTot); set(handles.outputText,'String',output);

function pageValues_Callback(hObject, eventdata, handles) % hObject handle to pageValues (see GCBO) ... % Hints: get(hObject,'String') returns contents of

pageValues as text % str2double(get(hObject,'String')) returns

contents of pageValues as a double

% --- Executes during object creation, after setting all

properties. function pageValues_CreateFcn(hObject, eventdata,

handles) % hObject handle to pageValues (see GCBO) ... % Hint: edit controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function exitRates_Callback(hObject, eventdata, handles) % hObject handle to exitRates (see GCBO) ... % Hints: get(hObject,'String') returns contents of

exitRates as text % str2double(get(hObject,'String')) returns

contents of exitRates as a double

% --- Executes during object creation, after setting all

properties. function exitRates_CreateFcn(hObject, eventdata, handles)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

66

% hObject handle to exitRates (see GCBO) ... % Hint: edit controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in uploadDataUjiButton. function uploadDataUjiButton_Callback(hObject, eventdata,

handles) % hObject handle to uploadDataUjiButton (see GCBO) ... % handles structure with handles and user data (see

GUIDATA) set(handles.tabelHasil,'data',''); [filename, filepath] = uigetfile([{'*.xls','XLS

Only'};{'*.xlsx','XLSX Only'}],'Pilih File'); global dataTestU; fullname = strcat(filepath, filename); if(~(isempty(fullname))) [num, text, raw] = xlsread(fullname);

if((size(num,2)>2)) dataTestU = [num(:,9) num(:,8)]; else dataTestU = [num(:,1) num(:,2)]; end if((size(dataTestU,1)==1)) set(handles.pageValues,'String',

dataTestU(:,1)); set(handles.exitRates,'String', dataTestU(:,2)); end refreshdata(wknn); end

% --- Executes on button press in tesButton. function tesButton_Callback(hObject, eventdata, handles) % hObject handle to tesButton (see GCBO) ... % handles structure with handles and user data (see

GUIDATA) set(handles.tabelHasil,'data',''); global dataTestU; k = 65; %jumlah k tetangga untuk wknn if((size(dataTestU,1)==1)||(isempty(dataTestU))) input1 = str2double(get(handles.pageValues,

'String')); input2 = str2double(get(handles.exitRates,

'String')); dataTest = [input1 input2]; else

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

67

set(handles.pageValues,'String', '0'); set(handles.exitRates,'String', '0'); dataTest = dataTestU; end

dataTestU = []; dataTrainT = []; dataTestT = [];

load dataTrain.mat;

for j = 1:size(dataTest,1) num = [cell2mat(dataTrain(:,[9,8]));dataTest(j,:)];

%menggabungkan dataTrain dan dataTest untuk dinormalisasi

seluruhnya

% normalisasi min max kolom 1-2 pageVal = min_max(num(:,1)); exitRates = min_max(num(:,2));

[m,n] = size(pageVal); transformasi = num;

%menyimpan hasil normalisasi ke variabel transformasi for i=1:m transformasi(i,1) = pageVal(i); transformasi(i,2) = exitRates(i); end

dataTrainT{1,j} = transformasi(1:7622,:); %menyimpan

hasil normalisasi untuk data train dataTestT(j,:) = transformasi(7623,:); %menyimpan hasil

normalisasi untuk data test end

dataTrainLabel = cell2mat(dataTrain(:,18)); [m,n] = size(dataTestT);

for i=1:m output(i) = wknn2(cell2mat(dataTrainT(1,i)),

dataTrainLabel, dataTestT(i,:), k); %melakukan

klasifikasi wknn terhadap data test if output(i)==1 hasil(i,1) = {'User berpotensi membeli

barang online'}; else hasil(i,1) = {'User tidak berpotensi membeli

barang online'}; end end

dataTest1 = num2cell(dataTest); dataTest1(:,3) = hasil; output = dataTest1;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

68

set(handles.tabelHasil,'ColumnName',{'Page Values', 'Exit

Rates','Hasil Klasifikasi'}); set(handles.tabelHasil,'ColumnWidth',{'auto', 'auto',

300}); set(handles.tabelHasil,'ColumnFormat',{'short', 'short',

'long'}); set(handles.tabelHasil,'data',output);

xlswrite('hasil.xls', output, 1);

% --- Executes on button press in resetButton. function resetButton_Callback(hObject, eventdata,

handles) % hObject handle to resetButton (see GCBO) ... % handles structure with handles and user data (see

GUIDATA) set(handles.pageValues,'String', '0'); set(handles.exitRates,'String', '0'); set(handles.tabelHasil,'data','');

% --- Executes during object deletion, before destroying

properties. function tabelHasil_DeleteFcn(hObject, eventdata, ~) % hObject handle to tabelHasil (see GCBO) ... % handles structure with handles and user data (see

GUIDATA)

% --- Executes when user attempts to close figure1. function figure1_CloseRequestFcn(hObject, eventdata,

handles) % hObject handle to figure1 (see GCBO) ... % Hint: delete(hObject) closes the figure clear global; delete(hObject);

% --- Executes during object creation, after setting all

properties. function text89_CreateFcn(hObject, eventdata, handles) % hObject handle to text89 (see GCBO) ...

% Hint: edit controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

69

% --- Executes during object creation, after setting all

properties. function text99_CreateFcn(hObject, eventdata, handles) % hObject handle to text99 (see GCBO) ... % Hint: edit controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all

properties. function text16_CreateFcn(hObject, eventdata, handles) % hObject handle to text16 (see GCBO) ... % Hint: edit controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

b) lihatData.m

function varargout = lihatData(varargin) % LIHATDATA MATLAB code for lihatData.fig % LIHATDATA, by itself, creates a new LIHATDATA or

raises the existing ... % End initialization code - DO NOT EDIT

% --- Executes just before lihatData is made visible. function lihatData_OpeningFcn(hObject, eventdata,

handles, varargin) % This function has no output args, see OutputFcn. ... % Choose default command line output for lihatData handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% get the handle of Gui1 % if exists (not empty) % if ~isempty(h) % % get handles and other user-defined data

associated to Gui1 % g1data = guidata(h);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

70

% % maybe you want to set the text in Gui2 with that

from Gui1

% % maybe you want to get some data that was saved to

the Gui1 app raw = getappdata(0, 'raw');

set(handles.tabelData,'ColumnName',{'Administrative',

'Administrative Duration', 'Informational',

'Informational Duration', 'Product Related', 'Product

Related Duration', 'Bounce Rates', 'Exit Rates', 'Page

Values', 'Special Day', 'Month', 'OS', 'Browser',

'Region', 'Traffic Type', 'Visitor Type', 'Weekend',

'Revenue'});

set(handles.tabelData,'data',raw); % end

% UIWAIT makes lihatData wait for user response (see

UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the

command line. function varargout = lihatData_OutputFcn(hObject,

eventdata, handles) % varargout cell array for returning output args (see

VARARGOUT); ... % handles structure with handles and user data (see

GUIDATA) h = findobj('tag', 'wknn'); % Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes on button press in transformasiButton. function transformasiButton_Callback(hObject, eventdata,

handles) % hObject handle to transformasiButton (see GCBO) % eventdata reserved - to be defined in a future version

of MATLAB % handles structure with handles and user data (see

GUIDATA)

raw = getappdata(0, 'raw'); num = getappdata(0, 'num'); revenue = raw(:,18); [m,n] = size(revenue);

%transformasi data kolom 11-Month & 16-Visitor Type dari

kategorikal ke numerikal for i=1:m %transformasi data kolom 11-Month , min_max if (strcmp(raw(i,11), 'Jan')) num(i,11) = 1;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

71

elseif (strcmp(raw(i,11), 'Feb')) num(i,11) = 2; elseif (strcmp(raw(i,11), 'Mar')) num(i,11) = 3; elseif (strcmp(raw(i,11), 'Apr')) num(i,Jan11) = 4; elseif(strcmp(raw(i,11), 'May')) num(i,11) = 5; elseif(strcmp(raw(i,11), 'June')) num(i,11) = 6; elseif(strcmp(raw(i,11), 'Jul')) num(i,11) = 7; elseif(strcmp(raw(i,11), 'Aug')) num(i,11) = 8; elseif(strcmp(raw(i,11), 'Sep')) num(i,11) = 9; elseif(strcmp(raw(i,11), 'Oct')) num(i,11) = 10; elseif(strcmp(raw(i,11), 'Nov')) num(i,11) = 11; elseif(strcmp(raw(i,11), 'Dec')) num(i,11) = 12; end %transformasi data kolom 16-Visitor Type if (strcmp(raw(i,16), 'Returning_Visitor')) num(i,16) = 1; elseif(strcmp(raw(i,16), 'New_Visitor')) num(i,16) = 2; elseif(strcmp(raw(i,16), 'Other')) num(i,16) = 3; end end

% normalisasi min max kolom 1-10 admin = min_max(num(:,1)); adminDur = min_max(num(:,2)); info = min_max(num(:,3)); infoDur = min_max(num(:,4)); product = min_max(num(:,5)); productDur = min_max(num(:,6)); bounceRates = min_max(num(:,7)); exitRates = min_max(num(:,8)); pageVal = min_max(num(:,9)); specialDay = min_max(num(:,10)); [m,n] = size(admin);

global hasilTransformasi; hasilTransformasi = num; for i=1:m hasilTransformasi(i,1) = admin(i); hasilTransformasi(i,2) = adminDur(i); hasilTransformasi(i,3) = info(i); hasilTransformasi(i,4) = infoDur(i); hasilTransformasi(i,5) = product(i); hasilTransformasi(i,6) = productDur(i); hasilTransformasi(i,7) = bounceRates(i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

72

hasilTransformasi(i,8) = exitRates(i); hasilTransformasi(i,9) = pageVal(i); hasilTransformasi(i,10) = specialDay(i); end setappdata(0,'hasilTransformasi',hasilTransformasi); transformasiData;

% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata,

handles) % hObject handle to pushbutton2 (see GCBO) ... % handles structure with handles and user data (see

GUIDATA)

c) transformasiData.m

function varargout = transformasiData(varargin) % TRANSFORMASIDATA MATLAB code for transformasiData.fig % TRANSFORMASIDATA, by itself, creates a new

TRANSFORMASIDATA or raises the existing % singleton*. ... % End initialization code - DO NOT EDIT

% --- Executes just before transformasiData is made

visible. function transformasiData_OpeningFcn(hObject, eventdata,

handles, varargin) % This function has no output args, see OutputFcn. ... % varargin command line arguments to transformasiData

(see VARARGIN)

% Choose default command line output for transformasiData handles.output = hObject;

% Update handles structure guidata(hObject, handles);

hasilTransformasi = getappdata(0, 'hasilTransformasi');

set(handles.tabelTransformasi,'ColumnName',{'Administrati

ve', 'Administrative Duration', 'Informational',

'Informational Duration', 'Product Related', 'Product

Related Duration', 'Bounce Rates', 'Exit Rates', 'Page

Values', 'Special Day', 'Month', 'OS', 'Browser',

'Region', 'Traffic Type', 'Visitor Type', 'Weekend',

'Revenue'}); set(handles.tabelTransformasi,'data',hasilTransformasi);

% UIWAIT makes transformasiData wait for user response

(see UIRESUME)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: KLASIFIKASI USER YANG BERPOTENSI MELAKUKAN PEMBELIAN ...repository.usd.ac.id/37791/2/165314121_full.pdf · Keluaran dari sistem ini adalah klasifikasi user yang berpotensi melakukan

73

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the

command line. function varargout = transformasiData_OutputFcn(hObject,

eventdata, handles) % varargout cell array for returning output args (see

VARARGOUT); ... % handles structure with handles and user data (see

GUIDATA) h = findobj('tag', 'wknn'); h = findobj('tag', 'lihatData'); % Get default command line output from handles structure varargout{1} = handles.output;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI