• Tidak ada hasil yang ditemukan

Pembangunan Game Petualangan Si Pitung Berbasis Desktop

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Game Petualangan Si Pitung Berbasis Desktop"

Copied!
126
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

MOCH IRVAN GUSTIAWAN

10109425

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

v

ABSTRAK ...i

ABSTRACT ...ii

KATA PENGANTAR ...iii

DAFTAR ISI ...v

DAFTAR GAMBAR ...ix

DAFTAR TABEL ...xi

DAFTAR SIMBOL ...xii

DAFTAR LAMPIRAN ...xiv

BAB I 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 II LANDASAN TEORI ...7

2.1 Permaian (Game) ...7

2.1.1 Pengertian Game ...8

2.1.2 Klasifikasi Game ...8

2.1.2.1Berdasarkan Umur Pengguna Permainan Game ...10

2.2 Teknik Penyelesaian Masalah AI (Artificual Intelligence) ...12

2.2.1 Algoritma Pencarian ...13

(3)

vi

2.3 Aplikasi Pembangunan Perangkat Lunak ...17

2.3.1 Unified Modeling Language (UML) ...17

2.3.2 Java ...24

2.3.2.1 Karakteristik Java ...25

2.3.3 Adobe Photoshop ...27

2.3.4 Greenfoot ...27

BAB III ANALISIS DAN PERANCANGAN ...29

3.1 Analisis Sistem ...29

3.2 Analisis Masalah ...29

3.3 Analisis Game Sejenis ...29

3.3.1 Meriam Si Pitung ...29

3.3.1.1Alur Permainan Meriam Si Pitung ...30

3.4 Analisis Game yang akan Dibangun ...32

3.4.1 Pengenalan ...32

3.4.2 Storyline ...32

3.4.3 Gameplay ...33

3.4.4 Misi ...33

3.4.5 Sasaran Pemain Dan Kegunaan Game ...34

3.5 Analisis Algoritma ...34

3.5.1 Analisis Algoritma A*(A Star) Pada NPC ...34

3.6 Analisis Kebutuhan Non-Fungsional ...46

3.6.1 Analisis Kebutuhan Perangkat Keras ...46

3.6.2 Analisis Kebutuhan Perangkat Lunak ...47

3.6.3 Analisis Kebutuhan Perangkat Pikir ...47

(4)

vii

3.7.1 Use Case Diagram ...48

3.7.1.2 Skenario Use Case ...49

3.7.2 Activity Diagram ...60

3.7.3 Class Diagram ...67

3.74 Squence Diagram ...68

3.8 Perancangan Sistem ...75

3.8.1 Perancangan Karakter ...75

3.8.2 Perancangan Level ...77

3.8.3 Perancangan Storyboard ...77

3.8.4 Perancangan Struktur Menu ...78

3.8.5 Perancangan Antar Muka ...79

3.8.6 Perancangan Antar Muka Pesan ...82

3.8.7 Jaringan Semantik ...83

BAB IV IMPLEMENTASI DAN PENGUJIAN ...85

4.1 Implementasi ...85

4.1.1 Implementasi Perangkat Keras ...85

4.1.2 Implementasi Perangkat Lunak ...85

4.1.3 Implementasi Antar Muka ...86

4.1.3.1Implementasi Antar Muka Menu Utama ...86

4.1.3.2Implementasi Antar Muka Menu Petunjuk ...86

4.1.3.3Implementasi Antar Muka Menu Pengaturan ...87

4.1.3.4Implementasi Antar Muka Menu Mulai ...87

4.1.4 Implementasi Pesan ...89

4.1.4.1Implementasi Pesan Lanjut Permainan ...89

(5)

viii

4.2 Pengujian Perangkat Lunak ...90

4.2.1 Pengujian Blackbox ...91

4.2.1.1Skenario Pengujian ...91

4.2.1.Kasus dan Hasil Pengujian ...93

4.2.1.3Kesimpulan Pengujian Blacbox ...97

4.2.1.4Pengujian Whitebox ...97

4.2.2 Pengujian Beta ...107

4.2.2.1Kuesioner ...107

4.2.2.2Kesimpulan Hasil Kuesioner ...112

BAB V KESIMPULAN ...113

5.1 Kesimpulan ...113

5.2 Saran ...113

(6)

115

DAFTAR PUSTAKA

[1] Soekanto SA. 2009. Si Pitung super hero daribetawi, Bandung.

[2] Salihunalias pitunglegendacagarbudayabetawi.

http://sejarah.kompasiana.com/2012/06/27/salihoen-salihun-alias-pitung-

legenda-cagar-budaya-betawi-472956.html,diaksespadatanggal03November2013.

[3] Meriam Si Pitung

APKhttp://android.downloadatoz.com/apps/com.winchmobile.meriam,494 979.html, diaksespadatanggal 03 November 2013.

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

[5] Lestari, Dewi.,2012. “DefinisiGame”. UniversitasMuhammadiyah.

Sukabumi.

[6] W, Wandah.,2007.”Dasar Pemrograman Flash Game”.

[7] Umurpengguna.http://www.esrb.org/ratings/ratings_guide.jsp .Di aksespadatanggal 14 November 2010.

[8] Suyanto. 2007. Artificial Intelegedanheuristicsearch.Informatika, Bandung. [9] Boyer R.S., Moore J.S. 2009. A fast string searching algotihm.

[10] A* use of theHeuristic. http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html.diak sespadatanggal 1 Desember 2012.

[11] Dharwiyanti, Sri danRomiSatriaWahono. 2003. Pengantar Unified Modeling Language (UML).

[12] ModulJAVA EDUCATION NETWORK INDONESIA (JENI). 2007.

PengenalanPemrograman. Jardiknas.

[13] MADCOMS.2009.Adobe Photoshop CS4 Untuk Pemula.Penerbit: ANDI.Yogyakarta.

(7)
(8)

iii

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

penulisan skripsi dengan judul “PEMBANGUNAN GAME PETUALANGAN SI

PITUNG BERBASIS DEKSTOP” sebagai salah satu syarat kelulusan pada Program Strata 1 Program Studi Teknik Informatika Fakultas Ilmu dan Teknik Komputer di Universitas Komputer Indonesia.

Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan, bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan terima kasih yang sebesar-besarnya kepada :

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

2. Ibu Darsih S.Ag dan Alm. Bapak Andi Ruchiyat sebagai orangtua serta yang telah memberikan dukungan baik secara moril maupun materil dan doa yang tiada hentinya sehingga penulis bisa bertahan hingga saat ini. 3. IbuNelly Indriani W, S.Si., M.T. selaku pembimbing, yang telah

membimbing penulis dalam menyelesaikan tugas akhir.

4. Ibu Ednawati Rainarli, S.Si., M.Si.. selakureviewer yang telah banyak memberikan masukan dan arahan.

5. Bapak Galih Hermawan, S.Kom., M.T. selaku penguji sidang yang telah banyak memberikan masukan dan arahan.

6. Ibu Sufa’atin, S.T., M.Kom. selaku dosen wali IF-10 2009 selama penulis menempuh pendidikan di UNIKOM.

(9)

iv

terdapat kekurangan. Penulis juga berharap agar skripsi ini dapat bermanfaat bagi semua pihak khususnya bagi penulis dan umumnya bagi pembaca.

Bandung, Agustus 2014

(10)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Si Pitung adalah tokoh kisah betawi pada masa penjajahan belanda. Cerita Si Pitung memiliki dua versi yaitu menurut Soekanto SA, Si Pitung yang dikenal sebagai RobinHood indonesia tetapi suka menolong orang – orang yang menderita[1]. Sedangkan menurut Van Till, Si Pitung dikenal sebagai perampok, pengacau dan suka memeras orang – orang kaya dan hasil rampokannya dibagi – bagikan kepada rakyat miskin[2]. Perbedaan cerita Si Pitung ini akan mempengaruhi cara pandang generasi muda terhadap tokoh Si Pitung itu sendiri. Oleh karena itu kisah Si Pitung sebagai RobinHood indonesia perlu diangkat kembali karena banyak nilai positif yang terkandung didalamnya.

Salah satu media yang dapat digunakan untuk menyampaikan kisah Si Pitung adalah melalui media game. Dalam perkembangannya, telah ada game

yang menggunakan tokoh Si Pitung yaitu Meriam Si Pitung. Game ini menggunakan platform android sebagai medianya dan game Meriam Si Pitung termasuk ke dalam bergenre arcade dan action. Game Meriam Si Pitung memiliki misi yang sederhana yaitu, menembaki dengan peluru meriamnya. Kemudian karakter yang digunakan hanya menggunakan meriam tanpa menampilkan karakter Si Pitungnya[3]. Oleh karena itu pada game Meriam Si Pitung ini sebagian besar permasalahanya yang di temukan adalah kurangnya kisah cerita Si Pitung dan sosok karakter Si Pitungnya.

(11)

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang masalah, maka rumusan masalah dari penelitian ini adalah bagaimana menampilkan sosok tokoh Si Pitung yang dimunculkan dalam game.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang di identifikasi, bermaksud untuk membangun game petualangan Si Pitung berbasis desktop dengan tujuan:

1. Menyampaikan kisah Si Pitung yang memiliki nilai positif.

2. Menampilkan karakter Si Pitung yang tidak dimunculkan dalam game

sebelumnya. 1.4 Batasan Masalah

Agar permasalahan yang ditinjau tidak terlalu luas dan sesuai dengan maksud dan tujuan yang dicapai, maka penulis membatasi masalah sebagai berikut :

1. Game dibuat berbasis Desktop

2. Game bersifat offline

3. Game bergenre Arcade

4. Grafik permainan ini bersifat 2D 5. Permainan bersifat single player

6. Game terdiri dari 3 level.

7. Target user untuk permainan ini adalah untuk anak usia 9 tahun ke atas. 8. Pemodelan yang digunakan adalah pemodelan berorientasi objek dengan

UML Diagram dengan tools StarUML.

9. Artificial intelligence yang digunakan pada NPC (non playable character) adalah algoritma A* untuk melakukan pencarian jalur terdekat.

10.Aplikasi yang digunakan untuk membangun permainan ini adalah: a. Aplikasi pembangunan permainan ini menggunakan Greenfoot

(12)

11.Pemodelan perancangan sistem menggunakan Object Oriented Analysis Design (OOAD) dengan tools Unified Modelling Language (UML).

1.5 Metodologi Penelitian

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

1. Tahap pengumpulan data a.Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper, dan pencarian data yang bersumber dari internet yang berkaitannya dengan aplikasi game yang akan dibangun.

b.Kuisioner

Pembagian kuisioner juga dilakukan untuk meminta pendapat responden tentang game Si Pitung. Pembagian kuisioner dilakukan pada tahap pengujian dan hasilnya akan menjadi kesimpulan dari penelitian ini. 2. Metode Pengembangan Perangkat Lunak

Cara dalam pembangunan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall. Waterfall adalah sebuah pengembangan Model perangkat lunak yang dilakukan secara berurutan atau sekuensial.

Adapun metodologi yang digunakan dalam model waterfall, sebagaimana diperlihatkan pada gambar 1.1.

(13)

a. System Engineering

Pada tahap ini dilakukan perencanaan game seperti apa yang akan dibuat dan tools yang akan digunakan. Tahap ini meliputi menentukan karakter pemain, karakter musuh, latar game dan lain – lain.

b. System Analisis (Analysis)

Pada tahap ini dilakukan pengumpulan kebutuhan untuk membuat aplikasi game.Mengumpukan data game sejenis, storyline dan menganalisis apa saja yang kurang pada game tersebut. Pada tahap ini pula, merupakan tahapan menganalisis bagaimana cara kerja Algoritma yang akan dipakai nanti.

c. SystemDesign

Pada tahap ini dilakukan perancangan baik pemodelan maupun interface

permainan. Pada perancangan pemodelan digambarkan sebagai Use Case,

Activity Diagram, Sequence Diagram dan lain-lain. Sedangkan pada perancangan interface permainan digambarkan bagaimana tampilan permainan yang nanti akan dibuat.

d. SystemCoding

Pengkodean mengimplementaskan hasil desain kedalam kode atau bahasa yang dimengerti oleh mesin computer dengan menggunakan bahasa pemograman Java.

e. SystemTesting

Pada tahap ini akan dilakukan pengujian untuk mendapatkan kesimpulan apakah permainan sudah cukup bagus atau masih terdapat kekurangan. Pengujian dilakukan menggunakan kuisioner dan meminta beberapa orang untuk mencoba memainkan game ini.

f. SystemMaintenance

(14)

1.6 Sistematika Penulisan

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

BAB I PENDAHULUAN

Bab ini berisi uraian latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, tahap pengumpulan data, model pengembangan perangkat lunak dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi uraina tentang teori-teori permainan (game), teknik penyelesaian masalah AI(artificial intelligence), aplikasi pembangunan perangkat lunak, java, adobe photoshop dan grenfoot.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi rincian tentang analisis terhadap seluruh spesifikasi sistem yang mencakup analisis system, analisis masalah, analisis game sejenis, analisis game yang akan di bangun, analisis algoritma, analisis kebutuhan non-fungsional, analisis kebutuhan fungsional dan perancangan system.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi rincian tentang implementasi dari tahapan analisis dan perancangan sistem ke dalam perangkat lunak (dalam bentuk bahasa pemrograman), beberapa implementasi yang akan dijelaskan adalah implementasi perangkat keras, implementasi perangkat lunak, dan implementasi antarmuka. BAB V KESIMPULAN DAN SARAN

(15)
(16)

7

BAB 2

LANDASAN TEORI

2.1 Permainan (Game)

Game atau permainan merupakan aktivitas rekreasi dengan tujuan bersenang – senang mengisi waktu luang atau berolahraga ringan. Permainan biasanya dilakukan sendiri atau bersama – sama (kelompok), cara bermain (gameplay), budaya. Permainan dalam hal ini, merujuk pada pengertian kelincahan intelektual (Intellectual Playability Game) yang juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Permainan bertujuan untuk menghibur, biasanya permainan banyak disukai oleh anak-anak hingga orang dewasa. Berdasarkan perkembangannya pun permainan dibedakan menjadi dua yaitu, permainan tradisional dan permainan modern. Dari perbedaan dua permainan tersebut dapat dilihat sebagai berikut[5] :

Tabel 2.1 Perbedaan Permainan Modern Dan Permainan Tradisional

Permainan Modern Permainan Tradisional a. Tidak Memerlukan biaya yang

mahal. a. Memerlukan biaya yang mahal.

b. Meningkatkan kekompakan anak.

b. Bermain secara individual ( karena perminan tergantung skill masing – masing anak semakin sering memainkan semkain hebat ).

c. Kerjasama antar anak yang kuat

c. Permainan kerjasamanya kurang, lebih ber-ego dan

(17)

2.1.1 Pengertian Game

Dalam kamus bahasa Indonesia “Game” adalah permainan. Permainan merupakan bagian dari bermain dan bermain juga bagian dari permainan keduanya saling berhubungan. Permainan adalah kegiatan yang kompleks yang didalamnya terdapat peraturan, play dan budaya. Sebuah permainan adalah sebuah sistem dimana pemain terlibat dalam konflik buatan, disini pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan rekayasa atau buatan, dalam permainan terdapat peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan permainan. Game bertujuan untuk menghibur, biasanya game banyak disukai oleh anak – anak hingga orang dewasa. Games sebenarnya penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut kita untuk menyelesaikannya dengan cepat dan tepat. Tetapi game juga bisa merugikan karena apabila kita sudah kecanduan game kita akan lupa waktu dan akan mengganggu kegiatan atau aktifitas yang sedang kita lakukan[5].

2.1.2 Klasifikasi Game

Game berdasarkan genre-nya terbagi menjadi 10 jenis,yaitu Board Game, Arcade, Action, Strategy, Shooting, Fighting, Racing, Simulation, Real Time Strategy, Role Playing Game, Masive Multiplayer Online [6].

1. Board Game

Boardgame atau dapat kita istilahkan sebagai “permainan papan”.

Pada jenis game ini, pemain diberikan sebuah tampilan yang berisi tentang masalah untuk diselesaikan. Contoh dari game ini antara lain : Pipedream, Catur, permainan kartu dan sebagainya.

2. Arcade

(18)

permainan, permainan akan berjalan semakin cepat dan sulit. Contoh dari

game bertipe arcade adalah zuma, pacman, Arcanoid dan sebagainya. 3. Action

Berbeda dengan game bertipe arcade, game bertipe action

menjadikan pemain mengendalikan karakter utama dalam game tersebut melakukan beberapa kegiatan seperti melompat, menembak dan sebagainya. Contoh dari game bertipe action adalah supermario, petualangan paddlepop dan sebagainya.

4. Shooting

Game bertipe shooting sebagian besar menggunakan mouse

sebagai alat pengendalinya. Pada game ini pemain seolah-olah berperan sebagai penembak atau pemain mengendalikan seorang penembak. Contoh

game bertipe shooting adalah DuckHunt, CounterStrike dan sebagainya. 5. Fighting

Game bertipe fighting pada dasarnya sama dengan game bertipe

action, hanya saja game bertipe fighting pemain mengendalikan sebuah karakter untuk berkelahi dengan karakter lain sampai salah satu karakter kalah. Contoh game bertipe fighting adalah streetfighter.

6. Racing

Game bertipe racing pada dasarnya adalah sebuah permainan menggerakkan kamera. Pemain diberikan sebuah kendaraan atau sejenisnya untu menempuh rute tertentu. Contoh dari game bertipe racing

adalah NeedForSpeed. 7. Simulation

Game bertipe simulasi adalah sebuah game yang mensimulasikan suatu kegiatan yang sesungguhnya. Contoh dari game bertipe simulasi adalah tycoon, simulator pesawat, burgerempire dan sebagainya.

8. Real Time Strategy

(19)

dan sebagainya). Contoh dari game bertipe RTS antara lain

warcommander, empireearth dan sebagainya. 9. Role Playing Game

Pada game bertipe RPG pemain memerankan sebuah karakter dalam game. Berbeda dengan game bertipe action, pada game RPG hal yang diutamakan adalah cerita dalam game. Selain itu di dalam game

bertipe RPG biasanya terdapat subgame dengan tipe lain. Contoh game

RPG adalah Zelda, Megaman dan sebagainya. 10. MMO

MMO (Masive Multiplayer Online) merupakan game yang dapat dimainkan secara bersama-sama pada internet browser. Hal yang diutamakan dalam sebuah game bertipe MMO adalah kebersamaan dengan pemain lain. Contoh game bertipe MMO adalah Ragnarok.

2.1.2.1 Berdasarkan Umur Pengguna Permainan Game

Berdasarkan umur pengguna permainan game dibagi menjadi beberapa jenis, yaitu[8]:

1. EC (Early Childhood), permainan game ini memiliki konten yang mungkin cocok untuk anak usia 3 ke atas. Dan tidak memiliki kontent yang dianggap tidak pantas dilihat oleh anak dengan usia tersebut.

Gambar 2.1 EC (Early Childhood)[7].

(20)

Gambar 2.2 E (Everyone)[7].

3. E10+ (Everyone 10 and older), permainan game ini memiliki konten yang mungkin cocok untuk usia 10 atau lebih tua. Judul dalam kategori ini mungkin berisi kartun, fantasi atau kekerasan ringan, bahasa ringan atau dengan tema sugestif minimal.

Gambar 2.3 E10+ (Everyone 10 and older)[7].

4. T (Teen), permainan game ini memiliki konten yang mungkin cocok untuk usia 13 atau lebih tua. Judul dalam kategori game ini mungkin berisi kekerasan, tema sugestif, humor kasar, minimal darah, simulasi perjudian, atau menggunakan bahasa kuat yang minim.

Gambar 2.4 T (Teen)[7].

5. M (Mature), permainan game ini memiliki konten yang mungkin cocok untuk orang usia 17 atau lebih tua. Judul dalam kategori ini mungkin berisi kekerasan intens, darah dan gores, konten seksual dan bahasa kuat.

(21)

6. AO (Adults Only), permainan game ini memiliki konten yang hanya dan harus dimainkan oleh orang 18 tahun keatas. Judul dalam kategori ini mungkin termasuk adegan kekerasan berkepanjangan intens dan konten seksual grafis dengan kontent yang berisi gambar atau video.

Gambar 2.6 AO (Adults Only)[7].

7. RP (Rating Pending), Judul terdaftar sebagai RP (Rating Pending) telah disampaikan kepada ESRB dan sedang menunggu penilaian akhir. (Simbol ini hanya akan muncul dalam iklan sebelum merilis

game.)

Gambar 2.7 RP (Rating Pending)[7].

2.2 Teknik Penyelesaian Masalah AI (Artificial Intelligence)

Terdapat empat teknik dasar penyelesaian masalah yang terdapat pada bidang artificial intelegence diantaranya adalah[8]:

A. Searching

Pada teknik searching atau pencarian ini terdiri dari beberapa langkah untuk merealisasikannya. Langkah pertama adalah mendefinisikan ruang masalah untuk suatu masalah yang dihadapi. Langkah kedua adalah mendefinisikan aturan produksi yang digunakan untuk mengubah suatu keadaan ke keadaan lainnya. Langkag terakhir adalah memilih metode pencarian yang tepat sehingga dapat menemukan solusi terbaik.

B. Reasoning

(22)

menggunakan logic atau bahasa formal (bahasa yang dipahami komputer). Teknik ini melakukan proses penalaran berdasarkan basis pengetahuannya untuk menemukan solusi.

C. Planning

Planning adalah suatu metode penyelesaian masalah dengan cara memecah masalah ke dalam sub-sub masalah yang lebih kecil, menyelesaikan sub-sub masalah satu demi satu, kemudian menggabungkan solusi-solusi dari sub-sub masalah tersebut menjadi sebuah solusi lengkap dengan tetap mengingat dan menangani interaksi yang terdapat pada sub-sub masalah tersebut.

D. Learning

Pada ketiga teknik sebelumnya, seseorang harus mengetahui aturan yang berlaku untuk system yang akan dibangunnya. Tetapi, pada masalah tertentu terkadang aturan tidak bisa didefinisikan secara benar ataupun lengkan. Hal tersebut mungkin dikarenakan data-data yang didapat tidak lengkap. Melalui teknik yang disebut learning ini, secara otomatis aturan yang diharapkan bisa berlaku umum untuk data-data yang belum pasti diketahui dapat ditemukan.

2.2.1 Algoritma Pencarian (Searching)

Metode pencarian disebut penting dalam menyelesaikan permasalahan karena setiap keadaan menggambarkan langkah-langkah untuk menyelesaikan permasalahan. Dalam sebuah permainan metode pencarian akan menentukan langkah apa yang harus dilakukan, dimana setiap langkah menggambarkan kemungkinan posisi dalam sebuah rangkaian deduktif.

Permasalahan pencarian dapat diselesaikan dengan beberapa metode pencarian sebagai berikut [9]:

1. Pencarian Buta (Blind Search)

(23)

dan pencarian ini tidak memiliki informasi awal. Ciri-ciri blind search

adalah sebagai berikut[10]:

a. Membangkitkan simpul berdasarkan urutan. b. Kalau ada solusi, solusi akan langsung ditemukan.

c. Hanya memiliki informasi tentang node yang telah dibuka (node

selanjutnya tidak diketahui).

Blind search pun di bagi menjadi 3 seperti, BFS (Breadth-First Search), DFS (Depth-First Search), UCS (Uniform Cost Search).

2. Pencarian Terbimbing (Heuristic Search)

Heuristic search atau disebut juga pencarian terbimbing merupakan metode pencarian yang memperhatikan nilai heuristic (nilai perkiraan), dan pencarian ini akan dapat mencari jarak yang terpendek. Heuristic

memperkirakan jarak ke Goal (tujuan) yang disebut dengan fungsi

heuristic. Ciri-ciri heuristic search adalah sebagai berikut[10]: a. Mengesampingkan usaha yang dapat memboroskan waktu.

b. Menggunakan fungsi heuristic untuk mengevaluasi keadaan dari masalah dan mendapatkan solusi yang diinginkan.

c. Kemungkinan dapat mengorbankan kelengkapan (completeness).

Heuristic search pun mempunyai contoh seperti, Museum Procedure,

Branch and Bound, Dynamic Programming, Best First Search,Greedy Search, A* (A-Star) Search, dan Hill Climbing Search.

2.2.2 Algoritma A* (A-Star)

Algoritma A* (A-Star) adalah algoritma pencarian yang merupakan pengembangan dari algoritma Best First Search (BFS). Seperti halnya pada BFS, untuk menemukan solusi, A* juga di bimbing oleh fungsi heuristik, yang menentukan urutan titik mana yang akan dikunjungi terlebih dahulu. Heuristik merupakan penilai yang memberi harga pada tiap verteks yang memandu A* mendapatkan solusi yang diinginkan[10].

(24)

dengan urutan yang paling mendekati solusi terbaik. Kemudian, verteks pertama pada list diambil, dibangkitkan suksesornya dan kemudian suksesor ini disimpan ke dalam list sesuai dengan urutan yang terbaik untuk solusi. List verteks ini disebut dengan verteks terbuka (open node)[10].

Pencarian menggunakan algoritma A* mempunyai prinsip yang sama dengan algoritma BFS, hanya saja dengan dua faktor tambahan.

1. Setiap sisi mempunyai “cost” yang berbeda-beda, seberapa besar cost untuk pergi dari satu simpul ke simpul yang lain.

2. Cost dari setiap simpul ke simpul tujuan bisa diperkirakan. Ini membantu pencarian, sehingga lebih kecil kemungkinan kita mencari ke arah yang salah.

Cost untuk setiap simpul tidak harus berupa jarak. Cost bisa saja berupa waktu bila kita ingin mencari jalan dengan waktu tercepat untuk dilalui. Sebagai contoh, bila user berkendaraan melewati jalan biasa bisa saja merupakan jarak terdekat, tetapi melewati jalan tol biasanya memakan waktu lebih sedikit.

(25)

Gambar 2.8 FlowChart A*(A-Star)

Cost antara simpul adalah jaraknya, dan perkiraan cost dari suatu simpul ke simpul tujuan adalah penjumlahan jarak dari simpul tersebut ke simpul tujuan. Rumus fungsi heuristic :

f(n) = g(n ) +

h

(

n

) ... 2.11

dengan:

f(n) = fungsi evaluasi

g(n) = biaya (cost) yang sudah dikeluarkan dari keadaan sampai keadaan n

(26)

Node dengan nilai terendah merupakan solusi terbaik untuk diperiksa pertama kali pada g(n) + h(n). Dengan fungsi heuristic yang memenuhi kondisi tersebut, maka pencarian dengan algoritma A* dapat optimal[10]

Metode A* dapat melakukan backtracking jika jalur yang ditempuh ternyata salah. Metode A* dapat melakukannya karena menyimpan jejak yang mungkin sebagai jalur yang optimal. Sebagai contohnya, jika kita sedang menuju suatu kota dan sampai pada persimpangan jalan, dan memutuskan untuk belok kiri daripada ke kanan, dan ternyata jika jalan yang dipilih ternyata salah, kita akan kembali ke persimpangan dan mengambil jalan satunya. Itulah yang dilakukan metode A* ini[10].

2.3 Aplikasi Pembangun Perangkat Lunak

Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan aplikasi perangkat lunak ini terdiri dari UML, Konsep dasar UML, Java, Adobe Photoshop dan Greenfoot.

2.3.1 Unified Modeling Language (UML)

(27)

Gambar 2.9 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 sistem informasi. Penggunaan UML dalam industri terus meningkat, ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. Bagian-bagian utama dari UML

adalah view, diagram, model element, dan general mechanism [12]. Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu 23 dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya. Jenis – jenis UML diagram – diagram sebagai berikut:

1. Usecase Diagram

Usecase adalah abstraksi dari interaksi antara system dan actor.

(28)

memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.

Contoh pada use case diagram perpustakaa mempunyai Lima fungsionalitas yang terdiri dari :

1. mendaftar artinya siswa harus melakukan pendaftaran sebelum membaca buku di perpustakaan baik menjadi anggota ataupun hanya pengunjung saja.

2. membaca buku artinya siswa yang telah mendaftarkan diri ke petugas perpustakaan boleh membaca buku dalam perpustakaan.

3. meminjam buku artinya jika siswa yang mendaftar ke petugas menjadi anggota perpustakaan maka diperbolehkan meminjam buku perpustakaan. 4. mengembalikan buku artinya anggota yang telah meminjam buku harus

mengembalikan lagi ke petugas perpustakaan jika masa pinjaman telah habis. 5. denda artinya anggota yang mengembalikan buku melebihi masa peminjaman

maka akan dikenakan denda.

Usecase pada Gambar 2.10 merupakan contoh dari usecase diagram sistem perpustakaan

(29)

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 system. 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 alam visualisasi struktur kelas dari suatu system.

Class memiliki tiga area pokok yaitu Nama Kelas, Atribut dan Metode. Atribut dan metode dapat memiliki salah satu sifat berikut :

1. Private artinya data yang dikendalikan oleh suatu kelas tertentu dan tidak dapat diakses oleh objek-objek yang berbeda kelas. Satu ciri metode sharing

yang bersifat private adalah hanya fungsi-fungsi atau metode – metode dalam kelas/objek yang bersangkutan yang dapat mengakses metode atau variabel serta atribut dalam kelas tanpa batasan. Biasanya tanda (-) digunakan untuk atribut atau metode yang bersifat private.

2. Protected artinya atribut atau metode yang bersifat protected hanya bisa diakses oleh kelas yang bersangkutan serta kelas-kelas yang merupakan turunannya mengikuti hierarki dari generalisasi. Biasanya tanda (#) digunakan untuk atribut atau metode yang bersifat protected.

3. Public artinya metode atau atribut yang bersifat public dapat diakses oleh semua objek dalam aplikasi tertentu tanpa batasan apa pun. Biasanya tanda (+) digunakan untuk atribut atau metode yang bersifat public.

Contoh class diagram pada sistem informasi perpustakaan memiliki delapan class antara lain:

1. Class mahasiswa memiliki atribut ; id_mahasiswa dan nama_mahasiswa dengan method : update dan insert dan bersifat public.

2. Class anggota memiliki atribut : id anggota dan nama anggota dengan method : insert, update, delete dan bersifat public.

(30)

4. Class denda memiliki atribut : id mahasiswa, kode buku, tgl pinjam, tgl kembali dengan method : insert ,update dan bersifat public.

5. Class transaksi memiliki atribut : atribut : id mahasiswa, kode buku, tgl pinjam, tgl kembali dengan method : insert ,update dan bersifat public.

6. Class koleksi buku memiliki atribut : atribut : id mahasiswa, kode buku, tgl pinjam, tgl kembali dengan method : insert ,update dan bersifat public.

7. Class petugas perpustakaan memiliki atribut : atribut : id mahasiswa, kode buku, tgl pinjam, tgl kembali dengan method : insert ,update dan bersifat public.

8. Class koleksi buku loka memiliki atribut : atribut : id mahasiswa, kode buku, tgl pinjam, tgl kembali dengan method : insert ,update dan bersifat public.

Class diagram pada Gambar 2.11 merupakan contoh class diagram pada sistem informasi perpustakaan.

(31)

9. 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.

Contoh pada sequence diagram login mempunyai interaksi sebagai berikut a. Administrator (Aktor) melakukan login, maka methodUser ID, Password ()

memanggil kelas Layar Login.

b. Kelas Layar Login memanggil kelas Cek User untuk mengecek User ID dan

Password.

c. Kelas Cek User memanggil kelas Data User untuk memvalidasi User ID dan

Password di database.

d. Apabila User ID dan Password valid maka Administrator beerhasil melakukan Login.

Sequence Diagram pada Gambar 2.12 merupakan contoh dari sequence

diagram login.

(32)

10.Activity Diagram

Activity Diagram menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti

Usecase atau interaksi,

Sebuah aktifitas dapat direalisasikan oleh suatu use case atau lebih. Aktifitas menggambarkan proses yang berjalan sementara use case

menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktifitas. Contoh pada activity diagram pengembalian buku perpustakaan, pada

activity diagram pengembalian buku perpustakaan mempunyai alir aktifitas sebagai berikut :

a. Anggota perpustakaan mengembalikan buku perpustakaan kepada pustakawan.

b. Pustakawan memvalidasi data buku yang dipinjam oleh anggota perpustakaan.

c. Apabila anggota perpustakaan mengembalikan buku melebihi batas waktu maka anggota perpustakaan akan mendapat denda dengan membayar sejumlah uang.

d. Kemudian pustakawan memvalidasi data anggota perpustakaan.

e. Apabila anggota perpustakaan mengembalikan buku tidak melebihi batas waktu pengembalian maka anggota tidak mendapat denda.

(33)

Gambar 2.13 Activity Diagram pengembalian buku perpustakaan. 2.3.1 Java

Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform

sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source[12].

Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak

(34)

Terdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas–kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java[12].

2.3.2.1 Karakteristik Java

Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut[13]:

1. Sederhana

Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.

2. Berorientasi objek (Object Oriented)

Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.

3. Dapat didistribusi dengan mudah

Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.

4. Interpreter

(35)

5. Robust

Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

6. Aman

Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.

7. Architecture Neutral

Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.

8. Portabel

Source code maupun program Java dapat dengan mudah dibawa ke

platform yang berbeda-beda tanpa harus dikompilasi ulang. 9. Performance

Performance pada Java sering dikatakan kurang tinggi. Namun

performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan

Just In Time Compilers (JIT). 10. Multithreaded

Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

11. Dinamis

Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun

method dapat dilakukan tanpa menggangu program yang menggunakan

(36)

2.3.2 Adobe Photoshop

Adobe Photoshop adalah software pengolah foto yang sangat populer dan telah banyak para pengguna program ini yang mengakui kehebatan dari Adobe Photoshop. Dengan Photoshop kita dapat memamnipulasi sebuah foto agar terlihat lebih menarik dan mengesankan, dengan fasilitas-fasilitas yang ada pada Photoshop, kita juga dapat menggabung foto serta memberikan efek-efek khusus untuk mempercantik tampilan foto.

Tampilan lembar kerja Photoshop terdiri dari Menu Bar, Panel Control

dan Panel Tools. Menu Bar adalah baris paling atas yang berisi perintah yang disediakan oleh sebuah program yang mendukung kinerja dari program tersebut.

Panel Control adalah bagian yang berisi sekumpulan tombol atau pilihan yang letaknya berada tepat di bawah Menu Bar yang digunakan untuk mengatur sifat dan kinerja dari piranti yang terpilih di Panel Tools. Panel Tools adalah sebuah kumpulan piranti yang digunakan untuk mengolah gambar, seperti melakukan seleksi area, memotong bidang gambar, maupun menghapus bidang gambar [13].

2.3.3 Greenfoot

Tutorial ini adalah pengenalan tentang objek(object) dan dunia(world) di Greenfoot.Greenfoot adalah perangkat lunak yang didesain untuk pemula agar dapat terbiasa dengan Pemrograman Berorientasi Objek(Object-Oriented Programming), yang mendukung pengembangan aplikasi bergambar dengan memakai bahasa pemrograman Java™. Greenfoot didesain dan telah diimplentasikan di Universitas Kent, Inggris dan Universitas Deakin, Melbourne - AustraliaInformasi lebih lanjut mengenai Greenfoot bisa dilihat di www.greenfoot.org.

(37)
(38)

29 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 kebutuhan fungsional, dan analisis non fungsional.

3.2 Analisis Masalah

Berdasarkan latar belakang yang telah diuraikan di atas, maka masalahnya adalah game arcade yang ada saat ini adalah dalam gameplaynya, hanya menembaki musuh tanpa memperlihatkan karakternya dan hanya melewati beberapa objek yang tidak bergerak sehingga gameplay kurang variatif. Selain itu, pada game arcade masih jarang mengimplementasikan cerita rakyat yang mengambil cerita dari Indonesia. Adapun masalah tersebut dapat dirumuskan dalam pernyataan sebagai berikut:

1) Masih kurangnya penyampaian kisah cerita Si Pitung kepada player. 2) Kurangnya jelasnya sosok tokoh Si Pitung yang dimunculkan dalam

game sejenis.

3.3 Analisis Game Sejenis

Analisis yang dilakukan merupakan observasi dari Game sejenis untuk melihat cara bermain, tujuan dan ada tidaknya kekurangan atau kelebihan Game

itu sendiri. Hasil observasi tersebut untuk membantu dalam penelitian. Game

sejenis yang dianalisis yaitu Meriam si Pitung.

3.3.1 Meriam si Pitung

(39)

Gambar 3.1 Game Meriam si Pitung 3.3.1.1 Alur Permainan Meriam Si Pitung

Alur permainan meriam si pitung merupakan sebuah alur dari aktivitas

game, dimana alur tersebut dapat menggambarkan aktivitas yang berada dalam

game. Penjelasan dari alur permainan Meriam si Pitung akan dijelaskan dalam table 3.1 berikut.

Tabel 3. 1 Alur Permainan Meriam Si Pitung

Alur Permainan

1. Pemain harus mengarahkan meriam untuk menembakan meriam ke balok.

2. Pemain harus menembakan meriam dengan jangkauan tertentu.

3. Pemain menggunakan meriam untuk menjatuh balok.

4. Pemain akan mendapatkan point jika dapat menjatuhkan semua balok.

5. Pemain akan kalah jika semua kesempatan menembak digunakan namun tidak mengenai

balok.

6. Permainan ini tidak mempunyai level, hanya mengulang kembali permainan.

(40)

Gambar 3.2 alur permainan Meriam Si Pitung

(41)

dalam game ini meliputi beberapa hal yaitu, tidak adanya leveling dalam game, tidak memiliki storyline, tidak dimunculkannya karakter si pitung dalam game, dan tidak ada perbedaan susunan balok ketika permainan berulang.

3.4 Analisis Game yang akan dibangun

Analisis Game yang akan dibangun merupakan bagian yang mendeskripsikan Game yang akan dibangun. Pada bagian ini analisis terdiri dari arsitektur, storyline, tingkat kesulitan, Gameplay.

3.4.1 Pengenalan

Game yang akan dibangun berjudul si pitung yang bergenre arcade. Game

ini dibangun untuk memperkenalkan tokoh si pitung dan mengintrepretasikannya ke dalam salah satu game yang sudah ada sejak lama kepada anak-anak masa kini.

Batasan-batasan pada game si pitung ini dijelaskan pada table 3.3 berikut. Tabel 3.2 Batasan Game

Batasan Game

1. Game yang dibuat berbasis desktop dengan tampilan jenis 2 Dimensi.

2. Single player

3. Karakter dapat melawan musuh dengan tangan kosong dan menggunakan

senjata.

4. Terdapat bermacam-macam musuh.

5. Terdapat life point yang dapat member kesempatan pemain dan member

kesulitan pada musuh.

6. Terdapat beberapa warga yang harus diselamatkan.

3.4.2

Storyline

(42)

warga-warga dikampungnya dengan cara kerja paksa, di pajak dan lainnya. Si pitung pun tidak tinggal diam, dengan kemampuannya, dia berencana untuk melepaskan warga yang menjadi tawanan para menir belanda. Akan tetapi si pitung harus melalui penjagaan yang ketat dari prajurit-prajurit belanda[1].

3.4.3

Gameplay

Gameplay dilakukan untuk menggambarkan aturan-aturan dalam Game.

Gameplay Si Pitungyang akan dibangun dijelaskan pada table 3.4 berikut. Tabel 3. 3 Gameplay Si Pitung

Gameplay

1. Pada awal permainan pemain harus mengalahkan musuh dengan cara memukul.

2. Pemain menghindari serangan musuh dengan cara melompat

3. Jika lifepoin habis maka permainan akan selesai dan akan mengulang ke awal level

tersebut.

4. Pemain akan berjumpa dengan prajurit1 yang masih lemah dan mampu dibunuh dengan

pukulan. Level 1 pertempuran terjadi pada siang hari, selain itu pemain harus membunuh

semua prajurit1.

5. Di level 2 ditambah prajurit lagi dimana pemain harus membunuh prajurit1 dan prajurit2,

namun tingkat kesulitan pun berbeda dengan level 1 karena di level 2 prajuritnya bisa

menembak dan memukul.

6. Level ini merupakan level akhir pada game petualangan Si Pitung. Misinya pun sama

seperti level 1 dan level 2, namun pada level akhir ini akan mendapatkan senjata untuk

membantu menghadapi prajurit dan 1 sosok Menir(boss) sekaligus yang harus dikalahkan

oelh pemain.

7. Pemain harus menyelamatkan warga untuk dapat melanjutkan permainan ke level

selanjutnya.

3.4.4 Misi

(43)

3.4.5 Sasaran Pemain dan Kegunaan Game

Sasaran pemain menentukan layak tidaknya pemain memainkan permainan ini. Berikut adalah sasaran pemain yang layak memainkan permainan ini :

1. Berdasarkan umur pengguna yaitu 9 tahun ke atas.

2. Dapat mempergunakan komputer, karena Game berbentuk aplikasi java. Kegunaan Game menunjukan kegunaan Game untuk pemain. Kegunaan dalam Game ini untuk memperkenalkan cerita rakyat dari betawi, sehingga pengguna dengan umur muda dapat bermain dan mengenal tokoh si pitung dari menyelesaikan permainan ini.

3.5 Analisis Algoritma

Analisis algoritma yang dilakukan dalam penelitian ini adalah meneliti bagaimana cara kerja algoritma A* pada prajurit belanda dan menir di dalam

Game. Kondisi dimana musuh dapat mencari dan menyerang pemain ketika muncul.

3.5.1 Analisis Algoritma A* pada NPC

(44)

Pada kondisi awal, simpul awal atau posisi musuh dicontohkan berada pada koordinat (1,0) sedangkan simpul tujuan simpul tujuan atau posisi karakter pemain berada pada koordinat (3,0) dalam arena permainan.

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang mungkin diperiksa

Gambar 3.3 kondisi awal pencarian A*

Langkah selanjutnya akan dilakukan pemeriksaan terhadap simpul-simpul yang bertetangga yang memiliki nilai cost / biaya terkecil sebagai Best Node

sebagai rute yang akan dipilih peluru, dengan melakukan langkah perhitungan sebagai berikut:

Pada langkah pertama akan diperiksa simpul pada koordinat n(1,0) dan koordinat n(0,1).

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang diperiksa

(45)

a. Koordinat n(1,0) Nilai n.x = 1

Nilai n.y = 0

Simpul tujuan(3,0) sehingga goal.x = 3, goal.y = 0

g (1,0) = 1

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

h_orthogonal(1,0) = (abs(1 - 3) + abs(0 - 0))

= (abs(-2) + abs(0))

= 2

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

h_diagonal(1,0) = min(abs(1 - 3)+abs(0 - 0))

= min(abs(-2)+abs(0))

= min 2

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n)))

h(1,0) = (- 2) + (2-(2*(-2)))

= -2 + 6

= 4

(46)

= 1 + 4

= 5

b. Koordinat n(0,1) Nilai n.x = 0

Nilai n.y = 1

Simpul tujuan(3,0) sehingga goal.x = 3, goal.y = 0

g(n) = g (0,1) = 1

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

h_orthogonal(0,1) = (abs(0 - 2) + abs(1 - 0))

= (abs(-2) + abs(1))

= 3

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

h_diagonal(0,1) = min(abs(0 - 2)+abs(1 - 0))

= min(abs(-2)+abs(1))

= min 3

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n)))

h(0,1) = (-3) + (3-(2*(-3)))

(47)

= 6

f (0,1) = g (0,1) + h (0,1)

= 1 + 6

= 7

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang diperiksa

Gambar 3.5 Pencarian BestNode pertama

Dari hasil perhitungan diatas seperti terlihat pada gambar 3.7 terdapat tiga simpul yang mungkin menjadi BestNode yaitu (1,0) dengan f(n)=5 dan (0,1) dengan f(n)=7. Dari ke dua simpul yang mungkin maka dipilihlah simpul (1,0) sebagai Best Node karena memiliki biaya terkecil yaitu 5.

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang dipilih

Gambar 3.6 Simpul yang terpilih sebagai BestNode

Langkah selanjutnya akan dilakukan pemeriksaan terhadap simpul-simpul yang bertetangga yang memiliki nilai cost / biaya terkecil sebagai Best Node

(48)

Pada langkah pertama akan diperiksa simpul pada koordinat n(2,0) dan koordinat n(1,1).

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang diperiksa

Gambar 3.7 Penelusuran kedua pada koordinat n(2,0), n(1,1)

c. Koordinat n(2,0) Nilai n.x = 2

Nilai n.y = 0

Simpul tujuan(3,0) sehingga goal.x = 3, goal.y = 0

g (2,0) = 2

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

h_orthogonal(2,0) = (abs(2 - 3) + abs(0 - 0))

= (abs(-1) + abs(0))

= 1

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

h_diagonal(2,0) = min(abs(2 - 3)+abs(0 - 0))

(49)

= min 1

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n)))

h(2,0) = (- 1) + (1-(2*(-1)))

= -1 + 3

= 2

f (2,0) = g (2,0) + h (2,0)

= 2 + 2

= 4

d. Koordinat n(1,1) Nilai n.x = 1

Nilai n.y = 1

Simpul tujuan(3,0) sehingga goal.x = 3, goal.y = 0

g(n) = g (1,1) = 2

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

h_orthogonal(1,1) = (abs(1 - 2) + abs(1 - 0))

= (abs(-1) + abs(1))

= 2

(50)

h_diagonal(1,1) = min(abs(1 - 2)+abs(1 - 0))

= min(abs(-1)+abs(1))

= min 2

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n)))

h(1,1) = (-2) + (2-(2*(-2)))

= -2 + 6

= 4

f (1,1) = g (1,1) + h (1,1)

= 2 + 4

= 6

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang diperiksa

Gambar 3.8 Pencarian BestNode kedua

(51)

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang dipilih

Gambar 3.9 Simpul yang terpilih sebagai BestNode

Setelah mendapatkan BestNode dilangkah pertama, dilakukan penelusuran lanjutan untuk mendapatkan BestNode selanjutnya dengan melakukan penelusuran simpul – simpul yang memiliki nilai cost terkecil. Seperti pada langkah pertama dilakukan lagi penelusuran pada koordinat n(3,0) dan n(2,1).

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang diperiksa

Simpul yang dipilih

Gambar 3.10 penelusuran ketiga pada koordinat n(3,0), n(2,1) e. Koordinat n(3,0)

Nilai n.x = 3

Nilai n.y = 0

Simpul tujuan(3,0) sehingga goal.x = 3, goal.y = 0

g(n) = g (3,0) = 3

(52)

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

= (abs(0) + abs(0))

= 0

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

h_diagonal(3,0) = min(abs(3 - 3)+abs(0 - 0))

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

= min 0

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n)))

h(3,0) = (-0) + (0-(2*(-0)))

= 0 + 0

= 0

f (3,0) = g (3,0) + h (3,0)

= 3 + 0

= 3

f. Koordinat n(2,1) Nilai n.x = 2

Nilai n.y = 1

(53)

g(n) = g (3,0) = 3

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

h_orthogonal(2,1) = (abs(2 - 3) + abs(1 - 0))

= (abs(-1) + abs(1))

= 2

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

h_diagonal(2,1) = min(abs(2 - 3)+abs(1 - 0))

= min(abs(-1)+abs(1))

= min 2

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n)))

h(2,1) = (-2) + (2-(2*(-2)))

= -2 + 6

= 4

f (2,1) = g (2,1) + h (2,1)

= 3 + 4

(54)

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang diperiksa Simpul yang dipilih Gambar 3.11 Pencarian BestNode ketiga

Pada gambar 3.10 terdapat tiga simpul yang mungkin menjadi BestNode

yaitu koordinat n(3,0) dengan f(n)=2. Koordinat n(3,0) dipilih sebagai Best node

karena memiliki biaya cost terkecil dan koordinat n(3,0) dikenali sebagai simpul tujuan yang berarti solusi untuk menemukan rute terpendek menuju posisi pemain.

Simpul tujuan / posisi pemain

Simpul awal / posisi musuh

Simpul yang dipilih

Gambar 3.12 Hasil pencarian jalur dengan Algoritma A*

(55)

3.6 Analisis Kebutuhan Non-Fungsional

Analisis kebutuhan non-fungsional dilakukan untuk mengetahui spesifikasi kebutuhan untuk sistem.Spesifikasi kebutuhan melibatkan analisis perangkat keras/hardware, analisis perangkat lunak/software, analisis perangkat pikir/user.

3.6.1 Analisis Kebutuhan Perangkat Keras

Analisis kebutuhan perangkat keras digunakan untuk mengetahui spesifikasi minimun perangkat keras dalam membangun Game si pitung akan dijelaskanpada tabel 3.4 berikut.

Tabel 3.4 Spesifikasi Perangkat Keras Pembangun

Nama Perangkat Spesifikasi

Processor 1.80Ghz

RAM 4GB

Harddisk 50 GB

Display Resolusi 1366 x 768

Keyboard Standar

Mouse Standar

Selain itu, untuk mengetahui spesifikasi minimum perangkat keras dalam menggunakan Game si pitung akan dijelaskan pada tabel 3.5 berikut.

Tabel 3.5 Spesifikasi Perangkat Keras Pengguna

Nama Perangkat Spesifikasi

Processor 1.80Ghz

RAM 512MB

Harddisk 200MB

Display Resolusi 800 x 600

Keyboard Standar

(56)

3.6.2 Analisis Kebutuhan Perangkat Lunak

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 si pitung ini dijelaskan pada tabel 3.6 berikut.

Tabel 3.7 Spesifikasi Kebutuhan Perangkat Lunak Pembangun Sistem operasi Windows 7 Ultimate 32-bit

Compiler Greenfoot

Development toolkit Java

Design tools Adobe Photoshop CS 3

Design analysis StarUML

Selain itu, perangkat lunak yang dibutuhkan untuk pengguna Game si pitung dijelaskan pada tabel 3.7 berikut.

Tabel 3.8 Spesifikasi Kebutuhan Perangkat Lunak Pengguna

Operating System Windows 7 Ultimate 32-bit

Tools Java vitual machine

3.6.3 Analisis Kebutuhan Perangkat Pikir

(57)

Tabel 3.8 Spesifikasi Pengguna

Peran Pemain

Usia 9 tahun ke atas

Tingkat Keterampilan Dapat menggunakan komputer

Kondisi Fisik Tidak cacat seperti buta atau cacat tubuh

3.7 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional dilakukan untuk mengetahui gambaran sistem yang akan dibangun. Analisis kebutuhan fungsional terdiri dari pendefinisan fungsi Game, penggambaran alir aktivitas pada Game dan penggambaran interaksi antar objek pada Game.

Pendefinisian fungsi Game digunakan untuk menggambarkan fungsi-fungsi pada Game. Pendefinisian fungsi pada Game ini digambarkan dengan menggunakan use case diagram, definisi aktor,definisiuse case dan skenario use case.

3.7.1

Use Case Diagram

Penggambaran fungsi Game berdasarkan interaksi antar aktor dan objek pada sistem digambarkan dengan menggunakan diagram use case seperti pada gambar 3.13.

(58)

1.1. Definisi Aktor

Definisi aktor berfungsi menjelaskan peran setiap aktor yang terdapat pada use case. Berikut ini adalah definisi aktor.

Tabel 3.9 Definisi Aktor

No. Aktor Deskripsi

1. Pemain Pengguna/orang yang memainkan Game ini.

1.2. Definisi Use Case

Definisi use case berfungsi menjelaskan tiap-tiap proses dan objek yang terdapat pada use case. Berikut ini adalah definisi use case.

Tabel 3.10 Definisi Use Case No. Use Case Deskripsi

1. Memulai permainan Proses memulai permainan

2. Melihat petunjuk Proses menampilkan petunjuk permainan 3. Mengatur suara Proses pengaturan suara

4. Menampilkan intro Proses cerita permainan

5. Melompat Proses aksi pemain dalam permainan

6. Memukul Proses aksi pemain dalam permainan 7. Menampilkan

permainan level 1

Proses memulai permainan level 1

8. Menampilkan permainan level 2

Proses memulai permainan level 2

9. Menampilkan permainan level 3

Proses memulai permainan level 3

10. Keluar permainan Proses keluar permainan

3.7.2 Skenario Use Case

(59)

Case tersebut dari awal sampai akhir. Adapun skenario Use Case yang terdapat pada aplikasi permainan si pitung ini adalah sebagai berikut:

1. Skenario Use Case Memulai Permainan

Table 3.11 Skenario Use Case Mulai Permainan Identifikasi

Nomor 1

Nama Memulai Permainan

Tujuan Mulai permainan

Deskripsi Proses untuk memulai permainan

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain memilih menu mulai saat berada di menu utama Game

Aksi Aktor Reaksi Sistem

1. Memilih menu mulai

2. Menampilkan intro permainan 3. Tekan tombol lanjut

4. Tampil menu utama

2. Skenario Use Case Melihat Petunjuk

Table 3.12 Skenario Use Case Melihat Petunjuk Identifikasi

Nomor 2

Nama Melihat Petunjuk

Tujuan Menampilkan informasi permainan

Deskripsi Proses untuk menampilkan informasi permainan

Aktor Pemain

Skenario Utama

(60)

Aksi Aktor Reaksi Sistem 1. Memilih menu petunjuk

2. Menampilkan halaman petunjuk 3. Menekan tombol kembali

4. Menampilkan halaman utama

3. Skenario Use Case Mengatur Suara

Table 3.13 Skenario Use Case Mengatur Suara Identifikasi

Nomor 3

Nama Mengatur Suara

Tujuan Mengatur suara permainan

Deskripsi Proses untuk mengatur suara permainan

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain memilih menu suara saat berada di menu utama

Aksi Aktor Reaksi Sistem

1. Memilih menu sound

2. Menampilkan pengaturan suara 3. Menekan tombol on

4. Menampilkan suara 5. Menekan tombol off

6. Tidak menampilkan suara

4. Skenario Use Case Menampilkan Intro

Table 3.14 Skenario Use Case Menampilkan Intro Identifikasi

Nomor 4

(61)

Tujuan Menampilkan intro permainan

Deskripsi Proses untuk menampilkan intro permainan

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain melihat intro permainan saat berada dalam halaman intro

Aksi Aktor Reaksi Sistem

1. Menekan tombol lanjut

2. Menampilkan intro 3. Menekan tombol lanjut

4. Menampilkan permainan

5. Skenario Use Case Melompat

Table 3.15 Skenario Use Case Melompat Identifikasi

Nomor 5

Nama Melompat

Tujuan Menampilkan aksi pemain dalam permainan

Deskripsi Proses untuk menampilkan aksi pemain dalam permainan

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain melompat saat berada dalam permainan.

Aksi Aktor Reaksi Sistem

1. Menekan tombol w

2. Menampilkan aksi melompat

6. Skenario Use Case Memukul

(62)

Nomor 6

Nama Memukul

Tujuan Menampilkan aksi pemain dalam permainan

Deskripsi Proses untuk menampilkan aksi pemain dalam permainan

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain menampilkan aksi memukul saat berada dalam permainan.

Aksi Aktor Reaksi Sistem

1. Menekan tombol k

2. Menampilkan aksi memukul 3. Jika aksi memukul bertabrakan

dengan musuh maka musuh akan mati.

7. Skenario Use Case Menampilkan Permainan level 1

Table 3.17 Skenario Use Case Menampilkan Permainan Level 1 Identifikasi

Nomor 7

Nama Menampilkan level 1

Tujuan Menampilkan permainan level 1

Deskripsi Proses untuk mulai memainkan

permainan level 1

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain mulai memainkan permainan saat berada di tampilan permainan level 1

(63)

1. Menggerakan karakter

2. Tampil gerakan karakter 3. Cek tabrakan

4. Jika karakter menabrak musuh, life poin berkurang

5. Cek life point

6. Jika life poin = 0, maka permainan akan diulang kembali

7. Jika life poin != 0, maka karakter masih bisa dimainkan

8. Menekan tombol K

8. Karakter memukul 9. Cek tabrakan pukulan

10.Jika pukulan menabrak musuh, maka life poin musuh berkurang 11.Jika life poin musuh = 0, maka

musuh akan mati

12.Jika life poin > 0, maka musuh hidup

13.Cek jumlah warga

14.Jika warga diselamatkan maka pemain mendapatkan life poin = 10

15.Akhiri permainan Kondisi akhir Menampilkan permainan level 2

16. Skenario Use Case Menampilkan Permainan level 2

Table 3.18 Skenario Use Case Menampilkan Permainan Level 2 Identifikasi

(64)

Nama Menampilkan level 2

Tujuan Menampilkan permainan level 2

Deskripsi Proses untuk mulai memainkan

permainan level 2

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain mulai memainkan permainan saat berada di tampilan permainan level 2

Aksi Aktor Reaksi Sistem

1. Menggerakan karakter

2. Tampil gerakan karakter 3. Cek tabrakan

4. Jika karakter menabrak musuh, life poin berkurang

5. Cek life point

6. Jika life poin = 0, maka permainan akan diulang kembali

7. Jika life poin != 0, maka karakter masih bisa dimainkan

8. Menekan tombol B

8. Karakter memukul 9. Cek tabrakan pukulan

10.Jika pukulan menabrak musuh, maka life poin musuh berkurang 11.Jika life poin musuh = 0, maka

musuh akan mati

12.Jika life poin > 0, maka musuh hidup

(65)

14.Jika warga diselamatkan maka pemain mendapatkan life poin = 10

15.Akhir permainan

Kondisi akhir Menampilkan permainan level 3

17. Skenario Use Case Menampilkan Permainan level 3

Table 3.19 Skenario Use Case Menampilkan Permainan Level 3 Identifikasi

Nomor 9

Nama Menampilkan level 3

Tujuan Menampilkan permainan level 3

Deskripsi Proses untuk mulai memainkan

permainan level 3

Aktor Pemain

Skenario Utama

Kondisi Awal Pemain mulai memainkan permainan saat berada di tampilan permainan level 3

Aksi Aktor Reaksi Sistem

1. Menggerakan karakter

2. Tampil gerakan karakter 3. Cek tabrakan

4. Jika karakter menabrak musuh, life poin berkurang

5. Cek life point

6. Jika life poin = 0, maka permainan akan diulang kembali

(66)

8. Menekan tombol B

8. Karakter mengeluarkan golok 9. Cek tabrakan golok

10.Jika golok menabrak musuh, maka life poin musuh berkurang

11.Jika life poin musuh = 0, maka musuh akan mati

12.Jika life poin > 0, maka musuh hidup

13.Cek jumlah warga

14.Jika warga diselamatkan maka pemain mendapatkan life poin = 10

15.Jika life point boss = 0, maka permainan akan berakhir 16.Jika life point boss!= 0, maka

permainan tidak akan berakhir 17.Akhir permainan

Kondisi akhir Menampilkan intro

18. Skenario Use Case Keluar Permainan

Table 3.20 Skenario Use Case Keluar Permainan Identifikasi

Nomor 10

Nama keluar Permainan

Tujuan keluar permainan

Deskripsi Proses untuk keluar permainan

Aktor Pemain

Skenario Utama

(67)

kanan Game

Aksi Aktor Reaksi Sistem

5. Memilih tombol exit

6. keluar permainan

3.7.2 Activity Diagram

Diagram ini berisi penjelasan secara lengkap mengenai urutan aktivitas yang terjadi antara pemain dengan game si Pitung.

1. Activity Diagram Memulai Permainan

Proses ini terjadi saat pemain memulai permainan si Pitung. Sistem akan menampilkan halaman utama dari permainan si Pitung. Activity Diagram Mulai Permainan terdapat pada gambar 3.14 berikut:

Gambar 3.14 Activity Diagram Memulai Permainan

2. Activity Diagram Melihat Petunjuk

Proses ini terjadi saat pemain memulai memilih menu petunjuk pada game

Gambar

Gambar 2.11 Class Diagram pada sistem informasi perpustakaan.
Gambar 2.12 Sequence Diagram login.
Gambar 3.8 Pencarian BestNode kedua
Table 3.15 Skenario Use Case Melompat
+7

Referensi

Dokumen terkait

Penelitian ini merupakan penelitian lapangan ( field research ), dengan pengumpulan data yang dilakukan menggunakan metode catatan pengamatan, wawancara dan

Penelitian ini bertujuan untuk mengetahui (1) Saluran pemasaran comring pada Perusahaan Dua Putri HR di Desa Linggapura Kecamatan Kawali Kabupaten Ciamis, (2)

Color constancy atau ketetapan warna adalah salah satu keistimewaan dari sistem penglihatan manusia, yang mengusahakan agar warna yang diterima dari suatu benda terlihat

Berdasarkan hasil Penelitian Tindakan Kelas diatas prosentasi ketercapaian pada siklus pertama mengalami peningkatan yang signifikan pada siklus kedua, maka

Tetapi peratusan pelajar yang menyatakan mereka minat membaca buku sastera dalam Bahasa Melayu (kenyataan tiga) Hal ini berkemungkinan besar disebabkan oleh pilihan teks

Limbah adalah buangan yang dihasilkan dari suatu proses produksi baik industri maupun domestik (rumah tangga, yang lebih dikenal sebagai sampah), yang kehadirannya pada

Pengembangan kehidupan pribadi, yaitu bidang pelayanan yang membantu peserta didik dalam memahami, menilai dan mengembangkan potensi, kecakapan, bakat, minat sesuai

❑ Satu elemen aksara tatasusunan penuding juga boleh dicapai dengan cara yang sama untuk mencapai tatasusuanan rentetan, perhatikan contoh berikut:. ❑ Keratan atur cara di atas