Penambangan data Query pada situs web dengan menggunakan Algoritma Decision Tree : studi kasus www.inkuiri.com.
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