163
i KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ALGORITMA DECISION TREE SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Oleh: Hieronymus Dimas Febrianto 065314024 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010

KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

i

KLASIFIKASI POSISI PEMAIN NBA

MENGGUNAKAN ALGORITMA DECISION

TREE

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

Oleh:

Hieronymus Dimas Febrianto

065314024

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2010

Page 2: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

ii

POSITION CLASSIFICATION NBA PLAYERS

USE THE DECISION TREE ALGORITHM

A Thesis

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Department of Informatics Engineering

By:

Hieronymus Dimas Febrianto

065314024

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

2010

Page 3: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

iii

Page 4: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

iv

Page 5: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

v

HALAMAN PERSEMBAHAN

JANGAN MENYESAL MELIHAT MASA LALU

JANGAN TAKUT MELIHAT MASA DEPAN

TETAPI LIHATLAH SEKELILINGMU DENGAN

PENUH KESADARAN

Skripsi ini saya persembahkan untuk:

Yesus Kristus

Keluarga, Kekasih, Sahabat dan Temen-Temen

Terima Kasih Semua…..

Page 6: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini

tidak memuat karya orang lain, kecuali yang telah disebutkan dalam

kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 22 September 2010 Penulis

Hieronymus Dimas Febrianto

Page 7: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

vii

“Klasifikasi Posisi Pemain NBA Menggunakan

Algoritma Decision Tree”

Abstraksi

Basket merupakan olah raga yang terdiri dari dua tim yang masing-masing

tim terdiri dari lima orang yang bertanding mencetak poin dengan cara

memasukan bola kedalam keranjang lawan. NBA (National Basketball

Association) adalah liga basket pria di Amerika Serikat. Untuk dapat

memenangkan kompetisi, dibutuhkan strategi dan penempatan posisi dengan

tepat agar setiap pemain dapat melakukan tugasnya dengan maksimal.

Untuk mencari posisi yang terbaik dari seorang pemain dapat

menggunakan teknik data mining untuk keperluan klasifikasi. Klasifikasi adalah

penggolongan data ke dalam kelas tertentu berdasarkan nilai atribut atau

supervised classification. Salah satu metode dari klasifikasi adalah decision tree

menggunakan struktur pohon atau struktur berhirarki.

Pada TGA ini, algoritma decision tree yang digunakan adalah C 4.5

dengan mengunakan atribut: point per game, presentase free throw, presentase

field goal, presentase 3 point, assist per game, blok per game, steal per game,

turn over per game, personal foul per game, offensive rebound, defensive

rebound, total rebound, berat badan dan tinggi badan. Masing-masing atribut

dibagi menjadi 3 kelompok: jelek, sedang dan bagus. Data yang digunakan

diambil dari www.nba.com pada tanggal 11 September 2009 yang merupakan

data musim kompetisi 2008/2009.

Proses pengujian menggunakan teknik 5 cross validation dan akurasi

dihitung dengan membandingkan data hasil output program dengan data asli.

Hasil pengujian akurasi yaitu 86.3%, 86.3%, 77.5%, 87.8%, 73.8% den

menghasilkan rerata 82,2%. Berdasar hasil akurasi, sistem bekerja cukup baik.

Page 8: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

viii

"Position Classification NBA Players Use the

Decision Tree Algorithm"

Abstraction

Basketball is a sport which consists of two teams, each consisting of five

members who played scored points by way of entering the ball into the opponent's

basket. NBA (National Basketball Association) is a male basketball league in the

United States. To be able to win the competition, needed a strategy and placement of

the appropriately so that each player can perform their duties with maximum.

To find the best position of a player can use data mining.

To search best position from player can use data mining technique for

classification. One method of classification is a decision tree using the tree structure

or hierarchy.

In this thesis, the decision tree algorithm used is C 4.5 that have attributes:

points per game, free throw percentage, field goal percentage, three percentage

points, assists per game, blocks per game, steals per game, turn over per game,

personal Foul-per game, offensive rebounds, defensive rebounds, total rebounds, the

body weight and height. Each attribute is divided into three groups: poor, moderate

and good. Data was taken from www.nba.com at September 11, 2009. The used data

is data in season competition 2008/2009.

Testing process using five cross validation technique and accuracy is counted

by comparing the output data from the program with the original data. Results of

accuracy testing is 86, 3%, 86.3%, 77.5%, 87.8% , 73.8% which give average 82.2%.

Based on test result, the system worked pretty well.

Page 9: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

ix

HALAMAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:

Nama : Hieronymus Dimas Febrianto

No : 065314024

Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul:

Klasifikasi Posisi Pemain NBA

Menggunakan Algoritma Decision Tree

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan

dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data,

mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain

untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan

royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal: 22 September 2010

Yang menyatakan

(Hieronymus Dimas Febrianto)

Page 10: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

x

Kata Pengantar

Puji syukur kepada Yesus Kristus yang telah memberikan karunia dan

kesempatan sehingga penulis dapat menyelesaikan skripsi dengan judul “Klasifikasi

pemain basket NBA dengan menggunakan Decision Tree”.

Terima kasih sebesar-besarnya kepda semua pihak yang turut memberikan

dukungan, semangat dan bantuan sehingga selesainya skripsi ini:

1. Tuhan Yesus Kristus yang telah memberikan semuanya sehingga penulis

bisa menyelesaikan tugas akhir ini.

2. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T. selaku dosen pembimbing

atas kesabaran, bimbingan, waktu dan saran yang diberikan.

3. Laboran komputer atas bantuan kepada penulis ketika melakukan ujian

akhir.

4. Kedua orang tua, papa Sri Sumanto, S.E., M.M. dan mama Wiwing

Mardewi, S. Sos, M.Sos yang telah memberikan semangat, perhatian dan

doa sehingga penulis dapat menyelesaikan tugas akhir ini.

5. Semua saudara, kakak Pricila Prima Devinta, S.Psi dan mas Untoro Adi,

S.S., M.S yang telah memberikan semangat, perhatian dan doa sehingga

penulis dapat menyelesaikan tugas akhir ini.

6. Kekasihku tercinta, Agatha Widyastuti, atas semangat, perhatian, dan

motivasinya.

7. Sahabat dan teman-teman, A. Cahyo Ridho dan Andreas Hermawan

selaku teman seperjuangan dalam menyelesaikan tugas akhir ini.

Page 11: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xi

8. Semua pihak yang berperan baik secara langsung maupun tidak langsung

sehingga penulis dapat menyelesaikan tugas akhir ini

Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada

laporan tugas akhir ini. Saran dan kritik saya harapkan untuk perbaikan-perbaikan

pada masa yang akan datang. Semoga bermanfaat.

Yogyakarta, 22 September 2010

Penulis

(Hieronymus Dimas Febrianto)

Page 12: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xii

DAFTAR ISI

Bab Judul Halaman

Halaman Judul……………………………………………………………... i

Halaman Judul……………………………………………………………... ii

Halaman Persetujuaan……………………………………………………… iii

Halaman Pengesahan……………………………………………………..... iv

Halaman Persembahan……………………………………………………... v

Pernyataan Keaslian Karya………………………………………………… vi

Abstraksi…………………………………………………………………… vii

Abstract…………………………………………………………………….. viii

Halaman Persetujuan Publikasi……………………………………………. ix

Kata Pengantar……………………………………………………………... x

Dafar Isi……………………………………………………………………. xii

Daftar Gambar……………………………………………………………... xvi

Daftar Tabel………………………………………………………………... xix

1 Pendahuluan………………………………………………………………... 1

1.1 Latar Belakang Masalah…………………………………………………... 1

1.2 Rumusan Masalah………………………………………………………….. 2

1.3 Batasan Masalah…………………………………………………………… 2

1.4 Tujuan ……………………………………………………………………... 3

1.5 Metodologi…………………………………………………………………. 3

1.6 Sistematika Penulisan……………………………………………………… 4

2 Landasan Teori…………………………………………………………….. 5

2.1 Basket………………………………………………………………………. 5

2.2 Klasifikasi………………………………………………………………….. 8

2.3 Metode Decision Tree……………………………………………………… 9

2.3.1 Pengertian Decision Tree…………………………………………………... 9

2.3.2 Konsep Decision Tree……………………………………………………… 10

Page 13: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xiii

2.3.3 Jenis-jenis Decision Tree…………………………………………………... 10

2.3.4 Algoritma C.4.5……………………………………………………………. 11

2.3.5 Contoh Pembuatan Tree dengan Algoritma Decicoin Tree………………... 14

2.4 Model Evaluasi 5 Cross Validation………………………………………... 25

3 Analisa dan Perancangan…………………………………………………... 29

3.1 Analisa Sistem Secara Umum……………………………………………… 29

3.1.1 Analisa Preprocessing……………………………………………………… 30

3.2 Analisa Algoritma C.4.5…………………………………………………… 32

3.3 Use Case…………………………………………………………………… 34

3.3.1 Diagram Use Case…………………………………………………………. 34

3.3.2 Narasi Use Case……………………………………………………………. 35

3.3.3 Activity Diagram…………………………………………………………... 35

3.4 Model Analisis……………………………………………………………... 36

3.4.1 Realisasi Use Case…………………………………………………………. 36

3.4.2 Diagram Kelas Analisis Keseluruhan……………………………………… 36

3.5 Model Desain………………………………………………………………. 36

3.5.1 Atribut dan Method………………………………………………………… 36

3.5.2 Rancangan Interface.………………………………………………………. 37

3.6 Metode Evaluasi Tree……………………………………………………… 37

3.7 Metode Evaluasi 5 Cross Validation………………………………………. 38

4 Implementasi dan Analisa Sistem…………………………………………. 40

4.1 Implementasi………………………………………………………………. 40

4.1.1 Implementasi Data...……………………………………………………….. 40

4.1.2 Implementasi File………………………………………………………….. 40

4.1.3 Implementasi Antar Muka…………………………………………………. 41

4.2 Pengujian Hasil Tree……………………………………………………….. 41

4.2.1 Pengelompokan Data………………………………………………………. 41

4.2.2 Hasil Tree dari Perhitungan Manual……………………………………….. 43

Page 14: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xiv

4.2.3 Hasil Tre dari Program…………………………………………………….. 48

4.2.4 Perbandingan Hasil Tree…………………………………………………… 53

4.2.5 Analisa Tree………………………………………………………………... 53

4.3 5 Cross Validation…………………………………………………………. 54

4.3.1 Penentuan 5 Kelompok Data………………………………………………. 54

4.3.2 Pengujian dan Perhitungan Akurasi……………………………………….. 54

5 Kesimpulan dan Saran……………………………………………………... 56

5.1 Kesimpulan………………………………………………………………… 56

5.2 Saran……………………………………………………………………….. 57

Daftar Pustaka……………………………………………………………… 58

1 Lampiran 1: Narasi Use Case……………………………………………… 59

1.1 Narasi Use Case Create Tree………………………………………………. 60

1.2 Narasi Use Case Personal Klasifikasi……………………………………… 62

1.3 Narasi Use Case Group Klasifikasi...……………………………………… 63

1.4 Narasi Use Case Setting Atribut…..…..…………………………………… 65

2 Lampiran 2: Activity Diagram…………………………………………….. 67

2.1 Activity Diagram Create Tree……….………..……………………………. 68

2.2 Activity Diagram Personal Klasifikasi…….….…………………………… 69

2.3 Activity Diagram Group Klasifikasi…………..…………………………… 70

2.4 Activity Diagram Setting Atribut….…………………….………………… 71

3 Lampiran 3: Model Analisis……………………………………………….. 72

3.1 Sequnence Create Tree……….………..…………………………………... 73

3.2 Sequnence Personal Klasifikasi…….….…………………………………... 74

3.3 Sequnence Group Klasifikasi…………..………………………………….. 76

3.4 Sequnence Setting Atribut….…………………….………………………... 77

4 Lampiran 4: Diagram Kelas Keseluruhan…………………………………. 79

4.1 Diagram Kelas Keseluruhan…………….…………………………………. 79

5 Lampiran 5: Atribut dan Method…………………………………………... 80

Page 15: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xv

5.1 Player………………………………………………………………………. 81

5.2 PlayerK…………………………………………………………………….. 83

5.3 Tree………………………………………………………………………… 86

5.4 enumData………………………………………………………………….. 86

5.5 enumKategori……………………………………………………………… 87

5.6 enumPosisi…………………………………………………………………. 87

5.7 Tools……………………………………………………………………….. 87

5.8 HomeForm…………………………………………………………………. 94

5.9 Create TreeForm…………………………………………………………… 96

5.10 Personal Klasifikasi Form…………………………………………………. 106

5.11 Group Klasifikasi Form……………………………………………………. 111

5.12 Setting Form……………………………………………………………….. 119

6 Lampiran 6: Rancangan Interface………………………………………….. 123

6.1 Halaman Home…………………………………………………………….. 124

6.2 Halaman Create Tree………………………………………………………. 125

6.3 Halaman Personal Klasifikasi……………………………………………… 125

6.4 Halaman Group Klasifiaksi………………………………………………... 126

6.5 Halaman Setting……………………………………………………………. 127

7 Lampiran 7: Implementasi Interface………………………………………. 129

7.1 Halaman Home…………………………………………………………….. 129

7.2 Halaman Create Tree………………………………………………………. 130

7.3 Halaman View Tree………………………………………………………... 134

7.4 Halaman Personal Klasifikasi……………………………………………… 135

7.5 Halaman Group Klasifikasi………………………………………………... 136

7.6 Halaman Settng……………………………………………………………. 139

7.7 Halaman About……………………………………………………………. 140

7.8 Halaman Help……………………………………………………………… 141

8 Lampiran 8: Tabel Keputusan……………………………………………… 142

Page 16: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xvi

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Konsep Decision Tree…………………………………………... 10

2.2 Tree Node 1……………………………………………………... 19

2.3 Tree Node 2……………………………………………………... 22

2.4 Tree Node 3……………………………………………………... 24

2.5 Pembagian data statistic pemain ke dalam 5 kelompok data…… 25

2.6 Metode Evaluasi 5 Cross Validation pengujian 1………………. 26

2.7 Metode Evaluasi 5 Cross Validation pengujian 2………………. 26

2.8 Metode Evaluasi 5 Cross Validation pengujian 3………………. 27

2.9 Metode Evaluasi 5 Cross Validation pengujian 4………………. 27

2.10 Metode Evaluasi 5 Cross Validation pengujian 5………………. 28

3.1 Alur sistem klasifikasi pemain secara umum…………………… 29

3.2 Alur pre-processing……………………………………………... 30

3.3 Algoritma Decision Tree C 4.5…………………………………. 33

3.5 Use Case ………………………………………………………... 34

3.6 Pengelompokan Data Untuk Proses Evaluasi Tree……………... 37

3.7 Pengelompokan Data Untuk Proses Evaluasi…………………... 38

4.1 Pengelompokan Data Untuk Proses Evaluasi Tree……………... 41

4.2 Tree manual 1…………………………………………………… 43

4.3 Tree manual 2…………………………………………………… 44

4.4 Tree manual 3…………………………………………………… 45

4.5 Tree manual 4…………………………………………………… 46

4.6 Tree manual 5…………………………………………………… 47

4.7 Tree program 1…………..……………………………………… 48

4.8 Tree program 2……………..…………………………………… 49

4.9 Tree program 3………………………………………………….. 50

Page 17: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xvii

4.10 Tree program 4………………………………………………….. 51

4.11 Tree program 5………………………………………………….. 52

4.12 Pengelompokan Data Untuk Proses Evaluasi…………………... 54

2.1 Diagram Activity Create Tree…………………………………... 69

2.2 Diagram Activity Personal Klasifikasi………………………….. 70

2.3 Diagram Activity Group Klasifikasi……………………………. 71

2.4 Diagram Activity Setting……………………………………….. 72

3.1 Sequence Create Tree…………………………………………… 75

3.2 Sequence Personal Klasifikasi………………………………….. 76

3.3 Sequence Group Klasifikasi…………………………………….. 78

3.4 Sequence Setting………………………………………………... 79

4.1 Diagram Kelas Keseluruhan……………………………………. 80

6.1 Design Interface Home…………………………………………. 125

6.2 Design Interface Group Klasifikasi……………………………... 126

6.3 Design Interface Personal Klasifikasi…………………………... 127

6.4 Design Interface Setting………………………………………… 128

7.1 Halaman Home…………………………………………………. 131

7.2 Halaman Create Tree (sebelum data diinputkan)………………. 131

7.3 Kotak file selector untuk mengambil data……………………… 132

7.4 Pemberitahuan file sudah diinputkan…………………………… 132

7.5 Halaman Create Tree (setelah data diinputkan)………………… 133

7.6 Pemberitahuan file telah selesai di-preprocessing……………… 133

7.7 Halaman Create Tree (setelah dilakukan preprocessing)……….. 134

7.8 Pemberitahuan Tree sudah terbentuk…………………………… 134

7.9 Halaman View Tree…………………………………………….. 135

7.10 Halaman Personal Klasifikasi…………………………………... 136

7.11 Halaman Group Klasifikasi Gambar……………………………. 137

7.12 File selector untuk memilih file yang akan diklasifikasi……….. 137

Page 18: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xviii

7.13 Pemberitahuan File telah diinputkan……………………………. 138

7.14 Halaman Group Klasifikasi ( Setelah file diinputkan)………….. 138

7.15 Pemberitahuan file telah diinputkan…………………………….. 138

7.16 Halaman Group Klasifikasi ( Setelah proses Klasifikasi)………. 139

7.17 Pemberitahuan telah dilakukan preses Klasifikasi……………… 139

7.18 Halaman Setting………………………………………………… 140

7.19 Halaman About…………………………………………………. 141

7.20 Halaman Help…………………………………………………… 142

Page 19: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

xix

DAFTAR TABEL

Tabel Keterangan Halaman

2.1 Data Asli Statistik Pemain……………………………….. 13

2.2 Data Preprocessing Statistik Pemain……………………… 15

2.3 Data Pengelompokan Statistik Pemain Node 1…………… 16

2.4 Data Pengelompokan Statistik Pemain Node 2…………… 20

2.5 Data Pengelompokan Statistik Pemain node 3……………. 23

3.1 Pengelompokan Data Statistik Pemain……………………. 30

3.2 Tabel Use Case…………………………………………… 35

5.1 Implementasi File………………………………………… 41

5.2 Perbandingan Tree ………………………………………... 53

5.3 Akurasi Program…………………………………………... 55

Lampiran :

3.1 Kelas Analisis Create Tree………………………………... 74

3.2 Kelas Analisis Personal Klasifikasi……………………….. 76

3.3 Kelas Analisis Group Klasifikasi………………………….. 77

3.4 Kelas Analisis Setting……………………………………... 78

L8 Tabel Keputusan…………………………………………... 143

Page 20: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

1

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG MASALAH

Bola basket adalah olahraga bola berkelompok yang terdiri atas dua tim

beranggotakan masing-masing lima orang yang saling bertanding mencetak poin

dengan memasukkan bola ke dalam keranjang lawan. Sekarang hampir di setiap

negara telah mempunyai team basket dan liga basket, seperti NBA (national

basketball association). NBA adalah liga bola basket pria di amerika serikat.

Untuk memenangkan kompetisi, meraih banyak kemenangan merupakan syarat

penting. Tetapi dalam pertandingan bola basket banyak faktor yang menentukan

menang kalah suatu team, baik dari segi strategi maupun penempatan posisi

pemain. Tetapi tidak semua pelatih mampu menempatan posisi pemainnya

dengan tepat sehingga pemain tidak dapat melakukan tugasnya dengan

maksimal.

Data mining adalah teknik untuk menambang (mining) pengetahuan dari

sekumpulan data yang sangat besar. Data mining diterapkan untuk menarik

pengetahuan yang tersembunyi. Teknik data mining terdiri dari: asosiasi,

klastering dan klasifikasi. Asosiasi digunakan untuk mengenali kelakuan dari

kejadian-kejadian khusus atau proses dimana link asosiasi muncul pada setiap

kejadian. Klastering adalah memaksimalkan kesamaan antar anggota satu kelas

dan meminimumkan kesamaan antar cluster. Klasifikasi adalah menggolongkan

data ke dalam kelas tertentu berdasarkan nilai atribut atau supervised

classification. Salah satu metode dari klasifikasi adalah decision tree. Decision

tree adalah model klasifikasi menggunakan struktur pohon atau struktur

berhirarki.

Page 21: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

2

Dengan adanya data statistik pemain NBA, masalah penempatan posisi

pemain bisa diselesaikan dengan data mining. Masalah penempatan pemain

diselesaikan dengan teknik klasifikasi dan metode decision tree. Data statistik

pemain akan digolongkan ke dalam kelas tertentu berdasarkan nilai atribut. Hasil

metode ini akan membantu pelatih dalam menentukan penempatan pemain

dengan tepat.

1.2 RUMUSAN MASALAH

1. Bagaimana membuat software untuk klasifikasi pemain NBA agar dapat

menempatkan posisi pemain dengan tepat?

2. Bagaimana mengaplikasikan data mining dengan metode decision tree

dalam olahraga basket?

1.3 BATASAN MASALAH

1. Data yang digunakan adalah data statistik pemain NBA. Data training

yang digunakan adalah data statistik NBA pada musim kompetisi 2008-

2009.

2. Algoritma yang akan digunakan adalah decision tree dan teknik decision

tree yang dipakai adalah C4.5.

3. File inputan berupa file dengan format .csv

4. Atribut-atribut yang akan dipilih adalah: point per game, presentase free

throw, presentase field goal, presentase 3 point, assist per game, blok per

game, steal per game, turn over per game, personal foul per game,

offensive rebound, defensive rebound, total rebound, berat badan dan

tinggi badan.

5.

Page 22: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

3

6. Pengelompokan posisi pemain basket dibagi menjadi 3, yaitu guard,

forward dan center.

1.4 TUJUAN

1. Membuat software untuk klasifikasi posisi pemain NBA dengan

menggunakan decisioin tree, yang dapat membantu pelatih atau user

dalam menempatkan posisi pemain dengan tepat.

1.5 METODOLOGI

1. Referensi (Literatur)

Metode yang dilakukan dengan membaca dokumen, file, maupun referensi

buku yang telah ada, maupun sumber lain yang berkenaan dengan objek

yang sedang dibutuhkan.

2. Perancangan Sistem

Setelah memulai tahap literatur, selanjutnya dilakukan perancangan sistem

yang akan dibuat dengan metode berbasis objek. Proses perancangan ini

mempunyai beberapa tahap, yaitu pembuatan:

a. Use case

b. Narasi Use case

c. Activity Diagram

d. Model Analisis

Relasi Use Case

Diagram Kelas Analisis Keseluruhan

e. Model Desain

Atribut dan Method

Rancangan Interface

3. Implementasi

Page 23: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

4

Tahap ini adalah penerapan desain kedalam bentuk program dengan

memanfaatkan bahasa pemrograman yang ada berdasarkan perancangan

system.

4. Pengujian

Tahap ini akan dilakukan pengujian terhadap hasil tree dengan cara

membandingkan dengan perhitungan secara manual dan pengujian akurasi

program dengan 5 cross validation.

1.6 SISTEMATIKA PENULISAN

BAB I. PENDAHULUAN

Bab ini berisi latar belakang masalah, rumusan masalah, batasan masalah,

tujuan, metode penelitian dan sistematika penulisan.

BAB II. LANDASAN TEORI

Bab ini berisi tentang dasar teori yang mendukung pembuatan tugas akhir ini.

BAB III. ANALISA DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisi system dan membahas perancangan secara garis

besar dalam menampilkan klasifikasi yang akan dibuat.

BAB IV. IMPLEMENTASI DAN ANALISA HASIL

Menjelaskan mengenai implementasi rancangan (desain) ke dalam bentuk

utilitas yang nyata yang dapat dipergunakan secara langsung. Bab ini juga

berisi tentang hasil uji coba program yang telah dibuat dan membahas

kelebihan maupun kekurangan program. Serta menentukan dukungan

software terhadap program yang telah dibuat.

BAB V. KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dan saran.

Page 24: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

5

BAB II

LANDASAN TEORI

2.1 Basket

Basket adalah permainan yang membutuhkan kecepatan (tidak hanya

fisik, tapi juga kecepatan dalam berpikir), kekuatan, dan juga mengerti dasar-

dasar dalam permainan ini. Dalam basket ada beberapa posisi pemain yang

disesuaikan dengan skill dan juga postur tubuh. Orang yang mempunyai postur

tubuh tinggi di dalam team akan menempati posisi forward atau center.

Sedangkan orang mempunyai postur badan lebih kecil dan biasanya didukung

oleh kemampuan dribbling atau membawa bola yang baik akan menempati

posisi guard. Berikut ini merupakan posisi standart basket yang digunakan di

NBA:

Guard

Posisi ini lebih sering berada di luar key hole atau perimeter area. Pada

posisi guard biasanya dibagi menjadi 3 bagian:

Point guard

Kebanyakan tim menempatkan pemain mereka yang paling kecil

dan paling cepat untuk posisi ini. Guard lebih sedikit beradu

kontak fisik dengan pemain lawan dibandingkan dengan posisi

forward dan center. Bertugas mengatur permainan dengan

mengatur strategi yang akan diterapkan dengan menerapkan

pola-pola permainan. Biasanya mempunyai kemampuan dribble

paling baik. Point guard seharusnya menjadi yang terdepan

dalam memberikan assist di dalam timya.

Page 25: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

6

Shooting guard

Tugas utama dari Shooting guard adalah sebagai penembak/

shooter baik 2 point maupun 3 point. Walaupun tugas utamanya

adalah menembak bola, tidak jarang shooting guard melakukan

drive dan layup. Tetapi diharapkan juga dapat membuat screen

dan mempunyai kemampuan rebound yang baik.

Small forward

Tugas utama dari small forward adalah drive/ menusuk ke

pertahanan lawan dan melakukan layup. Small forward biasanya

mencetak 2 point. Walaupun tugas utamanya adalah drive dan

layup, tidak jarang small foward melakukan shooting. Small

forward diharapkan juga dapat membuat screen dan mempunyai

kemampuan rebound yang baik.

Forward/ Power Forward

Kebanyakan forward mempunyai postur badan yang lebih besar dan lebih

kuat dibandingkan posisi guard dan mempunyai kemampuan rebound

yang lebih baik dibandingkan guard. Tugas utama mereka adalah

melakukan rebound dan bekerja di paint area. Forward diharuskan

memiliki kemampuan menembak medium yang baik karena akan lebih

banyak berada di dekat ring.

Center

Biasanya mereka pemain yang paling tinggi dan paling besar dalam team.

Pemain ini bertanggung jawab dalam melakukan rebound dan bermain di

area key hole, center harus dapat memperjuangkan rebound dan bermain

di bawah ring.

Selain posisi pemain, istilah-istilah dalam basket pun perlu dimengerti. Istilah-

istilah dibawah ini biasanya istilah yang terdapat dalam statistik di NBA.

Page 26: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

7

Point adalah ketika pemain berhasil memasukan bola ke dalam

keranjang.

Point Per Game (PPG) adalah rata-rata point yang dihasilkan dalam 1

pertandingan.

Free Throw adalah lemparan bebas. Free throw terjadi ketika pemain

yang akan memasukan bola ke keranjang dilanggar oleh pemain lawan.

Presentase Free Throw (FT%) adalah presentase lemparan bebas.

Field Goal adalah point yang dihasilkan selain point dari free throw.

Presentase Field Goal (FG%)adalah presentase point yang dihasilkan

selain point dari free throw.

3 Point adalah lemparan 3 angka, 3 point terjadi ketika pemain

melakukan shooting diluar garis 3 point dan berhasil masuk ke dalam

keranjang.

Presentase 3 Point (3P%) adalah presentase lemparan 3 angka

Assist adalah dimana pemain mengoper bola kepada temannya, dan

pemain yang mendapat bola operan dari temannya itu tanpa men-dribble

(memantulkan bola ke tanah) langsung memasukkan bola kedalam jaring.

Assist Per Game adalah rata-rata jumlah assist yang dilakukan dalam 1

pertandingan.

Block adalah dimana seorang pemain bertahan melakukan lompatan dan

berhasil menghalang/menahan bola yang sedang dilempar oleh pihak

lawan atau penyerang, sehingga bola tidak berhasil melaju dan masuk

kedalam ring.

Blok Per Game adalah rata-rata jumlah blok yang dilakukan dalam 1

pertandingan.

Steal adalah dimana seorang pemain bertahan berhasil merebut bola yang

sedang dipegang, dioper atau di-dribble pihak lawan, tetapi tidak

menyentuh tangan lawan.

Page 27: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

8

Rebound adalah dimana seorang pemain menangkap atau mendapatkan

bola pantul yang tidak berhasil masuk yang ditembakkan oleh pemain

lain.

Offensive Rebound: rebound yang dilakukan di area lawan.

Defensive Rebound: rebound yang dilakukan di area sendiri.

2.2 Klasifikasi

Menurut Zaiane (1999), dalam data mining dikenal sebuah istilah

klasifikasi. Klasifikasi adalah menggolongkan data ke dalam kelas yang

diberikan berdasarkan nilai atribut atau supervised classification. Tujuan dari

klasifikasi adalah untuk mengorganisasikan dan mengkategorikan data ke dalam

kelas yang telah di tentukan.. Tipe data klasifikasi bersifat kategorik. Tahapan-

tahapan dari klasifikasi dalam data mining terdiri dari :

Pembangunan model, dalam tahapan ini dibuat sebuah model untuk

menyelesaikan masalah klasifikasi class atau attribut dalam data, model

ini dibangun berdasarkan training sebuah contoh data dari permasalahan

yang dihadapi, training ini sudah mempunyai informasi yang lengkap

baik attribut maupun classnya

Penerapan model, pada tahapan ini model yang sudah dibangun

sebelumnya digunakan untuk menentukan attribut / class dari sebuah data

baru yang attribut / class-nya belum diketahui sebelumnya

Evaluasi, pada tahapan ini hasil dari penerapan model pada tahapan

sebelumnya dievaluasi menggunakan parameter terukur untuk

menentukan apakah model tersebut dapat diterima

Page 28: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

9

2.3 Metode Decision Tree

2.3.1 Pengertian Decision Tree

Menurut Jiawei Han dan Micheline Kamber (2001), salah

satu metode data mining yang umum digunakan adalah decision tree.

Metode decision tree mengubah fakta yang sangat besar menjadi

pohon keputusan yang merepresentasikan aturan. Decision tree juga

berguna untuk mengeksplorasi data, menemukan hubungan

tersembunyi antara sejumlah calon variabel input dengan sebuah

variabel target. Konsep decision tree adalah suatu struktur flowchart

yang menyerupai tree (pohon), dimana setiap simpul internal

menandakan suatu tes pada atribut, setiap cabang merepresentasikan

hasil tes, dan simpul daun merepresentasikan kelas atau distribusi

kelas. Alur pada decision tree di telusuri dari simpul akar ke simpul

daun yang memegang prediksi kelas untuk contoh tersebut. Decision

tree mudah untuk dikonversi ke aturan klasifikasi.

Decision tree sesuai digunakan untuk kasus-kasus dimana

output-nya bernilai diskrit. Walaupun banyak variasi model decision

tree dengan tingkat kemampuan dan syarat yang berbeda, pada

umumnya beberapa ciri kasus berikut cocok untuk diterapkan dengan

decision tree:

Data/ example dinyatakan dengan pasangan atribut dan

nilainya.

Label/output data biasanya bernilai diskrit.

Data mempunyai missing value.

Page 29: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

10

2.3.2 Konsep Decision Tree

Mengubah data menjadi pohon keputusan (decision tree) dan aturan-

aturan keputusan (rule)

Gambar 2.1 Konsep Decision Tree

2.3.3 Jenis-jenis Decision Tree

Beberapa jenis model decision tree yang sudah

dikembangkan antara lain ID3, C4.5 dan CART (Classification and

Regression Tree).

1. CART

Dalam CART, setiap simpul dipecah menjadi 2 cabang.

Ada dua langkah penting yang harus diikuti untuk mendapatkan tree

dengan performasi yang optimal. Yang pertama adalah pemecahan

obyek secara berulang berdasarkan atribut tertentu. Yang kedua,

pruning (pemangkasan) dengan menggunakan data validasi.

2. ID3 dan C4.5

Dalam ID3 menggunakan criteria informasi gain untuk

memilih atribut yang akan digunakan untuk pemisahan obyek. Atribut

yang mempunyai information gain paling tinggi dibandingkan atribut

yang lain relative terhadap set y dalam satu data, dipilih untuk

melakukan pemecahan. Sedangkan C4.5 merupakan pengembangan

dari ID3. Perbaikan dilakukan dalam hal:

~Bisa mengatasi missing data.

DATA DECISION

TREE

RULE

Page 30: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

11

~Bisa mengatasi data continue.

~Pruning.

~Aturan.

2.3.4 Algoritma C 4.5

Menurut Larose (2005), algoritma C 4.5 merupakan

pengembangan dari ID3. Pengembangan yang dilakukan pada C4.5

adalah bisa mengatasi missing data, bisa mengatasi data continue,

pruning dan aturan.

Secara umum algoritma C 4.5 untuk membangun pohon

keputusan adalah sebagai berikut:

1. Pilih atribut sebagai root

2. Buat cabang untuk masing-masing nilai

3. Bagi kasus dalam cabang

4. Ulangi proses untuk masing-masing cabang sampai

semua kasus pada cabang memiliki kelas yang sama.

Untuk memilih atribut sebagai akar, dipilih atribut yang

menghasilkan simpul yang paling “purest” (paling bersih). Semakin

pure suatu cabang semakin baik. Ukuran purity dinyatakan dengan

tingkat impurity. Salah satu criteria impurity adalah information gain.

Jadi dalam memilih atribut untuk untuk memcah obyek dalam

beberapa kelas harus dipilih atibut yang menghasilkan information

gain paling besar. Untuk menghitung information gain digunakan

rumus:

Page 31: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

12

𝐺𝑎𝑖𝑛 𝑆, 𝐴 = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑆 − |𝑆𝑖|

|𝑆|∗ 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑖)

𝑛𝑖=1

……………..……Rumus 1

Dengan :

S : Himpunan kasus

A : Atribut

n : Jumlah partisi atribut A

|Si| : Jumlah kasus pada partisi ke i

|S| : Jumlah kasus dalam S

Sedangkan perhitungan nilai entropy dapat dilihat di bawah ini:

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑆 = − 𝑝𝑖 ∗ 𝑙𝑜𝑔2𝑛𝑖=1 𝑝𝑖…………....Rumus 2

dengan :

S : Himpunan Kasus

A : Fitur

n : Jumlah partisi S

pi : Proporsi dari Si terhadap S

Berikut ini merupakan beberapa tugas akhir yang membahas

decision tree:

1. “Pencarian Karakteristik Calon Mahasiswa Baru Universitas

Sanata Dharma Yang Tidak Mendaftar Ulang Dengan

Menggunakan Algoritma Decision Tree.”

Tugas akhir yang dibuat oleh Lilik Haryanto ini, membahas

tentang bagaimana memprediksi karakteristik calon

Page 32: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

13

mahasiswa yang akan melakukan daftar ulang maupun yang

tidak akan mendaftar ulang. Pada tugas akhir ini pohon tidak

terlihat. Akurasi program hanya 61.64%.

2. “Implementasi Data Mining Untuk Mengidentifikasikan Profil

Donatur Organisasi Veteran Amerika Menggunakan Pohon

Keputusan”

Tugas akhir yang dibuat oleh Stefany Yunita ini, membahas

tentang bagaimana memprediksi tipe-tipe donatur yang akan

memberikan bantuan ke organisasi veteran amerika. Pada

tugas akhir ini menggunakan 36 atribut dan dalam

pembentukan pohon belum terdapat proses pruning yang

maksimal. Pohon berbentuk tabel Akurasi program mencapai

64.75%.

3. “Implementasi Data Mining Pada Data Perusahaan Asuransi

Dengan Menggunakan Algoritma Decision Tree”

Tugas akhir yang dibuat oleh Berta Endah Mawarni ini,

membahas tentang bagaimana memprediksikan tipe-tipe

pemegang polis pada suatu perusahaan asuransi yang tertarik

maupun yang tidak tertarik untuk menggunakan polis asuransi

karavan dengan data mining dengan mengunakan algoritma

decision tree. Algoritma decision tree yang digunakan adalah

ID3 Quinlan. Dalam pembuatan tree, pertama-tama data

diubah menjadi model pohon. Untuk membuat node pohon

ditentukan node awalnya dengan mencari nilai entropy yang

terkecil. Kemudian menentukan apakah pohon bercabang atau

tidak. Bercabang jika kejadian memiliki nilai ya dan tidak

bercabang jika kejadian bernilai tidak. Kemudian pohon

diubah menjadi rule dan proses berikutnya adalah

Page 33: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

14

penyederhanaan rule. Pohon yang terbentuk dapat terlihat.

Akurasi program mencapai 94.5%.

Dengan demikian dapat diambil sebuah kesimpulan bahwa

algoritma decision tree cukup prospek dalam menyelesaikan kasus.

2.3.5 Contoh Pembuatan Tree Dengan Algoritma C 4.5

Contoh pembuatan tree dengan menggunakan algoritma C

4.5 dalam kasus penentuan posisi pemain basket NBA. Pertama-tama

diambil data acak seperti terlihat pada tabel 2.1.

FG % 3P % FT% POSISI

0.545 0.444 0.75 Center

0.267 0.158 1 Guard

0.367 0.321 1 Forward

0.286 0 1 Center

0.286 0 1 Forward

0.419 0.367 0.8 Guard

0.424 0.347 0.821 Guard

0.32 0 0.375 Guard

0.449 0.389 0.868 Guard

0.235 0.333 0.333 Forward

0.307 0.292 0.81 Center

0.273 0.125 1 Forward

0.396 0.342 0.76 Guard

0.412 1 0.467 Forward

0.364 0.5 0 Forward

0.55 0 0 Guard

0.407 0.374 0.95 Forward

0.301 0.263 0.938 Forward

Page 34: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

15

0.46 0.25 0.823 Forward

0.374 0.31 0.817 Guard

Tabel 2.1 Data Asli Statistik Pemain

Setelah mengalami preprocessing, data akan berubah menjadi data baru

seperti terlihat pada tabel 2.2.

FG % 3P% FT% Posisi

Sedang Sedang Bagus Center

Jelek Jelek Bagus Guard

Jelek Jelek Bagus Forward

Jelek Jelek Bagus Center

Jelek Jelek Bagus Forward

Sedang Jelek Bagus Guard

Sedang Jelek Bagus Guard

Jelek Jelek Jelek Guard

Sedang Jelek Bagus Guard

Jelek Jelek Jelek Forward

Jelek Jelek Bagus Center

Jelek Jelek Bagus Forward

Jelek Jelek Bagus Guard

Sedang Bagus Sedang Foward

Jelek Sedang Jelek Center

Sedang Jelek Jelek Guard

Sedang Jelek Bagus Forward

Jelek Jelek Bagus Forward

Sedang Jelek Bagus Forward

Bagus Bagus Sedang Foward

Tabel 2.2 Data Preprocessing Statistik Pemain

Page 35: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

16

Jumlah Kasus Guard Forward Center

Total 20 7 9 4

FG%

Jelek 11 3 6 2

Sedang 8 4 2 2

Bagus 1 0 1 0

3P%

Jelek 16 7 7 2

Sedang 2 0 0 2

Bagus 2 0 2 0

FT%

Jelek 3 2 1 0

Sedang 3 0 1 2

Bagus 14 5 7 2

Tabel 2.3 Data Pengelompokan Statistik Pemain Node 1

Setelah dikelompokkan seperti terlihat pada tabel 2.3. Untuk mencari akar atau node,

pertama-tama harus menghitung entropy dengan menggunakan rumus 2. Kemudian

menghitung information gain dengan mengunakan rumus 1. Information gain yang

terbesar inilah yang akan menjadi akar atau node.

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑡𝑜𝑡𝑎𝑙) = − 7

20× 𝑙𝑜𝑔2

7

20 + −

9

20× 𝑙𝑜𝑔2

9

20 + −

2

20× 𝑙𝑜𝑔2

2

20

= −0.35 × −0.45 + −0.45 × −0.346 + −0.1 × −1

= 0.1595 + 0.1557 + 0.1

Page 36: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

17

= 0.4152

Entropy FG% :

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑗𝑒𝑙𝑒𝑘 = − 3

11× 𝑙𝑜𝑔2

3

11 + −

6

11× 𝑙𝑜𝑔2

6

11 + −

3

11× 𝑙𝑜𝑔2

3

11

= (−0.272 x -0.565) + (-0.545 x -0.263) + (−0.272 x -0.565)

= 0.15368 + 0.143335 + 0.15368

= 0.450695

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑠𝑒𝑑𝑎𝑛𝑔 = − 4

8× 𝑙𝑜𝑔2

4

8 + −

2

8× 𝑙𝑜𝑔2

2

8 + −

2

8× 𝑙𝑜𝑔2

2

8

= − 0.5 × −0.301 + − 0.25 × −0.602 + − 0.25 × −0.602

= 0.1505 + 0.1505 + 0.1505

= 0.42275

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑏𝑎𝑔𝑢𝑠 = − 1

1× 𝑙𝑜𝑔2

1

1

= −1 ∗ 0

= 0

Entropy 3P% :

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑗𝑒𝑙𝑒𝑘 = − 7

16× 𝑙𝑜𝑔2

7

16 + −

7

16× 𝑙𝑜𝑔2

7

16 + −

2

16× 𝑙𝑜𝑔2

2

16

= − 0.4375 × −0.359 + − 0.4375 × −0.359 + − 0.125 × −0.903

= 0.1570625 + 0.1570625 + 0.112875

= 0.427

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑠𝑒𝑑𝑎𝑛𝑔 = − 2

2× 𝑙𝑜𝑔2

2

2

= 0

Page 37: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

18

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑏𝑎𝑔𝑢𝑠) = − 2

2× 𝑙𝑜𝑔2

2

2

= 0

Entropy FT% :

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑗𝑒𝑙𝑒𝑘) = − 2

3× 𝑙𝑜𝑔2

2

3 + −

1

3× 𝑙𝑜𝑔2

1

3

= −0.66 𝑥 − 0.176 + (- 0.33 x -0.477)

= 0.11616 + 0.15741

= 0.27257

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑠𝑒𝑑𝑎𝑛𝑔) = − 2

3× 𝑙𝑜𝑔2

2

3 + −

1

3× 𝑙𝑜𝑔2

1

3

= −0.66 𝑥 − 0.176 + (- 0.33 x -0.477)

= 0.11616 + 0.15741

= 0.27257

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑏𝑎𝑔𝑢𝑠 = − 5

14× 𝑙𝑜𝑔2

5

14 + −

7

14× 𝑙𝑜𝑔2

7

14 + −

2

14× 𝑙𝑜𝑔2

2

14

= (−0.357 x − 0.447) + − 0.5 × −0.301 + (−0.142 x − 0.845)

= 0.159579 + 0.1505 + 0.143166

= 0.459821

Information Gain:

𝐺𝑎𝑖𝑛 𝐹𝐺% = 0.4152 − 11

20× 0.450695 +

8

20× 0.42275 +

1

20× 0

= 0.4152 − 0.24788225 + 0.1691 + 0

= 0.4152 − 0.41698225

= 0.00378225

𝐺𝑎𝑖𝑛 3𝑃% = 0.4132 − 16

20× 0.427 +

2

20× 0 +

2

20× 0

= 0.41324 − 0.3416 + 0 + 0

Page 38: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

19

= 0.4132 − 0.3416

= 0.0716

𝐺𝑎𝑖𝑛 𝐹𝑇% = 0.4132 − 3

20× 0.27257 +

3

20× 0.27257

+ 14

20× 0.459821

= 0.41324 − 0.0408855 + 0.0408855 + 0.3218747

= 0.4132 − 0.4036457

= 0.0095543

Syarat menjadi akar adalah memiliki information gain yang paling besar. Karena

information gain 3p% adalah yang terbesar maka 3p% sebagai akar. Atribut dari

3p% ada 3 yaitu jelek, sedang dan bagus. Dari ketiga atribut tersebut, atribut sedang

dan bagus sudah mengklasifikasikan kasus menjadi satu. Sehingga tidak perlu

dilakukan perhitungan lebih lanjut lagi. Tetapi perhitungan untuk jelek masih perlu

dilanjutkan. Tree yang terbentuk dari perhitungan dan klasifikasi diatas dapat dilihat

pada gambar

?

3P%

Center Foward

Bagus Sedang Jelek

Page 39: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

20

Gambar 2.2 Tree Node 1

Jumlah Kasus Guard Forward Center

3P% - Jelek 16 7 7 2

FG%

Jelek 10 3 5 2

Sedang 6 4 2 0

Bagus 0 0 0 0

FT%

Jelek 3 2 1 0

Sedang 0 0 0 0

Bagus 13 5 6 2

Tabel 2.4 Data Pengelompokan Statistik Pemain Node 2

Setelah dikelompokkan seperti terlihat pada tabel 2.4. Untuk mencari akar atau node

level 2, pertama-tama harus menghitung entropy dengan menggunakan rumus 2.

Kemudian menghitung information gain dengan mengunakan rumus 1. Information

gain yang terbesar inilah yang akan menjadi akar atau node.

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 3P% − jelek

= − 7

16× 𝑙𝑜𝑔2

7

16 + −

2

16× 𝑙𝑜𝑔2

2

16 + −

2

16× 𝑙𝑜𝑔2

2

16

= −0.4375 × −0.359 + − 0.125 × −0.903 + − 0.125 × −0.903

= 0.1570625 + 0.112875 + 0.112875

= 0.3828125

Entropy FG%:

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑗𝑒𝑙𝑒𝑘) = − 3

10× 𝑙𝑜𝑔2

3

10 + −

5

10× 𝑙𝑜𝑔2

5

10 + −

2

10× 𝑙𝑜𝑔2

2

10

Page 40: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

21

= −0.3 𝑥 − 0.522 + −0.5𝑥 − 0.301 + (−0.2 𝑥 − 0.698)

= 0.1566 + 0.1505 + 0.1396

= 0.4467

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑠𝑒𝑑𝑎𝑛𝑔 = − 2

6× 𝑙𝑜𝑔2

2

6 + −

4

6× 𝑙𝑜𝑔2

4

6

= (- 0.33 x -0.477) + −0.66 𝑥 − 0.176

= 0.15741 + 0.11616

= 0.27257

Entropy FT%:

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑗𝑒𝑙𝑒𝑘 = − 1

3× 𝑙𝑜𝑔2

1

3 + −

2

3× 𝑙𝑜𝑔2

2

3

= (- 0.33 x -0.477) + −0.66 𝑥 − 0.176

= 0.15741 + 0.11616

= 0.27257

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 𝑏𝑎𝑔𝑢𝑠 = − 5

13× 𝑙𝑜𝑔2

5

13 + −

6

13× 𝑙𝑜𝑔2

6

13 + −

2

13× 𝑙𝑜𝑔2

2

13

= −0.384 × −0.414 + −0.461 × −0.335 + −0.153 × −0.812

= 0.158976 + 0.154435 + 0.124236

= 0.437647

Information Gain:

𝐺𝑎𝑖𝑛 𝑗𝑒𝑙𝑒𝑘 − 𝐹𝐺% = 0.3828125 − 10

16× 0.4467 +

6

16× 0.27257

= 0.3828125 − 0.2791875 + 0.10221375

= 0.3828125 − 0.38140125

= 0.00141125

𝐺𝑎𝑖𝑛 𝑗𝑒𝑙𝑒𝑘 − 𝐹𝑇% = 0.3828125 − 3

16× 0.27257 +

13

16× 0.437647

Page 41: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

22

= 0.3828125 − 0.01171875 + 0.3555881875

= 0.3828125 − 0.36721875

= 0.01559375

Syarat menjadi akar adalah memiliki information gain yang paling besar. Karena

information gain FT% adalah yang terbesar maka FT% sebagai akar

Gambar 2.3 Tree Node 2

?

FT%

Bagus

Sedang Jelek

? ?

3P%

Center Foward

Bagus

Sedang Jelek

Page 42: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

23

Jumlah Kasus Guard Forward Center

3P% - Jelek

FT%- Jelek

7 3 4 0

FG%

Jelek 4 0 4 0

Sedang 3 3 0 0

Bagus 0 0 0 0

3P% - Jelek

FT%- Bagus

8 5 0 3

FG%

Jelek 5 5 0 0

Sedang 3 0 0 3

Bagus 0 0 0 0

Tabel 2.5 Data Pengelompokan Statistik Pemain node 3

Dari tabel 2.5, terlihat bahwa atribut dari FG% telah menuju ke satu klasifikasi

maka tidak perlu dilakukan perhitungan lagi. Dan dapat langsung dibuat tree-nya.

Page 43: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

24

Gambar 2.4 Tree Node 3

3P%

Center Foward

Bagus

Sedang Jelek

Foward

FT%

Bagus

Jelek

FG% FG%

Sedang Jelek

Guard Guard

Center

Sedang

Jelek

Page 44: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

25

2.4 Model Evaluasi 5 Cross Validation

Tingkat akurasi sebuah sistem klasifikasi dapat diukur dengan metode

5 cross validation yang membagi data statistik menjadi 5 bagian. Yang

kemudian secara bergantian dijadikan training dan testing dalam lima langkah

pengujian saling silang.

dimisalkan terdapat n buah data masukan untuk diklasifikasi, maka

tiap kelompok memiliki n/5anggota. Diberi nilai n=500 data, sehingga

pembagiannya iyalah:

Kelompok 1: data statistik ke 1-100

Kelompok 2: data statistik ke 101-200

Kelompok 3: data statistik ke 201-300

Kelompok 4: data statistik ke 301-400

Kelompok 5: data statistik ke 401-500

Gambar 2.5 Pembagian data statistic pemain ke dalam 5 kelompok data

Data masukan dipisah untuk memastikan tidak ada data yang sama,

Pemrosesan dengan data yang sama dapat terjadi ketika data masukan sangat

banyak. Jika data yang sama diproses dalam training dan testing, maka nilai

1 2 3 4 5 1 2 3 4

Page 45: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

26

1 3 4 5 2

Training Testing

1 2 3 4 5

Training Testing

validasi terhapat evaluasi akan berkurang, walaupun nilai akurasi akan

meningkat.

Gambaran langkah evaluasi dengan metode 5 cross validation dapat

dilihat dalam gambar 2.5. Masing-masing mewakili satu kelompok data. Tiap

satu kelompok data akan bergantian menjadi training dan testing.

Pengujian pertama:

Gambar 2.6 Metode Evaluasi 5 Cross Validation pengujian 1

Pengujian kedua:

Gambar 2.7 Metode Evaluasi 5 Cross Validation pengujian 2

Page 46: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

27

1 2 3 5 4

Training Testing

1 2 4 5 3

Training Testing

Pengujian ketiga:

Gambar 2.8 Metode Evaluasi 5 Cross Validation pengujian 3

Pengujian keempat:

Gambar 2.9 Metode Evaluasi 5 Cross Validation pengujian 4

Page 47: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

28

5 2 3 4 1

Training Testing

Pengujian lima:

Gambar 2.10 Metode Evaluasi 5 Cross Validation Pengujian 5

Page 48: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

28

BAB III

ANALISA DAN PERANCANGAN

3.1 Analisa Sistem Secara Umum

Sistem ini berfungsi sebagai alat bantu untuk menentukan posisi pemain

basket dengan tepat. Gambaran umum sistem dapat dilihat dalam gambar 3.1. Sistem

klasifikasi pemain basket NBA menggunakan algoritma decision tree dan

menggunakan teknik decision tree C 4.5. Data pemain akan melalui pre-porcessing

agar dapat diolah dengan decision tree. Dalam pre-processing mengubah data

numerik menjadi data nominal. Dalam pre-processing akan terjadi proses

pengelompokan. Kemudian data akan masuk dalam proses training dan testing dan

pada akhirnya akan mendapatkan output berupa posisi pemain yang tepat.

Gambar 3.1 Alur sistem klasifikasi pemain secara umum

Data Training

Pembuatan

Pohon dengan

algoritma C 4.5

Pembuatan

Keputusan

Data

Tree

Data Testing

END

Page 49: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

29

3.1.1 Analisa Fase Pre-Prosesing

Sebelum data diproses dengan decision tree, data harus mengalami pre-

processing. Dalam pre-processing data yang bernilai numerik akan diubah menjadi

data nominal dengan cara pengelompokan. Pengelompokan data dilakukan dengan

memasukan data dalam range. Alur pre-processing terlihat pada gambar 3.2.

Gambar 3.2 alur pre-processing

Pengelompokan data dilakukan dengan memasukan data ke dalam range

tertentu, seperti terlihat pada table dibawah ini:

Nama Atribut Data Satuan Klasifikasi

FG%

< 0.4 % Jelek

0.4-0.7 % Sedang

> 0.7 % Bagus

3P%

< 0.4 % Jelek

0.4-0.7 % Sedang

> 0.7 % Bagus

FT%

< 0.4 % Jelek

0.4-0.7 % Sedang

> 0.7 % Bagus

Ofensive Rebound < 1.4 % Jelek

1.4-2.9 % Sedang

Pengelompokan Mulai Selesai Data

Awal

Data

Klasifikasi

Page 50: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

30

>2.9 % Bagus

Nama Atribut Data % Klasifikasi

Defensive Rebound

< 3.3 % Jelek

3.3-6.5 % Sedang

> 6.5 % Bagus

Total Rebound

< 4.6 % Jelek

4.6-9.2 % Sedang

> 9.2 % Bagus

APG

< 3.7 % Jelek

3.7-7.3 % Sedang

> 7.3 % Bagus

SPG

< 1.0 % Jelek

1-2 % Sedang

> 2.0 % Bagus

BPG

< 1.0 % Jelek

1-2 % Sedang

> 2.0 % Bagus

TO

< 1.3 % Bagus

1.3-2.6 % Sedang

> 2.6 % Jelek

PF

< 1.3 % Bagus

1.3-2.6 % Sedang

> 2.6 % Jelek

PPG

< 10 % Jelek

10-20 % Sedang

> 20 % Bagus

Tinggi Badan < 1.93 Cm Jelek

Page 51: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

31

1.93 - 2.11 Cm Sedang

> 2.11 Cm Bagus

Berat Badan

< 98 Kg Jelek

98-122 Kg Sedang

>122 Kg Bagus

Tabel 3.1 Pengelompokan Data Statistik Pemain

3.2 Analisa Algoritma C 4.5

Algoritma C 4.5 merupakan pengembangan dari ID3

(Larose, 2005). Pengembangan yang dilakukan pada C4.5 adalah bisa

mengatasi missing data, bisa mengatasi data continue, pruning dan

aturan. Secara umum algoritma C 4.5 untuk membangun pohon

keputusan adalah sebagai berikut:

1) Pilih atribut sebagai root

2) Buat cabang untuk masing-masing nilai

3) Bagi kasus dalam cabang

4) Ulangi proses untuk masing-masing cabang sampai semua

kasus pada cabang memiliki kelas yang sama.

Dalam memilih atribut untuk memecah obyek dalam

beberapa kelas harus dipilih atibut yang menghasilkan information

gain paling besar.

Page 52: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

32

Gambar 3.3 Algoritma Decision Tree C 4.5

Ambil N atribut

END

START

Apakah

N>1?

Root = GAIN max

Uji N-1 atribut

YES

NO

Hitung GAIN dari

masing-masing atribut

Page 53: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

33

3.3 Use Case

3.3.1 Diagram Use Case

Create Tree

Personal Klasifikasi

Setting Atribut

Group Klasifikasi

Gambar 3.5 Use Case

Page 54: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

34

Tabel Use Case

No Nama Use Case Deskripsi use case Aktor

1 Create Tree Use case ini menggambarkan proses

memasukkan data training ke

sistem. Data training digunakan

untuk membuat Tree.

User

2 Personal Klasifkasi Use case ini menggambarkan proses

untuk memasukkan data tunggal

testing ke sistem dan melakukan

pelabelan.

User

3 Group Klasifkasi Use case ini menggambarkan proses

untuk memasukkan banyak data

testing ke sistem dan melakukan

pelabelan.

User

4 Setting Atribut Use case ini menggambarkan proses

untuk menge-set ranges dari atribut-

atribut yang digunakan.

User

Tabel 3.2 Use Case

3.3.2 Narasi Use case

Setiap usecase pada bagian sebelumnya akan dirinci dalam sebuah narasi

yang merupakan deskripsi tekstual dari kejadian bisnis dan bagaimana pengguna

berinteraksi dengan sistem untuk menyelesaikan tugas tersebut. Untuk lebih jelas

mengenai tahap ini dapat dilhat dilampiran 1.

3.3.3 Activity Diagram

Activity Diagram merupakan diagram yang menjelaskan aktivitas user dengan

program. Untuk lebih jelas mengenai tahap ini dapat dilhat dilampiran 2.

Page 55: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

35

3.4 Model Analisis

Model analisis adalah salah satu proses untuk menterjemahkan skenario

usecase menjadi kelas analisis. Dalam kelas analisis terdapat tiga jenis, yakni

form/bonery, controller dan entitas. Bentuk model analisis merupakan kelas analisis,

untuk detailnya lihat lampiran 3 dan 4.

3.4.1 Relasi Use Case

Pada tahap ini, analisis kelas dilakukan setiap use case. Setiap use

case dicari kelas analisis sehingga kebutuhan kelas dapat ditentukan. Hasil

analisis kelas dapat dilihat pada lampiran 3.

3.4.2 Diagram Kelas Analisis Keseluruhan

Setelah melalui proses relasi use case, kemudian akan dibuat suatu

diagram kolaborasi dari seluruh use case. Diagram tersebut dapat dilihat pada

lampiran 4.

3.5 Model Desain

Tahap berikutnya dalam pengembangan perangkat lunak ini adalah dengan

membuat model desain. Pemodelan desain ini bertujuan untuk menghasilkan suatu

model atau representasi dari entitas yang kemudian akan dibangun. Bentuk model

desain adalah diagram kelas, dapat dilihat di lampiran 5 dan 6.

3.5.1 Atribut dan Method

Bagian ini akan menjelaskan lebih detail mengenai atribut dan method

dari kelas desain. Detail tentang atribut da method kelas desain dapat dilihat

pada lampiran 5.

Page 56: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

36

3.5.2 Rancangan Interface

Bagian ini akan menjelaskan tentang user interface yang akan

diimplementasikan pada program. Rancangan user interface, dapat dilihat

pada lampiran 6.

3.6 Metode Evaluasi Tree

Langkah evaluasi merupakan langkah pengujian kebenaran tree.

Dengan asumsi, klasifikasi sesuai dengan tabel 3.1. Cara pengujiannya menggunakan

cara sebagai berikut:

1. Penentuan 5 kelompok data.

Terdapat 511 data pemain NBA yang akan dibagi menjadi 5 kelompok. Dan

diberi label 1, 2, 3, 4, 5.

Gambar 3.6 Pengelompokan Data Untuk Proses Evaluasi

2. Pembentukan Tree secara manual.

Dari pengelompokkan 5 data pemain, maka dengan menggunakan masing-

masing data. Bentuk tree dengan cara menghitung dengan decision tree C.4.5.

sehingga terbentuk 5 tree dari 5 kelompok data.

5 1 2 3 4

Page 57: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

37

3. Pembentukan Tree dengan program.

Bentuk pohon dari 5 kelompok data yang sudah dibagi dengan menggunakan

program yang telah dibuat. Sehingga akan terbentuk 5 tree dari 5 kelompok

data.

4. Pembandingan Hasil.

Membandingkan tree yang telah dihitung secara manual dengan tree hasil

bentukan program.

3.7 Metode Evaluasi 5 Cross Validation

Langkah evaluasi merupakan langkah pengujian akurasi klasifikasi

posisi pemain. Langkah pengujian ini mengunakan 5 cross validation. Cara

pengujiannya menggunakan cara sebagai berikut:

1. Penentuan 5 kelompok data.

Terdapat 511 data pemain NBA yang akan dibagi menjadi 5 kelompok. Dan

diberi label 1, 2, 3, 4, 5.

Gambar 3.7 Pengelompokan Data Untuk Proses Evaluasi

5 1 2 3 4

Page 58: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

38

2. Pengujian Akurasi

Pengujian akurasi dilakukan dengan 2 cara, yaitu langkah training dan testing.

Langkah training dikenali untuk membentuk tree. Langkah testing digunakan

untuk mengklasifikasikan posisi. Dalam satu kali pengujian, terdapat 5 set

training dan testing yang masing-masing menghasilkan 100 hasil posisi

pemain.

3. Penghitungan Akurasi

Angka akurasi dapat dihitung dengan cara menghitung jumlah posisi yang

sesuai. Penghitungan ini dilakukan dengan cara membandingkan data hasil

testing dengan data testing. Kemudian dibagi dengan jumlah data penguji

dikali 100%.

𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝐷𝑎𝑡𝑎 𝑦𝑎𝑛𝑔 𝑠𝑒𝑠𝑢𝑎𝑖 𝑑𝑎𝑡𝑎 𝑡𝑒𝑠𝑡𝑖𝑛𝑔

𝐽𝑢𝑚𝑙𝑎 ℎ 𝑑𝑎𝑡𝑎 𝑡𝑒𝑠𝑡𝑖𝑛𝑔 X 100 %……….Rumus 3

Page 59: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

40

BAB IV

IMPLEMENTASI DAN ANALISIS SISTEM

Bab ini berisi tentang implementasi sistem yang dibuat berdasarkan analisa

dan perancangan yang telah dibuat pada tahap sebelumnya. Bab ini juga berisi

pengujian dan analisa sistem.

4.1 Implementasi

4.1. 1. Implementasi Data

Pada sistem ini, data input yang digunakan adalah data statistik

pemain NBA pada musim kompetisi 2008-2009. Data dari website www.nba.com di-

copy kemudian dipindahkan ke dalam exel dengan format .csv. Berdasarkan table 3.1,

data ini dikonversi dari data numerik ke data nominal agar dapat digunakan untuk

sistem.

4.1. 2. Implementasi File

Dari kelas disain yang telah dibuat pada bab sebelumnya, telah

diimplementasikan. Berikut ini adalah bentuk implementasi dari desain kelas menjadi

implementasi file yang digunakan sistem yang telah dibuat.

UseCase Kelas Desain Implementasi File Jenis

Create Tree homeForm HomeForm.java Interface

CreateTreeForm createTreeForm.java Interface

Player Player.java Entities

Tools Tools.java Entities

Tree Tree.java Entities

enumData enumData.java Entities

Page 60: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

41

enumKategori enumKategori Entities

enumPosisi enumPosisi Entities

Personal

Klasifikasi

HomeForm HomeForm.java Interface

personalKlasifikasiForm personalKlasifikasiForm.java Interface

Tree Tree.java Entities

enumData enumData.java Entities

groupKlasifikasi homeForm HomeForm.java Interface

groupKlasifikasiForm groupklasifikasiForm.java Interface

playerK playerK.java Entities

Tools Tools.java Entities

Tree Tree.java Entities

enumData enumData Entities

Setting Atribut homeForm HomeForm.java Interface

SettingForm settingForm.java Interface

Tools Tools.java Entities

Tabel 5.1. Implementasi File

4.1. 3. Implementasi Antar Muka

Setelah program berhasil dibuat, maka akan ditampilkan antar muka

dari program tersebut. Gambar antar muka dari program yang telah dibuat dapat

dilihat di lampiran 7.

4.2 Pengujian Hasil Tree

4.2. 1. Pengelompokan Data

Pengelompokaan data menjadi 5 kelompok. Jumlah data adalah 511

data. Maka dari 511 tersebut akan dibagi menjadi 5 bagian yang hampir

sama, seperti terlihat pada gambar:

Page 61: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

42

Gambar 4.1 Pengelompokan Data Untuk Proses Evaluasi

Dari 5 kelompok data yang sudah dibagi, masing-masing kelompok

dibuat tree. Pembuatan tree akan dilakukan dengan 2 cara:

1. Dengan menghitung manual.

5 kelompok data akan dihitung secara manual dengan mengunakan

rumus entropy (rumus 2) dan gain (rumus 1). Sehingga dapat

diperoleh sebuah tree dari masing-masing kelompok data.

2. Dengan menggunakan program.

5 kelompok data yang sudah dibagi, akan diinputkan ke program

klasifikasi pemain basket sehingga juga akan terbentuk tree dari

masing-masing kelompok data.

409-

511

E

1-

102

A

103-

204

B

205-

306

C

307-

408

D

Page 62: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

43

4.2.2 Hasil Tree Dari Perhitungan Manual:

TREE 1

BERAT

TINGGIGUARDJELEK

SEDANG JELEK TO

JELEK GUARD

SEDANG GUARD

BAGUS GUARD

TOTSEDANG

JELEK GUARD

SEDANG GUARD

BAGUS GUARD

BAGUS FOWARD

BAGUS

DEF JELEK FOWARD

SEDANG

OFF

JELEK FOWARD

SEDANG

BAGUS FOWARD

BPG

JELEK CENTER

SEDANG CENTER

BAGUS CENTER

BAGUS

BPG

JELEK FOWARD

SEDANG

BAGUS CENTER

TO

JELEK CENTER

SEDANG

BAGUS FOWARD

OFF

JELEK

SEDANG

BAGUS FOWARD

FOWARD

FOWARD

Gambar 4.2. Tree Manual 1

Page 63: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

44

Page 64: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

45

TREE 2

BERAT

TINGGIGUAR

DJELEK

SEDANG JELEK OFF

JELEK

SEDANG

BAGUSGUAR

D

TOTSEDANG

JELEK

SEDANG

BAGUS

BAGUS

FOWARD

BAGUS

DEF

JELEK

SEDANG

OFF

JELEKFOWAR

D

SEDANG

BAGUSFOWAR

D

BPG

JELEKCENTE

R

SEDANG

BAGUSCENTE

R

BAGUS

BPG

JELEKFOWAR

D

SEDANG

BAGUSCENTE

R

TO

JELEKCENTE

R

SEDANG

BAGUSFOWAR

D

OFF

JELEK

SEDANG

BAGUSFOWAR

D

FOWARD

FOWARD

FOWARD

PPG

JELEKGUAR

D

SEDANG

BAGUSGUAR

D

GUARD

FOWARD

FOWARD

FT

JELEK

SEDANG

BAGUS

GUARD

FOWARD

FOWARD

3P

JELEK

SEDANG

BAGUS

GUARD

FOWARD

PF

JELEK

SEDANG

BAGUS

CENTER

CENTER

FG

JELEK

SEDANG

BAGUS

CENTER

CENTER

CENTER

FG

JELEK

SEDANG

BAGUS

CENTER

CENTER

CENTER

Gambar 4.3. Tree Manual 2

Page 65: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

46

TREE 3

BERAT

TINGGI

GUARD

JELEK

SEDANG

JELEK TO

JELEK

SEDANG

BAGUSGUAR

D

TOTSEDANG

JELEKSEDANG

BAGUS

BAGUS

FOWARD

BAGUS

DEF JELEK

SEDANG

OFF

JELEKFOWAR

D

SEDANG

BAGUSFOWAR

D

BPG

JELEKCENTE

R

SEDANG

BAGUSCENTE

R

BAGUS

BPG

JELEKFOWAR

D

SEDANG

BAGUSCENTE

R

TO

JELEKCENTE

R

SEDANG

BAGUSFOWAR

D

OFF

JELEK

SEDANG

BAGUSFOWAR

D

FOWARD

FOWARD

GUARD

GUARD

FOWARD

FT

JELEK

SEDANG

BAGUS

CENTER

FOWARD

FOWARD

PF

JELEK

SEDANG

BAGUS

CENTER

FG

JELEK

SEDANG

BAGUS

CENTER

CENTER

FT

JELEK

SEDANG

BAGUS

CENTER

FOWARD

CENTER

CENTER

TO

JELEK

SEDANG

BAGUS

FOWARD

FOWARD

BPG

JELEK

SEDANG

BAGUS

FOWARD

FOWARD

FOWARD

CENTER

Gambar 4.4. Tree Manual 3

Page 66: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

47

TREE 4

BERAT

TINGGI

GUARD

JELEK

SEDANG

JELEK

OFF

JELEK

SEDANG

BAGUSGUAR

D

TOT

SEDANG JELEK

SEDANG

BAGUS

BAGUS

FOWARD

BAGUS

DEF

JELEK

SEDANG

BPG

JELEKFOWAR

D

SEDANG

BAGUS CENTER

OFF

JELEKCENTE

R

SEDANG

BAGUSFOWA

RD

BAGUS

BPG

JELEK CENTER

SEDANG

BAGUSFOWAR

D

FOWARD

FOWARD

FOWARD

FT

JELEK

SEDANG

BAGUS

CENTER

FOWARD

FOWARD

3P

JELEK

SEDANG

BAGUS

CENTER

FG

JELEK

SEDANG

BAGUS

CENTER

CENTER

PF

JELEK

SEDANG

BAGUS

CENTER

CENTER

CENTER

FOWARD

PPG

JELEK

SEDANG

BAGUS

GUARD

GUARD

GUARD

FOWARD

FT

JELEK

SEDANG

BAGUS

CENTER

FOWARD

CENTER

Gambar 4.5. Tree Manual 4

Page 67: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

48

TREE 5

BERAT

TINGGI

GUARD

JELEK

SEDANG

JELEK TO

JELEK

SEDANG

BAGUSGUAR

D

FTSEDANG

JELEK

SEDANG

BAGUS

BAGUS

FOWARD

BAGUS

DEF

JELEK

SEDANG BPG

JELEKFOWAR

D

SEDANG

BAGUS CENTER

FOWARD

BAGUSFOWAR

D

FOWARD

FOWARD

TO

JELEK

SEDANG

BAGUS

GUARD

FOWARD

GUARD

3P

JELEK

SEDANG

BAGUS

CENTER

FT

JELEK

SEDANG

BAGUS

CENTER

CENTER

FG

JELEK

SEDANG

BAGUS

CENTER

CENTER

GUARD

FOWARD

FOWARD

3P

JELEK

SEDANG

BAGUS

FOWARD

FOWARD

CENTER

Gambar 4.6. Tree Manual 5

Page 68: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

49

4.2.3. Hasil Tree Dari Program:

TREE 1:

Gambar 4.7. Tree Program 1

Page 69: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

50

TREE 2:

Gambar 4.8. Tree Program 2

Page 70: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

51

TREE 3:

Gambar 4.9. Tree Program 3

Page 71: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

52

TREE 4:

Gambar 4.10. Tree Program 4

Page 72: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

53

TREE 5:

Gambar 4.11. Tree Program 5

Page 73: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

54

4.2.4. Perbandingan Hasil Tree.

Setelah melakukan proses pembentukan tree, baik secara

manual maupun secara program. Maka diperoleh bentuk tree seperti

diatas. Untuk mengetahui apakah program telah berjalan sesuai dengan

teori. Dilakukan perbandingan tree manual dengan tree program.

Tabel 5.2. Perbandingan Tree

Dengan melihat hasil perbandingan, maka dapat disimpulkan bahwa

program telah berjalan sesuai dengan teori.

4.2.5. Analisa Tree

Melihat dari 10 tree yang terbentuk, dapat disimpulkan bahwa

semua root yang terpilih adalah tinggi. Terpilihnya tinggi ini cukup

sesuai dengan olah raga basket, dimana tinggi badan sangat

menentukan dalam pemilihan posisi pemain.

TREE MANUAL TREE PROGRAM HASIL

Tree 1 Tree 1 Sama

Tree 2 Tree 2 Sama

Tree 3 Tree 3 Sama

Tree 4 Tree 4 Sama

Tree 5 Tree 5 Sama

Page 74: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

55

4.3. 5 Cross Validation

4.3.1. Penentuan 5 kelompok data.

Pengelompokaan data menjadi 5 kelompok. Jumlah data

adalah 511 data. Maka dari 511 tersebut akan dibagi menjadi 5 bagian

yang hampir sama, seperti terlihat pada gambar 4.12:

Gambar 4.12 Pengelompokan Data Untuk Proses Evaluasi

4.3.2. Pengujian dan Perhitungan Akurasi

Setelah melakukan proses pengelompokaan data menjadi 5 kelompok,

maka dilakukan pengujian dan perhitungan akurasi. Untuk proses pengujian

dilakukan dengan 5 cros validation seperti pada bab 3. Sedangkan proses

perhitungan dilakukan dengan rumus 3. Hasil pengujian dan perhitungan

akurasi dapat dilihat pada tabel 5.3.

409

-

511

E

1-

102

A

103

-

204

B

205

-

306

C

307

-

408

D

Page 75: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

56

Percobaan Data

Training

Data

Testing

Total

Data

Training

Total

Data

Testing

Data

tidak

sesuai

Data

sesuai Akurasi

1 B, C, D,

E A 409 102 14 88 86.2745098

2 A, C, D,

E B 409 102 14 88 86.2745098

3 A, B, D,

E C 409 102 23 79 77.4509804

4 A, B, C,

E D 409 102 13 89 87.254902

5 A, B, C,

D E 408 103 26 76 73.7864078

Rata-rata Akurasi 82.2082619

Tabel 5.3. Akurasi Program

Dari hasil pengujian akurasi seperti terlihat pada tabel 5.3, tree terjelek adalah

tree 5 sedangkan tree terbaik adalah tree 4. Tree 4 mempunyai tinggi root.

Pada level 1 terdapat guard, berat dan defensive rebount (pada cabang jelek

sudah didapat daunnya (posisi)yaitu guard)dan pada level 2 terdapat ofensive

rebount, total rebount, 3 point, block per games, dimana dari masing-masing

node dibagi menjadi 3 cabang, yaitu: jelek, sedang dan tinggi. Untuk lebih

jelasnya dapat dilihat dilampiran 8.

Page 76: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

56

BAB V

KESIMPULAN DAN SARAN

5. 1 Kesimpulan

Setelah sistem ini dibuat maka diperoleh beberapa kesimpulan:

1. Penerapan algoritma decision tree untuk menganalisis statistik

pemain NBA agar dapat mengklasifikasi posisi pemain dapat

diimplementasikan dengan baik pada aplikasi.

2. Dengan asumsi, klasifikasi kategori seperti pada tabel 3.2. Hasil

pengujian akurasi program dengan menggunakan 5 cross validation

cukup baik yaitu 86, 3%, 86,3%, 77,5%, 87,8%, 73,8%. (rata-rata

akurasi 82,2%)

3. Berdasarkan dari akurasi, tree terbaik adalah tree 4 sedangkan tree

terjelek adalah tree 5. Tree yang akan digunakan untuk klasifikasi

posisi pemain adalah tree 4 (gambar 4.5 atau gambar 4.10).

4. Dari 5 tree yang terbentuk, semua root yang terpilih adalah tinggi.

Sehingga dapat disimpulkan bahwa atribut tinggi sangat berpengaruh

pada pemilihan posisi pemain basket.

5. Berdasarkan hasil pengujian akurasi, aplikasi ini cukup baik untuk

membantu user dalam mengklasifikasi posisi pemain.

Page 77: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

57

5.2 Saran

Dari sistem yang dibuat masih diperlukan beberapa saran antara lain:

1. Menambah jumlah variabel, mungkin dapat meningkatkan nilai

akurasi.

2. User dapat memilik variabel sediri dalam memprediksi.

3. Akan lebih baik jika penentuan batas variabel menggunakan

algoritma tertentu.

4. Program yang dibuat berbasis web sehingga dapat digunakan dimana

saja.

Page 78: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

58

DAFTAR PUSTAKA

Santosa, Budi, 2007, Teknik Pemanfaatan Data Mining untuk Keperluan Bisnis,

Graha Ilmu, Yogyakarta, 88-95.

Osmar R Zaiane, 1999, Word taxonomy for on-line visual Asset management asest

management and mining. IEEE Computer Society. USA.

Jiawei Han, Micheline Kamber, 2001, Data mining Concepts dan Techniques,

Morgan Kaufman,San Fransisco.

Daniel T Larose, 2005, discovery knowledge in data: an introdution to datamining,

wiley-interscience.

luthfi, Emha Taufiq, Kusini, 2009, Algoritma Data Mining, Andi, Yogyakarta, 13-22

Irwanto, S.Kom, MM, Djon, 2007, Membangun Obect Oriented Software Dengan

Java Dan Object Data Base, Gramedia Group, Jakarta

Kusnawi, 2007, Pengantar Solusi Data Mining, AMIKOM, Jogjakarta

Hernawan, Benny, 2004, Menguasai Java 2 & Object Oriented Programing, Andi,

Yogyakarta

Kadir, A., 2004, Dasar Pemograman Java 2, Andi, Yogyakarta.

_______,(2009), Istilah-istilah dalam basket.[online].(www.

IndonesianBasketball.com diakses pada tanggal 7 november 2009).

Page 79: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

59

LAMPIRAN 1.

NARASI USECASE

Use Case Narasi Use Case

Create Tree Lampiran 1.1

Personal Klasifikasi Lampiran 1.2

Group Klasifikasi Lampiran 1.3

Setting Atribut Lampiran 1.4

Page 80: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

60

1.1 Narasi Use case Create Model Tree

Penulis: Hieronymus Dimas Febrianto

Tangal: 26 November

2009 Versi: 1.0

Nama Use-case: Create Tree Jenis Use-Case

Kebutuhan Operasional:

ID Use-case:

Prioritas: Tinggi

Sumber: -

Pelaku Bisnis Utama: User

Pelaku Lain yang

Terlibat

-

Pihak Lain yang

Berkepentingan

-

Deskripsi: Use case ini menggambarkan proses memasukkan data training

ke sistem. Data training digunakan untuk membuat Tree.

Kondisi Awal: Admin telah masuk ke halaman Make Tree

Pemicu: Use case ini digunakan apabila User ingin memasukkan data

taining ke dalam sistem dan membuat model.

Urutan Aktifitas

Normal :

Actor Action System Response

Langkah 1:

User menekan tombol “CREATE TREE”

Langkah 3:

User menekan tombol

“BROWSE”

Langkah 5: User memilih file data yang

akan dipilih, kemudian user

menekan tombol ”OPEN”

Langkah 2: Sistem membuka halaman

CREATE TREE

Langkah 4:

Sistem membuka halaman

BROWSE (file selector)

Langkah 6:

Sistem membuka file data yang

dipilih.

Langkah 7: Sistem

menampilkan pesan bahwa data

telah berhasil dimasukkan.

Page 81: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

61

Langkah 8: User menekan tombol

“PREPROSESING”

Langkah 11:

User menekan tombol “CREATE TREE”

Langkah 9: Sistem mengubah data numeric

menjadi data nominal.

Langkah 10: Sistem menampilkan

menampilkan halaman CREATE

TREE.

Langkah 12:

Sistem membuat model tree.

Langkah 13: Sistem menampilkan pesan

bahwa tree telah terbentuk.

Aktifitas Alternatif : Langkah Alternatif 1: Untuk batal atau kembali ke halaman home, user dapat menekan

tombol “BACK”

Langkah Alternatif 13:

User menekan tombol “VIEW TREE” untuk menampilkan menampilkan halaman VIEW TREE..

Kesimpulan: Dalam proses ini user dapat melakukan proses input data training

dan membuat model tree.

Kondisi Akhir: User berhasil memasukkan data training dan model tree telah dibuat.

Prosedur Bisnis: User harus memilih file data input yang benar.

Batasan Implementasi

dan Spesifikasi

Data yang diinputkan harus sesuai format.

1.2 Narasi Use case Personal Klasifikasi

Penulis: Hieronymus Dimas Febrianto

Tangal: 26 November

2009

Versi: 1.0

Nama Use-case: Personal Klasifikasi Jenis Use-Case

Kebutuhan Operasional:

ID Use-case:

Page 82: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

62

Prioritas: Tinggi

Sumber: -

Pelaku Bisnis Utama: User

Pelaku Lain yang

Terlibat

-

Pihak Lain yang

Berkepentingan

-

Deskripsi: Use case ini menggambarkan proses untuk memasukkan data

testing ke sistem dan melakukan pelabelan.

Kondisi Awal: - User telah membentuk tree.

- User telah masuk ke halaman Personal Klasifikasi

Pemicu: Use case ini digunakan apabila user ingin memasukkan data

testing ke dalam sistem dan klasifikasi.

Urutan Aktifitas

Normal :

Actor Action System Response

Langkah 1:

User menekan tombol “PERSONAL

KLASIFIKASI”

Langkah 3:

User menekan tombol “COMBO BOX” yang aktif..

Langkah 4: User menekan tombol

“PROSES”

Langkah 6:

User kembali melakukan langkah 3.

Langkah 2: Sistem membuka halaman

PERSONAL KLASIFIKASI

Langkah 5:

Sistem mengaktifkan tombol

combo box selanjutnya.

Langkah 7: Sistem melakukan proses

pelabelan posisi pemain.

Aktifitas Alternatif : Langkah Alternatif 1:

Untuk batal atau kembali ke halaman home, user dapat menekan tombol “BACK”

Langkah Alternatif 10:

User menekan tombol “VIEW TREE” untuk menampilkan menampilkan halaman VIEW TREE.

Kesimpulan: Semua pengguna berhasil memasukkan data testing dan telah

Page 83: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

63

dilakukan klasifikasi posisi pemain..

Kondisi Akhir: User berhasil memasukkan data testing dan klasifikasi posisi

pemain.

Prosedur Bisnis: User harus mengisi semua data input yang benar.

Batasan Implementasi

dan Spesifikasi

Data yang diinputkan harus sesuai format.

1.3 Narasi Use case Group Klasifikasi

Penulis: Hieronymus Dimas Febrianto

Tangal: 26 November

2009 Versi: 1.0

Nama Use-case: Group Klasifikasi Jenis Use-Case

Kebutuhan Operasional:

ID Use-case:

Prioritas: Tinggi

Sumber: -

Pelaku Bisnis Utama: User

Pelaku Lain yang

Terlibat

-

Pihak Lain yang

Berkepentingan

-

Deskripsi: Use case ini menggambarkan proses untuk memasukkan data

testing ke sistem dan melakukan pelabelan.

Kondisi Awal: - User telah membentuk tree.

- User telah masuk ke halaman Group Klasifikasi

Pemicu: Use case ini digunakan apabila user ingin memasukkan data

testing ke dalam sistem dan klasifikasi.

Urutan Aktifitas

Normal :

Actor Action System Response

Langkah 1:

User menekan tombol “GROUP KLASIFIKASI”

Langkah 3:

User menekan tombol “BROWSE”

Langkah 5:

Admin memilih file data

Langkah 2: Sistem membuka halaman GROUP KLASIFIKASI

Langkah 4:

Sistem membuka halaman

BROWSE

Page 84: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

64

yang akan dipilih, kemudian user menekan tombol

”OPEN”

Langkah 8: User menekan tombol “PROSES”

Langkah 6: Sistem membuka file data yang

dipilih.

Langkah 7: Sistem

menampilkan pesan bahwa data

telah berhasil dimasukkan.

Langkah 9:

Sistem melakukan proses

pelabelan posisi pemain.

Aktifitas Alternatif : Langkah Alternatif 1: Untuk batal atau kembali ke halaman home, user dapat menekan

tombol “BACK”

Langkah Alternatif 10: User menekan tombol “VIEW TREE” untuk menampilkan

menampilkan halaman VIEW TREE.

Kesimpulan: Semua pengguna berhasil memasukkan data testing dan telah

dilakukan klasifikasi posisi pemain..

Kondisi Akhir: User berhasil memasukkan data testing dan klasifikasi posisi

pemain.

Prosedur Bisnis: User harus mengisi semua data input yang benar.

Batasan Implementasi

dan Spesifikasi

Data yang diinputkan harus sesuai format.

1.4 Narasi Use case Setting Atribut

Penulis: Hieronymus Dimas Febrianto

Tangal: 26 November

2009

Versi: 1.0

Nama Use-case: Set Ranges Atribut Jenis Use-Case

Kebutuhan Operasional:

ID Use-case:

Prioritas: Sedang

Sumber: -

Pelaku Bisnis Utama: User

Pelaku Lain yang

Terlibat

-

Page 85: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

65

Pihak Lain yang

Berkepentingan

-

Deskripsi: Use case ini menggambarkan proses untuk men-set ulang ranges

atribut.

Kondisi Awal: User telah masuk ke halaman Setting

Pemicu: Use case ini digunakan apabila user ingin mengubah ranges

atibut.

Urutan Aktifitas

Normal :

Actor Action System Response

Langkah 1:

User menekan tombol

“SETTING”

Langkah 3: User memasukan/ mengubah

nilai ranges atribut baru.

Langkah 5:

User menekan tombol “OK”

Langkah 2: Sistem membuka halaman

SETTING

Langkah 4:

Sistem mengganti nilai ranges

dari atribut yang diubah nilainya. Kemudian

menampilkannya.

Langkah 6:

Sistem menampilkan menampilkan halaman HOME

Aktifitas Alternatif : Langkah Alternatif 1:

Untuk batal atau kembali ke halaman home, user dapat menekan

tombol “BACK

Langkah Alternatif 5:

User dapat menekan tombol “DEFAULT” untuk mengembalikan

nilai ranges atribut ke dalam nilai yang telah ditentukan oleh sistem.

Kesimpulan: User berhasil mengubah nilai dari ranges atribut.

Kondisi Akhir: User berhasil mengubah nilai dari ranges atribut.

Prosedur Bisnis: User harus mengisi semua data input yang benar.

Batasan Implementasi

dan Spesifikasi

Data yang diinputkan harus sesuai format.

Page 86: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

66

LAMPIRAN 2

ACTIVITY DIAGRAM

Use Case Activity Diagram

Create Tree Lampiran 2.1

Personal Klasifikasi Lampiran 2.2

Group Klasifikasi Lampiran 2.3

Setting Atribut Lampiran 2.4

Page 87: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

67

2.1 Create Tree

User System

Klik Tombol Create Tree

Menampilkan halamanBROWSE (file selector)

Klik tombol Browse

Menampilkan dialog box, file telah diinputkan

Menampilkan halaman Create Tree

Klik file yang sesuai

Klik tombol open

Klik tombol PreprocessingMenampilkan dialog box, file telah

diproses

Klik tombol Create TreeMenampilkan dialog box, Tree sudah

terbentuk

Klik tombol Back

Klik tombol View Tree

Menampilkan Halaman Home

Menampilkan halaman View Tree

Gambar 2.1 Diagram Activity Create Tree

Page 88: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

68

2.2 Personal Klasifikasi

User System

Klik Tombol Personal Klasifikasi

Menampilkan posisi pada jText

Klik tombol combo box yang sesuai

Menampilkan halaman Personal Klasifikasi

Menampilkan combo box selanjutnya

Klik tombol Proses

Gambar 2.2 Diagram Activity Personal Tree

Page 89: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

69

2.3 Group Klasifikasi

User System

Klik Tombol Group Klasifikasi

Menampilkan halamanBROWSE (file selector)

Klik tombol Browse

Menampilkan dialog box, file telah diinputkan

Menampilkan halaman Group Klasifikasi

Klik file yang sesuai

Klik tombol open

Klik tombol Proces Menampilkan posisi pemain

Klik tombol Back

Klik tombol View Tree

Menampilkan Halaman Home

Menampilkan halaman View Tree

Gambar 2.3 Diagram Activity Group Klasifikasi

Page 90: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

70

2.4 Setting

User System

Klik Tombol Setting

Klik tombol Spinner

Mengupdate table data kategori

Menampilkan halaman Setting

Klik tombol Save

Klik tombol DefaultMengpdate table data kategori

dengan nilai default

Klik tombol BackMenampilkan dialog box, Tree sudah

terbentuk

Gambar 2.4 Diagram Activity Setting

Page 91: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

71

LAMPIRAN 3

MODEL ANALISIS

Use Case Sequence Diagram

Create Tree Lampiran 3.1

Personal Klasifikasi Lampiran 3.2

Group Klasifikasi Lampiran 3.3

Setting Atribut Lampiran 3.4

Page 92: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

72

3.1 Sequence Create Tree

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 HomeForm

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form Home

2 CreateTreeForm Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan CreateTreFom.

3 Player Entity Kelas ini berfungsi untuk

membaca file dan menyimpan.

4 Tools Entity Kelas ini berfungsi untuk csv

reader menyimpan kategori,

konversi, hitung gain.

5 Tree Entity Kelas ini berfungsi untuk

menyimpan model tree Tabel 3.1 Kelas Analisis Create Tree

Page 93: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

73

Halaman home Playerhalaman Create Tree TreeTools

view

Data pemain

1. Aktor menekantombol Group Klasifikasi

2. Aktor menekantombol Browse

4. Aktor menekantombol Create Tree

Menekan Browse

Menekan Create Tree

Menekan ProcesKonversi

hitung, Buat tree

data konversi

tree

ambil Data

enumData

ambil Data

data

enumPosisi enumKategori

ambil Posisi

ambil Kategori

3. Aktor menekantombol Preprocessing

posisi

kategori

menekan Create Tree

Simpan

Gambar 3.1 Sequence Create Tree

3.2 Sequence Personal Klasifikasi

Page 94: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

74

Halaman home halaman Personal Klasifikasi Tree

view1. Aktor menekantombol Personal

Klasifikasi

2. Aktor menekantombol Combo Box

3. Aktor menekantombol Proces

Menekan combo Box

Menekan Personal Klasifikasi

Menekan ProcesKlasifikasi

Sistem Border

posisi

set data

model

enumData

panggil

kategori

Gambar 3.2 Sequence personal klasifikasi

No Nama Kelas Tipe Deskripsi

1 HomeForm

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form Home

2 PersonalKlasifikasiForm Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan

personalKlasifikasFormi

3 Tree Entity Kelas ini berfungsi untuk

menyimpan model tree

4 Enum Data Entity Kelas ini berfungsi untuk

menyimpan data kategori.

Page 95: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

75

3.3 Sequence Group Klasifikasi

No Nama Kelas Tipe Deskripsi

1 HomeForm

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form Home

2 Group klasifikasForm Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form group

klasifikasi

3 PlayerK Entity Kelas ini berfungsi untuk

membaca file dan

menyimpannya.

4 Tools Entity Kelas ini berfungsi untuk csv

reader menyimpan kategori,

konversi, hitung gain.

3 Tree Entity Kelas ini berfungsi untuk

menyimpan model tree

4 Enum Data Entity Kelas ini berfungsi untuk

menyimpan data kategori. Gambar 3.3 Sequence Group Klasifikasi

Page 96: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

76

Halaman home Playerhalaman Group Klasifiaksi TreeTools

view

Data pemain

1. Aktor menekantombol Group Klasifikasi

2. Aktor menekantombol Browse

Menekan Browse

Menekan Group Klasifikasi

Menekan ProcesKonversi

Klasifiaksi

Sistem Border

data konversi

posisi

ambil Data

enumData

panggil

data

3. Aktor menekantombol Proces

Gambar 3.3 SequenceGroup Klasifikasi

3.4 Sequence Setting

No Nama Kelas Tipe Deskripsi

1 HomeForm

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form Home

2 SettingForm Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form Setting

3 Tools Entity Kelas ini berfungsi untuk csv

reader menyimpan kategori,

konversi, hitung gain. Gambar 3.4 Sequence set Ranges Atribut

Page 97: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

77

Halaman home halaman Setting Tools

view1. Aktor menekantombol Group Klasifikasi

2. Aktor mengisi TextField

3. Aktor menekantombol Save

Mengisi textField

Menekan Setting

Menekan Save

4. Aktor menekantombol Default

set data ()

get data ()

Menekan Defaultset data ()

get data ()

Sistem Border

Gambar 3.4 Sequence Set Ranges Atribut

Page 98: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

78

LAMPIRAN 4

DIAGRAM KELAS

4.1 Diagram Kelas Keseluruhan

Create Tree Form

Personal Klasifikasi Form

Group Klasifikasi Form

Setting Form

Player

PlayerK

enumData

enumKategori

enumPosisi

Tools

Tree

Home Form

Gambar 4.1 diagram kelas keseluruhan

Page 99: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

79

LAMPIRAN 5

ATRIBUT DAN METHOD

No Kelas Desain Jenis Lampiran

1 Player Entities Lampiran 5.1

2 PlayerK Entities Lampiran 5.2

3 Tree Entities Lampiran 5.3

4 enumData Entities Lampiran 5.4

5 enumKategori Entities Lampiran 5.5

6 enumPosisi Entities Lampiran 5.6

7 Tools Entities Lampiran 5.7

8 Home Form Interface Lampiran 5.8

9 Create Tree Form Interface Lampiran 5.9

10 personalKlasifikasiForm Interface Lampiran 5.10

11 groupKlasifikasiForm Interface Lampiran 5.11

12 SettingForm Interface Lampiran 5.12

Page 100: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

80

5.1 Player

Atribud:

id_player: Integer

fieldGoal: double

threePoint: double

freeThrow: double

ofensiveRebount: double

defensifeRebount: double

totalRebount: double

assistPerGames: double

stealPerGames: double

blockPerGames: double

pointPerGames: double

turnOver: double

personalFoul: double

TINGGI: double

BERAT: double

POSISI: String

Method

A. executeFileToPlayer(file) {

input:

file

output:

players

algoritma:

a. if(!file.getName().endsWith (“csv”)

then

Page 101: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

81

tampilkan " Format File tidak Sesuai”

return null;

end if

b. cari ←obejct String

c. cari= new Tools().readFile(file)

d. player[]←object Player

e. for 1=0 to rows.countTokens()

then

players[i] = new Player()

f. i←object int

g. 1=0

h. While (rows.hasMoreTokens())

Then

baris←object String

baris = rows.nextToken().replaceAll(",", " ");

columns←object StringTokenizer

columns = new StringTokenizer(baris);

j←object int

j = 0

if (columns.countTokens() != 16)

then

tampilkan "Jumlah Kolom tidak Sesuai"

return null

end if

while (columns.hasMoreTokens())

then

players[i].setId_player(Integer.parseInt(columns.nextToken()

players[i].setFieldGoal(Double.parseDouble(columns.nextToken()

players[i].setThreePoint(Double.parseDouble(columns.nextToken()

Page 102: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

82

players[i].setFreeThrow(Double.parseDouble(columns.nextToken()

players[i].setOfensiveRebount(Double.parseDouble(columns.nextToken()

players[i].setDefensifeRebount(Double.parseDouble(columns.nextToken()

players[i].setTotalRebount(Double.parseDouble(columns.nextToken()

players[i].setAssistPerGames(Double.parseDouble(columns.nextToken()

players[i].setStealPerGames(Double.parseDouble(columns.nextToken()

players[i].setBlockPerGames(Double.parseDouble(columns.nextToken()

players[i].setPointPerGames(Double.parseDouble(columns.nextToken()

players[i].setTurnOver(Double.parseDouble(columns.nextToken()

players[i].setPersonalFoul(Double.parseDouble(columns.nextToke

n()

players[i].setTINGGI(Double.parseDouble(columns.nextToken()

players[i].setBERAT(Double.parseDouble(columns.nextToken()

players[i].setPOSISI(columns.nextToken()

end while

end while

retrun palyer

5.2 PlayerK

Atribud:

id_player: Integer

fieldGoal: double

threePoint: double

Page 103: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

83

freeThrow: double

ofensiveRebount: double

defensifeRebount: double

totalRebount: double

assistPerGames: double

stealPerGames: double

blockPerGames: double

pointPerGames: double

turnOver: double

personalFoul: double

TINGGI: double

BERAT: double

Method:

B. executeFileToPlayer(file) {

input:

file

output:

players

algoritma:

i. if(!file.getName().endsWith (“csv”)

then

tampilkan " Format File tidak Sesuai”

return null;

end if

j. cari ←obejct String

k. cari= new Tools().readFile(file)

l. player[]←object Player

m. for 1=0 to rows.countTokens()

Page 104: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

84

then

players[i] = new Player()

n. i←object int

o. 1=0

p. While (rows.hasMoreTokens())

Then

baris←object String

baris = rows.nextToken().replaceAll(",", " ");

columns←object StringTokenizer

columns = new StringTokenizer(baris);

j←object int

j = 0

if (columns.countTokens() != 16)

then

tampilkan "Jumlah Kolom tidak Sesuai"

return null

end if

while (columns.hasMoreTokens())

then

players[i].setId_player(Integer.parseInt(columns.nextToken()

players[i].setFieldGoal(Double.parseDouble(columns.nextToken()

players[i].setThreePoint(Double.parseDouble(columns.nextToken()

players[i].setFreeThrow(Double.parseDouble(columns.nextToken()

players[i].setOfensiveRebount(Double.parseDouble(columns.nextToken()

players[i].setDefensifeRebount(Double.parseDouble(columns.nextToken()

players[i].setTotalRebount(Double.parseDouble(columns.nextToken()

players[i].setAssistPerGames(Double.parseDouble(columns.nextToken()

Page 105: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

85

players[i].setStealPerGames(Double.parseDouble(columns.nextToken()

players[i].setBlockPerGames(Double.parseDouble(columns.nextToken()

players[i].setPointPerGames(Double.parseDouble(columns.nextToken()

players[i].setTurnOver(Double.parseDouble(columns.nextToken()

players[i].setPersonalFoul(Double.parseDouble(columns.nextToke

n()

players[i].setTINGGI(Double.parseDouble(columns.nextToken()

players[i].setBERAT(Double.parseDouble(columns.nextToken()

end while

end while

retrun palyer

5.3 Tree

Atribut:

id: int

kategori: enumData

data_kategori: enumKategori

posisi: enumPosisi

dataset Vector

Level: int

Method:

Tidak ada

5.6 enumData

Atribud:

Page 106: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

86

fieldGoal

threePoint

freeThrow

ofensiveRebount

defensifeRebount

totalRebount

assistPerGames

stealPerGames

blockPerGames

pointPerGames

turnOver

personalFoul

TINGGI

BERAT

Method:

Tidak Ada

5.7 enumPosisi

Atribud:

Guard

Forward

Center

Method:

Tidak Ada

5.8 enumKategori

Atribud:

jelek

Page 107: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

87

sedang

bagus

Method:

Tidak Ada

5.9 Tools

Atribut:

LOW_FG: double

HIGH_FG: double

LOW_TP: double

HIGH_TP: double

LOW_FT: double

HIGH_FT: double

LOW_OFF: double

HIGH_0FF: double

LOW_DEF: double

HIGH_DEF: double

LOW_TOT: double

HIGH_TOT: double

LOW_APG: double

HIGH_APG: double

LOW_SPG: double

HIGH_SPG: double

LOW_BPG: double

HIGH_BPG: double

LOW_PPG: double

HIGH_PPG: double

LOW_TO: double

Page 108: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

88

HIGH_TO: double

LOW_PF: double

HIGH_PF: double

LOW_TINGGI: double

HIGH_TINGGI: double

LOW_BERAT: double

HIGH_BERAT: double

LOW_FGDefault: double

HIGH_FGDefault: double

LOW_TPDefault: double

HIGH_TPDefault: double

LOW_FTDefault: double

HIGH_FTDefault: double

LOW_OFFDefault: double

HIGH_0FFDefault: double

LOW_DEFDefault: double

HIGH_DEFDefault: double

LOW_TOTDefault: double

HIGH_TOTDefault: double

LOW_APGDefault: double

HIGH_APGDefault: double

LOW_SPGDefault: double

HIGH_SPGDefault: double

LOW_BPGDefault: double

HIGH_BPGDefault: double

LOW_PPGDefault: double

HIGH_PPGDefault: double

LOW_TODefault: double

LOW_TODefault: double

Page 109: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

89

HIGH_TODefault: double

LOW_PFDefault: double

HIGH_PFDefault: double

LOW_TINGGIDefault: double

HIGH_TINGGIDefault: double

LOW_BERATDefault=: double

HIGH_BERATDefault: double

Method:

A. public String readFile(File courseFile){

input:file

output:out

algoritma:

a. out←object String

b. out=null

c. if (courseFile.isFile()){

in←object BufferedReader

in = new BufferedReader(new FileReader(courseFile));

ch← object int

while ( (ch = in.read())!=-1) then

if(out!=null) then

out =out+(char)ch+in.readLine()+"\n";

end if

else

out = (char)ch+in.readLine()+"\n";

end while

return out;

B. public static int konversi (double value) {

Page 110: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

90

input:

value

output:

value

algoritma:

a. if (value >= 0 && value <= LOW_BERAT) then

return 1;

end if

b. else if (value >LOW_BERAT && value <HIGH_BERAT) then

return 2;

end else if

c. else if (value >=HIGH_BERAT) then

return 3;

end else if

C. Entropy_Total(Vector tmp) {

Input:

vector

Output:

gain

Algoritma:

a. Jml_kelas← object float

b. Jml_kelas[] = new float[jumlah_kelas];

c. jumlah← object float

d. jumlah = 0

e. total← object float

f. total = 0

g. for i = 0 to jumlah_kelas then

jumlah = 0;

Page 111: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

91

for j = 0 to tmp.size() then

Player = (Player) tmp.elementAt(j)

if (d.getPosisi() == data_kelas[i])then

jumlah++;

then if

end for

Jml_kelas[i] = jumlah;

total += Jml_kelas[i];

end for

float Gain = 0;

for i = 0 to jumlah_kelas then

if (Jml_kelas[i] > 0) then

Gain += ((-1 * (float) (Jml_kelas[i] / total)) * (((float)

Math.log(Jml_kelas[i] / total)) / ((float) Math.log(2))));

End if

End for

return Gain;

D. Gain_atribut(Vector tmp, float Entropy_Total)

Input:

Vector, float

Output:

hasil

Algoritma:

a. data_fitur[][]←object

b. float data_fitur[][] = new float[data_atribut.length][jumlah_kelas];

c. jumlah←object float

d. jumlah = 0;

Page 112: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

92

e. float total[] = new float[data_fitur.length];

f. total_semua ← object float

g. total_semua = 0;

h. for k = 0 to data_fitur.length then

total[k] = 0;

for i = 0 to data_fitur[k].length then

jumlah = 0;

for j = 0 to tmp.size() then

Player d = (Player) tmp.elementAt(j);

if (d.getFg() == data_atribut[k] && d.getPosisi() == data_kelas[i]) then

jumlah++;

end if

end for

data_fitur[k][i] = jumlah;

total[k] += data_fitur[k][i];

end for

total_semua += total[k];

end for

i. float hasil = 0;

j. for k = 0 to data_fitur.length then

float Gain = 0;

int indek = 0;

for i = 0 to data_fitur[k].length then

if (data_fitur[k][i] > 0) then

Gain += (-1 * ((float) (data_fitur[k][i] / total[k])) * ((float)

Math.log(data_fitur[k][i] / total[k])) / ((float) Math.log(2)));

indek++;

end if

end for

Page 113: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

93

hasil += Gain * (total[k] / total_semua);

end for

hasil = Gain_Total - hasil;

return hasil;

5.11 HomeForm

Atribut:

jButtonAbout;

JButton jButtonCreateTree;

JButton jButtonExit;

JButton jButtonGroupK;

JButton jButtonHelp;

JButton jButtonPersonalK;

JButton jButtonSetting;

JLabel jLabelCopy;

JLabel jLabelFakultas;

JLabel jLabelGambar;

JLabel jLabelJudul1;

JLabel jLabelJudul2;

JLabel jLabelTI;

JLabel jLabelUSD;

JLabel jLabelYog;

JPanel jPanelCopy;

JPanel jPanelJudul;

JPanel jPanelKampus;

JPanel jPanelMenu;

Method:

A. jButtonCreateTreeActionPerformed(java.awt.event.ActionEvent evt) {

Page 114: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

94

input:

output:

algoritma:

mt←object createTree

mt = new createTree(pohonkeputusan);

mt.setVisible(true);

this.dispose();

B. jButtonPersonalKActionPerformed(java.awt.event.ActionEvent evt) {

input:

output:

method:

if(pohonkeputusan != null)

then

kl←object personalKlasifikasi

kl = new personalKlasifikasi(pohonkeputusan);

kl.setVisible(true);

this.dispose();

end if

else then

tampilkan "Pohon Belum Terbentuk"

End else

C. jButtonSettingActionPerformed(java.awt.event.ActionEvent evt) {

input:

output:

algoritma:

hm←object setting

hm = new setting(pohonkeputusan)

Page 115: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

95

hm.setVisible(true);

this.dispose();

D. private void jButtonExitActionPerformed(java.awt.event.ActionEvent evt)

{

input:

output:

algoritma:

System.exit(0)

E. jButtonGroupKActionPerformed(java.awt.event.ActionEvent evt) {

input:

output:

method:

if(pohonkeputusan != null)

then

kl←object personalKlasifikasi

kl = new personalKlasifikasi(pohonkeputusan);

kl.setVisible(true);

this.dispose();

end if

else then

tampilkan "Pohon Belum Terbentuk"

End else

5.12 CreateTreeForm

Atribut:

Page 116: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

96

JButton jButtonBack;

JButton jButtonBrowse;

JButton jButtonCreateTree;

JButton jButtonPreprocessing;

JButton jButtonViewTree;

JLabel jLabelJudul;

JScrollPane jScrollPane1;

JScrollPane jScrollPane2;

JTable jTable1;

JTable jTableCreateTree;

JTextField jTextFieldBrowse;

private DefaultTableModel dtm;

private List<DataStatistik> record;

private Vector dataset;

private Vector pohonkeputusan;

private Player players[];

Method:

A. jButtonBrowseActionPerformed(java.awt.event.ActionEvent evt) {

input:

output:

algoritma:

a. fc← object JFileChooser

b. fc = new JFileChooser()

c. if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)

then

jTextFieldBrowse.setText(fc.getSelectedFile().getPath()

record = new ArrayList<DataStatistik>()

players = Player.executeFileToPlayer(fc.getSelectedFile()

Page 117: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

97

if (players != null)

then

dtm = (DefaultTableModel) jTableCreateTree.getModel();

for i = 0 to players.length

then

dtm.addRow(new Object[]{players[i].getId_player(),

players[i].getFieldGoal(), players[i].getThreePoint(),

players[i].getFreeThrow(),

players[i].getOfensiveRebount(), players[i].getDefensifeRebount(),

players[i].getTotalRebount(), players[i].getAssistPerGames(),

players[i].getStealPerGames(), players[i].getBlockPerGames(),

players[i].getPointPerGames(), players[i].getTurnOver(),

players[i].getPersonalFoul(), players[i].getTINGGI(),

players[i].getBERAT(), players[i].getPOSISI()

end for

tampilkan "File sudah diinputkan"

end if

end if

B. jButtonBackActionPerformed(java.awt.event.ActionEvent evt)

input:

output:

algoritma:

hm←object home

hm = new home(pohonkeputusan)h

m.setVisible(true)

this.dispose()

C. jButtonPreprocessingActionPerformed(java.awt.event.ActionEvent evt) {

Page 118: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

98

input:

output:

algoritma:

dtm = (DefaultTableModel) jTableCreateTree.getModel();

while (dtm.getRowCount() > 0)

then

dtm.removeRow(0)

end while

dataset = new Vector();

for int i = 0 to players.length()

then

dss← object Player

dss = new Player()

dss.setIdPlayer(players[i].getId_player()

dss.setFg(tools.konversiFG(players[i].getFieldGoal()

dss.setThreeP(tools.konversiTP(players[i].getThreePoint()

dss.setFt(tools.konversiFT(players[i].getFreeThrow()

dss.setOff(tools.konversiOFF(players[i].getOfensiveRebount()

dss.setDef(tools.konversiDEF(players[i].getDefensifeRebount()

dss.setTot(tools.konversiTOT(players[i].getTotalRebount()

dss.setApg(tools.konversiAPG(players[i].getAssistPerGames()

dss.setSpg(tools.konversiSPG(players[i].getStealPerGames()

dss.setBpg(tools.konversiBPG(players[i].getBlockPerGames()

dss.setPpg(tools.konversiPPG(players[i].getPointPerGames()

dss.setTurno(tools.konversiTO(players[i].getTurnOver()

dss.setPerF(tools.konversiPF(players[i].getPersonalFoul()

dss.setTinggi(tools.konversiTINGGI(players[i].getTINGGI()

dss.setBerat(tools.konversiBERAT(players[i].getBERAT()

dss.setPosisi(tools.KonversiPosisi(players[i].getPOSISI()).ordinal()

Page 119: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

99

dataset.add(dss);

dtm.addRow(new Object[]{dss.getIdPlayer(), dss.getFg(), dss.getThreeP(),

dss.getFt(), dss.getOff(), dss.getDef(), dss.getTot(), dss.getApg(),

dss.getSpg(), dss.getBpg(), dss.getPpg(), dss.getTurno(), dss.getPerF(),

dss.getTinggi(), dss.getBerat(), dss.getPosisi()

end for

tampilkan "File sudah diproses"

D. jButtonViewTreeActionPerformed(java.awt.event.ActionEvent evt)

input:

output:

algoritma:

if (pohonkeputusan != null)

then

kl←pbject viewTree

kl = new viewTree(pohonkeputusan);

kl.setVisible(true);

this.dispose();

end if

else

tampilkan “Pohon Belum Terbentuk"

end else

E. id3(int master_id, int level, Vector tmp, enumKategori nilaifitur) {

input:

int, int, Vector, enumKategori

output:

pohonkeputusan

algoritma:

a. atribut_terpilih←object enumData

Page 120: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

100

b. atribut_terpilih = null;

c. atribut_terbesar← object float

d. atribut_terbesar = 0

e. opsi[]←object enumKategori

f. opsi[] = enumKategori.values()

g. gainI←object float

h. gainI = hitung.Gain_Total(tmp)

i. kelas[]←object enumPosisi

j. kelas[] = enumPosisi.values()

k. if (!cari_fitur(enumData.fieldGoal, pohonkeputusan, master_id)

then

gainFg ← object float

gainFg = hitung.Entropy_FieldGoal(tmp, gainI)

if (atribut_terbesar < gainFg) {

atribut_terbesar = gainFg;

atribut_terpilih = enumData.fieldGoal;

end if

end if

l. ualangi langkah k dengan sampai semua atribut

m. data_kosong←object boolean

n. data_kosong = false;

o. for i = 0 to opsi.length

then

dataset_hasil← object Vector

dataset_hasil = pecah_data(atribut_terpilih, tmp, opsi[i].ordinal() + 1)

jumlah_data ←object int

jumlah_data = dataset_hasil.size();

if (jumlah_data == 0)

then

Page 121: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

101

data_kosong = true;

end if

end for

if (!data_kosong)

then

makeTree←object CreateTree

makeTree = new CreateTree()

id←object int

id = id_pohon_keputusan()

makeTree.setId(id)

makeTree.setKategori(atribut_terpilih)

makeTree.setData_kategori(nilaifitur)

makeTree.setMaster_id(master_id)

makeTree.setLevel(level)

makeTree.setDataset(dataset)

pohonkeputusan.add(makeTree)

if (!data_kosong)

then

makeTree←object CreateTree

makeTree = new CreateTree()

id←object int

id = id_pohon_keputusan()

makeTree.setId(id)

makeTree.setKategori(atribut_terpilih)

makeTree.setData_kategori(nilaifitur)

makeTree.setMaster_id(master_id)

makeTree.setLevel(level)

makeTree.setDataset(dataset)

pohonkeputusan.add(makeTree)

Page 122: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

102

end for

end if

if (status == false)

then

id3(makeTree.getId(), level,

dataset_hasil,enumKategori.valueOf(String.valueOf(opsi[i])

end if

end for

end if

else

jumlah_perkelas ←object int

jumlah_perkelas = 0

int jumlah_terbanyak = 0

int index_penyakit = 0

for k = 0 to kelas.length

then

jumlah_perkelas = 0

for j = 0 to tmp.size()

then

Player d = (Player) tmp.elementAt(j)

if (d.getPosisi() == kelas[k].ordinal())

then

end for

end for

if (jumlah_terbanyak < jumlah_perkelas)

then

jumlah_terbanyak = jumlah_perkelas

index_penyakit = k

end if

Page 123: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

103

CreateTree Pk2 = new CreateTree()

int id2 = id_pohon_keputusan()

Pk2.setId(id2)

Pk2.setData_kategori(nilaifitur)

Pk2.setMaster_id(master_id)

Pk2.setPosisi(kelas[index_penyakit])

Pk2.setLevel(level)

pohonkeputusan.add(Pk2)

F. id_pohon_keputusan() {

input:

output:

hasil

hasil← object int

hasil = 0;

for i = 0 to pohonkeputusan.size()

then

p←object CreateTree

p = (CreateTree) pohonkeputusan.elementAt(i)

if (p.getId() > hasil)

then

hasil = p.getId()

end if

if (hasil == 0) then

hasil = 1

end if

else

return hasil;

Page 124: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

104

G. cari_fitur(enumData tmp_fitur, Vector tmp, int tmp_id) {

input:

enumData, Vwctor, int

output:

hasil

algoritma:

a. hasil←object boolean

b. hasil = false

c. ketemu ← object boolean

d. ketemu = false

e. int id = tmp_id

f. while (!ketemu) then

int tmp2 = 0;

for i = 0 to tmp.size()

Entities.CreateTree d = (Entities.CreateTree) tmp.elementAt(i);

if (d.getId() == id) then

if (d.getKategori() == tmp_fitur) then

hasil = true;

ketemu = true;

else

tmp2 = d.getMaster_id();

id = tmp2;

if (id == 0)

ketemu = true

end if

return hasil

H. pecah_data(enumData tmp_fitur, Vector tmp, int data_fitur) {

input:

enumData, Vector, int

Page 125: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

105

output:

hasil

algoritma:

a. hasil← oject Vector

b. hasil = new Vector()

c. for i = 0 to tmp.size() then

d. Player d = (Player) tmp.elementAt(i)

if (tmp_fitur == enumData.fieldGoal) then

if (d.getFg() == data_fitur) then

hasil.add(d)

end if

kembali ke langkah d sampai semua atribut

return hasil

5.13 PersonalKlasifikasiForm

Atribut:

private Vector pohonkeputusan;

private int Master_Id;

private enumData Kategori;

JComboBox cmbASG;

JComboBox cmbBPG;

JComboBox cmbBerat;

JComboBox cmbDef;

JComboBox cmbFT;

JComboBox cmbFg;

JComboBox cmbOff;

JComboBox cmbPF;

JComboBox cmbPPG;

Page 126: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

106

JComboBox cmbSPG;

JComboBox cmbTO;

JComboBox cmbTP;

JComboBox cmbTinggi;

JComboBox cmbTot;

JButton jButtonBack;

JButton jButtonProses;

JButton jButtonReset;

JButton jButtonViewTree;

JLabel jLabelApg;

JLabel jLabelBerat;

JLabel jLabelBpg;

JLabel jLabelDef;

JLabel jLabelFg;

JLabel jLabelFt;

JLabel jLabelJudul;

JLabel jLabelOff;

JLabel jLabelPf;

JLabel jLabelPosisi;

JLabel jLabelPpg;

JLabel jLabelSpg;

JLabel jLabelTinggi;

JLabel jLabelTo;

JLabel jLabelTot;

JLabel jLabelTp;

JPanel jPanelKlasifikasi1;

JSplitPane jSplitPane1;

Page 127: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

107

JTextField jTextFieldPosisi;

Method:

A. personalKlasifikasi(Vector pohonKeputusan)

input:

pohonKeputusan

output:

enumPosisi

algoritma;

a. Master_Id = 1

b. for j = 0 to pohonkeputusan.size()

c. then

d. k← object CreateTree

e. k = (CreateTree) pohonkeputusan.elementAt(j)

f. if (k.getId() == 1) then

if (k.getKategori() == enumData. Atribut) then

cmb Atribut.setEnabled(true)

Kategori = enumData. Atribut

g. lakukan langkah f sampai semua atribut

B. Proses(int id, enumData kategori)

Input:

Int, enumData

Output:

Algoritma:

a. for j = 0 to pohonkeputusan.size()

b. then

c. k←object CreateTree

Page 128: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

108

d. k = (CreateTree) pohonkeputusan.elementAt(j)

e. if (k.getMaster_id() == id) then

if (kategori == enumData.fieldGoal) then

if (k.getData_kategori().ordinal() == (cmbFg.getSelectedIndex()

then

Master_Id = k.getId()

if (k.getPosisi() == null) then

if (k.getKategori() == enumData.fieldGoal) then

cmbFg.setEnabled(true)

Kategori = enumData.fieldGoal;

End if

else if (k.getKategori() == enumData.threePoint) then

cmbTP.setEnabled(true);

Kategori = enumData.threePoint;

End else if

else if (k.getKategori() == enumData.freeThrow) then

cmbFT.setEnabled(true);

Kategori = enumData.threePoint

End else if

else if (k.getKategori() == enumData.ofensiveRebount) then

cmbOff.setEnabled(true);

Kategori = enumData.ofensiveRebount

End else if

else if (k.getKategori() == enumData.defensifeRebount) then

cmbDef.setEnabled(true);

Kategori = enumData.defensifeRebount;

End else if

else if (k.getKategori() == enumData.totalRebount) then

cmbTot.setEnabled(true);

Page 129: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

109

Kategori = enumData.totalRebount;

End else if

else if (k.getKategori() == enumData.assistPerGames) then

cmbASG.setEnabled(true);

Kategori = enumData.assistPerGames;

End else if

else if (k.getKategori() == enumData.stealPerGames) then

cmbSPG.setEnabled(true);

Kategori = enumData.stealPerGames;

End else if

else if (k.getKategori() == enumData.blockPerGames) then

cmbBPG.setEnabled(true);

Kategori = enumData.blockPerGames;

End else if

else if (k.getKategori() == enumData.pointPerGames) then

cmbPPG.setEnabled(true);

Kategori = enumData.pointPerGames;

End else if

else if (k.getKategori() == enumData.turnOver) then

cmbTO.setEnabled(true);

Kategori = enumData.turnOver

End else if

else if (k.getKategori() == enumData.personalFoul) then

cmbPF.setEnabled(true);

Kategori = enumData.personalFoul;

End else if

else if (k.getKategori() == enumData.TINGGI) then

cmbTinggi.setEnabled(true);

Page 130: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

110

Kategori = enumData.TINGGI;

End else if

else if (k.getKategori() == enumData.BERAT) then

cmbBerat.setEnabled(true);

Kategori = enumData.BERAT;

End else if

End if

End if

else

String Posisi = k.getPosisi().toString();

jTextFieldPosisi.setText(Posisi);

end else

end if

end if

f. lakukan lngkah e untuk semua atribut

end if

C. jButtonProsesActionPerformed(java.awt.event.ActionEvent evt)

Proses(Master_Id, Kategori);

5.14 GroupKlasifikasiForm

Atribut:

private Vector pohonkeputusan;

private DefaultTableModel dtm;

List<DataStatistik> record ;

private String Posisi;

private int Master_Id;

private enumData Kategori;

JButton jButtonBack;

Page 131: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

111

JButton jButtonBrowse;

JButton jButtonProses;

JButton jButtonViewTree;

JLabel jLabelJudul;

JScrollPane jScrollPane1;

JTable jTable1;

JTextField jTextFieldBrowse;

Method:

A. jButtonBrowseActionPerformed(java.awt.event.ActionEvent evt) {

input:

output:

algoritma:

a. fc← object JFileChooser

b. fc = new JFileChooser()

c. if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)

then

jTextFieldBrowse.setText(fc.getSelectedFile().getPath()

record = new ArrayList<DataStatistik>()

players = Player.executeFileToPlayer(fc.getSelectedFile()

if (players != null)

then

dtm = (DefaultTableModel) jTableCreateTree.getModel();

for i = 0 to players.length

then

dtm.addRow(new Object[]{players[i].getId_player(),

players[i].getFieldGoal(), players[i].getThreePoint(),

players[i].getFreeThrow(),

players[i].getOfensiveRebount(), players[i].getDefensifeRebount(),

Page 132: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

112

players[i].getTotalRebount(), players[i].getAssistPerGames(),

players[i].getStealPerGames(), players[i].getBlockPerGames(),

players[i].getPointPerGames(), players[i].getTurnOver(),

players[i].getPersonalFoul(), players[i].getTINGGI(),

players[i].getBERAT(), players[i].getPOSISI()

end for

tampilkan "File sudah diinputkan"

end if

end if

B. Proses(int id, enumData kategori)

Input:

Int, enumData

Output:

Algoritma:

a. for j = 0 to pohonkeputusan.size()

b. then

c. k←object CreateTree

d. k = (CreateTree) pohonkeputusan.elementAt(j)

e. if (k.getMaster_id() == id) then

if (kategori == enumData.fieldGoal) then

if (k.getData_kategori().ordinal() ==

(cmbFg.getSelectedIndex() then

Master_Id = k.getId()

if (k.getPosisi() == null) then

if (k.getKategori() == enumData.fieldGoal) then

cmbFg.setEnabled(true)

Kategori = enumData.fieldGoal;

End if

Page 133: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

113

else if (k.getKategori() == enumData.threePoint) then

cmbTP.setEnabled(true);

Kategori = enumData.threePoint;

End else if

else if (k.getKategori() == enumData.freeThrow) then

cmbFT.setEnabled(true);

Kategori = enumData.threePoint

End else if

else if (k.getKategori() == enumData.ofensiveRebount) then

cmbOff.setEnabled(true);

Kategori = enumData.ofensiveRebount

End else if

else if (k.getKategori() == enumData.defensifeRebount) then

cmbDef.setEnabled(true);

Kategori = enumData.defensifeRebount;

End else if

else if (k.getKategori() == enumData.totalRebount) then

cmbTot.setEnabled(true);

Kategori = enumData.totalRebount;

End else if

else if (k.getKategori() == enumData.assistPerGames) then

cmbASG.setEnabled(true);

Kategori = enumData.assistPerGames;

End else if

else if (k.getKategori() == enumData.stealPerGames) then

cmbSPG.setEnabled(true);

Kategori = enumData.stealPerGames;

End else if

else if (k.getKategori() == enumData.blockPerGames) then

Page 134: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

114

cmbBPG.setEnabled(true);

Kategori = enumData.blockPerGames;

End else if

else if (k.getKategori() == enumData.pointPerGames) then

cmbPPG.setEnabled(true);

Kategori = enumData.pointPerGames;

End else if

else if (k.getKategori() == enumData.turnOver) then

cmbTO.setEnabled(true);

Kategori = enumData.turnOver

End else if

else if (k.getKategori() == enumData.personalFoul) then

cmbPF.setEnabled(true);

Kategori = enumData.personalFoul;

End else if

else if (k.getKategori() == enumData.TINGGI) then

cmbTinggi.setEnabled(true);

Kategori = enumData.TINGGI;

End else if

else if (k.getKategori() == enumData.BERAT) then

cmbBerat.setEnabled(true);

Kategori = enumData.BERAT;

End else if

End if

End if

else

String Posisi = k.getPosisi().toString();

jTextFieldPosisi.setText(Posisi);

Page 135: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

115

end else

end if

end if

f. lakukan lngkah e untuk semua atribut

end if

C. jButtonProsesActionPerformed(java.awt.event.ActionEvent evt) {

input:

output:

algoritma:

dtm = (DefaultTableModel) jTableCreateTree.getModel();

while (dtm.getRowCount() > 0)

then

dtm.removeRow(0)

end while

dataset = new Vector();

for int i = 0 to players.length()

then

dss← object Player

dss = new Player()

dss.setIdPlayer(players[i].getId_player()

dss.setFg(tools.konversiFG(players[i].getFieldGoal()

dss.setThreeP(tools.konversiTP(players[i].getThreePoint()

dss.setFt(tools.konversiFT(players[i].getFreeThrow()

dss.setOff(tools.konversiOFF(players[i].getOfensiveRebount()

dss.setDef(tools.konversiDEF(players[i].getDefensifeRebount()

dss.setTot(tools.konversiTOT(players[i].getTotalRebount()

dss.setApg(tools.konversiAPG(players[i].getAssistPerGames()

dss.setSpg(tools.konversiSPG(players[i].getStealPerGames()

dss.setBpg(tools.konversiBPG(players[i].getBlockPerGames()

Page 136: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

116

dss.setPpg(tools.konversiPPG(players[i].getPointPerGames()

dss.setTurno(tools.konversiTO(players[i].getTurnOver()

dss.setPerF(tools.konversiPF(players[i].getPersonalFoul()

dss.setTinggi(tools.konversiTINGGI(players[i].getTINGGI()

dss.setBerat(tools.konversiBERAT(players[i].getBERAT()

dss.setPosisi(tools.KonversiPosisi(players[i].getPOSISI()).ordinal()

dataset.add(dss);

Master_Id = 1;

for j = 0 to pohonkeputusan.size() then

CreateTree k = (CreateTree) pohonkeputusan.elementAt(j);

if (k.getId() == 1) {

if (k.getKategori() == enumData.fieldGoal) then

Kategori = enumData.fieldGoal;

else if (k.getKategori() == enumData.threePoint) then

Kategori = enumData.threePoint;

End else if

else if (k.getKategori() == enumData.freeThrow) then

Kategori = enumData.threePoint;

End else if

else if (k.getKategori() == enumData.ofensiveRebount) then

Kategori = enumData.ofensiveRebount;

End else if

else if (k.getKategori() == enumData.defensifeRebount) then

Kategori = enumData.defensifeRebount;

End else if

else if (k.getKategori() == enumData.totalRebount) then

Kategori = enumData.totalRebount;

End else if

else if (k.getKategori() == enumData.assistPerGames) then

Page 137: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

117

Kategori = enumData.assistPerGames;

End else if

else if (k.getKategori() == enumData.stealPerGames) then

Kategori = enumData.stealPerGames;

End else if

else if (k.getKategori() == enumData.blockPerGames) then

Kategori = enumData.blockPerGames;

End else if

else if (k.getKategori() == enumData.pointPerGames) then

Kategori = enumData.pointPerGames;

End else if

else if (k.getKategori() == enumData.turnOver) then

Kategori = enumData.turnOver;

End else if

else if (k.getKategori() == enumData.personalFoul) then

Kategori = enumData.personalFoul;

End else if

else if (k.getKategori() == enumData.TINGGI) then

Kategori = enumData.TINGGI;

End else if

else if (k.getKategori() == enumData.BERAT) then

Kategori = enumData.BERAT;

End else if

End if

End if

Proses(Master_Id, Kategori, dss)

dtm.setValueAt(Posisi, index, 15);

Page 138: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

118

5.15 SettingForm

Atribut:

JButton jButtonBack;

JButton jButtonDefault;

JButton jButtonSaveSetting;

JLabel jLabelAPGlow;

JLabel jLabelASGhigh;

JLabel jLabelApg;

JLabel jLabelBERAThigh;

JLabel jLabelBERATlow;

JLabel jLabelBPGhigh;

JLabel jLabelBPGlow;

JLabel jLabelBerat;

JLabel jLabelBpg;

JLabel jLabelDEFhigh;

JLabel jLabelDEFlow;

JLabel jLabelDef;

JLabel jLabelFGhigh;

JLabel jLabelFGlow;

JLabel jLabelFThigh;

JLabel jLabelFTlow;

JLabel jLabelFg;

JLabel jLabelFt;

JLabel jLabelJudul;

JLabel jLabelOFFhigh;

JLabel jLabelOFFlow;

JLabel jLabelOff;

Page 139: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

119

JLabel jLabelPFhigh;

JLabel jLabelPFlow;

JLabel jLabelPPGhigh;

.JLabel jLabelPPGlow;

JLabel jLabelPf;

JLabel jLabelPpg;

JLabel jLabelSPGhigh6;

JLabel jLabelSPGlow;

JLabel jLabelSpg;

JLabel jLabelTINGGIhigh;

JLabel jLabelTINGGIlow;

JLabel jLabelTOThigh;

JLabel jLabelTOTlow;

JLabel jLabelTOhigh;

JLabel jLabelTOlow;

JLabel jLabelTPhigh;

JLabel jLabelTPlow;

JLabel jLabelTinggi;

JLabel jLabelTo;

JLabel jLabelTot;

JLabel jLabelTp;

JPanel jPanelBagus;

JPanel jPanelJelek;

JPanel jPanelKategori;

JPanel jPanelMenu;

JPanel jPanelSedang;

JTextFieldAPGhigh;

Page 140: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

120

JTextFieldAPGlow;

JTextFieldBERAThigh;

JTextFieldBERATlow;

JTextFieldBPGhigh;

JTextFieldBPGlow;

JTextFieldDEFhigh;

JTextFieldDEFlow;

JTextFieldFGhigh;

JTextField FGlow;

JTextFieldFThigh;

JTextFieldFTlow;

JTextFieldOFFhigh;

JTextFieldOFFlow;

JTextFieldPFhigh;

JTextFieldPFlow;J

jTextFieldPPGhigh;

JTextFieldPPGlow;

JTextFieldSPGhigh;

JTextFieldSPGlow;

JTextFieldTINGGIhigh;

JTextFieldTOThigh;

JTextFieldTOTlow;

JTextFieldTOhigh;

JTextFieldTOlow;

JTextFieldTPhigh;

JTextFieldTPlow;

JTextFieldTinggilow;

Page 141: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

121

Method:

A. private void loadSetting()

input:

output:

algoritma:

jTextFieldFGlow.setText(String.valueOf(RangesKatagori.LOW_FG));

jTextFieldFGhigh.setText(String.valueOf(RangesKatagori.HIGH_FG));

jLabelFGlow.setText(String.valueOf(RangesKatagori.LOW_FG+0.1));

jLabelFGhigh.setText(String.valueOf(RangesKatagori.HIGH_FG-0.1));

B. private void saveSetting()

input:

output:

algoritma:

RangesKatagori.LOW_FG =

Double.parseDouble(jTextFieldFGlow.getText());

RangesKatagori.HIGH_FG =

Double.parseDouble(jTextFieldFGhigh.getText());

C. private void loadSettingDefault()

input:

output:

algoritma:

jTextFieldFGlow.setText(String.valueOf(RangesKatagori.LOW_FGDefault));

jTextFieldFGhigh.setText(String.valueOf(RangesKatagori.HIGH_FGDefault)

);

Page 142: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

122

LAMPIRAN 6

RANCANGAN INTERFACE

No Kelas Analisis Lampiran

1 Halaman Home Lampiran 5.1

2 Halaman Create Tree Lampiran 5.2

3 Halaman Group Klasifikasi Lampiran 5.3

4 Halaman Personal Klasifikasi Lampiran 5.4

5 Halaman Setting Lampiran 5.8

Page 143: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

123

6.1 Tampilan Home

Halaman Home ini merupakan tampilan awal program, untuk

membuat tree dengan menekan tombol Create Tree, untuk

melakukan pelabelan pemain dengan menekan tombol personal

klasifikasi atau group klasifikasi (Personal Klasifikasi digunakan

untuk melakukan pelabelan dengan data tunggal sedangkan Group

Klasifikasi digunakan untuk pelabelan dengan data yang banyak),

untuk mengubah ranges atribut dengan menekan tombol setting,

untuk mencari bantuan dengan menekan tombol help, untuk

mengetahui tentang detail program dengan menekan tombol About

dan untuk keluar bisa menekan tombol exit.

Gambar 6.1 Design Interface Home

Page 144: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

124

6.2 Tampilan Create Tree

Halaman ini digunakan untuk membuat model tree dengan cara

menekan tombol browse untuk mengambil data kemudian

menekan tombol preprocessing dan menekan tombol Create Tree

untuk membuat model tree. Tombol Preprocessing digunakan

untuk mengubah data numeric ke nominal. Tombol Create Tree

digunakan untuk membentuk Tree. Untuk melihat hasil tree yang

terbentuk dengan menekan tombol View Tree. Sedangkan tombol

Back digunakan untuk kembali ke menu utama.

Gambar 6.2 Design Interface Create Tree

6.3 Tampilan Group Klasifikasi

Halaman ini digunakan untuk membuat label atau klasifikasi

dengan cara menekan tombol browse untuk mengambil data dan

Page 145: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

125

menekan tombol Proses untuk hasil uji tree. Tombol View Tree

digunakan untuk melihat bentuk tree yang telah dibuat. Tombol

Proses digunakan untuk menggunakan Tree yang telah terbentuk

(terjadi proses pelabelan klasifikasi). Untuk melihat hasil tree yang

terbentuk dengan menekan tombol View Tree. Sedangkan tombol

Back digunakan untuk kembali ke menu utama.

Gambar 6.3 Design Interface Group Klasifikasi

6.4 Tampilan Personal Klasifikasi

Halaman ini digunakan untuk membuat label atau klasifikasi

dengan cara menekan tombol-tombol combo box untuk

memasukkan data dan menekan tombol proses untuk melanjutkan

hasil uji tree. Tombol View Tree digunakan untuk melihat bentuk

tree yang telah dibuat. Sedangkan tombol Back digunakan untuk

kembali ke menu utama.

Page 146: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

126

Gambar 6.4 Design Interface Personal Klasifikasi

6.5 Tampilan Setting

Halaman ini digunakan untuk mengubah ranges dari atribut-

atribut. Klik tanda panah atas atau tanda panah bawah atau

mengetik langsung pada kolom yang tersedia untuk mengubah

ranges atribut. Kemudain tekan tombol Save untuk mengakhirinya.

Untuk mengubah ranges ke posisi normal (ranges yang telah

disediakan oleh sistem) lagi, dapat menekan tombol default.

Page 147: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

127

Gambar 6.5 Design Interface Setting Atribut

Page 148: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

128

LAMPIRAN 7

IMPLEMENTASI ANTAR MUKA/ INTERFACE

Hal-hal yang akan dibahas dalam bab ini antara lain hasil implementasi sistem

berupa hasil tangkapan antar muka sistem, pembahasan algoritma yang digunakan,

serta hasil penelitian. Bagian pertama membahas implementasi sistem. Pembahasn ini

disertai juga dengan penjelasan penggunaan tombol dan menu untuk setiap

halamannya. Pada bagian kedua akan membahas tentang algoritma beserta

kompleksitasnya. Sedangkan bagian terakhir membahas hasil peniltitan program

dengan menganalisa percobaan yang telah dilakukan.

7.1 Halaman Home

Pada halaman home, terdapat identitas dan tujuan pembuatan program

Klasifikasi Pemain Basket NBA dengan Menggunakan Algoritmas

Decision Tree C4.5. Selain itu ada 7 menu button, yaitu:

1. Menu Button Create Tree

Menu yang berfungsi menampilkan halaman Create Tree.

2. Menu Button Personal Klasifikasi

Menu yang berfungsi menampilkan halaman Personal Klasifikasi.

3. Menu Button Group Klasifikasi

Menu yang berfungsi menampilkan halaman Group Klasifikasi.

4. Menu Button Setting

Menu yang berfungsi menampilkan halaman Setting.

5. Menu Button Help

Menu yang berfungsi menampilkan halaman Help.

6. Menu Button About

Menu yang berfungsi menampilkan halaman About.

7. Menu Button Exit

Page 149: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

129

Menu yang berfungsi untuk keluar dari program.

Gambar 7.1 Halaman Home

7.2. Halaman Create Tree

Page 150: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

130

Gambar 7.2. halaman Create Tree (sebelum data diinputkan)

Gambar 7.3. Kotak file selector untuk mengambil data

Gambar 7.4. Pemberitahuan file sudah diinputkan

Page 151: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

131

Gambar 7.5. halaman Create Tree (setelah data diinputkan)

Gambar 7.6. pemberitahuan file telah selesai di-preprocessing

Page 152: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

132

Gambar 7.7. halaman Create Tree (setelah dilakukan preprocessing)

Gambar 7.8. pemberitahuan Tree sudah terbentuk

Halaman Create Tree merupakan halaman yang berfungsi

untuk membentuk tree yang dimasukan lewat tombol browse. User

dapat memasukan file .csv yang dipilih melalui jendela file selector

(Gambar 4.3.) yang muncul setelah tombol browse ditekan. Setelah

file telah dipilih dan user menekan tombol open, maka akan muncul

kontrak pemberitahuan bahwa file yang dipilih telah diinputkan.

Setelah file selesai diinputkan, user harus menekan tombol

preprocessing untuk mengolah data agar siap diproses oleh program.

Akan muncul kontak pemberitahuan jika data telah selesai diproses.

Page 153: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

133

Untuk membentuk tree, user dapat menekan tombol create tree.

Setelah proses pembentukan tree selesi, maka akan muncul kotak

pemberitahuan bahwa tree telah terbentuk. Untuk melihat tree yang

telah terbentuk, user dapat menekan tombol view tree. Sedangkan

tombol back digunakan untuk kembali ke halaman home.

7.3. Halaman View Tree

Gambar 7.9. Halaman View Tree

Halaman View Tree merupakan halaman yang menampilkan

tree yang telah dibentuk. Untuk melihat lebih dalam ke bagian daun,

user dapat menekan pada bagian percabangan batang. Tombol

Personal Klasifikasi digunakan untuk menuju halaman personal

klasifikasi. Tombol Group Klasifikasi digunakan untuk menuju

halaman Group klasifikasi Sedangkan tombol back digunakan untuk

menuju ke halaman home.

Page 154: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

134

7.4. Halaman Personal Klasifikasi

Gambar 7.10.Halaman Personal Klasifikasi

Halaman personal klasifikasi adalah halaman yang berfungsi

untuk mengklasifikasi pemain secara tunggal atau satu data record. Cara

mengklasifikasi adalah dengan memilih data yang sesuai pada tombol

combobox dan menekan tombol proses untuk mengetahui hasil

klasifikasi. Tombol view tree digunakan untuk melihat kembali tree

yang telah terbentuk. Tombol reset berfungsi untuk mengulang kembali

proses klasifikasi. Sedangkan tombol back digunakan untuk kembali ke

halaman home.

Page 155: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

135

7.5. Halaman Group Klasifikasi

Gambar 7.11.Halaman Group Klasifikasi

Gambar 7.12. File selector untuk memilih file yang akan diklasifikasi

Page 156: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

136

Gambar 7.13. Pemberitahuan File telah diinputkan

Gambar 7.14.Halaman Group Klasifikasi ( Setelah file diinputkan)

Gambar 7.15. Pemberitahuan file telah diinputkan

Page 157: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

137

Gambar 7.16.Halaman Group Klasifikasi ( Setelah proses Klasifikasi)

Gambar 7.17. Pemberitahuan telah dilakukan preses Klasifikasi

Halaman group klasifikasi adalah halaman yang berfungsi

untuk melakukan klasifikasi dengan data yang banyak. Cara

melakukan klasifikasi hampir sama seperti proses pembentukan tree,

yaitu dengan cara menekan tombol browse untuk memasukkan data

yang akan diklasifikasi. File yang akan diklasifikasi dapat dipilih

melalui file selector. Kotak pemberitahuan akan muncul setelah

data/file berhasil dimasukkan.

Kemudian user dapat menekan tombol proses untuk melakukan

klasifikasi, maka posisi pemain yang sebelumnya kosong akan terisi

Page 158: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

138

dengan posisi yang sesuai. Tombol view tree digunakan untuk melihat

kembali tree yang telah terbentuk. Sedangkan tombol back digunakan

untuk kembali ke halaman home.

7.6. Halaman Setting

Gambar 7.18.Halaman Setting

Halaman Setting berfungsi untuk mengubah ranges atribut. Cara

mengubah ranges atau batas dari atribut adalah dengan cara menekan

tombol spinner atau langsung menuliskan ke text field. Setelah selesai

tekan tombol save untuk menyimpan perubahan ranges. Tombol default

digunakan untuk mengembalikan nilai ranges ke nilai yang telah

ditetapkan oleh program. Sedangkan tombol back digunakan untuk

kembali ke halaman home.

Page 159: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

139

7.7. Halaman About

Gambar 7.19.Halaman About

Halaman About merupakan halaman yang berfungsi menjelaskan detail-

detail dari program.

Page 160: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

140

7.8. Halaman Help

Gambar 7.20. Halaman Help

Halaman Help merupakan halaman yang berfungsi menjelaskan

langkah-langkah dalam pengunaan program.

Page 161: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

141

LAMPIRAN 8.

TABEL KEPUTUSAN

Page 162: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

143

Tabel L.8. Tabel Keputusan

ROOT L.1. L.2. L.3. L.4. L.5. POSISI

Tinggi Jelek Guard

Tinggi Sedang Berat Jelek OFF Jelek PPG Jelek Guard

Tinggi Sedang Berat Jelek OFF Jelek PPG Sedang Guard

Tinggi Sedang Berat Jelek OFF Jelek PPG Bagus Guard

Tinggi Sedang Berat Jelek OFF Sedang Forward

Tinggi Sedang Berat Jelek OFF Bagus Guard

Tinggi Sedang Berat Sedang TOT Jelek Forward

Tinggi Sedang Berat Sedang TOT Sedang Forward

Tinggi Sedang Berat Sedang TOT Bagus Forward

Tinggi Sedang Berat Bagus FT Jelek Forward

Tinggi Sedang Berat Bagus FT Sedang Center

Tinggi Sedang Berat Bagus FT Bagus Forward

Tinggi Bagus DEF Jelek 3P Jelek PF Jelek Center

Tinggi Bagus DEF Jelek 3P Jelek PF Sedang Center

Tinggi Bagus DEF Jelek 3P Jelek PF Bagus FG Jelek FT Jelek Forward

Tinggi Bagus DEF Jelek 3P Jelek PF Bagus FG Jelek FT Sedang Center

Tinggi Bagus DEF Jelek 3P Jelek PF Bagus FG Jelek FT Bagus Center

Page 163: KLASIFIKASI POSISI PEMAIN NBA MENGGUNAKAN ...repository.usd.ac.id/32501/2/065314024_Full.pdfkutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah. Yogyakarta, 22 September

144

Tinggi Bagus DEF Jelek 3P Jelek PF Bagus FG Sedang Center

Tinggi Bagus DEF Jelek 3P Jelek PF Bagus FG Bagus Center

Tinggi Bagus DEF Jelek 3P Sedang Center

Tinggi Bagus DEF Jelek 3P Berat Foward

Tinggi Bagus DEF Sedang BPG Jelek Forward

Tinggi Bagus DEF Sedang BPG Sedang OFF Jelek Center

Tinggi Bagus DEF Sedang BPG Sedang OFF Sedang Center

Tinggi Bagus DEF Sedang BPG Sedang OFF Bagus Foward

Tinggi Bagus DEF Sedang BPG Bagus Center

Tinggi Bagus DEF Bagus BPG Jelek Center

Tinggi Bagus DEF Bagus BPG Sedang Forward

Tinggi Bagus DEF Bagus BPG Bagus Forward