• Tidak ada hasil yang ditemukan

Aplikasi Permainan Magic Square Pada Platform Android

N/A
N/A
Protected

Academic year: 2016

Membagikan "Aplikasi Permainan Magic Square Pada Platform Android"

Copied!
69
0
0

Teks penuh

(1)

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

(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,

(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

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

5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen dan pegawai di Program Studi Teknologi Informasi.

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

(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

2.1.3. Klasifikasi/aliran mobile games 8

2.2. Magic Square 9

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

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

(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

(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 :

(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

(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

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

(22)

8 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,

(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,

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.

(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,

(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

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

(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

(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

(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

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

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

(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

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

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

(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

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

(39)

Gambar 3.7. Flowchart alur dasar permainan

(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

(53)

Class diagram yang terdapat pada aplikasi magic square yang akan dibuat terdapat pada Gambar 3.19.

Gambar 3.19. Class diagram magic square

(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

(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

(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

(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

(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 akan keluar ke menu utama, dan apabila memilih resume jika termasuk highscore.

Sesuai

8. Pemain menekan tombol

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

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

Gambar

Tabel 2.1. Penelitian sebelumnya
Gambar 3.3. Papan permainan magic square ukuran 3 x 3 dalam keadaan kosong
Gambar 3.5. Magic square yang telah diselesaikan
Gambar 3.6. Permainan magic square ukuran 4 x 4 dengan angka yang diacak
+7

Referensi

Dokumen terkait

Baik Bu Imah, Bu Incih, serta para guru yang mengajar di TK Intan Bahari dan PAUD Mutiara Bahari telah menyadari bahwa mereka tidak bekerja di masyarakat yang memiliki

Simulasi dilakukan untuk mengetahui cara kerja pada protokol routing OSPF (Open shortest Path First). Desain topologi menggunakan jenis router dinamik dengan protokol routing

Sementara itu dilihat dari kategori sikap menunjukkan bahwa masyarakat setuju jika pantai Sivalenta dijadikan daerah tujuan wisata karena mereka juga ikut serta

Dari hasil pembahasan terhadap kasus ini, dapat disimpulkan bahwa pada dasarnya yang menjadi sebab tidak diterimanya pencabutan keterangan terdakwa Rofi Zuliansyah oleh hakim

Produksi bawang merah di Kabupaten Brebes yang tidak stabil menyebabkan harga bawang merah berfluktuasi. Hal ini meresahkan konsumen tak terkecuali Kabupaten

Setelah dilaksanakan perkuliahan berdasarkan revisi tindakan pada siklus II maka dari hasil observasi pada siklus III diperoleh data bahwa semua mahasiswa sudah memperhatikan

Kajian tentang Kualitas Lingkungan Perairan dan Kandungan Logam Berat pada Kerang Bulu (Anadara indica GMELIN) di Estuaria Muara Kamal, Teluk Jakarta.. (Tesis Program

sebagaimana dimaksud dalam huruf a, huruf b, dan huruf c, perlu menetapkan Peraturan Daerah tentang Pembubaran 6 (enam) Perusahaan Daerah Bank Perkreditan Rakyat