• Tidak ada hasil yang ditemukan

Pembangunan aplikasi game permainan tradisional galah

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan aplikasi game permainan tradisional galah"

Copied!
129
0
0

Teks penuh

(1)

▸ Baca selengkapnya: tentukan struktur teks tanggapan permainan tradisional salah satu sarana melatih anak bersosialisasi

(2)
(3)
(4)

Tempat Tanggal Lahir : Bandung, 21 Agustus 1991

Jenis Kelamin : Laki-Laki

Agama : Islam

Alamat Asli : Kp. Bojong, RT 01, RW 11

Desa. Gajah Mekar, Kec. Kutawaringin, Kab. Bandung 40911

No. Telp/HP : 085722015195

E-Mail : rsyafari@gmail.com

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : SDN 1 BL Limbangan Tahun Ajaran 1997-1999 SDN Gajah Karamat

Tahun Ajaran 1999-2003

2. Sekolah Menengan Pertama : SMPN 2 Soreang

Tahun Ajaran 2003-2006 3. Sekolah Menengah Atas : SMA Angkasa Lanud Sulaiman

Tahun Ajaran 2006-2009

4. Perguruan Tinggi : FTIK Universitas Komputer Indonesia Bandung

Tahun Ajaran 2009-2014

Demikian Riwayat Hidup ini Saya Buat Dengan Sebenar-benarnya dalam keadaan Sadar dan tanpa paksaan.

Bandung 25 Februari 2014

(5)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RIZKI SYAFARI

10109612

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(6)

iii

KATA PENGANTAR

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

dengan judul “PEMBANGUNAN APLIKASI GAME PERMAINAN

TRADISIONAL GALAH” sebagai salah satu syarat kelulusan pada Program Strata 1 Jurusan Teknik Informatika Fakultas Ilmu dan Teknik Komputer di Universitas Komputer Indonesia.

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

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

2. Ibu Millah dan Bapak Said sebagai orangtua serta keluarga yang telah memberikan dukungan baik secara moril maupun materil dan doa yang tiada hentinya sehingga penulis bisa bertahan dan berpijak hingga saat ini.

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

4. Bapak Iskandar Ikbal, S.T., M.Kom. selaku reviewer yang telah banyak memberikan masukan dan arahan.

5. Ibu Nelly Indriani W, S.Si., M.T. selaku penguji sidang yang telah banyak memberikan masukan dan arahan.

(7)

iv

7. Arie Sohibul Wafa, Tiefany Meyriza, Lesikah, Erdy, Agung dan Aldy yang selalu memberikan dukungan.

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

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

Bandung, Februari 2014 Penulis

(8)

i

BAB 2 LANDASAN TEORI ... 7

2.1 Galah ... 7

2.1.1 Cara Bermain Galah ... 7

2.1.2 Manfaat Bermain Galah ... 9

2.2 Permainan ... 9

2.2.1 Permainan Tradisional ... 10

2.2.2 Pengertian Game ... 10

2.2.3 Klasifikasi Game ... 11

2.2.4 Komponen Game ... 16

(9)

ii

2.6.1 HTML5 ... 32

2.6.2 Construct 2 ... 32

2.6.3 Adobe Photoshop ... 33

2.7 Pengujian Perangkat Lunak ... 34

2.7.1 Pengujian White Box ... 34

2.7.2 Pengujian Black Box ... 36

2.7.3 Pengujian Alpha dan Beta ... 37

2.7.4 Skala Likert ... 38

BAB 3 ANALISIS DAN PERANCANGAN ... 41

3.1 Analisis Sistem... 41

3.1.1 Analisis Masalah ... 41

3.1.2 Analisis Game Sejenis ... 42

3.1.3 Analisis Game Yang Akan Dibangun ... 43

3.1.4 Analisis Algoritma Greedy ... 45

3.1.5 Analisis Kebutuhan Non-Fungsional ... 52

3.1.6 Analisis Kebutuhan Fungsional ... 54

3.2 Perancangan Sistem ... 73

3.2.1 Perancangan Komponen Permainan ... 74

3.2.2 Perancangan Struktur Menu ... 76

3.2.3 Perancangan Antarmuka ... 77

3.2.4 Jaringan Semantik ... 84

3.2.5 Perancangan Method ... 85

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 91

4.1 Implementasi Sistem ... 91

(10)

iii

4.2.2 Pengujian Beta ... 109

BAB 5 KESIMPULAN DAN SARAN... 117

5.1 Kesimpulan ... 117

5.2 Saran ... 117

(11)

118

DAFTAR PUSTAKA

[1] Murwarni, Estri (2012). Permainan Tradisional: Galah Asin [Online]. Tersedia:

http://estrimurwani.blogspot.com/2012/06/permainan-tradisional-galah-asin.html. [5 Oktober 2013].

[2] Sutarto, Ayu (2009). Makalah Makna dan Fungsi Permainan Gasing [Online]. Tersedia: http://www.republika.co.id/berita/shortlink/56575. [5 Oktober 2013]. [3] Sugiyono (2010). Metode Penelitian Kuantitatif Kualitatif dan R&D. Alfabeta.

Bandung.

[4] Sommerville, Ian. (2011), Software Engineering. 9th. Addison Wesley.

[5] Fitri, Dian (2013). Permainan Tradisional “Gobak Sodor” dengan Unsur Penjas [Online]. Tersedia:

http://dianfeunp.blogspot.com/2012/04/permainan-tradisional-gobak-sador.html. [5 Oktober 2013].

[6] Mahendra, Agus. Permainan Tradisional 1 [Online]. Tersedia:

http://file.upi.edu/Direktori/FPOK/JUR._PEND._OLAHRAGA/196308241989

031-AGUS_MAHENDRA/Modul_Permainan_Anak-Aktivitas_Ritmik-5_Agus_Mahendra/Modul_4_Permainan_Tradisional_1.pdf. [5 Oktober 2013]. [7] Nilwan (1996). Pemrograman Animasi dan Game Profesional. Elek Media

Komputindo. Jakarta.

[8] Maxwell Chandler, H., Chandler, R (2011). Fundamentals of Game Development. LLC: Jones & Barlett Learning.

[9] Adams, E (2010). Fundamentals of Game Design (2nd edition). New Rider: Berkeley.

[10] Sutojo, T; Edy Mulyanto dan Vincent Suhartono (2011). Kecerdasan Buatan. Penerbit Andi. Yogyakarta.

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

(12)

119

[13] Hermawan, Benny (2004). Menguasai Java & Object Oriented Programming. Penerbit Andi. Yogyakarta.

[14] Flowler, M (2004). UML Distiled Edisi Ketiga Panduan Singkat Tentang Bahasa Permodelan Objek Standar. Penerbit ANDI. Yogyakarta.

[15] Permana, Budi (2009). Seri Penuntun Praktis Adobe Photoshop CS 4. Elex Media. Jakarta.

[16] LLC Books (2011). Video Game Organizations: Entertainment Software Rating Board, Twin Galaxies, Electronic Sports World Cup, Cyberathlete Professional

League. Memphis: General Books.

[17] Kadir, Abdul (2013). From Zero to a Pro HTML 5. Penerbit Andi. Yogyakarta. [18] Gullen, Ashley dan Thomas Gullen (2011). Construct 2 [Online]. Tersedia:

(13)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Galah merupakan permainan tradisional dari Indonesia. Pada tahun 1980 sampai tahun 1990-an permainan ini adalah salah satu permainan tradisional yang populer bagi anak-anak. Berkenaan dengan permainan galah, permainan ini mempunyai nama yang berbeda-beda disetiap daerah. Di Riau Daratan permainan ini dikenal dengan nama Galah Panjang atau di Jawa Tengah anak-anak di sana menyebutnya Gobak Sodor sedangkan di Jawa Barat permainan ini dikenal dengan sebutan Galah Asin [1]. Walaupun mempunyai nama yang berbeda di setiap daerah akan tetapi peraturan dan cara bermain permainan galah ini tidaklah jauh berbeda. Dimana permainan bisa dimulai apabila ada 2 regu atau kelompok yang terdiri dari 3 orang atau lebih.

Akan tetapi seiring dengan perkembangan zaman, permainan tradisional mulai ditinggalkan oleh anak-anak. Menurut Prof. Dr. Ayu Sutarto, bahwa permainan tradisional telah kehilangan makna, baik makna filosofi maupun sosialnya yang telah semakin terpinggirkan. Selain itu permainan tradisional tidak lagi memiliki pewaris aktif yang memiliki komitmen kuat untuk melestarikannya [2].

Hal ini diakibatkan selain karena maraknya game-game modern dari luar yang hanya untuk hiburan semata dan bisa dimainkan di console atau di PC (Personal Computer), juga karena kurangnya pengenalan mengenai permainan tradisional. Padahal permainan tradisional dianggap sebagai aset budaya bangsa, sebagai modal bagi suatu bangsa untuk mempertahankan keberadaan dan identitasnya.

(14)

Perkembangan teknologi yang berkembang saat ini seharusnya bisa dimanfaatkan dengan baik. Karena dengan memanfaatkan teknologi bisa membantu untuk melestarikan permainan tradisional. Salah satu teknologi yang terus berkembang dan dianggap bisa memperkenalkan permainan tradisional dengan cara yang menyenangkan adalah dengan melibatkan game. Game merupakan salah satu media yang disukai karena selain sifatnya adalah permainan, game juga memiliki unsur multimedia yang menarik, ini diharapkan dapat lebih mudah dimengerti.

Game Permainan Tradisional Galah adalah game berjenis sports yang hampir mirip dengan game Gobak Sodor Beta Version. Game Gobak Sodor Beta Version merupakan game berjenis sports yang berlatar permainan tradisional Indonesia, dimana pemain harus menghindari tangkapan musuh untuk mencapai garis akhir dan memenangkan pertandingan. Akan tetapi, game Gobak Sodor Beta Version ini masih memiliki kekurangan, yaitu pergerakan musuh yang masih statis dan tidak adanya tingkatan level sehingga kemampuan musuh cenderung sama di setiap pertandingan. Dari beberapa kekurangan tersebut, game ini akan membuat pengguna yang memainkan merasa cepat bosan.

Dari permasalahan inilah maka akan dibangun sebuah aplikasi game 2 dimensi

dengan judul “Pembangunan Aplikasi Game Permainan Tradisional Galah

dimana akan diterapkan Artificial Intelligence atau kecerdasan buatan pada musuh agar pergerakannya lebih dinamis. Serta dengan memberikan tingkatan level pada permainan agar permainan terlihat lebih menantang.

1.2 Rumusan Masalah

(15)

1.3 Maksud dan Tujuan

Berdasarkan masalah yang telah dikemukakan di atas, maka maksud dari penelitian ini adalah untuk membangun aplikasi game Permainan Tradisional Galah sebagai media untuk melestarikan permainan tradisional.

Adapun tujuan yang ingin dicapai antara lain:

1. Pemain mengetahui salah satu permainan tradisional Indonesia melalui sebuah game yang menarik.

2. Membuat pergerakan musuh agar bisa menghalangi pergerakan pemain mencapai garis akhir dengan menerapkan kecerdasan buatan sehingga pergerakan musuh menjadi dinamis, serta memberikan tingkatan level pada permainan dengan kemampuan musuh yang berbeda di setiap levelnya sehingga permainan terlihat lebih menantang.

1.4 Batasan Masalah

Batasan masalah dalam membangun aplikasi ini antara lain: 1. Game berbasis 2 Dimensi.

2. Game berupa single player game. 3. Game berupa offline game.

4. Sasaran pengguna adalah 6 tahun ke atas. 5. Genre game adalah sports.

6. Game terdiri dari 3 level.

7. Pemodelan perancangan sistem menggunakan UML.

8. Kecerdasan buatan yang diterapkan kepada musuh adalah greedy.

1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini terbagi menjadi dua tahap yaitu pengumpulan data dan pengembangan aplikasi [3].

(16)

Hal yang pertama dilakukan dalam analisis system adalah melakukan pengumpulan data. Teknik pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut:

a. Studi Literatur

Pada tahap ini data dikumpulkan dengan cara mengumpulkan hasil literarur, jurnal, buku-buku atau bacaan-bacaan serta dari internet yang berhubungan dengan pembangunan aplikasi game Permainan Tradisional Galah.

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.

2. Tahap pengembangan perangkat lunak

Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses diantaranya:

a. Requirements analysis and definition

Tahap ini mengumpulkan kebutuhan secara lengkap 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.

b. System and software design

(17)

c. Implementation and unit testing

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

d. Integration and system testing

Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).

e. Operation and maintenance

Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.

Model waterfall yang digunakan dalam pembangunan game ini dapat dilihat pada gambar 1.1.

(18)

1.6 Sistematika Penulisan

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

BAB 1 PENDAHULUAN

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

BAB 2 LANDASAN TEORI

Bab ini menguraikan tentang teori-teori mengenai galah, permainan, Kecerdasan buatan (Artificial Intelligence), OOP (Object Oriented Programming), Algoritma Greedy, tools yang digunakan dan pengujian perangkat lunak yang mendukung penelitian serta berguna dalam Pembangunan Aplikasi Game Permainan Tradisional Galah.

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini menguraikan Analisis Sistem dan Perancangan Sistem pada Pembangunan Aplikasi Game Permainan Tradisional Galah.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi tentang implementasi sistem dan pengujian sistem pada Pembangunan Aplikasi Game Permainan Tradisional Galah sesuai dari hasil analisis dan perancangan.

BAB 5 KESIMPULAN DAN SARAN

(19)

7

BAB 2

LANDASAN TEORI

2.1 Galah

Galah asin, galasin, atau gobak sodor adalah sejenis permainan daerah dari Indonesia. Permainan ini adalah sebuah permainan grup yang terdiri dari dua grup, di mana masing-masing tim terdiri dari 3-5 orang. Inti permainannya adalah menghadang lawan agar tidak bisa lolos melewati garis ke baris terakhir secara bolak-balik, dan untuk meraih kemenangan seluruh anggota grup harus secara lengkap melakukan proses bolak-balik dalam area lapangan.

Permainan ini biasanya dimainkan di lapangan bulu tangkis dengan acuan garis-garis yang ada atau bisa juga dengan menggunakan lapangan segiempat dengan ukuran 9 x 4 m yang dibagi menjadi 6 bagian. Garis batas dari setiap bagian biasanya diberi tanda dengan kapur. Anggota grup yang mendapat giliran untuk menjaga lapangan ini terbagi dua, yaitu anggota grup yang menjaga garis batas horisontal dan garis batas vertikal.

Bagi anggota grup yang mendapatkan tugas untuk menjaga garis batas horisontal, maka mereka akan berusaha untuk menghalangi lawan mereka yang juga berusaha untuk melewati garis batas yang sudah ditentukan sebagai garis batas bebas. Bagi anggota grup yang mendapatkan tugas untuk menjaga garis batas vertikal (umumnya hanya satu orang), maka orang ini mempunyai akses untuk keseluruhan garis batas vertikal yang terletak di tengah lapangan [5].

2.1.1 Cara Bermain Galah

(20)

Gambar 2.1 Ilustrasi Bermain Galah

Pemain yang berjaga akan mengisi baris-baris melintang di lapangan seperti berlapis-lapis. Kita biasanya mengisi strategi bahwa lapisan terakhir dan paling awal akan diisi oleh orang yang paling panjang tangannya. Ini karena dua lapisan itu adalah yang paling penting. Lapisan terakhir menentukan apakah lawan dapat keluar dari lapangan dan lapisan pertama menentukan apakah lawan dapat masuk ke lapangan. Jumlah level atau garis melintang akan sama dengan jumlah pemain disatu tim. Biasanya antara 3-6 orang. Kalau makin banyak. Maka lapangannya akan semakin besar.

Satu orang spesial dari tim yang berjaga disebut “selodor” dia membelah

(21)

dalam satu kotak adalah salah satu kegunaan utamanya. Dia juga bisa secara tiba-tiba menyerang pemain yang sedang bengong. Posisi selodor ini adalah posisi terpenting ketiga setelah penjaga depan dan belakang.

Pemain yang tidak berjaga akan berusaha untuk masuk ke dalam lapangan, lalu melewati semua level dan keluar dari ujung satunya lagi. Dan kemudian berusaha kembali untuk bisa melakukan asin alias gol. Saat salah satu pemain lawan dapat melakukan gol itu. Maka satu babak selesai dan yang tidak berjaga menang mendapatkan nilai dan kemudian permainan diulang lagi tanpa ada perubahan posisi berjaga.

Pemain yang tidak berjaga kalah bila ada salah satu anggotanya tersentuh oleh yang berjaga atau bila salah satu pemainnya keluar dari lapangan sebelah kiri atau kanan. Bila satu kaki saja yang keluar itu tak apa tapi bila dua-duanya berarti dia keluar. Saat pemain yang tidak berjaga kalah maka posisi akan berganti, yang tidak berjaga menjadi jaga dan sebaliknya dan permainan diulang [5].

2.1.2 Manfaat Bermain Galah

Permainan ini mempunyai manfaat yang begitu penting untuk perkembangan keterampilan gerak dasar. Diantaranya yaitu:

1. Mengembangkan keterampilan gerak dasar berlari dan reaksi

2. Mengembangkan sikap sosial yang dimiliki anak untuk menyelamatkan temannya dari garis lawan.

3. Dapat melatih kecermatan anak dalam menyelesaikan suatu masalah [5].

2.2 Permainan

Permainan merupakan sebuah aktivitas rekreasi dengan tujuan bersenang-senang

ataupun untuk mengisi waktu luang. Permainan biasanya dilakukan secara sendiri-sendiri

(22)

2.2.1 Permainan Tradisional

Permainan tradisional adalah bentuk kegiatan permainan dan atau olahraga yang berkembang dari suatu kebiasaan masyarakat tertentu. Pada perkembangan selanjutnya permainan tradisional sering dijadikan sebagai jenis permainan yang memiliki ciri kedaerahan asli serta disesuaikan dengan tradisi budaya setempat.

Kegiatannya dilakukan baik secara rutin maupun sekali-kali dengan maksud untuk mencari hiburan dan mengisi waktu luang setelah terlepas dari aktivitas rutin seperti bekerja mencari nafkah, sekolah [6].

2.2.2 Pengertian Game

Dalam bagian ini akan dibahas pengertian game, klasifikasi game berdasarkan platform, berdasarkan genre, berdasarkan sudut pandang permainan (game view point) dan berdasarkan pembatasan usia dari pemainnya serta komponen penyusun dari game.

Pengertian game

Game merupakan salah satu media hiburan yang paling populer untuk semua kalangan usia. Game dapat dimainkan dengan aturan tertentu sehigga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius atau dengan tujuan refreshing. Pengertian game menurut beberapa ahli:

1. Menurut David Parlett, Game adalah sesuatu yang memiliki "akhir dan cara mencapainya": artinya ada tujuan, hasil dan serangkaian peraturan untuk mencapai keduanya

2. Menurut Roger Caillois seorang sosiolog Perancis, dalam bukunya yang berjudul Les jeux et les hommes menyatakan game adalah aktivitas yang mencakup karakteristik berikut:

a. Fun (bebas bermain adalah pilihan bukan kewajiban). b. Separate (terpisah).

(23)

3. Menurut Clark C.Abt, Game adalah kegiatan yang melibatkan keputusan pemain, berupaya mencapai tujuan dengan dibatasi oleh konteks tertentu (misalnya, dibatasi oleh peraturan)

4. Menurut Agustinus Nilwan dalam bukunya “Pemrograman Animasi dan Game

Profesional” terbitan Elex Media Komputindo, game merupakan permainan komputer yang dibuat dengan teknik dan metode animasi. Jika ingin mendalami pengunaan animasi haruslah memahami pembuatan game, atau jika ingin membuat game maka haruslah memahami teknik dan metode animasi, sebab keduanya saling berkaitan [7].

Jadi game adalah kegiatan yang memiliki tujuan untuk dicapai dan dibatasi dengan peraturan bagi para pemainnya yang bersifat menyenangkan dan untuk membuat game maka haruslah memahami teknik dan metode animasi. 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 untuk dilesaikan dengan cepat dan tepat.

2.2.3 Klasifikasi Game

Game bisa diklasifikasikan kedalam beberapa hal, diantaranya klasifikasi berdasarkan platform, berdasarkan genre, berdasarkan sudut pandang permainan (game view point) dan berdasarkan pembatasan usia dari pemainnya.

2.2.3.1Berdasarkan Platform

Tiga kategori utama platform pada game adalah personal computer (PC), console, dan mobile [8].

1. Personal Computer (PC)

(24)

kuat yang memungkinkan pengembang untuk membuat game yang mutakhir. Tetapi kelemahan gamePC adalah mahal karena pengguna harus menggunakan hardware yang up-to-date untuk memainkan game PC dengan baik. Selain itu, kelemahan game PC bagi pengembang adalah banyaknya konfigurasi PC membuat sulit bagi pengembang untuk memastikan game tersebut berjalan dengan benar pada semua setup PC.

2. Console

Console adalah hardware yang dibuat oleh pihak ketiga seperti Sony, Microsoft, dan Nintendo. Console terhubung ke televisi dan tujuan utamanya adalah untuk bermain game. Game Console sangat menarik bagi game pengembang karena mereka hanya perlu memikirkan satu konfigurasi hardware ketika membuat software untuk konsol. Sangat kontras dengan PC yang memiliki opsi konfigurasi yang tak terbatas.

3. Mobile

(25)

2. Strategy

Strategy game menantang pemain untuk mencapai kemenangan dengan perencanaan, khususnya melalui perencanaan serangkaian tindakan yang dilakukan melawan satu lawan atau lebih. Kemenangan diraih dengan perencanaan matang dan pengambilan keputusan yang optimal.

3. Role Playing Game (RPG)

RPG adalah game dimana pemain mengontrol satu atau lebih karakter yang biasanya di desain oleh pemain itu sendiri, dan memandu mereka melewati berbagai rintangan yang diatur oleh komputer. Perkembangan karakter dalam hal kekuatan dan kemampuannya adalah kunci dari game jenis ini.

4. Sports

Sports game mensimulasikan berbagai aspek dari olahraga atletik nyata maupun imajiner, apakah itu memainkan pertandingan, me-manage tim dan karir, atau keduanya. Salah satu contoh game jenis ini adalah Pro Evolution Soccer 2012 (PES 2012), dimana pemain bisa memainkan pertandingan, menjadi manajer tim, maupun menjadi pemain dan mengembangkan karirnya sendiri.

5. Vechicle Simulation

Vechicle simulation membuat feeling mengendarai kendaraan, baik kendaraan nyata maupun kendaraan imajiner. Performa dan karakteristik kasar mesin harus menyerupai kenyataan, kecuali jika yang didesain adalah kendaraan imajiner.

6. Construction and Management Simulation

(26)

dan mode misi dimana terdapat skenario hal apa yang harus dibangun oleh pemain.

7. Adventure/ Platform

Adventure atau platform game adalah cerita interaktif tentang karakter protagonis yang dimainkan oleh pemain. Penyampaian cerita dan eksplorasi adalah elemen inti dari game ini. Penyelesaian teka-teki dan tantangan konseptual adalah bagian besar dari permainan.

8. Artificial Life and Puzzle Game

Artificial Life game adalah game yang membuat tiruan dari kehidupan sebenarnya. Biasanya ada dua jenis game ini, tiruan kehidupan manusia, contohnya The SIMS, dan tiruan kehidupan binatang, contohnya Tamagochi. 9. Online Game

Istilah online game disini mengacu kepada multiplayer game dimana mesin dari para pemain terhubung dengan jaringan.

2.2.3.3Berdasarkan Sudut Pandang Pemain

Sebuah game biasanya mempunyai sudut pandang permainan tersendiri disesuaikan berdasarkan genre game yang diambil. Berikut beberapa macam sudut pandang permainan yang biasa digunakan [9]:

(27)

3. Isometric

Sudut pandang permainan yang memungkinkan permainan terlihat diantara sisi Side Scrolling dan juga Top Down, dan biasanya diterapkan pada game dengan genre RTS (Real Time Strategy).

2.2.3.4Berdasarkan Pembatasan Usia Pemain

Menurut ESRB (Entertainment Software Rating Board) ada 7 pembatasan usia dari pemainnya adalah sebagai berikut [16]:

1. Early Childhood (3+), memiliki isi yang mungkin cocok untuk usia 3 keatas. Tidak mengandung materi yang tidak pantas seperti adegan kekerasan.

2. Everyone (6+), memiliki konten yang mungkin cocok untuk usia 6 keatas. Judul-judul dalam kategori ini mungkin berisi sedikit kartun, fantasi atau kekerasan ringan dan tidak jarang menggunakan bahasa yang ringan.

3. Everyone (10+), memiliki konten yang mungkin cocok untuk usia 10 keatas. Judul-judul dalam kategori ini mungkin berisi lebih banyak kartun, fantasi atau kekerasan ringan, bahasa ringan dan juga minimal tema sugestif.

4. Teen (13+), memiliki konten yang mungkin cocok untuk usia 13 keatas. Judul-judul dalam kategori ini mungkin mengandung kekerasan, tema sugestif, humor kasar, sedikit darah, simulasi perjudian, dan tidak jarang menggunakan bahasa yang kuat.

5. Mature (17+), memiliki konten yang mungkin cocok untuk orang usia 17 dan lebih tua. Judul-judul dalam kategori ini mungkin berisi intens kekerasan, darah, konten seksual dan bahasa yang kuat.

6. Adults Only (18+) memiliki konten yang hanya boleh dimainkan oleh orang-orang 18 tahun keatas. Judul-judul dalam kategori ini mungkin termasuk adegan yang intens, kekerasan dan juga mengandung konten seksual. 7. RP (Rating Pending) telah disampaikan kepada ESRB dan sedang menunggu

(28)

2.2.4 Komponen Game

Di dalam sebuah game, terdapat komponen-komponen yang menyusunnya [12] antara lain:

1. Grafik

Grafik merupakan suatu hal yang penting dalam game, dimana grafik ini akan membuat game menjadi daya tarik user untuk memainkan game. Pada awalnya game menggunakan grafik monokrom dengan layar hitam putih sampai sekarang sudah menggunakan teknologi 3D, semakin bagus grafik maka game tersebut semakin seperti dalam dunia nyata.

2. Suara

Suara menjadi komponen game karena dengan adanya suara pada game maka game tersebut akan menarik sehingga kita dapat merasakan kondisi dalam game tersebut. Selain itu, dengan adanya suara, kita tidak bosan bermain game. 3. Artificial Inteligence (Kecerdasan Buatan)

Kecerdasan buatan atau AI (artificial Inteligence) menjadi komponen game karena dengan hal tersebut game menjadi lebih menantang. Dengan menggunakan AI, game dapat berpikir untuk mengalahkan pemain sehingga membuat game lebih seru.

4. Story Line

Story line game menjadi komponen game karena dengan adanya story line dalam game, si pemain seolah-olah bermain sesuai dengan petunjuk yang ada di game tersebut, sehingga dapat dikatakan game tersebut memiliki cerita sehingga membuat pemain lebih asik memainkan game tersebut.

2.3 Kecerdasan Buatan (Artificial Intelligence)

(29)

mengambil keputusan seperti yang dilakukan oleh manusia. Berikut adalah beberapa definisi kecerdasan buatan yang telah didefinisikan oleh beberapa ahli.

Alan Turing, ahli matematika berkebangsaan Inggris yang dijuluki bapak computer modern dan pembongkar sandi Nazi dalam Perang Dunia II 1950, menetapkan definisi Artificial Intelligence. “Jika komputer tidak dapat dibedakan dengan manusia saat berbincang melalui terminal komputer, maka bisa dikatakan

komputer itu cerdas, mempunyai kecerdasan”.

Misalnya Anda mengunjungi sebuah situs agen penjualan barang antik. Di layar komputer muncul wajah seorang wanita yang sangat cantik. Sayangnya wajah wanita itu hanyalah ciptaan komputer belaka. Uniknya, ia mampu bercakap-cakap dengan Anda untuk melayani penjualan barang antik dan Anda tidak menyadarinya, layaknya Anda berbicara dengan staf wanita sesungguhnya di counter agen penjualan. Kalau ini terjadi, maka pelayanan penjualan barang antic dapat dilakukan 100% online, dengan akurasi yang sangat tinggi, terutama dari konsistensi, keramahan, kecepatan, dan akurasi pelayanan dijamin memuaskan pelanggan. Lain kalau kita menggunakan staf manusia asli yang konsistensinya tidak bias akurat karena terpengaruh kondisi fisik dan emosi saat itu [10].

John McCarthy dari Stanford mendefinisikan kecerdasan sebagai “kemampuan

untuk mencapai sukses dalam menyelesaikan suatu permasalahan” [10]. Herbert Alexander Simon (June 15- February 9, 2001) [10]:

“Kecerdasan buatan (artificial intelligent) merupakan kawasan penelitian,

aplikasi, dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”.

Rich and Knight (1991) [10]:

“Kecerdasan buatan (AI) merupakan sebuah studi tentang bagaimana membuat

komputer melakukan hal-hal yang pada saat itu dapat dilakukan lebih baik oleh

manusia”.

(30)

“Kecerdasan buatan merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk symbol-simbol daripada bilangan dan memproses informasi berdasarkan metode heuristis atau

dengan berdasarkan sejumlah aturan” [10].

Menurut Winston dan Prendergast [10], tujuan dari kecerdasan buatan adalah: 1. Membuat mesin menjadi lebih pintar (tujuan utama)

2. Memahami apa itu kecerdasan (tujuan ilmiah)

3. Membuat mesin lebih bermanfaat (tujuan entrepreneurial)

Berdasarkan definisi ini, makan kecerdasan buatan menawarkan media maupun uji teori tentang kecerdasan. Teori-teori ini nantinya dapat dinyatakan dalam bahasa pemrograman dan eksekusinya dapat dibuktikan pada komputer nyata.

Program konvensional hanya dapat menyelesaikan persoalan yang deprogram secara spesifik. Jika ada informasi baru, sebuah program konvensional harus di ubah untuk menyesuaikan diri dengan informasi baru tersebut. Hal ini tidak hanya menyebabkan boros waktu, namun juga dapat menyebabkan terjadinya error. Sebaliknya, kecerdasan buatan memungkinkan komputer untuk berpikir atau menalar dan menirukan proses belajar manusia sehingga informasi baru dapat diserap sebagai pengetahuan, pengalaman, dan proses pembelajaran serta dapat digunakan sebagai acuan di masa-masa yang akan datang.

Dari sini dapat dikatakan bahwa:

Kecerdasan adalah pemilik pengetahuan, pengalaman, dan penalaran untuk membuat keputusan dan mengambil tindakan. Jadi, agar mesin bias cerdas (bertindak seperti manusia) maka harus diberi bekal pengetahuan dan diberi kemampuan untuk menalar [10].

Stuart Russel dan Peter Norvig mengelompokan definisi AI, yang diperoleh dari beberapa textbook berbeda, ke dalam empat kategori, yaitu:

1. Thinking Humanly: the cognitive modeling approach

a. Melalui intropeksi: mencoba menangkap pemikiran-pemikiran kita sendiri

(31)

you know that you understand?”: Bagaimana anda tahu bahwa anda

mengerti? Karena pada saat anda menyadari pemikiran anda, ternyata pemikiran tersebut sudah lewat dan digantikan kesadaran anda. Sehingga definisi ini terkesan mengada-ada dan tidak mungkin dilakukan.

b. Melalui eksperimen-eksperimen psikologi. 2. Acting Humanly: the Turing test approach

Pada tahun 1950, Alan Turing merancang suatu ujian bagi komputer berintelijensia untuk menguji apakah komputer tersebut mampu mengelabuhi seorang manusia yang menginterogasinya melalui teletype (komunikasi berbasis teks jarak jauh). Jika interrogator tidak dapat membedakan yang diinterogasi adalah manusia atau komputer, maka komputer berintelejensia tersebut lolos dari Turing test. Komputer tersebut perlu memiliki kemampuan: Natural Language Processing, Knowledge Representation, Automated Reasoning, Machine Language, Computer Vision, Robotics, Turing Test sengaja menghindari interaksi fisik antara interrogator dan komputer karena simulasi fisik manusia tida memerlukan intelijensia.

3. Thinking Rationally: the laws of thought approach Terdapat dua masalah dalam pendekatan ini, yaitu:

a. Tidak mudah untuk membuat pengetahuan informal dan menyatakan pengetahuan tersebut ke dalam formal term yang diperlukan oleh notasi logika, khususnya ketika pengetahuan tersebut memiliki kepastian kurang dari 100%.

b. Terdapat perbedaan besar antara dapat memecahkan masalah “dalam

prinsip” dan memecahkannya “dalam dunia nyata”.

4. Acting Rationally: the rational agent approach

(32)

tidak. Jika mencapai tujuan, maka agent dapat melakukan aksi berdasarkan kesimpulan tersebut.

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

Definisi thinking rationally terasa lebih sempit daripada acting rationally dengan pendekatan rational agent. Hal ini berdasarkan pemikiran bahwa computer bisa melakukan penalaran secara logis dan juga bisa melakukan aksi secara rasional berdasarkan hasil penalaran tersebut [11].

2.3.1 Algoritma Greedy

Algoritma greedy merupakan algoritma yang membentuk solusi langkah per langkah. Pada setiap langkah tersebut akan dipilih keputusan yang paling optimal. Keputusan tersebut tidak perlu memperhatikan keputusan selanjutnya yang akan diambil, dan keputusan tersebut tidak dapat diubah lagi pada langkah selanjutnya.

Secara harfiah greedy artinya rakus atau tamak, sifat yang berkonotasi negatif. Sifat ini akan mengambil sebanyak mungkin atau mengambil yang paling bagus atau yang paling mahal [12].

2.3.1.1Prinsip Utama Algoritma Greedy

(33)

Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Pada setiap langkah, kita membuat pilihan optimum lokal (local optimum). Dengan harapan bahwa langkah sisanya mengarah ke solusi optimum global (global optimum). Algoritma greedy adalah algoritma yang memecahkan masalah dengan cara langkah per langkah, yaitu sebagai berikut:

Mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (prinsip "take what you can get now!").

Berharap bahwa dengan memilih optimum lokal pada setiap langkah akan berakhir dengan optimum global.

Optimum global belum tentu menjadi solusi optimum (terbaik). Alasannya, pertama algoritma greedy tidak beroperasi menyeluruh terhadap semua alternatif solusi yang ada sebagaimana pada metode exhaustivesearch. Kedua, terdapat beberapa fungsi seleksi yang berbeda sehingga kita harus memilih fungsi yang tepat jika kita ingin algoritma tersebut mendapat solusi optimal. Jadi pada sebagian masalah, algoritma greedy tidak selalu memberikan hasil yang optimal [12].

2.3.1.2Elemen Algoritma Greedy

Elemen-elemen yang digunakan dalam penerapan algoritma greedy antara lain: 1. Himpunan Kandidat

Himpunan yang berisi elemen pembentuk solusi. 2. Himpunan Solusi

Himpunan yang terpilih sebagai solusi persoalan. 3. Fungsi Seleksi

Fungsi yang memilih kandidat yang paling mungkin untuk mencapai solusi optimal.

4. Fungsi Kelayakan

(34)

bersama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala yang ada.

5. Fungsi Solusi

Fungsi yang mengembalikan nilai boolean. True jika himpunan solusi yang sudah tebentuk merupakan solusi yang lengkap; False jika himpunan solusi belum lengkap.

6. Fungsi Objektif

Fungsi yang mengoptimalkan solusi [12]. 2.3.1.3Skema Umum Algoritma Greedy

Misal kita mengasumsikan elemen algoritma greedy sebagai berikut: a. Himpunan Kandidat = C,

b. Himpunan Solusi = S, c. Fungsi Seleksi = select(), d. Fungsi Kelayakan = feasible(), e. Fungsi Solusi = solution(), dan f. Fungsi Obyektif = objective().

Skema umum dari algoritma greedy dapat kita tuliskan: 1. Inisialisasi S dengan kosong.

2. Pilih sebuah kandidat dari C (dengan select()).

3. Kurangi C dengan kandidat yang telah terpilih di atas.

4. Periksa apakah kandidat yang dipilih tersebut bersama-sama dengan S

membentuk solusi yang layak (dengan feasible()). Jika ya, masukkan kandidat ke S; jika tidak buang kandidat tersebut dan tidak perlu ditelaah lagi.

(35)

2.4 OOP (Object Oriented Programming)

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

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

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

Pemrograman orientasi-objek menekankan konsep berikut:

(36)

sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

2. Objek (Object) - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

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

mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

(37)

sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

6. Inheritas (Inheritance). Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas) [13].

2.5 UML (Unified Modeling Language)

UML (Unified Modeling Language) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem. UML adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.

(38)

Gambar 2.2 Logo UML

UML suatu bahasa yang digunakan untuk menentukan memvisualisasikan membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap system informasi. Penggunaan UML dalam industri terus meningkat, ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umumdalam industri peranti lunak dan pengembangan sistem.

2.5.1 Bagian-bagian UML

Bagian-bagian utama dari UML adalah view, diagram, model element, dan general mechanism. 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.

1. Use Case Diagram

(39)

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.

Gambar 2.3 Use Case Diagram 2. Class Diagram

(40)

Gambar 2.4 Logo Class Diagram 3. Component Diagram

Component software merupakan bagian fisik dari sebuah sistem, karena menetap di komputer tidak berada di benak para analis. Komponent merupakan implementasi software dari sebuah atau lebih class. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent 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. Component diagram dapat dilihat pada gambar 2.5.

(41)

4. Deployment Diagram

Menggambarkan tata letak sebuah sistem secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executable component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.

Gambar 2.6 Deployment Diagram 5. State Diagram

(42)

Gambar 2.7 State Diagram 6. Sequence Diagram

Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.

(43)

7. Collaboration Diagram

Menggambarkan kolaborasi dinamis seperti sequence diagram. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan object dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence diagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram. Collaborationdiagram dapat dilihat pada gambar 2.9.

Gambar 2.9 Collaboration Diagram 8. Activity Diagram

(44)

Gambar 2.10 Activity Diagram

2.6 Tools Yang Digunakan

Tools yang digunakan dalam Pembangunan Aplikasi Game Permainan Tradisional Galah diantaranya adalah HTML5, Construct 2, Adobe Photoshop CS.

2.6.1 HTML5

HTML5 adalah bahasa pemrograman yang digunakan untuk membuat struktur dan menampilkan konten dari sebuah website. Angka 5 mengartikan revisi ke-5 dari bahasa pemrograman web standar HTML yang diciptakan pada tahun 1989. HTML5 dikembangkan oleh WHATMG (Web Hypertext Application Technology Working Group).

HTML5 menawarkan beberapa fitur menarik yang tidak didukung oleh HTML sebelumnya. Beberapa fitur yang tersedia pada HTML5 antara lain: Canvas, Header, Footer, Time, Audio, Video [17].

2.6.2 Construct 2

(45)

game secara drag and drop menggunakan editor visual dan berbasis sistem logika perilaku [18].

2.6.3 Adobe Photoshop

Adobe Photoshop, atau biasa disebut Photoshop, adalah perangkat lunak editor citra buatan Adobe Systems yang dikhususkan untuk pengeditan foto/gambar dan pembuatan efek. Perangkat lunak ini banyak digunakan oleh fotografer digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader) untuk perangkat lunak pengolah gambar/ foto bersama Adobe Acrobat, dianggap sebagai produk terbaik yang pernah diproduksi oleh Adobe Systems. Versi kedelapan aplikasi ini disebut dengan nama Photoshop CS (Creative Suite), versi sembilan disebut Adobe Photoshop CS2, versi sepuluh disebut Adobe Photoshop CS3 , versi kesebelas adalah Adobe Photoshop CS4, versi keduabelas adalah Adobe Photoshop CS5 , dan versi yang terakhir (ketigabelas) adalah Adobe Photoshop CS6.

(46)

2.7 Pengujian Perangkat Lunak

Pengujian perangkat lunak merupakan elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas.

Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen

sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi

dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.

2.7.1 Pengujian White Box

Pengujian white box adalah pengujian yang meramalkan cara kerja perangkat lunak secara rinci, karenanya logikal path (jalur logika) perangkat lunak akan di-test dengan menyediakan test case yang akan mengerjakan kumpulan kondisi atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

Pengujian white box merupakan salah satu metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. Dengan rnenggunakan metode white box, analis sistem akan dapat memperoleh test case yang:

1. Menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali.

2. Mengerjakan seluruh keputusan logika.

(47)

4. Mengerjakan seluruh struktur data internal yang menjamin validitas.

2.7.1.1Uji Coba Basis Path

Ujicoba basis path adalah teknik uji coba white box yang diusulkan Tom Mc Cabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunkan ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set yang menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.

Terdapat beberapa proses yang harus di lakukan dalam uji coba basis path yaitu diantaranya:

1. Notasi Diagram Alir

Sebelum metode basis path diperkenalkan, terlebih dahulu akan dijelaskan mengenai notasi sederhana dalam bentuk diagram alir (grafik alir). Diagram alir menggambarkan aliran kontrol logika yang menggunakan notasi.

2. Kompleksitas Siklomatis

Kompleksitas siklomatis adalah metriks perangkat lunak yang memberikan pengukuran kuantitatif terhadap kompleksitas logis suatu program. Bila metriks ini digunakan dalam konteks metode pengujian basis path, maka nilai yang terhitung untuk kompleksitas siklomatis menentukan jumlah jalur independen dalam basis set suatu pemrograman memberi batas atas bagi jumlah pengujian yang harus dilakukan untuk memastikan bahwa semua statemen telah dieksekusi sedikitnya satu kali.

(48)

3. Melakukan Test Case

Metode uji coba basis path juga dapat diterapkan pada perancangan prosedural rinci atau program sumber. Pada bagian ini akan dijelaskan langkah-langkah uji coba basis path.

4. Matriks Grafis

Prosedur untuk mendaptakan grafik alir dan menentukan serangkaian basis path, cocok dengan mekanisasi. Untuk mengembangkan peranti perangkat lunak yang membantu pengujian basis path, struktur data yang disebut matriks grafis dapat sangat berguna.

Matriks garfis adalah matriks bujur sangkar yang ukurannya sama dengan jumlah simpul pada grafik alir. Masing-masing baris dan kolom sesuai dengan simpul yang diidentifikasikan dan entry matriks sesuai dengan edge diantara simpul.

2.7.2 Pengujian Black Box

Pengujian black box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian black box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua peryaratan fungsional untuk suatu program. Pengujian black box bukan merupakan alternatif dari teknik white box tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kesalahan daripada metode white box.

Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut:

1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface.

3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan kinerja.

5. Inisialisasi dan kesalahan terminal.

(49)

pengujian black Box memperhatikan struktur kontrol, maka perhatian berfokus pada domain informasi. Pengujian didesain untuk menjawab pertanyaan-pertanyaan berikut:

a. Bagaimana validitas fungsional diuji?

b. Kelas input apa yang akan membuat test case menjadi baik? c. Apakah sistem sangat sensitif terhadap harga input tertentu? d. Bagaimana batasan dari suatu data diisolasi?

e. Kecepatan data apa dan volume data apa yang dapat ditolerir oleh system? f. Apa pengaruh kombinasi tertentu dari data terdahap operasi sistem?

Dengan mengaplikasikan teknik black box, maka dapat menarik serangkaian test case yang memenuhi kriteria berikut ini:

1. Test case yang mengurangi, dengan harga lebih dari saatu, jumlah test case tambahan yang harus didesain untuk mencapai pengujian yang dapat dipertanggungjawabkan.

2. Test case yang memberi tahu sesuatu mengenai kehadiran atau ketidakhadiran kelas kesalahan daripada memberi tahu kesalahan yang berhubungan hanya dengan pengujian spesifik yang ada.

2.7.3 Pengujian Alpha dan Beta

Apabila Perangkat Lunak dibuat untuk pelanggan maka dapat dilakukan acceptance test sehingga memungkinkan pelanggan untuk memvalidasi seluruh keperluan. Test ini dilakukan karena memungkinkan pelanggan menemukan kesalahan yang lebih rinci dan membiasakan pelanggan memahami perangkat lunak yang telah dibuat.

2.7.3.1Pengujian Alpha

(50)

berjalan dengan benar sesuai dengan kebutuhan dan tujuan yang diharapkan. Pengujian Alpha berfokus pada persyaratan fungsional dari perangkat lunak.

2.7.3.2Pengujian Beta

Pengujian beta merupakan pengujian yang dilakukan secara objektif, Dimana pengujian dulakukan secara langsung terhadap pengguna, biasanya menggunakan kuisioner mengenai tanggapan pengguna atas perangkat lunak yang telah dibangun. Metode penilaian pengujuan yang digunakan adalah metode kuantitatif berdasarkan data dari pengguna.

2.7.4 Skala Likert

Skala Likert adalah suatu skala psikometrik yang umum digunakan dalam kuesioner. Skala Likert merupakan skala yang paling banyak digunakan dalam riset berupa survey seperti mengukur sikap, pendapat, dan persepsi seseorang atau sekelompok orang tentang fenomena sosial. Dengan Skala Likert, variabel yang akan diukur dijabarkan menjadi indikator variabel. Kemudian indikator tersebut dijadikan sebagai titik tolak untuk menyusun item-item instrumen yang dapat berupa pertanyaan atau pernyataan. Nama skala ini diambil dari nama Rensis Likert, yang menerbitkan suatu laporan yang menjelaskan penggunaannya. Sewaktu menanggapi pertanyaan dalam skala Likert, responden menentukan tingkat persetujuan mereka terhadap suatu pernyataan dengan memilih salah satu dari pilihan yang tersedia. Biasanya disediakan lima pilihan skala dengan format seperti:

1. Sangat tidak setuju 2. Tidak setuju 3. Netral 4. Setuju

5. Sangat setuju

(51)

penggunaan respon kategori tengah tidak mempengaruhi reliabilitas dan validitas dalam penelitian ini, namun direkomendasikan bahwa penilaian. Pengembang kuesioner untuk memasukkan alternatif tengah. Ahli lain bahwa menyediakan kategori tengah memungkinkan responden untuk menunjukkan respon yang netral dan lebih diskriminatif dalam respon mereka, membuat nilai skala yang lebih handal dan skala yang lebih disukai oleh responden.

Selain pilihan dengan lima skala seperti contoh di atas, kadang digunakan juga skala dengan tujuh atau sembilan tingkat. Suatu studi empiris menemukan bahwa beberapa karakteristik statistik hasil kuisioner dengan berbagai jumlah pilihan tersebut ternyata sangat mirip.

Prosedur dalam membuat skala Likert adalah sebagai berikut:

1. Peneliti mengumpulkan item-item yang cukup banyak, relevan dengan masalah yang sedang diteliti, dan terdiri dari item yang cukup jelas disukai dan tidak disukai.

2. Kemudian item-item itu dicoba kepada sekelompok responden yang cukup representatif dari populasi yang ingin diteliti.

3. Responden di atas diminta untuk mengecek tiap item, apakah ia menyenangi (+) atau tidak menyukainya (-). Respon tersebut dikumpulkan dan jawaban yang memberikan indikasi menyenangi diberi skor tertinggi. Tidak ada masalah untuk memberikan angka 5 untuk yang tertinggi dan skor 1 untuk yang

terendah atau sebaliknya. Yang penting adalah konsistensi dari arah sikap yang

diperlihatkan. Demikian juga apakah jawaban “setuju” atau “tidak setuju”

disebut yang disenangi, tergantung dari isi pertanyaan dan isi dari item-item yang disusun.

4. Total skor dari masing individu adalah penjumlahan dari skor masing-masing item dari individu tersebut.

(52)
(53)

41

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem ini merupakan cakupan dari analisis yang berhubungan dengan game yang akan dibangun diantaranya analisis masalah terhadap game yang sejenis, analisis fungsional dan analisis non fungsional.

3.1.1 Analisis Masalah

Berdasarkan latar belakang masalah yang sudah diuraikan, maka masalah yang ada adalah perkembangan teknologi yang berkembang saat ini seharusnya bisa dimanfaatkan dengan baik, karena dengan memanfaatkan teknologi bisa membantu untuk melestarikan permainan tradisional. Salah satu teknologi yang terus berkembang dan dianggap bisa memperkenalkan permainan tradisional dengan cara yang menyenangkan adalah dengan melibatkan game. Game merupakan salah satu media yang disukai. Karena selain sifatnya adalah permainan, game juga memiliki unsur multimedia yang menarik.

Dalam pembahasan, penelitian ini akan membahas game dengan genre sports. Game yang menjadi acuan disini ialah game Gobak Sodor Beta Version, secara dasar gameplay game Gobak Sodor Beta Version serupa dengan gameplay game Permainan Tradisional Galah yang akan dibangun, akan tetapi pada game Permainan Tradisional Galah akan ditambahkan elemen game yang dapat membuat skenario game menjadi lebih menarik. Selanjutnya rumusan masalah dari permasalahan di atas adalah sebagai berikut:

1. Bagaimana membuat game yang bertemakan permainan tradisional Indonesia yang dapat memperkenalkan salah satu permainan tradisional kepada pemainnya.

(54)

3.1.2 Analisis Game Sejenis

Sebelum merancang game yang akan dibuat, terlebih dahulu dilakukan analisis pada game sejenis yang sudah ada. Ini bertujuan agar game yang sudah dibuat nanti memiliki solusi dari permasalahan game yang sudah ada.

3.1.2.1Gobak Sodor

Game Gobak Sodor merupakan game sejenis dari game galah, game ini dibangun untuk PC yang dikembangkan oleh sebuah Studio Pengembang game. Tujuan utama dari game ini ialah untuk mempertahankan diri dari hambatan musuh yang berjalan diatas garis yang telah ditentukan.

Gambar 3.1 Screenshoot Gobak Sodor

(55)

Kelebihan game gobak sodor: - Mudah digunakan anak-anak - Aturannya mudah dimengerti Kekurangan game gobak sodor: - Pergerakan lawan yang masih statis - Tidak adanya tingkat level

- Kualitas grafis kurang atraktif 3.1.3 Analisis Game Yang Akan Dibangun

Game permainan tradisional galah merupakan game berjenis sports yang berlatar permainan tradisional Indonesia, dimana pemain harus menghindari tangkapan musuh untuk mencapai garis akhir dan memenangkan pertandingan. 3.1.3.1Pengenalan

Game yang akan dibangun berjudul Permainan Tradisional Galah yang bergenre sports. Game ini dibangun untuk memperkenalkan salah satu kebudayaan atau mengintrepretasikan salah satu game yang sudah ada sejak lama kepada anak-anak masa kini.

Batasan-batasan pada game permainan tradisional galah ini adalah: 1. Game yang dibuat berbasis desktop dengan tampilan jenis 2 Dimensi. 2. Game berupa single playergame.

3. Game berupa offlinegame. 4. Genre game adalah sports. 5. Game terdiri dari 3 level. 3.1.3.2Storyline

(56)

website tersebut, karena jumlah anak yang ingin bermain permainan tradisional jumlahnya banyak akhirnya mereka memutuskan untuk bermain permainan galah yang secara peraturan membutuhkan banyak orang untuk memainkannya. Sebagai permulaan mereka mencoba memainkannya di dekat pantai, kemudian di pekarangan rumah dan juga di sekolah ketika waktu istirahat tiba.

3.1.3.3Gameplay

Gameplay dilakukan untuk menggambarkan aturan-aturan dalam Game. Gameplay yang terdapat pada game Permainan Tradisional Galah adalah sebagai berikut:

1. Pemain dapat langsung memulai game saat memilih menu mulai.

2. Sebelum memulai game akan ada intro yang tampil di awal dan pemain harus memilih tombol lanjut untuk memulai permainan.

3. Pemain menggerakkan hero dengan tombol W, A, S, D pada keyboard.

4. Pemain bertugas menghindari hadangan musuh yang ada, jika terkena maka lifepoint hero akan berkurang.

5. Jika lifepointhero telah habis maka hero mati dan game akan berakhir. 6. Jika waktu telah habis maka hero mati dan game akan berakhir.

7. Pemain bisa mendapatkan 1 poin apabila mencapai garis akhir.

8. Setiap mendapatkan 3 poin maka arena akan berubah dan level musuh akan berbeda.

9. Pemain dapat melihat cara bermain game setelah intro.

10. Pemain akan selalu memulai game dari level pertama saat memilih tombol mulai.

11. Game terdiri dari 3 level, yaitu: a. Level 1

(57)

b. Level 2

Di level 2 pemain bermain galah di arena pekarangan rumah, pemain harus mengumpulkan 6 poin agar bisa melanjutkan ke level ke 3. Pada level 2 ini sebagian musuh sudah diterapkan kecerdasan buatan.

c. Level 3

Pada level 3 pemain bermain galah di arena lapangan sekolah, pemain harus mengumpulkan 9 poin agar bisa menyelesaikan game. Pada level 3 ini semua musuh sudah diterapkan kecerdasan buatan.

3.1.3.4Misi Permainan

Misi yang harus diselesaikan yaitu melewati garis kolom tanpa bersentuhan dengan musuh dengan batas waktu yang telah ditentukan.

3.1.4 Analisis Algoritma Greedy

Analisis greedy digunakan sebagai pengendali untuk menentukan jalur musuh agar tetap berada didalam garis kolom. Dalam kaidah greedy, sistem dapat melakukan penalaran dengan prinsip seperti manusia melakukan hadangan tanpa melewati garis kolom.

3.1.4.1Algoritma Greedy

Persoalan karakter musuh dalam menentukan arah mana yang harus dijalaninya untuk semakin mendekatkan dirinya kepada karakter pemaindapat dikategorikan sebagai persoalan optimasi, dan persoalan optimasi cukup efektif dipecahkan dengan menggunakan algoritma greedy. Persoalan optimasi pada musuh ini termasuk persoalan minimasi, yaitu mencari rute yang harus dilalui oleh musuh.

(58)

3.1.4.2Penerapan Algoritma Greedy

Dalam penerapannya, algoritma greedy digunakan saat pemilihan jalur terpendek untuk tiap lawan.

(59)

procedure enemyMinRoutes (input M : map, A : chara, enemies : list of

chara, output R : list of route)

{program menerima masukan berupa matriks map, karakter yang akan digerakkan, dan list musuh} Deklarasi

Gambar 3.2 Pseudo Algoritma Greedy

(60)

Gambar 3.3 Algoritma Greedy

(61)

3.1.4.3Contoh Kasus Algoritma Greedy

Pada metode greedy yang terdapat dalam game Permainan Tradisional Galah dapat diilustrasikan pada gambar 3.4 sebagai berikut:

Gambar 3.4 Ilustrasi Algoritma Greedy

Pada ilustrasi ini terdapat node awal atau posisi musuh yang berada pada koordinat (3,3), sedangkan node tujuan atau posisi pemain berada pada kooordinat (2,4). Selanjutnya musuh akan mulai mencari node-node yang berdekatan dengan pemain. Node yang mungkin diperiksa adalah (4,3), (3,4), (2,3), (3,2). Node yang mungkin diperiksa tersebut akan dilakukan perhitungan sebagai berikut:

1. Node (4,3) dan Node tujuan (2,4)

Dengan fungsi heuristik seperti f(n) = h(n)

(62)

h_orthogonal(n) = (abs(n.x – goal.x)+abs(n.y – goal.y))

(63)

= 1

h_diagonal(n) = min(abs(n.x – goal.x) + abs(n.y – goal.y)) h_diagonal(2,3) = min(abs(2 – 2) + abs(3 – 4))

= min(abs(1) + abs(0))

= min 1

(64)

3.1.5 Analisis Kebutuhan Non-Fungsional

Analisis non-fungsional merupakan analisis yang dibutuhkan untuk menentukan spesifikasi kebutuhan sistem. Spesifikasi ini juga meliputi elemen atau komponen-komponen apa saja yang dibutuhkan untuk sistem yang akan dibangun sampai dengan sistem tersebut diimplementasikan. Analisis kebutuhan ini juga menentukan spesifikasi masukan yang diperlukan sistem keluaran yang akan dihasilkan sistem dan proses yang dibutuhkan untuk mengolah masukan sehingga menghasilkan suatu keluaran yang diinginkan.

Pada analisis kebutuhan sistem non-fungsional ini dijelaskan analisis kebutuhan perangkat keras, analisis kebutuhan perangkat lunak, dan analisis pengguna.

3.1.5.1Analisis Kebutuhan Perangkat Lunak (Pembangun)

Perangkat lunak digunakan dalam sebuah sistem merupakan perintah yang diberikan kepada perangkat keras agar dapat saling berinteraksi diantaranya. Perangkat lunak yang dibutuhkan untuk pembangunan game Permainan Tradisional Galah ini adalah sebagai berikut:

Tabel 3.1 Spesifikasi Perangkat Lunak (Pembangun) Sistem operasi Windows 7 Ultimate 32-bit

Compiler Mozilla Firefox

Framework Construct 2

Development toolkit Construct 2

Design tools Adobe Photoshop CS 3 Design analysis StarUML

3.1.5.2Analisis Kebutuhan Perangkat Keras (Pembangun)

Gambar

Gambar 2.3 Use Case Diagram
Gambar 3.2 Pseudo Algoritma Greedy
Gambar 3.5 Use Case Diagram
Tabel 3.12 Skenario Use Case Level 3
+7

Referensi

Dokumen terkait

Binjai Utara Terdakwa telah melakukan permukulan terhadap saksi TEGUH MUAMAR KHADAFI yang mengenai dibagian dada korban sebanyak 3 (tiga) kali dengan menggunakan

Strategi pengembangan keripik ketela ungu antara lain: Membangun kemitraan yang kuat dengan supplier ketela ungu, Pengembangan basis wilayah sentra ketela ungu, Efisiensi

Rasulullah sendiri pernah ditemui tiga orang pezina yang meminta ditegakkan hukuman Islam atas diri mereka sebagaimana termaktub dalam Shahih Muslim yang diriwayatkan dari Abdullah

Instrumen evaluasi proses pembelajaran untuk memperoleh informasi deskriptif dan/atau informasi judgemental dapat berwujud (1) Lembar pengamatan untuk mengumpulkan

Analisis dalam penelitian ini menggunakan data bulanan yang meliputi data harga minyak dunia dengan standar West Texas Intermediate (WTI), harga emas penutupan sore hari, harga

Dalam Meningkatkan Kualitas pembelajaran pada Program Studi Pendidikan Sejarah FKIp Unsri Pemanfaatan Media Visual pada pembelajaran Ekonomi Makro di Program Studi

• However to really maximize efficiency and responsiveness across the supply chain, firms have to move towards the kind of virtual integration strategy Dell employs, where

Penelitian ini menyimpulkan bahwa larutan gula merah dan ragi efektif digunakan sebagai atraktan nyamuk Aedes aegypti, dan hasil analisis menunjukkan bahwa