• Tidak ada hasil yang ditemukan

Pembangunan aplikasi game puzzle And The Solver

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan aplikasi game puzzle And The Solver"

Copied!
132
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

DAFTAR RIWAYAT HIDUP

Data Pribadi

Nama : Wahyudi Fauzan

Tempat dan Tanggal Lahir : Kubang, 21 Februari 1989

Alamat : Jln. Dipatiukur Gg. Karya Simpang No. 312 Bandung

Jenis Kelamin : Laki-laki Tinggi / Berat Badan : 178 cm/ 55 kg

Agama : Islam

Telp / Cellular : 085274405006

Email : pucenk.schatzi@gmail.com

______________________________________________________________________

Latar Belakang Pendidikan Formal

2007-Sekarang : UNIVERSITAS KOMPUTER INDONESIA 2004-2007 : SMK N 1 Guguak

2001-2004 : MTS N 1 Padang Japang 1995-2001 : SD N 35 Kubang

(6)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika

Fakultas Teknik Dan Ilmu Komputer

WAHYUDI FAUZAN

10107615

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(7)

iii

KATA PENGANTAR

Alhamdulillah puji syukur kehadirat Allah Subhanallah Wata’ala karena

atas semua nikmatnya penulis dapat melakukan dan menyelesaikan penulisan skripsi sebagai salah satu persyaratan untuk memperoleh gelar sarjana pada Jurusan Teknik Infomatika Universitas Komputer Indonesia.

Dalam penulisan skripsi “PEMBANGUNAN APLIKASI GAME PUZZLE AND THE SOLVER”, penulis ingin mengucapkan banyak terimakasih kepada

pihak-pihak yang terkait dari awal kuliah sampai penyelesaian tugas akhir ini. Berikut adalah pihak yang ingin penulis sampaikan terimakasih :

1. Kepada kedua orang tua, Bapak Munasri Fachwar dan Ibu Yelmi Hertati yang telah banyak mendukung, mendoakan, dan memberikan semangat. 2. Ibu Tati Harihayati M., S.T., M.T. selaku dosen pembimbing, terima kasih

banyak bu atas bimbingan dan arahannya dalam penyusunan skripsi ini. 3. Bapak Galih Hermawan, S.Kom.,M.T. selaku dosen penguji seminar yang

ikut membimbing saya, terima kasih pak atas arahan dan masukannya. 4. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Program Studi Teknik

Informatika Universitas Komputer Indonesia.

5. Kepada seluruh dosen dan staff Jurusan Teknik Informatika Universitas Komputer Indonesia, terima kasih atas semua ilmu yang telah diberikan. 6. Kepada rekan-rekan IF-13 angkatan 2007 yang telah memberikan motifasi,

inspirasi, serta pengalaman yang tak ternilai harganya kepada penulis yang tidak dapat penulis sebutkan satu per satu.

(8)

iv menyeleseikan kuliah ini.

Akhir kata, semoga semua pihak yang telah memberikan bantuan mendapatkan balasan dari Allah SWT. Amin

Bandung, 5 Februari 2012

(9)

v

DAFTAR ISI

ABSTRAK ... i

ABSTRACT... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xi

DAFTAR LAMPIRAN ... xiii

DAFTAR REFERENSI PROPERTIES GAME ... xiv

BAB 1 PENDAHULUAN ... 1

1.1.LatarBelakang ... 1

1.2.Perumusan Masalah ... 2

1.3.Maksud dan Tujuan ... 2

1.3.1.Maksud ... 2

1.3.2.Tujuan ... 2

1.4.Batasan Masalah... 3

1.5.Metodologi Penelitian ... 3

1.6.Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1.Game ... 7

2.1.1.Jenis-jenis Game ... 7

2.1.2.GenreGame ... 8

2.1.3.Game Edukasi ... 10

2.2.Artificial Intelligence ... 11

2.2.1.Algoritma Greedy ... 12

2.2.2.Prinsip Utama Algoritma Greedy ... 12

2.2.3.Elemen Algoritma Greedy ... 12

(10)

vi

2.3.4.Autodesk MAYA 2011 ... 17

2.3.5.Google SketchUp ... 18

2.4.Analisis sistem Berorientasi Objek ... 19

2.4.1.OOP (Object Oriented Programming) ... 20

2.4.2.UML (Unified Modeling Language) ... 21

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 25

3.1.Analisis Sistem ... 25

3.1.1.Analisis Masalah... 25

3.1.2.Analisis Game Sejenis ... 25

3.1.3.Analisis Game Puzzle and The Solver ... 27

3.1.4.Analisis Kebutuhan Non-Fungsional ... 37

3.1.5.Analisis Kebutuhan Fungsional ... 39

3.1.5.1.Usecase Diagram ... 40

3.1.5.2.Skenario Usecase ... 41

3.1.5.3.Activity Diagram ... 43

3.1.5.4.Sequence Diagram ... 49

3.1.5.5.Class Diagram ... 52

3.2.Perancangan Sistem ... 53

3.2.1.Storyboard ... 54

3.2.2.Perancangan kuis Tebak Kata Game Puzzle and The Solver ... 57

3.2.3.Perancangan Antarmuka ... 64

3.2.4.Jaringan Semantik ... 69

3.2.5.Perancangan Method ... 70

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 75

4.1.Implementasi Sistem ... 75

4.1.1.Implementasi Perangkat Keras ... 75

(11)

vii

4.2.Pengujian Sistem ... 76

4.2.1.Rencana Pengujian... 76

4.2.2.Pengujian White Box ... 77

4.2.3.Pengujian Black Box ... 88

4.2.4.Pengujian Beta ... 90

4.2.5.Kesimpulan Pengujian ... 94

BAB 5 KESIMPULAN DAN SARAN ... 95

5.1.Kesimpulan ... 95

5.2.Saran ... 95

(12)

97 Kanisius.

[2] Munir, Rinaldi, 2007. Diktat kuliah IF2251 Strategi Algoritmik. Bandung: Program Studi, Teknik Informatika STEI ITB.

[3] Musfiroh, Tadkiroatun. 2008. Cerdas Melalui Bermain. Penerbit : Grasindo, Jakarta

[4] Kusumadewi, S., 2003, Artificial Intelligence (Teknik dan Aplikasinya), Penerbit : Graha Ilmu, Yogyakarta.

[5] Mulyani Sumantri, Nana Syaodih (2006). Perkembangan Peserta Didik. Jakarta: Penerbit Universitas Terbuka

[6] Missyamel, 2010, Pengertian Teknologi Game.

(http://joeyamel.blogspot.com/2010/04/pengertian-teknologi-game.html, diakses 18 juni 2012).

[7] Pressman, Roger, S. (2001), Software Engineering: A Practitioner’s Approach, Fifth Ed. New York, McGraw-Hill Book Company.

[8] Wijaya Nurdiansah, 2011, Pembangunan Aplikasi Game 2D Kabayan Saving Our Cultures, Skripsi, Teknik Informatika, Universitas Komputer Indonesia, Bandung.

[9] Widodo Pudjo Prabowo, Herlawati (2011). Menggunakan UML. Bandung: Informatika.

[10] Stanford, theory education, Heuristics.

(13)

1

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Game adalah salah satu implementasi bidang ilmu komputer yang perkembangannya sudah sangat pesat. Game juga merupakan bentuk aplikasi yang edukatif, artinya bisa dijadikan sebagai media pembelajaran dimana prosesnya bisa dilakukan dengan konsep belajar sambil bermain untuk anak-anak.

“Pada rentang usia 6 sampai 11 tahun, siswa sekolah dasar digolongkan pada masa perkembangan dan pertumbuhan. Pada masa ini, anak memiliki rasa ingin tahu yang besar serta mulai menjelajah dan mengeksplorasi berbagai hal misalnya dengan bermain game” [ 5 ]. Game edukasi atau edugames menerapkan sistem pembelajaran langsung kepada anak dengan pola Learning by doing. Salah satu

genre game yang dapat dimanfaatkan sebagai media edukasi adalah puzzle game, karena puzzle game dapat meningkatkan daya kreatifitas dan tingkat intelektual pemainnya. Menurut Adenan (1984:9) dinyatakan bahwa “puzzle dan games

adalah materi untuk memotivasi secara nyata dan merupakan daya penarik yang kuat. Puzzle dan games bisa memotivasi diri karena hal itu menawarkan sebuah

tantangan yang secara umum dapat dilaksanakan dengan berhasil” [ 1 ].

Developer game di Indonesia banyak yang telah menerapkan edugames

pada aplikasi game yang mereka buat dengan mengangkat tema kebudayaan Indonesia sebagai media pembelajaran kepada anak-anak, namun masih sangat jarang developer game yang membuat aplikasi edugames dengan menerapkan

(14)

Dari sekian banyak gamepuzzle, salah satu yang menarik untuk diterapkan pada sebuah game edukasi adalah permainan tebak kata. Penulis merasa tertarik untuk membangun suatu aplikasi game yang memperkenalkan kepada anak budaya-budaya tradisional yang ada di Indonesia dalam bentuk puzzle game

berbasis dekstop dengan judul Pembangunan Aplikasi Game Puzzle and The Solver. Aplikasi ini adalah sebuah aplikasi game edukasi bergenre Adventure game dengan tipe permainannya adalah berupa word puzzle game. Game ini diperuntukkan bagi siswa sekolah dasar pada rentang usia antara 6 sampai 11 tahun. Dengan adanya game ini diharapkan nantinya dapat menginspirasi anak untuk melestarikan budaya Indonesia.

1.2. Perumusan Masalah

Berdasarkan latar belakang di atas, permasalahan yang dapat dirumuskan yaitu, bagaimana membangun sebuah aplikasi game Puzzle and The Solver yang edukatif dan menarik sebagai media pembelajaran untuk memperkenalkan budaya Indonesia dengan menerapkan tipe permainan berupa Adventure game dengan

subgenre word puzzle game?

1.3. Maksud dan Tujuan

Maksud dan tujuan dari pembangunan aplikasi game puzzle and the solver ini adalah :

1.3.1. Maksud

Maksud dari penulisan tugas akhir ini adalah membangun aplikasi game puzzle and The Solver dengan tipe permainan berupapetualangan game tebak kata dan di dalamnya terdapat pesan-pesan untuk memperkenalkan kepada anak-anak kebudayaan tradisional yang ada di Indonesia.

1.3.2. Tujuan

Tujuan dari pembangunan aplikasi game puzzle and the solver ini adalah : 1. Membangun aplikasi game yang edukatif dan menarik berupa game

(15)

3

2. Membangun aplikasi game sebagai media aternatif pengenalan dan pembelajaran budaya-budaya tradisional yang ada di Indonesia kepada anak-anak dengan rentang usia antara 6 sampai 11 tahun.

1.4. Batasan Masalah

Batasan masalah pada penelitian ini adalah sebagai berikut :

1. Aplikasi yang dibangun adalah aplikasi yang mengangkat tema kebudayaan tradisional Indonesia berupa permainan Adventure Word Puzzle (Petualangan kuis Tebak Kata).

2. Algoritma yang digunakan pada kuis tebak kata adalah algoritma Greedy. 3. Game ini diperuntukan bagi anak-anak dengan rentang usia 6 sampai 11

tahun atau tingkat sekolah dasar. 4. Game ini dibangun berbasis dekstop.

5. Game ini menerapkan genreAdventure Game dengan jenis permainan berupa

wordpuzzle atau game Tebak Kata.

6. Pada aplikasi game ini hanya menyangkut tiga kebudayaan Indonesia, yaitu kebudayaan Sumatera Barat, kebudayaan Jawa Barat, dan kebudayaan Papua. 7. Pada aplikasi ini pemain hanya satu orang sebagai solver.

8. Soal dan kata yang akan ditebak pemain pada kuis tebak kata disediakan oleh sistem.

9. Software yang digunakan untuk membangun game ini adalah Unity 3D, Google SketchUp, dan Autodesk Maya 2011.

1.5. Metodologi Penelitian

Metodologi penelitian yang digunakan untuk membangun aplikasi game puzzle and the solver adalah menggunakan analisis deskriptif, yaitu suatu metode yang bertujuan untuk mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan, tahapan-tahapannya adalah sebagai berikut :

(16)

1. Pengumpulan data

Metode penelitian pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi literatur.

Studi literatur adalah metode pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang diperlukan untuk membangun aplikasi gamepuzzle.

b. Observasi

Observasi adalah metode pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil, agar penyusun dapat mengetahui apa saja yang terdapat pada game bertipe puzzle.

2. Pembuatan perangkat lunak.

Metode pembuatan perangkat lunak yang digunakan dalam pengembangan aplikasi game Puzzle and The Solver menggunakan paradigma model waterfall

yang mengacu pada aturan Roger S. Pressman dimana tahap demi tahap proses yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Adapun penjelasannya adalah sebagai berikut :

a. Requirement Definition

Requirement definition merupakan tahap mengumpulkan kebutuhan secara lengkap kemudian 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

System and Software Design adalah tahap dimana proses desain sistem terbagi dalam kebutuhan perangkat keras dan perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditransformasikan kedalam satu atau lebih program yang dapat dieksekusi.

c. Implementation and Unit Testing

(17)

5

Pengujian unit mencakup kegiatan verifikasi terhadap suatu unit sehingga memenuhi syarat spesifikasinya.

d. Integration and System Testing

Integration and system testing merupakan tahap dimana unit program secara individual diintegrasikan dan diuji sebagai satu sistem yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak disampaikan kepada

user.

e. Operation and Maintenance

Operation and maintenance secara normal walaupun tidak selalu diperlukan, tahap ini merupakan bagian siklus hidup yang panjang. Sistem telah terpasang dan sedang dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam tahap-tahap sebelumnya, meningkatkan implementasi unit-unit sistem dan mempertinggi pelayanan sistem yang disebabkan oleh ditemukannya kebutuhan baru. Penggambaran dari penjelasan diatas dapat dilihat pada Gambar 1.1 [7].

Gambar 1. 1 Metode Waterfall 1.6. Sistematika Penulisan

(18)

BAB 1 PENDAHULUAN

Bab ini menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini menguraikan tentang teori-teori yang relevan dengan kajian penelitian dan hal-hal lainnya yang mendukung penelitian serta berguna dalam pengembangan aplikasi gamePuzzle and The Solver.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menguraikan tentang proses rekayasa balik dari aplikasi permainan yang dijadikan acuan kemudian menganalisis hasilnya untuk kebutuhan pengembangan aplikasi. Selain itu diuraikan pula mengenai tahap perancangan aplikasi berdasarkan dari hasil analisisnya.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini menguraikan implementasi dari pembangunan aplikasi game Puzzle and The Solver dan berisi tentang perancangan dalam pembuatan sistem dan tahapan-tahapan yang dilakukan untuk menerapkan sistem yang telah dirancang. Mulai perancangan dan pembuatan soal tebak kata, menu dan

environtment game sampai penerapan Artificial Intelligence pada musuh. Pengujian sistem yang dilakukan menggunakan metode whitebox testing dan

blackbox testing.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari uraian proses pembangunan aplikasi game

(19)

7

BAB 2

LANDASAN TEORI

2.1. Game

Game adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius atau dengan tujuan refreshing. Suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional.

"Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi ” [ 6 ].

2.1.1. Jenis-jenis Game

Ada beberapa jenis platform di dunia game yang selalu dipilih oleh pengguna games , yaitu [ 8 ] :

(20)

2. PC Games , yaitu video game yang dimainkan menggunakan Personal Computers.

3. Console games, yaitu video games yang dimainkan menggunakan console tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii. 4. Handheld games, yaitu yang dimainkan di console khusus video game yang

dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

5. Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile phone

atau PDA. 2.1.2. Genre Game

Game dibagi atas beberapa genre, diantaranya yaitu [ 8 ] :

1. Action Shooting (tembak – menembak). Menembak , memukul , bisa juga tusuktusukan, tergantung cerita dan tokoh di dalamnya, video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak, tembak dan tembak.

Contoh : CS (Counter Strike) dan Crysis.

2. Fighting (pertarungan). Ada yang mengelompokan video game fighting di bagian Aksi, namun penulis berpendapat berbeda, jenis ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari

game ini adalah penguasaan jurus (hafal caranya dan lancar mengeksekusinya), pengenalan karakter dan timing sangatlah penting, iya, combo-pun menjadi esensial untuk mengalahkan lawan secepat mungkin. Contoh : Mortal Kombat dan Tekken.

(21)

9

dari banyak hal yang karakter pemain harus lakukan dan lalui dalam video

game jenis ini.

Contoh : Kings Quest, dan Space Quest.

4. Strategy (strategi). Video game strategi biasanya memberikan pemain atas kendali tidak hanya satu orang tapi minimal sekelompok orang dengan berbagai jenis tipe kemampuan, sampai kendaraan, bahkan hingga pembangunan berbagai bangunan, pabrik dan pusal pelatihan tempur, tergantung dari tema ceritanya. Kebanyakan game stategi adalah game

perang. Contoh : Warcraft.

5. Simulation (Simulasi). Video game jenis ini seringkali menggambarkan dunia di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga membangun laboratorium cloning. Video Game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas.

6. Puzzle (teka-teki). Video game jenis ini sesuai namanya berintikan mengenai pemecahan teka-teki, baik itu menyusun balok, menyamakan warna bola, memecahkan perhitungan matematika, melewati labirin, sampai mendorong-dorong kota masuk ke tempat yang seharusnya, itu semua termasuk dalam jenis ini. Sering pula game jenis ini adalah juga unsur game dalam video

game petualangan maupun game edukasi

7. Sport game (Olahraga). Game ini merupakan adaptasi dari kenyataan, membutuhkan kelincahan dan juga strategi dalam memainkannya. Game

(22)

8. RPG (Role Playing Game). Video game jenis ini sesuai dengan terjemahannya, bermain peran, memiliki penekanan pada tokoh/peran perwakilan pemain di dalam game, yang biasanya adalah tokoh utamanya, dimana seiring kita memainkannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter, senjata yang semakin sakti, ataupun jumlah teman maupun mahluk peliharaan.

9. Education (edukasi). Game edukasi merupakan paket software yang menciptakan kemampuan pada lingkungan game yang diberikan sebagai alat bantu untuk memotivasi atau membantu siswa untuk melalui prosedur game

secara teliti untuk mengembangkan kemampuannya. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan design visual ataupun animasinya.

2.1.3. Game Edukasi

Sesuai dengan arti bahasa Indonesia, Game berarti permainan, sedangkan edukasi adalah pendidikan.

Game edukasi adalah salah satu genre game yang digunakan untuk memberikan pengajaran / menambah pengetahuan penggunanya melalui suatu media unik dan menarik. Ada beberapa kriteria game edukasi yang ideal yaitu: 1. Rasa ingin tahu, fantasi dan kontrol pengguna

a. Motivasi intrinsik, menyenangkan untuk digunakan. Pengguna memiliki kontrol terhadap permainan.

b. Integrasi antara materi edukasi dan aspek fantasi permainan

c. Mendorong keingintahuan, pengguna dapat melakukan eksplorasi bebas, permainan mengandung rahasia tersembunyi.

(23)

11

f. Materi edukasi disesuaikan dengan materi dunia nyata. 2. Tantangan

a. Tantangan diberikan secara terus menerus tapi disesuaikan dengan tingkat pemahaman pemain.

b. Menyediakan hint dan instruksi untuk membantu pengguna. 3. Pengguna anak-anak dan yang berkebutuhan khusus

a. Gambar, objek, layar tertata rapi.

b. Permainannya sendiri merupakan aktivitas yang penting (play for the sake of play).

c. Menginspirasi anak, bahkan setelah komputer dimatikan.

2.2. Artificial Intelligence

Kecerdasan buatan sering disebut juga dengan Artificial Intelligence (AI) merupakan salah satu bagian ilmu komputer yang mempelajari tentang bagaimana caranya agar komputer dapat melakukan pekerjaan seperti yang dapat dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan zaman, teknologi komputer semakin ditingkatkan dan peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, melainkan komputer diharapkan dapat diberdayakan untuk mengerjakan hal-hal yang dapat memudahkan pekerjaan manusia.

(24)

dengan kemampuan menalar yang sangat baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik.

Agar komputer bisa bertindak seperti apa yang dapat dilakukan manusia, maka komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar. Untuk itu AI akan mencoba untuk memberikan beberapa metode untuk membekali komputer dengan kedua komponen tersebut agar komputer bisa menjadi mesin yang pintar [ 4 ] .

2.2.1. Algoritma Greedy

Algoritma Greedy adalah algoritma yang untuk membentuk solusi langkah perlangkah. 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 [ 2 ].

2.2.2. Prinsip Utama Algoritma Greedy

Prinsip utama algoritma greedy adalah “take what you can get now”.

Maksud dari prinsip tersebut adalah pada setiap langkah dalam algoritma greedy, diambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah selanjutnya. Solusi tersebut disebut dengan optimum lokal. Kemudian saat pengambilan nilai optimum lokal pada setiap langkah, diharapkan tercapai optimum global, yaitu tercapainya solusi optimum yang melibatkan keseluruhan langkah dari awal sampai akhir.

2.2.3. Elemen Algoritma Greedy

Elemen-elemen yang digunakan dalam penerapan algoritma greedy antara lain :

(25)

13

3. Fungsi Seleksi, adalah fungsi yang memilih kandidat yang paling mungkin untuk mencapai solusi optimal.

4. Fungsi Kelayakan, adalah fungsi yang memeriksa apakah suatu kandidat yang dipilih dapat memberikan solusi yang layak. Maksudnya yaitu apakah kandidat tersebut bersama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala yang ada.

5. Fungsi Solusi, adalah 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, adalah fungsi yang mengoptimalkan solusi.

2.2.4. Metode Path finding

Path finding merupakan metode yang sangat dibutuhkan pada berbagai

game, terutama game 3d. Path finding digunakan untuk menentukan arah pergerakan suatu objek dari satu tempat ke tempat lain berdasarkan keadaan peta dan objek lainnya. Dalam pemecahan path finding akan dibutuhkan algoritma yang dapat dengan cepat memproses dan menghasilkan arah yang terpendek untuk mencapai suatu lokasi target. Algoritma yang digunakan untuk path finding sudah banyak yang ditemukan. Misalnya Bellman–Ford, Dijkstra, Floyd–Warshall, dan A star [2].

2.2.4.1. Algoritma A* (A star)

Algoritma A star merupakan perbaikan dari metode BFS (Best First Search) dengan memodifikasi fungsi heuristiknya. A star akan meminimumkan total biaya lintasan yang terdapat di metode BFS. Pada kondisi yang tepat, A star

akan memberikan solusi yang terbaik dalam waktu yang optimal. Pada pencarian

(26)

Beberapa terminologi dasar yang terdapat pada algoritma A star adalah

starting point, simpul (nodes), A, open list, closed list, harga (cost), halangan (unwalkable). Starting point adalah sebuah terminologi untuk posisi awal sebuah benda. A adalah node yang sedang dijalankan dalam algortima pencarian jalan terpendek. Node adalah petak-petak kecil sebagai representasi dari area path finding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga. Open list

adalah tempat menyimpan data node yang mungkin diakses dari starting point

maupun simpul yang sedang dijalankan. Closed list adalah tempat menyimpan data simpul sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan.

Harga (F) adalah nilai yang diperoleh dari penjumlahan nilai G, jumlah nilai tiap simpul dalam jalur terpendek dari starting point ke A, dan H, jumlah nilai perkiraan dari sebuah simpul ke simpul tujuan. Simpul tujuan adalah simpul yang akan dituju. Rintangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A.

A star memiliki 2 fungsi utama dalam menentukan solusi terbaik. Fungsi pertama disebut sebagai g(n) merupakan fungsi yang digunakan untuk menghitung total cost yang dibutuhkan dari starting point menuju node tertentu. Fungsi kedua yang biasa disebut sebagai h(n) merupakan fungsi perkiraan total

cost yang diperkirakan dari suatu node ke node akhir.

Pada A star, setiap node dari node awal ditelusuri kemudian dihitung cost

dari tiap-tiap node dan dimasukkan ke tabel prioritas. Node dengan cost paling rendah akan diberikan tingkat prioritas paling tinggi. Kemudian pencarian dilanjutkan pada node dengan nilai prioritas tertinggi pada tabel.

f(n) = g(n) + h(n) dengan :

n = posisi koordinat node

(27)

15

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

Nilai F adalah cost perkiraan suatu node yang teridentifikasi. Nilai F merupakan hasil dari f(n). Nilai G hasil dari fungsi g(n), adalah banyaknya langkah yang diperlukan untuk menuju ke node sekarang. Setiap node (node)

harus memiliki informasi nilai h(n), yaitu estimasi harga node tersebut dihitung dari node tujuan yang hasilnya menjadi nilai H.

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

2.2.4.2. Fungsi Heuristik Manhattan Distance

Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness). Fungsi Heuristik digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan [10].

A star sebagai algoritma pencarian yang menggunakan fungsi heuristik untuk pencarian rute node-node pada peta. Ada beberapa fungsi heuristik umum yang bisa dipakai untuk algoritma A star ini, salah satunya adalah Manhattan distance. Rumus dari heuristik Manhattan distance adalah sebagai berikut :

h(n) = D * (abs(n.x-goal.x) + abs(n.y-goal.y))

Dimana h(n) adalah sebuah fungsi heuristik. D (distance) adalah jarak dari note awal (starting point) menuju note tujuan (goal).

2.3. Aplikasi Pembangun perangkat lunak

(28)

2.3.1. Unity 3D

Unity 3d adalah sebuah software development yang terintegrasi untuk menciptakan video game atau konten lainnya seperti visualisasi arsitektur atau

real-time animasi 3D. Unity 3D dapat digunakan pada microsoft Windows dan MAC OS X, dan permainan yang dihasilkan dapat dijalankan pada Windows, MAC, Xbox 360, OlayStation 3, Wii, iPad, iPhone, Android dan Linux. Unity 3D juga dapat menghasilkan permainan untuk browser dengan menggunakan plugin

Unity Web Player. Unity 3D juga memiliki kemampuan untuk mengekspor permainan yang dibangun untuk fungsionalitas Adobe Flash 3D.

2.3.2. Microsoft Visual Studio 2010

Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual F#, Visual FoxPro, dan Visual SourceSafe. Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft

Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows

Mobile (yang berjalan di atas .NET Compact Framework).

(29)

17

ditujukan untuk .NET Framework 1.0. Versi-versi tersebut di atas kini dikenal dengan sebutan Visual Studio .NET, karena memang membutuhkan Microsoft .NET Framework. Sementara itu, sebelum muncul Visual Studio .NET, terdapat Microsoft Visual Studio 6.0 (VS1998).

2.3.3. Pemrograman C#

C# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan. Menurut standar ECMA-334 C# Language Specification, nama C# terdiri atas sebuah huruf Latin C (U+0043) yang diikuti oleh tanda pagar yang menandakan angka # (U+0023). Tanda pagar # yang digunakan memang bukan tanda kres dalam seni musik (U+266F), dan tanda pagar # (U+0023) tersebut digunakan karena karakter kres dalam seni musik tidak terdapat di dalam keyboard standar.

2.3.4. Autodesk MAYA 2011

Maya pada mulanya merupakan generasi animasi produk yang sedang dikembangkan di Research Alias, Inc berdasarkan kode dari The Visualizer Advanced, PowerAnimator dan Alias Sketch!. Kode adalah porting ke IRIX dan fitur animasi yang ditambahkan. Nama kode untuk proyek ini port adalah Maya. Walt Disney bekerja sama erat dengan pengembangan Maya selama produksi dari Dinosaurus. Disney meminta agar User interface dari aplikasi menjadi disesuaikan sehingga alur kerja pribadi bisa dibuat. Ini adalah pengaruh tertentu dalam arsitektur terbuka Maya, dan sebagian bertanggung jawab untuk itu menjadi begitu populer di industri.

(30)

pengembangan) dilebur ke dalam Maya. Akuisisi SGI merupakan tanggapan terhadap Microsoft Corporation memperoleh Softimage, Co. Anak perusahaan yang dimiliki sepenuhnya baru bernama "Alias | Wavefront" .

Pada awal pembangunan, Maya dimulai dengan Tcl sebagai bahasa

scripting, dalam rangka untuk meningkatkan kesamaannya dengan bahasa shell Unix. Tapi setelah merger dengan Wavefront Sophia, bahasa scripting dalam Dynamation Wavefront, dipilih sebagai dasar MEL (Maya embedded language).

Maya 1.0 dirilis pada Februari 1998. Setelah serangkaian akuisisi, Maya dibeli oleh Autodesk pada tahun 2005. Di bawah nama perusahaan induk baru, diubah namanya menjadi Autodesk Maya. Namun, nama "Maya" terus menjadi nama yang dominan digunakan untuk produk.

2.3.5. Google SketchUp

SketchUp ini dikembangkan oleh perusahaan startup @ Last Software, Boulder, Colorado yang dibentuk pada tahun 1999. SketchUp pertama kali dirilis pada bulan Agustus 2000 sebagai tujuan umum alat pembuatan konten 3D. Aplikasi ini memenangkan penghargaan Community Choice Award di sebuah pameran pada tahun 2000. Kunci keberhasilan awal adalah masa belajar yang lebih pendek daripada alat 3D lainnya. Pada tanggal 14 Maret 2006, Google mengakuisisi @ Last Software, karena Google tertarik buat plugin untuk Google Earth.

Pada 9 Januari 2007, SketchUp 6 dirilis, yang menampilkan alat-alat baru serta versi beta Google SketchUp Layout. Vektor 2D Layout termasuk peralatan, serta alat-alat tata letak halaman dimaksudkan untuk memudahkan bagi para profesional untuk membuat presentasi tanpa berkerjasama dengan pihak ketiga program presentasi. Pada tanggal 9 Februari 2007, sebuah pembaruan dirilis. Ini mengoreksi beberapa bug, tetapi tidak membawa fitur baru.

(31)

19

3D Warehouse, Layout 2 komponen dinamis yang merespon tepat untuk scaling dan peningkatan kinerja API Ruby.

Google SketchUp

Pada tanggal 27 April 2006, Google mengumumkan Google SketchUp, yang bebas-download versi SketchUp. Versi gratis ini beda dengan versi SketchUp Pro, tetapi terpadu mencakup alat untuk meng-upload konten ke Google Earth dan Google 3D Warehouse, repositori model dibuat dalam SketchUp. Mereka juga menambahkan kotak peralatan baru di mana Anda dapat berjalan, melihat segala sesuatu dari sudut pandang seseorang, label untuk model, melihat-lihat alat, dan "Setiap poligon" bentuk alat. Sedangkan versi gratis dari Google Sketchup 3D hanya dapat mengekspor ke SKP dan Google Earth. Kmz format file, versi Pro bisa mengekspor dan memasukkan .3 ds,. Dae,. DWG,. DXF,. Fbx,. Obj,. XSI , dan. wrl format file. Google SketchUp juga dapat menyimpan "screenshot" dari model. Bmp,. Png,. Jpg,. Tif, dengan versi Pro juga mendukung. Pdf,. Eps,. Epx,. DWG, dan. DXF. Informasi lokasi GPS selalu disimpan dalam file KMZ. Bangunan desain sendiri dapat disimpan dalam SKP.

2.4. Analisis sistem Berorientasi Objek

(32)

2.4.1. OOP (Object Oriented Programming)

Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya, Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar.

Konsep dasar dari Pemrograman Berorientasi Objek menekankan konsep berikut:

1. Class - kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP.

2. Objek - 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.

(33)

21

4. Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak hanya metode dalam objek tersebut yang diberi izin 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.

5. Polimorfisme - melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim.

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

2.4.2. UML (Unified Modeling Language)

UML (Unified Modeling Language) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun system (Flowler, 2006). Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tools untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP.

(34)

informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan system.

Diagram-diagram dalam UML (Unified Modeling Language)

Beberapa litelatur menyebutkan bahwa UML menyediakn Sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misalnya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi. Namun demikian model-model itu dapat dikelompokan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain:

1. Use Case Diagram

Bersifat statis. Diagram ini memperlihatkan himpunan use-case dan aktor-aktor. Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna. Dapat dilihat pada gambar 2.1 [9].

(35)

23

2. Class Diagram

Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. Dapat digambarkan pada Gambar 2.2 [9].

Gambar 2. 2 Class diagram

3. Sequance Diagram

(36)

Gambar 2. 3 Sequence diagram

4. Activity Diagram

Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktivitas laiinya seperti Use Case atau interaksi. Dapat digambarkan pada Gambar 2.4 [9].

[image:36.595.145.427.445.712.2]
(37)

25

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis merupakan suatu proses penguraian konsep ke dalam bagian-bagian yang lebih sederhana, sehingga struktur logisnya menjadi jelas Metode untuk menguji, menilai, dan memahami sistem dengan memecahkannya ke dalam unsur-unsur yang lebih sederhana. Pada sub bab ini akan membahas mengenai sistem atau prosedur yang sedang berjalan pada aplikasi game Puzzle and The Solver.

3.1.1. Analisis Masalah

Pembelajaran dan pengenalan kebudayaan melalui permainan merupakan proses pembelajaran yang lebih menekankan pada penyajian bentuk permainan dengan muatan pentingnya mengenali dan mempelajari kebudayaan Indonesia.

Game yang mengangkat tema kebudayaan Indonesia dengan genre Adventure Game dan subgenre word puzzle akan sangat menarik karena selain dapat meningkatkan intelektual anak juga dapat memperkenalkan kepada anak kebudayaan tradisional yang ada di Indonesia. Jenis game ini masih sangat jarang dalam perkembangannya, namun masih tetap menarik untuk dimainkan khususnya bagi anak usia 6 sampai 11 tahun, karena jenis permainan ini terbilang mudah untuk dimainkan.

Berdasarkan uraian diatas yang menjadi pokok permasalahan adalah bagaimana membangun aplikasi game yang mengangkat tema kebudayaan Indonesia dengan genre Adventure game dan subgenre word puzzle game?

3.1.2. Analisis Game Sejenis

Analisis game sejenis dilakukan untuk memberikan gambaran sistem agar lebih mudah dalam pembangunan dan sebagai pembanding untuk kesempurnaan

game yang akan dicapai. Game yang akan dibahas dan menjadi acuan disini ialah

(38)

3.1.2.1. Game Petualangan Aksara di Jawa

Game Petualangan Aksara di Jawa ini merupakan salah satu game edukasi yang mengusung tema sejarah dan budaya nasional dari Tanah Air yang dipadukan dengan konten yang memiliki unsur pendidikan kepada para pemainnya. Game ini merupakan game yang dibuat oleh Aksara Studio.

a. Pengenalan Game Petualangan Aksara di Jawa

[image:38.595.86.484.380.681.2]

Petualangan Aksara di Jawa yang juga dikenal dengan PAJ adalah sebuah permainan yang simpel tentang seorang anak bernama Aksara yang ingin belajar tentang salah satu budaya Indonesia, Aksara Jawa. Namun, ia tidak memiliki kemampuan Aksara Jawa yang baik sehingga ia membutuhkan bantuan pemain yang memainkan game Petualangan Aksara di Jawa. Tampilan game Petualangan Aksara di Jawa ini dapat dilihat pada gambar 3.1.

(39)

27

b. Gameplay Petualangan Aksara di Jawa

Pada game Petualangan Aksara di Jawa ini memiliki beberapa level

dimana tiap level memiliki tingkat kesulitan bermacam-macam, game ini juga memberikan macam-macam huruf jawa sehingga kita dapat mengetahui macam huruf-huruf jawa serta sistem scoring yang membuat pemain berusaha mencapai

score tertinggi.

c. Skenario Game Petualangan Aksara di Jawa

Skenario permainan dalam game Petualangan Aksara di jawa adalah nantinya akan ada tombol-tombol yang berisi huruf jawa diatasnya ada sejumlah kata sebagai soal, tugas pemain adalah mengeja kata-kata tersebut dengan menekan huruf-huruf jawa pada tombol sehingga menjadi kata-kata jawa, pemain diberi kesempatan buat mengeja kata selama waktu masih ada, setiap kata-kata yang benar maka akan menambah score pemain tetapi bila salah akan mengurangi score pemain.

Kelebihan yang terdapat pada game Petualangan Aksara di Jawa, yaitu :

a. Pada game Petualangan Aksara di Jawa ini terdapat bermacam-macam huruf Jawa.

b. Mempunyai animasi-animasi yang menarik.

c. Tampilan grafis 2D yang bagus dan menggambarkan kebudayaan Jawa. d. Terdapat sistem scoring.

Sementara itu keterbatasan yang terdapat pada game Petualangan Aksara di Jawa yaitu, pada game Petualangan Aksara di Jawa ini setiap kata yang terbentuk dari huruf-huruf jawa tidak di artikan dalam pengertian bahasa Indonesia.

3.1.3. Analisis Game Puzzle and The Solver

(40)

dengan subgenre word puzzle game dan grafis 3D yang menarik, menyenangkan, dan edukatif.

3.1.3.1. Storyline

Pada game ini terdapat 3 stage yang harus dilalui oleh pemain. Disetiap

stage pemain mendapati dirinya terkunci didalam sebuah labirin besar. Didalam labirin tersebut terdapat musuh yang akan mengganggu pemain menyelesaikan misi. Untuk dapat keluar dari labirin pemain harus mendapatkan tiga buah bintang yang hanya bisa didapatkan dengan menjawab pertanyaan pada peti puzzle.

Game ini terbagi atas 3 stage permainan berupa game tebak kata atau

word puzzle, yaitu :

a. Stage 1 adalah tahapan Sumatera Barat, disini terdapat soal tebak kata yang berhubungan dengan kebudayaan yang terdapat di provinsi Sumatera Barat. b. Stage 2 adalah tahapan Jawa Barat, disini terdapat soal tebak kata yang

berhubungan dengan kebudayaan yang terdapat di provinsi Jawa Barat. c. Stage 3 adalah tahapan Papua, disini terdapat soal tebak kata yang

berhubungan dengan kebudayaan yang terdapat di provinsi Papua. 3.1.3.2. Gameplay

(41)

29

3.1.3.3. Analisis Algoritma Greedy

Algoritma yang digunakan untuk membangun kuis tebak kata pada aplikasi game Puzzle and The Solver ini adalah Algoritma greedy. Berikut ini adalah penjelasan dari pengimplementasian algoritma greedy pada aplikasi game Puzzle and The Solver.

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

C ={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y,Z} 2. Himpunan Solusi = S

Himpunan Solusi (S) adalah jawaban dari pertanyaan yang ditampilkan. 3. Fungsi Seleksi

Mengambil sebuah kandidat dari Himpunan Kandidat (C). 4. Fungsi Kelayakan

Memeriksa apakah ada berapa huruf berdasarkan kandidat yang dipilih ada dalam barisan huruf dari jawaban. Dilakukan dengan cara mencocokkan pertanyaan yang ditampilkan dengan pertanyaan dari daftar soal, jika sudah ketemu bandingkan kandidat dengan jawaban tersebut. Jika ada tampilkan semua kandidat yang ada dalam jawaban, jika tidak buang kandidat tersebut dan jangan dipilih lagi.

5. Fungsi Objektif

Batas maksimal kesalahan dalam memilih kandidat adalah tiga(3) kali. Algoritma greedy dapat dituliskan sebagai berikut :

1. Inisialisasi S dengan kosong.

(42)

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

4. Periksa apakah kandidat yang dipilih tersebut bersama, membentuk solusi atau tidak. Jika ya masukkan kandidat ke S, jika tidak buang kandidat tersebut dan tidak usah dihiraukan lagi serta tambahkan satu untuk variabel kesalahan. 5. Periksa apakah S yang sudah terbentuk telah memberikan solusi yang lengkap.

Jika ya, berhenti. Jika tidak, cek kesalahan memilih kandidat apakah sudah tiga(3) kali sebelum mengulangi dari langkah dua (2).

Contoh pertanyaan : Alat musik getar tradisional Jawa Barat yang terbuat dari bambu atau batang aren adalah?

Berikut adalah langkah untuk menyelesaikan pertanyaan di atas dengan menggunakan algoritma greedy :

1. Menentukan himpunan kandidat (C).

C ={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y,Z}

2. Menentukan himpunan solusi (S), untuk mendapatkan solusi kita harus membandingkan pertanyaan dengan pertanyaan yang ada didaftar soal, setelah ditemukan hitung panjang huruf dari jawaban untuk pertanyaan tersebut. Sediakan kotak sebanyak panjang huruf dari jawaban.

S =

3. Berikan nilai nol (0) untuk vaiabel kesalahan (fungsi objektif). kesalahan = 0

4. Lakukan langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = A

5. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y,Z}

(43)

31

6. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S =

kesalahan = 0

7. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = R

8. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q, S,T,U,V,X,Y,Z}

9. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S = kesalahan = 0

10. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = B

11. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,S,T,U,V,X,Y,Z}

12. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

* A * * * * * * *

(44)

S= kesalahan = 1

13. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = N

14. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ C,D,E,F,G,H,I,J,K,L,M, O,P,Q, S,T,U,V,X,Y,Z}

15. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S = kesalahan = 1

16. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = I

17. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ C,D,E,F,G,H, J,K,L,M, O,P,Q, S,T,U,V,X,Y,Z}

18. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S = kesalahan = 1

* A R * * * * * *

* A R * N * * N *

(45)

33

19. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = G

20. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ C,D,E,F,H,I,J,K,L,M, O,P,Q, S,T,U,V,X,Y,Z}

21. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S =

kesalahan = 1

22. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = D

23. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ C,E,F,H,I,J,K,L,M, O,P,Q, S,T,U,V,X,Y,Z}

24. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S= kesalahan = 1

25. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = V

26. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. * A R I N * I N G

(46)

C ={ C, E,F,G,H,I,J,K,L,M, O,P,Q, S,T,U, X,Y,Z}

27. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S =

kesalahan = 2

28. Ulangi langkah no dua (2), ambil sebuah kandidat dari C. kandidat_yang_diambil = K

29. Lakukan langkah no tiga (3), kurangi C dengan kandidat yang diambil. C ={ C,D,E,F,G,H,I,J, L,M, O,P,Q, S,T,U, X,Y,Z}

30. Lakukan langkah no empat(4) dan lima(5), periksa apakah kandidat membentuk solusi jika ya tampilkan atau masukkan dalam S (himpunan solusi) jika tidak tambahkan satu (1) untuk variabel kesalahan.

S= kesalahan = 2

* A R I N D I N G

(47)

35

3.1.3.4. Analisis Metode Path Finding

[image:47.595.198.428.330.554.2]

Path finding digunakan untuk menentukan arah pergerakan suatu objek dari satu tempat ke tempat lain berdasarkan keadaan peta dan objek lainnya. Pada aplikasi game puzzle and the solver ini metode path finding diterapkan pada karakter musuh untuk mencari jalur terpendek untuk mendekati dan menyerang karakter utama (pemain). Dalam pemecahan masalah untuk mencari jalur terpendek pada metode path finding, algoritma yang akan digunakan adalah algoritma A star. Analisis algoritma A star pada metode path finding akan dimodelkan dalam sebuah kotak yang berbentuk puzzle yang ber-ordo 4 x 4, dapat dilihat pada gambar 3.2.

Gambar 3. 2 Contoh kondisi pemodelan ordo 4x4

Seperti terlihat pada gambar 3.2, kotak berwarna abu-abu adalah penghalang atau disebut unwalkable yang tidak bisa dilewati, kotak berwarna hijau merupakan titik node awal dimana algoritma A star diterapkan, sedangkan kotak berwarna merah adalah node tujuan yang merupakan koordinat karakter utama(pemain).

Langkah-langkah pencarian jarak terdekat dengan menggunakan algoritma A

(48)

1. Masukan node awal kedalam open list.

2. Periksa semua node yang berdekatan dengan node A apakah walkable atau tidak, abaikan node dengan penghalang lalu tambahkan semua node tersebut ke dalam open list. Untuk setiap node yang baru ditambahkan, simpan node A

sebagai “parent”.

3. Hapus node A dari open list, dan tambahkan ke dalam closed list.

4. Setiap node yang berada pada open list akan dihitung nilai g, dan h-nya maka dapat diperoleh nilai f-nya. Nilai g diperoleh dengan cara menghitung nilai (cost) jarak dari open list terhadap closed list. Jika pergerakan nilai g secara horizontal atau vertikal, maka nilai g nya didefinisikan sebesar 10, dan jika pergerakan nilai g nya secara diagonal, maka nilainya didefinisikan sebesar 14.

Nilai f didapat dari pertambahan nilai g dan h.

5. Menambahkan node terdekat dari node awal kedalam open list, dari gambar 3.2 node terdekat dari node awal adalah (0,0),(1,0), dan (1,1). Contoh penghitungan node terdekat menggunakan rumus Manhattan distance:

h(n) = D * (abs(n.x-goal.x) + abs(n.y-goal.y)) D = pergerakan nilai g (horizontal = vertikal = 10) abs = Absence (ketiadaan)

Hasil penghitungan

h(0,0) = 10 * (abs(0-3) + abs(0-3) h(0,0) = 10 * (abs(-3)+abs(-3)) h(0,0) = 10 * ((3)+(3))

h(0,0) = 10 * 6 h(0,0) = 60 Penghitungan f(n)

(49)

37

[image:49.595.128.500.164.463.2]

Gambar 3.3 adalah pohon hasil penghitungan algoritma A star contoh kondisi pemodelan ordo 4x4 pada gambar 3.3.

Gambar 3. 3 Pohon Solusi Algoritma A star ordo 4x4

3.1.4. Analisis Kebutuhan Non-Fungsional

Analisis kebutuhan non-fungsional menggambarkan kebutuhan system yang menitik beratkan pada properti prilaku yang dimiliki oleh sistem, diantaranya kebutuhan perangkat keras, perangkat lunak, serta user sebagai bahan analisis kekurangan dan kebutuhan yang harus dipenuhi dalam perancangan sistem yang akan diterapkan.

3.1.4.1. Analisis Kebutuhan Perangkat Lunak

1. Spesifikasi perangkat lunak bagi pengembang yang digunakan dalam membangun aplikasi game edukasi petualangan pulau pintar adalah :

a. Sistem Operasi Windows 7. b. Unity 3D 3.5.6.

(50)

d. Adobe Photoshop CS5. e. Autodesk Maya 2011.

2. Perangkat lunak yang digunakan oleh pemain untuk menjalankan game

edukasi petualangan pulau pintar adalah sistem operasi windows (Windows XP, Vista, Seven).

3.1.4.2. Analisis Kebutuhan Perangkat Keras

1. Spesifikasi minimum perangkat keras yang dibutuhkan oleh pengembang. a. Prosesor dengan kecepatan 1.8 Ghz.

b. RAM 2 Gb. c. Hardisk 20 Gb. d. VGA Card 256 Mb. e. Monitor.

f. Mouse dan Keyboard. g. Speaker.

2. Spesifikasi minimum perangkat keras yang dibutuhkan oleh pemain. a. Prosesor dengan kecepatan 1.8 Ghz ke atas.

b. RAM 1 Gb. c. Hardisk 500 Mb. d. VGA Card 256 Mb. e. Monitor.

f. Mouse dan Keyboard. g. Speaker.

3.1.4.3. Analisis User

(51)

39

a. Pengetahuan dan Kemampuan pengguna(user)

Tingkat Pendidikan Kemampuan Membaca

Kemampuan mengetik Digunakan oleh anak

tingkat sekolah dasar, atau usia 6 sampai 11

tahun

Bisa digunakan oleh pengguna dengan

readinglevel yang sedang Tidak memerlukan kemampuan mengetik yang tinggi. Pengetahuan Komputer Pengalaman Bermain game Bahasa yang digunakan Tingkat menengah

Bisa digunakan oleh pengguna dengan

pengalaman penggunaan komputer dan game yang sedang

Bahasa Indonesia

b. Karakteristik keadaan fisik pengguna(user)

Usia 6 sampai 11 tahun Jenis kelamin Pria dan Wanita

Buta warna

User yang tidak bisa membedakan warna yang satu dengan yang lainnya (buta warna) masih mampu menggunakan aplikasi ini, karena tidak ada indicator warna-warna khusus yang membedakan antara fungsional yang satu dengan fungsional yang lainnya. Akan tetapi penggunaannya tidak akan optimal karena dalam game ini terdapat banyak sekali perbedaan warna yang menunjang interaksi dan ketertarikan dalam permainan.

3.1.5. Analisis Kebutuhan Fungsional

(52)

3.1.5.1. Usecase Diagram

Usecase Diagram merupakan konstruksi untuk mendeskripsikan hubungan-hubungan yang terjadi antar aktor dengan aktivitas yang terdapat pada sistem. Sasaran pemodelan usecase diantaranya adalah mendefinisikan kebutuhan fungsional dan operasional sistem dengan mendefinisikan skenario penggunaan sistem yang akan dibangun. Dari hasil analisis aplikasi yang ada maka usecase diagram untuk aplikasi gamepuzzle and the solver dapat dilihat pada gambar 3.4.

Gambar 3. 4 Usecase Diagram aplikasi Puzzle and The Solver

1. Definisi Actor

Definisi Actor berfungsi untuk menjelaskan Actor yang terdapat pada Use Case Diagram.

Tabel 3. 1 Definisi Actor

No Actor Deskripsi

1 Pemain Aktor utama yang mengakses

(53)

41

2. Definisi Usecase

Tabel 3. 2 Definisi Usecase

No Usecase Deskripsi

1 Permainan

Stage Minang

Merupakan stage pertama area permainan. 2 Permainan

Stage Sunda

Merupakan stage kedua area permainan. 3 Permainan

Stage Papua

Merupakan stage terakhir area permainan.

3.1.5.2. Skenario Usecase

Skenario Usecase mendeskripsikan urutan langkah-langkah dalam proses bisnis, baik yang dilakukan aktor terhadap sistem maupun yang dilakukan oleh sistem terhadap aktor.

1. Skenario Usecase Permainan stage Minang

Tabel 3. 3 Skenario Usecase Permainan stage Minang

Identifikasi Nama Permainan stage minang

Tujuan Memainkan stage minang dalam permainan Deskripsi Stage pertama area permainan

Aktor Player (pemain)

Kondisi awal Menampilkan permainan stage minang Kondisi Akhir Pemain dinyatakan berhasil atau gagal

Skenario Normal

Aksi Aktor Reaksi Sistem

1.Menampilkan permainan stage

minang 2.Memainkan permainan stage

minang

3. Menggerakan karakter minang

4.Mengecek trigger peti puzzle 5.Jika pemain berada dalam lingkungan trigger, maka sistem akan menampilkan form kuis tebak kata.

6.Menjawab pertanyaan kuis tebak kata

(54)

2. Skenario Usecase Permainan stage Sunda

Tabel 3. 4 Skenario Usecase permainan stage Sunda

Identifikasi Nama Permainan Stage Sunda

Tujuan Memainkan stage Sunda dalam permainan Deskripsi Stage kedua area permainan

Aktor Player (pemain)

Kondisi awal Menampilkan permainan stage Sunda Kondisi Akhir Pemain dinyatakan berhasil atau gagal

Skenario Normal

Aksi Aktor Reaksi Sistem

1. Menampilkan permainan stage

Sunda 2.Memainkan permainan stage

Sunda.

3. Menggerakan karakter sunda

4.Mengecek trigger peti puzzle 5.Jika pemain berada dalam lingkungan trigger, maka sistem akan menampilkan form kuis tebak kata.

6.Menjawab pertanyaan kuis tebak kata

7.Jika jawaban benar, maka objek bintang yang berada didalam objek peti dapat diambil.

3. Skenario Usecase Permainanstage Papua

Tabel 3. 5 Skenario Usecase Permainanstage Papua

Identifikasi Nama Permainan Stage Papua

Tujuan Memainkan stage Papua dalam permainan Deskripsi Stage terakhir area permainan

Aktor Player (pemain)

Kondisi awal Menampilkan permainan stage Papua Kondisi Akhir Pemain dinyatakan berhasil atau gagal

Skenario Normal

Aksi Aktor Reaksi Sistem

1.Menampilkan permainan stage

(55)

43

papua.

3.Menggerakan karakter papua

4.Mengecek trigger peti puzzle 5.Jika pemain berada dalam lingkungan trigger, maka sistem akan menampilkan form kuis tebak kata.

6.Menjawab pertanyaan kuis tebak kata

7.Jika jawaban benar, maka objek bintang yang berada didalam objek peti dapat diambil.

3.1.5.3. Activity Diagram

Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis dan jalur kerja. dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan prinsip antara diagram ini dan notasi

diagram alir adalah diagram ini mendukung behavior pararel.

Activity diagram menggambarkan (workflow) berbagai alir aktifitas dalam sistem yang sedang di rancang, bagaimana masing-masing alir berawal, desition

yang mungkin terjadi dan bagaimana alir berakhir.

1. Activity Diagram Permainan stage Minang

Activity diagram stage Minang adalah aktifitas permainan pada stage

(56)

Gambar 3. 5 Activity Diagram Permainan stage Minang

2. Sub Activity Diagram Permainan stage Minang

Mengambarkan rangkaian aliran dari subactivity diagram tebak kata stage

[image:56.595.100.466.112.620.2]
(57)

45

Gambar 3. 6 Sub Activity Diagram Permainan stage Minang

3. Activity Diagram Permainan stage Sunda

(58)

Gambar 3. 7 Activity Diagram Permainan stage Sunda

4. Sub Activity Diagram Permainan stage Sunda

Mengambarkan rangkaian aliran dari subactivity diagram tebak kata stage

(59)

47

Gambar 3. 8 Sub Activity Diagram Permainan stage Sunda

5. Activity Diagram Permainan stage Papua

Activity diagram stage papua adalah aktifitas permainan pada stage

(60)

Gambar 3. 9 Activity Diagram Permainan stage Papua

6. Sub Activity Diagram Permainan stage Papua

Mengambarkan rangkaian aliran dari sub activity diagram tebak kata

(61)

49

Gambar 3. 10 Sub Activity Diagram Permainan stage Papua

3.1.5.4. Sequence Diagram

(62)

1. Sequence Diagram Permainan stage Minang

Sequence diagram untuk Usecase Stage Minang menggambarkan interaksi antara objek dari classstage Minang dan objek yang berkaitan dengan classstage

Minang. Keseluruhan sequencestage Minang dapat dilihat pada Gambar 3.11.

(63)

51

2. Sequence Diagram Permainan stage Sunda

Sequence diagram untuk Usecase Stage Sunda menggambarkan interaksi antara objek dari class stage Sunda dan objek yang berkaitan dengan class stage

Sunda. Keseluruhan sequencestage Sunda dapat dilihat pada Gambar 3.12.

Gambar 3. 12 Sequence Diagram Permainan stage Sunda

3. Sequence Diagram Permianan stage Papua

Sequence diagram untuk Usecase stage Papua menggambarkan interaksi antara objek dari classstage Papua dan objek yang berkaitan dengan class stage

(64)

Gambar 3. 13 Sequence Diagram Permainan stage Papua

3.1.5.5. Class Diagram

(65)

53

Gambar 3. 14 Class Diagram game Puzzle and The Solver

3.2. Perancangan Sistem

(66)

3.2.1. Storyboard

Storyboard adalah cerita dalam bentuk naskah dituangkan menjadi bentuk animasi gambar nyata. Storyboard merupakan konsep komunikasi dan ungkapan kreatif, teknik dan media untuk menyampaikan

Gambar

Gambar 2. 3 Sequence diagram
Gambar 3. 1 Petualangan Aksara di Jawa
Gambar 3. 2 Contoh kondisi pemodelan ordo 4x4
Gambar 3. 3 Pohon Solusi Algoritma A star ordo 4x4
+7

Referensi

Dokumen terkait

Sequence diagram pada game edukasi petualangan pulau pintar dapat dilihat. pada gambar di

aplikasi mobile game tebak kata (findword). BAB 3

Berdasarkan hasil penelitian dan pengujian yang dilakukan pada permainan Ed-Puzzle dapat ditarik kesimpulan telah dihasilkan game edukatif Ed-Puzzle dengan menerapkan metode

Aplikasi permainan game puzzle pada handphone berbasis java adalah suatu sistem aplikasi yang dipakai sebagai sarana untuk menjalankan program game pada ponsel

Rancang bangun Aplikasi Game Edukasi Tebak Gambar dan Game Puzzle Untuk Anak Usia Dini dengan menggunakan algoritma Fisher Yates ini mampu mengatasi permasalahan yang

Gambar 2. Hari kedua program pelatihan pada pengabdian guru kelas Hasil dari kegiatan pengabdian ini, guru kelas memiliki ketrampilan dalam pembuatan game puzzle tebak

Ketika memainkan aplikasi game puzzle grow ini dan menggabungkan 2 gambar 4.3 maka pemain akan mendapatkan tambahan nilai score yaitu 16 dan gambar 4.3 akan berubah menjai

Tampilan Desain dan Mockup 3D Kemasan CD Puzzle Game Aksara Bali Sumber: Penulis, 2022 Gambar 15.Tampilan Kemasan dan CD Puzzle Game Aksara Bali dengan Aplikasi Material Daun Ntal pada