Anda di halaman 1dari 120

LAPORAN AKHIR

PRAKTIKUM DATA MINING


KELOMPOK A

Disusun Oleh :

Nama : Virgilius Daton Balamakin


NIM : 201064018
Jurusan : Statistika

JURUSAN STATISTIKA
FAKULTAS SAINS TERAPAN
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2023
KATA PENGANTAR
Puji syukur Kepada Tuhan Yang Maha Esa, atas berkat dan pertolongan-Nya
sehingga penulis dapat menyelelesaikan tugas laporan akhir praktikum data mining
ini dalam waktu yang telah di tentukan sebagaimana yang telah tertanda dalam
kesepakatan praktikum bersama asisten pembimbing parktikum.
Dalam penulisan laporan akhir ini, banyak hambatan yang penulis alami, namun
berkat dukungan dan semangat dari semua pihak, penulis dapat menyelesaikan
laporan akhir ini. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan
terimakasih sebesar-besarnya kepada :
1. Ibu Rokhana Dwi Bekti, S.Si, M.Si. selaku dosen Pengampuh Mata Kuliah
Data Mining atas bimbingannya.
2. Tim laboratorium Statistika atas fasilitas dan kesempatan yang penulis
terima selama mengikuti kegiatan praktikum
3. Asisten praktikum Data Mining yang telah membimbing penulis dalam
memahami dan menyusun laporan akhir ini.
4. Semua pihak yang telah membantu penulisan laporan ini dengan caranya
masing-masing.
Penulis menyadari laporan ini masih jauh dari kata sempurna, untuk itu penulis
mengharapkan kritik dan saran yang membangun demi perbaikan laporan ini.
Akhirnya penulis mengharapkan semoga laporan ini dapat menambah wawasan
pengetahuan para pembaca.

Yogyakarta, Mei 2023

Penulis

ii
DAFTAR ISI

KATA PENGANTAR ............................................................................................ ii

DAFTAR ISI .......................................................................................................... iii

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

1.1 Latar Belakang .............................................................................................. 1

1.2 Rumusan Masalah ......................................................................................... 3

1.3 Batasan Masalah ............................................................................................ 3

1.4 Tujuan ............................................................................................................ 4

1.5 Manfaat .......................................................................................................... 4

BAB II LANDASAN TEORI ................................................................................. 5

2.1 Scrapping Data .............................................................................................. 5

2.2 Data Mining ................................................................................................... 7

2.3 Eksplorasi Data .............................................................................................. 9

2.4 Clustering Data ............................................................................................ 10

2.5 Decision Tree .............................................................................................. 11

2.6 Random Forest ............................................................................................ 12

2.7 Assosiation Rules ........................................................................................ 15

BAB III METODE PENELITIAN........................................................................ 17

3.1 Objek Penelitian .......................................................................................... 17

3.2 Variabel Penelitian ...................................................................................... 18

3.3 Metode Anslisis Data .................................................................................. 19

BAB IV ANALISIS DAN PEMBAHASAN ........................................................ 20

4.1 Scrapping Data ............................................................................................ 20

4.2 Eksplorasi Data ............................................................................................ 28

4.2.1 Mengecek Missing Data ....................................................................... 28

iii
4.2.2 Mengecek Outlier ................................................................................. 30

4.2.3 Melakukan Ekplorasi Data.................................................................... 40

4.3 Clustering .................................................................................................... 47

4.3.1 Persiapan Data ...................................................................................... 47

4.3.2 Asumsi Cluster...................................................................................... 51

4.3.3 Melakukan Clustering dengan K-Means .............................................. 52

4.3.4 Visualisai Clustering K-Means ............................................................. 56

4.3.5 Uji Validitas .......................................................................................... 57

4.3.6 Profiling Cluster.................................................................................... 59

4.4 Decision Tree .............................................................................................. 63

4.4.1 Persiapan Data ...................................................................................... 63

4.4.2 Membangun model ............................................................................... 66

4.5 Random Forest ............................................................................................ 68

4.5.1 Persiapan Data ...................................................................................... 68

4.5.2 Membangun model ............................................................................... 71

4.6 Assosiation Rules ........................................................................................ 82

4.6.1 Persiapan Data ...................................................................................... 82

4.6.2 Eksplorasi Data ..................................................................................... 83

4.6.3 Membangun Model ............................................................................... 86

BAB V PENUTUP................................................................................................ 93

5.1 Kesimpulan .................................................................................................. 93

5.2 Saran ............................................................................................................ 95

DAFTAR PUSTAKA ........................................................................................... 96

LAMPIRAN .......................................................................................................... 97

iv
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan internet yang semakin pesat tentunya menjadikan berbagai
informasi bisa didapatkan dengan sangat mudah dalam waktu yang relatif singkat.
Sumber informasi yang ada akan memberikan manfaat, karena antara satu sumber
dengan sumber lainnya dapat saling melengkapi informasi yang disajikan. Namun,
di sisi lain informasi dengan jumlah yang sangat banyak dan beragam akan
menyebabkan adanya information overload. Information overload adalah informasi
yang terlalu banyak untuk diterima oleh manusia, sehingga sulit untuk diolah.
Karena adanya information overload, manusia dituntut untuk dapat mengatasi dan
mengolah berbagai informasi yang didapatkan dari berbagai sumber sehingga
menjadi satu kesatuan informasi yang utuh, akurat dan bermanfaat. Salah satu
komponen penting dalam manajemen pengetahuan adalah akuisisi informasi.
Komponen ini berperan penting dalam memilih dan memilah informasi yang
relevan untuk dimasukkan kedalam struktur pengetahuan yang akan
dikembangkan.
Karakteristik informasi yang tersedia di internet memiliki perbedaan yang
cukup signifikan dengan karakteristik informasi yang tersedia di dalam suatu
organisasi baik dari sisi bentuk, variasi maupun validitas informasi. Perbedaan ini
tentunya memerlukan pendekatan yang berbeda dalam proses akuisisinya
dibandingkan dengan proses akuisisi informasi di internal organisasi. Dalam
penelitian ini akan dikembangkan sebuah metodologi akuisisi informasi dari laman
web yang tersedia di internet. Metodologi yang dibangun akan memanfaatkan
teknologi web scraping dan text mining serta klasifikasi dan association rules.
Data Mining (Penambangan data) merupakan bidang ilmu multidisplin,
menggambarkan area-area kerja yang termasuk didalamnya adalah teknologi basis
data, pembelajaran mesin, statistik, pengenalan pola, pengambilan informasi,
jaringan saraf tiruan, sistem berbasis pengetahuan, kecerdasan buatan, komputasi
kinerja-tinggi, dan visualisasi data [Han & Kamber, 2006].
Data scraping juga dikenal sebagai data extraction, adalah sebuah metode
otomatisasi yang memungkinkan seseorang untuk mengambil data dari berbagai

1
sumber seperti website, database, aplikasi enterprise, atau sistem legacy, dan
menyimpannya dalam format tabular atau spreadsheet. Dalam kata lain, data
scraping merupakan teknik otomatisasi yang mempermudah tugas-tugas berulang
seperti menyalin data dari website, dengan algoritma yang berjalan untuk
mengambil data dan menyimpannya dalam file atau database. Salah satu manfaat
utama dari penggunaan data scraping adalah efisiensi dalam hal waktu dan tenaga.
Eksplorasi data merupakan tahap penting dalam pemahaman data sebelum
menjalankan praproses. Memahami data yang akan digunakan dalam proses
penggalian informasi dapat membantu dalam menentukan teknik-teknik praproses
dan analisis yang tepat sebelum melakukan data mining.
Analisis klaster merupakan metode statistik yang digunakan untuk
mengidentifikasi kelompok sampel berdasarkan karakteristik yang serupa. Dalam
analisis klaster, elemen-elemen yang memiliki kesamaan dalam tingkat yang tinggi
antara satu sama lain dikelompokkan menjadi satu klaster, sementara elemen-
elemen yang memiliki tingkat perbedaan yang tinggi antara klaster dikelompokkan
secara terpisah. Pengklasteran ini berdasarkan pada kelompok variabel yang diteliti
(Nugroho, 2008).
Menurut Maimon (2005), pohon keputusan merupakan salah satu teknik
klasifikasi yang dikenal sebagai partisi rekursif. Pohon keputusan terdiri dari
simpul-simpul yang membentuk sebuah pohon dengan akar, dan setiap simpul
memiliki satu input. Simpul yang menghasilkan output disebut simpul uji (node
tes), sedangkan simpul-simpul lainnya disebut simpul keputusan atau simpul daun.
Setiap simpul internal membagi ruang menjadi dua atau lebih sub-ruang
berdasarkan atribut kategori dan akan membagi data sesuai dengan nilai atribut
kategori tersebut. Kasus-kasus ini membentuk pohon keputusan yang digunakan
untuk memecahkan masalah.
Random forest classifier merupakan metode klasifikasi yang terdiri dari
sejumlah pohon keputusan yang digunakan sebagai pemilih untuk mencapai hasil
akhir dalam pendeteksian sarkasme. Metode ini menggunakan data latih dan fitur
acak yang independen dengan variasi fitur yang berbeda. Pohon keputusan
dibangun dengan menggunakan simpul akar, simpul internal, dan simpul daun
dengan memilih atribut dan data secara acak sesuai dengan aturan yang ditentukan.

2
Association rule merupakan salah satu metode yang sering digunakan untuk
mencari pola yang sering muncul di antara banyak transaksi. Setiap transaksi terdiri
dari beberapa item, dan metode ini mendukung sistem rekomendasi dengan
menemukan pola antar item dalam transaksi-transaksi yang terjadi.
Karena itu, dalam laporan akhir ini, peneliti memilih permainan pokemon
sebagai dataset yang akan digunakan dalam metode data mining, seperti data
scraping, eksplorasi data, pengelompokan, pohon keputusan, dan random forest.

1.2 Rumusan Masalah


Adapun rumusan masalah dalam penulisan laporan ini adalah sebagai berikut:
1. Bagaimana hasil screaping data pokemon pada laman weeb yang
digunakan?
2. Bagaimana hasil eksplorasi data pada pokemon database?
3. Bagaimana pengelompokan atau clustering pada pokemon database?
4. Bagaimana pembentukan pembentukan decision tree untuk klasifikasi
database pokemon?
5. Bagaimana penyelesaian studi kasus dengan algoritma random forest
pada pokemon database?
6. Bagaimana penyelesaian studikasus association rules pada data
https://docs.google.com/spreadsheets/d/1xLe5Wz21fG_8bl0q_MI3H7O
VMDj2AhPK/edit?usp=sharing&ouid=112903286555080132181&rtpo
f=true&sd=true.
1.3 Batasan Masalah
Berdasarkan masalah yang telah dirumusakan sebelumnya, penulis membatasi
masalah tersebut agar lebih terarah dan mudah dipahami yakni penulis
menggunakan beberapa metode untuk dianalisis yaitu Scrapping Data, Eksplorasi
Data, metode Clustering, metode Decision Tree, metode Random Forest, metode
Assosiation Rules, serta data hasil screaping yang digunakan untuk analisis adalah
sebanyak 100 dengan bantuan aplikasi (software) R-Studio.

3
1.4 Tujuan
Tujuan dari penulisan laporan ini adalah sebagai berikut :
1. Untuk mengetahui bagaimana tahapan dalam melakukan Scrapping
pada pokemon database.
2. Untuk mengetahui bagaimana tahapan dan gambaran karakteristik
dalam melakukan Eksplorasi pada pokemon database.
3. Untuk mengetahui bagaimana tahapan dalam melakukan Clustering
pada pokemon database.
4. Untuk mengetahui bagaimana tahapan dalam melakukan Decision Tree
pada pokemon database.
5. Untuk mengetahui bagaimana tahapan dalam melakukan Random
Forest pada data pokemon.
6. Untuk mengetahui bagaimana tahapan dalam melakukan Assosiation
Rules pada data.

1.5 Manfaat
Adapun manfaat yang diperoleh dari penulisan laporan ini adalah :
1. Agar pembaca bisa memahami metode-metode analisis pada
matakuliah Datamining seperti Scrapping Data, Eksplorasi Data,
Clustering, Decision Tree, Random Forest, serta Assosiation Rules.
2. Sebagai sarana untuk menerapkan pengetahuan yang diperoleh selama
menempuh studi, khususnya didalam Datamining menggunakan
software Rstudio.
3. Menambah wawasan serta memanfaatkan ilmu pengetahuan yang telah
diperoleh selama mengikuti perkuliahaan dan dapat menerapkannya
secara nyata dalam kehidupan sehari-hari

4
BAB II
LANDASAN TEORI
2.1 Scrapping Data
Data scraping adalah proses ekstraksi data secara otomatis dari sumber-sumber
seperti website, database, atau aplikasi. Dalam proses ini, algoritma atau program
digunakan untuk mengambil informasi yang spesifik dari halaman web atau sumber
data lainnya. Data scraping sering digunakan untuk mengumpulkan data besar-
besaran, melakukan analisis, atau memperoleh wawasan bisnis. Namun, perlu
diperhatikan bahwa penggunaan data scraping harus sesuai dengan hukum dan
kebijakan privasi yang berlaku, serta mematuhi peraturan yang diberlakukan oleh
sumber data yang diakses.
Secara umum, ada dua cara yang bisa digunakan untuk melakukann screaping
data:
a) Manual ➔ metode di mana Anda menyalin data dengan cara copy paste
dari sebuah website
b) Otomatis ➔ metode yang menggunakan koding, aplikasi, atau
extension browser.
Web scraping kini dimudahkan dengan bantuan browser extension dan aplikasi.
Namun, hasilnya masih belum sebaik cara manual dan koding. Dalam artikel ini
kami akan membahas enam teknik web scraping yang umum dilakukan, yaitu :
a) Menyalin data secara manual
Cara web scraping yang paling sederhana adalah menyalin data website
secara manual. Karena Anda harus mengambil dan menyimpan informasi
yang diperlukan satu per satu, teknik ini memakan waktu lama. Akan tetapi,
metode ini paling efektif dari segi pencarian data. Tidak seperti tool atau
bot, Anda sudah tahu letak informasi yang ingin disalin dari suatu website.
Dengan demikian, hasil web scraping dengan cara ini sangat akurat. Teknik
manual ini dianjurkan jika jumlah website atau blog yang ingin Anda saring
terbatas
b) Menggunakan regular expression
Regular expression adalah baris kode yang digunakan dalam algoritma
pencarian untuk menemukan tipe data tertentu dari sebuah file. Dalam

5
konteks web scraping, file yang dimaksud adalah file-file penunjang sebuah
website. Keuntungan utama menggunakan regular expression untuk web
scraping adalah konsistensi syntaxnya di dalam berbagai bahasa
pemrograman. Oleh karena itu, teknik ini sangat fleksibel. Ditambah lagi,
regular expression dapat digunakan untuk mencari data berdasarkan
jenisnya, seperti nama produk, harga, dan alamat email.
c) Parsing HTML
Pada dasarnya, parsing HTML adalah metode yang dilakukan dengan
mengirimkan HTTP request kepada server yang menyimpan data website
yang datanya ingin Anda ekstrak. Dengan teknik ini, Anda dapat melakukan
web scraping tidak hanya pada halaman website yang bersifat statis, tetapi
juga dinamis. Selain itu, parsing HTML juga memungkinkan Anda untuk
menyalin data dalam jumlah yang besar dalam waktu singkat. Sayangnya,
parsing HTML dapat dicegah dengan proteksi website. Tak hanya itu, Anda
bisa diblokir dari suatu situs jika terlalu sering melakukan teknik ini.
d) Menganalisa DOM
DOM atau document object model adalah representasi struktur sebuah
halaman website yang ditulis dengan HTML. Ketika melakukan parsing
HTML, DOM dari halaman yang ingin diekstrak datanya akan dimuat
terlebih dahulu. Untungnya, DOM juga membawa data yang ada pada file
HTML. Oleh karena itu, analisa DOM bisa dijadikan alternatif untuk
melakukan web scraping terhadap halaman situs dinamis jika parsing
HTML tidak membuahkan hasil. Untuk membantu proses ini, Anda bisa
mencari informasi yang diinginkan dengan regular expression.
e) Menggunakan Xpath
XPath adalah bahasa query yang digunakan untuk memilih node dari
struktur file XML dan HTML. Implementasinya tidak jauh berbeda dengan
analisa DOM. Anda menggunakannya untuk mencari data dari struktur file
penunjang halaman. Selain itu, XPath juga dapat digunakan untuk mencari
data pada elemen teks dalam file XML dan HTML. Dengan demikian,
teknik web scraping ini bisa Anda pilih ketika analisa DOM kurang efektif.

6
f) Menggunakan Google Sheet
Google Sheet adalah aplikasi web milik Google yang biasanya digunakan
untuk membuat spreadsheet. Akan tetapi, aplikasi ini ternyata juga bisa
digunakan untuk melakukan web scraping dengan mudah. Di samping
Google Sheet, Anda hanya memerlukan browser yang memiliki fitur inspect
element. Setelah itu, tinggal mengopi expression XPath dari elemen
halaman website yang datanya ingin Anda salin ke dalam command
IMPORTXML yang ada di Google Shee.
Manfaat web scrapping adalah sebagai berikut :
a) Mendapatkan Leads
b) Membandingkan Ulasan dalam Jumlah Besar
c) Optimasi Harga Produk atau Layanan
d) Mencari Informasi sebuah Perusahaan

2.2 Data Mining


Data mining adalah proses pengumpulan sebuah informasi penting pada suatu
data yang berukuran besar. Untuk pengumpulan data tersebut dapat dilakukan
melalui proses perhitungan statistika, matematika, maupun penggunaan teknologi
AI (Artificial Intelligence). Istilah lain dari data mining sendiri dapat berarti
penambangan data yang berbentuk sebuah tool untuk melakukan analisa dengan
teknik penyaringan informasi secara lebih akurat. Teknik tersebut biasanya
dilakukan untuk menemukan beberapa pola – pola tertentu yang masih memiliki
relevansi dengan goals atau instruksi dari pengguna (user).
Fungsi atau kegunaan dari data mining adalah sebagai berikut :
a) Association
Association merupakan proses mengidentifikasi relasi (hubungan) dari
setiap kejadian atau peristiwa yang sudah terjadi pada suatu waktu
tertentu.
b) Classification
Classification berfungsi untuk menyimpulkan beberapa definisi
karakteristik pada suatu grup atau kelompok. Contohnya adalah
pelanggan yang berpindah layanan disebabkan karena kalah bersaing
dengan pelanggan lain.

7
c) Clusterization
Clusterization merupakan proses mengidentifikasi kelompok dari produk
ataupun barang yang memiliki karakteristik khusus.
d) Descriptive
Descriptive merupakan fungsi untuk tujuan memahami lebih dalam
mengenai data, sehingga anda dapat mengamati setiap perubahan
perilaku pada informasi tersebut.
e) Forecasting
Forecasting merupakan teknik peramalan data yang dilakukan untuk
memperoleh gambaran mengenai nilai suatu data di masa yang akan
datang sesuai pengumpulan informasi dengan jumlah informasi yang
besar. Contoh penerapan forecasting adalah data terkait peramalan
jumlah dosen yang masuk pada perguruan tinggi negeri.
f) Predictive
Predictive adalah fungsi yang digunakan untuk menjelaskan suatu proses
dalam menentukan sebuah pola tertentu pada suatu data. Pola tersebut
digunakan oleh berbagai variabel yang ada pada data tersebut.
g) Sequencing
Sequencing adalah proses identifikasi tiap hubungan yang berbeda pada
periode waktu tertentu. Contoh dari sequencing sendiri adalah pelanggan
yang mengunjungi sebuah pertokoan secara terus – menerus (berulang).
Metode yang diterapkan dalam melakukan pengembangan data adalah :
1. Proses Pengambilan Data
Tahapan fase yang dilakukan dimulai dari tahap terbawah, yaitu data masih
berbentuk raw, hingga masuk pada fase akhir. Dimana untuk mencapai fase
akhir tersebut, anda perlu melakukan beberapa tahapan sebagai berikut;
a) Data cleansing, yaitu fase dimana data masih tidak lengkap, mengandung
pesan error, dan tidak konsisten. Sehingga, perlu untuk melakukan
pembersihan data lebih lanjut.
b) Data integration, yaitu proses terjadinya integrasi data, dimana sumber
data yang berulang – ulang serta dapat dikombinasikan dengan file lainnya
ke dalam suatu sumber

8
c) Selection, pada tahapan ini data yang relevan dan sesuai dengan analisis
dapat dipilih pada informasi koleksi tersebut.
d) Data transformation, dimana data yang telah terpilih, akan
ditransformasikan ke dalam bentuk yang cocok untuk prosedur penggalian
lebih lanjut dengan cara melakukan proses normalisasi dan agregasi.
e) Data mining, pada tahapan ini termasuk pada langkah – langkah utama
untuk mengekstrak pola yang berpotensi sebagai sumber informasi yang
berguna.
f) Pattern evaluation, pada tahapan ini, masuk pada pola atau skema yang
menarik dengan mempresentasikan pengetahuan yang telah diidentifikasi
berdasarkan hasil pengukuran (measure) yang telah dilakukan.
g) Knowledge representation, merupakan tahap yang terakhir, dimana hasil
informasi berupa pengetahuan yang berhasil diperoleh akan disajikan atau
divisualisasikan kepada pengguna (user).

2.3 Eksplorasi Data


Eksplorasi data merupakan langkah untuk memahami data sebelum dilakukan
praproses. Pemahaman terhadap data yang akan di-mining dapat membantu dalam
menentukan teknik-teknik pra-proses dan analisis data terhadap data sebelum
dilakukan data mining.
Manfaat eksplorasi data adalah akan mempermudah kita dalam membaca suatu
data dan memahami data, sehingga data yang berukuran besar dapat disajikan
dalam sbuah model yang lebih sederhana. Kita dapat melakukan pengecekan jenis2
data secara statistic dengan mudah dengan bantuan software pengolah data seperti
spss, excel dll. Kita juga dapat melihat grafik fungsi data yang telah diolah,
sehingga akan mempermudah kita dalam memahami deskripsi data tersebut.data
juga dapat diolah dalam bentuk table, gambar dan uji statistic langsung. Dengan
eksplorasi data tentu akan mempermudah kita dalam melakukan proses uji statistic,
karena data telah disajikan secara lebih sederhana. Eksplorasi data juga membantu
perencana memahami lebih jauh makana spasial atau keruangan yang terkandung
dalam informasi geographis. Dengan eksplorasi data juga dapat di analisis dengan
lebih mudah.Selain itu eksplorasi data juga akan membantu kita dalam mengambil
sebuah keputusan, karena informasi data dapat kita peroleh dengan cepat.

9
Kemudian data dapat dipaparkan secara baik, jika terjadi perubahan data maka
perubahan akan mudah di perbaiki, data akan lebih cepat dan mudah di analis.
Tahapan dalam melakukan eksplorasi data adalah sebagai berikut :
a) Melakukan persiapan data, Sebelum melakukan eksplorasi data maka
terlebih dahulu melakukan pemeriksaan dan persiapan data yang
meliputi Missing Data, Outliers, dan Variabel Selection
b) Explore Meliputi Summarizing Data, Visualising Distribution,
Correlation Analysis, Principal Component, Interactive.

2.4 Clustering Data


Analisis klaster adalah suatu metode statistik yang mengidentifikasi kelompok
sampel berdasarkan karakteristik serupa. Analisis klaster mengelompokkan elemen
mirip sebagai objek penelitian yang mempunyai tingkat homogenitas yang tinggi
antar objek menjadi klaster yang berbeda dengan tingkat heterogenitas obyek yang
tinggi antar klaster. Pengklasteran ini didasarkan pada gugus variabel yang
dipertimbangkan untuk diteliti (Nugroho,2008).
Analisis klaster merupakan suatu metode yang membagi individu kedalam
kelompok yang bermakna. Analisis klaster mengelompokkan obyek berdasarkan
informasi yang diperoleh pada data yang menggambarkan obyek dan
keterkaitannya (Johnson and Wichern, 2002).
Analisis klaster harus memenuhi dua asumsi yaitu:
a) Sampel yang diambil harus benar-benar dapat mewakili populasi.
b) Tidakada multikolinieritas (korelasi antar obyek), jika ada maka nilai
multikolinieritasnya kurang dari 0,5 (Nugroho, 2008).
K-Means merupakan salah satu algoritma dalam data mining yang bisa
digunakan untuk melakukan pengelompokan/clustering suatu data. Ada banyak
pendekatan untuk membuat cluster, diantaranya adalah membuat aturan yang
mendikte keanggotaan dalam group yang sama berdasarkan tingkat persamaan
diantara anggota-anggotanya.
Pengelompokan data dengan metode K-Means dilakukan dengan menggunakan
algoritma sebagai berikut:
a. Inisialisasi: Tentukan jumlah kelompok (K) yang diinginkan. Pilih secara
acak K titik sebagai pusat awal kelompok.

10
b. Alokasi: Hitung jarak antara setiap titik data dengan pusat kelompok
yang ada. Alokasikan setiap titik data ke kelompok dengan pusat
terdekat.
c. Pembaruan Pusat: Hitung pusat baru untuk setiap kelompok dengan
mengambil nilai rata-rata dari semua titik data yang termasuk dalam
kelompok tersebut.
d. Iterasi: Ulangi langkah 2 dan 3 sampai tidak ada perubahan alokasi
kelompok atau hingga mencapai kriteria berhenti yang ditentukan
(misalnya, jumlah iterasi tertentu telah tercapai).
e. Hasil: Setelah iterasi selesai, kita mendapatkan kelompok-kelompok data
yang terbentuk berdasarkan algoritma K-Means. Setiap titik data
termasuk dalam satu kelompok tertentu.
Algoritma K-Means berusaha untuk mengoptimalkan posisi pusat kelompok
sehingga jarak antara titik data dalam kelompok yang sama diminimalkan,
sedangkan jarak antara kelompok yang berbeda dijaga sejauh mungkin. Dengan
demikian, K-Means merupakan metode yang populer untuk pengelompokan data.
K-means clustering dapat kita gunakan jika kita melakukan pengelompokkan
data berdasarkan variabel tertentu, di mana kita belum dapat menentukan kelas
outputnya seperti apa (unsupervised learning). Algoritma ini dapat kita gunakan
jika kita dihadapkan pada maslah yang penyelaesaiannya membutuhkan proses
segmentasi atau pengelompokkan menjadi subgroup tertentu, seperti analisis pasar
dan pelanggan. Algoritma ini dapat kita gunakan saat melakukan pembacaan intuitif
terhadap data yang baru kita dapatkan.
2.5 Decision Tree
Data Mining (Penambangan data) merupakan bidang ilmu multidisplin,
menggambarkan area-area kerja yang termasuk didalamnya adalah teknologi basis
data, pembelajaran mesin, statistik, pengenalan pola, pengambilan informasi,
jaringan saraf tiruan, sistem berbasis pengetahuan, kecerdasan buatan, komputasi
kinerja-tinggi, dan visualisasi data [Han & Kamber, 2006].
Ada banyak metodologi Data Mining, salah satu yang populer adalah Pohon
Keputusan (Decision Tree). Pohon keputusan merupakan salah satu metode
klasifikasi yang sangat menarik yang melibatkan konstruksi pohon keputusan yang

11
terdiri dari node keputusan yang di hubungkan dengan cabangcabang dari simpul
akar sampai ke node daun (akhir). Pada node keputusan attribut akan diuji, dan
setiap hasil akan menghasilkan cabang. Setiap cabang akan diarahkan ke node lain
atau ke node akhir untuk menghasilkan suatu keputusan (Larose, 2005).
Menurut Maimon (2005), pohon keputusan adalah salah satu metode
klasifikasi yang dinyatakan sebagai partisi rekursif. Pohon keputusan terdiri dari
node yang membentuk pohon yang berakar, semua node memiliki satu masukan.
Node yang keluar disebut node tes. Node yang lain disebut node keputusan atau
sering disebut node daun. Setiap simpul internal membagi dua atau lebih sub-ruang
sesuai dengan kategori attribut dan akan dipartisi sesuai dengan nilai kategori kasus.
Kasus-kasus tersebut membentuk pohon keputusan yang menghasilkan problem
solving.
Klasifikasi data mining adalah penempatan objek-objek ke salah satu dari
beberapa kategori yang telah ditetapkan sebelumnya. Klasifiksi banyak digunakan
untuk memprediksi kelas pada suatu label tertentu, yaitu dengan mengklasifikasi
data (membangun model) berdasarkan training set dan nilai-nilai (label kelas)
dalam mengklasifikasikan atribut tertentu dan menggunakannya dalam
mengklasifikasikan data yang baru.
Pohon keputusan biasanya digunakan untuk mendapatkan informasi untuk
tujuan pengambilan sebuah keputusan. Pohon keputusan dimulai dengan sebuah
root node (titik awal) yang digunakan oleh user untuk mengambil tindakan.
Berdasarkan node root ini, user memecahkan leaf node sesuai dengan algoritma
decision tree.
2.6 Random Forest
Metode random forest (RF) merupakan metode yang dapat meningkatkan hasil
akurasi, karena dalam membangkitkan simpul anak untuk setiap node dilakukan
secara acak atau random forest classifier merupakan metode klasifikasi yang terdiri
dari kumpulan pohon keputusan yang nantinya akan dijadikan vote untuk
mendapatkan hasil terakhir dari pendeteksian sarkasme dengan pendukung berupa
data latih dan fitur acak yang independen dengan fitur yang berbeda-beda. Metode
ini digunakan untuk membangun pohon keputusan yang terdiri dari root node,
internal node, dan leaf node dengan mengambil atribut dan data secara acak sesuai

12
ketentuan yang diberlakukan. Root node merupakan simpul yang terletak paling
atas, atau biasa disebut sebagai akar dari pohon keputusan. Internal node adalah
simpul percabangan, dimana node ini mempunyai output minimal dua dan hanya
ada satu input. Sedangkan leaf node atau terminal node merupakan simpul terakhir
yang hanya memiliki satu input dan tidak mempunyai output. Keuntungan
penggunaan random forest yaitu mampu mengklasifiksi data yang memiliki atribut
yang tidak lengkap serta dapat digunakan untuk menangani data sampel yang
banyak.
Dan kekurangan penggungaan random forest yaitu interpretasi yang sulit dan
membutuhkan tuning model yang tepat untuk data. Pohon keputusan dibuat dengan
menentukan node akar dan berakhir dengan beberapa node daun untuk
mendapatkan hasil akhir.
Disebut deecision tree atau pohon keputusan karena pilihannya bercabang,
membentuk struktur yang terlihat seperti pohon. Pohon keputusan bekerja paling
baik ketika Anda mengikuti aturan diagram alur dasar :
a. Persegi panjang atau bujur sangkar: Tunjukkan awal pohon tempat
Anda menulis pertanyaan.
b. Garis: Mewakili cabang-cabang pohon. Ini semua adalah kemungkinan
tindakan.
c. Lingkaran: Menandakan hasil yang tidak pasti bahwa Anda akan
membutuhkan cabang tambahan untuk diklarifikasi.
Ada dua jenis utama pohon keputusan yang didasarkan pada variabel target,
yaitu pohon keputusan variabel kategoris dan pohon keputusan variabel kontinu.
a. Decision tree variabel kategori
Sebuah pohon keputusan variabel kategori termasuk variabel target
kategoris yang dibagi ke dalam kategori. Misalnya, kategorinya bisa ya
atau tidak. Kategori berarti bahwa setiap tahap proses keputusan jatuh
ke dalam salah satu kategori, dan tidak ada di antaranya.
b. Decision tree variabel kontinu
Pohon keputusan variabel kontinu adalah pohon keputusan dengan
variabel target kontinu. Misalnya, pendapatan individu yang

13
pendapatannya tidak diketahui dapat diprediksi berdasarkan informasi
yang tersedia seperti pekerjaan, usia, dan variabel kontinu lainnya.
Algoritma Random Forest adalah metode klasifikasi atau regresi yang
menggunakan kumpulan pohon keputusan (decision trees) untuk menghasilkan
hasil akhir. Berikut adalah langkah-langkah utama dalam algoritma Random Forest:
a) Inisialisasi: Tentukan jumlah pohon (n_estimators) yang ingin dibuat
dalam Random Forest. Pilih secara acak sampel bootstrap (sampling
dengan pengembalian) dari data latih untuk setiap pohon.
b) Pembentukan Pohon: Untuk setiap pohon dalam Random Forest,
lakukan langkah-langkah berikut:
- Acak pilih subset fitur (features) dari total fitur yang tersedia.
- Dalam pohon keputusan, bagi data latih ke dalam sub-ruang
berdasarkan aturan pemisahan (misalnya, Gini Index atau Information
Gain).
c) Terus pisahkan sub-ruang secara rekursif dengan membuat simpul-
simpul internal hingga mencapai kondisi berhenti (misalnya, mencapai
batas kedalaman maksimum atau jumlah data dalam simpul terlalu
sedikit).
d) Setiap simpul daun (leaf node) akan memberikan prediksi berdasarkan
mayoritas kelas dari data latih yang ada di simpul tersebut.
e) Voting atau Konsensus: Setelah pembentukan semua pohon, hasil
prediksi dari setiap pohon digunakan untuk memilih mayoritas kelas
(dalam kasus klasifikasi) atau menghitung rata-rata (dalam kasus
regresi).
f) Hasil Akhir: Hasil mayoritas kelas atau rata-rata yang diperoleh dari
langkah sebelumnya dijadikan hasil akhir dari Random Forest.
Random Forest memiliki beberapa keunggulan, seperti kemampuan untuk
mengatasi overfitting, kestabilan terhadap perubahan data, dan mampu menangani
banyak fitur. Hal ini membuatnya menjadi salah satu algoritma yang populer untuk
masalah klasifikasi dan regresi.

14
2.7 Assosiation Rules
Association rule adalah suatu prosedur yang mencari hubungan atau relasi
antara satu item dengan item lainnya. Association rule biasanya menggunakan “if”
dan “then” misalnya “if A then B and C”, hal ini menunjukkan jika A maka B dan
C.
Dalam menentukan association rule perlu ditentukan support dan confidence
untuk membatasi apakah rule tersebut interesting atau tidak. Association rule
berguna untuk menemukan hubungan penting antar item dalam setiap transaksi,
hubungan tersebut dapat menandakan kuat tidaknya suatu aturan dalam asosiasi.
Tujuan association rule adalah untuk menemukan keteraturan dalam data.
Association rule dapat digunakan untuk mengidentifikasi item-item produk yang
mungkin dibeli secara bersamaan dengan produk lain, atau dilihat secara bersamaan
saat mencari informasi mengenai produk tertentu.
Dalam pencarian association rule, diperlukan suatu variabel ukuran
kepercayaan 9 (interestingness measure) yang dapat ditentukan oleh user, untuk
mengatur batasan sejauh mana dan sebanyak apa hasil output yang diinginkan oleh
user.
Terdapat dua ukuran kepercayaan yang menunjukkan kepastian dan tingkat
kegunaan suatu rule yang ditemukan yaitu:
1. Support (dukungan) merupakan suatu ukuran yang menunjukkan seberapa
besar dominasi suatu item atau itemset dari keseluruhan transaksi
2. Confidence (tingkat kepercayaan) adalah suatu ukuran yang menunjukkan
hubungan antar item secara conditional (misalnya seberapa sering item B
dibeli jika orang membeli item A).
Untuk menemukan aturan asosiasi seperti yang diharapkan maka harus
menemukan nilai dari support yang telah ditentukan. Support tersebut merupakan
jumlah item pada setiap transaksi yang ada didalam database. Untuk dapat
menemukan nilai support kita dapat mencari semua aturan yang jumlah support ≥
minimum support. Dalam hal ini dapat digunakan sebagai cara untuk menemukan
sebuah nilai confidence. Nilai confidence ditentukan dari nilai support suatu aturan
dalam sebuah transaksi.

15
Jika itemset pada setiap transaksi tidak sering muncul (infrequent), maka
kandidat yang tidak sesuai dengan nilai support ≥ minimum support tersebut harus
segera dipangkas tanpa harus menghitung confidencenya. Strategi umum
digunakan oleh banyak algoritma penggalian aturan asosiasi adalah memecahkan
masalah ke dalam dua pekerjaan utama, yaitu:
a. Frequent Itemset Generation Tujuannya adalah mencari semua itemset
yang memenuhi ambang batas minimum support. Itemset itu disebut
itemset frequent (Itemset yang sering muncul)
b. Rules Generation Tujuannya adalah mengekstrak aturan dengan
confidence tinggi dari itemset frequent yang ditemukan dalam langkah
sebelumnya. Aturan ini kemudian disebut aturan yang kuat (Strong
rules).

16
BAB III
METODE PENELITIAN
3.1 Objek Penelitian
1. Objek penelitian pada kasus nomor 1 adalah :
Data diambil melalui laman weeb: https://pokemondb.net/pokedex/all , Data
yang diakses adalah data pkemon dataset. Melakukan screaping data!

2. Objek penelitian pada kasus nomor 2 adalah :


Data yang digunakan pada kasus nomor 2 ini adalah data yang sama pada
kasus nomor 1 yaitu data hasil screaping pada laman weeb diatas, yang sudah
di rapihkan di Excell:

Lakukan ekplorasi data, pada data pokemon!

17
3. Data yang digunakan pada kasus nomor 3 ini adalah data yang sama pada
kasus nomor 2 yaitu database pokemon” yang diambil dari web. Lakukan
analisis clustering pada data!
4. Data yang digunakan pada kasus nomor 4 ini adalah data yang sama pada
kasus nomor 2 yaitu database pokemon” yang diambil dari web. Lakukan
analisis decision tree untuk klasifikasi database pokemon!
5. Data yang digunakan pada kasus nomor 5 ini adalah data yang sama pada
kasus nomor 2 yaitu database pokemon” yang diambil dari web. Bagaimana
penyelesaian studi kasus dengan algoritma random forest pada pokemon
database?
6. Objek penelitian pada kasus nomor 6 adalah data seperti berikut:
Kode barang kode barang kode barang kode barang kode barang
1 susu 6 roti 15 pasta gigi 21 sikat gigi 29 shampo
1 roti 7 shampo 15 gula 22 kecap 29 pasta gigi
1 sabun mandi 7 pasta gigi 15 pembersih lantai 22 saos 29 sikat gigi
1 shampo 7 pembersih lantai 15 susu 23 pasta gigi 30 sabun mandi
2 pasta gigi 7 saos 16 roti 23 roti 30 shampo
2 sikat gigi 7 sikat gigi 16 saos 23 susu 30 sikat gigi
2 pembersih lantai 8 kecap 16 pasta gigi 23 sabun mandi 31 pembersih lantai
2 saos 8 pasta gigi 16 kecap 23 sikat gigi 31 gula
3 gula 8 sikat gigi 17 shampo 24 pembersih lantai 32 kecap
4 kecap 8 gula 17 pasta gigi 25 kecap 32 roti
4 pasta gigi 9 shampo 17 susu 25 susu 32 sabun mandi
4 sikat gigi 10 sikat gigi 18 roti 26 susu 33 shampo
4 gula 11 pembersih lantai 19 pembersih lantai 26 roti 33 pasta gigi
5 kecap 12 gula 20 saos 26 sabun mandi 33 saos
5 sabun mandi 12 roti 20 gula 26 shampo 34 saos
5 pembersih lantai 12 pasta gigi 20 kecap 27 pasta gigi 34 kecap
5 gula 12 susu 20 shampo 27 sikat gigi 35 susu
6 sikat gigi 12 saos 20 pasta gigi 27 pembersih lantai
6 gula 13 kecap 20 sikat gigi 27 saos
6 kecap 14 pembersih lantai 21 roti 28 gula
6 susu 15 sabun mandi 21 susu 29 kecap

Lakukan studikasus association rules pada data diatas.

3.2 Variabel Penelitian


Variabel yang digunakan dalam penelitian ini adalah sebagai berikut:
1. Pada analisis kasus nomor 1, variabel penelitian yang digunakan adalah :
Nama, Jenis, Total, HP, Attcak, Defense, dan Speed.
2. Pada analisis kasus nomor 2, variabel penelitian yang digunakan adalah :
Total, HP, Attcak, Defense, dan Speed.
3. Pada analisis kasus nomor 3, variabel penelitian yang digunakan adalah :
Total, HP, Attcak, Defense, dan Speed.

18
4. Pada analisis kasus nomor 4 dan nomor 5 variabel penelitian yang
digunakan adalah :
Variabel (Input) Independen Variabel (Target) Dependen
Variabel HP (X1)
Variabel Attcak (X2)
Y = Variabel Total
Variabel Defense (X3)
Variabel Speed (X4).
5. Pada analisis kasus nomor 6, variabel penelitian yang digunakan adalah :
Kode dan Barang.

3.3 Metode Anslisis Data


Metode analisis data yang digunakan dalam penulisan laporan ini adalah :
1. Pada kasus satu menggunakan metode Scrapping Data yang merupakan
proses pengambilan data dari sebuah website. Dengan kata lain Scrapping
web adalah teknik di mana program komputer mengekstrak data dari
keluaran yang dapat dibaca manusia yang berasal dari program lain.
2. Pada kasus kedua menggunakan metode Eksplorasi Data yang merupakan
langkah untuk memahami data sebelum dilakukan praproses. Pemahaman
terhadap data yang akan di-mining dapat membantu dalam menentukan
teknik-teknik pra-proses dan analisis data terhadap data sebelum dilakukan
data mining.
3. Pada kasus ketiga menggunkana metode Clustering yang merupakan salah
satu algoritma unsupervised learning yang termasuk ke dalam analisis
klaster (cluster analysis) non hirarki yang digunakan untuk
mengelompokkan data berdasarkan variabel atau feature.
4. Pada kasus keempat menggunakan metode Decision Tree yang merupakan
alat pendukung dengan struktur seperti pohon yang memodelkan
kemungkinan hasil, biaya sumber daya, utilitas, dan kemungkinan
konsekuensi.
5. Pada kasus kelima menggunakan metode Random Forest yang merupakan
suatu algoritma yang digunakan pada klasifikasi data dalam jumlah besar.
6. Pada kasus keenam menggunakan metode Assosiation Rules yang
merupakan suatu prosedur yang mencari hubungan atau relasi antara satu
item dengan item lainnya.

19
BAB IV
ANALISIS DAN PEMBAHASAN
4.1 Scrapping Data
Dalam menganalisis data percobaan tersebut aplikasi yang digunakan adalah
aplikasi R-Studio. Langkah-langkah penyelesaian dalam Scrapping data tersebut
adalah sebagai berikut :
a. Membaca file HTML dari halaman website dengan menggunakan
fungsi read_html dengan sintax sebagai berikut:

b. Ekstrak data yang akan diambil :


Ekstrak data yang akan diambil adalah sebagai berikut :
Nama, Jenis, Total, HP, Attcak, Defense, dan Speed.
c. Melihat kode pencarian setiap data di web menggunakan Aplikasi
“Selector Gadget”
Pertama adalah aktifkan aplikasi SelectorGadget dengan buka website
aplikasi dan klik „ADD to Chrome‟.

20
d. Scrapping Data :
i. Data Nama
Untuk Scrapping data Nama maka sintax yang digunakan adalah
sebagai berikut :

21
ii. Jenis
Untuk Scrapping data jenis maka sintax yang digunakan adalah
sebagai berikut :

22
iii. Total
Untuk Scrapping data total maka sintax yang digunakan adalah
sebagai berikut :

23
iv. HP
Untuk Scrapping data HP maka sintax yang digunakan adalah
sebagai berikut :

24
v. Attcak
Untuk Scrapping data Attcak maka sintax yang digunakan adalah
sebagai berikut :

25
vi. Defense
Untuk Scrapping data Defense maka sintax yang digunakan adalah
sebagai berikut :

26
vii. Speed
Untuk Scrapping data Speed maka sintax yang digunakan adalah
sebagai berikut :

Setelah itu, langkah selanjutnya adalah menggabungkan semua data


menggunakan sintax data.frame. sintax yang digunakan adalah sebagai berikut:

27
… … … … … … … … … … …. … … … … … … … … … … … …

Output diatas, adalah tampilan data frame yang sudah berhasil di screaping dengan
masing-masing variabel memiliki total data sebanyak 1194.
4.2 Eksplorasi Data
Sebelum melakukan eksplorasi data, maka sebaiknya melakukan pemeriksaan
dan persiapan data terlebih dahulu yang meliputi:
4.2.1 Mengecek Missing Data
Data hilang atau Missing Data atau Missing value dapat diartikan sebagai data
atau informasi yang “hilang” atau tidak tersedia mengenai subjek penelitian pada
variabel tertentu akibat faktor non sampling error. Sintax yang digunakandan output
yang diperoleh adalah sebagaiberikut :

28
Berdasarkan hasil output di atas dapat dilihat bahwa untuk data dengan nama
“DATA_POKEMON” tidak terdapat missing data (tidak ada data yang hilang)
sehingga keterangan yang tercantum pada hasil output adalah “FALSE”.

29
4.2.2 Mengecek Outlier
Untuk pengecekan data yang outliers dilakukan beberapa metode
diantaranya:
1) Metode Z-score
Skor standar (Z-Score) adalah angka yang merupakan perbedaan antara nilai
data dan rata-rata, dibagi dengan standar deviasi. Aturan umumnya adalah
Z-score dengan nilai kurang dari –3 atau lebih dari +3 menunjukkan bahwa
nilai data adalah nilai ekstrem atau outliers. Sehinnga dari data pokemon
untuk variabel Total, HP, Attcak, Defense, dan Speed dapat dilihat nilai
outliernya seperti output berikut:
a) Nilai Z-score Variabel Total

30
31
Dari output diatas, terdapat data yang mengalami outlier karena nilainya
lebih dari +3.
b) Nilai Z-score Variabel HP

32
Dari output diatas, terdapat data yang mengalami outlier karena nilainya
lebih dari +3 atau -3.
c) Nilai Z-score Variabel Attcak

33
34
Dari output diatas, terdapat data yang mengalami outlier karena nilainya lebih
dari +3 atau -3.
d) Nilai Z-score Variabel Defense

35
Dari output diatas, terdapat data yang mengalami outlier karena nilainya lebih
dari +3 atau -3
e) Nilai Z-score Variabel Speed

36
37
Dari output diatas, terdapat data yang mengalami outlier karena nilainya
lebih dari +3 atau -3
2) Mengecek outlier dengan box plot
a) Box plot variabel Total

Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“total” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “total” dikatakan tidak simetris
karena luasan kotak di bawah dan di atas Q2 (median) tidak sama
sehingga dapat dikatakan bahwa distribusi data cenderung
menjulur/miring ke arah kiri atau disebut skewness negatif.
b) Box plot variabel HP

Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“HP” mengalami outlier karena ada data yang berada dibagian atas upper
whisker serta data pada variabel “HP” dikatakan simetris karena luasan
kotak di bawah dan di atas Q2 (median) sama sehingga dapat dikatakan
bahwa distribusi data mengikuti distribusi normal

38
c) Box plot variabel Attack

Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“Attack” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “Attack” dikatakan simetris
karena luasan kotak di bawah dan di atas Q2 (median) sama sehingga
dapat dikatakan bahwa distribusi data mengikuti distribusi normal
d) Box plot variabel Defense

Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“Deffense” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “Deffense” dikatakan simetris
karena luasan kotak di bawah dan di atas Q2 (median) sama sehingga
dapat dikatakan bahwa distribusi data mengikuti distribusi normal.

39
e) Box plot variabel Speed

Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“Speed” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “Speed” dikatakan simetris karena
luasan kotak di bawah dan di atas Q2 (median) sama sehingga dapat
dikatakan bahwa distribusi data mengikuti distribusi normal.
4.2.3 Melakukan Ekplorasi Data
Setelah melakukan pemeriksaan data dan persiapan data selanjutnya
melakukan ekplorasi data.

1. Melakukan Summarizing Data atau Statistika Deskriptif


Statistika deskriptif adalah peringkasan dan penyajian data dengan harapan
agar data lebih bermakna, mudah dibaca dan mudah dipahami oleh
pengguna data.
Berikut adalah output statistika deskriptif untuk DATA_POKEMON:

40
Dari output statistika deskriptif diatas, didapatkan untuk variabel Nama dan
Jenis merupakan variabel yang bertipe Caracter sedangkan untuk variabel
Total, HP, Attack, Defense, dan Speed bertipe numerik. Untuk setiap
variabel numerik dapat dijelaskan sebagai berikut:
a) Untuk variabel “Total” memilik nilaai minimum sebesar 175.0 dan nilai
maksimumnya sebesar 1125.0; dengan mean (rata-rata) sebesar 441.2;
nilai median (Q2) sebesar 460.5; nilai kuartil pertama (Q1) sebesar
330.0 dan nilai kuartil ke-3 (Q3) sebesar 520.0.
b) Untuk variabel “HP” memilik nilai minimum sebesar 1.00 dan nilai
maksimumnya sebesar 225.0; dengan mean (rata-rata) sebesar 70.89;
nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1) sebesar
52.00 dan nilai kuartil ke-3 (Q3) sebesar 85.00.
c) Untuk variabel “attack” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 190.0; dengan mean (rata-rata) sebesar 80.95;
nilai median (Q2) sebesar 80.00; nilai kuartil pertama (Q1) sebesar
56.00 dan nilai kuartil ke-3 (Q3) sebesar 100.00.
d) Untuk variabel “Defense” memilik nilai minimum sebesar 5.00 dan
nilai maksimumnya sebesar 250.0; dengan mean (rata-rata) sebesar
74.59; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 51.25 dan nilai kuartil ke-3 (Q3) sebesar 90.00.
e) Untuk variabel “Speed” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 200.0; dengan mean (rata-rata) sebesar 69.78;
nilai median (Q2) sebesar 67.50; nilai kuartil pertama (Q1) sebesar
45.00 dan nilai kuartil ke-3 (Q3) sebesar 90.75.
2. Visualisasi data
a. Skewness
Kemiringan atau kecondongan (skewness) adalah tingkat ketidak
simetrisan atau kejauhan simetri dari sebuah distribusi. Nilai skewness
(ukuran kemiringan) menunjukkan data normal ketika nilai-nilai
tersebut berada di antara rentang nilai -2 sampai dengan 2. Kurva positif
apabila rata-rata hitung > modus/median. Kurva negative apabila rata-
rata hitung < modus/media. Jika distribusi memiliki ekor yang lebih

41
panjang ke kanan daripada yang ke kiri maka distribusi disebut
menceng ke kanan atau memiliki kemencengan positif. Sebaliknya, jika
distribusi memiliki ekor yang lebih panjang ke kiri daripada yang ke
kanan maka distribusi disebut menceng ke kiri atau memiliki
kemencengan negatif.
Kriteria untuk mengetahui model distribusi dari koefisien kemiringan :
a) Jika koefisien kemiringan < nol, maka bentuk distribusinya
negative (ekor bagian kiri lebih Panjang).
b) Jika koefisien kemiringan = nol, maka bentuk distribusinya
simetrik.
c) Jika koefisien kemiringan > nol, maka bentuk distribusinya
positif (ekor bagian kanan lebih Panjang).
Berikut adalah hasil output skewness untuk setiap variabel:

Berdasarkan hasil output di atas dapat dijelaskan sebagai berikut:


a) Dilihat bahwa nilai skewness untuk variabel Total sebesar
0.1460028 yang mana termasuk skewness positif yang
berarti data cenderung menceng/miring ke kanan atau ekor
distribusi landai ke kanan.
b) Untuk variabel HP, nilai skewness sebesar 1.638313 yang
mana termasuk skewness positif yang berarti data
cenderung menceng atau miring ke kanan atau ekor
distribusi landai kekanan.
c) Untuk variabel Attack, nilai skewness sebesar 0.4275636
yang mana termasuk skewness positif yang berarti data

42
cenderung menceng atau miring ke kanan atau ekor
distribusi landai kekanan.
d) Untuk variabel Defense, nilai skewness sebesar 1.13289
yang mana termasuk skewness positif yang berarti data
cenderung menceng atau miring ke kanan atau ekor
distribusi landai ke kekanan.
e) Untuk variabel Speed, nilai skewness sebesar 0.3775752
yang mana termasuk skewness positif yang berarti data
cenderung menceng atau miring ke kanan atau ekor
distribusi landai kekanan.
b. Histogram
Berikut adalah hasil output Histogram untuk setiap variabel :

Berdasarkan hasil output di atas dapat dilihat bahwa untuk semua


variabel yang divisualisasikan dengan histogram yang terbentuk
menceng/melandai ke kanan ini yang menandakan bahwa termasuk
dalam skewness positip.

43
c. Analisis korelasi
Untuk variabel Total terhadap variabel HP:

Berikut adalah pengujian korelasi untuk variabel Total dan Variabel HP.
a) Menentukan H0 dan H1
H0 : Tidak terdapat korelasi antara variabel Total dan variabel HP
H1 : Terdapat korelasi antara variabel Total dan variabel HP
b) Taraf signifikansi : α = 5% = 0,05
c) Statistik uji
P-value = 2.2e-16
d) Daerah Kritis :
H0 ditolak jika P-value < α
e) Kesimpulan
Karena P-value yang diperoleh = 2.2e-16 < α = 0,05 maka H0 ditolak.
Artinya terdapat korelasi antara variabel Total dan variabel HP dengan
tingkat kepercayaan 95%.

Untuk variabel Total terhadap variabel Attack:

44
Berikut adalah pengujian korelasi untuk variabel Total dan Variabel Attack.
a) Menentukan H0 dan H1
H0 : Tidak terdapat korelasi antara variabel Total dan variabel Attack
H1 : Terdapat korelasi antara variabel Total dan variabel Attack
b) Taraf signifikansi : α = 5% = 0,05
c) Statistik uji
P-value = 2.2e-16
d) Daerah Kritis :
H0 ditolak jika P-value < α
e) Kesimpulan
Karena P-value yang diperoleh = 2.2e-16 < α = 0,05 maka H0 ditolak.
Artinya terdapat korelasi antara variabel Total dan variabel Attack
dengan tingkat kepercayaan 95%.

Untuk variabel Total terhadap variabel Defense:

Berikut adalah pengujian korelasi untuk variabel Total dan Variabel


Defense.
a) Menentukan H0 dan H1
H0 : Tidak terdapat korelasi antara variabel Total dan variabel Defense
H1 : Terdapat korelasi antara variabel Total dan variabel Defense
b) Taraf signifikansi : α = 5% = 0,05
c) Statistik uji
P-value = 2.2e-16
d) Daerah Kritis :
H0 ditolak jika P-value < α
e) Kesimpulan

45
Karena P-value yang diperoleh = 2.2e-16 < α = 0,05 maka H0 ditolak.
Artinya terdapat korelasi antara variabel Total dan variabel Defense
dengan tingkat kepercayaan 95%.

Untuk variabel Total terhadap variabel Speed:

Berikut adalah pengujian korelasi untuk variabel Total dan Variabel


Speed.
b) Menentukan H0 dan H1
H0 : Tidak terdapat korelasi antara variabel Total dan variabel Speed
H1 : Terdapat korelasi antara variabel Total dan variabel Speed
b) Taraf signifikansi : α = 5% = 0,05
c) Statistik uji
P-value = 2.2e-16
d) Daerah Kritis :
H0 ditolak jika P-value < α
e) Kesimpulan
Karena P-value yang diperoleh = 2.2e-16 < α = 0,05 maka H0 ditolak.
Artinya terdapat korelasi antara variabel Total dan variabel Speed
dengan tingkat kepercayaan 95%.

46
4.3 Clustering
4.3.1 Persiapan Data
Langkah-langkah dalam melakukan analisis clustering adalah seperti berikut:
1. Melihat Struktur Data
Berikut adalah hasil output dari Struktur data DATA_POKEMON:

Pada output diatas menampilkan type data dari setiap variavel pada data
pokemon. Untuk variabel Nama dan variabel Type merupakan variabel
yang berstruktur atau berbentuk carakter, sedangkan untuk variabel Total,
HP, Attack, Defense, dan Speed type datannya berupa numerik. Untuk
clustering menggunakan data yang bertype numerik sajah, maka
selanjutnya memanggil data yang bertype numerik.
2. Analisis Deskriptif
Analisis Deskriptif data dengan nama “DATA_POKEMON”, seperti
gambar di bawah ini :

Dari output statistika deskriptif diatas, didapatkan untuk variabel Nama dan
Jenis merupakan variabel yang bertipe Caracter sedangkan untuk variabel
Total, HP, Attack, Defense, dan Speed bertipe numerik. Untuk setiap
variabel numerik dapat dijelaskan sebagai berikut:

47
1. Untuk variabel “Total” memilik nilaai minimum sebesar 175.0 dan nilai
maksimumnya sebesar 1125.0; dengan mean (rata-rata) sebesar 441.2;
nilai median (Q2) sebesar 460.5; nilai kuartil pertama (Q1) sebesar
330.0 dan nilai kuartil ke-3 (Q3) sebesar 520.0.
2. Untuk variabel “HP” memilik nilai minimum sebesar 1.00 dan nilai
maksimumnya sebesar 225.0; dengan mean (rata-rata) sebesar 70.89;
nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1) sebesar
52.00 dan nilai kuartil ke-3 (Q3) sebesar 85.00.
3. Untuk variabel “attack” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 190.0; dengan mean (rata-rata) sebesar 80.95;
nilai median (Q2) sebesar 80.00; nilai kuartil pertama (Q1) sebesar
56.00 dan nilai kuartil ke-3 (Q3) sebesar 100.00.
4. Untuk variabel “Defense” memilik nilai minimum sebesar 5.00 dan
nilai maksimumnya sebesar 250.0; dengan mean (rata-rata) sebesar
74.59; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 51.25 dan nilai kuartil ke-3 (Q3) sebesar 90.00.
5. Untuk variabel “Speed” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 200.0; dengan mean (rata-rata) sebesar 69.78;
nilai median (Q2) sebesar 67.50; nilai kuartil pertama (Q1) sebesar
45.00 dan nilai kuartil ke-3 (Q3) sebesar 90.75.
6. Mengambil Data yang Numerik
Untuk clustering menggunakan data yang bertype numerik sajah, maka
selanjutnya memanggil data yang bertype numerik.

48
49
Pada gambar di atas dapat dilihat bahwa untuk data/variabel yang numerik
adalah kolom 3 sampai kolom 7 (ada 5 variabel numerik).

7. Melakukan standarisasi data

Fungsi “Scale” merupakan fungsi untuk menyamakan satuan dari datanya atau
menyamakan satuan dari tiap variabel.

50
8. Mendeteksi outlier dengan box plot

Dari masing masing output untuk semua variabel diatas didapatkan semua
variabel mengalami outlier. Namun pada analisis cluster data yang mengalami
pencilan (outlier) tetap dipertahankan (retensi) dan tidak perlu dihilangkan
karena merupakan representasi dari populasi.

4.3.2 Asumsi Cluster


1. Sampel representative
Dalam hal ini tidak dilakukan uji asumsi representativeness of the sample
karena sampel yang digunakan dapat mewakili populasi yang ada.
2. Uji Multikolinearitas
Nilai koefisien yang melebihi 0.80 menandakan bahwa terjadi
multikolinieritas (Arniva, 2016). Nilai koefisien, seperti gambar di bawah ini:

Pada gambar di atas dapat dilihat bahwa tidak terdapat nilai korelasi yang
lebih dari 0.80. Oleh karena itu, tidak terdapat multikolinearitas antar
variabel-variabel sehingga dapat melanjutkan proses berikutnya.

51
4.3.3 Melakukan Clustering dengan K-Means
a) Menentukan Cluster Optimum
Jumlah cluster optimum dilakukan agar terbentuk hasil cluster terbaik.
a) Metode Elbow

Pada gambar di atas dapat dilihat bahwa grafik yang pergerakannya


landai pertama yaitu pada angka 2-3, berarti nilai k yang optimal untuk
metode Elbow adalah 2.
b) Metode Silhouette Width

Pada gambar di atas dapat dilihat bahwa bahwa nilai k yang optimal atau
garis yang tertinggi adalah 2, berarti nilai k yang optimal untuk metode
Sillhouten adalah 2.

52
Jadi, dapat disimpulkan bahwa dengan menggunakan dua metode yang ada
yaitu Metode Elbow dan Metode Silhouette Width, nilai k optimal adalah k= 2.
b) Menghitung jarak
Menghitung jarak dari masing-masing data ke data lainnya dengan metode
Euclidean Distances, seperti gambar di bawah ini:

Pada gambar di atas dapat dilihat bahwa bahwa perhitungan jarak antara
data ke-1 dengan data ke-2 yaitu sebesar 1.2031311; jarak antara data ke-1
dengan data ke-3 yaitu sebesar 2.8724683; dan seterusnya sampai jarak
antara data ke-1 dengan data ke-50. Dimana jarak antara suatu data ke-i
dengan data itu sendiri yaitu 0.

53
c) Membuat klasterisasi dengan K-Means
Membuat klasterisasi dengan K-Means, seperti gambar di bawah ini:

Pada gambar di atas dapat dilihat bahwa bahwa:


a) Ukuran klaster yang didapatkan yaitu 517 dan 677. Dimana untuk nilai
centroid/pusat cluster 1 untuk “Variabel Total” sebesar -0.9243350; dan
nilai centroid/pusat cluster 2 untuk “variabel Total” sebesar 0.7058807.
Nilai centroid/pusat cluster 1 untuk “Variabel HP” sebesar -0.6746134; dan
nilai centroid/pusat cluster 2 untuk “variabel HP” sebesar 0.5151774. Nilai
centroid/pusat cluster 1 untuk “Variabel Attcak” sebesar -0.7579595; dan
nilai centroid/pusat cluster 2 untuk “variabel Attcak” sebesar 0.5788258.
Nilai centroid/pusat cluster 1 untuk “Variabel Defense” sebesar -0.6089543;
dan nilai centroid/pusat cluster 2 untuk “variabel Defense” sebesar
0.4650360. Nilai centroid/pusat cluster 1 untuk “Variabel Speed” sebesar

54
-0.5425783 ; dan nilai centroid/pusat cluster 2 untuk “variabel Speed”
sebesar 0.4143471.
b) Nilai within cluster sum of squares by cluster atau jumlah kedekatan antar
objek didalam klaster yaitu untuk cluster 1 yaitu sebesar 1045.353 dan untuk
cluster 2 yaitu sebesar 2595.235.
c) Rasio dari jumlah kuadrat antarklaster (between sum squares) dengan
jumlah kuadrat total (total sum squares) atau akurasi sebesar 39.0 %. Jadi,
sebagai sebuah indikator, Akurasi menunjukkan seberapa baik klaster yang
dibentuk. Semakin tinggi nilai ini, maka keragaman antarkelas juga
meningkat yang menyebabkan semakin berkualitasnya klaster yang
dilakukan.
d) Jumlah iterasi sebanyak 1 untuk mendapatkan cluster yang optimal dan
tidak terjadi kesalahan pada peng-clusteran sehingga ifault = 0.

55
4.3.4 Visualisai Clustering K-Means
Plot Clustering K-Means, seperti gambar di bawah ini:

Dari output diatas, didapatkan bahwa untuk cluster 1 ditandai dengan warna merah,
dan cluster 2 ditandai dengan warna biru. Untuk lebih jelas, data mana sajah yang
masuk kedalam cluster satu atau cluster dua, bisa di lihat pada gambar berikut:

56
… … … … … … …

Pada gambar di atas dapat dilihat bahwa bahwa:


Untuk data ke-1 dengan nama Bulbasaur dan jenis GrassPoison termasuk
kedalam cluster 1, untuk data ke-2 dengan nama Ivysaur dan jenis GrassPoison
termasuk kedalam cluster 1, dan seterusnya sampai ke data 1194 dengan nama
Iron Leaves dan jenis GrassPsychic termasuk kedalam cluster 2.
4.3.5 Uji Validitas
Uji Validitas menggunakan nilai Silhouette Indeks, seperti gambar di bawah
ini:

Pada gambar di atas dapat dilihat bahwa untuk kategori nilai silhouette:
a) Untuk klaster 1 memiliki anggota cluster sebanyak 517 anggota
dengan nilai silhouette sebesar 0.45 ini yang menandakan bahwa
terdapat ikatan yang lemah (weak structure) antara objek dan
kelompok yang terbentuk.

57
b) Untuk klaster 2 memiliki anggota cluster sebanyak 677 anggota
dengan nilai silhouette sebesar 0.26 ini yang menandakan bahwa
terdapat ikatan yang sangat baik (strong structure) antara objek dan
kelompok yang terbentuk.
c) Gambar clusters silhoutte plot seperti berikut:

Apabila gambar Silhouette Indeks semakin melebar maka menandkaan


bahwa validitas cluster semakin baik. Pada gambar di atas dapat dilihat
bahwa bahwa:
Diperoleh nilai Silhouette Indeks rata-rata (nilai Silhouette dari kedua
cluster) sebesar 0.34 yang menyatakan bahwa validitas cluster belum cukup
baik karena nilai Silhouette dari kedua cluster ada yang negatif yaitu pada
cluster ke-2.

58
4.3.6 Profiling Cluster
Profiling Cluster, seperti gambar di bawah ini:

Berdasarkan hasil diatas, maka dapat dilakukan profilisasi atau diketahui


karakteristik dari tiap cluster yang terbentuk. Pada cluster 1 merupakan cluster yang
memiliki Total, HP, Attack, Defense dan Speed yang rendah. Sedangkan pada
cluster 2 merupakan cluster yang memiliki karakteristik dari semua variabel yang
tinggi.

59
60
61
Dari ke empat Plot diatas menunjukkan persebaran observasi berdasarkan nilai BIC,
klasifikasi, uncertainty, dan density dari masing-masing data per variabel.

62
4.4 Decision Tree
Langkah-langkah dalam melakukan analisis clustering adalah seperti berikut:
4.4.1 Persiapan Data
Data yang digunakan pada metode Decision Tree adalah data yang sama seperti
pada analisis sebelumnya yaitu Data Pokemon hasil screaping. Dimana jumlah dari
semua variabel yang digunakan adalah 40 data.
a) Memilih Variabel
Variabel (Input) Independen Variabel (Target) Dependen
Variabel HP (X1)
Variabel Attcak (X2)
Y = Variabel Total
Variabel Defense (X3)
Variabel Speed (X4).
b) Mengubah skala data sesuai tujuan
Decision tree disini bertujuan untuk membentuk pohon keputusan Total
berdasarkan variabel HP, Attack, Deffense, dan Speed. Untuk variabel Total
dimodifikasi type datanya yang awalnya berupa numerik berubah menjadi
caracter. Berikut hasil output yang diperoleh:

63
c) Menyiapkan data training dan data testing
Selanjutnya membagi data menjadi 2 bagian yaitu data training dan data
testing. Data training digunakan untuk membangun model, sedangkan data
testing digunakan untuk menguji keakurasian model. Pada pembagian data
training dan data testing digunakan komposisi 80%:20% dengan
perhitungan data training = (80/100)*40 = 32 sehingga terdapat 32 data dan
data testing = (20/100)*40 = 8 sehingga terdapat 8 data.

d) Melakukan eksplorasi data


Decision tree adalah metode nonparametrik, sehingga tidak ada asumsi
khusus, sehingga eksplorasi data dapat dilakukan dengan mengetahui
rangkuman data. Berikut hasil output yang diperoleh:

64
Berdasarkan hasil output dapat dilihat bahwa untuk “data.train” dan
“data.test” pada variabel X1, X2, X3, dan X4 tipe data adalah numerik.
Sedangakan pada variabel dan Y tipe data adalah Carakter.
Untuk setiap variabel numerik pada “data.train” dapat dijelaskan sebagai
berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 30.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
58.75; nilai median (Q2) sebesar 60.00; nilai kuartil pertama (Q1)
sebesar 44.75 dan nilai kuartil ke-3 (Q3) sebesar 75.75.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 20.00
dan nilai maksimumnya sebesar 130.00; dengan mean (rata-rata)
sebesar 74.31; nilai median (Q2) sebesar 80.00; nilai kuartil pertama
(Q1) sebesar 56.00 dan nilai kuartil ke-3 (Q3) sebesar 90.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 123.0; dengan mean (rata-rata)
sebesar 68.41; nilai median (Q2) sebesar 76.00; nilai kuartil pertama
(Q1) sebesar 43.75 dan nilai kuartil ke-3 (Q3) sebesar 83.50.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 30.00
dan nilai maksimumnya sebesar 120.0; dengan mean (rata-rata) sebesar
75.09; nilai median (Q2) sebesar 76.00; nilai kuartil pertama (Q1)
sebesar 57.50 dan nilai kuartil ke-3 (Q3) sebesar 97.75.
Sedangkan Untuk setiap variabel numerik pada “data.test” dapat dijelaskan
sebagai berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 40.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar

65
57.00; nilai median (Q2) sebesar 59.00; nilai kuartil pertama (Q1)
sebesar 45.00 dan nilai kuartil ke-3 (Q3) sebesar 61.25.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 25.00
dan nilai maksimumnya sebesar 150.00; dengan mean (rata-rata)
sebesar 66.88; nilai median (Q2) sebesar 61.00; nilai kuartil pertama
(Q1) sebesar 41.00 dan nilai kuartil ke-3 (Q3) sebesar 68.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 80.00; dengan mean (rata-rata)
sebesar 52.50; nilai median (Q2) sebesar 50.00; nilai kuartil pertama
(Q1) sebesar 46.75 dan nilai kuartil ke-3 (Q3) sebesar 59.75.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 35.00
dan nilai maksimumnya sebesar 145.0; dengan mean (rata-rata) sebesar
78.25; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 56.25 dan nilai kuartil ke-3 (Q3) sebesar 90.25.

4.4.2 Membangun model


1. Membangun model untuk “Data Training” dengan maxdepth = 3 Berikut
hasil output yang diperoleh:

Berdasarkan hasil output diatas dapat diketahui bahwa keputusan atau


cabang yang diambil adalah sebesar 2. Selanjutnya pada output tersebut
terdapat bintang yang artinya hasil akhir atau merupakan bagian banyaknya
leaf node. Untuk interpretasilainnya adalah probabilitas dari 32 data adalah
0.56250000 dan 0.43750000.
Berikut adalah output pohon keputusan atau diagram:

66
Interpretasi output :
Berdasarkan hasil output plot diatas diketahui bahwa variabel-variabel yang
termasuk diatas merupakan variabel yang berpengaruh terhadap variabel Y
atau Total. Diketahui bahwa X2 atau variabel HP >= 62, maka diprediksi
akan mengalami hightotal dengan probabilitas 0.00. Sebaliknya apabilai X2
< 62, maka diprediksi akan mengalami lowtotal dengan probabilitas 1.00.
Apabila X4 >= 49, maka diprediksi mengalami highsales dengan
probabilitas 0.14. dan lain lain bisa dilihat pada output diatas.

67
4.5 Random Forest
4.5.1 Persiapan Data
Data yang digunakan pada metode Random Forest adalah data yang sama
seperti pada analisis sebelumnya yaitu Data Pokemon hasil screaping. Dimana
jumlah dari semua variabel yang digunakan adalah 40 data.
a) Memilih Variabel
Variabel (Input) Independen Variabel (Target) Dependen
Variabel HP (X1)
Variabel Attcak (X2)
Y = Variabel Total
Variabel Defense (X3)
Variabel Speed (X4).
b) Mengubah skala data sesuai tujuan
Random Forest disini bertujuan untuk membentuk pohon keputusan Total
berdasarkan variabel HP, Attack, Deffense, dan Speed. Untuk variabel Total
dimodifikasi type datanya yang awalnya berupa numerik berubah menjadi
caracter. Berikut hasil output yang diperoleh:

68
c) Menyiapkan data training dan data testing
Selanjutnya membagi data menjadi 2 bagian yaitu data training dan data
testing. Data training digunakan untuk membangun model, sedangkan data
testing digunakan untuk menguji keakurasian model. Pada pembagian data
training dan data testing digunakan komposisi 80%:20% dengan
perhitungan data training = (80/100)*40 = 32 sehingga terdapat 32 data dan
data testing = (20/100)*40 = 8 sehingga terdapat 8 data.

69
d) Melakukan eksplorasi data
Decision tree adalah metode nonparametrik, sehingga tidak ada asumsi
khusus, sehingga eksplorasi data dapat dilakukan dengan mengetahui
rangkuman data. Berikut hasil output yang diperoleh:

Berdasarkan hasil output dapat dilihat bahwa untuk “data.train” dan


“data.test” pada variabel X1, X2, X3, dan X4 tipe data adalah numerik.
Sedangakan pada variabel dan Y tipe data adalah Carakter.
Untuk setiap variabel numerik pada “data.train” dapat dijelaskan sebagai
berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 30.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
58.75; nilai median (Q2) sebesar 60.00; nilai kuartil pertama (Q1)
sebesar 44.75 dan nilai kuartil ke-3 (Q3) sebesar 75.75.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 20.00
dan nilai maksimumnya sebesar 130.00; dengan mean (rata-rata)
sebesar 74.31; nilai median (Q2) sebesar 80.00; nilai kuartil pertama
(Q1) sebesar 56.00 dan nilai kuartil ke-3 (Q3) sebesar 90.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 123.0; dengan mean (rata-rata)
sebesar 68.41; nilai median (Q2) sebesar 76.00; nilai kuartil pertama
(Q1) sebesar 43.75 dan nilai kuartil ke-3 (Q3) sebesar 83.50.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 30.00
dan nilai maksimumnya sebesar 120.0; dengan mean (rata-rata) sebesar
75.09; nilai median (Q2) sebesar 76.00; nilai kuartil pertama (Q1)
sebesar 57.50 dan nilai kuartil ke-3 (Q3) sebesar 97.75.

70
Sedangkan Untuk setiap variabel numerik pada “data.test” dapat dijelaskan
sebagai berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 40.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
57.00; nilai median (Q2) sebesar 59.00; nilai kuartil pertama (Q1)
sebesar 45.00 dan nilai kuartil ke-3 (Q3) sebesar 61.25.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 25.00
dan nilai maksimumnya sebesar 150.00; dengan mean (rata-rata)
sebesar 66.88; nilai median (Q2) sebesar 61.00; nilai kuartil pertama
(Q1) sebesar 41.00 dan nilai kuartil ke-3 (Q3) sebesar 68.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 80.00; dengan mean (rata-rata)
sebesar 52.50; nilai median (Q2) sebesar 50.00; nilai kuartil pertama
(Q1) sebesar 46.75 dan nilai kuartil ke-3 (Q3) sebesar 59.75.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 35.00
dan nilai maksimumnya sebesar 145.0; dengan mean (rata-rata) sebesar
78.25; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 56.25 dan nilai kuartil ke-3 (Q3) sebesar 90.25.

4.5.2 Membangun model


a) Membangun model untuk “Data Training” dengan ntree=50,mtry=4
Sebelumnya untuk mendapatkan mtry digunakan rumus:
Sebelumnya untuk mendapatkan mtry digunakan rumus:
√banyaknya variabel √4
a. mtry = = =1
2 2

b. mtry = √banyaknya variabel = √4 = 2

c. mtry = √banyaknya variabel × 2 = √34 × 2 = 4


atau dengan software R sebagai berikut :

71
sehingga dari ketiga nilai mtry diatas, kita gunakan nilai mtry terbesar
yaitu 4 untuk membangun model. Selanjutnya membuat model, dengan
hasil output sebagai berikut :

Berdasarkan hasil output dapat dilihat bahwa :


a. Tipe untuk random forest adalah klasifikasi.
b. Banyak atau jumlah pohon ada 50 pohon.
c. Jumlah variabel yang dicoba setiap percabangan ada 3.
d. OOB (out of box) estimate of error rate adalah estimasi error
(perkiraan tingkat kesalahan) yang didapatkan jika data di luar dari
data pengujian sebesar 12.5%.
e. Pada matriks didapatkan bahwa terdapat 14 data benar diprediksi
high total dan 2 data salah prediksi high total untuk kategori high
total dengan eror sebesar 0.1111111%.
f. Pada matriks didapatkan bahwa terdapat 12 data benar diprediksi
low total dan 2 data salah prediksi low total untuk kategori low
total dengan eror sebesar 0.1428571%

Berdasarkan hasil output di atas digunakan untuk melihat seberapa


penting variabel predictor (variabel independen) yang sedang diteliti.
Dalam melihat kestabilan variabel prediktor digunakan Mean Decrease
Gini dan dalam melihat tingkat akurasi variabel prediktor digunakan
Mean Decrease Accuracy. Output di atas diketahui bahwa variabel

72
prediktor yang memiliki nilai MDA dan MDG tertinggi terdapat pada
variabel X1 yang nilainya sebesar 5.102590 dan 5.001006.

Menampilkan Mean Decrease Accuracy dan Mean Decrease Gini dalam bentuk
plot untuk “MODEL_RF1”

Output diatas adalah bagian dari “MODEL_RF1”, yang lebih jelas dalam melihat
MDA dan MDG. Pada plot diatas diketahui variabel X1 memiliki MDG tertinggi
dan variabel X3 memiliki MDA tertinggi, yang berarti variabel X3 dan X1 paling
berpengaruh dalam pebentukan pohon.

Berdasarkan hasil output di atas dapat dilihat bahwa:


a. Untuk baris 1 pada daun kiri terdapat 2 saudara dan pada daun kanan
terdapat 3 saudara yang mana termasuk dalam variabel X1 dengan point
percabangannya sebesar 54.5 yang dikategorikan termasuk pada pohon 1
dan diprediksi tidak termasuk ke dalam pohon yang diinginkan (tidak masuk
ke dalam variabel X1 maka tidak masuk ke dalam pohon yang di buat).

73
b. Untuk baris 2 pada daun kiri terdapat 4 saudara dan pada daun kanan
terdapat 5 saudara yang mana termasuk dalam variabel X2 dengan point
percabangannya sebesar 77.5 yang dikategorikan termasuk pada pohon 1
dan diprediksi tidak termasuk ke dalam pohon yang diinginkan (tidak masuk
ke dalam variabel X2 maka tidak masuk ke dalam pohon yang di buat)
c. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi hightotal.
d. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi lowtotal.
e. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi hightotal.

Berdasarkan hasil output diatas dapat diketahui bahwa :


a. Akan diprediksi mendapatkan target lowtotal apabila X2< 61.5.
b. Akan diprediksi mendapatkan target higtotal apabila X2 >= 61.5 dan X4 >= 49
c. Akan diprediksi mendapatkan target lowtotal apabila X2 >= 61.5 dan X4 > 49

Hasil Prediksi Klasifikasi :


No data.train.X1 data.train.X2 data.train.X3 data.train.Y MODEL.RF1.predicted
3 80 82 83 hightotal hightotal

74
4 80 100 123 hightotal hightotal
5 39 52 43 lowtotal lowtotal
7 78 84 78 hightotal hightotal
8 78 130 111 hightotal hightotal
9 78 104 78 hightotal hightotal
10 44 48 65 lowtotal lowtotal
11 59 63 80 hightotal lowtotal
12 79 83 100 hightotal hightotal
13 79 103 120 hightotal hightotal
14 45 30 35 lowtotal lowtotal
15 50 20 55 lowtotal lowtotal
17 40 35 30 lowtotal lowtotal
19 65 90 40 lowtotal hightotal
21 40 45 40 lowtotal lowtotal
22 63 60 55 lowtotal hightotal
23 83 80 75 hightotal hightotal
25 30 56 35 lowtotal lowtotal
26 30 56 35 lowtotal lowtotal
27 55 81 60 hightotal hightotal
28 75 71 70 hightotal hightotal
30 65 90 65 hightotal hightotal
31 35 60 44 lowtotal lowtotal
32 60 95 69 hightotal hightotal
33 35 55 40 lowtotal lowtotal
34 45 80 50 hightotal lowtotal
35 60 90 55 hightotal hightotal
36 60 85 50 hightotal hightotal
37 50 75 85 lowtotal lowtotal
38 50 75 90 lowtotal lowtotal
39 75 100 110 hightotal hightotal
40 75 100 120 hightotal hightotal
Diperoleh 4 error = 4/32 = 0.152.

75
b) Membangun model untuk “Data Training” dengan ntree=50,mtry=2

Berdasarkan hasil output dapat dilihat bahwa :


a. Tipe untuk random forest adalah klasifikasi.
b. Banyak atau jumlah pohon ada 50 pohon.
c. Jumlah variabel yang dicoba setiap percabangan ada 2.
d. OOB (out of box) estimate of error rate adalah estimasi error
(perkiraan tingkat kesalahan) yang didapatkan jika data di luar dari
data pengujian sebesar 9.38%.
e. Pada matriks didapatkan bahwa terdapat 17 data benar diprediksi
high total dan 1 data salah prediksi high total untuk kategori high
total dengan eror sebesar 0.055555 %.
f. Pada matriks didapatkan bahwa terdapat 12 data benar diprediksi
low total dan 2 data salah prediksi low total untuk kategori low
total dengan eror sebesar 0.1428571%

Berdasarkan hasil output di atas digunakan untuk melihat seberapa


penting variabel predictor (variabel independen) yang sedang diteliti.
Dalam melihat kestabilan variabel prediktor digunakan Mean Decrease
Gini dan dalam melihat tingkat akurasi variabel prediktor digunakan
Mean Decrease Accuracy. Output di atas diketahui bahwa variabel
prediktor yang memiliki nilai MDA dan MDG tertinggi terdapat pada
variabel X2 yang nilainya sebesar 5.887877 dan 6.401752.

76
Menampilkan Mean Decrease Accuracy dan Mean Decrease Gini dalam bentuk
plot untuk “MODEL_RF2”

Output diatas adalah bagian dari “MODEL_RF1”, yang lebih jelas dalam melihat
MDA dan MDG. Pada plot diatas diketahui variabel X2 memiliki MDG dan MDA
tertinggi, yang berarti variabel X2 paling berpengaruh dalam pebentukan pohon.

Berdasarkan hasil output di atas dapat dilihat bahwa:


a. Untuk baris 1 pada daun kiri terdapat 2 saudara dan pada daun kanan
terdapat 3 saudara yang mana termasuk dalam variabel X3 dengan point
percabangannya sebesar 57.5 yang dikategorikan termasuk pada pohon 1
dan diprediksi tidak termasuk ke dalam pohon yang diinginkan (tidak masuk
ke dalam variabel X1 maka tidak masuk ke dalam pohon yang di buat).
b. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi lowtotal.

77
c. Untuk baris 3 pada daun kiri terdapat 4 saudara dan pada daun kanan
terdapat 5 saudara yang mana termasuk dalam variabel X1 dengan point
percabangannya sebesar 52.5 yang dikategorikan termasuk pada pohon 1
dan diprediksi tidak termasuk ke dalam pohon yang diinginkan (tidak masuk
ke dalam variabel X2 maka tidak masuk ke dalam pohon yang di buat)
d. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi lowtotal.
e. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi hightotal.

Berdasarkan hasil output diatas dapat diketahui bahwa :


a. Akan diprediksi mendapatkan target lowtotal apabila X2< 61.5.
b. Akan diprediksi mendapatkan target lowtotal apabila X2 >= 61.5 dan X3
>= 45
c. Dan lain lain seperti gamvar diatas.
Hasil Prediksi Klasifikasi :
No data.train.X1 data.train.X2 data.train.X3 data.train.Y MODEL.RF2.predicted
3 80 82 83 hightotal hightotal

78
4 80 100 123 hightotal hightotal
5 39 52 43 lowtotal lowtotal
7 78 84 78 hightotal hightotal
8 78 130 111 hightotal hightotal
9 78 104 78 hightotal hightotal
10 44 48 65 lowtotal lowtotal
11 59 63 80 hightotal lowtotal
12 79 83 100 hightotal hightotal
13 79 103 120 hightotal hightotal
14 45 30 35 lowtotal lowtotal
15 50 20 55 lowtotal lowtotal
17 40 35 30 lowtotal lowtotal
19 65 90 40 lowtotal hightotal
21 40 45 40 lowtotal lowtotal
22 63 60 55 lowtotal hightotal
23 83 80 75 hightotal hightotal
25 30 56 35 lowtotal lowtotal
26 30 56 35 lowtotal lowtotal
27 55 81 60 hightotal hightotal
28 75 71 70 hightotal hightotal
30 65 90 65 hightotal hightotal
31 35 60 44 lowtotal lowtotal
32 60 95 69 hightotal hightotal
33 35 55 40 lowtotal lowtotal
34 45 80 50 hightotal hightotal
35 60 90 55 hightotal hightotal
36 60 85 50 hightotal hightotal
37 50 75 85 lowtotal lowtotal
38 50 75 90 lowtotal lowtotal
39 75 100 110 hightotal hightotal
40 75 100 120 hightotal hightotal
Diperoleh 3 error = 3/32 = 0.0937

79
Evaluasi Model
Perbandingan error pada setiap pohon pada data Training adalah sebagai berikut:
Nilai Ntree dan Mtry Batas Eror
Ntree = 50, Mtry = 4 Diperoleh 4 error = 4/32 0.152
Ntree = 50, Mtry = 2 Diperoleh 3 error = 3/32 0.0937

Analisis Data Testing

Berikut adalah rangkuman data dengan menggunakan Explorasi data:

Untuk setiap variabel numerik pada “data.test” dapat dijelaskan sebagai berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 40.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
57.00; nilai median (Q2) sebesar 59.00; nilai kuartil pertama (Q1)
sebesar 45.00 dan nilai kuartil ke-3 (Q3) sebesar 61.25.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 25.00
dan nilai maksimumnya sebesar 150.00; dengan mean (rata-rata)
sebesar 66.88; nilai median (Q2) sebesar 61.00; nilai kuartil pertama
(Q1) sebesar 41.00 dan nilai kuartil ke-3 (Q3) sebesar 68.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 80.00; dengan mean (rata-rata)

80
sebesar 52.50; nilai median (Q2) sebesar 50.00; nilai kuartil pertama
(Q1) sebesar 46.75 dan nilai kuartil ke-3 (Q3) sebesar 59.75.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 35.00
dan nilai maksimumnya sebesar 145.0; dengan mean (rata-rata) sebesar
78.25; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 56.25 dan nilai kuartil ke-3 (Q3) sebesar 90.25.

Prediksi Data Testing

81
4.6 Assosiation Rules
4.6.1 Persiapan Data
Dalam menganalisis data percobaan tersebut aplikasi yang digunakan adalah
aplikasi R-Studio. Langkah-langkah penyelesaian dalam Assosiation Rule tersebut
adalah sebagai berikut :
a. Mengidentifikasi Data
Memanggil data dengan Nama MBA, Seperti gambar berikut:

b. Memilih Variabel
Kode = Kode transaksi penjualan barang pada toko.
Item = Nama barang yang dijual ditoko.

Pada output diatas, diketahu bahwa data diubah menjadi data transaksi
dengan sintax yang telah disediakan.

82
4.6.2 Eksplorasi Data

Interpretasi Output:
Berdasarkan hasil summary data:
a. Diketahui bahwa data transaksi sebagai item matriks dengan format
35 baris (elemen/itemset/transaksi) dan 10 kolom (item) dan
kepadatan 0.2885714.
b. Item atau nama barang yang paling sering adalah pasta gigi dengan
sebanyak 13 item, kecap sebanyak 12, sikat gigi sebanyak 12, gula
sebanyak 10, pembersi lantai 10 dan (other) sebanyak 44.
c. Distribusi panjang elemen (item/transaksi): Ada 11 transaksi untuk 1
item, ada 4 transaksi untuk 2 item, ada 9 transaksi untuk 4 item, ada 5
transaksi untuk 5 item, ada 1 transaksi untuk 6 item.
d. Nilai minimum yang diperoleh sebesar 1,000; nilai maksimum
sebesar 6,000; nilai rata-rata (mean) sebesar 2,886; nilai median (Q2)
sebesar 3,00; nilai kuartil pertama (Q1) sebesar 1,00 dan nilai kuartil
ketiga (Q3) sebesar 4,000.
e. Informasi item atau nama barang yang diperluas contohnya gula
dengan ID transaksinya adalah 1, kecap dengan ID transaksinya
adalah 2 dan pasta gigi dengan ID transaksinya adalah 3.

83
Berdasarkan hasil output pada image, diketahui bahwa terdapat hubungan
antara variabel item dan transaksi. Dari image, dapat diketahui jumlah item
serta banyaknya transaksi yang terjadi dalam satu waktu tertentu pada
transaksi penjualan barang-barang di toko tersebut.

84
Menampilkan frekuensi item relative untuk 10 item data teratas

Berdasarkan hasil output pada diagram batang diatas, dketahui bahwa barang
atau item dengan frekuensi terbanyak adalah Pasta Gigi. Selanjutnya item
atau barang yang menempati frekuensi terbanyak kedua adalah kecap dan
sikat gigi, terbanyak ketiga adalah gula, pembersih lantai dan susu, terbanyak
ke empat adalah roti saos dan sampo serta terbanyak ke lima adalah sabun
mandi.

85
4.6.3 Membangun Model
a) Model 1

Dari output model satu diatas didapatkan:

a. (Minval) = Nilai minimum dukungan yang harus dipenuhi oleh


itemset untuk menjadi bagian dari aturan yaitu sebesar 0,1.
b. Smax = Nilai support maksimum untuk sebuah itemset yaitu sebesar
1
c. Arem = parameter evaluasi aturan tambahan yang dinyatakan dengan
none artinya bahwa tidak ada nilai
d. Aval = tidak akan mengembalikan ukuran evaluasi aturan tambahan
yang dipilih dengan arem yang dinyatakan dengan kata “FALSE”
e. OriginalSupport = mempertimbangkan ite, LHS DAN RHS untuk
menghitung dukungan yang dinyatakan dengan “TRUE”
f. Maxtime = jumlah waktu maksimum yang diizinkan untuk memeriksa
himpunan bagian yaitu sebesar 5
g. Minlen = jumlah minimum item yang diperlukan dalam aturan yaitu
sebesar 1
h. Maxlen = jumlah maksimum item yang ada dalam aturan yaitu
sebesar 10
i. Jumlah dukungan (support) minimum absolut sebesar 1

86
Berdasarkan output di atas dapat dilihat bahwa:
a. Terdapat 184 aturan atau seperangkat aturan sebanyak 184
b. Distribusi panjang aturan (LHS + RHS): ada 10 aturan dengan
panjang 1 item; ada 76 aturan dengan panjang 2 item dan ada 78 aturan
dengan panjang 3 item dan ada 20 aturan dengan panjang 4 item.
c. Nilai statistika deskriptif untuk model pertama memiliki nilai
minimum sebesar 1.00 dan nilai maksimumnya sebesar 4.000; dengan
mean (rata-rata) sebesar 2.587; nilai median (Q2) sebesar 3.000; nilai
kuartil pertama (Q1) sebesar 2.000 dan nilai kuartil ke-3 (Q3) sebesar
3.000.
d. Diketahui pada summary of quality measure, megidentifikasi
karakteristik dari parameter support, karakteristik variabel
confidence, converage, lift dan count. Berdasarkan info mining
diketahui bahwa data transaction adalah 35, dengan nilai support
sebesar 0,05, dan confidence sebesar 0.1

87
Mendapatkan 184 aturan yang diperoleh sebagai berikut:

… … … … … … … …

88
Aturan (rules) 1 sampai 10 dengan LHS kosong berarti bahwa tidak peduli apa item
lain yang terlibat. Item di RHS akan muncul dengan probabilitas yang diberikan
oleh aturan keyakinan(confidence) (yang sama dengan support atau dukungan).

Contoh : Untuk rules pada no 10 apabila pelanggan membeli item atau barang apa
saja yang ada di toko maka pelanggan tersebut akan juga membeli “pasta gigi”.
Untuk rules pada no 184 apabila pelanggan membeli item atau barang berupa kecap,
pasta gigi, sikat gigi di toko maka pelanggan tersebut akan juga membeli “gula”.

b) Model 2

Dari output model satu diatas didapatkan:

a. (Minval) = Nilai minimum dukungan yang harus dipenuhi oleh


itemset untuk menjadi bagian dari aturan yaitu sebesar 0,1.
b. Smax = Nilai support maksimum untuk sebuah itemset yaitu sebesar
1
c. Arem = parameter evaluasi aturan tambahan yang dinyatakan dengan
none artinya bahwa tidak ada nilai
d. Aval = tidak akan mengembalikan ukuran evaluasi aturan tambahan
yang dipilih dengan arem yang dinyatakan dengan kata “FALSE”
e. OriginalSupport = mempertimbangkan ite, LHS DAN RHS untuk
menghitung dukungan yang dinyatakan dengan “TRUE”
f. Maxtime = jumlah waktu maksimum yang diizinkan untuk memeriksa
himpunan bagian yaitu sebesar 5

89
g. Minlen = jumlah minimum item yang diperlukan dalam aturan yaitu
sebesar 1
h. Maxlen = jumlah maksimum item yang ada dalam aturan yaitu
sebesar 10
i. Jumlah dukungan (support) minimum absolut sebesar 1

Berdasarkan output di atas dapat dilihat bahwa:


a. Terdapat 51 aturan atau seperangkat aturan sebanyak 51
b. Distribusi panjang aturan (LHS + RHS): ada 10 aturan dengan
panjang 1 item; ada 32 aturan dengan panjang 2 item dan ada 9 aturan
dengan panjang 3 item.
c. Nilai statistika deskriptif untuk model kedua memiliki nilai minimum
sebesar 1.00 dan nilai maksimumnya sebesar 3.00; dengan mean (rata-
rata) sebesar 1.98; nilai median (Q2) sebesar 2.00; nilai kuartil
pertama (Q1) sebesar 2.00 dan nilai kuartil ke-3 (Q3) sebesar 2.00.
d. Diketahui pada summary of quality measure, megidentifikasi
karakteristik dari parameter support, karakteristik variabel
confidence, converage, lift dan count. Berdasarkan info mining
diketahui bahwa data transaction adalah 35, dengan nilai support
sebesar 0,1, dan confidence sebesar 0.1

90
Mendapatkan 51 aturan yang diperoleh sebagai berikut:

… … … … … … … …

91
Aturan (rules) 1 sampai 10 dengan LHS kosong berarti bahwa tidak peduli apa item
lain yang terlibat. Item di RHS akan muncul dengan probabilitas yang diberikan
oleh aturan keyakinan(confidence) (yang sama dengan support atau dukungan).

Contoh : Untuk rules pada no 10 apabila pelanggan membeli item atau barang apa
saja yang ada di toko maka pelanggan tersebut akan juga membeli “pasta gigi”.
Untuk rules pada no 51 apabila pelanggan membeli item atau barang berupa pasta
gigi dan sikat gigi di toko maka pelanggan tersebut akan juga membeli “kecap”.

92
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil analisis pada laporan ini, kesimpulan yang diperoleh adalah
sebagai berikut :
1. Pada hasil analisis dan pemabahasan bahwa data berhasil discreaping
dengan banyak variabel sebanyak 7 dengan total masing masing variabel
sebanyak 1194 data, dimana ada 2 variabel yang bertipe caracter dan 5
variabel bertipe numerik. Untuk datanya seperti tabel berikut:
No Nama jenis Total HP Attcak Defense Speed
1 Bulbasaur GrassPoison 318 45 49 49 45
2 Ivysaur GrassPoison 405 60 62 63 60
3 Venusaur GrassPoison 525 80 82 83 80
VenusaurMega
4 Venusaur GrassPoison 625 80 100 123 80
5 Charmander Fire 309 39 52 43 65
6 Charmeleon Fire 405 58 64 58 80
7 Charizard FireFlying 534 78 84 78 100
CharizardMega
8 Charizard X FireDragon 634 78 130 111 100
CharizardMega
9 Charizard Y FireFlying 634 78 104 78 100
10 Squirtle Water 314 44 48 65 43
11 Wartortle Water 405 59 63 80 58
12 Blastoise Water 530 79 83 100 78
BlastoiseMega
13 Blastoise Water 630 79 103 120 78
14 Caterpie Bug 195 45 30 35 45
15 Metapod Bug 205 50 20 55 30
16 Butterfree BugFlying 395 60 45 50 70
17 Weedle BugPoison 195 40 35 30 50
18 Kakuna BugPoison 205 45 25 50 35
19 Beedrill BugPoison 395 65 90 40 75
… … … … … … … …
1180 Arctibax DragonIce 423 90 95 66 62
1181 Baxcalibur DragonIce 600 115 145 92 87
GimmighoulChest
1182 Form Ghost 300 45 30 70 10
GimmighoulRoaming
1183 Form Ghost 300 45 30 25 80
1184 Gholdengo SteelGhost 550 87 60 95 84
1185 Wo-Chien DarkGrass 570 85 85 100 70
1186 Chien-Pao DarkIce 570 80 120 80 135
1187 Ting-Lu DarkGround 570 155 110 125 45
1188 Chi-Yu DarkFire 570 55 80 80 100

93
1189 Roaring Moon DragonDark 590 105 139 71 119
1190 Iron Valiant FairyFighting 590 74 130 90 116
1191 Koraidon FightingDragon 670 100 135 115 135
1192 Miraidon ElectricDragon 670 100 85 100 135
1193 Walking Wake WaterDragon 590 99 83 91 109

1194 Iron Leaves GrassPsychic 590 90 130 88 104

2. Pada hasil analisis dan pemabahasan bahwa data setelah berhasil di


screapinng dilakukan ekplorasi data, sehingga didapatkan bahwa untuk
semua variabel numerik setelah dilakukan pengujian data mengalami outlier
dan semua variabel data tidak ada yang kosong atau mising. Diketahui juga
data menyebar mendekati distribusi normal positip yang dibuktikan dengan
visualisasi histogram, nilai skewness dan steam and leaf. Didapatkan juga
bahwa semua variabel yang bertipe numerik saling berkorelasi atau
berhubungan.
3. Pada hasil dan pembahasan kasus nomor ketiga, diperoleh kesimpulan
bahwa bahwa dengan menggunakan metode yang ada yaitu Metode Elbow
dan Metode Silhouette Width, nilai k optimal adalah k= 2 sehingga jumlah
cluster yang terbentuk yaitu sebanyak 2 cluster. Untuk klaster 1 memiliki
anggota cluster sebanyak 517 anggota dengan nilai silhouette sebesar 0.45
ini yang menandakan bahwa terdapat ikatan yang lemah (weak structure)
antara objek dan kelompok yang terbentuk. Untuk klaster 2 memiliki
anggota cluster sebanyak 677 anggota dengan nilai silhouette sebesar 0.26
ini yang menandakan bahwa terdapat ikatan yang sangat baik (strong
structure) antara objek dan kelompok yang terbentuk.
4. Pada hasil dan pembahasan kasus nomor empat, diperoleh kesimpulan
bahwa Diketahui bahwa X2 atau variabel HP >= 62, maka diprediksi akan
mengalami hightotal dengan probabilitas 0.00. Sebaliknya apabilai X2 < 62,
maka diprediksi akan mengalami lowtotal dengan probabilitas 1.00. Apabila
X4 >= 49, maka diprediksi mengalami highsales dengan probabilitas 0.14.
dan lain lain bisa dilihat pada output diatas.
5. Pada hasil dan pembahasan kasus nomor lima, diperoleh kesimpulan bahwa
jika menggunakan nilai mtry terbesar yaitu 4 untuk membangun model,
diketahui variabel X1 memiliki MDG tertinggi dan variabel X3 memiliki

94
MDA tertinggi, yang berarti variabel X3 dan X1 paling berpengaruh dalam
pebentukan pohon. Sedangkan jika menggunakan mtry= 2 diketahui
variabel X2 memiliki MDG dan MDA tertinggi, yang berarti variabel X2
paling berpengaruh dalam pebentukan pohon.
6. Pada data percobaan keenam, kesimpulan yang diperoleh adalah model
yang terbentuk dari analisis data adalah sebanyak 2 model dengan
menggunakan pasangan nilai support dan confidence yang berbeda-beda
pada setiap model. Selanjutnya model terbaik yang terbentuk dari kedua
model yang teridentifikasi memenuhi syarat model dikatakan baik, yakni
kedua model tersebut, karena berdasarkan perbandingan kedua model
tersebut yang memiliki nilai support dan confidence paling tinggi.
5.2 Saran
Diharapkan dalam analisis kasus ini bisa menggunakan cara scrapping data
yang lain yang bias menganalisis banyak kasus. Dalam menganalisis suatu uji,
sebelumnya perlu adanya beberapa asumsi klasik yang harus dipenuhi, agar analisis
dapat dilakukan. Praktikan diharapkan untuk menguasai keseluruhan asumsi-
asumsi yang dibutuhkan agar tidak terjadi kesalahan dalam menganalisis. Selain itu
harapan penulsi untuk pembaca, semoga laporan yang penulis buat ini dapat
dipahami dan dimengerti oleh pembaca.

95
DAFTAR PUSTAKA

Development & security, web security 13 Januari 2022


Kartika, Rizky Mukhlash & Imam. (2013). Penerapan Algoritma Klasifikasi
Berbasis Aturan Asosiasi untuk Data Meteorologi. Vol.1: 1-6
Meilina, Popy. (2015). PENERAPAN DATA MINING DENGAN METODE
KALSIFIKASI. Vol.7
Alita, Debby. Isnain, Auliya Rahman. (2020). Pendeteksian Sarkasme pada Proses
Analisis Sentimen Menggunakan Random Forest Classifier. Vol.8:50-58
Saadah, Siti. Salsabila, Haifa. (2021). Prediksi Harga Bitcoin Menggunakan
Metode Random Forest. Vol.7:24-32
Tim Dosen dan Tim Asisten, (2023). Data Mining, Institut Sains & Teknologi
Akprind, Yogyakarta.
Data screaping diakses melalui halaman: https://pokemondb.net/pokedex/all

96
LAMPIRAN

Lampiran sintax-sintax dalam menyelesaian persoalan diatas adalah seperti


berikut:
#______SCREAPING DATA______#
library(rvest)
url <- "https://pokemondb.net/pokedex/all"
html <- read_html(url)

#judul_laman_nama
judul_laman_nama <- html_nodes(html,'.cell-name')
judul_laman_nama
Nama <- html_text(judul_laman_nama)
Nama

#Jenis
jenis_pokemon <- html_nodes(html,'.cell-icon')
jenis_pokemon
jenis <- html_text(jenis_pokemon)
jenis

#total
total_pokemon <- html_nodes(html,'.cell-total')
total_pokemon
Total <- html_text(total_pokemon)
Total
#merubah data menjadi data numeric
Total<-as.numeric(Total)
Total

#HP
HP_total <- html_nodes(html,'.cell-total+ .cell-num')
HP_total
HP <- html_text(HP_total)
HP
#merubah data menjadi data numeric
HP<-as.numeric(HP)

97
HP

#Attcak
Attcak <- html_nodes(html,'.cell-num:nth-child(6)')
Attcak
Attcak <- html_text(Attcak)
Attcak
#merubah data menjadi data numeric
Attcak<-as.numeric(Attcak)
Attcak

#Defense
Defense <- html_nodes(html,'.cell-num:nth-child(7)')
Defense
Defense <- html_text(Defense)
Defense
#merubah data menjadi data numeric
Defense<-as.numeric(Defense)
Defense

#Speed
Speed <- html_nodes(html,'.cell-num:nth-child(10)')
Speed
Speed <- html_text(Speed)
Speed
#merubah data menjadi data numeric
Speed<-as.numeric(Speed)
Speed
#MEMBUAT DATA FRAME
DATA_POKEMON<-
data.frame(Nama,jenis,Total,HP,Attcak,Defense,Speed)
DATA_POKEMON
View(DATA_POKEMON)
#MEMINDAHKAN DATA KE EXCEll
write.table(DATA_POKEMON, "D:/1. DOKUMEN KULIAH
DATON/SEMESTER VI/PRAKTIKUM DATA
MINING/DATA_POKEMONOK.xls",sep="\t")

98
#______EKSPLORASI DATA______#
#Cek Mising Data
is.na(DATA_POKEMON)
#CEK OUTLIER DATA DENGAN Z-SCORE
#Cek outlier variabel Total
zscore_DATA_POKEMON1 <- (DATA_POKEMON$Total-
mean(DATA_POKEMON$Total))/sd(DATA_POKEMON$Total)
zscore_DATA_POKEMON1

#Cek outlier variabel HP


zscore_DATA_POKEMON2 <- (DATA_POKEMON$HP-
mean(DATA_POKEMON$HP))/sd(DATA_POKEMON$HP)
zscore_DATA_POKEMON2

#Cek outlier variabel Attcak


zscore_DATA_POKEMON3 <- (DATA_POKEMON$Attcak-
mean(DATA_POKEMON$Attcak))/sd(DATA_POKEMON$Attcak)
zscore_DATA_POKEMON3

#Cek outlier variabel Defense


zscore_DATA_POKEMON4 <- (DATA_POKEMON$Defense-
mean(DATA_POKEMON$Defense))/sd(DATA_POKEMON$Defense)
zscore_DATA_POKEMON4

#Cek outlier variabel Speed


zscore_DATA_POKEMON5 <- (DATA_POKEMON$Speed-
mean(DATA_POKEMON$Speed))/sd(DATA_POKEMON$Speed)
zscore_DATA_POKEMON5

#CEK OUTLIER DATA DENGAN BOX PLOT


#Cek outlier variabel Total
boxplot(DATA_POKEMON$Total, data=DATA_POKEMON,
main="BOX PLOT TOTAL", ylab="VARIABEL TOTAL")
#Cek outlier variabel HP
boxplot(DATA_POKEMON$HP, data=DATA_POKEMON, main="BOX
PLOT HP", ylab="VARIABEL HP")

99
#Cek outlier variabel Attcak
boxplot(DATA_POKEMON$Attcak, data=DATA_POKEMON,
main="BOX PLOT Attcak", ylab="VARIABEL Attcak")
#Cek outlier variabel Defense
boxplot(DATA_POKEMON$Defense, data=DATA_POKEMON,
main="BOX PLOT Defense", ylab="VARIABEL Defense")
#Cek outlier variabel Speed
boxplot(DATA_POKEMON$Speed, data=DATA_POKEMON,
main="BOX PLOT Speed", ylab="VARIABEL Speed")

#EKSPLORASI DATA POKEMON


#sumarry data(STATISTIKA DESKRIPTIF)
summary.data.frame(DATA_POKEMON)

#Sumary untuk setiap variabel


summary(DATA_POKEMON$Total)
summary(DATA_POKEMON$HP)
summary(DATA_POKEMON$Attcak)
summary(DATA_POKEMON$Defense)
summary(DATA_POKEMON$Speed)

#Visualising Distribution
#mencari nilai skweness variabel Total dn HP
library(e1071)
skewness(DATA_POKEMON$Total)
skewness(DATA_POKEMON$HP)
skewness(DATA_POKEMON$Attcak)
skewness(DATA_POKEMON$Defense)
skewness(DATA_POKEMON$Speed)

#hISTOGRAM
hist(DATA_POKEMON$Total)
hist(DATA_POKEMON$HP)
hist(DATA_POKEMON$Attcak)
hist(DATA_POKEMON$Defense)
hist(DATA_POKEMON$Speed)

100
#Histogram
par(mfrow=c(3,3))
hist(DATA_POKEMON$Total);
hist(DATA_POKEMON$HP);
hist(DATA_POKEMON$Attcak);
hist(DATA_POKEMON$Defense);
hist(DATA_POKEMON$Speed)

#steam and leaf


library(aplpack)
stem.leaf(DATA_POKEMON$Total, unit = 2,m=1)
stem.leaf(DATA_POKEMON$HP, unit = 0.7,m=1)
stem.leaf(DATA_POKEMON$Attcak, unit = 0.7,m=1)
stem.leaf(DATA_POKEMON$Defense, unit = 3,m=1)
stem.leaf(DATA_POKEMON$Speed, unit = 0.7,m=1)

##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$HP)

##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$Attcak)
plot(DATA_POKEMON$HP~DATA_POKEMON$Attcak)

##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$Defense)
plot(DATA_POKEMON$Attcak~DATA_POKEMON$Defense)

##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$Speed)
plot(DATA_POKEMON$Defense~DATA_POKEMON$Speed)

#CKUSTERING DATA POKEMON


#cek Type data
str(DATA_POKEMON)

#menggunakan data yang bertype numerik saja


Dataclustering <-DATA_POKEMON[,3:7]

101
Dataclustering
View(Dataclustering)

#representatife simple
library(psych)
#uji KMO (Kaiser-Meyer-Olkin)
KMO(Dataclustering)
#Uji multikolinearitas
cor(Dataclustering)

#STANDARISASI DATA
FIX <- scale(Dataclustering)
FIX
summary(FIX)

#CEK OUTLIER DATA DENGAN BOX PLOT


#Cek outlier semua variabel
par(mfrow=c(3,3))
boxplot(Dataclustering$Total, data=Dataclustering,
main="BOX PLOT TOTAL", ylab="VARIABEL TOTAL")
boxplot(Dataclustering$HP, data=Dataclustering,
main="BOX PLOT HP", ylab="VARIABEL HP")
boxplot(Dataclustering$Attcak, data=Dataclustering,
main="BOX PLOT Attcak", ylab="VARIABEL Attcak")
boxplot(Dataclustering$Defense, data=Dataclustering,
main="BOX PLOT Defense", ylab="VARIABEL Defense")
boxplot(Dataclustering$Speed, data=Dataclustering,
main="BOX PLOT Speed", ylab="VARIABEL Speed")

max(scale(Dataclustering$Total))
min(scale(Dataclustering$Total))
max(scale(Dataclustering$HP))
min(scale(Dataclustering$HP))
max(scale(Dataclustering$Attcak))
min(scale(Dataclustering$Attcak))
max(scale(Dataclustering$Defense))

102
min(scale(Dataclustering$Defense))
max(scale(Dataclustering$Speed))
min(scale(Dataclustering$Speed))

#MEMBENTUK CLUSTER YANG OPTIMUM


#Metode elbow untuk k optimum
library(factoextra)

fviz_nbclust(FIX, kmeans, method = "wss")+ggtitle("K


Optimal Cluster dengan Metode Elbow")

#metode SLHOUTE untuk k optimum


silhouette <- fviz_nbclust(FIX,kmeans,method =
"silhouette")+ggtitle("K Optimal Cluster dengan Metode
silhouette")
silhouette

#menghitung jarak dari masing-masing data


library(philentropy)
jarak_data <- distance(FIX, method = "euclidean")
View(jarak_data)

#CLUSTERING DENGAAN K-MEANS


library(cluster)

#mengunci data
set.seed(123)

#mengelompokAN data mernjadi 2 cluster


kluster_data <- kmeans(FIX,centers = 2)
kluster_data

#hasil yang tdk tercluster


kluster_data$ifault

#jumlah iterasi
kluster_data$iter

103
#visualisasi hasil klustering
fviz_cluster(kluster_data, data = FIX, repel = TRUE,
lebelsize =2)

#melihat dalam bentuk tabel tiap cluster


tabel_cluster <- data.frame(FIX,kluster_data$cluster)
tabel_cluster
View(tabel_cluster)
#MEMINDAHKAN DATA KE EXCEll
write.table(tabel_cluster, "D:/1. DOKUMEN KULIAH
DATON/SEMESTER VI/tabel_cluster.xls",sep="\t")

#uji validitas
validitas <- silhouette(kluster_data$cluster, dist
(FIX))
plot((fviz_silhouette(validitas)))

#profailling
library(dplyr)
Dataclustering %>%
mutate(cluster = kluster_data$cluster)%>%
group_by(cluster)%>%
summarise_at(1:5,"mean")

library(mclust)
fitM <- Mclust(FIX)
plot(fitM)

#Decision Tree DATA POKEMON


#cek Type data
str(DATA_POKEMON)
View(DATA_POKEMON)

104
#Memperpendek jumlah data menjadi 40 (Karena jumlah
data terlalu banyak)
Nama <-Nama[1:40]
Nama
jenis <- jenis[1:40]
jenis
Total <- Total[1:40]
Total
HP <- HP[1:40]
HP
Attcak <- Attcak[1:40]
Attcak
Defense <- Defense[1:40]
Defense
Speed <- Speed[1:40]
Speed

#MEMBUAT DATA FRAME


DATAPAKE<-
data.frame(Nama,jenis,Total,HP,Attcak,Defense,Speed)
DATAPAKE
str(DATAPAKE)

#mencari rata-rata
mean(DATAPAKE$Total)

DATAPAKE$Kategori_Total[DATAPAKE$Total<400.075] <-
"lowtotal"
DATAPAKE$Kategori_Total[DATAPAKE$Total>=400.075] <-
"hightotal"

#Melihat Kembali Struktur Data yang telah diubah


str(DATAPAKE)

#membuat data frame


DataTree <- data.frame(DATAPAKE$Kategori_Total,

105
DATAPAKE$HP,
DATAPAKE$Attcak,
DATAPAKE$Defense,
DATAPAKE$Speed)
DataTree
View(DataTree)

##Melihat Missing Data


is.na(DataTree)
#melihat nama variabel
names(DataTree)
colnames(DataTree)<-c("Y","X1","X2","X3","X4")
summary(DataTree)
##Pembagian Data Training dan testting 80% DAN 20%
set.seed(123)
split <-
sort(sample(nrow(DataTree),nrow(DataTree)*.8))
data.train <- DataTree[split,] #train untuk
pembentukan model
data.test <- DataTree[-split,] #test untuk peramalan
keakuratan
dim(data.train)
dim(data.test)

#ekplorasi data.train dan test


summary(data.train)
summary(data.test)

#Klasifikasi dengan Decision Tree


library(party)
library(rpart)
library(rpart.plot)
library(dplyr)
library(rsample)
library(rattle)
library(caret)

106
#MEMBUAT MODEL Decision Tree
fit<- rpart(Y ~ X1 + X2 + X3 + X4, data = data.train,
method = 'class',control = rpart.control(minsplit = 0,
minbucket = 0, maxdepth = 3))
fit
summary(fit)
fit$variable.importance

#Membuat plot Decision Tree


rpart.plot(fit)

#Prediksi Data Training Model 1


prediksi = predict(fit, newdata = data.test, type =
"class")
prediksi
#Confusion matrix
table(prediksi, data.test$Y)

#RANDOM FOREST DATA POKEMON


#cek Type data
str(DATA_POKEMON)
View(DATA_POKEMON)
#Memperpendek jumlah data menjadi 40 (Karena jumlah
data terlalu banyak)
Nama <-Nama[1:40]
Nama
jenis <- jenis[1:40]
jenis
Total <- Total[1:40]
Total
HP <- HP[1:40]
HP
Attcak <- Attcak[1:40]
Attcak
Defense <- Defense[1:40]
Defense
Speed <- Speed[1:40]

107
Speed

#MEMBUAT DATA FRAME


DATAPAKE<-
data.frame(Nama,jenis,Total,HP,Attcak,Defense,Speed)
DATAPAKE

#mencari rata-rata
mean(DATAPAKE$Total)

DATAPAKE$Kategori_Total[DATAPAKE$Total<400.075] <-
"lowtotal"
DATAPAKE$Kategori_Total[DATAPAKE$Total>=400.075] <-
"hightotal"

#Melihat Kembali Struktur Data yang telah diubah


str(DATAPAKE)

#membuat data frame


DataRandom <- data.frame(DATAPAKE$Kategori_Total,
DATAPAKE$HP,
DATAPAKE$Attcak,
DATAPAKE$Defense,
DATAPAKE$Speed)
DataRandom
View(DataRandom)

##Melihat Missing Data


is.na(DataRandom)
#melihat nama variabel
names(DataRandom)
colnames(DataRandom)<-c("Y","X1","X2","X3","X4")
summary(DataRandom)
##Pembagian Data Training dan testting 80% DAN 20%
set.seed(123)

108
split <-
sort(sample(nrow(DataRandom),nrow(DataRandom)*.8))
data.train <- DataRandom[split,] #train untuk
pembentukan model
data.test <- DataRandom[-split,] #test untuk peramalan
keakuratan
dim(data.train)
dim(data.test)

#ekplorasi data.train dan test


summary(data.train)
summary(data.test)

#Membangun model untuk “Data Training”


#menentukan ntree dan mtry
#nilai Mtry
floor((sqrt(4))/2)
floor(sqrt(4))
floor((sqrt(4))*2)

library(randomForest)
#membangun model
#model dengan ntree=50,mtry=4
MODEL.RF1 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=4)
MODEL.RF1

#importance
importance(MODEL.RF1)
varImpPlot(MODEL.RF1)

#MEMBUAT POHONMembangun model untuk “Data Training”


#menentukan ntree dan mtry
#nilai Mtry
floor((sqrt(4))/2)
floor(sqrt(4))

109
floor((sqrt(4))*2)

library(randomForest)
#membangun model
#model dengan ntree=50,mtry=4
MODEL.RF1 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=4)
MODEL.RF1

#importance
importance(MODEL.RF1)
varImpPlot(MODEL.RF1)

#MEMBUAT POHON
library(devtools)
devtools::install_github('skinner927/reprtree')
library(reprtree)
getTree(MODEL.RF1, k=4, labelVar = TRUE)
reprtree:::plot.getTree(MODEL.RF1,K=4)

#PREDIKSI DI DATA TESTING


pred_RF25.1=predict(MODEL.RF1,data.test,type =
"class")
pred_RF25.1

#MISCLASIFICATION EROR
tab.RF25.1=table(data.test$Y,pred_RF25.1)
tab.RF25.1

#TINGKAT AKURASI DATA TESTING


HASIL=sum(diag(tab.RF25.1))/sum(tab.RF25.1)
HASIL

1-sum(diag(tab.RF25.1))/sum(tab.RF25.1)

#tabel prediksi training

110
tabel.prediksi_1 <-
data.frame(data.train$X1,data.train$X2,data.train$X3,d
ata.train$Y,MODEL.RF1$predicted)
tabel.prediksi_1

#MEMINDAHKAN DATA KE EXCEL


write.table(tabel.prediksi_1, "D:/1. DOKUMEN KULIAH
DATON/SEMESTER VI/PRAKTIKUM DATA
MINING/model1prediksirandom.xls",sep="\t")

library(randomForest)
#membangun model
#model dengan ntree=50,mtry=2
MODEL.RF2 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=2)
MODEL.RF2

#importance
importance(MODEL.RF2)
varImpPlot(MODEL.RF2)

#MEMBUAT POHON
library(devtools)
devtools::install_github('skinner927/reprtree')
library(reprtree)
getTree(MODEL.RF2, k=4, labelVar = TRUE)
reprtree:::plot.getTree(MODEL.RF2,K=4)

#PREDIKSI DI DATA TESTING


pred_RF25.2=predict(MODEL.RF2,data.test,type =
"class")
pred_RF25.2

#MISCLASIFICATION EROR
tab.RF25.2=table(data.test$Y,pred_RF25.2)

111
tab.RF25.2

#TINGKAT AKURASI DATA TESTING


HASIL=sum(diag(tab.RF25.2))/sum(tab.RF25.2)
HASIL

1-sum(diag(tab.RF25.2))/sum(tab.RF25.2)

#tabel prediksi training


tabel.prediksi_2 <-
data.frame(data.train$X1,data.train$X2,data.train$X3,d
ata.train$Y,MODEL.RF2$predicted)
tabel.prediksi_2

#MEMINDAHKAN DATA KE EXCEL


write.table(tabel.prediksi_2, "D:/1. DOKUMEN KULIAH
DATON/SEMESTER VI/PRAKTIKUM DATA
MINING/model2prediksirandom.xls",sep="\t")

#Analisis Data Testing


dim(data.test)
data.test
summary(data.test)

prediksitesting1 <- predict(MODEL.RF1, newdata =


data.test)
data.frame(data.test,prediksitesting1)

prediksitesting1 <- predict(MODEL.RF2, newdata =


data.test)
data.frame(data.test,prediksitesting1)
library(devtools)
devtools::install_github('skinner927/reprtree')
library(reprtree)
getTree(MODEL.RF1, k=4, labelVar = TRUE)
reprtree:::plot.getTree(MODEL.RF1,K=4)

112
#PREDIKSI DI DATA TESTING
pred_RF25.1=predict(MODEL.RF1,data.test,type =
"class")
pred_RF25.1

#MISCLASIFICATION EROR
tab.RF25.1=table(data.test$Y,pred_RF25.1)
tab.RF25.1

#TINGKAT AKURASI DATA TESTING


HASIL=sum(diag(tab.RF25.1))/sum(tab.RF25.1)
HASIL

1-sum(diag(tab.RF25.1))/sum(tab.RF25.1)

#tabel prediksi training


tabel.prediksi_1 <-
data.frame(data.train$X1,data.train$X2,data.train$X3,d
ata.train$Y,MODEL.RF1$predicted)
tabel.prediksi_1

#MEMINDAHKAN DATA KE EXCEL


write.table(tabel.prediksi_1, "D:/1. DOKUMEN KULIAH
DATON/SEMESTER VI/PRAKTIKUM DATA
MINING/model1prediksirandom.xls",sep="\t")

library(randomForest)
#membangun model
#model dengan ntree=50,mtry=2
MODEL.RF2 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=2)
MODEL.RF2

#importance
importance(MODEL.RF2)

113
varImpPlot(MODEL.RF2)

#MEMBUAT POHON
library(devtools)
devtools::install_github('skinner927/reprtree')
library(reprtree)
getTree(MODEL.RF2, k=4, labelVar = TRUE)
reprtree:::plot.getTree(MODEL.RF2,K=4)

#PREDIKSI DI DATA TESTING


pred_RF25.2=predict(MODEL.RF2,data.test,type =
"class")
pred_RF25.2

#MISCLASIFICATION EROR
tab.RF25.2=table(data.test$Y,pred_RF25.2)
tab.RF25.2

#TINGKAT AKURASI DATA TESTING


HASIL=sum(diag(tab.RF25.2))/sum(tab.RF25.2)
HASIL

1-sum(diag(tab.RF25.2))/sum(tab.RF25.2)

#tabel prediksi training


tabel.prediksi_2 <-
data.frame(data.train$X1,data.train$X2,data.train$X3,d
ata.train$Y,MODEL.RF2$predicted)
tabel.prediksi_2

#MEMINDAHKAN DATA KE EXCEL


write.table(tabel.prediksi_2, "D:/1. DOKUMEN KULIAH
DATON/SEMESTER VI/PRAKTIKUM DATA
MINING/model2prediksirandom.xls",sep="\t")

#Analisis Data Testing


dim(data.test)

114
data.test
summary(data.test)

prediksitesting1 <- predict(MODEL.RF1, newdata =


data.test)
data.frame(data.test,prediksitesting1)

prediksitesting1 <- predict(MODEL.RF2, newdata =


data.test)
data.frame(data.test,prediksitesting1)

library(tidyverse)
library(arules)
library(igraph)

####4.6 Assosiation Rules


library(readxl)
MBA <- read_excel("D:/1. DOKUMEN KULIAH DATON/SEMESTER
VI/PRAKTIKUM DATA MINING/association rules TA.xlsx")
MBA

#melihat struktur data


str(MBA)

MBA$kode <- as.character(MBA$kode)


MBA$barang <- as.factor(MBA$barang)

#melihat kembali struktur data


str(MBA)

#Memilih variabel
Transaksi <- new.env()
Transaksi$Data <- as(split(MBA$barang, MBA$kode),
"transactions")
Transaksi$Data

115
#Melihat daftar item atau nama barang
itemLabels(Transaksi$Data)

#Eksplorasi data
summary(Transaksi$Data)
image(Transaksi$Data)
itemFrequencyPlot(Transaksi$Data, topN=10,
cex.names=1)

#membangun model dengan Support=0,05 dan


Confidence=0,1
asrules <- apriori(Transaksi$Data, parameter =
list(supp=0.05, conf=0.1, target="rules"))
summary(asrules)
inspect(asrules)
View(inspect(asrules))

#membangun model dengan Support=0,05 dan


Confidence=0,1
asrules2 <- apriori(Transaksi$Data, parameter =
list(supp=0.1, conf=0.1, target="rules"))
summary(asrules2)
inspect(asrules2)
View(inspect(asrules2))

116

Anda mungkin juga menyukai