penambangan data query pada situs web dengan menggunakan...

144
Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma 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 2016 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: others

Post on 05-Nov-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma

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

2016

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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

2016

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

iii

HALAMAN PERSETUJUAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

iv

HALAMAN PENGESAHAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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,

Yustina Dyah Utami

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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 %.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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% .

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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,

(Yustina Dyah Utami)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

xi

6. Mas Febri Nugroho yang sudah setia menemani pengerjaan tugas akhir ini,

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

Yustina Dyah Utami

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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

2.2 Tahap – tahap pada Penambangan Data.......................................................... 7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

xiii

2.3 Teknik Klasifikasi .......................................................................................... 8

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

3.8.3 Diagram Kelas Use Case Pengujian ...................................................... 55

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

xiv

IMPLEMENTASI SISTEM ....................................................................................... 56

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

LAMPIRAN 3 ......................................................................................................... 121

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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

Gambar 4. 9 Halaman Prediksi dengan data yang sudah ditampilkan ....................... 73

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

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

Tabel 4. 9 Contoh perhitungan waktu yang pertama ................................................ 62

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

xvii

Tabel 4. 10 Contoh perhitungan waktu yang kedua ................................................. 62

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

Tabel 5. 11 Hasil rata – rata untuk 10 kali pengujian ............................................... 83

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

1

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

2

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

3

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?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

4

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

5

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

6

BAB II

LANDASAN TEORI

2.1 Penambangan 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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

7

Gambar 2. 1 Bidang Ilmu Data Minning

2.2 Tahap – 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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

8

2.3 Teknik 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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

9

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.4 Decision 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 –

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

10

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

11

2.5 Kegunaan 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.6 Kelebihan 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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

12

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.7 Algoritma 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.

3. Pilih fitur dengan informasi gain yang maksimal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

13

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.8 Perhitungan Akurasi

Untuk menghitung nilai akurasi, maka digunakan rumus sebagai berikut :

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =𝑗𝑢𝑚𝑙𝑎ℎ_𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖_𝑦𝑎𝑛𝑔_𝑏𝑒𝑛𝑎𝑟

𝑗𝑢𝑚𝑙𝑎ℎ_𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖_𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛∗ 100 (2.3)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

14

BAB III

Identifikasi Perhitungan dengan Decision Tree

3.1 Pengenalan 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 |

4 total

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

15

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__economy

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,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

16

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.181.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__latlong001

Atribut ini menyimpan data titik koordinat

112.7508, 106.4989, 120, -97, dll

31 _source__location__latlong002

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, 54aed5fecab629.31559420,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

17

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__family

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.2 Pemrosesan 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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

18

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

19

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

21-31 akhir

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

20

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

21

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

22

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.3 Proses 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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

23

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.4 Output Sistem

Hasil keluaran sistem :

1. Menampilkan hasil dari pohon keputusan.

2. Hasil prediksi pengujian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

24

3.5 Diagram 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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

25

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.

3. Menampilkan halaman utama.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

26

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

proses.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

27

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.

3. Sistem menampilkan halaman prediksi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

28

3.6 Contoh 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.

5. Sistem menampilkan hasil pengujian data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

29

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

30

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

malam 0 2 10 0 12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

31

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

Personal 16 7 4 0 5 1.545

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

32

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

terbentuk pohon awal seperti Gambar 3.3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

33

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

Pekanbaru 0 0 0 0 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

34

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?

pagisiang malam

San MateoSurabaya

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

35

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

36

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

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

waktu

city city?

pagisiang malam

San MateoSurabaya

Depok

Jakarta

?

Surabaya

JakartaDenpasar

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

computer 5 3 0 0 2 0.97

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

37

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?

pagisiang malam

San MateoSurabaya

Depok

Jakarta

type

Surabaya

JakartaDenpasar

Personal

Computer

bulan

awal

Fashion

Talisman Talisman

Smartphone Smartphone Motorbike Motorbike

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

38

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

akhir 5 0 3 0 2 0.969

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

39

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 citybulan

pagisiang malam

San MateoSurabaya

Depok

Jakarta

type

Surabaya

JakartaDenpasar

Personal

Computer

bulan

awal

Fashion

Talisman Talisman

? ??

awaltengah

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

40

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

„Tabelt‟. Dan pohon yang terbentuk seperti Gambar 3.8.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

41

waktu

city citybulan

pagisiang malam

San MateoSurabaya

Depok Jakarta

type

Surabaya

JakartaDenpasar

Personal

Computer

bulan

awal

Fashion

Talisman Talisman

type ??

awaltengah

akhir

Fashion Fashioncity

Personal

Computer

Smartphone Tablet

Smartpho

ne

Smartpho

ne

Motorbi

keMotorbi

ke

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

Surabaya 0 0 0 0 0 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

42

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 citybulan

pagisiang malam

San MateoSurabaya

Depok Jakarta

type

Surabaya

JakartaDenpasar

Personal

Computer

bulan

awal

Fashion

Talisman Talisman

type ??

awaltengah

akhir

Fashion Fashioncity

Personal

Computer

Smartphone Tablet

Fashion

Jakarta

Smartpho

ne

Smartpho

ne

Motorbi

keMotorbi

ke

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

43

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

44

waktu

city citybulan

siang malam

San MateoSurabaya

Depok

type

Surabaya

Denpasar

Personal

Computer

bulan

awal

Fashion

Talisman Talisman

type ?city

awaltengah

akhir

Fash

ioncity

Personal

Computer

Smartphone

Tablet

Fash

ion

Fashion

Jakarta

Smartp

hone

Talis

man

Smartp

hone

Surabaya

Jakarta

Denpasar

Smartp

honeSmartp

hone

Motor

bikeMotor

bikeJakarta

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

Surabaya 1 0 0 0 1 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

45

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 citybulan

siang malam

San MateoSurabaya

Depok Jakarta

type

Surabaya

Denpasar

Personal

Computer

bulan

awal

Fashion

Talisman Talisman

type typecity

awaltengah

akhir

Fash

ioncity

Personal

Computer

Smartphone

Tablet

Fash

ion

Fashion

Jakarta

Smartp

hone

Talis

man

Smartp

hone

Surabaya

Jakarta

Denpasar

Smartp

honeSmartp

hone

Motor

bikeMotor

bikeJakarta

pagi

Smartphone Talisman

Personal

Computer Smartphone

Gambar 3. 11 Pembentukkan pohon untuk cabang akhir

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

46

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

47

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

OR Surabaya OR ^ type = Smartphone THEN interest = Talisman

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

48

3.7 Perancangan 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

pagi, siang, malam

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

49

3.7.2 Perancangan antar muka dengan user

3.7.2.1 Halaman Login

Login

Username :

Password :

Login

5 bulan Atribut bulan menyimpan

data bulan masuk dalam

urutan ; awal, tengah, akhir

awal, tengah, akhir

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

50

3.7.2.2 Halaman Utama

judul

Fakultas Sains & Teknologi

Universitas Sanata Dharma Yogyakarta 2016

3.7.2.3 Halaman Data

Hasil

Home Data Prediksi Bantuan

Logo

USD

Home Data Prediksi Bantuan

Proses

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

51

3.7.2.4 Halaman Prediksi (Pengujian)

Hasil

Home Data Prediksi Bantuan

Pengujian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

52

3.8 Diagram 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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

53

+ 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

Gambar 3. 12 Diagram Kelas Use Case Login

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

54

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

+ bacaFile (File, file) : String

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

55

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

+ loadTree ( ) :boolean

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

56

BAB IV

IMPLEMENTASI SISTEM

4.1 Spesifikasi 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.2 Implementasi 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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

57

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 computer

Surabaya 1.42E+12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

58

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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

59

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

60

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

26 _source__location__country_code

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

61

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.

Hasil1 = 1.42071E+12 /1000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

62

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

63

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;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

64

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

65

4.3 Implementasi Use Case

Login dilakukan dengan cara mengisikan username dan password pada

Halaman FormLogin seperti pada Gambar 4.1. Selanjutnya sistem akan

mencocokkan username dan password yang telah dimasukkan, jika sesuai maka

sistem akan muncul pemberitahuan seperti pada Gambar 4.2

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

interest[0][j] += data[i][j];

}

}

double entropySemua = this.entropy(interest)[0]; //

menghitung entrpy semua

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + "Entropy semua " +

entropySemua + "\n");

// System.out.println("Entropy semua " + entropySemua);

gain = entropySemua - gain; // rumus gain = entropysemua -

jumlah (peluang * entropy)

return gain;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

66

Gambar 4. 1 Halaman FormLogin

Gambar 4. 2 Pemberitahuan berhasil login

Pengguna menekan tombol OK pada pemberithuan berhasil login untuk

dapat masuk ke halaman utama seperti pada Gambar 4.3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

67

Gambar 4. 3 Form Halaman Utama

Untuk memproses data, langkah berikutnya pengguna menekan tab

menu Data dan akan masuk ke halaman data seperti pada Gambar 4.4. Untuk

menampilkan data maka pengguna harus menekan tombol Browse dan akan

muncul halaman untuk memilih data yang akan ditampilkan seperti pada

Gambar 4.5.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

68

Gambar 4. 4 Halaman tab menu data

Gambar 4. 5 Halaman File Chooser untuk mengambil data

Agar data dapat dilihat pengguna cukup menekan tombol tampilkan

pada halaman tab menu Data. Data akan berhasil ditampilkan seperti pada

Gambar 4.6.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

69

Gambar 4. 6 Data yang sudah berhasil ditampilkan

Selanjutnya untuk dapat melihat hasil pohon keputusan dari data yang

telah diambil pengguna cukup menekan tombol Proses maka akan keluar hasil

contoh sebagian treeseperti pada Gambar 4.7

siang,

pagi,

malam,

2-null =

San Mateo,

Surabaya,

Depok,

Jakarta,

1-malam =

Jakarta-Motorbike

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

70

Depok-Motorbike

Surabaya-Smartphone

San Mateo-Smartphone

Jakarta,

Surabaya,

Denpasar,

1-pagi =

Denpasar-Talisman

Surabaya-Talisman

Personal computer,

0-Jakarta =

awal,

0-Personal computer =

awal-Fashion

awal,

tengah,

akhir,

2-siang =

Personal computer,

Smartphone,

0-akhir =

Smartphone-Talisman

Personal computer-

Smartphone

Jakarta,

Denpasar,

Surabaya,

1-tengah =

Surabaya-Talisman

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

71

Denpasar-Talisman

Jakarta-Smartphone

Personal computer,

Smartphone,

Tabelt,

0-awal =

Tabelt-Smartphone

Jakarta,

Mountain View,

0-Smartphone =

Mountain View-Fashion

Jakarta-Fashion

Personal computer-Fashion

Gambar 4. 7Contoh Hasil pohon keputusan

Selanjutnya, setelah hasil pohon keputusan ditampilkan maka lakukan

pengujian dengan mengeklik tabmenu Prediksi seperti pada Gambar 4.8.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

72

Gambar 4. 8 Halaman Prediksi

Untuk menampilkan data maka pengguna harus menekan tombol

Browse dan akan muncul halaman untuk memilih data yang akan ditampilkan

seperti pada Gambar 4.9. Tekan tombol Pengujian maka sistem akan

menampilkan hasil pada kotak di sebelah kanan seperti pada Gambar 4.10.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

73

Gambar 4. 9 Halaman Prediksi dengan data yang sudah ditampilkan

Gambar 4.10 Tampilan contoh hasil pengujian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

74

4.4 Implementasi Diagram Kelas

Dalam pembuatan aplikasi ini, ada 4 packages yang dibuat, yaitu

packages form, packages kelas, packages tools dan packages gambar.

Packagesform terdiri dari 2 kelas, yaitu kelas FormLogin dan HalamanUtama.

Packages kelas terdiri dari 8 kelas, yaitu kelas BacaFile, kelas CekLogin, kelas

Data, kelas Helper, kelas Login, kelas Node, kelas PerhitunganData dan kelas

Tree.Packages tools terdiri dari 2 kelas, yaitu kelas Koneksi dan koneksi1.

Packages gambar berisi gambar – gambar yang dipakai dalam pembuataan

aplikasi ini. Detail implementasi program ada pada lampiran 1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

75

BAB V

PENGUJIAN DATA

5.1 Pengujian Data

Data yang digunakan untuk membuat tree (pohon keputusan) adalah data

sebanyak 375 data. Dari data tersebut hanya akan dibentuk menjadi satu tree.

Untuk pengujian menggunakan data sebanyak 500 data yang berbeda. Data

sebanyak 500 tersebut akan dicoba dimasukkan ke dalam tree. Dari hasil tersebut

akan didapat jumlah data yang benar dan data yang salah. Data yang benar akan

digunakan untuk menghitung nilai akurasi. Hasil dari pencarian pola klasifikasi

pencarian situs website dengan menggunakan 375terdapat pada lampiran 2.

5.2 Hasil Pola Klasifikasi

Hasil rule seperti pada lampiran 3 dapat disederhanakan seperti berikut :

Pola 1 : Interest Fashion = if waktu = pagi OR siang^bulan = tengah OR akhir

OR awal^type = Personal Computer OR Smartphone^city = Boardman OR

Surabaya OR Bogor OR Denpasar OR Jakarta OR London OR Mountain View

OR Palembang OR Samarinda OR San Mateo OR Singapore OR Sleman OR

Tejgaon OR Yogyakarta.

Pola 2 : Interest Smartphone = if waktu = malam OR pagi OR siang^city =

Jakarta OR Bandung OR Medan OR Purwokerto OR San Mateo OR Sidoarjo OR

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

76

Singapore OR Surabaya OR Beijing OR Bogor OR Jakarta OR Madiun OR

Palembang OR Tangerang OR Yogyakarta OR Surakarta OR Depok OR Kudus

OR Makasar OR Pekanbaru^bulan = awal OR akhir OR tengah^type = Personal

Computer OR Smartphone OR Tabelt.

Pola 3 : Interest Motorbike = if waktu = malam OR pagi^city = Jakarta OR

Batam OR Boardman OR Depok OR Kudus OR Medan OR Mountain View OR

Pontianak OR San Mateo OR Surabaya OR Tangerang OR Bekasi OR Mojokerto

OR Saragota OR Tokyo^bulan = tengah OR akhir OR awal^type = Personal

Computer OR Smartphone.

Pola 4 : Interest Talisman = if waktu = pagi OR siang^bulan = tengah OR awal

OR akhir^type = Personal Computer OR Tabelt OR Smartphone^city =

Providence OR Pontianak OR Jakarta OR Bandung OR Dki Jakarta OR Kudus

OR Medan OR Mega OR Palembang OR Sidoarjo OR Surabaya.

5.3 Menghitung akurasi

Untuk pengujian data terhadap pola data yang digunakan adalah data pada

bulan Juni tahun 2015. Pengujian data terhadap pola digunakan data sebanyak

500 data. Untuk setiap pengujian di gunakan data sebanyak 50 data dan dilakukan

10 kali. Hasil pengujian 1 dapat dilihat pada Tabel 5.1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

77

5. 1 Hasil Pengujian ke - 1

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 6 1 2 1 3

6 7

pred. Smartphone 1 2 1 1 7

2 10

pred. Motorbike 1 2 2 2 6

2 11

pred. Talisman 0 0 1 2 9

2 10

jumlah 12 38

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (12/50) * 100 =24%

Hasil pengujian 2 dapat dilihat pada Tabel 5.2.

Tabel 5. 2 Hasil Pengujian ke - 2

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 4 3 1 1 4

4 9

pred. Smartphone 0 2 0 1 9

2 10

pred. Motorbike 1 2 2 1 7

2 11

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

78

pred. Talisman 2 0 0 1 9

1 11

jumlah 9 41

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (9/50) * 100 = 18%

Hasil pengujian 3 dapat dilihat pada Tabel 5.3.

Tabel 5. 3 Hasil Pengujian ke - 3

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 4 3 0 0 6

4 9

pred. Smartphone 0 2 0 1 9

2 10

pred. Motorbike 2 4 2 0 5

2 11

pred. Talisman 0 2 1 2 7

2 10

jumlah 10 40

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (10/50) * 100 = 20%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

79

Hasil pengujian 4 dapat dilihat pada Tabel 5.4.

Tabel 5. 4 Hasil Pengujian ke - 4

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 4 2 0 0 7

4 9

pred. Smartphone 1 1 1 0 9

1 11

pred. Motorbike 1 4 3 0 5

3 10

pred. Talisman 0 2 0 2 8

2 10

jumlah 10 40

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (10/50) * 100 = 20%

Hasil pengujian 5 dapat dilihat pada Tabel 5.5.

Tabel 5. 5 Hasil Pengujian ke - 5

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 5 1 0 1 6

5 8

pred. Smartphone 1 3 3 0 5

3 9

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

80

pred. Motorbike 1 5 2 0 5

2 11

pred. Talisman 1 2 0 2 7

2 10

jumlah 12 38

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (12/50) * 100 = 24%

Hasil pengujian 6 dapat dilihat pada Tabel 5.6.

Tabel 5. 6 Hasil Pengujian ke - 6

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 3 2 2 1 4

3 9

pred. Smartphone 1 2 5 0 5

2 11

pred. Motorbike 1 3 2 0 6

2 10

pred. Talisman 1 5 1 1 5

1 12

jumlah 8 42

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (8/50) * 100 = 16%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

81

Hasil pengujian 7 dapat dilihat pada Tabel 5.7.

Tabel 5. 7 Hasil Pengujian ke - 7

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 1 3 2 2 4

1 11

pred. Smartphone 2 3 4 0 4

3 10

pred. Motorbike 1 3 2 0 6

2 10

pred. Talisman 2 2 1 2 6

2 11

jumlah 8 42

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (8/50) * 100 = 16%

Hasil pengujian 8 dapat dilihat pada Tabel 5.8.

Tabel 5. 8 Hasil Pengujian ke - 8

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 3 2 2 1 4

3 9

pred. Smartphone 1 3 0 1 8

3 10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

82

pred. Motorbike 1 4 2 0 5

2 10

pred. Talisman 3 3 2 0 5

0 13

jumlah 8 42

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (8/50) * 100 = 16%

Hasil pengujian 9 dapat dilihat pada Tabel 5.9.

Tabel 5. 9 Hasil Pengujian ke - 9

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 5 1 3 1 2

5 7

pred. Smartphone 3 1 1 1 7

1 12

pred. Motorbike 1 2 1 0 8

1 11

pred. Talisman 0 1 3 3 6

3 10

jumlah 10 40

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (10/50) * 100 = 20%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

83

Hasil pengujian 10 dapat dilihat pada Tabel 5.10.

Tabel 5. 10 Hasil Pengujian ke - 10

true Fashion

true Smartphone

true Motorbike

true Talisman

unidentified

jumlah data benar

jumlah data salah

pred. Fashion 4 1 3 1 3

4 8

pred. Smartphone 3 1 2 1 6

1 12

pred. Motorbike 1 1 1 2 7

1 11

pred. Talisman 0 1 1 2 9

2 11

jumlah 8 42

Untuk menghitung akurasi digunakan persamaan 2.3

Akurasi = (8/50) * 100 = 16%

Dari sepuluh kali pengujian di dapat hasil seperti pada Tabel 5.11.

Tabel 5. 11 Hasil rata – rata untuk 10 kali pengujian

Hasil Akurasi

Pengujian 1 24%

Pengujian 2 18%

Pengujian 3 20%

Pengujian 4 20%

Pengujian 5 24%

Pengujian 6 16%

Pengujian 7 16%

Pengujian 8 16%

Pengujian 9 20%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

84

Pengujian 10 16%

Rata - rata 190/10 = 19%

Rata – rata hasil yang didapat dari sepuluh kali pengujian adalah 19 % dengan

nilai maksimum : 24 % dan nilai minimum : 16 %.

5.4 Kelebihan dan Kekurangan Program

1. Kelebihan Program :

a. Program ini dapat digunakan untuk klasifikasi pada data yang

berbeda.

b. Program bisa dicoba dengan atribut lebih dari sama dengan 5.

2. Kekurangan Program :

Program tidak selalu bisa mengolah banyak data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

85

BAB VI

KESIMPULAN dan SARAN

6.1 Kesimpulan

Kesimpulan dari tugas akhir ini adalah :

1. Algoritma ID3 berhasil diimplementasikan dengan 375 dataquery

pencarian situs website dengan menggunakan 4 kategori yang ada.

2. Dari hasil 10 kali pengujian dengan 500 data didapat hasil akurasi yang

paling tinggi yaitu sebesar 24%. Nilai maksimum didapat niliai sebesar

24% dan nilai minimum didapat nilai sebesar 16%. Rata – rata nilai

akurasi yang didapat adalah sebesar 19%.

6.2 Saran

Saran yang diperlukan untuk perbaikan dan pengembangan program lebih

lanjut adalah :

1. Program dapat menerima masukan file berupa csv tidak hanya yang

bertipe .xls.

2. Data untuk pengujian diperbesar agar didapat nilai akurasi yang lebih

tinggi.

3. Dicoba dengan menggunakan algoritma yang lain.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

86

Daftar Pustaka

Hermawati Fajar Astuti, 2003, Data Mining, Yogyakarta,

Iko Pramudiono, 2003, Pengantar Data Mining, Kuliah Umum

IlmuKomputer.Com

Sarwono Jonathan, 2013, 12 Jurus Ampuh SPSS untuk Riset Skripsi, Jakarta,

Taufiq Luthfi, Emha, Kusrini, 2009, Algoritma Data Mining, Yogyakarta,

Yudho Giri Sucahyo, 2003, Penerapan Data Mining, Artikel Populer

IlmuKomputer.Com

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

87

LAMPIRAN 1

Dibawah ini adalah implementasi program yang digunakan untuk membuat sistem.

Package Form

1. a. Nama kelas : FormLogin

b. Nama method

:TombolLoginActionPerformed(java.awt.event.ActionEvent

evt)

c. Fungsi method :

d. Listing program :

Private void TombolLoginActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here

String username = jTextField1.getText();

String pswd = jPasswordField1.getText();

CekLogin cek = new CekLogin();

boolean hasil = cek.cekLogin(username, pswd);

if(hasil==true){

HalamanUtama form = new HalamanUtama();

form.setVisible(hasil);

this.dispose();

}

}

private void passwordFieldKeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

String username = jTextField1.getText();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

88

String pswd = jPasswordField1.getText();

CekLogin cek = new CekLogin();

boolean hasil = cek.cekLogin(username, pswd);

if(hasil==true){

HalamanUtama form = new HalamanUtama();

form.setVisible(hasil);

this.dispose();

}

}

2. a. Nama kelas : HalamanUtama

b. Nama method :TestingFold()

c. Fungsi method : untuk pengujian data

d. Listing program :

private void TestingFold() {

int fold = 3;

String[][] data = this.getData();

String[][][] dataDibagi = new String[fold][][];

for (int i = 0; i < fold; i++) { // membagi data sesuai jumlah fold

dataDibagi[i] = getDataByFold(data, fold, i);

System.out.println(dataDibagi[i].length);

}

int bener = 0;

int total = 0;

for (int i = 0; i < fold; i++) {

String[][] dataJoin = null;

for (int j = 0; j < fold; j++) {

if(j != i) { // data lain jadi trainning *digabungkan

dataJoin = dataJoin == null ? dataDibagi[j] :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

89

joinData(dataJoin, dataDibagi[j]);

}

}

Tree tree = new Tree();

tree.buildTree(dataJoin); // membuat tree dari data trainning

fold ke-i

for (int j = 0; j < dataDibagi[i][0].length; j++) { // untuk

mengetest per row data dalam tree

String hasil = tree.testing(transformData(dataDibagi[i], j));

// proses testing

prediksiTextArea.setText(prediksiTextArea.getText() +

"Hasil = " + hasil + "=?=" + dataDibagi[i][0][j] + "\n");

if(hasil.equals(dataDibagi[i][0][j])) { // mencocokan hasil

test dengan interest data asli

bener++; // menghitung jumlah yang benar

}

total++; // menghitung jumlah total data testing

}

}

prediksiTextArea.setText(prediksiTextArea.getText() +

"Persentase = " + ((float) bener * 100 / total) + "%");// menghitung

presentase

System.out.println("Persentase = " + ((float) bener * 100 / total) +

"%");

}

3. a. Nama kelas : HalamanUtama

b. Nama method :transformData(String[][] data, int idx)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

90

c. Fungsi method : untuk mengubah data baris menjadi kolom dan

data kolom menjaddi baris.

d. Listing program :

private String[ ] transformData(String[ ][ ] data, int idx) { //

mengubah data row -> colom |colom -> row

String[ ] newData = new String[data.length - 1];

for (int i = 0; i < newData.length; i++) {

newData[i] = data[i + 1][idx];

}

return newData;

}

4. a. Nama kelas : HalamanUtama

b. Nama method :String[][] joinData(String[][] data1, String[][]

data2)

c. Fungsi method : untuk menggabungkan 2 set data.

d. Listing program :

private String[ ][ ] joinData(String[ ][ ] data1, String[ ][ ] data2) { //

menggabungakan 2 set data

String[ ][ ] data = new String[data1.length][data1[0].length +

data2[0].length];

for (int i = 0; i < data1.length; i++) {

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

data[i][j] = data1[i][j]; // copy data pertama

}

}

for (int i = 0; i < data2.length; i++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

91

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

data[i][j + data1[0].length] = data2[i][j]; //copy data kedua

}

}

return data;

}

5. a. Nama kelas : HalamanUtama

b. Nama method :String[][] getDataByFold(String[][] data,int

fold, int foldID)

c. Fungsi method : untuk mengambil data sesuai dengan foldnya.

d. Listing program :

private String[ ][ ] getDataByFold(String[ ][ ] data,int fold, int

foldID) { // mengambil data sesuai dengan foldnya

int sisa = data[0].length % fold;

int jum = data[0].length / 3;

jum += foldID < sisa ? 1 : 0;

String[ ][ ] newData = new String[data.length][jum];

int idx = 0;

for (int i = foldID; i < data[0].length; i+=fold) {//dimulai dari fold

id, dengan increment fold

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

newData[j][idx] = data[j][i];

}

idx++;

}

return newData;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

92

6. a. Nama kelas : HalamanUtama

b. Nama method :String[][] getData()

c. Fungsi method : untuk mengambil data dari tabel.

d. Listing program :

private String[ ][ ] getData() { // mengambil data dari tabel

DefaultTabelModel model = (DefaultTabelModel)

tabel1.getModel();

String[ ][ ]data = new

String[model.getColumnCount()][model.getRowCount()];

for (int i = 0; i < data.length; i++) { // utk setiap kolom

for (int j = 0; j < data[i].length; j++) { // untuk setiap baris

data[i][j] = model.getValueAt(j, i).toString();

}

}

return data;

}

Package Kelas

1. a. Nama kelas : BacaFile

b. Nama method :String bacaFile(File file)

c. Fungsi method : untuk membaca file yang dimasukkan.

d. Listing program :

public String bacaFile(File file) {

String hasil = null;

if (file.isFile()) {

try {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

93

BufferedReader read = new BufferedReader(new

FileReader(file)); //menyimpan file ke dalam buffer buat dibaca

int i;

try {

while ((i = read.read()) != -1) {

if (hasil != null) {

hasil = hasil + (char) i + read.readLine() + "\n";

} else {

hasil = (char) i + read.readLine() + "\n";

}

}

} catch (IOException ex) {

ex.getMessage();

}

} catch (FileNotFoundException ex) {

ex.getMessage();

}

}

return hasil;

}

2. a. Nama kelas : CekLogin

b. Nama method :cekLogin(String username, String pswd)

c. Fungsi method : untuk

d. Listing program :

public boolean cekLogin(String username, String pswd) {

boolean hasil = false;

if (!username.equals("") && !pswd.equals("")) {

Login login = new Login();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

94

hasil = login.login(username, pswd);

if (hasil == true) {

JOptionPane.showMessageDialog(null, "Anda berhasil

Login");

} else {

JOptionPane.showMessageDialog(null, "Login gagal");

}

} else {

JOptionPane.showMessageDialog(null, "Isi data username

dan password terlebih dahulu");

}

return hasil;

}

3. a. Nama kelas : Login

b. Nama method :login(String username, String password)

c. Fungsi method : untuk mencocokkan username dan password.

d. Listing program :

public boolean login(String username, String password) {

boolean hasil = false;

Koneksi connection = new Koneksi();

String sql = "select password from login where username = '" +

username + "' and password= '" + password + "';";

Statement statement;

try {

statement = (Statement)

connection.bukaKoneksi().createStatement();

ResultSet result = statement.executeQuery(sql);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

95

while(result.next()){

System.out.println("ada");

hasil=true;

}

statement.close();

connection.tutupKoneksi();

} catch (SQLException ex) {

Logger.getLogger(Login.class.getName()).log(Level.SEVERE,

null, ex);

}

return hasil;

}

4. a. Nama kelas : PerhitunganData

b. Nama method :entropy(int[][] data)

c. Fungsi method : untuk setiap nilai entropy.

d. Listing program :

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

96

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;

}

5. Nama kelas : PerhitunganData

b. Nama method :gain(double[] entropy, int[][] data)

c. Fungsi method : untuk setiap nilai gain.

d. Listing program :

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];

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

97

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

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

interest[0][j] += data[i][j];

}

}

double entropySemua = this.entropy(interest)[0]; // menghitung

entrpy semua

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + "Entropy semua " +

entropySemua + "\n");

// System.out.println("Entropy semua " + entropySemua);

gain = entropySemua - gain; // rumus gain = entropysemua -

jumlah (peluang * entropy)

return gain;

}

6. a. Nama kelas : PerhitunganData

b. Nama method :transfromData(String[][] data)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

98

c. Fungsi method : untuk mengubah data mentah(tabel) menjadi

data informasi jumlah partisi atribute per interest

d. Listing program :

public int[ ][ ][ ] transfromData(String[ ][ ] data) { // mengubah

data mentah(tabel) menjadi data informasi jumlah partisi atribute

per interest

int hasil[ ] [ ][ ] = new int[data.length - 1][ ][ ];

Map<String, Integer> dicInterest = new HashMap<String,

Integer>();

for (int i = 0; i < data[0].length; i++) { //membuat daftar interest

yang ada

String val = data[0][i];

if (!dicInterest.containsKey(val)) {

dicInterest.put(val, dicInterest.size());

}

}

for (int i = 0; i < hasil.length; i++) { // loop masing2 atribute

Map<String, Integer> dic = new HashMap<String, Integer>();

for (int j = 0; j < data[i + 1].length; j++) { // mebuat daftar partisi

atribute

String val = data[i + 1][j];

if (!dic.containsKey(val)) {

dic.put(val, dic.size());

}

}

int[][] tabelAttribute = new

int[dic.keySet().size()][dicInterest.keySet().size()];

for (int j = 0; j < data[i + 1].length; j++) { // menghitungjumlah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

99

partisi atribute per iterest

tabelAttribute[dic.get(data[i + 1][j])][dicInterest.get(data[0][j])]++;

}

}

hasil[i] = tabelAttribute;

}

return hasil;

}

7. a. Nama kelas : PerhitunganData

b. Nama method :buildTree(String[][] tabel)

c. Fungsi method : untuk membuat pohon keputusan (tree).

d. Listing program :

public Node buildTree(String[][] tabel) {// membuat tree

if (tabel.length < 2) { // merupakan attribute terakhir tidak dapat

diproses

return new Node();

}

int[][][] data = transfromData(tabel);

double[] gain = new double[data.length];

int maxGainIndex = 0;

double[][] entro = new double[data.length][];

for (int i = 0; i < data.length; i++) { // mencari gain atribut yang

maximal

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

gain[i] = gain(entro[i] = entropy(tempData), tempData);

maxGainIndex = gain[i] > gain[maxGainIndex] ? i :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

100

maxGainIndex;

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + gain[i] + "\n");

// System.out.println(gain[i]);

}

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + "--------------------" + "\n");

// System.out.println("-------------------------------");

String[] unik = unique(tabel[maxGainIndex + 1]); // mencari

partisi variable

Node currNode = new Node();

currNode.setChilds(new Node[unik.length]);

currNode.setIdxSyarat(maxGainIndex);

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + "UNIK" + "\n");

// System.out.println("UNIK");

for (int i = 0; i < unik.length; i++) {

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + unik[i] + "\n");

// System.out.println(unik[i]);

}

for (int i = 0; i < unik.length; i++) {

if (entro[maxGainIndex][i] == 0) { // jika entropy = 0, maka

akan menjadi node terakhir(leaf)

Node nod = new Node();

nod.setHasil(getLeaf(tabel, maxGainIndex + 1, unik[i],

data[maxGainIndex][i].length)); // untuk menentukan interest

nod.setValueSyaratParent(unik[i]);

currNode.getChilds()[i] = nod;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

101

} else { // jika entory !0 maka akan dipecah jadi child

int jum = 0;

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

jum += data[maxGainIndex][i][j];

}

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + maxGainIndex+"-"+unik[i] +"-"+

jum + "\n");

// System.out.println(maxGainIndex+"-"+unik[i] +"-"+ jum);

String[][] newTabel = removeUnik(tabel, maxGainIndex +

1, unik[i], jum); // menghilangkan data yang bukan merupakan

partisi varible yg sedang diproses

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

String[] strings = newTabel[j];

for (int k = 0; k < strings.length; k++) {

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + strings[k]);

// System.out.print(strings[k]+" ");

}

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + "" +""+""+ "\n");

//

System.out.println("");System.out.println("");System.out.println("");

}

if (newTabel.length < 2) { // merupakan varibale terakhir

dipakasa mencari leaf

Node nod = new Node();

nod.setHasil(getLeaf(tabel, maxGainIndex + 1, unik[i],

data[maxGainIndex][i].length)); // dicari leaf dengan jumlah paling

banyak atau pertama terbanyak

nod.setValueSyaratParent(unik[i]);

currNode.getChilds()[i] = nod;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

102

} else { // masih bisa dipecah childnya

Node child = buildTree(newTabel); // rekursive

mengulang proses yang sama utk data yg sudah dipotong

child.setValueSyaratParent(unik[i]);

currNode.getChilds()[i] = child;

}

}

}

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + "-------------" + "\n");

// System.out.println("------------");

return currNode;

}

8. a. Nama kelas : PerhitunganData

b. Nama method :getLeaf(String[][] data, int idx, String unik, int

jumInterest)

c. Fungsi method : untuk mencari leaf (hasil node terakhir pada

pohon keputusan).

d. Listing program :

private String getLeaf(String[][] data, int idx, String unik, int

jumInterest) { // mencari leaf

Map<String, Integer> interest = new HashMap<String, Integer>();

String maxVal = "";

for (int i = 0; i < data[idx].length; i++) { // loop setiap data ut

mencari yang terbanyak atau pertama terbanyak

if (data[idx][i].equals(unik)) {

String val = data[0][i];

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

103

if (interest.containsKey(val)) { // membuat daftar partisi

dengan jumlahnya

interest.put(val, interest.get(val).intValue() + 1); // jika

sudah ada ditambah 1

} else {

interest.put(val, 1); // jika belum ada diintisial 1

}

if (interest.containsKey(maxVal)) { // inisialisasi maxVal

jika sudah akan dibandingkan

if (interest.get(val).intValue() >

interest.get(maxVal).intValue()) { // pengecekan data terbanyak

maxVal = val;

}

} else { // jika belum maka akan dianggap max

maxVal = val;

}

}

}

return maxVal;

}

9. a. Nama kelas : PerhitunganData

b. Nama method :removeUnik(String[][] data, int idx, String

unik, int jum)

c. Fungsi method : untuk menghilangkan atribut partisi unik dan

bukan unik.

d. Listing program :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

104

public String[][] removeUnik(String[][] data, int idx, String unik,

int jum) { // menghilangkan "attribute partisi unik", dan "partisi yang

bukan unik"

String[][] newData = new String[data.length - 1][jum];

int id = 0;

for (int i = 0; i < data[idx].length; i++) { // baris

if (data[idx][i].equals(unik)) { // ini filter yang unik (selain

partisi unik bisa di copy)

int tempJ = 0; // kolom

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

if (idx != j) { // ini filter atribut unik (selain atribut unik

bisa di copy)

newData[tempJ][id]= data[j][i];

tempJ++;

}

}

id++;

}

}

return newData;

}

10. a. Nama kelas : PerhitunganData

b. Nama method :unique(String[] data)

c. Fungsi method : untuk membuat daftar partisi variable yang

unik

d. Listing program :

rivate String[ ] unique(String[ ] data) { // membuat daftar partisi

variable yang unik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

105

ArrayList<String> dic = new ArrayList<String>();

for (int i = 0; i < data.length; i++) {

String val = data[i];

if (!dic.contains(val)) { // jika belum ada, dimasukan dalam

list dianggap unik

dic.add(val);

}

}

String[] unik = new String[dic.size()];

for (int i = 0; i < unik.length; i++) { // mengubah dari arrayylist ke

arrayString

unik[i] = dic.get(i);

}

return unik;

}

}

11. a. Nama kelas : Tree

b. Nama method :printTree()

c. Fungsi method : untuk menampilkan tree (pohon keputusan)

d. Listing program :

public void printTree() { //menampilkan tree

Node curr = root; // mulai dari root

Stack<Node> st = new Stack<Node>();

st.push(curr);

while (!st.empty()) { //selama stacknya masih ada, berarti masih

ada node yang bisa d tampilkan

curr = st.pop();

if (curr.getChilds() == null) { // jika tidak punya child leaf

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

106

terakhir maka yg ditampikan adalah value dari attribute

(smartphone di tipe)

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + curr.getValueSyaratParent() + "-"

+ curr.getHasil() + "\n");

// System.out.println(curr.getValueSyaratParent() + "-" +

curr.getHasil());

} else { // jika punya child maka yg ditampilkan childnya...

String s = curr.getIdxSyarat() + "-" +

curr.getValueSyaratParent() + " = ";

for (int i = 0; i < curr.getChilds().length; i++) { //

mendapatkan setiap child

st.push(curr.getChilds()[i]); // memasukan tiap child

dalam stack

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() +

curr.getChilds()[i].getValueSyaratParent() + "," + "\n");

// s += curr.getChilds()[i].getValueSyaratParent() + ","; //

nampilin

}

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + s + "\n");

// System.out.println(s);

}

}

}

12. a. Nama kelas : Tree

b. Nama method :removeAtt(String[] dat, int idx)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

107

c. Fungsi method : untuk menghilangkan attribute dalam index

tertentu

d. Listing program :

String[] removeAtt(String[] dat, int idx) { // untuk mengilangkan

attribute dalam index tertentu

String[] datTemp = new String[dat.length - 1];

int id = 0;

for (int i = 0; i < dat.length; i++) { // loop untuk maisng2 attribute

if (i != idx) { // mengopy data attribute selain yang mau

dihapus

datTemp[id] = dat[i];

id++;

}

}

return datTemp;

}

13. a. Nama kelas : Tree

b. Nama method :testing(String[] data)

c. Fungsi method : untuk pengecekkan data terhadap tree

d. Listing program :

public String testing(String[] data) {

String hasil = "";

Node curr = root;

int syart = -1;

int countDeep = 0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

108

while (curr.getChilds() != null) { // mencari node terakhir(tidak

ada child)

boolean ada = false;

for (int i = 0; i < curr.getChilds().length; i++) { // mencari setiap

child

Helper.textAreaActive.setText(

Helper.textAreaActive.getText() + data[curr.getIdxSyarat()]

+"===="+curr.getChilds()[i].getValueSyaratParent() + "\n");

// System.out.println(data[curr.getIdxSyarat()]

+"===="+curr.getChilds()[i].getValueSyaratParent());

if

(data[curr.getIdxSyarat()].equals(curr.getChilds()[i].getValueSyara

tParent())) { //membandingkan value dengan syarat dalam tree

data = removeAtt(data, curr.getIdxSyarat());

curr = curr.getChilds()[i];

ada = true;

break;

}

}

if(!ada) { // jika tidakk ada syarat yang cocok

return "unidentified";

}

}

hasil = curr.getHasil();

return hasil;

}

14. a. Nama kelas : Tree

b. Nama method :saveTree ( )

c. Fungsi method : untuk menyimpan pola dari tree

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

109

d. Listing program :

public void saveTree() {

try {

File file = new File("save.obj");

FileOutputStream fileOutput = new FileOutputStream(file);

ObjectOutputStream objectOutput = new

ObjectOutputStream(fileOutput);

objectOutput.writeObject(root);

objectOutput.close();

fileOutput.close();

} catch (Exception ex) {

Logger.getLogger(Tree.class.getName()).log(Level.SEVERE, null,

ex);

}

}

15. a. Nama kelas : Tree

b. Nama method :loadTree ( )

c. Fungsi method : untuk membaca pola dari tree

d. Listing program :

public boolean loadTree() {

try {

File file = new File("save.obj");

FileInputStream fileInput = new FileInputStream(file);

ObjectInputStream objectInput = new

ObjectInputStream(fileInput);

root = (Node) objectInput.readObject();

objectInput.close();

fileInput.close();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

110

return true;

} catch (Exception ex) {

Logger.getLogger(Tree.class.getName()).log(Level.SEVERE, null,

ex);

}

return false;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

111

LAMPIRAN 2

Di bawah ini adalah hasil pohon keputusan (tree) dengan menggunakan data

sebanyak 375 data.

siang,

pagi,

malam,

2-null =

Jakarta,

Surabaya,

San Mateo,

Bandung,

Medan,

Singapore,

Sidoarjo,

Purwokerto,

Depok,

Batam,

Pontianak,

Mountain View,

Boardman,

Kudus,

Tangerang,

1-malam =

Tangerang-Motorbike

Kudus-Motorbike

Boardman-Motorbike

Mountain View-Motorbike

Pontianak-Motorbike

Batam-Motorbike

Depok-Motorbike

Purwokerto-Smartphone

Sidoarjo-Smartphone

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

112

Singapore-Smartphone

akhir,

awal,

1-Medan =

awal-Motorbike

akhir-Smartphone

Bandung-Smartphone

tengah,

awal,

akhir,

1-San Mateo =

akhir-Motorbike

Smartphone,

0-awal =

,

0-Smartphone =

-Smartphone

Smartphone,

0-tengah =

,

0-Smartphone =

-Motorbike

tengah,

awal,

1-Surabaya =

Smartphone,

Personal computer,

0-awal =

Personal computer-Motorbike

,

0-Smartphone =

-Motorbike

Smartphone,

Personal computer,

0-tengah =

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

113

,

0-Personal computer =

-Smartphone

,

0-Smartphone =

-Motorbike

awal,

tengah,

akhir,

1-Jakarta =

akhir-Motorbike

Smartphone,

Personal computer,

0-tengah =

,

0-Personal computer =

-Motorbike

,

0-Smartphone =

-Motorbike

Personal computer,

Smartphone,

0-awal =

,

0-Smartphone =

-Motorbike

,

0-Personal computer =

-Smartphone

Jakarta,

Surabaya,

Bandung,

Boardman,

Palembang,

Singapore,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

114

San Mateo,

Madiun,

Beijing,

Bogor,

Tangerang,

Yogyakarta,

Surakarta,

Mojokerto,

Saratoga,

Tokyo,

Bekasi,

Providence,

Pontianak,

1-pagi =

Pontianak-Talisman

Providence-Talisman

Bekasi-Motorbike

Tokyo-Motorbike

Saratoga-Motorbike

Mojokerto-Motorbike

Surakarta-Smartphone

Yogyakarta-Smartphone

Tangerang-Smartphone

Bogor-Smartphone

Beijing-Smartphone

Madiun-Smartphone

San Mateo-Smartphone

Singapore-Smartphone

Palembang-Smartphone

Personal computer,

0-Boardman =

tengah,

0-Personal computer =

,

0-tengah =

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

115

-Fashion

Bandung-Fashion

Surabaya-Fashion

tengah,

awal,

akhir,

1-Jakarta =

akhir-Smartphone

Smartphone,

0-awal =

,

0-Smartphone =

-Smartphone

Smartphone,

Personal computer,

Tabelt,

0-tengah =

Tabelt-Talisman

Personal computer-Fashion

Smartphone-Fashion

Surabaya,

Jakarta,

Denpasar,

Mountain View,

Bandung,

Tejgaon,

Yogyakarta,

London,

Samarinda,

Sleman,

Palembang,

Singapore,

Bogor,

San Mateo,

Boardman,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

116

Pekanbaru,

Kudus,

Sidoarjo,

Bantul,

Medan,

Makassar,

Beijing,

Depok,

Dki Jakarta,

Mega,

1-siang =

Mega-Talisman

Dki Jakarta-Talisman

Depok-Smartphone

tengah,

akhir,

1-Beijing =

akhir-Talisman

tengah-Smartphone

Makassar-Smartphone

Smartphone,

Personal computer,

0-Medan =

Personal computer-Talisman

Smartphone-Smartphone

Bantul-Smartphone

Personal computer,

Smartphone,

0-Sidoarjo =

Smartphone-Talisman

Personal computer-Smartphone

Personal computer,

Smartphone,

0-Kudus =

Smartphone-Talisman

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

117

Personal computer-Smartphone

Personal computer,

0-Pekanbaru =

tengah,

0-Personal computer =

,

0-tengah =

-Smartphone

Boardman-Fashion

Smartphone,

0-San Mateo =

tengah,

0-Smartphone =

,

0-tengah =

-Fashion

Bogor-Fashion

awal,

akhir,

1-Singapore =

akhir-Smartphone

Personal computer,

0-awal =

,

0-Personal computer =

-Fashion

Personal computer,

Tabelt,

0-Palembang =

Tabelt-Talisman

Personal computer-Fashion

Sleman-Fashion

Samarinda-Fashion

London-Fashion

Yogyakarta-Fashion

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

118

Tejgaon-Fashion

tengah,

akhir,

awal,

1-Bandung =

Personal computer,

Smartphone,

0-awal =

Smartphone-Talisman

,

0-Personal computer =

-Talisman

Personal computer,

0-akhir =

,

0-Personal computer =

-Smartphone

Smartphone,

0-tengah =

,

0-Smartphone =

-Talisman

tengah,

awal,

akhir,

1-Mountain View =

akhir-Fashion

awal-Fashion

Smartphone,

0-tengah =

,

0-Smartphone =

-Fashion

Denpasar-Fashion

Smartphone,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

119

Personal computer,

Tabelt,

0-Jakarta =

Tabelt-Smartphone

tengah,

akhir,

awal,

0-Personal computer =

,

0-awal =

-Fashion

,

0-akhir =

-Fashion

,

0-tengah =

-Fashion

awal,

tengah,

akhir,

0-Smartphone =

,

0-akhir =

-Fashion

,

0-tengah =

-Talisman

,

0-awal =

-Fashion

awal,

akhir,

tengah,

1-Surabaya =

Smartphone,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

120

Personal computer,

0-tengah =

Personal computer-Smartphone

,

0-Smartphone =

-Talisman

Personal computer,

Smartphone,

0-akhir =

Smartphone-Talisman

,

0-Personal computer =

-Fashion

Personal computer,

Smartphone,

0-awal =

Smartphone-Smartphone

Personal computer-Fashion

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

121

LAMPIRAN 3

Rule untuk interestFashion

Rule 1 : Interest Fashion = if waktu = pagi^bulan = tengah^type = Personal

Computer^city = Boardman

Rule 2 : Interest Fashion = if waktu = pagi^bulan = tengah^type = Personal

Computer^city = Jakarta

Rule 3 : Interest Fashion = if waktu = pagi^bulan = tengah^type = Smartphone

Rule 4 : Interest Fashion = if waktu = siang^city = Boardman

Rule 5 : Interest Fashion = if waktu = siang^city = Bogor

Rule 6 : Interest Fashion = if waktu = siang^city = Denpasar

Rule 7 : Interest Fashion = if waktu = siang^city = Jakarta^type = Personal

Computer^bulan = akhir

Rule 8 : Interest Fashion = if waktu = siang^city = Jakarta^type = Personal

Computer^bulan = awal

Rule 9 : Interest Fashion = if waktu = siang^city = Jakarta^type = Personal

Computer^bulan = tengah

Rule 10 : Interest Fashion = if waktu = siang^city = Jakarta^type =

Smartphone^bulan = akhir

Rule 11 : Interest Fashion = if waktu = siang^city = Jakarta^type =

Smartphone^bulan = awal

Rule 12 : Interest Fashion = if waktu = siang^city = London

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 139: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

122

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 140: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

123

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 141: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

124

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

Rule 4 : Interest Motorbike = if waktu = malam^city = Jakarta^bulan = akhir

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 142: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

125

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 143: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

126

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

Rule 12 : Interest Talisman = if waktu = siang^city = Palembang^type = Tabelt

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 144: Penambangan Data Query pada Situs Web dengan Menggunakan ...repository.usd.ac.id/3888/2/115314094_full.pdf · Penambangan Data Query pada Situs Web dengan Menggunakan Algoritma Decision

127

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI