Aplikasi Permainan Magic Square Pada Platform Android
APLIKASI PERMAINAN MAGIC SQUARE
PADA PLATFORM ANDROID
SKRIPSI
MUHAMMAD RIDHO FAKHROZI
081402052
DEPARTEMEN TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
(2)
APLIKASI PERMAINAN MAGIC SQUARE PADA PLATFORM
ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat untuk memperoleh ijazah Sarjana Teknologi Informasi
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2014
(3)
PERSETUJUAN
Judul : APLIKASI PERMAINAN MAGIC SQUARE
PADA PLATFORM ANDROID
Kategori : SKRIPSI
Nama : MUHAMMAD RIDHO FAKHROZI
Nomor Induk Mahasiswa : 081402052
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Juli 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Sawaluddin, M.IT. Romi Fadillah Rahmat, B.Comp.Sc,M.Sc NIP 19591231 199802 1 001 NIP 19860303 201012 1 004
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
M. Anggia Muchtar, ST. MM.IT NIP 19800110 2008 01 1010
(4)
iii
PERNYATAAN
APLIKASI PERMAINAN MAGIC SQUARE PADA PLATFORM ANDROID SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2014
Muhammad Ridho Fakhrozi 081402052
(5)
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang tgelah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh ijazah Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Ucapan terimakasih penulis sampaikan kepada:
1. Kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Muhammad Yusuf dan Ibunda Agustina yang selalu sabar dalam mendidik dan membesarkan penulis.
2. Bapak Romi Fadillah Rahmat, B.Comp.Sc,M.Sc selaku pembimbing satu dan Bapak Drs. Sawaluddin, M.IT selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.
3. Ucapan terima kasih juga ditujukan kepada Ibu Sarah Purnamawati, S.T., M.Sc. dan Bapak Dedy Arisandi, S.T., M.Kom selaku penguji yang telah bersedia menjadi dosen pembanding.
4. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST. MM.IT. dan Bapak M. Fadly Syahputra B.Sc,M.Sc.IT.
5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen dan pegawai di Program Studi Teknologi Informasi.
6. Terima kasih kepada staf pegawai administrasi tata usaha Program Studi Teknologi Informasi, Ibu Delima Harahap dan terutama Abangda Faisal Hamid,
(6)
v
yang telah membantu penulis dalam menyelesaikan semua urusan administrasi di Program Studi Teknologi Informasi.
7. Terima kasih kepada kakanda Ayu Maulida dan Abangda Ifsan Rosady, adinda Rizky Putra, M. Ari Nugraha, dan Dilla Aqila Zahra serta orang yang spesial Intan Sri Mutia yang selalu memberikan dukungan kepada saya.
8. Terima kasih juga kepada sahabat-sahabat terbaik saya yang terus mendukung tanpa henti, Azharul Wanda Siregar, Kharisma Rinaldi Siregar, Dwiporanda E, Rizky Yanda, Inis Caisarian Siregar, Karina Wibawanti, Teza Amaluddin, Zulfikri Putra, Sanra Cheney, Joko Nugroho dan Harigo Chany , teman-teman yang memberikan ide dan membantu saya, Hasnul Arif, Alfadli, serta teman-teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sampaikan satu persatu.
Akhir kata, saya ucapkan terima kasih kepada semua pihak yang terkait dalam penyelesaian skripsi ini yang tidak bisa saya sebut satu persatu. Semoga Allah memberi rahmat dan keberkahan kepada kita semua.
(7)
ABSTRAK
Permainan magic square adalah salah satu jenis permainan puzzle. Permainan magic square adalah permainan dengan bentuk n x n sel. Pada magic square normal, angka-angka yang dapat diisikan pada sel tersebut adalah bilangan integer dari 1 hingga n x n. Pada permainan ini, pemain harus menyusun angka-angka pada kotak sehingga setiap baris, kolom, dan dua diagonalnya berjumlah sama. Pada penelitian ini, penulis membuat dua buah papan magic square yang berukuran 4x4 dan 5x5. Penulis akan menyediakan fitur pencarian solusi permainan magic square jika pemain tidak dapat menyelesaikan permainan. Pencarian solusi dilakukan dengan menggunakan algoritma
breadth first search. Aplikasi permainan ini akan dibuat pada platform android. Aplikasi dikembangkan dengan metode dengan perancangan UML dan dengan bahasa pemrograman Java.
(8)
vii
MAGIC SQUARE GAME APPLICATION ON ANDROID PLATFORM
ABSTRACT
Magic square is a kind of puzzle game. Magic square is a game with nxn cells form. In a normal magic square, the numbers that can be loaded are integer from 1 to nxn. In this game, the player must arrange the numbers in the box so that each row, column, and diagonal is have a same sum. In this study, the author will create two boards measuring 4x4 and 5x5. The author will provide a feature to find a solution for the player. To find the solution, the author use breadth first search algorithm. This game application will be created on the android platform. The game application developed with UML design method and using java programming language.
(9)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Ucapan Terima Kasih iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Bab 1 Pendahuluan 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Batasan Masalah 3
1.4. Tujuan Penelitian 3
1.5. Manfaat Penelitian 4
1.6. Metodologi Penelitian 4
1.7. Sistematika Penulisan 5
Bab 2 Landasan Teori 6
2.1.Games 6
2.1.1. Sejarah games 6
2.1.2. Mobile game 7
2.1.3. Klasifikasi/aliran mobile games 8
2.2. Magic Square 9
2.3. Algoritma Breadth First Search 10
2.4. Android 11
2.4.1. Fitur Android 12
2.4.2. Arsitektur Android 13
2.4.3. Versi Android 16
2.5. Penelitian Sebelumnya 17
Bab 3 Analisis dan Perancangan 18
3.1. Analisis Algoritma Breadth First Search pada Magic Square 18
3.2. Analisis Permainan Magic Square 22
3.2.1. Gambaran umum perancangan permainan magic square 23
3.2.2. Persiapan sistem 23
3.2.3. Persiapan perancangan permainan 23
3.2.4. Alur dasar permainan 24
(10)
ix
3.3.1. Identifikasi use case diagram 26
3.3.2. Perancangan class diagram 38
3.4. Transisi Layar dan Antarmuka 41
3.4.1. Transisi layar 41
3.4.1. Antarmuka 42
Bab 4 Implementasi dan Pengujian 46
4.1. Implementasi 46
4.1.1. Konfigurasi perangkat keras 46
4.1.2. Konfigurasi perangkat lunak 47
4.1.3. Eksekusi aplikasi 47
4.2. Pengujian Aplikasi 51
4.2.1. Pengujian black box 51
Bab 5 Kesimpulan dan Saran 54
5.1. Kesimpulan 54
5.2. Saran 54
(11)
DAFTAR TABEL
Halaman
Tabel 2.1. Penelitian sebelumnya 17
Tabel 3.1. Dokumentasi naratif use case membuka aplikasi permainan 28 Tabel 3.2. Dokumentasi naratif use case untuk new game 29 Tabel 3.3. Dokumentasi naratif use case untuk memilih ukuran papan permainan 30 Tabel 3.4. Dokumentasi naratif use case untuk mememainkan permainan 31 Tabel 3.5. Dokumentasi naratif use case untuk selesaikan permainan
dengan bantuan system 32
Tabel 3.6. Dokumentasi naratif use case untuk melihat skor 33 Tabel 3.7. Dokumentasi naratif use case untuk melihat about 34 Tabel 3.8. Dokumentasi naratif use case untuk melihat help 35 Tabel 3.9. Dokumentasi naratif use case pengaturan suara 36 Tabel 3.10. Dokumentasi naratif use casepause permainan 37 Tabel 3.11. Dokumentasi naratif use caseresume permainan 37 Tabel 3.12. Penjelasan kelas-kelas pada class diagram magic square 40 Tabel 4.1 Tabel Hasil Pengujian Black Box Pada aplikasi permainan magic square 52
(12)
xi
DAFTAR GAMBAR
Halaman
Gambar 1.1 Contoh permainan magic square 3 x 3 yang sudah diselesaikan 2
Gambar 2.1. Arsitektur Android 13
Gambar 3.1. Pohon yang mempresentasikan ruang kemungkinan solusi
permainan magic square 19
Gambar 3.2. Jalur pencarian solusi 20
Gambar 3.3. Papan permainan magic square ukuran 3 x 3 dalam keadaan kosong 21 Gambar 3.4. Pohon ruang solusi permainan magic square ukuran 3 x 3 21 Gambar 3.5. Magic square yang telah diselesaikan 22 Gambar 3.6. Permainan magic square ukuran 4 x 4 dengan angka yang diacak 24
Gambar 3.7. Flowchart alur dasar permainan 25
Gambar 3.8. Use case diagrammagic square 27
Gambar 3.9. Activity diagram membuka aplikasi permainan 28 Gambar 3.10. Activity diagram memilih menu new game 29 Gambar 3.11. Activity diagram memilih ukuran papan permainan 30 Gambar 3.12. Activity diagram memainkan permainan 31 Gambar 3.13. Activity diagram selesaikan permainan dengan bantuan sistem 32 Gambar 3.14. Activity diagram melihat highscore 33 Gambar 3.15. Activity diagram melihat halaman about 34 Gambar 3.16. Activity diagram melihat halaman help 35 Gambar 3.17. Activity diagram pengaturan suara 36 Gambar 3.18. Activity diagrampause - resume permainan 38
Gambar 3.19. Class diagram magic square 39
Gambar 3.20 Transisi layar permainan magic square 41
Gambar 3.21. Rancangan main menu 42
Gambar 3.22. Rancangan new game select 43
Gambar 3.23. Rancangan play screen 44
Gambar 3.24. Rancangan layar highscores 44
Gambar 3.25. Rancangan layar help 45
Gambar 3.26. Rancangan layar about 45
Gambar 4.1. Tampilan awal aplikasi 48
Gambar 4.2. Tampilan pemilihan ukuran papan permainan (a) 4x4 dan (b) 5x5 48 Gambar 4.3. Tampilan papan permainan (a) 4x4 dan (b) 5x5 49 Gambar 4.4. Tampilan saat permainan di-pause, saat permainan telah selesai,
dan saat tombol FINISH IT! ditekan 50
Gambar 4.5. Tampilan highscores 50
(13)
ABSTRAK
Permainan magic square adalah salah satu jenis permainan puzzle. Permainan magic square adalah permainan dengan bentuk n x n sel. Pada magic square normal, angka-angka yang dapat diisikan pada sel tersebut adalah bilangan integer dari 1 hingga n x n. Pada permainan ini, pemain harus menyusun angka-angka pada kotak sehingga setiap baris, kolom, dan dua diagonalnya berjumlah sama. Pada penelitian ini, penulis membuat dua buah papan magic square yang berukuran 4x4 dan 5x5. Penulis akan menyediakan fitur pencarian solusi permainan magic square jika pemain tidak dapat menyelesaikan permainan. Pencarian solusi dilakukan dengan menggunakan algoritma
breadth first search. Aplikasi permainan ini akan dibuat pada platform android. Aplikasi dikembangkan dengan metode dengan perancangan UML dan dengan bahasa pemrograman Java.
(14)
vii
MAGIC SQUARE GAME APPLICATION ON ANDROID PLATFORM
ABSTRACT
Magic square is a kind of puzzle game. Magic square is a game with nxn cells form. In a normal magic square, the numbers that can be loaded are integer from 1 to nxn. In this game, the player must arrange the numbers in the box so that each row, column, and diagonal is have a same sum. In this study, the author will create two boards measuring 4x4 and 5x5. The author will provide a feature to find a solution for the player. To find the solution, the author use breadth first search algorithm. This game application will be created on the android platform. The game application developed with UML design method and using java programming language.
(15)
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Perkembangan yang pesat pada video game mendorong para pengembang game untuk mengembangkan video game yang lebih baik dari sebelumnya. Jenis permainan berkembang dari jenis arcade game, console game, dan mobile game. Diawal tahun 2010 mobile game berkembang sangat pesat (terutama di smartphone) hingga dapat mengimbangi portable game device sehingga mobile game menjadi sangat diminati (Zechner, 2011).
Berangkat dari hal di atas, membuat permainan yang bermanfaat bukan hanya dari segi hiburan namun juga dari segi pendidikan sangat diperlukan agar masyarakat dapat mengetahui bahwa permainan bukan hanya untuk hiburan semata namun juga dapat menjadi media pendidikan. Dari uraian tersebut, muncul permasalahan yang dirumuskan sebagai berikut : merancang sebuah media dalam penyampaian pelajaran yang berhubungan dengan matematika. Hal ini ditempuh dengan tujuan agar menarik minat pemain sehingga dapat menjadi sebuah media yang menarik dalam pembelajaran.
Permainan magic square adalah jenis permainan puzzle. Gambaran umum tentang permainan ini adalah suatu susunan angka dalam persegi berukuran n x n, dimana setiap kotak dalam persegi tersebut berbeda angkanya sehingga jumlah angka pada semua baris, semua kolom dan kedua diagonalnya sama besar. Penyelesaian
(16)
2
permainan ini dapat ditempuh dengan beberapa cara, salah satunya adalah dengan menggunakan algoritma breadth first search.
Gambar 1.1 Contoh permainan magic square 3 x 3 yang sudah diselesaikan
Breadth first search adalah algoritma pencarian solusi yang melakukan pencarian pada graf atau pohon berakar secara melebar dengan cara mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Simpul yang belum dikunjungi dan bertetangga dengan simpul – simpul yang tadi dikunjungi, demikian seterusnya (Yomanovian, 2012).
Jika diilustrasikan dalam pohon berakar, maka semua simpul pada x dikunjungi lebih dahulu sebelum simpul-simpul pada x + 1. Algoritma ini memerlukan sebuah antrian (queue) Q untuk dapat menyimpan simpul yang telah dikunjungi.
Platform Android merupakan pemain baru yang sangat menarik di pasar perangkat mobile saat ini. Selain memiliki rating yang tinggi dalam jumlah fitur yang bagus pada perangkatnya, Smartphone berbasis Android memiliki presentase tertinggi untuk tingkat pertumbuhan penjualan industri mobile (Jordan, 2011).
Berdasarkan pandangan di atas, maka penelitian ini difokuskan pada rancangan untuk merancang penyelesaian suatu aplikasi permainan yang bernama
magic square. Aplikasi ini akan dirancang berbasis mobile pada platform Android dan menggunakan algoritma breadth first search sebagai penyelesaiannya.
(17)
1.2. Rumusan Masalah
Magic square merupakan permainan angka yang berhubungan dengan matematika. Setiap angka yang disusun harus memenuhi syarat agar termasuk ke dalam kelompok angka magic. Magic square memiliki lebih dari satu solusi dalam penyelesaiannya dan untuk mendapatkan satu solusi penyelesaian dibutuhkan ketelitian dari pemain. Oleh karena itu diperlukan sebuah algoritma untuk membantu mencari solusi permainan ini dan algoritma yang akan diterapkan dalam pencarian solusi permainan ini adalah algoritma breadth first search.
1.3. Batasan Masalah
Adapun batasan masalah yang akan dibahas adalah :
1. Permainan ini hanya dimainkan oleh satu orang pemain (single player).
2. Permainan ini akan menampilkan papan permainan yang berukuran 4x4 dan 5x5. 3. Aplikasi akan men-generate soal yang kemudian dapat diselesaikan oleh pemain
secara manual ataupun bantuan dari aplikasi.
1.4. Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah untuk membangun suatu aplikasi permainan
magic square berbasis Android dengan menerapkan algoritma breadth first search
dalam pencarian solusinya.
1.5. Manfaat Penelitian
Adapun manfaat yang diharapkan pada skripsi ini adalah sebagai berikut :
1. Penulis dapat menerapkan ilmu pengetahuan yang didapatkan selama masa kuliah.
(18)
4
2. Sebagai pembelajaran bagaimana mencari solusi penyelesaian permainan magic square menggunakan algoritma breadth first search
1.6. Metodologi Penelitian
Metodologi yang digunakan untuk menyelesaikan Tugas Akhir ini adalah : 1. Studi Literatur
Pada tahap ini dilakukan studi literatur mengenai konsep-konsep yang berhubungan dengan permainan magic square, algoritma breadth firs search dan Android.
2. Analisis dan Perancangan
Pada tahap ini dipelajari konsep penerapan algoritma breadth first search untuk pembuatan permainan magic square. Pada tahap ini juga dipelajari konsep pemrograman pada android dan perancangan desain antarmuka aplikasi
3. Implementasi
Pada tahap ini dilakukan pembangunan perangkat lunak mobile berdasarkan hasil perancangan perangkat lunak yang dilakukan pada tahap sebelumnya.
4. Pengujian
Pada tahap ini dilakukan pengujian perangkat lunak dengan cara menjalankan aplikasi permainan di gadget Android.
5. Penyusunan Laporan
Pada tahap ini dilakukan penyusunan dokumentasi atas hasil yang telah diperoleh.
1.7. Sistematika Penulisan
(19)
BAB 1: PENDAHULUAN
Bab ini akan menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan. BAB 2: LANDASAN TEORI
Pada tahap ini akan dilakukan studi tentang segala sesuatu yang berkaitan dengan permainan magic square dan algoritma breadth first seacrh baik yang berasal dari buku, jurnal, maupun dari internet.
BAB 3: ANALISIS DAN PERANCANGAN
Pada tahap ini akan dilakukan analisis permainan magic square dan perancangan aplikasi mengenai skripsi ini, seperti: menggambar flowchart, pemodelan aplikasi, dan perancangan antarmuka (interface).
BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi pembahasan tentang implementasi algoritma yang disusun pada Bab 3 dan pengujian terhadap sistem yang dibangun.
BAB 5: KESIMPULAN DAN SARAN
Bab ini memuat kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran-saran yang diajukan untuk pengembangan program selanjutnya.
(20)
BAB 2
LANDASAN TEORI
2.1. Games
Pada zaman sekarang, permainan (games) sudah menjadi kebutuhan sehari-hari bagi sebagian orang. Seseorang akan merasa kurang lengkap dalam menjalani hari apabila belum memainkan sebuah permainan (game) yang digemarinya. Permainan yang dimainkan dapat berupa permainan konvensional ataupun permainan modern yang menggunakan konsol atau komputer.
2.1.1. Sejarah games
Pada awalnya, game dibuat dengan menggunakan alat elektronik yang bisa berinteraksi dengan manusia / users dengan berbagai format tampilan. Contoh game pertama kali dibuat pada tahun 1947, idenya berupa “Cathode Ray Tube Amusement Device” dibuat oleh Thomas T. Goldsmith Jr. dan Estle Ray Mann. Dua orang tersebut
mematenkan pada tanggal 25 Januari 1947, yang mana telah mendapatkan pengakuan tanggal 14 Desember 1948 sebagai U.S paten No. 2455992. Diinspirasi oleh tampilan pada sebuah radar, alat tersebut menampilkan sebuah tampilan analog yang memungkinkan pengguna untuk mengontrol sebuah titik pada layar yang disimulasikan sebagai peluru/misil yang ditembakkan pada sebuah target.
(21)
Contoh lain ada pada computer NIMROD pada festival Inggris tahun 1951. Alexander S. Douglas membuat OXO (tic tac toe) untuk sebuah ESDAC di tahun 1952. Tahun 1958, William Higinbotham mengembangkan sebuah game interaktif yang dinamakan
“Tennis for Two”. Beberapa mahasiswa dari MIT, Martin Graetz, Steve Russel, dan
Wayne Wiitanen membuat Spacewar pada sebuah computer yang bernama DEC PDP. NIMROD menggunakan sebuah panel cahaya untuk memainkan game yang bernama Nim, OXO menggunakan gambar grafik tampak samping permainan tenis, dan
Spacewar menggunakan gambar vektor untuk menampilkan kapal perang satu sama lain.
Pada tahun 1971, Computer Space telah merilis dan menjual video game
secara komersil yang dioperasikan dengan memasukkan sebuah koin untuk menyewanya. Dibuat oleh Nolan Bushnell dan Ted Dabney, perangkat ini digunakan sebagai standar game. Sistem ini diikuti sistem game lainnya, yaiut versi arcade pada tahun 1972 yang bernama Atari dan Pong yang digunakan sebaagi konsol game yang dimainkan di rumah.
Perkembangan game terus berlangsung hingga sekarang dan makin banyak jenis game yang bisa dimainkan di berbagai platform game dengan grafik yang terus meningkat. Hal ini dibuktikan dengan program game yang lebih kompleks dan tampilan grafik tiga dimensi.
2.1.2. Mobile games
Mobile games adalah video games yang dimainkan di telepon seluler, ponsel cerdas, PDA, komputer tablet, portable media player dan lain-lain. Mobile games tidak termasuk yang dimainkan pada sistem dedicated video game pada konsol-konsol seperti Nintendo 3DS atau Playstation Vita.
Game pertama pada telepon seluler adalah “Tetris” yang ada pada perangkat MT-2000 pada tahun 1994. Tiga tahun kemudian, meluncurkan game yang sangat sukses yaitu “Snake” pada tahun 1997. “Snake” dan variannya menjadi salah satu
(22)
8
game yang paling banyak dimainkan dan dapat ditemukan di lebih dari 350 juta perangkat di seluruh dunia.
Pada tahun 1999-an muncul lagi trend mobile games dengan game berbasis WAP dan game berbasis SMS. Di era ini, dirilislah game I-Mode, layanan internet nirkabel, yang begitu polpuler di Jepang dan negara lain. Telepon seluler pun sudah mampu digunakan untuk bermain game secara multiplayer karena adanya dukungan jaringan internet. Pada tahun 2001, dengan adanya perkembangan spesifikasi dari telepon seluler, game telah dimainkan pada layar berwarna dengan dukungan grafik yang lebih baik dan sudah mampu untuk di-download. Pada masa itu, pengguna telepon seluler mulai berlomba-lomba membeli dan menyimpan berbagai hiburan ke dalam telepon seluler. Telepon seluler pun berkembang kea rah menggunakan
microcomputer sehingga dukungan grafik dan suara yang lebih baik dapat digunakan pada mobile game. Pada tahun 2003, Nokia memperkenalkan platform N-Gage dan
game online dengan platform tersebut. Hingga saat ini, telah banyak telepon seluler yang mendukung grafik 3D, kualitas suara dan tampilan yang lebih baik, dan memori yang memadai. Berbagai platform pemrograman game (J2ME, Symbian, Windows Mobile, Android, Apple) sudah didukung dengan pustaka yang semakin lengkap.
2.1.3. Klasifikasi / aliran mobile games
Dalam memebuat sebuah game kita terlebih dahulu harus mengetahui jenis game yang akan kita buat. Dari jenis game tersebut kita dapat mengetahui skema dari permainan maupun tujuan sebuah game. Game tersebut terdiri dari 5 jenis (Zechner, 2011), antara lain :
1. Casual games. Merupakan jenis game yang sederhana. Siapa saja dapat memainkannya dengan mudah termasuk para non-gamer. Setiap sesi dapat diselesaikan hanya dalam beberapa menit. Namun dibalik kesederhanaannya tersebut, game ini dapat membuat orang memainkannya selama berjam-jam. 2. Puzzle games. Merupakan jenis game yang berhubungan dengan matematika.
(23)
3. Action and arcade games. Merupakan jenis game yang memerlukan resource
yang besar. Sebagian besar dari permainan ini memberikan visualisasi 3D. Contoh dari jenis ini adalah Exzeus.
4. Tower-defence games. Merupakan jenis games yang bertujuan untuk mempertahankan bangunan/istana/rumah/wilayah dari serangan musuh. Contoh dari jenis ini adalah Robo Defence.
5. Innovation. Merupakan jenis permainan yang menggunakan inovasi terbaru dalam memainkannya. Jenis game ini biasanya menggunakan dan memanfaatkan kemampuan dan fitur pada perangat seperti kamera dan GPS.
2.2. Magic Square
Permainan magicsquare adalah permainan puzzle yang menurut literatur kuno sudah ada di China sejak 2200 SM. Selain itu magic square juga ditemukan di berbagai kebudayaan seperti India kuno dan Mesir kuno. Pada kebudayaan tersebut magic square digunakan sebagai pertanda astronomi dan juga pencegahan terhadap wabah penyakit. Permainan magic square adalah permainan dengan bentuk n x n sel. Pada
magic square normal, angka-angka yang dapat diisikan pada sel tersebut adalah bilangan integer dari 1 hingga n x n.
Dalam menyelesaikan permainan magic square ada beberapa aturan yang harus dipenuhi, yaitu:
1. Angka hanya bisa digunakan sekali. Dengan kata lain angka-angka yang digunakan haruslah unik. Tetapi angka yang digunakan hanyalah angka yang sesuai dengan jumlah kotak pada magic square.
2. Jumlah angka pada setiap kolom, baris dan dua diagonalnya haruslah sama. 3. Jumlah angka-angka tersebut dapat dihitung dengan rumus,
Jumlah = n3 + n Dimana n adalah jumlah dari sel-selnya. 2
(24)
10
2.3. Algoritma Breadth First Search
Algoritma breadth first search adalah algoritma pencarian solusi yang melakukan pencarian pada graf atau pohon berakar secara melebar dengan cara mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Simpul yang belum dikunjungi dan bertetangga dengan simpul – simpul yang tadi dikunjungi, demikian seterusnya. (Yomanovian, 2012)
Jika diilustrasikan dalam pohon berakar, maka semua simpul pada x dikunjungi lebih dahulu sebelum simpul-simpul pada x + 1. Algoritma ini memerlukan sebuah antrian (queue) Q untuk dapat menyimpan simpul yang telah dikunjungi.
Secara umum, prinsip pencarian solusi dengan algoritma Breadth First Search (BFS) dimulai dengan simpul akar (simpul akar terlebih dahulu dimasukkan dalam antrian, lalu di pop()), lalu mengekspansi simpul-simpul anak dari dari simpul akar, dan memasukkan simpul anak dalam sebuah antrian. Antrian tadi digunakan untuk memberikan tanda pada simpul – simpul tetangga yang nantinya akan dikunjungi berdasarkan urutan yang ada pada antrian. Penjabaran dari langkah – langkah pada prinsip pencarian solusi dengan algoritma BFS ini adalah sebagai berikut :
- Akar dimasukkan ke dalam antrian (simpul paling awal yang akan dikunjungi terlebih dahulu).
- Simpul yang ada pada awal antrian diambil terlebih dahulu untuk dilakukan pengecekan terhadap status simpul tersebut sebagai solusi permasalahan atau tidak, dan mengekspansi anak-anaknya jika ada.
- Jika simpul yang sudah dicek tadi merupakan solusi permasalahan, perncarian selesai dan hasil dikembalikan.
- Jika simpul yang sudah dicek sebelumnya bukan merupakan solusi permasalahan, maka semua simpul yang bertetanggaan dengan simpu tadi (simpul anak) dimasukkan ke dalam antrian.
(25)
- Jika antrian telah kosong dan semua simpul telah dicek maka status pencarian telah selesai dan solusi tidak ditemukan.
- Hal ini dilakukan hingga solusi ditemukan/sampai antrian kosong.
2.4. Android
Android adalah sistem operasi yang didesain sebagai platform open source untuk perangkat mobile. Android merupakan comprehensive platform, artinya Android adalah perangkat lunak dengan stack lengkap untuk perangkat mobile. Android mencakup sistem operasi, middleware dan aplikasi. Bagi pengembang, android menyediakan semua tools dan framework untuk mengembangkan aplikasi dengan mudah dan cepat. Dengan adanya Android SDK (Software Develpment Kit) pengembang aplikasi dapat memulai pembuatan aplikasi pada platform Android dengan menggunakan bahasa pemrograman Java.
Pada awalnya, android adalah milik sebuah perusahaan yang bernama Android. Inc. yang merupakan pendatang baru yang membuat piranti lunak untuk ponsel. Android. Inc. didirikan oleh Andy Rubin, Rich Milner, Nick Sears, dan Chris White pada tahun 2003. Pada Agustus 2005, Google membeli Android. Inc. Kemudian untuk mengembangkan android dibentuklah Open Handset Alliance yang merupakan konsorsium dari lebih dari 30 perusahaan hardware, software, dan telekomunikasi termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan NVidia (Safaat, 2010).
Pada saat perilisan perdana android pada tanggal 5 November 2007, android bersama Open Handset Alliance menyatakan mendukung pengembangan open source
pada perangkat seluler. Di pihak lain, Google merilis kode-kode android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler. Berikut ini adalah sejarah android pada saat awal diluncurkan,
1. Tahun 2003 Android. Inc. didirikan oleh Andy Rubin, Rich Milner, Bick Sears, dan Chris White.
(26)
12
2. Tahun 2005 Google membeli Android. Inc. Pada saat itu dunia berpikir bahwa Google akan memproduksi smartphone, namun ambisi Google lebih besar dari itu yaitu untuk membuat sebuah platform yang dapat digunakan di banyak perangkat.
3. Tahun 2007 Open Handset Alliance dibentuk. Android resmi menjadi plarform
open source.
4. Tahun 2008 Android SDK 1.0. dirilis. Google kemudian mengenalkan Nexus One yang menggunakan Android versi 1.0. Ponsel ini diproduksi oleh HTC Coorporation.
5. Tahun 2009 versi baru dari android dirilis, yaitu Cupcake (1.5), Donut (1.6), dan Eclair (2.0 dan 2.1). Pada tahun tersebut, lebih dari 20 perangkat menggunakan android.
6. Tahun 2010 android versi 2.2 dirilis dengan nama Froyo. Android berada pada posisi kedua setelah Blackberry pada penjualan terbanyak platform
smartphone. Pada tahun ini juga, lebih dari 60 perangkat menggunakan sistem operasi android.
2.4.1. Fitur android
Android bukan hanya sekadar distribusi lain dari Linux untuk perangkat mobile. Ketika membangun aplikasi android, kita sama sekali tidak seperti sedang berhadapan dengan kernel Linux. Developer menghadapi platform berdasarkan kernel Linux
dengan bahasa pemrograman Java (Zechner, 2011). Menurut Safaat (2010, hal: 5) android memiliki beberapa fitur , diantanya yaitu :
- Framework Aplikasi yang mendukung penggantian komponen dan reusable.
- Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile.
- Integrated browser berdasarkan open source WebKit.
- Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D dan 3D
berdasarkan spesisfikasi OpenGL ES 1.0 (Opsional akselerasi hardware). - SQLite untuk menyimpan data.
(27)
- Media support yang mendukung audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware).
- Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware).
- Kamera, GPS, kompas, dan accelerometer (tergantung hardware).
- Lingkungan development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse.
2.4.2. Arsitektur android
Pada prinsipnya, sistem operasi android mirip seperti sebuah kue yang terdiri berbagai lapisan. Setiap lapisan memiliki karakteristik dan tujuan masing-masing. Secara garis besar arsitektur android dapat dijelaskan dan digambarkan pada Gambar 2.1.
Gambar 2.1. Arsitektur Android
(28)
14
- Linux Kernel
Tumpukan paling bawah dari Android adalah Linux Kernel. Linux kernel
berfungsi untuk mengatur system processing, resource, memory, drivers, dan sistem-sistem operasi Android lainnya.
- Android Runtime
Lapisan setelah Linux kernel adalah Android runtime. Android runtime ini berisi
Core Libraries dan Dalvik Virtual Machine (DVM). Core Libraries mencakup serangkaian inti library Java, artinya Android menyertakan satu set library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada library dasar bahasa pemrograman Java. Dalvik adalah Java Virtual Machine yang memberi kekuatan pada sistem Android. Dalvik VM ini dioptimalkan untuk telepon seluler. Setiap aplikasi yang berjalan pada Android berjalan pada prosesnya sendiri, dengan instansi dari Dalvik Virtual Machine.
- Libraries
Bertempat di level yang sama dengan Android runtime. Android mendukung beberapa library C/C++ yang digunakan oleh berbagai komponen yang ada pada system Android. Kemampuan ini dapat diakses oleh programmer melewati aplikasiframework Android. Libraries tersebut diantaranya :
1. System C Library. Merupakan implementasi library C standard (libc).
2. Media Libraries. Merupakan library yang mendukung playback dan recording
dari berbagai format multimedia antara lain MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG.
3. Surface Manager. Merupakan libraries untuk mengatur akses pada layar dan lapisan komposit 2D dan grafis 3D dari berbagai aplikasi.
4. LibWebCore. Merupakan engineweb browser modern. 5. SGL. Merupakan engine untuk grafis 2D.
(29)
6. 3D Libraries. Merupakan implementasi dari OpenGL ES 1.0 yang mendukung akselerasi hardware.
7. Freetype. Merupakan libraries untuk rendering untuk bitmap dan vector font.
8. SQLite. Merupakan libraries basis data relasional yang dapat mendukung system database pada android.
- Application Framework
Android adalah “Open Development Platform” yaitu Android menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan menambahkan status notifications, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse). Sehingga bisa kita simpulkan Applications Framework ini adalah layer dimana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada providers
yang berupa SMS dan panggilan telepon.
Komponen-komponen yang termasuk di dalam Aplications Frameworks
adalah sebagai berikut : a. Views
b. Content Providers
c. Resource Manager
d. Notification Manager
(30)
16
- Application
Aplications ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email,
program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua apliksi ditulis menggunakan pemrograman Java.
2.4.3. Versi Android
Seperti kebanyakan perangkat lunak, abdroid selalu dikembangkan sehingga android memiliki beberapa versi. Daftar versi android yang telah dirilis hingga tahun 2012 adalah sebagai berikut :
1. Android versi 1.0, dirilis pada tanggal 23 September 2008 2. Android versi 1.1, dirilis pada tanggal 9 Maret 2009
3. Android versi 1.5 (Cupcake), dirilis pada tanggal 30 April 2009 4. Android versi 1.6 (Donut), dirilis pada tanggal 15 September 2009 5. Android versi 2.0/2.1 (Eclair), dirilis pada tanggal 26 Oktober 2009 6. Android versi 2.2(Frozen Yoghurt), dirilis pada tanggal 20 Mei 2010 7. Android versi 2.3 (Gingerbread), dirilis pada tanggal 6 Desember 2010 8. Android versi 3.0 (Honeycomb), dirilis pada tanggal 22 Feburari 2011
9. Android versi 4.0 (Ice Cream Sandwich), dirilis pada tanggal 19 Oktober 2011 10.Android versi 4.1 (Jelly Bean), dirilis pada tanggal 9 Juli 2012
11. Android versi 4.2 (Jelly Bean), dirilis pada tanggal 13 November 2012 12. Android versi 4.3 (Jelly Bean), dirilis pada tanggal 24 Juli 2013 13. Android versi 4.4 (Kitkat), dirilis pada tanggal 31 Oktober 2013
(31)
2.5. Penelitian Sebelumnya
Tabel 2.1. Penelitian sebelumnya
No. Peneliti Tahun Judul
1. Tahir Arazi 2007 Penggunaan Algoritma Runut-balik Pada Pencarian Solusi dalam Persoalan Magic Square
2. Rahadhika Wendar 2007 Penerapan Algoritma Backtracking
dalam Pemecahan Permainan Magic Square
3. Muhammad Anggi Rivai Nasution
2011 Analisis Dan Implementasi Algoritma Runut Balik (Backtracking) Pada Permainan Magic Square
(32)
BAB 3
ANALISIS DAN PERANCANGAN
Permainan magic square adalah permaian puzzle atau board yang terdiri dari angka-angka. Permainan magic square merupakan permainan puzzle atau board dengan ukuran n x n. Angka yang digunakan dalam permainan ini adalah angka 1 hingga n x n. Penulis akan mencoba membuat permainan ini pada platform android. Penulis juga akan menggunakan algoritma breadth first search ke dalam permainan ini untuk mencari solusi dari permainan.
3.1. Analisis Algoritma Breadth First Search pada Magic Square
Pada bab sebelumnya telah dijelaskan bahwa aplikasi yang akan dibangun adalah aplikasi yang dapat menemukan solusi permainan magic square dengan menerapkan algoritma breadth first search. Secara umum langkah-langkah pencarian pada algoritma breadth first search adalah sebagai berikut:
- Akar dimasukkan ke dalam antrian (simpul paling awal yang akan dikunjungi terlebih dahulu).
- Simpul yang ada pada awal antrian diambil terlebih dahulu untuk dilakukan pengecekan terhadap status simpul tersebut sebagai solusi permasalahan atau tidak, dan mengekspansi anak-anaknya jika ada.
- Jika simpul yang sudah dicek tadi merupakan solusi permasalahan, pencarian selesai dan hasil dikembalikan.
(33)
- Jika simpul yang sudah dicek sebelumnya bukan merupakan solusi permasalahan, maka semua simpul yang bertetanggaan dengan simpu tadi (simpul anak) dimasukkan ke dalam antrian.
- Jika antrian telah kosong dan semua simpul telah dicek maka status pencarian telah selesai dan solusi tidak ditemukan.
- Hal ini dilakukan hingga solusi ditemukan/sampai antrian kosong.
Adapun langkah-langkah pencarian solusi dengan algoritma breadth first search pada permainan magic square adalah sebagai berikut:
1. Simpul akar pada pohon yang mempresentasikan ruang kemungkinan (probability space) merupakan inisialisasi dan menyatakan pencarian kelompok angka yang memenuhi syarat terjadinya angka magic. Pencarian ini dilakukan secara melebar dari kiri hingga ke kanan. Pencarian pertama dilakukan pada baris (horizontal) pertama papan permainan. Semua kemungkinan terjadinya angka magic pada simpul akar ini akan diuji. Pencarian ini akan menghasilkan posisi awal pada papan permainan yang berisi angka yang sama dengan angka awal pada kelompok angka magic yang lain. Pohon yang mempresentasikan kemungkinan solusi pada pencarian solusi permainan magic square dapat dilihat pada Gambar 3.1.
Gambar 3.1. Pohon yang mempresentasikan ruang kemungkinan solusi permainan magic square
(34)
20
2. Jika pencarian pada langkah (1) telah selesai dilakukan maka pencarian berikutnya akan dilakukan pada kolom (vertikal) pertama lalu ke baris (horizontal) kedua dan seterusnya.
3. Berikut ini adalah urutan jalur pencarian solusi dalam papan permainan, sebagai contoh adalah magic square dengan ukuran 3x3.
a. Horizontal pertama b. Vertikal pertama c. Horizontal kedua d. Horizontal ketiga e. Vertikal kedua f. Vertikal ketiga g. Diagonal pertama h. Diagonal kedua
Gambar 3.2. Jalur pencarian solusi
4. Jika semua baris, kolom, dan dua diagonalnya sudah terisi dengan angka dari 1 hingga n x n dan memenuhi syarat sebagai angka magic maka solusi dari permainan magic square telah ditemukan.
Penerapan algoritma breadth first search pada permainan magic square dapat dilihat pada contoh magic square dengan ukuran 3 x 3 pada Gambar 3.3.
D2 V1 V2 V3 D1
H1 H2 H3
(35)
Gambar 3.3. Papan permainan magic square ukuran 3 x 3 dalam keadaan kosong
Pada Gambar3.3, papan permainan magic square dalam keadaan kosong. Papan permainan tersebut harus diisi angka dari 1 hingga n x n, yaitu 9. Setiap baris, kolom dan dua diagonalnya harus membentuk sebuah angka magic. Angka magic
tersebut dapat diketahui dengan menggunakan rumus . Sehingga didapatlah angka magic dari magic square berukuran 3 x 3 adalah lima belas (15). Penerapan langkah-langkah pencarian solusi permainan magic square dapat dilihat pada Gambar 3.4.
Gambar 3.4. Pohon ruang solusi permainan magic square ukuran 3 x 3
Dari Gambar 3.4 dapat dijelaskan bahwa untuk mendapatkan angka magic
maka dilakukan kombinasi dari angka 1 hingga angka 9. Pada simpul awal akan diinisialisasi semua kemungkinan yang akan terjadi dari kombinasi angka 1 hingga 9 yang memenuhi syarat angka magic. Pada Gambar 3.4 diberikan beberapa contoh
n3 + n 2
15
2, 7, 6 1, 8, 6
1, 5, 9
1, 6, 8 1, 8, 6 1, 5, 9 1, 9, 5 2, 4, 9 2, 5, 8 2, 8, 5 2, 9, 4
9, 5, 1
(36)
22
kombinasi yang dijadikan simpul awal. Setelah simpul awal diinisialisasi maka pencarian selanjutnya berada di kedalaman 1 yaitu pada kolom (horizontal) pertama. Lalu dilanjutkan pada kedalaman 2 yaitu pada baris (horizontal) kedua dan terakhir pada baris (horizontal) ketiga.
Pada Gambar 3.5 terlihat bahwa magic square 3x3 telah menemukan solusinya.
Gambar 3.5. Magic square yang telah diselesaikan
3.2. Analisis Permainan Magic Square
Sebuah magic square N x N adalah array yang berisi bilangan bulat dari 1 sampai n2 diatur sedemikian rupa sehingga setiap baris, setiap kolom, dan kepala dua diagonalnya memiliki jumlah yang sama. Untuk setiap n > 2, ada banyak perbedaan dari magic square yang berurutan (Nasution, 2012).
Tujuan dari permainan ini adalah mengatur angka dari 1 hingga n x n di dalam sebuah papan permainan sehingga setiap baris, kolom dan dua diagonalnya memiliki jumlah yang sama. Permainan berakhir apabila pemain telah menemukan solusi pada permainan tersebut atau pemain menggunakan bantuan dari aplikasi untuk menyelesaikan permainan tersebut. Setiap langkah atau perpindahan angka akan dihitung sebagai poin bagi pemain dan akan disimpan di dalam highscore.
2
7
6
9
8
5
3
1
4
(37)
Pada skripsi ini, penulis akan merancang permainan magic square dengan ukuran 4 x 4 dan 5 x 5. Penulis akan menggunakan bahasa pemrograman Java dan akan dijalankan pada perangkat Android.
3.2.1. Gambaran umum perancangan permainan magic square
Pada bab ini penulis akan menjabarkan gambaran umum jenis permainan yang akan dirancang, ukuran papan permainan dan penerapannya di Android sebagai persiapan awal sebelum implementasi.
3.2.2. Persiapan sistem
Aplikasi permainan yang akan dibangun merupakan jenis permainan puzzle. Aplikasi yang dibangun hanya dapat dijalankan pada perangkat Android dengan operating system minimal Android 2.3 (Gingerbread). Aplikasi permainan ditargetkan untuk berjalan pada perangkat dengan resolusi 320 x 480 pixel. Aplikasi permainan juga masih dapat dijalankan pada perangkat dengan ukuran layar dan resolusi yang lain, namun tentu saja dengan tampilan yang tidak maksimal.
Orientasi layar yang digunakan pada aplikasi permainan ini adalah portrait, dan tidak mengijinkan rotasi atau perubahan orientasi menjadi landscape, ketika perangkat diputar.
3.2.3. Persiapan perancangan permainan
Pada aplikasi permainan ini akan diberikan sebuah papan permainan berukuran n x n yang sudah berisi angka 1 hingga n x n. Angka-angka tersebut berada pada posisi acak sehingga pemain harus mengatur atau memindahkan angka tersebut sedemikian hingga setiap baris, kolom dan dua diagonalnya memiliki jumlah yang sama. Bentuk dari papan permainan dapat dilihat pada Gambar 3.6.
(38)
24
15 16 13 5 1 12 9 14
6 4 11 8
7 3 10
Gambar 3.6. Permainan magic square ukuran 4 x 4 dengan angka yang diacak
Ukuran papan permainan yang akan dibuat ada dua, yaitu papan berukuran 4 x 4 dan papan berukuran 5 x 5. Kesulitan hanya diperhitungkan dari ukuran papan permainan saja. Posisi angka saat pengacakan tidak menjadi perhitungan untuk menentukan kesulitan.
3.2.4. Alur dasar permainan
Alur permainan dimulai saat pemain pemain memilih papan permainan. Papan yang dibuat kemudian akan disesuaikan dengan pilihan pemain. Jika pemain menyelesaikan permainan dengan menemukan solusi melalui permainan maka skor akan disimpan ke dalam database.
Gambar 3.7 merupakan flowchart untuk alur dasar permainan. 29 35 43 29 25
49 36
40 29 22 2
(39)
Gambar 3.7. Flowchart alur dasar permainan
Gambar 3.7 menjelaskan tentang aktivitas pemain pada dasar permainan. Pemain dapat menyelesaikan permainan dengan dua cara, yaitu dengan menyelesaikan sendiri permainan atau dengan bantuan aplikasi. Jika pemain menyelesaikan sendiri permainannya maka pemain akan mendapatkan skor, dan apabila skor tersebut termasuk kategori highscorei maka skor akan disimpan di dalam database. Pemain juga dapat menyelesaikan permainan dengan bantuan dari aplikasi. Pemain dapat menekan tombol FINISH IT! Dan aplikasi akan menampilkan solusi dari permainan tersebut.
(40)
26
3.3 Pemodelan Analisis
Pada penelitian ini digunakan UML sebagai bahasa pemodelan untuk mendesain dan merancang aplikasi permainan. Model UML yang digunakan adalah use case diagram, activity diagram, dan class diagram.
3.3.1. Indetifikasi use case diagram
Untuk mengetahui actor dan use case yang akan digunakan, maka dilakukan identifikasi actor dan identifikasi use case. Setelah mendapatkan actor dan use case
maka use case diagram dapat digambarkan.
Pengidentifikasian actor dalam aplikasi ini dilakukan dengan menjawab pertanyaan-pertanyaan berikut :
1. Siapa yang menggunakan sistem? Jawaban : Pemain
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban : Pemain
3. Bagaimana pengguna menggunakan sistem?
Jawaban : Pemain bermain dengan memilih menu yang terdapat pada halaman utama aplikasi. Untuk memulai permainan magic square, pemain menekan tombol new game pada menu utama, dan kemudian memilih ukuran papan yang akan dimainkan.
Dengan demikian actor yang diperoleh adalah pemain. Untuk mendapatkan
use case dari pemain, maka harus ditentukan hal-hal apa saja yang dapat dilakukan pemain terhadap sistem. Berikut adalah hal-hal yang dapat dilakukan oleh pemain sebagai actor dalam sistem :
- Membuka aplikasi permainan - New game
(41)
- Memindahkan angka yang berada pada papan permainan (memainkan permainan)
- Selesaikan permainan dengan bantuan sistem - Melihat skor
- Melihat about
- Melihat help
- Mematikan/menghidupkan suara - Mem-pause permainan
Berikut adalah use case diagram yang digambarkan berdasarkan actor dan use case
yang diperoleh.
(42)
28
- Use case membuka aplikasi permainan
Berikut ini tabel dokumentasi naratif dari use case membuka aplikasi permainan Tabel 3.1. Dokumentasi naratif use case membuka aplikasi permainan Nama use case Membuka aplikasi permainan
Aktor Pemain
Deskripsi Use case ini berfungsi untuk membuka aplikasi permainan magic square
Pre condition -
Normal flow Kegiatan aktor Respon sistem Pemain membuka aplikasi
yang telah diinstal sebelumnya.
Sistem menampilkan tampilan menu utama
Alternative flow Kegiatan aktor Respon sistem
- -
Post condition Sistem menampilkan menu utama yang terdiri dari empat pilihan, yaitu new game, highscores, help, dan about.
Activity diagram untuk use case membuka aplikasi permainan dapat dilihat pada Gambar 3.9.
(43)
- Use casenew game
Berikut ini tabel dokumentasi naratif dari use case membuka aplikasi permainan Tabel 3.2. Dokumentasi naratif use case untuk new game Nama use case New game
Aktor Pemain
Deskripsi Use case ini berfungsi untuk memulai permainan magic square Pre condition Menu utama telah ditampilkan
Normal flow Kegiatan aktor Respon sistem Pemain memilih menu new
game pada menu utama.
Sistem menampilkan pilihan ukuran papan permainan
Alternative flow Kegiatan aktor Respon sistem Pemain menekan tombol “back” Aplikasi tertutup
Post condition Sistem menampilkan halaman baru untuk memilih ukuran papan permainan.
Activity diagram untuk use casenewgame dapat dilihat pada Gambar 3.10.
(44)
30
- Use case memilih ukuran papan permainan
Berikut ini tabel dokumentasi naratif dari use case memilih ukuran papan permainan Tabel 3.3. Dokumentasi naratif use case untuk memilih ukuran papan
permainan Nama use case Memilih ukuran papan permainan
Aktor Pemain
Deskripsi Use case ini berfungsi untuk memulai memilih ukuran papan permainan
Pre condition Pemain telah memilih menu new game
Normal flow Kegiatan aktor Respon sistem Pemain memilih ukuran papan
permainan pada menu ini. Ukuran papan permainan adalah 4 x 4 dan 5 x 5
Sistem menampilkan papan permainan sesuai pilihan pemain
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” Aplikasi kembali ke menu utama
Post condition Pemain dapat memulai permainan dengan memindahkan angka-angka yang ada di dalam papan.
Activity diagram untuk use case memilih ukuran papan dapat dilihat pada Gambar 3.11.
(45)
- Use case memainkan permainan
Berikut ini tabel dokumentasi naratif dari use case memainkan permainan
Tabel 3.4. Dokumentasi naratif use case untuk mememainkan permainan Nama use case Memainkan permainan
Aktor Pemain
Deskripsi Use case ini berfungsi agar pemain dapat memainkan permainan dan menyelesaikan permainan
Pre condition Menu memilih papan permainan telah ditampilkan
Normal flow Kegiatan aktor Respon sistem Pemain memindahkan dan
menyusun angka-angka yang ada di dalam papan.
Sistem memindahkan angka-angka sesuai instruksi pemain
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” Aplikasi menampilkan dialog kepada pemain, yaitu untuk melanjutkan permainan atau keluar permainan
Pemain menekan tombol finish it!
Sistem menyelesaikan permainan dengan menggunakan algoritma
breadth first search
Post condition Pemain menyelesaikan permainan dan skor disimpan ke dalam database. Permainan selesai.
Activity diagram untuk use case memainkan permainan dapat dilihat pada Gambar 3.12.
(46)
32
- Use case selesaikan permainan dengan bantuan sistem
Berikut ini tabel dokumentasi naratif dari use case selesaikan permainan dengan bantuan sistem
Tabel 3.5. Dokumentasi naratif use case untuk selesaikan permainan dengan bantuan sistem
Nama use case Selesaikan permainan dengan bantuan sistem
Aktor Pemain
Deskripsi Use case ini berfungsi agar pemain dapat menyelesaikan permainan degan bantuan sistem
Pre condition Papan permainan telah ditampilkan
Normal flow Kegiatan aktor Respon sistem Pemain menekan tombol finish
it!.
Sistem menampilkan permainan yang telah selesai
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” Aplikasi kembali ke menu utama
Post condition Sistem menampilkan permainan yang telah selesai.
Activity diagram untuk use case selesaikan permainan dengan bantuan sistem dapat dilihat pada Gambar 3.13.
(47)
- Use case melihat skor
Berikut ini tabel dokumentasi naratif dari use case melihat skor
Tabel 3.6. Dokumentasi naratif use case untuk melihat skor Nama use case Melihat skor
Aktor Pemain
Deskripsi Use case ini berfungsi agar pemain dapat melihat skor yang telah dimainkan oleh pemain
Pre condition Pemain memilih menu highscore pada menu utama
Normal flow Kegiatan aktor Respon sistem Memilih ukuran papan/tingkat
kesukaran
Sistem menampilkan skor yang ada sesuai ukuran papan/tingkat kesukaran
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” Aplikasi kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat skor dapat dilihat pada Gambar 3.14.
(48)
34
- Use case melihat about
Berikut ini tabel dokumentasi naratif dari use case melihat about
Tabel 3.7. Dokumentasi naratif use case untuk melihat about Nama use case Melihat about
Aktor Pemain
Deskripsi Use case ini berfungsi agar pemain dapat melihat tampilan halaman
about
Pre condition Pemain memilih menu about pada menu utama
Normal flow Kegiatan aktor Respon sistem
- Sistem menampilkan halaman
about
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” Aplikasi kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat halaman about dapat dilihat pada Gambar 3.15.
(49)
- Use case melihat help
Berikut ini tabel dokumentasi naratif dari use case melihat help
Tabel 3.8. Dokumentasi naratif use case untuk melihat help Nama use case Melihat about
Aktor Pemain
Deskripsi Use case ini berfungsi agar pemain dapat melihat tampilan halaman
help
Pre condition Pemain memilih menu help pada menu utama
Normal flow Kegiatan aktor Respon sistem
- Sistem menampilkan halaman
help
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” Aplikasi kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat halaman help dapat dilihat pada Gambar 3.16.
(50)
36
- Use case pengaturan suara
Berikut ini tabel dokumentasi naratif dari use case pengaturan suara Tabel 3.9. Dokumentasi naratif use case pengaturan suara Nama use case Pengaturan suara
Aktor Pemain
Deskripsi Use case ini berfungsi untuk menghidupkan/mematikan suara aplikasi
Pre condition Pemain berada pada menu utama
Normal flow Kegiatan aktor Respon sistem Pemain menekan tombol
hidup/mati suara
Sistem
menghidupkan/mematikan suara aplikasi
Alternative flow Kegiatan aktor Respon sistem
- -
Post condition -
Activity diagram untuk use case pengaturan suara dapat dilihat pada Gambar 3.17.
(51)
- Use case mem-pause permainan
Berikut ini tabel dokumentasi naratif dari use casepause permainan Tabel 3.10. Dokumentasi naratif use case pause permainan Nama use case Pause permainan
Aktor Pemain
Deskripsi Use case ini berfungsi untuk mematikan permainan sesaat
Pre condition Pemain berada pada menu utama
Normal flow Kegiatan aktor Respon sistem Pemain menekan tombol
“back” pada saat permainan sedang berlangsung
Sistem mem-pause permainan
Alternative flow Kegiatan aktor Respon sistem
- -
Post condition Permainan di-pause
- Use case resume permainan
Berikut ini tabel dokumentasi naratif dari use caseresume permainan Tabel 3.11. Dokumentasi naratif use case resume permainan Nama use case resume permainan
Aktor Pemain
Deskripsi Use case ini berfungsi untuk mematikan permainan sesaat
Pre condition Permainan di-pause
Normal flow Kegiatan aktor Respon sistem Pemain menekan tombol
resume saat permainan
di-pause
(52)
38
Alternative flow Kegiatan aktor Respon sistem
- -
Post condition Permainan dilanjutkan
Activity diagram untuk use case pause dan resume permainan dapat dilihat pada Gambar 3.18.
Gambar 3.18. Activity diagram pause - resume permainan
3.3.2. Perancangan Class Diagram
Class diagram dirancang untuk menentukan objek-objek yang dibutuhkan untuk perancangan sistem. Setiap kelas memiliki attributes dan methods masing-masing sesuai dengan kebutuhan kelas tersebut.
(53)
Class diagram yang terdapat pada aplikasi magic square yang akan dibuat terdapat pada Gambar 3.19.
Gambar 3.19. Class diagram magic square
Kelas-kelas pada gambar 3.19 mempunyai kegunaannya masing-masing. Kelas-kelas tersebut dijelaskan pada tabel berikut :
(54)
40
Tabel 3.12. Penjelasan kelas-kelas pada class diagram magic square
Kelas Kegunaan
MagicSquare Merupakan kelas utama. Kelas pertama yang dipanggil saat menjalankan sistem.
Assets Deklarasi variabel-variabel asset dan memuat pengaturan permainan
SplashScreen Kelas setelah asset dimuat dan akan menuju ke kelas MainMenuScreen.
MainMenuScreen Layar menu utama.
NewGameScreen Layar pemilihan ukuran papan permainan magic square.
FreeGameScreen Layar permainan magic square.
LevelSet Kelas yang mengatur ukuran papan permainan magic square.
World Generator permainan magic square.
Coordinate Kelas yang mengatur posisi angka-angka yang berada di dalam papan
HighScoresGameScreen Layar papan skor.
AboutGameScreen Layar informasi permainan magic square.
HelpGameScreen Layar bantuan untuk bermain magic square.
(55)
3.4. Transisi Layar dan Antarmuka
Bagian ini adalah bagian terakhir dari analisa dan perancangan dimana penulis menerapkan ide, analisa, dan mekanisme permainan untuk membuat tampilan yang
user friendly layaknya permainan mobile pada umumnya.
3.4.1. Transisi layar
Transisi layar merupakan proses pergantian layar dari satu layar ke layar lain. Pergantian layar dapat terjadi akibat berbagai pemicu yang dapat berupa tombol, waktu, keadaan aplikasi, dan lain-lain.
Penulis membuat skema transisi layar agar dapat mengetahui berapa banyak layar yang harus dibuat dalam permainan ini. Secara umum transisi layar permainan
magic square dapat dilihat pada Gambar 3.20.
(56)
42
3.4.2. Antarmuka
Berdasarkan transisi layar pada Gambar 3.20, ada enam antarmuka yang harus dirancang. Berikut adalah rencana antarmuka yang akan dibuat yang dibuat dalam bentuk low fidelity interface.
1. Main menu
Layar ini adalah layar pertama yang terlihat saat aplikasi dibuka dimana kegiatan yang dilakukan pada layar ini adalah pemain dapat memilih papan permainan ataupun melihat skor. Selain itu ada juga tombol untuk pengaturan suara. Adapun rancangan layar dapat dilihat pada Gambar 3.21.
Gambar 3.21. Rancangan main menu LOGO
NEW GAME HIGHSCORES
HELP ABOUT SOUND
(57)
2. New game select
Layar ini adalah layar pemilihan ukuran papan permainan. Ukuran papan permainan dapat dipilih dengan menekan tombol yang ada pada layar. Adapun rancangan layar dapat dilihat pada gambar 3.22
Gambar 3.22. Rancangan new game select
3. Play screen
Play screen adalah layar yang digunakan untuk memainkan permainan. Adapun rancangan layar dapat dilihat pada Gambar 3.23.
NEW GAME
BOARD PREVIEW →
←
(58)
44
Gambar 3.23. Rancangan play screen
Gambar 3.23. Rancangan play screen
4. Highscores
Layar ini adalah layar yang digunakan pemain untuk melihat skor permainan yang telah lewat. Pemain dapat melihat skor berdasarkan ukuran papan permainan. Adapun rancangan layar dapat dilihat pada Gambar 3.24.
Gambar 3.24. Rancangan layar highscores
GAME BOARD
Move : Magic Sum :
FINISH IT!
HIGHSCORES
1. 50 2. 50 3. 50 4. 50 5. 50
(59)
5. Help
Layar ini adalah layar untuk memberitahu pemain cara bermain magic square. Adapun rancangan layar dapat dilihat pada Gambar 3.25.
Gambar 3.25. Rancangan layar help
6. About
Layar ini adalah layar yang berisi tentang informasi umur dari permainan
magic square. Adapun rancangan layar dapat dilihat pada Gambar 3.26.
Gambar 3.26. Rancangan layar about HELP
INFO CARA BERMAIN
ABOUT
INFORMASI UMUM TENTANG PERMAINAN MAGIC
(60)
BAB 4
IMPLEMENTASI DAN PENGUJIAN
Setelah melakukan analisis dan perancangan pada bab sebelumnya, sekarang sudah dapat memulai untuk melakukan implementasi dan pengujian. Implementasi sistem dilakukan untuk mengetahui hasil rancangan aplikasi, dan pengujian dilakukan untuk membuktikan jika aplikasi dapat berjalan dengan baik pada perangkat Android.
4.1. Implementasi
Implementasi aplikasi permainan magic square dibuat menggunakan bahasa pemrograman Java berbasis Android dengan menggunakan Integrated Development Environment (IDE) Eclipse 4.2. Penulis memilih IDE Eclipse karena IDE ini gratis dan terdapat banyak dukungan di forum-forum online. Selain itu Eclipse adalah IDE resmi yang disarankan dalam pengembangan aplikasi Android.
4.1.1. Konfigurasi perangkat keras
Dalam pengembangan aplikasi Android, kebutuhan terbesar perangkat keras adalah saat melakukan ujicoba ke emulator. Ujicoba ke emulator adalah tahap awal sebelum aplikasi dipasangkan ke perangkat Android. Adapun komputer yang penulis gunakan adalah komputer dengan spesifikasi perangkat keras sebagai berikut:
(61)
1. Processor Inter Core 2 Duo 2. Memory RAM 2 GB 3. Harddisk 160 GB
4. VGA NVIDIA GEFORCE 9400 G
Untuk perangkat Android yang dipasangkan, penulis menggunakan Smartfren Andromax C.
4.1.2. Konfigurasi perangkat lunak
Pada pengimplementasian aplikasi hexavex di komputer penulis menggunakan sistem operasi Windows 7 32 bit. Perangkat lunak yang digunakan adalah :
1. Java Standart Edition Development Kit 6 2. Android SDK 4.0 (API 14)
3. Eclipse 4.2
Pada perangkat Android sistem operasi yang digunakan adalah Stock ROM Android 4.0.4.
4.1.3. Eksekusi aplikasi
Berikut akan dijelaskan hasil eksekusi aplikasi permainan magic square yang dijalankan pada smartphone Smartfren Andromax C. Penjelasan dimulai dari tampilan awal aplikasi. Adapun layar awal aplikasi dapat kita lihat pada Gambar 4.1.
(62)
48
Gambar 4.1. Tampilan awal aplikasi
Secara default audio akan menyala dan background music akan diputar. Pemain dapat memilih mematikan suara dengan menekan tombol disebelah kiri bawah. Untuk memulai permainan pemain menekan tombol new game. Setelah itu akan muncul tampilan untuk memilih ukuran papan permainan. Tampilan pilihan papan permainan dapat dilihat pada Gambar 4.2.
(a) (b)
(63)
Setelah memilih ukuran papan yang akan dimainkan, aplikasi akan menampilkan papan permainan sesuai ukuran papan yang telah dipilih sebelumnya. Adapun tampilan papan permainan dapat dilihat pada Gambar 4.3.
(a) (b)
Gambar 4.3. Tampilan papan permainan (a) 4x4 dan (b) 5x5
Setelah masuk ke dalam permainan, pemain dapat memainkan permainan dengan cara menekan salah satu angka kemudian tekan angka kedua maka angka pertama akan berpindah ke posisi angka kedua. Untuk menyelesaikan permainan ini, pemain harus dapat menyusun angka-angka sehingga jumlah angka setiap baris, kolom, dan dua diagonalnya sama dengan magic sum yang ada pada layar permainan.
Apabila saat sedang bermain, pemain menekan tombol home maka permainan akan pause. Saat keadaan pause, pemain diberi dua pilihan, yaitu melanjutkan permainan (resume) atau keluar dari permainan menuju menu utama (quit). Ketika pemain melanjutkan permainan dan menyelesaikannya maka akan muncul layar yang menyatakan bahwa pemain telah berhasil menyelesaikan permainan. Pemain juga dapat menyelesaikan permainan dengan menekan tombol FINISH IT!. Saat tombol
(64)
50
Adapun tampilan saat permainan di-pause, saat permainan selesai dan saat tombol
FINISH IT! ditekan dapat dilihat pada Gambar 4.4.
Gambar 4.4. Tampilan saat permainan di-pause, saat permainan telah selesai, dan saat tombol FINISH IT! ditekan
Setelah pemain menyelesaikan permainan maka skor pemain akan masuk ke dalam highscores. Skor yang dihitung hanya lima skor terbaik dalam setiap ukuran papan. Tampilan highscores dapat dilihat pada Gambar 4.4.
(65)
Untuk melihat informasi dan cara bermain magic square pemain dapat melihatnya di tampilan about dan help. Gambar 4.5 menunjukkan tampilan about dan
help.
(a) (b)
Gambar 4.6. Tampilan about (a) dan help (b)
4.2. Pengujian Aplikasi
Pada tahap ini akan dilakukan pengujian pada setiap proses yang ada dalam aplikasi. Pengujian ini bertujuan untuk mengetahui apakah aplikasi sudah dapat berjalan dengan baik atau tidak, sesuai dengan apa yang diharapkan penulis dan pengguna.
4.2.1. Pengujian black box
Pada pengujian ini akan menguji setiap modul pada aplikasi apakah sudah bejalan sesuai dengan yang diharapkan oleh penulis. Metode yang digunakan untuk menguji adalah metode black box. Metode black box adalah pengujian yang dilakukan dengan cara hanya menjalankan atau mengeksekusi unit atau modul pada aplikasi, kemudian diamati apakah hasil dari unit itu sudah sesuai dengan konsep awal aplikasi yang
(66)
52
dinginkan.diamati apakah hasil dari unit itu sudah sesuai dengan konsep awal aplikasi yang dinginkan.
Tabel 4.1 Tabel Hasil Pengujian Black Box Pada aplikasi permainan magic square
No. Sasaran Pengujian Hasil yang diharapkan Hasil Uji 1. Tampilan ketika aplikasi di
eksekusi
Aplikasi menampilkan menu utama
Sesuai 2. Pemilihan menu new game Aplikasi menampilkan
halaman untuk memilih ukuran papan permainan
Sesuai
3. Memilih salah satu ukuran papan
Aplikasi menampilkan papan permainan sesuai dengan yang telah dipilih
Sesuai
4. Memindahkan angka Aplikasi memindahkan angka sesuai dengan perintah pemain
Sesuai 5. Menekan back button saat
bermain
Aplikasi mem-pause
permainan
Sesuai 6. Menekan quit dan resume Apabila memilih quit aplikasi
akan keluar ke menu utama, dan apabila memilih resume aplikasi akan melanjutkan permainan.
Sesuai
7. Pemain menyelesaikan permainan
Aplikasi akan menampilkan kota dialog bahwa pemain berhasil menyelesaikan permainan dan skor akan dimasukkan ke dalam database jika termasuk highscore.
Sesuai
8. Pemain menekan tombol
FINISH IT!
Aplikasi akan menampilkan penyelesaian papan permainan menggunakan algoritma
breadth first search.
(67)
Tabel 4.1 Tabel Hasil Pengujian Black Box Pada aplikasi permainan magic square (lanjutan)
9. Pemilihan menu highscores Aplikasi menampilkan skor tertinggi setiap ukuran papan permainan
Sesuai
10. Pemilihan menu about Aplikasi menampilkan halaman about
Sesuai 11. Pemilihan menu help Aplikasi menampilkan
halaman help
Sesuai 12. Menekan tombol “back”
pada menu utama
(68)
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan evaluasi yang telah dilakukan pada bab-bab sebelumnya, maka dapat diambil kesimpulan sebagai berikut :
1. Aplikasi permainan magic square pada platform android telah berhasil dibangun.
2. Algoritma breadth first search dapat diterapkan di dalam permainan magic square untuk mencari solusi dari permainan.
3. Rancangan aplikasi permainan magic square dapat diimplementasikan dengan baik. Hal ini terlihat dari aplikasi yang sudah berjalan sesuai dengan yang diharapkan penulis.
5.2. Saran
Beberapa saran yang dapat dijadikan pertimbangan dalam pengembangan aplikasi ini adalah :
1. Membuat antarmuka yang lebih menarik lagi misalnya dengan menambahkan animasi.
2. Mengembangkan aplikasi agar dapat digunakan ke sistem operasi lainnya, tidak hanya di lingkungan android saja.
3. Penggunaan algoritma yang lebih baik untuk pencarian solusi.
4. Tampilan aplikasi dapat secara maksimal ditampilkan untuk semua ukuran layar dan resolusi.
(69)
DAFTAR PUSTAKA
Andrews, W.S. Magic Squares and Cubes. Second Edition.
Gargenta, M. 2011. Learning Android. California : O’Reilly Media.
Jordan, Lucas dan Greyling, Pieter. 2011. Practical Android Projects. United States of America: Apress.
Kerfs, J. 2011. Beginning Android Tablet Games Programming. Apress.
Kusumadewi, S. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta : Graha Ilmu.
Nasution, Muhammad Anggi Rivai. 2011. Analisis dan Implemetasi Algoritma Runut Balik (Backtracking) Pada Pemainan Magic Square. Skripsi. Medan : Universitas Sumatera Utara.
Rabin, Steve. Introduction To Game Development. Second Edition.
Russel, Stuart J. dan Norvig, Peter. 2003. Artificial Intelligence : A Modern Approach. Edisi ke-2. New Jersey, United States of America : Pearson Education, Inc. Safaat, Nazruddin H. 2012. Android Pemograman Aplikasi Mobile Smartphone Dan
Tablet PC Berbasis Android. Bandung, Indonesia : Informatika.
Yomanovian. 2012. Algoritma Breadth First Search pada Puzzle Missionaries and Cannibals. Bandung : Institut Teknologi Bandung.
(1)
Adapun tampilan saat permainan di-pause, saat permainan selesai dan saat tombol FINISH IT! ditekan dapat dilihat pada Gambar 4.4.
Gambar 4.4. Tampilan saat permainan di-pause, saat permainan telah selesai, dan saat tombol FINISH IT! ditekan
Setelah pemain menyelesaikan permainan maka skor pemain akan masuk ke dalam highscores. Skor yang dihitung hanya lima skor terbaik dalam setiap ukuran papan. Tampilan highscores dapat dilihat pada Gambar 4.4.
(2)
51
Untuk melihat informasi dan cara bermain magic square pemain dapat melihatnya di tampilan about dan help. Gambar 4.5 menunjukkan tampilan about dan help.
(a) (b)
Gambar 4.6. Tampilan about (a) dan help (b)
4.2. Pengujian Aplikasi
Pada tahap ini akan dilakukan pengujian pada setiap proses yang ada dalam aplikasi. Pengujian ini bertujuan untuk mengetahui apakah aplikasi sudah dapat berjalan dengan baik atau tidak, sesuai dengan apa yang diharapkan penulis dan pengguna.
4.2.1. Pengujian black box
Pada pengujian ini akan menguji setiap modul pada aplikasi apakah sudah bejalan sesuai dengan yang diharapkan oleh penulis. Metode yang digunakan untuk menguji adalah metode black box. Metode black box adalah pengujian yang dilakukan dengan cara hanya menjalankan atau mengeksekusi unit atau modul pada aplikasi, kemudian diamati apakah hasil dari unit itu sudah sesuai dengan konsep awal aplikasi yang
(3)
dinginkan.diamati apakah hasil dari unit itu sudah sesuai dengan konsep awal aplikasi yang dinginkan.
Tabel 4.1 Tabel Hasil Pengujian Black Box Pada aplikasi permainan magic square
No. Sasaran Pengujian Hasil yang diharapkan Hasil Uji 1. Tampilan ketika aplikasi di
eksekusi
Aplikasi menampilkan menu utama
Sesuai 2. Pemilihan menu new game Aplikasi menampilkan
halaman untuk memilih ukuran papan permainan
Sesuai
3. Memilih salah satu ukuran papan
Aplikasi menampilkan papan permainan sesuai dengan yang telah dipilih
Sesuai
4. Memindahkan angka Aplikasi memindahkan angka sesuai dengan perintah pemain
Sesuai 5. Menekan back button saat
bermain
Aplikasi mem-pause permainan
Sesuai 6. Menekan quit dan resume Apabila memilih quit aplikasi
akan keluar ke menu utama, dan apabila memilih resume aplikasi akan melanjutkan permainan.
Sesuai
7. Pemain menyelesaikan permainan
Aplikasi akan menampilkan kota dialog bahwa pemain berhasil menyelesaikan permainan dan skor akan dimasukkan ke dalam database jika termasuk highscore.
Sesuai
8. Pemain menekan tombol FINISH IT!
Aplikasi akan menampilkan penyelesaian papan permainan menggunakan algoritma breadth first search.
(4)
53
Tabel 4.1 Tabel Hasil Pengujian Black Box Pada aplikasi permainan magic square (lanjutan)
9. Pemilihan menu highscores Aplikasi menampilkan skor tertinggi setiap ukuran papan permainan
Sesuai
10. Pemilihan menu about Aplikasi menampilkan halaman about
Sesuai 11. Pemilihan menu help Aplikasi menampilkan
halaman help
Sesuai
12. Menekan tombol “back”
pada menu utama
(5)
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan evaluasi yang telah dilakukan pada bab-bab sebelumnya, maka dapat diambil kesimpulan sebagai berikut :
1. Aplikasi permainan magic square pada platform android telah berhasil dibangun.
2. Algoritma breadth first search dapat diterapkan di dalam permainan magic square untuk mencari solusi dari permainan.
3. Rancangan aplikasi permainan magic square dapat diimplementasikan dengan baik. Hal ini terlihat dari aplikasi yang sudah berjalan sesuai dengan yang diharapkan penulis.
5.2. Saran
Beberapa saran yang dapat dijadikan pertimbangan dalam pengembangan aplikasi ini adalah :
1. Membuat antarmuka yang lebih menarik lagi misalnya dengan menambahkan animasi.
2. Mengembangkan aplikasi agar dapat digunakan ke sistem operasi lainnya, tidak hanya di lingkungan android saja.
3. Penggunaan algoritma yang lebih baik untuk pencarian solusi.
4. Tampilan aplikasi dapat secara maksimal ditampilkan untuk semua ukuran layar dan resolusi.
(6)
55
DAFTAR PUSTAKA
Andrews, W.S. Magic Squares and Cubes. Second Edition.
Gargenta, M. 2011. Learning Android. California : O’Reilly Media.
Jordan, Lucas dan Greyling, Pieter. 2011. Practical Android Projects. United States of America: Apress.
Kerfs, J. 2011. Beginning Android Tablet Games Programming. Apress.
Kusumadewi, S. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta : Graha Ilmu.
Nasution, Muhammad Anggi Rivai. 2011. Analisis dan Implemetasi Algoritma Runut Balik (Backtracking) Pada Pemainan Magic Square. Skripsi. Medan : Universitas Sumatera Utara.
Rabin, Steve. Introduction To Game Development. Second Edition.
Russel, Stuart J. dan Norvig, Peter. 2003. Artificial Intelligence : A Modern Approach. Edisi ke-2. New Jersey, United States of America : Pearson Education, Inc. Safaat, Nazruddin H. 2012. Android Pemograman Aplikasi Mobile Smartphone Dan
Tablet PC Berbasis Android. Bandung, Indonesia : Informatika.
Yomanovian. 2012. Algoritma Breadth First Search pada Puzzle Missionaries and Cannibals. Bandung : Institut Teknologi Bandung.