• Tidak ada hasil yang ditemukan

Pembangunan aplikasi game Kabayan berhitung

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan aplikasi game Kabayan berhitung"

Copied!
144
0
0

Teks penuh

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

BIODATA PENULIS

IDENTITAS PRIBADI

Nama : R. Adzie Ramadani Kusumah

Jenis Kelamin : Laki-laki

Tempat/Tanggal Lahir : Bandung, 30 Maret 1991

Agama : Islam

Status : Belum Menikah

Warga Negara : Indonesia

Alamat : Jl. Cihampelas – Gg. Cimaung No. 228/25c, Bandung 40116

E-mail : adzie.kusumah@gmail.com

PENDIDIKAN FORMAL

1996 – 2002 SD Negeri Sejahtera VI Bandung 2002 – 2005 SMP Negeri 1 Bandung

2005 – 2008 SMA Laboratorium UPI Bandung

(5)

PEMBANGUNAN APLIKASI GAME

KABAYAN BERHITUNG

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

R. ADZIE RAMADANI KUSUMAH

10108439

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(6)

iii

Assalammu’alaikum Wr.Wb.

Puji syukur alhamdulillah penulis panjatkan atas kehadirat Allah SWT sang Pencipta alam semesta, manusia, dan kehidupan beserta seperangkat aturan Nya, karena berkat limpahan rahmat, taufiq, hidayah serta inayah-Nya, sehingga

penulis dapat menyelesaikan Skripsi yang berjudul ”Pembangunan Aplikasi Game Kabayan Berhitung” ini dapat terselesaikan tidak kurang dari pada waktunya.

Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia. Penulis menyadari bahwa skripsi ini masih banyak kekurangan dari berbagai macam hal. Namun berkat bantuan dan bimbingan dari beberapa pihak akhirnya skripsi ini dapat diselesaikan.

Dengan penuh rasa syukur, ucapan terima kasih yang mendalam serta penghargaan yang tidak terhingga penulis sampaikan kepada:

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

2. Nabi Muhammad SAW yang telah menyampaikan wahyu Allah.

3. Bapak R Kunkun Kurnia Kusumah dan Ibu Lilis Nurhadiati selaku orang tua penulis yang telah memberikan kasih sayang yang tak terhingga dan doanya. 4. Ibu Nelly Indriani. W, S.Si., M.T., selaku pembimbing yang telah

memberikan pengarahan dan masukan-masukan yang berharga kepada penulis dalam mengerjakan laporan tugas akhir.

5. Bapak Adam Mukharil Bachtiar S.Kom., M.T., selaku penguji satu yang telah memberikan banyak masukan yang berarti bagi penulis.

6. Ibu Sufa'atin, S.T., M.Kom., selaku penguji tiga yang telah memberikan masukan dan semangat untuk penulis.

(7)

iv

8. Bapak Andri Heryandi S.T., M.T., selaku dosen wali IF-9 yan telah membimbing dan memberikan arrahan selama masa perkuliahan.

9. Adikku tercinta Bella Putri Sukarna yang selalu memberikan semangat atas prestasi yang diraihnya selama ini dan menjadi dorongan untuk menyelesaikan tugas akhir ini.

10. Kekasih tersayang dan tercinta Mutiara Tri Pertiwi yang telah banyak membantu dan meluangkan waktu, tenaga dan fikiran demi kelancaran tugas akhir ini.

11. Teman-temanku di IF-9 terimkasih atas dukungan, bantuan dan doanya. 12. Semua pihak yang telah membantu dalam menyelesaikan skripsi ini yang

tidak bisa disebutkan satu persatu oleh penulis.

Penulis telah berusaha dan berupaya semaksimal mungkin dalam menyelesaikan penyusunan skripsi ini, walaupun demikian penulis menyadari bahwa dalam penyusunan skripsi ini masih banyak kekurangan dan masih jauh dari kesempurnaan karena keterbatasan kemampuan maupun pengetahuan penulis. Untuk itu penulis akan selalu menerima masukan baik kritik maupun saran yang membangun dalam menyempurnakan skripsi ini. Besar harapan penulis, semoga skripsi ini dapat bermanfaat khususnya bagi penulis dan umumnya bagi pembaca.

Wassalamu’alaikum Wr. Wb Bandung, 27 Januari 2014

(8)

v

5

DAFTAR ISI

LEMBAR JUDUL

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xiv

DAFTAR SIMBOL ... xvi

DAFTAR LAMPIRAN ... xx

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Matematika ... 7

2.1.1 Anak Usia SD Dalam Pembelajaran Matematika di SD ... 7

2.1.2 Bermain Sambil Beajar Matematika ... 7

2.1.3 Operasi Hitung Sederhana (Penjumlahan, Pengurangan, Perkalian, dan Pembagian) ... 8

2.2 Game ... 8

2.2.1 Bagian dari Game ... 8

2.2.2 Game Edukasi ... 9

2.2.2.1 Prinsip Game Edukasi ... 10

2.2.2.2 Dampak Game Edukasi ... 11

2.2.2.3 GameMobile Learning ... 12

2.3 Algortima Dijkstra ... 13

(9)

vi

2.3.2 Complexity ... 14

2.3.3 Code ... 14

2.4 Algoritma Fisher-Yates ... 14

2.4.1 Code ... 15

2.5 Pemograman Berbasis Objek ... 15

2.5.1 Konsep Dasar Berorientasi Objek ... 15

2.5.2 Analisis Berorientasi Objek ... 17

2.5.3 Desain Berorientasi Objek ... 17

2.5.4 Bahasa Pemograman yang Mendukung PBO ... 17

2.6 Pemodelan Sistem ... 18

2.7 Tools yang Digunakan ... 19

2.7.1 Android Development Tools Bundle ... 19

2.7.1.1 Eclipse ... 19

2.7.1.2 ADT (Android Development Tools) Plugins for Eclipse ... 20

2.7.1.3 Android SDK (Sun Development Kit) ... 20

2.7.2 JDK (Java Development Kit) Oracle... 20

2.7.3 Reason ... 20

2.7.4 CorelDraw ... 21

2.7.5 Cubase ... 21

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 23

3.1 Analisis Sitem ... 23

3.1.1 Analisis Masalah ... 23

3.1.2 Analisis Game Sejenis ... 23

3.1.2.1 Analisis Game Mole Math LITTLE ... 23

3.1.2.2 Analisis Game Pick a Path ... 24

3.1.3 Analisis Game yang Akan Dibangun ... 25

3.1.3.1 Storyline ... 25

3.1.3.2 Analisis Tingkat Kesulitan... 26

3.1.3.3 Game Play ... 27

3.1.3.4 Analisis Scoring ... 28

(10)

vii

3.1.4 Analisis Algoritma ... 29

3.1.1.1 Analisis Algoritma Dijkstra ... 29

3.1.1.2 Algoritma Fisher Yates ... 38

3.1.5 Spesifikasi Kebutuhan Perangkat Lunak ... 40

3.1.6 Analisis Kebutuhan Non Fungsional ... 41

3.1.6.1 Analisis Kebutuhan Perangkat Keras ... 41

3.1.6.2 Analisis Kebutuhan Perangkat Lunak... 42

3.1.6.3 Analisis Pengguna... 42

3.1.7 Analisis Kebutuhan Fungsional ... 43

3.1.7.1 Use Case Diagram ... 43

3.1.7.2 Activity Diagram ... 47

3.1.7.3 Class Diagram ... 52

3.1.7.4 Sequence Diagram ... 73

3.2 Perancangan Sistem ... 77

3.2.1 Perancangan Komponen... 78

3.2.1.1 Karakter ... 78

3.2.1.2 Storyboard ... 79

3.2.2 Perancangan Struktur Menu ... 81

3.2.3 Perancangan Antarmuka ... 81

3.2.4 Perancangan Pesan ... 89

3.2.5 Jaringan Semantik ... 93

3.2.6 Perancangan Metode ... 93

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 97

4.1 Implementasi ... 97

4.1.1 Implementasi Perangkat Keras ... 97

4.1.2 Implementasi Perangkat Lunak ... 97

4.1.3 Implementasi Class ... 97

4.1.4 Implementasi Antarmuka ... 98

4.1.4.1 Implementasi Antarmuka Menu Utama ... 98

4.1.4.2 Implementasi Antarmuka Cerita Kabayan ke 1 ... 99

(11)

viii

4.1.4.4 Implementasi Antarmuka Intro Pembuka Pelatihan 1 ... 100

4.1.4.5 Implementasi Antarmuka Petunjuk Pelatihan 1... 100

4.1.4.6 Implementasi Antarmuka Pelatihan 1 ... 101

4.1.4.7 Implementasi Antarmuka Intro Pembuka Pelatihan 2 ... 102

4.1.4.8 Implementasi Antarmuka Petunjuk Pelatihan 2... 102

4.1.4.9 Implementasi Antarmuka Pelatihan 2 Graph 1 ... 103

4.1.4.10 Implementasi Antarmuka Pelatihan 2 Graph 2 ... 104

4.1.4.11 Implementasi Antarmuka Pelatihan 2 Graph 3 ... 104

4.1.4.12 Implementasi Antarmuka Pelatihan 2 Pertanyaan ... 105

4.1.4.13 Implementasi Antarmuka Intro Pembuka Pelatihan 3 ... 105

4.1.4.14 Implementasi Antarmuka Petunjuk Pelatihan 3... 106

4.1.4.15 Implementasi Antarmuka Pelatihan 3 Pintu 1 ... 107

4.1.4.16 Implementasi Antarmuka Pelatihan 3 Pintu 2 ... 107

4.1.4.17 Implementasi Antarmuka Pelatihan 3 Pintu 3 ... 108

4.1.4.18 Implementasi Antarmuka Pelatihan 3 Pertanyaan ... 108

4.1.4.19 Implementasi Antarmuka Pelatihan 3 Sandi ... 109

4.1.5 Implementasi Pesan ... 109

4.1.5.1 Implementasi Pesan Jawaban Benar ... 109

4.1.5.2 Implementasi Pesan Jawaban Salah ... 110

4.1.5.3 Implementasi Pesan Jawaban Waktu Habis... 110

4.1.5.4 Implementasi Pesan Menu Pause ... 111

4.1.5.5 Implementasi Pesan Menu Keluar ... 111

4.1.5.6 Implementasi Pesan Gagal ... 112

4.1.5.7 Implementasi Pesan Tamat ... 112

4.2 Pengujian Sistem ... 112

4.2.1 Rencana Pengujian ... 113

4.2.2 Pengujian Alpha ... 113

4.2.2.1 Scenario Pengujian ... 113

4.2.2.2 Pengujian Blackbox ... 114

4.2.2.3 Pengujian Whitebox ... 115

(12)

ix

4.2.3.1 Pretest-Posttest ... 124

4.2.3.2 Kesimpulan Pengujian Beta ... 126

BAB 5 KESIMPULAN DAN SARAN ... 129

5.1 Kesimpulan ... 129

5.2 Saran ... 129

(13)

127

5

DAFTAR PUSTAKA

[1] Depdiknas. (2006). Kurikulum Berbasis Kompetensi Standar Isi 2006 Mata Pelajaran Matematika di Sekolah Dasar. Jakarta: Balitbang Puskur.

[2] Haji, S. (2011). PENDEKATAN PROBLEM POSING DALAM PEMBELAJARAN MATEMATIKA DI SEKOLAH DASAR. Diambil dari http://repository.unib.ac.id/329/1/Judul%207%20Saleh%20Haji.pdf

[3] Tiurlina. (2006). MODEL PEMBELAJARAN MATEMATIKA. Universitas Pendidikan Indonesia. Diambil dari

http://file.upi.edu/browse.php?dir=Direktori/DUAL-MODES/MODEL_PEMBELAJARAN_MATEMATIKA/

[4] Aeni, W. A. (2009). Antara Game, Pendidikan dan HP (Game Mobile Learning Sebagai Wacana Pendidikan). Diambil dari http://m-edukasi.net/artikel-mobile-learning-isi.php?kodenya=2009-ac

[8] Algoritmy.net. (2013). Dijkstra's algorithm. Diambil dari Algoritmy.net: http://en.algoritmy.net/article/45514/Dijkstras-algorithm

[9] Algoritmy.net. (2013). Fisher-Yates shuffle. Diambil dari Algoritmy.net: http://en.algoritmy.net/article/43676/Fisher-Yates-shuffle

[10] Joyner, D., Minh, N. V., & Cohen, N. (2011). Algorithmic Graph Theory. Diambil dari http://code.google.com/p/graph-theory-algorithms-book/ [11] Munawar (2005). Pemodelan Visual dengan UML. Yogyakarta : Penerbit

(14)

[12] Larman, C. (2005). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Pearson Education.

[13] Chandler, H. M., & Chandler, R. (2011). Fundamentals of Game. LLC. [14] Android. (2013). Developer Tools. Diambil dari

http://developer.android.com/

[15] EDU4JAVA. (2013). Android Game Programming tutorials. Diambil dari http://www.edu4java.com/en/androidgame/androidgame.html

[16] Impaler. (2013). Android Game Development. Diambil dari http://www.javacodegeeks.com/author/Impaler/

[17] Zechner, M., & Green, R. (2012). Beginning Android Games. Apress. [18] Eclipse. (2013). Diambil dari The Eclipse Foundation:

http://www.eclipse.org/

[19] Oracle. (2013). README Java™ Platform, Standard Edition 7, Development Kit. Diambil dari Oracle Technology Network: http://www.oracle.com/technetwork/java/javase/jdk-7-readme-429198.html [20] Propellerhead. (2013). Reason. Diambil dari Propellerhead Software AB:

http://www.propellerheads.se/products/reason/

[21] TECHNOLOGIES, S. M. (2013). Cubase. Diambil dari Steinberg Media

Technologies GmbH:

http://www.steinberg.net/en/products/cubase/start.html

(15)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Matematika merupakan ilmu universal yang mendasari perkembangan teknologi modern, mempunyai peran penting dalam berbagai disiplin dan memajukan daya pikir manusia. Perkembangan pesat di bidang teknologi informasi dan komunikasi dewasa ini dilandasi oleh perkembangan matematika di bidang teori bilangan, aljabar, analisis, teori peluang dan matematika diskrit. Untuk menguasai dan menciptakan teknologi di masa depan diperlukan penguasaan matematika yang kuat sejak dini [1].

Pembelajaran matematika sudah mulai diberikan di Sekolah Dasar sebagai mata pembelajaran pokok. Pada pembelajaran matematika terdapat hal yang paling mendasar yaitu operasi hitung bilangan penjumlahan, pengurangan, perkalian, dan pembagian yang harus dikuasai di Sekolah Dasar [1]. Materi pembelajaran operasi hitung bilangan penjumlahan, pengurangan, perkalian, dan pembagian masih sering terjadi masalah pada siswa pada saat ini, dikarenakan pendekatan pembelajaran matematika di Sekolah Dasar yang sering digunakan sebagian besar guru, kurang memberikan kesempatan kepada siswa untuk lebih interaktif. Pembelajaran matematika didominasi oleh guru. Guru menjelaskan konsep matematika, memberikan contoh soal, mendemontrasikan penyelesaian soal, dan memberikan rangkuman. Anak diposisikan sebagai penerima dari apa yang disampaikan oleh guru. Akibatnya anak menjadi pasif dan bosan, sehingga mengurangi minat belajar matematika [2].

Minat belajar matematika dapat timbul pada anak jika menarik perhatian terhadap suatu objek. Perhatian ini akan terjadi dengan sendirinya atau mungkin timbul disebabkan adanya pengaruh dari luar. Salah satu metode untuk menarik minat belajar matematika anak adalah dengan belajar dan bermain [3].

(16)

akan tercipta pada game edukasi. Perkembangan game edukasi saat ini sudah berada pada gamemobile learning [4].

Penelitian ini dimaksudkan untuk membuat aplikasi game sebagai pembanding antara pemberian materi secara formal dengan pemberian materi menggunakan media game mobile learning. Dalam perancangannya game ini akan mengangkat tokoh dalam cerita rakyat Sunda yaitu Kabayan sebagai tokoh utama game ini. Kabayan merupakan tokoh paradoks yang membangun cerita-cerita paradoks pula [5]. Keuntungan tokoh Kabayan sebagai tokoh paradoks yaitu dapat membuat cerita tokoh Kabayan yang sesuai dengan cerita pada game ini. Selain tokoh Kabayan merupakan tokoh paradoks, pada saat ini tokoh kabayan sudah hampir terlupakan oleh anak-anak yang disebabkan perkembangan teknologi [5]. Game yang akan dibangun ini, secara tidak langsung akan memperkenalkan kembali tokoh Kabayan.

Berdasarkan masalah yang ada, penelitian ini diberi judul “Pembangunan

Aplikasi Game Kabayan Berhitung”. Game ini akan mengemas perhitungan dasar matematika dengan alur cerita dari tokoh Kabayan yang disesuaikan dengan anak-anak.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah, maka dapat dirumuskan permasalahan. Bagaimana membuat pembelajaran dalam operasi hitung bilangan dasar matematika lebih interaktif dengan menggunakan tokoh Kabayan sebagai tokoh utama game dan game ini akan menjadi pembanding anatara pembelajaran formal dengan pembelajaran menggunakan media game mobile.

1.3 Maksud dan Tujuan

(17)

3

Tujuan yang ingin dicapai dalam penelitian ini adalah menarik minat belajar anak-anak untuk belajar matematika dalam operasi hitung bilangan dengan membuktikan bahwa pembelajaran matematika dalam operasi hitung bilangan akan lebih efektif dengan menggunakan media game mobile.

1.4 Batasan Masalah

Batasan masalah dalam aplikasi ini sebagai berikut :

1. Game dijalankan pada mobile Android dikarenakan perkembangan

perangkat mobile di Indonesia yang paling dominan yaitu perangkat mobile berbasis Android [6].

2. Untuk penggunan game ini tidak membutuhkan koneksi.

3. Sasaran pengguna atau target usia berkisar antara 8-11 tahun setara dengan anak kelas 2-4 Sekolah Dasar.

4. Permainan ini dimainkan oleh satu orang saja.

5. Materi yang disajikan adalah operasi hitung dasar yaitu pertambahan, pengurangan, perkalian, dan pembagian dengan bilangan yang dibatasi 1-9. Pembatasan bilangan diadakan karena awal dari perhitungan yang harus dihafal 1-9 [3].

6. Pendekatan analisis perangkat lunak menggunakan pendekatan analisis berorientasi objek.

1.5 Metodologi Penelitian

Metodologi penelitian yang dilakukan terdiri dari metode komparatif dan metode pembangunan perangkat lunak.

1. Metode Komparatif

Metode Komparatif adalah penelitian yang bersifat membandingkan. Penelitian ini dilakukan untuk membandingkan persamaan dan perbedaan dua atau lebih fakta-fakta dan sifat-sifat objek yang di teliti berdasarkan kerangka pemikiran tertentu. Teknik pengumpulan data yang dilakukan adalah :

a. Studi literatur

(18)

b. Observasi

Observasi dilakukan pada game sejenis yang sudah ada untuk mengamati kelebihan dan kekurangan yang ada pada game tersebut.

c. Pretest - Posttest

Pretest dan Posttest dilakukan sebelum dan sesudah anak memainkan game yang dibangun untuk mengetahui seberapa besar peningkatan yang terjadi setelah anak memainkan game ini. Sehingga nilai yang dihasilkan dapat menjadi nilai ukur untuk melakukan perbandingan.

2. Metode pembangunan perangkat lunak

Dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses yaitu [7] :

a. Requirements definition

System services, kendala dan tujuan, dibentuk oleh konsultasi dengan pengguna sistem. Persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem.

b. System and software design

Proses perancangan sistem membagi persyaratan dalam sistem perangkat keras atau perangkat lunak. Kegiatan ini menentukan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan deskripsi abstraksi sistem perangkat lunak yang mendasar dan hubungan-hubungannya.

c. Implementation and unit testing

Pada tahap ini perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya.

d. Integration and system testing

Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi. Setelah pengujian sistem, perangkat lunak dikirim kepada pelanggan.

e. Operational and maintenance

(19)

5

tidak ditemukan pada tahap-tahap terdahulu, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan-persyaratan baru ditambahkan.

Untuk lebih jelasnya model waterfall dapat dilihat pada gambar berikut :

Gambar 1.1 Model Waterfall [7].

1.6 Sistematika Penulisan

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

BAB I PENDAHULUAN

Bab ini berisikan latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini akan membahas tentang teori matematika, game, edukasi, algoritma Dijkstra, algoritma Fisher Yates Shuffle, pemrograman berbasis objek, UML, dan alat bantu yang digunakan.

BAB III ANALISIS DAN PERANCANGAN SISTEM

(20)

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini menjelaskan implementasi perangkat keras, implementasi perangkat lunak, implementasi class, implementasi antarmuka, rencana pengujian, pengujian alpha, dan pengujian beta.

BAB V KESIMPULAN DAN SARAN

(21)

7

BAB 2

LANDASAN TEORI

2.1 Matematika

Matematika merupakan ilmu universal yang mendasari perkembangan teknologi modern, mempunyai peran penting dalam berbagai disiplin dan memajukan daya pikir manusia. Perkembangan pesat di bidang teknologi informasi dan komunikasi dewasa ini dilandasi oleh perkembangan matematika di bidang teori bilangan, aljabar, analisis, teori peluang dan matematika diskrit. Untuk menguasai dan mencipta teknologi di masa depan diperlukan penguasaan matematika yang kuat sejak dini[1].

2.1.1 Anak Usia SD Dalam Pembelajaran Matematika di SD

Anak usia SD adalah anak yang berada pada usia sekitar 7 sampai 12 tahun. Menurut Piaget anak usia sekitar ini masih berpikir pada tahap operasi konkrit artinya siswa siswa SD belum berpikir formal. Ciri-ciri anak-anak pada tahap ini dapat memahami operasi logis dengan bantuan benda-benda konkrit, belum dapat berpikir deduktif, berpikir secara transitif. Contoh : 2 + 2 = 4, 4 + 2 = 6, 6 + 2 = 8, 10 + 2 = 12. Proses ini sudah dapat dipahami oleh siswa.

Sebagaimana kita ketahui, matematika adalah ilmu deduktif, formal, hierarki dan menggunakan bahasa simbol yang memiliki arti yang padat. Karena adanya perbedaan karakteristik antara matematika dan anak usia SD, maka matematika akan sulit dipahami oleh anak SD jika diajarkan tanpa memperhatikan tahap berpkir anak SD. Seorang guru hendaknya mempunyai kemampuan untuk menghubungkan antara dunia anak yang belum dapat berpikir secara deduktif agar dapat mengerti matematika yang bersifat deduktif[3].

2.1.2 Bermain Sambil Beajar Matematika

(22)

2.1.3 Operasi Hitung Sederhana (Penjumlahan, Pengurangan, Perkalian, dan Pembagian)

Operasi penjumlahan pada dasarnya merupakan suatu aturan yang mengaitkan setiap pasang bilangan dengan bilangan yang lain. Operasi penjumlahan ini mempunyai beberapa sifat yaitu: sifat pertukaran (komutatif), sifat identitas, dan sifat pengelompokan (asosiatif)[3].

Operasi pengurangan merupakan kebalikan dari operasi penjumlahan, tetapi operasi pengurangan tidak memiliki sifat yang dimiliki operasi penjumlahan. Operasi pengurangan tidak memenuhi sifat pertukaran, sifat identitas, dan sifat pengelompokan.

Operasi perkalian dapat didefinisikan sebagai penjumlahan berulang. Misalkan pada perkalian 4 x 3 dapat didefinisikan sebagai 3 + 3 + 3 + 3 = 12 sedangkan 3 x 4 dapat didefinisikan sebagai 4 + 4 + 4 = 12. Secara konseptual, 4 x 3 tidak sama dengan 3 x 4, tetapi jika dilihat hasilnya saja maka 4 x 3 = 3 x 4.

Operasi pembagian dapat didefinisikan sebagai pengurangan berulang. Secara matematis ditulis sebagai a : b = a – b – b – b .... = 0. Misal, 24 : 3 = 24 – 3

– 3 – 3 – 3 – 3 – 3 – 3 – 3 = 0. Berarti 24 : 3 = 8. Hasil ini ditunjukkan oleh banyaknya angka 3 yang muncul sebagai bilangan pengurangnya. Operasi pembagian adalah kebalikan dari operasi perkalian.

2.2 Game

Game berasal dari kata bahasa inggris yang berarti dasar permainan. Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual (Intellectual Playability Game) yang juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Dalam game, ada target-target yang ingin dicapai pemainnya. 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[4]. 2.2.1 Bagian dari Game

(23)

9

1. Game Rule

Game rule merupakan aturan perintah, cara menjalankan, fungsi objek dan karakter di dunia permainan Dunia Game Dunia game bisa berupa pulau, dunia khayal, dan tempat-tempat lain yang sejenis yang dipakai sebagai setting tempat dalam permainan game.

2. Plot

Plot biasanya berisi informasi tentang hal-hal yang akan dilakukan oleh player dalam game dan secara detail ,perintah tentang hal yang harus dicapai dalam game.

3. Tema

Di dalam biasanya ada pesan moral yang akan disampaikan. 4. Character

Pemain sebagai karakter utama maupun karakter yang lain yang memiliki ciri dan sifat tertentu Object Merupakan sebuah hal yang penting dan biasanya digunakan pemain untuk memecahkan masalah, adakalanya pemain harus punya keahlian dan pengetahuan untuk bisa memaninkannya.

5. Text, Graphic dan Sound

Game biasanya merupakan kombinasi dari media teks, grafik maupun suara, walaupun tidak harus semuanya ada dalam permainan game.

6. Animasi

Animasi ini selalu melekat pada dunia game , khususnya untuk gerakan karakter-karakter yang ada dalam game, properti dari objek.

7. User Interface

Merupakan fitur-fitur yang mengkomunikasikan user dengan game. 2.2.2 Game Edukasi

(24)

Game yang memiliki content pendidikan lebih dikenal dengan istilah game edukasi. Game berjenis edukasi ini bertujuan untuk memancing minat belajar anak terhadap materi pelajaran sambil bermain, sehingga dengan perasaan senang diharapkan anak bisa lebih mudah memahami materi pelajaran yang disajikan. Jenis ini sebenarnya lebih mengacu kepada isi dan tujuan game, bukan jenis yang sesungguhnya.

Menurut Edward game merupakan sebuah alat yang efektif untuk mengajar karena mengandung prinsip-prinsip pembelajaran dan teknik instruksional yang efektif digunakan dalam penguatan pada level-level yang sulit

Maja Pivec membuktikan game edukasi berhasil diterapkan untuk pendidikan formal khususnya di militer, ilmu kedokteran, fisika, training dan lain sebagainya. Model game edukasi yang merupakan perpaduan antara instructional content dan karakteristik game terbukti mampu meningkatkan motivasi pemain game serta mendapatkan keluaran ilmu pengetahuan ketikan process pembelajaran game itu berlangsung[4].

2.2.2.1Prinsip Game Edukasi

Menurut Foremen beberapa prinsip yang harus diterapkan dalam aplikasi sebuah game edukasi adalah[4]:

1. Individualization

Materi pembelajaran (pengetahuan) dibuat sesuai dengan kebutuhan individual dari pembelajar, sedangkan game mengadopsi level individual dari pemain.

2. Feedback Active

Adanya feedback yang sesuai dengan cepat untuk memperbaiki pembelajaran dan mengurangi ketidaktahuan pembelajar terhadap materi yang disampaikan, sedangkan game menyediakan feedback dengan cepat dan konstektual.

3. Active Learning

(25)

11

menyediakan suatu lingkungan yang membantu terjadinya penemuan baru tersebut.

4. Motivation

Pelajar termotivasi dengan reward yang diberikan dalam aktivitas permainan, sedangkan game melibatkan pengguna berjam-jam untuk mencapai tujuan.

5. Scaffolding

Pelajar secara berangsur-angsur ditantang dengan tingkat kesulitan yang makin tinggi dan dapat melangkah lebih maju untuk mencapai kemenangan dari permainan, sedangkan game dibangun secara multi level, pemain tidak bisa bergerak ke level yang lebih tinggi sampai dia mampu menyelesaikan permainan di level yang ada.

6. Transfer

Pelajar mengembangkan kemampuan untuk mentransfer pengetahuan dari satu orang ke orang yang lain, sedangkan game, sedangkan game mengijinkan pemain untuk menstransfer informasi dari suatu konteks ke konteks yang lain

7. Assessment

Setiap individu mempunyai kesempatan untuk menilai pelajaran mereka sendiri atau membandingkannya dengan orang lain.

2.2.2.2Dampak Game Edukasi

Ada dampak positif dan negatif sebuah game, sekalipun game edukasi[4]. 1. Dampak Positif Game Edukasi

Menurut Edward game memiliki banyak dampak positif antara lain:

a. Game banyak digunakan orang untuk mengajarkan suatu pengetahuan dan membangun ketrampilan baik dibidang edukasi, bisnis maupun militer. b. Game effektif digunakan untuk membangun kemampuan matematika dan

membaca pada anak, dibuktikan dengan penelitian yang dilakukan oleh Murphy dan kawan-kawan pada tahun 2002.

(26)

Lieberman pada tahun 1997 dan McPhershon dan kawan-kawan pada tahun 2006.

d. Banyak bisnis menggunakan game edukasi untuk membangun ketrampilan karyawan mereka seperti Cisco mengajarkan karyawan mereka pengenalan tools dasar dan security network melalui sebuah game.

e. Pada tahun 2007 militer AS menggunakan game dalam training personil militer seperti simulasi penerbangan pesawat dan pemakaian sistem persenjataan.

2. Dampak Negatif Game Edukasi

Tidak semua game memberi dampak yang diinginkan, penelitian yang dilakukan Anderson pada tahun 2004 dan Batholow 2006 memberikan bukti bahwa game juga memiliki dampak negatif seperti:

a. Meningkatkan sifat aggresiv cognitiv, aggresiv behavior. b. Memberikan efek permusahan dan efek psikologis. c. Menurunkan kebiasaaan prososial.

d. Dari segi kesehatan game dapat memberikan dampak meningkatatnya detak jantung, tekanan darah aktivitas otak.

Dampak negarif dari game ini secara umum berlaku pada pemain yang masih anak-anak dan remaja yang memiliki tidak emosional yang tinggi. Ketika penelitian dilakukan terhadap orang tua maka dampak ini sangat kecil pengaruhnya.

2.2.2.3GameMobile Learning

Kecanggihan teknologi komunikasi memberi nuansa berbeda dalam proses belajar mengajar sesorang. Teknologi komunikasi mengubah lokasi belajar dari kelas ke tempat dimana saja peserta didik dapat belajar. Dengan demikian, teknologi komunikasi mendorong terjadinya evolusi pada lokasi belajar. Menurut prawiradilaga belajar tidak lagi hanya berlangsung di sekolah dan di kelas, belajar dapat terjadi dimana saja selama ada bahan ajar dan peserta didik merasa nyaman dengan situasi itu.

(27)

13

teknologi komunikasi bergerak seperti handphone yang dengan berbagai fasilitasnya telah menjadi gelombang kecenderungan baru yang memungkinkan peserta didik (pembelajar) belajar secara mobile atau lebih dikenal sebagai mobile learning.

Pemanfaatan handphone sebagai sarana mobilitas dalam sebuah mobile learning dan penyajian materi dalam format game menjadi sebuah wacana untuk menyajikan pengetahuan dalam sebuah hiburan. Belajar dengan senang, belajar dimanapun kapanpun, tanpa sekat tanpa batas[4].

2.3 Algortima Dijkstra

Algoritma Dijkstra merupakan algoritma tercepat untuk menghitung jarak minmal dari vertex ke vertex lainnya di graph yang tidak mengandung nilai negatif pada setiap edges. Algoritma ini ditemukan oleh ilmuwan komputer Belanda Edsger Dijstra pada tahun 1959[8].

2.3.1 Deskripsi Algoritma Dijkstra

Algoritma merupakan perluasan dari algoritma breadth-first search, dimana urutan node (vertex) tidak ditentukan oleh jumlah dari setiap sisi akarnya, tetapi sebagai jarak dari akar (jumlah bobot dari semua sisi sepanjang jalan dari akar ke node yang diberikan). Sebagai konsekuensi algoritma Dijkstra proses hanya dilakukan pada node, dimana jalan terpendek sudah ditemukan.

Algoritma Dijkstra akan menyimpan semua node dalam antrian prioritas dengan mencari jarak dari simpul dari akar - pada iterasi pertama dari algoritma, akar dinisialisasi 0, jarak semua node lain sama dengan tak terhingga. Dalam setiap langkah algoritma Dijkstra mengambil dari antrian node dengan prioritas tertinggi (paling tidak jarak dari akar) yang akan diperoses dan mengevaluasi ulang jarak semua keturunan yang diproses dari node. Ini berarti bahwa algoritma memeriksa semua keturunan bahwa kondisi berikut ini berlaku :

(28)

Hal ini penting untuk mengetahui bahwa algoritma Dijkstra mensyaratkan bahwa bobot semua sisi non-negatif. Jika prosedur ini tidak dapat menentukan apakah jalur terpendek untuk node itu sudah ditemukan atau tidak.

2.3.2 Complexity

Kompleksitas asimtotik algoritma Dijkstra tergantung pada pelaksanaan antrian prioritas. Jika diimplementasikan menggunakan pencarian sekuensial daripada kompleksitas adalah O(|N|2), dimana |N| banyaknya node dari graph.

Ketika benary heap digunakan, the complexity is O(|E|.log2|N|) |E| banyaknya

edge dari dijkstra. 2.3.3 Code

Gambar 2.1 Code Algoritma Dijkstra

2.4 Algoritma Fisher-Yates

Fisher-Yates Shuffle (dinamai berdasarkan penemunya, Ronald Fisher dan Frank Yates) digunakan untuk mengubah urutan masukan yang diberikan secara acak. Permutasi yang dihasilkan oleh algoritma ini muncul dengan probabilitas yang sama[9].

(29)

15

2.4.1 Code

Berikut Algoritma Fisher Yates dalam javascript :

Gambar 2.2 Code Algoritma Fisher-Yates

2.5 Pemograman Berbasis Objek

Pemograman berorientasi objek (Object-Oriented Programing) adalah pembangunan perangkat lunak yang mengoragisasikan preangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan. Pemograman berorientasi objek merupakan suatu cara bagaimana system perangkat lunak dibangun melalui pendakatan objek[11].

2.5.1 Konsep Dasar Berorientasi Objek

Pendekatan berorientasi objek merupakan suatu tehnik atau cara pendekatan dalam melihat permasalahan dan sistem. Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.

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

1. Kelas (class)

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

2. Objek (object)

(30)

(status) dan mempunyai operasi yang dapat diterapkan atau berpengaruh pada status objeknya. Secara teknis, sebuah kelas saat program dieksekusi maka akan dibuat sebbuah objek.

3. Metode (method)

Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek. Metode atau Operasi dapat berasal dari event, aktifitas atau aksi, keadaan, fungsi, dan kelakuan dunia nyata.

4. Atribut (attribute)

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

5. Abstraksi (abstraction)

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

6. Enkapulasi (encapsulation)

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

7. Pewarisan (inheritance)

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

8. Antarmuka (interface)

Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang di deklarasikan tanpa isi.

9. Reusability

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

10. Generalisasi dan Spesialisasi

(31)

17

11. Komunikasi Antar Objek

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

12. Polimorfisme (polymorphism)

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

13. Package

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

2.5.2 Analisis Berorientasi Objek

Analisis berorientasi objek atau Object Oriented Analysis (OOA) adalah tahapan unntuk menganalisis spesifikasi atau kebutuhan akan sistem yang akan dibangun dengan konsep berorientasi objek.

2.5.3 Desain Berorientasi Objek

Disain berorientasi objek atau Object Oriented Design (OOD) adalah tahapan perantara untuk memetakan spesifikasi atau kebutuhan sistem yang akan dibangun dengan konsep berorientasi objek ke desain pemodelan agar lebih mudah diimplementasikan dengan pemograman berorientasi objek.

Pemodelan berorientasi objek biasanya dituangkan dalam dokumentasi perangkat lunak dengan menggunakan perangkat pemodelan beorientasi objek, diantaranya adalah UML (Unified Modeling Language).

2.5.4 Bahasa Pemograman yang Mendukung PBO 1. Bahasa Pemograman Smalltalk

Smaltalk merupakan salah satu bahasa pemograman yang dikembangkan untuk mendukung pemograman berorientasi objek mulai tahun 1978.

2. Bahasa Pemograman Eiffel

(32)

3. Bahasa Pemograman C++

Bahasa pemograman C++ merupakan pengembangan lebih lanjut dari bahasa pemograman C untuk mendukung pemograman berorientasi objek.

4. Bahasa Pemograman PHP

PHP dibuat pertama kali oleh seorang perekayasa perangkat lunak (softwaew engineering) yang bernama Rasmus Lerdoff. Dengan beberapa versi yang telah diperbaharui. PHP 5 sudah mendukung pemograman berorientasi objek.

5. Bahasa Pemograman Java

Java dikembangkan oleh perusahaan Sun Microsystem. Java menurut Sun Microsystem adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Java merupakan bahasa pemograman objek murni karena semua kode program dibungkus dalam kelas.

2.6 Pemodelan Sistem

Pemodelan sistem yang berorientasi objek dapat dimodelkan dengan menggunakan UML (Unified Modeling Language). UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. Berikut merupakan bagian-bagian dari UML[12].

1. Use Case

Use Case merupakan pemodelan dari kebutuhan sistem terhadap interaksi pengguna kepada sistem. Use Case dapat menjadi gambaran kejadian dimana pengguna melakukan interaksi terhadap sistem.

2. Activity Diagram

(33)

19

3. Class Diagram

Class Diagram merupakan pemodelan dari sebuah class-class yang akan dibangun pada sebuah sistem. Class diagram akan menggambarkan semua relasi yang terjadi terhadap class-class.

4. Sequence Diagram

Sequence diagram merupakan pemodelan untuk menggambarkan interaksi antar pengguna dan sistem, dimana pada suatu use case akan dijelaskan secara sekuen bagaimana porses interaksi anatara pengguna dan sistem dijelaskan. Sequencediagram akan menjelaskan keterkaitan class-class yang akan dibangun. 2.7 Tools yang Digunakan

Berikut adalah tools yand digunakan sebagai pendukung pembangunan aplikasi game.

2.7.1 Android Development Tools Bundle

Android Development Tools Bundle merupakan kumpulan dari beberapa softwawre untuk membangun aplikasi Android yang disediakan oleh Android[14]. Di dalam Android Development Tools Bundle terdapat software, yaitu :

2.7.1.1Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent)[18]. Berikut ini adalah sifat dari Eclipse:

1. Multi-platform

2. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

(34)

mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam

bahasa pemrograman Java. Konsep Eclipse adalah IDE yang terbuka (open), mudah

diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Apabila

ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development

Tools).

2.7.1.2ADT (Android Development Tools) Plugins for Eclipse

Android Development Tools (ADT) adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi angroid dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi projek android, membuat GUI aplikasi, dan menambah komponen-komponen yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui Eclipse[14].

2.7.1.3Android SDK (Sun Development Kit)

Android SDK (Sun Development Kit) adalah tools API (Application Programing Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan pemograman Java[14].

2.7.2 JDK (Java Development Kit) Oracle

Java Development Kit merupakan perangkat lunak yang digunakan untuk melakukan proses kompilasi dari kode Java menjadi bytecode yang dapat dimengerti dan dapat dijalankan oleh Java Runtime Environtment.

Java Development Kit wajib terinstall pada komputer yang akan melakukan proses pembuatan aplikasi berbasis Java. Namun Java Development Kit tidak wajib terinstall di komputer yang akan menjalankan aplikasi yang dibangun menggunakan Java[19].

2.7.3 Reason

(35)

21

2.7.4 CorelDraw

CorelDraw merupakan sebuah software untuk membuat sebuah grafis dan gambar-gambar[22].

2.7.5 Cubase

(36)
(37)

23

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sitem

Pada bagian ini akan dijelaskan tentang analisis terhadap sistem yang akan dibangun. Bagian ini menjelaskan analisis-analisis yang dilakukan.

3.1.1 Analisis Masalah

Berdasarkan analisa yang dilakukan, maka permasalahan yang dihadapi adalah bagaimana pembelajaran dalam operasi hitung bilangan dasar matematika lebih interaktif dengan menggunakan tokoh Kabayan sebagai tokoh utama game. 3.1.2 Analisis Game Sejenis

Analisis game sejenis merupakan analisis yang akan membahas mengenai game yang menjadi acuan dalam pembangunan sebuah game. Dalam analisis game sejenis ini akan membahas mengenai komponen yang berperan penting untuk membangun game edukasi. Komponen game yang akan di analisis yaitu story line, game play, dan edukasi.

3.1.2.1Analisis Game Mole Math LITTLE

Game Mole Math LITTLE merupakan game edukasi untuk pembelajaran matematika terutama dalam hal berhitung pertambahan, pengurangan, perkalian, pembagian.

Gambar 3.1 Game Mole Math LITTLE

1. Story Line Mole Math LITTE

(38)

2. Game Play Mole Math LITTLE

Pada game Mole math versi LITTLE hanya ada level “medium” dan permainan “20 pertanyaan”. Game play dari game ini sangat sederhana namun membutuhkan konsentrasi tinggi. Pemain game ini harus mencari jawaban dari pertanyaan yang tampil di papan tulis dengan menyentuh Mole yang keluar dengan jawaban yang tepat. Pemain akan dituntut untuk menjawab 20 pertanyaan dengan yang singkat karena, penilaian atau scoring berpengaruh terhadap waktu. 3. Edukasi Mole Math LITTLE

Pada game Mole math versi LITTLE memiliki konten edukasi tentang penjumlahan, pengurangan, perkalian, dan pembagian. Bentuk penyampaian edukasi dengan mengunnakan pertanyaan.

3.1.2.2Analisis Game Pick a Path

Game Pick a Path merupakan game edukasi tentang pembelajaran matematika dalam perbandingan antara besar dan kecil.

Gambar 3.2 Game Pick a Path

1. Storyline Pick a Path

Game ini menceritakan tokoh Okta yang mencari jalur dalam graph yang tertampil. Tokoh Okta dapat keluar jika bisa mencapai targetnya.

2. Game Play Pick a Path

(39)

25

3.1.2.2.1 Edukasi Pick a Path

Pada game Pick a Path terdapat edukasi dalam menentukan perbandingan antara besar atau kecil. Bentuk penyampaian edukasi dengan menggunakan graph dimana pemain harus mencari jalur dengan membandingkan setiap jalur yang akan dilewati.

3.1.3 Analisis Game yang Akan Dibangun

Pada bagian ini akan dijelaskan analisis untuk membangun game Kabayan Berhitung.

3.1.3.1Storyline

Game Kabayan Berhitung menceritakan tentang tokoh Kabayan. Pada game ini menceritakan Kabayan yang memiliki kekurangan untuk berhitung, sehingga membuat Kabayan tidak bisa bermain dengan tokoh Nyi Iteung karena tokoh Abah ingin agar anaknya yaitu Nyi Iteung bermain dengan anak yang bisa berhitung. Untuk membuat Kabayan bisa bermain lagi dengan Nyi Iteung, Kabayan akan diberikan pelatihan berhitung oleh Abah sebelum Kabayan dapat bermain lagi dengan Nyi Iteung.

Pelatihan yang diberikan Abah akan terdapat 3 pelatihan, yaitu : 1. Pelatihan pertama

Pada pelatihan pertama ini Abah akan melatih Kabayan di Ladang. Pelatihan ini dilakukan Abah agar Kabayan dapat melakukan pertambahan dan pengurangan.

2. Pelatihan kedua

Pada pelatihan kedua, Abah akan membawa Kabayan untuk mencari jalan terdekat menuju rumah Nyi Iteung. Setiap Kabayan menemui titik akhir jalan yang dicari, Abah akan bertanya perkalian dan pembagian kepada Kabayan untuk melanjutkan perjalanan.

3. Pelatihan ketiga

(40)

pertambahan, pengurangan, perkalian dan pembagian. Setelah Kabayan bisa menjawab pertanyaan dari Abah, Kabayan harus memasukan kunci tersebut dengan memecahkan hasil pertanyaan kedalam puluhan dan satuan. Kabayan harus membuka pintu sebanyak 3 kali pada pelatihan ini.

Setelah 3 pelatihan selesai maka Kabayan diijinkan Abah untuk bermain dengan Nyi Iteung kembali. Permainan selesai ketika semua pelatihan sudah di bereskan Kabayan.

3.1.3.2Analisis Tingkat Kesulitan

Analisis tingkat kesulitan merupakan analisis untuk menguji user untuk menyelesaikan game.

1. Tingkat 1 (level 1)

Materi yang disajikan adalah pertambahan dan pengurangan dengan pembatasan nilai 1 – 9. Pembatasan nilai diadakan karena pertambahan dan

Materi yang disajikan yaitu :

a. Pertambahan dan pengurangan dengan menggunakan pemilihan dalam kasus mencari jarak. Sebagai contohakan tertampil graph sebagai berikut :

1

Gambar 3.3 Contoh Graph

(41)

27

b. Perkalian dan pembagian dengan pembatasan nilai 1 – 9. Pembatasan nilai diadakan karena perkalian dan pembagian dari 1 – 9 merupakan kewajiban dari setiap siswa untuk di hafal. Contoh soal sebagai berikut:

i. 3 x 8 = ? ii. 24 : 6 = ? 3. Tingkat 3 (level 3)

Materi yang disajikan yaitu :

a. Penggabungan antara pertambahan, pengurangan, perkalian, sebagai contoh :

( 4 x 4 ) – 1 = ?

b. Pemecahan bilangan ke puluhan dan satuan, sebagai berikut :

3.1.3.3Game Play

Tugas utama pemain dalam memainkan game ini adalah untuk menyelesaikan misi-misi yang ada pada setiap bagian atau level pada game. Pada game ini akan dibagi dalam 3 level atau pelatihan. Setiap pelatihan memiliki misi yang berbeda. Kesulitan setiap level atau pelatihan akan berada pada pertanyaan yang tertampil. Berikut ini akan dijelaskan misi-misi dari setiap pelatihannya :

1. Pelatihan 1 (level 1)

a. Pemain harus mencangkul ladang untuk mencari jawaban dari pertanyaan yang tampil.

b. Jika pemain merasa jawaban benar dan waktu menjawab belum habis, maka pemain memeriksakan jawaban.

c. Pemain harus menjawab sebanyak 5 pertanyaan dan kesempatan belum habis untuk melanjutkan ke pelatihan 2.

2. Pelatihan 2 (level 2)

a. Pemain pada awal pelatihan 2 harus mencari jalur terpendek pada graph pada graph ke 1 dengan jarak yang ditanyakan.

b. Setelah menyelesaikan graph ke 1, pemain harus menjawab pertanyaan. puluhan satuan

(42)

c. Jika pemain menjawab dengan benar, pemain harus mencari jalur terpendek pada graph ke 2 dengan jarak yang ditanyakan.

d. Setelah menyelesaikan graph ke 2, pemain harus menjawab pertanyaan. e. Jika pemain menjawab dengan benar, pemain harus mencari jalur

terpendek pada graph ke 3 dengan jarak yang ditanyakan.

f. Setelah menyelesaikan graph ke 3, pemain harus menjawab pertanyaan. g. Jika pemain menjawab dengan benar, pemain akan melanjutkan permainan

ke pelatihan 3. 3. Pelatihan 3 (level 3)

a. Pemain harus menyentuh pintu ke 1

b. Pemain harus menjawab pertanyaan agar mendapatkan sandi untuk membuka pintu ke 1.

c. Pemain harus memasukan sandi dengan benar untuk membuka pintu ke 1 dan menuju pintu ke 2.

d. Pemain harus menyentuh pintu ke 2

e. Pemain harus menjawab pertanyaan agar mendapatkan sandi untuk membuka pintu ke 2.

f. Pemain harus memasukan sandi dengan benar untuk membuka pintu ke 2 dan menuju pintu ke 3.

g. Pemain harus menyentuh pintu ke 3

h. Pemain harus menjawab pertanyaan agar mendapatkan sandi untuk membuka pintu ke 3.

i. Pemain harus memasukan sandi dengan benar untuk membuka pintu ke 3 dan pemain berhasil.

3.1.3.4Analisis Scoring

(43)

29

Tabel 3.1 Analisa Scoring

Pelatihan

(Level) Keterangan Score Jumlah

1 Terdapat 5 pertanyaan 5 x 10 (score yang diberi) 50 2 Terdapat 3 kali penyelesaian

jalan tercepat terhadap kesalahan. Jika pemain melakukan kesalahan disetiap pelatihan atau kejadian, maka kesempatan pemain akan berkurang.

3.1.3.5Edukasi

Game Kabayan Berhitung akan mengemas edukasi tentang pembelajaran matematika dalam operasi hitung bilangan yaitu penjumlahan, pengurangan, perkalian dan pembagian. Pembagian materi akan dibedakan dalam setiap level di game Kabayan Berhitung. Dimulai dari level 1 yaitu tentang penjumlahan dan pengurangan. Dilanjutkan level 2 tentang pencarian jalur dengan menggunakan pertambahan dan pengurangan, dan materi perkalian dan pembagian. Terakhir pada level 3 akan memberikan materi operasi hitung campuran dari pertambahan, pengurangan, perkalian, dan pembagian, juga pemecahan bilangan.

3.1.4 Analisis Algoritma

Analisis Algoritma merupakan suatu analisis untuk menerapkan algoritma yang digunakan terhadap game yang akan dibangun.

3.1.1.1Analisis Algoritma Dijkstra

(44)

Gambar 3.4 Contoh graph yang tertampil di level 2

Keterangan :

1. V1-5 : merupakan titik tujuan yang nantinya akan ditempuh Kabayan (vertex).

2. W1-7 : merupakan jarak atau bobot antara setiap titik tujuan. Jarak yang tertampil akan selalu berubah-ubah.

3. Y : merupakan hasil dari algoritma Dijkstra yaitu jarak minimum pada graph yang tertampil yang menjadi parameter untuk pemain.

4. X : merupakan jarak yang sudah ditempuh pemain.

Dari contoh graph yang tertampil, akan dijelaskan mengenai langkah algoritma dari algoritma Dijkstra untuk menghitung jarak minimum. Berikut adalah gambar dari graph yang sudah di inisialisasi bobot atau jarak antara titik

Gambar 3.5 Contoh graph yang sudah dinisialisasi jarak antara vertex nya

(45)

31

Tabel 3.2 Matriks dari Contoh Graph

graph V0 V1 V2 V3 V4 V5

1. Baris merupakan vertex awal dan kolom merupakan vertex tujuan.

2. Jika vertex awal menuju vertex tujuan tidak mempunyai arah maka akan di insialisasi dengan infinity (∞).

3. Jika vertex mengacu ke vertex itu sendiri maka akan di inisialisasi dengan 0. Algoritma Dijkstra akan di jelaskan dalam procedure pada Pseudocode berikut :

Procedure dijkstra(input d:array[0..JumlahVertex][0..JumlahVertex] of integer,

from:intger, output distance:array[0..JumlahVertex] of integer, predecessors :

array[0..JumlahVertex] of integer)

Deklarasi set : List

closed : array[0..JumlahVertex] of Boolean

minDistance : integer

node : integer

distance[i]  infinity else minDistance  infinity

node  -1

for each i in adj(set) do

if distaces[i] < minDistance then

minDistance  distances[i]

node  i

(46)

predecessors[i]  node

Berikut penjelasan dari procedure Dijkstra :

Tabel 3.3 Pseudocode Algoritma Dijkstra

No Algoritma Pseudocode

1 Masukan form kedalam set set add(from)

indeks ke from

predecessors[from] -1

3 Ketika set tidak kosong maka lakukan proses selanjutnya

while( set ≠ kosong) do

4 Inisialisasi minDistance dengan infinity

minDistance  infinity

5 Masukan -1 ke node node  -1

6 Proses untuk mencari jarak minimal di dalam set

for each i in adj(set) do

if distaces[i] < minDistance then minDistance  distances[i] node  i

endif endfor 7 Hapus node di dalam set set remove(node) 8 Masukan nilai true pada closed

dengan indeks ke node

closed[node] true

9 Proses perbandingan jarak tempuh dengan vertex yang dituju dan mencari nilai yang paling kecil kemudian dimasukan kedalam set.

for i  0 to JumlahVertex do

ifd[node][i] ≠ infinity then if closed[i] = false then

(47)

33

Berikut langkah-langkah algoritma pada graph yang tertampil :

Set : [ 0 ]

Gambar 3.6 Iterasi 0 Algoritma Dijkstra

minDistance : 0

Node : 0

(48)

minDistance : 2

Gambar 3.8 Iterasi 2 Algoritma Dijkstra

minDistance : 3

Node : 1

(49)

35

minDistance : 7

Node : 2

Gambar 3.10 Iterasi 4 Algoritma Dijkstra

minDistance : 8

Node : 5

(50)

minDistance : 9

Gambar 3.12 Iterasi 6 Algoritma Dijkstra

Berikut hasil berupa tabel hasil perhitungan :

Tabel 3.4 Hasil Perhitungan Algoritma Dijkstra

node distances predecessors set

V0 V1 V2 V3 V4 V5

Untuk mendapatkan pembacaan yang benar dan mengetahui jarak minimal, dibutuhkan suatu procedure Reconstructor Predecessor. Berikut Procedure Reconstructor Predecessor yang digunakan untuk memperbaiki pembacaan :

Procedure reconstructorPredecessor(input sumVertex : integer, s :

integer, output solutionPath : array[0..IndeksSolusi] of integer,

minDistanceGraph : integer ) DEKLARASI

i : integer

ALGORITMA i  0

currentVertex  sumVertex – 1

while currentVertex ≠ 0 do

(51)

37

currentVertex  predecessors[currentVertex] i  i + 1

endwhile

minDistanceGraph  distances[panjang array distances - 1]

Berikut penjelasan dari procedure Reconstructor Predecessor :

Tabel 3.5 Pseudocode Procedure Reconstructor Predecessor

No Algoritma Pseudocode

1 Inisalisasi i = 0 i  0 2 Inisalisasi currentVertex

dengan sumVertex– 1

currentVertex  sumVertex – 1

3 Ulangi jika currentVertex tidak sama dengan 0 lakukan proses selanjutnya

whilecurrentVertex ≠ 0 do

4 Masukan currentVertex kedalam solutionPath dengan indeks ke i

solutionPath[i]  currentVertex

5 Insialisasi kembali

currenVertex dengan

predecessors indeks ke

currentVertex

currentVertex  predecessors[currentVertex]

6 Tambah nilai indeks i i  i + 1 7 Akhir dari while jika

currenVertex = 0

endwhile

8 Masukan distances indeks ke panjang array distances dikurangi 1 kedalam minDistanceGraph

minDistanceGraph  distances[panjang array distances - 1]

Hasil dari procedure Reconstructor Predecessor, sebagai berikut :

Tabel 3.6 Hasil Procedure Reconstructor Predecessor

i currentVertex predecessors[currentVertex] solutionPath

0 5 2 [5]

1 2 1 [5,2]

2 1 0 [5,2,1]

- 0 - [5,2,1,0]

minDistanceGraph 8

(52)

V0

Gambar 3.13 Graph Hasil dari Procedure Dijkstra (Algoritma Dijkstra)

3.1.1.2Algoritma Fisher Yates

Algoritma Fisher Yates merupkan algoritma untuk pengacakan suatu urutan. Dalam pembangunan game Kabayan Berhitung, algoritma ini akan digunakan untuk memenuhi pengacakan jawaban yang bertempat pada level 1 atau pelatihan 1. Jawaban akan berupa array dengan inisialisasi nilai yaitu : {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}.

Berikut adalah functionFisher Yates :

function fisherYates(input array : array[0..JumlahElemen] of integer) 

array[0..JumlahElemen] of integer

{ menghasilkan array yang sudah teracak }

(53)

39

Berikut penjelasan dari function Fisher Yates :

Tabel 3.7 Graph Hasil dari Procedure Dijkstra (Algoritma Dijkstra)

No Algoritma Pseudocode

1 Inisialisasi m dengan nilai jumlah elemen di variabel array

m  jumlah elemen di variabel array

Hasil dari pengacakan function Fisher Yates dalam pengcakan jawaban sebagai berikut :

Tabel 3.8 Hasil Function Fisher Yates

(54)

13

Dari hasil analisis algoritma Fisher Yates diapatkan hasil bahwa, algoritma ini sangat cocok untuk pengacakan yang nantinya akan digunakan untuk mengacak jawaban.

3.1.5 Spesifikasi Kebutuhan Perangkat Lunak

Spesifikasi kebutuhan perangkat lunak merupakan deskripsi dari apa yang harus sistem miliki untuk memenuhi kebutuhan dari pengguna.

Kode Kebutuhan Deskripsi

SKPL-F-01 Sistem dapat menyediakan untuk memulai permainan SKPL-F-02 Sistem dapat menyediakan untuk mencangkul ladang SKPL-F-03 Sistem dapat menyediakan untuk mencari jalur pada graph SKPL-F-04 Sistem dapat menyediakan untuk menjawab pertanyaan SKPL-F-05 Sistem dapat menyediakan untuk memasukan sandi SKPL-NF-01 Sistem dapat berjalan pada perangkat mobile Android SKPL-NF-02 Sistem dapat berjalan pada layar WVGA 480 x 800 pixel

(55)

41

SKPL-NF-04 Sistem dibangun oleh perangkat lunak Android Developer Tools dan Oracle Java Development Kit

SKPL-NF-05 Sistem dibangun oleh bahasa pemrograman Android

SKPL-NF-06 Pembangunan grafis dibangun dengan menggunakan perangkat lunak Corel Draw

SKPL-NF-07 Pembangunan music dibangun dengan menggunakan perangkat lunak Cubase dan Reason

SKPL-NF-08 Sistem dapat digunakan pemain dengan knowlage and

experience, sebagai berikut:

MobileLiteracy : Rendah, minimal bisa menggunakan

smartphone android.

Pengalaman Sistem : Sedang, minimal biasa menggunakan sistem operasi Android 2.2 (froyo)

Pengalaman Aplikasi : Sedang, minimal pernah memainkan game edukasi dan petualangan sejeneis lainnya.

Penggunaan Sistem Lain : Jarang Edukasi : Sekolah Dasar

Kemampuan Membaca : Bisa membaca dengan lancar. Setara dengan kemampuan membaca anak kelas 2 SD.

Bahasa / Kultur : Bahasa Indonesia

SKPL-NF-09 Sistem mempengaruhi pemain dalam Job/Task/Need, sebagai berikut:

Frekuensi Penggunaan : Occasional

Tingkat Kepentingan Task : Lemah Interaksi Sosial : tidak diperlukan

SKPL-NF-10 Sistem mempengaruhi pemain dalam Psychological

Characteristics, sebagai berikut:

Attitude : Positif

Motivasi : Tinggi

Stress Level : No Stress

SKPL-NF-11 Sistem dapa digunakan pemain dengan Physical Characteristics, sebagai berikut :

Umur : 8 – 11 tahun

Jenis Kelamin : Laki-laki dan perempuan

Handedness : Kanan, Kidal, dan Keduanya

Disabilities : Tidak ada masalah dengan penglihatan

3.1.6 Analisis Kebutuhan Non Fungsional

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

3.1.6.1Analisis Kebutuhan Perangkat Keras

(56)

Pada apikasi game Kabayan Berhitung ini, perangkat keras yang dibutuhkan untuk menjalankan aplikasi adalah :

1. Mobile Android dengan sistem operasi minimal Android 2.2 (froyo) 2. Layar WVGA 480 x 800 pixel

3.1.6.2Analisis Kebutuhan Perangkat Lunak

Perangkat lunak digunakan dalam sebuah sistem merupakan perintah-perintah yang diberikan kepada perangkat keras agar bisa dapat berinteraksi diantara keduanya.

Perangkat lunak yang dibutuhkan dalam penerapan aplikasi game edukasi ini adalah Sistem Operasi Android minimal versi 2.2 (froyo).

Perangkat lunak yang digunakan dalam pembangunan game edukasi ini yaitu : 1. Pembangun game :

a. Android Developer Tools (include : Eclipse, Android SDK, ADT Plugins for Eclipse)

b. Oracle Java Development Kit 2. Bahasa pemograman : Android 3. Grafis : Corel Draw

4. Music : Reason dan Cubase 3.1.6.3Analisis Pengguna

Analisis pengguna merupakan analisis terhadap pengguna yang akan menggunakan aplikasi yang telah dibangun. Perangkat keras dan perangkat lunak yang ada tidak dapat berguna apabila tidak ada pengguna yang mengoperasikannya. Oleh karena itu dibuatlah analisis pengguna yang berdasarkan pada user profilenya, yakni berdasarkan user knowledge & experience, user job, task & needs, user physicological characteristic, dan user physical characteristic.

Tabel 3.9 Analisis Pengguna

KNOWLEDGE AND EXPERIENCE

MobileLiteracy Rendah, minimal bisa menggunakan smartphone android.

(57)

43

Pengalaman Aplikasi Sedang, minimal pernah memainkan game edukasi dan petualangan sejeneis lainnya.

Penggunaan Sistem Lain Jarang

Edukasi Sekolah Dasar

Kemampuan Membaca Bisa membaca dengan lancar. Setara dengan kemampuan membaca anak kelas 2 SD.

Kemampuan Mengetik -

Bahasa / Kultur Bahasa Indonesia

JOB / TASK / NEED

Frekuensi Penggunaan Occasional

Tingkat Kepentingan Task Lemah

Interaksi Sosial Tidak diperlukan

PSYCHOLOGICAL CHARACTERISTICS

Attitude Positif

Motivasi Tinggi

Stress Level No Stress

PHYSICAL CHARACTERISTICS

Umur 8 - 11 tahun

Jenis Kelamin Laki – laki dan Perempuan

Handedness Kanan, Kidal, dan Keduanya

Disabilities Tidak ada masalah dengan penglihatan

3.1.7 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akan diterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan sistem agar sistem dapat berjalan dengan baik sesuai kebutuhan. Pada bagian ini akan dibahas tentang use case diagram, activity diagram, class diagram, state chart diagram dan sequence diagram.

3.1.7.1Use Case Diagram

(58)

interaksi. Pada bagaian ini akan dijelaskan Use Case yang akan dirancang beserta definisinya.

uc Game Kabayan Berhitung

Sistem

Pemain

memulai permainan

mencangkul ladang

mencari j alur pada graph

menj aw ab pertanyaan

memasukan sandi

Gambar 3.14 Use Case Diagram Kabayan Berhitung

1. ActorDefinition

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

Tabel 3.10 Actor Definition

No Actor Deskripsi

1 Pemain Pemain merupakan orang yang memainkan game

dan berinteraksi langsung dengan antar muka

game.

2. Use CaseDefinition

Gambar

Tabel 3.2 Matriks dari Contoh Graph
Gambar 3.7 Iterasi 1 Algoritma Dijkstra
Gambar 3.9 Iterasi 3 Algoritma Dijkstra
Gambar 3.10 Iterasi 4 Algoritma Dijkstra
+7

Referensi

Dokumen terkait

Buktinyatanya bandara kao telah menjadi salah satu pusat penerbangan di kabupaten halmaherautaramenurut saya bandara udara di kao ada dalam tahap pembangunan masyarakat

Tahap pembangunan basis data dalam penelitian ini memiliki tujuan untuk membuat peta tematik dengan tema sistem informasi kesehatan baik sebaran jenis penyakitnya

Tujuan dari penelitian ini adalah untuk meningkatkan kemampuan pemecahan masalah matematika di SMK Negeri 3 Banjarmasin dengan menerapkan pendekatan

selaku Direktur Universitas Terbuka Jakarta yang telah menerima dan memberikan kesempatan kepada penulis untuk melanjutkan studi pada Program Magister Administrasi

Telah dilakukan penelitian tentang retensi karoten kapang oncom merah ( Neurospora sp.) pada mie instan fungsional selama proses pengolahan dan penyimpanan. Tujuannya adalah

Bila pada suatu kondisi PLTS 100 kWp dengan irradiasi 1000 W/m2 dan temperature 25 oC namun daya listrik yang dihasilkan jauh lebih kecil dari 100 kW, sebagai contoh 50 kW, bisa

Introduction 7 Creating a basic Surface Shader 8 Adding properties to a Surface Shader 12 Using properties in a Surface Shader 14 Creating a custom diffuse lighting model

Pada saat proses pemotongan baja paduan kelas tinggi dengan pahat karbida yang berlapis titanium nitrida berlangsung pada suhu yang relatif tinggi