Penambangan data Query pada situs web dengan menggunakan Algoritma Decision Tree : studi kasus www.inkuiri.com.

(1)

ABSTRAK

Data minning adalah suatu istilah yang digunakan untuk menguraikan penemuan pengetahuan di dalam database. Data minning berisi pencarian trend atau pola yang diinginkan dalam database besar untuk membantu pengambilan keputusan. Dalam penulisan tugas akhir ini menggunakan implementasi dari algoritma ID3. Dengan menggunakan algoritma ID3 dapat digunakan untuk menambang data query pada situs website. Situs www.inkuiri.com adalah sebuah situs yang digunakan untuk pencarian barang yang terdiri dari beberapa kategori, diantaranya adalah fashion, smartphone, motorbike dan talisman. Data yang digunakan terdiri dari 5 atribut yaitu : interest (main), type, city, waktu dan bulan. Hasil akhir yang akan didapat adalah pola interest user yang melakukan query.

Pengujian dilakukan dengan menggunakan 500 data baru. Hasil rata – rata nilai akurasi dengan 10 kali pengujian adalah sebesar 19 %.


(2)

ABSTRACT

Data Minning is a term used to describe the knowledge discovery in databases . Data Minning unbiased search trend or a desired pattern in a large database to help make decisions . In this thesis using an implementation of the algorithm ID3 . By using ID3 algorithm can be used for data mining queries on the web site . Www.inkuiri.com sites is a site used for the search item consists of several categories , including fashion , smartphone , motorbike and talisman . The data used consists of five attributes , namely : interest ( main) , type, city, time and month . The final results will be obtained is user interest patterns that do queries .

Tests carried out using 500 new data . Average yield - average value of accuracy with 10 times the test is 19% .


(3)

Decision Tree

Studi Kasus : www.inkuiri.com Skripsi

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Oleh :

Yustina Dyah Utami

115314094

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(4)

ii

Data Mining Query on a Site Website Using Decision Tree Algorithm

Studi Kasus : www.inkuiri.com A Thesis

Presented As Partial Fullfillment of the Requirements To Obtain the Sarjana Komputer Degree

By :

Yustina Dyah Utami

Student Number 115314094

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA


(5)

(6)

iv


(7)

v

HALAMAN PERSEMBAHAN

“7Mintalah, maka akan diberikan kepadamu; carilah, maka kamu akan mendapat; ketoklah, maka pintu akan dibukakan bagimu. 8Karena setiap orang yang meminta, menerima dan setiap orang yang mencari, mendapat

dan setiap orang yang mengetok, baginya pintu dibukakan.” (Matius 7 : 7 – 8)

Tugas akhir ini saya persembahkan kepada :

Tuhan Yesus Kristus

Terimakasih atas berkatNya yang sungguh luar biasa sehingga tugas akhir ini dapat terselesaikan.

Bapak (alm) dan Ibu

Terimakasih atas dukungan dan doa yang diberikan kepada penulis.

Kakak tercinta

Terimakasih untuk dukungan, doa, dan semangat yang diberikan kepada penulis.


(8)

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 19 Februari 2016 Penulis,


(9)

vii

ABSTRAK

Data minning adalah suatu istilah yang digunakan untuk menguraikan penemuan pengetahuan di dalam database. Data minning berisi pencarian trend atau pola yang diinginkan dalam database besar untuk membantu pengambilan keputusan. Dalam penulisan tugas akhir ini menggunakan implementasi dari algoritma ID3. Dengan menggunakan algoritma ID3 dapat digunakan untuk menambang data query pada situs website. Situs www.inkuiri.com adalah sebuah situs yang digunakan untuk pencarian barang yang terdiri dari beberapa kategori, diantaranya adalah fashion, smartphone, motorbike dan talisman. Data yang digunakan terdiri dari 5 atribut yaitu : interest (main), type, city, waktu dan bulan. Hasil akhir yang akan didapat adalah pola interest user yang melakukan query.

Pengujian dilakukan dengan menggunakan 500 data baru. Hasil rata – rata nilai akurasi dengan 10 kali pengujian adalah sebesar 19 %.


(10)

viii

ABSTRACT

Data Minning is a term used to describe the knowledge discovery in databases . Data Minning unbiased search trend or a desired pattern in a large database to help make decisions . In this thesis using an implementation of the algorithm ID3 . By using ID3 algorithm can be used for data mining queries on the web site . Www.inkuiri.com sites is a site used for the search item consists of several categories , including fashion , smartphone , motorbike and talisman . The data used consists of five attributes , namely : interest ( main) , type, city, time and month . The final results will be obtained is user interest patterns that do queries .

Tests carried out using 500 new data . Average yield - average value of accuracy with 10 times the test is 19% .


(11)

ix

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Yustina Dyah Utami

Nomor Mahasiswa : 115314094

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :

Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision Tree

(Studi Kasus : www.inkuiri.com)

beserta perangkat yang diperlukan. Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penuulis.

Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di Yogyakarta

Pada tanggal : 19 Februari 2016 Yang menyatakan,


(12)

x

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, yang telah melimpahkan berkat dan rahmatNya sehingga penulis dapat menyelesaikan tugas akhir

yang berjudul “Penambangan Data Query pada Situs Web dengan Menggunakan

Algoritma Decision Tree”. Tugas akhir ini ditulis sebagai salah satu syarat memperoleh gelar sarjana program studi Teknik Informatika, Fakultas Sains dan Teknologi Universitas Sanata Dharma.

Dalam kesempatan ini, penulis mengucapkan terimakasih banyak kepada : 1. Tuhan Yesus Kristus yang telah menuntun dan memberikan berkat yang melimpah

dan solusi terbaik sehingga tugas akhir ini dapat terselesaikan.

2. Ibu Sri Hartati Wijono, S.Si M.Kom, selaku Dosen Pembimbing atas segala waktu, kesabaran, serta memberi kritik dan saran yang membangun dalam membantu penyelesaian tugas akhir ini.

3. Mas Audris yang telah memberikan solusi dalam penyelesaian tugas akhir ini.

4. Kedua orangtua, Bapak (Alm.) T. Marto Atmodjo dan Ibu Martina Rumiyati yang selalu bersabar membimbing penulis dan mendoakan penulis.

5. Kakak yang terkasih Mbak Brigitta Deni Suka Prastiwi, Mas Bernard Puji Haryanto dan ponakan tersayang adik Imanuel Nicky Genta Sangkara yang selalu memberikan semangat kepada penulis.


(13)

xi memberikan solusi dan berbagi keluh kesah.

7. Sahabat terkasih, Agnes Alfani Restu Putri yang selalu setia menemani untuk saling berbagi berbagai hal.

8. Bulan Mahadewi dan Monica Susi Diatmasari yang sudah banyak saling berbagi hal mengenai kuliah dan berjuang bersama.

9. Teman – teman Teknik Informatika 2011, terkhusus untuk anggota C++ yang telah sama – sama berjuang dan saling menyemangati dan memberi inspirasi.

10. Seluruh staff pengajar Prodi Teknik Informatika yang telah memberikan ilmu pengetahuan yang sangat berguna bagi penulis.

11. Semua pihak yang telah membantu, yang tidak dapat disebutkan satu per satu.

Penulis menyadari masih banyak kekurangan dalam penyusunan tugas akhir ini. Namun penulis berharap tugas ini bermanfaat bagi pengembangan ilmu pengetahuan.

Yogyakarta, 05 Februari 2016


(14)

xii

DAFTAR ISI

HALAMAN PERSEMBAHAN ... v

PERNYATAAN KEASLIAN KARYA ... vi

ABSTRAK ... vii

ABSTRACT ... viii

LEMBAR PERNYATAAN PERSETUJUAN ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xii

DAFTAR GAMBAR ... xv

DAFTAR TABEL ... xvi

BAB I ... 1

PENDAHULUAN ... 1

1.1 Latar belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Tujuan Penelitian ... 4

1.4 Manfaat ... 4

1.5 Batasan Masalah ... 4

1.6 Luaran ... 4

1.7 Sistematika Penulisan ... 5

BAB II ... 6

LANDASAN TEORI ... 6

2.1 Penambangan Data (Data Mining) ... 6


(15)

xiii

2.4 Decision Tree (Pohon Keputusan) ... 9

2.5 Kegunaan Pohon Keputusan... 11

2.6 Kelebihan dan kekurangan dari Decision Tree (Pohon Keputusan) ... 11

2.6.1 Kelebihan Decision Tree (Pohon Keputusan) ... 11

2.6.2 Kekurangan Decision Tree (Pohon Keputusan) ... 12

2.7 Algoritma Decision Tree (Pohon Keputusan) ... 12

2.8 Perhitungan Akurasi ... 13

BAB III ... 14

Identifikasi Perhitungan dengan Decision Tree ... 14

3.1 Pengenalan Data ... 14

3.2 Pemrosesan data... 17

3.3 Proses Perhitungan Algoritma ID3 ... 22

3.4 Output Sistem ... 23

3.5 Diagram Use Case ... 24

3.5.1 Narasi Use Case ... 24

3.6 Contoh Proses Perhitungan Data ... 28

3.7 Perancangan Umum Sistem ... 48

3.7.1 Masukkan Sistem ... 48

3.7.2 Perancangan antar muka dengan user ... 49

3.8 Diagram Kelas ... 52

3.8.1 Diagram Kelas Use case Login ... 52

3.8.2 Diagram Kelas Use case Masukkan Data ... 54


(16)

xiv

4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak... 56

4.2 Implementasi Pemrosesan Data ... 56

4.2.1 Pembersihan Data ... 56

4.3 Implementasi Use Case ... 65

4.4 Implementasi Diagram Kelas ... 74

BAB V ... 75

PENGUJIAN DATA ... 75

5.1 Pengujian Data ... 75

5.3 Menghitung akurasi ... 76

5.4 Kelebihan dan Kekurangan Program ... 84

BAB VI ... 85

KESIMPULAN dan SARAN ... 85

6.1 Kesimpulan ... 85

6.2 Saran... 85

Daftar Pustaka ... 86

LAMPIRAN 1 ... 87

LAMPIRAN 2 ... 111


(17)

xv

DAFTAR GAMBAR

Gambar 2. 1 Bidang Ilmu Data Minning... 7

Gambar 2. 2 Blok Diagram Model Klasifikasi ... 8

Gambar 3. 1 Flowchart Decision Tree ... 23

Gambar 3. 2 Diagram Use Case ... 24

Gambar 3. 3 Bentuk awal pohon dengan gain tertinggi waktu ... 33

Gambar 3. 4 Pembentukkan pohon untuk cabang malam ... 34

Gambar 3. 5 Pembentukan pohon untuk cabang pagi ... 36

Gambar 3. 6 Pembentukan pohon untuk cabang pagi dan city Jakarta... 37

Gambar 3. 7 Pembentukan pohon untuk atribut bulan ... 39

Gambar 3. 8 Pembentukan pohon untuk cabang awal ... 41

Gambar 3. 9 Pembentukan pohon untuk bulan awal dan type Smartphone ... 42

Gambar 3. 10 Pembentukan pohon untuk cabang tengah ... 44

Gambar 3. 11 Pembentukkan pohon untuk cabang akhir ... 45

Gambar 3. 12 Diagram Kelas Use Case Login ... 53

Gambar 3. 13 Diagram Kelas Use Case Masukkan Data ... 54

Gambar 3. 14 Diagram Kelas Pengujian ... 55

Gambar 4. 1 Halaman FormLogin ... 66

Gambar 4. 2 Pemberitahuan berhasil login ... 66

Gambar 4. 3 Form Halaman Utama ... 67

Gambar 4. 4 Halaman tab menu data ... 68

Gambar 4. 5 Halaman File Chooser untuk mengambil data ... 68

Gambar 4. 6 Data yang sudah berhasil ditampilkan ... 69

Gambar 4. 7 Hasil pohon keputusan ... 71

Gambar 4. 8 Halaman Prediksi ... 72


(18)

xvi

DAFTAR TABEL

Tabel 3. 1 Tabel atribut data mentah... 14

Tabel 3. 2 Aturan Transformasi Data _source_created ... 19

Tabel 3. 3 Tabel Variabel Input ... 20

Tabel 3. 4 Tabel data yang akan diolah ... 28

Tabel 3. 5 Tabel pengelompokkan data dari setiap atribut... 30

Tabel 3. 6 Tabel perhitungan nilai entropy semua atribut ... 31

Tabel 3. 7 Perhitungan data pada cabang malam ... 33

Tabel 3. 8 Perhitungan data pada cabang pagi ... 35

Tabel 3. 9 Perhitungan data pada cabang Jakarta ... 36

Tabel 3. 10 Perhitungan data pada cabang siang ... 38

Tabel 3. 11 Perhitungan data pada cabang awal ... 40

Tabel 3. 12 Perhitungan data pada cabang Smartphone ... 41

Tabel 3. 13 Perhitungan data pada cabang tengah ... 43

Tabel 3. 14 Perhitungan data pada cabang akhir ... 44

Tabel 3. 15 Penjelasan atribut masukkan sistem ... 48

Tabel 4. 1 Contoh data yang sudah dilakukan pembersihan ... 57

Tabel 4. 2 Contoh file dari kategori fashion ... 57

Tabel 4. 3 Contoh file dari kategori smartphone ... 58

Tabel 4. 4 Contoh file dari kategori motorbike ... 58

Tabel 4. 5 Contoh file dari kategori talisman ... 59

Tabel 4. 6 Contoh file yang telah digabungkan ... 59

Tabel 4. 7 Nama – nama atribut yang belum diseleksi ... 60

Tabel 4. 8 Hasil nama atribut yang telah diseleksi ... 61


(19)

xvii

Tabel 5. 1 Hasil Pengujian ke - 1 ... 77

Tabel 5. 2 Hasil Pengujian ke - 2 ... 77

Tabel 5. 3 Hasil Pengujian ke - 3 ... 78

Tabel 5. 4 Hasil Pengujian ke - 4 ... 79

Tabel 5. 5 Hasil Pengujian ke - 5 ... 79

Tabel 5. 6 Hasil Pengujian ke - 6 ... 80

Tabel 5. 7 Hasil Pengujian ke - 7 ... 81

Tabel 5. 8 Hasil Pengujian ke - 8 ... 81

Tabel 5. 9 Hasil Pengujian ke - 9 ... 82

Tabel 5. 10 Hasil Pengujian ke - 10 ... 83


(20)

BAB I

PENDAHULUAN

1.1 Latar belakang

Saat ini, dunia teknologi berkembang dengan sangat pesat. Manusia, semakin dimudahkan untuk melakukan pekerjaan dengan menggunkan teknologi yang berkembang saat ini. Dari sisi komunikasi perkembangan teknologi paling mudah kita dapat, kita lihat, dan kita rasakan. Saat ini, banyak sekali smartphone yang dijual dipasaran. Setiap perusahaan smartphone bersaing untuk memasarkan produk – produk yang mereka miliki. Perusahaan pun, semakin melengkapi produknya dengan berbagai macam aplikasi yang semakin memudahkan manusia untuk berkomunikasi.

Di jaman yang serba instant ini, manusia semakin ingin mendapatkan barang atau pun jasa dengan mudah. Hal ini yang memotivasi dunia pasar untuk ikut berkembang. Oleh sebab itu, kegiatan jual beli kini banyak dilakukan secara online, seiring dengan berkembangnya teknologi. Saat ini, jual beli online banyak kita temui, dan dengan mudah kita bisa membeli barang yang kita inginkan.

Proses datamining juga diperlukan untuk menyelesaikan permasalahan atau menjawab kebutuhan bisnis itu sendiri, misalnya : Bagaimana


(21)

mengetahui hilangnya pelanggan karena pesaing? Bagaimana mengetahui item produk atau konsumen yang memiliki kesamaan karakteristik? Bagaimana mengidentifikasi produk-produk yang terjual bersamaan dengan produk lain. Bagaimana memprediksi tingkat penjualan? Bagaimana menilai tingkat resiko dalam menentukan jumlah produksi suatu item. Bagaimana memprediksi perilaku bisnis di masa yang akan datang?

Situs www.inkuiri.com adalah sebuah situs website yang digunakan untuk pencarian barang yang terdiri dari beberapa kategori yang beberapa diantaranya yaitu fashion, smartphone, motorbike, dan talisman. Kita dapat mengetikkan nama barang yang ingin kita cari pada tempat yang telah disediakan oleh website, atau bisa terlebih dahulu memilih kategori – kategori yang telah disediakan oleh website, kemudian sistem akan melakukan pencarian pada beberapa situs yang berhubungan dengan kata yang dimasukkan. Selain memasukkan nama barang yang akan dicari, pengguna juga dapat memilih barang yang dicari berupa barang bekas atau barang baru, pengguna juga dapat memilih kisaran harga yang pengguna inginkan. Selanjutnya, sistem akan melakukan pencarian dan menampilkan hasil dari pencarian tersebut lengkap dengan nama situs. Setelah itu, pengguna juga dapat memilih situs yang akan dituju untuk mencari barang yang pengguna inginkan. Hal ini dibuat agar lebih memudahkan pengguna untuk mencari situs sesuai dengan barang yang mereka cari. Pengunjung website juga dapat mencari lokasi barang yang akan dicari, seperti misalnya kota Jakarta, Surabaya, Yogyakarta dan sebagainya.


(22)

Dari banyaknya pengunjung yang mengakses website inkuiri.com, maka ada informasi yang menyimpan data yang dapat ditambang. Berdasarkan data yang ada tersebut, data yang dapat ditambang adalah query dari pencarian yang telah dimasukkan oleh pengguna. Query tersebut berupa data barang seperti;

“jam tangan endogawa”, “lipstick”, hp android, batu bacan, velg motor dan

sebagainya. Hasil dari query tersebut kemudian dikelompokkan menjadi 4 kategori yaitu fashion, smartphone, motorbike, dan talisman. Selain hasil dari query, data lain yang dapat ditambang adalah nama kota dimana sedang dilakukan pencarian, type (perangkat) yang sedang digunakan untuk melakukan pencarian, waktu (pagi, siang atau malam) melakukan pencarian, dan bulan (awal, pertengahan, atau akhir) melakukan pencarian.

Dalam penelitian ini, penulis akan mengolah data dengan menggunakan algoritma Decision Tree. Pertama, dipilih data yang relevan yang dapat digunakan untuk penelitian ini. Kedua, data yang sudah jadi diolah ke dalam sistem yang akan melakukan perhitungan sesuai dengan algoritma ID3. Ketiga, setelah tree (pohon) terbentuk maka akan dilakukan pengujian data untuk mengetahui keakuratan (akurasi) data.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, maka permasalahan yang akan diselesaikan dalam penelitian ini, adalah :

1. Apakah algoritma ID3 dapat memberikan pola user yang melakukan query untuk interest tertentu?


(23)

2. Apakah algoritma ID3 mempunyai keakuratan yang baik dalam mengelompokkan query dalam sebuah situs data pencarian?

1.3 Tujuan Penelitian

Tujuan dari penelitian yang akan dibuat adalah :

Membantu perusahaan untuk mengetahui pola user yang melakukan query untuk interest tertentu.

1.4 Manfaat

Manfaat yang akan diperoleh adalah :

Perusahaan dapat mengetahui pola interestuser yang melakukan query.

1.5 Batasan Masalah

Berikut adalah batasan masalah dalam penelitian Tugas Akhir :

1. User harus lebih spesifik lagi dalam menuliskan kata kunci pencarian barang agar barang yang dicari dapat ditemukan dengan tepat.

2. Dalam penelitian yang dibuat ini hanya 4 kategori yang digunakan yaitu, fashion, smartphone, motorbike dan talisman.

1.6 Luaran

Luaran yang diharapkan adalah terbentuk pola user yang melakukan query dengan interest tertentu.


(24)

1.7 Sistematika Penulisan

Bab I Pendahuluan

Bab ini berisi mengenai hal yang mendasari dilakukannya penelitian ini. Dalam bab ini juga terdapat beberapa hal yang meliputi; perumusan masalah, tujuan, batasan masalah, manfaat penelitian dan sistematika penulisan.

Bab II Landasan Teori

Bab ini berisi mengenai penjelasan dasar teori – teori yang dipakai dalam penelitian ini. Algoritma decision tree akan lebih banyak dijelaskan pada bab ini.

Bab III Identifikasi Perhitungan dengan Decision Tree

Bab ini berisi mengenai pemrosesan data awal dan desain user interface. Bab IV Implementasi

Bab ini berisi implementasi program yang merupakan penerapan langsung dari algoritma yang dipakai dalam penelitian ini, yaitu algoritma decision tree. Bab V Pengujian Data

Bab ini berisi mengenai pengujian data dan mendapatkan hasil akurasi Bab VI Kesimpulan dan Saran

Bab ini berisi mengenai keimpulan dan saran dari penelitian yang dilakukan ini.


(25)

BAB II

LANDASAN TEORI

2.1Penambangan Data (Data Mining)

Data minning adalah suatu istilah yang digunakan untuk menguraikan penemuan pengetahuan di dalam database.Data minning adalah proses yang menggunakan teknik statistic, matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi dan mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai database besar (Turban, dkk. 2005).

Data mining berisi pencarian trend atau pola yang diinginkan dalam database besar untuk membantu pengambilan keputusan di waktu yang akan datang. Pola – pola ini dikenali oleh perangkat tertentu yang dapat memberikan suatu analisa data yang berguna dan berwawasan yang kemudian dapat dipelajari dengan lebih teliti, yang mungkin saja menggunakann perangkat pendukung keputusan yang lainnya. Bidang Ilmu Data Minning dapat dilihat seperti pada Gambar 2.1.


(26)

Gambar 2. 1 Bidang Ilmu Data Minning

2.2Tahap – tahap pada Penambangan Data

Secara sistematis, ada tiga langkah utama dalam data mining (Gonunseca, 2011) :

1. Eksplorasi/pemrosesan awal data

Eksplorasi /pemrosesan awal data terdiri dari pembersihan data, normalisasi data, transformasi data, penanganan data yang salah, reduksi dimensi,pemilihan subset fitur, dan sebagainya.

2. Membangun model dan melakukan validasi terhadapnya 3. Penerapan


(27)

2.3Teknik Klasifikasi

Klasifikasi merupakan proses pembelajaran suatu fungsi tujuan (target) f yang memetakan tiap himpunan atribut x ke satu dari label kelas y. Fungsi target disebut juga model klasifikasi. Blok diagram model klasifikasi dapat dilihat seperti pada Gambar 2.2.

Input Output

Atribute set (x) Class

Tabel (y)

Gambar 2. 2 Blok Diagram Model Klasifikasi

Ada 2 jenis model Klasifikasi, yaitu :

Pemodelan Deskriptif (descriptive modelling)

Model klasifikasi yang dapat berfungsi sebgai suatu alat penjelasan untuk membedakan objek – objek dalam kelas – kelas yang berbeda.  Pemodelan Prediktif (predictive modeling)

Model klasifikasi yang dapat digunakan untuk memprediksi label kelas recod yang tidak diketahui.

Teknik klasifikasi (classifier) merupakan suatu pendekatan sistematis untuk membangun model klasifikasi dari suatu himpunan data masukan. Tiap

Classification Model


(28)

teknik menggunakan suatu algoritma pembelajaran (learning algorithm) untuk mendapatkan suatu model yang paling memenuhi hubungan antara himpunan atribut dan label kelas dalam data masukan. Masukan dari model klasifikasi merupakan sekumpulan record (training set). Tiap record meliputi himpunan attributes, yang salah satu atributnya merupakan class. Model untuk atribut kelas merupakan suatu fungsi dari nilai – nilai atribut lainnya. Suatu test set digunakan untuk menentukan keakuratan model tersebut. Biasanya data – set yang diberikan dibagi menjadi training dan test sets, dimana training set digunakan untuk membangun model dan test set digunakan untuk memvalidasi.

2.4Decision Tree (Pohon Keputusan)

Pohon (tree) adalah sebuah struktur data yang terdiri dari simpul (node) dan rusuk (edge). Simpul pada sebuah pohon dibedakan menjadi tiga, yaitu simpul akar (root node), simpul percabangan/internal (branch/internal node) dan simpul daun (leaf node). Pohon keputusan merupakan representasi sederhana dari teknik klasifikasi untuk sejumlah kelas berhingga, dimana simpul internal maupun simpul akar ditandai dengan nama atribut, rusuk – rusuknya diberi label nilai atribut yang mungkin dan simpul daun ditandai dengan kelas – kelas yang berbeda.

Sebuah pohon keputusan adalah sebuah struktur yang dapat digunakan untuk membagi kumpulan data yang besar menjadi himpunan – himpunan record yang lebih kecil dengan menerapkan serangkaian aturan keputusan. Dengan masing –


(29)

masing rangkaian pembagian,anggota himpunan hasil menjadi mirip satu dengan yang lain (Berry& Linoff, 2004).

Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut – atribut yang ada. Untuk menhitung gain digunakan rumus seperti tertera dalam persamaan :

(2.1)

Keterangan :

S : himpunan kasus n : jumlah partisi S

pi : proporsi dari Si terhadap S

Sementara itu, perhitungan nilai entropi dapat dilihat pada persamaan berikut :

(2.2) Keterangan :

S : himpunan kasus A : atribut

n : jumlah partisi atribut A |Si| : jumlah kasus pada partisi ke-i |S| : jumlah kasus dalam S


(30)

2.5Kegunaan Pohon Keputusan

Prosedur diagram pohon dapat digunakan untuk : 1. Segmentasi

Mengidentifikasi orang – orang yang dapat dimasukkan ke dalam kelompok tertentu.

2. Stratifikasi

Mengenakan kasus – kasus (data) ke dalam satu dari beberapa kategori, seperti kelompok – kelompok yang berisiko rendah, menengah dan tinggi. 3. Prediksi

Membuat aturan dan menggunakan aturan tersebut untuk memprediksi kejadian – kejadian di masa yang akan datang.

4. Pengurangan data dan penyaringan variabel

Memilih prediktor – prediktor yang bermanfaat dari seperangkat variabel untuk digunakan dalam membuat model parametric baku.

5. Penggabungan kategori dan diskretisasi variabel – variabel kontinu Mengode ulang kategori – kategori prediktor dalam kelompok dan variabel kontinu dengan meminimisasi hilangnya informasi dikarenakan proses diskretisasi.

2.6Kelebihan dan kekurangan dari Decision Tree (Pohon Keputusan)

2.6.1 Kelebihan Decision Tree (Pohon Keputusan)

1. Berguna dalam mengeksplorasi data, sehingga data yang tersembunyi bisa diolah dan dikembangkan lagi.


(31)

2. Untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simple sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan.

3. Bisa dijadikan sebagai tool pengambilan keputusan terakhir.

4. Mengubah keputusan yang kompleks menjadi lebih simple, spesifik dan mudah.

2.6.2 Kekurangan Decision Tree (Pohon Keputusan)

1. Kesulitan dalam mendesain pohon keputusan yang optimal.

2. Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain.

3. Terjadi overlap terutama ketika kelas – kelas dan kriteria yang digunakan jumlahnya sangat banyak.

4. Pengakumulasian jumlah error dari setiap tingkat dalam sebuah pohon keputusan yang besar.

2.7Algoritma Decision Tree (Pohon Keputusan)

Algoritma ID3

1. Dimulai dari node akar.

2. Untuk semua fitur, hitung nilai entropy untuk semua sampel (data latih) pada node.


(32)

4. Lakukan secara rekursif pada setiap cabang yang dibuat dengan mengulangi langkah 2 sampai 4 hingga semua data dalam setiap node hanya memberikan satu label kelas. Node yang tidak dapat dipecah lagi merupakan daun yang berisi keputusan (label kelas).

2.8Perhitungan Akurasi

Untuk menghitung nilai akurasi, maka digunakan rumus sebagai berikut :

� � �= � ℎ_� _� �_


(33)

BAB III

Identifikasi Perhitungan dengan Decision Tree

3.1Pengenalan Data

Www.inkuiri.com adalah sebuah situs pencarian yang digunakan untuk mencari beberapa barang yang diinginkan oleh pengguna. Dari query – query yang dimasukkan oleh pengguna maka data tersebut tersimpan dalam database. Ada 43 atribut yang dapat dilihat dari setiap query yang dimasukkan oleh pengguna. Dari 43 atribut tersebut akan dipilih beberapa yang dapat digunakan untuk penelitian tugas akhir ini. Data yang diperoleh dari perusahaan www.inkuiri.com berupa file spreadsheet. Kemudian data tersebut diolah dengan beberapa tahapan yang akan menghasilkan aturan – aturan untuk klasifikasi.

Pada penelitian yang dilakukan ini menggunakan data yang di dapat dari www.inkuiri.com. Data yang digunakan adalah data query hasil dari pencarian kata yang dimasukkan oleh user. Atribut data mentah yang diperoleh dari perusahaan www.inkuiri.com seperti pada Tabel 3.1.

Tabel 3. 1 Tabel atribut data mentah

No Nama atribut Keterangan Nilai

1 took

2 timed_out

3 |


(34)

5 successful

6 failed

7 max_score

8 ||

9 _index

10 _type

11 _id Atribut ini

menyimpan identitas unik dari pelanggan

QY62awHOTtGlVurnGd_On w

12 _score

13 _source__audience__interest

Atribut ini menyimpan kategori pencarian

Fashion, Smartphone, Motorbike, Talisman 14 _source__audience__econo my 15 _source__audience__age

16 _source__banner_id

17 _source__device__family 18 _source__device__name 19 _source__device__type Atribut ini

menyimpan data perangkat yang digunakan untuk pencarian

Personal computer, Smartphone, Tabelt

20 _source__filter__category 21 _source__filter__location Atribut ini

menyimpan data lokasi dimana sedang

melakukan pencarian

Indonesia

22 _source__filter__period 23 _source__filter__price Atribut ini

menyimpan data harga yang dicari

100000000:250000000, 250000000:500000000, 100000:1000000, 0:100000, dll 24 _source__filter__site Atribut ini

menyimpan data

kaskus.co.id, tokobagus.com,


(35)

website yang dituju marketnesia.com, bukalapak.com, tokopedia.com, olx.co.id, berniaga.com, 25 _source__ip Atribut ini

menyimpan data ip user 116.68.250.254,203.176.18 1.33, 202.67.40.50, 36.71.41.243, dll 26 _source__location__country_ code

Atribut ini menyimpan data kode negara

ID, EU,US, BD, SG, A1, A2, GB, CN, MO, dll

27

_source__location__country_ name

Atribut ini menyimpan data nama negara

Indonesia, United State, Europe, China, Anonymous Proxy, Singapore, Bangladesh,

United Kingdom, Macau, dll 28 _source__location__region Atribut ini

menyimpan data region negara

2, 4, 8, CA, 30, OR, 81, 10, 14, 32, 7, 11, 40, 26, 38, 22, 37, VA, dll

29 _source__location__city Atribut ini menyimpan data nama kota

Surabaya, Jakarta, Denpaasar, Mountain View, Bandung,

Tejgaon, Beijing, dll 30 _source__location__latlong0

01

Atribut ini menyimpan data titik koordinat

112.7508, 106.4989, 120, -97, dll

31 _source__location__latlong0 02

Atribut ini menyimpan data titik kooerdinat

-7.2492, -6.3433 -5,38, dll

32 _source__page Atribut ini menyimpan data halaman yang dituju

1,2,3,4,5,6,7,8,9

33 _source__query Atribut ini menyimpan data query yang dimasukkan oleh user

Lipstick, jam tangan, velg, hp android, batu bacan, dll

34 _source__profile_id Atribut ini menyimpan data profile_id

54ae4a4c2c3ee4.74521373 ,


(36)

dll 35 _source__session_id 36 _source__created Atribut ini

menyimpan data waktu

1420709262000, dll

37 _source__os__family Atribut ini menyimpan data os_family

Windows, Ios, Android

38 _source__os__name Atribut ini menyimpan data os_name

Browser, Mobile browser

39 _source__user_agent__famil y

Atribut ini menyimpan data browser yang digunakan oleh user

Chrome, Chrome mobile, Firefox, Opera mini, dll

40 _source__user_agent__type 41 _source__user_agent__user_

agent

42 _source__filter__location- 43 _source__filter__category-

3.2Pemrosesan data

Sebelum data diolah dengan menggunakan sistem, terlebih dahulu dilakukan beberapa tahap sebagai pemrosesan data awal yaitu sebagai berikut :

1. Pembersihan Data

Pada tahap pembersihan data akan dilakukan penghapusan data yang bernilai null atau kosong. Pada setiap fitur yang bernilai null atau kosong maka semua data yang ada di dalamnya akan dihapus.


(37)

2. Integrasi Data

Pada tahap integrasi data ini dilakukan penggabungan data dari beberapa file menjadi satu tabel yang utuh. Data yang dikumpulkan berasal dari beberapa file yang berbeda sehingga harus digabungkan agar sesuai untuk ditambang.

3. Penyeleksian Data

Pada tahap penyeleksian data ini dilakukan pembuangan data yang tidak diperlukan seperti data – data yang tidak relevan untuk penelitian ini. Atribut – atribut yang dihapus adalah took, timed out, |, total,successfull,failed,max_score,||,_index,_type,_id,_score,_source__aud ience__economy,_source__audience__age,_source__banner_id,_source__ device__family,_source__device__name_source__filter__category,_sourc e__filter__location,_source__filter__location,_source__filter__price,_sour ce__filter__site,_source__ip,_source__location__country_code,_source__ location__country_name,_source__location__region,_source__location__l atlong001,_source__location__latlong002,_source__page,_source__query ,_source__profile_id,_source__profile_id,_source_created02,_source_crea ted03,_source__os__family,_source__os__name,_source__user_agent__f amily,_source__user_agent__type,_source__filter__locati_source__user_a gent__user_agent,_source__filter__categ_source__filter__location-ory, _source__filter__categ_source__filter__location-ory-. Atribut – atribut


(38)

tersebut dihapus atau dilakukan pembuangan karena dianggap tidak dapat dijadikan sebagai variable untuk menentukan pencarian pola.

Data yang diperoleh setelah dilakukan tahap penyeleksian data adalah _source_audience_interest, _source_device_type, _source_location_city, dan _source_created.

4. Transformasi Data

Pada tahap ini dilakukan peringkasan data, dari data mentah menjadi data yang mudah dikelola. Pada penelitian ini tranformasi data yang dilakukan adalah atribut _source_created. Atribut tersebut berupa angka yang kemudian diolah menjadi waktu dan bulan. Waktu berupa : pagi, siang dan malam, sedangkan bulan berupa : awal, tengah dan akhir. Aturan transformasi data seperti pada Tabel 3.2.

Tabel 3. 2 Aturan Transformasi Data _source_created

_source_created aturan

waktu 00:00 am - 08:00 am pagi

08:01 am - 16:00 pm siang 16:00 pm - 23:59 pm malam

bulan 1-10 awal

11-20 tengah


(39)

5. Penambangan data

Setelah dilakukan beberapa tahapan tersebut di atas, selanjutnya data yang sudah jadi diolah menggunakan algoritma ID3. Contoh variabel input yang dimasukkan dalam algoritma ID3 seperti pada Tabel 3.3.

Tabel 3. 3 Tabel Variabel Input

Interest type city waktu bulan

Fashion Personal computer Surabaya siang awal Fashion Smartphone Jakarta siang awal Fashion Personal computer Surabaya siang awal Fashion Personal computer Denpasar siang awal Fashion Personal computer Jakarta siang awal Fashion Smartphone Mountain View siang awal Fashion Smartphone Jakarta siang awal Fashion Personal computer Jakarta pagi awal Fashion Personal computer Jakarta pagi awal Fashion Personal computer Jakarta pagi awal Smartphone Smartphone Jakarta siang awal Smartphone Tabelt Jakarta siang awal Smartphone Tabelt Jakarta siang awal Smartphone Smartphone Jakarta siang tengah Smartphone Smartphone Jakarta siang tengah Smartphone Personal computer Pekanbaru siang akhir Smartphone Personal computer Kudus siang akhir Smartphone Personal computer Pekanbaru siang akhir


(40)

V a r i a b e l o u t V A

Variabel input : aturan yang ditemukan dalam pencarian pola klasifikasi pencarian situs website.

Smartphone Smartphone San Mateo malam akhir Smartphone Personal computer Surabaya malam akhir Motorbike Tabelt Depok malam awal Motorbike Tabelt Depok malam awal Motorbike Tabelt Depok malam awal Motorbike Smartphone Jakarta malam awal Motorbike Smartphone Jakarta malam tengah Motorbike Smartphone Jakarta malam tengah Motorbike Smartphone Jakarta malam tengah Motorbike Smartphone Jakarta malam akhir Motorbike Smartphone Jakarta malam akhir Motorbike Smartphone Jakarta malam akhir Talisman Personal computer Surabaya pagi awal Talisman Personal computer Jakarta pagi awal Talisman Personal computer Jakarta pagi awal Talisman Personal computer Surabaya pagi awal Talisman Personal computer Denpasar pagi awal Talisman Smartphone Denpasar pagi tengah Talisman Smartphone Denpasar siang tengah Talisman Smartphone Surabaya siang tengah Talisman Smartphone Surabaya siang akhir Talisman Smartphone Jakarta siang akhir


(41)

6. Evaluasi Pola

Pada tahap perbaikan ini dilakukan pengujian pola dengan persamaan 2.3.

7. Presentasi Pengetahuan

Akhir dari penelitian yang akan dilakukan adalah membuat aplikasi dengan tampilan antarmuka yang mudah dimengerti oleh pengguna.

3.3Proses Perhitungan Algoritma ID3

Data yang telah dimasukkan pada sistem selanjutnya akan diproses oleh sistem dengan menggunakan algoritma ID3. Proses yang dilakukan oleh sistem adalah sebagai berikut :

1. Memasukkan username dan password untuk masuk ke sistem. 2. Memasukkan data berupa spread sheet.

3. Pembentukan pohon berawal dari menghitung nilai entropy untuk node akar (semua data) terhadap komposisi kelas. Selanjutnya menghitung nilai entropy untuk setiap nilai atribut terhadap kelas.

4. Setelah perhitunganentropy selesai selanjutnya menghitung nilai gain untuk setiap atribut.

5. Dari perhitungangain maka akan mendapatkan nilai paling besar diantara atribut – atribut tersebut dan dijadikan sebagai node akar.

6. Sistem akan terus menghitung nilai entropy dan gain maksimal sampai terbentuk node akhir.


(42)

7. Setelah sistem selesai menghitung maka akan ditampilkan hasil pohon yang terbentuk.

Flowchart perhitungan ID3 :

Flowchart perhitungan ID3 seperti pada gambar 3.1. Start

Memasukkan data training

Data training

query

Menghitung nilai entropy

Menghitung nilai gain

Buat Simpul

Pohon keputusan

Generate Rule

Selesai

Iterasi

Gambar 3. 1 Flowchart Decision Tree

3.4Output Sistem

Hasil keluaran sistem :

1. Menampilkan hasil dari pohon keputusan. 2. Hasil prediksi pengujian


(43)

3.5Diagram Use Case

Diagram use case untuk sistem yang dibuat seperti pada Gambar 3.2. Login

Masukkan Data

Pengujian

Logout Pre- Proses

Modelling

Gambar 3. 2 Diagram Use Case

3.5.1 Narasi Use Case

Nama use case : Login Aktor : Pengguna


(44)

Deskripsi : Use case ini berfungsi untuk meningkatkan keamanan sistem dengan membandingkan username dan password yang dimasukkan pengguna. Skenario :

Nama use case : Masukkan data Aktor : Pengguna

Deskripsi : Use case ini berfungsi untuk memasukkan dan menampilkan data yang akan diolah oleh sistem.

Aksi Aktor Reaksi Sistem

1. User mengetikkan username dan password di form login lalu klik tombol login.

2. Sistem membandingkan username dan password yang dimasukkan user dengan username dan password di tabel user.


(45)

Skenario :

Nama use case : Modelling Aktor : Sistem

Deskripsi : Use case ini berfungsi untuk melakukan perhitungan data dan membangun tree.

Aksi Aktor Reaksi Sistem

1. Pengguna memasukkan data dengan menekan tombol browser.

2. Pengguna memilih file data yang akan digunakan.

3. Pengguna menekan tombol tampilkan.

4. Sistem menampilkan data. 5. Pengguna menekan tombol


(46)

Skenario :

Nama use case: Pengujian Aktor : Pengguna

Deskripsi : Use case ini berfungsi untuk melakukan pengujian data. Skenario :

Aksi Aktor Reaksi Sistem

1. Sistem mengolah data untuk mendapatkan informasi nilai entropy dan nilai gain tertinggi yang dicari. 2. Sistem menampilkan hasil perhitungan

data.

3. Sistem menampilkan hasil pembentukan pola.

Aksi Aktor Reaksi Sistem

1. Sistem menampilkan halaman utama. 2. Pengguna memilih tab menu

prediksi.


(47)

3.6Contoh Proses Perhitungan Data

Data yang digunakan dalam penelitian ini adalah data dari sebuah situs www.inkuiri.com. Dalam paparan di bawah ini digunakan data berjumlah 40, yang terdiri dari 4 kategori yaitu :fashion, smartphone, motorbike dan talisman.

Contoh data yang akan diolah seperti pada Tabel 3.4. Tabel 3. 4 Tabel data yang akan diolah

Interest type city waktu bulan

Fashion Personal computer Surabaya siang awal Fashion Smartphone Jakarta siang awal Fashion Personal computer Surabaya siang awal Fashion Personal computer Denpasar siang awal Fashion Personal computer Jakarta siang awal Fashion Smartphone Mountain View siang awal Fashion Smartphone Jakarta siang awal Fashion Personal computer Jakarta pagi awal Fashion Personal computer Jakarta pagi awal Fashion Personal computer Jakarta pagi awal Smartphone Smartphone Jakarta siang awal 4. Pengguna menekan tombol

Pengujian.


(48)

Smartphone Tabelt Jakarta siang awal Smartphone Tabelt Jakarta siang awal Smartphone Smartphone Jakarta siang tengah Smartphone Smartphone Jakarta siang tengah Smartphone Personal computer Pekanbaru siang akhir Smartphone Personal computer Kudus siang akhir Smartphone Personal computer Pekanbaru siang akhir Smartphone Smartphone San Mateo malam akhir Smartphone Personal computer Surabaya malam akhir Motorbike Tabelt Depok malam awal Motorbike Tabelt Depok malam awal Motorbike Tabelt Depok malam awal Motorbike Smartphone Jakarta malam awal Motorbike Smartphone Jakarta malam tengah Motorbike Smartphone Jakarta malam tengah Motorbike Smartphone Jakarta malam tengah Motorbike Smartphone Jakarta malam akhir Motorbike Smartphone Jakarta malam akhir Motorbike Smartphone Jakarta malam akhir Talisman Personal computer Surabaya pagi awal Talisman Personal computer Jakarta pagi awal Talisman Personal computer Jakarta pagi awal Talisman Personal computer Surabaya pagi awal Talisman Personal computer Denpasar pagi awal Talisman Smartphone Denpasar pagi tengah Talisman Smartphone Denpasar siang tengah Talisman Smartphone Surabaya siang tengah Talisman Smartphone Surabaya siang akhir Talisman Smartphone Jakarta siang akhir


(49)

Setelah memperoleh data seperti di atas, selanjutnya data dikelompokkan berdasarkan nilai dalam setiap atribut seperti pada Tabel 3.5.

Tabel 3. 5 Tabel pengelompokkan data dari setiap atribut

Nama

atribut Keterangan

Jumlah dalam kategori

Total Fashion Smartphone Motorbike Talisman

Interest TOTAL 10 10 10 10 40

type

Personal

Computer 7 4 0 5 17

Smartphone 3 4 7 5 19

Tabelt 0 2 3 0 5

city Surabaya 1 1 0 4 6

Jakarta 6 5 7 3 21

Denpasar 2 0 0 3 5

Mountain

View 1 1 0 0 2

Pekanbaru 0 2 0 0 2

Kudus 0 1 0 0 1

San Mateo 0 1 0 0 1

Depok 0 0 3 0 3

waktu pagi 3 0 0 6 9

siang 7 8 0 4 19


(50)

bulan awal 10 3 4 5 22

tengah 0 2 3 3 8

akhir 0 5 3 2 10

Setelah data dikelompokan, untuk mengetahui node pertama terlebih dulu hitung nilai entropy dari setiap atribut berdasarkan data yang telah dikelompokan dengan menggunakan Persamaan 2.2.

Entropy(semua) = - (( p (fashion|semua) x log2 p (fashion|semua)) + ( p (smartphone|semua) xlog2 p (smarthphone|semua)) + ( p (motorbike|semua) x log2 p (motorbike|semua)) + ( p (talisman|semua) x log2 p (talisman|semua)))

= - (((10/40) x log2 (10/40)) + ((10/40) x log2 (10/40)) + ((10/40) x log2 (10/40)) + (10/40) x log2 (10/40)))= 2

Setelah mendapatkan nilai entropy dan nilaigain dari semua data maka selanjutnya dihitung nilai entopry untuk setiap atribut yang ada. Hasil nilai gain yang paling besar akan dijadikan sebagai node akar. Hasil perhitungan nilai entropy dari semua atribut dapat dilihat pada Tabel 3.6.

Tabel 3. 6 Tabel perhitungan nilai entropy semua atribut

Node Jumlah F S M T Entropy Gain

1 Total 40 10 10 10 10 2

type 0.345


(51)

computer

Smartphone 19 3 4 7 5 1.93

Tabelt 5 0 2 3 0 0.969

city 0.629

Surabaya 6 1 1 0 4 1.248

Jakarta 21 6 5 7 3 1.93 Denpasar 5 2 0 0 3 0.969 Mountain

View 2 1 1 0 0 1

Pekanbaru 2 0 2 0 0 0

Kudus 1 0 1 0 0 0

San Mateo 1 0 1 0 0 0

Depok 3 0 0 3 0 0

waktu 0.882

pagi 9 3 0 0 6 0.918

siang 19 7 8 0 4 1.517

malam 12 0 2 10 0 0.64

bulan 0.313

awal 22 10 3 4 5 1.829

tengah 8 0 2 3 3 1,562

akhir 10 0 5 3 2 1.483

Berdasarkan hasil perhitungan di atas nilai gain tertinggi ada pada atribut waktu. Maka, atribut waktu dijadikan sebagai node akar. Untuk cabangnya

digunakan 3 nilai di dalam node akar, yaitu „siang‟, „pagi‟, dan „malam‟.Dan


(52)

waktu

? ?

?

pagi

siang malam

Gambar 3. 3 Bentuk awal pohon dengan gain tertinggi waktu

Dalam perhitungan entropy dan gain berikutnya, atribut waktu tidak dilibatkan. Lakukan pengelompokkan kembali untuk node internal di cabang malam, sehingga di dapat hasil seperti Tabel 3.7.

Tabel 3. 7 Perhitungan data pada cabang malam

Node Jumlah F S M T Entropy Gain

2 Total 12 0 2 10 0 0.64

type 0.278

Personal

computer 1 0 1 0 0 0

Smartphone 8 0 1 7 0 0.543

Tabelt 3 0 0 3 0 0

city 0.64

Surabaya 1 0 1 0 0 0

Jakarta 7 0 0 7 0 0

Denpasar 0 0 0 0 0 0 Mountain

View 0 0 0 0 0 0


(53)

Kudus 0 0 0 0 0 0 San Mateo 1 0 1 0 0 0

Depok 3 0 0 3 0 0

bulan 0.102

awal 4 0 0 4 0 0

tengah 3 0 0 3 0 0

akhir 5 0 2 3 0 0.969

Berdasarkan hasil perhitungan di atas nilai gain tertinggi ada pada atribut city. Maka, atribut city dijadikan sebagai node akar pada cabang malam. Untuk cabangnya digunakan 4 nilai didalam node akar, yaitu „San Mateo‟, „Surabaya‟,

„Depok‟ dan „Jakarta‟. Lakukan juga klasifikasi pada tiap cabang yang ada. Dan

pohon yang terbentuk seperti Gambar 3.4. waktu

? city

?

pagi

siang malam

San Mateo

Surabaya

Depok

Jakarta

Smartphone Smartphone Motorbike Motorbike

Gambar 3. 4 Pembentukkan pohon untuk cabang malam

Lakukan pengelompokkan kembali untuk node internal di cabang pagi, sehingga di dapat hasil seperti Tabel 3.8.


(54)

Tabel 3. 8 Perhitungan data pada cabang pagi

Node Jumlah F S M T Entropy Gain

3 Total 9 3 0 0 6 0.918

type 0.074

Personal

computer 8 3 0 0 5 0.951

Smartphone 1 0 0 0 1 0

Tabelt 0 0 0 0 0 0

city 0.38

Surabaya 2 0 0 0 2 0

Jakarta 5 3 0 0 2 0.97

Denpasar 2 0 0 0 2 0

Mountain

View 0 0 0 0 0 0

Pekanbaru 0 0 0 0 0 0

Kudus 0 0 0 0 0 0

San Mateo 0 0 0 0 0 0

Depok 0 0 0 0 0 0

bulan 0.074

awal 8 3 0 0 5 0.951

tengah 1 0 0 0 1 0

akhir 0 0 0 0 0 0

Berdasarkan hasil perhitungan di atas nilai gain tertinggi ada pada atribut city. Maka, atribut city dijadikan sebagai node akar pada cabang pagi. Untuk


(55)

cabangnya digunakan 3 nilai didalam node akar, yaitu „Jakarta‟, „Denpasar‟, dan

„Surabaya‟.Dan pohon yang terbentuk seperti Gambar 3.5.

waktu

city city

?

pagi

siang malam

San Mateo

Surabaya

Depok

Jakarta

? Surabaya

Jakarta Denpasar

Talisman Talisman

Smartphone Smartphone Motorbike Motorbike

Gambar 3. 5 Pembentukan pohon untuk cabang pagi

Untuk node city dengan cabang Jakarta harus dilakukan perhitungan kembali karena masih belum terklasifikasi kedalam satu kelas keputusan, sehingga masih harus dilakukan proses pencarian node selanjutnya. Hasil perhitungan nilai untuk cabang Jakarta dapat dilihat pada Tabel 3.9.

Tabel 3. 9 Perhitungan data pada cabang Jakarta

Node Jumlah F S M T Entropy Gain

4 Total 5 3 0 0 2 0.97

type 0

Personal


(56)

Smartphone 0 0 0 0 0

Tabelt 0 0 0 0 0

bulan 0

awal 5 3 0 0 2 0.97

tengah 0 0 0 0 0

akhir 0 0 0 0 0

Untuk hasil perhitungan dari cabang Jakarta ternyata didapat nilai yang sama antara atribut type dan atribut bulan. Maka, untuk berikutnya diambil atribut yang terletak lebih awal, yaitu atribut type. Setelah atribut type menjadi node maka diambil atribut yang kedua yaitu bulan. Dan pohon yang terbentuk seperti Gambar 3.6.

waktu

city city

?

pagi

siang malam

San Mateo

Surabaya Depok

Jakarta

type Surabaya

Jakarta Denpasar

Personal Computer

bulan awal

Fashion

Talisman Talisman

Smartphone Smartphone Motorbike Motorbike


(57)

Lakukan pengelompokkan kembali untuk node internal di cabang siang, sehingga di dapat hasil seperti pada Tabel 3.10.

Tabel 3. 10 Perhitungan data pada cabang siang

Node Jumlah F S M T Entropy Gain

5 Total 19 7 8 0 4 1.517

type 0.332

Personal

computer 7 4 3 0 0 0.982

Smartphone 10 3 3 0 4 1.566 Tabelt 2 0 2 0 0 0

city 0.563

Surabaya 4 2 0 0 2 1

Jakarta 9 3 5 0 1 1.35 Denpasar 2 1 0 0 1 1 Mountain

View 1 1 0 0 0 0

Pekanbaru 2 0 2 0 0 0

Kudus 1 0 1 0 0 0

San Mateo 0 0 0 0 0 0

Depok 0 0 0 0 0 0

bulan 0.591

awal 10 7 3 0 0 0.876

tengah 4 0 2 0 2 1


(58)

Berdasarkan hasil perhitungan di atas nilai gain tertinggi ada pada atribut bulan. Maka, atribut bulan dijadikan sebagai node akar pada cabang siang. Untuk

cabangnya digunakan 3 nilai didalam node akar, yaitu „awal‟, „tengah‟, dan

„akhir‟. Lakukan juga klasifikasi pada tiap cabang yang ada. Dan pohon yang

terbentuk seperti Gambar 3.7.

waktu

city city

bulan

pagi

siang malam

San Mateo

Surabaya Depok

Jakarta

type Surabaya

Jakarta Denpasar

Personal Computer

bulan awal

Fashion

Talisman Talisman

? ? ?

awal

tengah akhir

Smartphone Smartphone Motorbike Motorbike

Gambar 3. 7 Pembentukan pohon untuk atribut bulan

Lakukan pengelompokkan untuk node internal di cabang awal, sehingga di dapat hasil seperti pada Tabel 3.11.


(59)

Tabel 3. 11 Perhitungan data pada cabang awal

Node Jumlah F S M T Entropy Gain

6 Total 10 7 3 0 0 0.876

type 0.548

Personal

computer 4 4 0 0 0 0

Smartphone 4 3 1 0 0 0.821

Tabelt 2 0 2 0 0 0

city 0.279

Surabaya 2 2 0 0 0 0

Jakarta 6 3 3 0 0 1

Denpasar 1 1 0 0 0 0 Mountain

View 1 1 0 0 0 0

Pekanbaru 0 0 0 0 0 0

Kudus 0 0 0 0 0 0

San Mateo 0 0 0 0 0 0

Depok 0 0 0 0 0 0

Dari perhitungan di atas nilai gain tertinggi ada pada atribut type. Maka, atribut type dijadikan sebagai node akar pada cabanag awal. Untuk cabangnya

digunakan 3 nilai didalamnya, yaitu „Personal Computer’ , ‘Smartphone’, dan


(60)

waktu city city bulan pagi siang malam San Mateo Surabaya Depok Jakarta type Surabaya Jakarta Denpasar Personal Computer bulan awal Fashion Talisman Talisman

type ? ?

awal

tengah akhir

Fashion city Fashion

Personal Computer Smartphone Tablet Smartpho ne Smartpho ne Motorbi ke Motorbike

Gambar 3. 8 Pembentukan pohon untuk cabang awal

Untuk node type dengan cabang Smartphone harus dilakukan perhitungan kembali karena masih belum terklasifikasi kedalam satu kelas keputusan, sehinnga masih harus dilakukan proses pencarian node selanjutnya. Perhitungan untuk cabang Smartphoneseperti pada Tabel 3.12

Tabel 3. 12 Perhitungan data pada cabang Smartphone

Node Jumlah F S M T Entropy Gain

7

Tota

l 4 3 1 0 0 0.821

city 0.671


(61)

Jakarta 3 2 1 0 0 0.14

Denpasar 0 0 0 0 0 0

Mountain

View 1 1 0 0 0 0

Pekanbaru 0 0 0 0 0 0

Kudus 0 0 0 0 0 0

San Mateo 0 0 0 0 0 0

Depok 0 0 0 0 0 0

Untuk perhitungan dari cabang Smartphone, hanya ada satu atribut, yaitu city. Maka atribut city dijadikan node berikutnya dan terdapat satu cabang yang

mempunyai nilai tertinggi, yaitu „Jakarta‟. Dan pohon yang terbentuk seperti

Gambar 3.9. waktu city city bulan pagi siang malam San Mateo Surabaya Depok Jakarta type Surabaya Jakarta Denpasar Personal Computer bulan awal Fashion Talisman Talisman

type ? ?

awal

tengah akhir

Fashion city Fashion

Personal Computer Smartphone Tablet Fashion Jakarta Smartpho ne Smartpho ne Motorbi ke Motorbike


(62)

Selanjutnya lakukan perhitungan untuk cabang tengah dan didapat hasil seperti pada Tabel 3.13.

Tabel 3. 13 Perhitungan data pada cabang tengah

Node Jumlah F S M T Entropy Gain

8

Tota

l 8 0 2 3 3 1,562

type 0

Personal

computer 0 0 0 0 0 0

Smartphone 8 0 2 3 3 1.562

Tabelt 0 0 0 0 0 0

city

0.95 7

Surabaya 1 0 0 0 1 0

Jakarta 5 0 2 3 0 0.969

Denpasar 2 0 0 0 2 0

Mountain

View 0 0 0 0 0 0

Pekanbaru 0 0 0 0 0 0

Kudus 0 0 0 0 0 0

San Mateo 0 0 0 0 0 0

Depok 0 0 0 0 0 0

Perhitungan selanjutnya nilai gain tertinggi ada pada atribut city. Maka atribut city dijadikan node selanjutnya untuk cabang tengah. Dan pohon yang terbentuk seperti Gambar 3.10.


(63)

waktu city city bulan siang malam San Mateo Surabaya Depok type Surabaya Denpasar Personal Computer bulan awal Fashion Talisman Talisman

type city ?

awal tengah akhir Fash ion city Personal Computer Smartphone Tablet Fash ion Fashion Jakarta Smartp hone Talis man Smartp hone Surabaya Jakarta Denpasar Smartp hone Smartphone

Motor

bike Motorbike Jakarta

pagi

Gambar 3. 10 Pembentukan pohon untuk cabang tengah

Selanjutnya untuk perhitungan yang terakhir adalah perhitungan untuk cabang akhir. Dan didapat hasil seperti pada Tabel 3.14.

Tabel 3. 14 Perhitungan data pada cabang akhir

Node Jumlah F S M T Entropy Gain

9 Total 5 0 3 0 2 0.97

type 0.97

Personal

computer 3 0 3 0 0 0

Smartphone 2 0 0 0 2 0

Tabelt 0 0 0 0 0 0

city 0.97


(64)

Jakarta 1 0 0 0 1 0 Denpasar 0 0 0 0 0 0 Mountain

View 0 0 0 0 0 0

Pekanbaru 0 0 2 0 0 0

Kudus 1 0 1 0 0 0

San Mateo 0 0 0 0 0 0

Depok 0 0 0 0 0 0

Untuk hasil perhitungan dari cabang akhir ternyata didapat nilai yang sama antara atribut type dan atribut city. Maka, untuk berikutnya diambil atribut yang terletak lebih awal, yaitu atribut type. Dan pohon yang terbentuk seperti Gambar 3.11.

waktu

city city

bulan

siang malam

San Mateo Surabaya Depok Jakarta

type Surabaya Denpasar Personal Computer bulan awal Fashion Talisman Talisman

type city type

awal tengah akhir Fash ion city Personal Computer Smartphone Tablet Fash ion Fashion Jakarta Smartp hone Talis man Smartp hone Surabaya Jakarta Denpasar Smartp hone Smartp hone Motor bike Motorbike Jakarta

pagi

Smartphone Talisman Personal

Computer Smartphone


(65)

Dengan memperhatikan pohon keputusan pada Gambar 3.11 di atas diketahui bahwa pohon keputusan telah terbentuk. Dan setelah didapatkan tree, tahap selanjutnya adalah mengubahmenjadi rule. Berikut ini adalah bentuk tree yang diubah menjadi rule:

R1 : if waktu = siang ^ bulan = awal ^ type = Personal Computer THEN interest = Fashion

R2 : if waktu = siang ^ bulan = awal ^ type = Smartphone ^ city = Jakarta THEN interest = Fashion

R3 : if waktu = siang ^ bulan = awal ^ type = Tabelt THEN interest = Fashion R4 : if waktu = siang ^ bulan = tengah ^ city = Surabaya THEN interest = Smartphone

R5 : if waktu = siang ^ bulan = tengah ^ city = Jakarta THEN interest = Smartphone

R6 : if waktu = siang ^ bulan = tengah ^ city = Denpasar THEN interest = Talisman

R7 : if waktu = siang ^ bulan = akhir ^ type = Personal Computer THEN interest = Smartphone

R8 : if waktu = siang ^ bulan = akhir ^ type = Smartphone THEN interest = Talisman

R9 : if waktu = pagi ^ city = Surabaya THEN interest = Talisman

R10 : if waktu = pagi ^ city = Jakarta ^ type = Personal Computer ^ bulan = awal THEN interest = Fashion


(66)

R11 : if waktu = pagi ^ city = DenpasarTHEN interest = Talisman

R12 : if waktu = malam ^ city = San Mateo THEN interest = Smartphone R13 : if waktu = malam ^ city = Surabaya THEN interest = Smartphone R14 : if waktu = malam ^ city = Depok THEN interest = Motorbike R15 : if waktu = malam ^ city = Jakarta THEN interest = Motorbike

R16 : if waktu = siang ^ bulan = tengah ^ city = SurabayaTHEN interest = Talisman

Berikut ini adalah pola yang terbentuk berdasarkan rule yang telah disederhanakan:

Pola 1 : if waktu = siang OR pagi^ bulan = awal ^ city = Jakarta ^type =

Personal Computer OR Smartphone OR Tabelt THEN interest = Fashion

Pola 2 : if waktu = siang OR malam ^ bulan = tengah OR akhir ^ city = Surabaya

OR Jakarta OR San Mateo OR Surabaya ^ type = Personal ComputerTHEN interest = Smartphone

Pola 3 : if waktu = malam ^ city = Depok OR Jakarta THEN interest =

Motorbike

Pola 4 : if waktu = siang OR pagi ^ bulan = tengah OR akhir ^ city = Denpasar


(67)

3.7Perancangan Umum Sistem

3.7.1 Masukkan Sistem

Data yang menjadi masukkan sistem terdiri dari 5 atribut yaitu : interest, type, city, waktu dan bulan. Penjelasan mengenai atribut – atribut yang digunakan sebagai masukkan sistem seperti pada Tabel 3.15.

Tabel 3. 15 Penjelasan atribut masukkan sistem

No Atribut Penjelasan Nilai

1 interest Atribut interest menyimpan hasil kategori dari pencarian yaitu; Fashion, Smartphone, Motorbike dan Talisman

Fashion, Smartphone, Motorbike, Talisman

2 type Atribut type menyimpan data type yang digunakan sebagai alat pencarian

Personal computer, Smartphone, Tablet

3 city Atribut city menyimpan data nama kota dimana sedang dilakukan pencarian

Surabaya, Jakarta, Denpasar, Mountain View, Pekanbaru, Kudus, San Mateo, Depok

4 waktu Atribut waktu menyimpan data waktu yang sedang melakukan pencarian


(68)

3.7.2 Perancangan antar muka dengan user

3.7.2.1Halaman Login

Login Username : Password :

Login 5 bulan Atribut bulan menyimpan

data bulan masuk dalam urutan ; awal, tengah, akhir


(69)

3.7.2.2Halaman Utama

judul

Fakultas Sains & Teknologi Universitas Sanata Dharma Yogyakarta

2016 3.7.2.3Halaman Data

Hasil Home Data Prediksi Bantuan

Logo USD

Home Data Prediksi Bantuan


(70)

3.7.2.4Halaman Prediksi (Pengujian)

Hasil Home Data Prediksi Bantuan


(71)

3.8Diagram Kelas

3.8.1 Diagram Kelas Use case Login

FormLogin

FormLogin ( ) : <<kostruktor>> TombolLoginActionPerformed : void

HalamanUtama

- fashionField : Object - st : Statement

- rs : Resultset - koneksi : Koneksi - file : File

- dt : String [ ] [ ]

- tabelModel : DefaultTabelModel

CekLogin

+ cekLogin (String, String) : boolean

Login

- username : String

- password : String

+ setUsername (String) : void

+ getUsername ( ) : String

+ setPassword (String) : void

+ getPassword ( ) : String

+ login (String, String) : boolean


(72)

+ HalamanUtama ( ) : <<konstruktur>> +

Browse1ActionPerformed(java.awt.event.Actio nEvent evt) : void

+

Tampilkan1ActionPerformed(java.awt.event.Ac tionEvent evt) : void

+

ProsesActionPerformed(java.awt.event.ActionE vent evt) : void

+

Browse2ActionPerformed(java.awt.event.Actio nEvent evt) : void

+

Tampilkan2ActionPerformed(java.awt.event.Ac tionEvent evt) : void

+

PengujianActionPerformed(java.awt.event.Acti onEvent evt) : void

+ TestingFold() : void

+ transformData(String[][] data, int idx) : String + joinData(String[][] data1, String[][] data2) : String

+ getDataByFold(String[][] data,int fold, int foldID) : String

+ getData() : String + transfromData() : int


(73)

3.8.2 Diagram Kelas Use case Masukkan Data

HalamanUtama

- fashionField : Object - st : Statement

- rs : Resultset - koneksi : Koneksi - file : File

- dt : String [ ] [ ]

- tabelModel : DefaultTabelModel + HalamanUtama ( ) : <<konstruktur>>

+ Browse1ActionPerformed(java.awt.event.ActionEvent evt) : void

+

Tampilkan1ActionPerformed(java.awt.event.ActionEven t evt) : void

+ ProsesActionPerformed(java.awt.event.ActionEvent evt) : void

+ Browse2ActionPerformed(java.awt.event.ActionEvent evt) : void

+

Tampilkan2ActionPerformed(java.awt.event.ActionEven t evt) : void

+

PengujianActionPerformed(java.awt.event.ActionEvent evt) : void

+ TestingFold() : void

+ transformData(String[][] data, int idx) : String + joinData(String[][] data1, String[][] data2) : String + getDataByFold(String[][] data,int fold, int foldID) : String

+ getData() : String + transfromData() : int

Gambar 3. 13 Diagram Kelas Use Case Masukkan Data Data

- interest : String - type : String - city : String - waktu : String - bulan : String + setInterest (String) : void + getInterest() : String + setType (String) : void + getType ( ) :String + setCity (String) : void + getCity ( ) : String + setWaktu (String) : void + getWaktu ( ) : String + setBulan (String) :void + getBulan ( ) : String

BacaFile


(74)

3.8.3 Diagram Kelas Use Case Pengujian

HalamanUtama

- fashionField : Object - st : Statement

- rs : Resultset - koneksi : Koneksi - file : File

- dt : String [ ] [ ]

- tabelModel : DefaultTabelModel + HalamanUtama ( ) : <<konstruktur>> +

Browse1ActionPerformed(java.awt.event.ActionEvent evt) : void

+

Tampilkan1ActionPerformed(java.awt.event.ActionEv ent evt) : void

+ ProsesActionPerformed(java.awt.event.ActionEvent evt) : void

+

Browse2ActionPerformed(java.awt.event.ActionEvent evt) : void

+

Tampilkan2ActionPerformed(java.awt.event.ActionEv ent evt) : void

+

PengujianActionPerformed(java.awt.event.ActionEve nt evt) : void

+ TestingFold() : void

+ transformData(String[][] data, int idx) : String + joinData(String[][] data1, String[][] data2) : String + getDataByFold(String[][] data,int fold, int foldID) : String

+ getData() : String + transfromData() : int

Gambar 3. 14 Diagram Kelas Pengujian Tree

- root : Node

+ buildTree(String tabel) : void + printTree() : void

+ testing(String data) : void + removeAtt(String, int) : String + saveTree ( ) : void


(75)

BAB IV

IMPLEMENTASI SISTEM

4.1Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan dalam implementasi sistem adalah :

1. Sistem Operasi : Microsoft Windows 7 Ultimate 2. Bahasa pemrograman : Java Netbeans IDE 7.3

Spesifikasi perangkat keras yang digunakan dalam implementasi sistem adalah :

1. Processor : Intel Atom N570, 1.66 GHz 2. Memory : 2 GB DDR3

3. Harddisk : 320 GB

4.2Implementasi Pemrosesan Data

4.2.1 Pembersihan Data

Data mentah yang diperoleh dari hasil query adalah sebanyak 450 data. Dalam satu data record query terdapat 43 atribut. Dari 43 atribut, yang digunakan untuk penelitian ini 4 atribut yaitu : _source_audience_interest, _source_device_type, _source_location_city dan _source_created_.Contoh data yang sudah dilakukan pembersihan seperti pada Tabel 4.1.


(76)

Tabel 4. 1 Contoh data yang sudah dilakukan pembersihan

_source__audience _interest

_source_device _type

_source _location

_city

_source _created Fashion Personal computer Surabaya 1.42071E+12

Fashion Smartphone Jakarta 1.42071E+12

Fashion Personal computer Surabaya 1.42071E+12

Motorbike Tabelt Depok 1.42074E+12

Motorbike Smartphone Jakarta 1.42074E+12 Motorbike Smartphone Jakarta 1.42074E+12 Smartphone Smartphone Jakarta 1.42071E+12

Smartphone Tabelt Jakarta 1.42071E+12

Smartphone Tabelt Jakarta 1.42071E+12

Talisman Smartphone Surabaya 1.4207E+12 Talisman Smartphone Jakarta 1.42071E+12 Talisman Personal computer Jakarta 1.42071E+12

4.2.2 Integrasi Data

Contoh file yang belum digabungkan dari file kategori fashionseperti pada Tabel 4.2.

Tabel 4. 2 Contoh file dari kategori fashion

_source__audience _source_device _source _source _interest _type _location _created

_city

Fashion Personal

computer Surabaya 1.42E+12 Fashion Smartphone Jakarta 1.42E+12 Fashion Personal


(77)

Contoh file yang belum digabungkan dari file kategori smartphone seperti pada Tabel 4.3.

Tabel 4. 3 Contoh file dari kategori smartphone

_source__audience _source_device _source _source _interest _type _location _created

_city

Smartphone Smartphone Jakarta 1.42E+12

Smartphone Tabelt Jakarta 1.42E+12

Smartphone Tabelt Jakarta 1.42E+12

Contoh file yang belum digabungkan dari file kategori motorbike seperti pada Tabel 4.4.

Tabel 4. 4 Contoh file dari kategori motorbike

_source__audience _source_device _source _source _interest _type _location _created

_city

Motorbike Tabelt Depok 1.42E+12

Motorbike Smartphone Jakarta 1.42E+12 Motorbike Smartphone Jakarta 1.42E+12

Contoh file yang belum digabungkan dari file kategori talisman seperti pada Tabel 4.5.


(78)

Tabel 4. 5 Contoh file dari kategori talisman

_source__audience _source_device _source _source _interest _type _location _created

_city

Talisman Smartphone Surabaya 1.42E+12 Talisman Smartphone Jakarta 1.42E+12 Talisman Personal

computer Jakarta 1.42E+12

Contoh file yang telah digabungkan dari 4 kategori seperti pada Tabel 4.6.

Tabel 4. 6 Contoh file yang telah digabungkan

_source__audience _interest

_source_device _type

_source _location

_city

_source _created Fashion Personal computer Surabaya 1.42071E+12

Fashion Smartphone Jakarta 1.42071E+12

Fashion Personal computer Surabaya 1.42071E+12

Motorbike Tabelt Depok 1.42074E+12

Motorbike Smartphone Jakarta 1.42074E+12 Motorbike Smartphone Jakarta 1.42074E+12 Smartphone Smartphone Jakarta 1.42071E+12

Smartphone Tabelt Jakarta 1.42071E+12

Smartphone Tabelt Jakarta 1.42071E+12

Talisman Smartphone Surabaya 1.4207E+12 Talisman Smartphone Jakarta 1.42071E+12 Talisman Personal computer Jakarta 1.42071E+12


(79)

4.2.3 Penyeleksian Data

Dari 43 atribut yang didapat kemudian dilakukan penyeleksian atribut yang bisa digunakan untuk penelitian ini. Atribut – atribut asli yang belum dilakukan seleksi seperti pada Tabel 4.7.

Tabel 4. 7 Nama – nama atribut yang belum diseleksi

No Nama atribut 1 took

2 timed_out 3 |

4 total 5 successful 6 failed 7 max_score 8 ||

9 _index 10 _type 11 _id 12 _score

13 _source__audience__interest 14 _source__audience__economy 15 _source__audience__age 16 _source__banner_id 17 _source__device__family 18 _source__device__name 19 _source__device__type 20 _source__filter__category 21 _source__filter__location 22 _source__filter__period 23 _source__filter__price 24 _source__filter__site 25 _source__ip


(80)

27 _source__location__country_name 28 _source__location__region

29 _source__location__city 30 _source__location__latlong001 31 _source__location__latlong002 32 _source__page

33 _source__query 34 _source__profile_id 35 _source__session_id 36 _source__created 37 _source__os__family 38 _source__os__name

39 _source__user_agent__family 40 _source__user_agent__type 41 _source__user_agent__user_agent 42 _source__filter__location-

43 _source__filter__category-

Atribut yang sudah dilakukan seleksi seperti pada Tabel 4.8. Tabel 4. 8 Hasil nama atribut yang telah diseleksi

_source__audience _source_device _source _source _interest _type _location _created

_city

4.2.4 Transformasi Data

Pada tahap ini data yang ditransformasi adalah data dari atribut _source_created. Pertama, data asli dibagi dengan 1000, berikut adalah contoh transformasinya, seperti pada Tabel 4.9.


(81)

Tabel 4. 9 Contoh perhitungan waktu yang pertama

_source__created Hasil1 1.42071E+12 1420709258 1.42071E+12 1420709262 1.42071E+12 1420709283 1.42071E+12 1420709488 1.42071E+12 1420709579

Kedua, hasil yang telah dibagi dengan 1000 selanjutnya dihitung lagi dan didapat hasil seperti pada Tabel 4.10.

Hasil2 = 1420709258/86400+25569

Tabel 4. 10 Contoh perhitungan waktu yang kedua

Setelah di dapat hasil seperti di atas maka hasil2 dipecah menjadi waktu dan bulan dengan aturan yang ada pada tabel 3.2.

4.2.5 Penambangan Data

Penambangan Data pada tahap ini adalah melakukan perhitungan data sebagai berikut :

_source__created Hasil1 Hasil 2

1.42071E+12 1420709258 1/8/15 9:27 1.42071E+12 1420709262 1/8/15 9:27 1.42071E+12 1420709283 1/8/15 9:28 1.42071E+12 1420709488 1/8/15 9:31 1.42071E+12 1420709579 1/8/15 9:32


(82)

a. Menghitung nilai entropy

public double[] entropy(int[][] data) {//menghitung nilai entropy

double[] hasil = new double[data.length]; for (int i = 0; i < data.length; i++) {

int[] tempData = data[i]; int tot = 0;

for (int j = 0; j < tempData.length; j++) {

tot += tempData[j]; // mencari jumlah mmasing2 interest

}

hasil[i] = 0;

for (int j = 0; j < tempData.length; j++) { // loop untuk setiap partisi atribut

double temp = ((double) tempData[j] / tot) * log2(((double) tempData[j] / tot)); // menghitung peluang partisi dalam interest

hasil[i] += Double.isInfinite(temp) ||

Double.isNaN(temp) ? 0 : temp; // menghindari nilai tidak terdefinisi.

}

hasil[i] = -hasil[i]; }

return hasil; }


(83)

b. Menghitung nilai gain

public double gain(double[] entropy, int[][] data)

{//menghitung nilai gain

if (entropy == null) { // entropynya harus ada entropy = this.entropy(data);

}

int jum = 0;

int tot[] = new int[data.length];

for (int i = 0; i < data.length; i++) { // menghitung jumlah setiap partisi atribut

int[] tempData = data[i]; tot[i] = 0;

for (int j = 0; j < tempData.length; j++) { tot[i] += tempData[j];

}

jum += tot[i]; }

double gain = 0;

for (int i = 0; i < tot.length; i++) { // menghitung semua (peluang * entropy) masing2 atribute

gain += (double) tot[i] / jum * entropy[i]; }

int[][] interest = new int[1][data[0].length];

for (int i = 0; i < data.length; i++) { // menghitung jumlah interest dalam masibg2 atribute


(1)

Rule 13 : Interest Fashion = if waktu = siang^city = Mountain View^bulan = akhir Rule 14 : Interest Fashion = if waktu = siang^city = Mountain View^bulan = awal Rule 15 : Interest Fashion = if waktu = siang^city = Mountain View^bulan = tengah^type = Smartphone

Rule 16 : Interest Fashion = if waktu = siang^city = Palembang^type = Personal Computer

Rule 17 : Interest Fashion = if waktu = siang^city = Samarinda

Rule 18 : Interest Fashion = if waktu = siang^city = San Mateo^type = Smartphone^bulan = tengah

Rule 19 : Interest Fashion = if waktu = siang^city = Singapore^bulan = awal^type = Personal Computer

Rule 20 : Interest Fashion = if waktu = siang^city = Sleman

Rule 21 : Interest Fashion = if waktu = siang^city = Surabaya^type = Personal Computer^bulan = akhir

Rule 22 : Interest Fashion = if waktu = siang^city = Surabaya^type = Personal Computer^bulan = awal

Rule 23 : Interest Fashion = if wakktu = siang^city = Tejgaon Rule 24 : Interest Fashion = if wakktu = siang^city = Yogyakarta Rule untuk interestSmartphone

Rule 1 : Interest Smartphone = if waktu = malam^city = Bandung

Rule 2 : Interest Smartphone = if waktu = malam^city = Jakarta^bulan = awal^type = Personal Computer


(2)

Rule 3 : Interest Smartphone = if waktu = malam^city = Medan^bulan =akhir Rule 4 : Interest Smartphone = if waktu = malam^city = Purwokerto

Rule 5 : Interest Smartphone = if waktu = malam^city = San Mateo^bulan = awal^type = Smartphone

Rule 6 : Interest Smartphone = if waktu = malam^city = Sidoarjo Rule 7 : Interest Smartphone = if waktu = malam^city = Singapore

Rule 8 : Interest Smartphone = if waktu = malam^city = Surabaya^type = Personal Computer^bulan = tengah

Rule 9 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = Beijing Rule 10 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = Bogor Rule 11 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = Jakarta Rule 12 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = Madiun Rule 13 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = Palembang Rule 14 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = San Mateo Rule 15 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = Singapore Rule 16 : Interest Smartphone = if waktu = pagi^bulan = akhir^city = Tangerang Rule 17 : Interest Smartphone = if waktu = pagi^bulan = awal^city = Jakarta^type = Smartphone

Rule 18 : Interest Smartphone = if waktu = pagi^bulan = awal^city = Singapore Rule 19 : Interest Smartphone = if waktu = pagi^bulan = awal^city = Yogyakarta Rule 20 : Interest Smartphone = if waktu = pagi^bulan = tengah^type = Tabelt^city = Surakarta


(3)

Rule 21 : Interest Smartphone = if waktu = siang^city = Bandung^type = Personal Computer^bulan = akhir

Rule 22 : Interest Smartphone = if waktu = siang^city = Depok

Rule 23 : Interest Smartphone = if waktu = siang^city = Jakarta^type = Tabelt

Rule 24 : Interest Smartphone = if waktu = siang^city = Kudus^type = Personal Computer

Rule 25 : Interest Smartphone = if waktu = siang^city = Makasar

Rule 26 : Interest Smartphone = if waktu = siang^city = Medan^type = Smartphone Rule 27 : Interest Smartphone = if waktu = siang^city = Pekanbaru^type = Personal Computer^bulan = tengah

Rule 28 : Interest Smartphone = if waktu = siang^city = Sidoarjo^type = Personal Computer

Rule 29 : Interest Smartphone = if waktu = siang^city = Singapore^bulan = akhir Rule 30 : Interest Smartphone = if waktu = siang^city = Surabaya^type = Personal Computer^bulan = tengah

Rule 31 : Interest Smartphone = if waktu = siang^city = Surabaya^type = Smartphone^bulan = awal

Rule untuk interestMotorbike

Rule 1 : Interest Motorbike = if waktu = malam^city = Batam Rule 2 : Interest Motorbike = if waktu = malam^city = Boardman Rule 3 : Interest Motorbike = if waktu = malam^city = Depok


(4)

Rule 5 : Interest Motorbike = if waktu = malam^city = Jakarta^bulan = awal^type = Smartphone

Rule 6 : Interest Motorbike = if waktu = malam^city = Jakarta^bulan = tengah^type = Personal Computer

Rule 7 : Interest Motorbike = if waktu = malam^city = Jakarta^bulan = tengah^type = Smartphone

Rule 8 : Interest Motorbike = if waktu = malam^city = Kudus

Rule 9 : Interest Motorbike = if waktu = malam^city = Medan^bulan = awal Rule 10 : Interest Motorbike = if waktu = malam^city = Mountain View

Rule 11 : Interest Motorbike = if waktu = malam^city = Pontianak

Rule 12 : Interest Motorbike = if waktu = malam^city = San Mateo^bulan = akhir Rule 13 : Interest Motorbike = if waktu = malam^city = San Mateo^bulan = tengah^type = Smartphone

Rule 14 : Interest Motorbike = if waktu = malam^city = Surabaya^type = Personal Computer^bulan = awal

Rule 15 : Interest Motorbike = if waktu = malam^city = Surabaya^type = Smartphone^bulan = awal

Rule 16 : Interest Motorbike = if waktu = malam^city = Surabaya^type = Smaartphone^bulan = tengah

Rule 17 : Interest Motorbike = if waktu = malam^city = Tangerang

Rule 18 : Interest Motorbike = if waktu = pagi^bulan = akhir^city = Bekasi Rule 19 : Interest Motorbike = if waktu = pagi^bulan = awal^city = Mojokerto


(5)

Rule 20 : Interest Motorbike = if waktu = pagi^bulan = awal^city = Saragota Rule 21 : Interest Motorbike = if waktu = pagi^bulan = awal^city = Tokyo Rule untuk interestTalisman

Rule 1 : Interest Talisman = if waktu = pagi^bulan = awal^city = Pontianak

Rule 2 : Interest Talisman = if waktu = pagi^bulan = tengah^type = Personal Computer^city = Providence

Rule 3 : Interest Talisman = if waktu = pagi^bulan = tengah^type = Tabelt^city = Jakarta

Rule 4 : Interest Talisman = if waktu = siang^city = Bandung^type = Personal Computer^bulan = awal

Rule 5 : Interest Talisman = if waktu = siang^city = Bandung^type = Smartphone^bulan = awal

Rule 6 : Interest Talisman = if waktu = siang^city = Bandung^type = Smartphone^bulan = tengah

Rule 7 : Interest Talisman = if waktu = siang^city = Dki Jakarta

Rule 8 : Interest Talisman = if waktu = siang^city = Jakarta^type = Smartphone^bulan = tengah

Rule 9 : Interest Talisman = if waktu = siang^city = Kudus^type = Smartphone Rule 10 : Interest Talisman = if waktu = siang^city = Medan^type = Personal Computer

Rule 11 : Interest Talisman = if waktu = siang^city = Mega


(6)

Rule 13 : Interest Talisman = if waktu = siang^city = Sidoarjo^type = Smartphone Rule 14 : Interest Talisman = if waktu = siang^city = Surabaya^type = Smartphone^bulan = akhir

Rule15 : Interest Talisman = if waktu = siang^city = Surabaya^type = Smartphone^bulan = tengah