• Tidak ada hasil yang ditemukan

Prediksi kemenangan Berdasarkan Kombinasi Hero Pada Game Dota 2 Menggunakan Algoritma Neural Network Backpropagation

N/A
N/A
Protected

Academic year: 2017

Membagikan "Prediksi kemenangan Berdasarkan Kombinasi Hero Pada Game Dota 2 Menggunakan Algoritma Neural Network Backpropagation"

Copied!
49
0
0

Teks penuh

(1)

1

1.1

Latar Belakang

Game DoTA 2 adalah permainan berjenis multilplayer online battle arena

MOBA). MOBA adalah jenis permainan yang berorientasi kerja sama yang

melibatkan dua regu untuk saling bertanding, setiap regu masing-masing

beranggotakan lima pemain yang harus saling menghancurkan tower dan benteng

utama lawan untuk memenangkan pertandingan. Setiap pemain mengendalikan satu

karakter yang disebut Hero dan bersifat unik, maka antara satu pemain dan pemain

lainnya harus memilih Hero yang berbeda [1].

Hero yang dimainkan memiliki kemampuan dan peran yang berbeda-beda

dengan Hero lainnya. Karena setiap Hero mempunyai kemampuan dan peran yang

berbeda maka kombinasi dari Hero yang dipilih oleh kedua regu akan berpengaruh

pada hasil pertandingan dan memungkinkan untuk dilakukan prediksi. Dengan

memprediksi hasil pertandingan berdasarkan kombinasi

Hero, pemain dapat

memilih

Hero yang sesuai untuk melawan kombinasi dari

Hero lawan dan

meningkatkan peluang memenangkan pertandingan.

Selain pertandingan biasa dalam game DoTA 2 juga terdapat pertandingan

turnamen, banyak turnamen yang diadakan resmi di dalam game ataupun turnamen

tidak resmi yang diadakan pihak ketiga. Pemenang dari turnamen-turnamen

tersebut mendapatkan hadiah yang biasanya tidak sedikit dan cukup menggiurkan

[1]. Karena itu dengan memprediksi hasil kemenangan dari satu pertandingan dapat

membantu pemain menentukan langkah demi mencapai kemenangan.

(2)

berdasarkan kombinasi

Hero yang dipilih. Pola tersebut dapat dijadikan acuan

untuk melakukan prediksi kemenangan, namun pola yang dihasilkan sangat banyak.

Algoritma

Neural Network merupakan algoritma yang sering dipakai dalam

mempelajari dan mengenali pola pada data. Algoritma Neural Network mempunyai

kemampuan memorisasi dan generalisasi. Kemampuan memorisasi adalah

kemampuan Neural Network untuk memanggil kembali secara sempurna pola yang

telah dipelajari, dengan kemampuan ini

Neural Network dapat mengenali pola

pertandingan

game DoTA 2 yang telah ada untuk menebak hasil pertandingan

dengan pola yang serupa pada masa yang akan datang. Kemampuan generalisasi

adalah kemampuan

Neural Network untuk menghasilkan respons yang bisa

diterima terhadap pola input yang serupa (namun tidak identik) dengan

pola-pola sebelumnya yang telah dipelajari [2].

Backpropagation merupakan salah satu arsitektur

Neural Network yang

memiliki proses pembelajaran maju dan koreksi kesalahan secara mundur. Model

ini banyak digunakan baik itu untuk proses pengenalan maupun prediksi dengan

tingkat akurasi yang cukup baik [3].

Sandro Radovanović

and Milan Radojičić

melakukan penelitian menggunakan metode Backpropagation untuk memprediksi

kemenangan pertandingan sepakbola berdasarkan pemain yang dimainkan dalam

pertandingan tersebut. Dari penelitian tersebut dapat disimpulkan metode

Backpropagation

dapat digunakan untuk memprediksi hasil suatu pertandingan

berdasarkan kombinasi variabel yang dipilih [4]. Pada tugas akhir ini akan dibangun

simulator prediksi kemenangan berdasarkan kombinasi hero pada gamei

DoTA 2

menggunakan algoritma Neural Network Backpropagation.

1.2

Rumusan Masalah

(3)

1.3

Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk memprediksi kemenangan

berdasarkan kombinasi karakter yang dipilih menggunakan algoritma

Neural

Network dengan metode Backpropagation.

Adapun tujuan dari penelitian ini adalah sebagai berikut:

1.

Untuk membantu pemain untuk memprediksi hasil dari satu pertandingan

berdasarkan kombinasi hero yang dipilih oleh kedua regu.

2.

Untuk mengetahui performansi berupa akurasi dan parameter yang optimal

metode Backpropagation untuk memprediksi kemenangan.

1.4

Batasan Masalah

Adapun batasan masalah dalam penelitian ini sebagai berikut:

1.

Data pertandingan untuk data pelatihan dan uji dikumpulkan menggunakan

aplikasi web yang disediakan oleh DoTA 2 yaitu Steam Web API.

2.

Data pertandingan yang dikumpulkan dibagi menjadi data pelatihan dan data

uji.

3.

Pembangunan perangkat lunak menggunakan bahasa pemrograman C#.

4.

Data pertandingan disimpan menggunakan DBMS MySQL.

5.

Data pertandingan dikumpulkan selama bulan Maret sampai dengan April

2015.

6.

Proses pengujian menggunakan data uji dilakukan dengan metode

cross

validation.

1.5

Metodologi Penelitian

(4)

1.5.1

Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam membantu penelitian ini

menggunakan dua cara, yaitu :

1.

Studi Pustaka

Studi pustaka ditelusuri dari buku, jurnal, hasil penelitian berupa tesis atau

skripsi dan pencarian informasi dari internet.

2.

Pengumpulan Data Pertandingan

Data penelitian bersumber dari

server

permainan DoTA 2 dan dikumpulkan

menggunakan aplikasi yand disediakan pihak pengembang yaitu Steam Web

API. Data pertandingan yang dikumpulkan adalah data pertandingan yang

terjadi selama bulan Maret sampai dengan April 2015.

1.5.2

Metode Lanjutan

Metode Lanjutan yaitu metode yang digunakan setelah metode

pengumpulan data, metode yang digunakan dalam penelitian ini adalah sebagai

berikut :

1.

Pembangunan Sistem

Sistem yang dibangun merupakan suatu alat yang akan diimplementasikannya

mengenai tahapan-tahapan metode yang dilakukan pada proses algoritma

Neural Network Backpropagation untuk memprediksi hasil pertandingan game

DoTA 2.

2.

Pengujian dan Kesimpulan

(5)

1.5.3

Alur Penelitian

Alur penelitian pada gambar 1.1 merupakan langkah-langkah yang diambil

untuk mendukung proses penelitian yang akan dibuat agar penelitian dapat berjalan

lebih terarah dan sistematis :

(6)

1.6

Sistematika Penulisan

Sistematika laporan ini disusun untuk memberikan gambaran umum tentang

penelitian yang dilakukan dengan membaginya kedalam beberapa bab dengan

pokok pembahasan secara umum sebagai berikut:

BAB I PENDAHULUAN

Bab ini membahas mengenai latar belakang, rumusan masalah, maksud dan tujuan,

batasan masalah, metodologi penelitian serta sistematikan penulisan laporan

penelitian ini.

BAB II LANDASAN TEORI

Bab ini membahas mengenai teori-teori pendekatan yang digunakan untuk

menganalisis masalah dan teori yang dipakai dalam mengolah data penelitian yaitu

teori mengenai prediksi, teori mengenai game dan teori mengenai algoritma Neural

Network. Dibahas pula mengenai beberapa teori-teori pendukung dalam penelitian

ini.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas mengenai tahapan analisis prediksi menggunakan algoritma

Neural Network pada game DoTA 2 dan perancangan pembangunan sistem sesuai

dengan metode dan pendekatan pembangunan perangkat lunak yang digunakan.

BAB IV IMPLEMENTASI DAN PENGUJIAN

(7)

BAB V KESIMPULAN DAN SARAN

(8)
(9)

9

BAB II

LANDASAN TEORI

2

2.1

Pengertian Prediksi

Prediksi adalah proses untuk meramalkan suatu variable di masa mendatang

dengan berdasarkan pertimbangan data pada masa lampau. Data yang sering

digunakan untuk melakukan prediksi adalah data yang berupa data kuantitatif.

Prediksi tidak harus memberikan jawaban secara pasti kejadian yang akan terjadi,

melainkan berusaha untuk mencari jawaban sedekat mungkin yang akan terjadi [5].

2.2

Pengertian

Game

Game atau permainan merupakan media hiburan yang sudah dikenal sejak

lama. Game dapat dimainkan berbagai umur tua maupun muda. Game juga sudah

berkembang dengan pesat sesuai dengan perkembangan teknologi, dari

game

sederhana sampai

game

modern saat ini. Hal ini terbukti dengan adanya

perkembangan jenis, produk, serta alat yang digunakan.

2.3

Game

DoTA 2

(10)

2.4

Kecerdasan Buatan

Kecerdasan buatan atau

Artificial Intelegence

adalah suatu ilmu yang

mempelajari tentang bagaimana membuat computer melakukan hal-hal yang pada

saat ini dilakukan manusia lebih baik. Dengan adanya kecerdasan buatan

diharapkan computer menjadi lebih cerdas, mengerti tentang kecerdasan dan

membuat mesin lebih berguna [6].

2.4.1

Neural Network

Neural Network

atau Jaringan syaraf tiruan adalah salah satu kajian pada

kecerdasan buatan.

Neural Network

digunakan untuk menyelesaikan

masalah-masalah yang kompleks dan sulit dipahami, dimanan sejumlah besar data mengenai

masalah tersebut telah dikumpulkan. Neural Network mencari pola dan hubungan

dalam data yang sangat besar yang terlalu rumit dan sulit dianalisis manusia

menggunakan perangkat keras dan piranti lunak yang menyerupai pola-pola

pemrosesan dalam otak manusia.

Komponen Neural Network terdiri dari

neuron-neuron

yang saling

berhubungan.

Neuron

neuron

ini akan mentransformasikan informasi yang

diterima melalui sambungan keluarannya menuju

neuron-neuron

yang lain. Pada

Neural Network hubungan neuron-neuron tersebut dikenal dengan nama bobot [7].

Komponen Neural Network seperti terlihar pada gambar 2.1 terdiri dari input

(informasi) bobot (nilai- nilai tertentu), fungsi aktivasi berfungsi apabila input yang

dimasukan sesuai dengan nilai ambang

( threshold )

yang ditentukan jika tidak

sesuai maka fungsi aktivasi tidak diaktifkan, dan apabila neuron

neuron tersebut

diaktifkan maka neuron akan mengirimkan output melalui bobot

bobot.

(11)

Karakterisitik yang dimiliki Neural Network adalah sebagai berikut:

a.

Arsitektur Jaringan

Merupakan gambaran pola hubungan antara neuron. Pada algoritma Neural

Network neuron-neuron disusun pada suatu lapisan (layer), umumnya

lapisan-lapisan tersebut terdiri dari lapisan masukan (input layer), lapisan

tersembunyi (hidden layer) dan lapisan keluaran (output layer).

Neuron-neuron yang terletak pada lapisan yang sama akan memiliki keadaan yang

sama. Factor terpenting dalam menentukan kelakuan suatu neuron adalah

fungsi aktivasi dan pola bobotnya. Pada setiap lapisan yang sama,

neuron-neuron akan memiliki fungsi aktivasi yang sama. Arsitektur Jaringan Neural

Network yang digunakan pada penelitian ini adalah arsitektur jaringan

dengan banyak lapisan (multilayer net) yang memiliki satu lapisan

tersembunyi (hidden layer) diantara lapisan masukan dan lapisan keluaran.

Arsitektur yang akan digunakan dapat dilihat pada gambar 2.1 berikut:

Gambar 2.2 Arsitektur Neural Network [7]

Dimana :

(12)

O = output neuron, merupakan output dari lapisan tersembunyi

V

ij

= bobot yang menghubungkan lapisan masukan menuju lapisan

tersembunyi

W

jk

= bobot yang menghubungkan lapisan tersembunyi menuju lapisan

Keluaran

b.

Pembelajaran

Algoritma Neural Network mempuyai dua macam proses pembelajaran

yaitu pembelajaran terawasi (supervised learning) dan pembelajaran tidak

terawasi (unsupervised learning).

1.

Pembelajaran terawasi (supervised learning)

Pada Pembelajaran terawasi output yang diharapakan telah

diketahui sebelumnya. Pada proses pembelajaran, satu pola input

akan diberikan ke satu neuron pada lapisan input. Pola ini akan

dirambatkan di sepanjang jaringan syaraf hingga sampai ke neuron

pada lapisan output. Lapisan output ini akan membangkitkan pola

output yang nantinya akan dicocokkan dengan pola output

targetnya. Apabila terjadi perbedaan antara pola output hasil

pembelajaran dengan pola target, maka disini akan muncul error.

Apabila nilai error ini masih cukup besar, mengindikasikan bahwa

masih perlu dilakukan lebih banyak pembelajaran lagi. Metode

pembelajaran terawasi diantaranya

Hebb Rule, Perceptron, Delta

Rule, Backpropagation, Learning Vektor Quantization,

Heteroassociative Memory [7].

2.

Pembelajaran tak terawasi (unsupervised learning)

(13)

adalah mengelompokkan unit-unit yang hampir sama dalam suatu

area tertentu [7].

c.

Fungsi aktivasi

Fungsi aktivasi yang mentranformasikan total input Neural Network pada

suatu

neuron

untuk menghasilkan sinyal keluaran (outgoing activity).

Fungsi aktivasi yang digunakan pada penelitian ini adalah fungsi

sigmoid.

Fungsi ini digunakan untuk Neural Network yang dilatih dengan

menggunakan metode

backpropagation. Fungsi sigmoid memiliki nilai

pada range 0 sampai 1. Fungsi ini sering digunakan untuk jaringan yang

membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun,

fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0

atau 1. Fungsi sigmoid terlihat pada persamaan 2.1 berikut [7].

=

1+�1−�

(2.1)

2.4.1.1

Backpropagation Neural Network

Backpropagation neural network merupakan tipe jaringan saraf tiruan yang

menggunakan metode pembelajaran terawasi (supervised learning). Pada

supervised learning terdapat pasangan data input dan

output yang dipakai untuk

melatih Neural Network hingga diperoleh bobot yang diinginkan. Metode

Backpropagation menggunakan error output untuk mengubah nilai bobot-bobotnya

dalam arah mundur (backward).

Untuk mendapatkan error ini, tahap perambatan

maju (

forward

) harus dikerjakan terlebih dahulu. Pada saat perambatan maju,

neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, seperti

terlihat pada persamaan 2.1.

(14)

Gambar 2.3 Arsitektur Backpropagation

Jumlah lapis tersembunyi dan jumlah neuron tiap lapisan tidak ada rumus

tertentu untuk menghitungnya, namun terdapat aturan yang sering dipakai baik

untuk menentukan jumlah lapis tersembunyi maupun jumlah neuron tersembunyi

didalamnya. Permasalahan yang membutuhkan dua lapis tersembunyi jarang

ditemukan, meskipun neural network yang terdiri dari dua lapis tersembunyi dapat

merepresentasikan segala jenis bentuk fungsi. Tidak terdapat alasan teoritis untuk

menggunakan

neural network lebih dari dua lapis tersembunyi. Faktanya untuk

berbagai macam permasalahan tidak terdapat alasan untuk menggunakan lebih dari

satu lapis tersembunyi [8]. Kemudian untuk menentukan jumlah neuron pada lapis

tersembunyi sangat penting dalam membangun arsitektur jaringan. Menggunakan

terlalu sedikit neuron pada lapis tersembunyi kemungkinan akan menghasilkan

underfittin, sebaliknya menggunakan terlalu banyak neuron pada lapis tersembunyi

mungkin akan menghasilkan overfitting dan apabila data latih sangat banyak akan

sangat lama untuk melakukan pelatihan [8].

Aturan yang sering dipakai dalam menentukan jumlah

neuron

pada lapis

tersembunyi adalah sebagai berikut:

(15)

2.

Jumlah

neuron

pada lapis tersembunyi adalah 2/3 jumlah neuron lapis

masukan, ditambah jumlah neuron lapis keluaran [8].

3.

Jumlah neuron

pada lapis tersembunyi harus lebih sedikit dari dua kali lipat

jumlah neuron lapis tersembunyi [8].

4.

Jumlah

neuron pada lapis tersembunyi dipengaruhi jumlah data latih [9].

Persamaan yang digunakan untuk aturan ini adalah sebagai berikut :

=

� � + �

�ℎ �� � � ℎ

Keterangan:

N

h

= jumlah neuron lapis tersembunyi

N

i

= jumlah neuron lapis masukan

N

o

= jumlah neuron lapis keluaran

α

= skala nomor antara 2

10

Untuk melatih

Backpropagation, Neural Network diberi pola masukan

sebagai pola pelatihan kemudian pola tersebut akan menuju ke unit pada lapis

tersembunyi untuk diterusan pada unit yang berada pada lapis keluaran. Keluaran

sementara pada lapis tersembunyi

akan diteruskan pada lapis keluaran dan lapis

keluaran akan memberikan tanggapan yang disebut sebagai keluaran sementara y

k

.

ketika y

k

≠ t

k

dimana t

k

adalah keluaran yang diharapkan, maka selisih (error)

keluaran sementara u’

k

akan disebarkan mundur (backward) pada lapis tersembunyi

dan diteruskan ke unit pada lapis masukan. Oleh karena itu proses tersebut disebut

propagasi balik (backpropagation) [10].

Pada metode Backpropagation terdapat dua tahapan proses, yaitu :

1.

Tahapan pelatihan, dimana pada tahap ini metode backpropagation diberikan

sejumlah data pelatihan dan target.

(16)

Kondisi pelatihan berhenti atau stopping condition dapat menggunakan dua

cara yang biasa dipakai, yaitu:

1.

Membatasi iterasi yang ingin dilakukan.

Misalnya jaringan akan dilatih sampai iterasi yang ke-500.

2.

Membatasi error.

Misalnya menentukan besar Mean Square Error.

Secara umum langkah dalam pelatihan Neural Network menggunakan

Backpropagation adalah sebagai berikut :

1.

Menentukan jumlah input (pola masukan), hidden layer, dan output (target

pelatihan).

2.

Memberi nilai awal secara random bagi seluruh bobot antara input-hidden

layer dan hidden-output layer.

3.

Melakukan feedforward

a.

Tiap unit input (x

i

) menerima sinyal input dan sinyal tersebut

dikirimkan pada seluruh unit pada hidden layer.

b.

Tiap unit pada

hidden layer

(Z_in

j

) menjumlahkan sinyal-sinyal

input terbobot:

z_in

j

= v

0j

+

=1

(2.2)

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

z

j

= f(z_in

j

)

(2.3)

kirimkan sinyal tersebut ke semua unit di output layer

c.

Tiap unit pada

output layer

(Y_in

k

) menjumlahkan sinyal-sinya

input terbobot:

y_in

k

= w

0j

+

=1

(2.4)

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

y

k

= f(y_in

k

)

(2.5)

4.

Melakukan Backpropagation

(17)

δ

k

= (t

k

- y

k

)

f’

(y_in

k

)

(2.6)

Kemudian hitung koreksi bobot (yang nantinya akan digunakan

untuk memperbaiki nilai w

jk

):

Δw

jk

= α δ

k

z

j

(2.7)

Hitung juga koreksi bias (yang nantinya akan digunakan untuk

memperbaiki nilai w

0k

)

Δw

0k

= α δ

k

(2.8)

Kirimkan δ

k

ke unit yang berada dilapisan bawahnya.

b.

Tiap unit pada

hidden layer

(Z_in

j

) menjumlahkan delta inputnya

(dari unit yang berada pada lapisan atasnya):

δ_in

j

=

=1

(2.9)

kalikan nilai ini dengan turunan dari fungsi aktivasinya untu

menghitung informasi error:

δ

j

= δ_in

j

f’

(z_in

j

)

(2.10)

kemudian hitung koreksi bobot (yang nantinya akan digunakan

untuk memperbaiki nilai v

ij

):

Δv

ij

= α δ

j

x

i

(2.11)

Hitung juga koreksi bias (yang nantinya akan digunakan untuk

memperbaiki nilai v

0j

):

Δv

0j

= α δ

j

(2.12)

c.

Tiap unit output (y_in

k

) memperbaiki bias dan bobotnya:

w

jk

(baru) = w

jk

(lama

) + Δw

jk

(2.13)

tiap unit tersembunyi (z_in

j

) memperbaiki bias dan bobotnya:

v

ij

(baru) = v

ij

(lama

) + Δv

ij

(2.14)

5.

Tes Kondisi berhenti

(18)

Keterangan Persamaan :

z_in

: Bobot sinyal unit tersembunyi

z

: Keluaran unit tersembunyi

y_in

: Bobot sinyal lapisan keluaran

y

: Keluaran unit keluaran

δ

: Kesalahan

Δw

: Koreksi bobot unit keluaran

Δv

: Koreksi bobot unit tersembunyi

x

i

: Unit ( neuron ) pada lapisan input

n

: Jumlah neuron (unit) pada lapisan input

v

: Bobot awal masuk ke hidden

v

0

: Bobot bias yang menuju ke hidden

w

: Bobot awal hidden ke output

w

0

: Bobot bias yang menuju ke output

α

: Learning rate / rasio pembelajaran

2.5

C#

Bahasa C# dikembangkan oleh tim kecil di Microsoft di bawah pimpinan

Anders Hejlsberg dan Scott Wiltamuth. Anders juga dikenal sebagai pernbuat

Turbo Pascal dan pimpinan tim yang mengembangkan Borland Delphi salah satu

IDE (Integrated Development Environment) yang cukup populer untuk

pengembangan aplikasi client/server.

C# adalah pengembangan dari bahasa pemrograman sebelumnya, yaitu

C/C++, Java, dan Visual Basic. C# memiliki kehandalan yang dimiliki C/C++,

mendukung pemrograman berbasis objek, seperti Java, serta kemudahan rapid

application development, seperti Visual Basic.

(19)

2.6

MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL

atau yang dikenai dengan DBMS(database management system), database ini

multithread, multi-user. MySQL AB membuat MySQL tersedia sebagai perangkat

lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi juga dijual

di bawah lisensi komersial untuk kasus-kasus yang bersifat khusus.

MySQL adalah Relational Database Management System (RDBMS) yang

didistribusikan secara gratis di bawah lisensi GPL (General Public License). Di

mana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan

produk turunan yang bersifat

closed source atau komersial. MySQL sebenarnya

merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL

(Structured Query Language}. SQL adalah sebuah konsep pengoperasian database,

terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan

pengoprasian data dikerjakan dengan mudah secara otomatis.

Sebagai database server, MySQL dapat dikatakan lebih unggul

dlbandingkan database server lainnya, terutama dalam kecepatan. Berikut ini

beberapa keunggulan MySQL, antara lain:

1.

Portability

MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows,

Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

2.

Multiuser

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan

tanpa mengalami masalah atau konflik.

3.

Security

(20)

4.

Scalability dan limits

MySQL mampu menangani database dalam skala besar, dengan jumlah

records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu

batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya

[12].

2.7

Ufield Modelling Language

Unified Modelling Language (UML) merupakan satu kumpulan konvensi

pemodelan yang digunakan untuk menemukan atau menggambarkan sebuah system

software yang terkait dengan objek.

UML merupakan salah satu alat bantu yang sangat handal dalam bidang

pengembangan sistem berorientasi objek karena UML menyediakan bahasa

pemodelan visual yang memungkinkan pengembang sistem membuat

blue print

atas visinya dalam bentuk baku [11].

2.7.1

Use Case Diagram

Use case diagram digunakan untuk memodelkan aspek dinamis dari sistem.

Fungsi diagram Use Case adalah untuk menggambarkan fungsionalitas yang

disediakan oleh sebuah sistem dan interaksi user atau actor dengan sistem dengan

menggunakan fungsionalitas yang tersedia. Yang ditekankan adalah “apa” yang

diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merupakan sekumpulan

(21)

2.7.2

Activity Diagram

Activity Diagram menunjukkan flow aktifitas ke aktifitas (bukan status ke

status). Activity diagram memodelkan workflow proses bisnis dan urutan aktifitas

dalam sebuah prose. Diagram ini sangat mirip dengan flowchart. Membuat activity

diagram pada awal pemodelan proses sangat membantu memahami keseluruhan

proses. Activity diagram juga bermanfaat untuk menggambarkan paralel behavior

atau menggambarkan interaksi antara beberapa use case [11].

2.7.3

Class Diagram

Class adalah deskripsi sekumpulan object yang memiliki kesamaan atribut,

operasi,

relationship

dan

semantics.

Dengan kata lain, sebuah

class

merupakan

blueprint atau

template cetakan dari satu atau lebih

object.

Class Diagram dapat

membantu dalam memvisualkan struktur kelas-kelas dari suatu sistem dan

merupakan tipe diagram yang paling banyak ditemui dalam pemodelan system

berbasis orientasi objek. Pada UML, class digambarkan dengan segi empat yang

dibagimenjadi 3 bagian. Bagian yang pertama merupakan 2 nama dari kelas. Bagian

yang tengah merupakan strukur dari class (atribut) dan bagian ketiga merupakan

behaviour operasi dari class tersebut [13].

Class diagram mempunyai beberapa macam hubungan sebagai berikut :

a.

Asosiasi, yaitu hubungan statis antar

class. Umumnya menggambarkan

class yang memilikiatribut berupa

class lain, atau

class yang harus

mengetahui eksistensi

class lain. Panah

navigability menunjukkan arah

query antar class.

b.

Agregasi, yaitu hubungan yang menyatakan bagian.

(22)

d.

Komposisi, Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan

bagian dari class yang lain, maka class tersebut memiliki relasi

Composition

terhadap class tempat dia bergantung tersebut.

2.7.4

Squence Diagram

Sequence diagram menggambarkan interaksi antara sejumlah objek dalam

urutan waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi

horizontal (objek-objek yang terkait). Umumnya sebuah sequence diagram

menangkap behavior dari suatu skenario (best case) sebagai respons dari sebuah

event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger

aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan

output apa yang dihasilkan [11].

2.8

K-Fold Cross Validation

(23)

89

5.1

Kesimpulan

Berdasarkan dari hasil penelitian, analisis, perancangan sistem, dan

implementasi serta pengujian, maka diperoleh kesimpulan bahwa Simulator

prediksi kemenangan bersarkan kombinasi hero pada game DoTA 2 menggunakan

algoritma Neural Network Backpropagation :

1.

Simulator kurang membatu pemain dalam memprediksi kemenangan

game

DoTA 2.

2.

Dapat mengetahui performansi dan parameter optimal algoritma

Neural

Network Backpropagation dalam mengolah data pertandingan untuk dijadikan

prediksi.

5.2

Saran

Berdasarkan hasil penelitian dan implementasi akurasi dari algoritma

Neural Network Backpropagation pada penelitian ini belum mencapai keakuratan

yang tinggi. Untuk meningkatkan kinerja dan hasil yang lebih baik, maka diusulkan

beberapa saran sebagai berikut :

1.

Data pertandingan yang dikumpulkan harus banyak agar algoritma

Neural

Network dapat mempelajari pola lebih banyak mengingat kombinasi hero yang

mungkin terjadi sangat besar.

(24)

BIODATA PENULIS

1.

Data Pribadi

Nama Lengkap

: Jaka Septian

NIM

: 10111193

Tempat/Tanggal Lahir

: Bandung, 01-05-1992

Jenis Kelamin

: Laki

Laki

Agama

: Islam

Alamat Lengkap

: Kp. Bojongsalak RT.01/22 Kec.Katapang

Kab.Bandung

Nomor Telepon

: 08996032992

2.

Riwayat Pendidikan

1999

2005

: SD Negeri Ciwidey Kota

2005

2008

: SMP Negeri 1 Ciwidey

2008

2011

: SMK Bandung Selatan 1

2011 s/d 2015

: Program Strata 1 (S1) Program Studi Teknik

Informatika, Falkultas Teknik dan Ilmu Komputer

(25)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

JAKA SEPTIAN

10111193

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(26)

iv

KATA PENGANTAR………...……….iii

DAFTAR ISI………..……iv

(27)

v

(28)

vi

(29)

90

Tersedia: http://www.dota2.com/international/overview/. [Diakses 12

Februari 2015]

[2] D. Puspitaningrum,

Pengantar Jaringan Saraf Tiruan, Yogyakarta: Andi,

2006.

[3] C. Dewi dan M. Muslikh, Perbandingan Akurasi Backpropagation Neural

Network dan ANFIS Untuk Memprediksi Cuaca, Journal of Scientific

Modeling & Computation, vol. 1, no. 1, pp. 7 - 13, 2013.

[4]

S. Radovanović and M. Radojičić,

Premiere League Prediction Using

Neural Network, Neuroph Java Neural Network Framework, 2013. [Online].

Tersedia:

http://neuroph.sourceforge.net/tutorials/SportsPrediction/Premier%20Leagu

e%20Prediction.html. [Diakses 20 Juni 2015].

[5] D. S. Mulyono,

Peramalan Bisnis dan Ekonometri, Yogyakarta: BPFE,

2000.

[6] Kusrini, Sistem Pakar Teori dan Aplikasi, Yogyakarta: Andi, 2010.

[7] S. Kusumadewi,

Artificial Intellegence (Teknik dan Aplikasinya),

Yogyakarta: Graha Ilmu, 2003.

[8] J. Heaton,

Introduction to Neural Networks for C#, 2nd Edition,

Chesterfield: Heaton Research, Inc, 2008.

[9] M. Leo, "Automatic Inspection of Aircraft Components Using

Thermographic and Ultrasonic Techniques," in Recent Advances in Aircraft

Technology, Intech, 2012, pp. 384-398.

[10] W. Anggraeni,

Aplikasi Jaringan Syaraf Tiruan Untuk Peramalan

Permintaan Barang, JUTI, vol. 5, no. 2, pp. 99 - 105, 2006.

(30)

91

[14] E. Alpaydn, Introduction to Machine Learning, Second Edition, Cambridge:

MIT Press, 2010.

(31)

NETWORK BACKPROPAGATION

Jaka Septian

Teknik Informatika

Universitas Komputer Indonesia

Jl. Dipatiukur 112-114 Bandung

E-mail : jksptn@gmail.com

ABSTRAK

DoTA 2 merupakan permainan yang berorientasi kerja sama yang melibatkan dua regu untuk saling bertanding, setiap regu masing-masing beranggotakan lima pemain. Setiap pemain mengendalikan satu karakter yang disebut Hero dan bersifat unik. Berdasarkan kombinasi Hero yang dipilih hasil pertandingan dapat diprediksi. Namun memprediksi hasil setiap pertandingan tidaklah mudah, karena Hero yang dapat dipilih berjumlah 110 Hero, maka terdapat sekitar 4,689 x 1013 kemungkinan kombinasi Hero yang dapat terjadi pada satu pertandingan.

Algoritma Neural network mempunyai kemampuan memorisasi dan generalisasi. Kemampuan memorisasi adalah kemampuan Neural network untuk memanggil kembali secara sempurna pola yang telah dipelajari, dengan kemampuan ini

Neural network dapat mengenali pola pertandingan game DoTA 2 yang telah ada untuk menebak hasil pertandingan dengan pola yang serupa pada masa yang akan datang. Kemampuan generalisasi adalah kemampuan Neural network untuk menghasilkan respons yang bisa diterima terhadap pola-pola input

yang serupa (namun tidak identik) dengan pola-pola sebelumnya yang telah dipelajari. Berdasarkan hal diatas maka dibangunlah simulator yang mampu memprediksi kemenangan berdasarkan kombinasi hero pada game DoTA 2 menggunakan algoritma

Neural network.

Kata kunci : Neural network, Jaringan Syaraf Tiruan, Backpropagation, Prediksi.

1.

PENDAHULUAN

Game DoTA 2 adalah permainan berjenis multilplayer online battle arena MOBA). MOBA adalah jenis permainan yang berorientasi kerja sama yang melibatkan dua regu untuk saling bertanding, setiap regu masing-masing beranggotakan lima pemain yang harus saling menghancurkan tower dan benteng utama lawan untuk memenangkan pertandingan. Setiap pemain mengendalikan satu karakter yang disebut Hero dan bersifat unik, maka

antara satu pemain dan pemain lainnya harus memilih Hero yang berbeda [1].

Hero yang dimainkan memiliki kemampuan dan peran yang berbeda-beda dengan Hero lainnya. Karena setiap Hero mempunyai kemampuan dan peran yang berbeda maka kombinasi dari Hero yang dipilih oleh kedua regu akan berpengaruh pada hasil pertandingan dan memungkinkan untuk dilakukan prediksi. Dengan memprediksi hasil pertandingan berdasarkan kombinasi Hero, pemain dapat memilih Hero yang sesuai untuk melawan kombinasi dari Hero lawan dan meningkatkan peluang memenangkan pertandingan.

Selain pertandingan biasa dalam game DoTA 2 juga terdapat pertandingan turnamen, banyak turnamen yang diadakan resmi di dalam game ataupun turnamen tidak resmi yang diadakan pihak ketiga. Pemenang dari turnamen-turnamen tersebut mendapatkan hadiah yang biasanya tidak sedikit dan cukup menggiurkan [1]. Karena itu dengan memprediksi hasil kemenangan dari satu pertandingan dapat membantu pemain menentukan langkah demi mencapai kemenangan.

Pemain dalam memprediksi hasil setiap pertandingan tidaklah mudah, karena Hero yang dapat dipilih berjumlah 110 Hero, maka terdapat sekitar 4,689 x 1013 kemungkinan kombinasi Hero yang dapat terjadi pada satu pertandingan. Setiap pertandingan yang telah dilakukan akan membentuk pola kemenangan berdasarkan kombinasi Hero yang dipilih. Pola tersebut dapat dijadikan acuan untuk melakukan prediksi kemenangan, namun pola yang dihasilkan sangat banyak. Algoritma Neural network

merupakan algoritma yang sering dipakai dalam mempelajari dan mengenali pola pada data. Algoritma Neural network mempunyai kemampuan memorisasi dan generalisasi. Kemampuan memorisasi adalah kemampuan Neural network

(32)

Backpropagation merupakan salah satu arsitektur Neural network yang memiliki proses pembelajaran maju dan koreksi kesalahan secara mundur. Model ini banyak digunakan baik itu untuk proses pengenalan maupun prediksi dengan tingkat

akurasi yang cukup baik [3]. Sandro Radovanović and Milan Radojičić melakukan penelitian

menggunakan metode Backpropagation untuk memprediksi kemenangan pertandingan sepakbola berdasarkan pemain yang dimainkan dalam pertandingan tersebut. Dari penelitian tersebut dapat disimpulkan metode Backpropagation dapat digunakan untuk memprediksi hasil suatu pertandingan berdasarkan kombinasi variabel yang dipilih [4]. Pada tugas akhir ini akan dibangun simulator prediksi kemenangan berdasarkan kombinasi hero pada gamei DoTA 2 menggunakan algoritma Neural networkBackpropagation.

Tujuan dari penelitian ini adalah untuk membantu pemain untuk memprediksi hasil dari satu pertandingan berdasarkan kombinasi hero yang dipilih oleh kedua regu dan untuk mengetahui performansi berupa akurasi dan parameter yang optimal metode Backpropagation untuk memprediksi kemenangan.

1.1 Neural network

Neural network atau Jaringan syaraf tiruan adalah salah satu kajian pada kecerdasan buatan.

Neural network digunakan untuk menyelesaikan masalah-masalah yang kompleks dan sulit dipahami, dimanan sejumlah besar data mengenai masalah tersebut telah dikumpulkan. Neural network mencari pola dan hubungan dalam data yang sangat besar yang terlalu rumit dan sulit dianalisis manusia menggunakan perangkat keras dan piranti lunak yang menyerupai pola-pola pemrosesan dalam otak manusia.

Komponen Neural network terdiri dari

neuron-neuron yang saling berhubungan. Neuronneuron ini akan mentransformasikan informasi yang diterima melalui sambungan keluarannya menuju

neuron-neuron yang lain. Pada Neural network

hubungan neuron-neuron tersebut dikenal dengan nama bobot [5]. Komponen Neural network seperti terlihar pada gambar 1 terdiri dari input (informasi) bobot (nilai- nilai tertentu), fungsi aktivasi berfungsi apabila input yang dimasukan sesuai dengan nilai ambang ( threshold ) yang ditentukan jika tidak sesuai maka fungsi aktivasi tidak diaktifkan, dan apabila

neuronneuron tersebut diaktifkan maka neuron

[image:32.595.314.528.84.134.2]

akan mengirimkan output melalui bobot – bobot.

Gambar 1. Komponen Neural network

1.1 Backpropagation

Backpropagation neural network

merupakan tipe jaringan saraf tiruan yang menggunakan metode pembelajaran terawasi (supervised learning). Pada supervised learning terdapat pasangan data input dan output yang dipakai untuk melatih Neural network hingga diperoleh bobot yang diinginkan. Metode Backpropagation

menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju ( forward ) harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, seperti terlihat pada persamaan 1.

Fungsi aktivasi yang mentranformasikan total input Neural Network pada suatu neuron untuk menghasilkan sinyal keluaran (outgoing activity). Fungsi aktivasi yang digunakan pada penelitian ini adalah fungsi sigmoid. Fungsi ini digunakan untuk Neural Network yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid memiliki nilai pada range 0 sampai 1. Fungsi ini sering digunakan untuk jaringan yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1.

� = 1+�1−� (1)

Arsitektur BackpropagationNeural network

terdiri atas tiga lapis (layer) yaitu lapis masukan (input layer) xi, lapis tersembunyi (hidden layer) zj, dan lapis keluaran (output keluaran) yk. Lapis masukan dan lapis tersembunyi dihubungkan dengan bobot vij dan antara lapis tersembunyi dan lapis

keluaran dihubungkan oleh bobot w’jk.. Arsitektur dapat dilihat pada gambar 2.

[image:32.595.319.510.621.757.2]
(33)

menghitungnya, namun terdapat aturan yang sering dipakai baik untuk menentukan jumlah lapis tersembunyi maupun jumlah neuron tersembunyi didalamnya. Permasalahan yang membutuhkan dua lapis tersembunyi jarang ditemukan, meskipun neural network yang terdiri dari dua lapis tersembunyi dapat merepresentasikan segala jenis bentuk fungsi. Tidak terdapat alasan teoritis untuk menggunakan neural network lebih dari dua lapis tersembunyi. Faktanya untuk berbagai macam permasalahan tidak terdapat alasan untuk menggunakan lebih dari satu lapis tersembunyi [7]. Kemudian untuk menentukan jumlah neuron pada lapis tersembunyi sangat penting dalam membangun arsitektur jaringan. Menggunakan terlalu sedikit neuron pada lapis tersembunyi kemungkinan akan menghasilkan underfittin, sebaliknya menggunakan terlalu banyak neuron pada lapis tersembunyi mungkin akan menghasilkan overfitting dan apabila data latih sangat banyak akan sangat lama untuk melakukan pelatihan [7].

Aturan yang sering dipakai dalam menentukan jumlah neuron pada lapis tersembunyi adalah sebagai berikut:

1. Jumlah neuron pada lapis tersembunyi adalah antara jumlah neuron lapis masukan dan neuron

lapis keluaran [7].

2. Jumlah neuron pada lapis tersembunyi adalah 2/3 jumlah neuron lapis masukan, ditambah jumlah neuron lapis keluaran [7].

3. Jumlah neuron pada lapis tersembunyi harus lebih sedikit dari dua kali lipat jumlah neuron

lapis tersembunyi [7].

4. Jumlah neuron pada lapis tersembunyi dipengaruhi jumlah data latih [8].

Untuk melatih Backpropagation, Neural network diberi pola masukan sebagai pola pelatihan kemudian pola tersebut akan menuju ke unit pada lapis tersembunyi untuk diterusan pada unit yang berada pada lapis keluaran. Keluaran sementara pada lapis tersembunyi akan diteruskan pada lapis keluaran dan lapis keluaran akan memberikan tanggapan yang

disebut sebagai keluaran sementara yk. ketika yk ≠ tk

dimana tk adalah keluaran yang diharapkan, maka

selisih (error) keluaran sementara u’k akan

disebarkan mundur (backward) pada lapis tersembunyi dan diteruskan ke unit pada lapis masukan. Oleh karena itu proses tersebut disebut propagasi balik (backpropagation) [6].

2.

ISI PENELITIAN

2.1 Metode yang digunakan.

Pada penelitian ini metode yang digunakan adalah Algoritma Neural networkBackpropagation.

1. Tahapan pelatihan, dimana pada tahap ini metode backpropagation diberikan sejumlah data pelatihan dan target.

2. Tahap pengujian atau penggunaan, pengujian dilakukan setelah melakukan tahap belajar atau tahap pelatihan

Kondisi pelatihan berhenti atau stopping condition dapat menggunakan dua cara yang biasa dipakai, yaitu:

1. Membatasi iterasi yang ingin dilakukan. Misalnya jaringan akan dilatih sampai iterasi yang ke-500.

2. Membatasi error.

Misalnya menentukan besar Mean Square Error.

Secara umum langkah dalam pelatihan Neural network menggunakan Backpropagation adalah sebagai berikut :

1. Menentukan jumlah input (pola masukan),

hidden layer, dan output (target pelatihan). 2. Memberi nilai awal secara random bagi seluruh

bobot antara input-hidden layer dan hidden

-output layer.

3. Melakukan feedforward

a. Tiap unit input (xi) menerima sinyal input

dan sinyal tersebut dikirimkan pada seluruh unit pada hidden layer.

b. Tiap unit pada hidden layer (Z_inj) menjumlahkan sinyal-sinyal input

terbobot:

z_inj = v0j + ∑=1 (2)

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

zj = f(z_inj) (3)

c. Tiap unit pada output layer (Y_ink) menjumlahkan sinyal-sinya input terbobot:

y_ink = w0j + ∑ �=1 (4)

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

yk = f(y_ink) (5)

4. Melakukan backpropagation

(34)

δk = (tk - yk) f’(y_ink) (6)

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk):

Δwjk = α δk zj (7)

Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k)

Δw0k = α δk (8)

Kirimkan δk ke unit yang berada dilapisan bawahnya.

b. Tiap unit pada hidden layer (Z_inj)

menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya):

` δ_inj = ∑ =1� (9)

kalikan nilai ini dengan turunan dari fungsi aktivasinya untu menghitung informasi error:

δj= δ_inj f’(z_inj) (10)

kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij):

Δvij = α δj xi (11)

Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai v0j):

Δv0j = α δj (12)

c. Tiap unit output (y_ink) memperbaiki bias

dan bobotnya:

wjk(baru) = wjk(lama) + Δwjk (13)

tiap unit tersembunyi (z_inj) memperbaiki

bias dan bobotnya:

vij(baru) = vij(lama) + Δvij (14)

5. Tes kondisi berhenti

a. Apakah batas error minimum telah tercapai.

b. Apakah batas iterasi maksimum telah tercapai.

Steam Web API yang berbentuk file .xml yang selanjutnya dikonversi dan disimpan kedalam sebuah basis data.

2.2.2 Data Masukan

[image:34.595.320.517.281.344.2]

Data yang digunakan dalam memprediksi kemenangan adalah data seluruh data hero yang berjumlah 110 hero. Data Hero tersebut disusun menjadi variabel X1 hingga X110 yang menjadi data masukan pada sistem. Masing - masing variabel dapat memiliki nilai -1 jika dipilih oleh regu lawan, 0 jika tidak dipilih kedua regu dan 1 jika dipilih oleh regu kawan seperti yang terlihat pada tabel 1

Tabel 1. Data Masukan. Nilai Keterangan

-1 Variabel Hero yang dipilih regu lawan 0 Variabel Hero yang tidak dipilih 1 Variabel Hero yang dpilih regu kawan

2.2.3 Data Keluaran

Data keluaran atau output yang dihasilkan oleh sistem berupa nilai representasi dari dua keadaan yang mungkin terjadi sebagai hasil akhir dari suatu pertandingan. Data keluaran dapat dilihat pada tabel 2 berikut.

Tabel 2. Data Keluaran. Nilai Keterangan

1 Menang 0 Tidak Menang

2.3 Pelatihan Metode Backpropagation

Masukan pada proses pelatihan adalah history

pertandingan dengan melihat data hero yang dipilih dan regu pemenang dari pertandingan tersebut. Bentuk masukan berupa signal-signal input berdasar

[image:34.595.315.524.564.686.2]

hero yang dipilih kedua regu seperti pada tabel 3.

Tabel 3. Hero yang dipilih

No Hero Regu Kawan

Hero Regu Lawan

1 Juggernaut (X8) Anti-Mage (X1)

2 Kunkka (X60) Dark Seer (X55)

3 Slardar (X65) Weaver (X88)

4

Ancient Apparation

(X68) Gyrocopter (X72)

5 Nyx Assasin (X88) Troll Warlord (X95)

Dengan target output adalah 1 (regu kawan menang)

(35)
[image:35.595.69.283.155.375.2]

sedangkan pada lapisan keluara mempunyai 1 node. Arsitektur jaringan dapat dilihat pada gambar 3.

Gambar 3. Arsitektur Jaringan Metode

Backpropagation

Langkah-langkah proses pelatihan adalah sebagai berikut:

1. Tentukan nilai iterasi maksimum dan learning rate. Pada contoh perhitungan ini digunakan batasan sebagai berikut:

Iterasi maksimum = 1000

Learning rate = 0.05

2. Memberi nilai awal secara random bagi seluruh bobot antara input-hidden layer dan hidden

-output layer.

3. Selama iterasi maksimum belum tercapai lakukan :

a. feedforward

b. backpropagation

Pada data kedua, juga dilakukan operasi-operasi yang sama dengan menggunakan bobot-bobot akhir hasil pengolahan data pertama sebagai bobot awalnya. Proses ini dilakukan secara berulang sampai pada iterasi maksimum.

2.4 Pengujian Metode Backpropagation

Pengujian dilakukan untuk menguji jaringan yang bobot-bobotnya sudah diberikan proses pelatihan menggunakan data latih. Proses pengujian hanya melakukan feedforward dan membandingkan hasilnya dengan nilai ambang (threshold) yang ditentukan.

Hasil dari fungsi aktivasi pada lapis keluaran dibandingkan dengan nilai ambang tertentu. Misalkan diambil nilai ambang (threshold) = 0.5, artinya jika nilai yk 0.5 maka output yang diberikan adalah 1,

2.5 Hasil Penelitian

Berikut adalah hasil penelitian yang terlebih dahulu dilakukan pengujian terhadap hasil akhir.

2.5.1 Performansi

Pengujian performansi bertujuan untuk mengetahui performansi dan parameter optimal dari metode backpropagation yang diimplementasikan pada simulator prediksi kemenangan game DoTA 2. Pengujian metode ini menggunakan cross validation dengan 10 fold, data keseluruhan dibagi menjadi 10 subset dimana setiap subset memiliki data yang berbeda. Data yang digunakan dalam pengujian ini merupakan data pertandingan selama bulan Maret sampai dengan April 2015. Jumlah keseluruhan data yang digunakan adalah 1440 data, data ini dibagi menjadi 10 subset data yang terdiri dari 140 data pertandingan untuk setiap subset. Setiap subset akan diuji dengan menggunakan subset lainnya sebagai data pelatihan, sehingga setiap pengujian dilakukan sebanyak 10 kali. Pengujian ini menghasilkan besaran akurasi dari metode backpropagation berdasarkan jumlah data keluaran yang sangat mendekati atau sesuai dengan target keluaran. Pengujian ini dilakukan menggunakan simulator prediksi kemenangan game DoTA 2 yang sudah dibuat.

Pada metode backpropagation yang diimplementasikan terdapat tiga buah variabel yang dapat dirubah yaitu jumlah hidden layer, learning rate, dan iterasi maksimum. Perubahan nilai iterasi maksimum dilakukan untuk membatasi proses pelatihan metode backpropagation, sedangkan perubahan dari jumlah hidden layer dan learning rate mempengaruhi laju pembelajaran dan akurasi dari metode backpropagation.

Akurasi dari metode ini dapat dilihat dari banyaknya hasil prediksi simulator yang mendekati atau sesuai dengan hasil aslinya. Jumlah hasil prediksi yang akurat nilai persen untuk memudahkan dalam mengetahui nilai akurasi dari sistem.

1. Skenario pengujian 1

Pada pengujian skenario 1, pengujian metode

backpropagation dilakukan dengan mengubah batas epoch dari 100 hingga 1000, sedangkan kedua variabel lainnya diisi dengan nilai yang sama. Hasil dari skenario pengujian 1 dapat dilihat pada tabel 4.

Tabel 4. Hasil skenario pengujian 2 Epoch Learning

Rate

Jumlah Hidden Neuron

Akurasi

100 0.05 5 49.93 %

200 0.05 5 48.82 %

300 0.05 5 49.52 %

[image:35.595.315.524.680.769.2]
(36)

700 0.05 5 50.35 %

800 0.05 5 50.56 %

900 0.05 5 50.97 %

1000 0.05 5 49.17 %

[image:36.595.72.284.78.181.2]

Batas epoch yang dipilih berdasarkan nilai akurasi yang terbesar. Berdasarkan pengujian diatas, dipilih batas epoch sebesar 900 karena memiliki akurasi terbesar yaitu 50.97 %. Nilai 900 ini selanjutnya dipakai untuk melakukan pengujian dalam menentukan nilai learning rate. Hasil dari skenario pengujian 2 dapat dilihat pada tabel 5.

Tabel 5. Hasil skenario pengujian 1 Epoch Learning

Rate

Jumlah Hidden Neuron

Akurasi

900 0.05 5 50.97 %

900 0.1 5 47.92 %

900 0.15 5 50.59 %

900 0.2 5 50.42 %

900 0.25 5 50.28 %

900 0.35 5 48.54 %

900 0.3 5 49.24 %

900 0.4 5 48.54 %

900 0.45 5 50 %

900 0.5 5 49.52 % .

2. Skenario pengujian 2

Pada pengujian skenario 2, pengujian metode

backpropagation dilakukan dengan mengubah nilai learning rate dari 0.05 hingga 0.5 dan batas epoch sebesar 900 sesuai dengan hasil skenario pengujian 1, sedangkan variabel lainnya diisi dengan nilai yang sama.

3. Skenario pengujian 3

Pada pengujian skenario 3, pengujian metode

backpropagation dilakukan dengan mengubah jumlah neuron pada hidden layer dari 5 hingga 50

neuron, batas epoch sebesar 900 sesuai dengan hasil skenario pengujian 1, dan nilai learning rate 0.05 sesuai dengan hasil skenario pengujian 2. Hasil dari skenario pengujian 3 dapat dilihat pada tabel 6.

Tabel 6. Hasil skenario pengujian 3 Epoch Learning

Rate

Jumlah Hidden Neuron

Akurasi

900 0.05 5 50.97 %

900 0.05 10 51.81 %

900 0.05 15 49.44 %

900 0.05 30 51.53 %

900 0.05 35 50.35 %

900 0.05 40 50.56 %

900 0.05 45 50.97 %

900 0.05 50 49.17 %

Jumlah neuron pada hidden layer yang dipilih berdasarkan nilai akurasi yang terbesar. Berdasarkan pengujian diatas, dipilih jumlah neuron sebanyak 20 karena memiliki akurasi terbesar yaitu 52.01 %.

Pengujian skenario ini merupakan pengujian yang terakhir untuk menentukan parameter optimal Algoritma Neural networkBackpropagation. Batas epoch yang optimal adalah sebesar 900, nilai learning rate yang optimal adalah 0.05 dan jumlah

neuron pada hidden layer yang optimal adalah sebanyak 20 neuron. Akurasi terbesar yang dicapai dari pengujian performansi ini adalah sebesar 52.01%.

2.5.2 Pengujian Beta

Pengujian beta merupakan pengujian yang dilakukan secara objektif. Metode yang digunakan dalam pengujian beta ini adalah dengan cara memberikan kuesioner kepada para pemain game DoTA 2. Sampel yang diambil sebanyak 30 orang pemain, dan hasil kuisoner tersebutakan dilakukan perhitungan untuk nantinya dapat diambil kesimpulan penilaian.

Pengujian ini bertujuan untuk melihat apakah simulator yang dibangun dapat mencapai tujuan penelitian. Diberikan pertanyaan “Apakah simulator ini membantu anda dalam bermain game DoTA 2?” dengan menggunakan skala likert sari skala 1 sampai 5.

[image:36.595.73.283.285.498.2]

Berikut ini adalah skor penilaian yang diberikan dengan menggunakan skala likert pada setiap pernyataan nya, yang ditunjukan oleh tabel 7.

Tabel 7. Skor Jawaban

Skala Jawaban Keterangan Skor

SS Sangat Setuju 5

S Setuju 4

KS Kurang Setuju 3

TS Tidak Setuju 2

STS Sangat Tidak Setuju 1

[image:36.595.319.516.596.706.2]
(37)

Skor

Sangat Setuju 5 4 20

Setuju 4 20 80

Kurang Setuju 3 5 15

Tidak Setuju 2 - -

Sangat Tidak

Setuju 1 1 1

Jumlah 30 116

Untuk mencari nilai persentase dari jawaban digunakan rumus skala likert sebagai berikut :

� =� �� � � ×

Y= 116 X 100% = 77% 150

[image:37.595.72.285.85.258.2]

Berdasarkan nilai persentase tersebut, jumlah skor yang diperoleh adalah 116. Jadi berdasarkan data tersebut, maka dapat disimpulkan bahwa simulator prediksi kemenangan game DoTA 2 membantu pemain secara umum adalah 77% dengan responden 30 pemain dari yang diharapkan 100% dan terletak pada daerah Kurang Setuju. Berikut skala hasil secara kontinum yang ditunjukan pada Gambar 4

Tabel 8. Skala Hasil Penilaian

3.

PENUTUP

Berdasarkan dari hasil penelitian, analisis, perancangan sistem, dan implementasi serta pengujian, maka diperoleh kesimpulan bahwa Simulator prediksi kemenangan bersarkan kombinasi hero pada game DoTA 2 menggunakan algoritma

Neural networkBackpropagation :

1. Simulator kurang membatu pemain dalam memprediksi kemenangan game DoTA 2. 2. Dapat mengetahui performansi dan parameter

optimal algoritma Neural network

Berdasarkan hasil penelitian dan implementasi akurasi dari algoritma Neural network Backpropagation pada penelitian ini belum mencapai keakuratan yang tinggi. Untuk meningkatkan kinerja dan hasil yang lebih baik, maka diusulkan beberapa saran sebagai berikut :

1. Data pertandingan yang dikumpulkan harus banyak agar algoritma Neural network dapat mempelajari pola lebih banyak mengingat kombinasi hero yang mungkin terjadi sangat besar.

2. Perlu dipertimbangkan untuk menggunakan algoritma atau metode lain untuk mencapai akurasi yang tinggi.

DAFTAR PUSTAKA

[1] Valve Corporation, DoTA 2 - The International,

Februari 2015. [Online]. Tersedia: http://www.dota2.com/international/overview/. [Diakses 12 Februari 2015]

[2] D. Puspitaningrum, Pengantar Jaringan Saraf Tiruan, Yogyakarta: Andi, 2006.

[3] C. Dewi dan M. Muslikh, Perbandingan Akurasi Backpropagation Neural network dan ANFIS Untuk Memprediksi Cuaca, Journal of Scientific Modeling & Computation, vol. 1, no. 1, pp. 7 - 13, 2013.

[4] S. Radovanović and M. Radojičić, Premiere League Prediction Using Neural network,

Neuroph Java Neural network Framework, 2013. [Online]. Tersedia: http://neuroph.sourceforge.net/tutorials/Sports Prediction/Premier%20League%20Prediction. html. [Diakses 20 Juni 2015].

[5] S. Kusumadewi, Artificial Intellegence (Teknik dan Aplikasinya), Yogyakarta: Graha Ilmu, 2003.

[6] W. Anggraeni, Aplikasi Jaringan Syaraf Tiruan Untuk Peramalan Permintaan Barang, JUTI,

[image:37.595.77.281.514.580.2]
(38)
(39)

BACKPROPAGATION ALGORITHM

Jaka Septian

Teknik Informatika

Universitas Komputer Indonesia

Jl. Dipatiukur 112-114 Bandung

E-mail : jksptn@gmail.com

ABSTRAK

DOTA 2 is a cooperation-oriented game involving two teams for each match, each team consist of five players. Each player controls a character called Hero. The result of the match can be predicted based on selected heroes. But predicting the result of each match is not easy, because the Hero that can be chosen totaled 110 Heroes, then there are about 4.689 x 1013 possible combinations Hero that can occur in one match.

Neural Network algorithm has the capability of memorization and generalization. Memorization ability is the ability of Neural Network to recall perfectly the pattern has been learned, with this ability it can recognize patterns Neural Network game DOTA 2 match that have been happen to guess the outcome of the match with a same pattern in the future. Generalization ability is the ability of Neural Network to produce an acceptable response of the input pattern that similar (but not identical) to the patterns that have been previously studied. Based on above fact, a simulator that is capable of predicting the winner based on a hero combination in game DOTA 2 using Neural Network algorithm is built. Keywords : Neural network, Backpropagation, Prediction.

1.

INTRODUCTION

DOTA 2 is a game of multiplayer online battle arena (MOBA). MOBA is the kind of cooperation-oriented game involving two teams for each match, each team, consist of five players who must destroy each other tower and the main bastion opponent to win the game. Each player controls a character called Hero, then one player and another player must choose a different Hero [1].

Played hero has the ability and the different roles with other heroes. Because every Hero has a different role capability, then the combination of the Hero chosen by both squads will affect the match outcome and have possibility to do predictions. By predicting the outcome of the game based on a combination of Hero, players can choose an

appropriate hero to fight a combination of opponents hero and increase the chances of winning the game.

Other than usual match in DOTA there are also many tournaments within the game officialy or unofficialy tournaments that held by the third party. Winners of the tournaments get the prize that is usually not the least and quite tempting [1]. Therefore to predict the outcome of a match wins can help players determine the step in order to achieve victory.

Predicting the outcome of each match is not easy, because of heroes that can be selected is totaled 110, so there are about 4.689 x 1013 possible

combinations Hero that can occur in one match. Each match that has been made will form the pattern of victory based on a combination of the selected Hero. The pattern can be used as a reference to predict a victory, but the result pattern very large. Neural network algorithm is an algorithm that is often used in studying and recognizing patterns in data. Neural network algorithms have the ability of memorizing and generalizations. Memorisation ability of Neural network is the ability to recall perfectly the pattern that has been learned, with this ability to it can recognize match patterns in DOTA 2 games that have been happen to guess the result of the match with a similar pattern in the future. Generalization ability is the ability of neural network to produce an acceptable response to the input patterns that are similar (but not identical) to the patterns that have been previously studied [2].

(40)

to predict the outcome of a match based on a combination of heroes chosen by both teams and to determine the performance such as accuracy and optimal parameters for Backpropagation method to predicting match outcome.

1.1 Neural network

Neural networks or artificial neural networks is one of the studies on artificial intelligence. Neural network is used to solve the problems that are complex and difficult to understand, which along large amounts of data on the issue have been collected. Neural networks are looking for patterns and relationships in very large data that is too complex and difficult to analyze human use of hardware and software that resemble the patterns of processing in the human brain

. Neural network component consists of interconnected neurons. Neurons that will transform the information received via the output connection toward other neurons. In neural network relationships between neurons is known as the weights [5]. Neural network components as shown in Figure 1 consists of inputs (information) weight (certain values), the activation function works when the input is entered in accordance with the specified value of threshold, otherwise the activation function is not activated, and when neurons is activated, the neuron will send output through weights

[image:40.595.317.511.248.393.2]

.

Figure 1. Neural Network Component

1.1 Backpropagation

Backpropagation is a type of neural network that uses supervised learning methods. In the supervised learning there is a pair of data inputs and outputs are used to train the neural network to obtain the desired weight. Backpropagation method using the error output to change the value of the weights in the backward direction. To get this error, advanced propagation phase (forward) must be done first. At the time of forward propagation, the neurons activated by using sigmoid activation function, as shown in equation 1.

Activation function transform the input total on a neuron to produce an output signal (outgoing activity). Activation function used in this study is the sigmoid function. This function is used for Neural Network trained using backpropagation method. Sigmoid function has a value in the range of 0 to 1. This function is often used for networks that require the output value lies in the interval 0 to 1. However,

� = 1+�1−� (1)

[image:40.595.72.285.467.513.2]

Backpropagation Neural network architecture consists of three layers, namely input layer xi, hidden layer zj, and the output layer yk. Input layer and hidden layer weights associated with vij and between the hidden layer and output layer weights connected by wjk .. The architecture can be seen in Figure 2.

Figure 2. Backpropagation Architecture

There is no specific formula to determine the number of hidden layers and the number of neurons of it layer to calculate it, but there is a rule-of-thumb that is often used either to determine the number of hidden layers and the number of hidden neurons. Rarely problems that require two hidden layers, although a neural network with two hidden layers can represent any kind of shape functions. There is no theoretical reason for using a neural network more than two hidden layers. In fact for a wide variety of problems there is no reason to use more than one hidden layer [7]. To determine the number of neurons in the hidden layer is very important in building network architectures. Using too few neurons in the hidden layer is likely to produce underfitting, otherwise use too many neurons in the hidden layer will likely result an overfitting and if the training data is very large there will be a very long time to do the training [7].

Rules-of-thumb that are often used in determining the number of neurons in the hidden layer is as follows:

1. The number of neurons in the hidden layer is between the number of neuron in the input layer and neurons in the output layer [7].

2. The number of neurons in the hidden layer is 2/3 the input layer neuron number, plus the number of output layer neurons [7].

(41)

To train Backpropagation, Neural network given input pattern as a training pattern then the pattern will be heading to units in the hidden layer to transfer to the units that are in the output layer. Output of the hidden layer will be forwarded to the output layer and output layer will provide feedback so-called

temporary output yk. when yk ≠ tk where tk is the

expected output, then the difference (error) output while u'k will be propagated back (backward) in the hidden layer and forwarded to units in the input layer. Therefore, the process is called backpropagation) [6].

2.

Research Content

2.1 The used method.

In this study, the method used is the Backpropagation Neural network algorithm.

2.1.1 Backpropagation method

In the Backpropagation method, there are two stages of the process, as is follows:

1. Training Stage, at this stage back propagation method given amount of training data and its target.

2. Testing stage or use test is done after a learning phase.

Stopping condition can be used by two ways, as is follows:

1. Limit the iteration.

For example, the network will be train until 500 training iteration

2. Limit the error.

For example, determine the mean square error.

Generally steps in training using Backpropagation Neural networks are as follows:

1. Determine the number of inputs (input pattern), hidden layer and output (target training). 2. Giving the initial random values for all weights

between the input-hidden and hidden-output layer.

3. Do the feedforward

a. Each unit of input (xi) receives the input signal and the signal is sent to all units in the hidden layer.

b. Each unit in the hidden layer (Z_inj) summing the weighted input signals:

z_inj = v0j + ∑=1 (2)

use the activation function to calculate the output signal:

summing the weighted input signals:

y_ink = w0j + ∑ �=1 (4)

use the activation function to calculate the output signal:

yk = f(y_ink) (5)

4. Do the backpropagation

a. Each unit in the output layer (yk) receiving a target pattern associated with the input pattern, calculate error information:

δk = (tk - yk) f’(y_ink) (6)

Then calculate the correction weights (which will be used to improve the value of wjk):

Δwjk = α δk zj (7)

Also calculate the bias correction (which will be used to improve value of w0k)

Δw0k = α δk (8)

Send δk to all unit in the under layer b. Each unit in the hidden layer (Z_inj) delta

summing inputs (of units that are on the top layer):

` δ_inj = ∑ =1� (9)

multiply this value by the derivative of the activation function for calculating error information:

δj= δ_inj f’(z_inj) (10)

then calculate the correction weights (which will be used to improve value of vij):

Δvij = α δj xi (11)

Also Calculate the bias correction (which will be used to improve value of v0j):

Δv0j = α δj (12)

a. Each of output unit (y_ink) improve the

bias and its weights:

(42)

vij(baru) = vij(lama) + Δvij (14)

5. Test the stopping condition

a. Is the minimum error limit has been reached.

b. Is the maximum iteration limit has been reached.

2.2 Data Analist 2.2.1 Data Source

The data used are taken using the Steam Web API in .xml file that is subsequently converted and stored into a database.

2.2.2 Input data

[image:42.595.310.524.201.417.2]

The data used in win predicting is entire heroes data which totaled 110 heroes. The data is organized into v

Gambar

Gambar 1.1 Alur Penelitian
Gambar 2.1 Komponen Neural Network
Gambar 2.2 Arsitektur Neural Network [7]
Gambar 2.3 Arsitektur Backpropagation
+7

Referensi

Dokumen terkait

Pada penelitian ini akan dibuat sebuah aplikasi untuk memprediksi masa studi mahasiswa Universitas Widya Dharma (UNWIDHA) Klaten berbasis desktop dengan

Model terbaik jaringan Artificial Neural Network backpropagation dalam memprediksi volume penyaluran air Perusahaan Daerah Air Minum PDAM Tirta Dharma Kota Malang yaitu model ANN

Hasil dari pengujian model yang dilakukan adalah memprediksi hasil pemilu legislatif DKI Jakarta 2009 dengan neural network dan neural network berbasis algoritma genetika

Oleh karena itu, artikel ini menerapkan metode Backpropagation Neural Network (BPNN) untuk melakukan prediksi produksi minyak kelapa sawit (CPO) yang berasal dari perkebunan TBS

Erna Budhiarti Nababan, M.IT selaku pembimbing kedua penulis atas arahan dan kesempatan yang diberikan kepada penulis untuk mengikuti dan menyelesaikan Program

Tujuan dari penelitian ini adalah untuk memprediksi produktivitas kelapa sawit pada PTPN IV kebun Dolok Sinumbah pada tahun yang akan datang sehingga hasil prediksi akan menjadi

Hasil dari pengujian model yang dilakukan adalah memprediksi hasil pemilu legislatif DKI Jakarta 2009 dengan neural network dan neural network berbasis algoritma genetika

Grafik Performa Model 𝑭𝑭𝑵𝑵𝟖, 𝟗, 𝟏 dalam Memprediksi Data Uji Berdasarkan grafik perbandingan hasil prediksi terhadap data sebenarnya pada Gambar 7 dan Gambar 8 untuk data uji dan data