Penerapan Metode N-Gram untuk Non Player Character Prediksi Formasi agar Menggunakan Formasi Bertahan yang Tepat pada Game Futsal

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RIKY ADAM PRATAMA JUHENDI

10109632

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

(3)

(4)

Nama : Riky Adam Pratama Juhendi Tempat, Tanggal Lahir : Bandung, 2 September 1991

Jenis kelamin : Laki-Laki

Agama : Islam

Kewarganegaraan : Indonesia

Alamat : Jl. Raweuy Desa Sukasirna Rt 001/001 Kecamatan

Jonggol Kabupaten Bogor – Jawa Barat 16830

No. Telp : +628999545569

E-mail : [email protected]

2. RIWAYAT PENDIDIKAN 1996 – 1997

1997 – 2003

:

:

Taman Kanak-kanak Rakhmatul Arifin Wassaidin Landasan Ulin Banjarbaru Kalimantan Selatan Sekolah Dasar Negeri 2 Jonggol

2003 – 2006 : Sekolah Menengah Pertama Negeri 1 Jonggol 2006 – 2009 : Sekolah Menengah Atas Negeri 1 Jonggol

2009 – 2014 : Fakultas Teknik dan Ilmu Komputer Jurusan Teknik Informatika Universitas Komputer Indonesia Bandung

Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

Bandung, 18 Agustus 2014


(5)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xv

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 3

1.5.1 Metode pengumpulan data ... 3

1.5.2 Metode Pengembangan Perangkat Lunak ... 3

1.6 Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI ... 7

1.1 Artificial Intelligence ... 7

2.1.1 Algoritma ... 8

2.1.2 Action Prediction ... 8

2.1.3 N-gram ... 9


(6)

vi

2.4 Object Oriented Analysis and Design (OOAD) ... 15

2.4.1 Konsep-konsep OOAD ... 16

2.4.2 OOP (Object Oriented Programming) ... 19

2.5 UML (Unified Modeling Language) ... 22

2.6 Tools Yang Digunakan Untuk Pembuatan Game ... 25

2.6.1 ActionScript ... 25

2.6.1 Adobe Flash ... 25

2.7 Metode Pengujian Sistem ... 27

2.7.1 Pengujian Whitebox ... 27

2.7.2 Pengujian Blackbox ... 27

BAB 3 ANALISIS DAN PERANCANGAN ... 31

3.1 Analisis Masalah ... 31

3.2 Analisis Game ... 31

3.3 Analisis Masukan ... 32

3.4 Analisis Metode ... 34

3.4.1 Analisis Struktur Data ... 35

3.4.2 Metode N-gram ... 36

3.4.3 Study kasus ... 36

3.5 Analisis Kebutuhan Non-Fungsional ... 38

3.5.1 Analisis Kebutuhan Perangkat Lunak ... 38

3.5.2 Analisis Kebutuhan Perangkat Keras ... 38


(7)

vii

3.6.2 Use Case Sekenario ... 42

3.6.3 Activity Diagram ... 44

3.6.4 Class Diagram ... 49

3.6.5 Sequence Diagram ... 49

3.7 Perancangan Sistem ... 53

3.7.1 Perancangan antarmuka ... 53

3.7.2 Perancangan Method ... 55

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 57

4.1 Implementasi ... 57

4.1.1 Implementasi Perangkat Keras ... 57

4.1.2 Implementasi Perangkat Lunak ... 57

4.1.3 Implementasi Antarmuka ... 57

4.2 Pengujian Sistem ... 59

4.2.1 Skenario Pengujian ... 59

4.2.2 Pengujian Blackbox ... 60

4.2.3 Pengujian Whitebox ... 60

4.2.4 Pengujian Metode ... 66

BAB 5 KESIMPULAN DAN SARAN ... 71

5.1 Kesimpulan ... 71

5.2 Saran ... 71


(8)

(9)

74 [2] [3] [4] [5] [6] [7] [8] [9]

Impelementasi Metode N-Gram Pada pembuatan Game Fighting

Madura Berbasis os Mobile”, Program Study Teknik Informatika, Universitas trunojoyo. Madura

Tersedia : http://pta.trunojoyo.ac.id/welcome/detail/080411100078 Di akses tanggal 20 Maret 2014

Memet Muhamad, Drs., MPd.” Pengaruh permainan Futsal terhadap motor ability di SDIT bani saleh di Kota Bekasi “.Dosen Program Studi PENJASKESREK FKIP-UNISMA.Bekasi

Tersedia:http://www.ejournalunisma.net/ojs/index.php/motion/article/vie w/357

Di akses tanggal 20 Maret 2014

Sugiyono, (2009), Metode Penelitian Kuantitatif Kualitatif dan R&D, Alfabeta, Bandung.

Rosa A.S, M. Shalahudin. (2011), Modul Pembelajaran (rekayasa perangkat lunak), Modula, Bandung.

Murhananto (2008), Dasar-dasar Permainan Futsal. Kawan Pustaka, Jakarta

John D. Tenang (2008), Mahir Bermain Futsal, Dar Mizan, Jakarta.

Nilwan, (1996), Pemrograman Animasi dan Game Profesional, Elek Media Komputindo, Jakarta.

Russel, Stuart dan Peter Norvig, (1995), Artificial Intelligence A Modern Approach Second Edition, Pearson Education, Inc., New Jersey.

Ian Milington And John Funge (2009). Artificial Intellegence For Games.

Morgan Kaufmann Publishers is an imprint of Elsevier. 30 Corporate Drive, Suite 400, Burlington, MA 01803, USA

[10] O’Docherty, M (2005), Object-Oriented Analysis and Design: Understanding System Development with UML 2.0, John Wiley & Sons. [11] Shalahuddin, M dan Rosa A. S (2011). Rekayasa Perangkat Lunak


(10)

Informatika, Bandung.

[13] Colin Moock. (2007). Essential ActionScript 3.0, First Edition ed. Sebastopol, CA: O'Reilly Media, Inc.

[14]

[15]

Wahana Komputer. (2012).Beragam Desain Game Edukasi dengan Adobe Flash CS5.Yogyakarta : Andi Offset.

Pressman, Roger w. (2012), Software Engineering A : Practitioner’s Approach, 7th Edition, McGraw Hill Higer Education


(11)

iii

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat serta hidayah-Nya sehingga penulis dapat menyelesaikan

penulisan skripsi dengan judul “PENERAPAN METODE N-GRAM UNTUK

NON PLAYER CHARACTER PREDIKSI FORMASI AGAR

MENGGUNAKAN FORMASI BERTAHAN YANG TEPAT PADA GAME FUTSAL” sebagai salah satu syarat kelulusan pada Program Strata 1 Jurusan Teknik Informatika Fakultas Ilmu dan Teknik Komputer di Universitas Komputer Indonesia.

Dengan selesainya penyusunan laporan tugas akhir ini penulis banyak memperoleh dukungan, masukan dan bimbingan yang sangat bermanfaat dari berbagai pihak selama penulisan laporan tugas akhir ini, oleh karena itu penulis mengucapkan terima kasih kepada :

1. Allah SWT atas rahmat, berkah dan izin-Nya saya bisa menyelesaikan penulisan skripsi ini.

2. Bunda dan ayah sebagai orangtua serta keluarga besar yang telah memberikan dukungan baik secara moril maupun materil dan doa yang tiada hentinya sehingga penulis bisa bertahan dan berpijak hingga saat ini.

3. Bapak Galih Hermawan, S.Kom., M.T. selaku pembimbing, yang telah membimbing penulis dalam menyelesaikan tugas akhir.

4. Ibu Tati Harihayati M., S.T., M.T. selaku reviewer yang telah banyak memberikan masukan dan arahan.

5. Ibu Utami Dewi W, S.kom. selaku dosen wali IF-14 2009 selama penulis menempuh pendidikan di UNIKOM

6. Adinda Chintya putri, Sofyan Septya, Ryan Ardian, Muhammad Nur Iman, Hersaf aldi, zuhri dan ibu kost yang selalu ada di samping memberikan dukungan


(12)

iv

bandung yang selalu memberi semangat dan dukungan saya dalam mengerjakan skripsi ini.

8. Untuk teman-teman IF-14 2009 seperjuangan dan semua pihak yang membantu dalam menyelesaikan tugas akhir ini yang tidak dapat penulis sebutkan satu per satu, terima kasih banyak atas semua dukungan dan bantuannya hingga skripsi ini dapat terselesaikan dengan baik.

Penulis sangat menyadari dalam penulisan skripsi ini masih banyak terdapat kekurangan. Penulis juga berharap agar skripsi ini dapat bermanfaat bagi semua pihak khusunya bagi penulis dan umumnya bagi pembaca.

Bandung, Agustus 2014


(13)

1

Dengan penerapan AI (artificial intelligence) yang baik pada sebuah game

adalah ketika sebuah karakter didalam permainan menunjukan perilaku yang konsisten dan realistis, bereaksi dengan tepat kepada tindakan pemain dan karakter lain seperti halnya manusia. Penelitian ini menggunakan N-gram, N-gram dalam game adalah kecerdasan buatan untuk NPC (Non player character) yang digunakan untuk memprediksi perilaku player pada game sehingga dapat memperoleh keputusan yang akan dilakukan dengan parameter yaitu windows size, memory concerns dan sequence length.

Penelitian game sejenis yang sudah ada dengan menggunakan metode N-gram yaitu game fighting madura, game ini memprediksi gerakan palyer dengan 6 gerakan yaitu menendang, memukul, bertahan, berjalan mundur ,berjalan maju dan menunduk [1]. N-gram dalam penelitian ini akan diterapkan pada permainan futsal yaitu pada formasi NPC nya karena formation atau yang lebih dikenal dengan formasi permainan futsal merupakan salah satu strategi yang jitu diterapkan oleh setiap pelatih, secara teknis pola permainan atau formasi futsal dalam sebuah tim dapat berubah-ubah dalam hitungan detik, mengikuti transisi dari bertahan, menyerang atau sebaliknya, pemain tidak boleh terpaku pada satu posisi formasi atau statis dalam formasi futsal agar terhindar dari pemain atau musuh yang dapat memprediksi gerakan [2]. Bagaimana NPC (Non player character) agar tidak terpaku pada satu formasi futsal dalam penelitian ini dan NPC (Non player character) dapat memprediksi gerakan atau formasi player dengan lebih dari satu gerakan atau formasi, maka penerapan metode N-gram pada penelitian ini agar pergerakan NPC (Non player character) mempunyai perilaku yang tepat dari hasil pergerakan atau formasi futsal player yaitu serang 1, serang 2 dan serang 3, dengan beberapa formasi futsal digunakan oleh player maka NPC (Non player character) akan memprediksi dari semua gerakan player


(14)

formasi bertahan mana yang akan digunakan oleh NPC (Non player character)

agar menentukan perilaku yang tepat walaupun player formasinya akan berubah-ubah tetapi NPC (Non player character) tetap memprediksi formasi player.

Berdasarkan latar belakang ini maka diusulkan dalam sebuah penelitian untuk membuat sebuah game menggunakan metode N-gram dengan berjudul Penerapan metode N-gram untuk non player character prediksi formasi agar menggunakan formasi bertahan yang tepat pada game futsal, penelitian ini menerapkan metode N-gram sebagai artificial intelligence.

.

1.2Perumusan Masalah

Berdasarkan uraian latar belakang yang telah dijabarkan sebelumnya, didapat permasalahan inti yaitu bagaimana memberikan kemampuan terhadap NPC dapat memprediksi formasi lebih dari satu prediksi agar NPC menggunakan formasi bertahan yang tepat dengan metode N-gram.

1.3Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penelitian tugas akhir adalah Menerapkan metode N-gram untuk formasi pada game futsal

Tujuan dari penelitian tugas akhir ini adalah agar NPC dapat memprediksi formasi player sehingga NPC dapat menggunakan formasi bertahan yang tepat .

1.4Batasan Masalah

Batasan masalah dalam membangun Game futsal ini, adalah sebagai berikut :

1. Terdapat 3 macam formasi menyerang dan 3 macam formasi bertahan yaitu : serang1, serang2, serang3, bertahan1, bertahan2 dan bertahan3 2. Metode yang digunakan adalah menggunakan metode N-gram dengan

parameter yaitu windows size, memory concerns dan sequence lenght

3. Tools yang digunakan untuk membangun game ini menggunakan bahasa pemrograman ActionScript 3.0 dengan software pembangun Adobe Flash.


(15)

1.5Metodologi Penelitian

Metode penelitian yang digunakan adalah metode deskriptif. Metode deskriptif merupakan metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian sekarang secara sistematis, faktual dan akurat [3].Pengumpulan data dan pengembangan perangkat lunak dalam penelitian ini menggunakan dua metode, yaitu metode pengumpulan data dan metode pembangunan perangkat lunak.

1.5.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, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian. Khususnya tentang game, Futsal dan kecerdasan buatan N-Gram untuk game.

a. Observasi

Pengumpulan data dengan penelitian dan peninjauan langsung terhadap metode, game sejenis yang sudah ada dan review-review yang sudah dilakukan oleh situs review game [3].

1.5.2 Metode Pengembangan Perangkat Lunak

Metode pengembangan perangkat lunak ilustrasi model waterfall. Model ilustrasi waterfall adalah model sistematik untuk pembangunan perangkat lunak yang mempunyai tahapan-tahapan dalam proses pembangunan perangkat lunaknya mulai dari proses analisis, design, code, sampai proses testing [4]. Gambar 1.1 merupakan gambar model ilustrasi waterfall.

1. Tahap analisis

Tahap analisis mulai mencari fungsionalitas-fungsionalitas yang dibutuhkan untuk membangun game yang dalam hal ini meliputi analisis metode N-gram, analisis masalah, analisis masukan serta analisis kebutuhan fungsional dan nonfungsional.


(16)

Pada tahap ini melakukan perancangan dari game futsal yang dibuat meliputi perancangan antarmuka, perancangan sistem, serta mendesain.

3. Tahap code

Tahap code yaitu mulai mengeksekusi perancangan-perancangan yang dilakukan sebelumnya ke dalam bahasa pemrograman actionscript.

4. Tahap testing

Tahap testing bertujuan untuk menemukan kesalahan-kesalahan terhadap perangkat lunak untuk kemudian bisa diperbaiki.

Gambar 1.1 Ilustrasi Model Waterfall [4]

1.6Sistematika Penulisan

Sistematika penulisan penelitian ini untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Bab 1 ini menguraikan tentang latar belakang masalah, rumusan masalah, maksud dan tujuan penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab 2 ini menjelaskan tentang kecerdasan buatan, metode N-Gram, futsal ,sejarah dan formasi futsal yang akan dipakai untuk game ini dan tools yang akan digunakan dalam penelitian ini.


(17)

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini menjelaskan mengenai analisis sistem yang mencakup analisis masalah, analisis game futsal, analisis masukan, analisis metode / algoritma analisis kebutuhan non-fungsional serta analisis kebutuhan fungsional

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi menjelaskan tentang implementasi perangkat kersa, implementasi perangkat lunak. Implementasi antarmuka serta pengujian sistem BAB 5 KESIMPULAN DAN SARAN

Bab ini menjelaskan tentang kesimpulan dan saran yang diperoleh dari hasil penulis tugas akhir


(18)

(19)

7

sering disingkat AI merupakan cabang terpenting dalam dunia komputer. Akhir-akhir ini teknologi AI telah begitu banyak mempengaruhi kehidupan manusia.

AI ialah ilmu dan rekayasa, yang membuat mesin mempunyai intelegensi tertentu khususnya program komputer yang „cerdas’. Intelegensi merupakan bagian kemampuan komputasi untuk mencapai tujuan di dalam dunia. Ada beberapa macam jenis dan derajat intelegensi untuk manusia, binatang dan beberapa mesin.

AI berhubungan dengan penggunaan komputer untuk melaksanakan tugas atau menyelesaikan masalah yang memerluakan kecerdasan atau kepintaran. Pada umumnya komputer memerlukan aplikasi atau software untuk melaksanakan tugas atau menyelesaikan masalah, maka aplikasi atau software yang berdasarkan teknologi AI diperlukan.

Para ahli mendefinisikan AI secara berbeda-beda tergantung pada sudut pandang mereka masing-masing. Ada yang focus pada logika berpikir manusia saja, tetapi ada juga yang mendefinisikan AI secara lebih luas pada tingkah laku manusia. Stuart Russel dan Peter Norvig mengelompokkan definisi AI, yang diperoleh dari beberapa textbook berbeda, ke dalam empat kategori [8], yaitu :

1. Thinking humanly : the cognitive modeling approach

2. Acting humanly : the Turing test approach

3. Thinking rationally : the laws of thought approach

4. Acting rationally : the rational agent approach

Thinking humanly dan acting humanly adalah dua definisi dalam arti yang sangat luas. Sampai saat ini, pemikiran manusia yang diluar rasio, yakni refleks dan intuitif (berhubungan dengan perasaan), belum dapat ditirukan sepenuhnya oleh komputer. Dengan demikian, kedua definisi ini dirasa kurang tepat untuk saat ini. Jika kita menggunakan definisi ini, maka banyak produk komputasi cerdas saat ini yang tidak layak disebut sebagai produk AI.


(20)

Definisi thinking rationally terasa lebih sempit daripada acting rationally. Oleh karena itu, definisi AI yang paling tepat untuk saat ini adalah acting rationally dengan pendekatan rational agent. Hal ini berdasarkan pemikiran bahwa komputer bisa melakukan penalaran secara logis dan juga bisa melakukan aksi secara rasional berdasarkan hasil penalaran tersebut.

2.1.1 Algoritma

Algoritma adalah proses langkah-demi-langkah yang menghasilkan solusi untuk masalah AI. Kami akan melihat algoritma yang menghasilkan rute melalui tingkat permainan untuk mencapai tujuan, algoritma yang bekerja keluar arah mana yang harus bergerak untuk mencegat musuh melarikan diri, algoritma yang mempelajari apa yang pemain akan dilakukan selanjutnya, dan banyak lainnya. Struktur data adalah sisi lain dari koin algoritma. Mereka menyimpan data sedemikian rupa bahwa algoritma cepat dapat memanipulasi untuk mencapai solusi. Seringkali, struktur data harus disetel khusus untuk satu algoritma tertentu, dan kecepatan eksekusi mereka secara intrinsik terkait [9].

2.1.2 Action Prediction

Hal ini sering berguna untuk dapat menebak apa yang pemain akan dilakukan selanjutnya. Apakah itu menebak yang bagian mereka akan mengambil, yang senjata mereka akan memilih, atau rute mana mereka akan menyerang dari, permainan yang dapat memprediksi tindakan pemain bisa me-mount oposisi lebih menantang.

Manusia terkenal buruk di berperilaku secara acak. Penelitian psikologi telah dilakukan selama puluhan tahun dan menunjukkan bahwa kita tidak dapat secara akurat mengacak tanggapan kita, bahkan jika kita secara khusus mencoba. Pikiran penyihir dan pemain ahli poker memanfaatkan ini. Mereka dapat dengan mudah sering bekerja di luar apa yang akan kita lakukan atau pikirkan berikutnya berdasarkan jumlah yang relatif kecil dari pengalaman apa yang telah kita lakukan di masa lalu. Seringkali, bahkan tidak perlu untuk mengamati tindakan pemain yang sama. Kami telah berbagi karakteristik yang berjalan begitu mendalam


(21)

bahwa belajar untuk mengantisipasi tindakan satu pemain sering dapat menyebabkan bermain lebih baik melawan pemain yang sama sekali berbeda [9]. 2.1.3 N-gram

Teknik pencocokan string jarang dilaksanakan oleh mencocokkan string. Hal ini lebih umum untuk menggunakan satu set probabilitas mirip dengan probabilitas mentah di bagian sebelumnya. ini dikenal sebagai prediktor N-Gram (di mana N adalah salah satu lebih besar dari parameter ukuran jendela, sehingga 3-Gram akan menjadi prediktor dengan ukuran jendela dua dari tiga).

Dalam N-Gram kita mencatat probabilitas membuat setiap langkah yang diberikan semua kombinasi. Di dalam N-gram terdapat window size, sequence length, dan memory concerns [9]. Berikut adalah algoritma metode N-gram pada

game:

1. Memasukkan gerakan dari player ke dalam array sehingga terbentuk

sequence

2. Memotong-motong sequence yang terbentuk sebanyak n

3. Menghitung frekuensi kemunculan pattern yang terbentuk (key).

4. Setelah didapat key nya, selanjutnya mencocokkan window terakhir dengan key yang ada

5. Setelah ditemukan yang cocok, selanjutnya mengambil dan mencari frekuensi yang paling tinggi

6. Tercipta prediksi akhirnya.

2.1.3.1Windows size

Window size adalah banyak data yang digunakan untuk memprediksi gerakan player selanjutnya. Window size sendiri selalu bernilai n-1. Jadi untuk 3-Gram maka window size nya adalah 2, sementara untuk 4-Gram window sizenya 3, dan seterusnya memperbesar windowsize.


(22)

Gambar 2.1 Different Window Sizes [9]

Diagram di atas diambil dari hasil eksperimen yang telah dilakukan, dalam 1000 kali trials pada game Left or Right. Akurasi akan optimal jika nilai N nya antara 2 sampai dengan 9. Selebihnya nilai akurasinya justru malah dibawah jika kita melakukan random [9].

2.1.3.2Memory Concerns

Memory Concerns adalah banyak data yang disimpan dalam N-gram.prediksi akan menajdi lebih akurat jika AI menyimpan banyak data dari hasil aksi seorang player. Jadi AI yang menyimpan 1000 data aksi player tentu prediksinya akan lebih akurat dibanding yang hanya menyimpan 100 data. Hanya saja, tentu akan berpengaruh kepada performa game itu sendiri, gamenya menjadi lebih lambat, memakan memory lebih besar, hang ketika si AI melakukan prediksi [9].

2.1.3.3Sequence Length

Sequence length adalah panjang urutan yang digunakan dalam N-gram. Pada awalnya prediksi tidak akan pernah akurat, ini karena belum ada data yang masuk sehingga semua kemungkinan masih dapat terbentuk, atau masih mempunyai frekuensi yang masih terlalu kecil dan juga nilainya masih sama satu sama lain. Jika nilai N nya besar, maka pembentukan pattern juga akan menjadi lebih lama karena kombinasi pattern nya lebih banyak, sehingga akhirnya proses untuk menuju prediksi yang optimal juga menjadi lebih lambat [9].

2.2 Futsal

Futsal Adalah kata yang digunakan secara internasional untuk permainan sepakbola dalam ruangan. Kata itu berasal dari kata FUTbol atau Futebol dari


(23)

bahasa Spanyol atau Portugal yang berarti permainan sepakbola dan SALon atau

SALa dari bahasa Prancis atau spanyol yang berarti dalam ruangan. Sehinga dapat diartikan futsal yaitu permainan sepakbola dalam ruangan yang berjumlah lima orang tiap tim nya

2.2.1 Sejarah Futsal

Secara resmi, badan sepakbla dunia FIFA menyebutkan futsal pertama kali dimainkan di Montevideo, Uruguay tahun 1930. Saat itu, Juan Carlos Certani memperkenalkan pertandingan sepakbola lima lawan lima untuk suatu kompetisi bagi remaja. Pertandingan itu dilakukan di lapangan basket. Pertandingan itu tidak menggunakan dinding pembatas, artinya ada kesempatan bola keluar lapangan dan terjadi tendangan ke dalam. Saat itu pertandingan dilakukan di dalam ruangan maupun di luar.

Mulanya, Juan Carlos Ceriani yang berasal dari argentina menjadi pelatih di Montevideo. Hujan yang sering mengguyur Montevideo membuat kesal. Semua proses latihan dari jadwal yang sudah disusun berantakan. Kalau hujan gerimis, mungkin ia masih akan melanjutkan latihan. Namun, hujan yang mengguyur amat deras sehingga membuat lapangan tergenang air. Jadwal latihan berantakan, latih tanding dibatalkan dengan sebab yang sama. Mulanya ceriani memikirkan penyelesaian masalah dengan memindahkan tempat latihan aman dari hujan, tidak becek, dan bebas banjir. Mulanya ia tetap menggunakan aturan pemain tiap tim, yakni 11. Namun, permainan dalam ruangan ini diubah sedikit demi sedikit. Karena lapangan sempit, ia mengurangi jumlah pemain menjadi lima untuk setiap tim. Karena menarik ia member tantangan baru, permainan itu digemari masyarakat Montevideo. Penggemar sepakbola di kota itu kemudian beramai-ramai mencoba permainan itu. Jadilah futsal sebagai permainan yang tersebar meluas. Sejarah futsal versi FIFA itu tidak diterima begitu saja. Versi lain mengatakan bahwa tahun 1854 permainan sejenis sudah dilakukan di kanada. Masyarakat Berasil juga tidak setuju dengan sejarah versi FIFA. Mereka mengklaim bahwa pada saat yang bersamaan dengan cerita tentang Ceriani, masyarakat berasil juga melakukan permainan yang sama. Hanya saja mereka


(24)

bermain di jalan-jalan. Permain di Brasil juga tidak memakai aturan permainan yang jelas. Ada yang tetap menggunakan peraturan sepakbola. Ada juga yang mengombinasikan dengan basket. Bahkan ada juga yang tidak pakai peraturan, artinya terserah saja. Di masing-masing daerah Brasil terdapat peraturan yang berbeda-beda. Keadaan ini membuat petinggi sepakbola brasil merasa kesulitan dalam mengembangkan futsal. Pada tahun 1935, dibuatlah kesepakatan dan penetapan aturan tentang cara futsal dimainkan. Paling tidak, harus ada perbedaan antara futsal dengan sepakbola, begitu kesepakatan mereka. Akhirnya, pada pertengahan 1936 mereka mengeluarkan peraturan futsal yang tidak jauh berbeda dengan peraturan permainan futsal yang berlaku saat ini. Peraturan itu memang bukan peraturan resmi. Hanya saja, dengan peraturan yang ada, futsal semakin menyebar ke mana-mana. Futsal semakin digemari.

Kira-kira dua puluh tahun kemudian, tepatnya 1954, peraturan futsal dibakukan. Perkembangan futsal di Brasil amat pesat. Klub-klub futsal bermunculan dan membentuk kompetisi futsal pertama di dunia. Tak heran prestasi timnas futsal Brasil amat hebat. Sejak itu , futsal menyebar ke seluruh penjuru dunia. Amerika latin menjadi kawasan yang terjangkit virus futsal. Semua orang di sana bermain futsal. Pada tahun 1965 di Sao Paulo diselenggarakan turnamen antarnegara Amerika Latin. Tuan rumah Brasil yang diunggulkan secara mengejutkan tumbang di tangan Paraguay. Tak lama kemudian, futsal berkembang di Eropa. Di italia perkembangan futsal dimulai tahun 1960-an. Saat itu, futsal dibawa oleh pemain impor dari Amerika Ltin yang berlaga di seri A. Saat-saat senggang, para pemain itu memainkan futsal. Akhirnya. Futsal digemari di Itali.

Lain halnya dengan inggris, futsal mengalami sedikit modifikasi. Klub-klub Premier Leageu seing mangadakan latih tanding enam lawan enam dilapangan rumput. Akhirnya diselenggarakan turnamen semacam itu dengan sponsor London Express, harian terkenal di kota London. Spanyol paling cepat menerima futsal. Gara-gara budaya mereka memang mirip dengan Amerika Latin. Perkembangan futsal juga merambah ke Eropa Timur. Saat itu, penduduk di Uni Soviet terlibat asik dengan futsal. Pada tahun 1974, berkumpulah perwakilan


(25)

futsal dari berbagai Negara. Pertemuan yang diadakan di Sao Paulo itu menyepakati pembentuakan FIFUSA(the Federaco international de Futebol de salao) sebagai organisasi resmi yang mewadahi futsal. Saat itu, Joao Havelange menjadi ketua umumnya. Setelah terbentuk FIFUSA, fytsal semakin cepat menyebar ke seluruh penjuru dunia. Penyebaran ke Asia, Afrika, Amerika Utara amat pesat pada tahun 1980-an. Akan tetapi FIFUSA menjadi vakum setelah tahun 1989 FIFA mengambil alih futsal dan mengganti peraturan yang telah ada. Tidak Cuma itu, nama futsal diciptakan utuk menyeragamkan nama yang ada. Saat belum terbentuk nama futsal, memang permainan lima lawan lima ini memiliki banyak nama. Ada yang menyebut five-a-side-game. Karena memang masing-masing tim terdiri dari lima orang. Ada juga menyebut mini soccer karena seperti sepakbola mini. Yang memainkan di jalanan menyebutkan street soccer.

Ada juga yang menyebutkan indoor soccer atau beach soccer.

Sejak saat itu, aturan baru ditetapkan oleh FIFA. Sebagai missal, bola yang digunakan berukuran lebih besar daripada sebelumnya, tetapi dengan berat yang tetap. Wasit kedua juga diperkenalkan untuk menggantik hakim garis. Peraturan lain adalah tidak adanya sistem offside. Lemparan ke dalam saat bola keluar juga diganti dengan tendangan ke dalam. Selain itu, jumlah pergantian pemain juga dibebaskan. Peraturan-peraturan itu mempercepat penyebaran futsal secara resmi ke berbagai penjuru dunia. FIFA lalu menyelenggarakan Piala Dunia Futsal pertama di belanda tahun 1989. Pada piala dunia pertama itu Brasil itu berasil merebut juara. Penyelenggaraan berikutnya diadakan di Hong kong pada tahun 1992. Di Hong kong, tim nas Brasil kembali menjadi juara dunia. Lagi-lagi Brasil menjadi juara saat Piala Dunia ketiga di Spanyol tahun 1996. Tak mau kalah Spanyol merebut juara saat Piala Dunia Futsal diselenggarkan di GGuetamala tahun 200. Piala Dunia Futsal kelima di Taiwan tahun 2004 lalu, Spanyol masih mempertahankan gelar juara. Tak mau kalah dengan Piala Dunia Futsal, komite eksekutif UEFA yang mewadahi organisasi sepakbola di Eropa memperkenalkan UEFA Europan Championship sebagai kompetisi resmi di Eropa [5].


(26)

2.2.2 Formasi Futsal

Untuk mengefektifkan suatu teamwork, pelatih atau pemain harus menetapkan formasi, taktik dan strategi yang tepat. Ada beragam formasi yang digunakan untuk menangani pertandingan, tetapi dengan beberapa pola formasi permainan pada umum nya yaitu, (2-2),(4-0),(1-3) [6].

1. Formasi (2-2).

formasi ini adalah formasi dengan 2 pemain belakang dan 2 pemain depan, gunannya adalah untuk penyeimbang permainan. saat menyerang, pemain belakang bisa maju 1 orang untuk membantu serangan, demikian sebaliknya, saat bertahan, 1 orang pemain depan dapat mundur untuk membantu pertahanan

2. Formasi (4-0).

Formasi ini adalah formasi dengan 4 main di belakang atau bertahan man to man marking.

3. Formasi (1-3).

Formasi ini dengan 1 pemain belakang dan 3 pemain depan, gunanya untuk penyerangan.

Gambar 2.2 Formasi Futsal Umum 2.3 Game

Game adalah kegiatan yang memiliki tujuan untuk dicapai dan dibatasi dengan peraturan bagi para pemainnya yang bersifat menyenangkan dan untuk membuat game maka haruslah memahami teknik dan metode animasi [7]. Game


(27)

bertujuan untuk menghibur, biasanya game banyak disukai oleh anak – anak hingga orang dewasa. Game sebenarnya penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut untuk dilesaikan dengan cepat dan tepat.

Game merupakan salah satu teknologi yang perkembangannya sangat pesat pada masa kini di mulai dari game sederhana seperti permainan kartu, catur sampai permainan yang di mainkan di beberapa sarana atau perangkat teknologi seperti Playstation 3, Xbox 360, Nintendo Wii, PSP, Nintendo DS, maupun PC dari yang berbasis individu ataupun multiplayer yang lebih kompleks.

2.4 Object Oriented Analysis and Design (OOAD)

Object Oriented Analysis (OOA) adalah metode analisis yang memeriksa requirement (syarat/keperluan yang harus dipenuhi suatu sistem) dan sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup permasalahan. Yang menjadi sasaran OOA adalah mengembangkan sederatan model yang menggambarkan perangkat lunak komputer pada saat perangkat itu bekerja untuk memenuhi serangkaian persyaratan yang ditentukan oleh pelanggan. Seperti metode analisis konvensional lainnya .

Object Oriented Design (OOD) adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem. OOD mnerjemahkan model OOA dari dunia nyata kedalam model implementasi spesifik yang dapat direalisasikan di dalam perangkat lunak. Proses OOD dapat digambarkan sebagai piramida yang terdiri dari 4 (empat) lapisan. Lapisan dasar berfokus pada design subsistem yang mengimplementasikan fungsi-fungsi sitem mayor, lapisan kelas mengkhususkan keseluruhan arsitektur objek dan hirarki kelas yang diperlukan untuk mengimplementasi suatu sistem, lapisan pesan menunjukan bagaimana kolaborasi antar objek akan direalisasikan, dan lapisan tanggung jawab mengidentifikasikan atribut dan operasi yang menandai masing-masing kelas [10].


(28)

2.4.1 Konsep-konsep OOAD

OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode analisis yang memerika requirement

(syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. Sedangkan OOD adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem. Terdapat beberapa konsep dalam OOAD [10], yaitu :

1. Object

Objek adalah suatu benda, entitas, biasanya berupa kata benda (noun), sesuatu yang dapat diangkat maupun ditendang atau pukul. Beberapa objek berupa benda hidup, dan beberapa tidak. Contoh objek dalam kehidupan nyata sehari-hari adalah sebuah mobil, orang, rumah, meja, seekor anjing, kucing ataupun beruang. Objek memiliki atribut (attributes), misalnya: sebuah mobil memiliki atribut manufaktur, nomor model, warna, dan harga, seekor anjing memiliki atribut umur, warna, tinggi maupun berat. Objek juga memiliki kelakuan (behavior), misalnya: sebuah mobil dapat bergerak dari satu tempat ke tempat lainnya dan seekor anjing dapat menggongong.

2. Enkapsulasi

Enkapsulasi merujuk pada sebuah objek yang menyembunyikan atau mengenkapsulasi atribut-atributnya terhadap operasi yang dikenakan (analoginya objek tersimpan dan terkunci dalam sebuah kapsul, dan operasi berada di tepian luar kapsul tersebut). Atribut yang tersembunyi ini disebut dengan private. Beberapa bahasa pemograman (sebagai contoh, Smalltalk) secara otomatis membuat atribut-atributnya sebagai private dan beberapa tidak (sebagai contoh, Java) membiarkan programmernya menentukan sendiri.

3. Asosiasi dan Agregasi

Setiap objek memiliki kaitan dengan objek lainnya, baik itu secara langsung maupun tidak langsung, kuat maupun lemah. Dengan mengaitkan tiap objek,


(29)

membuat objek semakin kuat. Kaitan antar objek mengijinkan untuk membantu menemukan informasi dan kelakuan (behavior) ekstra. Ketika melakukan pemodelan objek, dapat mengaitkan ke dalam 2 prinsip: Asosiasi atau Agregasi. Terkadang memang sulit untuk mencari letak perbedaan antara asosiasi dan agregasi ini. Berikut sedikit penjelasannya :

a. Asosiasi merupakan kaitan yang lemah, objek dapat berupa grup atau kelompok, namun objek ini tidak secara komplit tergantung satu dengan lainnya. Sebagai contoh, bayangkanlah sebuah mobil, seorang supir, seorang penumpang dan satu penumpang lainnya. Ketika supir dan dua penumpang berada dalam mobil, mereka berasosiasi dan mereka semua menuju ke arah atau alamat yang sama, mereka menempati tempat yang sama, yakni di dalam mobil. Namun kaitan asosiasi ini sifatnya lemah, supir dapat menurunkan salah satu atau kedua penumpang pada arah atau alamat yang terpisah, jadi penumpang tersebut tidak lagi berasosiasi dengan objek lainnya.

b. Agregasi berarti menempatkan objek bersama-sama untuk menjadikannya objek yang lebih besar. Barang-barang atau benda-benda manufaktur biasanya merupakan contoh dari bentuk agregasi. Sebagai contoh, sebuah microwave terbentuk dari sebuah cabinet (semacam lemari kaca), sebuah pintu, sebuah panel indikator, sejumlah tombol, sebuah alat pemanas dan lain sebagainya. Agregasi mengimplikasikan kedekatan ketergantungan.

4. Class

Sebuah kelas mengenkaspsulasi karakteristik bawaan ke dalam sebuah kelompok objek (sekumpulan objek). Beberapa programmer mengatakan

“objek merupakan instance (diumpamakan) dari sebuah kelas”, oleh karena

itu istilah instance bisa dikatakan merupakan persamaan kata (synonym) dari objek. Kelas merupakan sebuah model, pola, atau blueprint (cetak biru) yang digunakan untuk menciptakan sebuah objek. Ambil contoh sebuah rumah yang dibuat oleh seorang arsitek. Ada banyak sekali rumah di dunia ini, kesemuanya memiliki karakteristik yang sama. Sebuah cetak biru


(30)

menggambarkan semua karakteristik yang dimiliki oleh sebuah rumah, misalnya dinding, jendela, saluran listrik, dan lain sebagainya. Dengan menggunakan cetak biru tersebut, maka dapat dibuat banyak rumah. Rumah-rumah yang dibangun dari cetak biru itu disebut dengan instance dari kelas.

Instance dari kelas adalah objek yang dibentuk dengan menggunakan kelas sebagai dasar pembentukannya. Rumah-rumah tersebut yang terbentuk dari cetak biru yang ada dapat berbeda satu dengan lainnya, misalnya: lokasi, bahan yang digunakan untuk membangun rumah, bentuk dan ukuran, dan lain sebagainya. Tetepi mereka dapat dikatakan memiliki karakteristik yang sama. 5. Pewarisan (Inheritance)

Pewarisan mengijinkan untuk menspesifikasikan atau mengkhususkan bahwa sebuah kelas bisa memiliki atau mendapatkan beberapa karakteristik dari kelas induknya (parent class) dan menambahkan fitur atau kegunaan khusus atas dirinya sendiri. Kelas anak (subclass) mewariskan (inherits) semua

fields, messages, dan methods dari kelas induk utama (superclass). Pewarisan menjadikan kelas dapat di-grupkan atau dikelompokkan ke dalam kelas yang lebih general (umum), oleh sebab itu pewarisan sering disebut juga sebagai bentuk spesialisasi atau generalisasi atas objek. Dalam perspektif pemograman, pewarisan diperlukan karena:

a. Pewarisan mendukung perluasan dan kekuatan yang lebih dalam proses pemodelan perangkat lunak.

b. Pewarisan mengijinkan untuk mendefenisikan informasi atau atribut dan kelakuan (behavior) pada sebuah kelas dan membagikannya (share) kepada kelas anak (subclass) yang berhubungan, sehingga code yang dimiliki akan lebih efisien dan reuseable.

c. Pewarisan merupakan hal yang natural, yang gampang dimengerti dan didefenisikan dalam kehidupan nyata

6. Polimorfisme (Polymorphism)

Polimorfisme diambil dari bahasa Yunani yang diturunkan dari kata poly, yang berarti banyak, dan morph yang berarti bentuk. Maka dari itu


(31)

sehari-hari, antara satu objek dengan objek lainnya sering terjadi komunikasi. Satu objek mengirmkan pesan ke objek lainnya untuk mendapatkan sesuatu yang dinginkan, namun tanggapan dari objek-objek tersebut dapat beragam walaupun pesan yang disampaikan adalah pesan yang sama.

2.4.2 OOP (Object Oriented Programming)

OOP (Object Oriented Programming) atau yang dikenal dengan Pemrograman Berorientasi Objek merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus ke dalam kelas-kelas atau objek-objek.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah tidak harus melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh suatu departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri [11].

2.4.2.1Istilah-istilah OOP

Istilah OOP sudah sering didengar dalam ilmu pemrograman. Berikut ini istilah-istilah yang sering kali terdengar dalam teknik pemrograman OOP :


(32)

Objek memiliki atribut sebagai status (state) dan tingkah laku sebagai

behavior. Di dalam OOP, state disimpan pada variabel dan tingkah laku disimpan pada method. Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

2. Class

Class adalah suatu frame yang merupakan definisi yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek disebut juga dengan instance. Class memiliki anggota yang disebut Anggota Class (class member) yaitu atribut dan method.

3. Attributes

Atribut adalah data yang membedakan antara objek satu dengan yang lainnya. Contoh Objek : Volcano Robot (a volcanic exploration vehicle), mempunyai atribut sebagai berikut :

Status exploring, moving, returning home

Speed in miles per hour

Temperature in Fahrenheit degrees

Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance Variable dan Class Variable. Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek dari

class yang sama boleh mempunyai nilai yang sama atau berbeda. Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class

yang sama mempunyai hanya satu nilai yang value nya sama. a. Behavior


(33)

Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu tugas (task).

b. Abstraksi

Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

2.4.2.2Konsep-konsep OOP

Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:

1. Enkapsulasi

Enkapsulasi berfungsi untuk memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam/dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

2. Pewarisan (Inheritance)

Pewarisan merupakan pewarisan atribut dan method dari sebuah class ke

class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class

lainya, disebut sebagai multilevel inheritance. Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan


(34)

dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan. Keuntungan pewarisan: a. Subclass menyediakan state/behaviour yang spesifik yang membedakan

dengan superclass, sehingga memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.

b. Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class (abstraksi), untuk mendefinisikan

class dengan tingkah laku dan state secara umum. 3. Polimorfisme

Poolimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Sebuah variabel tunggal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama, hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

2.5 UML (Unified Modeling Language)

Pada perkembangan teknik pemrograman berorientasi objek, muncul sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu

Unified Modelling Language (UML). Adapun pengertian dari UML adalah salah satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek [12].

UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. Dalam hal ini UML merupakan suatu bahasa visual untuk


(35)

melakukan pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.

UML menggunakan berbagai macam diagram dengan fungsi masing-masing untuk menggambarkan setiap proses dari sistem berorientasi objek. UML memiliki 13 jenis diagram. Dalam pembangunan game ini dipakai 4 diagram UML diantaranya :

1. Use Case Diagram

Use Case atau diagram use case merupakan pemodelan yang digunakan untuk menggambarkan kelakuan (behavior) dari sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case [12].

a. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat diluar sistem yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

b. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antarunit-unit atau aktor.

Sebuah use case dapat meninclude fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang

di-include akan dipanggil setiap kali use case yang me-include dieksekusi secara normal. Use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Use case juga dapat me-extenduse case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. Contoh dari use case diagram dapat dilihat pada gambar berikut.


(36)

2. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar

state adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti

state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour

pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan

join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertical [12].

3. Sequence Diagram

Diagram sequence adalah diagram yang menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek [12]. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah

use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

Banyaknya diagram sequence yang harus digambarkan adalah sebanyak pendefinisian use case yang memiliki proses itu sendiri atau yang penting semua

use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.


(37)

4. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.

a. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas b. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas

2.6 Tools Yang Digunakan Untuk Pembuatan Game

Tools yang digunakan dalam penelitian Game Penerapan Metode N-gram Untuk Non player character Prediksi Formasi agar Menggunakan Formasi Yang Tepat Pada Game Futsal diantaranya adalah ActionScript 3.0 dan Adobe Flash.

2.6.1 ActionScript

ActionScript adalah bahasa pemrograman yang dibuat berdasarkan

ECMAScript, yang digunakan dalam pengembangan situs web dan perangkat lunak menggunakan platform Adobe Flash Player. ActionScript juga dipakai pada beberapa aplikasi basis data, seperti Alpha Five. Bahasa ini awalnya dikembangkan oleh Macromedia, tapi kini sudah dimiliki dan dilanjutkan perkembangannya oleh Adobe, yang membeli Macromedia pada tahun 2005.

ActionScript terbaru saat ini adalah ActionScript 3.0 dari edisi yang sebelumnya dikenal dengan ActionScript 2.0. ActionScript 3.0 adalah bahasa berorientasi objek untuk membuat aplikasi dan konten multimedia ber-script

untuk pemutaran di runtime Flash client (seperti Flash Player dan Adobe AIR). Dengan sintaks yang mirip dengan Java dan C#. ActionScript 3.0 memiliki beberapa kelebihan dibanding pendahulunya, antara lain fitur yang ditawarkan adalah file pada ActionScript 3.0 dapat dibuat terpisah saat runtime [13].

2.6.1 Adobe Flash

Adobe Flash merupakan sebuah program yang didesain khusus oleh Adobe dan program aplikasi standar authoring tool professional yang digunakan untuk membuat animasi dan bitmap yang sangat menarik untuk keperluan pembangunan situs web yang interaktif dan dinamis. Flash didesain dengan kemampuan untuk


(38)

membuat animasi 2 dimensi yang handal dan ringan sehingga flash banyak digunakan untuk membangun dan memberikan efek animasi pada website, CD Interaktif dan yang lainnya. Selain itu aplikasi ini juga dapat digunakan untuk membuat animasi logo, movie, game, pembuatan navigasi pada situs web, tombol animasi, banner, menu interaktif, interaktif form isian, e-card, screen saver dan pembuatan aplikasi-aplikasi web lainnya.

Dalam Flash, terdapat teknik-teknik membuat animasi, fasilitas action script, filter, custom easing dan dapat memasukkan video lengkap dengan fasilitas

playback FLV. Keunggulan yang dimiliki oleh Flash ini adalah ia mampu diberikan sedikit code pemograman baik yang berjalan sendiri untuk mengatur animasi yang ada didalamnya atau digunakan untuk berkomunikasi dengan program lain seperti HTML, PHP, dan Database dengan pendekatan XML, dapat dikolaborasikan dengan web, karena mempunyai keunggulan antara lain kecil dalam ukuran fileoutput-nya.

Flash bekerja dengan bahasa pemprograman yang dinamakan ActionScript. Bahasa ini telah mengalami beberapa kali perkembangan sejak pertama kali diperkenalkan. Versi terakhir adalah ActionScript 3.0 atau disingkat AS3, dengan struktur bahasa yang sangat menyerupai javascript.

Berkas yang dihasilkan dari perangkat lunak ini mempunyai file extension.swF. SWF adalah kependekan dari “Shock Wave Flash”, kata lain yang

biasanya memiliki ekstensi .swf dipergunakan untuk menyebutkan file swf adalah

Flash Movie. File Flash Movie dan dapat diputar di penjelajah web yang telah dipasangi Adobe Flash Player. File swf juga didapatkan pada file game yang dibuat oleh flash. Dalam Adobe Flash terbaru terdapat fungsi export yang dapat meng-export file kedalam bentuk .apk eksensi yang biasa digunakan dalam android

Flash juga dapat digunakan untuk mengembangkan secara cepat aplikasi- aplikasi web yang kaya dengan pembuatan script tingkat lanjut. Di dalam aplikasinya juga tersedia sebuah alat untuk men-debug script, dengan menggunakan code hint untuk mempermudah dan mempercepat pembuatan dan pengembangan isi ActionScript secara otomatis [14].


(39)

2.7 Metode Pengujian Sistem

Metode pengujian sistem untuk mengetahui efektifitas dari software yang digunakan selain memberikan kesempatan kepada pengguna untuk mengoperasikan dan melakukan pengecekan terhadap laporan yang dihasilkan melalui software. Metode pengujian sistem terdiri dari Pengujian Whitebox dan Pengujian Blackbox [15].

2.7.1 Pengujian Whitebox

Pengujian whitebox dilakukan untuk menguji prosedur-prosedur yang ada. Lintasan lojik yang dilalui oleh setiap bagian prosedur diuji dengan memberikan kondisi/loop spesifik. Pengujian whitebox menjamin pengujian terhadap semua lintasan yang tidak bergantungan minimal satu kali, mencoba semua keputusan lojik dari sisi „true’ dan „false’, eksekusi semua loop dalam batasan kondisi dan batasan operasionalnya dan pengujian validasi data internal. Konsep Pengujian Basis Path sebagai berikut:

1. Merupakan bagian dari pengujian whitebox dalam hal pengujian prosedur-prosedur.

2. Mempergunakan notasi aliran graph (node, link untuk merepresentasikan

sequence, if, while, until dan sebagainya).

3. Konsep kompleksitas cyclomatic antara lain cara perhitungan daerah tertutup pada graph planar dimana dapat menghubungkan batas atas jumlah pengujian yang harus direncanakan dan dieksekusi untuk menjamin pengujian seluruh

statement program.

4. Memunculkan kasus-kasus yang akan diuji dengan membuat daftar lintasan kasus pengujian berdasarkan kompleksitas dan cyclomatic yang didapat. 5. Membuat alat bantu graph matriks yang membantu pengawasan pengujian

2.7.2 Pengujian Blackbox

Pengujian yang dilakukan untuk antarmuka perangkat lunak, pengujian ini dilakukan untuk memperlihatkan bahwa fungsi-fungsi bekerja dengan baik dalam arti masukan yang diterima dengan benar dan keluaran yang dihasilkan benar-benartepat, pengintegrasian dari eksternal data berjalan dengan baik.


(40)

Metode pengujian blackbox memfokuskan pada requirement fungsi dari perangkat lunak, pengujian ini merupakan komplenetari dari pengujian whitebox. Pengujian whitebox dilakukan terlebih dahulu pada proses pengujian, sedangkan pengujian blackbox dilakukan pada tahap akhir dari pengujian perangkat lunak. Proses yang terdapat dalam proses pengujian blackbox antara lain sebagai berikut: 1. Pembagian kelas data untuk pengujian setiap kasus yang muncul pada

pengujian whitebox.

2. Analisis batasan nilai yang berlaku untuk setiap data.

Pengujian blackbox merupakan pendekatan komplementer dari teknik white box, karena pengujian blackbox diharapkan mampu mengungkap kelas kesalahan yang lebih luas dibandingkan teknik whitebox. Pengujian blackbox berfokus pada pengujian persyaratan fungsional perangkat lunak, untuk mendapatkan serangkaian kondisi input yang sesuai dengan persyaratan fungsional suatu program.

Pengujian blackbox adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian

blackbox merupakan metode perancangan data uji yang didasarkan pada spesifikasi perangkat lunak. Data uji dibangkitkan, dieksekusi pada perangkat lunak dan kemudian keluaran dari perangkat lunak dicek apakah telah sesuai dengan yang diharapkan berikut adalah ciri-ciri blackbox testing.

1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software.

2. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing.

3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing


(41)

Pada blackbox testing terdapat jenis teknik disain tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, yang diantaranya :

1. Equivalence Class Partitioning 2. Boundary Value Analysis 3. State Transitions Testing 4. Cause-Effect Graphing


(42)

(43)

31

Masalah yang diangkat dalam penulisan ini skripsi ini adalah bagaimana Penerapan metode N-gram untuk non player character prediksi formasi agar menggunakan formasi bertahan yang tepat pada game futsal. Analisis masalah sangatlah penting dalam suatu penelitian karena pada tahapan ini merupakan salah satu proses mengidentifikasi masalah-masalah yang timbul dari penerapan sistem yang akan penulis teliti yaitu mengenai metode N-Gram dalam permainan futsal mengenai bagaimana NPC akan memprediksi formasi dari player menggunakan metode tersebut.

Seperti telah dijelaskan sebelumnya bahwa teknik metode yang digunakan dalam memprediksi formasi futsal adalah metode N-Gram yang biasa digunakan untuk memprediksi perilaku player pada game sehingga dapat memperoleh keputusan yang akan dilakukan. Dengan ini diharapkan metode N-Gram dapat memprediksi formasi futsal yang dilakukan player dengan membaca beberapa kali perilaku player sehingga NPC mempunyai kecerdasan buatan yang menunjukan perilaku yang konsisten dan realistis, bereaksi dengan tepat kepada tindakan pemain dan karakter lain seperti halnya manusia.

3.2Analisis Game

Bagian ini menjelaskan tentang game yang akan digunakan untuk penelitian. Penjelasan terutama untuk bagian-bagian dalam game yang akan diterapkan algoritma. Misalkan jika sebuah karakter NPC yang akan diterapkan algoritma, maka jelaskan bagaimana karakter tersebut akan berperilaku.

Game yang akan dirancang ber-genre sport. Game. Game ini dibangun dengan bentuk prorotype. Dalam permainan yang akan dirancang dalam penelitian ini, pemain berhadapan dengan musuh-musuh berperilaku berbeda. Rincian perilaku musuh dapat dilihat sebagai berikut yaitu formasi serang dan formasi bertahan :


(44)

1. Formasi serang

Adalah suatu formasi atau taktik untuk menyerang dipermainan futsal a. Formasi serang 1

Formasi serang 1 gerakannya menggunakan motion tween, formasi serang 1 ini dapat diprediksi oleh bertahan 1.

b. Formasi serang 2

Formasi serang 2 gerakannya menggunakan motion tween, formasi serang

2 ini dapat diprediksi oleh bertahan 2. c. Formasi serang 3

Formasi serang 3 gerakannya menggunakan motion tween, formasi serang 3 ini dapat diprediksi oleh bertahan 3.

2. Formasi Bertahan

Adalah suatu formasi atau taktik untuk bertahan dan biasanya formasi bertahan digunakan untuk serangan balik dipermainan futsal

a. Formasi bertahan 1

Formasi bertahan 1 gerakannya menggunakan motion tween, formasi bertahan 1 ini dapat memprediksi serang 1.

b. Formasi bertahan 2

Formasi bertahan 2 gerakannya menggunakan motion tween, formasi bertahan 2 ini dapat memprediksi serang 2.

c. Formasi bertahan 3

Formasi bertahan 3 gerakannya menggunakan motion tween, formasi bertahan 3 ini dapat memprediksi serang 3.

3.3Analisis Masukan

Analisis masukan yang dilakukan dalam penelitian ini adalah menganalisis parameter dalam game untuk formasi player pada game futsal, gerakan formasi dan bola menggunakan motion tween dan motion guide yaitu :


(45)

Animasi motion tween digunakan apabila kita ingin membuat gerakan animasi yang teratur. Animasi ini sangat mengurangi waktu karena kita tidak perlu membuat animasi secara frame per frame. Sebaliknya Anda hanya membuat frame awal dan frame akhir saja. Dua alasan utama mengapa Animasi motion tween sangat baik yaitu

karena mengurangi pekerjaan mengambar dan meminimalkan ukuran file karena isi dari setiap frame tidak perlu disimpan.

2. Animasi Motion Guide

Animasi motion guide adalah animasi yang mempunyai gerakan sesuai dengan jalur yang kita buat. Animasi ini merupakan lanjutan dari animasi motion tween. Animasi ini sangat cocok digunakan untuk jenis animasi yang membutuhkan ketelitian dalam pergerakan yang dikehendaki atau sesuai keinginan pembuat animasi [14].

Pada game futsal ini pergerakan pemain dalam formasi menggunakan motion tween seperti di gambar berikut pada gambar 3.1.

Gambar 3.1 Motion Tween pada formasi pemain 1

Selanjutnya pada layer ke 2 pemain pada gambar pertama digeser ke bawah seperti berikut pada gambar 3.2.


(46)

Gambar 3.2 Motion Tween pada formasi pemain 2

Maka hasilnya akan seperti gambar berikut posisi pemain bergerak ke bawah pada gambar 3.3

Gambar 3.3 Motion Tween pada formasi pemain 3

3.4Analisis Metode

Analisis Algoritma merupakan salah satu metode/alat yang digunakan untuk membantu proses penelitian game dengan lebih mudah, proses penyelesaian penelitian yang digunakan antara lain, metode N-gram.


(47)

3.4.1 Analisis Struktur Data

Struktur data pada metode N-gram dalam penelitian ini menggunakan struktur data majemuk yaitu struktur data queue (antrian) merupakan kumpulan data gerakan atau formasi dari palyer hanya bisa dilakukan pada suatu ujung yaitu

tail atau belakang dan penghapusan melalui ujung yaitu depan. Antrian itu disebut fifo (first in first out) yaitu elemen yang lebih dulu disisipkan merupakan elemen yang lebih dlu diambil. Jika serang 1 yaitu S1, serang 2 yaitu S2 dan serang 3 yaitu S3.

Gambar berikut adalah implementasi queue atau antrian aray statis, data masuk dari belakang.

Maxdata

S1 S2 S1 S2 S1 S2 S2 S3 S2

Depan Belakang

Gambar 3.4 Struktur data Queue 1

Jika maxdata sudah penuh maka gerakan selanjutanya akan masuk dari belakang dan gerakan yang masuk paling pertama atau yang paling depan akan dihapus dari aray seperti gambar berikut.

Maxdata

S1 S2 S1 S2 S1 S2 S2 S3 S2 S1

Depan Belakang

Gambar 3.5 Struktur data Queue 2

Maka data atau gerkan yang masuk dalam aray yang baru masuk dari belakang dan yang paling depan akan di hapus seperti pada gambar berikut

Maxdata

S2 S1 S2 S1 S2 S2 S3 S2 S1

Depan Belakang Gambar 3.6 Struktur data Queue 3


(48)

3.4.2 Metode N-gram

N-Gram dalam game adalah kecerdasan buatan untuk NPC yang digunakan untuk memprediksi perilaku player pada game sehingga dapat memperoleh keputusan yang akan dilakukan Didalam N-gram terdapat window size, sequence length, dan memory concerns yaitu sebagai berikut dengan parameternya.

3. Windows size

Windows size yang digunakan untuk memprediksi gerakan player

windows size sendiri selalu bernilai n-1. Pada game ini menggunakan 3-gram maka windows size nya adalah 2.

4. Sequence length

Sequence length yang digunakan dalam N-gram mengikuti parameter

windows size , jika menggunakan 3-gram maka setelah gerakan ke 3 jika sequence terbentuk sudah dapat memprediksi

b. Memory Concerns

Memory concerns yang disimpan dalam game ini banyak menggunakan yaitu 100 agar lebih akurat banyak menyimpan data

3.4.3 Study kasus

Pada sub bab ini akan dibahas mengenai cara kerja algoritma Metode N-gram dalam game futsal ini adalah sebegai berikut yaitu :

Jika serang 1 adalah S1, serang 2 adalah S2 dan serang 3 adalah S3.

1. Memasukan gerakan dari player ke dalam array sehingga terbentuk

sequence. Dalam 10 gerakan formasi yang dicoba, maka akan terbentuk

sequence :

Tabel 3.1 Data dari player Data dari

player

0 1 2 3 4 5 6 7 8 9


(49)

2. Memotong-motong sequence menjadi key yang terbentuk sebanyak n. Dalam penelitian ini menggunakan 3-Gram, berarti data akan dibagi sesuai nilai n nya yaitu 3 :

Tabel 3.2 Key yang terbentuk Key yang

terbentuk

012 123 234 345 456 567 678 789 S1S2S1 S2S1S2 S1S2S1 S2S1S2 S1S2S2 S2S2S3 S2S3S1 S3S1S2

3. Menghitung frequensi kemunculan pattern yang terbentuk (key). Setelah dibagi sesuai nilai n nya, tinggal hitung frequensinya :

Tabel 3.3 Frequensi kemunculan Key Frequensi

kemunculan

S1S2S1 2

S2S1S2 2

S1S2S2 1

S2S2S3 1

S2S3S1 1

S3S1S2 1

4. Setelah didapat key nya, selanjutnya mencocokan window terakhir dengan

key yang ada. Untuk memprediksi harus menentukan window size nya terlebih dahulu dengan rumus n-1. Karena pada penelitian ini menggunakan 3-Gram maka window size nya adalah 2 jadi windows terakhir nya 2.

Tabel 3.4 Key yang terakhir yang terbentuk Key yang

terbentuk

012 123 234 345 456 567 678 789 S1S2S1 S2S1S2 S1S2S1 S2S1S2 S1S2S2 S2S2S3 S2S3S1 S3S1S2

Yang diberi warna kuning adalah window terakhir yang telah dicocokan yaitu S1S2.

5. Selanjutnya mengambil dan mencari frequensi yang paling tinggi. Maka setelah mendapat window terakhir yaitu S1S2, selanjutnya mencari pola


(50)

sequence yang diawali oleh S1S2. Dari data yang diperoleh terdapat S1S2S1 dengan 2 kemunculan dan S1S2S2 engan 1 kemunculan.

6. Terciptanya prediksi akhirnya setelah menghitung kemunculan frequensi yang tinggi yaitu S1S2S1 dengan 2 kemunculan maka selanjutnya NPC akan memprediksi arah pergerakan player yaitu S2 atau serang2.

3.5Analisis Kebutuhan Non-Fungsional

Analisis kebutuhan non-fungsional menggambarkan kebutuhan luar sistem yang diperlukan untuk menjalankan aplikasi yang dirancang. Adapun kebutuhan non-fungsional pada implementasi metode N-Gram pada game futsal meliputi kebutuhan perangkat keras dan kebutuhan perangkat lunak. Analisis kebutuhan non-fungsional bertujuan agar aplikasi yang dibangun dapat digunakan sesuai dengan kebutuhan.

3.5.1 Analisis Kebutuhan Perangkat Lunak

Perangkat lunak atau software merupakan hal yang terpenting dalam mendukung kinerja sebuah sistem. Perangkat lunak digunakan dalam sebuah sistem merupakan perintah-perintah yang diberikan kepada perangkat keras agar dapat saling berinteraksi diantara keduanya. Perangkat lunak yang dibutuhkan sebagai system operasi yang ada pada komputer dan sebagai media penelitian game futsal ini antara lain:

Tabel 3.5 Analisis Kebutuhan Perangkat Lunak No PerangkatLunak Keterangan

1 SistemOperasi Windows 7 2 Tools Program Adobe Flash CS5

3.5.2 Analisis Kebutuhan Perangkat Keras

Untuk menjalankan suatu aplikasi maka diperlukan perangkat keras yang dapat mendukung proses kerja dari sistem itu sendiri. Pada dasarnya game ini dapat dijalankan di semua perangkat komputer/desktop tapi untuk kenyamanan sebaiknya dijalankan di perangkat yang mempunyai spesifikasi sebagai berikut :


(51)

Tabel 3.6 Analisis Kebutuhan Perangkat Keras

No PerangkatKeras Spesifikasi

1 Prosesor Kecepatan 2.4 GHz

2 Monitor Monitor 17’’, resolusi 1024x768

3 VGA On-board Kecepatan 256 MB

4 Optical Drive DVD-ROM Standard

5 Keyboard Standard

6 Mouse Standard

7 Memori 1GB

3.5.3 Spesifikasi Kebutuhan Perangkat Lunak

Spesifikasi kebutuhan perangkat lunak dilakukan berdasarkan kebutuhan

game. Spesifikasi kebutuhan perangkat lunak akan dibagi kedalam dua bagian yaitu F (Spesifikasi Kebutuhan Perangkat Lunak Fungsional) dan SKPL-NF (Spesifikasi Kebutuhan Perangkat Lunak Non-Fungsional).

Spesifikasi kebutuhan perangkat lunak dalam penelitian ini dapat dilihat pada. Tabel 3.7 SKPL User Requirement

Kode Kebutuhan

SKPL-F1 Perangkat Lunak dapat memproses hasil masukan untuk kemudian dimulai

proses gerakan formasi.

Tabel 3.8 SKPL System Requirement

Kode Kebutuhan

SKPL–F1 Gerakan formasi berupa formasi serang 1, serang 2 dan serang 3

SKPL-F2 Proses masukan yang diterima system yang kemudian diolah menjadi

keluaran sesuai keinginan user.

Tabel 3.9 SKPL Non-Fungsional

Kode Kategori Kebutuhan

SKPL-NF1 Efficiency

(Product Requirement)

Sistem dapat memproses masukan parameter gerakan formasi. SKPL-NF2 Development

(Organizatonal Requirement)

Untuk menjalankan sistem yang di bangun maka

dibutuhkan :

a. Microsoft Windows sebagai sistem operasi

b. Adobe Flash CS5 sebagai tools pemrograman.


(52)

3.5.4 Analisis Pengguna

Analisis pengguna gambaran tentang target maupun profil pengguna untuk

game yang akan dibangun. Perangkat keras dan perangkat lunak yang ada tidak akan berguna apabila tidak ada pengguna yang mengoperasikannya. Berikut ini analisis pengguna untuk game futsal dapat dilihat pada Tabel .

Tabel 3.10 Analisis Pengguna Karakeristik fisik pengguna

Gender Laki-lagi dan perempuan

Handedness Tangan kanan dan kiri

Disabilities Tidak buta warna total

Pengetahuan dan pengalaman pengguna

Computer Literacy Memiliki pengalaman dalam mengoperasikan

sebuah komputer

Task Experience Mengetahui cara menggunakan komputer

Native language or culture Bahasa Indonesia

Dari analisis pengguna yang telah dilakukan, maka dapat disimpulkan bahwa pengguna yang akan memainkan game merupakan pengguna tidak memiliki cacat pada penglihatan, dapat mengoperasikan komputer, dapat atau pernah memainkan aplikasi game dikomputer.

3.6 Analisis kebutuhan Fungsional

Spesifikasi kebutuhan fungsional adalah spesifikasi tentang hal-hal yang akan dilakukan system ketika diimplementasikan. Analisis kebutuhan ini diperlukan untuk menentukan keluaran yang akan dihasilkan sistem, masukan yang diperlukan sistem, lingkup proses yang digunakan untuk mengolah masukan menjadi keluaran.

3.6.1 Use Case Diagram

Use Case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat.


(53)

Use Case pada implementasi metode N-gram untuk prediksi formasi pada game

futsal

Gambar 3.7 Use Case Diagram

1. Actor Definition

berfungsi untuk menjelaskan Actor yang terdapat pada Use case diagram. Tabel 3.11 Actor Definition

No Actor Deskripsi

1 Pemain Orang yang memainkan game

2. Use Case Definition

Use Case Definition berfungsi untuk menjelaskan fungsi Use Case yang terdapat pada Use case diagram.

Tabel 3.12 Use Case Definition

No Use Case Deskripsi

1 Mulai permainan Proses untuk memulai permainan

2 Menjalankan formasi serang Proses untuk pergerakan formasi serang

3 Menjalankan formasi bertahan Proses untuk pergerakan formasi bertahan

4 Hitung skor Menghitung skor


(54)

3.6.2 Use Case Sekenario

Skenario pada diagram use case berisi mengenai alur kejadian yang di dalamnya menjelaskan urutan interaksi antara actor dengan use case tersebut. 1. Skenario Use Case Mulai Permainan

Skenario use case ini menjelaskan interaksi antara actor yaitu pemain, dengan use case mulai permainan berikut.

Tabel 3.13 Skenaro Use Case Mulai Permainan

Identifikasi

No 1

Nama Mulai Permainan

Tujuan Untuk dapat memulai permainan

Actor Pemain

Skenario Utama

Kondisi Awal Menu Utama ditampilkan

Aksi Aktor Reaksi Sistem

1. Memilih mulai permainan

2. Menampilkan ke scene permainan

3. Memilih formasi serang

4. Menjalankan formasi serang

5. Menyimpan data dalam array

6. Jika tidak terprediksi formasi random NPC

memasukan bola atau player memasukan bola

7. Jika terprediksi NPC memasukan bola

8. Memilih formasi bertahan

Kondisi akhir Menampilkan formasi bertahan

2. Skenario Use Case menjalankan formasi serang

Skenario use case ini menjelaskan interaksi antara actor yaitu pemain, dengan use case menjalan formasi serang berikut.

Tabel 3.14 Skenario Use Case Menjalankan Formasi serang

Identifikasi

No 2

Nama Menjalankan serang


(55)

Actor Pemain

Skenario Utama

Kondisi Awal Permainan dimulai

Aksi Aktor Reaksi Sistem

1. Memilih formasi serang

1. Menjalankan formasi serang

2. Menyimpan data dalam array

3. Jika tidak terprediksi formasi random NPC

memasukan bola atau player memasukan bola

4. Jika terprediksi NPC memasukan bola

Kondisi Akhir Menampilkan formasi bertahan

3. Skenario Use Case menjalankan formasi bertahan

Skenario use case ini menjelaskan interaksi antara actor yaitu pemain, dengan use case menjalankan formasi bertahan berikut.

3.15 Skenario Use Case menjalankan formasi bertahan

Identifikasi

No 3

Nama Menjalankan formasi bertahan

Tujuan Menampilkan pergerakan formasi bertahan

Actor Pemain

Skenario Utama

Kondisi Awal Permainan dimulai

Aksi Aktor Reaksi Sistem

1. Memilih formasi

bertahan

2. Menjalankan formasi bertahan

Kondisi Akhir Menampilkan formasi bertahan

4. Skenario Use case hitung skor

Skenario use case ini menjelaskan interaksi antara actor yaitu pemain, dengan use case hitung skorberikut.

Tabel 3.16 Skenario Use Case hitung skor

Identifikasi

No 4

Nama Hitung Skor

Tujuan Untuk dapat menghitung Skor yang diraih pemain

Actor Pemain

Skenario Utama


(56)

Aksi Aktor Reaksi Sistem

1. Memasukan bola

2. Skor bertambah untuk player

3. Menghitung skor

Skenario tambahan

4. 4. Jika bola tidak masuk maka skor bertambah

untuk NPC

5. 5. Menghitung skor

Kondisi Akhir Hasil perhitungan skor akhir

5. Skenario Use case keluar

Skenario use case ini menjelaskan interaksi antara actor yaitu pemain, dengan use case keluar berikut.

Tabel 3.17 Skenario Use Case keluar

Identifikasi

No 5

Nama Keluar

Tujuan Untuk keluar dari game

Actor Pemain

Skenario Utama

Kondisi Awal Menu utama tampilkan

Aksi Aktor Reaksi Sistem

1. Memilih keluar

2. Keluar dari game

Kondisi Akhir Keluar dari game

3.6.3 Activity Diagram

Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, dimana sebagian besar state

adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelum (internal processing).

1. Activity Diagram Mulai Permainan

Berikut ini adalah diagram yang menunjukan alur aksi pada mulai permainan yang dapat dilihat pada Gambar berikut.


(57)

Gambar 3.8 Activity Diagram Main

6. Activity Diagram menjalankan formasi serang

Berikut ini adalah diagram yang menunjukan alur aksi pada formasi serang yang dapat dilihat pada Gambar berikut.


(58)

Gambar 3.9 Activity Diagram formasi serang

7. Activity Diagram menjalankan formasi bertahan

Berikut ini adalah diagram yang menunjukan alur aksi pada formasi bertahan yang dapat dilihat pada Gambar berikut.


(59)

Gambar 3.10 Activity Diagram formasi bertahan

8. Activity Diagram Hitung Skor

Berikut ini adalah diagram yang menunjukan alur aksi pada hitung skor yang dapat dilihat pada Gambar berikut.


(60)

Gambar 3.11 Activity Diagram hitung Skor 9. Activity Diagram keluar

Berikut ini adalah diagram yang menunjukan alur aksi pada aktivitas keluar game yang dapat dilihat pada Gambar berikut.


(1)

4.2.4 Pengujian Metode

Uji performansi metode N-Gram pada penelitian ini mempunyai 3 parameter formasi prediksi antara lain formasi prediksi serang 1, serang 2 dan serang 3.

1. Prediksi formasi serang 1

Gambar 4.6 Prediksi formasi serang 1.

Pada gambar 4.6 dapat dilihat bahwa NPC baru bisa memprediksi formasi serang 1 setelah player melakukan 4 kali formasi yaitu S2S1S1S1 dan terbentuk frekuensi tertinggi yaitu S1S1S1.


(2)

2. Prediksi formasi serang 2

Gambar 4.7 Prediksi formasi serang 2.

Pada gambar 4.7 dapat dilihat bahwa NPC baru bisa memprediksi formasi serang 2 setelah player melakukan 4 kali formasi yaitu S1S2S2S2 dan terbentuk frekuensi tertinggi yaitu S2S2S2.


(3)

3. Prediksi formasi serang 3

Gambar 4.8 Prediksi formasi serang 3.

Pada gambar 4.8 dapat dilihat bahwa NPC baru bisa memprediksi formasi serang 3 setelah player melakukan 4 kali formasi yaitu S1S3S3S3 dan terbentuk frekuensi tertinggi yaitu S3S3S3.

Untuk memastikan metode berjalan dengan baik maka akan dilakukan uji coba dengan player melakukan formasi yang sudah ditentukan sebelumnya. formasi yang akan dilakukan player adalah sebanyak 20 gerakan. Berikut ini gerakan player dan aksi yang dilakukan NPC seperti ditunjukkan pada tabel 4.6.

Tabel 4.6 Hasil Uji Coba Metode N-Gram

No Aksi Player Aksi NPC

1 S1 Random

2 S2 Random

3 S1 Random

4 S1 Random

5 S1 Random

6 S1 Prediksi

7 S2 Random

8 S1 Prediksi

9 S1 Prediksi

10 S3 Random

11 S2 Random


(4)

13 S3 Random

14 S2 Prediksi

15 S1 Prediksi

16 S3 Random

17 S1 Random

18 S3 Random

19 S2 Prediksi

20 S1 Prediksi

Tabel yang diberi warna kuning adalah gerakan player yg terprediksi oleh NPC. Dari tabel dapat dianalisa bahwa ketika player melakukan formasi ke-1 sampai ke-5 NPC melakukan gerakan secara random karena belum tercipta Key

S1S1S1. Pada formasi player ke 6 baru tercipta Key sehingga ketika player

melakukan formasi S1 maka NPC dapat memprediksi secara tepat. Ketika pada formasi ke-7 player dimasukkan formasi lain NPC tidak terprediksi karena NPC

masih memprediksi yang sama seperti sebelumnya karena frekuensi tertinggi masih S1S1S1. dari percobaan 20 formasi player pertama NPC dapat memprediksi 6 gerakan dengan tepat. Ini dikarenakan key yang tercipta masih sedikit. Ketika sudah terbentuk banyak Key maka NPC lebih banyak memprediksi dengan tepat gerakan lawan seperti ditunjukkan pada tabel 1 yaitu dari 6 prediksi yang tepat 5 diantaranya terdapat pada antara gerakan ke-8 sampai gerakan ke-20 dengan player mengeluarkan formasi yang random berurutan.


(5)

(6)

71

Berdasarkan hasil implementasi dan pengujian metode N-Gram yang dilakukan pada game futsal dapat diambil kesimpulan bahwa metode N-gram dapat berjalan dan diterapkan pada game futsal ini, metode N-gram teruji dapat memprediksi formasi futsal setelah beberapa kali gerakan atau formasi dari player yang sudah ditentukan, dengan semakin banyak data atau gerakan yang dimasukan player maka NPC mudah memprediksi. Dengan menggunakan n=3 atau 3-gram dengan 3 formasi serang terlalu lama untuk awal memprediksi jika data key masih sedikit.

5.2Saran

Penelitian ini belum luput dari kesalahan dan masih banyak kekurangan. Metode N-Gram yang digunakan pada game ini baru bisa memprediksi formasi setelah membaca 4 kali formasi player dan jika telah terbentuk key karena menggunakan ukuran window 3. Metode N-Gram yang digunakan pada game ini agar menjadi lebih baik sebaiknya menggunakan ukuran window kurang dari 3 karena semakin kecil ukuran window semakin cepat aksi prediksi yang akan dilakukan oleh metode N-Gram.