Permainan Algoritma LANDASAN TEORI

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