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
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
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.
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
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
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
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
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
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
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
[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
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].
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
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
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
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
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
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
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
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
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
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.
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.
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 :
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].
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)
(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
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
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
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.
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
21
2.7.4 CorelDraw
CorelDraw merupakan sebuah software untuk membuat sebuah grafis dan gambar-gambar[22].
2.7.5 Cubase
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
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
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
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
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
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
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
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
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
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
33
Berikut langkah-langkah algoritma pada graph yang tertampil :
Set : [ 0 ]
Gambar 3.6 Iterasi 0 Algoritma Dijkstra
minDistance : 0
Node : 0
minDistance : 2
Gambar 3.8 Iterasi 2 Algoritma Dijkstra
minDistance : 3
Node : 1
35
minDistance : 7
Node : 2
Gambar 3.10 Iterasi 4 Algoritma Dijkstra
minDistance : 8
Node : 5
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
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
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 }
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
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
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
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.
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
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