Pembangunan Aplikasi Game 2D Say No To Drugs Berbasis Android

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ARIF SETYAWAN

10109142

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

(3)

(4)

Nim : 10109142

Tempat / Tgl Lahir : Sukoharjo, 12 April 1990 Jenis Kelamin : Laki-laki

Alamat : Jl. Kopo Cetarip Barat Rt 10/07 no 60. Kel Kopo Kec Bojongloa Kaler Bandung 40233

Telepon : 081 915 399 904

Email : arif.reftha@yahoo.com

2. Riwayat Pendidikan

1. 1996 – 1997 : TK Aisyiah Bustanul Atfhal Barabai 2. 1997 – 1999 : SD Muhammadiyah Barabai

3. 1999 – 2002 : SDN 1 Jangglengan 4. 2002 – 2005 : SMP N 1 Nguter

5. 2005 – 2008 : SMK Muda Kreatif Barabai

6. 2009 - 2014 : Program Studi S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

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

Bandung, Agustus 2014 Penulis


(5)

v

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR...ix

DAFTAR TABEL……….….xii

DAFTAR SIMBOL………...xiv

DAFTAR LAMPIRAN……… ………….. xvi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah... 2

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 5

BAB 2 TINJAUAN PUSTAKA ... 7

2.1 Game ... 7

2.2 Jenis Game ... 7

2.2.1Berdasarkan Jenis Platform yang Digunakan ... 7

2.2.2Berdasarkan Genre Permainannya ... 8

2.3 Artificial Intelligence (AI)………...………...12

2.3.1 Kategori AI... 13

2.3.2Kecerdasan buatan dan Kecerdasan alami ... 15

2.3.3Ruang lingkup dan Elemen-elemen AI... 15

2.3.4Komputasi alami dan Komputasi buatan ... 16

2.3.5 Algoritma A* ... 17

2.4 Tools yang Digunakan ... 19

2.4.1Pemrograman Berorientasi Objek ... 20


(6)

vi

2.4.2.1 Bagian-Bagian UML ... 23

2.4.2.2Tujuan Penggunaan UML ... 26

2.4.2.3Perangkat Lunak yang Mendukung Pembuatan Diagram UML ... 27

2.4.3 Pemrograman Java ... 27

2.4.4Adobe Flash Professional ... 29

2.4.5 Multimedia ... 31

2.4.5.1 Kategori Multimedia ... 31

2.4.5.2 Elemen Multimedia ... 32

2.4.6 Android ... 34

BAB 3 ANALISIS DAN PERANCANGAN ... 35

3.1 Analisis Sistem ... 35

3.2 Analisis Masalah ... 35

3.2.1 Analisis Game Sejenis ... 35

3.2.1.1Pengenalan Game Muffin Knight ... 35

3.2.1.2Gameplay Muffin Knight ... 36

3.2.1.3Kelebihan dan Kekurangan Game Muffin Knight ... 37

3.2.2Analisis Game yang Akan Dibangun ... 38

3.2.2.1 Story Line ... 38

3.2.2.2 Gameplay ... 39

3.2.2.3 Scoring ... 40

3.2.3 Analisis Algoritma ... 40

3.2.4Analisis Kebutuhan Non Fungsional ... 46

3.2.4.1Analisis dan Kebutuhan Perangkat Lunak ... 46

3.2.4.2Analisis dan Kebutuhan Perangkat Keras ... 47

3.2.4.3 Analisis Pengguna ... 48

3.2.5Analisis Kebutuhan Fungsional ... 48

3.2.5.1 Use case diagram ... 48

3.2.5.2 Actor Definiton ... 49

3.2.5.3 Use Case Definition ... 49

3.2.5.4 Use Case Scenario ... 50


(7)

vii

3.2.5.6 Sequence Diagram ... 69

3.2.5.7 Class Diagram ... 75

3.2.6 Perancangan Sistem ... 77

3.2.6.1Perancangan Komponen Permainan ... 77

3.2.6.1.1 Karakter Game Say No To Drugs ... 77

3.2.6.1.2 Item Game Say No To Drugs ... 78

3.2.6.1.3 Story Board Game Say No To Drugs ... 78

3.2.6.2Perancangan Struktur Menu ... 81

3.2.6.3Perancangan Antar Muka ... 81

3.2.6.3.1 Perancangan Antar Muka Menu Utama ... 81

3.2.6.3.2 Perancangan Antar Muka Intro Game ... 82

3.2.6.3.3 Perancangan Antar Muka Cara Bermain ... 83

3.2.6.3.4 Perancangan Antar Muka Menu Nilai Tertinggi ... 83

3.2.6.3.5 Perancangan Antar Muka Menu Play ... 84

3.2.6.3.6 Perancangan Antar Muka Kalah ... 84

3.2.6.3.7 Perancangan Antar Muka Menu Permainan ... 85

3.2.6.4 Perancangan Pesan ... 85

3.2.7 Jaringan Semantik ... 86

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 87

4.1 Implementasi ... 87

4.1.1Implementasi Perangkat Keras ... 87

4.1.2Implementasi Perangkat Lunak ... 87

4.1.3Implementasi Antarmuka ... 87

4.1.3.1Antarmuka Menu Utama ... 87

4.1.3.2 Antarmuka Intro ... 88

4.1.3.3 Antarmuka Permainan ... 88

4.1.3.4Antarmuka Menu Permainan ... 90

4.1.3.5 Antarmuka Outro ... 90

4.1.3.6 Antarmuka Skor ... 91

4.1.3.7Antarmuka Skor Tertinggi ... 92


(8)

viii

4.1.4 Implementasi Pesan ... 92

4.2 Pengujian ... 93

4.2.1 Pengujian Alpha ... 93

4.2.1.1Skenario Pengujian Aplikasi ... 94

4.2.1.2Kasus dan Hasil Pengujian (Black Box) ... 94

4.2.1.3Kasus dan Hasil Pengujian (White Box) ... 96

4.2.1.4Kesimpulan Pengujian Alpha ... 100

4.2.2 Pengujian Beta ... 101

4.2.2.1 Kuesioner ... 101

4.2.2.2Kesimpulan Pengujian Beta ... 106

BAB 5 KESIMPULAN DAN SARAN……….…...107

5.1 Kesimpulan……….…………...…107

5.2 Saran……….…….………...107


(9)

iii

Assalamu’alaikum Wr. Wb.

Alhamdulillahi Robbil ‘Alamin, Puji syukur kehadirat Illahi Rabbii yang

telah melimpahkan rahmat dan hidayah-Nya, shalawat serta salam semoga tercurah limpahkan kepada baginda Rosul Nabi Muhammad SAW, sehingga Penulis dapat menyelesaikan skripsi yang diberi judul “Pembangunan Aplikasi

Game Say No To Drugs Berbasis Android”. Skripsi ini disusun untuk memenuhi salah satu syarat dalam menyelesaikan jenjang pendidikan Strata 1 Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Penulis sangat menyadari skripsi ini masih banyak kekurangan dari berbagai hal. Namun berkat bantuan dan bimbingan dari berbagai pihak akhirnya skripsi ini dapat diselesaikan tepat pada waktunya. Karena itu, dengan segala kerendahan hati dan rasa syukur, penulis ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada :

1. Allah SWT, yang telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga dapat menyelesaikan skripsi ini dengan baik.

2. Nabi Muhammad SAW sebagai junjungan yang telah menyampaikan wahyu Allah.

3. Kedua orang tua penulis, Sukimo (Bapak yang selalu mendukung penulis

dalam berbagai hal, terutama Do’a dan didikannya) dan Sri Wahyuni

(Seorang Ibu terbaik, yang tentunya selalu memberikan semangat,

motivasi segala daya dan upayanya, terutama Do’a yang tulus ikhlas untuk

penulis). Semoga dikemudian hari saya dapat membahagiakan kalian. 4. Yth. Bapak Dr. Ir. Eddy Suryanto Soegoto, M.Sc., selaku Rektor

Universitas Komputer Indonesia.

5. Yth. Bapak Irawan Afrianto, S.T., M.T., selaku Ketua Program Studi Teknik Informatika Universitas Komputer Indonesia.

6. Yth. Ibu Rani Susanto, S.Kom., selaku dosen pembimbing dan penguji 2 yang telah memberikan saran, arahan dan bimbingan kepada penulis dalam menyelesaikan skripsi ini dan juga selaku dosen wali kelas IF-4 angkatan 2009 yang telah menjadi wali yang kami hormati selama ini.

7. Yth. Ibu Ednawati Rainarli, S.Si., M.Si., selaku penguji 1 yang telah memberikan banyak masukan yang sangat berguna bagi penulis.

8. Yth. Ibu Sufaatin, S.T., M.Kom., selaku penguji 3 yang telah memberikan banyak masukan yang sangat berguna bagi penulis.

9. Yth. Ibu Mira Kania Sabariah, S.T., M.T., yang telah memberikan bimbingan dan motivasi selama menjabat di program studi Teknik Informatika Universitas Komputer Indonesia.


(10)

iv

12.Semua pihak yang telah membantu dalam menyelesaikan skripsi ini yang tidak bisa disebutkan satu persatu oleh penulis.

Semoga Allah SWT memberikan Rahmat dan Hidayah-Nya dengan berlipat ganda dan tiada kesudahan atas segala kebaikan dan bantuan yang telah diberikan.

Dengan segala kerendahan hati, dalam penulisan skripsi ini penulis telah berusaha semaksimal mungkin walaupun demikian penulis menyadari bahwa skripsi ini masih banyak kesalahan dan kekurangan. Oleh karena itu, penulis memohon saran dan kritiknya untuk kesempurnaan skripsi ini. Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi penulis khususnya dan bagi pembaca pada umumnya.

Wassalamu’alaikum Wr. Wb.

Bandung, 20 Agustus 2014 Penulis


(11)

108 Universitas Indonesia: Jakarta

[2] Simunangkalit, Parasian. 2011. Globalisasi Peredaran Narkoba dan Penanggulangannya di Indonesia, Yayasan Wajar Hidup: Jakarta.

[3] Santoso, Nurhadi, Upaya Guru Pendidikan Jasmani Olahraga dan Kesehatan (Penjasorkes) Dalam Menanggulangi Penyalahgunaan Narkoba Lewat Pendidikan Kesehatan. Universitas Negeri Yogyakarta. http://staff.uny.ac.id/sites/default/files/197403172008121003/GURU%20P ENDIDIKAN%20JASMANI%20DALAM%20MENANGGULANGI%20 PENYALAHGUNAAN%20NAPZA%20BAGI%20PESERTA%20DIDIK .pdf, diakses tanggal 11 September 2013 Pukul 23.50 WIB.

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

[5] Pressman, Roger S. 2001. Software Engineering: A Practitioner’s

Approach fifth edition. Mc Graw Hill

[6] Nilwan, Agustinus. 1995, Pemograman Animasi dan Game Profesional, Elek Media Komputindo: Jakarta.

[7] Indriani Widiastuti, Nelly, Diktat Perkuliahan Artificial Intelligence, Edisi 1, Universitas Komputer Indonesia.

[8] Suyanto. (2007). Artificial Intelligence Searching, Reasoning, Planning and Learning. Informatika, Bandung.

[9] Shalahuddin, M. dan Rosa A.S. 2013. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Informatika Bandung.

[10] http://fadhlyashary.blogspot.com/2012/06/pengertian-uml-unified-modeling.html, diakses tanggal 15 Oktober 2013 pukul 22.45 WIB. [11]


(12)

[12] http://didiindra.wordpress.com/tag/pengertian-java/, diakses tanggal 15 Oktober 2013 pukul 23.30 WIB.

[13]

http://share.pdfonline.com/5f138735b3f64f5d80b8188c7b3620bb/tugas%2 0kelompok%20anikom.html, diakses tanggal 16 Oktober 2013 pukul 00.30 WIB. [14] M. Suyanto. 2005. Multimedia Alat Untuk Meningkatkan Keunggulan

Bersaing, Andi: Yogyakarta

[15] http://www.kajianpustaka.com/2013/12/sejarah-dan-perkembangan-versi-android.html, diakses tanggal 11 Juni 2014 pukul 23.30 WIB

[16] http://policyalmanac.org/games/aStarTutorial.htm, diakses tanggal 25 Juni 2014 pukul 22.35 WIB


(13)

1

NAPZA merupakan akronim dari Narkoba, Psikotropika dan Zat Adiktif lainnya yang merupakan jenis obat-obatan yang dapat mempengaruhi gangguan kesehatan dan kejiwaan. NAPZA secara umum adalah zat-zat kimiawi yang apabila dimasukkan kedalam tubuh baik secara oral (diminum, dihisap, dihirup dan disedot) maupun disuntik, dapat mempengaruhi pikiran, suasana hati, perasaan dan perilaku seseorang. Hal ini dapat menimbulkan gangguan keadaan sosial yang ditandai dengan indikasi negatif, waktu pemakaian yang panjang dan pemakaian yang berlebihan[1].

Permasalahan penyalahgunaan dan peredaran gelap narkoba merupakan permasalahan yang masih dihadapi oleh negara-negara di dunia, termasuk Indonesia. Akhir-akhir ini permasalahan tersebut semakin marak dan kompleks terbukti dengan meningkatnya jumlah penyalahguna, pengedar yang tertangkap dan pabrik narkoba yang dibangun di Indonesia[2]. Rumah sakit ketergantungan obat di Jakarta melaporkan bahwa dari penderita akibat penyalahgunaan obat terlarang umumnya berusia 15 – 24 tahun, kebanyakan dari mereka masih aktif di sekolah menengah pertama, sekolah menengah atas, serta perguruan tinggi[3]. Data dari Bareskrim Polri & Badan Narkotika Nasional 2013 menyebutkan tersangka narkoba berdasarkan jenjang pendidikan, setingkat SMU menduduki peringkat paling tinggi yaitu 60,13 persen. Untuk melakukan tindakan pencegahan peredaran dan penyalahgunaan narkoba pertama-tama harus dimulai dari internal keluarga. Masyarakat harus berupaya untuk mendidik atau mengawasi putra-putrinya agar tidak terlibat perkara narkoba[2]. Pencegahan juga bisa dilakukan dengan cara mengisi waktu luang dengan kegiatan-kegiatan yang positif seperti berolahraga, berekreasi, dan bermain game.

Saat ini, teknologi mobile yang berkembang dikalangan generasi muda saat ini banyak diterapkan untuk mempermudah dalam proses penyampaian informasi, salah satu teknologi yang berkembang saat ini adalah game, bahkan saat ini sudah


(14)

banyak game berbasis android yang berkembang di Indonesia. Oleh sebab itulah perlu adanya suatu media untuk menyampaikan tentang bahaya narkoba yang dalam hal ini yaitu melalui game.

Berdasarkan permasalahan yang sudah diuraikan tersebut maka perlu adanya upaya untuk memberantas narkoba serta media untuk menyampaikan tentang bahaya narkoba, agar generasi muda menjadi generasi yang berguna bagi bangsa dan agama, oleh karena itu perlu adanya pembangunan game yang dalam ceritanya menggambarkan perlawanan dan pemberantasan terhadap narkoba. 1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang masalah, maka rumusan masalahnya adalah tentang bagaimana membangun Aplikasi Game 2D “Say No

To Drugs” berbasis Android.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk membangunan Aplikasi Game 2D “Say No To Drugs” Berbasis Android.

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah menyampaikan pesan mengenai bahaya narkoba melalui game.

1.4 Batasan Masalah

Batasan masalah dalam pembangunan aplikasi ini adalah sebagai berikut : 1. Aplikasi game yang akan dibangun berbasis Android.

2. Aplikasi game yang akan dibangun bergrafis 2 dimensi dan offline. 3. Aplikasi game ini ditujukan untuk pemain mulai usia 15-24 tahun. 4. Aplikasi game ini terdapat konten edukasinya.

5. Genre game adalah Adventure, karena pemain melalui berbagai rintangan dan melalui berbagai tahap untuk menyerang dan menghindar dari serangan lawan yang dihadapi.


(15)

6. Level atau stage di batasi hanya 3 stage.

7. AI yang dipergunakan adalah algoritma A* (A star) yang akan digunakan pada NCP musuh.

8. Aplikasi game dibangun menggunakan bahasa pemrograman Java.

9. Tools yang digunakan adalah Adobe Flash Professional CS6.

10.Pemodelan data yang dilakukan berbasis object oriented programming

dengan menggunakan UML diagram. 1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah menggunakan metode studi literatur yaitu tahap yang digunakan untuk mencari informasi yang berhubungan dengan permasalahan yang akan dibahas dengan bersumber pada buku-buku, jurnal, serta bacaan lain yang berhubungan dengan penelitian [4].

2. Tahap pembuatan perangkat lunak.

Teknik analisis data dalam membangun aplikasi game “Say No To Drugs”

menggunakan paradigma perangkat lunak secara waterfall seperti yang terlihat pada Gambar 1.1. Adapun langkah-langkah metode waterfall adalah sebagai berikut:


(16)

1. Analisis (Analysis)

Analisis adalah tahap menganalisis sistem, menganalisis kebutuhan fungsional, menganalisis kebutuhan non-fungsional, menganalisis kebutuhan perangkat keras, menganalisis kebutuhan perangkat lunak dalam pembangunan game.

2. Perancangan (Planning)

Perancangan adalah tahap perancangan sistem, perancangan antarmuka, perancangan game yang akan dibangun.

3. Desain (Design)

Desain adalah tahap menggambarkan karakter-karakter game, baik itu hero maupun background sebagai map yang akan digunakan.

4. Pengkodean (Coding)

Pengkodean adalah tahap penerjemahan data atau pemecahan masalah yang telah dirancang ke dalam bahasa pemrograman.

5. Pengujian (Testing)

Pengujian adalah tahap pengujian alpha dan pengujian beta terhadap

game yang dibangun. Pengujian ini bertujuan untuk melihat apakah game Say No To Drugs sudah sesuai dengan tujuan yang ingin dicapai.


(17)

Gambar 1. 1 Model Waterfall [5] 1.6 Sistematika Penulisan

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

BAB 1. PENDAHULUAN

Menguraikan tentang latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, serta sistematika penulisan. BAB 2. TINJAUAN PUSTAKA

Membahas berbagai konsep dasar game, pengertian game, Artificial Intelligence

(AI), tools yang digunakan dalam pembangunan Game 2D Say No To Drugs yaitu UML, Adobe Flash Professional.


(18)

BAB 3. ANALISIS DAN PERANCANGAN

Bab ini membahas tentang analisis sistem, analisis masalah, analisis game sejenis, analisis game yang akan dibangun, analisis algoritma, analisis kebutuhan non-fungsional, analisis kebutuhan non-fungsional, perancangan sistem, dan jaringan semantik.

BAB 4. IMPLEMENTASI DAN PENGUJIAN

Bab ini menjelaskan tentang implementasi antar muka, pengujian sistem, pengujian alpha serta pengujian beta untuk melihat apakah game Say No To Drugs

sudah sesuai dengan tujuan yang ingin dicapai. BAB 5. KESIMPULAN DAN SARAN

Bab ini berisi hasil yang di dapat selama penulisan skripsi gameSay No To Drugs

dari pembahasan masalah, selain itu juga berisi saran untuk perbaikan dan menindaklanjuti hasil dari game yang dibangun.


(19)

7

Game berasal dari kata bahasa inggris yang memiliki arti dasar Permainan.

Permainan dalam hal ini merujuk pada pengertian “kelincahan intelektual” (intellectual playability). Game juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Sedangkan Agustinus Nilwan menjelaskan bahwa game di artikan sebagai suatu aktivitas tersetruktur atau juga digunakan sebagai alat pembelajaran.

Secara umum teori permainan dapat didefinisikan sebagai sebuah pendekatan terhadap kemungkinan strategi yang akan dipakai, yang disusun secara matematis agar bisa diterima secara logis dan rasional. Serta digunakan untuk mencari strategi terbaik dalam suatu aktivitas, dimana setiap pemain didalamnya sama - sama mencapai utilitas tertinggi[6].

2.2 Jenis Game

Terdapat banyak jenis game yang ada saat ini, diantaranya jenis game

berdasarkan platform yang digunakan dan jenis game berdasarkan genre permainannya. Berikut uraian dari masing – masing jenis game tersebut.

2.2.1 Berdasarkan Jenis Platform yang Digunakan

Jenis game berdasarkan platform yang digunakan adalah sebagai berikut:

1. Arcades Game

Arcade games atau kalau di Indonesia sering disebut dengan ding-dong, biasanya berada di daerah / tempat khusus dan memiliki box atau mesin yang memang khusus didesain untuk jenis video games tertentu dan tidak jarang

bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa “masuk” dan “menikmati”, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil (beserta transmisinya tentunya).


(20)

2. PC Games

PC games adalah video games yang dimainkan menggunakan Personal Computers.

3. Console games

Console games adalah video games yang dimainkan menggunakan console

tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.

4. Handheld games

Handheld games adalah video games yang dimainkan di console khusus video game yang dapat dibawa kemana-mana atau disebut juga dengan portable console, contohnya seperti Nintendo DS dan Sony PSP.

5. Mobile games

Mobile games adalah video game yang dimainkan dalam mobile phone,

smartphone, PDA atau handheld computer, tidak termasuk yang dimainkan dengan handheld video game seperti Playstation Portable atau Nintendo DS.

Mobile game tidak hanya dapat dimainkan melalui telepon selular, namun dapat dikembangkan dalam berbagai macam mobile handset seperti PDA,

Symbian OS dan Microsoft’s Smartphone. Mobile game dimainkan dengan menggunakan teknologi yang ada di dalam alat itu sendiri, contohnya software game yang telah ada dalam telepon selular itu sendiri. Untuk game yang dimainkan secara online, terdapat beberapa teknologi yang umum digunakan, misalnya dengan pesan teks (SMS), pesan multimedia (MMS) atau GPRS untuk mengidentifikasi lokasi video games yang dapat dimainkan atau khusus dimainkan untuk mobile phone atau PDA.

2.2.2 Berdasarkan Genre Permainannya

Jenis game berdasarkan genre permainannya adalah sebagai berikut:

1. RTS (Real Time Strategy)

Real Time Strategy adalah genre suatu permainan komputer yang memiliki ciri khas berupa permainan perang yang tiap pemainnya memiliki suatu negara, negara tersebut di kelola dalam hal pengumpulan sumberdaya (alam, manusia,


(21)

ekonomi), pengaturan strategi pasukan-pasukan tempur, diplomasi dengan negara tetanga, peningkatan ekonomi, pengembangan keyakinan, pengembangan pendidikan dari negara primitif menuju peradaban moderen.

RTS dibedakan dari turn-based strategi dimana dalam RTS permainan tidak mengenal giliran. Setiap pemain dapat mengatur/memerintah pasukannya dalam waktu apapun. Dalam RTS, tema permainan dapat berupa sejarah (misalnya seri Age of Empires), fantasi (misalnya Warcraft) dan fiksi ilmiah (misalnya Star Wars).

2. FPS (First Person Shooter)

Jenis permainan tembak-menembak dengan tampilan pada layar pemain adalah sudut pandang tokoh karakter yang dimainkan, tiap tokoh karakter mempunyai kemampuan yang berbeda-beda dalam tingkat akurasi menembak, reflek menembak,dll. Permainan ini dapat melibatkan banyak orang. Permainan ini bisa berupa misi melumpuhkan penjahat maupun alien, kadang juga sejumlah pemain dibagi beberapa tim yang bertugas melumpuhkan tim lainnya, sebelum dilumpuhkan. Ciri utama lain adalah penggunaan senjata genggam jarak jauh.

Contoh : Duke Nukem 3D, Quake, Blood, Unreal, Unreal Tournament, seri Half-Life, Counter-Strike, seri Halo, Perfect Dark, TimeSplitters, Call of Duty, System Shock, dan GoldenEye 007.

3. RPG(Role Playing Game)

RPG (Role Playing Game) adalah sebuah permainan yang para pemainnya memainkan peran tokoh-tokoh khayalan dan berkolaborasi untuk merajut sebuah cerita bersama. Para pemain memilih aksi tokok-tokoh mereka berdasarkan karakteristik tokoh tersebut, dan keberhasilan aksi mereka tergantung dari sistem peraturan permainan yang telah ditentukan. Asal tetap mengikuti peraturan yang ditetapkan, para pemain bisa berimprovisasi membentuk arah dan hasil akhir permainan ini.

Contoh : World of Warcraft, The Lord of the Rings Online: Shadows of Angmar, Final Fantasy, Ragnarok, DoTA.


(22)

4. Life Simulation Games

Permainan simulasi kehidupan ini meliputi kegiatan individu dalam sebuah tokoh karakter. Dalam memainkan tokoh karakter tersebut pemain bertanggung jawab atas inteligen serta kemampuan fisik dari tokohnya tersebut. Tokoh karakter tersebut memerlukan kebutuhan layaknya manusia seperti kegiatan belajar, bekerja, belanja, bersosialisasi, memelihara hewan, memelihara lingkungan dan lain-lain. Lawan mainnya bisa berupa pemain lain yang memainkan karakter sebagai tetangga maupun komputer dengan kecerdasan buatan tingkat tinggi.

Contoh: SimLife, Second Life.

5. Construction and Management Simulation Games

Permainan yang mensimulasikan proyek membangun sebuah kota, pemain di haruskan membangun sebuah kota lengkap dengan fasilitas publik maupun fasilitas pemerintah seperti gedung, alat transportasi publik, taman, sekolah, rumah sakit, tempat beribadah, pabrik, bandara, stasiun, bank dan bangunan lainnya lainnya. saat membangun kota tersebut pemain juga harus memperhatikan sumber daya ekonomi, kenyamanan para penduduknya dalam beraktifitas yang mungkin terganggu saat pembuatan jembatan penyebrangan dan lain-lain.

Contoh: SimCity, Caesar.

6. Vehicle Simulation

Jenis permainan ini mensimulasi pengoperasian beberapa kendaraan, kendaraan bisa berupa pesawat terbang, pesawat tempur, kereta, kendaraan perang, maupun kendaraan konstruksi.

Contoh: FlightGear, Tram, Orbiter.

7. Action Game

Permainan jenis ini sangat berkaitan dengan tantangan fisik, seperti ketangkasan, reflek dari pemain. Dalam permainan ini pemain mengendalikan seorang tokoh karakter, tokoh karakter yang dimainkan bisa dihadapkan


(23)

dengan tokoh karakter lain yang bertarung berhadapan bisa juga menjalankan sebuah misi yang banyak rintangan, mengumpulkan objek tertentu, mengalahkan musuh, maupun menyelamatkan karakter lainnya.

Contoh: Street Fighter.

8. Adventure Game

Game petualangan adalah sebuah genre permainan dalam video game

dimana pemain berperan sebagai protagonis dalam sebuah cerita interaktif diiringi berbagai teka-teki untuk dipecahkan. Hampir seluruh game dengan genre ini adalah permainan single player karena lebih menekankan dari segi sudut cerita dan karakternya, membuat desain multi player untuk game

petualangan ini sulit dibuat.

Di dunia barat, popularitas genre ini berada dipuncak sekitar tahun 1980 hingga pertengahan tahun 1990-an meski kini petualangan dianggap memiliki pasar yang kecil seiring dengan berkembangnya genre lain yang lebih diminati seperti Role Playing Games, First Person Shooter atau Simulasi. Akan tetapi di Jepang, genre ini tetap populer dalam bentuk novel visual dimana 70% dari keseluruhan judul untuk jenis ini diluncurkan di negeri sakura tersebut. Masalahnya adalah game buatan Jepang menggunakan bahasa Jepang yang menuntut pemahaman huruf kanji pemain membuat kebanyakan orang tidak mampu menikmatinya. Akan tetapi bukan berarti game petualangan berbahasa inggris itu buruk. Faktanya, beberapa dari game tersebut merupakan permainan legendaris yang justru banyak dikenang oleh para gamer. Menurut sebuah situs khusus permainan bergenre adventure, terdapat 100 game petualangan terbaik sepanjang masa dari berbagai platform dan kebanyakan adalah cross genre

seperti action adventure, horror adventure, puzzle adventure atau simulation adventure.

Permainan yang menggunakan tokoh karakter fiksi yang bertugas mengekplorasi memecahkan sebuah misteri atau kasus, memburu harta karun, maupun menyelamatkan tokoh karakter buatan. Banyak dari game ini diangkat dari sebuah novel populer maupun film biskop.


(24)

Contoh : Monkey Island, The Last Express.

9. Action Adventure Game

Permainan petualangan yang dikombinasikan dengan aksi bertarung, menghadapi rintangan maupun memecahkan teka-teki.

Contoh: Tomb Raider, Indiana Jones.

10.Manager Simulation

Permainan yang mensimulasikan menjadi seorang manager dalam sebuah klub sepakbola.

Contoh: Championship Manager.

11.Racing

Adalah salah satu jenis permainan yang bernuansakan balap kendaraan. Disini user bisa mengontrol sendiri kendaraan yang dimiliki maupun user bisa menongtrolnya bersama-sama dengan partner user yang lainnya.

Contoh: CTR (Crash Team Racing), Need For Speed.

12.Sport

Game bergenre ini bertemakan olahraga seperti pada umumnya. User dapat mengontrol manusia yang diibaratkan dirinya sendiri di dalam game tersebut, yang membedakan adalah user disini tidak benar-benar berolahraga, melainkan tokoh yang dimainkanlah yang melakukan kegiatan tersebut.

Contoh: PES 2010, Winning Eleven.

13.Art

Game yang bergenre ini sangat jarang sekali ditemukan, dikarenakan mungkin masih kurang peminatnya. Sehingga masih kurang perusahaan pembuat game yang mengeluarkannya.

2.3 Artificial Intelligence (AI)

Artificial intelligence (AI) atau biasa juga dikenal sebagai kecerdasan buatan adalah cabang ilmu komputer yang berfokus pada otomatisasi tingkah laku cerdas sebuah sistem. AI adalah bagian ilmu komputer yang harus didasarkan pada sound


(25)

theoretical dan prinsip-prinsip aplikasi dibidangnya. Prinsip ini adalah struktur data untuk merepresentasikan pengetahuan, algoritma yang diperlukan untuk mengaplikasikan pengetahuan, dan bahasa serta teknik pemrograman yang digunakan untuk implementasi[7].

Definisi kecerdasan buatan sendiri belum terlalu jelas. Berikut ini Tabel 2.1 menjelaskan beberapa definisi dari beberapa buku.

Tabel 2. 1 Beberapa Definisi AI

The existing new effort to make computers think...machine with mind, in full and literal sense” (Haugeland,

1985)

The study of mental facultaties though the use of computational models”(Chaniak and mcDermott, 1985)

The study of how to make computers do things at which, at the moment, people are better”(Rich and Knight,

1991)

The branch of computer science that isconcerned with tha automation of intelligent

behavior”(Luger and Stubblefield,

1993)

Dari beberapa definisi di atas dapat disimpulkan bahwa AI atau yang disebut dengan kecerdasan buatan adalah ilmu komputer yang di dalamnya terdapat tingkah laku cerdas dari sebuah sistem. Merepresentasikan pengetahuan, algoritma, bahasa, serta teknik pemrograman terhadap implementasi sistem. 2.3.1 Kategori AI

Dari definisi pada Tabel 2.1, definisi AI dapat dibagi menjadi empat kategori, yaitu :

A. Thinking Humanly : Pendekatan kognitif

Ada beberapa cara untuk menyatakan suatu program berpikir seperti manusia, yaitu melalui introspeksi dan eksperimen psikologi.


(26)

B. Acting Humanly : pendekatan uji Turing

Uji Turing dilakukan oleh Alan Turing tahun 1950. Pengujian dirancang untuk menyediakan suatu definisi operasional yang layak bagi kecerdasan. Objek yang diuji adalah komputer yang menjawab pertanyaan interogator melalui teletype. Jika interogator tidak dapat membedakan yang diinterogasi adalah manusia atau komputer maka komputer berintelegensia tersebut lolos dari uji Turing.

Komputer yang lolos uji Turing atau Turing Test harus memiliki kemampuan berikut :

1. Natural Language Processing untuk berkomunikasi dengan baik dalam bahasa Inggris atau yang lainnya.

2. Knowledge Representation untuk menyimpan informasi yang disediakan sebelum atau sampai dapat dijalankan.

3. Automated Reasoning, menggunakan informasi yang telah disimpan untuk menjawab pertanyaan dan menggambarkan kesimpulan terbaru.

4. Machine Learning untuk menyesuaikan keadaan dan mendeteksi serta memperhitungkan pola.

C. Thingking Rationally : The laws of Thought Approach

Dua hal dalam pendekatan ini adalah :

1. Tidak mudah membuat pengetahuan informal dan menyatakannya dalam term formal, diperlukan notasi logika yang kepastiannya <100%

2. Terdapat perbedaan yang mendasar antara kemampuan memecahkan masalah

”secara prinsip” dan ”secara praktik”.

D. Acting Rationally : The Rational Agent Approach

Pendekatan rational agent digunakan untuk membatasi bahasan karena aksi dan pikiran manusia dluar rasio (refleks dan intuisi) belum dapat ditiru komputer.

Dari beberapa perspektif, AI dapat dipandang sebagai :

1. Perspektif Kecerdasan (Intelligence), AI adalah bagaimana membuat mesin yang cerdas dan dapat melakukan hal-hal yang sebelumnya hanya dapat dilakukan oleh manusia.

2. Perspektif Pemrograman, AI juga meliputi studi tentang pemrograman simbolik, pemecahan masalah, proses pencarian (search).


(27)

3. Perspektif Bisnis, AI adalah alat bantu, metodologi bisnis yang menggunakan alat bantu tersebut menyelesaikan masalah-masalah bisnis.

4. Perpektif Penelitian, AI adalah akar studi area.

2.3.2 Kecerdasan buatan dan Kecerdasan alami

Beberapa keuntungan kecerdasan buatan dibanding kecerdasan alami dapat dilihat pada Tabel 2.2.

Tabel 2. 2 Keuntungan kecerdasan buatan dan kecerdasan alami

Keuntungan kecerdasan buatan Keuntungan kecerdasan alami

1. Lebih permanen Lebih kreatif

2. Memberikan kemudahan dalam duplikasi dan penyebaran

Dapat melakukan proses pembelajaran langsung. AI harus mendapat masukan berupa simbol dan representasi

Keuntungan kecerdasan buatan Keuntungan kecerdasan alami

3. Relatif lebih murah Fokus yang luas sebagai referensi untuk mengambil keputusan, AI fokusnya sempit. 4. Konsisten dan teliti

5. Dapat didokumentasikan

6. Dapat mengerjakan beberapa task lebih cepat dan lebih baik dibanding manusia.

Meskipun banyak kelebihan, namun insting manusia dapat melakukan hal yang sulit diprogram oleh komputer, yaitu kemampuan mengenali hubungan, menilai kualitas dan menemukan pola suatu hubungan.

2.3.3 Ruang lingkup dan Elemen-elemen AI

Ruang lingkup dan elemen-elemen AI terdapat beberapa bagian diantaranya:

1. Sistem pakar

Komputer memiliki keahlian untuk menyelesaikan masalah dengan meniru keahlian yang dimiliki oleh pakar.


(28)

2. Natural language Processing

Diharapkan user dapat berkomunikasi dengan komputer menggunakan bahasa sehari-hari.

3. Speech recognition

Melalui pengenalan ucapan, diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara

4. Robotics & Sensory Systems

5. Computer Vision

Menginterpretasikan gambar atau objek-objek tampak melalui komputer. 6. Inteliigence Computer – aided instruction

Komputer digunakan sebagai tutor yang dapat melatih dan mengajar. 7. Game Playing

Sesuatu yg membuat kita betah bermain game itu. 2.3.4 Komputasi alami dan Komputasi buatan

Perbandingan antara AI dengan pemrograman konvensional dapat dilihat pada Tabel 2.3.

Tabel 2. 3 Perbandingan AI dan Pemrograman konvensional

Dimensi AI Pemrograman Konvensional

Processing Simbolik Algoritmik

Input Tidak harus lengkap Harus lengkap

Search Heuristik Algoritmik

Explanation Tersedia Tidak tersedia

Major Interest Pengetahuan Data dan informasi Struktur Terpisal antara kontrol dan

pengetahuan

Kontrol terintegrasi dengan data

Output Tidak harus lengkap Harus lengkap Maintenance dan

update

Mudah karena menggunakan modul

Umumnya sulit dilakukan

Hardware Workstation dan PC Semua tipe Kemampun

pemikiran

Terbatas tapi dapat ditingkatkan


(29)

2.3.5 Algoritma A*

Algoritma A* merupakan algoritma Best First Search yang menggabungkan Uniform Cost Search dan Greedy Best First Search. Biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan. Dengan perhitungan biaya seperti ini algoritma A* adalah complete dan optimal

[8].

Beberapa terminologi dasar yang terdapat pada algoritma ini adalah

starting point, current node, simpul, open list, closed list, harga (cost),

walkability, target point. Berikut adalah penjelasannya:

1. Starting point adalah sebuah terminologi untuk posisi awal sebuah benda. 2. Current node adalah node yang sedang dijalankan dalam algortima pencarian

jalan terpendek.

3. Node adalah petak-petak kecil sebagai representasi dari area pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.

4. Open list adalah adalah list yang menyimpan kemungkinan path yang akan diperiksa. Open list dibuat terurut berdasarkan nilai f. Open list digunakan untuk menentukan secara selektif (berdasarkan nilai f) jalan yang dikira lebih dekat menuju pada path tujuan. Open list berisi simpul-simpul yang masih memiliki peluang untuk terpilih sebagai simpul terbaik (best node).

5. Closed list adalah tempat untuk menyimpan simpul-simpul yang sudah pernah dibangkitkan dan sudah pernah terpilih sebagai simpul terbaik (best node) atau

list yang menyimpan jalan yang sudah diperiksa dari open list. Artinya,

Closed list berisi simpul-simpul yang tidak mungkin terpilih sebagai simpul terbaik (peluang untuk terpilih sudah tertutup). Kedua list (Open list dan

Closed list) ini bertujuan juga untuk menghindari penelusuran jalan (rute) berkali-kali yang memang sudah diidentifikasi agar tidak masuk kembali ke dalam Open list.

6. Nilai f adalah harga perkiraan suatu path yang teridentifikasi. Nilai f merupakan hasil dari f(n).

7. Nilai g hasil dari fungsi g(n), adalah banyaknya langkah yang diperlukan untuk menuju ke path sekarang.


(30)

8. Nilai h hasil dari fungsi h(n), adalah estimasi harga simpul yang dihitung dari simpul tujuan.

9. Target point yaitu node yang dituju.

Fungsi f sebagai estimasi fungsi evaluasi terhadap node n, dapat dituliskan:

f(n) = g(n) + h(n) …… (2.1) Keterangan :

f(n) = fungsi evaluasi ( jumlah g(n) dengan h(n) )

g(n) = biaya (cost) yang dikeluarkan dari keadaan awal sampai keadaan n h(n) = estimasi biaya untuk sampai pada suatu tujuan mulai dari n.

Adapun langkah-langkah algortima A* nya adalah sebagai berikut. 1. Dimulai dari starting point.

2. Tambahkan starting point ke dalam open list.

3. Carilah biaya F terendah pada setiap simpul dalam open list. Node dengan biaya F terendah inilah yang disebut dengan current node.

4. Masukkan ke dalam closed list.

5. Untuk setiap 8 simpul (neighbor node) yang berdekatan dengan current node: a. Jika tidak walkable atau jika termasuk closed list, maka abaikan.

b. Jika tidak ada pada open list, maka tambahkan ke open list.

c. Jika sudah ada pada open list, periksa apakah ini jalan dari simpul ini ke

current node yang lebih baik dengan menggunakan biaya G sebagai ukurannya. Simpul dengan biaya G yang lebih rendah berarti bahwa ini adalah jalan yang lebih baik. Jika demikian, buatlah simpul ini (neighbor node) sebagai came from dari current node, dan menghitung ulang nilai G dan F dari simpul ini.

6. Berhenti ketika anda menambahkan target point ke dalam closed list, dalam hal ini jalan telah ditemukan atau gagal untuk menemukan target point, dan


(31)

7. Simpan jalan, bekerja mundur dari target point, pergi dari masing-masing simpul ke simpul came from sampai mencapai starting point.

Flowchart dari Algoritma A* itu sendiri dapat dilihat pada Gambar 2.1.

Gambar 2. 1 Flowchart Algoritma A*[16] 2.4 Tools yang Digunakan

Berikut ini dijelaskan mengenai beberapa tool yang digunakan dalam pembangunan game Say No To Drugs.


(32)

2.4.1 Pemrograman Berorientasi Objek

Pemrograman berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode ini didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Pemrograman berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek[9].

Keuntungan menggunakan pemrograman berorientasi objek adalah sebagai berikut:

1. Meningkatkan produktivitas

Meningkatkan produktivitas karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).

2. Kecepatan pengembangan

Kecepatan pengembangan karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.

3. Kemudahan pemeliharaan

Kemudahan pemeliharaan karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah.

4. Adanya konsistensi

Adanya konsistensi karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.

5. Meningkatkan kualitas perangkat lunak

Meningkatkan kualitas perangkat lunak karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat


(33)

pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.

Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.

Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek:

a. Kelas (class)

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir atau diciptakan dan kelas tersebut.

b. Objek (object)

Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur, status, atau hal-hal lain yang bersifat abstrak.

c. Metode (method)

Metode atau operasi atau method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi structural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri.

d. Atribut (attribute)

Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.

e. Abstraksi (abstractions)

Prinsip untuk mempresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.


(34)

f. Enkapsulasi (encapsulations)

Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

g. Pewarisan (inheritance)

Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya.

h. Antarmuka (interface)

Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah

interface dapat diimplementasikan oleh kelas lain.

i. Reusabilily

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

j. Generalisasi atau Spesialisasi

Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus.

k. Komunikasi Antar Objek

Komunikasi antar-objek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek lainnya.

l. Polimorfisme (polymorphism)

Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

m. Package

Package adalah sebuah kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.


(35)

2.4.2 UML (Unified Modelling Language)

UML (Unified Modelling Language) adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya.

UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan system yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan[10].

2.4.2.1 Bagian-Bagian UML

Bagian-bagian utama dari UML adalah view, diagram, model element, dan

general mechanism. a. View

View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi sejumlah diagram.

Beberapa jenis view dalam UML antara lain: use case view, logical view,

component view, concurrency view, dan deployment view. b. Use case view

Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya.

View ini digambarkan dalam use case diagrams dan kadang-kadang dengan

activity diagrams. View ini digunakan terutama untuk pelanggan, perancang


(36)

c. Logical View

Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object, danrelationship) dan kolaborasi dinamis yang terjadi ketika objek mengirim pesan ke objek lain dalam suatu fungsi tertentu.

View ini digambarkan dalam class diagrams untuk struktur statis dan dalam

state, sequence, collaboration, dan activity diagram untuk model dinamisnya.

View ini digunakan untuk perancang (designer) dan pengembang (developer).

d. Component view

Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administratif lainnya.

View ini digambarkan dalam component view dan digunakan untuk pengembang (developer).

e. Concurrency view

Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi (component dan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester). f. Deployment view

Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya.

View ini digambarkan dalam deployment diagrams dan digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).

g. Diagram

Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu.


(37)

Adapun jenis diagram antara lain :

1. Use Case Diagram

Use case diagram adalah abstraksi dari interaksi antara sistem dan aktor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai.

Use case merupakan konstruksi untuk mendeskripsikan bagaimana sistem akan terlihat di mata user. Sedangkan use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.

2. Class Diagram

Class adalah dekripsi kelompok obyek-obyek dengan properti, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah sistem. Hal tersebut tercermin dari class-class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu sistem.

3. Component Diagram

Component software merupakan bagian fisik dari sebuah sistem, karena menetap di komputer tidak berada di benak para analis. Component merupakan implementasi software dari sebuah atau lebih class. Component dapat berupa

source code, component biner, atau executable component. Sebuah component

berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view. Sehingga component diagram merepresentasikan dunia riil yaitu component software yang mengandung component, interface dan relationship.

4. Deployment Diagram

Menggambarkan tata letak sebuah sistem secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian-bagian-bagian hardware, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executeable component dan objek yang


(38)

dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh

node tertentu dan ketergantungan komponen.

5. State Diagram

Menggambarkan semua state (kondisi) yang dimiliki oleh suatu objek dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa objek lain yang mengirim pesan. State class tidak digambarkan untuk semua

class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda.

6. Sequence Diagram

Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah

scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara objek juga interaksi antara objek, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.

7. Collaboration Diagram

Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan objek dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence diagrams, tapi jika penekanannya pada konteks gunakan

collaboration diagram.

8. Activity Diagram

Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi.

2.4.2.2 Tujuan Penggunaan UML

Adapun tujuan dari penggunaan UML (Unified Modelling Language) adalah:

1. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.


(39)

3. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.

UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).

2.4.2.3 Perangkat Lunak yang Mendukung Pembuatan Diagram UML Berikut ini adalah beberapa perangkat lunak yang mendukung pembuatan diagram UML.

1. StarUML

StarUML adalah sebuah proyek open source untuk mengembangkan cepat,

fleksibel, extensible, featureful, dan bebas-tersedia UML / platform MDA berjalan pada platform Win32. Tujuan dari proyek StarUML adalah untuk membangun sebuah alat pemodelan perangkat lunak dan juga platform yang menarik adalah pengganti alat UML komersial seperti Rational Rose, bersama dan sebagainya. 2. Acceleo

Acceleo adalah generator kode yang mengubah model menjadi kode. Acceleo

mudah digunakan dan menyediakan “dari rak” generator (Jee,. Bersih, Php …) dan template editor untuk Eclipse.

3. ArgoUML

ArgoUML adalah open source UML modeling tool terkemuka dan termasuk dukungan untuk semua diagram UML standar 1,4. Ini berjalan pada setiap platform Java dan tersedia dalam bahasa sepuluh. ArgoUML ditulis seluruhnya di Java dan menggunakan Java Kelas Foundation. Hal ini memungkinkan ArgoUML

untuk berjalan di hampir semua platform. 2.4.3 Pemrograman Java

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan


(40)

model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di internet sehingga dirancang agar aman dan portable[11].

Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana. Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa Java namun harus waspada karena mungkin Java mengambil arah (semantiks) yang berbeda dibanding C++.

Seluruh objek diprogram harus dideklarasikan lebih dulu sebelum digunakan. Ini merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini memungkinkan kompilator Java menentukan dan melaporkan terjadinya pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variabel bertipe integer dengan variabel bertipe string).

Pencegahan sedini mungkin diharapkan menghasilkan program yang bersih. Kebaikan lain fitur ini adalah kode program lebih dapat dioptimasi untuk menghasilkan program berkinerja tinggi.

Java menggunakan model pengamanan tiga lapis (three-layer security model) untuk melindungi sistem dari untrusted Java code. Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java. Kedua, class loader menangani pemuatan kelas Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem window.

Platform independence adalah kemampuan program bekerja di sistem operasi yang berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak


(41)

bergantung platform. Tipe variabel Java mempunyai ukuran sama di semua

platform sehingga variabel bertipe integer berukuran sama tidak peduli dimana program java dikompilasi. Begitu telah tercipta file class dengan menggunakan kompilator Java di platform manapun, maka file class tersebut dapat dijalankan di

platformmanapun. Jadi “dimanapun dibuat, dimanapun dapat dijalankan”. Slogan

ini biasa diringkas sebagai Write Once, Run Anywhere (WORA).

Java termasuk bahasa Multithreading. Thread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kelas untuk menulis program multithreaded, program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa tugas secara konkuren.

Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkan alokasi dinamis.

Java mempunyai mekanisme exception-handling yang ampuh. Exception-handling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar. Ketika kesalahan yang serius ditemukan, program Java menciptakan exception. Exception dapat ditangkap dan dikelola program tanpa resiko membuat sistem menjadi turun. Program Java mendukung native method yaitu fungsi ditulis di bahasa lain, biasanya C/C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang dapat dieksekusi lebih cepat dibanding fungsi ekivalen di java. Native method secara dinamis akan di-link ke program java, yaitu diasosiasikan dengan program saat berjalan[10].

2.4.4 Adobe Flash Professional

Adobe Flash Professional merupakan sebuah software yang didesain khusus oleh Adobe dan program aplikasi standar authoring tool professional yang


(42)

digunakan untuk membuat animasi dan bitmap yang sangat menarik untuk keperluan pembangunan situs web yang interaktif dan dinamis.

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

Adapun fitur-fitur dari Adobe Flash sebagai berikut : 1. Support untuk HTML 5.

Terdapat ekstensi baru, dapat membuat konten interaktif HTML 5 dengan pembuatan animasi maupun gambar inti di Flash. Dapat di exsport sebagai Java Script sebagai sumber kerangka Create JS open source.

2. Stage 3D targeting

Turbocharge rendering dengan menggunakan direct mode dengan open source Starling Framework untuk terhubung dengan konten hardware-accelerated 2D.

3. Advanced drawing tools

Hasil Design artwork nya lebih tepat dan efisien, dengan smart shapes beserta

design tool yang kuat.

4. Industry-leading animation tools

Create and edit motion menggunakan Timeline and Motion Editor, dan menggunakan inverse kinematics untuk membuat motioan yang natural/alami pada animasi karakternya.

5. Professional video tools Easily incorporate

Video terproyeksi, klip video dapat secara efisien terkonversi dengan adanya aplikasi Adobe Media Encoder.


(43)

Penyatuan proyek lebih mudah dengan implementasi XML berbasis format file FLA. Proyek terkompresi bertindak seperti folder, yang memungkinkan Anda untuk cepat mengelola dan memodifikasi aset.

7. Creative Suite integration Perform roundtrip

Memungkinkan suntingan gambar bitmap dengan Adobe Photoshop ® CS6 software, dan mengintegrasikan erat dengan Adobe Flash Builder ® 4.6 software. 8. 3D transformation Animate 2D objects

3D space dengan rotation tools 3D yang menarik, yang memungkinkan untuk menganimasi seepanjang sumbu x, y, dan z menggunakan apply local atau global transformation ke objek.

9. Spring attribute for the Bone tool Add

Ekspresi seperti animasi real/hidup, dengan adanya attributes untuk bone tool.

Inverse kinematics engine yang kuat dapat memberikan gerakan real. 10.Adobe AIR mobile simulation Simulate

Common mobile application berinteraksi seperti orientasi layar, adaya gerakan sentuh, dan accelerometer untuk membantu mempercepat pengujian[13].

2.4.5 Multimedia

Multimedia adalah penggunaan komputer untuk menyajikan dan menggabungkan teks, suara, gambar, animasi dan video dengan alat bantu (tool) dan koneksi (link) sehingga pengguna dapat bernavigasi, berinteraksi, berkarya dan berkomunikasi. Multimedia sering digunakan dalam dunia hiburan. Selain dari dunia hiburan, multimedia juga diadopsi oleh dunia game.

Multimedia juga dapat diartikan sebagai penggunaan beberapa media yang berbeda dalam menyampaikan informasi berbentuk text, audio, grafik, animasi, dan video[14].

2.4.5.1 Kategori Multimedia

Multimedia dapat di definisikan menjadi 2 kategori, yaitu Multimedia Content Production dan Multimedia Communication. Multimedia Content Production adalah penggunaan beberapa media (teks, audio, graphics, animation, video dan interactivity) yang berbeda dalam menyampaikan suatu informasi atau


(44)

menghasilkan produk multimedia seperti video, audio, musik, film, game,

entertaintment, dll.

Bisa juga dikatakan sebagai penggunaan beberapa teknologi yang berbeda yang memungkinkan untuk menggabungkan media (teks, audio, graphics, animation, video, dan interactivity dengan cara yang baru untuk tujuan komunikasi. Dalam kategori ini media yang digunakan adalah:

1. Media teks/tulisan 2. Media audio/suara 3. Media video 4. Media animasi 5. Media gambar 6. Media Interaktif 7. Media spesial effect

Multimedia Communication adalah penggunaan media (massa), seperti televisi, radio, media cetak dan internet untuk mempublikasikan / menyiarkan / mengkomunikasikan material periklanan, publikasi, entertaintment, berita, pendidikan, dll. Dalam kategori ini media yang digunakan adalah :

1. TV 2. Radio 3. Film

4. Media Cetak 5. Musik 6. Game

7. Entertainment 8. Tutorial 9. Internet

2.4.5.2 Elemen Multimedia

Menurut Hofstetter komponen multimedia terbagi atas lima jenis yaitu: 1. Teks


(45)

Teks merupakan elemen multimedia yang menjadi dasar untuk menyampaikan informasi, karena teks adalah jenis data yang paling sederhana dan membutuhkan tempat penyimpanan yang paling kecil. Teks merupakan cara yang paling efektif dalam mengemukakan ide-ide kepada pengguna, sehingga penyampaian informasi akan lebih mudah dimengerti oleh masyarakat. Jenis-jenis teks seperti Printed Text, yaitu teks yang dihasilkan oleh word processor atau word editor dengan cara diketik yang nantinya dapat dicetak. Scanned Text yaitu teks yang dihasilkan melalui proses scanning tanpa pengetikan, dan Hypertext yaitu jenis teks yang memberikan link ke suatu tempat / meloncat ke topik tertentu.

2. Grafik (image)

Sangat bermanfaat untuk mengilustrasi informasi yang akan disampaikan terutama informasi yang tidak dapat dijelaskan dengan kata-kata. Jenis-jenis grafik seperti bitmap yaitu gambar yang disimpan dalam bentuk kumpulan pixel, yang berkaitan dengan titik-titik pada layar monitor. Digitized picture adalah gambar hasil rekaman video atau kamera yang dipindahkan ke komputer dan diubah ke dalam bentuk bitmaps. Hyperpictures, sama seperti hypertext hanya saja dalam bentuk gambar.

3. Audio

Multimedia tidak akan lengkap jika tanpa audio (suara). Audio bisa berupa percakapan, musik atau efek suara.

Format dasar audio terdiri dari beberapa jenis :

a. WAVE

Merupakan format file digital audio yang disimpan dalam bentuk digital dengan eksistensi WAV.

b. MIDI (Musical Instrument Digital Interface)

MIDI memberikan cara yang lebih efisien dalam merekam music dibandingkan wave, kapasitas data yang dihasilkan juga jauh lebih kecil. MIDI

disimpan dalam bentuk MID. 4. Video

Video menyediakan sumber yang kaya dan hidup untuk aplikasi multimedia. Dengan video dapat menerangkan hal-hal yang sulit digambarkan lewat kata-kata


(46)

atau gambar diam dan dapat menggambarkan emosi dan psikologi manusia secara lebih jelas.

5. Animasi

Animasi adalah simulasi gerakan yang dihasilkan dengan menayangkan rentetan frame ke layer. Frame adalah satu gambar tunggal pada rentetan gambar yang membentuk animasi.

Menurut Foley, Van Dam, Feiner dan Hughes (1997, p1057) Animate adalah untuk membuat sesuatu hidup, sebagian orang mengira bahwa animasi itu sama dengan motion (gerakan), tetapi animasi mencakup semua yang mengandung efek visual sehingga animasi mencakup perubahan posisi terhadap waktu, bentuk, warna, struktur, tekstur dari sebuah objek, posisi kamera, pencahayaan, orientasi dan fokus dan perubahan dalam teknik rendering.

2.4.6 Android

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai macam piranti. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat piranti lunak untuk ponsel. Kemudian untuk mengembangkan android dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, piranti lunak dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android. Seiring perkembangannya, versi android semakin lama semakin ditingkatkan mengingat kemajuan teknologi yang semakin pesat[15].


(47)

35

Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.

3.2 Analisis Masalah

Berdasarkan analisis masalah yang ada pada latar belakang sebelumnya terdapat beberapa permasalahan yang telah di analisis yaitu permasalahan penyalahgunaan narkoba dikalangan remaja usia 15-24 tahun. Data dari Bareskrim Polri & Badan Narkotika Nasional 2013 menyebutkan tersangka narkoba berdasarkan jenjang pendidikan, setingkat SMU menduduki peringkat paling tinggi yaitu 60,13 persen. Dengan teknologi mobile yang berkembang dikalangan remaja saat ini yang bertujuan untuk mempermudah dalam proses penyampaian informasi, maka dari itu dibangunlah game Say No To Drugs

berbasis android sebagai media pengenalan tentang bahaya narkoba terutama untuk kalangan remaja.

3.2.1 Analisis Game Sejenis

Pada analisis game sejenis ini akan menjelaskan proses identifikasi mengenai game sejenis dan game yang akan dibangun. Game sejenis yang menjadi acuan yaitu game adventure.

Game dengan tipe adventure banyak dimainkan oleh orang-orang karena

game adventure memberikan tantangan dan menarik untuk dimainkan. Banyak sekali game yang menggunakan tipe adventure, beberapa contoh diantaranya

adalah “Muffin Knight”.

3.2.1.1 Pengenalan Game Muffin Knight

Game ini merupakan salah satu game action yang menarik. Setiap sesi sangat pendek, jadi setiap level mampu dilewati dengan cepat. Game ini juga


(48)

didesain dengan cross platform sehingga bisa dimainkan dengan sesama pengguna Android, maupun dengan iOS dan pengguna web browser Chrome. Tampilan game muffin knight dapat dilihat pada Gambar 3.1 dan Gambar 3.2

Gambar 3. 1 Tampilan Menu Utama Muffin Knight

Gambar 3. 2 Tampilan Level Muffin Knight 3.2.1.2 Gameplay Muffin Knight

Player berperan sebagai karakter Muffin knight dengan menggunakan tombol-tombol yang telah digunakan yaitu tombol gerakan kiri dan kanan, lompat dan aksi, Muffin Knight bertugas untuk mengumpulkan muffin-muffin yang bertebaran disetiap level-nya. Dalam mengumpulkan muffin-muffin tersebut karakter dihalangi oleh musuh yang dapat membunuh karakter jika menyentuh karakter, selain itu setelah mengambil muffin karakter akan berubah menjadi bentuk lain yang mempunyai kemampuan yang berbeda-beda, ini menuntut player


(49)

untuk mencari jalan alternatif untuk mencapai muffin-muffin tersebut. Untuk melanjutkan ke level selanjutnya player harus mendapatkan sejumlah muffin yang telah ditentukan, selain itu muffin juga digunakan untuk menaikkan level karakter-karakter dalam Muffin Knight, guna dari menaikkan level karakter tersebut adalah untuk mendapatkan keahlian-keahlian khusus dari karakter sehingga memudahkan player dalam mengatasi permasalahan dalam game.

3.2.1.3 Kelebihan dan Kekurangan Game Muffin Knight

Adapaun kelebihan dan kekurangan game muffin knight adalah sebagai berikut :

a. Kelebihan Game Muffin Knight

1. Adanya fitur unlockables, yaitu fitur ini hanya dapat dibuka tahap per-tahap seiring perjalanan pada saat bermain .

2. Karakter yang bisa berubah-ubah setelah mengambil muffin. b. Kekurangan Game Muffin Knight

1. Di setiap level pada game muffin knight cepat diselesaikan karena hanya mengambil muffin dan di setiap level hanya terdapat 1 atau 2 muffin saja. 2. Game muffin knight di setiap level memiliki kriteria yang sama yaitu

mengumpulkan muffin.

Tabel 3.1 menunjukkan perbandingan antara game Muffin Knight dengan

game yang akan dibangun.

Tabel 3. 1 Perbandingan dengan game yang akan dibangun

Komponen Game Muffin Knight Game yang akan dibangun

Genre Adventure Adventure

Grafis 2 Dimensi 2 Dimensi

Jumlah pemain Single player dan Multi player

Single player

Aksi Karakter Kanan, kiri, melompat, aksi, tembak

Kanan, kiri, melompat, aksi, tending


(50)

Level Terdiri dari banyak level 3 Level

Gameplay Mengumpulkan muffin Menyelamatkan penderita narkoba dan menangkap pengedarnya.

3.2.2 Analisis Game yang Akan Dibangun

Game yang akan dibangun adalah jenis game yang bergenre adventure dan bersifat single player, dengan karakter utama “ANO”, disetiap level atau stage akan melawan sekumpulan musuh-musuh yang berupa monster yang berupa narkoba untuk dimusnahkan. Di setiap perjalanan petualangan dari masing-masing

level atau stage dan diakhir dari masing-masing level atau stage akan di tampilkan pesan berupa bahaya dan dampak negatif dari narkoba. Pemain diharuskan untuk mengambil herbal atau obat untuk diberikan kepada penderita/pecandu narkoba, serta menangkap pengedar dan memusnahkan pengedar besar yaitu raja Narkoba di stage akhir permainan. Di setiap level akan di berikan hati untuk menambah darah karakter utama. Jika misi berhasil, itu artinya ANO berhasil membebaskan orang-orang dari jeratan Narkoba dan akan menampilkan pesan “Say no To

Drugs”.

Game ini memiliki beberapa fitur diantaranya: 1. Bergrafis 2D dan bersifat offline.

2. Sistem single player. 3. Karakter utama “ANO”.

4. Memiliki 3 level dengan tingkat kesulitan dan musuh yang berbeda disetiap levelnya.

5. Mengangkat tema tentang bahaya Narkoba.

6. Control karakter / sistem kendali menggunakan touchscreen.

3.2.2.1 Story Line

Game ini menceritakan seorang anak muda yang bernama “ANO” dalam

menyelamatkan penderita narkoba dan menangkap pengedar serta bos besar narkoba. Tujuan dan misi dari game ini adalah menyelamatkan pecandu narkoba


(51)

dan menangkap pengedar narkoba sebagai bentuk simbol bebas dari jeratan

“Narkoba” dan akan menampilkan pesan “Say No To Drugs”.

3.2.2.2 Gameplay

Berikut ini adalah beberapa bagian game play dari gamesay no to drugs : 1. Level 1

Sebelum memulai level 1, akan ada sedikit intro mengenai apa itu narkoba, serta dampaknya bagi kehidupan generasi muda. Pada level 1, karakter utama ditugaskan untuk menyelamatkan orang yang terkena narkoba dengan cara mengambil atau mencari herbal/obat terlebih dahulu untuk diberikan kepada penderita / pecandu narkoba. Musuh yang harus dilawan pada level 1 ini adalah musuh daun ganja. Karakter utama tidak memiliki senjata khusus untuk melawan musuh, karakter utama menggunakan tendangan untuk mengalahkan musuh-musuh tersebut. Setelah menang maka karakter utama akan melanjutkan misi ke

level selanjutnya dengan tujuan menangkap pengedar narkoba. 2. Level 2

Petualangan dilanjutkan ke level 2 dengan misi yaitu menangkap beberapa orang pengedar narkoba yang sudah meracuni generasi muda saat ini. Musuh yang meghadang di level 2 ini berbeda dengan level 1, jika level 1 musuh nya berupa daun ganja, maka di level 2 ini musuh yang dihadapi adalah virus HIV yang merupakan salah satu penyakit yang ditimbulkan akibat jarum suntik yang disalahgunakan oleh para pengguna narkoba. Ada beberapa orang pengedar yang harus ditangkap di level 2 ini, jika semua sudah tertangkap itu berarti misi di level

2 ini berhasil dan karakter utama akan melanjutkan ke level 3. 3. Level 3

Level 3 merupakan gabungan dari level 1 dan 2, pada level 3 ini karakter utama ditugaskan untuk menyelamatkan penderita / pecandu serta menangkap beberapa pengedar narkoba. Dalam area ini terdapat lagi seorang musuh yang berupa monster jarum suntik dan yang terakhir Raja Narkoba. Raja pengedar narkoba akan dilawan saat misi menyelamatkan pecandu dan menangkap


(52)

pengedar narkoba sudah dilakukan. Dengan menerapkan algoritma A* (star), raja pengedar narkoba itu akan terus mengikuti atau mendekati karakter utama. Di akhir level akan ditampilkan pesan tentang jenis-jenis narkoba yang harus dihindari dan pesan “Say No To Drugs”.

Dalam setiap level atau stage terdapat hati yang harus diambil untuk menambah darah, jika darah karakter utama sudah berkurang. Hal ini agar

membantu pemain dalam bermain serta membantu karakter utama “ANO” dalam

menyelesaikan misi-misi nya. 3.2.2.3 Scoring

Pada bagian ini akan dijelaskan bagaimana pemberian skor yang ada pada

game. Berikut cara memperoleh nilai atau score pada game “Say No To Drugs”

yaitu :

1. Jika berhasil mengalahkan musuh, maka memperoleh score 10. 2. Jika berhasil menyelesaikan level 1 akan mendapatkan score 70. 3. Jika berhasil menyelesaikan level 2 akan mendapatkan score 160. 4. Jika berhasil menyelesaikan level 3 akan mendapatkan score 240.. 5. Jika berhasil mengalahkan raja akan mendapatkan score 500. 6. Skor tertinggi dari level 1 sampai dengan melawan raja adalah 740. 3.2.3 Analisis Algoritma

Dalam game ini akan digunakan algoritma A* pada NPC (Non Playable Character) musuh sebagai penentuan jalur terpendek atau pathfinding menuju target yaitu player. Untuk lebih jelasnya pada Gambar 3.3 diberikan posisi awal dimana objek musuh di posisi (1,1) dan player ada di posisi (4,4).


(53)

Gambar 3. 3 Posisi Awal Algoritma A*

Pada Gambar 3.3 pencarian wilayah dibagi ke dalam node-node yang terdiri dari node berwarna merah merupakan node awal, node berwarna hijau merupakan node akhir dan yang berwarna biru merupakan penghalang (unwalkable node). Dengan menggunakan fungsi heuristic Non-Manhattan Distance, dengan fungsi heuristic yang digunakan adalah sebagai berikut:

h_diagonal(n) = min(abs(n.x-goal.x) + abs(n.y-goal.y)) h_orthogonal(n)= (abs(n.x-goal.x) + abs(n.y-goal.y))

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n))). Langkah perhitungannya adalah sebagai berikut:

Koordinat n(0,0) Nilai n.x = 0 Nilai n.y = 0

Simpul tujuan(4,4) sehingga goal.x = 4, goal.y = 4 g (0,0) = 1,4


(54)

h_orthogonal(0,0) = (abs(0 - 4) + abs(0 - 4)) = (abs(-4) + abs(-4))

= 8

h_diagonal(n) = -(abs(n.x-goal.x) + abs(n.y-goal.y)) h_diagonal(0,0) = -(abs(0 - 4)+abs(0 - 4)) = -(abs(-4)+abs(-4))

= -8

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n))) h(0,0) = (-8) + (8-(2*(-8)))

= (-8) + 24 = 16

f (0,0) = g (n) + h (n) = 1,4 + 16

= 17,4

Hasil perhitungan dari langkah pertama dapat dilihat pada Gambar 3.4 merupakan penjelasan langkah pertama pencarian jalur dari algoritma A*.


(55)

Gambar 3. 4 Penjelasan A* Pada Langkah Pertama

Langkah pertama menghasilkan node-node di dalam open list dan closed list yang dapat dilihat pada Tabel. 3.2.

Tabel 3. 2 Perhitungan Langkah Pertama

Open list (2,0), (2,1),(2,2)

Closed list (1,1)

Parent (1,1)

Current node (2,2)

Hasil perhitungan dari langkah kedua dapat dilihat pada Gambar 3.5 merupakan penjelasan langkah kedua pencarian jalur dari algoritma A*.


(56)

Langkah kedua menghasilkan node-node di dalam open list dan closed list

yang dapat dilihat pada Tabel. 3.3

Tabel 3. 3 Perhitungan Langkah Kedua Open list (2,1),(3,1),(3,2)

Closed list (2,2),(2,3),(3,3)

Parent (2,2)

Current node (3,2)

Hasil perhitungan dari langkah ketiga dapat dilihat pada Gambar 3.6 merupakan penjelasan langkah ketiga pencarian jalur dari algoritma A*.

Gambar 3. 6 Penjelasan A* Pada Langkah Ketiga

Langkah ketiga menghasilkan node-node di dalam open list dan closed list

yang dapat dilihat pada Tabel. 3.4

Tabel 3. 4 Perhitungan Langkah Ketiga Open list (3,1),(4,1),(4,2)

Closed list (3,3),(4,3)

Parent (3,2)


(1)

1 0% - 19% Sangat Tidak Setuju Sangat Setuju

2 20% - 39% Tidak Setuju Setuju

3 40% - 59% Cukup Setuju Cukup Setuju

4 60% - 79% Setuju Tidak Setuju

5 80% - 100% Sangat Setuju Sangat Tidak Setuju

Berikut ini adalah hasil presentase masing-masing jawaban yang sudah dihitung nilainya dengan menggunakan rumus diatas.

1. Apakah game Say No To Drugs sudah membantu anda dalam mengetahui tentang bahaya narkoba ?

Tabel 4. 6 Perhitungan persentase pertanyaan ke-1

Pertanyaan Keterangan Skor Frekuensi S

1

Sangat Setuju 5 6 30

Setuju 4 24 96

Cukup Setuju 3 0 0

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

Jumlah 30 126

�= × % = %

Berdasarkan hasil persentase diatas, maka dapat disimpulkan bahwa penilaian terhadap bahaya narkoba yang dimasukan kedalam game ini adalah 84% dari yang diharapkan 100%, atau dapat dikategorikan sebagai sangat setuju. Berikut kriteria interpretasi skor yang dapat dilihat pada Gambar 4.13.


(2)

0 % 20% 40% 60% 80% 100% 84%

Gambar 4. 13 Interpretasi skor pertanyaan ke-1

2. Apakah setelah memainkan game Say No To Drugs anda menjadi tahu bahwa narkoba itu harus dihindari ?

Tabel 4. 7 Perhitungan persentase pertanyaan ke-2

Pertanyaan Keterangan Skor Frekuensi S

2

Sangat Setuju 5 5 25

Setuju 4 17 68

Cukup Setuju 3 8 24

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

Jumlah 30 117

�= × % = %

Berdasarkan hasil persentase diatas, maka dapat disimpulkan bahwa penilaian terhadap narkoba itu harus dihindari setelah memainkan game ini adalah 78% dari yang diharapkan 100%, atau dapat dikategorikan sebagai setuju. Berikut kriteria interpretasi skor yang dapat dilihat pada Gambar 4.14.

0 % 20% 40% 60% 80% 100%

78%


(3)

Pertanyaan Keterangan Skor Frekuensi S

3 Sangat Setuju 1 0 0

Setuju 2 3 6

Cukup Setuju 3 10 30

Tidak Setuju 4 17 68

Sangat Tidak Setuju 5 0 0

Jumlah 30 104

�= × % = , %

Berdasarkan hasil persentase diatas, maka dapat disimpulkan bahwa penilaian terhadap kesulitan dalam memainkan game ini adalah 69,3% dari yang diharapkan 100%, atau dapat dikategorikan sebagai tidak setuju. Berikut kriteria interpretasi skor yang dapat dilihat pada Gambar 4.15.

0 % 20% 40% 60% 80% 100%

69,3%

Gambar 4. 15 Interpretasi skor pertanyaan ke-3

4. Apakah permainan pada game Say No To Drugs ini menyenangkan?

Tabel 4. 9 Perhitungan persentase pertanyaan ke-4

Pertanyaan Keterangan Skor Frekuensi S

4

Sangat Setuju 5 0 0


(4)

Cukup Setuju 3 16 48

Tidak Setuju 2 7 14

Sangat Tidak Setuju 1 0 0

Jumlah 30 90

�= × % = %

Berdasarkan hasil persentase diatas, maka dapat disimpulkan bahwa penilaian terhadap kesenangan dalam memainkan game ini adalah 60% dari yang diharapkan 100%, atau dapat dikategorikan sebagai cukup setuju. Berikut kriteria interpretasi skor yang dapat dilihat pada Gambar 4.16.

0 % 20% 40% 60% 80% 100%

60%

Gambar 4. 16 Interpretasi skor pertanyaan ke-4

5. Apakah game Say No To Drugs ini membuat anda tertarik untuk memainkannya kembali ?

Tabel 4. 10 Perhitungan persentase pertanyaan ke-5

Pertanyaan Keterangan Skor Frekuensi S

5

Sangat Setuju 5 0 0

Setuju 4 9 36

Cukup Setuju 3 14 42

Tidak Setuju 2 7 14

Sangat Tidak Setuju 1 0 0


(5)

�= × % = , %

Berdasarkan hasil persentase diatas, maka dapat disimpulkan bahwa penilaian ketertarikan user terhadap game ini adalah 61,3% dari yang diharapkan 100%, atau dapat dikategorikan sebagai setuju. Berikut kriteria interpretasi skor yang dapat dilihat pada gambar 4.17.

0 % 20% 40% 60% 80% 100%

61,3%

Gambar 4. 17 Interpretasi skor pertanyaan ke-5

4.5.2.2 Kesimpulan Pengujian Beta

Dari hasil pengujian yang dilakukan, dengan cara menyebarkan kuisioner dapat disimpulkan bahwa penerapan sistem yang telah dibangun yaitu aplikasi game Say No To Drugs sesuai dengan tujuan yang ingin dicapai yaitu menyampaikan informasi tentang bahaya narkoba.


(6)

107

Berdasarkan hasil implementasi dan pengujian game Say No To Drugs, dapat diambil kesimpulan bahwa game Say No To Drugs ini dapat membantu untuk menyampaikan informasi mengenai bahaya narkoba dikalangan remaja dan fungsionalitas yang ada pada game Say No To Drugs ini dapat berjalan dengan baik.

5.2 Saran

Adapun saran untuk pengembangan game Say No To Drugs ini yaitu: 1. Menambahan lebih banyak lagi jenis – jenis yang tegolong dalam Narkoba,

Psikotropika dan Zat Adiktif yang lain di dalam game beserta bahanya bagi kesehatan.