• Tidak ada hasil yang ditemukan

Pembangunan game tradisional kelereng pada perangkat mobile

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan game tradisional kelereng pada perangkat mobile"

Copied!
110
0
0

Teks penuh

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

Tempat / Tanggal Lahir : Cianjur, 27 Januari 1990 Jenis Kelamin : Laki-laki

Agama : Islam

Alamat Asli : Kp.Cijaringao Rt 02/03 Desa Lebkwangi No. Telp / HP : 082117290939/085722894492

E-mail : ferdi_jaenur@yahoo.com Pendidikan :

1. 1995 – 1996 : TK Al Qolam

2. 1996 – 2002 : SDN Lebakwangi 1 3. 2002 – 2005 : SMPN 1 Arjasari 4. 2005 – 2008 : SMKN 4 Bandung

5. 2008 – 2013 : Universitas Komputer Indonesia, Bandung

Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

Bandung, 27 Agustus 2013

(6)

PEMBANGUNAN

GAME

TRADISIONAL KELERENG PADA

PERANGKAT

MOBILE

SKRIPSI

Diajukan Untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika Fakultas Teknik Dan Ilmu Komputer

FERDI JAENUR PAMUNGKAS

10108254

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(7)

iii

Alhamdulillahi Rabbil ‘Alamiin, segala puji dan syukur penulis panjatkan ke hadirat Allah SWT, karena dengan izin-Nya dan setitik ilmu pengetahuan yang diberikan kepada mahluk-Nya, penulis dapat menyelesaikan laporan tugas akhir ini yang berjudul “PEMBANGUNAN GAME TRADISIONAL KELERENG PADA PERANGKAT MOBILE.” Tak lupa shalawat serta salam semoga dilimpahcurahkan kepada baginda Nabi Besar Muhammad SAW (Allahuma Shalli Wa Sallim ‘Alaihi).

Skripsi ini disusun untuk memenuhi salah satu syarat dalam menyelesaikan jenjang pendidikan S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Selama menulis laporan skripsi ini, penulis telah mendapatkan banyak sekali bimbingan dan bantuan dari berbagai pihak yang telah dengan segenap hati dan keikhlasan yang penuh membantu dan membimbing penulis dalam menyelesaikan laporan ini. Penulis menyadari sepenuhnya bahwa dalam skripsi yang penulis buat ini masih sangat jauh dari kesempurnaan. Hal ini tiada lain disebabkan oleh keterbatasan pengetahuan dan pengalaman yang penulis miliki. Dan dengan kesadaran hati, penulis ucapkan terima kasih kepada :

1. Kedua orang tuaku, atas dukungan beserta doa yang sangat berarti dalam perjalanan hidupku, semoga Allah membalas kebaikan dengan surga-Nya.

2. Ibu Nelly Indriani Widiastuti, S.SI., M.T., selaku dosen pembimbing. Penulis sangat berterima kasih sekali telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.

(8)

4. Bapak Alif Finandhita, S.Kom, selaku penguji 3 yang sudah sangat sabar membimbing sampai akhir penulisan tugas akhir ini.

5. Bapak Irawan Afrianto, S.T., M.T., selaku Ketua Jurusan Teknik Informatika Universitas Komputer Indonesia.

6. Bapak dan Ibu dosen serta seluruh staf pegawai program studi Teknik Informatika UNIKOM Bandung yang telah banyak membantu penulis. 7. Teman-teman di kelas IF-6 angkatan 2008. Terima kasih atas bantuannya

selama ini. Semoga teman-teman diberikan kemudahan serta kelancaran dalam mencapai cita-citanya.

8. Teman-temanku yang selalu mensupport penulis yaitu Hadi, Jamie, Irwansyah, Gandes, Lala, Jimi dan teman-temanku seperjuangan ketika sama-sama bergelut dengan tugas akhir ini yaitu Novi, Oxa, Angga, Andre, Dani, Bayu, Yudi, Sidik, Agus, Septy, Novira, Ina, Yusuf, Bang Zaky, Bang Nessken, Albi, dan semua teman-teman di Program Studi Teknik Informatika angkatan 2008 yang tidak bisa saya sebutkan satu persatu, terima kasih atas semua bantuan, masukan dan juga motivasimya.

9. Semua pihak yang turut memberikan bantuan dan dukungan dalam penulisan skripsi ini yang tidak bisa disebutkan satu persatu.

Akhir kata, penulis berharap semoga skripsi ini bisa sangat berguna dan bermanfaat bagi penulis dan pembaca. Semoga segala jenis bantuan yang telah diberikan kepada penulis mendapat balasan dari Allah SWT. Amin.

Bandung, 27 Agustus 2013

(9)

v

1.6 Sistematika Penulisan ... 5

BAB 2. LANDASAN TEORI ... 7

2.1 Permainan (Game) ... 7

2.1.1 Permainan Tradisional ... 10

2.2 Sejarah Permainan Kelereng ... 10

2.2.1 Peraturan Permainan Kelereng ... 11

2.6 Plugin Android Development tools (ADT) ... 21

(10)

2.12 Unified Modelling Language (UML) ... 25

BAB 3. ANALISIS DAN PERANCANGAN ... 29

3.1 Analisis Sistem ... 29

3.1.5.1 Analisis Perangkat Keras (Hardware) ... 47

3.1.5.2 Analisis Perangkat Lunak (Software) ... 48

3.1.5.3 Analisis Pengguna (User) ... 48

3.1.5.3 Karakteristik Pengguna ... 49

3.1.6 Analisis Kebutuhan ... 49

3.1.6.1 Use Case Diagram ... 49

3.1.6.2 Identifikasi Aktor ... 50

(11)

vii

3.2.3.1 Perancangan Methodwin0 ... 73

3.2.3.2 Perancangan Method fail0 ... 75

3.2.3.1 Perancangan Method onUpdate0 ... 76

3.2.3.1 Perancangan Method gerakSemut0 ... 77

3.2.4 Jaringan Semantik ... 78

3.2.5 Struktur Menu ... 78

BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM ... 79

4.1 Implementasi Sistem ... 79

4.1.1 Perangkat Pengujian Aplikasi ... 79

4.1.2 Implementasi Antarmuka ... 79

4.2 Pengujian Sistem ... 85

4.2.1 Rencana Pengujian ... 85

4.2.2 Pengujian Beta ... 91

BAB 5. KESIMPULAN DAN SARAN ... 97

5.1 Kesimpulan ... 97

5.2 Saran ... 97

(12)

[2] Mobile device market to reach 2.6 billion units by 2016, http://www.canalys.com/ newsroom/ mobile – device - market-reach-26-billion-units-2016, diakses 23 Juni 2013.

[3] Pressman Roger., 2013, Software Engineering A Practitioner’s Approach 7th Edition, McGraw-Hill Science, England.

[4] Adams. Ernest., 2010, Fundamentals of Game Design, Second Edition, New Riders Publishing, Berkley CA, USA.

[5] Alif. Zaini., 2006, Permainan Tradisional di Jawa Barat, Tesis.

[6] Suryanto. ST. MSc., 2011, Artificial Intellegence, Informatika Bandung, Bandung.

[7] Coppin Ben., 2004, Artificial Intelligence Illuminated, Jones & Bartlett Publishers, England

[8] Nazaruddin Safaat H., 2011, Android, Informatika Bandung, Bandung. [9] M. Shalahuddin, Rosa A.S., 2010, Pemrograman J2ME, Informatika

Bandung, Bandung..

[10] Mikael Sugianto., 2011, Adobe Photoshop CS5, 1st Published. [11] Madcoms., 2011, Adobe Illustrator CS5, Andi Publisher.

(13)

1 1.1Latar Belakang Masalah

Permainan tradisional merupakan warisan budaya yang diajarkan dari generasi ke generasi yang harus tetap kita jaga keberadaannya. Permainan tradisional yang populer pada masanya dan sering dimainkan adalah permainan kelereng yang menggunakan kelereng sebagai medianya. Peraturan yang sederhana membuat permainan ini terkenal di kalangan masyarakat khususnya anak-anak. Daya tarik dari permainan ini terletak pada adanya unsur prediksi bidikan dan mengumpulkan kelereng sebagai reward apabila memenangkan permainan [1].

Perkembangan teknologi dapat dimanfaatkan sebagai alat yang dapat menjaga keberadaan permainan tradisional salah satunya permainan kelereng [1]. Dengan menggabungkan unsur teknologi dan permainan tradisional kelereng maka dapat diciptakan game yang menggunakan unsur prediksi bidikan dan mengumpulkan kelereng yang ada pada permainan kelereng.

Mobile yang sedianya hanya sebagai alat komunikasi pada saat ini sudah lebih dari fungsi dasarnya, hal ini tidak lepas dari sistem operasi pada mobile, layaknya pada komputer mobile dapat di-install berbagai macam perangkat lunak yang diinginkan salah satunya adalah game. Sedangkan dalam dunia smartphone, android menguasai sekitar 71%, angka ini dirilis melalui laporan dari Canalys, perusahaan analis industri teknologi independen [2]. Android memiliki berbagai keunggulan sebagai software yang memakai kode komputer yang bisa didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi dan game didalamnya.

(14)

1.2Rumusan Masalah

Berdasarkan uraian latar belakang yang telah dijabarkan sebelumnya, maka dapat dirumuskan sebuah masalah yaitu bagaimana agar game tradisional kelereng ini bisa menjadi media penyampaian unsur dasar yang menjadi daya tarik pada permainan kelereng yaitu unsur prediksi bidikan dan mengumpulkan kelereng.

1.3Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk membangun sebuah game tradisional kelereng pada perangkat mobile dan sitem operasi android.

Tujuan yang akan dicapai dalam pembuatan aplikasi ini adalah membantu pemain agar dapat lebih fokus memprediksi bidikan pada permainan kelereng.

1.4Batasan Masalah

Adapun batasan masalah dalam pembuatan aplikasi ini adalah sebagai : 1. Game dibangun dan diuji pada emulator android dan perangkat mobile berbasis

Android.

2. Sistem permainan bersifat single player. 3. Levelgame dibatasi 3 level.

4. Genre game yaitu casual game 5. Sasaran pengguna yaitu untuk umun.

6. Lingkup permainan menyangkut pada dasar permainan tradisional kelereng. 7. Pemodelan perangkat lunak menggunakan pemodelan UML.

8. Metode pengembangan perangkat lunak menggunakan metode waterfall. 9. Tools yang digunakan :

a. Aplikasi pembangun program mengunakan Eclipse (Helios).

b. Adobe Illustrator CS5 dan Adobe Photoshoap CS5 untuk membuat objek gambar.

10. Game tradisional kelerengini dijalankan secara offline.

(15)

13. Perangkat lunak ini dibangun untuk sistem operasi android minimal requirment Android versi 2.3 (Gingerbread).

14. Algoritma Greedy Best-First Search digunakan untuk mencari jalur terpendek dari simpul awal menuju simpul tujuan yang diterapkan pada hambatan berupa objek semut, sehingga hambatannya menjadi dinamis.

15. Dalam game tradisional kelereng ini pemain menekan dan mengarahkan objek kelereng utama untuk memntukan arah bidikan dan menekan objek tangan untuk membuat objek kelereng utama bergerak.

16. Dalam game tradisional kelereng ini garis batas/kalang hanya menggnakan garis batas/kalang yang berbentuk oval.

1.5Metodologi Penelitian

Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah metode penelitian deskriptif, yaitu metode yang menggambarkan dan menginterpretasikan objek sesuai dengan apa adanya [3]. Adapun tahap yang akan dilalui adalah sebagai berikut :

1. Metode Pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah Studi pustaka/Literatur, metode Pengumpulan data dengan cara mengumpulkan referensi-referensi yang ada hubungannya dengan teknologi mobile serta os android dan permainan tradisional kelereng.

2. Metode pembangunan perangkat lunak.

(16)

Gambar 1.1 Diagram metode waterfall [3]

a. Requirements definition

Tahap mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun.

b. System and software design

Desain dikerjakan setalah kebutuhan selesai dikumpulkan secara lengkap. c. Implementation and unit testing

Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.

d. Integration and system testing

Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).

e. Operation and maintenance

(17)

1.6Sistematika Penulisan

Acuan agar penelitian tugas akhir ini dapat terarah dan tersusun sesuai dengan yang diharapkan, maka akan disusun sistematika penulisan sebagai berikut:

BAB 1. PENDAHULUAN

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

BAB 2. LANDASAN TEORI

Bab 2 akan membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik proyek pembangunan game yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan diantaranya mengenai pengertian game, pengertian permainan tradisional, android, metode dan tools yang digunakan dalam pembanguna game Tradisional Kelereng.

BAB 3. ANALISIS DAN PERANCANGAN SISTEM

Bab 3 akan membahas tentang analisis sistem, pengguna, analisis pemecahan masalah, analisis kebutuhan fungsional dan non fungsional, serta perancangan sistem untuk pembangunan Game Tradisional Kelereng pada perangkat mobile android.

BAB 4. IMPLEMENTASI DAN PENGUJIAN

(18)

BAB 5. KESIMPULAN DAN SARAN

(19)

7

Permainan adalah kegiatan yang kompleks yang didalamnya terdapat peraturan, play dan budaya. Sebuah permainan adalah sebuah sistem dimana pemain terlibat dalam konflik buatan, disini pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan rekayasa atau buatan, dalam permainan terdapat peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan permainan.

Game bertujuan untuk menghibur, game banyak disukai oleh anak – anak hingga orang dewasa. Game sebenarnya penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut untuk menyelesaikannya dengan cepat dan tepat. Game juga bisa merugikan karena apabila sudah kecanduan game akan lupa waktu dan akan mengganggu kegiatan atau aktivitas yang sedang dilakukan [4].

Berdasarkan jenisnya game dibagi menjadi beberapa kategori diantaranya berdasarkan platfrom atau alat yang digunakan [4] :

1. Arcade games, yaitu video game dengan mesin yang memang khusus di desain untuk jenis video games tertentu dan memiliki fitur seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil dan lain-lain.

2. PC Games, yaitu video game yang dimainkan menggunakan Personal Computers.

3. Console games, yaitu video games yang dimainkan menggunakan Console tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii. 4. Handheld games, yaitu yang dimainkan di Console khusus video game yang

dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

(20)

Berdasarkan genre permainanya[4] : 1. Shooting

Shooting merupakan salah satu genre dalam game biasanya mensimulasikan tembak-tembakan , atau hajar-hajaran bisa juga tusuk-tusukan, tergantung cerita dan tokoh di dalamnya, video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak.

2. Fighting

Fighting (pertarungan) jenis ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini adalah penguasaan skillkarakter yang di mainkan, pengenalan karakter dan timing sangatlah penting, dan berbeda seperti game Aksi pada umumnya yang umumnya hanya melawan Artificial Intellegence atau melawan komputer saja, pemain jenis fighting game ini baru teruji kemampuan sesungguhnya dengan melawan pemain lainnya.

3. Petualangan

Refleks dan kelihaian pemain dalam bergerak, berlari, melompat hingga memecut atau menembak tidak diperlukan di sini. Video Game murni petualangan lebih menekankan pada jalan cerita dan kemampuan berpikir pemain dalam menganalisa tempat secara visual, memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan percakapan karakter hingga penggunaan benda-benda tepat pada tempat yang tepat.termasuk didalamnya petualangan dengan teks atau sistem tunjuk dan klik.

4. Simulasi, Konstruksi dan manajemen

(21)

mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas.

5. Role Playing

Video game jenis ini sesuai dengan terjemahannya, bermain peran, memiliki penekanan pada tokoh/peran perwakilan pemain di dalam permainan, yang biasanya adalah tokoh utamanya, dimana seiring kita memainkannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain (biasanya menjadi semakin hebat, semakin kuat, semakin berpengaruh, dll) dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter dan lain-lain.

6. Strategi

Kebalikan dari video game jenis action yang berjalan cepat dan perlu reflex secepat kilat, video game jenis strategi, layaknya bermain catur, justru lebih memerlukan keahlian berpikir dan memutuskan setiap gerakan secara hati-hati dan terencana. Video game strategi biasanya memberikan pemain atas kendali tidak hanya satu orang tapi minimal sekelompok orang dengan berbagai jenis tipe kemampuan, sampai kendaraan, bahkan hingga pembangunan berbagai bangunan, pabrik dan pusal pelatihan tempur, tergantung dari tema ceritanya. Pemain game strategi melihat dari sudut pandang lebih meluas dan lebih kedepan dengan waktu permainan yang biasanya lebih lama dan santai dibandingkan game action. Unsur-unsur permainannya biasanya berkisar sekitar, prioritas pembangunan, peletakan pasukan, mencari dan memanfaatkan sumberdaya (uang, besi, kayu,minyak,dll), hingga ke pembelian dan pengupgrade-an pasukan atau teknologi.

7. Olahraga

Biasanya game genre ini permainannya diusahakan serealistik mungkin di buat se mirip mungkin dengan aslinya walau kadang ada yang menambah unsur fiksi dalam game olahraga tersebut.

8. Edukasi

(22)

belajar bahasa asing dan lain-lain.Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan desain visual ataupun animasinya.

9. Casul Game

Casual game memiliki aturan yang sangat sederhana atau teknik bermain dan tingkat yang sangat rendah strategi. Casual game juga tidak memerlukan komitmen waktu jangka panjang atau keahlian khusus untuk bermain, membuat mereka mudah untuk belajar dan bermain. Ada relatif produksi rendah dan biaya distribusi bagi produsen. Tujuan dari casual game adalah untuk menghibur, tetapi dengan komitmen yang jauh lebih rendah dibandingkan permainan video lainnya.

2.1.1Permainan Tradisional

Permainan tradisional dapat diartikan sebagai satu kegiatan yang menyenangkan yang dilakukan menurut tradisi, sehingga menimbulkan rasa puas pada pelakunya.

Permainan tradisional adalah suatu jenis permainan yang ada pada satu daerah tertentu yang berdasarkan kepada kultur atau budaya daerah tersebut. Permainan tradisional biasanya dimainkan oleh orang-orang pada daerahnya tertentu dengan aturan dan konsep yang tradisional pada jaman dulu. Permainan tradisional kurang begitu dikenal oleh anak-anak pada jaman sekarang kebanyakan orang tua jaman dulu yang masih sangat tahu bagaimana memainkan permainan ini khususnya mengenang masa kecil mereka bermain permainan tradisional ini [4].

2.2Sejarah Permainan Kelereng

(23)

Sejak abad ke-12 di Prancis kelereng disebut dengan bille, artinya bola kecil. Lain halnya di Belanda, para Sinyo-Sinyo itu menyebutnya dengan knikkers. di Jawa, knikkers diserap menjadi nekker. Mengingat Belanda pernah numpang hidup di Indonesia.

Tahun 1694 di Inggris ada istilah marbles untuk menyebut kelereng. Marbles sendiri digunakan untuk menyebut kelereng terbuat dari marmer yang didatangkan dari Jerman. Namun, jauh sebelumnya, anak-anak di Inggris telah akrab menyebutnya dengan bowls atau knikkers. Kelereng populer di Inggris dan negara Eropa lain sejak abad ke-16 hingga 19. Setelah itu baru menyebar ke Amerika, bahan pembuatnya adalah tanah liat dan diproduksi besar-besaran.

Jauh pada peradaban Mesir kuno, tahun 3000 SM kelereng terbuat dari batu atau tanah liat. Kelereng tertua koleksi The British Museum di London berasal dari tahun 2000-1700 SM kelereng tersebut ditemukan di Kreta pada situs Minoan of Petsofa.

Pada masa Rowami permainan Kelereng juga sudah dimainkan secara luas, bahkan menjadi salah satu bagian dari festival Saturnalia yang diadakan saat menjelang perayaaan Natal. Saat itu semua orang saling memberikan sekantung biji-bijian yang berfungsi sebagai kelereng tanda persahabatan. Salah seorang penggemar kelereng adalah Octavian kelak menjadi Kaisar Agustus. Layaknya permainan, di Romawi saat itu juga mempunyai aturan-aturan resmi. Peraturan tersebut menjadi dasar permainan sekarang.

Teknologi pembuatan kelereng kaca ditemukan pada 1864 di Jerman. Kelereng yang semula satu warna, menjadi berwarna-warni mirip permen. Teknologi ini segera menyebar ke seluruh Eropa dan Amerika, namun akibat Perang Dunia II, pengiriman mesin pembuat kelereng itu sempat terhenti dan akhirnya masing-masing negara mengembangkannya sendiri [5].

2.2.1Peraturan Permainan Kelereng

(24)

kelereng adu/target yang berada didalam arena jirak/kalang dan mengeluarkannya dengan menggunakan kelereng utama/kojo, kelereng adu/target yang keluar dari arena jirak/kalang menjadi milik pemain. Pemain yang paling banyak mengeluarkan kelereng adu/target dari arena jirak/kalang maka pemain tersebut menjadi pemenang, apabila kelereng utama/kojo yang digunakan pemain berhenti didalam arena jirak/kalang maka pemain dinyatakan kalah [5].

2.3Algoritma Greedy Best-First Search

Algoritma yang termasuk kedalam kategori informed search adalah Greedy Best First Search yang dikenal juga dengan Greedy Search. Secara harfiah greedy artinya rakus atau tamak, sifat yang berkonotasi negative sesuai dengan arti tersebut, prinsip greedy adalah mengambil keputusan yang dianggap terbaik hanya untuk saat itu saja yang diharapkan dapat memberikansolusi terbaik secara keseluruhan. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya. Greedy Best First Search seperti halnya algoritma yang menggunakan strategi best-first search lainnya mempunyai sebuah fungsi yang menjadi acuan kelayakan sebuah simpul yaitu fungsi evaluasi f(n). Pada Greedy Best First Search fungsi evaluasi tidak bergantung pada cost sebenarnya, tetapi hanya tergantung pada fungsi heuristic h(n) itu sendiri yang mengestimasikan arah yang benar, sehingga pencarian jalur dapat berlangsung dengan sangat cepat [6].

Greedy Best First Search ini Merupakan jenis Best First Search yang hanya mempertimbangkan biaya perkiraan (estimated cost) yaitu f(n) = h(n) sedangkan harga sesungguhnya tidak digunakan sehingga solusi yang dihasilkan tidak optimal. Algoritma greedy ini membentuk solusi langkah per langkah (step by step). Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi oleh karena itu pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan.

(25)

yang digunakan dalam algoritma ini hanya memperhitungkan biaya perkiraan(estimated cost) untuk mencapai tujuan (current state), yang dinyatakan dengan f(n) = h(n),

dimana :

f(n) = fungsi evaluasi

h(n) = fungsi heuristik biaya perkiraan(estimated cost) dari jalur terpendek dari current state ke goal state.

Algoritma greedy best first search ini tidak menjamin menemukan rute yang paling pendek, namun algoritma ini bekerja dengan sangat cepat menemukan tujuan (goal) dengan mengembangkan kemungkinan jalan yang mengarah ke tujuan. Masalah utama pada algoritma ini adalah cara kerjanya yang terus mencoba bergerak ke arah goal, meskipun jalan yang dilalauinya bukan jalan yang benar. Karena algoritma ini hanya memperhitungkan estimated cost untuk mencapai goal state, maka algoritma tersebut terus maju meskipun jalan yang telah dilaluinya sudah terlalu panjang [7].

Berikut beberapa istilah yang yang sering digunakan pada algoritma greedy best first search:

1. Start node adalah sebuah terminologi untuk posisi awal sebuah pencarian. 2. Current Node adalah simpul yang sedang dijalankan (yang sekarang). dalam

algortima pencarian jalan terpendek.

3. Kandidat (successor) adalah simpul simpul yang berajasen dengan current node, dengan kata lain simpul-simpul yang akan diperiksa berikutnya.

4. Simpul (node) merupakan representasi dari area pencarian

5. Open list adalah tempat menyimpan data simpul yang mungkin diakses dari starting node maupun simpul yang sedang dijalankan.

6. Closed list adalah tempat menyimpan data simpul yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan.

7. Goal node yaitu simpul tujuan.

(26)

Gambar dibawah ini akan mengilustrasikan langkah-langkah yang dilakukan oleh algoritma greedy best first search. Pertama kali, dibangkitkan dari node A. Kemudian semua suksesor A dibangkitkan, dan dicari harga yang minimal. Pada langkah 2, node D dibangkitkan, kemudian biaya akan dibandingkan dengan biaya node B dan C. Ternyata biaya node B paling kecil dibandingkan biaya node C, E, dan F. Sehingga B terpilih dan selanjutnya akan dibangkitkan semua suksesor B, demikian seterusnya sampai ditemukannya node tujuan.

Gambar 2.1 Langkah Algoritma Greedy Best First Search

2.4Android

Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk membuat aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Pada mulanya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel.

(27)

termasuk Google, HTC, Intel, Motorola, Qualcom, T-Mobile dan Nvidia. Pada saat pelirisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler.

Di lain pihak, Google meliris kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Service (GMS) dan kedua adalah yang benar – benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD) [8].

Google bersama dengan OHA merilis paket software SDK yang lengkap untuk mengembangkan aplikasi pada perangkat Mobile, yaitu : Sistem Operasi, Middleware dan Aplikasi utama untuk perangkat Mobile. Sebagai Programmer atau Developer kita bisa melakukan segalanya, mulai dari membuat aplikasi pengiriman SMS hanya dengan dua baris kode, hingga mengganti even pada Home Screen perangkat Android. Selain itu, bahkan dengan mudah kita bisa membuat dan mengkostumisasi Sistem Operasinya, atau mengganti semua aplikasi default dari google[8].

(28)

Dalvik Virtual Mesin (Dalvik VM) berbasis sergister dan dapat mengeksekusi kelasi (class) yang telah terkompilasi pada complier bahasa java, kemudian di transformasikan kedalam native format dengan menggunakan Tool “dx” yang telah di integrasi. Kita mungkin telah mengenal JavaVM ( Java Virtual Mesin), yang saat ini bisa ditemukan pada setiap komputer desktop. Berbeda dengan DalvikVM, JavaVM berbasis stack (Stack-based Virtual Machine), DalvikVM memiliki keunggulan dengan menggunakan Registred Base, ini karena prosesore perangkat genggam telah dioptimalisasi untuk mengeksekusi berbasis register. Android saat ini tidak hanya berjalan pada handphone, beberapa vendor menananmkan Android pada tablet, Internet Tablet, E-Book Reader, Laptop dan gadget lainya. Adapun beberapa versi dari android yang telah diluncurkan diantaranya :

1. Android versi 1.1

Pada 9 Maret 2009, Google meliris Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan Gmail dan pemberitahuan email.

2. Android versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali meliris telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan meononton video dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, naimasi layar dan keyboard pada layar yang dapat disesuaikan dengan system.

3. Android versi 1.6 (Donut)

(29)

Gestrures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi VWGA.

4. Android versi 2.0/2.1 (Éclair)

Pada 3 Desember 2009 kembali dilucurkan ponsel Android dengan versi 2.0/2.1 (Éclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom dan Bluetooth 2.1. Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi dengan mengadakan komptetisi aplikasi Mobile terbaik (killer apps - aplikasi unggulan ). Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap tahap nya dipilih 50 aplikasi terbaik. Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka pada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds dan WheaterBug. Sistem operasi Android dalam situs Internet juga dianggap penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.

5. Android versi 2.2 (Froyo: Frozen Yoghurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umumnya terhadap veris-veris sebelumnya antara lain dukungan Adobe Flash 1.1 , kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, integrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portable dan kemampuan auto update dalam aplikasi Android Market (Google Play).

6. Android versi 2.3 (Gingerbread)

(30)

peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, handphone virtualization dan bass boost), dukungan kemampuan Near Field Communication (NFC) dan dukungan jumlah kamera yang lebih dari satu.

2.4.1Features

Features yang tersedia pada platform Android saat ini antara lain : a. Framework Aplikasi yang mendukung penggantian komponen dan reusable. b. Mesin Virtual Dalvik berjalan diatas Linux kernel dan dioptimalkan untuk

perangkat Mobile.

c. Integrated browser berdasarkan open source engine WebKit.

d. Grafis yang dioptimalkan dan didukung oleh library grafis 2D yang terkostumisasi, grafis 3D berdasarkan spesifikasi openGL ES 1,0 (Opsional akselarasi hardware).

e. SQLite untuk penyimpanan data.

f. Media support yang mendukung audio, video, dan gambar (MPGE, H.264, MP3, AAC, AMR, JPG, PNG, GIF) .

g. GSM Telephony (tergantung hardware).

h. Bluetooth, EDGE, 3G, dan WIFI (tergantung hardware).

i. Multi-touch : kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat.

j. Lingkungan Development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil, dan kinerja memori, dan plugin untuk Eclips IDE.

(31)

2.5Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:

a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in [8].

2.5.1Arsitektur Eclipse

Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:

1. Core platform 2. OSGi

3. SWT (Standard Widget Toolkit) 4. JFace

(32)

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java.

Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat Diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya [8].

2.5.2Perkembangan Eclipse

(33)

2.6Plugin Android Development Tools (ADT)

Android Development Tools (ADT) adalah plugin untuk Eclipse Intergrated Development Environment (IDE) yang dirancang untuk memberikan lingkungan yang terpadu di mana untuk membangun aplikasi Android. ADT memperluas kemampuan Eclipse untuk membiarkan para developer lebih cepat dalam membuat proyek baru Android, membuat aplikasi UI, menambahkan komponen berdasarkan Android Framework API, debug aplikasi dalam pengunaan Android SDK, dan membuat file APK untuk mendistribusikan aplikasi.

Mengembangkan aplikasi di Eclipse dengan ADT sangat dianjurkan dan merupakan cara tercepat untuk memulai membuat aplikasi android, karena banyak kemudahan-kemudahan sebagai tools yang terintegrasi seperti, custom XML editor, dan debug panel ouput. Selain itu ADT memberikan dorongan luar biasa dalam mengembangkan aplikasi Android [8].

2.7Android Software Development Kit (SDK)

Software Development Kit (SDK) adalah suatu kit atau library dari bahasa pemrograman untuk pengembangan atau pembangunan suatu perangkat lunak dan biasanya SDK terdiri dari kumpulan tools yang dibutuhkan. Misalnya bahasa pemrograman java, mempunyai SDK yang berisi suatu library yang dapat digunakan untuk membuat suatu aplikasi berbasis java [8].

2.8Java Development Kit (JDK)

(34)

2.9Object Oriented Programing (OOP)

Object Oriented Programing atau dikenal dengan pemograman berorientasi object merupakan paradigma pemograman yang berorientasikan kepada objek. Semua data dan fungsi dalam paradigma ini dibungkus ke dalam kelas-kelas atau objek-objek [9].

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah tidak melihat bagaimana cara menyelesaikan masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap dalam sebuah departemen yang mememiliki manajer, sekrtaris , petugas administrasi data dan lainnya. Misalkan manajer tersebut ingin memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manajer tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manajer bisa mendapatkan data tersebut melaui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri [9]

Pemograman orientasi objek menekankan konsep berikut :

(35)

2. Objek (Object) – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

3. Abstraksi (Abstract) – Kemampuan sebuah program untuk melewati aspek informasi yang diprosesnya, yaitu kemampuan untuk memfokuskan pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaaanya dan berkomunikasi dengan objek lainya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

4. Engkapsulasi (Encapsulation) – Memastikan pengguna sebuah objek tidak dapat mengganti keadaaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaaanya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainya dapa berinteraksi dengannya. Objek lainya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

(36)

6. Inheritas (inheritance) – Mengatur polismorfisme dan engkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada – objek-objek ini dapat membagi (memperluas) perilaku mereka tanpa harus mengimplementasikan ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memlikik inheritas).

2.10 Adobe Photoshoap

Adobe Photoshop, atau biasa disebut Photoshop, adalah perangkat lunak editor citra buatan Adobe Systems yang dikhususkan untuk pengeditan foto/gambar dan pembuatan efek. Perangkat lunak ini banyak digunakan oleh fotografer digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader) untuk perangkat lunak pengolah gambar/foto, dan, bersama Adobe Acrobat, dianggap sebagai produk terbaik yang pernah diproduksi oleh Adobe Systems. Versi kedelapan aplikasi ini disebut dengan nama Photoshop CS (Creative Suite), versi sembilan disebut Adobe Photoshop CS2, versi sepuluh disebut Adobe Photoshop CS3 , versi kesebelas adalah Adobe Photoshop CS4 , versi keduabelas adalah Adobe Photoshop CS5 , dan versi yang terakhir (ketigabelas) adalah Adobe Photoshop CS6 [10].

Photoshop tersedia untuk Microsoft Windows, Mac OS X, dan Mac OS; versi 9 ke atas juga dapat digunakan oleh sistem operasi lain seperti Linux dengan bantuan perangkat lunak tertentu seperti CrossOver [10].

2.11 Adobe Illustrator

(37)

menggabungkan persamaan matematika untuk menciptakan garis halus dan melengkung serta bentuk objek yang dikenal sebagai kurva Bezier. Untuk menekankan gagasan yang mampu memproduksi dan mengedit dan menyimpan garis lengkung dan beralur, Adobe memilih gambar "The Birth of Venus" dari Sandro Botticelli untuk menjadi cover pemasaran mereka. Selama bertahun-tahun dan beberapa versi, Adobe menambahkan fitur-fitur baru dan perbaikan [11].

2.12 Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.

UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM [12].

UML merupakan suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi.UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson.Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi.Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem [12].

(38)

dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C [12].

2.12.1 Diagram UML

UML menyediakan 10 macam Diagram untuk memodelkan aplikasi berorientasi objek, yaitu:

1. Use CaseDiagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.

4. CollaborationDiagram untuk memodelkan interaksi antar objects. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem.

6. Activity Diagram untuk memodelkan perilaku Use Case dan objects di dalam system.

7. Class Diagram untuk memodelkan struktur kelas. 8. Object Diagram untuk memodelkan struktur object.

9. Component Diagram untuk memodelkan komponen object. 10. Deployment Diagram untuk memodelkan distribusi aplikasi.

2.12.1.1Usecase Diagram

(39)

case yang menginklusidieksekusi secara normal. Sebuah use case dapat diinklusi oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat mengekstensi use case lain dengan prilakunyanya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain [12].

2.12.1.2Activity Diagram

Activity Diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity Diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity Diagram merupakan state Diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity Diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity Diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu [12].

2.12.1.3Sequence Diagram

(40)

2.12.1.4Class Diagram

(41)

29

Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.

3.1.1Analisis Masalah

Permainan tradisional merupakan salah satu warisan budaya, Salah satu perwujudan budaya tersebut adalah pada permainan anak-anak. Permainan ini diajarkan dari generasi ke generasi sehingga bisa menjadi sebuah tradisi yang merupakan warisan budaya. Hasil penelitian para ahli, bahwa permainan tradisional yang populer pada masanya dan sering dimainkan adalah permainan kelereng yang menggunakan kelereng sebagai medianya. Peraturan yang sederhana membuat permainan ini terkenal di kalangan masyarakat khususnya anak-anak. Daya tarik dari permainan ini terletak pada adanya unsur prediksi bidikan dan mengumpulkan kelereng sebagai hadiah apabila memenangkan permainan.

Perkembangan teknologi dapat dimanfaatkan sebagai alat yang dapat menjaga keberadaan permainan tradisional. Unsur daya tarik pada permainan tradisional dan teknologi digabungkan, maka dapat diciptakan Game yang menggunakan unsur prediksi bidikan permainan tradisional sebagai dasarnya.

3.1.2 Analisis Game Sejenis

(42)

lingkaran dengan menghindari hambatan statis berupa kotak – kotak kecil. Tampilan Game kelereng (b) dapat dilihat pada gambar 3.1.

Gambar 3.1 Game Kelereng (b)

1. Game Play Pada Game Sejenis

Game kelereng (b) merupakan sebuah Game dengan mode permainan single player. Tugas utama pemain dalam memainkan Game ini adalah mengeluarkan kelereng yang ada didalam kalang dan menghindari hambatan – hambatan yang ada pada setiap level.

(43)

Gambar 3.2 Activity Diagram Game Kelereng (b)

2. Level Game Sejenis

(44)

3. Scoring Game Sejenis

Scoring pada Game kelereng (b) ini dihasilkan apabila dapat mengeluarkan kelereng target yang terdapat didalam kalang. Setiap mengeluarkan satu buah kelereng maka pemain akan mendapatkan score 2 point.

3.1.3 Analisis Game yang Akan Dikembangkan

Game yang akan dibangun adalah Game Tradisional Kelereng. Game ini dibangun dengan mengaplikasikan teknologi sebagai jembatan untuk memainkan permainan kelereng secara digital. Berikut batasan – batasan yang ada pada Game ini :

1. Game Tradisional Kelereng ini dijalankan secara offline. 2. Sistem permainan bersifat single player.

3. Sasaran pengguna untuk umum.

4. Game bersifat bermain dan disetiap level memiliki tingkat kesulitan hambatan yang berbeda.

5. Grafis 2D (2 Dimensi).

1. Game Play Pada Game yang Akan Dikembangkan

Di awal permainan, pemain diberikan pilihan untuk memilih main, cara bermain, tentang dan keluar. Jika pemain memilihan main maka akan langsung memainkan Game tradisional kelereng, Jika pemain memilih cara bermain maka akan muncul tampilan cara memainkan Game tradisional kelereng, jika pemain memilih tentang maka akan muncul tampilan tentang pembuat Game dan pilihan keluar utuk keluar dari Game tradisional kelereng.

(45)

batas/kalang berbentuk oval dan apabila kelerreng utama berhenti di dalam batas

2. Level Game yang Akan Dikembangkan

Tingkat kesulitan 3 level. Pada level 1 pemain harus mengeluarkan 5 kelereng yang ada didalam kalang dan harus menghindari hambatan batu yang bisa menghalangi laju kelereng utama dengan diberi waktu selama 3 menit untuk menyelesaikannya. Pada level 2 pemain harus mengeluarkan 10 kelereng didalam kalang dan menghindari hambatan dinamis berupa batu dan semut hitam, bila kelereng utama mengenai semut hitam maka akan mengurangi 3 point, paada level 2 ini hanya diberi waktu 4 menit untuk menyelesaikannya. Pada level 3 pemain harus mengeluarkan 15 kelereng didalam kalang, pemain harus lebih focus dan hati – hati karena pada level 3 ini selain ada batu – batu dan semut hitam akan ada hambatan baru yaitu semut merah, bila kelereng utama mengenai semut merah ini akan mengurangi 5 point dan hanya diberi waktu selama 5 menit untuk menyelesaikannya.

3. Scoring Game yang Akan Dikembangkan Scoring pada Game ini dilakukan dalam beberapa hal :

1. Setiap mengeluarkan satu kelereng pada kalang akan menghasilkan score dua point.

2. Apabila kelereng utama mengenai hambatan berupa semut hitam maka score akan berkurang, minus tiga point.

(46)

3.1.4 Analisis Algoritma Greedy Best-First Search

Analisis algoritma greedy best-first search yang digunakan pada tugas akhir ini digunakan sebagai pengendali untuk menentukan pergerakan hambatan semut (S) untuk mencari jalan menuju objek kelereng target (K). Pencarian jalan terpendek pada Game ini akan diasumsikan dengan simpul (node) awal dan Simpul (node) tujuan.

Gambar 3.3 terlihat bahwa terdapat 3 objek dimana A adalah Objek hambatan semut, T adalah objek kelereng target dan M adalah sebagai batas layar dan batu penghalang. Objek A dan T dipergunakan untuk menunjukkan lokasi node awal (A) dan node akhir (T). Dalam proses pencarian algoritma greedy best-first search terdapat 2 nilai yaitu h dan f. Nilai h adalah biaya perkiraannya dan rumus untuk mendapatkan nilai heuristic adalah h(n) = abs(n.x-goal.x) + abs(n.y-goal.y), sedangkan f adalah total biaya yang diperhitungkan dalam notasi matematika algoritma greedy best-first dapat dituliskan dengan f(n) = h(n).

Berikut adalah langkah perhitungan dalam pencarian jalur menuju node akhir (K) dijelaskan pada ilustrasi gambar 3.3.

(47)

Posisi node awal = currentX = 7, currentY =11 Posisi node tujuan = targetX = 4, targetY = 5 Langkah pertama :

H (7,11) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(7-4) + abs(11-5))

= 3+6 = 9 F (7,11) = H(7,11)

= 9

H (8,11) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(8-4) + abs(11-5))

= 4+6 = 10 F (8,11) = H(8,11)

= 10

H (6,11) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(6-4) + abs(11-5))

= 2+6 = 8 F (6,11) = H(6,11)

= 8

H (8,10) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(8-4) + abs(10-5))

= 4+5 = 9 F (8,10) = H(8,10)

= 9

H (7,10) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(7-4) + abs(10-5))

(48)

F (7,10) = H(7,10) = 8

H (6,10) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(6-4) + abs(10-5))

= 2+5 = 7 F (6,10) = H(6,10)

= 7

Gambar 3.3 terdapat lima node yang mungkin menjadi best node yaitu (8,11) dengan F(n) = 10, (6,11) dengan F(n) = 8, (8,10) dengan F(n) = 9, (7,10) dengan F(n) = 8 dan (6,10) dengan F(n) = 7 maka yang dipilih adalah node (6,10) dengan biaya 7.

(49)

Langkah kedua :

H (5,10) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(5-4) + abs(10-5))

= 1+5 = 6 F (5,10) = H(5,10)

= 6

H (7,9) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(7-4) + abs(9-5))

= 3+4 = 7 F (7,9) = H(7,9)

= 7

H (6,9) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(6-4) + abs(9-5))

= 2+4 = 6 F (6,9) = H(6,9)

= 6

(50)

Gambar 3.5Langkah Ketiga Pencarian Best Node

Langkah ketiga :

H (4,9) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(4-4) + abs(9-5))

= 0+4 = 4 F (4,9) = H(4,9)

= 4

H (6,8) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(6-4) + abs(8-5))

= 2+3 = 5 F (6,8) = H(6,8)

= 5

(51)

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

= 4 F (5,8) = H(5,8)

= 4

H (4,8) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(4-4) + abs(8-5))

= 0+3 = 3 F (4,8) = H(4,8)

= 3

Gambar 3.5 terdapat empat node yang mungkin menjadi best node yaitu (4,9) dengan F(n) = 4, (6,8) dengan F(n) = 5, (5,8) dengan F(n) = 4 dan (4,8) dengan F(n) = 3 maka yang dipilih adalah node (4,8) dengan biaya 3.

(52)

Langkah keempat :

H (5,7) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(5-4) + abs(7-5))

= 1+2 = 3 F (5,7) = H(5,7)

= 3

H (4,7) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(4-4) + abs(7-5))

= 0+2 = 2 F (4,7) = H(4,7) = 2

Gambar 3.6 terdapat dua node yang mungkin menjadi best node yaitu (5,7) dengan F(n) = 3 dan (4,7) dengan F(n) = 2, maka yang dipilih adalah node (4,7) dengan biaya 2.

(53)

Langkah kelima :

H (5,6) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(5-4) + abs(6-5))

= 1+1 = 2

F (5,6) = H(5,6) = 2

H (4,6) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(4-4) + abs(6-5))

= 0+1 = 1

F (4,6) = H(4,6) = 1

Gambar 3.7 terdapat dua node yang mungkin menjadi best node yaitu (5,6) dengan F(n) = 2 dan (4,6) dengan F(n) = 1, maka yang dipilih adalah node (4,6) dengan biaya 1.

(54)

Langkah keenam :

H (5,5) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(5-4) + abs(5-5))

= 1+0 = 1 F (5,5) = H(5,5) = 1

H (4,5) = (abs(currentX-targetX) + abs(currentY-targetY)) = (abs(4-4) + abs(5-5))

= 0+0 = 0 F (4,5) = H(4,5) = 0

(55)

Gambar 3.9Hasil Pencarian Jalur Dengan Greedy Best-Firs Search

Gambar 3.9 merupakan hasil pencarian jalur dari node awal (A) menuju node akhir (T).

Pada algoritma greedy best first search tedapat beberapa prosedur didalamnya. Berikut ini kamus global algoritma greedy best first Search yang diterapkan pada Game tradisional kelereng dengan menggunakan struktur data single linked list.

Kamus global single linked list {Algoritma}

Type

A_node simpul

simpul = record

<xCoor : integer

yCoor : integer

ratiox : real

ratioy : real

F : real

(56)

Closelist : integer>

End record

bSemutM = A_node

Berikut ini adalah pseudocode pembuatan node dapat dilihat pada table 3.11. Tabel 3. 1 Pseudocode Prosedur node

Isi Pseudocode

Procedure Node (input A_node : x, y) {I.S : koordinat node sudah terdefinisi} {F.S : menghasilkan node}

+ Math.min(1, Math.abs(yCoor / xCoor)) F = ratiox + ratioy

Berikut ini adalah pseudocode pembangkit suksesor dapat dilihat pada tabel 3.2.

Tabel 3. 2 Pseudocode Prosedur checkhNode

Isi Pseudocode

{I.S : node sudah terdefinisi} {F.S : membangkitkan node sekitar}

Kamus :

(57)

12 13 14 15 16 17 18

lastCheckednode = iter.next() lastCheckedF = lastCheckedNode.F;

if (lastCheckedF <= smallestFfound) {F lebih kecil} {

If(!.contains (lastCheckedNode)){ {tidak berada di close list} smallestFfound = lastCheckedF }

}

Gambar 3.10 adalah penjelasan langkah algoritma greedy best first search.

(58)

Langkah – Langkah urutan pencarian dari node A (awal) ke node T (Tujuan). 6. Open = [Q,R]; closed=[A,F,J,N,P] 7. Open = [S,T]; closed=[A,F,J,N,P,R] 8. Open = [S]; closed=[A,F,J,N,P,R,T].

Langkah pertama, dimulai dari node awal (A) yang ditambahkan ke dalam Open list yang merupakan list untuk node-node yang harus diperiksa..

Langkah kedua, suksesor A dibangkitkan yaitu node B,C,D,E,F, cari biaya paling minimal dan didapatkan hasil :

f- estimated cost(B) = 10 paling minimal dan didapatkan hasil :

f- estimated cost(I) = 6 f- estimated cost(J) = 5

Node J terpilih dengan biaya f- estimated cost(J) = 5.

Langkah keempat, suksesor J dibangkitkan yaitu node M dan N, cari biaya paling minimal dan didapatkan hasil :

f- estimated cost(M) = 4 f- estimated cost(N) = 3

Node N terpilih dengan biaya f- estimated cost(N) = 3.

(59)

f- estimated cost(O) = 3 f- estimated cost(P) = 2

Node P terpilih dengan biaya f- estimated cost(P) = 2.

Langkah keenam, suksesor P dibangkitkan yaitu node Q dan R, cari biaya paling minimal dan didapatkan hasil :

f- estimated cost(Q) = 2 f- estimated cost(R) = 1

Node R terpilih dengan biaya f- estimated cost(R) = 1.

Langkah ketujuh, suksesor R dibangkitkan yaitu node S dan T, cari biaya paling minimal dan didapatkan hasil :

f- estimated cost(S) = 1 f- estimated cost(T) = 0

Node T terpilih dengan biaya f- estimated cost(T) = 0.

Karena node telah sampai ke tujuan maka pencarian dihentikan dengan menghasilkan jalur node A-F-J-N-P-R-T.

3.1.5 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan nonfungsional meliputi analisis kebutuhan perangkat lunak, analisis kebutuhan perangkat keras, serta analisis user.

3.1.5.1Analisis Perangkat Keras ( Hardware )

Berdasarkan analisis spesifikasi perangkat keras minimum yang dibutuhkan untuk membangun aplikasi ini adalah :

1. Processor minimal 2 Ghz 2. Hardisk minimal 5 GB 3. RAM minimal 512 MB 4. Grapic Card minimal 256 MB 5. Mouse & Keyboard.

Sedangkan spesifikasi perangkat keras pada smartphone Android minimum yang dibutuhkan adalah :

(60)

3. Layar Touchscreen

4. Menggunakan layar dengan dimensi 320x480 pixel 5. Baterai standar

6. Sistem Operasi minimal Android versi 2.3 (Gingerbread ), karena Os Android versi 2.3 (Gingerbread ) tela mendukung library grafis 2D dan grafis 3D yang terkostumisasi berdasarkan spesifikasi openGL yang membuat tampilan grafis lebih halus.

Spesifikasi minimal perangkat keras yang tercantum pada umumnya perangkat smartphone yang beredar dipasaran sekarang ini telah memenuhi persyaratan minimum untuk menjalankan aplikasi sehingga tidak memerlukan penambahan software penunjang untuk memainkan Game tradisional kelereng.

3.1.5.2Analisis Perangkat Lunak ( Software )

Perangkat lunak diguanakan dalam sebuah sistem merupakan perintah-perintah yang diberikan kepada perangkat keras agar bisa saling berinteraksi di antara keduanya. Perangkat lunak yang dibutuhkan untuk membangun Game tradisional kelereng ini adalah sebgai berikut :

1. Sistem Operasi Windows 7 2. Java Runtime Edition 3. Eclipse versi 3.6 ( Helios )

4. ADT (Android Development Tools) 5. AVD (Android Virtual Device) 6. Adobe Photoshoap CS5

7. Adobe Illustrator CS5.

3.1.5.3 Analisis Pengguna ( User )

Pada dasarnya Game ini diperuntukkan untuk semua kalangan. Namun untuk spesifikasi pengguna atau kriteria minimal yang harus dimiliki oleh pengguna adalah sebagai berikut :

1. Mengerti operasional Smartphone Android

2. Dapat mengoperasikan aplikasi pada Smartphone Android

(61)

3.1.5.4 Karakteristik Pengguna

Karakteristik pengguna untuk Game tradisional kelereng ini adalah pemain. Dapat dilihat di tabel 3.3.

Tabel 3. 3 Karakteristik Pengguna

Pengguna Tanggung

Jawab Hak Akses Pendidikan Tingkat Keterampilan Tingkat Pengalaman

Pemain Melakukan

ermainan Menjalankan aplikasi dan seluruh proses

Tahap pertama yang dilakukan dalam melakukan analisis berorientasi objek menggunakan UML adalah menentukan aktor atau pengguna sistem. Aktor menampilkan peran (roles) yang dilakukan pada sistem sebagai aksi dan respon dari sistem.

3.1.6.1 Use Case Diagram

Use case Diagram merupakan gambaran fungsional dari interaksi antara aktor dengan sistem. Sebuah Diagramuse case menggambarkan keterhubungan antara aktor dengan aksi yang dapat dilakukannya terhadap sistem.

Berikut ini perancangan proses-proses yang terdapat pada Game Tradisional Kelereng dapat dilihat pada gambar 3.11.

(62)

3.1.6.2 Identifikasi Aktor

Identifikasi aktor adalah aktor yang berperan dalam menjalankan sistem, aktor yang berperan dapat dilihat pada tabel 3.4.

Tabel 3. 4 Identifikasi Aktor

No. Aktor Deskripsi

1 Pemain Merupakan aktor yang berperan dalam memainkan Game tradisional kelereng.

3.1.6.3 Definisi Use Case

Definisi use case berfungsi untuk menjelaskan proses yang terdapat pada setiap use case. Definisi Use Case dapat dilihiat pada table 3.5.

Tabel 3. 5 Definisi Use Case

NO Use Case Deskripsi

1 Permainan Level 1 Proses bermain permainan level 1

2 Permainan Level 2 Proses bermain permainan level 2

3 Permainan Level 3 Proses bermain permainan level 3

4 Menampilkan Cara Bermain Proses menampilkan tampilan cara bermain

5 Menampilkan Tentang Proses menampilkan tampilan tentang

3.1.6.4 Skenario Use Case

Skenario setiap bagian pada use case menunjukkan proses apa yang terjadi pada setiap bagian di dalam use case tersebut, di mana pengguna memberikan perintah pada setiap bagian dan respon apa yang diberikan oleh sistem kepada pengguna setelah pengguna memberikan perintah pada setiap bagian-bagian use case. Skenario use case permainan level 1 akan dijelaskan pada tabel 3.6.

Tabel 3. 6 Skenario Use Case Permainan Level 1 Identifikasi

Nomor 1

Nama Permainan Level 1

Tujuan Memenangkan permainan pada level 1

Deskripsi Proses bermain permainan level 1

Aktor Pemain

Skenario Utama Kondisi awal

(63)

Skenario use case permainan level 2 menjelaskan interaksi antara aktor yaitu pemain dengan use case permainan level 2 yang akan dijelaskan pada tabel 3.7.

Tabel 3. 7 Skenario Use Case Permainan Level 2 Identifikasi

Nomor 2

Nama Permainan Level 2

Tujuan Memenangkan permainan pada level 2

Deskripsi Proses Masuk ketampilan permainan level 2

Aktor Pemain

Skenario Utama

Kondisi awal

Pemain berada di tampilan permainan level 2

Aksi Aktor Reaksi Sistem

1. Menampilkan tampilan permainan 2. Menampilkan objek Kelereng utama 3. Menampilkan objek kelereng target 4. Menampilkan objek batu

5. Menampilkan waktu 6. Menampilkan point

7. Menampilkan objek semut hitam 8. Touch drag objek kelereng utama

9. Menampilkan garis arah gerak kelereng

Aksi Aktor Reaksi Sistem

1. Memilih tombol main pada menu utama

2. Menampilkan tampilan permainan 3. Menampilkan objek kelereng utama 4. Menampilkanobjek kelereng target 5. Menampilkan objek batu

6. Menampilkan waktu 7. Menampilkan point 8. Touch drag objek kelereng utama

9. Menampilkan garis arah laju

10. Touch objektangan

11. Objek kelereng utama bergerak

Kondisi Akhir

(64)

utama 10.Touch objek tangan

11.Objek kelereng utama bergerak

Kondisi Akhir

Kelereng utama collision dengan kelereng target dan kelereng target keluar semua dari garis batas waktu masih tersedia dan pemain menang atau kelereng target tidak keluar semua dari garis batas waktu habis dan pemain kalah. Kelereng utama collision

dengan objek semut point berkurang, point habis dan pemain kalah

Skenario use case permainan level 3 menjelaskan interaksi antara actor yaitu pemain dengan use case permainan level 3 yang akan dijelaskan pada table 3.8.

Tabel 3. 8 Skenario Use Case Permainan Level 3 Identifikasi

Nomor 3

Nama Permainan Level 3

Tujuan Memenangkan permainan pada level 3

Deskripsi Proses Masuk ketampilan permainan level 3

Aktor Pemain

Skenario Utama

Kondisi awal Pemain berada di tampilan permainan level 3

Aksi Aktor Reaksi Sistem

1. Menampilkan tampilan permainan

2. Menampilkan objek kelereng utama

3. Menampilkan objek kelereng target 4. Menampilkan objek batu

5. Menampilkan waktu

6. Menampilkan point

Gambar

Gambar 3.2 Activity Diagram Game Kelereng (b)
Gambar 3.3 Kondisi awal pencarian Greedy Best-First Search
Gambar 3.4 Langkah Kedua Pencarian Best Node
Gambar 3.5 Langkah Ketiga Pencarian Best Node
+7

Referensi

Dokumen terkait

Dalam hal i ni, proses yang utama adalah degradasi, pelapukan, dan pelepasan material, pelapukan material permukaan bumi yang disebabkan oleh berbagai proses erosi dan gerakan

Metode sampling statistik yang lazim digunakan pada pengujian pengendalian adalah sampling atribut, yaitu metode sampling yang meneliti sifat non angka dari data, karena

Berdasarkan latar belakang yang telah diuraikan diatas, maka penelitian ini bertujuan untuk mengetahui “ komunikasi interpersonal antara orangtua dengan remaja putri dalam

MARDIAH : Pengaruh Kelengkapan Sarana Belajar Terhadap Hasil Belajar Matematika Peserta Didik MIS Darussa’adah Palangkaraya Tahun Pelajaran 2012/2013 : Fakultas

Analisis data dimulai dengan membaca ketiga puisi kemudian dianalisis unsur-unsur kepuitisan yakni tipografi, bunyi, persajakan, diksi, bahasa kiasan, dan citraan. Setelah

Banda Aceh, Aceh, Februari Februari 2014 2014 Penyedia Barang/Jasa Penyedia Barang/Jasa PT/CV/Firma PT/CV/Firma Nama Nama  Jabatan  Jabatan.. UPAH PEKERJA

Analisis sistem didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi

- √ - - - - Penggunaan konfiks ke-/-an sebagai pembentuk nomina dari BD adjektiva tidak baku karena pada BJ hanya sufiks -an, konfiks pa-/-an, dan ka-/-an yang dapat membentuk