kedua pemain.
Game P la ying
merupakan problem pencarian yang didefinisikan oleh beberapa komponen berikut ini.
1. Keadaan awal
initial state
, yaitu keadaan yang mendefinisikan konfigurasi awal permainan dan mengidentifikasi pemain pertama
yang bergerak. 2.
Fungsi Penerus
successor function,
yang bertugas mengidentifikasi kemungkinan-kemungkinan yang dapat dicapai dari keadaan saat ini.
3.
Goa l test
, yang bertugas untuk memeriksa apakah suatu keadaan tertentu adalah kedaan tujuan atau bukan.
4.
P a th
Cost, yang memberikan nilai numerik untuk keadaan-keadaan dalam permainan.
2.3.
Mobile Games
Mobile games
secara garis besar diartikan sebagai permainan yang dimainkan pada perangkat
mobile
seperti telepon genggam, PDA,
smartphone
, ataupun perangkat permainan portabel contoh
Nintendo Gameboy
dan
PlayStation Portable
. Penelitian, pengembangan, dan pengujian terhadap
mobile games
telah membawa masalah dan pertanyaan yang tidak bisa diselesaikan oleh model desain
lama.
Mobile games
mengubah hubungan antara manusia dan komputer yang berakibat tidak hanya dari cara bermain tetapi desain antarmuka dan juga interaksi
struktur juga berubah. Kegiatan pemain berubah. Pemain tidak duduk di depan perangkat mereka lagi tetapi benar-benar bisa bergerak bebas sambil bermain
Grueter
et al
, 2005.
2.4. Permainan
Mill
Permainan
Mill
adalah pengembangan dari penggabungan konsep permainan
Tic Tac Toe
dan permainan
Twelve Mens Morris.
Permainan
mill
menggunakan aturan dan konsep permainan
Tic Tac Toe
yang bertujuan menempatkan 3 bidak masing-masing pemain dalam suatu garis lurus yang dapat berupa garis
horisontal, vertikal, ataupun diagonal. Dalam permainan
Mill
tersebut digunakan
bentuk papan permainan yang sama dengan papan permainan
Twelve Mens Morris Twelve Mens Morris
yang terbentuk dari 24
node
, 8
path
horisontal, 8
path
vertikal, dan 4
path
diagonal. Untuk lebih jelasnya berikut tampilan papan permainan
Mill.
Gambar 2.1 Papan Permainan
Mill
2.5. Algoritma
Greedy
Secara bahasa,
greedy
memiliki arti rakus atau tamak. Algoritma
greedy
adalah algoritma yang membentuk solusi langkah demi langkah. Pada setiap langkahnya
terdapat banyak pilihan yang perlu dieksplorasi dan pada setiap langkahnya harus dibuat keputusan yang terbaik dalam menentukan pilihan. Prinsip Algoritma
Greedy
adalah ”take what you can get now”. Maksud dari prinsip tersebut adalah pada setiap langkah dalam Algoritma
Greedy
diambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah
selanjutnya. Hal ini disebut sebagai optimum lokal. Harapan dari algoritma ini dapat membentuk suatu penyelesaian atau optimum global suatu masalah dari
optimum lokalnya.Munir,2007. Dalam penerapan algoritma greedy diperlukan elemen-elemen sebagai
berikut: 1. Himpunan Kandidat
Himpunan ini berisi elemen-elemen pembentuk solusi 2. Himpunan Solusi
Merupakan Himpunan yang telah berisi solusi-solusi yang telah diterima sebagai langkah penyelesaian atau optimum lokal.
3. Fungsi Seleksi Merupakan fungsi pembatas yang mensortir himpunan kandidat menjadi calon
himpunan solusi 4. Fungsi Kelayakan
merupakan fungsi yang memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan
himpunan solusi yang sudah terbentuk tidak melanggar kendala yang ada. 5. Fungsi Obyektif
Fungsi yang memaksimalkan nilai solusi sesuai dengan permasalahannya
2.6.
Android
Android
adalah sebuah sistem operasi untuk perangkat
mobile
berbasis
linux
yang mencakup sistem operasi, middleware dan aplikasi Safaat, 2012.
Android
merupakan generasi baru
platform mobile, platform
yang memberikan pengembang untuk melakukan pengembangan sesuai dengan yang diharapkannya.
Sistem operasi yang mendasari
Android
dilisensikan dibawah GNU, yang sering dikenal dengan
copyleft
lisensi dimana setiap perbaikan pihak ketiga harus terus jatuh dibawah
terms. Android
didistribusikan dibawah Lisensi
Apache SoftwareASLApache2
, yang memungkinkan untuk distribusi kedua dan seterusnya. Pengembang aplikasi
Android
diperbolehkan untuk mendistribusikan aplikasi mereka dibawah skema lisensi apapun yang mereka inginkan.
Kelebihan
android
Gargenta, 2011 :
1
. Comprehensive platform,
yang artinya softwarenya lengkap pada
mobile devices.
2. Open
source platform
, pengembang
dapat menggunakan
dan mengembangkannya secara gratis dan memiliki akses terhadap
source code platform
tersebut. 3.
Android
juga tidak memakan memori yang terlalu banyak sehingga user tidak terlalu khawatir terhadap
software
yang memorinya terbatas
.
Arsitektur platform
Android
dapat dilihat pada gambar 2.2
Gambar 0.2 Arsitektur
platform Android
Zechner, 2011
a.
Applications
Applications
merupakan program yang langsung berhubungan dengan
user
. Baik program yang merupakan bawaan dari
Android
sendiri maupun program yang dibuat oleh
developer
menggunakan bahasa pemrograman java. Contoh program bawaan dari platform
Android
sendiri adalah
email client
, program SMS,
calendar
,
maps
,
web browser
,
contact
dan sebagainya.
b.
Application Framework
Lapisan ini berisi sekumpulan API yang dapat digunakan oleh
programmer
maupun
core application
dari
android
. Lapisan ini dirancang untuk memudahkan penggunaan komponen dari
Android
sendiri. Aplikasi manapun dalam
Android
dapat berbagi fungsi sehingga aplikasi lain dapat memanfaatkannya.
Aplikasi pada
Android
disusun atas beberapa komponen : 1.
Sekumpulan
views
. Digunakan untuk mengatur tampilan pada aplikasi. Contohnya adalah
lists
,
grid
,
text box
,
button
, bahkan
embeddable web browser
. 2.
Content providers
. Komponen yang mengatur agar aplikasi dapat mengakses
resources
dari aplikasi lain seperti
Contacts
, atau berbagi data dengan aplikasi lain.
3.
Resource manager
. Menyediakan akses kepada
resource non-code
seperti
localized string
, dan
file layout
. 4.
Notification manager
. Memungkinkan agar suatu aplikasi dapat menampilkan peringatan yang dapat dikustomasi pada
status bar
. 5.
Activity manager
. Mengatur siklus aplikasi dan navigasi antar aplikasi yang sedang berjalan.
c.
Libraries
Android
mendukung beberapa
library
CC++ yang digunakan pada berbagai
komponen
Android
. Kemampuan ini dapat diakses oleh
developer
melalui
Android apllication framework
.
d.
Android Runtime
Tiap aplikasi pada
Android
memiliki proses nya masing-masing. Tiap aplikasi tersebut memiliki
instans
dari Dalvik
virtual machine
VM. Dalvik
virtual machine
dirancang agar suatu perangkat dapat menjalankan beberapa VM secara efisien. Dalvik VM mengeksekusi file dengan format Dalvik
executable format
.dex yang dirancang untuk meminimalkan
memory footprint
.
Dalvik VM berbasis register dan dapat menjalankan kelas-kelas yang dikompilasi dengan bahasa pemrograman java dan ditransformasikan menjadi
format .dex. Dalvik VM sendiri bergantung pada kernel Linux untuk fungsi dasarnya, seperti
threading
dan manajemen memori secara
low-level
.
e.
Linux Kernel
Android
menggunakan Kernel Linux versi 2.6 sebagai sistem utama. Fungsi kernel yang digunakan antara lain untuk keamanan, manajemen memori,
manajemen proses, manajemen jaringan, dan
driver model
. Kernel juga berfungsi sebagai
layer
abstrak antara
hardware
dan lapisan lainnya pada
software stack
.
2.7. UML