Membangun game edukasi gun math for smart

(1)

(2)

(3)

(4)

Nama : Yonni Nurdiansyah Jenis Kelamin : Laki-laki

Tempat/Tanggal Lahir : Bandung, 12 Juli 1985 Agama : Islam

Warga Negara : Indonesia

Alamat : Jl. Terusan Kopo No. 360 Margahayu Selatan Bandung 40226 Telepon : +6285221033002

E-mail : Nobu.akira@yahoo.co.id

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : MI Al-haq tahun ajaran 1991-1997 2. Sekolah Menengah Pertama : MTS Al-haq tahun ajaran 1998-2000

3. Sekolah Menengah Atas : SMA Angkasa Lnud Sulaiman tahun ajaran 2000-2003 4. Perguruan Tinggi : - Program Studi D3 Teknik Informatika Universitas

Komputer Indonesia tahun ajaran 2003-2007 - Program Studi S1 Teknik Informatika Universitas


(5)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

YONNI NURDIANSYAH

10110714

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(6)

iii

Segala puji dan syukur penulis panjatkan atas kehadirat Tuhan Yang Maha Esa, Allah SWT, yang telah melimpahkan berkat, rahmat, dan inayah-Nya, sehingga penulis dapat menyelesaikan skripsi yang berjudul “MEMBANGUN

GAME EDUKASI FUN MATH FOR SMART. Tak lupa shalawat serta salam

semoga selalu tercurah kepada Baginda Rasullullah SAW, kepada para sahabatnya, dan kepada para ummatnya hingga akhir jaman.

Skripsi ini dibangun untuk memenuhi salah satu syarat dalam menyelesaikan jenjang pendidikan Strata 1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia. Penulis menyadari bahwa skripsi ini masih sangat banyak kekurangan dan berkat bantuan dari semua pihak akhirnya skripsi ini dapat terselesaikan tepat pada waktunya.

Oleh karena itu, dengan rasa syukur dan haru, penulis ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada :

1. Allah SWT Atas segala rahmat dan karuniaNya dan bimbinganNya, sehingga dalam melakukan penelitian serta penyusunan tugas akhir ini terlaksana dengan baik.

2. Kedua orang tua tercinta, Ayahanda, H Munawarman dan Ibunda, Dra. Hj. Entin Juariah serta adik tercinta, Wildan Zakiyya yang selalu sabar memberikan dukungan, senantiasa memberikan kasih sayang yang begitu besar, serta senantiasa memberikan doa setiap waktu.


(7)

iv Universitas Komputer Indonesia.

5. Ibu Rani Susanto, S.Kom., selaku dosen wali kelas IF-1

6. Bapak Galih Hermawan, S.Kom.,M.T. selaku pembimbing yang telah memberikan pengarahan dan masukan yang sangat berguna bagi penulis dalam penyusunan skripsi ini

7. Bapak Eko Budi Setiawan, S.Kom.,M.T., selaku penguji 1 yang telah memberikan banyak masukan yang sangat berguna bagi penulis.

8. Seluruh staff dosen dan staff tata usaha Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

9. Serta semua pihak yang telah membantu dalam penyusunan skripsi ini, yang tidak bisa penulis sebutkan satu-persatu.

Semoga Allah SWT. senantiasa melimpahkan rahmat dan karunia-Nya, serta memberikan balasan berlipat ganda atas jasa dan amal baiknya.

Akhir kata semoga skripsi ini dapat menjadi ilmu yang bermanfaat bagi penulis sendiri khususnya dan bagi pembaca pada umumnya.

Wassalammu’alaikum Wr.Wb Bandung, Februari 2014


(8)

v DAFTAR ISI

ABSTRAK... i

ABSTRACT... ii

KATA PENGANTAR... iii

DAFTAR ISI... v

DAFTAR GAMBAR...viii

DAFTAR TABEL... .xii

DAFTAR SYMBOL... xiv

DAFTAR LAMPIRAN…... xix

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

1.5 Metodologi Penelitian………... 3

1.6 Sistematika Penulisan………... 5

BAB 2 LANDASAN TEORI……….. 7

2.1 Permainan Video (Video Game)……… 7

2.1.1 Sejarah Singkat Video Game………. 7

2.1.2 Jenis-jenis permainan video………... 9

2.2. Game Edukasi………... 10

2.2.1. Pengertian Game Edukasi ……… 11

2.2.2 Kriteria Game Edukasi……….. 11

2.3 Kecerdasan Buatan (Artificial Intelligence)……….. 12

2.3.1 Definisi AI………. 12

2.3.2 Teknik Pemecahan Masalah AI…...……… 14

2.3.2.1 Algoritma A* (A Star Algorithm)……… 16

2.4 Object Oriented Programming (OOP)…….………..……….. 21


(9)

vi

2.5.1 Sejarah UML………. 25

2.5.2 Diagram UML………... 26

2.6 Teknik Pengujian Perangkat Lunak……….. 36

2.6.1 Pengujian Black Box……… 36

2.6.2 Pengujian White Box………... 37

2.7. Matematika ………... 37

2.8. Pengertian Multimedia……….. 39

2.8.1. Jenis Multimedia………... 39

2.8.2. Kriteria Multimedia……….. 40

2.8.3. Kelebihan Pembelajaran Menggunakan Multimedia……… 40

2.9 Tools yang Digunakan……….. 41

2.9.1 Html 5……… 41

2.9.2 Javascript………... 41

2.9.3 Construct 2……… 42

BAB 3 ANALISIS DAN PERANCANGAN SISTEM……… 43

3.1 Analisis Sistem……….. 43

3.1.1 Analisis Masalah………... 43

3.1.2 Analisis Game Sejenis………... 44

3.1.3 Analisis Pembangunan Game Edukasi Fun Math For Smart………. 46

3.1.3.1 Story Line……….. 47

3.1.3.2 Analisis Tingkat Kesulitan……… 47

3.1.3.3 Gameplay……….. 48

3.1.3.4 Scoring……….. 49

3.2 Analisis Algoritma A* (A-Star)...……… 49

3.3 Analisis Kebutuhan Non Fungsional...……….... 56

3.3.1 Analisis Perangkat Keras…...……….. 56

3.3.2 Analisis Perangkat Lunak...………. 57

3.3.3 Analisis Pengguna...……… 58

3.4 Analisis Kebutuhan Fungsional………... 58

3.4.1 Diagram Use Case……….. 58


(10)

vii

3.4.3 Diagram Activity………...………66

3.4.4 Class Diagram……….…. 72

3.4.5 Diagram Sequence………... 72

3.5 Perancangan Sistem……… 75

3.5.1 Perancangan Komponen Permainan………... 75

3.5.1.1 Entitas Game………... 75

3.5.1.2 Storyboard………... 77

3.5.2 Perancangan Struktur Menu………... 80

3.5.3 Perancangan Antarmuka……… 82

3.5.4 Jaringan Semantik……….. 87

3.5.5 Perancangan Method……….. 87

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM………. 93

4.1 Implementasi Sistem………... 93

4.2 Perangkat Pendukung yang Digunakan………..……… 93

4.2.1 Perangkat Keras (Hardware)…..………. 93

4.2.2 Perangkat Lunak (Software)………... 94

4.2.3 Implementasi Antarmuka……….94

4.3 Pengujian Sistem………... 101

4.3.1 Pengujian Alpha (Fungsional)……….………. 101

4.3.1.1 Rencana pengujian………... 101

4.3.1.2 Kasus Hasil Pengujian………. 105

4.3.1.3 Kesimpulan Hasil Pengujian Alpha……….… 110

4.3.1.4 Hasil Pengujian White Box……… 110

4.3.2 Pengujian Beta………. 117

4.3.2.1 Hasil Kuesioner……… 118

4.3.2.2 Hasil Pengujian Beta……… 121

BAB 5 KESIMPULAN DAN SARAN……… 123

5.1 Kesimpulan………. 123

5.2 Saran……… 123


(11)

DAFTAR PUSTAKA

[1] Edward, S. L. Learning Process and Violent Video Games. Hand Book of Research on Effective Electronic Game in Education. Florida: University of Florida, 2009.

[2] Pribadi, Beny, Pembangunan Game Edukasi Smart Labyrinth Berbasis Desktop, Skripsi Unikom, 2013.

[3] Mochammad Romndhan Fitriyadi, Pembangunan Aplikasi Game Edukasi 2D Smart Shoot, Skripsi Unikom, 2013.

[4] Ranvic Labs, Fun Math Trick Lite, [Online], http://www.ranviclabs.com/, update 26 November 2013.

[5] Tim Penulis Fokus, Buku Ajar Untuk SD/MI kelas 5 Semester 2, CV. Sindunata, Sukoharjo, Standar Isi 2006.

[6] Nazir, Moh. Metode Penelitian. Jakarta: Ghalia Indonesia, 2009.

[7] Steven L. Kent, The Ultimate History of Video Games, by Three Rivers Press, New York, 2001.

[8] Rovi Corporation, Game genres and style – Allgame, [Online], http://www.allgame.com/genres.php, update 1 januari 2014.

[9] Handriyantini, Eva. Permainan Edukatif (Educational Games) Berbasis Komputer untuk Siswa Sekolah Dasar. Jurnal TIK di Sekolah Tinggi Informatika dan Komputer Indonesia, [Online], http://www.scribd.com/doc/88096095/Permainan-Edukatif-Educational-Games-Berbasis-Komputer, (diakses pada tanggal 5 April 2012). [10] Suyanto, Artificial Intelligence,s, INFORMATIKA, Bandung, 2010. [11] Shalahuddin, M dan Rosa A. S, Rekayasa Perangkat Lunak (Terstruktur

dan Berorientasi Objek), Modula, Bandung, 2011.

[12] Pressman, Roger S. Software Engineering: A Practitioner's Approach, McGraw-Hill Higher Education, 2011.

[13] GN, Denzdii. Definisi dan pengertian html5, [Online], Tersedia http://under-88.blogspot.com/2012/05/definisi-dan-pengertian-html5.html (diakses pada tanggal 11 mei 2012).


(12)

[14] Priyatna, Javascript dasar Pengertian dan Program Dasar, [Online], Tersedia http://priyatna.blog.upi.edu/2013/05/24/javascript-dasar-pengertian-dan-program-dasar/(diakses pada tanggal 24 mei 2013).


(13)

1 1.1Latar Belakang Masalah

Game yang memiliki konten pendidikan lebih dikenal dengan istilah game edukasi. Game berjenis edukasi ini bertujuan untuk memancing minat belajar anak terhadap materi pelajaran sambil bermain game, sehingga dengan perasaan senang diharapkan siswa bisa lebih mudah memahami materi pelajaran yang disajikan. Jenis ini sebenarnya lebih mengacu kepada isi dan tujuan game, bukan jenis yang sesungguhnya. Menurut Edward [1], game merupakan sebuah alat yang efektif untuk mengajar karena mengandung prinsip-prinsip pembelajaran dan teknik instruksional yang efektif digunakan dalam penguatan pada stage-stage yang sulit.

Matematika sebagai ilmu dasar begitu cepat mengalami perkembangan, hal itu terbukti dengan makin banyaknya kegiatan matematika dalam kehidupan sehari-hari. Disamping itu, matematika juga sangat diperlukan anak dalam mempelajari dan memahami mata pelajaran lain. Hasil wawancara dengan anak SD dilingkungan sekitar, pada kenyataannya banyak anak merasa takut, enggan dan kurang tertarik terhadap mata pelajaran matematika. Gambaran atau informasi yang tidak benar dari luar diri anak yang mencoba mendeskripsikan matematika sebagai sesuatu yang rumit, turut memberikan andil yang cukup signifikan bagi meningkatnya ketakutan anak pada matematika sebelum mempelajarinya. Anak-anak seringkali begitu tegang menghadapi pelajaran matematika bahkan beberapa anak menjadi hilang kepercayaan diri.

Game edukasi banyak jenisnya termasuk game edukasi matematika. Contoh game yang mengandung edukasi matematika yaitu Smart Labyrinth [2], smart shoot [3], Fun Math Trick [4], dan masih banyak lagi. Game edukasi tersebut beragam genre dari mulai quiz, maze atau labirin, dan ada juga yang memasukan unsur petualangan kedalam game tersebut. Game edukasi biasanya hanya satu jenis dan biasanya


(14)

kebanyakan berjenis quiz, dalam game yang dibangun ditambahkan beberapa jenis permainan seperti side scrolling, maze atau labirin, auto-runner dan quiz.

Berdasarkan uraian di atas, muncul sebuah ide membuat sebuah game edukasi matematika multi genre. Dengan adanya game edukasi ini bisa menumbuhkan rasa ketertarikan pengguna untuk belajar matematika

1.2 Rumusan Masalah

Berdasarkan uraian latar belakang masalah yang dikemukakan, maka dapat di rumuskan masalah yang ada adalah bagaimana membangun game edukasi “fun math for smart”.

1.3Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk membangun game edukasi “fun math for smart”.

Sedangkan tujuan membangun game edukasi “fun math for smart” adalah : 1. Menjadikan game sebagai media pembelajaran matematika yang interaktif. 2. Mampu menarik perhatian serta minat belajar pengguna 10 tahun ke atas.

1.4Batasan Masalah

Batasan masalah dalam pembangunan aplikasi ini adalah sebagai berikut :

1. Game yang dibangun merupakan game edukasi yang di dalamnya memiliki unsur petualangannya.

2. Game yang dibangun memiliki multi genre seperti : A. Side Scrolling

B. Maze atau Labirin C. Auto-Runner D. Quiz Game

3. Game yang dibangun berbasis web yang bisa dibuka melalui web browser. 4. Game yang dibangun bergrafis 2 dimensi.


(15)

5. Game ini bersifat single player.

6. Artificial Intelligence yang digunakan pada NPC dengan Algoritma A* (A Star) untuk menentukan rute terpendek.

7. Aplikasi game ini menggunakan bahasa pemrograman html 5 dengan tools Construct 2 sebagai Game engine

8. Game ini diperuntukkan siswa sekolah dasar atau 10 tahun ke atas 9. Konsep pemrograman berorientasi objek

10.Stage dari game ini adalah 4 stage.

11.Pemodelan Menggunakan UML (Unified Modelling Language).

12.Materi edukasi yang diberikan diambil dari mata pelajaran matematika kelas 5 SD [5] dan juga dari game sejenis.

1.5Metodologi Penelitian

Metodologi penelitian yang digunakan dalam mengerjakan laporan penelitian membangun game edukasi “fun math for smart” adalah metode deskriptif, yaitu metode penelitian yang menggambarkan secara sistematika dan akurat mengenai keadaan-keadaan nyata yang berjalan pada saat penelitian. Gambaran tersebut diperoleh dengan cara mengumpulkan, mengklasifikasikan, menyajikan, serta menganalisis data sehingga dapat ditarik suatu kesimpulan :

1. Tahap pengumpulan data

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

a. Studi Pustaka

Pengumpulan data dilakukan dengan cara mempelajari, meneliti, dan menelaah berbagai literatur dari perpustakaan yang bersumber dari buku, jurnal ilmiah, situs internet, dan bacaan lainnya yang berkaitan dengan judul skripsi.


(16)

b. Observasi

Teknik pengumpulan data dengan cara melakukan pengamatan secara langsung terhadap permasalahan yang diambil. Observasi langsung di lingkungan sekitar rumah untuk mengetahui situasi dan kondisi pengguna (10 tahun ke atas) terhadap kemampuan matematika yang dimiliki secara langsung.

c. Interview

Wawancara adalah tahap pengumpulan data dengan mengadakan tanya jawab secara langsung dengan orang-orang di lingkungan sekitar.

2. Tahap pembuatan perangkat lunak.

Metode pembangunan perangkat lunak yang digunakan menggunakan model waterfall, karena menghasilkan sistem yang terstruktur dengan baik pada setiap prosesnya. Waterfall merupakan salah satu model pembangunan software, dimana kemajuan suatu proses dipandang sebagai aliran yang mengalir ke bawah seperti air terjun, maka tahapan dalam model ini disusun bertingkat. Setiap tahap dalam model ini dilakukan berurutan, selain itu dari satu tahap kita dapat kembali ke tahap sebelumnya. yang meliputi beberapa proses diantaranya:

a. System Engineering

Rekayasa perangkat lunak merupakan tahapan yang pertama kali dilakukan untuk merumuskan sistem yang akan dibangun. Hal ini bertujuan untuk memahami sistem yang akan dibangun.

b. Analisis (Analysis)

Tahap ini dilakukan untuk memahami sistem yang sedang berjalan agar dapat mendefinisikan permasalahan sistem sehingga selanjutnya dapat menentukan kebutuhan sistem sebagai persiapan ke tahapan perancangan.

c. Perancangan (Design)

Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.


(17)

d. Penulisan Kode Program (Coding)

Setelah tahap perancangan sistem selanjutnya dilakukan konversi rancangan sistem kedalam kode-kode bahasa pemrograman tertentu yang diinginkan.

e. Pengujian (Testing)

Merupakan tahap pengujian terhadap perangkat lunak yang dibangun untuk mendapatkan serta memastikan bahwa perangkat lunak yang dihasilkan adalah valid dan sesuai dengan kebutuhan yang telah dideskripsikan.

Gamvbar 1.1 waterfall [6].

1.6Sistematika Penulisan

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

BAB I PENDAHULUAN

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


(18)

BAB II. LANDASAN TEORI

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian seperti definisi game, jenis game, game edukasi, kecerdasan buatan, OOP, UML, Matematika, Multimedia dan tools yang digunakan HTML 5, Javascript dan Construct 2.

BAB III. ANALISIS DAN PERANCANGAN

Dalam bab ini berisi analisis masalah. Pada bab ini juga akan menjelaskan analisis dari game sejenis dengan game yang akan di buat, serta analisis kebutuhan fungsional dan non-fungsional. Selanjutnya akan dilanjutkan pada tahap perancangan struktur menu, perancangan antarmuka, jaringan semantik dan prosedural untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat.

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi implementasi dan pengujian sistem dari hasil analisis dan perancangan aplikasi game edukasi yang telah dibuat dengan menggunakan pengujian blackbox, Whitebox dan pengujian beta, disertai juga dengan hasil pengujian dari aplikasi game edukasi yang di lakukan sehingga diketahui apakah aplikasi yang dibangun dapat bermanfaat dan berguna untuk menumbuhkan minat dan meningkatkan pengetahuan siswa terhadap mata pelajaran Bahasa Inggris dan Matematika.

BAB V. KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang merupakan rangkuman dari hasil pengujian perangkat lunak dan saran yang perlu diperhatikan bagi pengembangan perangkat lunak di masa yang akan datang.


(19)

7

2.1 Permainan Video (Video Game)

Permainan Video (Video Game) merupakan sebuah permainan elektronik yang di dalamnya melibatkan interaksi manusia dengan user-interface sebagai pemain dengan menggunakan perangkat video. System elektronik yang digunakan untuk memainkan permainan video dinamakan platform, contoh dari platform adalah Personal Computer (PC) dan konsol video game.

Perangkat input yang digunakan untuk menggerakkan Video Game disebut game controller. Controller sangat bervariasi pada setiap platform misalnya, pada konsol video game biasanya terdiri dari tombol dan joystick. Pada awal permainnan komputer sering menggunakan keyboard dan mouse untuk gameplay, atau lebih umum diperlukan untuk membeli joystick secara terpisah.

2.1.1 SejarahSingkat Video Game

Video game pertama kali di temukan pada tahun 1958 oleh William Higinbotham [7], seorang kepala pada bagian Instrumentation division for Brookhaven National Laboratory. William adalah orang pertama yang mendesain dan menciptakan permainan sangat sederhana berbentuk tenis menggunakan osiloskop sebagai interface. Dijalankan pada komputer analog dan dihubungkan ke osiloskop, permainan ini terlihat jelas dan cepat, yang mengejutkan adalah permainan ini tidak hanya top-down perspective seperti Pong, namun menampilkan dua sudut seperti lapangan tenis. Dua pemain harus melakukan pukulan terhadap bola secara bergantian dengan bola yang memantul ke tanah dan net searah gravitasi.

Pada tahun 1961, seorang siswa MIT bernama Steve, dia menciptakan permainan video two-player yang dinamakan Spacewar pada sebuah komputer DEC PDP-1. Russell butuh hampir enam bulan dan 200 jam untuk menyelesaikan versi pertama permainan: duel sederhana antara kapal roket. Tujuan dari permainan tersebut adalah setiap pemain melakukan maneuver pesawatnya ketika


(20)

mencoba menembak pesawat pemain lain dengan menggunakan misil Menggunakan switch toggle dibangun ke dalam PDP-I, pemain mengendalikan kecepatan dan arah dari kedua kapal dan menembakkan torpedo satu sama lain.

Video game pertama diciptakan oleh para insinyur di Sanders Associates, sebuah Baru Hampshire berbasis kontraktor pertahanan. Seperti kontraktor besar banyak, Sanders memiliki pangsa kegiatan sensitif dan rahasia. Namun pada tahun 1967, beberapa suara yang keluar dari salah satu Sanders penelitian laboratorium memiliki banyak orang bertanya-tanya apa yang sedang terjadi.

Pada awal tahun 1966, seorang enginer muda bernama Ralph Baer, mengembangkan kembali idenya dengan membawa permainan video pada media sekunder untuk televisi. Baer dan timnya berhasil menciptakan sebuah game interaktif yang dapat dimainkan di layar televisi. Mereka mengembangkan permainan mengejar dan mengikutinya dengan permainan tenis video. Mereka juga memodifikasi pistol mainan sehingga dapat membedakan bintik-bintik cahaya di layar.

Pada tahun 1971, Magnavox menyewa anggota tim RCA yang proyeknya hampir dibeli. Kemudian mengatakan kepada para eksekutif Magnavox lainnya tentang permainan televisi yang dilihatnya di Sanders.Magnavox mengatur untuk demonstrasi dari permainan televisi dan segera melihat manfaat dalam idenya itu. Setelah berbulan-bulan tim bekerja secara detail, negosiasi telah diselesaikan dan kontrak ditandatangani pada akhir tahun ini. Produksi dimulai pada musim gugur, dan unit awal yang ditampilkan di dealer Magnavox pada tahun 1972. Produk yang sudah selesai itu disebut Magnavox Odyssey.

Pada tahun 1983, sebuah pembaruan besar-besaran terjadi pada industri permainan video yang mengakibatkan hal serius terhadap pasar pada saat itu. Ada beberapa faktor utama yang menyebabkan terjadinya crash, diantaranya : ekonomi yang miskin, siklus hidup alami pasar, dan persepsi pemakai yang hanya untuk main-main saja.

Pada tahun selanjutnya, berbagai perusahan pembuat permainan video berlomba-lomba untuk menciptakan perangkat dan permainan bagi para


(21)

penggemar permainan video dan merupakan awal dari kebangkitan permainan video hingga saat ini

2.1.2 Jenis-jenis permainan video

Dalam permainan video terdapat beberapa jenis permainan yang dapat dimainkan, hal ini dibedakan berdasarkan cara bermain yang dapat dilakukan oleh para pemain.

A. Side Scrolling

Genre game yang melibatkan karakter untuk bergerak dari kiri ke kanan dan lompat. Metode serangan jenis permainan ini umumnya melompat-lompat di kepala karakter musuh. Contoh game: Mario bros dan sonic seperti gambar berikut [8].

Gambar 2.1 Contoh Permainan Side Scrolling B. Maze Game

Genre game yang membutuhkan kecepatan berpikir dan bereaksi serta berunsur ketepatan menavigasi. Contoh game: Pac-Man dan Bomberman seperti gambar berikut [8].


(22)

Gambar 2.2 Contoh Permainan Maze Atau Labirin

C. Quiz Game

Game jenis ini biasanya mengajukan pertnyaan dan selalu menggunakan pilihan ganda. Game ini lebih berfokus pada pendidikan daripada hiburan. Contoh game ini adalah who wants to be a milioner Seperti gambar berikut [8].

Gambar 2.3 Contoh Game Quiz

2.2. Game Edukasi

Penerapan game edukasi bermula dari perkembangan video game yang sangat pesat dan menjadikannya sebagai media efektif yang interaktif dan banyak dikembangkan di perindustrian. Melihat kepopuleran game tersebut, para pendidik berpikir bahwa mereka mempunyai kesempatan yang baik untuk menggunakan


(23)

komponen rancangan game dan menerapkannya pada kurikulum dengan penggunaan industri berbasis game. Game harus memiliki desain antarmuka yang interaktif dan mengandung unsur menyenangkan.

2.2.1. Pengertian Game Edukasi

Game edukasi adalah salah satu bentuk genre game yang digunakan untuk memberikan pembelajaran kepada penggunanya melalui media permainan yang unik dan menarik. Game edukasi biasanya ditujukan untuk anak-anak sekolah dasar. Dalam proses kegiatan belajar mengajar, game edukasi dapat menarik minat anak sekolah sehingga menimbulkan suasana belajar yang menyenangkan dan dapat tercapainya tujuan pembelajaran secara tepat dan berhasil yang disesuaikan dengan situasi dan kondisi.

Game edukasi adalah game yang khusus dirancang untuk mengajarkan user suatu pembelajaran tertentu, pengembangan konsep dan pemahaman dan membimbing mereka dalam melatih kemampuan mereka, serta memotivasi mereka untuk memainkannya.

2.2.2 Kriteria Game Edukasi

Perancangan game edukasi yang baik haruslah memenuhi kriteria dari game edukasi itu sendiri. Berikut ini adalah beberapa kriteria dari sebuah game edukasi, yaitu:

1. Nilai Keseluruhan (Overall Value)

Nilai keseluruhan dari suatu game terpusat pada desain dan panjang durasi game. Aplikasi dibangun dengan desain yang menarik dan interaktif.

2. Dapat Digunakan (Usability)

Mudah digunakan dan diakses adalah poin penting bagi pembuat game. Aplikasi dirancang dengan interface yang user friendly sehingga pengguna dengan mudah dapat mengakses aplikasi.

3. Keakuratan (Accuracy)

Keakuratan diartikan sebagai bagaimana kesuksesan model/gambaran sebuah game dapat dituangkan ke dalam percobaan atau perancangannya.


(24)

4. Kesesuaian (Appropriateness)

Kesesuaian dapat diartikan bagaimana isi dan desain game dapat diadaptasikan terhadap keperluan pengguna dengan baik. Aplikasi menyediakan menu dan fitur yang diperlukan pengguna untuk membantu pemahaman pengguna dalam menggunakan aplikasi.

5. Relevan (Relevance)

Relevan artinya dapat mengaplikasikan isi game ke target user. Agar dapat relevan terhadap pengguna, sistem harus bisa membimbing dalam pencapaian tujuan pembelajaran.

6. Objektifitas (Objectives)

Objektifitas menentukan tujuan pengguna dan kriteria dari kesuksesan atau kegagalan. Dalam sebuah aplikasi, objektifitas adalah usaha untuk mempelajari hasil dari permainan.

7. Umpan Balik (Feedback)

Untuk membantu pemahaman pengguna bahwa permainan (performance) mereka sesuai dengan objek game atau tidak, feedback harus disediakan. Aplikasi menyajikan animasi dan efek suara yang mengindikasikan kesuksesan atau kegagalan permainan.

2.3 Kecerdasan Buatan (Artificial Intelligence) 2.3.1 Definisi AI

Sebagian kalangan menerjemahkan Artificial Intelligence sebagai kecerdasan buatan, kecerdasan artifisial, intelijensia artifisial, atau intelejensia buatan. Pada bukunya, Suyanto sengaja tidak menerjemahkan istilah Artificial Intelligence ke bahasa Indonesia karena istilah tersebut sudah sangat akrab bagi orang Indonesia. Begitu juga dengan singkatan istilah tersebut, yaitu AI, sudah sangat melekat di berbagai media ilmiah maupun non ilmiah.

Para ahli mendefinisikan AI secara berbeda-beda tergantung pada sudut pandang mereka masing-masing. Ada yang focus pada logika berpikir manusia saja, tetapi ada juga yang mendefinisikan AI secara lebih luas pada tingkah laku


(25)

manusia. Stuart Russel dan Peter Norvig mengelompokkan definisi AI, yang diperoleh dari beberapa textbook berbeda, ke dalam empat kategori [10], yaitu :

A. Thinking humanly: the cognitive modeling approach

Pendekatan ini dilakukan dengan dua cara sebagai berikut :

1. Melalui introspeksi : mencoba menangkap pemikiran-pemikiran kita sendiri pada saat kita berpikir. Tetapi, seorang psikolog Barat mengatakan “how do you know that you understand?” Bagaimana anda tahu bahwa anda mengerti? Karena pada saat anda menyadari pemikiran anda. Sehingga definisi ini terkesan mengada-ngada dan tidak mungkin dilakukan.

2. Melalui eksperimen-eksperimen psikologi. B. Acting humanly : the Turing test approach

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

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

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

2. Terdapat perbedaan besar antara dapat memecahkan masalah “dalam


(26)

D. Acting rationally : the rational agent approach

Membuat inferensi yang logis merupakan bagian dari suatu rational agent. Hal ini disebabkan satu-satunya cara untuk melakukan aksi secara rasional adalah dengan menalar secara logis. Dengan menalar secara logis, maka bisa didapatkan kesimpulan bahwa aksi yang diberikan akan mencapai tujuan atau tidak. Jika mencapai tujuan, maka agent dapat melakukan aksi berdasarkan kesimpulan tersebut.

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

Definisi thinking rationally terasa lebih sempit daripada acting rationally. Oleh karena itu, definisi AI yang paling tepat untuk saat ini adalah acting rationally dengan pendekatan rational agent. Hal ini berdasarkan pemikiran bahwa komputer bisa melakukan penalaran secara logis dan juga bisa melakukan aksi secara rasional berdasarkan hasil penalaran tersebut.

2.3.2 Teknik Pemecahan Masalah AI

Terdapat empat teknik dasar pemecahan masalah yang terdapat pada bidang academic/traditional artificial intelligence (AI) [10], diantaranya adalah sebagai berikut :

A. Searching

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


(27)

1. Blind/Un-informed Search a. Breadth-First Search (BFS) b. Depth-First Search (DFS) c. Depth-Limited Search (DLS) d. Uniform Cost Search (USC) e. Iterative-Deepening Search (IDS) f. Bi-Directional Search (BDS) 2. Metode Pencarian Heuristik

a. Generate-and-Test b. Hill Climbing

c. Simulated Annealing d. Best-First Search (BFS) e. Greedy Best-First Search f. A* (A star)

B. Reasoning

Teknik reasoning atau penalaran merupakan teknik penyelesaian masalah dengan cara merepresentasikan masalah ke dalam basis pengetahuan (knowledge base) menggunakan logic atau bahasa formal (bahasa yang dipahami komputer). Teknik ini melakukan proses penalaran berdasarkan basis pengetahuannya untuk menemukan solusi.

C. Planning

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


(28)

D. Learning

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

2.3.2.1 Algoritma A* (A Star Algorithm)

Algoritma A* (A star) merupakan algoritma Best First Search yang menggabungkan Uniform Cost Search dan Greedy Best-First Search Biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan, dalam notasi matematika dituliskan sebagai berikut :

f(n) = g(n) + h(n)... Keterangan:

f(n) = fungsi evaluasi ( jumlah g(n) dengan h(n) )

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

Dengan perhitungan biaya seperti diatas, algoritma A* adalah complete dan optimal. Untuk lebih jelasnya berikut merupakan gambaran dari penggunaan algoritma A* dalam pencarian rute terpendek dari point A menuju point B :

Asumsikan ada seseorang yang pergi dari point A menuju point B dan rute yang akan dilewati dihalangi sebuah dinding. Pada ilustrasi ini kotak berwarna hijau merupakan point A, kotak berwarna merah merupakan point B, dan kotak berwarna biru merupakan dinding yang menghalangi rute point A menuju point B, untuk lebih jelasnya terdapat pada gambar 2.4.


(29)

Gambar 2.4 Ilustrasi awal algoritma A*

Hal pertama yang harus dilakukan adalah membuat sebuah grid layout, karena dalam pencarian rute pada algoritma A* akan lebih mudah apabila peta yang ada berbentuk kotak-kotak kecil, metode ini memudahkan pencarian dalam area yang didefinisikan sebagai array dua dimensi, setiap kotak memiliki status walkable dan unwalkable.

Pusat point pada algoritma A* dinamakan node, hal ini dikarenakan area yang dapat digunakan algoritma A* tidak hanya berbentuk kotak, akan tetapi dapat berbentuk yang lainnya, namun terkadang untuk memudahkan dalam perhitungan maka digunakanlah bentuk kotak.

Langkah-langkah yang dilakukan pada algoritma A* dalam melakukan pencarian rute terpendek dibagi menjadi beberapa tahap, yaitu :

A. Dimulai dari point A awal dan masukkan ke dalam kotak “open list”. “open list” merupakan sebuah kotak yang berfungsi untuk menyimpan setiap nod, baik yang akan kita lewati maupun yang tidak kita lewati, pada dasarnya

setiap kotak yang ada pada “open list” akan dilakukan perhitungan jarak

untuk menentukan arah mana yang akan diambil menuju point B.

B. Lihat semua kotak yang memungkinkan untuk dilewati dari point awal, abaikan kotak yang terdapat penghalang seperti tembok, air, dan lain-lain. Masukan kotak-kotak tersebut ke dalam open list, dan untuk setiap kotak ini, simpan point A sebagai induk kotak.


(30)

C. Keluarkan kotak point awal dari open list kemudian masukkan ke dalam closed list. Closed list berfungsi untuk menyimpan kotak yang tidak akan pernah dipakai ataupun dilihat lagi.

Kotak berwarna hijau merupakan pusat dari point awal, pada sisinya dikelilingi oleh garis berwarna biru yang berarti bahwa kotak tersebut telah dimasukkan ke dalam closed list, dan untuk setiap garis disekeliling kotak awal menunjukkan setiap jalur yang dapat ditempuh dimulai dari kotak pada point awal, perhatikan pada gambar 2.5.

Gambar 2.5 Ilustrasi kotak awal sebagai closed list

Perhitungan yang terdapat pada algoritma A* untuk melakukan pencarian rute terpendek adalah dengan menggunakan rumus sebagai berikut :

F = G + H... dimana,

G : nilai yang dibutuhkan untuk menempuh jarak dari point awal menuju kotak selanjutnya

H : estimasi nilai yang dibutuhkan untuk menempuh jarak dari kotak selanjutnya untuk menempuh point tujuan.

Dalam proses perhitungannya dapat dimisalkan sebuah nilai untuk G baik yang terdapat pada kotak horizontal, vertikal, dan diagonal. Pada kasus ini dimisalkan nilai horizontal dan vertikal dari point awal untuk menuju kotak selanjutnya ialah 10, dan untuk nilai diagonalnya ialah 14.

Setiap kotak memiliki nilai F, G, dan H masing-masing, jadi perhitungan tersebut berlaku bagi setiap kotak yang berada di sekitar kotak induk, untuk nilai


(31)

F ditulis di atas sebelah kiri, nilai G ditulis di bawah sebelah kiri, dan nilai H ditulis di bawah sebelah kanan, seperti pada gambar 2.6.

Gambar 2.6 Ilustrasi perhitungan F pada open list

Langkah selanjutnya yang harus dilakukan adalah sebagai berikut :

D. Pilih nilai F yang terkecil dari setiap kotak yang telah dihitung nilai F nya, kemudian keluarkan dari open list dan masukkan ke dalam closed list.

E. Cek semua kotak yang berada di sekitar, abaikan kotak yang unwalkable dan kotak yang terdapat pada closed list, masukkan kotak yang belum ada di dalam open list dan jadikan kotak selanjutnya menjadi kotak induk untuk melakukan perhitungan ulang untuk setiap kotak disekitarnya.

F. Ketika sebuah kotak sekitar telah berada di dalam open list, cek apakah jalur kotak tersebut adalah yang terbaik dibanding yang jalur kotak yang lainnya. Di lain pihak, ketika nilai G untuk jalur yang baru itu paling kecil, ganti induk kotak pada kotak sekitarnya menjadi kotak yang telah terpilih, dan terakhir hitung ulang nilai F, G, dan H untuk kotak tersebut, seperti pada gambar 2.15 dan perhitungan selanjutnya pada gambar 2.16.


(32)

Gambar 2.7 Ilustrasi penentuan kotak selanjutnya

Gambar 2.8 Ilustrasi perhitungan terhadap kotak unwalkable

Setelah mengulangi setiap langkah yang ada di atas, perhitungan dapat dihentikan ketika point akhir atau yang disebut kotak target telah dimasukkan ke dalam closed list, perhatikan gambar 2.9.


(33)

Gambar 2.9 Ilustrasi hasil akhir pencarian rute terpendek

2.4 Object Oriented Programming (OOP)

Object Oriented Programming (OOP) menerapkan sifat yang lebih modular agar setiap program dapat lebih mudah dikembangkan. Dalam OOP dibutuhkan memori lebih besar dibandingkan dengan program procedural (tradisional) [11]. Dua objek yang identik akan memerlukan dua area memori berbeda walaupun dari sisi data dan proses keduanya memiliki jumlah dan jenis yang sama. Hal ini disebabkan karena data dan proses pada kedua objek tersebut dipisahkan oleh komputer.

Secara garis besar yang menjadi ciri dari OOP adalah adanya proses abstraksi (abstraction), pengkapsulan (encapsulation), penurunan sifat (inheritance), dan polimorfisme (polymorphism) pada objek-objek yang dibentuk.

Object Oriented Programming (OOP) dibagi menjadi beberapa cirri utama, yaitu :

A. Kelas

Kelas (class) merupakan contoh abstrak dari sebuah objek yang telah terbentuk dari proses penyederhanaan, dengan kata lain kelas (class) merupakan cikal bakal dari objek (object), kemudian contoh nyata atau perwujudan dari


(34)

sebuah objek dinamakan instance. Sehingga apabila kita mempunyai sebuah kelas manusia, maka beberapa instances (wujud nyata) dari kelas manusia adalah Prima, Aulia, Dewi, dan masih banyak yang lainnya [11].

Perbedaan antara kelas (class) dengan objek (object) dalam OOP dibagi menjadi dua, yaitu :

1. Class merupakan rancangan (design) dan object merupakan perwujudan dari suatu class.

2. Class bersifat abstrak sementara object bersifat konkrit (atau nyata). Di dalam kelas, terdapat access modifier, class modifier, dan class body, dibawah ini merupakan penjelasan tentang isi dari sebuah kelas.

1. Access Modifier

Access modifier merupakan keyword yang digunakan untuk menentukan spesifikasi tingkat akses suatu variable atau method (anggota kelas). Pengaksesan yang dimaksud bisa berupa pengaksesan dalam kelas yang sama, turunan, maupun di luar kelas di mana variable dan method dideklarasikan. Dalam Java, access modifier terdiri atas :

a. Default

Access modifier ini hanya menspesifikasikan kelas-kelas (classes) di paket yang sama yang bisa mengakses variable dan method suatu kelas. Anggota kelas dengan default access bisa melihat kelas lain di paket yang sama. Apabila tidak ada access modifier pada suatu pendeklarasian kelas, berarti yang dimaksud adalah default access.

b. Public

Apabila suatu anggota kelas (class member) dideklarasikan sebagai public, maka anggota tersebut akan bisa digunakan oleh siapa saja, yaitu baik oleh kelas yang sama, kelas lain, maupun lingkungan luar kelas.

c. Protected

Access modifier protected menspesifikasikan atau menentukan anggota kelas (class member) yang hanya bisa diakses oleh method-method yang ada di dalam kelas yang sama dan subkelas-subkelas turunan dari kelas tersebut.


(35)

d. Private

Access modifier private merupakan tingkatan akses yang sangat terbatas. Pada keadaan ini tidak ada kelas lain yang dapat mengakses anggota kelas private, sekaligus termasuk subkelas-subkelasnya.

2. Class Modifier a. Public

Apabila suatu kelas (class) dideklarasikan sebagai public, maka kelas tersebut akan bisa digunakan oleh kelas lain maupun (termasuk dari lingkungan luar) tanpa memperhatikan apakah kelas lain tersebut berasal dari paket (package) yang sama atau tidak.

b. Abstract

Apabila suatu kelas (class) dideklarasikan sebagai abstract, maka kelas tersebut tidak akan bisa diwujudkan menjadi suatu objek. Kelas ini disusun dari satu atau lebih metode abstrak, artinya method-method dalam kelas ini dideklarasikan akan tetapi tanpa badan (tidak d2mplementasikan). c. Final

Apabila suatu kelas (class) dideklarasikan sebagai final, maka kelas tersebut tidak akan bisa diturunkan lagi menjadi kelas turunan yang lain. Dengan kata lain sudah selesai atau berakhir (final). Tujuannya adalah untuk mencegah perluasan yang tidak diinginkan.

d. Extends

Class modifier extends digunakan untuk mendeklarasikan kelas turunan dari kelas yang lainnya.

e. Implements

Class modifier implements digunakan untuk mendeklarasikan sebuah kelas yang akan mengimplementasikan satu atau lebih interface Java. Apabila interface Java yang akan d2mplementasikan lebih dari satu, maka


(36)

B. Objek

Dalam kenyataannya, sebuah objek dalam OOP adalah sebuah persilangan yang berbagi-pakai (share) sejumlah ciri dari objek umum dengan fitur (feature) dari sebuah bentuk computer [11].

Sebuah objek secara praktis pemrograman berorientasi objek bisa didefinisikan sebagai berikut :

1. Setiap objek dimiliki oleh kelas objek, sehingga sebuah objek tidak bisa hadir tanpa sebuah kelas yang mendefinisikannya. Dengan kata lain objek adalah wujud (instance) dari sebuah kelas.

2. Sebuah objek (dan kelas yang memuatnya) adalah sebuah pengkapsulan (encapsulation) yang memasukkan data dan operasi untuk pemrosesannya. 3. Atribut-atribut (attributes) objek membantu untuk menyimpan dan menjaga status objek. Atribut-atribut ini menentukan apa yang d2ngat mengenai objek. Methode objek adalah satu-satunya cara untuk mengakses data dan memodifikasi statusnya. Cara pengaksesan dan pemodifikasian data dilakukan dengan mengirimkan sebuah pesan ke objek tersebut. C. Abstraksi

Abstraksi dapat didefinisikan sebagai suatu proses melakukan desain class dan menentukan data dan method yang akan dimiliki oleh sebuah class.

Sebuah method abstrak mendefinisikan sebuah antarmuka dalam kelas dasar dan meninggalkan implementasi pada kelas turunan. Kelas abstrak adalah sebuah kelas yang berisi satu atau beberapa method abstrak.

D. Pengkapsulan

Pengkapsulan (encapsulation) merupakan proses pembungkusan atau penyederhanaan dari beberapa data atau method menjadi sebuah objek (object) atau kelas (class).

E. Pewarisan Sifat

Penurunan atau pewarisan sifat (inheritance) ini merupakan cirri utama dari OOP dimana sifat-sifat yang terdapat pada kelas induk (base class) akan dimiliki


(37)

oleh kelas turunannya (derived class)[10]. Akan tetapi hal itu tentunya bergantung juga pada access specifier (yaitu, public dan private) yang diberikan dalam proses penurunan kelas.

2.5 Unified Modelling Language (UML)

Pada perkembangan teknik pemrograman berorientasi objek, muncul sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modelling Language (UML). Adapun pengertian dari UML adalah salah satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek.

UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. Dalam hal ini UML merupakan suatu bahasa visual untuk melakukan pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung [11].

2.5.1 Sejarah UML

Bahasa pemrograman berorientasi objek yang pertama dikembangkan dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa pemrograman ini kurang berkembang dan dikembangkan lebih lanjut, namun dengan kemunculannya telah memberikan sumbangan yang besar pada developer pengembang bahasa pemrograman berorientasi objek selanjutnya.

Perkembangan aktif dari pemrograman berorientasi objek mulai menggeliat ketika berkembangnya bahasa pemrograman Smalltalk pada awal 1980-an yang kemudian d2kuti dengan perkembangan bahasa pemrograman berorientasi objek yang lainnya seperti C objek, C++, Eiffel, dan CLOS. Secara actual, penggunaan bahasa pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak menarik perhatian di saat itu. Sekitar lima tahun setelah Smalltalk berkembang, maka berkembang puka metode pengembangan


(38)

berorientasi objek. Metode yang pertama diperkenalkan oleh Sally Shalaer dan Edward Yourdon, d2kuti oleh Grady Booch, James R. Rumbaugh, Michael R. Blaha, William Lorensen, Frederick Eddy, William Premerlani, dan masih banyak lagi.

Karena banyaknya metodologi-metodologi yang berkembang pesat saat itu, maka muncullah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang berkembang pada saat itu. Maka dibuat bahasa yang merupakan gabungan dari beberapa konsep seperti konsep Object Modelling Technique (OMT) dari Rumbaugh dan Booch, konsep The Classes, Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock, konsep pemikiran Ivar Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaugh, Grady Booch, dan Ivan Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML).

Pada 1996, Object Management Group (OMG) mengajukan proposal agar adanya standarisasi pemodelan berorientasi objek dan pada bulan September 1997 UML diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan kontribusinya yang cukup besar di dalam metodologi berorientasi objek dan hal-hal hanya terkait di dalamnya.

2.5.2 Diagram UML

UML menggunakan berbagai macam diagram dengan fungsi masing-masing untuk menggambarkan setiap proses dari sistem berorientasi objek. Berikut merupakan beberapa diagram UML diantaranya :

A. Use Case Diagram

Use Case atau diagram use case merupakan pemodelan yang digunakan untuk menggambarkan kelakuan (behavior) dari sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui


(39)

fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut [11].

Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.

1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat diluar sistem yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesar antarunit-unit atau aktor.

Contoh dari use case diagram dapat dilihat pada gambar 2.10.

Gambar 2.10 Contoh dari Use Case Diagram B. Activity Diagram

Diagram aktivitas atau activity diagram adalah sebuah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau


(40)

proses bisnis. Dalam diagram aktivitas yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan aktivitas sistem, bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.

Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut :

1. Rancangan proses bisnis di mana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.

2. Urutan aau pengelompokan tampilan dari sistem/user interface di mana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.

3. Rancangan pengunjian di mana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.

Contoh dari activity diagram dapat dilihat pada gambar 211.


(41)

C. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.

1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas 2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas Contoh dari class diagram dapat dilihat pada gambar 2.12.

Gambar 2.12 Contoh dari Class Diagram

D. Sequence Diagram

Diagram sekuen adalah diagram yang menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu untuk menggambarkan


(42)

diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang d2nstansiasi menjadi objek itu.

Banyaknya diagram sekuen yang harus digambarkan adalah sebanyak pendefinisian use case yang memiliki prose situ sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. Contoh dari sequence diagram dapat dilihat pada gambar 2.13.

Gambar 2.13 Contoh dari Sequence Diagram

E. Object Diagram

Diagram objek menggambarkan struktur system dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan.

Untuk apa mendefinisikan sebuah kelas sedangkan pada jalannya sistem, objeknya tidak pernah dipakai. Hubungan link pada diagram objek


(43)

merupakan hubungan memakai dan dipakai di mana dua buah objek akan dihubungkan oleh link jika ada objek yang dipakai oleh objek lainnya.

Contoh dari object diagram dapat dilihat pada gambar 2.14.

Gambar 2.14 Contoh dari Object Diagram

F. Component Diagram

Diagram komponen dibuat untuk menunjukkan organisasi dan kebergantungan di antara kumpulan komponen dalam sebuah sistem. Diagram komponen focus pada komponen sistem yang dibutuhkan dan ada di dalam sistem. Diagram komponen juga dapat digunakan untuk memodelkan hal-hal berikut :

1. Source code program perangkat lunak 2. Komponen executable yang dilepas ke user 3. Basis data secara fisik

4. Sistem yang harus beradaptasi dengan sistem lain 5. Framework sistem


(44)

Adapun komponen-komponen dasar yang biasanya ada dalam suatu sistem adalah sebagai berikut :

1. Komponen user interface yang menangani tampilan

2. Komponen business processing yang menangani fungsi-fungsi proses bisnis

3. Komponen data yang menangani manipulasi data 4. Komponen security yang menangani keamanan sistem Contoh dari component diagram dapat dilihat pada gambar 2.15.

Gambar 2.15 Contoh dari Component Diagram

G. Composite Structure Diagram

Diagram ini dapat digunakan untuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung. Contoh penggunaan diagram ini misalnya untuk menggambarkan deskripsi dari setiap bagian mesin yang saling terkait router pada jaringan komputer, dll.

H. Package Diagram

Package diagram menyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML.


(45)

I. Deployment Diagram

Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi. Diagram deployment juga dapat digunkan untuk memodelkan hal-hal berikut :

1. Sistem tambahan (embedded system) yang menggambarkan rancangan device, node, dan selanjutnya

2. Sistem client/server 3. Sistem terdistribusi murni 4. Rekayasa ulang aplikasi

Contoh dari deployment diagram dapat dilihat pada gambar 2.16.

Gambar 2.16 Contoh dari Deployment Diagram

J. State Machine Diagram

Diagram mesin status digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem. Perubahan tersebut digambarkan dalam suatu graf berarah. State machine diagram merupakan pengembangan dari diagram Finite State Automata dengan penambahan beberapa fitur dan konsep baru.

Diagram ini cocok digunakan untuk menggambarkan alur interaksi pengguna dengan sistem.


(46)

Gambar 2.17 Contoh dari State Machine Diagram

K. Communication Diagram

Diagram komunikasi merupakan penyederhanaan dari diagram kolaborasi (collaboration diagram). Diagram ini menggambarkan interaksi antarobjek/bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi merepresentasikan informasi yang diperoleh dari Diagram Kelas, Diagram Sekuen, dan Diagram Use Case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem.

Diagram komunikasi mengelompokkan message pada kumpulan diagram sekuen menjadi sebuah diagram. Dalam diagram komunikasi yang dituliskan adalah operasi/metode yang dijalankan antara objek yang satu dan objek yang lainnya secara keseluruhan, oleh karena itu dapat diambil dari jalannya interaksi pada semua diagram sekuen. Penomoran metode dapat dilakukan berdasarkan urutan dijalankannya metode/operasi di antara objek yang satu dengan objek yang lainnya atau objek itu sendiri.

L. Timing Diagram

Timing Diagram merupakan diagram yang focus pada penggambaran terkait batasan waktu. Timing diagram digunakan untuk menggambarkan tingkah laku sistem dalam periode waktu tertentu. Timing diagram biasanya


(47)

digunakan untuk mendeskripsikan operasi dari alat digital karena penggambaran secara visual akan lebih mudah dipahami daripada dengan kata-kata. Aliran waktu pada timing diagram dibaca dari kiri ke kanan. Contoh dari timing diagram dapat dilihat pada gambar 2.18.

Gambar 2.18 Contoh dari Timing Diagram

M. Iteraction Overview Diagram

Iteraction overview diagram mirip dengan diagram aktivitas yang berfungsi untuk menggambarkan sekumpulan urutan aktivitas. Iterraction overview diagram adalah bentuk aktivitas diagram yang setiap titik merepresentasikan diagram interaksi. Interaksi diagram dapat meliputi diagram sekuen, diagram komunikasi, interaction overview diagram, dan timing diagram.

Hampir semua notasi pada interaction overview diagram sama dengan notasi pada diagram aktivitas. Sebagai contoh initial, final, decision, merge, fork, dan join nodes sama seperti pada diagram aktivitas. Tambahan pada interaction overview diagram adalah interaction accurrence dan interaction element.


(48)

Gambar 2.19 Contoh dari Iteraction Overview Diagram

2.6 Teknik Pengujian Perangkat Lunak

Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean.

2.6.1 Pengujian Black Box

Menurut Roger S. Pressman [12], pengujian black box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian black box menungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box bukan merupakan alternatif dari teknik white box, tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kelas kesalahan daripada metode white box.

Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut :

A. Fungsi-fungsi yang tidak benar atau hilang B. Kesalahan dalam interface


(49)

D. Kesalahan kinerja

E. Inisialisasi dan kesalahan terminasi

2.6.2 Pengujian White Box

Menurut Roger S. Pressman[12], pengujian white box, yang kadang-kadang disebut pengujian glass box, adalah metode desain test case yang menggunakan struktur kontrol desain procedural untuk memperoleh test case. Dengan menggunakan metode pengujian white box, perekayasa sistem dapat melakukan test case sebagai berikut :

A. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali

B. Menggunakan semua keputusan logis pada sisi true dan false

C. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka

D. Menggunakan struktur data internal untuk menjamin validitasnya.

Pengujian white box yang berupa notasi diagram alir dapat dilihat pada gambar 2.20.

Gambar 2.20 Notasi Diagram Alir

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


(50)

Untuk menguasai dan mencipta teknologi di masa depan diperlukan penguasaan matematika yang kuat sejak dini.

Mata pelajaran matematika perlu diberikan kepada semua peserta didik mulai dari sekolah dasar (SD) untuk membekali peserta didik dengan kemampuan berpikir logis, analitis, sistematis, kritis, dan kreatif, serta kemampuan bekerjasama. Kompetensi tersebut diperlukan agar peserta didik dapat memiliki kemampuan memperoleh, mengelola, dan memanfaatkan informasi untuk bertahan hidup pada keadaan yang selalu berubah, tidak pasti, dan kompetitif. Evolusi matematika dapat dipandang sebagai sederetan abstraksi yang selalu bertambah banyak, atau perkataan lainnya perluasan pokok masalah. Abstraksi mula-mula, yang juga berlaku pada banyak binatang, adalah tentang bilangan: pernyataan bahwa dua apel dan dua jeruk (sebagai contoh) memiliki jumlah yang sama.

Selain mengetahui cara mencacah objek-objek fisika, manusia prasejarah juga mengenali cara mencacah besaran abstrak, seperti waktu (hari, musim, tahun). Aritmetika dasar (penjumlahan, pengurangan, perkalian, dan pembagian) mengikuti secara alami.

Belajar matematika sangat berguna untuk memecahkan permasalahan dikehidupan sehari-hari. Untuk itu belajar matematika harus dilakukan dengan sungguh- sungguh terutama pembelajaran di Kelas Tinggi. Kelas tinggi terdiri dari kelas 4, kelas 5 dan kelas 6. Pelajaran ini identik dengan hitung-menghitung. Dengan diajarkanya matematika, diharapkan peserta didik mampu melakukan operasi yang berhubungan dengan penghitungan bilangan.

Ruang lingkup mata pelajaran matematika yang diberikan pada satuan pendidikan SD/MI meliputi aspek-aspek bilangan, geometri, pengukuran, dan pengolahan data.


(51)

2.8. Pengertian Multimedia

Multimedia dapat diartikan sebagai penggunaan beberapa media yang berbeda untuk menggabungkan dan menyampaikan informasi dalam bentuk teks, audio, grafik, animasi, dan video.

Adapun definisi multimedia menurut beberapa ahli, yaitu: 1. Kombinasi dari komputer dan video.

2. Kombinasi dari tiga elemen, yaitu suara, gambar, dan teks.

3. Kombinasi dari paling sedikit dua media input atau output. Media ini dapat berupa audio (suara, musik), animasi, video, teks, grafik dan gambar.

4. Alat yang dapat menciptakan presentasi yang dinamis dan interaktif yang mengkombinasikan teks, grafik, animasi, audio dan video.

5. Multimedia adalah pemanfaatan komputer untuk membuat dan menggabungkan teks, grafik, audio, video, dengan menggunakan tool yang memungkinkan pemakai berinteraksi, berkreasi, dan berkomunikasi.dalam konteks komputer. 6. Multimedia merupakan kombinasi dari teks, gambar, seni grafik, suara, animasi dan elemen-elemen video yang dimanipulasi secara digital. Tampilan dan cita rasa dari proyek multimedia harus menyenangkan, estetis, mengundang dan mengikat. Proyek harus memuat konsistensi visual, hanya dengan menggunakan elemen-elemen yang mendukung pesan keseluruhan dari program.

2.8.1. Jenis Multimedia

Multimedia terbagi menjadi dua jenis, yaitu: 1. Multimedia Linier

Multimedia linier adalah suatu multimedia yang tidak dilengkapi oleh alat pengontrol apapun yang dapat dioperasikan oleh pengguna. Multimedia ini berjalan sekuensial (berurutan), contohnya: TV dan film.


(52)

2. Multimedia Interaktif

Multimedia interaktif dilengkapi oleh alat pengontrol yang dapat dioperasikan oleh pengguna, sehingga pengguna dapat memilih apa yang dikehendaki untuk proses selanjutnya. Contohnya: video game, pembelajaran interaktif, dan lain-lain.

2.8.2. Kriteria Multimedia

Ada beberapa kriteria multimedia menurut Sigit dkk., yaitu sebagai berikut: 1. Memilki lebih dari satu media yang konvergen, misalnya menggabungkan unsur audio dan visual.

2. Bersifat interaktif, dalam pengertian memiliki kemampuan untuk mengakomodasi respon pengguna.

3. Bersifat mandiri, dalam pengertian memberi kemudahan dan kelengkapan isi sedemikian rupa sehingga pengguna bisa menggunakan tanpa bimbingan orang lain.

2.8.3. Kelebihan Pembelajaran Menggunakan Multimedia Multimedia memiliki beberapa keuntungan, yaitu:

1. Multimedia masuk akal sehingga dapat meningkatkan pembelajaran.

2. Multimedia meningkatkan ekspresi diri dengan membiarkan pelajar untuk memutuskan sendiri.

3. Multimedia membuat pelajar menjadi pemilik sehingga mereka bisa menciptakan apa yang hendak mereka pelajari.

4. Multimedia menciptakan suasana yang aktif, sehingga pelajar dapat terlibat langsung.

5. Multimedia dapat menjembatani komunikasi pelajar dengan instruktur.

6. Pemakaian multimedia sudah tidak asng lagi karena telah digunakan dalam kehidupan sehari-hari seperti video game dan televisi.


(53)

2.9 Tools yang Digunakan

Dalam pembuatan sebuah aplikasi tentu dibutuhkan satu atau beberapa tools yang dalam hal ini berupa software (perangkat lunak). Berikut merupakan beberapa perangkat lunak yang digunakan untuk membangun sebuah aplikasi permainan Fun Math For Smart.

2.9.1 Html 5

HTML5 adalah Generasi selanjutnya dari HTML sebelumnya. HTML5 diciptakan dalam pengembangan bahasa HTML untuk memperbaiki konten dan memperbarui teknologi multimedia yang sudah ada pada HTML 4 dan versi sebelumnya agar mudah dijalankan oleh browser dan mudah dimengerti. HTML5 merupakan kerjasama antara World Wide Web Consortium (W3C) dan Web Hypertext Application Teknologi Working Group [13]. (WHATWG). WHATWG bekerja dengan bentuk web dan aplikasi, dan W3C bekerja dengan XHTML 2.0. Pada tahun 2006, mereka memutuskan untuk bekerja sama dan membuat versi baru dari HTML yaitu HTML5.

2.9.2 Javascript

Javascript adalah bahasa skrip yang ditempelkan pada kode HTML dan diproses di sisi klien. Dengan adanya bahasa ini, kemampuan dokumen HTML menjadi semakin luas. Sebagai contoh, dengan menggunakan JavaScript dimungkinkan untuk memvalidasi masukan masukan pada formulir sebelum formulir dikirimkan ke server.

Javascript bukanlah bahasa Java dan merupakan dua bahasa yang berbeda. Javascript diinterpretasikan oleh klien (kodenya bisa dilihat pada sisi klien), sedangkan kode Java dikompilasi oleh pemrogram dan hasil kompilasinyalah yang dijalankan oleh klien [14].


(54)

2.9.3 Construct 2

Construct 2 adalah game editor berbasis HTML5 dikembangkan oleh perusahaan yang bernama Scirra Ltd. Construct 2 ditujukan terutama untuk non-programmer untuk membuat game menggunakan visual editor dan berbasis sistem logika. Construct 2 adalah hasil pengembangan dari Construct Classic. Construct 2 juga memiliki famework Javascript untuk programmer untuk menggunakan bersama editor drag-and-drop.


(55)

43 3.1Analisis Sistem

Pada bagian analisis sistem ini, akan dilakukan berbagai macam analisis yang berhubungan dengan game yang akan dibangun, mulai dari analisis terhadap game sejenis analisis berbagai kebutuhan baik fungsional maupun non-fungsional.

3.1.1 Analisis Masalah

Analisis masalah menjelaskan proses identifikasi serta evaluasi mengenai game sejenis dan game yang akan dibangun.

Saat ini game edukasi menjadi alat bantu yang sangat efektif dalam melakukan pembelajaran, banyak sekali beberapa game edukasi yang sudah disebarluaskan, seperti game English Words (edukasi bahasa), Slice it! (edukasi asah otak), kasir Karbitan Bejo (edukasi bisnis), Crayon Physics Deluxe (edukasi fisika), Petualangan Berburu Bintang Hijaiyah (edukasi islam), Merapi Boy Perjalanan Bocah Merapi Menghindari Wedhus Gembel (edukasi kepedulian sosial), Trauma Center (edukasi kesehatan), Math Games For Kids (edukasi matematika), Perjalanan Kartini (edukasi sejarah), Palawa (edukasi sejarah), P10Ner (edukasi sejarah) dan sebagainya.

Game yang akan dibahas dan menjadi acuan disini ialah game Smart Labyrinth, Smart Shoot, dan Fun Math Tric, Edukasi sejenis yang mengadaptasi matematika sebagai edukasi serupa dengan edukasi game Fun Math For Smart yang akan dibangun. Oleh karena itu akan dikembangkan tipe game sejenis dengan menambahkan beberapa genre di dalamnya.


(56)

3.1.2 Analisis Game Sejenis

Pada tahap ini dilakukan analisis terhadap game sejenis yang telah ada. Tujuan dari analisis ini yaitu untuk membandingkan dan mendapatkan konsep permainan dari game yang sudah ada untuk kemudian dikembangkan. Game yang dibandingkan dan akan menjadi acuan adalah Smart Labyrinth, Smart Shoot, dan Fun Math Trikc Lite.

1. Smart Labyrinth

Gambar 3.1 Jendela Tampilan GameSmart Labyrinth

Gambar 3.1 [7], menampilkan jendela tampilan game smart labyrinth. Smart labyrinth adalah permainan video yang berjenis permainan Maze atau labirin.

Dalam permainan ini pemain akan mengontrol karakter utama bernama coco, pemain harus mengambil barang yang disebarkan oleh musuh atau NPC. Dalam permainan ini pemain harus menghindari musuh atau NPC bernama dino.

Kelebihan dari permainan ini menmbahkan unsur hiburan kedalam sebuah edukasi. Kekurangan dalam game ini hanya memiliki satu genre.


(57)

2. Smart Shoot

Gambar 3.2 Jendela Tampilan Game Smart Shot

Gambar 3.2 [13], menampilkan jendela tampilan game smart Shoot. Smart Shoot adalah permainan video yang berjenis permainan Quiz. Dalam permainan ini, pemain akan mencari materi matematika dan menjawab pertanyaan dengan cara mengarahkan target ke arah jawaban yang benar.

Kelebihan dalam permainan ini menampilkan semua materi sesuai dengan kebutuhan pengguna, dan kekurangan dalam permainan ini tidak ada unsur hiburan dan hanya memiliki satu genre.


(58)

3. Fun Math Trick Lite

Gambar 3.3 Jendela Tampilan Game Fun Math Trick Lite

Gambar 3.1 [12], menampilkan jendela tampilan game fun math trick lite. Fun math trick lite adalah aplikasi android matematika. Dalam aplikasi ini pemain akan belajar trik berhitung matematika, tantangan dalam permainannya adalah pemain harus menjawab pertanyaan dengan waktu yang telah ditentukan oleh sistem.

Kelebihan dalam permainan ini adalah memberikan trik-trik mengerjakan matematika dengan mudah, kekurangannya adalah tidak ada unsur hiburan dalam permainan.

3.1.3 Analisis Pembangunan Game Edukasi Fun Math For Smart

Game edukasi fun math for smart yang akan dibangun yaitu game yang mempunyai grafis 2D. game ini mempunyai beragam gameplay atau multi genre seperti side scrolling, maze, auto-runner, dan quiz.


(59)

Game yang dibangun menerapkan konsep multi genre (Side Scrolling, Maze, Auto-Runner, Quiz) sebagai lingkungan permainannya dengan tujuan agar mengenalkan nuansa petualangan yang diharapkan dapat melatih keterampilan, melatih motorik halus, melatih cara pemecahan masalah, melatih koordinasi mata dan tangan serta melatih kesabaran dan konsentrasi dalam menghadapi rintangan.

3.1.3.1Story Line

Cerita game ini berawal dari seorang anak yang bernama Ken sedang pergi sekolah seperti biasa. Setelah sampai depan sekolah, gerbang utama sekolah tersebut terkunci rapat dan kunci tersbut diambil oleh penjahat yang datang dari dimensi lain. Kemudian Ken menantang penjahat tersebut untuk bertanding dengan menjawab soal matematika. Tiba-tiba salah satu penjahat yang menyimpan kunci sekolah lari ke portal dimensi lain dan kemudian Ken mengejarnya sebelum portal tersebut tertutup. Petualangan Ken dimulai di tempat tersebut untuk mendapatkan kunci yang diambil oleh penjahat tersebut.

3.1.3.2Analisis Tingkat Kesulitan

Tabel 3.1 Deskripsi Tingkat Kesulitan

Stage 1 Misi dalam stage ini adalah mengalahkan musuh

dengan cara menjawab pertanyaan dan mencari item yang tersembunyi di suatu tempat. Apabila tidak bisa menjawab darah karakter utama akan berkurang dan jika bisa menjawab maka musuh kalah dan menghilang.

Stage 2 Misi dalam stage ini adalah pemain atau karakter

utama harus mengalahkan musuh dan mencari 3 kotak kemudian menjawab pertanyaan yang ada dalam kotak. Apabila musuh dapat di kalahkan dan menjawab pertanyaan maka pintu terbuka untuk menuju ke stage berikutnya. Musuh akan


(60)

terus mengejar pemain apabila pemain berada dalam jangkauan musuh dan akan mengurangi life point jika pemain terKena musuh, dan jika pemain mati maka akan mengulang di stage tersebut

Stage 3 Misi dalam stage ini adalah karakter utama berlari

dan harus menghindari rintangan. Untuk bisa menghindari rintangan karakter utama harus menjawab pertanyaan. Jika tidak bisa menjawab maka karakter utama akan terkena ranjau atau rintangan dan darah akan berkurang.

Stage 4 Stage ini adalah stage terakhir, di misi ini pemain

harus mengalahkan bos dengan cara bertanding cerdas cermat matematika untuk bisa memenangkan game ini dan merebut kembali kunci utama sekolah.

3.1.3.3Gameplay

Dalam permainan ini terdapat 4 genre atau 4 stage yang dapat dimainkan yaitu :

1. Stage 1 ber-genre Side Scrolling. 2. Stage 2 ber-genre Maze.

3. Stage 3 ber-genre Auto-running. 4. Stage 4 ber-genre Quiz.

Pada stage pertama, Ken berpetualang di dimensi lain dengan tampilan jenis permainan side scrolling. Disini Ken akan menghadapi monster prajurit dan Ken akan di beri pertanyaan oleh monster tersebut. Jika Ken bisa menjawab pertanyaan tersebut maka monster tersbut hilang, dan jika tidak bisa menjawab darah berkurang.


(61)

Pada stage berikutnya, Ken akan berhadapan dengan tampilan maze. disini Ken harus mencari 3 kotak yang dijaga oleh monster prajurit. Setelah menjawab semua pertanyaan dalam kotak tersebut muncul pintu keluar dari labirin.

Pada stage ke-3, Ken berlari mengejar monster yang sedang membawa kunci. Dalam stage ini akan ada banyak rintangan. Untuk menghadapi rintangan Ken harus menjawab pertanyaan, jika bisa menjawab pertanyaan maka akan terbebas dari rintangan jika tidak bisa menjawab Ken akan terKena rintangan tersebut dan darah akan berkurang atau game over.

Pada stage terakhir ini, Ken akan beradu otak dengan raja monster. Dalam stage ini Ken dan monster raja diberi 10 pertanyaan matematika. Jika dalam waktu yang ditentukan tidak bisa menjawab maka akan dijawab oleh monster raja dan darah akan berkurang, jika Ken yang menjawab maka darah moster akan berkurang.

3.1.3.4Scoring

Pada game fun math for smart terdapat poin terhadap setiap menjawab pertanyaan, poin yang diberikan terhadap jawaban yang benar adalah 100 poin dan mengambil item adalah 50 poin, poin akan di akumulasikan diakhir permainan setelah menyelesaikan semua misi.

3.2Analisis Algoritma A* (A-Star)

Algoritma yang akan diterapkan dalam game adalah algoritma pencarian A* (A-star). Algoritma A* di dalam game akan diterapkan pada NPC (Non Playable Character) sebagai penentuan jalur terpendek atau pathfinding menuju target (player). Musuh/NPC, player, penghalang, dan jalur yang bisa dilalui diasumsikan menjadi kotak-kotak atau disebut node.

Ilustrasinya adalah sebagai berikut :

Masukan posisi awal musuh/NPC pada titik (1,2) dan posisi pemain/player pada titik (5,2), terlihat pada gambar 3.4.


(62)

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

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

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

Gambar 3.4 Tampilan posisi awal musuh dan posisi player Keterangan :

= Musuh/NPC

= Player

= Penghalang

Posisi awal musuh/ NPC adalah posisi terpilih. Posisi awal musuh akan selalu menjadi terpilih karena hanya mengecek satu posisi. Dapat dilihat pada gambar 3.5.

(1,1) (2,1)

(1,2) Musuh/NPC

(2,2)

(1,3) (2,3)

Gambar 3.5 Tampilan posisi awal musuh

Masukan posisi awal musuh menjadi posisi terbaik dan bangkitkan posisi yang berdekatan dengan posisi terpilih ((0,2),(1,1),(1,3),(2,2)). Terlihat pada gambar 3.6.


(63)

(0,1) (1,1) (2,1)

(0,2) (1,2)

Musuh/NPC

(2,2)

(0,3) (1,3) (2,3)

Gambar 3.6 Kondisi awal perhitungan koordinat ((0,2),(1,1),(1,3),(2,2)) Hitung nilai h, g, dan f pada posisi yang dibangkitkan. Lalu cari nilai f terendah pada posisi yang dibangkitkan dan masukan kedalam posisi terpilih.

Fungsi f sebagai estimasi fungsi evaluasi terhadap node n, dapat dituliskan : f(n) = g(n) + h(n)

dimana,

f(n) : fungsi evaluasi ( jumlah g(n) dengan h(n) )

g(n) : nilai yang dibutuhkan untuk menempuh jarak dari point awal menuju kotak selanjutnya

h(n) : estimasi nilai yang dibutuhkan untuk menempuh jarak dari kotak selanjutnya untuk menempuh point tujuan.

Pergerakan diagonal pada map diperbolehkan, maka digunakan fungsi heuristic Non-Manhattan Distance. Maka fungsi heuristic yang digunakan adalah sebagai berikut :

Dengan perhitungan biaya seperti diatas, algoritma A* adalah complete dan optimal. Untuk lebih jelasnya berikut merupakan gambaran dari penggunaan algoritma A* dalam pencarian rute terpendek dari point A menuju point B :

1. Koordinat n(0,2)

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


(64)

Nilai n.x = 0 Nilai n.y = 2

Simpul tujuan(5,2) sehingga goal.x = 5, goal.y = 2 g(n) = g (0,2) = 2

h_orthogonal(n) = (abs(n.x-goal.x) + abs(n.y-goal.y)) h_orthogonal(0,2) = (abs(0 - 5) + abs(2 - 2))

= (abs(-5) + abs(0)) = 5

h_diagonal(n) = min(abs(n.x-goal.x) + abs(n.y-goal.y)) h_diagonal(0,2) = min(abs(0 - 5)+abs(2 - 2))

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

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n))) h(0,2) = -5 + (5-(2*(-5)))

= -5+15 = 10

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

= 12

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

Simpul tujuan(5,2) sehingga goal.x = 5, goal.y = 2 g (1,1) = 1

h_orthogonal(n) = (abs(n.x-goal.x) + abs(n.y-goal.y)) h_orthogonal(1,1) = (abs(1 - 5) + abs(1 - 2))

= (abs(-4) + abs(-1)) = 5

h_diagonal(n) = min(abs(n.x-goal.x) + abs(n.y-goal.y)) h_diagonal(1,1) = min(abs(1 - 5)+abs(1 - 2))


(65)

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

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n))) h(1,1) = -5 + (5-(2*(-5)))

= -5 + 20 = 15

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

= 16

3. Koordinat n(1,3) Nilai n.x = 1 Nilai n.y = 3

Simpul tujuan(5,2) sehingga goal.x = 5, goal.y = 2 g (1,3) = 3

h_orthogonal(n) = (abs(n.x-goal.x) + abs(n.y-goal.y)) h_orthogonal(1,3) = (abs(1 - 5) + abs(3 - 2))

= (abs(-4) + abs(1)) = 3

h_diagonal(n) = min(abs(n.x-goal.x) + abs(n.y-goal.y)) h_diagonal(1,3) = min(abs(1 - 5)+abs(3 - 2))

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

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n))) h(1,3) = -3 + (3-(2*(-3)))

= -3 + 9 = 3

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


(1)

Tabel 4.7 Hasil Jawaban Kuesioner Pertanyaan Pertama Pernyataan Jawaban Skor Responden Hasil Skor

1

Sangat Setuju 5 9 45

Setuju 4 20 80

Ragu-Ragu 3 1 3

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

JUMLAH 30 128

Interpretasi skor = 128 / 150 x 100 = 85,3%

Berdasarkan hasil presentase, dapat di simpulkan bahwa dari hasil pertanyaan pertama responden menjawab sangat bagus.

2. Apakah permainan Fun Math For Smart bisa dijadikan sebagai media pembelajaran yang interaktif ?

Tabel 4.8 Hasil Jawaban Kuesioner Pertanyaan Kedua

Pernyataan Jawaban Skor Responden Hasil Skor

2

Sangat Setuju 5 7 35

Setuju 4 18 72

Ragu-Ragu 3 5 15

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

JUMLAH 30 122

Interpretasi skor = 122 / 1150 x 100 = 81,3%

Berdasarkan hasil presentase, dapat di simpulkan bahwa dari hasil pertanyaan kedua responden menjawab sangat bagus.

3. Apakah permainan Fun Math For Smart mampu menarik perhatian serta minat belajar ?


(2)

120

Tabel 4.9 Hasil Jawaban Kuesioner Pertanyaan Ketiga Pernyataan Jawaban Skor Responden Hasil Skor

3

Sangat Setuju 5 3 15

Setuju 4 21 84

Ragu-Ragu 3 6 18

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

JUMLAH 30 117

Interpretasi skor = 117 / 150 x 100 = 78%

Berdasarkan hasil presentase, dapat di simpulkan bahwa dari hasil pertanyaan ketiga responden menjawab bagus.

4. Apakah pertanyaan pada permainan Fun Math For Smart mudah untuk dijawab ?

Tabel 4.10 Hasil Jawaban Kuesioner Pertanyaan Keempat Pernyataan Jawaban Skor Responden Hasil Skor

4

Sangat Setuju 5 4 20

Setuju 4 16 64

Ragu-Ragu 3 7 21

Tidak Setuju 2 2 4

Sangat Tidak Setuju 1 1 1

JUMLAH 30 110

Interpretasi skor = 110 / 150 x 100 = 73,3%

Berdasarkan hasil presentase, dapat di simpulkan bahwa dari hasil pertanyaan keempat responden menjawab bagus.


(3)

Tabel 4.11 Hasil Jawaban Kuesioner Pertanyaan Kelima

Pernyataan Jawaban Skor Responden Hasil Skor

5

Sangat Setuju 5 7 35

Setuju 4 21 84

Ragu-Ragu 3 2 6

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

JUMLAH 30 125

Interpretasi skor = 125 / 150 x 100 = 83,5%

Berdasarkan hasil presentase, dapat di simpulkan bahwa dari hasil pertanyaan kelima responden menjawab sangat bagus.

6. Apakah setelah memainkan permainan Fun Math For Smart akan memainkannya lagi ?

Tabel 4.12 Hasil Jawaban Kuesioner Pertanyaan Keenam

Pernyataan Jawaban Skor Responden Hasil Skor

6

Sangat Setuju 5 3 15

Setuju 4 23 92

Ragu-Ragu 3 4 12

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

JUMLAH 30 119

Interpretasi skor = 119 / 150 x 100 = 79,3%

Berdasarkan hasil presentase, dapat di simpulkan bahwa dari hasil pertanyaan keenam responden menjawab bagus.

4.3.2.2 Hasil Pengujian Beta

Dari pengujian beta yang telah dilakukan yaitu dengan pengujian pilihan jawaban dari kuesioner yang telah dibagikan di lapangan, dapat disimpulan bahwa


(4)

122

program aplikasi yang telah dibuat dinilai dapat membantu pengguna dalam belajar. Selain itu juga dapat menambah wawasan pengguna terhadap mata pelajaran Matematika.


(5)

123

Kesimpulan yang dapat diambil dari semua proses yang telah dilakukan dalam membangun aplikasi game edukasi ini adalah sebagai berikut:

1. Permainan fun math for smart bisa dijadikan sebagai media pembelajaran yang interaktif

2. Permainan fun math for smart mampu menarik perhatian serta minat belajar 5.2 Saran

Adapun saran yang bertujuan untuk pengembangan aplikasi ini agar lebih baik, yaitu :

1. Pada game disarankan untuk bisa menggunakan gambar-gambar yang lebih menarik dan disukai oleh pengguna anak-anak agar pengguna dapat merasa lebih tertarik dan nyaman dalam memainkan game tersebut.

2. Pada game diperlukan perbaikan dalam konsep penyajian konten edukasi agar lebih interaktif.

3. Soal atau pertanyaan pada game bisa lebih dinamis, agar pemain tidak bosan dengan pertanyaan yang sama


(6)