Pembangunan game Tower Defense Polisi Hutan

(1)

(2)

(3)

(4)

(5)

(6)

Diajuka Pr

F

FE

PROGR FAKULT

UNIVE

SKRIPSI

ukan untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

Oleh :

FEBRIANO AKBAR SETIAWAN 10108253

RAM STUDI TEKNIK INFORMATIKA LTAS TEKNIK DAN ILMU KOMPUTER

VERSITAS KOMPUTER INDONESIA 2013


(7)

iii

Alhamdulillahi Rabbil ‘Alamiin, segala puji dan syukur penulis panjatkan ke hadirat Allah SWT, karena dengan izin-Nya dan setitik ilmu pengetahuan yang diberikan kepada mahluk-Nya, penulis dapat menyelesaikan laporan tugas akhir ini yang berjudul “PEMBANGUNAN GAME TOWER DEFENSE POLISI HUTAN”. Tak lupa shalawat serta salam semoga dilimpahcurahkan kepada baginda Nabi Besar Muhammad SAW (Allahuma Shalli Wa Sallim ‘Alaihi).

Skripsi ini disusun untuk memenuhi salah satu syarat dalam menyelesaikan jenjang pendidikan S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Selama menulis laporan skripsi ini, penulis telah mendapatkan banyak sekali bimbingan dan bantuan dari berbagai pihak yang telah dengan segenap hati dan keikhlasan yang penuh membantu dan membimbing penulis dalam menyelesaikan laporan ini. Penulis menyadari sepenuhnya bahwa dalam skripsi yang penulis buat ini masih sangat jauh dari kesempurnaan. Hal ini tiada lain disebabkan oleh keterbatasan pengetahuan dan pengalaman yang penulis miliki. Dan dengan kesadaran hati, penulis ucapkan terima kasih kepada :

1. Kedua orang tuaku, dukungan beserta doa papa Fehbi Darmansyah dan mama Nunung Setianuryati sangat berarti dalam perjalanan hidupku, semoga Allah membalas kebaikan papa dan mama dengan surga-Nya. 2. Dr. Ir. Eddy Soeryanto Soegoto, M.Sc, selaku Rektor Universitas

Komputer Indonesia (UNIKOM).

3. Bapak Irawan Afrianto, S.T., M.T., selaku Ketua Jurusan Teknik Informatika Universitas Komputer Indonesia.

4. Bapak Galih Hermawan, S.Kom., M.T., selaku dosen pembimbing. Terima kasih sekali telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.


(8)

banyak memberikan saran, arahan dan bimbingan kepada penulis.

6. Bapak Alif Finandhita, S.Kom., selaku penguji 3 yang telah banyak memberikan saran, arahan dan bimbingan kepada penulis.

7. Bapak dan Ibu dosen serta seluruh staf pegawai program studi Teknik Informatika, UNIKOM Bandung yang telah banyak membantu penulis. 8. Saudari Eris Fitriani, S.E., Nungki Ayu Sofiany, dan Fiska Ayu Sopiani

yang telah memberikan dukungan beserta doa dalam penulisan skripsi ini. 7. Teman-teman di kelas IF-6 angkatan 2008. Terima kasih atas bantuannya

selama ini. Semoga teman-teman diberikan kemudahan serta kelancaran dalam mencapai cita-citanya.

8. Semua pihak yang turut memberikan dukungan dalam penulisan skripsi ini yang tidak bisa disebutkan satu persatu.

Semoga atas bantuan serta dukungannya diberikan balasan yang baik oleh Allah SWT. Akhir kata penulis berharap skripsi dan tugas akhir ini dapat berguna baik bagi Penulis maupun bagi pihak-pihak lain yang memerlukannya, serta dapat menjadi pendorong bagi penelitian lainnya untuk mengembangkan serta menambah ilmu pengetahuan yang berhubungan dengan judul skripsi dan tugas akhir ini.

Wassalamu’alaikum Wr.Wb.

Bandung, Januari 2013

Penulis


(9)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xiii

LAMPIRAN ... xiv

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 4

1.5.1 Metode Pengumpulan Data ... 4

1.5.2 Metode Pembangunan Perangkat Lunak ... 5

1.6 Sistematika Penulisan ... 7

BAB 2 TINJAUAN PUSTAKA... 9

2.1 Hutan ... 9

2.2 Polisi Hutan ... 9

2.3 Game ... 9

2.3.1 Pengertian Game ... 10

2.3.2 Sejarah Singkat Game ... 11

2.3.3 Game Komputer ... 12

2.3.4 Jenis-jenis Game ... 12

2.3.5 Genre-genre Game ... 13

2.3.6 Game Tower Defense ... 16


(10)

2.4.1 Game Maker Studio 1.0 ... 18

2.4.1.1 Event ... 19

2.4.1.1 Action ... 22

2.4.2 Game Maker Language ... 39

2.5 Kecerdasan Buatan / AI (Artificial Intelligence) ... 40

2.5.1 Algoritma Fuzzy ... 42

2.5.1.1 Pengertian Algoritma Fuzzy ... 42

2.6 Adobe Photoshop CS ... 44

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 45

3.1 Analisis Sistem ... 45

3.1.1 Analisis Masalah ... 45

3.1.1.1 Analisis Game Sejenis ... 46

3.1.1.2 Gambaran Sistem ... 47

3.1.1.3 Storyline ... 48

3.1.1.4 Gameplay ... 48

3.1.1.5 Kontrol Game ... 49

3.1.2 Analisis Fuzzy Logic ... 49

3.1.2.1 Klasifikasi Dengan Fuzzy Logic ... 49

3.1.3 Analisis Kebutuhan Sistem ... 53

3.1.4 Analisis dan Perancangan Terstruktur ... 54

3.1.5 Analisis Kebutuhan Non-Fungsional ... 54

3.1.5.1 Analisis Kebutuhan Perngkat Lunak ... 54

3.1.5.2 Analisis Kebutuhan Perangkat Keras ... 55

3.1.5.3 Analisis Kebutuhan User ... 55

3.1.6 Analisis Kebutuhan Fungsional ... 56

3.1.7 Diagram Object ... 56

3.1.7.1 Detail Object ... 57

3.1.8 Diagram Room ... 68

3.1.8.1 Detail Room ... 68


(11)

vii

3.2 Perancangan Sistem ... 81

3.2.1 Tujuan Perancangan Sistem ... 81

3.2.2 Gambaran Umum Sistem ... 82

3.2.3 Perancangan Program ... 82

3.2.4 Perancangan Antar Muka ... 82

3.2.4.1 Antar Muka Menu Utama ... 83

3.2.4.2 Antar Muka Pilih Pulau ... 84

3.2.4.3 Antar Muka Cara Bermain ... 86

3.2.4.4 Antar Muka Credit ... 88

3.2.4.5 Antar Muka Pulau Jawa ... 89

3.2.4.6 Antar Muka Pulau Sumatra... 91

3.2.4.7 Antar Muka Pulau Kalimantan ... 93

3.2.5 Storyboard ... 94

3.2.5.1 Tower ... 95

3.2.5.2 Enemy ... 96

3.2.5.3 Map ... 97

3.2.6 Jaringan Semantik ... 98

3.2.7 Struktur Menu Utama ... 100

3.2.8 Perancangan Program ... 100

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 101

4.1 Implementasi ... 101

4.2 Perangkat Pendukung Yang Digunakan ... 101

4.2.1 Perangkat Keras (Hardware) ... 101

4.2.1 Perangkat Lunak (Software) ... 102

4.3 Implementasi Aplikasi ... 102

4.3.1 Sisi User ... 102

4.3.2 Implementasi Object ... 108

4.4 Pengujian Sistem ... 126

4.5 Pengujian Alpha (Fungsional) ... 126


(12)

4.6.1 Kesimpulan Pengujian Beta ... 156

BAB 5 KESIMPULAN DAN SARAN ... 157

5.1 Kesimpulan ... 157

5.2 Saran ... 157


(13)

159

Daftar Pustaka

[1] Situs resmi Departemen Kehutanan RI.

www.dephut.go.id/index.php?q=id/node/247 [ Diakses 10 Oktober 2012]. [2] Sommerville, I. (2007). Software Engineering, ed. 8th . USA:

Addison-Wesley.

[3] Situs resmi Pengebang Game Maker Studio.

http://www.yoyogames.com/gamemaker/studio [ Diakses 15 Oktober 2012].

[4] C Dalmau. Daniel, Core Techniques and Algorithms in Game Programming, New Riders Publishing, USA, 2003.

[5] Kusumadewi. Sri, Artificial Intelegent (Teknik dan Aplikasinya), Graha ilmu, Yogyakarta, 2003.

[6] Purwanto, Edi. (2007). Tutorial Adobe Photoshop CS. edipsw.wordpress.com.

[7] Adams. Ernest, Fundamentals of Game Design, Second Edition, New Riders Publishing, Berkley CA, 2010.


(14)

1.1Latar Belakang Masalah

Polisi Hutan adalah pejabat fungsional tertentu dilingkungan Departeman Kehutanan yang oleh atau atas kuasa undang-undang memiliki wewenang kepolisian terbatas dibidang kehutanan. Polisi Hutan bertugas dalam menyelenggaraan perlindungan hutan dan konservasi alam bertujuan untuk menjaga hutan, kawasan hutan dan lingkungannya, agar fungsi lindung, fungsi konservasi, dan fungsi produksi, dapat tercapai secara optimal dan lestari.

Hutan menurut undang-undang nomor 41 tahun 1999 adalah suatu kawasan ekosistem berupa hamparan lahan berisi sumber daya alam hayati yang didominasi pepohonan dalam persekutuan alam lingkungan, yang satu dengan lainnya tidak dapat dipisahkan. Perkiraan tidak resmi dari bank dunia menyatakan bahwa setiap tahunnya Indonesia kehilangan 1,5 juta Ha hutan selama 12 tahun terakhir dan apabila ini dibiarkan maka akan terjadi ketidakstabilan/ketidakseimbangan lingkungan yang akan berdampak buruk bagi kehidupan manusia [1].

Dengan demikian dapat deketahui bahwa peran Hutan dan Polisi Hutan sangat penting untuk lingkungan. Pentingnya Hutan dan Polisi Hutan juga harus diketahui oleh setiap masyarakat agar mereka juga berperan dalam menjaga kelestarian hutan. Salahsatu cara yang dapat digunakan yaitu dengan memberikan pesan tentang pentingnya hutan dan polisi hutan melalui sebuah game tower defense.

Game tower defense yang saat ini ada hanya terpaku kepada genre Strategy Game saja. Selain itu pula pada game tower defense saat ini tidak disisipkan pesan-pesan edukasi didalamnya. Game tower defense yang bertema polisi hutan saat ini masih belum ada, baik berbasis desktop maupun basis mobile aplikasi. Saat ini game sejenis yang tengah beredar hanya memiliki rute tempuh musuh


(15)

tower defense yang sejenis antara lain Asgard Defense, Garden Defense, Robo Defense.

Solusi yang ditawarkan yaitu dengan game tower defense bertema polisi hutan yang disisipkan dengan pesan edukasi tentang pentingnya hutan. Game tower defense polisi hutan ini juga akan ditambahkan fitur unik berupa rute musuh yang dinamis. Pada musuhnya sendiri akan ditanamkan sebuah kecerdasan buatan dengan mengguanakan algoritma Fuzzy logic. Agar musuh dapat menentukan rute teraman yang dapat ditempuh untuk mencapai tujuannya. Sehingga diharapkan game tersebut dapat bermanfaat bagi penggunanya dan sekaligus menjadi pengembangan dari game tower defense yang ada pada saat ini.

1.2 Identifikasi Masalah

Berdasarkan uraian latar belakang yang telah dijabarkan sebelumnya, didapat dua permasalahan inti yaitu:

1. Belum ada game tower defense dengan tema Polisi Hutan dan menyisipkan pesan edukasi didalamnya.

2. Kurangnya tantangan yang ada pada game tower defense saat ini yang masih menggunakan jalur statis dan NPC tidak cerdas.

1.3Maksud dan Tujuan

Maksud dari penulisan tugas akhir ini adalah untuk membuat Game Tower Defense Polisi Hutan. Sedangkan tujuan dari penulisan skripsi ini adalah:

1. Membuat game tower defense yang memiliki tema Polisi Hutan dan menyisipkan pesan edukasi tentang hutan didalamnya.

2. Membuat game tower defense yang memiliki NPC cerdas dan jalur dinamis agar menambah tantangan di dalamnya.

1.4Batasan Masalah

Batasan masalah dalam membangun Game Tower Defense Polisi Hutan ini, adalah sebagai berikut :


(16)

1. Game bersifat desktop.

2. Game Polisi Hutan yang digunakan adalah bersifat Game Offline. 3. Sasaran usia pengguna : umum.

4. Cakupan materi bahasan yaitu memperkenalkan dampak dari perusakan hutan. Diantaranya adalah pemanasan global, peribahan iklim, dan lain-lain.

5. Sistem permainan bersifat singleplayer. 6. Grafis (2 Dimensi).

7. Genre (Tower Defense)

8. Terdapat tiga level pada game ini.

9. Menggunakan Algoritma fuzzy logic untuk menemukan jalan antara dua node dalam grafik dan untuk menemukan masalah jalan teraman yang akan ditanamkan pada musuh.

10. Tools yang digunakan : a. Game Maker Studio 1.0.

b. Adobe Photoshop CS4 untuk membuat objek gambarnya. 11. Pada pemodelan perangkat lunak menggunakan pemodelan UML. 12. fitur unggulan berupa :

a. Tema game tentang polisi hutan dan pentingnya hutan, disisipkan pesan-pesan edukasi didalamnya.


(17)

b. Musuh menggunakan AI Fuzzy Logic, sehingga musuh dapat mencari jaur dan rute teraman menuju sasarannya. Dangan parameter jarak rute dan jumlah tower.

1.5. Metodologi Penelitian

Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis, dimana memerlukan data untuk mendukung terlaksananya suatu penelitian. Metodologi penelitian yang digunakan adalah menggunakan Model Waterfall. Metodologi penelitian yang digunakan meliputi dua metode, yaitu metode pengumpulan data dan metode pembangunan perangkat lunak yang dijelaskan di bawah ini.

1.5.1. Metode Pengumpulan Data

Di dalam proses penelitian ini terdapat beberapa metode pengumpulan data yang diperoleh secara langsung dari objek penelitian, diantaranya yaitu :

a. Studi Literatur

Pada tahap ini data dikumpulkan dengan cara mengumpulkan hasil literarur, jurnal, buku-buku atau bacaan-bacaan serta internet yang berhubungan dengan pembangunan game Tower Defense Polisi Hutan. b. Wawancara

Pada tahap ini data dikumpulkan dengan cara mengadakan tanya jawab secara langsung dengan user atau pengguna game sebagai narasumber mengenai permasalahan yang diambil.


(18)

c. Observasi

Pada tahap ini data dikumpulkan dengan cara melakukan pengamatan secara langsung mengenai permasalahan yang diambil, sehingga mendapatkan data yang lebih jelas dan akurat.

1.5.2. Metode Pembangunan Perangkat Lunak

Metode pembangunan perangkat lunak yang digunakan dalam penelitian ini yaitu menggunakan Model Waterfall [2] yang dapat dilihat pada Gambar 1.1 di halaman berikutnya.

Tahapan-tahapan pembangunan perangkat lunak yang digunakan dalam metode penelitian ini adalah sebagai berikut :

1. Mendefinisikan Kebutuhan (Requirments Definition)

Pada tahap ini kelengkapan kebutuhan dikumpulkan, kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.

2. Desain Sistem dan Perangkat lunak (System and Software Design)

Pada tahap ini desain dikerjakan setelah kebutuhan selesai didefinisikan secara lengkap. Desain sistem merupakan perancangan sistem yang dilakukan berdasarkan data-data yang telah dikumpulkan pada tahap sebelumnya.


(19)

3. Implementasi dan Pengujian Perangkat Lunak (Implementation and Unit Testing)

Pada tahap ini desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.

4. Integrasi dan Pengujian Sistem (Integration and System Testing)

Pada tahap ini unit-unit program disatukan, kemudian diuji secara keseluruhan (system testing).

5. Pemeliharaan dan Operasi (Operation and Maintenance)

Pada tahap ini merupakan tahap terakhir yaitu mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya [2].

Gambar 1. 1 Model Waterfall [2] Requirements

definition

System and software design

Implementation and unit testing

Integration and system testing

Operation and maintenance


(20)

1.6. Sistematika Penulisan

Sistematika Untuk memberikan gambaran yang jelas mengenai penelitian yang dilakukan, maka ditetapkan sistematika penulisan sebagai berikut :

BAB 1 PENDAHULUAN

Bab ini mengemukakan latar belakang masalah, perumusan masalah, maksud dan tujuan penelitian, batasan masalah, metodologi penelitian, serta sistematika penulisan.

BAB 2 TINJAUAN PUSTAKA

Bab ini berisi tentang tinjauan perusahaan dan landasan teori yang berkaitan dengan judul, teori program yang berhubungan dengan aplikasi yang akan dibangun, serta teori khusus yaitu berkaitan dengan istilah-istilah yang dipakai dalam pembuatan aplikasi game Tower Defense Polisi Hutan.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis kebutuhan sistem untuk aplikasi yang akan dibangun. Selain itu, terdapat perancangan sistem untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat berdasarkan data yang menggunakan tools Rational Rose.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi hasil implementasi dari analisis dan perancangan sistem yang dilakukan, serta hasil pengujian sistem agar diketahui apakah game Tower Defense Polisi Hutan yang dibangun sudah memenuhi kebutuhan pengguna.


(21)

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang merupakan pendapat akhir dari uraian berupa informasi mengenai sistem yang telah dibangun dan saran-saran yang merupakan pendapat yang dikemukakan untuk pengembangan bagi game Tower Defense Polisi Hutan ini.


(22)

2.1 Hutan

Hutan menurut undang-undang nomor 41 tahun 1999 adalah suatu kawasan ekosistem berupa hamparan lahan berisi sumber daya alam hayati yang didominasi pepohonan dalam persekutuan alam lingkungan, yang satu dengan lainnya tidak dapat dipisahkan. Perkiraan tidak resmi dari bank dunia menyatakan bahwa setiap tahunnya Indonesia kehilangan 1,5 juta Ha hutan selama 12 tahun terakhir dan apabila ini dibiarkan maka akan terjadi ketidakstabilan/ketidakseimbangan lingkungan yang akan berdampak buruk bagi kehidupan manusia [1].

2.2 Polisi Hutan

Polisi Hutan adalah pejabat fungsional tertentu dilingkungan Departeman Kehutanan yang oleh atau atas kuasa undang-undang memiliki wewenang kepolisian terbatas dibidang kehutanan. Polisi Hutan bertugas dalam menyelenggaraan perlindungan hutan dan konservasi alam bertujuan untuk menjaga hutan, kawasan hutan dan lingkungannya, agar fungsi lindung, fungsi konservasi, dan fungsi produksi, dapat tercapai secara optimal dan lestari [1].

2.3 Game

Video game merupakan salah satu media hiburan yang paling popular untuk semua kalangan usia. Sejak pertama kali ditemukan sampai saat sekarang, teknologi game telah mengalami kemajuan yang terbilang pesat. Hal ini dapat dilihat dengan berkembangnya jenis, produk, alat, dan jenis interaksi game dengan penggunaan yang semakin beragam.


(23)

2.3.1 Pengertian Game

Dalam kamus bahasa Indonesia game diartikan sebagai permainan. Permainan merupakan bagian dari bermain dan bermain juga bagian dari permainan keduanya saling berhubungan. Permainan adalah kegiatan yang kompleks yang didalamnya terdapat peraturan, permainan 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, biasanya game banyak disukai oleh anak – anak hingga orang dewasa. Game sebenarnya penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut 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 aktifitas yang sedang kita lakukan.

Game berasal dari kata bahasa Inggris yang berarti dasar permainan. Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual game yang akan dibuat ( Intellectual Playability Game) yang juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Dalam game ada target-target yang ingin dicapai pemainnya.

Berdasarkan representasi visual, game dapat dibedakan menjadi 2 jenis, yaitu game 2 dimensi (2D) dan 3 dimensi (3D). Game 2D adalah game, yang secara matematis, hanya melibatkan 2 elemen koordinat kartesius, yaitu x dan y, sehingga konsep kamera pada game 2D hanya menentukan “gambar” mana pada game yang dapat dilihat oleh pemain. Sedangkan game 3D adalah game yang selain melibatkan elemen x dan y, juga melibatkan elemen z pada perhitungannya, sehingga konsep kamera pada game 3D benar-benar menyerupai konsep kamera


(24)

pada kehidupan nyata, yaitu selain digeser (seperti pada game 2D), juga dapat diputar dengan sumbu tertentu [4].

2.3.2 Sejarah Singkat Game

Di antara jajaran nama tokoh penemuan penting, nama besar seorang penemu permainan komputer, atau lebih lazim kita menyebutnya dengan game, jarang sekali disebutkan. Namun bila penemuannya sampai sekarang masih digunakan dan bahkan sangat diminati dan dinikmati. Sebagian orang bahkan saat ini mengangap game sebagai sebuah kebutuhan yang harus terpenuhi.

Game pertama kali dibuat pada tahun 1966 oleh Ralph Baer bersama dengan timnya yang berjumlah 500 orang yang terdiri dari para insinyur dan teknisi. Permainan yang pertama sekali ditemukan hanya dapat dimainkan oleh komputer seharga US$ 40.000. Dimana pengembangan dan pembuatan game tersebut didanai oleh Pentagon.

Pada tahun 1965, pihak militer datang kepada Bear dan meminta menciptakan simulasi komputer yang dapat membantu pasukan untuk belajar strategi dan mengukur kemampuan reflek. Proyek ini dikerjakan dengan tingkat keamanan yang sangat ketat di tengah situasi perang dingin.

Setelah sebulan bekerja keras, Bear berhasil menampilkan dua titik putih yang berkejar-kejaran di layar. Hal ini membuat pihak militer merasa kagum dan memberikan dana yang lebih besar lagi sehingga ia dapat menyewa asisten lebih banyak. Tim ini kemudian berhasil membuat permainan antara papan dan bola yang pada akhir tahun 1966 dipresentasikan di depan para pejabat Pentagon. Namun sayang, ternyata mereka tak merasa tertarik dengan penemuan Bear. Hingga akhirnya ia berusaha memperoleh izin agar dapat memproduksi mesin permainan secara komersial.


(25)

kesempatan pada Bear dan mesin permainannya. Hasilnya adalah munculnya video game komersial pertama, yaitu Magnavox Odyssey.

Tahun 1972, muncul nama baru dalam dunia game. Nolan Bushnel. Pada tanggal 27 Juni 1972, ia mendirikan perusahaan Atari, dan membuat game arcade Pong. Era baru dalam perkembangan dunia game terjadi pada tahun 1988, yang di dominasi oleh perusahaan di Jepang. Nintendo, yang awalnya hanya memproduksi mesin fotocopi, beralih memproduksi game.

Saat ini permainan komputer telah berkembang sedemikian pesatnya seiring dengan perkembangan hardware yang mendukung. Dengan program permainan yang lebih kompleks dan tampilan grafis 3D yang luar biasa [4].

2.3.3 Game Komputer

Pengertian dari game komputer adalah sebuah interaktif yang dijalankan menggunakan komputer. Program komputer menerima input dari si pemain melalui pengendalian dan menampilkan lingkungan buatan melalui TV atau layar monitor.

Sejarah teknologi game komputer secara langsung berhubungan dengan perkembangan komputer itu sendiri. Komputer dengan kecepatan processor tinggi, grafis yang lebih mendekati realita, dan media penyimpanan yang lebih besar sebenarnya dimaksudkan untuk memenuhi kebutuhan dalam bermain game.

2.3.4 Jenis – Jenis Game

a. Arcade Games

Jenis game yang sering disebut ding-dong di Indonesia, biasanya berada di daerah / tempat khusus dan memiliki box atau mesin yang memang khusus di rancang untuk jenis video games tertentu dan tidak jarang bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa masuk dan menikmati, seperti


(26)

pistol, kursi khusus, sensor gerakan, sensor injakan dan stir mobil (beserta transmisinya tentunya).

b. PC Games

Game yang dimainkan pada PC (Personal Computer) yang memiliki kelebihan yaitu memiliki tampilan antarmuka yang baik untuk input maupun output, output visual kualitas tinggi karena layar komputer biasanya memiliki resolusi yang jauh lebih tinggi dibandingkan dengan layar televisi biasa.

c. Console Games

Jenis video game yang dimainkan menggunakan console tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.

d. Handheld Games

Jenis game yang dimainkan di console khusus video game yang dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

e. Mobile Games

Jenis game yang dapat dimainkan atau khusus untuk mobile phone atau PDA.

2.3.5 Genre - Genre Game

a. Action Game

Adalah tipe game dengan fitur utama berupa banyaknya aksi di mana pemain harus memiliki keterampilan reaksi yang cepat untuk menghindari musuh atau menghindari rintangan. Pengembang game tipe ini perlu memastikan game yang dibuat dioptimasi sehingga pemain memiliki pengalaman bermain yang baik, yang tidak terganggu oleh delay proses yang lama, contohnya : Metal Gear Solid.


(27)

b. Adventure Game

Adalah tipe game yang umumnya membuat pemain harus berjalan mengelilingi suatu tempat yang terkondisi, seperti sebuah istana, gua yang berkelok, dan planet yang jauh. Pemain melakukan navigasi suatu area, mencari pesan-pesan rahasia, memperoleh obyek yang memiliki kemampuan yang bervariasi, bertempur dengan musuh, dan lain-lain. Untuk membuat game ini, diperlukan perencanaan yang akurat sehingga memiliki alur cerita yang menarik bagi pemain, contohnya : Tomb Raider.

c. Sport Game

Adalah tipe game yang berupa kompetisi antara dua pemain atau lebih, dimana pemain dapat berupa individual atau tim. Contoh game tipe ini antara lain sepakbola, bola basket, tenis, dan bilyard. Tergantung seberapa cepat permainan yang terjadi, aplikasi game perlu dioptimalkan, contohnya : Pro Evolution Soccer. d. RPG (Role Playing Game)

Adalah tipe game yang seringkali berupa multi karakter game di mana setiap pemain memiliki karakter dengan kemampuan, kekuatan, dan kelemahan yang spesifik. Para pemain saling berkompetisi, berinteraksi, dan bertempur satu sama lain. Tampilan grafis yang khas untuk setiap karakter pemain ditambah dengan storyline yang mendebarkan akan sangat menarik dan memberikan pengalaman yang berbeda di dalam bermain, contohnya : Final Fantasy.

e. Platform Game

Adalah tipe game yang mengharuskan pemain mengarahkan suatu obyek dengan melalui berbagai tahap atau tingkatan area untuk menyerang musuh dan menghindar terhadap serangan. Tipe game ini sedikit serupa dengan action game, tetapi aksinya tidak secepat action game. Teknik collision detection sangat sering dimanfaatkan pada tipe game ini, contohnya : Sonic The Hedgehog, dan Mario Bros.


(28)

f. Puzzle Game

Adalah tipe game yang umumnya membuat pemain menggunakan kemampuan berpikirnya sebagai pengganti keterampilan reaksi yang cepat karena terdapat rahasia yang perlu dipecahkan. Game ini lebih bersifat statis dibanding action game. Pembuatan game tipe ini seringkali ditunjang dengan AI (Artificial Intelligence), contohnya : 7 Wonders of The Ancient World.

g. Sandbox Game

Adalah tipe game yang umumnya ditujukan untuk menjelajahi suatu kota atau tempat dan bebas berinteraksi dengan objek disekitarnya. Mungkin game ini bisa di bilang mirip RPG tapi Sandbox sangat berbeda dengan RPG game, perbedaannya adalah tidak adanya peningkatan level karakternya, contohnya : GTA, dan Bully.

h. FPS (First Person Shooter)

Adalah tipe game yang mengunakan sudut pandang orang pertama untuk membidik atau membunuh musuh, sehingga kita hanya melihat tangannya saja dan tidak melihat tubuh karakter yang dimainkan, contohnya : Call of Duty. i. TPS (Third Person Shooter)

Adalah tipe game yang mirip dengan FPS, tapi bedanya tipe game ini mengunakan sudut pandang orang ke-3, sehingga kita bisa melihat seluruh tubuh karakter yang dimainkan, contohnya : Gears of Wars.

j. Music Game

Adalah tipe game yang menuntut pemainnya untuk menekan tombol sesuai dengan tombol yang ada di layar dengan diiringi dengan musik, contohnya : Guitar Hero, dan Dance Dance Revolution.


(29)

k. Fighting Game

Adalah tipe game yang intinya harus menjatuhkan lawan tandingnya, entah itu dengan pukulan, tendangan, combo, maupun dengan jurus special, contohnya : Tekken & Mortal Kombat.

l. Strategy

Adalah tipe game yang mengharuskan pemainnya menggunakan taktik dan strategi untuk jeli dalam melihat setiap peluang, kelemahan musuh dan bijaksana dalam menggunakan sumber daya yang ada, contohnya : Command & Conquer. m. Simulation Game

Adalah tipe game yang memberikan pengalaman atau interaksi sedekat mungkin dengan keadaan yang aslinya, meskipun terkadang keadaan tersebut masih eksperimen atau bahkan fiktif, tapi ada penekanan khusus pada detail dan pengalaman realistik menggunakan keadaan tersebut, contohnya : Gran Turismo. n. Racing Game

Adalah tipe game yang tujuannya adalah mencapai garis finish dari suatu race, dalam game ini biasanya pemain dapat memilih dan membeli kendaraan, mendandani, melakukan upgrade mesin , contohnya : Need For Speed.

2.3.6 Game Tower Defense

Permainan Tower Defense (TD) merupakan permainan strategi pengaturan tower (bangunan, senjata, naga, tanaman, dll) yang bertujuan menghentikan musuh yang akan melintas. Tower ini akan menembaki musuh dalam radiusnya. Tower memiliki beberapa tipe dan level dengan kemampuan, biaya pembelian, biaya penggunaan, dan biaya upgrade yang berbeda. Untuk setiap musuh yang berhasil dikalahkan, pemain akan mendapatkan uang untuk meng-upgrade towers.


(30)

Strategi dalam permainan ini mencakup pemilihan tower yang akan di-upgrade. Permainan ini biasanya memiliki misi untuk meminimalkan jumlah musuh yang lolos atau menjaga sejumlah barang. Pemain dianggap menang jika jumlah musuh yang lolos kurang dari batas yang ditentukan atau barang yang dijaga masih ada.[7]

Gambar 2.1. Contoh Game Tower Defense.

2.4 Game Maker

Aplikasi ini adalah aplikasi yang dapat Anda gunakan untuk membuat beragam macam game untuk diinstall di PC. Mulai dari game berbentuk maze (labirin dengan konsep permainan bak puzzle), tembak-menembak, hingga permainan bertampilan tiga dimensi, dan first person shooter.

Aplikasi ini menjanjikan trik pembuatan game dengan sistem drag-and-drop, sehingga untuk pembuatan game sederhana kita tidak perlu menggunakan bahasa pemrograman. Namun, ketika ingin membuat permainan yang lebih kompleks, kemampuan pemrograman juga diperlukan di sini.

Aplikasi ini juga menyediakan beragam komponen untuk pendukung pembuatan beragam jenis permainan yang dikehendaki. Komponen atau resources ini bahkan ada yang disediakan oleh para pengguna Game Maker lainnya. Anda bisa mengunduh background, musik latar, skrip pemrograman, banner, hingga fasilitas untuk membuat cheat codes di game.[3]


(31)

2.4.1. Game Maker Studio 1.0

Biasanya dalam hidup, semuanya terbuat dari objects, objects baik yang terlihat atau tidak terlihat, dan objects melakukan actions. Actions yang harus dilakukan yang dilakukan pada acara-acara biasa, kesempatan ini disebut peristiwa. Sebuah object dapat membuat tindakan ketika dibuat, sebelum hancur, ketika bertabrakan dengan object, ketika tombol ditekan, ketika mouse mengacu di atas object, dan banyak lagi.

Tapi di mana akan object melakukan tindakan mereka? Tindakan yang dilakukan di Room. Room adalah datar, dan tidak 3D, ini berarti bahwa permainan berlangsung dalam dunia 2 dimensi. Namun ini tidak berarti bahwa permainan tidak dapat memiliki grafis 3D. Di dalam Room, kita dapat menempatkan object. Room ini sangat disesuaikan, Anda dapat mengatur latar belakang room, dan Anda dapat memiliki lebih dari satu room.

Grafis dalam permainan yang baik latar belakang yang ditetapkan untuk sebuah Room, atau sprite, sprite animasi grafis, yang dapat dilampirkan ke object, dan mereka akan mewakili object, atau mereka dapat bergantung, dan object dapat memanggil beberapa tindakan tertentu untuk menarik sprite tanpa membuat sprite mewakili object.

Suara dapat ditetapkan sebagai suara latar belakang, suara normal, atau bahkan suara 3D suara yang baik dimainkan oleh suatu benda, atau dalam kode penciptaan room / object.

Game Maker adalah alat yang ampuh yang memiliki banyak tindakan, salah satu tindakan yang menggambar teks. Teks dapat diambil dengan font yang berbeda, dan format. Ketika menggambar teks, pengguna dapat mengatur font untuk teks yang akan ditulis dengan [3].


(32)

2.4.1.1 Event

Untuk membuat event click "Add Event" di tengah bawah dari layar-objek. Anda kemudian dapat Pilih jenis event dan event tertentu.

1. Create Event

Create event adalah peristiwa di mana actions dipanggil pada saat objek dibuat (dibuat dalam room). Ini berarti bahwa menginterupsi current event. Jadi jika membuat sebuah instance dari sebuah objek dan kemudian menetapkan variabel dalam objek yang segera setelah itu (dalam event sama), create event untuk instance sudah dieksekusi.

2. Destroy Event

Destroy event adalah peristiwa di mana event dijalankan ketika objek dihancurkan (dihapus dari room).

3. Alarm Event

Alarm event dijalankan ketika variabel alarm yang sesuai global mencapai 0 (misalnya, jika alarm [1] diatur ke 5 dalam hal menciptakan alarm 1 event akan memicu 5 langkah kemudian).

4. Step Event

Step event dijalankan setiap langkah. Sebuah langkah peristiwa dalam Game Maker terdiri dari tiga sub-peristiwa:

a. Begin Step: Dijalankan sebelum semua peristiwa dijalankan.. b. Normal Step: Dijalankan ketika kasus atau kondisi terpenuhi. c. End Step: Dijalankan setelah semua peristiwa dijalankan.


(33)

5. Collision Event

Dalam collision event, actions yang dilakukan ketika suatu objek bertabrakan dengan benda tertentu. Ketika mengklik tombol "Collision Event", Anda akan melihat menu yang berisi nama-nama dari semua benda. Anda memilih salah satu objek, dan itu akan menjadi collision event dengan benda itu. Berikut adalah contoh:

Object1 adalah peluru dan object2 adalah musuh. Dalam kode object2 harus dihancurkan ketika bertabrakan dengan object1. Di dalam properti obyek dari object2 (musuh) klik pada tombol collision event dan Anda akan melihat daftar semua benda, pilih object1 (peluru), ini berarti bahwa object2 akan melakukan daftar tindakan ketika object1 bertabrakan dengan itu. Selanjutnya Anda dapat menempatkan tindakan yang dibutuhkan dalam kotak di sebelah kiri.

6. Keyboard Event

Keyboard event dijalankan ketika tombol keyboard ditekan. Tombol bisa berupa pesan, tombol fungsi, nomor, arah, atau tombol yang terletak di keyboard. Jika Anda terus menekan tombol, event akan tetap melaksanakan sampai tombol dilepaskan.

7. Key press Event

Key press event dijalankan hanya bila key pertama ditekan. Itu berarti bahwa event dieksekusi ketika tombol ditekan.

8. Key release Event

Key release event dijalankan hanya bila tombol dilepaskan. Itu berarti bahwa event dieksekusi ketika tombol dilepaskan.


(34)

9. Mouse Event Mouse Button Event

Mouse events memiliki tiga jenis:

a. Mouse button: Dipanggil ketika tombol mouse ditekan dan mengacu objek, seperti event keyboard.

b. Mouse press: Dipanggil ketika tombol diklik, agar dapat dipanggil lagi, mouse harus dibebaskan dan ditekan lagi.

c. Mouse release: Dipanggil ketika mouse dilepaskan.

Note: mouse button events terjadi hanya ketika tombol mouse di atas sprite yang berhubungan dengan object.

Mouse Enter and Leave Events

Mouse enter dan leave events dipanggil ketika mouse memasuki atau meninggalkan objek. Yaitu, ketika mouse sprite terkait dengan benda atau berhenti mengacu pada objek.

Mouse Wheel Events (Up and Down)

Mouse wheel events akan dieksekusi ketika roda mouse menggulir ke atas atau bawah.

Global Mouse Events

Global mouse mencakup banyak sub-peristiwa yang hampir identik dengan peristiwa tombol mouse, kecuali bahwa mereka dieksekusi terlepas dari lokasi mouse.


(35)

10.Other Events

Other event memiliki banyak s a. Outside Room: Dija b. Intersect Boundary c. Game Start: Dijalan d. Game End: Dijalan e. Room Start: Dijalan f. Room End: Dijalan g. No More Lives: Dij h. No More Health: D i. Animation End: Dij selesai animating. j. End of path: Dijala

akhir jalurnya. k. User defined: Peng

2.4.1.2 Actions 1. The actions

Start moving in fixed direction

Action ini akan membu kecepatan tertentu. Klik pada arah, dan menentukan kecepa Anda mengklik dua tombol y posisi untuk pergi.

sub-peristiwa di dalamnya:

ijalankan ketika objek berada di luar ruangan ry: Dijalankan ketika objek menyentuh batas ruan lankan ketika pertandingan dimulai.

lankan ketika permainan berakhir. lankan ketika room dimulai. ankan ketika room berakhir.

Dijalankan ketika pemain tidak memiliki lives lagi Dijalankan ketika pemain tidak memiliki kesehat Dijalankan ketika sprite yang terkait dengan objek

.

alankan ketika objek tersebut berhasih melaksanak

ngguna didefinisikan.

tion

buat objek mulai bergerak dalam arah tertentu da arah yang Anda inginkan objek untuk pergi ke s patan. Tombol di tengah membuat objek diam. yang berbeda, objek akan secara acak memilih

angan. gi. atan. ek akan dalam e suatu . Jika ih satu


(36)

Move in any direction

Action ini akan m gerak benda tanpa kenda

Move in the direction of

Action ini akan ditetapkan oleh Anda didefinisikan oleh progra

Set the horizontal speed

Action ini mene mengakibatkan tidak ad bergerak ke kanan. Dan

Set the vertical speed

Action ini mene mengakibatkan tidak ad gerakan ke arah bawah. atas.

Set the gravity

Action ini meneta adalah berapa banyak gravitasi ke 0 berarti arahnya adalah ke atas bahwa pengaturan ke 270

memungkinkan Anda untuk mengubah arah dan dala dalam arah.

of a point

membiarkan gerakan objek ke arah titik tert da. Benda tersebut akan bergerak dalam grammer.

ed

netapkan kecepatan horizontal obyek. Setting k ada gerakan horisontal. Setting ke 1 + akan men pengaturan ke -1 - akan menghasilkan bergerak

enetapkan kecepatan vertikal objek. Setting k ada gerakan vertikal. Setting ke 1 + akan men

. Dan pengaturan ke -1 - akan menghasilkan be

etapkan kekuatan gravitasi dan arahnya. Kekuatan benda yang menuju ke arah gravitasi. Meng arahnya adalah ke kanan, pengaturan untuk as, pengaturan untuk 180 bergerak ke kiri dan 270 akan bergerak ke bawah.

an kecepatan

ertentu yang kecepatan

g ke 0 akan enghasilkan ak ke kiri.

ke 0 akan enghasilkan bergerak ke

tan gravitasi engatur arah 90 berarti n itu berarti


(37)

Reverse horizontal direction

Ini akan membalikkan adalah ke kiri, menjadi ke kana

Reverse vertical direction

Ini akan membalikkan menjadi ke bawah. Menggun Reverse" bersama-sama akan m membentuk gerakan reaksi.

Set the friction

Ini akan mengatur ke dalam setiap langkah (millisec di Game Maker sangat sederha (horisontal dan vertikal) diku Perhatikan bahwa jika kecep dalamnya.

Jump to a given position

Tindakan ini akan me ditetapkan oleh x dan y.

Jump to the start position

Tindakan ini akan men Anda perlu mengatur apa-apa, mana ia pertama kali diciptaka

kan arah horizontal dari objek. Jika arah horiso anan.

an arah vertikal dari obyek. Jika arah objek itu ke unakan "arah horisontal Reverse" dan "arah ver n membuat objek membalikkan arah sepenuhnya

kekuatan gesekan yang mempengaruhi suatu o econd). Lupakan semua tentang matematika! Gese rhana, jika gesekan suatu benda adalah ".1" kecep ikurangi dengan ".1" sampai kecepatan mencapa

cepatan adalah negatif, ".1" akan ditambahkan

engubah posisi objek langsung ke posisi baru

engubah posisi objek langsung ke posisi yang m pa, objek secara otomatis akan memindahkan posi

kan. risontal ke atas, ertikal ya, dan objek esekan epatan apai 0. kan ke

yang

mulai. osisi di


(38)

Jump to a random posit

Object akan me mengatur Snap Horisont

Snap to a grid

Ini akan memind grid didefinisikan oleh p adalah semacam jaring,

Wrap around the screen

Dilakukan pada sisi lain. Anda dapat me atau keduanya

Move to a contact positi

Dengan aksi ini sampai posisi kontak den posisi saat ini contoh sebelum tabrakan terjadi untuk bergerak.

Bounce against objects

Ini akan membua yang harus diatur:

a. Whether or not t false, objek akan saja. Jika Anda

sition

melompat ke arah yang acak. Tapi Anda ma ntal dan Vertikal Snap.

indahkan objek ke garis grid terdekat. Lebar dan h pengguna. Bagi anda yang tidak tahu apa grid ad

, objek yang dapat disesuaikan.

een

a instance, jika berjalan di luar ruangan, datang k mengatur apakah hanya melakukannya horizonta

sition

ini Anda dapat memindahkan contoh dalam ara dengan obyek tercapai. Jika sudah ada adalah tabr tidak bergerak. Jika tidak, misalnya ditempa adi. Anda dapat menentukan arah tetapi juga jarak

buat bouncing objek (bereaksi) terhadap objek. Ad

t the bouncing is precise: Jika Anda mengatur an bereaksi terhadap dinding horizontal atau ve a mengatur Precise ke true, objek akan bereaks

masih harus

n tinggi dari adalah, grid

g kembali di tal, vertikal,

arah tertentu abrakan pada patkan tepat ak maksimal

Ada dua hal

Precise ke vertikal baik ksi terhadap


(39)

b. Bouncing terhadap benda padat saja atau semua benda? Tindakan ini harus diletakkan dalam collision event.

Create an instance of an object

Tindakan ini akan membuat objek tertentu dalam posisi tertentu didefinisikan oleh programmer.

Create an instance of an object with a motion

Tindakan ini akan membuat objek tertentu dalam posisi tertentu, namun objek yang akan dibuat dengan gerak. Itu berarti Anda harus mengatur kecepatan dan arah dari objek yang baru dibuat. Arah adalah 0-360, 0: Kanan, 90: Up, 180: Kiri, 270: Bawah.

Change the instance

Tindakan ini akan mengubah objek ke objek lain. Anda perlu mengatur objek dan apakah atau tidak untuk melakukan merusak acara untuk objek lama dan menciptakan acara untuk objek baru.

Destroy the instance

Tindakan ini akan menghancurkan object.

Destroy instances at position

Ini akan menghancurkan semua contoh (objects) yang terletak di posisi tertentu didefinisikan oleh programmer.

Change the sprite

Ini akan mengubah sprite benda (atau sprite yang mewakili objek). Anda harus mengatur sprite, gambar sub (-1 untuk semua), dan kecepatan gambar (1 = normal).


(40)

Transform the sprite

Tindakan ini akan mengubah bentuk sprite. Anda harus mengubah "XScale" dan ini adalah jumlah skala untuk lebar sprite itu. Jika "XScale" adalah 1, lebar sprite itu tidak akan mengubah ukurannya. Kemudian Anda harus mengatur "yscale". Kemudian sudut gambar (rotasi). Jika sudut gambar adalah 0, sprite tidak akan diputar. Akhirnya, Anda akan diminta untuk memilih cermin, apakah Anda ingin sprite untuk memiliki mirroring tidak, cermin horisontal, vertikal, atau keduanya. Di bawah ini, ada meja menggambarkan x dan y skala.

Tabel 2.1 Transform the sprite

Scale Width/Height change Mirrored

Less than -1 Larger Yes

-1 Normal Yes

0 to -1 Smaller Yes

0 None No

0 to 1 Smaller No

1 Normal No

More than 1 Larger No

Set sprite blending

Ini akan mengatur pencampuran warna / alpha dari sprite objek. Pencampuran adalah apa warna objek harus memudar ke. Putih adalah campuran normal untuk sebuah objek. The alpha gambar transparansi objek. Jika alpha


(41)

Play a sound

Tindakan ini juga akan memainkan suara sekali, atau loop suara.

Stop a sound

Tindakan ini juga akan menghentikan suara yang tidak selesai diputar, atau akan menghentikan suara looping.

Set an alarm

Tindakan ini menetapkan alarm khusus untuk jumlah tertentu milidetik. Untuk mempelajari lebih lanjut tentang peristiwa alarm lihat dokumentasi sebelumnya.

Sleep for a while

Tindakan ini akan menghentikan permainan untuk sejumlah tertentu milidetik. Anda harus memeriksa apakah akan atau tidak untuk redraw layar.

Set a timeline

Tindakan ini akan menetapkan garis waktu. Posisi adalah dari ketika timeline akan dimulai. Jika Anda memilih 0, garis waktu akan mulai dari awal.

Set timeline position

Tindakan ini akan mengatur posisi batas waktu tertentu. Posisi garis waktu dibahas sebelumnya.

Display a message

Tindakan ini akan menampilkan message.

Show the game info

Tindakan ini akan menampilkan informasi permainan. Informasi permainan di mana Anda menulis bantuan permainan dan komentar lainnya.


(42)

Show a video

Tindakan ini akan menampilkan video dalam permainan.

Restart the game

Tindakan ini akan me-restart permainan.

End the game

Tindakan ini akan berakhir / berhenti permainan.

Save the game

Tindakan ini akan menyimpan semua perubahan permainan ke dalam satu set file tertentu oleh programmer.

Load the game

Tindakan ini akan memuat semua perubahan permainan diselamatkan dari save sebelumnya dari file tertentu yang ditetapkan oleh programmer.

Replace a sprite from a file

Tindakan ini akan mengubah sprite. Penggantian sprite akan diimpor dari file. Anda harus mengatur sprite yang akan diubah, dan nama dari file (.gif / .bmp). Dan kemudian Anda harus memasukkan jumlah gambar (gambar sub sebenarnya) bahwa pengguna harus mengganti (1 untuk gambar diam).

Replace a sound from a file

Tindakan ini akan menggantikan suara dari file.

Replace a background from a file


(43)

Call the inherited event

Ini adalah tindakan yang entah bagaimana kompleks yang akan dipahami nanti.

Call a script

Tindakan ini akan menjalankan script dengan semua argumen.

Put some comment

Tindakan ini tidak ada tindakan. Itu hanya akan menempatkan beberapa komentar sehingga Anda dapat mengatur pikiran Anda. Sebuah komentar dalam tindakan Drag & Drop setara dengan frase dikelilingi oleh / * dan * / atau satu baris kode yang memiliki / / di awal (teks dalam komentar / / harus menempati satu baris saja).

2. Introduction to If Conditions and blocks

Sampai saat ini, Anda mungkin berpikir bahwa Anda bisa membuat permainan profesional, tetapi kenyataannya adalah sulit untuk melakukan itu sekarang. Anda perlu memeriksa kondisi yang lebih kompleks. Jadi permainan akan membuat satu hal jika ekspresi adalah benar. Ini adalah Laporan Jika (dan kadang-kadang disebut Jika Kondisi). Jika Anda ingin melakukan satu tindakan jika ekspresi benar, Anda akan menempatkan tindakan setelah tindakan kondisi Jika. Anda dapat melakukannya menggunakan "Jika Pernyataan" dengan cara yang sama seperti di bawah ini:

If Condition – If something is true, variabel sama dengan nilai misalnya (lihat di bawah untuk info tentang variabel). Action – if the statement above is true, tindakan ini dilakukan.

Namun, jika Anda ingin melakukan banyak tindakan jika ekspresi tertentu adalah benar, itu tidak akan mudah untuk mengulang hal yang sama Jika kondisi beberapa kali untuk hasil tersebut. Sebaliknya Anda dapat menempatkan " Start of


(44)

block " dan " End of block " tindakan. Dan Anda yang sederhana bisa membuat beberapa tindakan:

If Condition Start of block Action Action Action End of block

Dengan cara ini Anda dapat membuat game profesional yang banyak dengan Game Maker. Namun, apa yang akan Anda lakukan jika Anda ingin tindakan untuk melakukan sesuatu jika ekspresi adalah benar, dan sesuatu yang lain jika ekspresi tidak benar? Ada dua cara, baik mengulangi hal yang sama jika kondisi dengan kotak centang " Not " diperiksa, dan ini akan mengevaluasi kebalikan dari ekspresi. Namun tindakan yang lebih baik untuk menggunakan adalah " Else " tindakan, di mana ia benar-benar bekerja seperti Kondisi Jika tapi harus ditempatkan setelah Jika kondisi ini berakhir. Itu baik setelah akhir blok Jika Kondisi, atau setelah tindakan seperti yang ditunjukkan dalam contoh pertama

If Condition Start of block Action Action Action


(45)

End of block Else

Start of block Action Action End of block

If a sound is playing

Merupakan kondisi Jika yang memeriksa apakah suara tertentu bermain atau tidak.

If previous room exists

Tindakan ini merupakan Jika Kondisi yang memeriksa apakah atau tidak ada ruang sebelumnya.

If next room exists

Tindakan ini merupakan Jika Kondisi yang memeriksa apakah ada atau tidak ada kamar sebelah.

If a position is collision free

Sebuah Kondisi Jika yang memeriksa apakah atau tidak posisi tertentu mengandung obyek di dalamnya. (Ia melakukan tindakan jika posisi tidak mengandung objects).

If there is a collision at position

Sebuah Jika Kondisi yang memeriksa apakah atau tidak bertabrakan posisi tertentu dengan benda apapun. (Lakukan tindakan jika tidak).


(46)

If there is an object at position

Sebuah Jika Kondisi yang memeriksa apakah atau tidak objek tertentu terletak di posisi tertentu.

If the number of instances is a value

Sebuah Jika Kondisi yang memeriksa jumlah benda-benda tertentu di dalam ruangan. Jika jumlah contoh adalah sama dengan jumlah yang ditentukan oleh pengguna, tindakan akan dilakukan.

With a chance perform the next action

Tindakan ini melakukan tindakan dengan kesempatan pihak-pihak tertentu.

If the user answers yes to a question

Kondisi ini Jika akan menampilkan pesan yang meminta suatu "Ya / Tidak" pertanyaan. Jika pemain memilih ya, tindakan untuk jika pernyataan akan dilakukan.

If an expression is true

Ini adalah Kondisi Jika yang memeriksa apakah pernyataan tertentu adalah benar atau tidak. Lebih belajar tentang pernyataan diperlukan sebelum menggunakan tindakan ini benar.

If a mouse button is pressed

Jika tombol mouse ditekan, tindakan akan dilakukan.

If an instance is aligned with a grid


(47)

Exit this event

Tindakan ini akan menghentikan pelaksanaan event.

3. Loops

Repeat next action

Tindakan ini akan mengulangi tindakan berikutnya beberapa kali didefinisikan oleh pengguna. Anda dapat menggunakan blok dalam aksi ini.

4. Introduction to variables

Variabel adalah nilai-nilai yang dapat berubah. Seperti "fast", cepat adalah variabel, cepat dapat menjadi 0, 1, 2, 3, atau apa pun sama sekali. Sementara jumlah "5" hanya 5! Sebuah nama variabel bisa apa saja, tapi tidak boleh berisi:

. ! @ # $

% ^ & * (

) - = + \

< > / ? <space>

{ } [ ] ,

| ` ~ " '

Untuk mempermudah, nama variabel hanya dapat berisi huruf dan angka dan garis bawah (_). Hal ini dapat dimulai dengan huruf, dan garis bawah, tetapi tidak dapat dimulai dengan angka.

Menetapkan variabel mudah, Anda menggunakan drag dan tindakan drop, yang cukup sederhana atau menggunakan bentuk kode:

//setting a variable to 1 variable=1;


(48)

Variabel dalam Game Maker yaitu "real" atau "strings".

Real

Nilai real untuk variabel angka. 1, 2, 3, atau 10000 semua nilai riil. Saat membuat nilai Anda cukup memasukkan nilai.

String

Strings adalah jenis besar nilai pada variabel. "Halo" bisa berupa string "123 ABC" adalah string. Sebuah string adalah jenis teks yang dikelilingi oleh kutipan ("s) atau ('s). Ketika menetapkan nilai variabel ke string, Anda mengelilingi nilai dengan tanda kutipan.

5. Variables: Global & Local

Misalkan Anda memiliki dua objek, variabel satu objek (bahagia) diatur ke 1, bahagia variabel objek lain diatur ke 0. Dengan cara ini setiap objek memiliki bahagia sendiri. Tapi bagaimana jika Anda ingin semua benda memiliki nilai yang sama? Dengan cara ini Anda dapat menggunakan variabel global. Tujuan pertama adalah obyek yang menginisialisasi segalanya, ia meminta pemain untuk ya / tidak pertanyaan dan variabel set. misalnya:

If the user answers yes to a question: "Are you happy" Start of a block

Set a variable: happy to 1 End of a block

Else

Start of a block


(49)

Dengan cara ini menginisialisasi objek akan mengenali "bodoh" variabel, tetapi benda-benda lainnya wont. Ini adalah ketika Anda menggunakan: global. variabel. The terletak antara global dan nama variabel (.) Memisahkan jenis variabel dari nama variabel. Jika itu tidak ada (.) Di tempat pertama, maka akan dianggap sebagai variabel lokal. Berikut adalah penjelasan untuk variabel global:

Global Variables

Global variables adalah variabel yang tidak terbatas pada objek tertentu atau kamar. Variabel global selalu ada. Jika Anda mengatur global.stupid di room0 oleh object0, object1 di ruangan yang sama dan object2 di room1 mampu mengenali global.

Local Variables

Local variables adalah variabel untuk objek yang sama.

All variables

Semua variabel (all whatever) menetapkan variabel lokal untuk semua objek di dalam ruangan.

6. Draw Actions Draw a sprite

Tindakan ini akan membiarkan objek menggambar sprite tertentu dengan gambar sub tertentu (-1 menarik menjiwai semua) dalam posisi tertentu.

Draw a background image

Tindakan ini akan menarik latar belakang tertentu dalam posisi tertentu.

Draw a text


(50)

Draw text transformed

This action will draw (write) text in a certain position. Tetapi dengan skala x tertentu dan skala y, dan rotasi tertentu (angle).

Draw a rectangle

Tindakan ini akan menggambar persegi panjang. Berikut adalah apa yang Anda harus memasukkan: x1: Posisi x di mana persegi panjang akan dimulai. y1: Posisi y mana persegi panjang akan dimulai. x2: Posisi x di mana bagian kanan bawah dari persegi panjang akan berakhir. y2: Posisi y mana bagian kanan bawah dari persegi panjang akan berakhir. Diisi: Jika diatur ke benar, persegi panjang tidak akan berongga.

Draw a horizontal gradient, Draw a vertical gradient

Tindakan ini menarik persegi panjang dengan efek yang bagus.

Draw an ellipse

Gambar oval dengan argumen yang sama seperti persegi panjang.

Draw a gradient ellipse

Tindakan ini menarik oval dengan efek yang bagus.

Draw a line

Tindakan ini akan menarik garis pergi dari x1,y1 to x2,y2.

Draw an arrow

Tindakan ini akan menarik panah pergi dari x1, y1 ke x2, y2, dan Anda harus mengatur ukuran ujung panah.


(51)

Set the font

Ini akan mengatur font teks gambar yang akan digunakan dan horisontal menyelaraskan untuk teks.

Change full screen mode

Tindakan ini juga akan berubah menjadi layar penuh. Atau mengubah ke tampilan normal. Atau beralih antara keduanya.

Take a snapshot of the image

Ini akan membuat screenshot dari jendela dan simpan ke file tertentu.

7. Path Actions Set path for the instance

Ini akan membuat obyek mulai jalan (path).

End the path for an instance

Ini akan mengakhiri objek jalan.

Set the position on the path

Ini akan membuat obyek menetapkan posisi jalan.

Set the speed for the path

Ini akan membuat objek mengatur kecepatan jalan.

8. Motion Actions

Perform a step towards a point


(52)

Step towards a point avoiding objects

Ini akan membuat gerakan objek menuju titik menghindari benda. Entah untuk menghindari semua benda, atau benda padat.

2.4.2 Game Maker Language

Game Maker Language (GML) adalah bahasa scripting utama yang digunakan dalam gamemaker. Hal ini memungkinkan pengguna untuk lebih meningkatkan dan mengendalikan desain permainan mereka melalui pemrograman konvensional, yang bertentangan dengan sistem drag-and-drop. Sintaks dari GML meminjam aspek dari bahasa lain seperti C, C + + dan Java, secara efektif memanfaatkan Object-oriented programming.

Awalnya, GML dirancang untuk melengkapi antarmuka drag-and-drop, yang memungkinkan pengguna tingkat lanjut untuk menambahkan fungsionalitas yang lebih besar untuk game atau program. Versi yang lebih baru dari gamemaker benar-benar menggunakan GML sebagai basis mereka, dengan semua drag-and-drop fungsi sebagai pra-ditulis script GML.

GML adalah bahasa pemrograman ditafsirkan bukan bahasa yang dikompilasi. Ketika gamemaker menciptakan permainan yang berdiri sendiri, semua GML (termasuk fungsi drag dan drop) dikemas ke dalam executable permainan. Setiap kali program yang dihasilkan dieksekusi, seorang penerjemah termasuk melaksanakan perintah ditunjukkan oleh kode GML, ini membuat gamemaker-menciptakan permainan dapat dengan mudah decompiled dan membalikkan direkayasa. (Permainan pembuat ingin membatasi ini harus menggunakan enkripsi.) Menjadi bahasa ditafsirkan, GML biasanya secara signifikan lebih lambat dari bahasa dikompilasi seperti C + + atau Delphi.

GML juga termasuk dukungan untuk memuat dan menggunakan DLL. Hal ini memungkinkan fungsi dan rutinitas yang akan ditulis dalam bahasa


(53)

2.5 Kecerdasan Buatan / AI (Artificial Intelligence)

Kecerdasan Buatan adalah bidang studi yang berhubungan dengan penangkapan, pemodelan dan penyimpanan kecerdasan manusia dalam sebuah sistem teknologi informasi sehingga sistem tersebut dapat memfasilitasi proses pengambilan keputusan yang biasanya dilakukan oleh manusia.

Definisi kecerdasan buatan (Artificial Intelligence) atau disingkat AI, adalah suatu pengetahuan yang membuat komputer dapat meniru kecerdasan manusia sehingga diharapkan komputer dapat melakukan hal-hal yang memerlukan kecerdasan seperti melakukan penalaran untuk mencapai suatu kesimpulan atau melalukan translasi dari satu bahasa manusia ke bahasa manusia yang lain.

Dalam katagori AI ada yang dikatakan sebagai AI tingkat rendah dan AI sebagai tingkat tinggi. Misalnya permainan game seperti tic-tac-toe (permainan tiga dara), permainan catur dan permainan komputer yang lainnya, permainan ini dapat dikatan sebagai AI yang tingkatannya masih rendah karena keputusan yang diambilnya masih dapat diprediksi. Adapun AI sebagai tingkat tinggi misalnya pernahkah anda mendengar suatu cerita atau menyaksikan film-film fiksi yang menunjukkan suatu komputer dengan kepintaran yang melebihi manusia, yang dapat bercakap-cakap dengan manusia dan memberikan keputusan serta pendapat yang cerdik. Hal inilah yang dikatakan sebagai AI tingkat tinggi yang masih diimpikan oleh para ahli untuk mewujudkannya [5].

Menurut O'Brien atribut perilaku cerdas adalah : a. Berfikir dan Bernalar

b. Memakai penalaran untuk memecahkan persoalan c. Menyerap dan menerapkan pengetahuan


(54)

e. Bekerja dengan situasi yang kompleks dan membingungkan

f. Melakukan tanggapan dengan cepat dan berhasil terhadap situasi baru g. Mengenali elemen-elemen yang relatif penting dalam suatu situasi h. Menangani informasi yang rancu, tak lengkap atau salah

Ruang lingkup penelitian dan pengembangan AI sekarang ini dapat dikelompokkan kedalam beberapa bidang yaitu:

a. Game Playing (Permainan game)

b. General problem solving (Pemecahan masalah secara umum) c. Natural language recognition (Pengenalan bahasa alamiah) d. Speech recognition (Pengenalan percakapan)

e. Visual recognition (Pengenalan penglihatan) f. Robotics

g. Expert System (Sistem ahli)

AI atau Artificial Intelligence mempunyai beberapa kelebihan dibandingkan dengan kecerdasan alami (Kecerdaran Manusia). Kelebihan tersebut dipaparkan sebagai berikut:

a. AI Lebih Bersifat Permanen

Berbeda dengan AI, kecerdasan Alami yang dipunyai oleh seseorang tidak dapat disimpan. Ketika orang tersebut pindah kerja, pengetahuan yang dimilikinya ikut terbawa. AI lebih bersifat permanen karena tetap ada sepanjang sistem komputer dan program masih terpelihara.


(55)

b. AI Menawarkan Kemudahan untuk digandakan dan disebarkan

Pemindahan pengetahuan dari satu orang ke orang lain memerlukan waktu yang panjang dan bahkan mungkin pengetahuan itu tidak dapat diduplikasi secara lengkap. Adapun pengetahuan dalam sistem komputer mudah sekali untuk disalin dan dipidahkan ke sistem lain.

c. AI dapat lebih murah daripada kecerdasan Alami.

Telah banyak dibuktikan bahwa biaya membeli jasa dengan komputer lebih murah daripada biaya untuk membiayai manusia yang melaksanakan tugas yang sama.

d. AI bersifat konsisten dan teliti. e. AI dapat didokumentasi.

2.5.1 Algoritma Fuzzy

2.5.1.1 Pengertian Algoritma Fuzzy

Fuzzy secara bahasa diartikan sebagai kabur atau samar-samar. Suatu nilai dapat bernilai besar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotaan yang memiliki rentang nilai 0 (nol) hingga 1(satu). Berbeda dengan himpunan tegas yang memiliki nilai 1 atau 0 (ya atau tidak).

Algoritma Fuzzy merupakan seuatu logika yang memiliki nilai kekaburan atau kesamaran (fuzzyness) antara benar atau salah. Dalam teori Algoritma Fuzzy suatu nilai bias bernilai benar atau salah secara bersama. Namun berapa besar keberadaan dan kesalahan suatu tergantung pada bobot keanggotaan yang dimilikinya. Algoritma Fuzzy memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan logika digital yang hanya memiliki dua nilai 1 atau 0. Algoritma Fuzzy digunakan untuk menterjemahkan suatu besaran yang diekspresikan menggunakan bahasa (linguistic), misalkan besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak cepat, cepat, dan sangat cepat. Dan Algoritma Fuzzy


(56)

menunjukan sejauh mana suatu nilai itu benar dan sejauh mana suatu nilai itu salah. Tidak seperti logika klasik (scrisp) tegas, suatu nilai hanya mempunyai 2 kemungkinan yaitu merupakan suatu anggota himpunan atau tidak. Derajat keanggotaan 0 (nol) artinya nilai bukan merupakan anggota himpunan dan 1 (satu) berarti nilai tersebut adalah anggota himpunan.

Algoritma Fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input kedalam suatu ruang output, mempunyai nilai kontinyu. Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama.

Algoritma Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti "sedikit", "lumayan" dan "sangat".

Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu:

1. Variabel fuzzy

Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh: umur, temperatur, permintaan, dsb.

2. Himpunan fuzzy

Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy.

Contoh:

Variabel temperatur, terbagi menjadi 5 himpunan fuzzy, yaitu: DINGIN, SEJUK, NORMAL, HANGAT, dan PANAS.


(57)

Gambar 2.2 Himpunan fuzzy pada variabel temperature.

Kelebihan dari teori Algoritma Fuzzy adalah kemampuan dalam proses penalaran secara bahasa (linguistic reasoning). Sehingga dalam perancangannya tidak memerlukan persamaan matematik [5].

2.6 Adobe Photoshop CS

Photoshop adalah software yang digunakan untuk memodifikasi gambar atau foto secara profesional baik meliputi modifikasi obyek yang sederhana maupun yang sulit sekalipun. Photoshop merupakan salah satu software yang berguna untuk mengolah gambar berbasis bitmap, yang mempunyai tool dan efek yang lengkap, sehingga dapat menghasilkan gambar atau foto yang berkwalitas tinggi [6].

Kelengkapan fitur yang ada di dalam Photoshop inilah yang akhirnya membuat software ini banyak digunakan oleh desainer grafis profesional. Dan mungkin juga sampai saat ini masih belum ada software desain grafis lain yang bisa menyamai kelengkapan fitur dalam Photoshop.


(58)

Pada bab ini menjelaskan mengenai analisis dan gambaran dari sistem yang ada dan bagaimana perancangan program aplikasi yang akan dibuat. Metodologi yang digunakan adalah metodologi terstruktur.

3.1 Analisis Sistem

Analisis sistem merupakan penguraian dari suatu sitem informasi yang utuh kebagian-kebagian komponennya yang dimaksudkan untuk mengidentifikasi dan mengevaluasi segala macam permasalahan dan hambatan apa saja yang bisa terjadi dan kebutuhan-kebutuhan yang apa saja yang diharapkan dapat menjadi acuan untuk diusulkannya perbaikan-perbaikan.

3.1.1 Analisis Masalah

Berdasakan latar belakang yang sudah diuraikan di atas, maka masalahnya yaitu game tower defense yang ada saat ini belum ada yang bertema polisi hutan, selain itu pula medan pertempuran masih bersifat statis atau tidak bisa dirubah oleh pemain dan musuh hanya berjalan berdasarkan rute yang telah ditentukan. Selanjutnya perumusan masalah dapat dirumuskan dalam pertanyaan sebagai berikut :

1. Bagaimana membuat game tower defense dengan medan pertempuran yang dinamis.

2. Bagaimana cara membuat game tower defense dengan tema polisi hutan dan menyisipkan pesan edukasi.


(59)

3.1.1.1 Analisis Game Sejenis 3.1.1.1.1 Asgard Defense

Gambar 3.1 Asgard Defense

Asgard defense adalah game tower defense untuk PC, game ini memiliki tujuan untuk mempertahankan rumah kita (asgard) dari serangan para mahluk berbahaya. Bila mahluk tersebut berhasil masuk ke dalam asgard maka nyawa kita akan berkurang sebanyak jumlah monster yang berhasil masuk.

Alasan kami memilih game ini karena game ini memiliki mekanisme Upgrade dan Morph Building yang kami masukan ke dalam game Tower Defense Polisi Hutan.

Gambar 3.2 Gameplay Asgard Defense

Pada awalnya di dalam game ini kita dapat membuat empat jenis tower yang dapat kita upgrade, baik secara kekuatan ataupun merubah jenis. Total ada 15 jenis tower yang dapat ditemukan pada game ini.


(60)

Kita dapat mendapatkan uang pada game ini setelah membunuh musuh-musuh yang ada dan setelah menyelesaikan satu buah aliran musuh-musuh. Dalam game ini kita mempunyai fitur bunga, jadi bila kita memiliki uang setelah satu aliran musuh maka uang yang kita punya akan mendapatkan bunga sebesar 5% dari uang yang kita miliki. Total aliran musuh yang ada dalam satu stage adalah 100 jadi bila kita berhasil menahannya maka kita akan memenangkan stage tersebut.

Game ini memiliki fitur level editor, jadi game ini memiliki jumlah stage yang tak terhingga tergantung dari setiap pemain untuk mengembangkan game ini.

3.1.1.1.2 Kelebihan Asgard Defense

Kelebihan game Asgard Defense ini antara lain :

1. Permainan sangat mudah untuk dimainkan oleh anak-anak. 2. Layout tampilan cukup sederhana tetapi tetap menarik. 3. Kelengkapan item dan gameplay cukup bagus.

4. Memiliki mekanisme Upgrade dan Morph Building.

3.1.1.1.3 Kekurangan Asgard Defense

Adapun kekurangan game Asgard Defense ini adalah : 1. NPC tidak cerdas.

2. Jalur musuh monoton (hanya lurus ke depan).

3.1.1.2 Gambaran Sistem

Game Tower Defense Polisi Hutan adalah aplikasi permainan berbasis desktop yang bergenre Real Time Strategy Tower Defense. Pemain diharapkan mendapatkan hiburan dari bermain game ini sekaligus juga membantu untuk berpikir secara strategis dalam pengambilan keputusan.


(61)

Pada awal permainan hanya akan diberikan Money untuk modal menyewa pasukan. Pasukan tambahan dapat direkrut di kota, yang tentunya menggunakan sejumlah Money untuk membelinya. Faktor penentu kemenangan adalah dengan bertahan hingga jumlah musuh mencapai 0. Pemain akan kalah jika jumlah pohon yang dijaga mencapai nilai 0. Setelah memenangkan permainan,pemain akan mendapatkan pesan bahwa hutan yang telah berhasil dijaga sangat baik untuk kehidupan manusia.

Untuk dapat memainkan permainan ini, hanya dibutuhkan Sistem Operasi Windows, dan installer game Tower Defense Polisi Hutan. Pemain dapat menggunakan perangkat komputer bersistem operasi Windows. Permainan ini tidak membutuhkan registrasi ataupun koneksi internet.

Tujuan / Misi utama dari aplikasi game Tower Defense Polisi Hutan adalah :

1. Mengalahkan karakter Penebang Hutan 2. Melindungi hutan dari serangan musuh.

3.1.1.3 Storyline

Game ini bercerita tentang polisi hutan. Dimana polisi hutan tersebut harus menjaga hutan dari berbagai musuh yang datang untuk merusak hutan. Musuh yang datang untuk merusak hutan tersebut antara lain adalah penebang hutang liar. Penebang hutang liar yang akan dihadapi diantaranya adalah penebang dengan kapak, penebang dengan gergaji mesin, dan penebang dengan menggunakan alat berat.

3.1.1.4 Gameplay

Pada permainan polisi hutan tersebut pemain harus dapat menempatkan lokasi atau posisi pos dari polisi hutan agar dapat menghalang dan mencegan para penjahat untuk merusak hutan. Pada medan pertempuran dibuat dimamis sehingga


(62)

pemain dapat membuat jalur sendiri yang yang dianggap paling baik untuk pertahanan. Apabila pemain berhasil melindungi hutan maka akan muncul pesan edukasi manfaat dari hutan yang telah dilindung. Dan apabila pemain gagal dalam melindungi hutan makan akan muncul pesan akan bahaya nyang mengancam apabila hutan musnah.

Cara bermain game ini yaitu pemain harus menempatkan tower pada map untuk menggagalkan atau menghadang musuh yang akan merusak hutan. Apabila musuh berhasil dimusnahkan maka pemain akan mendapatkan uang yang dapat digunakan untuk membeli tower, upgrade tower, dan menambah tanaman. Sedangkan apabila musuh berhasil menuju hutan dan merusaknya maka jumlah tanaman atau lives dari pemain akan berkurang sesuai dengan jumlah musuh yang merusak hutan.

3.1.1.5 Kontrol Game

Kontrol game pada aplikasi ini yaitu menggunakan mouse atau pointer untuk mengaktifkan tombol.

3.1.2 Analisis Fuzzy Logic

3.1.2.1 Klasifikasi dengan Logika fuzzy

Tahap klasifikasi bertujuan untuk mengklasifikasikan kondisi rute 1, rute 2, dan rute 3. Klasifikasi yang digunakan yaitu logika fuzzy yang bertujuan untuk mengambil keputusan dalam pendeteksian rute teraman. Ada beberapa langkah yang digunakan yaitu Fuzzification, Inference, dan Defuzzification.


(63)

Gambar 3.3 Langkah Klasifikasi Menggunakan Logika fuzzy

3.1.2.1.1 Fuzzification

Nilai dua parameter yang diperoleh dari hasil ekstraksi ciri dikonversi ke bentuk masukan fuzzy, nilai ini dinamakan variabel linguistik, variabel linguistik digunakan untuk merepresentasikan dua masukan yaitu rute terpendek dan jumlah tower. Untuk setiap variabel linguistik memiliki dua nilai linguistik yaitu kecil dan besar. Fungsi keanggotaan yang digunakan yaitu fungsi trapesium dengan setiap parameter memiliki satu fungsi keanggotaan, sehingga dibutuhkan dua fungsi keanggotaan untuk sebuah keputusan. Berikut ini bentuk fungsi keanggotaan trapesium untuk dua variabel linguistik, dimana sumbu horizontal menunjukkan variabel linguistik dan sumbu vertikal menunjukkan derajat keanggotaan :


(64)

Gambar 3.4 Fungsi Keanggotaan Masukan Fuzzy

3.1.2.1.2 Inference

Inference merupakan proses untuk menentukan aturan fuzzy yang akan digunakan dalam sistem. Hasil inference menggunakan fungsi keanggotaan trapesium dengan tiga nilai linguistik yaitu aman, sedang, dan berbahaya seperti yang terlihat pada gambar berikut :

1 Derajat keanggotaan

Jarak rute

1 2 3 4

Kecil Besar

0 0

Variabel Linguistik

1 Derajat keanggotaan

Jumlah tower

1 2 3 4

Kecil Besar

0 0


(65)

Gambar 3.5 Fungsi Keanggotaan Keluaran Fuzzy

Model aturan fuzzy yang digunakan yaitu model mamdani, dengan menggunakan cara inferensi clipping (alpha-cut). Jumlah aturan yg diperlukan pada sistem ini yaitu 22=4. Berikut adalah empat aturan yang digunakan :

1. IF jarak kecil AND jumlah kecil THEN Aman. 2. IF jarak kecil AND jumlah besar THEN Sedang. 3. IF jarak besar AND jumlah kecil THEN Sedang. 4. IF jarak besar AND jumlah besar THEN Berbahaya.

Dari aturan-aturan tersebut, maka proses inference yang terjadi dengan menggunakan inferensi Clipping dengan langkah sebagai berikut :

1. Menggunakan aturan Conjunction (˄) dengan memilih derajat keanggotaan minimum dari nilai-nilai linguistik yang dihubungkan oleh ˄ (AND), dan lakukan Clipping pada fungsi keanggotaan Trapesium.

2. Menggunakan aturan Disjunction (˅) dengan memilih derajat keanggotaan maksimum dari nilai-nilai linguistik yang telah diperoleh dari aturan Conjunction (˄).

Derajat keanggotaan

1

1 2 3 4

Aman Sedang Berbahaya

0 0


(66)

3.1.2.1.3 Defuzzification

Merupakan suatu proses untuk memperoleh nilai crisp sebagai solusi dari sistem fuzzy. Pada tugas akhir ini, menggunakan Centroid method.

Gambar 3.6Grafik Defuzzifikasi

Keluaran untuk hasil deteksi kondisi rute dibuat dalam sebuah range. Range ini didapatkan dari hasil analisis terhadap dua parameter, sehingga diperoleh range keluaran sebagai berikut :

1. Aman (0-1) 2. Sedang (2-3) 3. Berbahaya (4)

3.1.3 Analisis Kebutuhan Sistem

Dari analisis kebutuhan sistem yang dilakukan maka kebutuhan sistem dapat didefinisiskan sebagai berikut:

1. Game Tower Defense Polisi Hutan ini berbasis desktop dan dapat berjalan pada system operasi Windows.

2. Aplikasi ini dapat dijadikan sebagai alternatif media pembelajaran dan Derajat

keanggotaan 1

1 2 3 4

Aman Sedang Berbahaya

0 0


(67)

3.1.4 Analisis dan Perancangan Terstuktur

Yang dimaksud dengan analisis adalah proses mendekomposisi atau menginvestigasi domain problem atau requirements menjadi bagian-bagian yang kita mengerti. Proses analisis lebih menekankan kepada pertanyaan seperti apakah sistem yang akan kita kerjakan, bagaimana sistem tersebut digunakan sehari-hari oleh user. Sedangkan perancangan adalah melakukan sintesa model software dari problem yang kita analisis, menterjemahkan domain model kepada software model sehingga bisa dimengerti dan dikomunikasikan kepada anggota tim lain dan juga para profesional software lainya.

Perancangan terstuktur berfungsi mendifinisikan dan mengilustrasikan organisasi dari sistem secara berjenjang dalam bentuk modul dan submodul. Badan terstuktur ini menggambarkan hubungan elemen data dan elemen kontrol serta hubungan antar modulnya

3.1.5 Analisis Kebutuhan Non-Fungsional

Analisis dan kebutuhan non-fungsional meliputi analisis dan kebutuhan perangkat lunak, analisis dan kebutuhan perangkat keras, serta analisis dan kebutuhan user.

3.1.5.1 Analisis Kebutuhan Perangkat Lunak

Perangkat lunak yang dibutuhkan untuk membuat game tower defense polisi hutan ini adalah sebagai berikut :

1. Sistem operasi Windows 7. 2. Game Maker Studio 1.0. 3. Adobe Photoshop CS4.


(68)

Berdasarkan analisis perangkat lunak di atas, rekomendasi minimum perangkat lunak untuk mengakses game tower defense polisi hutan ini adalah Windows XP SP 1.

3.1.5.2 Analisis Kebutuhan Perangkat Keras

Adapun kebutuhan perangkat keras yang diperlukan untuk membangun sistem ini adalah sebagai berikut :

1. Processor 2.8 GHz. 2. RAM 4 GB. 3. Harddisk 250 GB. 4. Monitor LED 16’. 5. VGA.

Rekomendasi spesifikasi minimum perangkat keras untuk game tower defense polisi hutan ini adalah sebagai berikut :

1. Processor minimal 1.8 GHz. 2. RAM 1 GB atau lebih. 3. Harddisk 100 MB. 4. Monitor CRT 14’. 5. VGA.

3.1.5.3 Analisis Kebutuhan User

Selain dibutuhkannya perangkat lunak dan perangkat keras, user juga sangat dibutuhkan dalam penggunakaan aplikasi psikotes ini. Adapun


(69)

1. Mengerti mengoperasionalkan komputer. 2. Dapat mengoperasikan aplikasi. 3. User tidak memiliki buta warna. 4. Mengerti menggunakan mouse

3.1.6 Analisis Kebetuhan Fungsional 3.1.7 Diagram Object

Object Diagram menggambarkan objek apa saja yang terdapat pada Game Tower Defense Polisi Hutan ini.


(70)

3.1.7.1 Detail Object

Tabel 3.1 Detail Object

Object Events Actions

Tower Create Execute a piece of code: a. Inisialisasi semua

variabel

Step Test variable (active=0) Start of a block

Jump to position (mouse_x,mouse_y) Align to a grid of 16 by 16 End of a block

Else

Execute a piece of code: a. Cek enemy dalam

range

b. Active firing jika ada enemy

Test variable (firing=1) Start of a block


(71)

sp_tower_laser2 End of a block Else

Start of a block Change sprite into sp_tower_laser End of a block

Begin step Test expression (collision ob_path_marker)

Test expression (collision ob_tower)

Set variable coll_path to 0 Execute a piece of code:

a. Check for collisions Collision with object

tower

Set variable coll_path to 1

Collision with object ob_path_marker

Set variable coll_path to 1

Mouse (left pressed) Execute a piece of code: a. Pilih tower b. Tower activate


(72)

Draw Test variable (active=0) Execute a piece of code:

a. Draw a ghost of the tower and its range Else

Execute a piece of code: a. Draw info tower Enemy Create Execute a piece of code:

a. Inisialisasi variable b. Inisialisasi path Step Execute a piece of code:

a. Hapus emeny jika HP habis

b. Create explosion c. Tambah money End of path Execute a piece of code:

a. Hapus enemy Draw Execute a piece of code:

a. Draw sprite b. Draw healthbar Ob_rute1, Create Execute a piece of code:


(73)

ob_rute21, ob_rute22, ob_rute212, ob_rute31, ob_rute32, ob_rute33,

a. Inisialisasi variable Step Execute a piece of code:

a. Kill instance

b. Tambah jumlah tower

Btn_upgrade Step Execute a piece of code: a. Cek visible upgrade Mouse (left pressed) Execute a piece of code:

a. Upgrade tower Btn_sell Step Execute a piece of code:

a. Cek visibe sell Mouse (left pressed) Execute a piece of code:

a. Sell tower Draw Execute a piece of code:

a. Draw sprite Ob_tanaman_button Create Execute a piece of code:

a. Inisialisai price variable Mouse (left pressed) Execute a piece of code:

a. Cek money b. Tambah lives


(74)

Btn_tower_laser Create Execute a piece of code: a. Inisialisai price variable Begin step Execute a piece of code:

a. Image index = 0 Mouse (no button) Execute a piece of code:

a. Image index =1 Mouse (left pressed) Execute a piece of code:

a. Cek money b. Other tower c. Create tower Draw Execute a piece of code:

a. Draw sprite b. Draw price Btn_tower_bullet,

Btn_tower_bomb (Btn_tower_laser as parent)

Create Execute a piece of code: a. Inisialisai price variable Mouse (left pressed) Execute a piece of code:

a. Cek money b. Other tower c. Create tower

Ob_path_marker - -


(1)

(2)

(3)

Class Diagram

Enem y dam age : Integer atkspd : Integer m oney : Integer create()

cekhealt() hapusm usuh()

Pem ain lives : Integer m oney : Integer

(f rom Actors)

Menu start()

Pulau Control

Tower dam age : Integer atkspd : Integer range : Integer price : Integer create() upgrade() sell() hapustower() Pulau create() createm usuh() tam pilbtnupgrade() tam pilbtns ell() penem patantower()

Control wave : Integer jm l_tower : Integer s tatusjarak : Integer s tatus_rute : Integer s tatusjm l_tower : Integer pilihm enu() pilihpulau() caram ain() tam pilcredit() pilihtower() pilihrute() cekm oney() tanam an

price : Integer tm bhtanam an()


(4)

Kesimpulan

Aplikasi game Tower Defense

Polisi Hutan dapat

menjawab masalah yang ada pada game tower

defense saat ini yaitu dengan membuat jalur musuh

menjadi dinamis dan NPC yang cerdas dalam

menjadi dinamis dan NPC yang cerdas dalam

memilih rute teraman.

•Dengan adanya aplikasi game ini, bisa membantu

masyarakat untuk mengenal pentingnya peran Hutan

dan Polisi Hutan untuk lingkungan hidup.


(5)

Saran

• mengembangkan tampilan

game

agar lebih menarik, menambah jumlah pesan

edukasi tentang mengenai pentingnya hutan

• menambah parameter

fuzzy

lain berupa jenis

tower

pada

game

ini sehingga

menjadi semakin modern.

menjadi semakin modern.

•Desain antarmuka dapat diperhalus dan diperbagus.

•Desain

sprites

karakter dapat diperhalus agar animasi tower tidak monoton.

Background

musik yang digunakan dapat dibuat sendiri dengan aplikasi


(6)

DEMO

DEMO