• Tidak ada hasil yang ditemukan

Implementasi Algoritma Alpha Beta Pruning Untuk Mencari Posisi Agent Dalam Menentukan Keputusan Passing Pada Simulator Robot Soccer Dua Dimensi

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Alpha Beta Pruning Untuk Mencari Posisi Agent Dalam Menentukan Keputusan Passing Pada Simulator Robot Soccer Dua Dimensi"

Copied!
67
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RIKO MARTA PUTRA

10110133

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

iii

dan hidayahnya penulis dapat menyelesaikan laporan skripsi ini yang berjudul

“IMPLEMENTASI ALGORITMA ALPHA BETA PRUNING UNTUK

MENCARI POSISI AGENT DALAM MENENTUKAN KEPUTUSAN PASSING PADA SIMULATOR ROBOT SOCCER DUA DIMENSI”. Penulis menyadari sepenuhnya bahwa dalam tugas akhir yang penulis buat masih sangat jauh dari kesempurnaan. Dalam kesempatan ini penulis mengucapkan terimakasih yang sedalam-dalamnya kepada Yth :

1. Pak Galih Hermawan, S.kom, M.T , yang telah membimbing dan memberikan masukan-masukan dalam penulisan skripsi ini.

2. Pak Erick Wijaya, S.Kom yang telah memberikan saran serta kritiknya dalam penyusunan skripsi ini.

3. Kepada teman - teman, seluruh mahasiswa Teknik Informatika khusunya IF – 3, terima kasih atas doa dan dukungannya.

4. Kepada Orang Tua tercinta yang mana telah membantu kami dalam Do’a, material maupun dalam segi motivasi selama dalam penyusunan laporan skripsi ini.

5. Kepada pihak – pihak yang tidak sempat disebutkan satu persatu, semua memiliki andil yang sangat besar atas perjuangan penulis. Terima kasih yang sebesar – besarnya.

Akhir kata, penulis mohon maaf yang sebesar-besarnya apabila dalam penyusunan laporan ini terdapat banyak kesalahan. Semoga laporan ini dapat bermanfaat khususnya bagi penulis dan pada umumnya bagi para pembaca.

Bandung, 27 Februari 2016

(3)

iv

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 5

BAB II TINJAUAN PUSTAKA ... 7

2.1 Kecerdasan Buatan ... 7

2.2 Searching ... 8

2.2.1 Alpha Beta Pruning ... 9

2.3 Formula ... 10

2.4 RoboCup ... 10

2.4.1 Simulator RoboCup Soccer ... 12

2.5 UvA Trilearn ... 15

2.6 Soccer ... 16

2.6.1 Aturan Sepakbola ... 17

(4)

v

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA ... 27

3.1 Analisis Masalah ... 27

3.2 Analisis Algoritma ... 27

3.2.1 Pohon Permainan ... 27

3.2.2 Flowchart ... 28

3.2.3 Pseudocode Umpan Bola ... 29

3.2.4 Contoh Kasus ... 30

3.3 Kebutuhan Perangkat Lunak ... 42

3.3.1 Kebutuhan Non Fungsional... 42

3.3.1.1 Kebutuhan Perangkat Keras ... 42

3.3.1.2 Kebutuhan Perangkat Lunak ... 42

3.3.2 Kebutuhan Fungsional ... 43

3.3.2.1 Use Case Diagram ... 43

3.3.2.1.1 Definisi Aktor ... 44

3.3.2.1.2 Definisi Use Case... 45

3.3.2.1.3 Skenario Use Case ... 45

3.3.2.2 Activity Diagram ... 50

3.3.2.3 Sequence Diagram ... 53

3.3.2.4 Class Diagram ... 56

3.4 Perancangan Sistem ... 57

3.4.1 Komponen ABsoccer ... 58

3.4.2 Perancangan Method ... 59

(5)

vi

4.1.3 Instalasi RoboCup Soccer Simulator ... 68

4.1.4 Simulasi Pertandingan ... 71

4.1.5 Implementasi Antarmuka ... 73

4.1 Pengujian dan Evaluasi ... 74

4.2.1.1 Skenario Pengujian Aplikasi ... 75

4.2.1.2 Kasus dan Pengujian ... 75

4.2.2 Skenario I ( UvA Riko VS UvA Trilearn) ... 83

4.2.2.1 Hasil Percobaan Skenario I ... 83

4.2.2.2 Analisa Skenario I ... 84

4.2.3 Skenario II(UvA Riko VS WEBASE) ... 86

4.2.3.1 Hasil Percobaan Skenario II ... 87

4.2.3.2 Analisa Skenario II ... 88

4.2.4 Pengujian Alpha Beta Pruning ... 89

BAB 5 KESIMPULAN DAN SARAN ... 95

5.1 Kesimpulan ... 95

5.2 Saran ... 95

(6)

97

DAFTAR PUSTAKA

[1] H. Galih, "Implementasi Algoritma Particle Swarm Optimization untuk penentuan posisi trategis agent pada simulasi Robot Sepak Bola Dua Dimensi," Jurnal Ilmiah Komputer dan Informatika (KOMPUTA), vol. I, p. 64, 2012.

[2] K. Vadim, "A Robust and Scalable Pareto Optimal Ball Passing Algorithm for the Robotic Soccer," in Robotic Soccer, l. Pedro, Ed. Vienna, Austria: Itech Education and Publishing, 2007, ch. 8, p. 154.

[3] M. Ian, Artificial Intelligence For Games, C. Tim, C. Rick, and E. Jessie, Eds. San Francisco, United States of America: Morgan Kaufmann, 2006.

[4] P. R S., Software Engineering : A Practitioner's Approach , 7th ed., M. ,. Faye, Ed. New York, United States Of America: McGraw-Hill, 2010.

[5] Siswanto, Kecerdasan Tiruan. Yogyakarta: Graha Ilmu, 2005.

[6] Suparman, Mengenal Artificial Intelligence. Yogyakarta, Indonesia: Andi Offset, 2004.

[7] Suryanto, Artificial Intelligence. Yogyakarta, Indonesia: Informatika Bandung, 2014.

[8] T. R. Federation. Robocup. [Online]. http://www.robocup.org/about-robocup/a-brief-history-of-robocup/Dipetik March, 17, 2014

[9] J. R. Kok. (2007) jellekok.nl. [Online].

http://www.jellekok.nl/index.php?cat=robocupDipetik March, 29, 2014

[10] FIFA. Federation Internationale de Football Association(FIFA). [Online].

http://www.fifa.com/classicfootball/history/the-game/origins.htmlDipetik March, 30, 2014

(7)

98

(8)

1

BAB I

PENDAHULUAN

1.1 Latar belakang

Sepakbola merupakan salah satu cabang olahraga yang sangat populer di seluruh dunia. Hal tersebut dapat dilihat dari perkembangan sepakbola yang semakin maju dan memiliki jumlah penggemar paling banyak di dunia dibandingkan dengan cabang olahraga lainnya. Permainan sepakbola sendiri dimainkan oleh dua tim dan satu tim terdiri dari sebelas pemain, untuk dapat memainkan permainan ini dengan baik dibutuhkan kerjasama tim dan teknik dalam bermain sepakbola. Pada saat ini telah banyak dikembangkan simulasi permainan sepakbola, diantaranya adalah Simulator Robo Soccer, Pro Evolution Soccer dan Football Manager.

Simulator RoboCup Soccer merupakan simulator yang telah disediakan untuk liga RoboCup Soccer yang terdiri dari 3 komponen utama, yaitu: Soccer Server, Soccer Monitor dan Log Player. Sebuah simulasi pertandingan sepakbola dilakukan dalam bentuk client-server (komputer sebagai server dan file executable sebagai client). Soccer Server menyediakan sebuah domain (sebuah lapangan sepakbola virtual) yang mensimulasikan semua gerakan-gerakan obyek dalam domain ini, dan mengontrol sebuah game sepak bola sesuai aturan-aturan tertentu [1]. Soccer client telah banyak dikembangkan oleh banyak universitas. Misalnya: Carnegie Melon University, Tsing Hua University, Universiteit van Amsterdam, dan lain-lain. Masing-masing universitas tersebut telah mengimplementasikan berbagai kecakapan pada agent-agentnya, sedemikian rupa sehingga para agent dapat memainkan pertandingan sepakbola melawan agent dari soccer client secara autonomous.

(9)

terdapat beberapa fungsi yang digunakan antara lain fungsi evaluasi menggunakan indikator heuristik dan estimasi fuzzy. Dan pada bagian mencari solusi passing bola untuk membuat keputusan dengan pareto set metode yang digunakan adalah sequential elimination of the poorest alternative. Kesimpulan yang didapat dari penelitian tersebut adalah metode yang digunakan memberikan cara yang mudah untuk menerapkan semua kisaran dalam mengambil keputusan dengan menyeimbangkan keuntungan, resiko dan biaya dengan cara yang fleksibel. Metode pendekatan baru yang diusulkan untuk general optimasi, selain passing bola, dan juga mengoptimalkan pengambil keputusan tingkat rendah lainnya dalam robot sepak bola, seperti positioning pemain, dribbling, dan mencetak gol.

Alpha beta pruning merupakan sebuah cara untuk mengurangi jumlah simpul yang dieksplorasi dari algoritma MinMax. Dengan adanya alpha beta, waktu yang dibutuhkan dalam pencarian bisa berkurang dengan cara membatasi waktu yang terbuang percuma pada saat mengevaluasi pohon permainan. Implementasi alpha beta akan memberikan jalur terbaik dalam setiap kemungkinan permainan dalam pohon permainan yang terbentuk [3]. Dalam alpha beta pruning, urutan jalannya algoritma akan dimulai sama seperti algoritma minimax. Untuk simpul MIN, nilai yang dihitung dimulai dengan +infinity dan akan menurun seiring jalannya permainan. Untuk simpul MAX, nilai akan dihitung dimulai dengan -infinity dan akan menaik seiring berjalannya waktu permainan.

Proses yang sangat penting dalam permainan sepakbola adalah mengoper bola terutama dalam proses menyerang. Memastikan bola sampai pada teman yang tepat sehingga dapat melakukan serangan dan tekanan yang lebih baik terhadap lawan. Implementasikan algoritma alpha-beta pruning pada agent simulation RoboCup soccer. Dengan harapan agent dapat menemukan posisi agent kawan yang terbaik untuk menentukan keputusan passing maupun umpan bola.

1.2 Rumusan Masalah

(10)

1.3Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk mengimplementasikan algoritma alpha-beta pruning pada simulator RoboCup soccer dua dimensi. Sedangkan tujuan yang ingin dicapai dari pengimplementasian tersebut adalah :

1. Membantu mengoptimalkan pencarian posisi agent untuk menentukan keputusan passing bola maupun umpan bola.

2. Membantu meningkatkan akurasi umpan bola untuk dapat

mengoptimalkan serangan dan menambah kemungkinan mencetak gol.

1.4 Batasan Masalah

Berdasarkan latar belakang yang telah diuraikan sebelumnya, maka batasan masalah yang dibuat adalah sebagai berikut :

1. Pencarian posisi strategis agent menggunakan algoritma alpha-beta pruning.

2. Simulator yang digunakan dengan spesifikasi: soccer server versi 15.0.1, soccer monitor versi 15.0.0 dan log player versi 15.0.0. 3. Perancangan yang digunakan dalam pengembangan Soccer Client

ini adalah pendekatan berbasis objek.

4. Simulator dijalankan diatas komputer dengan sistem operasi linux ubuntu versi 12.0.4.

5. Pengembangan soccer client menggunakan bahasa pemograman C++.

6. Tim sepak bola yang dijadikan base code adalah Uva Trilearn yang dikembangkan oleh Remco de Boer dan Jelle Kok

7. Pada penelitian ini hanya di fokuskan pada pengembangan skill passing bola.

1.5 Metodologi Penelitian

(11)

1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, e-book, paper dan bahan bacaan-bacaan yang berkaitan dengan permainan yang akan dikembangkan, meliputi algoritma yang akan dipakai, tool dan juga pemodelan dengan UML.

b. Observasi

Teknik pengumpulan data dengan mengadakan pengamatan lansung dan mengindra terhadap objek atau proses yang akan dijadikan objek permasalahan seputar permainan yang akan dibangun antara lain masalah algoritma, tools dan pemodelan dengan UML.

2. Metode Pembangunan Perangkat Lunak

Metode pengembangan perangkat lunak yang digunakan dalam pengembangan game ini akan menggunakan prototype model [4]. Fase yang terdapat pada prototype ini sebagai berikut :

a. Communication

Pada tahap ini komunikasi dilakukan dengan dosen pembimbing terkait dengan penelitian yang dilakukan serta membahas beberapa hal seperti batasan dari penelitian dan metode kecerdasan buatan yang akan diimplementasikan kedalam robot soccer simulator.

b. Quick Plan

(12)

c. Modeling Quick Desain

Pada tahap ini dilakukan pemodelan alpha beta pruning yang akan diterapkan pada robot soccer simulator berikut dengan pemodelan perangkat lunak sesuai batasan-batasan dalam perancangannya.

d. Construction of Prototype

Pada tahap ini dilakukan pembangunan prototype dan prototype tersebut akan dievaluasi oleh dosen pembimbing dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak.

e. Deployment Delivery & Feedback

Pada tahap ini dilakukan peluncuran perangkat lunak secara lengkap beserta laporan setelah melalui proses tahap-tahap sebelumnya. Perangkat lunak robot soccer simulator dan laporannya didokumentasikan dengan melalui proses revisi sebelumnya.

Gambar 1.1 Siklus Hidup Perangkat Lunak.

1.6Sistematika Penulisan

(13)

BAB 1 PENDAHULUAN

Bab ini menguraikan tentang latar belakang masalah, rumusan masalah, maksud dan tujuan, metodologi penelitian, dan sistematika penulisan dari tugas akhir yang dibuat.

BAB 2 LANDASAN TEORI

Bab ini menguraikan tentang teori-teori yang berkaitan dengan topik penelitian yaitu Kecerdasan Buatan, Searching, Algoritma Alpha Beta Pruning, RoboCup, Fungsi Evaluasi, Soccer, Object Oriented, UML(unified modeling language), C++, Linux ubuntu.

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini berisi tentang analisis sistem yang meliputi perancangan dengan pemodelan UML, merancang tampilan permainan, serta analisis bagaimana penerapan Algoritma Alpha Beta Pruning pada simulator robo soccer yang akan diterapkan pada agent atau NPC (Non Playable Character).

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Berisi tentang tahapan – tahapan yang dilakukan untuk menerapkan implementasi dari soccer client yang dikembangkan. Implementasi soccer client dilakukan berdasarkan kebutuhan analisis pada Algoritma Alpha Beta Pruning dan perancangan permainan yang sudah dilakukan.

BAB 5 KESIMPULAN DAN SARAN

(14)

7

BAB II

TINJAUAN PUSTAKA

2.1 Kecerdasan Buatan

Kecerdasan buatan (artificial intelligence) merupakan salah satu bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat berfikir dan melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan lebih baik dari pada yang dilakukan manusia [3].

Beberapa hal yang dapat dikerjakan dalam bagian-bagian AI berikut [5] :

1. Sistem pakar (expert system) : komputer sebagai sarana untuk menyimpan pengetahuan para pakar sehingga komputer memiliki keahlian menyelesaikan permasalahan dengan meniru keahlian yang dimiliki pakar.

2. Pengelolahan bahasa alami (natural language processing) : user dapat berkomunikasi dengan komputer menggunakan bahasa sehari-hari, misalnya bahasa inggris, bahasa Indonesia, dan lain-lain.

3. Pengenalan ucapan (speech recognition) : manusia dapat berkomunikasi dengan komputer menggunakan suara.

4. Robotika dan sistem sensor : difokuskan pada produksi alat-alat mekanik yang dapat mengendalikan gerak.

5. Komputer vision : menginterpretasikan gambar atau objek-objek tampak melalui komputer.

6. Intelligent computer-aided instruction : komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.

7. Game playing : pembuatan program-program bermain permainan.

Area dari Artificial Intelligence adalah gabungan beberapa area study [6], Yaitu :

(15)

2. Searching :diterapkan pada AI mengacu pada metode pencarian untuk penyelesaian suatu masalah.

3. Vision recognition dan pattern matching : penting untuk beberapa aplikasi, termasuk robotic dan pengolah citra (image processing).

4. Natural language processing : digunakan untuk membangun

kemampuan komputer berbahasa manusia secara lansung. 5. Robotic : digunakan untuk mengontrol gerakan.

6. Learning : program yang dapat belajar dari kesalahan dengan observasi (atau permintaan komputer) serta mempunyai kemampuan untuk

mengambil „benefit‟ dari pengalaman.

7. Uncertainty dan fuzzy logic : komputer dapat berfikir dengan

menggunakan pengetahuan yang tidak lengkap dengan menerapkan penggunaan fuzzy logic.

2.2 Searching

Searching atau pencarian adalah mekanisme pemecahan masalah yang paling umum di dalam kecerdasan buatan. Di dalam permasalahan-permasalahan kecerdasan buatan, urutan langkah-langkah yang dibutuhkan untuk memperoleh solusi merupakan suatu isu yang penting untuk diformulasikan. Hal ini harus dilakukan dengan mengidentifikasikan proses try and error secara sistematis pada eksplorasi setiap alternative jalur yang ada [7].

Algoritma searching di dalam kecerdasan buatan yang umumnya dikenal adalah :

1. Pencarian Buta (Blind search)

Algoritma yang tidak memberikan informasi tentang permasalahan yang ada, hanya sebatas definisi dari algoritma tersebut.

2. Pencarian Heuristik (Heuristik search)

(16)

Selain dari kedua algoritma searching diatas ada juga algoritma yang dikenal dengan adversarial search, dimana didalamnya terdapat beberapa algoritma pencarian seperti algoritma MiniMax, Alpha beta Pruning, NegaMax, dan lain sebagainya.

2.2.1 Alpha Beta Pruning

Alpha beta pruning merupakan sebuah cara untuk mengurangi jumlah simpul yang dieksplorasi dari algoritma MinMax. Dengan adanya alpha beta, waktu yang dibutuhkan dalam pencarian bisa berkurang dengan cara membatasi waktu yang terbuang percuma pada saat mengevaluasi pohon permainan. Implementasi alpha beta akan memberikan jalur terbaik dalam setiap kemungkinan permainan dalam pohon permainan yang terbentuk [3]. Dalam alpha beta pruning, urutan jalannya algoritma akan dimulai sama seperti algoritma minimax. Untuk simpul MIN, nilai yang dihitung dimulai dengan +infinity dan akan menurun seiring jalannya permainan. Untuk simpul MAX, nilai akan dihitung dimulai dengan -infinity dan akan menaik seiring berjalannya waktu permainan. Pseudocode Alpha Beta Pruning dapat dilihat pada gambar 2.1.

(17)

Pada penelitian ini, nilai-nilai yang terdapat pada simpul atau node didapat setelah melakukan perhitungan menggunakan sebuah formula atau rumus.

2.3 Formula

Formula merupakan rumus yang digunakan untuk mencari nilai-nilai yang nantinya nilai tersebut dimasukkan kedalam simpul atau node untuk setiap posisi pemain. Berikut ini merupakan rumus yang digunakan pada penelitian ini.

H = ( 1− 2)2+ ( 1 2)2………(2.1)

Dimana :

H = total nilai

X1 = koordinat x pemain

X2 = koordinat x bola

Y1 = koordinat y pemain

Y2 = koordinat y bola

2.4 RoboCup

Robot bermain sepakbola pertama kali disebutkan oleh professor Alan Mackworth (University of British Columbia, Kanada) dalam sebuah makalah

yang berjudul “On seeing Robots” pada tahun 1992 dan kemudian diterbitkan dalam sebuah buku Computer Vision : System, Theory, and Applications. Pada bulan juni 1993, beberapa peneliti seperti Minoru Asada, Yasuo Kuniyoshi, dan Hiroaki Kitono memutuskan untuk meluncurkan sebuah kompetisi robot yang diberi nama J-League. Dalam sebulan J-League mendapat reaksi yang luar biasa dari para peneliti diluar Jepang, dan meminta inisiatif untuk diperpanjang menjadi proyek internasional. Oleh karena itu J-League berganti nama menjadi Robot World Cup disingkat RoboCup [8].

(18)

menyelenggarakan turnamen piala dunia setiap tahun. Anggota-anggota Federasi RoboCup adalah para peneliti yang aktif melakukan penelitian dalam bidang ini dan mereka adalah wakil-wakil dari universitas-universitas atau perusahaan-perusahaan yang berkepentingan dan berkontribusi di bidang ini.

Federasi RoboCup telah menetapkan tujuan-tujuan dan suatu jadwal penelitian. Penetapan tujuan ini dimaksudkan untuk mendesak perkembangan terkini (the state-of-the-art) selanjutnya, sehubungan dengan test-beds yang telah diformalkan. Artinya bahwa sebenarnya tujuan utama yang paling penting dari RoboCup adalah memajukan tingkat teknologi masyarakat di segala bidang.

Hingga saat ini, federasi RoboCup internasional telah mempromosikan kompetisi atau liga robot sepak bola sebagai berikut.

a. RoboCup Soccer, terdiri atas :

1. Simulation League, terdiri dari :

a. 2D Simulation League,

5. Humanoid League, terdiri dari : a. Kid Size (30-60 cm height), b. Teen Size (100-160 cm height). b. RoboCup Rescue, terdiri atas :

1. Rescue Simulation League,

2. Rescue Robot League.

c. RoboCup Junior, terdiri atas :

1. Soccer Challenge,

2. Dance Challenge,

(19)

4. Rescue B Challenge.

d. RoboCup @Home

Pada penelitian ini lebih difokuskan pada RoboCup 2D Simulation League. Simulasi robot sepak bola dalam RoboCup yang menggunakan simulator yang disebut dengan Soccer Server. Simulator ini merupakan sebuah simulasi pertandingan sepak bola yang divisualisasikan dengan menunjukan lapangan simulator pada layar monitor komputer.

2.4.1 Simulator RoboCup Soccer

Simulator yang telah disediakan untuk liga RoboCup Soccer terdiri dari 3 komponen utama, yaitu: Soccer Server, Soccer Monitor dan Log Player. Sebuah simulasi pertandingan sepak bola dilakukan dalam bentuk client-server. Soccer server menyediakan sebuah domain (sebuah lapangan sepak bola virtual) yang mensimulasikan semua gerakan-gerakan obyek dalam domain ini, dan mengontrol sebuah game sepak bola sesuai aturan-aturan tertentu.

Sebuah pertandingan sepak bola virtual melibatkan 3 komponen yaitu Sistem Soccer Server, Sistem Soccer Monitor, dan Sistem Soccer Client.

Selanjutnya tiga kompenen utama tersebut, dijabarkan sebagai berikut:

a. Soccer Server.

(20)

versi yang terbaru terdapat error, dikarenakan ada beberapa library yang tidak mendukung. Connection antara client dengan server dapat dilihat pada gambar 2.2.

Gambar 2.2 Connection antara Client dengan Server

b. Soccer monitor.

(21)

Gambar 1.3 Tampilan Soccer Monitor

Soccer monitor yang digunakan adalah versi 15.0.0 . soccer monitor juga tidak menggunakan versi yang terbaru karena ada library yang tidak mendukung.

c. Soccer Client.

(22)

dikembangkan pada tahun 2001 oleh Jelle R. Kok. Uva Trilearn bersifat open source.

Selain tiga komponen utama diatas, ada sebuah komponen yang berfungsi sebagai pemutar video yang disebut dengan log player. Log player yang digunakan adalah versi 15.0.0, log player juga tidak menggunakan versi terbaru karena ada library yang tida mendukung. Fungsi dari log player adalah untuk memutar kembali sebuah pertandingan sepak bola.

2.5UvA Trilearn

Uva trilean pertama kali dikembangkan pada tahun 2001 oleh Jelle R. Kok [9]. Dan pertamakalinya ikut kompetisi pada jerman terbuka 2001 di Paderborn dan di kejuaraan dunia 2001 di seattle (USA). Pada tahun 2003 Jelle R. Kok mengembangkan lebih lanjut UvA Trlearn sebelumnya dengan memperbaiki keahlian merebut bola dengan mempertimbangkan kemampuan tim lawan untuk aksi yang sama, memperbaiki teknik passing dengan mempertimbangkan berbagai piilihan aksi passing yang dapat dilakukan, dan perbaikan terakhir adalah pengunaan coordination graph untuk untuk menentukan koordinasi antar agen. Dan hasilnya yaitu UvA Trilearn menjadi juara pada Robocup-2003. Berikut ini merupakan struktur dari soccer client UvA Trilearn dapat dilihat pada gambar 2.4.

(23)

2.6 Soccer

Soccer atau sepakbola merupakan salah satu cabang olahraga yang sangat populer di seluruh dunia. Hal tersebut dapat dilihat dari perkembangan sepakbola yang semakin maju dan memiliki jumlah penggemar paling banyak di dunia dibandingkan dengan cabang olahraga lainnya. Permainan sepakbola sendiri dimainkan oleh dua tim dan satu tim terdiri dari sebelas pemain, untuk dapat memainkan permainan ini dengan baik dibutuhkan kerjasama tim dan teknik dalam bermain sepakbola.

Menurut sejarah kontemporer permainan favorit dunia berkembang lebih dari 100 didunia. Semuanya dimulai pada tahun 1863 di inggris. Ketika rugby dan sepakbola berada pada cabang olahraga yang berbeda. Asosiasi sepakbola di inggris dibentuk menjadi badan pertama yang mengatur olahraga [10].

Kedua olahraga tersebut berasal dari cabang yang sama. Sebuah pencarian selama berabat-abat mengungkapkan bahwa setidaknya ada enam permainna yang berbeda, bervariasi untuk derajat yang berbeda, dan sejarah perkembangan sepakbola telah diteliti kembali. Apakah ini dapat dibenarkan dalam beberapa kasus yang diperdebatkan. Namun demikian, faktanya tetap bahwa orang telah menikmati sepakbola selama ribuan tahun dan sama sekali tidak ada alasan untuk menganggapnya sebagai penyimpangan terhadap permainan yang menggunakan tangan.

Pada dinasti han sepakbola disebut Tsu‟Chu dengan cara menendang bola

(24)

2.6.1 Aturan Sepakbola

Sepakbola dimainkan dalam sebuah lapangan oleh sebelas pemain. Permainan biasanya dilakukan dalam waktu 2 X 45 menit dengan jeda istirahat lima belas menit yang dilakukan oleh para pemainnya. Kalau dalam waktu 2 X 45 menit masih dalam keadaan seri maka akan di adakan babak perpanjangan waktu selama 2 X 15 menit. Setelah perpanjangan waktu masih seri maka akan dilakukan adu pinalti. Pemimpin atau pengadil pertandingan dalam sepakbola adalah wasit. Biasanya dia dibantu oleh dua orang hakim garis dan dua orang wasit cadangan yang bertugas ketika terjadi pergantian pemain. Ukuran lapangan sepakbola adalah 91,4 m dan 54,8 m dengan ukuran gawang 7,32 x 2,44 meter [11]. Lapangan sepakbola dapat dilihat pada gambar 2.5.

(25)

Ada beberapa kondisi khusus dalam sepakbola yang umumnya terjadi, yaitu [11]:

1. Kickoff : pada permulaan permainan dan setelah gol, tim melakukan kockoff dari tengah untuk memulai permainan. 2. Penalty kick : ketika pemain melakukan pelanggaran di area

penaltinya sendiri, tim yang mendapatkan tendangan penalty ini adalah tendangan berhadapan lansung dengan kipper yang berjarak 12 yard.

3. Throw-ins : jika bola keluar dari batas garis samping kiri atau kanan maka lemparan bebas ke dalam lapangan diberikan kepada tim yang terakhir tidak menyentuh bola. Jika bola keluar dari batas garis belakang, tendangan goal kick diberikan jika tim penyerang yang menyentuh bola bola terakhir, dan tendangan sudut diberikan jika tim bertahan yang menyentuh bola terakhir.

4. Goal kick : ketika penyerang menendang bola keluar dari garis gawang, tim yang bertahan diberikan goal kick, bola dapat ditempatkan di manapun di dalam area gawang dan setiap pemain ( termasuk kipper) dapat melakkan tendangan.

5. Corner kick : jika bola keluar melewati garis gawang dan terakhir tersentuh oleh pemain tim bertahan, tendangan sudut diberikan kepada penyerang. Bola ditempatkan disudut lingkaran samping area gawang dimana bola itu keluar dan seperti halnya tendangan bebas, pemain bertahan harus berdiri setidaknya 10 meter dari bola.

(26)

2.6.2 Posisi Pemain Sepakbola

Setiap tim sepakbola memiliki 11 pemain yang terdiri dari 1 kiper dan 10 pemain. Tujuan dari permainan sepakbola adalah untuk memasukkan bola ke gawang lawan. Tim yang menang adalah tim yang paling banyak mencetak gol. Berikut ini peran setiap posisi pemain [11]:

1. Kiper : hanya kiper yang diperbolehkan menggunakan tangannya, selama masih dalam area 18 x 44 yard yang disebut area penalty. Jika seorang penjaga gawang memegang bola diluar kotak dia akan mendapatkan kartu dan tim penyerang diberikan tendangan bebas dari tempat itu.

2. Pemain belakang : mereka bermain didepan kipper dan tugas utama mereka adalah untuk menghentikan serangan lawan. Tugas mereka dan tanggung jawab mereka dapat bervariasi dari jangkauan zona pertahanan mereka dimana mereka membela daerah tertentu. Pemain sayap belakang yang ada dikiri dan kanan, umumnya jarang bergerak dari sisi mereka di lapangan, dan pemain belakang tengah bermain ditengan lapangan dan biasanya menjaga terhadap pencetak gol atau penyerang tengah.

3. Pemian tengah : para pemain ini adalah penghubung antara pertahanan dan penyerangan. Gelandang harus memiliki fisik yang baik karena diharapkan untuk menjalankan sebagian besar permainan. Mereka harus mampu menembus jauh di dalam wilayah musuh untuk menyerang dan membuat transisi ke pertahanan ketika lawan berhasil mengambil bola. Gelandang bisa mengkhususkan diri sebagai pemain gelandang menyerang atau bertahan.

(27)

dari atas ke bawah pada sisi lapangan. Mereka dapat membawa bola ke area penalty untuk menembak atau tetap di sisi dan mencoba untuk mengoper kepada temannya di daerah tersebut. Penyerang tengah bermain di tengah lapangan, tapi mereka dibolehkan berkeliling jika ada ruang terbuka disana, penyerang tengah juga dikenal sebagai strike, harus menjadi pemimpin tim dalam mencetak gold an menjadi pemain paling berbahaya yang berada didepan.

2.7 Object Oriented

Pendekatan berorientasi objek adalah cara memandang persoalan menggunakan model – model yang diorganisasikan seputar konsep objek yang mengkombinasikan struktur data dan perilaku suatu entitas [12]. Pada pendekatan ini, organisasi perangkat lunak adalah sebagai kumpulan objek diskrit yang saling bekerja sama, berkomunikasi dan berinteraksi menuju sasaran tertentu. Pendekatan berorientasi objek mempunyai tiga karakteristik utama, yaitu :

1. Encaptulation

Encaptulation (pengkapsulan) merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Data dan prosedur atau fungsi dikemas bersama – sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek itu sendiri.

2. Inheritance

(28)

dimiliki bersama diantara kelas yang mempunyai hubungan secara hirarki. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan secara spesifik mejadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.

3. Polymorphism

Polymorphism (polimorfisme) yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Suatu implementasi yang spesifik dari suatu operasi dari kelas tertentu disebut metoda, karena operator berorientasi objek adalah bersifat polimorfisme, mungkin dapat mempunyai lebih dari satu metoda.

2.8 UML

UML (Unified Modeling Language) adalah bahasa grafis untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi. Ada beberapa diagram yang disediakan dalam UML antara lain [12]:

1. Use case diagram

(29)

Gambar 2.6 Contoh Use Case Diagram

2. Activity diagram

Diagram ini untuk menunjukkan aliran aktifitas di sistem. Diagram ini adalah pandangan dinamis terhadap sistem. Diagram ini penting untuk memodelkan fungsi sistem dan menekankan pada aliran kendali diantara objek – objek. Berikut ini adalah contoh activity diagram.

(30)

3. Sequence diagram

Diagram ini menunjukkan interaksi yang terjadi antar objek. Diagram ini merupakan pandangan dinamis terhadap sistem. Diagram ini menekankan pada basis keberurutan waktu dari pesan – pesan yang terjadi. Berikut ini adalah contoh dari sequence diagram.

Gambar 2.8 Contoh Sequence Diagram

4. Class diagram

Diagram ini menunjukkan sekumpulan kelas, interface dan kolaborasi keterhubugannnya. Diagram kelas ditunjukkan untuk pandangan statik terhadap sistem. Berikut ini adalah contoh dari class diagram.

(31)

5. Statechart diagram

Diagram ini adalah state machine diagram, berisi state, transisi, kejadian dan aktifitas. Statechart merupakan pandangan dinamis dari sistem. Diagram ini penting dalam memodelkan perilaku antarmuka, kelas, kolaborasi dan menekankan pada urutan kejadian. Penting untuk sistem reaktif yang dipicu di dunia nyata. Berikut ini adalah contoh dari statechart diagram.

Gambar 2.10 Contoh Statechart Diagram

6. Deployment diagram

Diagram ini menunjukkan konfigurasi pemrosesan saat jalan dan komponen – komponen yang terdapat didalamnya. Diagram ini merupakan pandangan statik dari arsitektur. Berikut ini adalah contoh dari deployment diagram.

(32)

2.9C++

Bahasa C++ diciptakan oleh Bjarne Stroudtrup di AT & T Bell laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut dengan nama C with Class. Selama tahun 1983-1984, bahasa C dengan kelas disempurnakan dengan menambahkan fasilitas operator dan fungsi yang kemudian melahirkan apa yang disebut C++. Simbol ++ merupakan operator C untuk operasi penaikan, simbol itu muncul untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.

2.10 Linux Ubuntu

Ubuntu adalah salah satu distribusi linux yang berbasiskan pada Debian dan memiliki interface desktop. Nama ubuntu diambil dari nama sebuah konsep ideology di Afrika Selatan. Ubuntu berasal dari bahasa kuno afrika yang berarti

“rasa perikemanusiaan terhadap sesama manusia” [13]. Ubuntu sendiri bersifat open source, dan siap untuk dipergunakan dalam kondisi yang stabil. Ubuntu didukung oleh perusahaan bernama Canonical, Ltd yang memiliki tujuan untuk membantu perkembangan, distribusi, dan promosi dari produk-produk yang bersifat open source.

(33)
(34)

67

client yang dikembangkan dan aplikasi yang dibangun untuk menguji algoritma yang diterapkan pada soccer client, yaitu soccer client Uva Trilearn dan aplikasi yang digunakan untuk menguji algoritma yaitu ABsoccer. Hasil perancangan pada tahap sebelumnya kemudian diimplementasikan kedalam bahasa pemograman. Setelah tahap implementasi selesai, maka dilakukan tahap pengujian terhadap soccer client yang dikembangkan dan aplikasi pengujian algoritma.

4.1Implementasi

Tahap implementasi merupakan tahap penciptaan perangkat lunak dan juga tahap kelanjutan dari kegiatan perancangan aplikasi yang dibangun maupun di kembangkan. Tahap ini dimana aplikasi siap untuk dioperasikan, yang terdiri dari penjelasan mengenai lingkungan implementasi, baik itu lingkungan perangkat keras, maupun lingkungan perangkat lunak.

4.1.1 Implementasi Perangkat Keras

Perangkat keras yang digunakan untuk menjalankan simulator RoboCup Soccer dengan spesifikasi sebagai berikut:

1. Processor AMD A8-6410 APU 2.0 Ghz

2. RAM 4 GB

3. VGA 4 GB

4. Harddisk 500 GB 5. Monitor

6. Mouse dan Keyboard

4.1.2 Sistem Operasi dan File Library

(35)

Windows. Saat ini sudah tersedia beberapa versi Soccer Server, Soccer Monitor dan Log Player untuk sistem operasi Windows. Pada penelitian ini penulis menggunakan sistem operasi Linux Ubuntu versi 12.0.4. Dengan alasan Linux Ubuntu dapat dengan mudah digunakan dan juga untuk kebutuhan Library RoboCup Soccer Simulator dapat dengan mudah diinstall-kan. Setelah linux Ubuntu terinstall, senjautnya adalah menginstall-kan

library-library yang diperlukan untuk menjalankan RoboCup Soccer

Simulator, diantaranya adalah :

1. Build-essential

Untuk menginstall-kan library tersebut dibutuhkan koneksi internet. Setelah terhubung dengan internet, buka Terminal, ketikkan perintah sudo apt-get install build-essential untuk menginstall library build-essential. Perintah yang sama juga dilakukan untuk menginstallkan library-library yang lainnya. Setelah semua library terinstall, selanjutnya adalah menginstall RoboCup Soccer Simulator. Sedangkan untuk aplikasi pengujian dibagun pada system operasi windows dengan menggunakan tools visual studio.

4.1.3 Instalasi RoboCup Soccer Simulator

(36)

RoboCup Soccer Simulator yang digunakan adalah rcssserver versi 15.0.1, rcssmonitor versi 15.0.0, dan rcsslogplayer versi 15.0.0. file-file tersebut dapat di download dari website http://sourceforge.net/projects/sserver/. Setelah file komponen RoboCup Soccer Simulator di download, selanjutnya adalah menginstalkan file-file tersebut melalui terminal. Berikut adalah perintah untuk menginstalkan-nya :

1. Instalasi rcssserver:

Pertama ekstrak terlebih dahulu file rcssserver, kemudian buka terminal dan arahkan ke folder rcssserver untuk perintah instalasinya seperti berikut ini :

$ cd ~/rcssserver-15.0.1

$ ./configure

$ make

$ sudo make install

2. Instalasi rcssmonitor:

Pertama ekstrak terlebih dahulu file rcssmonitor, kemudian buka terminal dan arahkan ke folder rcssmonitor untuk perintah instalasinya seperti berikut ini :

$ cd ~/rcssmonitor-15.0.0

$ ./configure

$ make

$ sudo make install

3. Instalasi soccerwindow:

Pertama ekstrak terlebih dahulu file soccerwindow, kemudian buka terminal dan arahkan ke folder soccerwindow untuk perintah instalasinya seperti berikut ini :

$ cd ~/soccerwindow2-4.1.1

$ ./configure

$ make

(37)

4. Instalasi rcsslogplayer:

Pertama ekstrak terlebih dahulu file rcsslogplayer, kemudian buka terminal dan arahkan ke folder rcsslogplayer untuk perintah instalasinya seperti berikut ini :

$ cd ~/rcsslogplayer-15.0.0

$ ./configure

$ make

$ sudo make install

Setelah instalasi komponen-komponen yang dibutuhkan untuk menjalankan soccer simulator sudah selesai, untuk menjalankan soccer server, soccer monitor atau soccerwindow dengan mengetikkan perintah: $rcssserver, $soccerwindow, $rcssmonitor pada terminal. Untuk lebih jelasnya dapat dilihat pada gambar 4.1 yang menunjukkan soccer server yang sedang berjalan, gambar 4.2 menunjukkan soccer monitor yang sedang berjalan, gambar 4.3 menunjukkan soccer monitor terhubung dengan soccer server.

(38)

Gambar 4.2 Menjalankan Soccer Monitor

Gambar 4.3 Soccer Monitor dan Soccer Server terhubung

4.1.4 Simulasi Pertandingan

(39)

dan arahkan ke folder tempat penyimpanan source code atau binary tim yang akan digunakan untuk simulasi pertandingan. Ketikkan perintah ./start.sh

(40)

Gambar 4.4 Tampilan simulasi pertandingan di Soccerwindow

4.1.5 Implementasi Antarmuka

Implementasi antarmuka pada aplikasi pengujian algoritma Alpha Beta Pruning adalah sebagai berikut:

1. Tampilan Awal.

(41)

Gambar 4.5 Tampilan Awal Aplikasi

2. Tampilan agent beserta bola

Antarmuka tampilan agent dan bola merupakan tampilan antarmuka setelah pemain menekan tombol create dan player. Tampilan agent dan bola dapat dilihat pada gambar 4.6.

Gambar 4.6 Tampilan Agent dan bola

4.1Pengujian dan Evaluasi

(42)

algoritma yang diterapkan bertujuan untuk melakukan pencarian terhadap posisi Teammate untuk diberikan bola atau passing bola terhadap posisi Teammate tersebut.

4.2.1 Pengujian Aplikasi

Pada tahap ini, pegujian dilakukan terhadap fungsionalitas pada aplikasi yang dibangun yaitu ABsoccer. Apakah sudah sesuai dengan kebutuhan yang di inginkan.

4.2.1.1 Skenario Pengujian Aplikasi

Skenario pengujian menjelaskan pengujian terhadap sistem yang ada pada aplikasi pengujian algoritma yaitu ABsoccer. Skenario pengujian dari aplikasi dapat dilihat pada tabel 4.1.

Tabel 4.1 Skenario pengujian Aplikasi

No Komponen yang diuji Skenario pengujian Jenis pengujian

1 Create lapangan Membuat lapangan Black Box

2 Create player Membuat player Black Box

3 Kick Menendang bola Black Box

4 Reset Mengembalikan ke posisi

awal

Black Box

5 ABpuring Mencari nilai terbesar White Box

4.2.1.2 Kasus dan Pengujian

(43)

1. Pengujian Create lapangan

Pengujian Create lapangan dengan kasus dan hasil uji, kemudian diamati dan menghasilkan kesimpulan dapat dilihat pada tabel 4.2.

Tabel 4.2 Pengujian create lapangan

Kasus dan Hasil Uji

Masukan Keluaran yang

diharapkan Pengamatan Kesimpulan

Pemain membuat lapangan

Lapangan tercipta Player dapat membuat lapangan

[√ ] Diterima

[ ] Ditolak

2. Pengujian Player

Pengujian Create Player dengan kasus dan hasil uji, kemudian diamati dan menghasilkan kesimpulan dapat dilihat pada tabel 4.3.

Tabel 4.3 Pengujian Create Player

Kasus dan Hasil Uji

Masukan Keluaran yang

diharapkan Pengamatan Kesimpulan

Pemain membuat agent

agent tercipta Pemain dapat

membuat agent

[√ ] Diterima

[ ] Ditolak

3. Pengujian Kick

(44)

Tabel 4.4 Pengujian Kick

Kasus dan Hasil Uji

Masukan Keluaran yang

diharapkan Pengamatan Kesimpulan

Pemain memulai kemudian diamati dan menghasilkan kesimpulan dapat dilihat pada tabel 4.5.

Tabel 4.5 Pengujian reset

Kasus dan Hasil Uji

Masukan Keluaran yang

diharapkan Pengamatan Kesimpulan

Pemain

4.2.1.3 Kasus dan Pengujian (White box)

Dibawah ini merupakan kasus Alpha Beta Pruning untuk menguji perangkat lunak yang sudah dibangun menggunakan metode white box, berdasarkan skenario pengujian aplikasi yang sudah dijabarkan.

1. Mencari nilai terbesar.

(45)

1 : while(first != NULL) 2 : if(first->value > max)

3 : max = first->value;

4 : best_cost = first->player;

5 : alpha = max;

6 : if(beta > alpha)

7 : return best_cost;

8 : endif

9 : first = first->next; 10 : endwhile

(46)

1

2

3

4

5

6

8

10 7

9

Gambar 4.7 Flowchart prosedur ABmax

(47)

1

2

3,4,5

6

7

8

9

10

Gambar 4.8 Flowgraph ABmax

(48)

1

2

3

4

5

6

7

8

Gambar 4.9 Penyederhanaan Flowgraph ABmax

Jumlah dari cyclomatic complexity atau V(G) dari flowgraph pada gambar 4.9 adalah sebagai berikut : Edge = 9 , Node = 8

V(G) = Edge Node + 2 V(G) = 9 – 8 + 2

(49)

Dari gambar 4.9 didapat independent path sebagai berikut :

Path 1 = 1,2,3,4,5,6,7,8 Path 2 = 1,2,3,4,6,7,8 Path 3= 1,2,6,7,8

Dengan menggunakan rumus predicate node didapatkan hasil sebagai berikut:

V(G) = jumlah node yang memiliki lebih dari 1 jalur + 1

V(G) = 2 + 1 V(G) = 3

Graph Matriks pengujian dapat dilihat pada table 4.6

Tabel 4.6 Graph Matriks Prosedur ABmax

1 2 3 4 5 6 7 8 9 10 11 12 n(E)-1

1 1 1-1=0

2 1 1 2-1=1

3 1 1-1=0

4 1 1 2-1=1

5 1 1-1=0

6 1 1-1=0

7 1 1-1=0

(50)

Hasil = 2

V(G)= jumlah Graph Matriks + 1 V(G)= 2+1

V(G) = 3

Kesimpulan yang didapat berdasarkan hasil pengujian dihasilkan Cyclomatic Complexity yang sama yaitu 3, maka dapat disimpulkan bahwa pada prosedur ABmax berjalan dengan baik, karena setiap pengujian menghasilkan nilai yang sama.

4.2.2 Skenario I ( UvA Riko VS UvA Trilearn)

Adapun skenario yang dilakukan adalah dengan melakukan simulasi pertandingan antara tim UvA Riko dengan tim UvA Trilearn. Dimana tim UvA Riko adalah tim yang dikembangkan dengan menggunakan algoritma Alpha Beta Pruning. Dimana simulasi pertandingan akan dilakukan sebanyak 5 kali dengan sistem kandang dan tandang, pertandingan tandang adalah tim berada disebelah kiri sedangkan untuk tandang tim berada di sebelah kanan. Satu pertandingan membutuhkan waktu 2 x 3000 time cycle. Time cycle merupakan waktu pada simulator Robocup Soccer, sedangkan dalam waktu nyata satu pertandingan adalah 10 menit.

4.2.2.1Hasil Percobaan Skenario I

Tabel 4.8 Hasil pertandingan kandang UvA riko VS UvA Trilearn

Tim Gol pada setiap pertandingan

1 2 3 4 5

UvA Riko 3 2 5 2 5

(51)

Tabel 4.9 Statistik pertandingan kandang

Tabel 4.10 Hasil pertandingan tandang UvA Riko VS UvA Trilearn

Tim Gol pada setiap pertandingan

1 2 3 4 5

UvA Trilearn 0 1 2 1 1

UvA Riko 2 2 2 5 2

Tabel 4.11 Statistik pertandingan tandang

(52)

Keterangan : M = Menang, S = Seri, K = Kalah

Berdasarkan table 4.12 dapat dilihat bahwa tim UvA riko yang dikembangkan dari 10 pertandingan memenangkan 7 pertandingan dan 3 kali seri dan tidak pernah kalah dari UvA trilearn. UvA riko mencetak 30 gol dari 10 pertandingan dan kemasukan 14 gol, sedangkan UvA Trilearn mencetak 14 gol dan kemasukan 30 gol. Dari hasil tersebut tim yang dikembangkan sudah bisa dikatakan lebih baik dibandingkan dengan UvA Trilean yang dijadikan Base Code. Untuk gambar pertandingannya dapat dilihat pada lampiran A. Berikut ini merupakan grafik pertandingan Uva riko vs Uva base dapat dilihat pada gambar 4.10.

Gambar 4.10 Statistik Uva Riko VS Uva Base

(53)

adalah agent penerima dengan radius 5 grid koordinat. Sedangkan passing yang gagal sebanyak 34 kali, dimana kategori gagal adalah setelah bola di tendang oleh agent pertama bola berhasil dipotong oleh agent lawan.dengan demikian passing bola yang sukses dilakukan adalah sebesar 71.43% dan passing bola yang gagal adalah 28.57%. berikut ini adalah statistik passing bola yang dilakukan agent Uva riko dapat dilihat pada gambar 4.11.

Gambar 4.11 Statistik Passing Bola UvA Riko

4.2.3 Skenario II(UvA Riko VS WEBASE)

Adapun skenario yang dilakukan adalah dengan melakukan simulasi pertandingan antara tim UvA Riko dengan tim WEBase. Dimana simulasi pertandingan akan dilakukan sebanyak 5 kali dengan sistem kandang dan tandang, pertandingan tandang adalah tim berada disebelah kiri sedangkan untuk tandang tim berada di sebelah kanan. Satu pertandingan membutuhkan waktu 2 x 3000 time cycle. Time cycle merupakan waktu pada simulator Robocup Soccer, sedangkan dalam waktu nyata satu pertandingan adalah 10 menit.

Passing Bola UvA Riko

Passing Sukses

(54)

4.2.3.1 Hasil Percobaan Skenario II

Tabel 4.13 Hasil Pertandingan Kandang UvA Riko VS WEBase

Tim Gol pada setiap pertandingan

1 2 3 4 5

UvA Riko 5 5 5 6 3

WEBase 0 0 1 1 0

Tabel 4.14 Statistik Pertandingan Kandang

Tim Jumlah

Tabel 4.15 Hasil Pertandingan tandang UvA Riko VS WEBase

Tim Gol pada setiap pertandingan

1 2 3 4 5

WEBase 2 3 3 1 1

UvA Riko 1 8 5 4 1

Tabel 4.16 Statistik Pertandingan tandang

(55)

4.2.3.2 Analisa Skenario II dari 10 pertandingan memenangkan 8 pertandingan dan 1 kali seri dan 1 kali kalah. UvA riko mencetak 43 gol dari 10 pertandingan dan kemasukan 12 gol, sedangkan WEBase mencetak 12 gol dan kemasukan 43 gol. Untuk gambar pertandingannya dapat dilihat di lampiran A. Berikut ini merupakan grafik pertandingan Uva riko vs WEBase dapat dilihat pada gambar 4.12.

Gambar 4.13 Statistik Uva riko vs WEBase

(56)

4.2.4 Pengujian Alpha Beta Pruning

Pengujian dilakukan dengan membuat sebuah skenario dimana agent di tempatkan dalam sebuah posisi, dimana penempatan tersebut bertujuan untuk melihat apakah algoritma yang digunakan memilih posisi agent yang memiliki nilai paling tinggi diantara agent lainnya. Nilai-nilai untuk setiap posisi agent telah di hitung terlebih dahulu, sehingga terdapat beberapa tabel seperti tabel jarak bola, tabel jarak gawang lawan, tabel jarak musuh dan tabel nilai area. Untuk lebih jelasnya skenario posisi agent dapat dilihat pada gambar 4.14.

Gambar 4.14 Skenario posisi agent

1. Tabel jarak bola

Tabel 4.18 Nilai 1

P1 P2 P3 P4 P5 P7 P8 P9 P10 P11

(57)

2. Tabel jarak gawang lawan

Tabel 4.19 Nilai 2

P1 P2 P3 P4 P5 P7 P8 P9 P10 P11

-1 -1 -1 -1 -1 1 -1 1 1 1

3. Tabel jarak musuh

Tabel 4.20 Nilai 3

P1 P2 P3 P4 P5 P7 P8 P9 P10 P11

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1

4. Tabel nilai area

Tabel 4.21 Nillai 4

P1 P2 P3 P4 P5 P7 P8 P9 P10 P11

-2 1 1 -2 -2 4 2 5 3 6

5. Total nilai

Tabel 4.22 Total

P1 P2 P3 P4 P5 P7 P8 P9 P10 P11

-5 0 -2 -5 -5 3 1 4 4 5

(58)

Gambar 4.15 Agent nomor 6 menuju bola

Berikut ini dapat dilihat agent 6 menendang bola ke arah agent 11. Untuk lebih jelasnya dapat dilihat pada gambar 4.16.

Gambar 4.16 Bola menuju agent 11

(59)

Gambar 4.17 Bola menuju agent 11 lanjutan

Berikut ini merupakan pergerakan bola menuju posisi agent 11. Untuk lebih jelasnya dapat dilihat pada gambar 4.18.

Gambar 4.18 Bola Menuju Agent 11 lanjutan

(60)

Gambar 4.19 Bola Menuju Agent 11 Lanjutan

Berikut ini merupakan pergerakan bola menuju posisi agent 11. Untuk lebih jelasnya dapat dilihat pada gambar 4.20.

(61)
(62)

95

Berdasarkan hasil dari pengujian dan implementasi Alpha beta Pruning pada soccer client Uva Trilearn, maka dapat diambil kesimpulan sebagai berikut :

1. Tim yang dikembangkan sudah mampu melakukan passing terhadap posisi teammate, dibandingkan Base code yang hanya melakukan tendangan kearah gawang lawan.

2. Dari 10 kali percobaan tim yang di kembangkan memenangkan sebanyak 7 pertandingan melawan tim base code dengan jumlah gol 30 dan jumlah gol tim base code 14. Dan akurasi passing yang dilakukan oleh agent UvA Riko, untuk umpan bola yang berhasil 71,42% dari 119 kali umpan bola dan umpan bola yang gagal adalah 28,57% dari 119 kali umpan bola.

5.2Saran

Saran-saran yang dapat ditemukan agar menjadi bahan masukan dan pertimbangan adalah sebagai berikut :

1. Pengembangan terhadap soccer client Uva Trilearn dengan algoritma

Alpha Beta pruning untuk menambahkan menghitung waktu tempuh bola

ketujuan, supaya bola tidak bisa di intercept.

(63)
(64)

Nama Lengkap : Riko Marta Putra

NIM : 10110133

Tempat/Tanggal Lahir : Padang, 17 MEI 1991

Jenis Kelamin : Laki-Laki

Agama : Islam

Alamat Lengkap : Jalan Semarang No 70 Antapani Bandung

Nomor Telepon : 081220844095

Pendidikan Formal

1997-2003 : SD Negeri Taratak XII Atar

2003-2006 : SMP Negeri 2 Padang Ganting

2006-2008 : SMK Negeri 1 Lintau Buo

2010-2016 : Program Strata 1 (S1) Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

(65)
(66)
(67)

Gambar

Gambar 2.8 Contoh Sequence Diagram
gambar 4.3 menunjukkan soccer monitor terhubung dengan soccer server.
Gambar 4.3 Soccer Monitor dan Soccer  Server terhubung
Gambar 4.4 Tampilan simulasi pertandingan di Soccerwindow
+7

Referensi

Dokumen terkait