• Tidak ada hasil yang ditemukan

Turn based strategy game menggunakan algoritma resource assignment pada perangkat mobile berbasis android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Turn based strategy game menggunakan algoritma resource assignment pada perangkat mobile berbasis android"

Copied!
158
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

D-1 Nama : Riandanu Madi Utomo Jenis kelamin : Laki-laki

Tempat, tanggal lahir : Purwakarta, 14 April 1990

Agama : Islam

Kewarganegaraan : Indonesia Status : Belum kawin

Anak ke : Satu dari dua bersaudara

Alamat : Perumahan Munjul Jaya Permai Blok C5 No.22, RT 28 RW 10, Purwakarta 41117

Telepon : +62856 599 495 39 E-mail : riandanumu@gmail.com

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : SD Negeri Singawinata 1 tahun ajaran 1996 - 2002

2. Sekolah Menengah Pertama : SMP Negeri 1 Purwakarta tahun ajaran 2002 - 2005

3. Sekolah Menengah Atas : SMA Negeri 1 Purwakarta tahun ajaran 2005-2008

4. Perguruan Tinggi : FTIK Unikom Bandung tahun ajaran 2008- 2013

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

Bandung, 23 Februari 2013

(6)

TURN-BASED STRATEGY GAME MENGGUNAKAN

ALGORITMA RESOURCE ASSIGNMENT PADA

PERANGKAT MOBILE

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Program Studi Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

Riandanu Madi Utomo

10108067

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(7)

iii

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan

skripsi dengan judul “TURN-BASED STRATEGY GAMEMENGGUNAKAN

ALGORITMA RESOURCE ASSIGNMENT PADA PERANGKAT

MOBILE BERBASIS ANDROID”. Skripsi ini disusun dalam rangka memenuhi tugas akhir program strata satu Program Sturi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Dalam menyusun skripsi ini, penulis banyak memperoleh bantuan serta bimbingan dari berbagai pihak. Oleh karena itu, penulis ingin menyampaikan ucapan terimakasih kepada :

1. Keluarga penulis, khususnya Ibu dan Bapak penulis yang telah memberikan dukungan yang sangat besar kepada penulis.

2. Ibu Nelly Indriani W.,S.Si.,M.T. selaku dosen pembimbing yang telah meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penulisan skripsi ini.

3. Bapak Irawan Afrianto, S.T.,M.T. dan Ibu Tati Harihayati M.,S.T.,M.T. selaku dosen penguji yang telah memberikan arahan untuk penulisan skripsi ini.

4. Seluruh dosen dan staf Program Studi Teknik Informatika Universitas Komputer Indonesia.

5. Seluruh teman-teman kelas IF-2 angkatan 2008.

6. Seluruh pihak yang membantu dan mendukung penulis dalam menyusun skripsi ini

(8)

iv

penulis memohon maaf apabila dalam penulisan skripsi, penulis telah menyinggung perasaan atau telah menyakiti hati semua orang baik yang disengaja maupun yang tidak disengaja. Kiranya isi skripsi ini bermanfaat dalam memperkaya khasanah ilmu pendidikan dan juga dapat dijadikan sebagai salah satu sumber referensi bagi peneliti selanjutnya yang berminat meneliti hal yang sama.

Bandung, Februari 2013

(9)

v

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ...v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xii

DAFTAR REFERENSI PROPERTI ... xiv

DAFTAR LAMPIRAN ... xviii

BAB I PENDAHULUAN...1

I.1 Latar Belakang Masalah ... 1

I.2 Perumusan Masalah ... 2

I.3 Maksud dan Tujuan ... 3

I.4 Batasan Masalah... 3

I.5 Metodologi Penelitian ... 3

I.5.1. Metode Pengumpulan Data ... 4

I.5.2. Metode Pembangunan Perangkat Lunak ... 4

I.6 Sistematika Penulisan ... 5

BAB II LANDASAN TEORI...7

II.1 Game ... 7

II.1.1 Jenis – Jenis Game ... 7

II.1.1.1. Turn-based Strategy Game ... 10

(10)

vi

II.2.1. Sejarah Artificial Intelligence ... 11

II.3. Knowledge Based System ... 12

II.3.1. Algoritma Resource Assignment ... 13

II.4. Struktur Data ... 18

II.5. Graph ... 20

II.6. UML ... 23

II.4.1. Diagram-Diagram UML... 24

II.5. HTML5 Canvas ... 26

II.6. Construct 2 ... 26

II.7. PhoneGap ... 26

II.8. Android ... 27

II.9. Adobe Photoshop ... 27

BAB III ANALISIS DAN PERANCANGAN SISTEM ...29

III.1 Analisis Sistem ... 29

III.1.1. Analisis Masalah ... 29

III.1.2. Analisis Game Yang Akan Dikembangkan ... 29

III.1.2.1. Story Line ... 29

III.1.2.2. Tingkat Kesulitan ... 31

III.1.2.3. Gameplay ... 33

III.1.2.4. Scoring ... 35

III.1.3. Analisis Struktur Data ... 36

III.1.4. Analisis Kebutuhan Game... 36

III.1.5. Analisis Algoritma ... 39

III.1.3.1. Algoritma Resource Assignment ... 39

(11)

vii

III.1.4.2. Analisis Kebutuhan Perangkat Lunak ... 66

III.1.4.3. Analisis Kebutuhan Perangkat Pikir ... 66

III.1.7. Analisis Kebutuhan Fungsional ... 66

III.1.8. Analisis Kebutuhan Fungsional ... 67

III.1.5.1. Pendefinisian Fungsi Game... 67

III.1.5.2. Penggambaran Alir Aktivitas Pada Game... 71

III.1.5.3. Penggambaran Kelas ... 74

III.1.5.4. Penggambaran Interaksi Antar Objek Pada Game ... 75

III.2 Perancangan Sistem ... 78

III.2.1. Perancangan Komponen Permainan ... 78

III.2.1.1. Perancangan Karakter ... 78

III.2.1.2. Perancangan Story Board ... 80

III.2.2. Perancangan Struktur Menu ... 83

III.2.3. Perancangan Antar Muka ... 83

III.2.4. Perancangan Pesan ... 87

III.2.5. Jaringan Semantik ... 89

III.2.6. Perancangan Method ... 90

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ...99

IV.1 Implementasi Sistem ... 99

IV.1.1. Implementasi Antar Muka... 99

IV.1.2. Implementasi Pesan ... 106

IV.2 Pengujian Sistem ... 109

(12)

viii

IV.2.2. Pengujian White Box ... 111

IV.2.3. Pengujian Black Box ... 116

IV.2.4. Pengujian Beta ... 119

BAB V KESIMPULAN DAN SARAN ...121

V.I Kesimpulan ... 121

V.II Saran ... 121

(13)

123

[1] Ed Welch. (2007, July) GAMASUTRA. [Online]. HYPERLINK

"http://www.gamasutra.com/view/feature/1535/designing_ai_algorithms_for_.php" [2] Amnon Meisels and Ella Ovadia, "Assigning Resource to Constrained Activities". [3] Roger S. Pressman, Software Engineering: A Practitioner's Approach, 6th ed. New

York: McGraw-Hill Companies, 2005.

[4] Nilwan, Pemrograman Animasi dan Game Profesional. Jakarta, Indonesia: PT. Gramedia Pustaka Utama, 2010.

[5] Scott Rigby and Richard M Ryan, GLUED TO GAMES, How Video Games Draw Us In and Hold Us Spellbound. California, United States of America: Greenwood, 2011.

[6] Herbert A. Simon, Reasoning in Human Affairs. California, United States of America: Stanfold University Press, 1983.

[7] E Rich and K Knight, Artificial Intelligence.: McGraw-Hill, inc, 1991.

[8] Raymond McLeod Jr and George P Schell, Management Information System, 10th ed.: Pearson Education, 2007.

[9] Rajendra Akerkar and Priti Sajja, Knowledge-Based System. United States of America: Jones and Barlett, 2010.

[10] Heri Sismoro and Kusrini Iskandar, Struktur Data dan Pemrograman Dengan Pascal. Yogyakarta: ANDI, 2004.

[11] Prabowo Pudjo Widodo, Menggunakan UML. Bandung, Indonesia: Informatika, 2011.

[12] Steve Fulton and Jeff Fulton, HTML5 Canvas, Native Interactivity and Animation for the Web. Sebastopol, United States of America: O'Reilly, 2001.

[13] Daniel Sidhion. (2012, February) active.tutsplus.com. [Online]. HYPERLINK "http://active.tutsplus.com/articles/reviews/review-construct-2-a-drag-and-drop-html5-game-maker/"

[14] Nazrudin Safaat, Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis ANdroid. Bandung, Indonesia: Informatika, 2012.

[15] Wahana Komputer, 25 Kreasi Foto Gokil dengan Photoshop CS6. Jakarta, Indonesia: ELEX MEDIA, 2012.

(14)

1 BAB I

PENDAHULUAN

I.1 Latar Belakang Masalah

Turn-based strategy (TBS) game adalah turunan dari game dengan

genre strategi dimana pemainnya saling bergiliran pada pengambilan

keputusannya dalam bermain. Sebagai contohnya adalah permainan catur kuno yang merupakan cikal bakal game TBS moderen dimana bidak putih dapat dijalankan oleh pemainnya ketika pemain yang mengendalikan bidak hitam telah menjalankan bidaknya. Untuk menguasai game TBS, player memerlukan kemampuan berfikir dan berstrategi secara logis. Game ini tidak memerlukan kecepatan dan keakuratan dalam bermain tetapi memerlukan pengambilan keputusan yang tepat yang dapat membawa pemain pada kemenangan [1].

Game TBS saat ini telah berkembang dan telah diterapkan pada komputer. Varian game ini pun menjadi berkembang, tidak hanya dalam bentuk catur namun ada pula yang berbentuk simulasi peperangan dengan aturan yang lebih kompleks namun tetap bersifat turn-based dimana pemainnya masih bergiliran dalam mengambil keputusan. Ketika game diadaptasi pada komputer, maka munculah sebuah kebutuhan baru dimana game harus dapat dimainkan oleh hanya satu pemain saja (single player). Agar dapat dimaikan oleh satu pemain saja, maka ditanamkanlah Artificial Intelegence (AI) pada game. Peran AI pada

game salah satunya adalah untuk menggantikan peran manusia dalam menjadi teman atau musuh dari pemain pada sebuah game. Pemain game TBS memerlukan kemampuan berfikir dan berstrategi secara logis yaitu dengan memasukan kondisi yang sedang dialaminya pada penentuan keputusan, maka AI pada game TBS pun harus memiliki kemampuan yang sama agar pemain merasa lebih tertantang dan merasa seakan-akan bermain dengan pemain manusia.

(15)

penerapannya pada game TBS maka nilai yang akan dihasilkan adalah nilai untuk mengeksekusi sebuah keputusan, dan beberapa nilai yang diurutkan dengan menggunakan skala prioritas adalah berbagai kemungkinan kondisi yang dihadapi sehingga AI akan terlihat memiliki kemampuan berfikir dan berstrategi secara logis karena faktor-faktor kondisi yang sedang dihadapi oleh AI ikut dimasukan dalam perhitungan. Game TBS dapat ditempatkan pada berbagai platform, baik desktop, mobile, ataupun konsol. Ini dikarenakan jumlah jenis interaksi pada

game TBS terbilang sangat sedikit dibandingkan dengan game lain. Game TBS tidak memerlukan banyak tombol kontrol pada perangkat yang menjalankannya, bahkan dapat dilakukan hanya dengan menggunakan touch screen. Maka dari itu penempatan game TBS pada mobile platform dipilih agar game ini dapat dimainkan dimana saja dan kapan saja. Perkembangan game TBS pada platform mobile juga masih dinilai lambat. Menurut data dari www.metacritic.com, hanya terdapat 28 game TBS pada platform mobile untuk Android. Berdasarkan hal tersebut, maka peluang untuk mengembangkan game TBS pada platform mobile terutama Android masih sangat besar. Pengembangan game hendaknya tidak pada Android saja, namun dapat merambah ke sistem operasi lainnya seperti iOS atau Windows Phone 7. PhoneGap adalah tools yang berfungsi sebagai penghubung antara aplikasi berbasis HTML dan aplikasi berbasis mobile. Dengan menggunakan PhoneGap, aplikasi dibuat berbasiskan HTML5 sehingga dapat ditempatkan di berbagai macam sistem operasi. Saat ini, PhoneGap mendukung sistem operasi Android, iOS, Windows Phone 7 dan BlackBerry.

I.2 Perumusan Masalah

Adanya berbagai faktor pada game TBS membutuhkan AI yang memiliki kemampuan untuk membuat satu keputusan dari berbagai keputusan yang ada berdasarkan kondisi dan skala prioritas pada setiap keputusan yang ada. Selanjutnya perumusan masalah dapat dirumuskan dalam pertanyaan sebagai berikut :

(16)

3

2. Bagaimana agar game turn-based strategy dapat dimainkan kapan saja dan dimana saja?

I.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk mengaplikasikan Algoritma Resource Assignment

dalam pembuatan game turn-based strategy pada perangkat mobile. Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah untuk :

1. Membuat sebuah game turn-based strategy yang lebih menantang bagi pemainnya.

2. Membuat sebuah game turn-based strategy yang dapat dimainkan kapan saja dan dimana saja.

I.4 Batasan Masalah

Berdasarkan permasalahan serta maksud dan tujuan yang telah dipaparkan sebelumnya, maka penelitian ini dibatasi dengan masalah sebagai berikut :

1. Game hanya mendukung singleplayer mode.

2. Algoritma yang digunakan adalah algoritma Resource Assignment sebagai sistem pengambilan keputusan oleh AI.

3. Tampilan antarmuka dalam game ini adalah tampilan 2D.

4. Implementasi game menggunakan HTML5 dan diaplikasikan kedalam sistem operasi Android dengan menggunakan PhoneGap sebagai tools penghubung antara aplikasi berbasis HTML dan aplikasi berbasis mobile.

5. Permodelan game menggunakan Unified Modelling Language (UML) 6. Game hanya diaplikasikan pada smartphone berbasis Android.

I.5 Metodologi Penelitian

(17)

memiliki dua metode yaitu metode pengumpulan data dan metode pembangunan perangkat lunak.

I.5.1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah metode studi literatur. Studi literatur adalah metode pengumpulan data dilakukan dengan cara mengumpulkan literatur, jurnal, paper, bacaan-bacaan dan website yang ada kaitannya dengan judul penelitian.

I.5.2. Metode Pembangunan Perangkat Lunak

Metode pembangunan perangkat lunak menggunakan model waterfall

[3], yang digambarkan pada Gambar I-1. Metode ini disebut dengan waterfall

karena tahap yang pertama harus dilalui dan diselesaikan terlebih dahulu untuk dapat melanjutkan ke tahapan selanjutnya. Model ini menggunakan pendekatan secara sistematis dan urut mulai dari level :

1. Communication

Communcation adalah tahap awal dalam pembuatan perangkat lunak yang meliputi project initiation dan requirements gathering. Pada tahap ini seluruh kebutuhan yang diperlukan oleh sistem dan akan diaplikasikan dalam bentuk perangkat lunak dikumpulkan. Hal ini sangat penting, mengingat perangkat lunak harus dapat berinteraksi dengan elemen-elemen seperti hardware, dan lain-lain.

2. Planning

Planning adalah tahap perencanaan pembangunan perangkat lunak yang meliputi estimating, scheduling dan tracking. Pada tahap ini akan ditentukan bagaimana sebuah perangkat lunak akan dibuat berdasarkan kebutuhan yang telah dikumpulkan pada tahap sebelumnya.

3. Modelling

(18)

5

4. Construction

Construction adalah tahap implementasi sebuah model perangkat lunak kedalam bahasa komputer melalui proses coding kemudian dilakukan pengujian. Proses implementasi harus berdasarkan model yang telah dirancang sebelumnya dan harus diuji untuk menghindari terjadinya kesalahan (error).

5. Deployment

Deployment adalah tahap penyebaran perangkat lunak kepada pengguna. Pada tahap ini, perangkat lunak yang telah dibuat terus dikembangkan dan diperbaiki dengan adanya support kepada pengguna yang mengalami masalah dan feedback dari pengguna untuk pengembangan selanjutnya.

Gambar I-1 Model Waterfall [3] I.6 Sistematika Penulisan

Sistematika penulisan dalam penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut :

BAB I PENDAHULUAN

Bab I menguraikan tentang latar belakang permasalahan, perumusan inti permasalahan yang dihadapi, mengutarakan maksud dan tujuan penelitian, menguraikan batasan dalam penelitian yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB II LANDASAN TEORI

(19)

BAB III ANALISISDAN PERANCANGAN SISTEM

Bab III menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan parameter yang diteliti serta model matematis untuk analisisnya.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab IV mengimplementsi hasil analisis dan pengujian terhadap sistem yang telah dirancangan dan dibangun.

BAB V KESIMPULAN DAN SARAN

(20)

7 BAB II

LANDASAN TEORI

II.1 Game

Game berasal dari kata bahasa inggris yang berarti dasar permainan. Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual (Intellectual Playability Game) yang juga bisa diartikan sebagai arena keputusan dan aksi pemainnya.Dalam game, ada target-target yang ingin dicapai pemainnya.Permainan adalah kegiatan yang kompleks yang didalamnya terdapat peraturan, play dan budaya.Sebuah permainan adalah sebuah sistem dimana pemain terlibat dalam konflik buatan, disini pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan rekayasa atau buatan, dalam permainan terdapat peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan permainan.

Game bertujuan untuk menghibur, 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 kita untuk menyelesaikannya dengan cepat dan tepat. Tetapi game juga bisa merugikan karena apabila kita sudah kecanduan game kita akan lupa waktu dan akan mengganggu kegiatan atau aktivitas yang sedang kita lakukan [4].

II.1.1 Jenis – Jenis Game

Berdasarkan jenisnya game dibagi menjadi beberapa kategori diantaranya:

Berdasarkan platfrom atau alat yang digunakan [4] :

1. Arcade games, yaitu video game dengan mesin yang memang khusus di desain untuk jenis video games tertentu dan memiliki fitur seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil dan lain-lain.

(21)

3. Console games, yaitu video games yang dimainkan menggunakan console tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii. 4. Handheld games, yaitu yang dimainkan di console khusus video game yang

dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

5. Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile phone

atau PDA.

Berdasarkan genre permainanya [4] : 1. Shooting

Shooting merupakan salah satu genre dalam game biasanya mensimulasikan tembak-tembakan , atau hajar-hajaran bisa juga tusuk-tusukan, tergantung cerita dan tokoh di dalamnya, video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak

2. Fighting

Fighting (pertarungan) jenis ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini adalah penguasaan

skillkarakter yang di mainkan, pengenalan karakter dan timing sangatlah penting, dan berbeda seperti game Aksi pada umumnya yang umumnya hanya melawan Artificial Intellegence atau melawan komputer saja, pemain jenis

fighting game ini baru teruji kemampuan sesungguhnya dengan melawan pemain lainnya.

3. Petualangan

Refleks dan kelihaian pemain dalam bergerak, berlari, melompat hingga memecut atau menembak tidak diperlukan di sini.Video Game murni petualangan lebih menekankan pada jalan cerita dan kemampuan berpikir pemain dalam menganalisa tempat secara visual, memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan percakapan karakter hingga penggunaan benda-benda tepat pada tempat yang tepat.termasuk didalamnya petualangan dengan teks atau sistem tunjuk dan klik.

(22)

9

Video Game jenis ini seringkali menggambarkan dunia di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga membangun laboratorium cloning. Video Game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas.

5. Role Playing

Video game jenis ini sesuai dengan terjemahannya, bermain peran, memiliki penekanan pada tokoh/peran perwakilan pemain di dalam permainan, yang biasanya adalah tokoh utamanya, dimana seiring kita memainkannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain (biasanya menjadi semakin hebat, semakin kuat, semakin berpengaruh, dll) dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter dan lain-lain.

6. Strategi

(23)

7. Olahraga

Biasanya game genre ini permainannya diusahakan serealistik mungkin di buat se mirip mungkin dengan aslinya walau kadang ada yang menambah unsur fiksi dalam game olahraga tersebut.

8. Edukasi

Video Game jenis ini dibuat dengan tujuan spesifik sebagai alat pendidikan, baik itu untuk belajr mengenal warna, mengenal huruf dan angka, matematika, belajar bahasa asing dan lain-lain. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan desain visual ataupun animasinya.

II.1.1.1. Turn-based Strategy Game

Turn-based strategy (TBS) game adalah turunan dari game dengan

genre strategi dimana pemainnya bergantian dalam bermain. Hal ini sangat bertolak belakang dengan game-game lain dimana para pemainnya bermain bersama secara simultan.Game TBS berawal dari permainan catur kuno dimana player saling bergiliran menjalankan bidak caturnya.Game TBS mempunyai

gameplay yang menawarkan pemainnya memilih satu dariberbagai macam

keputusan yang disediakan pada game.Saat ini game TBS banyak dijumpai dalam

video game.Berbagai jenis gameplay turunan game TBS ini pun bermunculan seperti menghabisi musuh (annihilate), menguasai wilayah (dominate), bahkan dengan misi-misi lebih spesifik lagi [5].

(24)

11

II.2. Artificial Intelligence (AI)

Artificial Intelligenceatau kecerdasan buatan merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan. Definisi Kecerdasan Buatan, Berbagai definisi diungkapkan oleh para ahli untuk dapat memberi gambaran mengenai kecerdasan buatan beberapa diantaranya :

1. Kecerdasan Buatan (Artificial Intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas[6]. 2. Kecerdasan Buatan (AI) merupakan sebuah studi tentang bagaimana membuat

komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia [7].

Dari definisi diatas maka dapat ditarik kesimpulan bahwa kecerdasan buatan (Artificial Intellegence) adalah suatu ilmu yang mempelajari cara membuat komputer yang didalamnya terdapat pengetahuan – pengetahuan yang diperlukan untuk mengaplikasikannya, sehingga komputer ini dapat melakukan pekerjaan – pekerjaan yang dilakukan oleh manusia.

II.2.1. Sejarah Artificial Intelligence

(25)

terlalu ambisius seperti SIM dan DSS.Namun seiring waktu, riset yang terus menerus akhirnya membuahkan hasil dan AI telah menjadi wilayah aplikasi komputer yang solid [8].

II.3. Knowledge Based System

Pengetahuan (knowledge): kemampuan untuk kegiatan yang efektif. Knowledge adalah suatu pengetahuan yang dapat digunakan untuk menyimpulkan, dan menyelesaikan suatu masalah berdasarkan data yang ada. Dalam mengorganisasikan knowledge kita harus mengerti apa yang akan kita hadapi, masalah apa yang akan timbul, bagaimana cara kita memperoleh data, bagaimana urutan-urutan yang harus ditempuh dan bagaimana cara menyelesaikan masalah tersebut, dan juga bagaimana kita menyampaikannya pada user.

Knowledge based system merupakan bagian dari artificial intelligence

yang menyediakan fungsi pengambilan keputusan secara cerdas dengan berdasarkan berbagai macam pertimbangan. Pengetahuan yang ditanamkan pada sistem didapat dari aturan-aturan yang akan digunakan pada sistem. Tujuan utama dari penggunaan knowledge based system adalah sebagai pembantu dalam pembuatan keputusan9]. Knowledge based system menggunakan metoda dan teknik pada artificial intelligence. Komponen utama pada knowledge based system adalah :

1. Knowledge base

Knowledge base adalah bagian yang berisi fakta-fakta yang menjelaskan problem domain dengan menggunakan aturan – aturan untuk mengekspresikan logika masalah. Teknik representasi yang paling popular adalah penggunaan RULES. Suatu Rule menyatakan apa yang harus dilakukan pada suatu situasi dan terdiri dari 2 bagian, yaitu : KONDISI (benar atau salah) serta AKSI yang dilakukan bila kondisi bernilai benar.

2. Acquisition Mechanism

(26)

13

diterapkan pada sistem dan dirubah menjadi representasi data yang dimengerti oleh sistem.

3. Inference mechanism

Inference mechanism adalah bagian yang melaksanakan penalaran dengan cara menggunakan isi dari knowledge base melalui urutan tertentu. Saat konsultasi inference engine memeriksa rules pada knowledge base satu per

satu, bila “rule’s condition bernilai true” maka aksi tertentu akan

dilaksanakan.

Knowledge based system digunakan sebagai framework pada sistem, dengan kata lain knowledge based system hanya sistem pendukung dalam pengambil keputusan berdasarkan berbagai macam pertimbangan. Dalam mencari nilai untuk dipertimbangkan dapat digunakan sistem cerdas lain.

II.3.1. Algoritma Resource Assignment

Algoritma resource assignment (RAA) adalah sebuah algoritma yang dapat menentukan sebuah nilai untuk sebuah objek yang memiliki resource

berdasarkan nilai resource yang berasal dari objek lain maupun objek itu sendiri. Dengan kata lain, RAA adalah algoritma yang bergantung pada nilai resource

yang dimiliki oleh objek-objek dalam menentukan sebuah nilai untuk sebuah objek [9]. Algoritma ini memiliki tiga parameter utama yaitu objects, resource

dan modifier. Secara keseluruhan algoritma ini terbagi menjadi empat bagian yaitu

(27)

Gambar II-1 Bagian-Bagian Pada Algoritma Resource Assignment [1]

1. Gather Task

Gather Task adalah proses pertama dari algoritma resource assignment yang mana pada tahap ini adalah menentukan banyaknya objects yang terlibat.

2. Generate All Possible Assignments

Generate All Possible Assignments adalah proses penentuan nilai modifier

yang mana nilai modifier ini akan digunakan untuk mengambil keputusan terhadap objects. Proses penentuan nilai modifier disini akan melibatkan

resource yang terdapat pada objects. Nilai modifier terdapat pada setiap keputusan. Setiap keputusan tersebut akan diujikan pada setiap objects. Pengujian dilakukan berdasarkan aturan yang akan diterapkan pada sistem. Setiap terdapat aturan yang terpenuhi, maka nilai modifier untuk keputusan pada aturan tersebut akan ditambahkan.

3. Sort Assignments According to Score

Sort Assignments According to Score adalah proses pengurutan setiap nilai

modifier pada objects. Proses pengurutan ini bertujuan menentukan nilai

modifier terbesar.

4. Assign to Task Doers

Assign to Task Doers adalah proses untuk menjalankan keputusan dengan memperhatikan nilai modifier terbesar yang didapatkan dari tahap Sort Assignments According to Score.

(28)

15

dipenuhi. Nilai modifier akan ditambahkan ketika setiap kondisi pada setiap keputusan terpenuhi oleh objek tersebut. Dengan asumsi setiap objek telah diperiksa kondisinya berdasarkan aturan yang diterapkan maka gambaran untuk menentukan keputusan yang akan diambil pada contoh kasus ini ditunjukan pada Tabel II-1. Proses Gather Task terjadi ketika ditentukan berapa objek yang terlibat, berapa keputusan dan berapa kondisi pada setiap keputusan yang akan dijalankan serta bagaimana aturan kondisi pada setiap keputusan tersebut. Proses

Generate All Possible Assignments terjadi ketika setiap objek diperiksa apakah sesuai dengan kondisi-kondisi yang telah ditentukan. Pada contoh kasus yang ditunjukan pada Tabel II-1, nilai Y berarti objek tersebut memenuhi sebuah kondisi sedangkan nilai N berarti objek tersebut tidak memenuhi sebuah kondisi. Jumlah kondisi yang terpenuhi adalah nilai modifier. Proses Sort Assignments According to Score terjadi ketika nilai modifier untuk keputusan ke-1 dan keputusan ke-2 diurutkan lalu menuju proses Assign to Task Doers dimana nilai modifier terbesar dipilih dan keputusan dengan nilai modifier terbesar dipilih untuk sebuah objek. Berikut adalah detail prosesnya :

1. Lakukan perhitungan pengambilan keputusan untuk objek ke-1

a. Periksa kondisi ke-1 pada keputusan ke-1. Karena diasumsikan objek ke-1 memenuhi kondisi ke-1 pada keputusan ke-1 maka nilai modifier untuk keputusan ke-1 ditambah 1.

Modifier_1 = modifier_1 + 1 Modifier_1 = 0 + 1 = 1

b. Periksa kondisi ke-2 pada keputusan ke-1. Karena diasumsikan objek ke-1 memenuhi kondisi ke-1 pada keputusan ke-1 maka nilai modifier untuk keputusan ke-2 ditambah 1.

Modifier_1 = modifier_1 + 1 Modifier_1 = 1 + 1 = 2

(29)

Modifier_2 = modifier_2 Modifier_2 = 0

d. Periksa kondisi ke-2 pada keputusan ke-2. Karena diasumsikan objek ke-1 memenuhi kondisi ke-1 pada keputusan ke-2 maka nilai modifier untuk keputusan ke-1 ditambah 1.

Modifier_2 = modifier_2 + 1 Modifier_2 = 0 + 1 = 1

e. Urutkan nilai modifier 1 dan modifier 2, lalu tentukan nilai modifier yang terbesar. Karena nilai modifier terbesar adalah nilai modifier untuk keputusan ke-1, maka keputusan yang dipilih oleh objek ke-1 adalah keputusan ke-1.

2. Lakukan perhitungan pengambilan keputusan untuk objek ke-2

a. Periksa kondisi ke-1 pada keputusan ke-1. Karena diasumsikan objek ke-2 memenuhi kondisi ke-1 pada keputusan ke-1 maka nilai modifier untuk keputusan ke-1 ditambah 1.

Modifier_1 = modifier_1 + 1 Modifier_1 = 0 + 1 = 1

b. Periksa kondisi ke-2 pada keputusan ke-1. Karena diasumsikan objek ke-2 tidak memenuhi kondisi ke-1 pada keputusan ke-1 maka nilai modifier untuk keputusan ke-2 tidak ditambah.

Modifier_1 = modifier_1 Modifier_1 = 1

c. Periksa kondisi ke-1 pada keputusan ke-2. Karena diasumsikan objek ke-2 memenuhi kondisi ke-1 pada keputusan ke-2 maka nilai modifier untuk keputusan ke-2 ditambah 1.

Modifier_2 = modifier_2 + 1 Modifier_2 = 0 + 1 = 1

(30)

17

Modifier_2 = modifier_2 + 1 Modifier_2 = 1 + 1 = 1

e. Urutkan nilai modifier 1 dan modifier 2, lalu tentukan nilai modifier yang terbesar. Karena nilai modifier terbesar adalah nilai modifier untuk keputusan ke-2, maka keputusan yang dipilih oleh objek ke-2 adalah keputusan ke-2.

3. Lakukan perhitungan pengambilan keputusan untuk objek ke-3

a. Periksa kondisi ke-1 pada keputusan ke-1. Karena diasumsikan objek ke-3 tidak memenuhi kondisi ke-1 pada keputusan ke-1 maka nilai modifier untuk keputusan ke-1 tidak ditambah.

Modifier_1 = modifier_1 Modifier_1 = 0

b. Periksa kondisi ke-2 pada keputusan ke-1. Karena diasumsikan objek ke-3 tidak memenuhi kondisi ke-1 pada keputusan ke-1 maka nilai modifier untuk keputusan ke-2 tidak ditambah.

Modifier_1 = modifier_1 Modifier_1 = 0

c. Periksa kondisi ke-1 pada keputusan ke-2. Karena diasumsikan objek ke-3 memenuhi kondisi ke-1 pada keputusan ke-2 maka nilai modifier untuk keputusan ke-2 ditambah 1.

Modifier_2 = modifier_2 Modifier_2 = 0 + 1 = 1

d. Periksa kondisi ke-2 pada keputusan ke-2. Karena diasumsikan objek ke-3 memenuhi kondisi ke-1 pada keputusan ke-2 maka nilai modifier untuk keputusan ke-2 ditambah 1.

Modifier_2 = modifier_2 + 1 Modifier_2 = 1 + 1 = 2

(31)

Tabel II-1Contoh Pengambilan Keputusan Algoritma Resource Assignment

Objek Keputusan ke-1 Keputusan ke-2 Keputusan yang dipilih C-1.1 C-1.2 Modifier 1 C-2.1 C-2.2 Modifier 2

1 Y Y 2 N Y 1 keputusan ke-1 2 Y N 1 Y Y 2 keputusan ke-2 3 N N 0 Y Y 2 keputusan ke-2

Dimana :

C-1.1 adalah kondisi ke-1 pada keputusan ke-1 C-1.2 adalah kondisi ke-2 pada keputusan ke-1 C-2.1 adalah kondisi ke-1 pada keputusan ke-2 C-2.2 adalah kondisi ke-2 pada keputusan ke-2

II.4. Struktur Data

Struktur data adalah suatu kumpulan objek-objek data yang memiliki aturan (terorganisir) yang kemudian digolongkan berdasarkan operasi-operasi untuk memanipulasinya. Kompponen yang dimuat daam struktur data ini dapat berupa objek data elementer atau objek terstruktur lainnya. Contoh objek data terstruktur adalah array, record, list, stack/tumpukan, queue/antrian, tree/pohon, set/himpunan, file/berkas dan lain-lain [10].

Atribut-atribut penting untuk suatu tipe data terstruktur meliputi: 1. Jumlah komponen

Berdasarkan perubahan umlah komponen selama eksekusi program, maka dapat dikelompokan menjadi struktur data statis yang jumlah komponennya tidak berubah dan struktur data dinamis yang jumlah komponennya dapat berubah.

2. Tipe untuk setiap komponen

(32)

19

3. Nama-nama untuk memilih komponen

Hampir semua struktur data menyediakan operasi untuk mengakses komponen secara individu. Pada suatu array, hal ini dilakukan dengan sebuag subscript/indeks berupa angka.

4. Jumlah maksimum komponen

Untuk sebuah struktur data dinamis mungkin perlu ditentukan dengan jelas.

5. Pengorganisasian semua komponennya.

Susunan yang paling umum adalah berupa barisan linier seperti pada array

berdimensi 1, record, list, stack dan file. Selanjutnya ada yang dapat dikembangkan menjadi struktur non linear seperti array multi dimensi dan juga pohon/tree.

Operasi-operasi pada struktur data meliputi: 1. Operasi seleksi komponen

Operasi seleksi komponen adalah operasi untuk mengakses komponen struktur data dan membuatnya tersedia untuk pemrosesan dengan operasi lain. Operasi ini dapat dibedakan menjadi operasi akses secara random dimana struktur data yang diakses dapat berganti-ganti dan operasi akses secara berurutan/sekuensial dimana komponen-komponen diakses satu demi satu dalam urutan atau rangkaian pemrosesan.

2. Operasi struktur data secara keseluruhan

Operasi ini memungkinkan struktur data secara keseluruhan sebagai argumenya dan menghasilkan struktur data yang baru.

3. Penyisipan dan penghapusan komponen

Operasi ini akan mengubah jumlah komponen dan berpengaruh pada representasi dan pengelolaan penyimpanan.

(33)

II.5. Graph

Graph merupakan struktur data yang tersusun atas simpul-simpul atau titik-titik (Simpul) yang terhubung satu sama lain dengan garis-garis (edge). Secara matematis, graph dinyatakan sebagai berikut:

G = (V,E) Dimana:

G = Graph

V= Simpul atau vertex, simpul E = Sisi, busur atau edge

Terdapat banyak sekali jenis graph. Namun secara orientasi arah, graph dapat dibedakan menjadi dua, pertama graph berarah. Graph berarah merupakan graph yang mana sisinya memiliki arah. Sisi ini biasa disebut busur (arc). Pada graph berarah, urutan pasangan simpul sangat diperhatikan karena dapat menyatakan hal yang berbeda.

Gambar II-2 Graph Berarah

(34)

21

menghubungkan simpul Surabaya dan Yogyakarta, simpul Surabaya merupakan simpul awal dan simpul Yogyakarta adalah simpul terminal.

Yang kedua adalah graph tidak berarah. Graph tidak berarah merupakan graph yang sisinya tidak memiliki arah (kebalikan dari graph berarah). Pada graph tidak berarah, urutan pasangan simpul yang berhubungan tidak diperhatikan.

Gambar II-3 Gambar III-1 Graph Tidak Berarah

Dari Gambar II-3 dapat dilihat bahwa pasangan simpul (Bandung, Garut) dan (Garut, Bandung) menyatakan hal yang sama karena busur yang ada tidak memiliki orientasi arah. Graph dapat dinyatakan sebagai sebuah struktur data, atau secara spesifik dinamakan sebagai ADT (abstract data type) yang terdiri dari kumpulan simpul dan sisi yang membangun hubungan antar simpul. Secara umum terdapat dua macam representasi dari struktur data graph, yang pertama

adjacency list dan yang kedua adjacency matrix.

(35)

Gambar II-4 Adjency List

Graph pada Gambar II-4 Adjency List dapat digambarkan sebagai senarai {A,B}, {A,C} dan {B,C}. Representasi dari adjacency list dapat dilihat pada Tabel II-2.

Tabel II-2 Representasi Adjacency List

Simpul Kedekatan Senarai Dari Simpul yang Berhubungan A Dekat dengan B,C

B Dekat dengan A,C C Dekat dengan A,B

Salah satu kekurangan dari representasi adjacency list adalah tidak adanya tempat untuk menyimpan nilai yang melekat pada sisi yang mana contoh nilai ini adalah nilai jarak simpul.

(36)

23

Gambar II-5 Graph Tak Berarah

Gambar II-6 Representasi Adjacency Matrix Dari Gambar II-5

Kelebihan dari adjacency matrix ini adalah elemen matriksnya dapat diakses langsung melalui indeks. Sedangkan kekurangannya bila graph memiliki jumlah sisi atau busur yang relatif sedikit, kebutuhan ruang hash tabel untuk matriks menjadi boros dan tidak efisien karena komputer menyimpan elemen yang tidak perlu.

II.6. UML

UML singkatan dari Unified Modeling Language yang berarti bahasa pemodelan standard. Ketika kita membuat model menggunakan konsep UML ada aturan-aturan yang harus diikuti. Bagaimana elemen pada model-model yang kita buat berhubungan satu dengan yang lainnya harus mengikuti standar yang ada.UML bukan hanya sekedar diagram, tetapi juga menceritakan konteksnya [11]. UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk : 1. Merancang perangkat lunak

(37)

3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem.

4. Mendokumentasi sistem yang ada, proses-proses dan organisasinya.

II.4.1. Diagram-Diagram UML

Beberapa literatur menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misalnya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi. Namun demikian model-model itu dapat dikelompokan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain :

a. Diagram Kelas. Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. 2. Diagram Paket (Package Diagram). Bersifat statis. Diagram ini

memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen.

3. Diagram Use-Case. Bersifat statis. Diagram ini memperlihatkan himpunan use-case dan actor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengordinasikan dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna.

4. Diagram interaksi dan sequence (urutan). Bersifat dinamis. Diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu.

5. Diagram Komunikasi (Communication Diagram). Bersifat dinamis. Diagram sebagai pengganti diagramkolaborasi UML 1.4 yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan.

(38)

25

kejadian serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka (interface), kelas, kolaborasi dan terutama penting pada pemodelan sistem-sistem yang reaktif.

7. Diagram Aktivitas (Activity Diagram). Bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek.

8. Diagram komponen (Component Diagram). Bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak pada komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan kedalam satu atau lebih kelas-kelas, antaramuka-antarmuka serta kolaborasi-kolaborasi.

9. Diagram Deployment (Deployment Diagram). Bersifat statis. Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (run-time). Memuat simpul-simpul beserta komponen-komponen yang ada di dalamnya. Diagram deployment berhubungan erat dengan diagram komponen dimana diagram ini memuat satu atau lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak mesin (distributed computing).

10.Kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai dengan kebutuhan. Pada UML dimungkinkan kita menggunakan diagram-diagram lain (misalnya data flow diagram, Entity Relationship diagram dan sebagainya) [11].

II.5. HTML5 Canvas

(39)

HTML5 Canvas adalah bagian pada HTML5 yang merupakan

bitmapped area dan dapat dimanipulasi dengan menggunakan JavaScript. HTML5 Canvas akan me-render sepenuhnya dari area tersebut dari tiap-tiap

framemenggunakan Canvas API yang dipanggil melalui JavaScript. HTML5 Canvas digunakan untuk mengolah dan menampilkan data dalam bentuk grafik pada HTML. [12]

II.6. Construct 2

Construct 2 adalah tools yang digunakan dalam membuat sebuah game tanpa memerlukan pengetahuan tentang pemrograman. caranya hanya melakukan drag and drop item yang tersedia, menambahkan perilaku mereka, dan membuat mereka menjadi bergerak dengan sebuah event.

Construct 2 memiliki interface yang sangat mirip dengan produk microsoft office. hal ini membuat mudah bagi orang-orang yang terbiasa dengan produk office. karena sifat HTML 5 masih eksperimental, ada beberapa fitur dalam pembuatan game yang mungkin tidak bekerja dengan baik di semua perangkat. Construct 2 merupakan tools yang dapat dipelajari dengan cepat, dalam pembuatan game dapat dilakukan dengan mengekspor permainan sendiri dan bekerja dalam mobile device [13].

II.7. PhoneGap

(40)

27

II.8. Android

Android adalah sebuah system operasi untuk perangkat mobile berbasis linux yang mencakup system operasi, middleware dan aplikasi.Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka.Android merupakan generasi baru platform mobile, platform yang memberikan pengembangan untuk melakukan pengembangan sesuai dengan yang diharapkan. Pengembangan aplikasi Android diperbolehkan untuk mendistribusikan aplikasi mereka di bawah skema lisensi apapun yang mereka inginkan.Pengembang memiliki beberapa pilihan ketika membuat aplikasi yang berbasis android. Sebagian besar pengembang menggunakan eclipse yang tersediasecara bebas untuk merancang dan mengembangkan aplikasi android, karena memiliki android plug-in yang tersedia untuk memfasilitasi pengembangan android. Selain itu, eclipse juga mendapat dukungan langsung dari google untuk menjadi IDE pengembangan aplikasi Android,ini terbukti dengan adanya penambahan plug-in untuk eclipse untuk membuat project android dimana source software langsung dari situs resminya google [14].

II.9. Adobe Photoshop

Photoshop adalah sebuah image editor atau program penyunting gambar yang berfungsi untuk membuat, menyunting , dan memodifikasi gambar-gambar digital yang terdapat didalam computer.

Photoshop merupakan program penyunting gambar yang paling hebat dan paling popular hingga saat ini. Kemampuan serta fasilitasnya yang lengkap membuatnya diminati oleh para seniman, profesional, maupun pemula yang membutuhkan sebuah program gambar yang lengkap namun mudah dalam penggunaannya.

Photoshop saat ini digunakan untuk membuat gambar-gambar untuk keperluan seperti iklan,brosur, poster, serta berbagai macam output cetak lainnya. Bagi para penggemar photografi, Photoshop juga dapat digunakan untuk

(41)
(42)

29 BAB III

ANALISIS DAN PERANCANGAN SISTEM

III.1 Analisis Sistem

Analisis sistem merupakan kegiatan penguraian suatu sistem informasi yang utuh dan nyata ke dalam bagian-bagian atau komponen-komponen komputer yang bertujuan untuk mengidentifikasi serta mengevaluasi masalah-masalah yang muncul, hambatan-hambatan yang mungkin terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga mengarah kepada solusi dengan kebutuhan serta perkembangan teknologi.

III.1.1. Analisis Masalah

Adanya berbagai faktor pada game TBS menimbulkan beberapa masalah, diantaranya adalah :

1. Bagaimana memunculkan kemampuan berikir dan berstrategi secara logis pada AI yang terdapat di gameturn-based strategy?

2. Bagaimana agar gameturn-based strategy dapat dimainkan kapan saja dan dimana saja?

Solusi yang dapat memecahkan masalah tersebut adalah dengan memakai algoritma resource assignment sebagai pembuat keputusan pada AI.Algorima resource assignment memiliki kemampuan untuk membuat satu keputusan dari berbagai keputusan yang ada berdasarkan kondisi dan skala prioritas pada setiap keputusan tersebut.

III.1.2. Analisis Game Yang Akan Dikembangkan

Analisis game yang akan dikembangkan merupakan bagian yang mendeskripsikan game yang akan dikembangkan. Pada bagian ini terdiri dari story line, tingkat kesulitan, gameplay dan scoring.

III.1.2.1. Story Line

Storyline merupakan cerita pada game dimana pada storyline

(43)

2106, diceritakan ketika tahun 2087, planet bumi ada pada kondisi yang sangat mengkawatirkan dikarenakan efek pemanasan global berada pada puncaknya. Karena dikhawatirkan akan mengancam kelangsungan hidup umat manusia, maka dibawah Perserikatan Bangsa Bangsa (PBB) umat manusia memulai proyek terbesar sepanjang sejarah yaitu membuat alat yang akan mendinginkan bumi dengan memperkuat medan magnetik pada kutub bumi. PBB kemudian membagi negara-negara kepada dua fraksi yaitu

Northern Alliance yang dipimpin oleh Amerika Serikatdan Southern Alliance yang dipimpin oleh Russia.Tugas masing-masing fraksi adalah membuat alat pada masing-masing kutub magnetik di bumi untuk mengurangi efek pemanasan global pada bumi.

Pada tahun 2104 alat untuk memperkuat medan magnetik bumi telah selesai. Alat tersebut kemudian dioperasikan pada 19 Oktober 2104. Namun diluar dugaan, medan magnetik bumi menjadi terlalu kuat sehingga intensitas cahaya matahari yang masuk ke bumi menjadi sangat rendah. Kini bumi mengalami zaman es ke-3. Bumi bagian utara dan selatan kini tak bias ditinggali manusia. Umat manusia pindah ke bagian ekuator dimana sinar matahari, namun mereka terpecah menjadi dua kubu yang saling menyalahkan atas tragedy menyelamatkan bumi dari pemanasan global yang berujung pada pendinginan global.Kubu UNION yang berpusat di Columbia dan Great Eastern Republic(GER)yang berpusat di Indonesia.

Pada tahun 2106 dimulailah The Icycle War yaitu perang besar antara UNION dan GER pada zaman es ke-3.Perang kini tidak menggunakan manusia pada pertempuran mengingat jumlah manusia telah berkurang banyak akibat ganasnya zaman es ke-3.Combat Gadget Droid

(44)

31

Pada game ini, player akan menjadi komandan pasukan GER yang akan bertempur dengan mengontrol Combat Gadget Droid yang merupakan unit pada game. Berdasarkan cerita diatas maka game ini diberi

judul “The Icycle War - 2106”.

Jenis misi yang terdapat pada game ini adalah mendominasi wilayah pada map yang terdapat pada setiap stage. Sistem pendominasian terletak pada jumlah node yang dikusai, semakin banyak node yang dikusai maka semakin besar dominasi pada map. Player yang menguasai seluruh

Detail tingkat kesulitan pada stage 1 ditunjukan pada Tabel III-1. Tabel III-1 Detail Tingkat Kesulitan Pada Stage 1

Jumlah Keterangan

Jumlah node 6 Jumlah node pada map

Jumlah node player 1 Jumlah node milik player yang diberikan pada awal permainan Jumlah node musuh 1 Jumlah node milik musuh yang diberikan pada awal permainan Jumlah unit player 8 Terdiri dari 5 Infantry, 2 Tank, 1

Artillery

Jumlah unit musuh 8 Terdiri dari 5 Infantry, 2 Tank, 1

Artillery

Jumlah resource point player

100 Jumlah resource point yang diberikan pada player pada awal permainan

(45)

musuh diberikan pada musuh pada awal permainan

2. Stage 2

Detail tingkat kesulitan pada stage 2 dijabarkan pada Tabel III-2 Tabel III-2 Detail Tingkat Kesulitan Pada Stage 2

Jumlah Keterangan

Jumlah node 6 Jumlah node pada map

Jumlah node player 1 Jumlah node milik player yang diberikan pada awal permainan Jumlah node musuh 1 Jumlah node milik musuh yang diberikan pada awal permainan Jumlah unit player 8 Terdiri dari 5 Infantry, 2 Tank, 1

Artillery

Jumlah unit musuh 10 Terdiri dari 5 Infantry, 3 Tank, 2

Artillery

Jumlah resource point player

80 Jumlah resource point yang diberikan pada player pada awal permainan

Jumlah resource point

musuh

80 Jumlah resource point yang diberikan pada musuh pada awal permainan

3. Stage 3

Detail tingkat kesulitan pada stage 3 dijabarkan pada Tabel III-3. Tabel III-3 Detail Tingkat Kesulitan Pada Stage 3

Jumlah Keterangan

Jumlah node 8 Jumlah node pada map

(46)

33

diberikan pada awal permainan Jumlah unit player 8 Terdiri dari 5 Infantry, 2 Tank, 1

Artillery

Jumlah unit musuh 10 Terdiri dari 5 Infantry, 3 Tank, 2

Artillery

Jumlah resource point player

100 Jumlah resource point yang diberikan pada player pada awal permainan

Jumlah resource point

musuh

150 Jumlah resource point yang diberikan pada musuh pada awal permainan

III.1.2.3. Gameplay

Analisis gameplay dilakukan untuk menggambarkan aturan-aturan dalam game. Analisis gameplay terdiri dari deskripsi alur permainan, deskripsi aturan game dan deskripsi kondisi pada game.

1. Deskripsi Alur Permainan

Alur permainan merupakan urutan proses yang dilalui player secara bertahap dalam game. Pada game ini alur permainan sangat bergantung pada keputusan player sehingga alur permainan tidak dapat dipastikan. Hanya saja player harus mengalahkan musuhnya dengan menguasai node yang ada pada permainan.

(47)

2. Deskripsi Aturan Game

Aturan (rule) pada game dibuat untuk menjaga keseimbangan permainan sehingga permainan tidak memberatkan atau meringankan player. Berikut adalah aturan utama yang akan diterapkan pada game ini :

(a) Player membuat keputusan terhadap sumber daya yang dimilikinya yang berupa unit ,resource, dan node.

(b) Kondisi untuk memenangkan pertempuran adalah ketika seluruh

node pada map berhasil dikuasai.

Dalam game ini, player harus mengambil keputusan yang dapat diambil pada setiap turn. Berikut adalah aturan pengambilan keputusan untuk setiap unit :

(a) Jenis keputusan yang dapat diambil adalah pass, build unit, attack, assign unit.

(b) Pass adalah keputusan player untuk tidak melakukan apa-apa pada

turn-nya.

(c) Build unit adalah keputusan untuk membuat unit, unit dapat dibuat dengan uang yang dimiliki player.

(d) Attack adalah keputusan menyerang node netral atau node milik musuh dengan mengirimkan beberapa unit yang ada ke node

tersebut.

(e) Assign unit adalah keputusan menempatkan unit pada node yang dimiliki player dengan tujuan mempertahankan node tersebut dari serangan musuh.

Turn-based strategy game mempunyai sistem turn pada

gameplay-nya.Turn adalah kondisi dimana suatu keputusan harus

diambil.Turn dimulai dari player dan dilanjutkan dengan musuhnya (AI), lalu kembali dilanjutkan oleh player dan seterusnya hingga permainan berakhir ketika seluuh node dikuasai oleh salah satu pihak.

Unit pada game ini dibagi menjadi tiga kelas yaitu infantry, tank

(48)

35

infantry lebih lemahdari artillery dan tank, tank lebih kuat dari infantry dan lebih lemah dari artillery, sedangkan artillery lebih kuat tank dan infantry. 3. Deskripsi Kondisi Pada Game

(a) Keadaan awal (starting condition)

Pada saat memulai game, player dan AI diberikan kondisi sebagai berikut :

(i) Terdapat 1 node yang telah dikuasai.

(ii)Diberikan sejumlah resource untuk memproduksi unit.

(iii)Diberikan sejumlah unit untuk mengusai atau mempertahankan

node.

(b) Keadaan dalam game (in-game condition)

Pada saat bermain, player harus melakukan tugas-tugas sebagai berikut :

(i) Mempertahankan node yang dimiliki.

(ii)Menyerang dan mengambil alih node musuh atau node netral. (iii)Memproduksi unit.

(iv)Tidak melakukan apa-apa (skip turn) (c) Keadaan akhir (final condition)

Gameakan berakhir dengan kondisi menang (victory) jika seluruh

node berhasil dikuasai oleh player. Sedangkan game akan berakhir dengan kondisi kalah (lose) jika seluruh node dikuasai oleh musuh (AI) atau player keluar dari game.

III.1.2.4. Scoring

Sistem pemberian skor (scoring) pada game ini terjadi ketika

player telah menyelesaikan game pada suatu stage. Pemberian skor pada

player tidak hanya ketika player memenangkan permainan tetapi ketika

player kalah pada permainan. Skor yang diberikan berupa jumlah resource

(49)

III.1.3. Analisis Struktur Data

Struktur data yang digunakan didalam penelitian ini adalah struktur data linked list. Parameter yang menggunakan linked list antara lain adalah parameter node yang dideklarasikan dalam bentuk berikut :

Type Node : <

Parameter node menggunakan linked list yang berisikan atribut nodeid, stat, infantry, tank dan artillery. Atribut tersebut merupakan

resource yang akan berpengaruh dalam perhitungan nilai keputusan menggunakan algoritma resource assignment.

III.1.4. Analisis Kebutuhan Game

Pada game ini terdapat objek-objek dan resource yang akan berperan dalam jalannya permainan ini. Objek dan resource dapat dilihat pada Tabel III. 4.

Tabel III. 4 Objek dan Resource Permainan

Nama Keterangan

Node Merupakan objek yang menampung resource

pada game.

Infantry Merupakan salah satu resource pada game.

Tank Merupakan salah satu resource pada game.

Artillery Merupakan salah satu resource pada game.

Modifier Merupakan nilai yang terdapat pada setiap

(50)

37

Map Merupakan arena pada permainan di setiap stage

yang direpresentasikan menggunakan Graph dengan node sebagai simpulnya.

Selain objek dan resource, permainan ini juga membutuhkan map yang dibentuk yang direpresentasikan dalam bentuk graph tertutup dan tidak berarah. Di dalam map terdapat node, yaitu simpul-simpul yang harus dikuasai oleh player. Pada bagian perancangan ini, node digambarkan dengan bulatan berwarna. Angka dalam node merepresentasikan urutan

node. Warna pada node merepresentasikan status kepemilikan node

tersebut. Warna merah untuk node milik musuh (AI), warna biru untuk

node milik player dan warna putih untuk node netral. Setiap node

dihubungkan dengan menggunakan garis penghubung yang merepresentasikan hubungan tetangga dari sebuah node, contohnya adalah

node 1 memiliki dua tetangga yaitu node 2 dan node 6 pada Gambar III-2. Penggambaran inisialisasi map pada permainan ini dapat ini dapat dilihat pada Gambar III-2 dan Gambar III-3.

(51)

Gambar III-3 Map Stage 3

Pada stage 1 dan 2, map tersusun dari 6 node yang mana pada awal permainan dimiliki node 1 dimiliki oleh player dan node 4 dimiliki oleh AI. Kepemilikan node dibedakan dengan warna yang mana apabila node berwarna biru, merupakan kepemilikan player dan merah merupakan kepemilkan AI. Pada Gambar III-2 terlihat bahwa setiap node memiliki tetangga yang ditunjukan pada tabel berikut.

Tabel III. 5 Daftar Tetangga Untuk Setiap Node Pada Map Stage 1 dan Stage 2

Node Tetangga 1 Tetangga 2

1 2 6

2 1 3

3 2 4

4 3 5

5 4 6

(52)

39

Pada Stage 3, map tersusun dari 8 node yang mana pada awal permainan dimiliki node 1 dimiliki oleh player dan node 5 dimiliki oleh AI. Kepemilikan node dibedakan dengan warna yang mana apabila node berwarna biru, merupakan kepemilikan player dan merah merupakan kepemilkan AI, sama seperti pada stage 1 dan 2. Pada Gambar III-3 terlihat bahwa setiap node memiliki tetangga yang ditunjukan pada tabel berikut.

Tabel III. 6 Daftar Tetangga Untuk Setiap Node Pada Map Stage 1

Node Tetangga 1 Tetangga 2

1 2 6

2 1 3

3 2 4

4 3 5

5 4 6

6 5 1

III.1.5. Analisis Algoritma

Analisis algoritma yang dilakukan dalam penelitian ini adalah meneliti bagaimana cara kera algoritma resource assignment dalam menentukan keputusan pada AI di dalam game.

III.1.3.1. Algoritma Resource Assignment

Algoritma resource assignment (RAA) adalah sebuah algoritma yang dapat menentukan sebuah nilai untuk sebuah objek yang memiliki

resource berdasarkan nilai resource yang berasal dari objek lain maupun objek itu sendiri. Cara kerja algoritma resource assignment adalah dengan memeriksa status kepemilikan node dan menghitung nilai modifier pada setiap keputusan. Keputusan dengan nilai modifier terbesar adalah keputusan yang dipilih dan ditempatkan pada node tersebut. Setelah seluruh

node diperiksa, maka nilai modifier pada setiap node diurutkan dan dipilih

(53)
(54)

1

Secara keseluruhan algoritma ini terbagi menjadi empat bagian yaitu

gather task, generate all possible assignments, sort possible assignment according to score dan assign to task doers. Penerapan bagian-bagian tersebut pada proses pengambilan keputusan pada game ini adalah sebagai berikut:

1. Gather Task

Proses dimana menentukan banyaknya node pada map serta penentuan tetangga untuk setiap node.

2. Generate All Possible Assignments

Proses penentuan nilai modifier yang dihitung berdasarkan semua resource

(infantry, tank, artillery) yang kemudian setelah memperhitungkan nilai

modifiernya akan diambil keputusan apakah akan menyerang, bertahan, memproduksi unit, melewatkan giliran dan tidak memiliki keputusan sama sekali. Langkah-langkah dalam menentukan nilai modifier pada setiap node

ditentukan dari aturan pada permainan. Langkah-langkah tersebut adalah sebagai berikut :

a. Periksa status kepemilikan setiap node, jika status kepemilikan node

adalah milik player atau netral, maka nilai modifier untuk node tersebut adalah 0 dan node tersebut tidak mempunyai keputusan (nilai keputusan = -1).

b. Jika status kepemilikan node adalah milik AI maka dilakukan perhitungan nilai modifier untuk setiap keputusan berikut :

I. Keputusan menyerang

Pada keputusan ini, dilakukan pemeriksaan kondisi pada node sebagai berikut :

(i) Apakah status node tetangga dari node yang sedang diperiksa adalah milik player atau netral atau milik musuh (AI). Bila status kepemilikannya adalah milik player atau netral, maka nilai modifier

pada keputusan ini ditambah 1. Bila status kepemilikan adalah milik musuh (AI), maka nilai modifier tidak bertambah.

(ii) Bandingkan kekuatan node yang sedang diperiksa dengan kekuatan

(55)

lebih besar kekuatannya dibandingkan dengan node tetangganya maka nilai modifier pada keputusan ini ditambah 1. Jika kekuatan

node yang sedang diperiksa lebih kecil kekuatannya dibandingkan dengan node tetangganya maka nilai modifier pada keputusan ini tidak ditambahkan.

(iii) Bandingkan stok unit AI dengan jumlah unit pada node tetangga. Apabila stok unit AI lebih banyak jumlahnya debandingkan dengan stok unit pada node tetangga, maka nilai modifier pada keputusan ini ditambah 1. stok unit AI lebih banyak jumlahnya debandingkan dengan stok unit pada node tetangga, maka nilai modifier pada keputusan ini tidak ditambahkan.

(iv) Nilai modifier akhir untuk keputusan ini adalah jumlah dari nilai

modifier pada kondisi yang cocok dibagi dengan jumlah seluruh kondisi yaitu 6.

II. Keputusan bertahan

Pada keputusan ini, dilakukan langkah sebagai berikut :

(i) Apakah status node tetangga dari node yang sedang diperiksa adalah milik player atau netral atau milik musuh (AI). Bila status kepemilikannya adalah milik player atau netral, maka nilai modifier

pada keputusan ini ditambah 1. Bila status kepemilikan adalah milik musuh (AI), maka nilai modifier tidak bertambah.

(ii) Bandingkan kekuatan node yang sedang diperiksa dengan kekuatan

node tetangganya. Apabila kekuatan node yang sedang diperiksa lebih kecil kekuatannya dibandingkan dengan node tetangganya maka nilai modifier pada keputusan ini ditambah 1. Jika kekuatan

node yang sedang diperiksa lebih besar kekuatannya dibandingkan dengan node tetangganya maka nilai modifier pada keputusan ini tidak ditambahkan.

(iii) Periksa stok unit milik AI, jika AI memiliki stok unit, maka nilai

(56)

43

stok unit, maka nilai modifier pada keputusan ini tidak ditambahkan.

(iv) Nilai modifier akhir untuk keputusan ini adalah jumlah dari nilai

modifier pada kondisi yang cocok dibagi dengan jumlah seluruh kondisi yaitu 5.

III. Keputusan memproduksi unit

Pada keputusan ini, dilakukan langkah sebagai berikut :

(i) Apakah status node tetangga dari node yang sedang diperiksa adalah milik player atau netral atau milik musuh (AI). Bila status kepemilikannya adalah milik musuh (AI) atau netral, maka nilai

modifier pada keputusan ini ditambah 1. Bila status kepemilikan adalah milik player, maka nilai modifier tidak bertambah.

(ii) Bandingkan kekuatan node yang sedang diperiksa dengan kekuatan

node tetangganya. Apabila kekuatan node yang sedang diperiksa lebih besar kekuatannya dibandingkan dengan node tetangganya maka nilai modifier pada keputusan ini ditambah 1. Jika kekuatan

node yang sedang diperiksa lebih kecil kekuatannya dibandingkan dengan node tetangganya maka nilai modifier pada keputusan ini tidak ditambahkan.

(iii) Periksa stok unit milik AI, jika AI tidak memiliki stok unit, maka nilai modifier pada keputusan ini ditambah 1. Jika AI memiliki stok unit, maka nilai modifier pada keputusan ini tidak ditambahkan.

(iv) Periksa jumlah resource (julah dana untuk memproduksi unit) milik AI. Jika resource yang dimiliki lebih dari 30 maka nilai

modifier pada keputusan ini ditambah 1. Jika resource yang dimiliki kurang dari 30 maka nilai modifier pada keputusan ini tidak ditambahkan.

(v) Nilai modifier akhir untuk keputusan ini adalah jumlah dari nilai

Gambar

Gambar II-3 Gambar III-1 Graph Tidak Berarah
Tabel III-8 Perhitungan modifier perhitungan nilai keputusan menyerang.
Tabel III-18 Skenario Use Case Penyajian Stage 3
Gambar III-12 Activity Diagram Penyajian Stage 1
+7

Referensi

Dokumen terkait

Kolostrum merupakan cairan yang pertama kali disekresi oleh kelenjar mamae. Kolostrum ini berlangsung sekitar tiga sampai empat hari setelah ASI pertama kali keluar. Kolostrum

Tata ruang yang ada di Apotek Farma Record diatur sedemikian rupa sehingga dapat memberikan kenyamanan bagi pengunjung, dan memberi kemudahan bagi dokter, apoteker

Badan usaha angkutan udara dan perusahaan angkutan udara asing yang telah memiliki persetujuan slot penerbangan berjadwal pada periode musim berjalan/berlangsung dan tidak

belanja dalam obyek belanja berkenaan dalam Penjabaran Anggaran Pendapatan dan Belanja Daerah Kabupaten Ogan Komering Ilir Tahun Anggaran 2011, sesuai ketentuan Pasal

Hipotesis yang kedua berbunyi “Terdapat pengaruh latihan pada media air terhadap kelincahan pemain bola basket Universitas Bina Darma”. Apabila hasil analisis

[r]

Dalam membuat sebuah aplikasi Augmented Reality maka terlebih dahulu harus mendownload semua library dan juga software yang digunakan untuk dapat membuat programnya, karena

Tujuan dari penelitian ini adalah untuk mengetahui perubahan luasan terumbu karang periode tahun 2001 - tahun 2011, kondisi ekosistem terumbu karang serta kondisi parameter perairan