PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir...

153
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

Transcript of PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir...

Page 1: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 2: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 3: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 6: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 9: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 10: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 11: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 12: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 13: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 14: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 15: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 16: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 17: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 18: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 19: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 20: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 21: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 22: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 23: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 24: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 25: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 26: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 27: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 28: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 29: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 30: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 31: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 32: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 33: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 34: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 35: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 36: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 37: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 38: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 39: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 40: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 41: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 42: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 43: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 44: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 45: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 46: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 47: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 48: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 49: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 50: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 51: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

34

Gambar 3. 2 Diagram blok proses clustering

Gambar 3. 3 Diagram blok proses perhitungan akurasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 53: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 54: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 55: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 56: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 57: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 58: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 59: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 60: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 61: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 62: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 63: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 64: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 65: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 66: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 67: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 68: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 69: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 70: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 71: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 72: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 73: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 74: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 75: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 76: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 77: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 78: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 79: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 80: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 81: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 82: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 83: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 84: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 85: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 86: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 87: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 88: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 89: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 90: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 91: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 92: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 93: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 94: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 95: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 96: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 97: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 98: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 99: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 100: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 101: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 102: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 103: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 104: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 105: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 106: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 107: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 108: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 109: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 110: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 111: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 112: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 113: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 114: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 115: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 116: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 117: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 118: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 119: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 120: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 121: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 122: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 123: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 124: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 125: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 126: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 127: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 128: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 129: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 130: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 131: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 132: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 133: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 134: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 135: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 136: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 137: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 138: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 139: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 140: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 141: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 142: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 143: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 144: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 145: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 146: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 147: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 148: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 149: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 150: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 151: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 152: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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

Page 153: PENGELOMPOKAN PERAN PEMAIN DOTA 2 DALAM ...repository.usd.ac.id/9156/2/125314137_full.pdftugas akhir yang berjudul “ Pengelompokan Peran Pemain DOTA 2 Pertandingan International

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