Implementasi Artificial Ant Colony Algorithm (AACA) pada Pembangkit Labirin Dinamis untuk Game 2D berbasis Android Ant Cave
|
|
|
- Susanti Tan
- 8 tahun lalu
- Tontonan:
Transkripsi
1 TUGAS AKHIR KI1502 Implementasi Artificial Ant Colony Algorithm (AACA) pada Pembangkit Labirin Dinamis untuk Game 2D berbasis Android Ant Cave Andi Akram Yusuf NRP Dosen Pembimbing 1 Imam Kuswardayan, S.Kom., MT. Dosen Pembimbing 2 Wijayanti Nurul Khotimah, S.Kom., M.Sc. JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2017
2
3 TUGAS AKHIR KI1502 Implementasi Artificial Ant Colony Algorithm (AACA) pada Pembangkit Labirin Dinamis untuk Game 2D berbasis Android Ant Cave Andi Akram Yusuf NRP Dosen Pembimbing 1 Imam Kuswardayan, S.Kom., MT. Dosen Pembimbing 2 Wijayanti Nurul Khotimah, S.Kom., M.Sc. JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2017 i
4 (Halaman ini sengaja dikosongkan) ii
5 Halaman Judul FINAL PROJECT KI1502 ARTIFICIAL ANT COLONY ALGORITHM (AACA) IMPLEMENTATION IN DYNAMIC LABYRINTH GENERATOR FOR 2D GAME ANDROID BASE ANT CAVE Andi Akram Yusuf NRP Supervisor 1 Imam Kuswardayan, S.Kom., MT. Supervisor 2 Wijayanti Nurul Khotimah, S.Kom., M.Sc. DEPARTMENT OF INFORMATICS Faculty of Information Technology Sepuluh Nopember Institute of Technology Surabaya 2017 iii
6 (Halaman ini sengaja dikosongkan)
7 v
8 (Halaman ini sengaja dikosongkan) vi
9 Implementasi Artificial Ant Colony Algorithm (AACA) pada Pembangkit Labirin Dinamis untuk Game 2D berbasis Android Ant Cave Nama : Andi Akram Yusuf NRP : Jurusan : Teknik Informatika Fakultas Teknologi Informasi ITS Dosen Pembimbing I : Imam Kuswardayan, S.Kom., MT. Dosen Pembimbing II : Wijayanti Nurul Khotimah, S.Kom., M.Sc. ABSTRAK Bermain game adalah kegiatan yang menyenangkan. Seringkali seseorang bahkan memainkan game yang sama secara berulang-ulang dalam waktu yang singkat. Bermain game secara berulang dab dalam waktu yang panjang dapat mengakibatkan kebosanan, terlebih lagi bila game tersebut memiliki rancangan peta atau rancangan jalan yang sama setiap tingkatnya. Salah satu cara untuk menciptakan peta yang berbeda adalah dengan menggunakan Pembangkit Labirin Otomatis. Pembangkit Labirin Otomatis adalah membuat labirin secara otomatis. Ada banyak algoritma yang dipakai pada Pembangkit Labirin Otomatis yang sudah ada. Tujuan dari pengerjaan Tugas Akhir ini adalah dapat menghasilkan game yang memiliki peta yang dinamis. Yang dimaksud dengan dinamis adalah peta yang berbeda untuk tiap tingkatnya. Untuk itu penulis mencoba menggunakan Artificial Ant Colony Algorithm untuk menciptakan peta yang dinamis pada game Ant Cave. Dengan pengujian fungsionalitas dapat vii
10 disimpulkan aplikasi telah mengimplementasikan Artificial Ant Colony Algorithm dan dapat membangkitkan labirin yang berbeda-beda setiap levelnya. Kata kunci: Game, Pembangkit Labirin Dinamis, Unity, Ant Colony Algorithm. viii
11 ARTIFICIAL ANT COLONY ALGORITHM (AACA) IMPLEMENTATION IN DYNAMIC LABYRINTH GENERATOR FOR 2D GAME ANDROID BASE ANT CAVE Name : Andi Akram Yusuf NRP : Department : Department of Informatics Faculty of Information Technology ITS Supervisor I : Imam Kuswardayan, S.Kom., MT. Supervisor II : Wijayanti Nurul Khotimah, S.Kom., M.Sc. ABSTRACT Playing games is a fun activity. Often a person even plays the same game over and over again in a short time. Playing games repeatedly and over a long period of time can lead to boredom, especially if the game has the same map design or road plan at every level. One way to create different maps is to use the Dynamic Labyrinth Generator. Automatic Labyrinth Generator is making the maze automatically. There are many algorithms used in existing Dynamic Labyrinth Generators. The purpose of this final work is to produce games that have a dynamic map. What is meant by dynamic is a different map for each level. For that the author tried to use Artificial Ant Colony Algorithm to create a dynamic map in game Ant Cave. With the functionality testing it can be concluded the application has ix
12 implemented Artificial Ant Colony Algorithm and can generate different labyrinth each level. Key words: Game, Dynamic Labyrinth Generator, Unity, Ant Colony Algorithm. x
13 KATA PENGANTAR Puji syukur penulis panjatkan kepada Allah SWT karena atas segala karunia dan rahmat-nya penulis dapat menyelesaikan tugas akhir yang berjudul Implementasi Artificial Ant Colony Algorithm (AACA) pada Pembangkit Labirin Dinamis untuk Game 2D berbasis Android Ant Cave Pengerjaan tugas akhir ini penulis lakukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Komputer di Program Studi S-1 Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember. Penulis mengucapkan terima kasih kepada semua pihak yang telah memberikan dukungan baik secara langsung maupun tidak langsung selama proses pengerjaan tugas akhir ini hingga selesai, antara lain: 1. Allah SWT atas segala karunia dan rahmat-nya yang telah diberikan selama ini. 2. Keluarga penulis, Bapak Abi Zamahsyari, Ibu Andi Tuti Muhammad, kakak Andi Ainul Mardiyah, adik Andi Amaliyah Maryamah, dan juga keluarga yang tidak dapat penulis sebutkan satu per satu yang telah memberi dukungan moral dan material serta doa untuk penulis. 3. Bapak Imam Kuswardayan S.Kom., MT. selaku dosen pembimbing I yang telah memberikan bimbingan dan arahan dalam pengerjaan tugas akhir ini. 4. Ibu Wijayanti Nurul Khotimah S.Kom., M.Sc. selaku dosen pembimbing II yang telah memberikan bimbingan dan arahan dalam pengerjaan tugas akhir ini. 5. Teman-teman angkatan 2013 yang memiliki dosen pembimbing yang sama yang telah memberikan dukungan selama saya menyelesaikan Tugas Akhir ini. xi
14 6. Seluruh pihak yang tidak bisa saya sebutkan satu persatu yang telah memberikan dukungan selama saya menyelesaikan Tugas Akhir ini. Penulis menyadarai bahwa masih terdapat banyak kekurangan dalam tugas akhir ini. Oleh karena itu, penulis menerima dengan rendah hati kritik dan saran untuk pembelajaran dan perbaikan ke depannya. Semoga tugas akhir ini dapat memberikan manfaat yang sebaik-baiknya. Surabaya, Juni 2017 Penulis xii
15 DAFTAR ISI LEMBAR PENGESAHAN... v ABSTRAK... vii ABSTRACT... ix KATA PENGANTAR... xi DAFTAR ISI... xiii DAFTAR GAMBAR... xvii DAFTAR TABEL... xix DAFTAR KODE SUMBER... xxi BAB I PENDAHULUAN Latar Belakang Rumusan Masalah Batasan Masalah Tujuan Manfaat Metodologi Sistematika Penulisan... 5 BAB II TINJAUAN PUSTAKA Permainan Serupa Endless Depths The Greedy Cave Artifical Ant Colony Algorithm Depth First Search xiii
16 2.4 Unity Bahasa Pemrograman C# BAB III PERANCANGAN PERANGKAT LUNAK Analisis Sistem Perancangan Permainan Ant Cave Skenario Permainan Ant Cave Aturan Permainan Ant Cave Perancangan Peta Labirin Ant Cave Rancangan Labirin Artificial Ant Colony Algorithm Depth First Search (DFS) Contoh Pembangkitan Labirin Perancangan Tampilan Antarmuka Tampilan Awal Tampilan Instruksi Tampilan Memasukkan Nama Tampilan Permainan Tampilan Menu Pause Tampilan Pesan Menang dan Kalah Tampilan Minimap Tampilan Menu Pengujian Perancangan Karakter dan Aset Ant Cave Karakter Pemain Ant Cave xiv
17 3.6.2 Karakter Musuh Lemah Karakter Musuh Sedang Karakter Musuh Kuat Aset Labirin Aset Tangga Turun BAB IV IMPLEMENTASI Lingkungan Implementasi Perangkat Keras Perangkat Lunak Implementasi Labirin Implementasi Artificial Ant Colony Algorithm Implementasi Perhitungan Jarak Implementasi Probabilitas Implementasi Perpindahan Semut Implementasi Update Pheromon Implementasi Algoritma DFS Implementasi Permainan Implementasi Tampilan Awal Implementasi Tampilan Instruksi Implementasi Tampilan Memasukkan Nama Implementasi Tampilan Permainan Implementasi Tampilan Menu Pause Implementasi Tampilan Pesan Menang Dan Kalah xv
18 4.5.7 Implementasi Tampilan Minimap BAB V PENGUJIAN DAN EVALUASI Lingkungan Pengujian Pengujian Fungsionalitas Pengujian Labirin Pengujian Aturan Permainan Evaluasi Pengujian Fungsionalitas BAB VI KESIMPULAN DAN SARAN Kesimpulan Saran DAFTAR PUSTAKA BIODATA PENULIS xvi
19 DAFTAR GAMBAR Gambar 2. 1 Endless Depths pada Google Playstore... 8 Gambar 2. 2 Endless Depths 2 pada Google Playstore... 8 Gambar 2. 3 The Greedy Cave pada Google Playstore... 9 Gambar 2. 4 Tampilan permainan The Greedy Cave Gambar 2. 5 Contoh labirin 15 x 40 Hasil Ant Colony Gambar 2. 6 Contoh sederhana Algoritma DFS Gambar 3. 1 Bidang Kartesius Gambar 3. 2 Contoh hasil yang diinginkan Gambar 3. 3 Rancangan Artificial Ant Colony Algorithm Gambar 3. 4 Rancangan Algoritma DFS Gambar 3. 5 Rancangan tampilan awal Gambar 3. 6 Rangcangan tampilan instruksi Gambar 3. 7 Rancangan tampilan memasukkan nama Gambar 3. 8 Rancangan tampilan permainan Gambar 3. 9 Rancangan tampilan menu pause Gambar Rancangan tampilan pesan menang Gambar Rancangan tampilan pesan kalah Gambar Rancangan tampilan minimap Gambar Rancangan tampilan menu pengujian Gambar Karakter pemain Gambar Karakter musuh lemah Gambar Karakter musuh sedang Gambar Karakter musuh kuat Gambar Aset labirin Gambar Aset tangga turun Gambar 4. 1 Tampilan awal Gambar 4. 2 Tampilan instruksi Gambar 4. 3 Tampilan memasukkan nama Gambar 4. 4 Tampilan permainan xvii
20 Gambar 4. 5 Tampilan menu pause Gambar 4. 6 Pesan kalah Gambar 4. 7 Pesan menang Gambar 4. 8 Minimap Gambar 5. 1 Pengujian labirin level Gambar 5. 2 Pengujian labirin level Gambar 5. 3 Pengujian labirin level Gambar 5. 4 Pengujian labirin level Gambar 5. 5 Pengujian labirin level Gambar 5. 6 Pengujian labirin level Gambar 5. 7 Pengujian labirin level Gambar 5. 8 Pengujian labirin level Gambar 5. 9 Pengujian labirin level Gambar Pesan menang barupa level pelanjutnya Gambar Bertarung Gambar Pesan kalah xviii
21 DAFTAR TABEL Tabel 3. 1 Rancangan level Tabel 3. 2 Rancangan atribut Tabel 3. 3 Ukuran peta berdasarkan level Tabel 3. 4 Rancangan jumlah Semut Tabel 3. 5 Contoh posisi semut awal Tabel 3. 6 Contoh nilai awal feromon Tabel 3. 7 Contoh daftar kota yang telah dikunjungi semut satu 28 Tabel 3. 8 Contoh daftar kota yang telah dikunjungi semut dua. 28 Tabel 3. 9 Contoh daftar kota yang telah dikunjungi semut tiga. 29 Tabel Contoh jarak kota yang akan dikunjungi semut satu 29 Tabel Contoh jarak kota yang akan dikunjungi semut dua 29 Tabel Contoh jarak kota yang akan dikunjungi semut tiga 29 Tabel Contoh probabilitas kota yang akan dikunjungi semut satu Tabel Contoh probabilitas kota yang akan dikunjungi semut dua Tabel Contoh probabilitas kota yang akan dikunjungi semut tiga Tabel Contoh posisi semut yang baru Tabel Contoh nilai feromon setelah di-update Tabel Contoh hasil kota yang dapat dilalui Tabel 5. 1 Hasil pengujian labirin Tabel 5. 2 Hasil Waktu pengujian labirin Tabel 5. 3 Hasil pengujian aturan permainan Tabel 5. 4 Hasil pengujian fungsionalitas xix
22 (Halaman ini sengaja dikosongkan) xx
23 DAFTAR KODE SUMBER Kode Sumber 4. 1 Kode implementasi labirin Kode Sumber 4. 2 Kode untuk menghitung jarak Kode Sumber 4. 3 Kode menghitung probabilitas Kode Sumber 4. 4 Kode mencari probabilitas tertinggi Kode Sumber 4. 5 Kode untuk meng-update nilai feromon Kode Sumber 4. 6 Kode Algoritma DFS Kode Sumber 4. 7 Fungsi pada tampilan awal Kode Sumber 4. 8 Fungsi tombol back Kode Sumber 4. 9 Fungsi tombol save Kode Sumber Implementasi level Kode Sumber Fungsi untuk menggerakkan karakter Kode Sumber Fungsi bertarung Kode Sumber Fungsi jalan keluar Kode Sumber Fungsi menu pause Kode Sumber Fungsi minimap xxi
24 (Halaman ini sengaja dikosongkan) xxii
25 BAB I PENDAHULUAN Bagian ini akan dijelaskan hal-hal yang menjadi latar belakang, permasalahan yang dihadapi, batasan masalah, tujuan dan manfaat, metodologi dan sistematika penulisan yang digunakan dalam pembuatan tugas akhir ini. 1.1 Latar Belakang Bermain game adalah kegiatan yang mengasyikkan. Karena itu bermain game bisa menghilangkan rasa bosan. Tentunya game yang bisa dimainkan dengan cepat, mudah dan tidak membosankan membutuhkan banyak variasi yang dapat dijelajahi lebih jauh. Variasi tersebut bisa berupa maps, item, musuh, atau hal lainnya. Misalnya setiap kali pemain memasuki tingkat yang sama, map yang ditampilkan selalu berbeda, atau adanya item langka yang hanya bisa didapatkan apabila kita telah menyelesaikan misi atau syarat tertentu. Salah satu variasi tersebut, yaitu kebutuhan map yang bervariasi dapat dipenuhi dengan mengimplementasikan pembangkit labirin dinamis dengan menggunakan beberapa algoritma, beberapa diantanya ialah Algoritma Kruskal dan Algoritma Prim[1]. Pada Tugas Akhir ini penulis mencoba menggunakan Artificial Ant Colony Algorithm yang dibahas oleh Dawid Polap untuk game Ant Cave [2]. Penggunaan algoritma ini dapat menghasilkan labirin yang bervariasi, sehingga dianggap sesuai untuk diterapkan sebagai Pembangkit Labirin yang bersifat dinamis. Tujuan dari pengerjaan Tugas Akhir ini adalah mampu menghasilkan aplikasi permainan yang setiap levelnya memiliki labirin yang tidak sama setiap levelnya. Sehingga bermain game menjadi lebih menyenangkan. 1
26 2 1.2 Rumusan Masalah Perumusan masalah yang terdapat pada tugas akhir ini, antara lain: 1. Apakah penggunaan Artificial Ant Colony Algorithm dapat membangkitkan labirin yang berbeda-beda (dinamis) untuk setiap kali pembangkitan dan dengan waktu yang optimal (5 detik) untuk game 2D berbasis Android? 2. Bagaimana skenario permainan untuk game 2D berbasis Android Ant Cave? 3. Bagaimana aturan permainan untuk game 2D berbasis Android Ant Cave? 1.3 Batasan Masalah Batasan masalah yang terdapat pada tugas akhir ini, yaitu sebagai berikut: 1. Bahasa pemrograman yang akan digunakan adalah bahasa pemrograman C#. 2. Pembangunan aplikasi menggunakan Unity. 3. Level yang diimplementasikan hanya 10 level. 1.4 Tujuan Tujuan dari pembuatan tugas akhir ini, antara lain: 1. Membuat game dengan menggunakan Artificial Ant Colony Algorithm sebagai algoritma untuk Pembangkit Labirin Dinamis. 2. Membuat game yang memiliki peta yang berbeda-beda untuk setiap levelnya.
27 3 1.5 Manfaat Tugas Akhir ini diharapkan dapat menciptakan game 2D berbasis Android yang memiliki map yang dinamis untuk setiap level dengan menggunakan Artificial Ant Colony Algorithm. 1.6 Metodologi 1. Penyusunan proposal tugas akhir Tahap pertama dalam proses pengerjaan tugas akhir ini adalah menyusun proposal tugas akhir. Pada proposal tugas akhir ini diajukan implementasi Artificial Ant Colony Algorithm (AACA) pada Pembangkit Labirin Dinamis untuk Game 2D berbasis Android Ant Cave. 2. Studi literatur Pada tahap ini, akan dicari studi literatur yang relevan untuk dijadikan referensi dalam pengerjaan tugas akhir. Studi literatur ini didapatkan dari buku, internet, dan materi-materi kuliah yang berhubungan dengan metode yang akan digunakan. 3. Analisis dan desain perangkat lunak Perangkat lunak yang akan dibangun merupakan aplikasi untuk perangkat bergerak. Akan ada dua macam tampilan dari aplikasi ini. Tampilan untuk menu dan tampilan permainan. 4. Pengembangan perangkat lunak Pembangunan game akan dilakukan dengan menggunakan bahasa pemrograman C#, Game Engine Unity, Text Editor MonoDevelop, dan Perangkat Android.
28 4 5. Pengujian dan evaluasi Pengujian yang akan dilakukan adalah pengujian fungsionalitas. Pengujian ini bertujuan untuk memeriksa apakah game sudah terimplementasikan atau belum. Kemudian akan dilakukan evaluasi untuk memeriksa hasil implementasi game. 6. Penyusunan buku tugas akhir Pada tahap ini dilakukan penyusunan laporan yang menjelaskan dasar teori dan metode yang digunakan dalam tugas akhir ini. Pada tahap ini juga disertakan hasil dari implementasi metode dan algoritma yang telah dibuat. Sistematika penulisan buku tugas akhir ini secara garis besar antara lain: 1. Pendahuluan a. Latar Belakang b. Rumusan Masalah c. Batasan Tugas Akhir d. Tujuan e. manfaat f. Metodologi g. Sistematika Penulisan 2. Tinjauan Pustaka 3. Desain dan Implementasi 4. Pengujian dan Evaluasi 5. Kesimpulan dan Saran 6. Daftar Pustaka
29 5 1.7 Sistematika Penulisan Buku tugas akhir ini disusun dengan sistematika penulisan sebagai berikut: BAB I. PENDAHULUAN Bab ini berisi mengenai latar belakang, tujuan, dan manfaat dari pembuatan tugas akhir. Selain itu, permasalahan, batasan masalah, metodologi yang digunakan, dan sistematika penulisan juga merupakan bagian dari bab ini. BAB II. TINJAUAN PUSTAKA Bab ini berisi penjelasan secara detail mengenai dasardasar penunjang dan teori-teori yang digunakan untuk mendukung pembuatan tugas akhir ini. BAB III. ANALISIS DAN PERANCANGAN SISTEM Bab ini membahas tahap analisis permasalahan dan perancangan dari sistem yang akan dibangun. Analisis permasalahan membahas permasalahan yang yang diangkat dalam pengerjaan tugas akhir. BAB IV. IMPLEMENTASI Bab ini membahas implementasi dari desain yang telah dibuat pada bab sebelumnya. Bab ini berisi proses implementasi dari setiap kelas pada semua modul. BAB V. PENGUJIAN DAN EVALUASI Bab ini menjelaskan kemampuan perangkat lunak dengan melakukan pengujian kebenaran dan pengujian kinerja dari sistem yang telah dibuat.
30 6 BAB VI. KESIMPULAN DAN SARAN Bab ini merupakan bab terakhir yang menyampaikan kesimpulan dari hasil uji coba yang dilakukan dan saran untuk pengembangan perangkat lunak ke depannya.
31 BAB II TINJAUAN PUSTAKA Bab ini berisi penjelasan teori-teori yang berkaitan dengan metode yang diajukan pada pengimplementasian perangkat lunak. Penjelasan ini bertujuan untuk memberikan gambaran secara umum terhadap sistem yang dibuat dan berguna sebagai penunjang dalam pengembangan perangkat lunak. 2.1 Permainan Serupa Dalam pembutan game Ant Cave ada 2 game yang menjadi inspirasi yaitu Endless Depths dan The Greedy Cave. Kedua permainan ini merupakan permainan dengan tema yang serupa yaitu RPG. Permainan ini memiliki beberapa kesamaan yaitu bertujuan menjelajahi seluruh level yang ada. Levelnya berupa labirin-labirin di mana pemain harus mencari jalan keluar yang berupa tangga Endless Depths Endless Depths adalah game yang dikembangkan oleh Whatentar Software. Game ini adalah game lama yang sudah tidak ada lagi di Google Playstore, namun Whatentar Software sudah mengembangkan game ini, hasilnya menjadi Endless Depths 2 yang ada di Google Playstore [3]. Untuk yang belum pernah memainkan Endless Depths ini anda sudah tidak bisa lagi mengunduh game ini, namun dapat langsung mencoba Endless Depths 2. Terakhir kali Endless Depths mengalami update ialah pada tanggal 5 Juni Untuk Endless Dephts 2 anda harus membeli game ini di Google Playstore seharga rupiah dan terakhir kali update dilakukan pada tanggal 5 Januari Endless Depths pada Google Playstore dapat dilihat pada Gambar 2.1.1, 7
32 8 sedangkan untuk Endless Depths 2 dapat dilihat pada Gambar Gambar 2. 1 Endless Depths pada Google Playstore Gambar 2. 2 Endless Depths 2 pada Google Playstore
33 The Greedy Cave The Greedy Cave adalah game yang dikembangkan oleh Avalon-Games. Orang yang menginstal game ini sebanyak orang. Rating-nya mencapai 4.2 di Google Playstore [4]. Gambar 2. 3 The Greedy Cave pada Google Playstore Perbedaan mendasar game ini dengan Endless Depth ada pada tampilan game yang jauh lebih modern dan juga aturan permainan pada saat pemain bertarung dengan musuh. Cara bertarungnya ialah pemain dan musuh akan menyerang secara otomatis akan tetapi pemain dapat kabur dari pertarungan. Cara bertarung inilah yang menjadi inspirasi cara bertarung pada game Ant Cave. The Greedy Cave juga memiliki item yang sangat bervariasi, contohnya game ini memiliki item unik yang jika dipakai dengan setelan yang sama akan memberikan tambahan untuk atribut khusus.
34 10 Gambar 2. 4 Tampilan permainan The Greedy Cave 2.2 Artifical Ant Colony Algorithm Artificial Ant Colony Algorithm memetakan tingkah laku semut ketika mencari sumber makanan. Semut bergerak secara random meninggalkan feromon. Feromon yang tersisa menciptakan jejak untuk mencari sumber makanan. Apabila semut menemukan sumber makanan, maka semut akan meninggalkan feromon yang lebih besar agar semut lain dapat menemukan sumber makanan yang sama [2]. f t+1 (x i, x j ) = (1 ρ)f t t (x i, x j ) + Γ i (1) Awalnya feromon di mana-mana bernilai sama. Kemudian setelah memulai iterasi baru feromon di-update dengan rumus (1) dimana t adalah iterasi, x i, x j adalah kota pada bidang kartesius, f adalah feromon, ρ adalah laju evaporasi, dan Γ i t adalah nilai feromon yang dilepaskan oleh semut yang dapat dihitung dengan rumus (2) di mana n adalah jumlah semut
35 11 dan L ij adalah jarak yang ditempuh oleh semut dari kota sebelumnya. n Γ i t = 1 1 t L ij Untuk menghitung jarak yang ditempuh oleh semut dapat menggunakan rumus (3) dimana x i dan x j adalah titik pada bidang kartesius, k adalah nilai x dan nilai y pada bidang kartesius. L ij = x i x j = (x i,k x j,k ) 2 Pada setiap iterasi setiap semut akan memilih kota yang akan dituju berikutnya. Kota tersebut adalah kota dengan nilai probabilitas tertinggi. Probabilitas setiap kota dapat dihitung dengan rumus (4) dimana α Ni k merupakan daftar kota yang belum dikunjungi oleh semut k tapi menuju ke i, sedangkan α dan β adalah koefisien dan f adalah feromon. [f t (x i, x j )] α [ 1 β t ] L p t ij (x i, x j ) = α Ni k ([f t (x i, x j )] α [ 1 β (4) t ] ) L ij Untuk jumlah semut yang digunakan haruslah memenuhi syarat pada rumus (5) dimana n adalah jumlah 2 k=1 (2) (3)
36 12 semut dan S adalah ukuran peta. Contoh gambar menurut Dawid Polap pada papernya dapat dilihat pada Gambar 2. 5 [2]. n 2 < S (5) Gambar 2. 5 Contoh labirin 15 x 40 Hasil Ant Colony 2.3 Depth First Search Depth First Search adalah algoritma yang pada dasarnya digunakan untuk melakukan pencarian. Umumnya berbentuk tree. Sesuai namanya depth first, yaitu mengutamakan kedalaman dari tree yang berarti algoritma ini akan mencari hingga ke bawah terlebih dahulu baru kemudian ke samping. Penjelasan sederhana dari Gambar 2. 6 adalah algoritma ini akan memeriksa state pertama yang ditemukannya, yaitu A, setelah itu algoritma ini akan menuju state pertama yang berada di bawah dari state A, yaitu B. Hingga pada state J algoritma ini tidak menemukan state lain dan belum menemukan apa yang ia cari, yaitu N. Maka algoritma ini akan kembali ke state sebelumnya lalu mengecek apakah ada state ini memiliki percabangan lain. Pada state B algoritma ini menemukan percabangan lain, yaitu state F, maka algoritma ini akan menuju ke state F dan melanjutkan
37 13 pencarian. Algoritma ini akan terus mengulangi langkah-langkah ini hingga menemukan apa yang dicari. 2.4 Unity Gambar 2. 6 Contoh sederhana Algoritma DFS Unity adalah sebuah game engine yang dikembangkan oleh Unity Technologies. Beberapa platform yang didukung oleh Unity adalah : Android, Apple TV, BlackBerry 10, ios, Linux, Nintendo 3DS line, OS X, PlayStation 4, PlayStation Vita, Unity Web Player (termasuk Facebook), Wii, Wii U, Windows Phone 9, Windows, Xbox 360, dan Xbox One [5]. 2.5 Bahasa Pemrograman C# C# merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka.net Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java,
38 14 Delphi, Visual Basic, dan lain-lain dengan beberapa penyederhanaan [6].
39 BAB III PERANCANGAN PERANGKAT LUNAK Bab ini membahas mengenai perancangan dan pembuatan perangkat lunak. Perangkat lunak yang dibuat pada tugas akhir ini adalah game dengan peta yang berbeda-beda setiap levelnya. 3.1 Analisis Sistem Bermain game adalah kegiatan yang menyenangkan. Namun jika dilakukan secara berulang-ulang maka akan timbul rasa bosan. Terlebih lagi bila game tersebut memiliki jalan yang sama untuk setiap levelnya. Game ini dibangun agar pemain dapat merasakan jalan yang berbeda setiap kali memainkan game ini. Game ini juga dibangun agar pemain tidak bosan dalam menjelajahi setiap levelnya karena setiap levelnya jalan labirin yang terbentuk akan berbeda-beda. Untuk desain level akan dijelaskan lebih lanjut nantinya. Dalam membangun game ini penulis menggunakan aplikasi Unity versi 5.4.2f2. Untuk grafis dan animasi penulis akan mengambil grafis yang ada di internet dan bebas digunakan. Aplikasi ini diharapkan dapat berjalan di Android agar dapat dimainkan dengan mudah, di mana saja dan kapan saja. 3.2 Perancangan Permainan Ant Cave Pada subbab ini akan dibahas skenario permainan dan aturan main pada game Ant Cave Skenario Permainan Ant Cave Game ini adalah game 2D dengan tema petualangan. Game ini dimainkan oleh satu orang saja. Pada setiap level target dari game ini adalah menemukan tangga turun tanpa kehilangan darah 15
40 16 yang berupa health point. Pada setiap level juga terdapat musuh yang juga memiliki darah berupa health point. Pemain dapat melewati musuh tanpa bertarung dengan musuh tersebut untuk menghindari berkurangnya health point yang tidak perlu. Untuk melewati jalan tertentu pemain perlu menghancurkan musuh dengan cara bertarung terlebih dahulu. Pemain dan musuh akan bertarung secara otomatis, tetapi pemain dapat memilih untuk kabur dari pertarungan. Akan ada 10 level di mana setiap level akan ada tangga untuk turun ke level selanjutnya. Letak awal pemain, musuh dan tangga turun akan diacak pada setiap levelnya. Pengaturan musuh juga diatur pada tahap ini. Ada 3 jenis musuh, yaitu musuh lemah, musuh sedang, dan musuh kuat. Rancangan musuh dapat dilihat pada Tabel Tabel 3. 1 Rancangan level Level Musuh Musuh Musuh Lemah Sedang Kuat Aturan Permainan Ant Cave Game ini memiliki beberapa aturan main, yaitu: 1. Pada setiap level akan ada musuh yang muncul.
41 17 2. Pemain dapat menggerakkan karakter dengan cara menggeser layar. 3. Pemain dapat menyerang musuh dengan cara menggerakkan pemain ke tempat musuh berada. 4. Pemain dapat memilih untuk mengabaikan musuh. 5. Pemain dan musuh akan memiliki atribut health point, speed, attack, dan defence. 6. Health point adalah darah dari pemain maupun karakter. 7. Apabila musuh kehilangan seluruh health-nya maka musuh akan hancur. 8. Apabila pemain kehilangan seluruh health-nya maka permainan akan kalah. 9. Atribut speed akan menentukan karakter yang akan menyerang terlebih dahulu, karakter yang memiliki speed yang lebih tinggi akan menyerang pertama kali. 10. Atribut attack dan defence akan mempengaruhi berapakah damage yang akan dihasilkan, minimal nilai damage adalah Rancangan atribut pemain dan musuh dapat dilihat pada Tabel Pemain dan musuh akan melakukan serangan secara otomatis sesuai dengan atribut dari masing-masing karakter. 13. Pemain dapat memilih untuk kabur ketika bertarung, namun pemain dapat kabur setelah selesai musuh dan pemain menyerang atau satu giliran. 14. Pemain harus menemukan tangga turun agar dapat masuk ke level selanjutnya. 15. Letak awal pemain, musuh dan tangga turun akan diacak.
42 18 Tabel 3. 2 Rancangan atribut Pemain Musuh Lemah Musuh Sedang Musuh Kuat Health Point Speed Attack Defence Perancangan Peta Labirin Ant Cave Pada subbab ini akan dibahas rancangan labirin dan dua algoritma. Algoritma pertama adalah Artificial Ant Colony Algorithm. Algoritma ini digunakan untuk membangun labirin yang akan digunakan pada setiap levelnya. Algoritma kedua adalah Depth First Search (DFS). Algoritma ini akan digunakan untuk menentukan apakah labrin tersebut sudah terbentuk atau belum Rancangan Labirin Labrin yang akan diperlukan oleh game Ant Cave adalah labirin yang dapat digambarkan pada bidang kartesius, dapat dilihat pada Gambar Setiap satu nilai x dan y akan melambangkan satu kota yang dapat dilalui oleh semut. Setiap kota ini akan memiliki nilai feromon tersendiri. Apabila nilai feromon melebihi batas maka akan dianggap sebagai jalan yang dapat dilalui. Contoh hasil labirin dapat dilihat pada Gambar Rancangan ukuran peta pada setiap levelnya dapat dilihat pada Tabel Syarat-syarat terbentuknya labirin ialah: 1. Adanya kota yang dapat dilalui yang terhubung dengan jarak 1 atau berada di keempat sisinya.
43 19 2. Kota yang dapat dilalui adalah kota yang nilai feromonnya melebih batas, yaitu Jumlah kota yang saling terhubung minimal 30% dari total kota yang ada dan maksimal 75% dari total kota yang ada. 4. Letak pintu masuk dan pintu keluar akan diacak. Gambar 3. 1 Bidang Kartesius Tabel 3. 3 Ukuran peta berdasarkan level Level Ukuran Peta 1 10 x x x x x x x x x x 12
44 20 Gambar 3. 2 Contoh hasil yang diinginkan Artificial Ant Colony Algorithm Game ini menggunakan Artificial Ant Colony Algorithm untuk membangkitkan labirin yang digunakan untuk stiap levelnya. Labirin yang dibangkitkan ini adalah labirin dinamis yang berarti labirin yang berbeda-beda pada setiap levelnya. Rancangan algoritma ini dapat dilihat pada Gambar Inisiasi Tahap inisiasi ini adalah tahap untuk menentukan ukuran peta (kolom x baris), jumlah semut, nilai evaporasi, koefisien alpha, koefisien beta, batas minimal feromon sebagai jalan, nilai awal feromon. Nilai-nilai yang akan digunakan oleh penulis ialah: 1. Kolom dan baris dapat dilihat pada Tabel Jumlah semut dilihat pada Tabel Nilai evaporasi ialah Koefisien alpha ialah 0.3.
45 21 5. Koefisien beta ialah Batas minimal feromon ialah Nilai awal feromon ialah 1. Tabel 3. 4 Rancangan jumlah Semut Ukuran Peta Semut 10 x x x Random Posisi Semut Posisi semut akan dirandom menggunakan fungsi bawaan dari unity yaitu Random.Range(). Untuk setiap semut nilai x dan nilai y yang menentukan posisi awal semut akan diacak dengan Random.Range() Perulangan Perulangan yang dimaksud adalah setiap semut akan memiliki jarak tersendiri, daftar kota yang belum dikunjungi tersendiri, dan daftar probabilitas tersendiri, namun ketika mengupdate feromon pada setiap kota akan dilakukan satu kali untuk semua semut. Setelah meng-update nilai feromon, peta yang ada akan diperiksa apakah sudah terbentuk labirin dengan algoritma DFS apabila telah terbentuk maka Artificial Ant Colony Algorithm ini telah selesai. Apabila belum terbentuk labirin dan masih ada kota yang belum dikunjungi maka semut akan mengulang perulangan ini. Tetapi bila belum terbentuk labirin dan semua kota telah dikunjungi maka posisi semut akan di-random ulang.
46 Gambar 3. 3 Rancangan Artificial Ant Colony Algorithm 22
47 Menghitung Jarak Menghitung jarak yang dimaksud adalah menghitung jarak antar semut dan kota yang belum dikunjungi oleh semut. Untuk menghitung jarak digunakan rumus (3) yang telah dijelaskan pada Subbab Menghitung Probabilitas Menghitung probabilitas yang dimaksud adalah menghitung probabilitas setiap kota akan dipilih oleh semut. Apabila ada dua kota yang memiliki nilai feromon dan jarak yang sama maka kota yang dipilih akan diacak. Untuk menghitung probabilitas digunakan rumus (4) yang telah dijelaskan pada Subbab Memindahkan Semut Memindahkan semut berarti semut tersebut akan berjalan menuju kota dengan probabilitas tertinggi. Diasumsikan waktu untuk berjalan ialah 1 kali perulangan walaupun ada semut yang menempuh jarak yang lebih jauh. Ini menandakan semut bisa saja berjalan dari ujung peta ke ujung peta yang lain, walaupun kemungkinan ini sangatlah kecil karena ketika menghitung probabilitas dengan rumus (4) jarak adalah pembagi yang berarti semakin besar jaraknya semakin kecil pula hasil baginya Meng-update Nilai Pheromon Untuk meng-update feromon digunakan rumus (1). Nilai n pada rumus (2) adalah jumlah semut yang berada di kota x i, x j. Apabila tidak ada semut di kota tersebut maka nilai Γ i t ialah 0 karena tidak ada semut yang melepaskan feromon di kota tersebut. Apabila ada lebih dari satu semut maka nilai Γ i t
48 24 ialah jumlah feromon yang dilepaskan oleh semut-semut tersebut Mengecek Labirin dengan DFS Mengecek labirin dengan algoritma DFS bertujuan untuk mengecek apakah labirin telah terbentuk atau belum, yang dimaksud dengan labirin yang telah terbentuk dapat dilihat pada Subbab dengan contoh gambarnya pada Gambar Apabila labirin telah terbentuk maka selesailah algoritma ini. Untuk pembahasan lebih mendalam dari algoritma DFS dapat dilihat pada Subbab Mengecek Kota yang Belum Dikunjungi Mengecek kota yang belum dikunjungi bertujuan untuk menentukan kota yang akan dikunjungi berikutnya yang mana juga merupakan kota yang belum dikunjungi oleh semut. Apabila semua kota telah dikunjungi oleh semut maka akan dimulai perulangan baru dengan memori baru. Memori ini berisi jarak, probabilitas, dan juga data kota yang belum dikunjungi Depth First Search (DFS) Algoritma ini digunakan untuk menentukan apakah labirin telah terbentuk atau belum. Apabila labirin telah terbentuk maka Artificial Ant Colony Algorithm telah selesai. Algoritma ini disebut depth first karena akan langsung memeriksa jalan pertama yang temukan, bukan mencari mana sajakah jalan yang ada pada suatu kota. Rancangan sederhana dari algoritma ini dapat dilihat pada Gambar Untuk menentukan labirin sudah terbentuk atau belum haruslah memenuhi beberapa syarat yang telah dijelaskan pada Subbab
49 Gambar 3. 4 Rancangan Algoritma DFS 25
50 Contoh Pembangkitan Labirin Pada subbab ini akan dibahas mengenai contoh pembangkitan labirin. Contoh yang dimaksud ialah contoh menggunakan Artificial Ant Colony Algorithm dalam peta yang berukuran kecil. Pada awalnya semua nilai ditetapkan terlebih dahulu. Nilai-nilai yang digunakan: 1. Kolom dan baris ialah Jumlah semut ialah Nilai evaporasi ialah Koefisien alpha ialah Koefisien beta ialah Batas minimal feromon ialah Nilai awal feromon ialah 1. Porses pembangkitan yaitu: 1. Posisi semut di-random terlebih dahulu. 2. Posisi semut (x1, x2, dan x3) dapat dilihat pada Tabel Nilai awal feromon dapat dilihat pada Tabel Menambahkan kota yang telah dikunjungi oleh masingmasing semut. Untuk kota yang telah dikunjungi semut satu dapat dilihat pada Tabel 3. 7, untuk kota yang telah dikunjungi semut dua dapat dilihat pada Tabel 3. 8, dan untuk kota yang telah dikunjungi semut tiga dapat dilihat pada Tabel 3. 9 dimana 1 berarti telah dikunjungi dan 0 berarti belum dikunjungi. 5. Menghitung jarak kota lain pada masing-masing semut dengan cara yang telah dijelaskan pada Subbab , untuk jarak kota lain pada semut satu dapat dilihat pada Tabel 3. 10, untuk jarak kota lain pada semut dua dapat
51 27 dilihat pada Tabel 3. 11, dan untuk jarak kota lain pada semut tiga dapat dilihat pada Tabel Menghitung probabilitas kota yang akan dikunjungi selanjutnya dengan cara yang telah dijelaskan pada Subbab Untuk probabilitas semut satu dapat dilihat pada Tabel 3. 13, untuk probabilitas semut dua dapat dilihat pada Tabel dan untuk probabilitas semut tiga dapat dilihat pada Tabel Memindahkan semut ke kota dengan probabilitas tertinggi. Jika terdapat lebih dari satu kota dengan nilai probabilitas tertinggi maka kota yang dipilih akan di-random. Posisi semut yang baru dapat dilihat pada Tabel Menghitung nilai feromon yang baru dengan cara yang telah dijelaskan pada Subbab Nilai feromon yang baru dapat dilihat pada Tabel Mengecek apakah labirin telah terbentuk atau belum dengan menggunakan algoritma DFS. Contoh sederhana dari algoritma ini telah dijelaskan pada Subbab 2.3. Hasil pengecekan kota yang melebih batas atau dapat dilalui dan saling terhubung dapat dilihat pada Tabel Hasil pengecekan kota yang dapat dilalui ada 16 dan itu berarti 100% kota yang ada pada peta dapat dilalui. Karena salah satu syarat terbentuknya labirin ialah kota yang dapat dilalui kurang dari 70%, maka hasilnya ialah labirin belum terbentuk. 11. Perulangan akan dilakukan kembali hingga labirin terbentuk atau semut kehabisan kota yang dapat dikunjungi. Jika kota yang dapat dikunjungi telah habis maka semut akan mengulang perulangan mulai merandom posisi semut kembali dan menghapus daftar kota yang telah dikunjungi.
52 28 Tabel 3. 5 Contoh posisi semut awal x1 x2 x3 Tabel 3. 6 Contoh nilai awal feromon Tabel 3. 7 Contoh daftar kota yang telah dikunjungi semut satu Tabel 3. 8 Contoh daftar kota yang telah dikunjungi semut dua
53 29 Tabel 3. 9 Contoh daftar kota yang telah dikunjungi semut tiga Tabel Contoh jarak kota yang akan dikunjungi semut satu Tabel Contoh jarak kota yang akan dikunjungi semut dua Tabel Contoh jarak kota yang akan dikunjungi semut tiga
54 30 Tabel Contoh probabilitas kota yang akan dikunjungi semut satu Tabel Contoh probabilitas kota yang akan dikunjungi semut dua Tabel Contoh probabilitas kota yang akan dikunjungi semut tiga Tabel Contoh posisi semut yang baru x1 x2 x3
55 31 Tabel Contoh nilai feromon setelah di-update Tabel Contoh hasil kota yang dapat dilalui Perancangan Tampilan Antarmuka Subbab ini membahas bagaimana rancangan antarmuka pengguna yang akan digunakan untuk tugas akhir. Dalam game ini terdapat beberapa tampilan, yaitu tampilan awal (menu utama), tampilan memasukkan nama, tampilan permainan, tampilan menu pause, tampilan pesan menang dan pesan kalah, dan tampilan minimap Tampilan Awal Tampilan awal merupakan halaman yang pertama kali muncul ketika aplikasi dijalankan. Pada halaman ini terdapat tiga tombol, yaitu tombol new game, tombol instruction, dan tombol exit. Rancangan antarmuka tampilan awal dapat dilihat pada Gambar Fungsi tiga tombol pada halaman awal, yaitu: 1. Tombol new game yang berfungsi untuk memulai permainan.
56 32 2. Tombol instruction yang berfungsi untuk melihat instruksi permainan. 3. Tombol exit yang berfungsi untuk keluar dari aplikasi permainan Tampilan Instruksi Gambar 3. 5 Rancangan tampilan awal Halaman ini berisikan tentang petunjuk untuk mengendalikan karakter. Petunjuk yang ditampilkan berupa petunjuk untuk menggerakkan karakter dan petunjuk tentang beberapa aturan permainan. Rancangan tampilan instruksi dapat dilihat pada Gambar Pada halaman ini terdapat satu tombol, yaitu tombol back. Tombol ini berfungsi untuk kembali ke halaman awal.
57 33 Gambar 3. 6 Rangcangan tampilan instruksi Tampilan Memasukkan Nama Setelah menekan tombol new game pemain diminta mengisi nama yang akan digunakan oleh pemain. Nama ini akan ditampilkan pada tampilan permainan. Rancangan antarmuka tampilan memasukkan nama dapat dilihat pada Gambar Terdapat dua tombol pada menu ini, yaitu: 1. Tombol save yang berfungsi untuk menyimpan nama pemain. 2. Tombol back yang berfungsi untuk kembali ke halaman awal.
58 34 Gambar 3. 7 Rancangan tampilan memasukkan nama Tampilan Permainan Tampilan permainan ialah halaman pada saat pemain telah memasukkan nama atau ketika sedang bermain. Rancangan Tampilan Permainan dapat dilihat pada Gambar Pada layar terdapat beberapa hal yaitu: 1. Nama pemain yang terletak di pojok atas kiri. 2. Slide bar yang menunjukkan health point saat ini, slide bar ini terletak di samping bagian nama pemain. 3. Tombol pause yang berfungsi untuk menghentikan permainan untuk sementara dan juga untuk keluar dari game. 4. Pemain dan musuh yang terletak dalam labirin.
59 35 5. Minimap yang berfungsi sebagai tombol untuk melihat peta labirin secara keseluruhan. Gambar 3. 8 Rancangan tampilan permainan Tampilan Menu Pause Tampilan menu pause ialah menu yang akan muncul ketika pemain menekan tombol pause pada tampilan permainan. Tombol ini akan menghentikan permainan untuk sesaat. Rancangan tampilan menu pause dapat dilihat pada Gambar Pada menu ini terdapat dua tombol, yang pertama merupakan tombol main menu untuk kembali ke menu utama dan yang kedua ialah tombol Resume yang berfungsi untuk melanjutkan permainan.
60 36 Gambar 3. 9 Rancangan tampilan menu pause Tampilan Pesan Menang dan Kalah Tampilan pesan menang ialah pesan yang muncul ketika pemain telah mencapai tangga untuk ke level selanjutnya. Tampilan pesan kalah ialah pesan yang muncul ketika pemain game over atau kehilangan seluruh health point. Tampilan pesan menang dan kalah tidak ada tombol karena secara otomatis akan memulai level selanjutnya untuk pesan menang dan secara otomatis akan kembali ke halaman utama untuk pesan kalah setelah beberapa saat. Rancangan tampilan pesan menang dan kalah dapat dilihat pada Gambar dan Gambar
61 37 Gambar Rancangan tampilan pesan menang Gambar Rancangan tampilan pesan kalah
62 Tampilan Minimap Tampilan minimap ialah tampilan ketika minimap pada tampilan permainan ditekan. Peta labirin akan terlihat suluruhnya. Pada halaman ini terdapat satu tombol back yang berfungsi untuk kembali pada tampilan permainan. Rancangan tampilan minimap dapat dilihat pada Gambar Gambar Rancangan tampilan minimap Tampilan Menu Pengujian Tampilan ini ialah tampilan menu yang dibutuhkan untuk melakukan pengujian. Tampilan ini akan berisi menu-menu khusus untuk menjalankan pengujian. Tampilan menu pengujian dapat dilihat pada Gambar
63 39 Gambar Rancangan tampilan menu pengujian 3.6 Perancangan Karakter dan Aset Ant Cave Pada subbab ini akan dibahas rancangan rancangan karakter dan aset yang digunakan untuk game ini. Karakter maupun aset untuk game ini penulis ambil dari web yang menyediakan aset secara gratis Karakter Pemain Ant Cave Untuk karakter pemain Ant Cave penulis mengunakan karya Warren Clark pada web itch.io [7]. Karakter ini tersedia dalam bentuk.png sehingga memudahkan penulis untuk menggunakan karakter ini. Karakter pemain dapat dilihat pada Gambar
64 Karakter Musuh Lemah Gambar Karakter pemain Untuk karakter musuh lemah penulis mengunakan karya Henry Software pada web itch.io [8]. Karakter ini tersedia dalam bentuk.png sehingga memudahkan penulis untuk menggunakan karakter ini. Karakter pemain dapat dilihat pada Gambar Karakter Musuh Sedang Gambar Karakter musuh lemah Untuk karakter musuh sedang penulis mengunakan karya Arks pada web itch.io [9]. Karakter ini tersedia dalam bentuk.png sehingga memudahkan penulis untuk menggunakan karakter ini. Karakter pemain dapat dilihat pada Gambar
65 Karakter Musuh Kuat Gambar Karakter musuh sedang Untuk karakter musuh kuat penulis mengunakan karya Jesse M pada web itch.io [10]. Karakter ini tersedia dalam bentuk.png sehingga memudahkan penulis untuk menggunakan karakter ini. Karakter pemain dapat dilihat pada Gambar Aset Labirin Gambar Karakter musuh kuat Untuk aset labirin penulis mengunakan karya Petey90 pada web itch.io [11]. Aset ini tersedia dalam bentuk.png sehingga memudahkan penulis untuk menggunakan aset ini. Aset labirin ini dapat dilihat pada Gambar
66 Aset Tangga Turun Gambar Aset labirin Untuk aset tangga turun penulis mengunakan karya Stephen Challener pada web opengameart.org [12]. Aset ini tersedia dalam bentuk.png sehingga memudahkan penulis untuk menggunakan aset ini. Aset tangga turun ini dapat dilihat pada Gambar Gambar Aset tangga turun
67 BAB IV IMPLEMENTASI Pada bab ini dibahas mengenai implementasi yang dilakukan berdasarkan rancangan yang telah dijabarkan pada bab sebelumnya. 4.1 Lingkungan Implementasi Lingkungan implementasi merupakan lingkungan dimana game akan dibangun. Lingkungan implementasi dibagi menjadi dua, yaitu lingkungan implementasi berupa perangkat keras dan lingkungan implementasi berupa perangkat lunak Perangkat Keras Perangkat keras yang digunakan dalam pengembangan aplikasi ini adalah komputer dengan spesifikasi sebagai berikut: Tipe : Asus G550JX Prosesor : Intel Core(TM) i7-4720hq 2.60GHz (8 CPUs) ~2.6 GHz Memori : 8192 MB RAM Sedangkan untuk melakukan implementasi, digunakan perangkat bergerak dengan spesifikasi sebagai berikut: Tipe : Sony Xperia Z1 Compact Prosesor : Qualcomm MSM8974 Memori : 2048 MB Perangkat Lunak Perangkat lunak yang digunakan dalam pengembangan aplikasi ini adalah sebagai berikut: Sistem Operasi : Windows 10 Home 64-bit Game Engine : Unity versi 5.4.2f2 Text Editor : MonoDevelop 43
68 44 Sedangkan untuk melakukan implementasi, digunakan perangkat bergerak dengan spesifikasi perangkat lunak sebagai berikut: Sistem Operasi : Android Implementasi Labirin Subbab ini membahas mengenai implementasi rancangan labirin seperti yang sudah dijelaskan pada Subbab Kode implementasi labirin dapat dilihat pada Kode Sumber void DeclareAll(int level){ if (level % 10 == 1 level % 10 == 2 level % 10 == 3 ) { kolom = 10; baris = 10; jumlahsemut = 9; else if (level % 10 == 4 level % 10 == 5 level % 10 == 6){ kolom = 11; baris = 11; jumlahsemut = 10; else if (level % 10 == 7 level % 10 == 8 level % 10 == 9 level % 10 == 0 ){ kolom = 12; baris = 12; jumlahsemut = 11; else { kolom = 12; baris = 12; jumlahsemut = 11; void BuatMapsDasar (float phe){ maps.clear (); for(int x = 0; x < kolom; x++){ for(int y = 0; y < baris; y++){ //mulai dari 0.0 sampai kolom.baris
69 45 maps.add (new MAP {pos= new Vector3 (x, y, 0f), pheromon = phe); Kode Sumber 4. 1 Kode implementasi labirin 4.3 Implementasi Artificial Ant Colony Algorithm Subbab ini membahas mengenai implementasi pembangkit labirin seperti yang sudah dijelaskan pada Subbab Implementasi Perhitungan Jarak Pada tahap ini dijelaskan mengenai implementasi dari perhitungan jarak antar kota yang telah dijelaskan pada Bab III. Kode untuk menghitung jarak antar tiap kota dapat dilihat pada Kode Sumber float HitJarak(int x1, int y1, int x2, int y2){ float jarak; float a =(float)math.pow((float)x1-(float)x2, 2); float b =(float)math.pow((float)y1-(float)y2, 2); jarak =(float)math.sqrt(a + b); return jarak; Kode Sumber 4. 2 Kode untuk menghitung jarak Implementasi Probabilitas Pada tahap ini dijelaskan mengenai implementasi dari perhitungan probabilitas setiap kota seperti yang telah dijelaskan pada Bab III. Kode untuk menghitung probabilitas setiap kota dapat dilihat pada Kode Sumber for (int k = 0; k < kolom * baris; k++) {
70 46 float jarak = HitJarak (possemut [i, 0], possemut [i, 1], ant [i] [k].posx, ant [i] [k].posy); float jarakxphero; //kalau belum visited if (ant [i] [k].visited==false && jarak!=0) { int index = maps.findindex (aaaa => aaaa.pos.x ==(float) ant [i] [k].posx && aaaa.pos.y == (float) ant [i] [k].posy); float a = (float)math.pow (maps [index].pheromon, alpha); float b = (float)math.pow (1 /jarak, beta); jarakxphero = a * b; else jarakxphero = 0; jarakxpherototal = jarakxpherototal + jarakxphero; ant [i] [k].distxphero = jarakxphero; for (int k = 0; k < kolom * baris; k++) { ant [i] [k].prob = ant [i] [k].distxphero / jaraktotal; Kode Sumber 4. 3 Kode menghitung probabilitas Implementasi Perpindahan Semut Pada tahap ini dijelaskan mengenai implementasi dari perpindahan semut ke kota dengan probabilitas tertinggi seperti yang telah dijelaskan pada Bab III. Kode untuk mencari probabilitas tertinggi dapat dilihat pada Kode Sumber List<float> tmparray = new List<float>(); for (int k = 0; k < kolom * baris; k++) { //probablitas yang telah dihitung sebelumnya
71 47 tmparray.add(ant [i] [k].prob); tmparray.sort(); float nilaimax = tmparray [tmparray.count-1]; Kode Sumber 4. 4 Kode mencari probabilitas tertinggi Implementasi Update Pheromon Pada tahap ini dijelaskan mengenai implementasi dari perhitungan nilai feromon yang baru setelah semut berpindah kota seperti yang telah dijelaskan pada Bab III. Apabila ada lebih dari satu semut pada kota yang sama maka nilai feromon akan bertambah sebanyak jumlah feromon yang dikeluarkan oleh semut tersebut. Jumlah feromon yang dikeluarkan oleh semut ialah 1/jarak semut dari kota sebelumnya. Kode untuk meng-update feromon dapat dilhat pada Kode Sumber for (int abc = 0; abc < maps.count; abc++) { //langsung update maps [abc].pheromon = (1 - evaporation) * maps [abc].pheromon; for (int j = 0; j < jumlahsemut; j++) { if (maps [abc].pos == new Vector3 (possemut [j, 0], possemut [j, 1], 0)) { maps [abc].pheromon = maps [abc].pheromon + (1 / possemutjarak [j]); Kode Sumber 4. 5 Kode untuk meng-update nilai feromon 4.4 Implementasi Algoritma DFS Pada tahap ini dijelaskan mengenai implementasi dari algoritma DFS seperti yang telah dijelaskan pada Subbab Algoritma ini digunakan untuk mengecek apakah kota-kota yang
72 48 ada telah terhubung sehingga membentuk labirin atau belum. Kode algoritma ini dapat dilihat pada Kode Sumber int CekSelesai(){ List<MAPTMP> maptmp = new List<MAPTMP>(); List<int> letaktmp = new List<int> (); for (int x = 0; x < maptmp.count; x++) { if (maptmp[x].jalan &&!maptmp[x].visited) { int xtmp = maptmp [x].posx; int ytmp = maptmp [x].posy; while (true) { int index = maptmp.findindex (aaaa => aaaa.posx == xtmp && aaaa.posy == ytmp); int indexatas, indexkanan, indexbawah, indexkiri; if (ytmp < baris - 1) indexatas = maptmp.findindex (aaaa => aaaa.posx == xtmp && aaaa.posy == ytmp + 1); else indexatas = -1; if (xtmp < kolom - 1) indexkanan = maptmp.findindex (aaaa => aaaa.posx == xtmp + 1 && aaaa.posy == ytmp); else indexkanan = -1; if (xtmp > 0) indexbawah = maptmp.findindex (aaaa => aaaa.posx == xtmp - 1 && aaaa.posy == ytmp); else indexbawah = -1; if (ytmp > 0) indexkiri = maptmp.findindex (aaaa => aaaa.posx == xtmp && aaaa.posy == ytmp - 1); else indexkiri = -1; int tmppppp = 0; if (indexatas!= (-1) && maptmp [indexatas].jalan == true && maptmp [indexatas].visited == false) {
73 49 letaktmp.insert (tmppppp, maptmp [indexatas].posx); tmppppp++; letaktmp.insert (tmppppp, maptmp [indexatas].posy); tmppppp++; if (indexkanan!= (-1) && maptmp [indexkanan].jalan == true && maptmp [indexkanan].visited == false) { letaktmp.insert (tmppppp, maptmp [indexkanan].posx); tmppppp++; letaktmp.insert (tmppppp, maptmp [indexkanan].posy); tmppppp++; if (indexbawah!= (-1) && maptmp [indexbawah].jalan == true && maptmp [indexbawah].visited == false) { letaktmp.insert (tmppppp, maptmp [indexbawah].posx); tmppppp++; letaktmp.insert (tmppppp, maptmp [indexbawah].posy); tmppppp++; if (indexkiri!= (-1) && maptmp [indexkiri].jalan == true && maptmp [indexkiri].visited == false) { letaktmp.insert (tmppppp, maptmp [indexkiri].posx); tmppppp++; letaktmp.insert (tmppppp, maptmp [indexkiri].posy); tmppppp++; if(letaktmp.count()==0) break; xtmp = letaktmp [0]; letaktmp.removeat (0); ytmp = letaktmp [0]; letaktmp.removeat (0);
74 50 maptmp [index].visited = true; if (letaktmp.count () == 0) break; Kode Sumber 4. 6 Kode Algoritma DFS 4.5 Implementasi Permainan Subbab ini membahas mengenai implementasi pada permainan. Implementasi yang dimaksud dapat berupa implementasi aturan main, implementasi fungsi, dan implementasi rancangan tampilan awal. Implementasi permainan akan dibahas berdasarkan antarmuka-antarmuka yang ada pada permainan Implementasi Tampilan Awal Hasil implementasi tampilan awal dapat dilihat pada Gambar Fungsi untuk untuk menjalankan halaman ini dapat dilihat pada Kode Sumber public void NewGame(){ if (newnamecanvas.gameobject.activeself) newnamecanvas.gameobject.setactive (false); else newnamecanvas.gameobject.setactive (true); public void Instruction(){ SceneManager.LoadScene ("Instruction"); public void Exit (){ Application.Quit (); public void ForTesting(){
75 51 SceneManager.LoadScene ("ForTesting"); Kode Sumber 4. 7 Fungsi pada tampilan awal Gambar 4. 1 Tampilan awal Implementasi Tampilan Instruksi Hasil implementasi tampilan memasukkan nama dapat dilihat pada Gambar Fungsi untuk untuk menjalankan halaman ini dapat dilihat pada Kode Sumber public void MainMenu(){ SceneManager.LoadScene ("MainMenu"); Kode Sumber 4. 8 Fungsi tombol back
76 52 Gambar 4. 2 Tampilan instruksi Implementasi Tampilan Memasukkan Nama Hasil implementasi tampilan memasukkan nama dapat dilihat pada Gambar Fungsi untuk untuk menjalankan halaman ini dapat dilihat pada Kode Sumber public void Play(){ if (ifield.text!= null) { PlayerPrefs.SetString ("Name", ifield.text); PlayerPrefs.SetInt ("Level", 0); SceneManager.LoadScene ("Main"); Kode Sumber 4. 9 Fungsi tombol save
77 53 Gambar 4. 3 Tampilan memasukkan nama Implementasi Tampilan Permainan Hasil implementasi tampilan permainan dapat dilihat pada Gambar Terdapat beberapa fungsi untuk untuk menjalankan halaman ini, yaitu fungsi untuk mengatur level dapat dilihat pada Kode Sumber 4. 10, fungsi untuk Menggerakkan karakter dapat dilihat pada Kode Sumber 4. 11, fungsi untuk bertarung dapat dilihat pada Kode Sumber 4. 12, dan fungsi untuk jalan keluar dapat dilihat pada Kode Sumber
78 54 Gambar 4. 4 Tampilan permainan void SetEnemy(int level){ if (level == 1) LayoutEnemy (enemytiles [0], 1); else if (level == 2) LayoutEnemy (enemytiles [0], 2); else if (level == 3) LayoutEnemy (enemytiles [0], 3); else if (level == 4) { LayoutEnemy (enemytiles [0], 1); LayoutEnemy (enemytiles [1], 1); else if (level == 5) { LayoutEnemy (enemytiles [0], 1); LayoutEnemy (enemytiles [1], 2); else if (level == 6) { LayoutEnemy (enemytiles [1], 3);
79 55 else if (level == 7) { LayoutEnemy (enemytiles [0], 1); LayoutEnemy (enemytiles [2], 1); else if (level == 8) { LayoutEnemy (enemytiles [0], 1); LayoutEnemy (enemytiles [1], 1); LayoutEnemy (enemytiles [2], 1); else if (level == 9) { LayoutEnemy (enemytiles [1], 2); LayoutEnemy (enemytiles [2], 1); else if (level == 10) { LayoutEnemy (enemytiles [0], 1); LayoutEnemy (enemytiles [1], 2); LayoutEnemy (enemytiles [2], 2); else { Kode Sumber Implementasi level void Update () { GameManager.instance.playerHealthPoints = healthpoint; if(!gamemanager.instance.playersturn) return; int horizontal = 0; int vertical = 0; if (Input.touchCount > 0){ Touch mytouch = Input.touches[0]; if (mytouch.phase == TouchPhase.Began){ touchorigin = mytouch.position; else if (mytouch.phase == TouchPhase.Ended && touchorigin.x >= 0) { Vector2 touchend = mytouch.position; float x = touchend.x - touchorigin.x; float y = touchend.y - touchorigin.y;
80 56 touchorigin.x = -1; if (Mathf.Abs(x) > Mathf.Abs(y)) horizontal = x > 0? 1 : -1; else vertical = y > 0? 1 : -1; if(horizontal!= 0 vertical!= 0) { AttemptMove<Enemy> (horizontal, vertical); Kode Sumber Fungsi untuk menggerakkan karakter public IEnumerator BattleScene (Enemy enemy, Player player, int arah){ playersturn = true; canvascontroller.battlecanvassetting (enemy); bool playerfirst=false; int playerattackpoint, enemyattackpoint, difspeed; difspeed = player.speed - enemy.speed; playerattackpoint = player.attack - enemy.defence; if (playerattackpoint <= 0) playerattackpoint = 1; enemyattackpoint = enemy.attack - player.defence; if (enemyattackpoint <= 0) enemyattackpoint = 1; if (difspeed > 0) { playerfirst = true; else if (difspeed < 0) { playerfirst = false; else if (difspeed == 0) { playerfirst = true; looping = true;
81 57 while (looping) { if (playerfirst) { //player menyerang player.attackanim(arah); yield return new WaitForSeconds (1.2f); enemy.healthpoint = enemy.healthpoint - playerattackpoint; if (enemy.healthpoint>=0) { //enemy menyerang player.healthpoint = player.healthpoint - enemyattackpoint; if (player.healthpoint <= 0) { canvascontroller.gameover(); looping = false; else { enemy.lose (); looping = false; else { //enemy menyerang player.healthpoint = player.healthpoint - enemyattackpoint; if (player.healthpoint <= 0) { canvascontroller.gameover(); looping = false; else { player.attackanim (arah); yield return new WaitForSeconds (1.2f); enemy.healthpoint = enemy.healthpoint - playerattackpoint; if (enemy.healthpoint<=0) { enemy.lose (); looping = false;
82 58 canvascontroller.battlecanvasexitsetting (); playersturn = false; Kode Sumber Fungsi bertarung private void OnTriggerEnter2D(Collider2D other){ if (other.tag == "Exit") { Invoke ("Restart", restartleveldelay); enabled = false; Kode Sumber Fungsi jalan keluar Implementasi Tampilan Menu Pause Hasil implementasi tampilan menu pause dapat dilihat pada Gambar Fungsi untuk untuk menjalankan halaman ini dapat dilihat pada Kode Sumber Gambar 4. 5 Tampilan menu pause
83 59 public void Pause(){ Time.timeScale = 0; pausecanvas.gameobject.setactive (true); public void Resume(){ Time.timeScale = 1; pausecanvas.gameobject.setactive (false); public void MainMenu(){ GameManager.instance.GameOverWait (); Kode Sumber Fungsi menu pause Implementasi Tampilan Pesan Menang Dan Kalah Hasil implementasi tampilan pesan kalah dapat dilihat pada Gambar 4. 6, sedangkan implementasi tampilan pesan menang dapat dilihat pada Gambar Gambar 4. 6 Pesan kalah
84 60 Gambar 4. 7 Pesan menang Implementasi Tampilan Minimap Hasil implementasi tampilan minimap dapat dilihat pada Gambar Fungsi untuk untuk menjalankan halaman ini dapat dilihat pada Kode Sumber public void Minimap(){ if (minimap) { Camera.main.orthographicSize = 5; minimap = false; else { Camera.main.orthographicSize = 20; minimap = true; Kode Sumber Fungsi minimap
85 Gambar 4. 8 Minimap 61
86 62 (Halaman ini sengaja dikosongkan)
87 BAB V PENGUJIAN DAN EVALUASI Pada bab ini dijelaskan tentang uji coba dan evaluasi dari implementasi yang telah dilakukan. 5.1 Lingkungan Pengujian Lingkungan uji coba yang digunakan adalah sebuah smartphone dengan spesifikasi sebagai berikut: 1. Perangkat Keras Tipe : Sony Xperia Z1 Compact Prosesor : Qualcomm MSM8974 Snapdragon 800 Memori : 2 GB 2. Perangkat Lunak Sistem Operasi : Android Pada skenario pengujian dijelaskan tentang skenario pengujian yang dilakukan. Pengujian yang akan dilakukan hanya 1 jenis, yaitu pengujian fungsionalitas. Pengujian ini dilakukan untuk mengetahui apakah fungsionalitas game telah berjalan sebagai mana mestinya dan untuk mengetahui apakah telah terbentuk labirin. 5.2 Pengujian Fungsionalitas Pengujian fungsionalitas dilakukan dengan menyiapkan beberapa skenario pengujian sebagai tolok ukur keberhasilan pengujian. Pengujian pertama ialah untuk mengetahui apakah terbentuk labirin yang berbeda setiap levelnya, pengujian kedua adalah untuk mengetahui apakah pemain dapat game over dan apakah pemain dapat menyelesaikan 1 level permainan. 63
88 Pengujian Labirin Pengujian terbentuknya labirin merupakan pengujian terhadap aplikasi untuk membentuk labirin-labirin yang berbeda setiap levelnya. Pengujian akan dilakukan sebanyak 9 kali, 3 kali pada level 1 yang miliki ukuran peta 10 x 10, 3 kali pada level 4 yang memiliki ukuran peta 11 x 11, dan 3 kali pada level 7 yang memiliki ukuran peta 12 x 12. Pada setiap pengujian akan dicek apakah waktu untuk membentuk labirin lebih dari 5 detik atau tidak. Hasil pengujian dapat dilihat pada tabel Tabel 5. 1, detail waktu pengujian dapat dilihat pada tabel Tabel 5. 2, dan hasil labirin dapat dilihat pada Gambar 5. 1 Pengujian labirin level 1-1 hingga Gambar Tabel 5. 1 Hasil pengujian labirin ID PF-001 Nama Pengujian Terbentuknya Labirin Tujuan uji coba Terbentuk labirin yang berbeda-beda pada setiap level Kondisi awal Pemain berada pada halaman menu pengujian Skenario 1 Pemain memilih Level 1 sebanyak tiga kali Masukan Klik tombol Level 1 Keluaran yang diharapkan Labirin yang berbeda-beda dapat terbentuk dalam waktu yang kurang dari 5 detik Hasil uji coba Berhasil Kondisi Akhir Terbentuk labirin yang berbeda-beda dan dalam waktu yang kurang dari 5 detik Skenario 2 Pemain memilih Level 4 sebanyak tiga kali Masukan Klik tombol Level 4
89 65 ID PF-001 Keluaran yang diharapkan Labirin yang berbeda-beda dapat terbentuk dalam waktu yang kurang dari 5 detik Hasil uji coba Berhasil Kondisi Akhir Terbentuk labirin yang berbeda-beda dan dalam waktu yang kurang dari 5 detik Skenario 3 Pemain memilih Level 7 sebanyak tiga kali Masukan Klik tombol Level 7 Keluaran yang diharapkan Labirin yang berbeda-beda dapat terbentuk dalam waktu yang kurang dari 5 detik Hasil uji coba Berhasil Kondisi Akhir Terbentuk labirin yang berbeda-beda dan dalam waktu yang kurang dari 5 detik Tabel 5. 2 Hasil Waktu pengujian labirin Level Waktu 1 1 detik 1 1 detik 1 1 detik 4 1 detik 4 1 detik 4 1 detik 7 3 detik 7 3 detik 7 1 detik
90 66 Gambar 5. 1 Pengujian labirin level 1-1 Gambar 5. 2 Pengujian labirin level 1-2
91 67 Gambar 5. 3 Pengujian labirin level 1-3 Gambar 5. 4 Pengujian labirin level 4-1
92 68 Gambar 5. 5 Pengujian labirin level 4-2 Gambar 5. 6 Pengujian labirin level 4-3
93 69 Gambar 5. 7 Pengujian labirin level 7-1 Gambar 5. 8 Pengujian labirin level 7-2
94 70 Gambar 5. 9 Pengujian labirin level Pengujian Aturan Permainan Pengujian aturan main merupakan pengujian terhadap game untuk melihat apakah pemain dapat menemukan jalan untuk ke level selanjutnya. Skenario pengujian ada tiga, yaitu ketika level selesai karena pemain telah menemukan tangga untuk ke level selanjutnya, ketika pemain bertarung dengan musuh, dan ketika pemain kalah karena kehilangan health point. Hasil pengujian aturan main dapat dilihat pada Tabel 5. 3 Hasil pengujian aturan permain. Tampilan ketika pemain menemukan tangga turun dan mendapatkan pesan berupa level selanjutnya dapat dilihat pada Gambar 5. 10, tampilan ketika pemain bertarung dapat dilihat pada Gambar 5. 11, dan tampilan ketika pemain kalah dapat dilihat pada Gambar
95 71 Tabel 5. 3 Hasil pengujian aturan permainan ID Nama Tujuan uji coba Kondisi awal Skenario 1 Masukan Keluaran yang diharapkan Hasil uji coba Kondisi Akhir Skenario 2 Masukan Keluaran yang diharapkan Hasil uji coba Kondisi Akhir Skenario 3 Masukan Keluaran yang diharapkan Hasil uji coba Kondisi Akhir PF-002 Pengujian Aturan Main Pengguna memainkan game sesuai aturan main Pemain berada pada pada gamei dan telah memasukkan nama Pemain menemukan tangga turun Tidak ada Pesan untuk level selanjutnya Berhasil Muncul pesan untuk level selanjutnya Pemain bertarung dengan musuh Pemain menggerakan karakter kea rah musuh Darah pemain berkurang Berhasil Darah pemain berkurang Pemain kehilangan seluruh health points Tidak ada Munculnya pesan kalah Berhasil Munculnya pesan kalah
96 72 Gambar Pesan menang barupa level pelanjutnya Gambar Bertarung
97 73 Gambar Pesan kalah 5.3 Evaluasi Pengujian Fungsionalitas Rangkuman hasil pengujian fungsionalitas dapat dilihat pada Tabel Berdasarkan data pada tabel tersebut, dapat disimpulkan bahwa semua skenario pengujian berhasil dijalankan. Sehingga dapat disimpulkan bahwa fungsionalitas dari aplikasi telah bekerja sesuai dengan yang diharapkan. Tabel 5. 4 Hasil pengujian fungsionalitas Kode Pengujian Nama Hasil PF001-1 Pengujian Labirin (Skenario 1) Berhasil PF001-2 Pengujian Labirin (Skenario 2) Berhasil PF001-3 Pengujian Labirin (Skenario 3) Berhasil PF002-1 Pengujian Aturan Main (Skenario 1) Berhasil PF002-2 Pengujian Aturan Main (Skenario 2) Berhasil PF002-3 Pengujian Aturan Main (Skenario 3) Berhasil
98 74 (Halaman ini sengaja dikosongkan)
99 BAB VI KESIMPULAN DAN SARAN Pada bab ini dijelaskan mengenai kesimpulan yang dapat diambil dari hasil pengujian yang telah dilakukan sebagai jawaban dari rumusan masalah yang dikemukakan. Selain kesimpulan, juga diberi saran untuk pengembangan aplikasi kedepannya. 6.1 Kesimpulan Dari hasil pengamatan selama proses pengerjaan mulai dari proses perancangan, implementasi, dan pengujian yang telah dilakukan terhadap aplikasi, diambil kesimpulan sebagai berikut : 1. Penggunaan Artificial Ant Colony Algorithm dapat digunakan untuk membangkitkan labirin yang berbedabeda (dinamis) dan dengan waktu yang optimal (5 detik) untuk game 2D berbasis Android yang dapat dibuktikan pada Tabel 5. 1 dan Tabel Skenario permainan telah diimplementasikan pada permainan Ant Cave berupa level yang terdapat pada permainan. 3. Aturan permainan telah diimplementasikan pada permainan Ant Cave dan dapat dibuktikan pada Tabel Saran Adapun saran yang diberikan untuk mengembangkan game ini adalah game ini masih memerluka pengembangan lebih lanjut, terutama dalam hal pengaturan level atau tingkat kesusahan dan juga dari segi tampilan. 75
100 76 (Halaman ini sengaja dikosongkagn)
101 DAFTAR PUSTAKA [1] Maze generation algorithm, Wikipedia. 19-Mei [2] D. Powlap, Designing Mazes for 2D Games by Artificial Ant Colony Algorithm, [3] W. Software, Endless Depths 2 Roguelike RPG. Whatentar Software, [4] Avalon-Games, The Greedy Cave. Avalon-Games, [5] Unity (game engine), Wikipedia. 11-Des [6] C sharp, Wikipedia bahasa Indonesia, ensiklopedia bebas. 13-Jun [7] 4 Directional character by Warren Clark, itch.io. [Daring]. Tersedia pada: [Diakses: 16-Jun-2017]. [8] Free Pixel Mob! by Henry Software, itch.io. [Daring]. Tersedia pada: [Diakses: 16-Jun-2017]. [9] Witchcraft - Sprite sheet by Arks, itch.io. [Daring]. Tersedia pada: [Diakses: 16- Jun-2017]. [10] Skeleton Sprite Pack by Jesse M, itch.io. [Daring]. Tersedia pada: [Diakses: 16-Jun- 2017]. [11] Canyon Rocks Tiles by Petey90, itch.io. [Daring]. Tersedia pada: [Diakses: 16-Jun- 2017]. [12] Redshrike, 16x16 indoor rpg tileset: the baseline, OpenGameArt.org, 11-Jan [Daring]. Tersedia pada: [Diakses: 16-Jun-2017]. 77
102 78 (Halaman ini sengaja dikosongkan)
103 BIODATA PENULIS Andi Akram Yusuf, lahir pada tanggal 6 Agustus 1996 di Ujung Pandang, Sulawesi Selatan. Hobi yang dimiliki adalah membaca, menonton film, bermain game, dan berolahraga. Penulis menempuh pendidikan mulai dari SD Ujung Pandang Makassar ( ), SMP Ujung Pandang Makassar ( ), SMAN 17 Makassar ( ), dan Teknik Informatika ITS ( ). Di jurusan Teknik Informatika ITS, penulis mengambil bidang minat Interaksi Grafika dan Seni (IGS) dan memiliki ketertarikan dalam eksplorasi teknologi di bidang game, augmented reality, dan virtual reality. Selama perkuliahan, penulis aktif dalam organisasi kemahasiswaan, antara lain Anggota dan Staf UKM ITS Badminton Community, Anggota Panitia National Seminar Of Technology Schematics 2014, Anggota Sie Dana dan Usaha Schematics Penulis dapat dihubungi melalui surel : [email protected]. 79
BAB IV HASIL DAN UJI COBA
BAB IV HASIL DAN UJI COBA IV.1. Tampilan Hasil Berikut adalah tampilan hasil dan uji coba dari aplikasi game roguelike berbasis Android: IV.1.1. Tampilan Stage Tampilan utama ini merupakan tampilan awal
BAB III METODE PENELITIAN
BAB III METODE PENELITIAN 3.1 Desain Penelitian Desain dan tahapan yang dilakukan dalam penelitian ini dapat dilihat pada gambar berikut: Rumusan Masalah Pengembangan Perangkat Lunak Analisis Data Model
Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine
JURNAL TEKNIK POMITS Vol. 6, No. 2, (2017) ISSN: 2337-3539 (2301-9271 Print) A-717 Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine Billy, Imam
BAB II TINJAUAN PUSTAKA...
x DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN PEMBIMBING... HALAMAN PENGESAHAN PENGUJI... SURAT PERNYATAAN KARYA ASLI TUGAS AKHIR... ABSTRAKSI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...
ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha
ABSTRACT In a Rat Race game, there is only one way in and one way out. The objective of this game is to find the shortest way to reach the finish. We use a rat character in this game, so the rat must walk
KATA PENGANTAR. Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga
KATA PENGANTAR Pertama-tama penulis mengucapkan puji syukur ke hadirat Tuhan Yang Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga penulis dapat menyelesaikan pengerjaan dan penyusunan
GAME PENGENALAN METAMORFOSIS KUPU-KUPU BERBASIS ANDROID TUGAS AKHIR
GAME PENGENALAN METAMORFOSIS KUPU-KUPU BERBASIS ANDROID TUGAS AKHIR sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada program studi TEKNIK INFORMATIKA Disusun Oleh : ISA SUARTI 11
xiii TAKARIR Action : ActionScript : Android : Array : Attack : Background Music : Block Inventory : Battle System : Touchscreen : Controller :
xiii TAKARIR Action : ActionScript : Android : Array : Attack : Background Music : Block Inventory : Battle System : Touchscreen : Controller : Camera View : Defend : Experience : Game : Game Menu : Level
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Setelah dilakukan perancangan sistem pada bab sebelumnya, maka pada bab ini akan dibahas mengenai implementasi sistem. Pada bab ini, akan dijelaskan mengenai hardware dan
PEMBUATAN GAME RUNTHINK CHAPTER 2 PERKALIAN & PEMBAGIAN BERBASIS ANDROID. Tugas Akhir untuk memenuhi sebagian persyaratan mencapai derajat Diploma III
PEMBUATAN GAME RUNTHINK CHAPTER 2 PERKALIAN & PEMBAGIAN BERBASIS ANDROID Tugas Akhir untuk memenuhi sebagian persyaratan mencapai derajat Diploma III Program Studi Diploma III Teknik Informatika diajukan
3.1.3 Target Pemain Target pemain pada game Cari Kata Indonesia ini adalah semua umur, sehingga segala usia dapat memainkan game ini.
BAB III ANALISIS DAN PERANCANGAN GAME 3.1 Konsep Dasar Proyek Pengembangan Game 3.1.1 Konsep Dasar Game Game Cari Kata Indonesia ini bergenre puzzle kata. Pada game ini pemain ditugaskan untuk mencari
LAPORAN SKRIPSI RANCANG BANGUN GAME LABIRIN ESCAPE DENGAN ALGORITMA GREEDY BERBASIS ANDROID. Oleh : Dwi Susanto
LAPORAN SKRIPSI RANCANG BANGUN GAME LABIRIN ESCAPE DENGAN ALGORITMA GREEDY BERBASIS ANDROID Oleh : Dwi Susanto 2010-51-009 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MURIA KUDUS TAHUN
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dilakukan implementasi dan pengujian terhadap aplikasi yang dibangun. Tahapan ini dilakukan setelah analisis dan perancangan selesai dilakukan dan selanjutnya
BAB IV HASIL DAN UJI COBA
BAB IV HASIL DAN UJI COBA IV.1. Hasil Game vertical shooter ini memiliki 3 stage dalam pembuatannya. Stage 1 memiliki tingkat kesulitan dengan level yang mudah dan dengan tampilan background berupa hutan,
BAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN 3.1. Analisa Sistem Dalam merancang suatu game pembelajaran hijaiyah dasar, akan dilakukan analisa terhadap kebutuhan dasar sistem untuk mengetahui data-data yang merepresentasikan
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Saat ini penggunaan komputer tidak hanya sebagai sarana penghitung biasa saja tetapi sudah meliputi berbagai sarana seperti sarana informasi, hiburan, atau
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Setelah dilakukan perancangan sistem pada bab sebelumnya, maka pada bab ini akan dibahas mengenai implementasi sistem. Pada bab ini, akan dijelaskan mengenai hardware dan
Disusun Oleh : DIAN WIJAYA PUTRA M
PEMBUATAN GAME HELLO JOGGING BERBASIS ANDROID DENGAN MENGGUNAKAN FRAMEWORK LIBGDX Tugas Akhir Disusun untuk memenuhi salah satu syarat dalam memperoleh gelar Ahli Madya pada Program Studi Diploma III Teknik
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Pada bab ini, akan dijelaskan implementasi aplikasi game semaphore dan pengujian akhir yang akan dilakukan langsung oleh user. 5.1 Hardware dan Software yang Digunakan
PENERAPAN ALGORITMA ANT COLONY UNTUK TRAVELLING SALESMAN PROBLEM PADA PERANGKAT BERGERAK
PENERAPAN ALGORITMA ANT COLONY UNTUK TRAVELLING SALESMAN PROBLEM PADA PERANGKAT BERGERAK PRIYANKA GEMET ARISMOYO NRP 5109100178 Dosen Pembimbing I Henning Titi Ciptanigntyas S.Kom., M.Kom. Dosen Pembimbing
BAB I PENDAHULUAN. media penyimpanan data yang memiliki ukuran hingga ratusan gigabyte bahkan
BAB I PENDAHULUAN I.1. Latar Belakang Perkembangan teknologi komputer dewasa ini memungkinkan disimpannya data dalam bentuk file dalam jumlah yang besar karena adanya media penyimpanan data yang memiliki
BAB I PENDAHULUAN. Pacman adalah suatu permainan sepanjang-masa yang mungkin tak akan. (maze). Konsep permainannya pun sangat sederhana.
BAB I PENDAHULUAN I.1. Latar Belakang Pacman adalah suatu permainan sepanjang-masa yang mungkin tak akan lekang oleh waktu. Permainan ini berawal lahir di tahun 1980 dan merupakan permainan yang sangat
BAB 4 IMPLEMENTASI DAN PENGUJIAN
BAB 4 IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dilakukan implementasi dan pengujian terhadap aplikasi permainan yang dibangun, yaitu Monster Nest. Hasil perancangan pada tahap sebelumnya kemudian diimplementasikan
APLIKASI SMS MANAGER SEBAGAI MEDIA KOMUNIKASI PESAN SINGKAT BERBASIS ANDROID
APLIKASI SMS MANAGER SEBAGAI MEDIA KOMUNIKASI PESAN SINGKAT BERBASIS ANDROID SKRIPSI Disusun Sebagai Salah Satu Syarat Menyelesaikan Jenjang Strata I Pada Program Studi Informatika Fakultas Komunikasi
RANCANG BANGUN GAME SCRAMBLE DENGAN ALGORITMA DEPTH FIRST SEARCH (DFS) BERBASIS ANDROID TUGAS AKHIR
RANCANG BANGUN GAME SCRAMBLE DENGAN ALGORITMA DEPTH FIRST SEARCH (DFS) BERBASIS ANDROID TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
PEMBUATAN GAME PENGURANGAN BERBASIS ANDROID
PEMBUATAN GAME PENGURANGAN BERBASIS ANDROID Tugas Akhir Untuk memenuhi sebagian persyaratan Mencapai derajat Diploma III Program Studi Diploma III Teknik Informatika diajukan oleh NORIS SUGENG M M3112102
BAB III ANALISIS DAN KEBUTUHAN ALGORITMA
BAB III ANALISIS DAN KEBUTUHAN ALGORITMA 3.1 Analisis Masalah Berdasarkan penelitian yang dilakukan sebelumya oleh Hary Fernando dari Institut Teknologi Bandung dengan menerapkan algoritma burt force dan
IMPLEMENTASI METODE GENERATE AND TEST DALAM PENYELESAIAN PUZZLE 2048 BERBASIS MOBILE SKRIPSI
IMPLEMENTASI METODE GENERATE AND TEST DALAM PENYELESAIAN PUZZLE 2048 BERBASIS MOBILE SKRIPSI DEVINA PRATIWI HALIM 101401094 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Hotel Manajer: Permainan Simulasi Manajemen Operasi Hotel dengan Pemodelan Finite State Machine
A10 Hotel Manajer: Permainan Simulasi Manajemen Operasi Hotel dengan Pemodelan Finite State Machine Agung Teguh Setyadi, Imam Kuswardayan, dan Ridho Rahman H Departemen Informatika, Fakultas Teknologi
Program permainan (game) merupakan salah satu implementasi dari. bidang ilmu komputer. Perkembangan permainan pada masa kini sudah sangat
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Program permainan (game) merupakan salah satu implementasi dari bidang ilmu komputer. Perkembangan permainan pada masa kini sudah sangat pesat dan telah menjadi
BAB III ANALISIS DAN DESAIN SISTEM
BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisa Masalah Perkembangan teknologi pada masa sekarang ini telah mengalami perubahan yang sangat pesat, sama halnya dengan perkembangan Elektronik. Salah satunya
Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin
Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin Arie Tando - 13510018 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Tugas Akhir untuk memenuhi sebagian persyaratan mencapai derajat Diploma III Program Studi Diploma III Teknik Informatika
PEMBUATAN GAME ANDROID DEFEND OUR SURABAYA MENGGUNAKAN UNITY Tugas Akhir untuk memenuhi sebagian persyaratan mencapai derajat Diploma III Program Studi Diploma III Teknik Informatika diajukan oleh PANGESTU
BAB III METODOLOGI 3.1 Desain Game Konsep Game Pengumpulan Data
BAB III METODOLOGI 3.1 Desain Game Dalam penelitian pembuatan game, terdapat berberapa tahap. Tahap dasar pembuatan game adalah menentukan konsep dari game tersebut. Berikut ini adalah konsep dari game
PEMBUATAN GAME ENDLESS RUNNING ESCAPING BRAWIJAYA BERBASIS ANDROID MENGGUNAKAN UNITY 3D. Disusun Oleh : GIOVANNI ARTHANIDIO YUDHA PANGESTU M
PEMBUATAN GAME ENDLESS RUNNING ESCAPING BRAWIJAYA BERBASIS ANDROID MENGGUNAKAN UNITY 3D TUGAS AKHIR Disusun untuk memenuhi salah satu syarat dalam memperoleh gelar Ahli Madya pada Program Diploma III Teknik
BAB 4 IMPLEMENTASI DAN EVALUASI. 4.1 Spesifikasi Perangkat Keras dan Pera ngkat Lunak. program aplikasi dengan baik adalah sebagai berikut:
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi Perangkat Keras dan Pera ngkat Lunak 4.1.1 Spesifikasi Perangkat Keras Spesifikasi minimum hardware yang digunakan untuk menjalankan program aplikasi dengan
APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION
APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION Ever Jayadi1), Muhammad Aziz Fatchur Rachman2), Muhammad Yuliansyah3) 1), 2), 3) Teknik Informatika
BAB 1 PENDAHULUAN. Hal 1. 1 Dan W. Patterson, Introduction to Artificial Intelligence and Expert System, Prentice Hall, 1990,
BAB 1 PENDAHULUAN 1.1. Pengantar Sesuai dengan perkembangan jaman dan kemajuan teknologi, saat ini terdapat berbagai macam teknologi aplikasi yang dirancang untuk menggantikan fungsi benda yang dioperasikan
BAB III ANALISIS DAN PERANCANGAN SISTEM
BAB III ANALISIS DAN PERANCANGAN SISTEM III1 Analisis Sistem Pada analisis sistem akan dibahas mengenai analisis game sejenis dan analis game pacman Arkage ini Pada analisis game sejenis dilakukan observasi
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Kecerdasan buatan merupakan sub-bidang ilmu komputer yang khusus ditujukan untuk membuat software dan hardware yang sepenuhnya bisa menirukan beberapa fungsi
BAB IV HASIL DAN UJI COBA
45 BAB IV HASIL DAN UJI COBA IV.1. Tampilan Hasil Laporan skripsi ini mencoba untuk membuat sebuah perancangan aplikasi permainan Color Memory menggunakan metode Brute Force. Dalam proses pembuatan aplikasi
ABSTRAK. Keyword : Game, Endless Runner, Unity.
ABSTRAK Game ber-genre endless runner dapat didefinisikan oleh dua hal yaitu karakter pemain yang tidak dapat berhenti atau maju terus ke depan. Pengaturan game yang sederhana, hanya berfokus terhadap
BAB III ANALISA DAN PERANCANGAN
BAB III ANALISA DAN PERANCANGAN III.1. Analisis Sistem Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen dengan mempelajari seberapa bagus bagian-bagian komponen tersebut
BAB III ANALISA DAN PERANCANGAN
BAB III ANALISA DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi beberapa bagian komponen-komponen dengan tujuan mempelajari
BAB IV IMPLEMENTASI DAN ANALISIS
BAB IV IMPLEMENTASI DAN ANALISIS 4.1 Implementasi Aset Dan Seni 4.1.1 Implementasi Konsep Seni Konsep dari menggunakan konsep 2 dimensi, dimana dalam ini adalah game ini ingin memberikan hiburan kepada
BAB I PENDAHULUAN. meliputi perkembangan permainan yang berhubungan dengan kata. Anagram
BAB I PENDAHULUAN I.1. Latar Belakang Perkembangan perangkat lunak game (permainan) yang ada dewasa ini sejalan dengan perkembangan teknologi informasi. Perkembangan tersebut meliputi perkembangan permainan
GAME API UNGGUN : THE GAME BERBASIS ANDROID
GAME API UNGGUN : THE GAME BERBASIS ANDROID Tugas Akhir untuk memenuhi sebagian persyaratan mencapai derajat Diploma III Program Studi Diploma III Teknik Informatika diajukan oleh MAHESTU M3112085 kepada
RANCANG BANGUN APLIKASI GAME KOCOK DADU PADA PLATFORM ANDROID DENGAN METODE LINIER CONGRUENTIAL GENERATOR (LCG)
RANCANG BANGUN APLIKASI GAME KOCOK DADU PADA PLATFORM ANDROID DENGAN METODE LINIER CONGRUENTIAL GENERATOR (LCG) TUGAS AKHIR Diajukan guna memenuhi sebagian persyaratan dalam rangka menyelesaikan Pendidikan
PENGEMBANGAN GAME CONGKLAK BERBASIS ANDROID TUGAS AKHIR
PENGEMBANGAN GAME CONGKLAK BERBASIS ANDROID TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Oleh : Syaifulloh Muhyidin NIM. 06560161
BAB IV IMPLEMENTASI DAN EVALUASI GAME
BAB IV IMPLEMENTASI DAN EVALUASI GAME 4.1 Implementasi Aset dan Seni 4.1.1 Implementasi Konsep Seni Implementasi konsep seni membuat gambar background berupa jalan raya 5 lajur dan mobil dengan jenis yang
BAB IV IMPLEMENTASI DAN PENGUJIAN. Perangkat Keras Yang Digunakan Dalam Pembuatan
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Lingkungan Implementasi 4.1.1 Perangkat Keras Yang Digunakan Dalam Pembuatan Perangkat keras yang digunakan dalam pembuatan Game Congklakku adalah sebagai berikut
Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search
JURNAL DUNIA TEKNOLOGI INFORMASI Vol. 1, No. 1, (2012) 28-34 28 Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search 1 Mauza Saputri Handayani, 1 Dedy Arisandi, 1 Opim
PERANCANGAN PERMAINAN DOMINO BERBASIS ANDROID SKRIPSI MUHAMMAD ANDIKA SYAPUTRA
PERANCANGAN PERMAINAN DOMINO BERBASIS ANDROID SKRIPSI MUHAMMAD ANDIKA SYAPUTRA 081402061 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2014
BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM
BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Masalah Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi
BAB III ANALISA KEBUTUHAN DAN PERANCANGAN SISTEM
BAB III ANALISA KEBUTUHAN DAN PERANCANGAN SISTEM 3.1 Alat dan Bahan Dalam pembuatan game Timun Mas digunakan perangkat yang dibagi menjadi 2 perangkat, yaitu perangkat keras (hardware) dan perangkat lunak
APLIKASI MIDDLEWARE UNTUK AKSES PRINTER DI JURUSAN TEKNIK INFORMATIKA ITS
TUGAS AKHIR CI1599 APLIKASI MIDDLEWARE UNTUK AKSES PRINTER DI JURUSAN TEKNIK INFORMATIKA ITS Azhar Bayu Firdaus NRP 5105 100 082 Dosen Pembimbing Royyana Muslim I, S.Kom., M.Kom. JURUSAN TEKNIK INFORMATIKA
UKDW BAB 1 PENDAHULUAN Latar Belakang
BAB 1 PENDAHULUAN 1.1. Latar Belakang Perkembangan komputer dewasa ini telah banyak mengarah pada Kecerdasan Buatan atau Artificial Intelligence (AI). AI merupakan suatu cabang ilmu yang mempelajari tentang
1. PENDAHULUAN 1.1 Latar Belakang
1. PENDAHULUAN 1.1 Latar Belakang Android merupakan suatu system operasi untuk mobile phone yang berbasiskan Linux. Android memberikan platform terbuka bagi para developer untuk bisa menciptakan aplikasi
BAB IV DESKRIPSI PEKERJAAN. media promosi digital bernama Advergame. Dalam kerja praktik ini penulis
BAB IV DESKRIPSI PEKERJAAN Dalam Bab IV ini akan dibahas mengenai deskripsi pekerjaan selama melakukan kerja praktik di CV Sego Njamoer. Pada pelaksanaan kerja praktik, penulis merancang sebuah proyek
IMPLEMENTASI PEMODELAN ARTIFICIAL NEURAL NETWORKS (ANN) DALAM PREDIKSI DATA TIME SERIES PENJUALAN STUDI KASUS PT.
TUGAS AKHIR CI1599 IMPLEMENTASI PEMODELAN ARTIFICIAL NEURAL NETWORKS (ANN) DALAM PREDIKSI DATA TIME SERIES PENJUALAN STUDI KASUS PT. VARIA USAHA BETON ATHUR ADHI BUWANA NRP 5102 109 044 Dosen Pembimbing
BAB I PENDAHULUAN. masyarakat. Tingginya minat tersebut seakan menuntut para designer dan
BAB I PENDAHULUAN I.1. Latar Belakang Industri kreatif di Indonesia sudah mulai berkembang sejak beberapa tahun yang lalu. Perkembangan industri kreatif diikuti dengan tingginya minat masyarakat. Tingginya
Rancang Bangun Game Berhitung Spaceship dengan Pengendali Suara Menggunakan Speech Recognition Plugin pada Unity
A620 Rancang Bangun Game Berhitung Spaceship dengan Pengendali Suara Menggunakan Speech Recognition Plugin pada Unity Hans Alfon Ericksoon, Imam Kuswardayan dan Dr. Eng Nanik Suciati Jurusan Teknik Informatika,
BAB IV IMPLEMENTASI DAN EVALUASI SISTEM. geografis dengan pemanfaatan pemetaan secara langsung.
BAB IV IMPLEMENTASI DAN EVALUASI SISTEM Berdasarkan data lokasi dan data kebutuhan yang dimiliki oleh setiap user atau pengguna, akan dilakukan proses pencarian lokasi serta instansi secara geografis dengan
BAB III ANALISA DAN PERANCANGAN
BAB III ANALISA DAN PERANCANGAN III.1. Analisis Sistem Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen dengan mempelajari seberapa bagus bagian-bagian komponen tersebut
BAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN 3.1 Konsep Dasar Proyek Pengembangan Game 3.1.1 Konsep Dasar Game Game Tangkap Koruptor ini adalah permainan yang dimainkan oleh 1 orang (single player). Player akan berlari
BAB 4 IMPLEMENTASI DAN PENGUJIAN. dilakukan terhadap sistem sehingga user dapat memberi masukan demi
BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Tujuan implementasi adalah untuk menerapkan perancangan yang telah dilakukan terhadap sistem sehingga user dapat memberi masukan demi berkembangnya sistem
APLIKASI ENSIKLOPEDIA TARI DAERAH PULAU JAWA BERBASIS WEB
APLIKASI ENSIKLOPEDIA TARI DAERAH PULAU JAWA BERBASIS WEB IBROHIM BINLADIN 41508110114 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2013 APLIKASI ENSIKLOPEDIA
BAB I PENDAHULUAN 1.1 Latar Belakang
BAB I PENDAHULUAN 1.1 Latar Belakang Pada zaman ini perkembangan ilmu pengetahuan dan teknologi semakin berkembang dengan pesat, ini terlihat dari pemakaian alat-alat elektronik yang semakin canggih, Seiring
Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones
Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones Muharram Huda Widaseta NIM 13508033 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Rancang Bangun Pembangkit World Dinamis menggunakan Algoritma Recursive Backtracking pada Game 2D Platformer Mine Meander
A591 Rancang Bangun Pembangkit World Dinamis menggunakan Algoritma Recursive Backtracking pada Game 2D Platformer Mine Meander Faishal Azka Jellyanto, Imam Kuswardayan, dan Nanik Suciati Jurusan Teknik
RANCANG BANGUN GAME EDUKASI ASAH OTAK ANAK BERBASIS ANDROID MENGGUNAKAN APLIKASI CONSTRUCT 2
1 RANCANG BANGUN GAME EDUKASI ASAH OTAK ANAK BERBASIS ANDROID MENGGUNAKAN APLIKASI CONSTRUCT 2 Muhamad Firdaus, Handang Wahyu Nugroho Program Studi Teknik Informatika Universitas 17 Agustus 1945 Surabaya
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Game yang memiliki konten pendidikan lebih dikenal dengan istilah game edukasi. Game berjenis edukasi ini bertujuan untuk memancing minat belajar anak terhadap
PEMBELAJARAN PERTOLONGAN PERTAMA SAAT KECELAKAAN BERBASIS MOBILE ELWIN SUTRANGGA
PEMBELAJARAN PERTOLONGAN PERTAMA SAAT KECELAKAAN BERBASIS MOBILE ELWIN SUTRANGGA 41509110102 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCUBUANA JAKARTA 2014 i PEMBELAJARAN PERTOLONGAN
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Kakuro adalah permainan puzzle yang bersifat logika dan biasa disebut sebagai transliterasi matematis dari puzzle silang. Permainan puzzle kakuro merupakan
BAB I PENDAHULUAN 1.1. Latar Belakang Masalah
BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Game tidak hanya dapat dijadikan sebagai sarana hiburan pada era sekarang, tetapi juga dapat dijadikan sebagai sarana pembelajaran, mencari teman baru, melatih
APLIKASI GAME EDUKASI SEBAGAI UPAYA UNTUK MENINGKATKAN KEMAMPUAN BERHITUNG PADA ANAK BERKEBUTUHAN KHUSUS TUNA GRAHITA SKRIPSI
APLIKASI GAME EDUKASI SEBAGAI UPAYA UNTUK MENINGKATKAN KEMAMPUAN BERHITUNG PADA ANAK BERKEBUTUHAN KHUSUS TUNA GRAHITA SKRIPSI Disusun sebagai salah satu syarat menyelesaikan Jenjang Strata 1 pada Program
BAB IV HASIL DAN UJI COBA
BAB IV HASIL DAN UJI COBA IV.1 Implementasi Sistem Implementasi sebuah sistem memerlukan yang namanya suatu perangkat baik perangkat keras maupun perangkat lunak, berikut akan dijelaskan penggunaan perangkat
BAB 5 IMPLEMENTASI DAN PENGUJIAN
BAB 5 IMPLEMENTASI DAN PENGUJIAN 5.1. Lingkkungan Implementasi Tahapan implementasi bertujuan untuk memastikan apakah aplikasi game yang dibuat dapat bekerja secara efektif dan efisien sesuai dengan yang
BAB III ANALISA DAN PERANCANGAN
BAB III ANALISA DAN PERANCANGAN III.1. Analisis Sistem Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen dengan mempelajari seberapa bagus bagian-bagian komponen tersebut
BAB IV. adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan. implementasi dari aplikasi permainan komputer game knight s tour
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Se tahap analisis dan perancangan selesai dilakukan, maka tahap selanjutnya adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan
BAB I PENDAHULUAN. remaja maupun orang dewasa. Game ini terdiri dari game tradisional dan
BAB I PENDAHULUAN I.1 Latar Belakang Permainan atau sering disebut dengan game merupakan suatu sarana hiburan yang diminati dan dimainkan oleh banyak orang baik dari kalangan anakanak, remaja maupun orang
BAB III ANALISIS DAN DESAIN GAME. Program ini dirancang dan dibangun menggunakan perangkat keras atau hardware yang
BAB III ANALISIS DAN DESAIN GAME 3.1 Peralatan dan Tools Program ini dirancang dan dibangun menggunakan perangkat keras atau hardware yang direkomendasikan beserta alat dan bahan yang digunakan adalah
HALAMAN PENGESAHAN PEMBIMBING...
DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN PEMBIMBING... SURAT PERNYATAAN... ABSTRAK... KATA PENGANTAR... DAFTAR ISI... DAFTAR GAMBAR... DAFTAR TABEL... DAFTAR MODUL PROGRAM... i ii iii iv v vii x
BAB 1 PENDAHULUAN 1.1 Latar Belakang Pembuatan Game Petualangan Menggunakan Construct Identifikasi Masalah 1.3 Tujuan Tugas Akhir
BAB 1 PENDAHULUAN Dalam bab ini menjelaskan mengenai latar belakang tugas akhir, identifikasi masalah, tujuan tugas akhir, lingkup tugas akhir, metodologi serta sistematika penulisan. 1.1 Latar Belakang
MEMBANGUN GAME MAIN KATA DENGAN MACROMEDIA FLASH
MEMBANGUN GAME MAIN KATA DENGAN MACROMEDIA FLASH SKRIPSI Disusun sebagai salah satu syarat menyelesaikan Program Studi Strata I pada Jurusan Teknik Informatika Fakultas Komunikasi dan Informatika Universitas
BAB I PENDAHULUAN. Perkembangan yang amat pesat dari dunia teknologi. berimbas pula pada pesatnya perkembangan dunia game video.
BAB I PENDAHULUAN 1.1 LATAR BELAKANG Perkembangan yang amat pesat dari dunia teknologi berimbas pula pada pesatnya perkembangan dunia game video. Kemudahan untuk memainkan maupun membuat game video yang
Game Pengenalan Objek Wisata Kota Tomohon
Game Pengenalan Objek Wisata Kota Tomohon 1 Novelia Pontororing (1), Rizal Sengkey (2), Virginia Tulenan (3) Teknik Informatika, Universitas Sam Ratulangi, Manado, Indonesia. Email: [email protected],
RANCANG BANGUN APLIKASI PEMBELAJARAN PEMROGRAMAN BERORIENTASI OBJEK DENGAN BAHASA JAVA ABSTRAK
RANCANG BANGUN APLIKASI PEMBELAJARAN PEMROGRAMAN BERORIENTASI OBJEK DENGAN BAHASA JAVA Bella Hardiyana, S.Kom, M.Kom dan Yayang Nopandi, S.Kom Prodi Sistem Informasi Universitas Komputer Indonesia E-mail
KATA PENGANTAR. Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, karena
KATA PENGANTAR Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, karena anugerah dan rahmatnya, salah satu dari sekian banyaknya karunia-nya yang berupa Skripsi dan masih banyak kekurangan
SKRIPSI PEMBANGKIT LABIRIN ACAK UNTUK PERMAINAN MAZE RACE
SKRIPSI PEMBANGKIT LABIRIN ACAK UNTUK PERMAINAN MAZE RACE JAMES TJANDRA NPM: 2010730048 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI DAN SAINS UNIVERSITAS KATOLIK PARAHYANGAN 2017 UNDERGRADUATE
BAB III ANALISIS DAN DESAIN SISTEM
BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisa Masalah Perkembangan teknologi sangat sulit dijauhkan dari kehidupan manusia. Khususnya bermunculannya smartphone yang membantu pekerjaan manusia atau
PERMAINAN WORD SEARCH PUZZLE PADA ANDROID MENGGUNAKAN ALGORITMA BACKTRACKING SKRIPSI ISHRI IFDHILLAH MARBUN
PERMAINAN WORD SEARCH PUZZLE PADA ANDROID MENGGUNAKAN ALGORITMA BACKTRACKING SKRIPSI ISHRI IFDHILLAH MARBUN 081402002 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS
BAB 1 PENDAHULUAN. Pada masa sekarang ini, perkembangan dunia teknologi sudah sangat pesat.
BAB 1 PENDAHULUAN 1.1 Latar Belakang Pada masa sekarang ini, perkembangan dunia teknologi sudah sangat pesat. Komputer dan berbagai macam gadget / smartphone sudah dengan mudah didapatkan. Dengan teknologi
PERANCANGAN DAN IMPLEMENTASI ARTIFICIAL INTELLIGENCE PADA GAME STRATEGY TURN-BASED ROLE PLAYING GAME MENGGUNAKAN ALGORITMA A*
W ;/--n TUGAS AKHIR KI1502 PERANCANGAN DAN IMPLEMENTASI ARTIFICIAL INTELLIGENCE PADA GAME STRATEGY TURN-BASED ROLE PLAYING GAME MENGGUNAKAN ALGORITMA A* GIDEON ADIPRANA TIGOR SIBURIAN NRP 5113100052 Dosen
Pengenalan Sekolah MTsN Kutablang Menggunakan Augmented Reality Berbasis Android
Pengenalan Sekolah MTsN Kutablang Menggunakan Augmented Reality Berbasis Android M.RAISUL FADHA a*, YUL HENDRA a a Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Almuslim Jl. Almuslim
BAB 4. Implementasi dan Evaluasi
BAB 4 Implementasi dan Evaluasi 4.1 Implementasi Sistem Perangkat ajar algoritma minimax berupa simulasi futsal ini dirancang untuk para mahasiswa jurusan teknik informatika dalam membantu pengajaran mata
Aplikasi Monitoring Keberadaan Objek Melalui Perangkat Bergerak Berbasis Android
1 Aplikasi Monitoring Keberadaan Objek Melalui Perangkat Bergerak Berbasis Android Iqbal Dwiki Kurniawan 5110100070 Dosen Pembimbing : Dwi Sunaryono, S.Kom., M.Kom. Adhatus Solichah A., S.Kom., M.Sc. JURUSAN
