i
PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM
PERTANDINGAN PROFESIONAL DENGAN METODE
AGGLOMERATIVE HIERARCHICAL CLUSTERING
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh
Gelar Sarjana Komputer
Program Studi Teknik Informatika.
DISUSUN OLEH :
Bondan Yudha Pratomo
125314137
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
CLUSTERING ROLE PLAYER DOTA 2 IN A PROFESSIONAL MATCH
WITH AGGLOMERATIVE HIERARCHICAL CLUSTERING
METHODE
A Thesis
Presented as Partial Fulfillment of The Requirements
To Obtain the Sarjana Komputer Degree
In Informatics Engineering Study Program
By :
Bondan Yudha Pratomo
125314137
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
“Tetaplah bersyukur dengan apa yang sudah kita miliki , mengeluh hanya
akan menambah beban dari masalah itu sendiri “
Karya ini saya persembahkan kepada :
Tuhan Yesus Kristus
Keluarga tercinta, Pacar tercinta, Dosen serta para sahabat dan teman-teman
Terima Kasih sudah memberikan semangat !
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
DOTA 2 adalah permainan strategi dimana kita harus bekerja sama dengan
pemain yang ada dalam satu tim untuk mengalahkan tim lawan. DOTA 2
merupakan versi terbaru dari DOTA yang dulunya merupakan satu kesatuan
dengan WARCRAFT III.Dalam pertandingan DOTA 2 akan menghasilkan sebuah
data dimana data ini akan dikelompokan dengan menggunakan Agglomerative
Hierarchical Clustering dengan menggunakan 3 Metode yaitu single-
linkage,complete-linkage dan average-linkage .
Transformasi Min-Max menjadi yang tertinggi dalam menentukan akurasi
dengan 93% karena metode ini mampu melakukan normalisasi hanya pada atribut
tertentu tidak semua atribut dimana data pertandingan DOTA 2 ini memiliki 1
atribut yaitu DAMAGE yang harus dinormalisasikan terlebih dahulu karena dapat
merusak hasil akurasi,sedangkan menggunakan data asli dan Zscore akurasi yang
dihasilkan belum tinggi karena terganggu oleh atribut DAMAGE.Penggunaan
PCA(Principal Component Analysis) juga belum mampu menghasilkan akurasi
tinggi dikarenakan ada atribut penting yang terpotong.
Dari 3 metode single-linkage,complete-linkage dan average-linkage ,
complete-linkage dan average-linkage menjadi metode dengan rata-rata akurasi
tertinggi dan single-linkage menghasilkan rata-rata terendah.
Kata kunci : pengelompokan peran pertandingan DOTA 2, Agglomerative
Hierarchical Clustering, single-linkage,complete-linkage dan average-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
DOTA 2 is a strategy game in which we must work closely with the
existing players in the team to defeat the opposing team. DOTA 2 is the latest
version of DOTA which used to be an integral part of the game Warcraft III. The
outcome of the match DOTA 2 will produce a data on which this data will be
grouped by using Agglomerative Hierarchical Clustering by using three methods,
namely single-linkage, complete linkage and average-linkage ,
Transformation Min-Max to be the highest in determining the accuracy by
93% because this method is able to normalize only on certain attributes are not all
attributes where data matches DOTA 2 has one attribute that is DAMAGE that
should be normalized in advance because it can decrease the accuracy results,
while using Zscore and original data the resulting accuracy is not high because the
attributes DAMAGE.Using data reduction by PCA (Principal Component
Analysis) also has not been able to produce a high accuracy because there are
important attributes are truncated.
Of the three methods of single-linkage, complete linkage and average-
linkage, complete linkage and average linkage being a method to the average of
the highest accuracy and single-linkage produces the lowest average.
Keywords: Grouping the role of game DOTA 2, Agglomerative Hierarchical
Clustering, single linkage, complete linkage and average-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala
rahmat dan berkat yang telah diberikan sehingga penulis dapat menyelesaikan
tugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan
International dengan Pendekatan Agglomerative Clustering” sebagai salah satu
syarat memperoleh gelar sarjana pada program studi Teknik Informatika Fakultas
Sains dan Teknologi Universitas Sanata Dharma Yogyakarta
Dalam penulisan karya ilmiah ini penulis juga tidak lupa mengucapkan
terima kasih kepada pihak-pihak yang telah membantu dan juga memberi
semangat dalam pengerjaan karya ini.Ucapan terima kasih penulis ucapkan
kepada :
1. Tuhan Yesus Kristus yang selalu memberikan berkat serta
karunia-Nya yang melimpah dalam mengerjakan karya ini.
2. Keluarga, Bapak Yohanes Basuki , Ibu Mimin Purwanti , dan
adik Yos Rio Puraga ,Kornael Damar Kusuma yang telah
memberikan semangat yang sangat membantu penulis dalam
pengerjaan,doa ,dan dukungan berupa material dan non-
material.
3. Romo Dr.Cyprianus Kuntoro Adi, S.J. M.A., M.Sc. selaku
dosen pembimbing yang dengan sabar memberikan bimbingan
dan pengarahan yang terbaik dalam pengerjaan tugas akhir ini.
4. Vita Deovita Karlina yang selalu memberikan waktunya untuk
menyemangati ,memberikan motivasi,semangat ,bantuan dan
menjadi penghibur dikala pengerjaan tugas akhir ini menemui
masalah.
5. Para sahabat Aloysius Tri Sulistio Putranto,Stephanus Nico
Thomas,Dian Saktian Tobias,Pius Juan Pratama,Adhitia
Medhita yang selalu memberikan waktunya dalam
menghibur,memberikan motivasi serta memberikan semangat
dalam pengerjaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
6. Seluruh teman-teman semua yang banyak membantu dalam
memberikan motivasi ,ilmu,semangat dan juga penghibur
dalam pengerjaan tugas akhir ini.
Penulis menyadari masih banyak kekurangan dalam penulisan tugas akhir
ini .Kritik dan saran akan yang membangun diharapkan akan memperbaiki
penelitian ini di masa yang akan mendatang.semoga informasi pada penulisan
tugas akhir ini bermanfaat bagi pembaca.
Yogyakarta, Februari 2017
Bondan Yudha Pratomo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN JUDUL ................................................................................................ i
HALAMAN JUDUL (INGGRIS) ........................................................................... ii
HALAMAN PERSETUJUAN SKRIPSI ............................................................... iii
HALAMAN PENGESAHAN SKRIPSI ............................................................... iv
HALAMAN PERSEMBAHAN ............................................................................. v
PERNYATAAN KEASLIAN KARYA ................................................................ vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ............................................................................ vii
ABSTRAK ........................................................................................................... viii
ABSTRACT ........................................................................................................... ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI ......................................................................................................... xii
DAFTAR GAMBAR ............................................................................................ xv
DAFTAR TABEL ............................................................................................... xvii
BAB I PENDAHULUAN ...................................................................................... 1
1.1. Latar Belakang ......................................................................................... 1
1.2. Rumusan Masalah .................................................................................... 3
1.3. Batasan Masalah ....................................................................................... 3
1.4. Tujuan Penelitian ...................................................................................... 3
1.5. Manfaat Penelitian .................................................................................... 4
BAB II LANDASAN TEORI ................................................................................ 5
2.1. Knowledge Discovery in Database .......................................................... 5
2.2. Pengertian Clustering ............................................................................... 8
2.2.1. Tipe Clustering .............................................................................. 8
2.2.2. Pengertian Hierarchical Clustering ............................................... 9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.2.3. Konsep Agglomerative Hierarchical Clustering ......................... 10
2.3. Dimensionality Reduction ...................................................................... 22
2.4. Permainan DOTA 2 ................................................................................ 23
2.5. Pengujian Keakuratan Metodel .............................................................. 25
BAB III METODOLOGI PENELITIAN ............................................................ 27
3.1. Gambaran Umum ................................................................................... 27
3.2. Desain Penelitian .................................................................................... 28
3.2.1. Studi Literatur .............................................................................. 28
3.2.2. Pengumpulan Data ...................................................................... 28
3.2.3. Perancangan Alat Uji ................................................................... 30
3.3. Analisa Kebutuhan Proses ..................................................................... 32
3.4. Implementasi Perancangan ..................................................................... 34
3.4.1. Diagram Konteks ........................................................................... 34
3.4.2. Data Flow Diagram Level 1 ............................................................ 36
3.4.3. Data Flow Diagram Level 2 ............................................................ 37
3.5. Penjelasan Proses ................................................................................... 39
3.5.1. Baca Data ...................................................................................... 39
3.5.2. Pre-processing ............................................................................. 39
3.5.3. Pengukuran Jarak ........................................................................... 41
3.5.4. Clustering ...................................................................................... 41
3.5.5. Perhitungan Akurasi Confusion Matrix ............................................ 44
3.6. Perancangan Antar Muka Alat Uji ......................................................... 45
3.7. Spesifikasi Hardware dan Software ....................................................... 47
BAB IV IMPLEMENTASI HASIL DAN ANALISIS ........................................ 48
4.1. Hasil Penelitian dan Analisis .................................................................. 48
4.2. Hasil Cluster dan Pengujian Confusion Matrix ...................................... 57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
BAB V KESIMPULAN DAN SARAN ................................................................ 76
5.1. Kesimpulan ............................................................................................. 76
5.2. Saran ....................................................................................................... 77
DAFTAR PUSTAKA ........................................................................................... 78
LAMPIRAN .......................................................................................................... 79
A. Tabel Data Pertandingan ......................................................................... 119
B. Screenshot Coding Alat Uji .......................................................................... 79
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Proses pengolahan data 5
2.2 Pengelompokan cluster dendrogram dan
kedekatan data
10
2.3 Perbedaan perhitungan jarak 11
2.4 Hasil dendrogram untuk cluster single-linkage 16
2.5 Hasil dendrogram untuk cluster single-linkage 18
2.6 Hasil dendrogram untuk cluster average-linkage 20
2.7 Hero-hero pada DOTA 2 23
3.1 Diagram Blok 27
3.2 Hasil pertandingan DOTA 2 29
3.3 Diagram blok proses clustering 34
3.4 Diagram blok proses perhitungan akurasi 34
3.5 Diagram konteks proses clustering 35
3.6 Diagram DFD level 1 36
3.7 Diagram DFD level 2 untuk preprocesing 37
3.8 Diagram DFD level 2 untuk clustering data 38
3.9 contoh dendrogram single-linkage 42
3.10 contoh dendrogram complete-linkage 43
3.11 contoh dendrogram average-linkage 44
3.12 User interface alat uji 45
4.1 grafik akurasi tanpa PCA 51
4.2 grafik akurasi dengan menggunakan PCA 54
4.3 Grafik hasil akurasi dari normalisasi 55
4.4 1 Grafik hasil akurasi dari metode 56
4.5 Grafik hasil akurasi dari PCA 57
4.6 Dendrogram single-linkage data asli 58
4.7 dendrogramaverage-linkage data asli 59
4.8 Dendrogram complete-linkage data asli 60
4.9 Dendrogram single-linkage data Z-score 61
4.10 Dendrogram complete-linkage data Z-score 62
4.11 Dendrogram average-likage data Z-score 62
4.12 Dendrogram single-linkage data MinMax 64
4.13 Dendrogram complete-linkage data MinMax 65
4.14 Dendrogram average-linkage data MinMax 66
4.15 Dendrogram single-linkage data asli + PCA 67
4.16 Dendrogram compelte-linakge data asli + PCA 68
4.17 Dendrogram average-linakge data asli + PCA 69
4.18 Dendrogram single-linakge data Z-score + PCA 70
4.19 Dendrogram complet-linkage data Z-score +
PCA
71
4.20 Dendrogram average-linkage data Z-score +
PCA
72
4.21 Dendrogram single-linkage data MinMax + PCA 73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
4.22 Dendrogram complete-linkage data MinMax +
PCA
74
4.23 Dendrogram average-linkage data MinMax +
PCA
74
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Contoh data 13
2.2 Hasil Euclidean disteance dari contoh data 13
2.3 pencarian jarak terdekat single iterasi 1 13
2.4 Hasil pencarian jarak terdekat single iterasi 1 14
2.5 Pencarian jarak terdekat single iterasi 2 14
2.6 Hasil pencarian jarak terdekat single iterasi 2 15
2.7 1 Pencarian jarak terdekat single iterasi 3 15
2.8 Hasil cluster single-linkage 15
2.9 Pencarian jarak terdekat complete iterasi 1 16
2.10 Hasil pencarian jarak terdekat complete iterasi 1 17
2.11 Pencarian jarak terdekat complete iterasi 17
2.12 Pencarian jarak terdekat complete iterasi 3 17
2.13 Hasil pencarian jarak terdekat complete iterasi 3 18
2.14 Hasil cluster complete-linkage 18
2.15 Hasil pencarian jarak terdekat average iterasi 1 19
2.16 Pencarian jarak terdekat average iterasi 2 20
2.17 Hasil pencarian jarak terdekat average iterasi 2 20
2.18 Pencarian jarak terdekat average iterasi 3 20
2.19 Hasil cluster average-linkage 20
2.20 Tabel kebenaran 26
3.1 Penjelasan atribut data 29
3.2 contoh matrix data 41
3.3 Tabel evaluasi confusion matrix 44
3.4 Penjelasan fungsi user interface alat uji 45
4.1 Deskripsi masing-masing peran 48
4.2 Contoh perbedaan damage hero berdasarkan
peran
49
4.3 perbandingan akurasi tanpa PCA 50
4.4 perbandingan akurasi dengan menggunakan PCA 53
4.5 Hasil akurasi dari normalisasi 54
4.6 Hasil akurasi dari metode 55
4.7 Hasil akurasu dari PCA 56
4.8 Hasil akurasi data asli tanpa normalisasi 58
4.9 Confusion matrix single-linkage data asli 58
4.10 Confusion matrix Average-linkage data asli 59
4.11 Confusion matrix Complete-linkage data asli 60
4.12 hasil akurasi dengan normalisasi Z-score 61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
4.13 Confusion matrix single-linkage Z-score 61
4.14 Confusion matrix Complete-linkage data asli 62
4.15 Confusion matrix Average-linkage data asli 63
4.16 hasil akurasi dengan normalisasi MinMax 63
4.17 Confusion matrix single-linkage MinMax 64
4.18 Confusion matrix Complete-linkage MinMax 65
4.19 Confusion matrix Average-linkage MinMax 66
4.20 data asli tanpa normalisasi dan PCA 67
4.21 Confusion matrix single-linkage data asli + PCA 67
4.22 Confusion matrix Complete-linkage data asli +
PCA
68
4.23 Confusion matrix Average-linkage data asli +
PCA
69
4.24 hasil akurasi normalisasi Z-score dan PCA 70
4.25 Confusion matrix single-linkage Z-score + PCA 70
4.26 Confusion matrix Complete-linkage Z-score +
PCA
71
4.27 Confusion matrix Average-linkage Z-score +
PCA
72
4.28 hasil akurasi dengan normalisasi MinMax dan
PCA
73
4.29 Confusion matrix single-linkage MinMax + PCA 73
4.30 Confusion matrix Complete-linkage MinMax +
PCA
74
4.31 Confusion matrix Average-linkage MinMax +
PCA
75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB 1
PENDAHULUAN
Pada Bab ini akan dijelaskan mengenai latar belakang yang akan dijadikan acuan
dalam pembuatan penelitian,rumusan masalah yang akan penulisa selesaikan
dalam penelitian ini ,tujuan penelitian ,manfaat penelitian dan juga metodologi
penelitian dalam pengambilan data.
1.1.Latar Belakang
Pada perkembangan teknologi yang sangat pesat pada jaman ini memiliki
dampak buruk serta juga baiknya,salah satunya adalah Game Online.Game online
di Indonesia masih dipandang sebagai sesuatu yang buruk oleh masyarakat karena
banyaknya anak-anak mereka kecanduan dalam game online.Tidak semua game
buruk ,ada beberapa game yang menghasilkan uang jika kita menekuni game
tersebut dalam arti menekuni jangan sampai kencanduan .Salah satu cabang game
yang sedang ramai dalam pertandingan-pertandingan lokal bahkan sudah
mencapai seluruh dunia adalah E-Sport.
E-sports juga dikenal sebagai Electronic sports - Professional gaming. Ini
adalah jenis olahraga dimana semua aspek utama dari olahraga sesungguhnya
difasilitasi oleh sistem elektronik (Houston,Senz 2016). Ini berarti input dari team
dan player maupun output dari "actual esports sistem" dimediasi oleh interface
yang terdiri dari manusia dan komputer.Penjelasan paling sederhana, eSports
adalah kompetisi-kompetisi yang sudah terorganisasi untuk multiplayer video
games antara player-player yang telah menjadikan gaming sebagai profesi mereka
sesungguhnya. Genre yang paling sering ditemui di eSports adalah MOBA
(multiplayer online battle arena), FPS (First Person Shooter), Fighting (street
fighter) dan real time strategy games.Kompetisi-kompetisi ini menyediakan live
broadcast dengan produksi yang sangat luar biasa, disertai dengan uang hadiah
dan fasilitas yang sangat menjanjikan untuk para juara dan peserta.
Jika berbicara tentang Revenue atau pendapatan di dunia esports, industri
esports dikabarkan mencapai 2 Milyar USD dengan rata-rata 250 juta dollar
pertahunnya dan bahkan perkembangan penonton atau penikmat esports yang
telah berkembang dan bahkan bisa menyaingi NFL pada tahun 2017. Dan dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
banyakan kompetisi-kompetisi eSports yang mulai dilirik oleh channel TV seperti
ESPN, TURNER, bahkan ASTRO Malaysia mempunyai channel Egg Network
yang mana merupakan channel eSports pertama di Asia Tenggara.
Salah satu pilihan atau kesempatan adalah eSports. Dengan proyeksi
perkembangan yang ada saat ini, bisa dipastikan kalau esports adalah "thing of the
future", sebagian besar dari kita menghabiskan sebagian besar waktu kita di depan
gadget atau PC atau device kita oleh karena itu diadakan e-sports untuk
menghasilkan uang juga.
Game E-Sports yang sedang digeluti salah satunya adalah DOTA 2 , DOTA 2
adalah permainan strategi dimana kita harus bekerja sama dengan pemain yang
ada dalam satu tim untuk menjatuhkan markas tim lawan. DOTA 2 merupakan
versi terbaru dari DOTA yang dulunya merupakan satu kesatuan dengan
WARCRAFT III. DOTA dan DOTA 2 tidak jauh berbeda dari segi HERO
(sebutan karakter atau unit pada game yang bisa kita kendalikan) yang dapat kita
pilih dan item yang dapat kita beli. Namun pada DOTA 2 visual yang ditampilkan
jauh lebih bagus dan sistem pembelian item yang lebih mudah . Dalam permainan
DOTA 2 juga terdapat pembagian peran yaitu Carry,Support,dan juga Hard-
support , peran Carry sangat penting dalam tim karena bertugas dalam membawa
tim kepada kemenangan tentunya didukung olehSupport dan Hard-support.
Dalam penelitian ini hendak membuat suatu sistem yang mampu
mengelompokan jenis peran di dalam pertandingan DOTA 2 ini.Dalam data
pertandingan mengambil hasil akhir sebuah pertandingan dari segi
item,level,networth .Penelitian ini menggunakan Agglomerative Hiearchical
Clustering dalam pengelompokan datanya , sebelum pembentukan cluster akan
dicari terlebih dahulu kedekatan antara data dengan Euclidean distance .Penelitian
yang dibuat juga selain mencari akurasi akan digunakan dalam pencarian 3 peran
terbaik dari masing-masing cluster yang nantinya akan digunakan dalam
pemilihan player baru dalam sebuah tim profesianal,masih banyak tim
professional hanya memilih pemain yang bersinar pada pertandingan tertentu akan
tetapi ketika pemain tersebut dikontrak oleh tim , pemain tersebut tidak lagi
bersinar.Oleh karena itu sistem ini mencoba mencari pemain berdasarkan record
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
pemain dalam pertandingan yang dia mainkan dimana dari hasil yang sudah
dicluster akan digunakan untuk menempatkan pemain baru diposisi yang tepat.
1.2.Rumusan Masalah
Apakah penggunaan metode Agglomerative Hierarchical Clustering mampu
mengelompokan peran pemain dalam pertandingan professional DOTA 2 dengan
dataset pemain profesional untuk menempatkan pemain baru diposisi yang tepat?
1.3.Batasan Masalah
Agar dalam pembahasan nantinya tidak panjang lebar, maka penulis
membatasi beberapa masalah yang akan dibahas, diantaranya:
1. Menggunakan data pertandingan Turnamen DOTA 2 profesional pada
tahun 2016
2. Metode yang digunakan Algoritma Agglomerative Hierarchical
Clustering meliputi Single-linkage, Complete-linkage dan Avarage-
Linkage.
3. Hanya membagi kedalam 3 peran yaitu Carry,Support,Hard-support.
4. Data pertandingan hanya diambil dengan durasi 40 menit sampai 50 menit.
1.4.Tujuan Penelitian
Mengetahui apakah dengan menggunakan metode Agglomerative
Hierarchical Clustering dan juga menggunakan data hasil akhir pertandingan
akan menghasilkan akurasi yang bagus ?
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.5. Manfaat Penelitian
1. Manfaat Praktis
Bagi penulis, manfaat praktis yang di harapakan adalah dengan adanya penelitian
yang penulis teliti diharapkan dapat memperluas wawasan dan memperoleh
pengetahuan baru tentang mengelompokan data pertandingan DOTA 2 ,dimana
game belum terlalu banyak dalam sebuah penelitian.
2. Manfaat Akademis
manfaat akademis yang diharapkan dalah agar hasil dari penelitian ini dapat
dijadikan bahan rujukan bagi semua ilmu yang berhubungan dengan penelitian
dan juga dapat menjadi referensi bagi mahasiswa yang melakukan kajian
terhadap algoritma ini .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB 2
LANDASAN TEORI
Pada bab ini akan dijelaskan bagaimana cara penulis mendapatkan informasi
dalam pengerjaan karya ini ,dan agar tentunya landasan teori ini dapat
mempertanggung jawabkan hasil akhir dari penelitian ini.
2.1 Knowledge Discovery in Database
Knowledge Discovery and Data Mining(KDD) adalah proses yang dibantu
oleh komputer untuk menggali dan menganalisis sejumlah besar himpunan data
dan mengekstrak informasi dan pengetahuan yang berguna. Data mining
tools memperkirakan perilaku dan tren masa depan, memungkinkan bisnis untuk
membuat keputusan yang proaktif dan berdasarkan pengetahuan. Data mining
tools mampu menjawab permasalahan bisnis yang secara tradisional terlalu lama
untuk diselesaikan. Data mining tools menjelajah database untuk mencari pola
tersembunyi, menemukan infomasi yang prediktif yang mungkin dilewatkan para
pakar karena berada di luar ekspektasi mereka.Proses KDD terdiri dari 5 proses
seperti terlihat pada gambar di bawah.Akan tetapi , dalam proses KDD yang
sesungguhnya ,dapat saja terjadi iterasi atau pengulangan pada tahap tertentu.Pada
setiap tahap dalam proses KDD,bisa saja dapat kembali ke tahap
sebelumnya.Sebagai contoh pada saat coding atau data mining,ada proses cleaning
yang belum dilakukan dengan sempurna, kemudian menemukan informasi baru
untuk memperkaya data yang sudah ada.
Gambar 2. 1 Proses pengolahan data(e.g., Fayyad et al. 1996)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
1. Data Selection
Menciptakan himpunan data target , pemilihan himpunan data, atau memfokuskan
pada subset variabel atau sampel data, dimana penemuan (discovery) akan
dilakukan.Pemilihan (seleksi) data dari sekumpulan data operasional perlu
dilakukan sebelum tahap penggalian informasi dalam KDD dimulai. Data hasil
seleksi yang akan digunakan untuk proses data mining, disimpan dalam suatu
berkas, terpisah dari basis data operasional.
2. Pre-processingatau Cleaning
Pemprosesan pendahuluan dan pembersihan data merupakan operasi dasar seperti
penghapusan noise dilakukan.Sebelum proses data mining dapat dilaksanakan,
perlu dilakukan proses cleaning pada data yang menjadi fokus KDD.Proses
cleaning mencakup antara lain membuang duplikasi data, memeriksa data yang
inkonsisten, dan memperbaiki kesalahan pada data, seperti kesalahan cetak
(tipografi).Dilakukan proses enrichment, yaitu proses “memperkaya” data yang
sudah ada dengan data atau informasi lain yang relevan dan diperlukan untuk
KDD, seperti data atau informasi eksternal.
3. Transformation
Pencarian fitur-fitur yang berguna untuk mempresentasikan data bergantung
kepada goal yang ingin dicapai.Merupakan proses transformasi pada data yang
telah dipilih, sehingga data tersebut sesuai untuk proses data mining. Proses ini
merupakan proses kreatif dan sangat tergantung pada jenis atau pola informasi
yang akan dicari dalam basis data .Dalam penelitian ini menggunakan 2
normalisasi yaitu Z-score dan MinMax
a. Normalisasi Z-score
Disebut juga zero-mean normalization, dimana value dari sebuah atribut
A dinormalisasi berdasarkan nilai rata-rata dan standar deviasi dari
atribut A. Sebuah value v dari atribut A dinormalisasi menjadi v'
dengan rumus:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
(2.1)
Keterangan :
- ̅ = adalah rata-rata dari nilai
- σ A = adalah standar deviasi dari atribut A
- v = adalah nilai yang ingin diubah
- v’ = adalah hasil Z-score
b. Normalisasi MinMax
MinMax normalization memetakan sebuah value v dari atribut A
menjadi v' ke dalam range [new_minA, new_maxA] berdasarkan
rumus:
(2.2)
Keterangan :
- v = adalah nilai yang akan dinormalisasi
- v’=adalah nilai hasil normalisasi
- min = adalah nilai minimal lama dari nilai v
- max = adalah nilai maksimal lama dari nilai v
- new_min = adalah nilai minimal baru sesuai kebutuhan
- new_max = adalah nilai maksimal baru sesuai kebutuhan
4. Data mining
Pemilihan tugas data mining; pemilihan goal dari proses KDD misalnya
klasifikasi, regresi, clustering, dll.Pemilihan algoritma data mining untuk
pencarian (searching)Proses Data mining yaitu proses mencari pola atau informasi
menarik dalam data terpilih dengan menggunakan teknik atau metode tertentu.
Teknik, metode, atau algoritma dalam data mining sangat bervariasi. Pemilihan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
metode atau algoritma yang tepat sangat bergantung pada tujuan dan proses KDD
secara keseluruhan.
5. Interpretationatau Evaluation
Penerjemahan pola-pola yang dihasilkan dari data mining.Pola informasi yang
dihasilkan dari proses data mining perlu ditampilkan dalam bentuk yang mudah
mimengerti oleh pihak yang berkepentingan. Tahap ini merupakan bagian dari
proses KDD yang mencakup pemeriksaan apakah pola atau informasi yang
ditemukan bertentangan dengan fakta atau hipotesa yang ada sebelumnya.
2.2 Pengertian Clustering
Menurut Han dan Kamber (2011), Clustering adalah proses
pengelompokkan kumpulan data menjadi beberapa kelompok sehingga objek di
dalam satu kelompok memiliki banyak kesamaan dan memiliki banyak perbedaan
dengan objek dikelompok lain. Perbedaan dan persamaannya biasanya
berdasarkan nilai atribut dari objek tersebut dan dapat juga berupa perhitungan
jarak. Clustering sendiri juga disebut Unsupervised Classification, karena
clustering lebih bersifat untuk dipelajari dan diperhatikan. Cluster analysis
merupakan proses partisi satu set objek data ke dalam himpunan bagian. Setiap
himpunan bagian adalah cluster, sehingga objek yang di dalam cluster mirip satu
sama dengan yang lainnya, dan mempunyai perbedaan dengan objek dari cluster
yang lain. Partisi tidak dilakukan dengan manual tetapi dengan algoritma
clustering. Oleh karena itu,clustering sangat berguna dan bisa menemukan group
yang tidak dikenal dalam data.
2.2.1 Tipe Clustering
Clustering merupakan suatu kumpulan dari keseluruhan cluster( H. G.
Wilson).Beberapa dari clustering adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
1. Partitional vs Hierarchical
Partitional clustering adalah pembagian objek data kedalam sub
himpunan(cluster) yang tidak overlap sedemikian hingga tiap objek data
berada dalam tepat satu sub-himpunan.Hierarchical clustering merupakan
sebuah himpunan cluster bersarang yang diatur sebagai suatu pohon
hirarki.Tiap simpul(cluster) dalam pohon(kecuali simpul daun)
merupakan gabungan dari anaknya(subcluster) dan simpul akar berisi
semua objek
2. Exclusive vs non-exclusive
Semua bentuk clustering merupakan exclusive clustering ,karena setiap
objek berada tepat pada satu cluster.sebaliknya dalam overlapping atau
non-exclusive clustering ,sebuah objek dapat berada di lebih dari satu
cluster secara bersamaan.
3. Fuzzy vs non-Fuzzy
Dalam fuzzy clustering ,sebuah titik termasuk dalam setiap cluster
dengan suatu nilai bobot antara 0 dan 1.jumlah dari bobot-bobot tersebut
sama dengan 1.clustering probabilitas mempunyai karakteristik yang
sama.
4. Partial vs Complete
Dalam complete clustering ,setiap objek ditempatkan dalam sebuah
cluster.Tetapi dalam partial clustering,tidak semua objek ditempatkan
dalam sebuah cluster.kemungkinan ada objek yang tidak tepat untuk
ditempatkan di salah satu cluster,misalkan berupa outlier atau noise.
2.2.2 Pengertian Hierarchical Clustering
Menghasilkan sebuah himpunan dari cluster bersarang sebagai suatu
pohon hirarki.Dapat divisualisasikan sebagai sebuah dendogram,yaitu sebuah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
pohon yang berfungsi sebagai diagram yang mencatat urutan dari penggabungan
atau pemisahan seperti pada gambar berikut :
Ada dua tipe utama hierarchical clustering , yaitu divisive dan agglomerative
(Tan,Steinbach,dkk 2004) :
Agglomerative:
1. Mulai dengan titik-titik sebagai individual clusters.
2. Pada tiap langkah,gabungkan pasangan cluster terdekat sampai hanya
terdapat satu cluster (atau k cluster) yang tersisa
Divisive :
1. Mulai dengan satu,semua inclusive cluster.
2. Pada tiap langkah,pisahkan sebuah cluster sampai tiap cluster terdiri dari
sebuah titik(atau ada k cluster).
Tradisional algoritma hirarikal menggunakan sebuah matriks similaritas atau
matriks jarak dengan menggabungkan atau memisahkan satu cluster dalam tiap
langkahnya.
2.2.3 Konsep Agglomerative Hierarchical Clustering
Beberapa metode hierarchical clustering yang sering digunakan dibedakan
menurut cara mereka untuk menghitung tingkat kemiripan. Ada yang
menggunakan Single Linkage, Complete-linkage, Average-linkage.. Seperti juga
Gambar 2. 2 Pengelompokan cluster dendrogram dan kedekatan data (Tan,Steinbach,dkk 2004)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
halnya dengan partition-based clustering, bisa juga memilih jenis jarak yang
digunakan untuk menghitung tingkat kemiripan antar data.
Salah satu cara untuk mempermudah pengembangan dendogram untuk
hierarchical clustering ini adalah dengan membuat similarity matrix yang memuat
tingkat kemiripan antar data yang dikelompokkan. Tingkat kemiripan bisa
dihitung dengan berbagai macam cara seperti dengan Euclidean distance. Berawal
dari similarity matrix ini, dapat menggunakan lingkage jenis mana yang akan
digunakan untuk mengelompokkan data yang dianalisa.Berikut adalah langkah
dalam pengelompokan dengan agglomerative clutering :
1) Hitung matrix jarak,jika diperlukan
2) Ulangi langkah 3 dan 4,
3) Gabungkan 2 cluster terdekat
4) Kemudian perbarui matrix jarak antara 2 cluster terdekat pada langkah 3
kemudian bentuk cluster baru
5) Sampai hanya tersisa sati cluster(Tan,Steinbach,dkk 2004)
Untuk perhitungan jarak Single-linkage, Complete-linkage dan Average-
linkageseprti pada rumus berikut :
a. Single-linkage merupakan merupakan jarak minimum antara setiap data
terdekat. Metode ini akan mengelompokkan dua objek yang mempunyai
jarak terdekat terlebih dahulu, dapat didefinisikan sebagai berikut :
d(i,j)k = min(dik, djk)
Gambar 2. 3 Perbedaan perhitungan jarak(Tan,Steinbach,dkk 2004)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
(2.3)
Keterangan :
- Jarak terkecil antar kelompok (I,j) dengan k
b. Complete-linkage merupakan merupakan jarak maximum antara setiap
data terdekat, Metode ini akan mengelompokkan dua objek yang
mempunyai jarak terjauh terlebih dahulu, dapat didefinisikan sebagai
berikut :
d(i,j)k = Max(dik, djk)
(2.4)
Keterangan :
- Jarak terbesar antar kelompok (I,j) dengan k
c. Average-linkage merupakan merupakan rata-rata jarak antara setiap data
terdekat. Metode ini mengelompokkan objek berdasarkan jarak rata-
rata yang didapat dengan melakukan rata-rata semua jarak objek terlebih
dahulu. dapat didefinisikan sebagai berikut :
d(i,j)k = Average(dik, djk)
(2.5)
Keterangan :
- Jarak rata-rata antar kelompok (I,j) dengan k
Pada sistem ini menggunakan Single-linkage,Complete-linkage dan
Avarage-Linkage ,dibawah ini adalah contoh data yang belum dihitung jarak
kedekatanya . Dalam penelitian ini menghitung jarak kedekatan dengan Euclidean
distance
Distance = √∑ ( )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
(2.6)
Keterangan :
- n adalah jumlah atribut atau dimensi
- Pk dan Qk adalah data yang akan dihitung jaraknya
Tabel 2. 2 Contoh data
Setelah dihitung jarak antar obyek maka dibuatkan matriks jarak yaitu
memnghitung nilai dari jarak A sampai E dan matriks ini bersifat simetris
Dalam penghitungan jarak kemiripan akan dilakukan 3 cara menghitung
kemiripan :
a. Jarak minimum (SingleLinkage)
Pada Single-linkage kemiripan data dicari dari nilai jarak yang paling
minimum yaitu 11.1803 pada titik 1,4
Nama Berat1 Berat2
1 50 20
2 35 10
3 30 20
4 45 30
5 10 50
Tabel 2. 3 Hasil Euclidean disteance dari contoh data
Tabel 2. 4 pencarian jarak terdekat single iterasi 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Pertama adalah mencari nilai minimum pada matrix kedekatan yang sudah
dihitung menggunakan Euclidean distance ,yaitu 1 dan 4 memiliki nilai minimum
kemudian kedua objek tersebut digabungkan menjadi cluster (14) ,dan objek lain
yang tersisa adalah 2,3 dan 5 .dengan jarak :
Min {2,1 dan 2,4} = 18,0278
Min {3,1 dan 3,4} = 18,0278
Min {5,1 dan 5,4} = 40.3113
Setelah mendapatkan nilai minimalnya hapus objek 1 atau 4 untuk
membentuk 1 cluster baru yaitu (14).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (14).
kedua mencari nilai minimum pada matrix kedekatan antara cluster yang
tersisa yaitu cluster (14)(2)(3) dan (5) didapatkan cluster 2 dan 3 memiliki nilai
minimum dengan nilai 11,1803,kemudian gabungkan menjadi cluster (23) dengan
cluster yang tersisa adalah (14) dan 5 .dengan jarak :
Min {(14),2 dan (14),3} = 18,0278
Min {5,2 dan 5,3} = 36.0555
Setelah mendapatkan nilai minimalnya hapus objek 2 atau 3 untuk
membentuk 1 cluster baru yaitu (23).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (23).
Tabel 2. 5 Hasil pencarian jarak terdekat single iterasi 1
Tabel 2. 6 Pencarian jarak terdekat single iterasi 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
ketiga mencari nilai minimum pada matrix kedekatan antara cluster yang
tersisa yaitu cluster (14)(23) dan (5) didapatkan cluster (14) dan (23) memiliki
nilai minimum dengan nilai 18,0278,kemudian gabungkan menjadi cluster (1423)
dengan cluster yang tersisa adalah 5 .dengan jarak :
Min {(1423),5 dan (1423),5} = 36.0555
Setelah mendapatkan nilai minimalnya hapus objek 14 atau 23 untuk
membentuk 1 cluster baru yaitu (1423).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (1423).
Setelah terbentuk menjadi 2 cluster kita dapat menggambarkan
dendogramnya sebagai berikut :
Tabel 2. 7 Hasil pencarian jarak terdekat single iterasi 2
Tabel 2. 8 Pencarian jarak terdekat single iterasi 3
Tabel 2. 9 Hasil cluster single-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Cluster 1 dan 4 adalah cluster yang terbentuk pertama , kemudian pada 2
dan 3 adalah pembentukan cluster ke 2 , kemudian pada pembentukan cluster
ketiga cluster 14 dan 23 bergabung menjadi cluster 1423 , kemudian tersisa
cluster 5 yang otomatis menjadi cluster terakhir dan bergabung bersama cluster
1423 menjadi 1 cluster utuh yaitu 14235, untuk melihat pembagian cluster kita
dapat melakukan cut-off pada dendogram.
b. Jarak Maximum (CompleteLinkage)
Pertama adalah mencari nilai minimum pada matrix kedekatan yang sudah
dihitung menggunakan Euclidean distance ,yaitu 1 dan 4 memiliki nilai minimum
kemudian kedua objek tersebut digabungkan menjadi cluster (14) ,dan objek lain
yang tersisa adalah 2,3 dan 5 .dengan jarak :
Max {2,1 dan 2,4} = 22.3607
Max {3,1 dan 3,4} = 20
Gambar 2. 4 Hasil dendrogram untuk cluster single-linkage
Tabel 2. 10 Pencarian jarak terdekat complete iterasi 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Max {5,1 dan 5,4} = 50
Setelah mendapatkan nilai minimalnya hapus objek 1 atau 4 untuk
membentuk 1 cluster baru yaitu (14).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (14).
kedua mencari nilai minimum pada matrix kedekatan antara cluster yang
tersisa yaitu cluster (14)(2)(3) dan (5) didapatkan cluster 2 dan 3 memiliki nilai
minimum dengan nilai 11,1803,kemudian gabungkan menjadi cluster (23) dengan
cluster yang tersisa adalah (14) dan 5 .dengan jarak :
Max {(14),2 dan (14),3} = 22.3607
Max {5,2 dan 5,3} = 471699
Setelah mendapatkan nilai minimalnya hapus objek 2 atau 3 untuk
membentuk 1 cluster baru yaitu (23).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (23).
Tabel 2. 11 Hasil pencarian jarak terdekat complete iterasi 1
Tabel 2. 12 Pencarian jarak terdekat complete iterasi 2
Tabel 2. 13 Pencarian jarak terdekat complete iterasi 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
ketiga mencari nilai minimum pada matrix kedekatan antara cluster yang
tersisa yaitu cluster (14)(23) dan (5) didapatkan cluster (14) dan (23) memiliki
nilai minimum dengan nilai 18,0278,kemudian gabungkan menjadi cluster (1423)
dengan cluster yang tersisa adalah 5 .dengan jarak :
Max {(1423),5 dan (1423),5} = 50
Setelah mendapatkan nilai minimalnya hapus objek 14 atau 23 untuk
membentuk 1 cluster baru yaitu (1423).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (1423).
Setelah terbentuk menjadi 2 cluster kita dapat menggambarkan
dendogramnya sebagai berikut :
Tabel 2. 14 Hasil pencarian jarak terdekat complete iterasi 3
Tabel 2. 15 Hasil cluster complete-linkage
Gambar 2. 5 Hasil dendrogram untuk cluster single-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Cluster 1 dan 4 adalah cluster yang terbentuk pertama , kemudian pada 2
dan 3 adalah pembentukan cluster ke 2 , kemudian pada pembentukan cluster
ketiga cluster 14 dan 23 bergabung menjadi cluster 1423 , kemudian tersisa
cluster 5 yang otomatis menjadi cluster terakhir dan bergabung bersama cluster
1423 menjadi 1 cluster utuh yaitu 14235, untuk melihat pembagian cluster kita
dapat melakukan cut-off pada dendogram.
c. Jarak Rata-Rata (AverageLinkage)
Pertama adalah mencari nilai minimum pada matrix kedekatan yang sudah
dihitung menggunakan Euclidean distance ,yaitu 1 dan 4 memiliki nilai minimum
kemudian kedua objek tersebut digabungkan menjadi cluster (14) ,dan objek lain
yang tersisa adalah 2,3 dan 5 .dengan jarak :
Average {2,1 dan 2,4} = 20,1942
Average {3,1 dan 3,4} = 19,0139
Average {5,1 dan 5,4} = 45.5155
Setelah mendapatkan nilai minimalnya hapus objek 1 atau 4 untuk
membentuk 1 cluster baru yaitu (14).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (14).
Tabel 2. 16 Pencarian jarak terdekat average iterasi 1
Tabel 2. 17 Hasil pencarian jarak terdekat average iterasi 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
kedua mencari nilai minimum pada matrix kedekatan antara cluster yang
tersisa yaitu cluster (14)(2)(3) dan (5) didapatkan cluster 2 dan 3 memiliki nilai
minimum dengan nilai 11,1803,kemudian gabungkan menjadi cluster (23) dengan
cluster yang tersisa adalah (14) dan 5 .dengan jarak :
Average {(14),2 dan (14),3} = 19,604
Average {5,2 dan 5,3} = 41.6127
Setelah mendapatkan nilai minimalnya hapus objek 2 atau 3 untuk
membentuk 1 cluster baru yaitu (23).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (23).
ketiga mencari nilai minimum pada matrix kedekatan antara cluster yang
tersisa yaitu cluster (14)(23) dan (5) didapatkan cluster (14) dan (23) memiliki
nilai minimum dengan nilai 18,0278,kemudian gabungkan menjadi cluster (1423)
dengan cluster yang tersisa adalah 5 .dengan jarak :
Average {(1423),5 dan (1423),5} = 43.384
Tabel 2. 18 Pencarian jarak terdekat average iterasi 2
Tabel 2. 19 Hasil pencarian jarak terdekat average iterasi 2
Tabel 2. 20 Pencarian jarak terdekat average iterasi 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Setelah mendapatkan nilai minimalnya hapus objek 14 atau 23 untuk
membentuk 1 cluster baru yaitu (1423).maka akan menjadi table seperti di bawah
dengan cluster baru yaitu (1423).
Setelah terbentuk menjadi 2 cluster kita dapat menggambarkan
dendogramnya sebagai berikut :
Cluster 1 dan 4 adalah cluster yang terbentuk pertama , kemudian pada 2
dan 3 adalah pembentukan cluster ke 2 , kemudian pada pembentukan cluster
ketiga cluster 14 dan 23 bergabung menjadi cluster 1423 , kemudian tersisa
cluster 5 yang otomatis menjadi cluster terakhir dan bergabung bersama cluster
1423 menjadi 1 cluster utuh yaitu 14235, untuk melihat pembagian cluster kita
dapat melakukan cut-off pada dendogram.
Tabel 2. 21 Hasil cluster average-linkage
Gambar 2. 6 Hasil dendrogram untuk cluster average-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
2.3 Dimensionality Reduction
Dimensionality Reduction adalah sebuah proses untuk mengurangi dimensi
daa dari data yang berdimensi besar menjadi data yang berdimensi kecil.Ada dua
teknik dalam Dimensionality Reduction ini,yaitu feature selection dan feature
extraction .Feature selection adalah memilih feature yang berpengaruh untuk data
tersebut yang diambil dari sekumpulan data asli. Dalam Feature extraction
membentuk sebuah feature baru berdasarkan feature yang lama dengan dimensi
lebih sedikit dibandingkan dengan sebelumnya.
Metode yang digunakan adalah PCA(principal component analysis).Tujuan
dari principal component analysis adalah suatu teknik statistik untuk mengubah
dari sebagian besar variabel asli yang digunakan dan saling berkorelasi satu
dengan yang lainnya menjadi satu set variabel baru yang lebih kecil dan tidak
berkorelasi (Web 1). Setiap 4 pengukuran multivariat (atau observasi), komponen
utama merupakan kombinasi linier dari variabel p awal. Tujuan utama analisis
komponen utama ialah untuk mengurangi dimensi peubah-peubah yang saling
berhubungan dan cukup banyak variabelnya sehingga lebih mudah untuk
menginterpretasikan data-data tersebut (Johnson dan Wichern, 2002). Metode
yang digunakan yaitu menentukan komponen utama dengan melakukan alih
ragam orthogonal atau membentuk kombinasi linier Y A' X (Sumarga, 1996).
Dari sini akan dipilih beberapa komponen utama yang dapat memberikan
sebagian besar keragaman total data semula.Berikut adalah cara kerja principal
component analysis :
1. Hitung rata-rata setiap data (scaling)
2. Hitung covariance matrix dari kumpulan data matrix.
3. Hitung eigenvector dan eigenvalue dari covariance matrix.
4. Pilih component dan bentuk vector feature dan ambil principal component
dari eigenvector yang memiliki eigenvalue paling besar
5. Menurunkan data set yang baru.(Smith,2002).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
2.4 Permainan DOTA 2
DOTA 2 adalah game yang sudah dimodifikasi yang awalnya bernama
World of Warcraft yang dibuat oleh Blizzard (Kurniawan,Iqbal dkk 2016).
DOTA atau defense of the ancient diciptakan pertama kali sebagai mod di
Warcraft 3. Kebanyakan hero di DOTA pun sebenarnya terinspirasi dari hero-hero
di game warcraft. Lalu munculah ide dari icefrog untuk membangun game DOTA
sendiri, dan akhirnya dibuat dengan kerjasama valve menjadi game dengan engine
source bernama DOTA2.
Jadi sebenarnya DOTA 2 dengan DOTA tidak jauh berbeda, hero-hero di
DOTA 2 pun berasal dari DOTA. DOTA 2 adalah permainan real time strategy,
dan harus memilih suatu karakter atau hero dari banyak hero. Perlu diketahui di
DOTA 2 hanya akan mengontrol satu hero atau unit, namun beberapa hero bisa
membuat beberapa unit juga, tapi umumnya hanya mengontrol satu hero dan tidak
perlu mengontrol unit lebih dari 10 (Newell,Gabe dkk). Tujuan utama di DOTA 2
sebenarnya adalah menghancurkan ancient musuh, apabila ancient musuh hancur
maka tim akan menang. Di DOTA 2 ada banyak hal yang harus cepat untuk
dicapai, misalnya level dan item, semakin tinggi level atau semakin bagus item
maka hero yang anda gunakan akan semakin kuat. Terdapat 108 hero dari game
ini dengan pembagian kasta yaitu strength,agility dan intelligence seperti gamber
berikut :
Gambar 2. 7 Hero-hero pada DOTA 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Sebagian besar Support berada pada intelligence tapi tidak semua bisa
dijadikan Support tergantung pada situasi saat pertandingan oleh karena itu
penelitian ini akan mencoba memisahkan antara Support ,Carry dan Hard-support
dari hasil pertandingan tersebut .
Permainan ini sangat menarik jika dijadikan penelitian karena selain game
online favorit , game ini juga dapat menghasilkan penghasilan yang tidak main-
main untuk Turnamen International yang diadakan Agustus 2016 yang lalu
mencapai 20.000.000 dollar.Untuk penelitian tentang DOTA 2 ini belum pernah
dilakukan sebelumnya karena saya menggunakan data pertandingan ,yang sudah
melakukan penelitian tentang DOTA 2 adalah hanya menganalisa jenis
hero.Sedangkan yang akan dijadikan dalam penelitian ini adalah hasil
pertandingan yang mana terdapat atribut level,GMP(Gold Per
Minute),XPM(Experience Per Minute),Networth,dll.Dalam Penelitian ini hanya
terbatas pada meneliti jenis peran yang ter cluster yaitu Carry,Support, atau Hard-
support.Berikut ini beberapa penjelasan tentang ketiga peran yang akan diteliti
dalam penelitian ini :
a. Carry
Peran yang satu ini memang cukup sulit, apalagi jika anda bukan tipe yang
bisa melakukan banyak last hit pada laning phase.Karena Carry
membutuhkan banyak gold untuk bisa berguna di mid late game. Carry
seperti namanya memang mampu membawa tim menuju kemenangan, dan
ini akan membuat tim musuh mengincar Carry terlebih dahulu. Dalam game
DOTA 2 tim lawan akan mencari counter yang mencegah seorang Carry
memiliki uang banyak.
b. Support
Peran Support bisa dibilang sangat penting karena seorang Support memiliki
skill yang dapat membantu timnya menuju kemenangan , Support sendiri
dibagi menjadi beberapa jenis yaitu Tanker,Nuker,Pusher dan lain-lain. Para
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Support bergantian dengan Hard-support untuk membeli item-item Support
seperti ward, dust, dan lain-lain. Selain itu Hero Posisi peran ini juga
biasanya dapat farming di hutan, atau juga bisa membantu Carry untuk
creep stacking.
c. Hard-support
Kebanyakan player baru sering meremehkan role ini karena mereka
beranggapan bahwa Hard-support hanya bertugas membantu tim saja.
Padahal itu adalah anggapan yang salah. Seorang Hard-support tidak
membutuhan uang sebanyak Carry dan dia mampu melakukan early kill dan
bahkan mengganggu Carry tim lawan. Biasanya seorang Hard-support yang
baik mampu membuat Carry mendapatkan uang yang banyak dengan
mengamankannya saat laning phase dan mencegah Carry agar tetap aman
dari tim lawan.
2.5 Pengujian Keakuratan Metode
Untuk menguji apakah metode ini memiliki hasil yang valid maka
diperlukan pengujian untuk mengetahui keakuratan metode.Pada clustering
sendiri pengujian keakuratan dapat dibagi menjadi 3 cara pendekatan untuk
melihat keakuratannya yaitu external test,internal test dan relative test.
d. External test
adalah pengujian atau mengukur sjauh mana label pada cluster cocok
dengan hasil cluster pada sistem .dalam external test contohnya
menggunakan confusion matrix,entropy dan purity, adapun rumus dalam
mencari confusion matrix sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Keterangan :
a dan d = jumlah benar setiap cluster
b dan c = cluster yang salah
a,b,c dan d = jumlah data keseluruhan
Akurasi = (Jumlah benar setiap clusteratauJumlah data )*100%
e. Internal test
adalah pengujian tanpa informasi dari luar cluster yang digunakan untuk
melihat kualitas dari cluster tersebut .Dalam penggunaanya pada internal
test yaitu cluster separation dan cluster cohesion(jain dan dubes dkk1988).
a) Cluster cohesion adalah jumlah dari lebar semua link yang ada di
dalam cluster.Cohesion adalah pengukuran di dalam cluster dengan
sum of square(SSE)
b) Cluster separation adalah pengukuran antara cluster dengan sum of
square
f. Relative test
pada metode ini digunakan pengukuran internal index dan external index
dengan SSE atau entropy , penyelesaian cluster yang berbeda dengan
algoritma yang sama dengan parameter berbeda pula.
Dalam mencari keakuratan metode penelitian , penulis menggunakan
external test dengan menggunakan clustering yang sudah ada kemudian
dibandingkan dengan hasil cluster dari metode Agglomerative Hiearchical
clustering,kemudian dapat melihat tingkat akurasi yang didapat dengan label yang
sudah tersedia .Setelah itu dapat dilihat manakah clustering yang terbaik
akurasinya.
Tabel 2. 22 Tabel kebenaran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
BAB 3
METODOLOGI PENELITIAN
Pada bab ini akan dijelaskan bagaimana metode pengelompokan bekerja pada
sistem serta dijelaskan pula desain penelitian ,analisa kebutuhan
proses,implementasi perancangan ,penjelasan proses dan desain antar muka (user
interface)
3.1 Gambaran Umum
Pembuatan sistem pengelompokan pemain dengan metode Agglomerative
Hiearchical Clustering (AHC) untuk menguji apakah metode ini bagus untuk data
pertandingan DOTA 2 , berikut sistem yang akan dibangun oleh penulis dalam
bentuk diagram blok
Data pada penelitian ini adalah data pertandingan international DOTA 2
yang didapatkan dari setiap akhir pertandingannya , kemudian membuatnya
menjadi data numeric dan akan dicluster menggunakan agglomerative hierarchical
clustering dengan 3 cara yaitu single(minimal), complete(maximal)
,average(mean) setelah mendapatkan hasil akan menampilkan cluster dan akurasi.
Gambar 3. 1 Diagram Blok
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
3.2 Desain Penelitian
Dalam penelitian ini terdapat 3 tahapan yang penulis buat yaitu studi
literatur untuk informasi data,pengumpulan data, dan juga merancang alat uji .
Berikut adalah penjelasan tentang ketiganya :
3.2.1 Studi Literatur
Studi literatur dilakukan untuk mendapatkan informasi tentang data yang
digunakan dalam penelitian seperti mengamati pertandingan dalam turnamen
DOTA 2 setiap eventnya yang berjalan pada tahun 2016.
3.2.2 Pengumpulan Data
Dalam mengumpulkan data pertandingan DOTA 2 penulis melihat hasil
pertandingan dalam event yang diadakan pada tahun 2016 .Dalam pengumpulan
data terdapat 3 tahap dalam mendapatkan data sehingga dapat diolah sebagai
berikut :
Tahap 1 Mengumpulkan Data Pertandingan
Pada tahap ini data pertandingan yang diambil adalah random dari tim
profesional yang bertanding pada turnamen international 2016 dan data tidak
mengambil dari tim biasa dikarenakan tidak adanya pembagian peran seperti tim
besar yang sudah memiliki manajemen permainan bagus.Data diambil dalam
game DOTA 2 yang sudah bertanding , dalam setiap pertandingan besar
international data tersimpan di dalam game dan dapat dilihat rekap pertandingan
serta replaynya oleh pengguna yang ingin menonton ulang.Setelah mendapatkan
data berupa gambar kemudian tahap selanjutnya adalah melakukan masukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
kedalam bentuk excel secara manual dari data gambar yang sudah di
dapatkan.Data terkumpul sebanyak 300 data dengan 14 atribut , dimana atribut
tambahan terdapat 4 atribut yaitu CARRY_ITEM, SUPPORT_ITEM,
HARD_SUPPORT_ITEM dan NORMAL_ITEM.Atribut ini menjelaskan seorang
pemain ap[akah dia memiliki item sebagaimana peran yang ia bawa atau
tidak.Dalam pengisian di dalam excel dilihat dari gambar apakah ada item-item
tersebut atau tidak, jika ada di beri nilai 1 dan jika tidak ada diberi nilai 0.
Tabel 3. 1 Penjelasan atribut data
No Atribut Penjelasan
1 KILL adalah jumlah dimana hero mampu
menghabisi hero lawan sampai jumlah HP
hero musuh menjadi 0.
2 DEATH Adalah jumlah dimana jumlah HP hero
menjadi 0 atau mati dikarenakan hero
musuh menghabisi hero kita.
3 ASSIST Adalah jumlah hero dalam kontribusi
Gambar 3. 2 Hasil pertandingan DOTA 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
membunuh hero lawan sebelum hero
lawan jumlah HP nya menjadi 0 atau mati.
4 NETWORTH Adalah jumlah gold yang mampu
dikumpulkan seorang pemain dalam satu
pertandingan
5 LEVEL Adalah sebuah pencapaian setiap level
naik maka setiap hero memiliki
kemampuan khusus untuk menaikan
skillnya
6 LAST HIT Adalah jumlah seorang pemain melakukan
last hit atau sentuhan terakhir sebelum
creep(monster hutan atau monster yang
muncul 30 detik sekali ) digunakan untuk
mendapatkan gold lebih ketika melakukan
last hit .
7 DENIED Adalah jumlah seorang membunuh creep
(monster hutan atau monster yang muncul
30 detik sekali ) sendiri agar musuh tidak
melakukan last hit dan menghambat
musuh mendapatkan gold.
8 GOLD PER MINUTE Adalah jumlah rata-rata pendapatan gold
setiap hero sampai akhir pertandingan
9 EXPERIENCE PER
MINUTE
Adalah jumlah rata-rata experience setiap
hero sampai akhir pertandingan
,experience digunakan untuk menaikan
level.
10 DAMAGE Dalah jumlah serangan yang masuk
kepada hero musuh.
11 CARRY ITEM Adalah jumlah item yang biasa digunakan
oleh hero Carry
12 SUPPORT ITEM Adalah jumlah item yang biasa digunakan
oleh hero Support
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
13 HARD-SUPPORT ITEM Adalah jumlah item yang biasa digunakan
oleh hero Hard-support
14 NORMAL ITEM Adalah jumlah item standar yang biasa
digunakan oleh hero
Dalam setiap tim professional yang bertanding peran setiap pemain sudah
ditentukan , dalam setiap tim pada pertandingan DOTA 2 minimal memiliki 2
orang pemain dengan peran Carry ,2 orang pemain dengan peran Support dan 1
orang sebagai Hard-support.Pada data yang diambil adalah data pertandingan
profesional DOTA 2 yang berlangsung pada tahun 2016 ,tidak hanya pada satu
event saja dalam pengambilan data akan tetapi seluruh event internationl
khususnya pemain profesional pada tahun 2016.
Tahap 2 Import data ke Excel
Setelah mendapatkan data dalam game DOTA 2 kemudian memasukan
data numerik yang ada di gambar dengan cara manual kedalam excel ,serta
memasukan juga slot item apakah item yang dibeli dalam record pertandingan itu
adalah item Support,Carry atau Hard-support .
Tahap 3 Pelabelan Cluster Data
Dalam membuat label class dalam penelitian ini penulis mencari label
dengan tingkat akurasi tertinggi yang akan dijadikan label , dalam contoh pada
normalisasi Z-score peran Carry ada di label 1 atau cluster 1 , ketika normalisasi
MinMax peran Carry dengan akurasi tinggi terdapat dilabel 2 atau cluster 2 .Jadi
dalam pelabelan ini mengikuti hasil dendrogram yang dihasilkan agar
mendapatkan akurasi yang terbaik.Dimana label ini akan digunakan untuk
membandingan dengan hasil cluster yang dihasilkan untuk menemukan akurasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
3.2.3 Perancangan Alat Uji
Dalam penelitian ini penulis menggunakan metodologi waterfall dimana
metode waterfall adalah suatu proses pengembangan perangkat lunak berurutan,
di mana kemajuan dipandang sebagai terus mengalir ke bawah seperti air terjun
melewati fase-fase perencanaan, pemodelan, implementasi(konstruksi), dan
pengujian.
a. Analisa Kebutuhan Pengguna (User Requierment)
Tahap pertama ini adalah sebuah tahap yang dibutuhkan oleh pengguna
untuk menyelesaikan masalah dengan adanya alat uji yang sudah dibuat dalam
penelitian ini,dengan kata lain tahap ini kebutuhan pengguna untuk menyelesaikan
masalah dengan adanya alat uji . Berikut adalah kebutuhan pengguna dalam
menyelesaikan masalah :
- Melihat hasil pengelompokan (cluster)
- Melihat hasil akurasi confusion matrix
b. Analisa Kebutuhan Sistem (Sistem Requierment)
Tahap requirement atau spesifikasi kebutuhan sistem adalah analisa
kebutuhan sistem yang dibuat dalam bentuk yang dapat dimengerti oleh user.
Dalam tahap ini klien atau pengguna menjelaskan segala kendala dan tujuan serta
mendefinisikan apa yang diinginkan dari sistem.
c. Desain (Design)
Tahap selanjutnya adalah desain, dalam tahap ini pengembang akan
menghasilkan sebuah arsitektur sistem secara keseluruhan, dalam tahap ini
menentukan alur perangkat lunak hingga pada tahapalgoritma yang detil.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
d. Pengkodean (Coding)
Pengkodean adalah tahap dimana perancangan diterjemahkan kedalam
sebuah bahasa mesin pada komputer,kemudian menghasilkan sebuah alat uji yang
digunakan untuk melihat apakah metode memiliki akurasi yang bagus atau tidak.
e. Pengujian (Testing)
Pada tahap terakhir adalah tahap pengujian untuk menguji apakah sistem uji
ini sudah mampu memenuhi kebutuhan pengguna .
3.3 Analisa Kebutuhan Proses
Dalam penelitian ini terdapat 2 tahap penting yaitu
pengelompokan(cluster) dan pengujian(testing).Pengelompokan bertujuan untuk
melihat apakah 3 peran sudah dapat dikelompokan dengan baik yang kemudian
dari masing-masing peran diambil yang terbaik dengan menampilkan id sang
pemain dan pengujian digunakan untuk menguji seberapa akurat metode yang
digunakan dalam penilitian ini mampu mengelompokan data dengan baik. Proses
pengujian dan pengelompokan dapat dilihat pada gambar diagram blok dibawah .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3. 2 Diagram blok proses clustering
Gambar 3. 3 Diagram blok proses perhitungan akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
3.4 Implementasi Perancangan
3.4.1 Diagram Konteks
Pada Gambar 3.6 di atas merupakan gambar diagram konteks atau bisa
disebut juga sebagai data flow diagram level 0.Diagram ini merupakan level
tertinggi dari data flow diagram .Diagram ini menjelaskan ruang linkgup dari
sebuah alat uji yang akan dibangun.Terdapat salah satu proses besar pada diagram
konteks tersebut yaitu proses clustering data pertandingan DOTA 2 dengan
menggunakan Hierarchical Agglomerative Clustering.Pada diagram konteks
terdepat seorang pengguna(User) sebagai pemberi input saat memilih sebuah
normalisasi dan metode clustering ,yang kemudian sistem akan menampilkan
hasil cluster beserta dengan hasil akurasinya.
Gambar 3. 5 Diagram konteks proses clustering
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
3.4.2 Data Flow Diagram Level 1
Gambar 3. 6 Diagram DFD level 1
Pada Gambar 3.7 di atas merupakan gambar data flow diagram level
1,diagram ini merupakan pecahan dari diagram konteks.terddepat user sebegai
external entity,300 data peran pemain dari pertandingan DOTA 2.
Proses pertama user memberikan pilihan dalam proses preprocesing yaitu
akan menggunakan data asli ,normalisasi zscore atau normalisasi minmax setelah
melakukan pilihan tersebut user juga akan memilih jenis metode cluster single-
linkage,complete-linkage atau average-linkage.
Proses kedua user hanya menekan tombol cluster dan simpan dengan
otomatis sistem akan memproses cluster kemudian akan menampilkan hasil dari
cluster dan akurasi dari cluster tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
3.4.3 Data Flow Diagram level 2
DFD Level 2 no 1 Preprocessing
Pada Gambar 3.8 di atas merupakan data flow diagram level 2 untuk proses
preprocesing.Pada diagram di atas terdapat 3 proses yaitu proses pertama adalah
menghitung normalisasi untuk zscore , kemudian yang kedua adalah menghitung
normalisasi untuk minmax dan proses terakhir adalah data reduksi dengan
menggunakan PCA.Setelah semua data melewati proses tersebut data disimpan
dalam bentuk excel kemudian akan diproses pengelompokan dengan Hierarchical
Agglomerative Clustering.
Gambar 3. 7 Diagram DFD level 2 untuk preprocesing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
DFD Level 2 no 2 Clustering dan Akurasi data pertandingan
Pada Gambar 3.9 adalah proses akhir dari sebuah clustering dimana akan
menampilkan hasil akurasi serta dendrogram.Terdapat 4 proses dalam data flow
diagram level 2 untuk clustering dan akurasi.Yang pertama setelah melewati
proses preprocesing kemudian data akan dihitung jarak antara data dengan metode
perhitungan jarak euclidean distance .Proses kedua adalah menghitung cluster
single-linkage dengan menggunakan matriks jarak yang sudah didapatkan . Proses
ketiga adalah menghitung cluster complete-linkage dengan menggunakan matriks
jarak yang sudah didapatkan. Proses ketiga adalah menghitung cluster average-
Gambar 3. 8 Diagram DFD level 2 untuk clustering data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
linkage dengan menggunakan matriks jarak yang sudah didapatkan.kemudian
proses terakhir atau proses keempat adalah proses perhitungan akurasi dengan
berdasarkan cluster yang terbentuk dan dendrogram yang terbentuk.
3.5 Penjelasan Proses
3.5.1 Baca Data
Setelah data dimasukan kedalam excel dan melewati tahap knowledge
discovery in database data siap digunakan dalam proses selanjutnya yaitu pre-
processing .Dalam sebuah pertandingan seorang Carry diwajibkan memiliki
Gold-Per-Minute (GPM) yang tinggi karena dibutuhkan untuk membeli item atau
barang yang menunjang kemenangan tim tersebut.
3.5.2 Pre-processing
Setelah data siap maka proses selanjutnya adalah melakukan preprocessing
pada data.terdapat 2 tahap Pre-processing sebelum data digunakan yaitu
transformasi data dengan Z-score dan MinMax terhadap 300 data
pertandingan.Selain transformasi data juga akan diuji menggunakan
PCA(Principal component analysis) untuk menguji apakah akurasi dapat lebih
besar atau sebaliknya.Bagi yang memilkiki peran Carry NETWORTH menjadi
sangat penting karena dalam tim Carry diwajibkan memiliki item progres yang
cepat , kemudian seroang Carry juga harus memiliki LAST_HIT yang banyak dan
juga KILL yang banyak. Sangat berbeda dengan yang berperan sebagai Support
dan Hard-support dalam peran ini harus merelekan item mereka demi seorang
Carry agar Carry menjadi kuat dengan kata lain Carry menjadi prioritas
utama.Dalam data terdapat atribut DAMAGE dimana atribut ini sangat tidak
berpengaruh terhadap proses cluster karena DAMAGE adalah besar serangan
yang masuk kedalam musuh seroang Support bisa saja memiliki DAMAGE yang
besar karena skill yang dia miliki oleh karena itu atribut ini menggunakan
normalisasi [0-1] agar tidak merusak proses clustering data berdasarkan proses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
dalam permainan.sedangkan NETWORTH ,GOLD_PER_MINUTE dan
EXPERIENCE_PER_MINUTE menggunakan normalisasi [0-471] karena dari
ketiga atribut itu sangat tergantung pada LAS_HIT .Berikut adalah tahap-tahap
normalisasi :
a) Langkah-langkah function MinMax
1. Proses cut data pada data pertandingan DOTA 2 profesional 2016
pemotongan hanya pada atribut 4,8,9 dan 10.
2. Simpan data cut menjadi satu dalam bentuk excel dengan nama
DATA_CUT_NORMALISASI.xlsx.
3. Kemudian membuat data yang tidak di-cut dalam proses di atas
menjadi 1 dengan nama DATA_CUT_SISA_NORMALISASI.xlsx
4. Mengambil nilai dari data cut minmax ,kemudian menentukan nilai
minimal dan maksimal yang baru untuk dipakai dalam perhitungan.
5. Menghitung rumus minmax yaitu minmax=(dataAwalcut-
nilai_max_baru)*( nilai_max_baru - nilai_min_baru)/( nilai_max-
nilai_min)+ nilai_max
6. Kemudian data hasil perhitungan dengan rumus tersebut digabungkan
dengan data sisa hasil cut kemudian dijadikan menjadi satu file excel
untuk diolah dengan nama
DATA_FINAL_HASIL_NORMALISASI.xlsx
b) Zscore menggunkan fungsi pada matlab
%data zscore zscoredata=zscore(dataAwal);
c) Langkah-Langkah Perhitungan PCA
1. membuat matriks x dengan cara mengurangi rata2 setiap dimensi pada
matriks
2. menghitung nilai covarience dari matriks x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
3. menghitung eigenvector dan eigenvalue dari covariance matrix.
4. Pilih komponen dan bentuk vector feature dan principal component
dari eigenvector yang memiliki eigenvalue paling besar diambil
(decreasing order).
5. menurunkan satu set data baru
6. kemudian memasukan jumlah PCA yang digunakan dalam
pemotongan data.
3.5.3 Pengukuran Jarak
Setelah proses Pre-processing selesai dilakukan langkah selanjutnya
adalah pengukuran jarak dengan menggunakan salah satu metode yang
ada.Seperti yang sudah dijelaskan sebelumnya dalam penelitian ini menggunakan
Euclidean distance.
3.5.4 Clustering
Ssetelah mendapatkan data matriks dari hasil pengukuran jarak kemudian
akan masuk kedalam tahap clustering atau pengelompokan untuk mengelompokan
peran-peran berdasarkan data pertandingan yang sudah diproses.Data
pertandingan akan diukur kemiripannya dengan agglomerative hierarchical
clustering dengan metode single-linkage(jarak minimum),Complete-linkage(jarak
maximum),Average-linkage(jarak rata-rata).Dari hasil clustering yang telah
Tabel 3. 21 contoh matrix data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
terbentuk kemudian menggambarkan sebuah dendrogram agar sebuah cluster
dapat terlihat dengan mudah akan masuk dalam kelompok mana saja.
a. Single-linkage
Pengukuran jarak menggunakan single-linkage adalah mengukur jarak
minimal antara setiap elemen data.Dari matriks jarak di atas 3 dan 4 adalah
jarak terdekat kemudian pasangkan objek 3 dan 4 menjadi 1 cluster
dengan data minimal.Hasil jarak baru membentuk matriks jarak baru dan
kemudian dilanjutkan hingga tersisa 1 cluster.hasil dendrogramnya
sebagai berikut :
b. Complete-linkage
Pengukuran jarak menggunakan complete-linkage adalah mengukur jarak
minimal antara setiap elemen data.Dari matriks jarak di atas 3 dan 4 adalah
jarak terdekat kemudian pasangkan objek 3 dan 4 menjadi 1 cluster
dengan data minimal.Hasil jarak baru membentuk matriks jarak baru dan
kemudian dilanjutkan hingga tersisa 1 cluster.hasil dendrogramnya
sebagai berikut :
Gambar 3. 94 contoh dendrogram single-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
c. Average-linkage
Pengukuran jarak menggunakan complete-linkage adalah mengukur jarak
rata-rata antara setiap elemen data.Dari matriks jarak di atas 3 dan 4 adalah
jarak terdekat kemudian pasangkan objek 3 dan 4 menjadi 1 cluster
dengan data minimal.Hasil jarak baru membentuk matriks jarak baru dan
kemudian dilanjutkan hingga tersisa 1 cluster.hasil dendrogramnya
sebagai berikut :
Gambar 3. 50 contoh dendrogram complete-linkage
Gambar 3. 61 contoh dendrogram average-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
3.5.5 Perhitungan Akurasi Confusion Matrix
Setelah dendrogram ditampilkan selanjutnya adalah menguji apakah hasil
clustering tersebut mendapatkan akurasi yang diinginkan atau tidak.Tabel
perhitungan akurasi adalah sebuah tabel evaluasi cluster untuk mengetahui
keakuratan agglomerative hierarchical clustering untuk mengelompokan peran
pemain DOTA 2.Perhitungan ini membandingkan hasil pengelompokan denagn
data asli , perlunya menghitung akurasi adalah untuk mengetahui seberapa bagus
metode ini dapat mengelompokan peran pemain dengan baik.
Tabel 3. 32 Tabel evaluasi confusion matrix
Akurasi =
X 100%
=
X 100% = 80%
Cluster
Peran
1
2
3
Carry 1 0 0
Hard-support 0 2 1
Support 0 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
3.6 Perancangan Antar Muka Alat Uji
Gambar 3. 14 User interface alat uji
Dalam sebuah perancangan sistem atau membuat alat uji user interface
sangat penting karena menghubungkan suatu sistem dengan pengguna ,dimana
dalam sistem ditanamkan sebuah metode clustering agglomerative untuk menguji
apakah metode ini baik dalam menemukan akurasi dengan data pertandingan
DOTA 2 .Pada antar muka diatas terdapat 2 proses penting akan tetapi dijadikan
menjadi 1 tombol dimana tombol cluster akan memproses cluster sekaligus
mencari tingkat akurasi cluster Single-linkage,Complete-linkage dan juga
Average-linkage .Berikut penjelasan check box dan tombol yang tersedia pada
antar muka di atas :
Tabel 3. 4 Penjelasan fungsi user interface alat uji
No Nama Fungsi
1 Checkbox data asli Untuk menampilkan data asli dari data
pertandingan DOTA 2 profesional
2016
2 Checkbox Z-score Untuk menampilkan data hasil
normalisasi Z-score dari data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
pertandingan DOTA 2 profesional
2016
3 Checkbox MinMax Untuk menampilkan data hasil
normalisasi MinMax dari data
pertandingan DOTA 2 profesional
2016
4 Checkbox Complete-
linkage
Untuk memilih jenis clustering dengan
metode Complete-linkage
5 Checkbox Average-linkage Untuk memilih jenis clustering dengan
metode Average-linkage
6 Checkbox single linkage Untuk memilih jenis clustering dengan
metode single linkage
7 Checkbox PCA Untuk memilih akan menggunakan
PCA atau tidak
8 Textfield PCA Memasukan jumlah pemotongan
feature yang diingankan
9 Tabel data Menampilkan data agar dapat dilihat
user
10 Graph hasil cluster Menampilkan dendrogram hasil dari
clustering yang telah dipilih
11 Tabel confusion matrix Menampilkan hasil confusion matrix
dari clustering
12 Tabel jumlah cluster Menampilkan jumlah setiap cluster
13 Kolom akurasi Menampilkan hasil akurasi dari sebuah
cluster dengan menghitung hasil benar
dibagi jumlah data
14 Graph perbandingan
cluster
Menampilkan hasil perbandingan
cluster 1, 2 dan 3
15 Tombol cluster dan simpan Memproses cluster yang sudah di pilih
normalisasi , metode clusterny dan
menggunakan PCA atau tidak , serta
menyimpan data kedalam txt
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
16 Submenu file
17 Submenu help
3.7 Spesifikasi Hardware dan Software
Pada tahap implementasi spesifikasi hardware dan software yang digunakan
adalah sebagai berikut :
1. Software
a. Sistem Operasi : Microsoft Windows 7 Ultimate 32-bit
b. Software : Matlab versi 8.0.0.783(R2012b)
2. Hardware
a. Processor : Intel® Celeron® CPU 877 @1.40GHz
b. RAM : 2GB
c. Harddisk : 320 GB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
BAB 4
IMPLEMENTASI HASIL DAN ANALISA
Pada bab ini membahas mengenai hasil dari pengelompokan data pertandingan
DOTA 2 dengan agglomerative hierarchical clustering . Selain itu juga hasil
keakuratan dari metode dijelaskan pada bab ini.
4.1 Hasil Penelitian dan Analisis
Pada tahap pengujian dan implementasi data yang telah dilakukan terhadap
300 data pertandingan DOTA 2 profesional dengan pembagian peran
Carry,Support dan Hard-support.Dalam data pertandingan atribut NETWORTH ,
GPM(gold per minute) dan XPM (experience per minute) menjadi sangat penting
dalam melihat peran apa yang di lakukan oleh pemain tersebut .
Tabel 4. 1 Deskripsi masing-masing peran
No Peran Keterangan
1 Carry Memiliki NETWORH ,Last hit , GPM(gold per
minute) dan XPM (experience per minute) yang
tinggi untuk cepat mendapatkan item.Dan angka
DEATH yang rendah.
2 Hard-support Memiliki DENIED dan ASSIST yang tinggi untuk
menghambat Carry lawan berkembang,serta
memiliki angka DEATH tinggi karena selalu yang
pertama diincar lawan.
3 Support Memiliki DENIED ,ASSIST , GPM(gold per
minute) dan XPM (experience per minute) yang
tinggi untuk cepat menaikan level serta membantu
menghambat Carry lawan berkembang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Dalam sebuah pertandingan seorang pemain dapat berubah peran tergantung
pada situasi musuh dan kendala waktu.Dalam data terdapat atribut DAMAGE
,atribut ini mengindikasikan berpa jumlah serangan yang masuk kedalam hero
lawan .Atribut DAMAGE menjadi sangat tidak berpengaruh dalam
pengelompokan karena bisa saja Support dan Hard-support memiliki nilai
DAMAGE yang besar .
Tabel 4. 2 Contoh perbedaan damage hero berdasarkan peran
No kemampuan Peran Keterangan
1
Finger of Death (Lion)
Damage level max : 850
Hard- Support Hero seperti ini sangat
memiliki damage besar
dalam skill akan tetapi dia
berperan sebagai Support
karena memiliki sekill
pendukung lainya berupa
stun dan disable.
2
Ravage (Tidehunter)
Damage level max : 380
Support Hero Support serperti
tidehunter sangat penting
dalam sebuah tim karena
memiliki skill stun yang
sangat luas jangkauannya
dan mampu dalam
membuka sebuah war.
3
Chemical rage
(Alchemist)
Tidak ada damage
Carry Salah satu hero terkuat
dalam DOTA 2 adalah
alchemist dengan skillnya
walaupun tidak memiliki
damage pada kemampuanya
akan tetapi dengan item
pendukung yang dia miliki
dia dapat bertahan hidup
dan membuat lawan tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
berkutik.
1. Perbandingan akurasi tanpa Principal Component Analysis(PCA)
Dari seluruh percobaan tanpa menggunakan PCA hanya normalisasi
MinMax dengan Complete-linkage mendapat akurasi paling besar yiatu 93%
walaupun tidak mencapai 100% akurasi ini terbilang sudah sangat
bagus.Kemudian akurasi paling buruk adalah MinMax dengan single-
linkage dengan akurasi 50% akurasi ini terlbilang buruk karena belum
mencapai target yang diinginkan.Akurasi terbaik kedua adalah 82% masih
dalam normalisasi MinMax dengan Average-linkage.
Tabel 4.3 perbandingan akurasi tanpa PCA
Metode normalisasi MinMax menjadi sangat optimal dalam normalisasi
dikarenakan metode ini mampu mentransformasi beberapa atribut saja
dibandingkan normalisasi Z-score.Dalam MinMax transformasi dilkakukan
terhadap 4 atribut dimana digai lagi menjadi 2 yaitu atribut DAMAGE
normalisasi MinMax dengan nilai minimal 0 dan nilai maksimal 1 dan
atribut NETWORTH,GPM(gold per minute) dan XPM(experience per
minute) nilai minimal dengan 0 dan nilai maksimal 471 .Atribut DAMAGE
Metode Normalisasi Akurasi
Single-linkage Tidak 51%
Complete-linkage Tidak 62%
Average-linkage Tidak 51%
Single-linkage Z-score 54%
Complete-linkage Z-score 55%
Average-linkage Z-score 51%
Single-linkage MinMax 50%
Complete-linkage MinMax 93%
Average-linkage MinMax 82%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
menggunakan [0,1] dikarenakan atribut ini tidak memiliki sesuatu yang
berpengaruh dan cenderung dapat mengganggu pengelompokan data serta
nilai datanya sangat besar dan memiliki jarak yang sangat jauh dengan data
lain ,oleh karena itu perlu dilakukan normalisasi agar data dapat
dikelompokan dengan baik tanpa adanya masalah.Kemudian untuk ketiga
atribut NETWORTH,GPM(gold per minute) dan XPM(experience per
minute) menggunakan normalisasi [0,471] nilai maksimal dan minimal
diambil dari atribut LAST_HIT karena atribut ini berpengaruh terhadap 3
atribut di atas .Karena jarak data yang terlalu besar pada atribut
NETWORTH maka normalisasi ini juga sekaligus membuat jarak data
menjadi tidak terlalu jauh dan data dapat diolah dengan baik.Atribut yang
paling berpengaruh dalam pengelompokan peran pemain DOTA 2
sebenarnya adalah atribut NETWORTH jika bernilai rendah berperan
sebagai Hard-support ,sedang Support dan tinggi adalah seorang
Carry.Normalisasi MinMax dalam pengelompokan data pemain menjadi
sangat baik karena normalisasi ini mampu melakukan transformasi
terhadapa beberapa atribut data saja yang penting tanpa harus membuang
sebuah atribut.Berikut grafik perhitungan akurasi tanpa menggunakan PCA :
Gambar grafik di atas menjelaskan perbandingan 2 normalisasi dan 1
dengan data asli dimana data asli diwakilkan oleh warna merah ,normalisasi
Gambar 4. 2 grafik akurasi tanpa PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Z-score diwakilkan dengan warna biru dan normalisasi MinMax diwakilkan
dengan warna kuning.Terlihat dari gambar bahwa normalisasi MinMax
dengan nilai akurasi tertinggi dengan 93% untuk Complete-linkage dan 82%
untuk Average-linkage.Normalisasi MinMax juga terdapat pengelompokan
yang buruk yaitu pada Single-linkage dikarenakan pada metode Single-
linkage pengambilan nilai adalah yang terdekat atau minimal
mengakibatkan data pengelompokan yang seharusnya saling memisahkan
menjadi beberapa cluster akan bergabung menjadi satu seperti terlihat pada
gambar 4.7 dendrogram MinMax single-linkage.Karena untuk data
pertandingan DOTA 2 pencarian jarak dengan mengambil nilai terendah
belum memenuhi harapan.Tidak hanya pada normalisasi MinMax saja
metode single-linkage sterlihat buruk dalam menghasilkan akurasi, dalam
gambar diatas hanya pada normalisasi Z-score saja single-linkage terlihat
memiliki akurasi yang tinggi diantara 2 metode lainnya.Kemudian
Complete-linkage mendapat nilai akurasi tertinggi dnegan dilakukannya
normalisasi data atau tidak metode ini tetap menjadi yang tertinggi karena
pengambilan nilai jarak yang paling besar ketika cluster dilakukan menjadi
sangat berpengaruh.Terakhir adalah metode Average-linkage masih diantara
kedua metode dengan akurasi dibawah compelte-linkage dan di atas single-
linkage.Penjelasan di atas adaalah mengapa MinMax menjadi yang paling
bagus dalam normalisasi dan metode Complete-linkage menjadi sangat
bagus ketika normalisasi MinMax.
2. Perbandingan akurasi dengan Principal Component Analysis(PCA)
Dari seluruh percobaan menggunakan PCA hanya yang menggunakan data
asli dengan Complete-linkage mendapat akurasi paling besar yiatu 57%
Kemudian akurasi paling buruk adalah MinMax dengan Average-linkage
dengan akurasi 46% akurasi ini terlbilang buruk karena belum mencapai
target yang diinginkan.Akurasi terbaik kedua adalah 53% masih dalam
normalisasi Z-score single-linkage dan Average-linkage.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Tabel 4.4 perbandingan akurasi dengan menggunakan PCA
Metode Normalisasi Akurasi
Single-linkage Tidak 50%
Complete-linkage Tidak 57%
Average-linkage Tidak 50%
Single-linkage Z-score 53%
Complete-linkage Z-score 49%
Average-linkage Z-score 53%
Single-linkage MinMax 50%
Complete-linkage MinMax 50%
Average-linkage MinMax 46%
Percobaan kedua dilakukan dengan menggunakan PCA(principal
component analysis) , dalam percobaan menggunakan data reduction belum
dapat melebihi akurasi tanpa menggunakan PCA(principal component
analysis) seperti diatas terlihat hanya 57% akurasi terbesar.Pemotongan data
yang digunakan sebanyak 5 dikarenakan dengan pemotongan 5 pada PCA
mendapat akurasi paling besar diantara pemotongan dengan jumlah
lain,akan tetapi tetap belum mampu melebihi akurasi yang didapatkan tanpa
menggunakan PCA diakarenakan dalam proses PCA terdapat beberapa
feature penting yang terpotong atau terbuang pada proses ,mengakibatkan
pengelompokan mendapat akurasi yang buruk.Beberapa dendrogram terlihat
bagus seperti pada normalisasi MinMax dengan PCA akan tetapi belum
mendapatkan hasil setinggi normalisasi MinMax tanpa PCA.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Terlihat dari gambar grafik di atas bahwa compelte-linkage pada data asli
ditambah dengan PCA menjadi paling tinggi tingkat akurasinya dengan 57%
kemudian nilai tingkat akurasi paling rendah adalah average-linakge dengan
normalisasi MinMax ditambah dengan PCA yaitu 46%.Untuk dapat melihat lebih
detail tentang hasil yang lebih optimal dan hasil yang belum memenuhi akurasi
yang diinginkan dapat dilihat dari tabel dan grafik dibawah :
Gambar 4. 3 grafik akurasi dengan menggunakan PCA
Tabel 4. 5 Hasil akurasi dari normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Dari grafik akurasi dilihat berdasarkan normalisasi ,normalisasi MinMax
mendapatkan tingkat akurasi tertinggi sekaligus mendapat tingkat akurasi
terendah karena menggunakan PCA sedangkan MinMax tertinggi tidak
menggunakan PCA.Jadi dalam penggunaan normalisasi MinMax masih menjadi
yang tertinggi tingkat akurasi nya dibandingkan tidak melakukan normalisasi
ataupun dengan normalisasi Z-score.
Tabel 4. 6 Hasil akurasi dari metode
Gambar 4. 4 Grafik hasil akurasi dari normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Dari grafik tingkat akurasi yang dilihat berdasarkan metode terlihat bahwa
metode Complete-linkage menempati tingkat akurasi tertinggi kemudian tempat
kedua tertinggi adalah metode Average-linkage dan single-linkage masih belum
memenuhi akurasi yang diinginkan.Jadi dalam penentuan metode mana yang baik
Complete-linkage dan Average-linkage menjadi yang terbaik dalam penelitian ini,
karena dalam single-linkage pengambilan nilai dilakukan yang terkecil sehingga
membuat pengelompokan semakin mirip satu sama lain.
Tabel 4. 7 Hasil akurasu dari PCA
Gambar 4. 5 Grafik hasil akurasi dari metode
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Dari grafik tingkat akurasi yang dilihat dari PCA atau tidak terlihat bahwa
data yang tidak melakukan data reduction dengan PCA mendapatkan tingkat
akurasi tertinggi sedangkan data yang melalui proses PCA terdapat beberapa
feature penting yang terhapus sehingga proses pengelompokan tidak sesuai yang
diinginkan sehingga mendapat tingkat akurasi yang rendah.Untuk proses PCA
belum mampu meningkatkan akurasi bahkan merusak tingkat akurasi.
4.2 Hasil Cluster dan Pengujian Confusion Matrix
Percobaan pertama adalah tanpa menggunakan normalisasi terhadap 300
data dengan metode agglomerative hierarchical clustering pertandingan
menghasilkan dendrogram seperti dibawah :
1) Percobaan tanpa normalisasi terhadap 300 data asli pada tabel 4.8
Hasil akurasi paling besar dari data asli tanpa normalisasi adalah
Complete-linkage dengan 62% kemudian average dan single dengan nilai
akurasi sama yaitu 51% .Tabel akurasi data asli tanpa normalisasi dapat
Gambar 4. 6 Grafik hasil akurasi dari PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
dilihat pada tabel 4.8 ,dan juga dendrogram beserta confusion matrix
untuk ketiga metode tersedia dibawah setelah tabel akurasi.
Tabel 4. 8 Hasil akurasi data asli tanpa normalisasi
Metode Normalisasi Akurasi
Single-linkage Tidak 51%
Average-linkage Tidak 51 %
Complete-linkage Tidak 62 %
a. Single linkage data asli
Tabel 4. 9 Confusion matrix single-linkage data asli
Akurasi =
X 100%
=
X 100% = 51%
Cluster
Peran
1
2
3
Hard-support 2 99 1
Carry 0 151 0
Support 1 46 0
Gambar 4. 7 Dendrogram single-linkage data asli
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
b. Average-linkage data asli
Tabel 4. 10 Confusion matrix Average-linkage data asli
Akurasi =
X 100%
=
X 100% = 51%
Cluster
Peran
1
2
3
Hard-support 2 99 1
Carry 0 151 0
Support 5 42 0
Gambar 4. 8 dendrogramaverage-linkage data asli
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
c. Complete-linkage data asli
Tabel 4. 11 Confusion matrix Complete-linkage data asli
Akurasi =
X 100%
=
X 100% = 62%
2) Percobaan dengan normalisasi Z-score terhadap 300 data asli pada tabel
4.12
Hasil akurasi paling normalisasi Z-score adalah Complete-linkage dengan
55% kemudian single-linkage dengan nilai akurasinya 54%,kemudian
disusul oleh Average-linkage dengan nilai akurasinya 51%.Tabel akurasi
dengan normalisasi Z-score dapat dilihat pada tabel 4.12 ,dan juga
dendrogram beserta confusion matrix untuk ketiga metode tersedia
dibawah setelah tabel akurasi.
Cluster
Peran
1
2
3
Carry 148 3 0
Hard-support 63 38 1
Support 12 35 0
Gambar 4. 9 Dendrogram complete-linkage data asli
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Tabel 4. 123 hasil akurasi dengan normalisasi Z-score
Metode Normalisasi Akurasi
Single-linkage Z-score 54 %
Complete-linkage Z-score 55 %
Average-linkage Z-score 51 %
a. Single-linkage Z-score
Tabel 4.13 Confusion matrix single-linkage Z-score
Akurasi =
X 100%
=
X 100% = 54%
Cluster
Peran
1
2
3
Hard-support 11 90 1
Carry 1 150 0
Support 6 41 0
Gambar 4. 10 Dendrogram single-linkage data Z-score
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
b. Complete-linkage Z-score
Tabel 4.14 Confusion matrix Complete-linkage data asli
Akurasi =
X 100%
=
X 100% = 55%
c. Average-linkage Z-score
Cluster
Peran
1
2
3
Hard-support 57 0 0
Carry 86 108 1
Support 48 0 0
Gambar 4. 11 Dendrogram complete-linkage data Z-score
Gambar 4. 12 Dendrogram average-likage data Z-score
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Tabel 4.15 Confusion matrix Average-linkage data asli
Akurasi =
X 100%
=
X 100% = 51%
3) Percobaan dengan normalisasi MinMax terhadap 300 data asli pada tabel
4.16
Hasil akurasi paling normalisasi MinMax adalah Complete-linkage
dengan 93% kemudian Average-linkage dengan nilai akurasinya
82%,kemudian disusul oleh single-linkage dengan nilai akurasinya
50%.Tabel akurasi dengan normalisasi MinMax dapat dilihat pada tabel
4.16 ,dan juga dendrogram beserta confusion matrix untuk ketiga metode
tersedia dibawah setelah tabel akurasi.
Tabel 4.16 hasil akurasi dengan normalisasi MinMax
Cluster
Peran
1
2
3
Hard-support 2 99 1
Carry 0 151 0
Support 1 46 0
Metode Normalisasi Akurasi
Single-linkage MinMax 50 %
Complete-linkage MinMax 93 %
Average-linkage MinMax 82 %
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
a. Single-linkage MinMax
Tabel 4.17 Confusion matrix single-linkage MinMax
Akurasi =
X 100%
=
X 100% = 50%
Cluster
Peran
1
2
3
Hard-support 0 102 0
Carry 1 149 1
Support 0 47 0
Gambar 4. 13 Dendrogram single-linkage data MinMax
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
b. Complete-linkage MinMax
Tabel 4.18 Confusion matrix Complete-linkage MinMax
Akurasi =
X 100%
=
X 100% = 93%
Cluster
Peran
1
2
3
Hard-support 95 4 3
Carry 2 147 2
Support 2 7 38
Gambar 4. 14 Dendrogram complete-linkage data MinMax
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
c. Average-linkage MinMax
Tabel 4.19 Confusion matrix Average-linkage MinMax
Akurasi =
X 100%
=
X 100% = 82%
4) Percobaan tanpa normalisasi dan PCA terhadap 300 data asli pada tabel
4.20
Hasil akurasi paling besar dari data asli tanpa normalisasi dan PCA adalah
Complete-linkage dengan 57% kemudian Average-linkage dan single-
linkage dengan nilai akurasi sama yaitu 50% .Tabel akurasi data asli tanpa
normalisasi dan PCA dapat dilihat pada tabel 4.20 ,dan juga dendrogram
beserta confusion matrix untuk ketiga metode tersedia dibawah setelah
tabel akurasi.
Cluster
Peran
1
2
3
Hard-support 3 37 7
Support 0 98 4
Carry 1 4 146
Gambar 4. 15 Dendrogram average-linkage data MinMax
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Tabel 4.20 data asli tanpa normalisasi dan PCA
Metode Normalisasi Akurasi
Single-linkage Tidak + (PCA) 50%
Complete-linkage Tidak + (PCA) 57%
Average-linkage Tidak + (PCA) 50%
a. Single-linkage data asli + PCA
Tabel 4.21 Confusion matrix single-linkage data asli + PCA
Akurasi =
X 100%
=
X 100% = 50%
Cluster
Peran
1
2
3
Hard-support 1 100 1
Carry 1 150 0
Support 0 47 0
Gambar 4. 16 Dendrogram single-linkage data asli + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
b. Complete-linkage data asli + PCA
Tabel 4.22 Confusion matrix Complete-linkage data asli + PCA
Akurasi =
X 100%
=
X 100% = 56%
Cluster
Peran
1
2
3
Hard-support 23 78 1
Carry 4 147 0
Support 21 26 0
Gambar 4. 17 Dendrogram compelte-linakge data asli + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
c. Average-linkage asli + PCA
Tabel 4.23 Confusion matrix Average-linkage data asli + PCA
Akurasi =
X 100%
=
X 100% = 50%
5) Percobaan dengan normlisasi Z-score dan PCA terhadap 300 data asli
pada tabel 4.24
Hasil akurasi paling normalisasi Z-score dan PCA adalah single-linkage dan
Average-linkage dengan nilai akurasinya 53%,kemudian disusul oleh
Complete-linkage dengan nilai akurasinya 49% Tabel akurasi dengan
Cluster
Peran
1
2
3
Hard-support 2 99 1
Carry 4 147 0
Support 1 46 0
Gambar 4. 18 Dendrogram average-linakge data asli + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
normalisasi Z-score dan PCA dapat dilihat pada tabel 4.24 ,dan juga
dendrogram beserta confusion matrix untuk ketiga metode tersedia dibawah
setelah tabel akurasi.
Tabel 4.24 hasil akurasi normalisasi Z-score dan PCA
Metode Normalisasi Akurasi
Single-linkage Z-score + (PCA) 53%
Complete-linkage Z-score + (PCA) 49%
Average-linkage Z-score + (PCA) 53%
a. Single-linkage Z-score + PCA
Tabel 4.25 Confusion matrix single-linkage Z-score + PCA
Akurasi =
X 100%
=
X 100% = 53%
Cluster
Peran
1
2
3
Hard-support 11 90 1
Carry 3 148 0
Support 6 41 0
Gambar 4. 19 Dendrogram single-linakge data Z-score + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
b. Complete-linkage Z-score + PCA
Tabel 4.26 Confusion matrix Complete-linkage Z-score + PCA
Akurasi =
X 100%
=
X 100% = 49%
Cluster
Peran
1
2
3
Hard-support 104 47 0
Carry 58 43 1
Support 33 14 0
Gambar 4. 20 Dendrogram complet-linkage data Z-score + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
c. Average-linkage Z-score + PCA
Tabel 4.27 Confusion matrix Average-linkage Z-score + PCA
Akurasi =
X 100%
=
X 100% = 53%
6) Percobaan dengan normalisasi MinMax dan PCA terhadap 300 data asli
pada tabel 4.28
Hasil akurasi paling normalisasi MinMax dan PCA adalah Complete-linkage
dan single-linkage dengan nilai akurasinya 50%,kemudian disusul dengan
Average-linkage dengan nilai akurasinya 46% .Tabel akurasi dengan
normalisasi MinMax dapat dilihat pada tabel 4.28 ,dan juga dendrogram
beserta confusion matrix untuk ketiga metode tersedia dibawah setelah tabel
akurasi.
Cluster
Peran
1
2
3
Hard-support 11 90 1
Carry 3 148 0
Support 6 41 0
Gambar 4. 21 Dendrogram average-linkage data Z-score + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Tabel 4.29 hasil akurasi dengan normalisasi MinMax dan PCA
Metode Normalisasi Akurasi
Single-linkage MinMax + (PCA) 50%
Complete-linkage MinMax + (PCA) 50%
Average-linkage MinMax + (PCA) 46%
a. Single-linkage MinMax + PCA
Tabel 4.30 Confusion matrix single-linkage MinMax + PCA
Akurasi =
X 100%
=
X 100% = 50%
Cluster
Peran
1
2
3
Hard-support 1 101 0
Carry 0 150 1
Support 0 47 0
Gambar 4. 22 Dendrogram single-linkage data MinMax + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
b. Complete-linkage MinMax + PCA
Tabel 4.31 Confusion matrix Complete-linkage MinMax + PCA
Akurasi =
X 100%
=
X 100% = 50%
c. Average-linkage MinMax + PCA
Cluster
Peran
1
2
3
Hard-support 7 29 11
Carry 16 108 27
Support 16 50 36
Gambar 4. 23 Dendrogram complete-linkage data MinMax + PCA
Gambar 4. 24 Dendrogram average-linkage data MinMax + PCA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Tabel 4.32 Confusion matrix Average-linkage MinMax + PCA
Akurasi =
X 100%
=
X 100% = 46%
Cluster
Peran
1
2
3
Hard-support 49 49 4
Carry 59 87 5
Support 26 19 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
BAB 5
KESIMPULAN DAN SARAN
Halaman ini menjelaskan mengenai kesimpulan dari penelitian terkait dengan
pengelompokan peran pemain DOTA 2 pada pertandignan proffesional.Pada
halaman ini juga akan dijelaskan saran yang diberikan pada program yang usdah
dibuat
5.1 Kesimpulan
Pengelompokan peran pemain DOTA 2 dalam pertandingan proffesional
2016 melalui 6 uji coba yaitu tanpa normalisasi,dengan normalisasi MinMax ,
normalisasi Z-score, tanpa normalisasi + PCA , normalisasi MinMax + PCA ,
dan normalisasi Z-score + PCA.Berdasarkan hasil percobaan diatas ,kesimpulan
yang dapat diambil sebagai berikut :
1. Metode pengelompokan Agglomerative hierarchical clustering mampu
dengan baik mengelompokan peran pemain DOTA 2 dengan akurasi
yang baik
2. Percobaan dengan normalisasi MinMax dengan Complete-linkage
menghasilkan akurasi yang baik dengan akurasi mencapai 93% .Dalam
normalisasi MinMax mentransformasi label damage dengan [0-1]
kemudian transformasi dengan MinMax label GPM,XPM, dan Networth
dengan [0-471] mempu membedakan jenis peran pemain dalam
pertandingan DOTA 2 dikarenakan label damage jika tidak dinormalisasi
akan merusak hasil pengelompokan karena tidak terlalu berhubungan
dengan data akan tetapi damage berhubungan dengan skill hero-hero
tertentu.
3. Percobaan dengan PCA menggunakan pemotongan sebesar 5 feature
dikarenakan mendapatkan hasil paling besar dari percobaan pemotongan
beberapa feature.
4. Pengelompokan tanpa normalisasi atau hanya menggunakan data asli
sangat tidak bagus dalam pengelompokan karena data asli didalamnya
ada beberapa data yang masih bergantung dengan label lainnya oleh
karena itu membutuhkan normalisasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
5. Percobaan Z-score juga belum memenuhi akurasi yang di inginkan
karena Z-score menggunakan standar deviasi untuk semua data.
6. Secara rata-rata akurasi , akurasi dengan Complete-linkage lebih baik
dibandingkan single-linkage dan Average-linkage.
7. Dari keseluruhan hasil dendrogram yang terlihat bagus adalah dengan
normalisasi MinMax dan MinMax + PCA hanya saja MinMax dengan
PCA belum mengelompokan dengan baik karena adanya feature penting
yang terbuang.
5.2 Saran
Saran yang diperlukan untuk pengembangan program lebih lanjut,sebagai
berikut :
1. Menambahkan beberapa peran lagi selain 3 peran utama.
2. Menambahkan feature baru untuk data pertandingan.
3. Perhitungan jarak dapat mencoba dengan metode yang lain selain single-
linkage,Complete-linkage dan Average-linkage.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
DAFTAR PUSTAKA
Asrini, Christina Wiend.2013.”Identifikasi Penyakit Hepatitis dengan
Pendekatan Agglomerative hierarchical Clustering”, Universitas Sanata Dharma,
Yogyakarta.
Smith, Lindsay 2002.”A tutorial on Principal Component Analysis”,
International Institute Of Information Technology,Hyderabad.
Alfina,Tahta dkk 2012.” Analisa Perbandingan Metode Hierarchical
Clustering, K-means dan Gabungan Keduanya dalam Cluster Data”, Institut
Teknologi Sepuluh Nopember,Surabaya.
Tarigan,Avianta 2008.” Data Mining Pengenalan Sistem & Teknik, Serta
Contoh Aplikasi”, Universitas Gunadarma,Jakarta.
Tan, Steinbach dkk 2004.” Introduce to Data Mining”, Austria.
Laeli,Sofya 2014.” Analisis Cluster dengan Average Linkage Method dan
Ward’s Method untuk Data Responden Nasabah Asuransi Jiwa Unit Link”,
Universitas Negeri Yogyakarta.
KDD. 2013. diakses pada tanggal 1 Desember 2016 pada pukul 14:30
WIB dari https://dnial.wordpress.com/2007/04/27/kdd-dan-data-mining/
Stak overflow. 2015. diakses pada tanggal 1 januari 2017 pada pukul
18:30 WIB dari http://stackoverflow.com/questions/24717992/hierarchical-
agglomerative-clustering-in-prolog
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
LAMPIRAN
function varargout = Skrip_jadi(varargin) % SKRIP_JADI MATLAB code for Skrip_jadi.fig % SKRIP_JADI, by itself, creates a new SKRIP_JADI or raises
the existing % singleton*. % % H = SKRIP_JADI returns the handle to a new SKRIP_JADI or
the handle to % the existing singleton*. % % SKRIP_JADI('CALLBACK',hObject,eventData,handles,...) calls
the local % function named CALLBACK in SKRIP_JADI.M with the given
input arguments. % % SKRIP_JADI('Property','Value',...) creates a new SKRIP_JADI
or raises the % existing singleton*. Starting from the left, property
value pairs are % applied to the GUI before Skrip_jadi_OpeningFcn gets
called. An % unrecognized property name or invalid value makes property
application % stop. All inputs are passed to Skrip_jadi_OpeningFcn via
varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help Skrip_jadi
% Last Modified by GUIDE v2.5 25-Dec-2016 23:28:42
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Skrip_jadi_OpeningFcn, ... 'gui_OutputFcn', @Skrip_jadi_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
function [X,M1,M2,M3]=jumlahcluster(clusternya) %cari data setiap cluster C1=find(clusternya==1); C2=find(clusternya==2); C3=find(clusternya==3); [M1,N1]=size(C1); [M2,N2]=size(C2); [M3,N3]=size(C3); X = [M1 M2 M3];
function
[c1,c2,c3]=simpanText(clus1,clus2,clus3,str1,str2,str3,file,akur) %simpan text data dan cari 5 peran terbaik berdasarkan rata2 c1 = num2str(clus1); c2 = num2str(clus2); c3 = num2str(clus3); akurasi = num2str(akur); fprintf(file,'%s\n', str1,str2,str3); fprintf(file,'\n\n'); fprintf(file,'%s\n','=========JUMLAH SETIAP CLUSTER========
'); fprintf(file,'Cluster 1 : '); fprintf(file,c1); fprintf(file,' Data '); fprintf(file,'\n'); fprintf(file,'Cluster 2 : '); fprintf(file,c2); fprintf(file,' Data '); fprintf(file,'\n'); fprintf(file,'Cluster 3 : '); fprintf(file,c3); fprintf(file,' Data '); fprintf(file,'\n'); fprintf(file,'======================================'); fprintf(file,'\n'); fprintf(file,'\n'); fprintf(file,'===========AKURASI DATA =============='); fprintf(file,'\n');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
fprintf(file,'Akurasi : '); fprintf(file,akurasi); fprintf(file,'%%'); fprintf(file,'\n'); fprintf(file,'======================================'); fprintf(file,'\n'); fprintf(file,'\n');
function [dataminmax01] = normalisasi(data) %membuat data cut data10=data(:,10); data4=data(:,4); data89=data(:,8:9);
%save data baru yang sudah dicut filenamecut = 'DATA_CUT_NORMALISASI.xlsx'; Acut = [data4 data89 data10]; sheetcut = 1; xlRangecut = 'B2'; xlswrite(filenamecut,Acut,sheetcut,xlRangecut);
%membuat data sissa cut data123=data(:,1:3); data567=data(:,5:7); data11121314=data(:,11:end); datasisa=[data123 data567 data11121314];
%save data baru yang sudah dicut filenamesisa = 'DATA_CUT_SISA_NORMALISASI.xlsx'; Asisa = [data123,data567,data11121314]; sheetsisa = 1; xlRangesisa = 'B2'; xlswrite(filenamesisa,Asisa,sheetsisa,xlRangesisa);
%mengambil nilai dari 2 data [dataAngka,dataText]=xlsread('DATA_CUT_NORMALISASI.xlsx'); handles.dataAngka=dataAngka; dataAwalcut01=dataAngka(:,4); dataAwalcut0471=dataAngka(:,1:3);
%hitung minmax a01 = min(dataAwalcut01(:)); b01 = max(dataAwalcut01(:)); ra01 = 1; rb01 = 0;
a0471 = min(dataAwalcut0471(:)); b0471 = max(dataAwalcut0471(:)); ra0471 = 471; rb0471 = 0;
dataminmax01=(dataAwalcut01-a01)*(ra01-rb01)/(b01-a01)+rb01
dataminmax0471=(dataAwalcut0471-a0471)*(ra0471-rb0471)/(b0471-
a0471)+rb0471 %dataminmax=((dataAwalcut-a)/(b-a))*(ra-rb)+rb %dataminmax = (((ra-rb) * (dataAwalcut - a)) / (b - a)) + rb;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
% (data-min)*(newmax-newmin)/(max-min)+newmin
%save data baru hasil yang sudah dicut filenamecuthasil = 'DATA_HASIL_CUT_NORMALISASI.xlsx'; Acuthasil = [dataminmax01 dataminmax0471]; sheetcuthasil = 1; xlRangecuthasil = 'B2'; xlswrite(filenamecuthasil,Acuthasil,sheetcuthasil,xlRangecuthasil)
;
%save hasil data baru yang sudah normalisasi [dataAngkafinal,dataTextfinal]=xlsread('DATA_HASIL_CUT_NORMALISASI
.xlsx'); handles.dataAngkafinal=dataAngkafinal; awalfinal=dataTextfinal(:,1:end); dataAwalfinal10=dataAngkafinal(:,1); dataAwalfinal4=dataAngkafinal(:,2); dataAwalfinal89=dataAngkafinal(:,3:4);
filenamehasil = 'DATA_FINAL_HASIL_NORMALISASI.xlsx'; Ahasil =
[data123,dataAwalfinal4,data567,dataAwalfinal89,dataAwalfinal10,da
ta11121314]; sheethasil = 1; xlRangehasil = 'B2'; xlswrite(filenamehasil,Ahasil,sheethasil,xlRangehasil);
function [ dataHasilPCA, indeksPCA ] = ProsesPCA( data,jumlahPCA) %proses algoritma PCA %membuat matriks x dengan cara mengurangi rata2 setiap dimensi
pada matriks %data [jumlahBaris,jumlahKolom] = size(data); rata2data = mean(data);
X=data; for i=1:jumlahBaris for j=1:jumlahKolom X(i,j)=data(i,j)-rata2data(j); end end %menghitung nilai covarience dari matriks x Cx=cov(X); % menghitung eigenvector dan eigenvalue dari covariance matrix. [eigenvector,eigenvalue]=eig(Cx); % Pilih komponen dan bentuk vector feature dan principal component
dari %eigenvector yang memiliki eigenvalue paling besar diambil
(decreasing order). eigenvalue=diag(eigenvalue); [~, indeks]=sort(eigenvalue,'descend'); featureVector=eigenvector(:,indeks);
% menurunkan satu set data baru dataBaru = X*featureVector; % jumlahPCA adalah jumlah PCA yg aan digunakan dalam pemotongan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
data if jumlahPCA==0 [jmlIndeks,~]=size(indeks); indeksPCA=indeks; dataHasilPCA=dataBaru(:,1:jmlIndeks); else indeksPCA=indeks(1:jumlahPCA); dataHasilPCA = dataBaru(:,1:jumlahPCA); end
% --- Executes just before Skrip_jadi is made visible. function Skrip_jadi_OpeningFcn(hObject, eventdata, handles,
varargin) axes(handles.sadhar); imshow(imread('sadhar2.png'));
axes(handles.dota); imshow(imread('dota2.jpg'));
set(handles.tabelutama,'visible','on'); set(handles.dataPCA,'Enable','off') % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Skrip_jadi (see VARARGIN)
% Choose default command line output for Skrip_jadi handles.output = hObject;
% Update handles structure guidata(hObject, handles);
%memasukan data excel
%set info tabel % UIWAIT makes Skrip_jadi wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = Skrip_jadi_OutputFcn(hObject, eventdata,
handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
% eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of
edit1 as a double
% --- Executes during object creation, after setting all
properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in checkbox1. function checkbox1_Callback(hObject, eventdata, handles) % hObject handle to checkbox1 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox1
% --- Executes on button press in checkbox2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
function checkbox2_Callback(hObject, eventdata, handles) % hObject handle to checkbox2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox2
% --- Executes on button press in checkbox3. function checkbox3_Callback(hObject, eventdata, handles) % hObject handle to checkbox3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox3
% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
dataawal=get(handles.dataasli,'Value'); dataminmax=get(handles.minmaxnormal,'Value'); datazscore=get(handles.zscorenormal,'Value'); single=get(handles.pilihsingle,'Value'); complete=get(handles.pilihcomplete,'Value'); average=get(handles.pilihaverage,'Value'); pcadata=get(handles.dataPCA,'Value'); % myEdist =
squeeze(sqrt(sum(bsxfun(@minus,X,reshape(X',1,size(X,2),size(X,1))
).^2,2))) NumCluster = 3; jumlah_data=300;
%data minmax [dataAngka]=xlsread('DATA_FINAL_HASIL_NORMALISASI.xlsx'); handles.dataAngka=dataAngka; dataAwalminmax=dataAngka(:,2:end);
%data asli [dataAngka]=xlsread('DATA_PERTANDINGAN_DOTA_2016.xlsx'); handles.dataAngka=dataAngka; dataAwal=dataAngka(:,2:end); EucD=pdist(dataAwal,'euclidean');
%data zscore zscoredata=zscore(dataAwal);
% myEdist =
squeeze(sqrt(sum(bsxfun(@minus,dataAwalpca,reshape(dataAwalpca',1,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
size(dataAwalpca,2),size(dataAwalpca,1))).^2,2))) %data PCA [dataAngka]=xlsread('DATA_FINAL_HASIL_PCA.xlsx'); handles.dataAngka=dataAngka; dataAwalpca=dataAngka(:,2:end); EucDpca=pdist(dataAwalpca,'euclidean');
[prediksiAngka]=xlsread('PREDIKSI_DOTA.xlsx'); handles.prediksiAngka=prediksiAngka; dataPrediksi=prediksiAngka(:,2:2);
%minmax----%
EucDminmax=pdist(dataAwalminmax,'euclidean');
if (dataawal==1 && single==1&& pcadata==0 )
%single normal linksing=linkage(EucD,'single'); Csingasli = cluster(linksing,'maxclust',NumCluster); color = linksing(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linksing, 0, 'colorthreshold',
color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]);
%single normal cluster prediksi = dataPrediksi'; clusterjadi = Csingasli'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasisingle
hasil_benarsingnom=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benarsingnom); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Csingasli) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA ASLI MENGGUNAKAN SINGLE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
fopen('OUTPUT/DATA_ASLI/OUTPUT_DATA_ASLI_SINGLE.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/DATA_ASLI/OUTPUT_DENDROGRAM_DATA_ASLI_SINGLE.jpg')
h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (dataawal==1 && complete==1 && pcadata==0) [prediksiAngkamc]=xlsread('PREDIKSI_DATA_ASLI_COMPLETE.xlsx'); handles.prediksiAngkamc=prediksiAngkamc; dataPrediksicom=prediksiAngkamc(:,2:2); %complete normal linkcom=linkage(EucD,'complete'); Ccomasli = cluster(linkcom,'maxclust',NumCluster); color = linkcom(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkcom, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]);
%complete normal cluster prediksi = dataPrediksicom'; clusterjadi = Ccomasli; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasicomplete
hasil_benarcomnom=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benarcomnom); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Ccomasli) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA ASLI MENGGUNAKAN COMPLETE-LINKAGE
CLUSTERING';
string2='======================================================';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
fid =
fopen('OUTPUT/DATA_ASLI/OUTPUT_DATA_ASLI_COMPLETE.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/DATA_ASLI/OUTPUT_DENDROGRAM_DATA_ASLI_COMPLETE.jpg')
h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success'); elseif (dataawal==1 && average==1 && pcadata==0) %average normal linkave=linkage(EucD,'average'); color = linkave(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); dendrogram(linkave,0); [H,T,perm] = dendrogram(linkave, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Caveasli = cluster(linkave,'maxclust',NumCluster);
%average normal cluster prediksi = dataPrediksi'; clusterjadi = Caveasli'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on'); %akurasi ave
hasil_benaravnom=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benaravnom); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Caveasli) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA ASLI MENGGUNAKAN AVERAGE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/DATA_ASLI/OUTPUT_DATA_ASLI_AVERAGE.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/DATA_ASLI/OUTPUT_DENDROGRAM_DATA_ASLI_AVERAGE.jpg')
h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (dataminmax==1 && single==1 && pcadata==0) %single minmax linksing=linkage(EucDminmax,'single'); color = linksing(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linksing, 0, 'colorthreshold',
color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Csingminmax = cluster(linksing,'maxclust',NumCluster);
%single minmax cluster prediksi = dataPrediksi'; clusterjadi = Csingminmax'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasisingle minmax
hasil_benarsingminmax=(sum(sum(C(logical(eye(3))))))/jumlah_data*1
00; akurasi=round(hasil_benarsingminmax); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Csingminmax) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA MINMAX MENGGUNAKAN SINGLE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_MIN_MAX/OUTPUT_DATA_MINMAX_SINGLE.txt','
wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_MIN_MAX/OUTPUT_DENDROGRAM_DATA_MINMAX_SINGLE.j
pg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (dataminmax==1 && complete==1 && pcadata==0) %complete minmax linkcom=linkage(EucDminmax,'complete'); color = linkcom(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkcom, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Ccomminmax = cluster(linkcom,'maxclust',NumCluster); cluster(linkcom,'maxclust',3)
%complete minmax
prediksi = dataPrediksi'; clusterjadi = Ccomminmax'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasi complete minmax
hasil_benarcomminmax=(sum(sum(C(logical(eye(3))))))/jumlah_data*10
0; akurasi=round(hasil_benarcomminmax); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Ccomminmax) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA MINMAX MENGGUNAKAN COMPLETE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_MIN_MAX/OUTPUT_DATA_MINMAX_COMPLETE.txt'
,'wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_MIN_MAX/OUTPUT_DENDROGRAM_DATA_MINMAX_COMPLETE
.jpg')
h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (dataminmax==1 && average==1 && pcadata==0)
[prediksiAngka]=xlsread('PREDIKSI_DATA_MINMAX_AVERAGE.xlsx'); handles.prediksiAngka=prediksiAngka; dataPrediksiav=prediksiAngka(:,2:2); %average minmax linkave=linkage(EucDminmax,'average'); color = linkave(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkave, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Caveminmax = cluster(linkave,'maxclust',NumCluster);
%average minmax prediksi = dataPrediksiav'; clusterjadi = Caveminmax'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasiave minmax
hasil_benaraveminmax=(sum(sum(C(logical(eye(3))))))/jumlah_data*10
0; akurasi=round(hasil_benaraveminmax); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Caveminmax) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA MINMAX MENGGUNAKAN AVERAGE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_MIN_MAX/OUTPUT_DATA_MINMAX_AVERAGE.txt',
'wt');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_MIN_MAX/OUTPUT_DENDROGRAM_DATA_MINMAX_AVERAGE.
jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (datazscore==1 && single==1 && pcadata==0) %single zscore linksing=linkage(zscoredata,'single','Euclidean'); color = linksing(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linksing, 0, 'colorthreshold',
color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Csingzscore = cluster(linksing,'maxclust',3);
%single zscore prediksi = dataPrediksi'; clusterjadi = Csingzscore'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on'); hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Csingzscore) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA Z-SCORE MENGGUNAKAN SINGLE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_Z_SCORE/OUTPUT_DATA_ZSCORE_SINGLE.txt','
wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_Z_SCORE/OUTPUT_DENDROGRAM_DATA_ZSCORE_SINGLE.j
pg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (datazscore==1 && complete==1 && pcadata==0) %complete zscore
[prediksiAngkazc]=xlsread('PREDIKSI_DOTA_ZSCORE_COMPLETE.xlsx'); handles.prediksiAngkazc=prediksiAngkazc; dataPrediksizc=prediksiAngkazc(:,2:2); linkcom=linkage(zscoredata,'complete','Euclidean'); color = linkcom(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkcom, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Ccomzscore = cluster(linkcom,'maxclust',3);
%complete zscore cluster prediksi = dataPrediksizc'; clusterjadi = Ccomzscore'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on'); hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Ccomzscore) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA Z-SCORE MENGGUNAKAN COMPLETE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_Z_SCORE/OUTPUT_DATA_ZSCORE_COMPLETE.txt'
,'wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
'OUTPUT/NORMALISASI_Z_SCORE/OUTPUT_DENDROGRAM_DATA_ZSCORE_COMPLETE
.jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (datazscore==1 && average==1 && pcadata==0) %average normal linkave=linkage(zscoredata,'average','Euclidean'); color = linkave(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkave, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Cavezscore = cluster(linkave,'maxclust',3);
%average zscore cluster prediksi = dataPrediksi'; clusterjadi = Cavezscore'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasi ave hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Cavezscore) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA Z-SCORE MENGGUNAKAN AVERAGE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_Z_SCORE/OUTPUT_DATA_ZSCORE_AVERAGE.txt',
'wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_Z_SCORE/OUTPUT_DENDROGRAM_DATA_ZSCORE_AVERAGE.
jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
elseif (dataawal==1 && average==1 && pcadata==1)
%average normal linkave=linkage(EucDpca,'average'); color = linkave(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); dendrogram(linkave,0); [H,T,perm] = dendrogram(linkave, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Caveaslipca = cluster(linkave,'maxclust',NumCluster);
%average normal cluster prediksi = dataPrediksi'; clusterjadi = Caveaslipca'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on'); %akurasi ave hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Caveaslipca) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='=========================================================
==='; string3='OUTPUT DATA ASLI PCA MENGGUNAKAN AVERAGE-LINKAGE
CLUSTERING';
string2='=========================================================
==='; fid =
fopen('OUTPUT/DATA_ASLI_PCA/OUTPUT_DATA_ASLI_AVERAGE_PCA.txt','wt'
);
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/DATA_ASLI_PCA/OUTPUT_DENDROGRAM_DATA_ASLI_AVERAGE_PCA.jpg'
) h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
elseif (dataawal==1 && complete==1 && pcadata==1) %complete normal linkcom=linkage(EucDpca,'complete'); Ccomasli = cluster(linkcom,'maxclust',NumCluster); color = linkcom(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkcom, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]);
%complete normal cluster prediksi = dataPrediksi'; clusterjadi = Ccomasli; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasicomplete hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Ccomasli) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA ASLI PCA MENGGUNAKAN COMPLETE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/DATA_ASLI_PCA/OUTPUT_DATA_ASLI_COMPLETE.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/DATA_ASLI_PCA/OUTPUT_DENDROGRAM_DATA_ASLI_COMPLETE_PCA.jpg
')
h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (dataawal==1 && single==1 && pcadata==1) %single normal linksing=linkage(EucDpca,'single');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
Csingasli = cluster(linksing,'maxclust',NumCluster); color = linksing(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linksing, 0, 'colorthreshold',
color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]);
%single normal cluster prediksi = dataPrediksi'; clusterjadi = Csingasli'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasisingle hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Csingasli) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='=========================================================
=='; string3='OUTPUT DATA ASLI PCA MENGGUNAKAN SINGLE-LINKAGE
CLUSTERING';
string2='=========================================================
=='; fid =
fopen('OUTPUT/DATA_ASLI_PCA/OUTPUT_DATA_ASLI_SINGLE_PCA.txt','wt')
;
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/DATA_ASLI_PCA/OUTPUT_DENDROGRAM_DATA_ASLI_SINGLE_PCA.jpg')
h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (datazscore==1 && average==1 && pcadata==1) %average zscore pca linkave=linkage(dataAwalpca,'average','Euclidean');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
color = linkave(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkave, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Cavezscore = cluster(linkave,'maxclust',3);
%average zscore pca cluster prediksi = dataPrediksi'; clusterjadi = Cavezscore'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasi ave zscore pca hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Cavezscore) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='=========================================================
====='; string3='OUTPUT DATA Z-SCORE PCA MENGGUNAKAN AVERAGE-LINKAGE
CLUSTERING';
string2='=========================================================
====='; fid =
fopen('OUTPUT/NORMALISASI_Z_SCORE_PCA/OUTPUT_DATA_ZSCORE_AVERAGE_P
CA.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_Z_SCORE_PCA/OUTPUT_DENDROGRAM_DATA_ZSCORE_AVER
AGE_PCA.jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (datazscore==1 && complete==1 && pcadata==1) %complete zscore
[prediksiAngkamc]=xlsread('PREDIKSI_DATA_ASLI_COMPLETE.xlsx'); handles.prediksiAngkamc=prediksiAngkamc; dataPrediksipcazs=prediksiAngkamc(:,2:2);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
linkcom=linkage(dataAwalpca,'complete','Euclidean'); color = linkcom(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkcom, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Ccomzscore = cluster(linkcom,'maxclust',3);
%complete zscore cluster prediksi = dataPrediksipcazs'; clusterjadi = Ccomzscore'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on'); hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Ccomzscore) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='=========================================================
======'; string3='OUTPUT DATA Z-SCORE PCA MENGGUNAKAN COMPLETE-LINKAGE
CLUSTERING';
string2='=========================================================
======'; fid =
fopen('OUTPUT/NORMALISASI_Z_SCORE_PCA/OUTPUT_DATA_ZSCORE_COMPLETE_
PCA.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_Z_SCORE_PCA/OUTPUT_DENDROGRAM_DATA_ZSCORE_COMP
LETE_PCA.jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (datazscore==1 && single==1 && pcadata==1) %single zscore pca linksing=linkage(dataAwalpca,'single','Euclidean'); color = linksing(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linksing, 0, 'colorthreshold',
color);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Csingzscore = cluster(linksing,'maxclust',3);
%single zscore pca prediksi = dataPrediksi'; clusterjadi = Csingzscore'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on'); hasil_benar=(sum(sum(C(logical(eye(3))))))/jumlah_data*100; akurasi=round(hasil_benar); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Csingzscore) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA Z-SCORE PCA MENGGUNAKAN SINGLE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_Z_SCORE_PCA/OUTPUT_DATA_ZSCORE_SINGLE_PC
A.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_Z_SCORE_PCA/OUTPUT_DENDROGRAM_DATA_ZSCORE_SING
LE_PCA.jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (dataminmax==1 && average==1 && pcadata==1)
[prediksiAngkamc]=xlsread('PREDIKSI_DATA_MINMAX_PCA_AVERAGE.xlsx')
; handles.prediksiAngkamc=prediksiAngkamc; dataPrediksipcaav=prediksiAngkamc(:,2:2); %average minmax pca linkave=linkage(EucDpca,'average'); color = linkave(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkave, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
set(gca,'YTickLabel',[]); Caveminmax = cluster(linkave,'maxclust',3);
%average minmax pca prediksi = dataPrediksipcaav'; clusterjadi = Caveminmax'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasiave minmax
hasil_benaraveminmax=(sum(sum(C(logical(eye(3))))))/jumlah_data*10
0; akurasi=round(hasil_benaraveminmax); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Caveminmax) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='=========================================================
===='; string3='OUTPUT DATA MINMAX PCA MENGGUNAKAN AVERAGE-LINKAGE
CLUSTERING';
string2='=========================================================
===='; fid =
fopen('OUTPUT/NORMALISASI_MIN_MAX_PCA/OUTPUT_DATA_MINMAX_AVERAGE_P
CA.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_MIN_MAX_PCA/OUTPUT_DENDROGRAM_DATA_MINMAX_AVER
AGE_PCA.jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success'); elseif (dataminmax==1 && complete==1 && pcadata==1) %complete minmax pca
[prediksiAngkamc]=xlsread('PREDIKSI_DATA_MINMAX_PCA_COMPLETE.xlsx'
); handles.prediksiAngkamc=prediksiAngkamc; dataPrediksipcacom=prediksiAngkamc(:,2:2); linkcom=linkage(EucDpca,'complete'); color = linkcom(end-NumCluster+2,3)-eps;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
axes(handles.dendroaxes); [H,T,perm] = dendrogram(linkcom, 0, 'colorthreshold', color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Ccomminmax = cluster(linkcom,'maxclust',3); cluster(linkcom,'maxclust',3)
%complete minmax pca cluster prediksi = dataPrediksipcacom'; clusterjadi = Ccomminmax'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasi complete minmax
hasil_benarcomminmax=(sum(sum(C(logical(eye(3))))))/jumlah_data*10
0; akurasi=round(hasil_benarcomminmax); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Ccomminmax) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='=========================================================
====='; string3='OUTPUT DATA MINMAX PCA MENGGUNAKAN COMPLETE-LINKAGE
CLUSTERING';
string2='=========================================================
====='; fid =
fopen('OUTPUT/NORMALISASI_MIN_MAX_PCA/OUTPUT_DATA_MINMAX_COMPLETE_
PCA.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_MIN_MAX_PCA/OUTPUT_DENDROGRAM_DATA_MINMAX_COMP
LETE_PCA.jpg')
h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif (dataminmax==1 && single==1 && pcadata==1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
%single minmax pca linksing=linkage(EucDpca,'single'); color = linksing(end-NumCluster+2,3)-eps; axes(handles.dendroaxes); [H,T,perm] = dendrogram(linksing, 0, 'colorthreshold',
color); set(gca,'XTickLabel',[]); set(gca,'YTickLabel',[]); Csingminmax = cluster(linksing,'maxclust',3);
%single minmax pca cluster prediksi = dataPrediksi'; clusterjadi = Csingminmax'; [C] = confusionmat(prediksi,clusterjadi); set(handles.confusion,'Data',C); set(handles.confusion,'visible','on');
%akurasisingle minmax
hasil_benarsingminmax=(sum(sum(C(logical(eye(3))))))/jumlah_data*1
00; akurasi=round(hasil_benarsingminmax); set(handles.akurasi, 'String', akurasi);
%mencari jumlah cluster [X,M1,M2,M3]=jumlahcluster(Csingminmax) set(handles.klaster,'Data',X); set(handles.klaster,'visible','on'); axes(handles.pieaxes); pie(X);
%simpan data text
string1='======================================================'; string3='OUTPUT DATA MINMAX PCA MENGGUNAKAN SINGLE-LINKAGE
CLUSTERING';
string2='======================================================'; fid =
fopen('OUTPUT/NORMALISASI_MIN_MAX_PCA/OUTPUT_DATA_MINMAX_SINGLE_PC
A.txt','wt');
[c1,c2,c3]=simpanText(M1,M2,M3,string1,string3,string2,fid,akurasi
)
%simpandata gambar fclose(fid); F = getframe(handles.dendroaxes); Image = frame2im(F); imwrite(Image,
'OUTPUT/NORMALISASI_MIN_MAX_PCA/OUTPUT_DENDROGRAM_DATA_MINMAX_SING
LE_PCA.jpg') h = msgbox('DATA BERHASIL DICLUSTER DAN DISIMPAN.
','Success');
elseif((dataawal==1 || dataminmax==1 ||
datazscore==1)&&(single==0|| complete==0 || average==0)) h = msgbox('Pilih salah satu metode clustering !',
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
'Error','error'); elseif((dataawal==0 || dataminmax==0 ||
datazscore==0)&&(single==1|| complete==1 || average==1)) h = msgbox('Pilih salah satu jenis data !', 'Error','error'); else h = msgbox('Pilih salah satu jenis data dan metode clustering
!', 'Error','error');
end
% --- Executes on button press in minmaxnormal. function minmaxnormal_Callback(hObject, eventdata, handles) % hObject handle to minmaxnormal (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) a=get(hObject,'Value');
if a==1 set(handles.dataasli,'Enable','off') set(handles.zscorenormal,'Enable','off')
[dataAngka,dataText]=xlsread('DATA_PERTANDINGAN_DOTA_2016.xlsx'); % handles.dataAngka=dataAngka; %minmaxobat=minmax(dataAngka); %handles.minmaxobat=minmaxobat; awal=dataText(:,2:end); dataAwal=dataAngka(:,2:end); % dataAwal=dataAngka(:,1:end); [dataminmax] = normalisasi(dataAwal);
[dataAngkanorm,dataTextnorm]=xlsread('DATA_FINAL_HASIL_NORMALISASI
.xlsx'); handles.dataAngkanorm=dataAngkanorm; awalnorm=dataTextnorm(:,2:end); dataAwalnorm=dataAngkanorm(:,2:end);
set(handles.tabelutama,'ColumnName',awalnorm); set(handles.tabelutama,'Data',dataAwalnorm); set(handles.tabelutama,'visible','on'); % set(handles.jumlahdata,'String',size(awal)); size(dataAwal,1); else set(handles.dataasli,'Enable','on') set(handles.zscorenormal,'Enable','on') end % Hint: get(hObject,'Value') returns toggle state of minmaxnormal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
% --- Executes on button press in zscorenormal. function zscorenormal_Callback(hObject, eventdata, handles) % hObject handle to zscorenormal (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) a=get(hObject,'Value');
if a==1 set(handles.minmaxnormal,'Enable','off') set(handles.dataasli,'Enable','off')
[dataAngka,dataText]=xlsread('DATA_PERTANDINGAN_DOTA_2016.xlsx'); dataAwal=dataAngka(:,2:end); zscoredata=zscore(dataAwal); handles.zscoredata=zscoredata; awal=dataText(:,2:end); filenamecut = 'DATA_FINAL_ZSCORE.xlsx'; Acut = [zscoredata]; sheetcut = 1; xlRangecut = 'B2'; xlswrite(filenamecut,Acut,sheetcut,xlRangecut);
set(handles.tabelutama,'ColumnName',awal); set(handles.tabelutama,'Data',zscoredata); set(handles.tabelutama,'visible','on'); % set(handles.jumlahdata,'String',size(awal));
else set(handles.minmaxnormal,'Enable','on') set(handles.dataasli,'Enable','on') end % Hint: get(hObject,'Value') returns toggle state of zscorenormal
function jumlahpca_Callback(hObject, eventdata, handles) % hObject handle to jumlahpca (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of jumlahpca as
text % str2double(get(hObject,'String')) returns contents of
jumlahpca as a double
% --- Executes during object creation, after setting all
properties. function jumlahpca_CreateFcn(hObject, eventdata, handles) % hObject handle to jumlahpca (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes when entered data in editable cell(s) in
tabelutama. function tabelutama_CellEditCallback(hObject, eventdata, handles) % hObject handle to tabelutama (see GCBO) % eventdata structure with the following fields (see UITABLE) % Indices: row and column indices of the cell(s) edited % PreviousData: previous data for the cell(s) edited % EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data
property. Empty if Data was not changed % Error: error string when failed to convert EditData to
appropriate value for Data % handles structure with handles and user data (see GUIDATA)
function jumlahdata_Callback(hObject, eventdata, handles) % hObject handle to jumlahdata (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of jumlahdata as
text % str2double(get(hObject,'String')) returns contents of
jumlahdata as a double
% --- Executes during object creation, after setting all
properties. function jumlahdata_CreateFcn(hObject, eventdata, handles) % hObject handle to jumlahdata (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function jumlab_Callback(hObject, eventdata, handles) % hObject handle to jumlab (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of jumlab as text % str2double(get(hObject,'String')) returns contents of
jumlab as a double
% --- Executes during object creation, after setting all
properties. function jumlab_CreateFcn(hObject, eventdata, handles) % hObject handle to jumlab (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function akurasicom_Callback(hObject, eventdata, handles) % hObject handle to akurasicom (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of akurasicom as
text % str2double(get(hObject,'String')) returns contents of
akurasicom as a double
% --- Executes during object creation, after setting all
properties. function akurasicom_CreateFcn(hObject, eventdata, handles) % hObject handle to akurasicom (see GCBO) % eventdata reserved - to be defined in a future version of
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function akurasiave_Callback(hObject, eventdata, handles) % hObject handle to akurasiave (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of akurasiave as
text % str2double(get(hObject,'String')) returns contents of
akurasiave as a double
% --- Executes during object creation, after setting all
properties. function akurasiave_CreateFcn(hObject, eventdata, handles) % hObject handle to akurasiave (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function akurasi_Callback(hObject, eventdata, handles) % hObject handle to akurasi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of akurasi as text % str2double(get(hObject,'String')) returns contents of
akurasi as a double
% --- Executes during object creation, after setting all
properties.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
function akurasi_CreateFcn(hObject, eventdata, handles) % hObject handle to akurasi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes during object creation, after setting all
properties. function pushbutton2_CreateFcn(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% --- Executes on button press in dataasli. function dataasli_Callback(hObject, eventdata, handles) % hObject handle to dataasli (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of dataasli a=get(hObject,'Value');
if a==1 set(handles.minmaxnormal,'Enable','off') set(handles.zscorenormal,'Enable','off')
[dataAngka,dataText]=xlsread('DATA_PERTANDINGAN_DOTA_2016.xlsx'); handles.dataAngka=dataAngka; awal=dataText(:,2:end); dataAwal=dataAngka(:,2:end);
set(handles.tabelutama,'ColumnName',awal); set(handles.tabelutama,'Data',dataAwal); set(handles.tabelutama,'visible','on');
else set(handles.minmaxnormal,'Enable','on') set(handles.zscorenormal,'Enable','on') end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
% --- Executes on button press in checkbox8. function checkbox8_Callback(hObject, eventdata, handles) % hObject handle to checkbox8 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in prosesdata. function prosesdata_Callback(hObject, eventdata, handles)
% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) %[namaFile,alamatFile]=uigetfile({'*.xls';'*.xlsx'},'Silahkan
pilih file anda','Data\dataasli'); %if namaFile ~=0 % alamatNamaFile=fullfile(alamatFile,namaFile); % set(handles.edInputFile,'String',alamatNamaFile); % set(handles.edNamaFile,'String',namaFile);
% --- Executes on button press in singledendro. function singledendro_Callback(hObject, eventdata, handles) % hObject handle to singledendro (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of singledendro
% --- Executes on button press in completedendro. function completedendro_Callback(hObject, eventdata, handles) % hObject handle to completedendro (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of
completedendro
% --- Executes on button press in averagedendro. function averagedendro_Callback(hObject, eventdata, handles) % hObject handle to averagedendro (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
% eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of averagedendro
% --- Executes during object creation, after setting all
properties. function conave_CreateFcn(hObject, eventdata, handles) % hObject handle to conave (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% --- Executes on button press in checkbox12. function checkbox12_Callback(hObject, eventdata, handles) % hObject handle to checkbox12 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox12
% --- Executes on button press in checkbox13. function checkbox13_Callback(hObject, eventdata, handles) % hObject handle to checkbox13 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox13
% --- Executes on button press in checkbox14. function checkbox14_Callback(hObject, eventdata, handles) % hObject handle to checkbox14 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox14
% --- Executes on button press in checkbox15. function checkbox15_Callback(hObject, eventdata, handles) % hObject handle to checkbox15 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
% --- Executes on button press in checkbox16. function checkbox16_Callback(hObject, eventdata, handles) % hObject handle to checkbox16 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox16
% --- Executes on button press in checkbox17. function checkbox17_Callback(hObject, eventdata, handles) % hObject handle to checkbox17 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox17
% --- Executes on button press in checkbox18. function checkbox18_Callback(hObject, eventdata, handles) % hObject handle to checkbox18 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox18
% --- Executes on button press in checkbox19. function checkbox19_Callback(hObject, eventdata, handles) % hObject handle to checkbox19 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox19
% --- Executes on button press in checkbox20. function checkbox20_Callback(hObject, eventdata, handles) % hObject handle to checkbox20 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox20
% --- Executes on button press in checkbox21. function checkbox21_Callback(hObject, eventdata, handles) % hObject handle to checkbox21 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox21
% --- Executes on button press in checkbox22. function checkbox22_Callback(hObject, eventdata, handles) % hObject handle to checkbox22 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox22
% --- Executes on button press in checkbox23. function checkbox23_Callback(hObject, eventdata, handles) % hObject handle to checkbox23 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of checkbox23
function jumdat_Callback(hObject, eventdata, handles) % hObject handle to jumdat (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of jumdat as text % str2double(get(hObject,'String')) returns contents of
jumdat as a double
% --- Executes during object creation, after setting all
properties. function jumdat_CreateFcn(hObject, eventdata, handles) % hObject handle to jumdat (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% ----------------------------------------------------------------
----
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
114
function filem_Callback(hObject, eventdata, handles) % hObject handle to filem (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% ----------------------------------------------------------------
---- function Untitled_3_Callback(hObject, eventdata, handles) % hObject handle to Untitled_3 (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% ----------------------------------------------------------------
---- function tentangm_Callback(hObject, eventdata, handles) % hObject handle to tentangm (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% ----------------------------------------------------------------
---- function Panduan_Callback(hObject, eventdata, handles) % hObject handle to Panduan (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% ----------------------------------------------------------------
---- function exitm_Callback(hObject, eventdata, handles) % hObject handle to exitm (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in dataPCA. function dataPCA_Callback(hObject, eventdata, handles) % hObject handle to dataPCA (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of dataPCA dataawal=get(handles.dataasli,'Value'); dataminmax=get(handles.minmaxnormal,'Value'); datazscore=get(handles.zscorenormal,'Value'); x = get(handles.jmlpca,'String'); jml = str2double(get(handles.jmlpca,'String')); a=get(hObject,'Value');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
115
[dataAngka,dataText]=xlsread('DATA_PERTANDINGAN_DOTA_2016.xlsx'); handles.dataAngka=dataAngka; awal=dataText(:,14:end); dataAwalpca=dataAngka(:,2:end); zscoredata=zscore(dataAwalpca); [dataAngka]=xlsread('DATA_FINAL_HASIL_NORMALISASI.xlsx'); handles.dataAngka=dataAngka; dataAwalminmax=dataAngka(:,2:end);
if dataawal==1 [ dataHasilPCA, indeksPCA ] = ProsesPCA(
dataAwalpca,jml) filenamepca = 'DATA_FINAL_HASIL_PCA.xlsx'; Apca = [dataHasilPCA]; sheetpca = 1; xlRangepca = 'B2'; xlswrite(filenamepca,Apca,sheetpca,xlRangepca);
set(handles.tabelutama,'ColumnName',awal); %set(handles.tabelutama,'Data',data_baru); set(handles.tabelutama,'Data',dataHasilPCA); set(handles.tabelutama,'visible','on'); elseif dataminmax==1 [ dataHasilPCA, indeksPCA ] = ProsesPCA(
dataAwalminmax,jml) filenamepca = 'DATA_FINAL_HASIL_PCA.xlsx'; Apca = [dataHasilPCA]; sheetpca = 1; xlRangepca = 'B2'; xlswrite(filenamepca,Apca,sheetpca,xlRangepca);
set(handles.tabelutama,'ColumnName',awal); %set(handles.tabelutama,'Data',data_baru); set(handles.tabelutama,'Data',dataHasilPCA); set(handles.tabelutama,'visible','on'); else [ dataHasilPCA, indeksPCA ] = ProsesPCA( zscoredata,jml) filenamepca = 'DATA_FINAL_HASIL_PCA.xlsx'; Apca = [dataHasilPCA]; sheetpca = 1; xlRangepca = 'B2'; xlswrite(filenamepca,Apca,sheetpca,xlRangepca);
set(handles.tabelutama,'ColumnName',awal); %set(handles.tabelutama,'Data',data_baru); set(handles.tabelutama,'Data',dataHasilPCA); set(handles.tabelutama,'visible','on'); end
function jumfeat_Callback(hObject, eventdata, handles) % hObject handle to jumfeat (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
116
% eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of jumfeat as text % str2double(get(hObject,'String')) returns contents of
jumfeat as a double
% --- Executes during object creation, after setting all
properties. function jumfeat_CreateFcn(hObject, eventdata, handles) % hObject handle to jumfeat (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in cariperan. function cariperan_Callback(hObject, eventdata, handles) % hObject handle to cariperan (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% --- Executes during object creation, after setting all
properties. function sadhar_CreateFcn(hObject, eventdata, handles) % hObject handle to sadhar (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: place code in OpeningFcn to populate sadhar
% --- Executes on button press in pilihaverage. function pilihaverage_Callback(hObject, eventdata, handles) % hObject handle to pilihaverage (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of pilihaverage a=get(hObject,'Value');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
117
if a==1 set(handles.pilihcomplete,'Enable','off') set(handles.pilihsingle,'Enable','off') set(handles.dataPCA,'Enable','on')
else set(handles.pilihcomplete,'Enable','on') set(handles.dataPCA,'Enable','off') set(handles.pilihsingle,'Enable','on') end
% --- Executes on button press in pilihcomplete. function pilihcomplete_Callback(hObject, eventdata, handles) % hObject handle to pilihcomplete (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of pilihcomplete a=get(hObject,'Value');
if a==1 set(handles.pilihsingle,'Enable','off') set(handles.pilihaverage,'Enable','off') set(handles.dataPCA,'Enable','on')
else set(handles.pilihsingle,'Enable','on') set(handles.pilihaverage,'Enable','on') set(handles.dataPCA,'Enable','off') end
% --- Executes on button press in pilihsingle. function pilihsingle_Callback(hObject, eventdata, handles) % hObject handle to pilihsingle (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of pilihsingle
a=get(hObject,'Value');
if a==1 set(handles.pilihcomplete,'Enable','off') set(handles.pilihaverage,'Enable','off') set(handles.dataPCA,'Enable','on')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
118
else set(handles.pilihcomplete,'Enable','on') set(handles.dataPCA,'Enable','off') set(handles.pilihaverage,'Enable','on') end
function jmlpca_Callback(hObject, eventdata, handles) % hObject handle to jmlpca (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of jmlpca as text % str2double(get(hObject,'String')) returns contents of
jmlpca as a double
% --- Executes during object creation, after setting all
properties. function jmlpca_CreateFcn(hObject, eventdata, handles) % hObject handle to jmlpca (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in reset. function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
119
ID
KILL
DEATH
ASSIST
NETWORTH
LEVEL
LAST_HIT
DENIED
GOLD_PER_MINUTE
EXPERIENCE_PER_MINU
TE
DAMAGE
CAR
RY_ITEM
SUPPORT_ITEM
HARD_SUPPORT_ITEM
NORMAL_ITEM
1 3 5 15
7544
14 58 4 282 279 4130 0 1 0 1
2 1 9 8 5461
13 46 4 203 250 8489 0 0 1 1
3 5 8 2 9147
14 135
8 316 312 6432 1 0 0 1
4 2 3 3 8722
15 168
7 326 318 7786 1 0 0 1
5 0 10
4 19545
17 286
1 639 446 7646 1 1 0 1
6 2 4 24
8168
15 10 1 260 341 3855 0 0 1 1
7 11
1 17
25335
23 367
13
565 609 17073
1 0 0 1
8 2 3 15
6695
15 35 3 268 345 3322 0 0 1 1
9 5 0 22
17630
20 146
2 474 589 7936 1 0 0 1
10
18
2 8 21770
20 208
6 594 589 18723
1 0 0 1
11
3 8 3 9158
15 167
1 338 334 6788 1 0 0 1
12
2 8 3 10887
16 183
5 370 380 6875 1 0 0 1
13
1 2 4 4426
11 29 2 167 182 4284 0 1 0 1
14
1 5 3 8568
14 114
4 287 333 2646 0 1 0 1
15
3 6 4 15564
18 236
4 465 461 6788 1 0 0 1
16
5 2 22
10431
17 57 2 377 411 7976 0 1 0 1
17
4 3 19
11470
16 52 0 355 387 5155 0 0 1 1
18
6 5 6 20235
20 260
2 459 456 15260
1 0 0 0
1 5 2 2 175 19 19 0 488 530 7816 1 1 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
120
9 4 68 9
20
6 1 15
20467
21 238
10
561 645 8496 1 0 0 1
21
2 4 16
8454
14 87 4 344 345 8351 0 1 1 1
22
3 8 3 12242
16 217
7 384 337 5322 1 0 0 1
23
0 6 9 5441
13 30 2 199 235 6131 0 1 0 1
24
1 4 4 8709
13 95 0 236 233 2061 1 1 0 1
25
6 4 6 17150
18 294
7 479 434 8524 1 0 0 1
26
6 3 18
11157
17 64 2 364 398 8477 0 1 0 1
27
2 4 16
10058
15 53 1 277 291 3955 0 0 1 1
28
10
3 11
20025
21 223
14
553 556 9767 1 0 0 1
29
4 1 19
14951
18 117
0 367 423 6635 1 0 0 1
30
7 2 12
25398
22 356
2 685 623 10721
1 0 0 1
31
0 7 3 5846
11 82 1 184 165 3581 0 1 0 1
32
6 9 13
19864
20 247
6 483 442 21133
1 0 0 0
33
2 9 12
6758
15 32 3 212 220 3180 0 1 0 1
34
3 6 5 7759
15 104
1 241 267 2879 0 1 0 1
35
2 2 8 19110
21 326
13
450 486 13963
1 0 0 0
36
2 2 12
9657
17 68 1 292 329 5431 0 1 0 1
37
4 2 7 12694
15 82 1 282 271 5317 0 0 1 1
38
9 4 8 18790
23 372
22
627 615 13807
1 0 0 1
39
2 3 16
14150
18 136
1 327 388 7787 1 1 0 1
40
6 1 14
23873
22 306
19
532 555 10449
1 0 0 1
41
4 2 15
7707
14 35 2 336 343 4611 0 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
121
42
5 2 11
14281
16 129
15
495 442 9020 1 0 0 1
43
11
1 11
22916
19 283
28
541 649 16207
1 0 0 0
44
7 0 12
9448
14 77 0 385 370 6848 0 1 0 1
45
2 4 16
9853
13 64 8 347 318 3995 0 1 0 1
46
2 6 4 6887
14 78 1 281 356 5249 0 0 1 1
47
4 8 5 11669
16 190
14
489 458 9689 1 0 0 1
48
0 8 9 4917
11 61 2 235 232 7550 0 0 1 1
49
1 2 8 8595
13 103
1 316 331 6274 0 0 1 1
50
1 7 7 6719
14 147
4 345 370 3796 1 0 0 1
51
2 5 23
9133
18 108
0 257 319 6307 0 1 0 1
52
8 5 14
19722
19 234
6 557 530 9391 1 0 0 1
53
1 3 19
7598
14 26 0 275 296 6194 0 0 1 1
54
13
2 12
22766
22 247
4 606 679 19105
1 0 0 0
55
5 2 11
19382
16 237
2 515 383 6972 1 1 0 1
56
1 7 13
5357
13 34 0 217 262 4320 0 0 1 1
57
2 8 11
9311
14 130
2 301 277 8336 0 1 0 1
58
5 7 2 15799
18 310
7 508 476 6759 1 0 0 0
59
0 6 8 5109
13 88 0 247 235 4169 0 0 1 0
60
7 1 7 18532
20 280
9 531 546 17428
1 0 1 1
61
2 2 7 5161
14 64 1 217 269 4995 0 0 1 1
62
3 5 3 11565
16 175
16
336 356 7352 1 0 1 1
63
11
6 3 19262
22 354
10
618 637 13700
1 0 0 1
6 1 5 7 532 13 70 0 228 244 3170 0 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
122
4 1
65
1 6 12
12094
14 209
1 353 288 5719 0 0 1 1
66
5 6 14
7586
13 34 3 272 250 3669 0 0 1 1
67
7 1 14
23119
22 321
6 593 629 10223
1 0 0 1
68
3 3 19
13125
19 84 2 358 474 9309 1 0 0 1
69
3 5 14
9891
16 65 0 310 349 4234 1 1 0 1
70
5 3 13
21100
20 265
13
553 535 8621 1 0 0 0
71
0 5 20
11896
17 108
1 319 379 5296 1 1 0 1
72
8 2 12
22713
20 293
9 551 484 11440
1 0 0 1
73
3 3 16
8032
15 56 4 275 296 7608 0 0 1 1
74
1 7 19
10426
17 88 8 306 370 5387 1 1 0 1
75
17
3 6 25177
23 270
15
591 627 21198
1 0 0 0
76
2 7 12
10787
17 199
1 330 345 7464 1 0 1 1
77
1 6 12
4424
13 10 0 187 211 3106 0 0 1 1
78
7 6 7 19886
20 303
11
505 519 14158
1 0 0 1
79
4 8 11
15731
20 289
10
467 499 88675
1 0 0 0
80
5 3 9 7334
13 52 2 228 207 5097 0 0 1 1
81
3 8 4 13510
17 221
5 505 483 4897 1 0 0 1
82
3 3 4 5312
12 22 0 210 266 4136 0 1 0 1
83
0 5 6 8316
15 143
0 328 379 4827 0 0 1 1
84
3 3 5 9964
14 163
16
370 340 6757 1 0 0 1
85
2 2 11
5514
14 53 0 293 343 4277 0 0 0 1
86
1 3 17
10437
15 93 2 343 389 4386 1 1 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
123
87
2 3 14
7357
13 31 1 298 285 4278 0 0 1 1
88
5 2 13
17232
17 202
22
549 498 12023
1 0 1 0
89
12
0 9 20112
18 241
13
619 578 11104
1 0 0 1
90
4 2 12
8603
13 47 9 303 303 4657 0 0 1 1
91
3 4 12
7412
15 35 1 268 306 2565 0 0 1 1
92
6 4 8 20054
19 246
2 544 489 10903
1 0 0 0
93
5 2 13
13966
19 92 0 395 491 7474 1 1 0 1
94
1 3 13
12737
16 91 1 350 342 3361 1 1 0 1
95
2 3 2 22857
18 374
13
618 468 11679
1 0 0 1
96
5 5 6 16116
19 329
9 481 483 3899 1 0 0 1
97
4 5 7 13444
18 156
9 409 435 8639 1 0 0 1
98
5 6 6 10221
15 141
9 343 316 8143 1 1 0 1
99
1 2 12
4515
15 66 4 247 325 4094 0 0 1 1
100
0 2 10
9652
15 162
8 328 315 3988 1 0 0 1
101
1 0 12
8837
13 72 0 268 276 1979 1 1 1 1
102
2 1 16
5846
13 36 2 243 265 2873 0 0 1 1
103
8 3 6 19201
18 282
13
566 528 11368
1 0 0 1
104
8 1 10
16201
18 187
6 468 505 12228
1 0 0 1
105
2 4 17
11196
16 151
4 361 419 7131 0 1 0 1
1 2 6 2 619 16 12 0 311 259 2009 0 0 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
124
06
1 1 5
107
3 3 3 12487
17 199
23
407 443 8414 1 0 0 1
108
3 4 4 9398
15 139
3 312 344 3989 1 0 0 1
109
2 3 5 6047
14 90 0 256 293 5072 1 0 1 1
110
1 3 6 12850
16 232
6 426 383 5831 1 0 0 1
111
0 10
4 12943
16 208
0 372 292 5368 1 0 0 1
112
4 6 7 8248
16 123
1 301 306 6842 0 0 1 1
113
10
4 19
20337
21 186
4 434 462 15271
1 0 0 1
114
5 5 6 19053
21 213
11
459 471 15732
1 0 0 1
115
1 6 4 19381
20 257
4 459 463 5204 1 1 0 1
116
3 4 13
7342
17 86 3 306 327 4734 0 0 1 1
117
7 6 10
17874
22 186
4 457 524 8563 1 0 0 1
118
2 4 18
14193
19 142
1 350 411 8646 1 1 0 1
119
1 6 17
7815
16 52 0 254 280 8413 0 1 0 1
120
8 2 6 18674
23 313
7 454 450 19065
1 0 0 1
1 9 1 1 255 20 35 8 540 458 2779 1 0 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
125
21
8 15 7 1
122
8 5 15
16499
21 148
2 443 503 10693
1 1 0 1
123
7 2 14
22833
22 329
8 506 558 13176
1 0 0 1
124
6 2 25
13011
17 28 1 331 348 5543 0 0 1 1
125
6 3 20
17952
22 250
3 448 545 11677
1 0 0 1
126
3 6 7 13476
17 202
16
370 340 7100 1 0 0 1
127
3 7 17
5922
13 74 0 268 275 12037
0 1 0 1
128
3 8 7 15240
17 238
3 383 350 9155 1 0 1 1
129
6 7 5 20307
23 396
13
544 616 15757
1 0 0 1
130
6 7 16
9239
17 26 2 219 303 6070 0 1 0 1
131
9 0 11
10132
13 26 2 395 342 6769 0 0 1 1
132
9 1 9 16904
16 154
14
613 532 15797
1 1 0 1
133
3 1 10
10627
13 65 1 385 330 6069 1 0 1 1
134
4 1 9 18412
16 203
14
667 518 12940
1 0 0 0
135
2 1 12
11943
14 129
5 466 395 6848 0 1 1 1
1 0 4 1 469 13 51 8 247 315 2727 0 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
126
36
2 8
137
2 6 2 8913
13 159
3 375 340 5251 1 0 0 1
138
1 9 0 6948
13 144
0 337 356 5024 0 1 0 1
139
0 2 2 13621
15 249
21
496 431 3977 1 0 0 1
140
1 4 0 6503
11 83 1 281 229 2596 0 0 1 1
141
1 4 1 6449
13 27 4 232 280 4221 0 0 1 1
142
3 2 19
8455
14 82 1 317 344 4700 0 1 0 1
143
1 3 18
15599
17 210
10
489 504 6805 1 0 0 1
144
16
4 10
14767
17 115
17
461 498 19640
1 0 1 1
145
6 3 13
14811
18 215
15
483 535 12292
1 0 0 1
146
4 4 6 11211
15 167
24
388 391 10331
1 0 1 1
147
6 7 4 14178
18 253
11
494 533 7015 1 0 0 1
148
2 7 9 6785
15 122
4 314 358 6281 0 1 0 1
149
1 5 19
6629
12 8 0 270 259 4170 0 1 0 1
150
2 4 10
5420
13 48 0 224 269 4075 0 0 1 1
1 5 1 1 178 20 23 2 454 522 7340 1 0 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
127
51
2 38 5 5
152
7 1 6 19623
20 269
18
549 535 14476
1 0 0 1
153
6 3 13
12303
17 105
5 328 394 1059 1 1 0 1
154
3 7 14
13658
18 181
8 387 422 7950 0 1 0 1
155
4 2 10
4952
11 34 0 239 200 4192 0 0 1 1
156
0 7 9 5095
11 60 2 207 179 3735 0 0 1 1
157
5 10
4 4988
12 79 1 233 217 4884 0 0 1 1
158
5 2 7 19016
20 306
9 504 547 14309
1 0 0 1
159
2 3 6 14989
17 244
10
405 410 9974 1 0 0 1
160
3 5 4 10709
15 140
2 339 329 5958 1 0 0 1
161
2 8 9 4817
13 50 0 255 272 5689 0 0 1 1
162
6 6 5 16243
19 268
2 571 587 10546
1 0 0 1
163
5 5 0 15070
18 256
37
520 514 10308
1 0 0 1
164
0 2 4 9175
13 153
1 334 287 9322 0 0 1 1
165
1 6 7 6499
13 56 1 255 280 4262 0 1 0 1
1 3 2 9 626 14 71 1 276 320 4330 0 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
128
66
3
167
7 2 8 16841
19 205
5 546 611 12774
1 0 0 1
168
8 3 12
14690
19 149
13
470 598 15959
1 0 0 1
169
5 7 6 9799
16 88 4 355 446 7878 0 1 0 1
170
2 0 10
20722
17 372
3 624 469 10047
1 0 1 1
171
5 4 10
11635
18 79 0 367 362 6021 0 0 1 1
172
9 5 14
17545
21 129
6 424 504 12931
1 0 0 1
173
2 1 11
6600
12 46 0 319 265 2373 0 1 0 1
174
5 5 16
23400
21 323
5 554 518 13586
1 1 0 1
175
7 1 8 18255
18 228
9 495 456 14218
1 0 0 1
176
5 9 10
14944
19 215
55
387 414 11992
1 0 0 1
177
6 9 14
4945
13 24 0 234 197 10409
0 0 1 1
178
10
4 10
22227
21 316
10
561 524 15138
1 0 0 1
179
3 4 12
7332
17 83 1 261 291 11140
0 1 0 1
180
6 9 20
16640
20 203
9 447 471 7419 1 0 0 1
1 1 1 2 126 16 34 1 399 362 7894 1 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
129
81
1 8 95
182
7 7 22
17398
20 133
4 461 512 16350
0 1 0 1
183
4 10
14
9112
16 51 5 341 357 11579
0 0 1 1
184
5 5 15
21321
23 314
3 492 496 27049
1 0 0 1
185
8 5 23
22545
22 275
1 593 626 29633
1 0 0 1
186
12
7 10
14159
19 175
9 433 470 28521
1 0 0 1
187
4 7 15
9425
17 96 2 352 387 15923
1 0 1 1
188
4 11
17
6323
15 29 1 244 289 7727 0 0 1 1
189
8 11
15
7519
15 69 1 296 297 18340
1 1 0 1
190
7 6 18
18010
22 315
21
550 657 28598
1 0 0 0
191
3 3 15
9268
13 60 6 322 316 9554 1 0 1 1
192
2 8 5 7614
16 109
1 234 254 5979 1 0 0 0
193
6 3 5 24638
23 471
24
556 520 12547
1 0 0 1
194
4 5 5 16085
18 218
5 334 328 5926 1 0 0 1
195
1 8 8 20586
20 372
21
457 422 4637 1 0 0 1
1 2 4 1 101 16 45 3 262 276 2884 0 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
130
96
4 29
197
4 3 12
14785
17 142
1 336 306 6667 1 1 0 1
198
5 2 11
20987
22 278
8 522 534 16226
1 0 0 1
199
4 1 5 17485
20 268
13
473 550 11547
1 0 0 1
200
6 4 14
18859
21 172
2 380 441 7998 1 1 0 1
201
3 5 21
11531
15 12 0 365 338 5489 1 0 1 1
202
8 4 11
14317
18 174
8 485 521 10570
1 1 0 1
203
2 6 18
7636
13 78 2 319 283 8563 0 1 0 1
204
13
0 8 20344
20 202
0 596 612 9010 1 1 0 1
205
1 1 22
24623
18 410
3 609 596 11980
1 1 0 1
206
2 4 18
8209
13 58 3 356 303 12365
0 0 1 1
207
2 7 6 7609
13 122
1 303 281 6458 1 0 0 1
208
4 7 8 8562
16 155
21
344 399 10653
1 0 0 1
209
1 5 7 12306
15 224
19
388 372 6917 1 0 0 1
210
4 4 8 12227
17 181
23
391 429 6799 1 0 0 1
2 7 7 1 167 21 25 1 459 498 1376 1 0 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
131
11
2 14 0 1 7
212
9 2 12
25831
23 402
16
646 584 18093
1 0 0 1
213
4 8 14
12872
18 215
3 374 395 9152 1 0 0 1
214
3 4 12
7939
16 93 1 271 294 5002 0 1 1 1
215
2 4 20
7625
16 40 0 248 288 5929 1 0 1 1
216
2 7 21
16382
18 244
0 244 373 6664 1 0 0 1
217
4 5 16
20176
20 238
14
238 472 12278
1 0 0 1
218
8 3 13
21835
22 295
30
513 538 13839
1 0 0 1
219
8 7 10
17377
18 73 1 392 388 7451 1 0 0 1
220
2 6 14
8940
16 65 1 311 308 6759 1 1 0 1
221
2 4 19
12326
17 45 3 330 300 6525 1 0 1 1
222
2 10
13
15469
18 164
6 372 357 6866 1 0 0 1
223
7 8 11
19676
21 301
37
469 473 24486
1 0 0 1
224
2 2 10
19139
18 243
6 513 444 8779 1 0 0 1
225
5 6 10
24542
20 286
5 498 420 12691
1 0 0 1
2 5 7 1 168 20 22 1 408 425 1060 1 1 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
132
26
4 60 8 4
227
4 6 17
8407
16 60 0 239 266 10802
0 0 1 1
228
6 7 13
23114
23 431
14
568 566 16005
1 0 0 1
229
11
4 15
23247
24 345
6 524 582 22427
1 0 0 0
230
3 7 20
8714
16 42 1 251 273 11929
0 0 1 1
231
14
2 7 17595
17 178
25
609 530 15685
1 0 0 0
232
3 1 12
17015
18 242
6 574 601 7994 1 0 0 1
233
5 0 16
12137
15 85 7 406 448 7420 1 0 0 1
234
2 3 9 7085
13 30 1 283 309 2463 0 1 0 1
235
4 1 16
8229
11 0 1 322 257 3703 0 0 1 1
236
2 2 18
8660
12 35 1 301 265 7676 0 1 0 1
237
1 6 3 11600
15 207
9 444 442 2845 1 0 0 1
238
1 2 5 9914
11 134
0 363 244 4115 1 0 0 1
239
1 7 10
6841
14 85 1 257 273 6293 0 0 1 1
240
3 5 3 6967
13 141
10
357 334 7852 1 0 0 1
2 5 4 5 196 19 33 1 494 468 1392 1 0 1 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
133
41
42 4 3 1
242
3 3 5 15656
17 246
9 389 376 9195 1 0 0 1
243
1 7 6 12350
16 183
1 329 342 4838 1 0 0 1
244
2 7 7 6055
14 34 4 201 240 4946 0 0 1 1
245
2 7 3 6168
13 79 0 233 232 4048 1 0 0 1
246
0 2 14
8172
13 57 2 265 209 3972 0 0 1 1
247
10
0 13
17162
17 177
6 498 468 19808
1 0 0 1
248
5 3 11
16135
18 172
0 393 413 8466 1 0 0 1
249
4 5 10
8625
14 16 1 256 246 4985 0 0 1 1
250
8 2 13
24624
22 328
6 603 611 16186
1 0 0 1
251
0 6 1 7476
11 125
4 406 362 4740 1 0 1 1
252
0 4 8 4378
11 82 4 281 303 5080 1 0 0 1
253
0 5 0 5269
11 101
6 303 329 3631 1 0 0 1
254
3 4 14
6974
15 45 0 249 307 7010 0 0 1 1
255
4 5 29
8293
18 63 4 296 354 9666 0 0 1 1
2 1 0 1 427 11 43 2 278 330 4093 0 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
134
56
5 7
257
7 0 12
9527
14 96 9 437 551 9781 1 0 1 1
258
11
1 11
10567
13 106
12
520 457 10383
1 0 0 1
259
6 1 14
6055
12 25 1 310 391 5884 0 1 1 1
260
3 0 16
8397
13 96 1 397 467 6260 1 0 0 1
261
3 4 13
7146
13 54 3 288 341 4426 0 0 1 1
262
8 1 12
20021
20 221
5 679 738 14988
1 0 0 1
263
2 3 11
6834
13 42 1 278 314 3054 0 0 1 1
264
6 7 12
9419
13 96 2 373 308 7289 1 0 0 1
265
5 3 14
14738
17 203
5 520 524 9707 1 0 0 1
266
4 1 7 9653
14 96 0 338 390 5182 1 0 1 1
267
4 3 10
12214
17 187
15
466 520 6408 1 0 0 0
268
2 4 9 9909
15 151
9 416 426 9649 1 0 0 1
269
2 6 8 5603
10 45 2 244 309 5498 1 0 1 1
270
5 5 7 7592
15 73 10
343 393 7404 1 0 0 1
2 1 5 1 691 13 67 0 296 327 6706 0 1 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
135
71
8 0
272
7 4 3 16044
19 265
0 465 475 16801
1 0 0 0
273
3 5 4 13473
18 261
18
422 415 8750 1 0 0 1
274
1 7 8 4607
13 49 3 204 230 6123 0 0 1 1
275
1 6 9 9730
16 139
6 310 351 9601 1 0 0 1
276
6 3 14
18419
22 278
8 531 628 13908
1 0 0 1
277
9 3 13
19294
21 248
2 525 564 19504
1 0 0 1
278
2 2 19
8182
16 15 1 258 365 7383 0 0 1 1
279
9 4 18
25257
21 336
17
665 593 19453
1 0 0 1
280
8 3 18
8836
16 17 2 294 330 12550
0 1 1 1
281
3 7 0 10886
15 178
12
434 437 5645 1 0 0 1
282
0 2 2 12554
14 194
11
469 401 4300 1 0 0 1
283
1 3 9 5134
10 48 3 220 232 6103 0 1 1 1
284
3 5 7 7435
13 79 4 296 312 10763
0 1 0 1
285
2 6 1 7881
13 160
5 341 357 2695 1 1 0 1
2 3 2 9 581 11 40 0 251 241 3779 0 0 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
136
86
9
287
9 0 4 17981
18 233
7 639 616 8531 1 0 0 1
288
2 2 9 4621
11 35 0 242 235 4515 0 1 1 1
289
1 2 9 8898
13 95 6 315 335 3780 1 0 0 1
290
6 1 12
15626
17 224
11
556 537 27391
1 0 0 1
291
3 0 11
16878
17 192
15
477 469 17374
1 0 0 1
292
0 3 9 9576
13 124
5 328 276 5781 0 1 1 1
293
2 3 11
8162
15 58 4 300 341 7863 0 0 1 1
294
6 0 5 20193
17 239
5 574 470 16282
1 0 0 0
295
7 2 4 15881
17 192
11
481 427 10540
1 0 1 1
296
0 8 5 4332
11 55 1 194 189 2940 0 1 1 1
297
4 2 3 15984
19 244
4 471 536 16712
1 0 0 1
298
1 3 19
5915
13 33 5 300 396 7213 0 1 1 1
299
0 1 5 11289
13 154
2 332 285 9550 1 0 1 1
300
3 5 2 11458
16 206
11
403 401 10600
1 0 0 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI