• Tidak ada hasil yang ditemukan

Implementasi Metode Forward Chaining Pada Game Little Farmer

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Metode Forward Chaining Pada Game Little Farmer"

Copied!
93
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ABDUL ALIM

10110285

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

v

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Metode Pembangunan Perangkat Lunak ... 3

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Game ... 7

2.1.1 Pengertian Game ... 7

2.1.2 GenreGame ... 7

2.1.3 Casual Game ... 8

2.2 Little Farm ... 11

2.2.1 Cara bermain Game Little Farm ... 12

2.2.2 Scoring ... 13

2.3 Artificial Intelligence ... 13

2.4 Forward chaining ... 14

2.5 Pemrograman Berorientasi Objek ... 16

2.6 Unified Modeling Language (UML) ... 19

2.5.1 Diagram UML ... 19

(3)

vi

2.6.1 Pengujian Black box ... 21

2.6.2 Pengujian White box ... 22

2.8 Java ... 22

2.9 Greenfoot ... 25

BAB 3 ANALISIS DAN PERANCANGAN ... 29

3.1 Analisis Sistem ... 29

3.1.1 Analisis Game Sejenis ... 29

3.1.2 Analisis Masalah ... 32

3.1.3 Analisis Game yang Akan Dikembangkan ... 32

3.1.4 Analisis Metode ... 36

3.1.5 Analisis Kebutuhan Non Fungsional ... 41

3.1.6 Analisis Kebutuhan Fungsional ... 43

3.2 Perancangan Sistem ... 56

3.2.1 Perancangan Komponen Permainan ... 56

3.2.2 Perancangan Struktur Menu ... 58

3.2.3 Perancangan Antarmuka ... 58

3.2.4 Jaringan Semantik ... 62

3.2.5 Perancangan metode ... 63

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 65

4.1 Implementasi Sistem ... 65

4.1.1 Perangkat Pendukung yang digunakan ... 65

4.1.2 Implementasi Aplikasi ... 65

4.2 Pengujian Sistem ... 71

4.2.1 Rencana Pengujian ... 72

4.2.2 Kasus dan Hasil Pengujian ... 73

4.2.3 Pengujian Metode Forward Chaining ... 76

4.2.4 Pengujian Beta ... 77

BAB 5 KESIMPULAN DAN SARAN... 83

5.1 Kesimpulan ... 83

5.2 Saran ... 83

(4)

iii

KATA PENGANTAR

Assalammu’alaikum Wr.Wb.

Segala puji dan syukur penulis panjatkan atas kehadirat Tuhan Yang Maha Esa, Allah SWT, yang telah melimpahkan berkat, rahmat, dan inayah-Nya, sehingga penulis dapat menyelesaikan skripsi yang berjudul “IMPLEMENTASI METODE FORWARD CHAINING PADA GAME LITTLE FARMER”. Tak lupa shalawat serta salam semoga selalu tercurah kepada Baginda Rasullullah SAW, kepada para sahabatnya, dan kepada para ummatnya hingga akhir jaman.

Skripsi ini dibangun untuk memenuhi salah satu syarat dalam menyelesaikan jenjang pendidikan Strata satu Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia. Penulis menyadari bahwa skripsi ini masih sangat banyak kekurangan dan berkat bantuan dari semua pihak akhirnya skripsi ini dapat terselesaikan tepat pada waktunya.

Oleh karena itu, dengan rasa syukur dan haru, penulis ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada :

1. Tuhan Yang Maha Esa yang telah memberikan kesehatan dan kesempatan kepada penulis dalam menyelesaikan skripsi ini dan juga atas semua keindahan, kemudahan, dan berjuta hikmah yang melahirkan semangat jiwa. 2. Kedua orang tua tercinta, Ayahanda, Irson Delmi dan Ibunda, Linda Elfita,

serta adik-adik tercinta, Hamidah Fadlillah, Nur Hafizah dan Ismail Abdurrahman, yang selalu sabar memberikan dukungan, senantiasa memberikan kasih sayang yang begitu besar, serta senantiasa memberikan doa setiap waktu.

3. Ibu Sufa’atin, S.T., M.Kom., selaku dosen pembimbing yang telah bersedia meluangkan waktu, tenaga dan pikirannya serta memberikan pengarahan dan pengalaman dalam penyusunan skripsi yang berguna bagi penulis.

(5)

iv

5. Bapak dan Ibu dosen IF UNIKOM yang telah membagi ilmunya selama penulis duduk dibangku kuliah.

6. Rekan-rekan mahasiswa kelas IF-7 angkatan 2010, khususnya Agus Irawan H. K., M.Reza Okaviana, Erfa Riandi, Edwin Fajar, Teddy Maulana, Ari Budi. 7. Kakak-kakak Pembinaan Anak-anak Salman ITB (PAS ITB)

8. Pembina-pembina Keluarga Remaja Islam Salman ITB (KARISMA ITB) 9. Serta semua pihak yang telah membantu dalam penyusunan skripsi ini, yang

tidak bisa penulis sebutkan satu-persatu.

Dan tak lupa penulis memohon maaf apabila dalam penulisan laporan tugas akhir ini, penulis telah menyinggung perasaan atau menyakiti hati kepada semua orang baik secara tidak sengaja maupun disengaja.

Semoga Allah SWT. senantiasa melimpahkan rahmat dan karunia-Nya, serta memberikan balasan berlipat ganda atas jasa dan amal baiknya.

Akhir kata semoga skripsi ini dapat menjadi ilmu yang bermanfaat bagi penulis sendiri khususnya dan bagi pembaca pada umumnya.

Wassalammu’alaikum Wr.Wb

Bandung, Agustus 2014

(6)

84

DAFTAR PUSTAKA

[1] Cheng, K. (2011). Casual Gaming. VU Amsterdam.

[2] Ismail, A. (2009). Education Game. Yogyakarta: Pro-U Media.

[3] Kölling, M. (2009). Introduction to Programming with Greenfoot -

Object-Oriented Programming in Java with Games and Simulation. Pearson

Education.

[4] Kristanto, A. (2004). Kecerdasan Buatan. Yogyakarta: Graha Ilmu.

[5] Kusumadewi, S. (2003). Artificial Intellegence (Teknik dan Aplikasinya).

Yogyakarta: Graha Ilmu.

[6] Liang, Y. D. (2007). Introduction to JavaTM Programming Sixth Edition.

Pearson Prentice Hall.

[7] Pedersen, R. E. (2003). Game Design Foundation. Texas: Wordware Publishing.

[8] Pressman, R. S. (2010). Software engineering : a practitioner’s approach 7th

ed. McGraw Hill.

[9] Riskadewi, & Hendrik, A. (2005). PENERAPAN SISTEM PAKAR FORWARD CHAINING BERBASIS ATURAN PADA PENGAWASAN STATUS PENERBANGAN. INTEGRAL, Vol. 10 No. 3.

[10] Rollings, A., & Morris, D. (2004). Game Architecture and Design: A New Edition. New Riders.

[11] S., R. A., & Shalahudin, M. (2013). Rekayasa Perangkat Lunak

Terstruktur dan Berorientasi Objek. Bandung: Informatika.

[12] Salen, K., & Zimmerman, E. (2003). Rules of Play: Game Design

Fundamentals. MIT Press.

[13] Simarmata, J. (2010). Rekayasa Perangkat Lunak. Yogyakarta: Andi. [14] Suarga. (2009). Dasar Pemrograman Komputer dalam Bahasa Java.

Yogyakarta: Penerbit Andi.

(7)

85

[16] Trefry, G. (2010). Casual Game Design : Designing Play for the Gamer in

ALL of Us. Morgan Kaufmann.

[17] Wampler, B. E. (2001). The Essence of Object Oriented Programing with

Java and UML. Addison Wesley.

[18] Little Farm, [Online], tersedia di

http://www.mumbojumbo.com/game/LittleFarm/2881 (28 Maret 2014)

(8)

DAFTAR RIWAYAT HIDUP

Nama Lengkap : Abdul Alim

NIM : 10110285

Tempat/Tanggal Lahir : Bandung, 13 Oktober 1992 Jenis Kelamin : Laki-laki

Agama : Islam

Alamat Lengkap : Cibeunying Landeuh No.77 B12 RT 02/ RW 04 Kelurahan Sukaluyu

Email : abdul.aalim110@gmail.com

No Telp. : 085721397529

PENDIDIKAN

2010 – 2014 : Program Strata 1 (S1) Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer,

Universitas Komputer Indonesia 2007 – 2010 : MAS Manba’ul Huda

2004 – 2007 : MTS Ciganitri

2000 – 2004 : SDN Sukaluyu 1998 – 2000 : SDN Sukasenang

Penulis,

(9)

1

Metode forward chaining merupakan metode yang dititikberatkan pada pendekatan yang dimotori data. Dalam pendekatan ini pelacakan dimulai dari informasi masukan, dan selanjutnya menggambarkan kesimpulan. Metode

forward chaining memiliki konsep berbasis aturan atau rule based system.

Game Little farm merupakan casual game. Game berjenis casual game

artinya memiliki aturan sederhana dan teknik bermain yang tidak sulit. Game little

farm ini dikembangkan oleh MumboJumbo LCCTM[18]. Pada game ini pemain bertugas menyiram semua tanaman pada saat yang sama dengan kondisi petak dari tanaman tersebut sejajar atau cocok, setelah itu tanaman akan mengisi truk stok tanaman dan menghasilkan skor. Jika total stok truk tanaman penuh maka permainan selesai dan menghasilkan review skor dan bisa melanjutkan ke level

berikutnya.

Namun setelah dilakukan analisis terdapat beberapa hal yang kurang pada

game little farm diantaranya syarat untuk naik level hanya dengan mengisi stok truk hingga penuh sebelum waktu permainan selesai. Selain itu batas waktu permainan yang seragam dan tidak ada faktor yang bisa mengurangi waktu permainan sehingga pemain akan lebih santai dalam menyelesaikan permainan pada setiap level. Hal ini menyebabkan permainan tidak terlalu menantang untuk diselesaikan. Untuk itu diperlukan rule gameplay yang lebih bervariasi (penambahan aturan kenaikan level, kombinasi penyelesaian game, rule yang menantang pemain) pada game ini agar game menjadi lebih menarik untuk diselesaikan.

(10)

setiap levelnya yang diatur sedemikian rupa agar game lebih menarik untuk diselesaikan.

Berdasarkan latar belakang masalah tersebut. Maka game little farm layak untuk diimplementasikan sebuah metode yang mengatur rule gameplay pada setiap levelnya dan menguji hasil implementasinya. Game yang diimplementasikan metode forward chaining diberi nama “little farmer”. Maka pada penulisan skripsi ini mengambil judul “Implementasi Metode Forward chaining Pada Game Little

Farmer”.

1.2Perumusan Masalah

Berdasarkan uraian pada latar belakang masalah, maka dapat dirumuskan masalahnya adalah bagaimana mengimplementasikan metode forward chaining

pada gamelittle farmer. 1.3Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk implementasi metode forward chaining pada game little farmer. Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :

1. Memberikan rule gameplay yang lebih bervariasi pada game little farmer.

2. Mengimplementasikan metode forward chaining pada game little farmer

pada rule gameplay pada setiap level permainan.

3. Menguji implementasi metode forward chaining pada gamelittle farmer.

1.4Batasan Masalah

Batasan masalah dari penelitian ini adalah sebagai berikut:

1. Gamelittle farmer merupakan casualgame yang bertema farm.

2. Metode forward chaining diterapkan pada review tiap level dan menghasilkan keputusan apakah user bisa melewati level.

3. Jenis tanaman yang dimiliki untuk disiram ada 6 jenis. 4. Game ini memiliki 3 level.

5. Ketika pada salah satu level pemain kalah, pemain mengulang permainan dari awal kembali.

(11)

7. Game ini bisa dimainkan apabila telah terinstall minimal JDK 7. 8. Game ini berbasis desktop.

9. Proses pengembangan game menggunakan UML (Unified Modelling Language).

10.Single player user.

11.Pendekatan analisis yang digunakan ialah Object Oriented (OO). 1.5Metodologi Penelitian

Metode penelitian ini memiliki dua metode yaitu metode pengumpulan data

dan metode pembangunan perangkat lunak.

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalah yang diambil.

1.5.2 Metode Pembangunan Perangkat Lunak

Metode yang digunakan dalam pengembangan game ini yaitu metode waterfall.

Metode waterfall adalah metode yang digunakan dalam pendekatan yang sistematis

melalui tahapan-tahapan yang ada untuk membangun sebuah aplikasi.

Metode waterfall menekankan pada sebuah keterurutan dalam proses pengembangan sebuah aplikasi. Dalam metode waterfall, satu fase harus selesai terlebih dahulu sebelum fase berikutnya dimulai. Suatu fase dapat dinyatakan selesai apabila output dari fase tersebut sesuai dengan kebutuhan yang didefinisikan pada fase sebelumnya. Metode ini merupakan metode yang tepat dalam membangun sebuah aplikasi yang tidak terlalu besar dan sumber daya manusia yang terlibat dalam jumlah yang terbatas. Berikut gambar dari metode

(12)

System

Gambar 1-1 Waterfall Model (Classic Life Cycle)[13] Berikut penjelasan dari fase-fase yang terdapat dalam metode waterfall :

1. SystemEngineering

Fase ini akan merumuskan game yang akan dikembangkan. Hal ini bertujuan agar dapat memahami game yang akan dikembangkan dimana game harus berhubungan dengan elemen-elemen yang game serta memahami langkah-langkah yang berkaitan dengan pengembangan game tersebut.

2. RequirementAnalysis

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada

game. Untuk memahami sifat game yang dikembangkan, analisis game, alur

game dan antarmuka (interface) yang diperlukan.

3. Design

Fase ini berfokus pada beberapa komponen yang berbeda yaitu pemodelan

game, arsitektur game, representasi interface game, dan detail algoritma. Proses desain ini menerjemahkan syarat/kebutuhan ke dalam sebuah representasi game yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. desain didokumentasikan dan menjadi bagian dari konfigurasi game.

4. Coding

Fase ini merupakan pengkodean yang mengimplementasikan hasil desain

game ke dalam kode atau bahasa yang dapat dimengerti oleh mesin komputer dengan menggunakan bahasa java.

(13)

Fase ini merupakan pengujian game. Proses Pengujian ini berfokus pada logika internal game dan logika eksternal game. Pengujian internal yaitu pengujian yang memastikan bahwa semua penyataan pada tahap desain dan pengkodean game sudah sesuai dan pada eksternal fungsional yaitu menguji apakah keluaran dan masukan game sesuai dengan hasil yang dibutuhkan.

6. Maintenance

Fase ini merupakan fase pemeliharaan game yang sangat mungkin mengalami perubahan dalam kebutuhannya. Pemeliharaan game mengaplikasikan lagi setiap fase game sebelumnya dan tidak membuat yang baru lagi.

1.6Sistematika Penulisan

Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Bab ini menguraikan dasar-dasar pemikiran untuk implementasi metode forward chaining pada game little farmer yang meliputi latar belakang permasalahan, merumuskan inti permasalahan, menentukan maksud dan tujuan penelitian yang harus dicapai, batasan masalah untuk memfokuskan pembuatan sistem ini, metode-metode penelitian untuk mengumpulkan data, metode yang digunakan dalam pembangunan sistem serta sistematika penulisan laporan penelitian.

BAB 2 LANDASAN TEORI

Bab ini membahas landasan teori menerangkan berbagai konsep dasar dan teori-teori yang digunakan sebagai dasar pengetahuan dalam implementasi metode

forward chaining pada game little farmer. BAB 3 ANALISIS DAN PERANCANGAN

Bab ini berisi analisis kebutuhan sistem yang akan dibangun untuk menentukan

(14)

digunakan. Selain itu, bab ini juga berisi perancangan struktur basis data dan antarmuka untuk implementasi metode forward chaining pada game little farmer. BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi hasil implementasi dari analisis dan perancangan sistem yang dilakukan, sekaligus tahap pengujian. Tahap implementasi merupakan tahap penciptaan perangkat lunak, tahap kelanjutan dari kegiatan perancangan sistem. Tahap ini merupakan tahap dimana sistem siap untuk dioperasikan. Implementasi bertujuan untuk mengkonfirmasi modul-modul perancangan.

BAB 5 KESIMPULAN DAN SARAN

(15)

7 BAB 2

LANDASAN TEORI 2.1Game

Game merupakan suatu bentuk hiburan yang seringkali dijadikan sebagai penyegar pikiran dari rasa penat yang disebabkan oleh aktivitas dan rutinitas kita.

Game dapat dimainkan berbagai umur tua maupun muda. Game juga sudah berkembang dengan pesat sesuai dengan perkembangan teknologi, dari game

sederhana sampai game modern saat ini. Hal ini terbukti dengan adanya perkembangan jenis, produk, serta alat yang digunakan. Selain itu game juga bisa dimainkan dari satu orang hingga beberapa orang sekaligus.

2.1.1 Pengertian Game

Game atau sering disebut juga video game adalah permainan yang menggunakan interaksi antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Game umumnya menyediakan sistem penghargaan, misalnya score

yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesaikan tugas-tugas yang ada di dalam game tersebut. Sistem elektronik yang digunakan untuk menjalankan game disebut platform, seperti komputer pribadi (personal computer) ataupun konsol permainan (game console) [2]. Game

merupakan sebuah sistem di mana permainan terlibat dalam konflik buatan, didefinisikan oleh aturan, yang menghasilkan hasil yang terukur [10].

Tapi pertama-tama, kita pertimbangkan apakah game itu bukan : banyak fitur keren, banyak grafis mewah, serangkaian teka-teki menantang, suasana yang menarik dan cerita [7].

2.1.2 GenreGame

Game memiliki banyak tipe atau genre. Masing-masing genre memiliki karakteristik berbeda. Genre game diantaranya yaitu[2]:

1. ActionGame

Game ini dikenali dari aksi didalamnya yang berupa pergerakan, attack, reaksi dan pergerakan-pergerakan lainnya.

2. AdventureGameGame tipe ini menuntut player untuk menyelesaikan misi

(16)

3. CasualGame

Game tipe ini memiliki aturan yang mudah dimengerti dan tidak membutuhkan keahlian khusus untuk memainkannya

4. EducationalGame

Game edukasi memberikan penekanan pada unsur pendidikan dan pembelajaran

5. Role-PlayingGame

Pada game bertipe ini memiliki dunia yang luas untuk dieksplorasi oleh

player, baik untuk mencari harta karun, objek dan status (leveling), sambil menghancurkan monster dan objek yang menghalaginya.

6. StrategyGame

Dalam game tipe ini dibutuhkan pemikiran dan perencanaan yang benar untuk dapat memenangkan permainan dan biasanya menggunakan sudut pandang overhead sehingga player dapat melihat seluruh area permainan.

7. SimulationGame

Simulation game atau sims adalah suatu bentuk permainan yang

menggambarkan situasi dunia nyata, baik dalam rupa simulasi driving

maupun dalam hubungannya dengan lingkungan interaksi antara manusia.

8. PuzzleGame

Puzzlegame memiliki tujuan yang sangat sederhana untuk menyelesaikan

puzzle yang diberikan. 2.1.3 Casual Game

Casual game adalah game yang dikembangkan untuk konsumen massal,

bahkan bagi orang yang memainkannnya tidak dianggap sebagai seorang gamer.

Casual game mudah untuk diakses, mudah dipelajari, dan tidak memerlukan keterampilan khusus dari game sebelumnya, keahlian, atau waktu yang teratur untuk bermain. Hal ini menyenangkan untuk kesibukan orang dewasa yang memiliki sedikit waktu untuk bermain[1]. Yang termasuk dalam casual game

(17)

menghibur player, dan selain itu dapat juga digunakan untuk melatih, mempelajari dan meningkatkan pengetahuan dan level skillgamer[7].

Pada casual game terdapat empat elemen kunci yaitu[16]:

1. aturan dan tujuan harus jelas.

2. player harus dapat dengan cepat mahir bermain game.

3. gameplay casual bisa menyesuaikan waktu bermain dengan kehidupan

pemain dan jadwalnya.

4. konsep permainan meminjam konten yang familiar dan tema dari

kehidupan[16].

Gambar 2-1 Contoh CasualGame [18]

Casual game memiliki serangkaian mekanisme permainan yang terbagi

beberapa jenis yang beragam. Mekanisme ini mencakup gameplay dan subgenre

dari casual game. Mekanisme casual game diantara lain [1]:

1. Matching

Matching game atau permainan mencocokan telah lama mendominasi

(18)

2. Sorting

Sorting atau pengurutan mempunyai sejumlah cara yang berbeda.

pengurutan simbol-simbol abstrak yang relevan untuk permainan, untuk angka dan huruf. Beberapa game bahkan mendorong penggunaan pengetahuan kontekstual untuk mengurutkan pakaian ke dalam kategori gaya yang berbeda. Sorting membuat gameplaycasual alami karena player tidak perlu untuk mengembangkan keterampilan baru.

3. Seeking

Seeking atau sering disebut juga seek and find merupakan mekanisme permainan dimana player diminta untuk menemukan benda tersembunyi di area permainan. Dalam bentuk yang paling sederhana yang permainan memberikan gambaran dengan benda tersembunyi di suatu tempat, sambil memberikan player dengan daftar objek yang player harus temukan.

4. Managing

Managing merupakan mekanisme permainan yang meminta player

mengelola sebuah tempat. Pengelolaan bisa berupa manajemen waktu, sumber daya dan sebagainya. Mekanisme permainan ini menuntut player

memantau beberapa elemen yang ada pada game dan menjaganya tetap pada track.

5. Hitting

Hitting merupakan mekanisme permainan yang meminta player

menjangkau dan bersentuhan dengan benda lain. mekanisme ini menggunakan banyak bentuk, player bisa menjangkau objek dengan tangan, dengan tongkat, dengan raket, dan lain-lain.

6. Chaining

Chaining adalah rantai spesifik tindakan yang dapat dilakukan dalam sebuah permainan. Chaining merupakan cara untuk membentuk tindakan

player. Ini adalah cara bagi seorang desainer game memberikan pilihan lain untuk melakukan sesuatu dalam permainan bahkan jika unsur lain dari permainan menceritakan pemain sebaliknya.

(19)

Constructing atau konstruksi merupakan mekanisme permainan dimana pemain mengontruksi sebuah objek disusun secara rapih. Mekanisme kontruksi memungkinkan pemain untuk menjadi kreatif. Terutama dalam

sandbox game di mana pemain dapat bebas bereksperimen. Game berbasis

konstruksi sering memungkinkan beberapa opsi untuk mencapai tujuan, terkadang hal ini bisa saja tidak terstruktur.

8. Physics

Physics atau mekanisme permainan fisika merupakan simulasi hukum

dasar fisika, meniru hal-hal seperti gravitasi, gesekan dan gaya. Hukum fisika menjadi aturan yang mempengaruhi unsur-unsur dalam permainan dan berdampak bergerak. Player yang memiliki Pengalaman dengan hukum-hukum fisika alam, ini membuatnya lebih mudah untuk mengambil konsep dasar permainan. Meskipun kita memahami dasar hukum fisika tidak berarti kita bisa memprediksi bagaimana semuanya akan berjalan dengan tepat, ini diterjemahkan menjadi game dimana player

bereksperimen.

9. Leveling

Leveling merupakan mekanisme yang ditemukan dalam game untuk

memberikan pemain rasa peningkatan. Seringkali tingkat terkait dengan membuka konten permainan yang berbeda.

10.MultiPlayer

MultiPlayer game memungkinkan beberapa pemain bermain game

bersama-sama, baik itu berdasarkan giliran seperti pada papan permainan, atau real time.[1]

2.2Little Farm

(20)

Game little farm ini bisa dimainkan dengan spesifikasi seperti dibawah ini: Tabel 2-1 Spesifikasi Minimum Game Little Farm[18]

Minimum System Requirements

Processor Speed: 600MHz

256MB RAM 167 free HD space

Windows 2K/XP

Sound card

64 MB DirectX 8.1 compatible graphics card or better

2.2.1 Cara bermain Game Little Farm

Tujuan game little farm adalah untuk memuat truk dengan produk untuk mengirim ke pasar. Berikut ini cara bermain game little farm :

1. Mengidentifikasi kotak pencocokan tanaman di lahan yang dapat digunakan sebagai empat sudut persegi atau persegi panjang.

2. Klik kiri pada salah satu kotak sudut dan tarik kursor ke sudut yang berlawanan untuk menyorot persegi yang lebih besar dan menunjuk area

penyiraman.

3. Lanjutkan untuk membuat matching dan menanam buah-buahan dan sayuran. Sebagai produk yang dipanen, maka secara otomatis akan Jika pemain kehabisan waktu, maka pemain harus mengulang level

(21)

2.2.2 Scoring

Dapatkan skor untuk setiap muatan truk yang pemain kirim ke pasar. Anda dapat memperoleh poin tambahan dengan mencari best match, dan bonus timer

pada akhir setiap putaran.

Skor sesorang pemain dan kemajuan melalui permainan disimpan dalam profil. Ketika game dijalankan untuk pertama kalinya, pemain akan diminta untuk memasukkan nama mereka untuk membuat profil. Profil aktif akan ditampilkan di bagian atas layar main menu. Profil dapat ditambahkandan dihapus.[18]

2.3Artificial Intelligence

Artificial intelligence atau kecerdasan buatan merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Lebih detailnya pengertian kecerdasan buatan dapat dipandang sebagai berikut:

1. Sudut pandang kecerdasan

Kecerdasan buatan akan membuat mesin menjadi cerdas (mampu berbuat seperti yang dilakukan manusia).

2. Sudut pandang penelitian

Kecerdasan buatan adalah suatu studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.

3. Bisnis

Kecerdasan buatan adalah kumpulan peralatan yang sangat powerfull dan metodologis dalam menyelesaikan masalah-masalah bisnis.

4. Pemrograman

Studi tentang pemrograman simbolik, penyelesaian masalah dan pencarian. Untuk melakukan aplikasi kecerdasan buatan ada dua bagian utama yang sangat dibutuhkan

a. Basis Pengetahuan

Fakta-fakta, teori, pemikiran dan hubungan antara satu dengan yang lainnya.

b. Motor Inferensi

(22)

2.4Forward chaining

Forward chaining merupakan perunutan yang dimulai dengan menampilkan

kumpulan data atau fakta yang menyakinkan menuju konklusi akhir. Forward chaining dimulai dari premis – premis atau informasi masukan (IF) dahulu kemudian menuju konklusi atau derived information (THEN) atau dapat dimodelkan sebagai berikut [4]:

IF (informasi masukan) THEN (konklusi)

Informasi masukan dapat berupa data, bukti, temuan atau pengamatan. Sedangkan konklusi dapat berupa tujuan, hipotesa, penjelasan atau diagnosa. Sehingga jalannya forward chaining maju dapat dimulai dari data menuju tujuan dan bukti menuju hipotesa, dari temuan menuju penjelasan, atau dari pengamatan menuju diagnosa[4].

Strategi dari sistem ini adalah dimulai dari inputan beberapa fakta, kemudian menurunkan beberapa fakta dari aturan-aturan yang cocok pada knowledge base

dan melanjutkan prosesnya sampai jawaban sesuai. Forward chaining dapat dikatakan sebagai penelusuran deduktif[2].

OBSERVASI

Gambar 2-2 Diagram Forward Chaining[4]

Forward chaining merupakan suatu rantai yang dicari atau dilewati/ dilintasi dari suatu permasalahan untuk memperoleh solusinya disebut dengan forward

chaining. Cara lain menggambarkan forward chaining ini adalah dengan

penalaran dari fakta menuju konklusi yang terdapat dari fakta [9].

Dalam implementasinya, forward chaining sangat membantu developer

(23)

perlu membongkar lagi kode program dari awal. Berikut adalah karakteristik

forward chaining:

Tabel 2-2 Karakteristik Forward chaining [15] Forward chaining

Perencanaan, Monitoring, Control.

Disajikan untuk masa depan.

Data memandu, penalaran dari bawah ke atas.

Bekerja kedepan untuk mendapatkan solusi apa yang mengikuti fakta.

Breadth first search dimudahkan

Pada Metode forward chaining juga di artikan sebagai pendekatan yang dimotori data. Dalam pendekatan ini pelacakan dimulai dari informasi masukan,

dan selanjutnya mencoba menggambarkan kesimpulan. Sehingga metode ini juga sering disebut “Data driven”.

Operasi dari sistem forward chaining dimulai dengan memasukkan sekumpulan fakta yang diketahui ke dalam memori kerja (working memory), kemudian menurunkan fakta baru berdasarkan aturan yang premisnya cocok dengan fakta yang diketahui. Proses ini dilanjutkan sampai dengan mencapai goal atau tidak ada lagi aturan yang premisnya cocok dengan fakta yang diketahui. Operasi tersebut dapat digambarkan seperti gambar berikut:

Langkah-langkah yang harus dilakukan dalam membuat sistem forward chaining berbasis aturan, yaitu:

1. Pendefinisian Masalah.

Tahap ini meliputi pemilihan domain masalah dan akuisisi pengetahuan.

2. Pendefinisian Data Input.

Sistem forward chaining memerlukan data awal untuk memulai inferensi.

3. Pendefinisian Struktur Pengendalian Data.

Aplikasi yang kompleks memerlukan premis tambahan untuk

(24)

2.5Pemrograman Berorientasi Objek

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis

berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek dan pengujian berorientasi objek[11].

Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnya). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.

Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut, sifat dan komponen lainnya yang dapat berinteraksi satu sama lain[11].

Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek[11]:

1. Kelas

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir atau diciptakan dengan kelas tersebut. Sebuah kelas akan

(25)

Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, satuann organisasi, tempat, kejadian, struktur, status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi dan dihancurkan. 3. Metode (method)

Metode atau method pada sebuah pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metode struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi. Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri. Metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek. Metode dapat berasal dari event, aktivitas atau aksi keadaan, fungsi, atau kelakuan dunia nyata. Contoh metode atau operasi misalnya Read, Write, Move, dan sebagainya. Kelas sebaiknya memiliki metode get dan set untuk setiap atribut agar konsep enkapsulasi tetap terjaga. Metode get digunakan untuk memberikan akses kelas lain dalam mengakses atribut, dan set adalah metode yang digunakan untuk mengisi atribut, agar kelas lain tidak mengakses atribut secara langsung

4. Atribut (attribute)

Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dimiliki secara individual oleh sebuah objek, misalnya berat, jenis, nama, dan sebagainya. Atribut sebaiknya bersifat privat untuk menjaga enkapsulasi

5. Abstraksi (abstraction)

Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.

(26)

Pembungkusan atribut data dan layanan (operasi-operasi) yang dimiliki objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

7. Pewarisan (Inheritance)

Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dirinya.

8. Antarmuka (Interface)

Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain. Sebuah kelas dapat mengimplementasikan lebih dari satu antarmuka dimana kelas ini akan mendeklarasikan metode pada antarmuka yang dibutuhkan oleh kelas itu sekaligus mendefinisikan isinya pada kode program kelas itu. Metode pada antarmuka yang diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada antarmuka. Antarmuka atau interface biasanya digunakan agar kelas yang lain tidak mengakses langsung ke suatu kelas, mengakses antarmukanya.

9. Reusability

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. 10.Generalisasi dan Spesialisasi

Menunjukan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.

11.Komunikasi antar objek

Komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dan satu objek ke objek lainnya.

12.Polimorfisme (polymorphism)

(27)

13.Package

Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.[11] 2.6Unified Modeling Language (UML)

UML adalah penerus gelombang berorientasi objek analisis dan desain (OOA & D) metode yang muncul di akhir „80-an dan ‟90-an awal. Hal yang paling langsung menyatukan metode Booch, Rumbaugh (OMT), dan Jacobson, tapi

jangkauan lebih luas dari itu. UML pergi melalui proses standarisasi dengan OMG

(Object Management Group) dan sekarang menjadi standar OMG.

UML disebut bahasa pemodelan, bukan metode. Sebagian besar metode terdiri, setidaknya pada prinsipnya, kedua model sebuah bahasa dan proses. Bahasa pemodelan adalah notasi (terutama grafis) bahwa metode digunakan untuk mengekspresikan desain. Proses ini menyarankan mereka apa langkah yang harus diambil dalam melakukan desain.

Bagian proses dalam buku banyak metode yang agak samar. Selain itu, kebanyakan orang, ketika mereka mengatakan bahwa mereka menggunakan metode, menggunakan bahasa pemodelan, tapi jarang mengikuti proses. Jadi dalam banyak hal pemodelan bahasa adalah bagian paling penting dari meode ini. Hal ini tentu bagian penting untuk komunikasi. Jika anda ingin mendiskusikan desain anda dengan seseorang, itu adalah bahasa pemodelan yang anda berdua perlu pahami, bukan proses yang digunakan untuk sampai ke desain tersebut [17].

2.5.1 Diagram UML

Menggunakan berbagai macam diagram dengan fungsi masing-masing untuk menggambarkan setiap proses dari sistem berorientasi objek. Berikut merupakan beberapa diagram UML diantaranya [11]:

A. Use Case Diagram

Use Case atau diagram use case merupakan pemodelan yang digunakan untuk

menggambarkan kelakuan (behavior) dari sistem yang akan dibuat [11]. Use case

(28)

yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.

Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case [11].

1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat diluar sistem yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu

merupakan orang.

2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesar antarunit-unit atau aktor.

B. Activity Diagram

Diagram aktivitas atau activity diagram adalah sebuah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Dalam diagram aktivitas yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan aktivitas sistem, bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem[11].

Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut [10]:

1. Rancangan proses bisnis di mana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.

2. Urutan atau pengelompokan tampilan dari sistem/user interface di mana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan. 3. Rancangan pengujian di mana setiap aktivitas dianggap memerlukan

sebuah pengujian yang perlu didefinisikan kasus ujinya. 4. Rancangan menu yang ditampilkan pada perangkat lunak.

C. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi [11].

(29)

2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas

D. Sequence Diagram

Diagram sekuen adalah diagram yang menggambarkan kelakuan objek pada

use case dengan mendeskripsikan waktu hidup objek dan message yang

dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

Banyaknya diagram sekuen yang harus digambarkan adalah sebanyak pendefinisian use case yang memiliki prose situ sendiri atau yang penting semua

use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak[11].

2.7Pengujian Perangkat Lunak

Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean[8].

2.6.1 Pengujian Black box

Pengujian black box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian black box menungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box bukan merupakan alternatif dari teknik white box, tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kelas kesalahan daripada metode white box [8].

Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut :

1. Fungsi-fungsi yang tidak benar atau hilang 2. Kesalahan dalam interface

(30)

5. Inisialisasi dan kesalahan terminasi

2.6.2 Pengujian White box

Pengujian white box, yang kadang-kadang disebut pengujian glass box, adalah metode desain test case yang menggunakan struktur kontrol desain prosedural untuk memperoleh test case [8]. Dengan menggunakan metode pengujian white box, perekayasa sistem dapat melakukan test case sebagai berikut :

1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali

2. Menggunakan semua keputusan logis pada sisi true dan false

3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka

4. Menggunakan struktur data internal untuk menjamin validitasnya. Pengujian white box yang berupa notasi diagram alir.

Gambar 2-3 Notasi Diagram Alir [8] 2.8Java

Java adalah salah satu bahasa pemrograman komputer yang berorientasi objek, yang diciptakan oleh satu tim dari perusahaan Sun Microsystem, perusahaan

workstation UNIX (Sparc) yang cukup terkenal. Java diciptakan berdasarkan bahasa C++, dengan tujuan platform independent (dapat dijalankan pada berbagai jenis hardware tanpa kompilasi ulang), dengan slogan “Write Once, Run

Anywhere (WORA), dan Java pada hakikatnya lebih sederhana dan memakai

objek secara murni dibanding dengan bahasa pemrograman C++.

Asal usul java dimulai pada tahun 1991 ketika Sun Microsystem melakukan penelitian terhadap berbagai produk elektronika. James Gosling (kepala proyek penelitian) beserta Patrick Naughton ditugaskan untuk merancang perangkat lunak

(31)

dipakai pada berbagai peralatan elektronik itu. James Gosling kemudian memakai bahasa pemrograman C++ untuk menulis beberapa aplikasi untuk peralatan mikro, namun ternyata dia mengalami banyak kesulitan. Setiap kali sebuah peralatan mikro menggunakan jenis microchip yang berbeda, program yang digunakannya harus dikompilasi ulang. Berdasarkan hal itu kemudian munculah ide dari James Gosling untuk menciptakan sebuah bahasa baru, yang ditulis berdasarkan C++ namun dengan beberapa perbaikan. Bahasa ini kemudian disebut Oak (nama pohon yang terlihat dari jendela ruangan kerja James Gosling), yang digunakan

untuk membuat perangkat lunak cerdas bagi peralatan elektronika buatan Sun Mirosystem.

Pada tahun 1994, ketika Web mulai popiler nama bahasa Oak kemudian diganti menjadi Java (salah satu sebabnya ternyata nama Oak telah terlebih dahulu dipakai untuk hal lain). Menurut gosip, Gosling bingung mencari nama untuk bahasa baru tersebut karena setiap nama yang dipikirkannya untuk nama bahasa pemrogramannya ternyata sudah ada yang memakai, sampai suatu ketika dia mampir di sebuah kafe untuk minum kopi, dan ia meminta “Java”. Timbullah idenya untuk memakai nama Java. Menurut Gosling nama ini cukup cool.

Java kemudian dipakai untuk membuat sebuah browser yang bernama

WebRunner. Setelah berhasil maka browser ini kemudian dinamakan HotJava dengan simbol secangkir kopi panas.

Menurut Definisi yang diberikan oleh Sun Microsystem, Java adalah bahasa pemrograman simple, object oriented, distributed, robust, secure, architecture neutral, portable, high-performance, multithreaded, dan dynamic.

1. Java bahasa yang simple : Rancangan bahasa Java dibuat sedemikian rupa sehingga dengan cepat dapat dikenali dan dipahami oleh pemrogram pemula sekalipun karena mirip dengan bahasa C / C++ dan kedua lebih

sederhana dari C/C++ dalam beberapa hal mengingat berbagai hal yang sulit pada C/C++ sudah tidak ada pada Java, misalnya pemakaian pointer. 2. Java adalah bahsa yang object-oriented : Konsep objek diterapkan pada

(32)

murni sehingga tidak mungkin seseorang membuat program Java tanpa mendefinisikan kelas dan menggunakan objek.

3. Java adalah bahasa yang distributed : Bahasa Java dirancang sedemikian rupa sehingga mendukung pembuatan aplikasi dalam jaringan komputer. Java menyediakan beberapa kelas objek untuk mendukung aplikasi jaringan yang dihimpun dalam paket java.net.

4. Java adalah bahasa yang robust : Rancangan Java dibuat sedemikian rupa hingga mengurangi kemungkinan menjadi beku (freeze) ketika dijalankan. Kemungkinan error pun diminimalkan, misalnya dengan menerapkan

strong-type sehingga program bisa terhindar dari kesalahan karena tipe data yang keliru, Java juga menerapkan model memori yang dapat mencegah memori corrupt dan overwrited, misalnya dengan membuang pemakaian pointer.

5. Java adalah bahasa yang secure : Secara otomatis Java menerapkan pengamanan terhadap aplikasi sehingga mengurangi kemungkinan terjadinya serangan dari pengguna jaringan.

6. Java adalah bahasa yang architecture neutral : Program Java yang telah dikompilasi dapat dijalankan pada berbagai mesin dan tidak hanya bergantung pada satu arsitektur komputer saja.

7. Java adalah bahasa yang portable : Program Java sangat mudah dipindahkan dari satu mesin ke mesin lain tanpa harus dikompilasi ulang. 8. Java adalah bahasa yang high-performance : Pada hakikatnya program C

yang telah dikompilasi berjalan jauh lebih cepat dari Java, karena hasil kompilasi C adalah bahasa mesin dari komputer yang dipakai untuk mengompilasi, namun hasil kompilasi ini belum tentu bisa jalan pada komputer yang berbeda arsitektur. Program Java dikompilasi menjadi

bytecode yang bisa berjalan di berbagai mesin, namun ketika dijalankan

bytecode ini harus diterjemahkan oleh JVM ke dalam bahasa mesin yang

(33)

hambatan saluran komunikasi maka program Java masih terasa cukup cepat.

9. Java adalah bahasa yang multithreaded : Java dirancang untuk menangani berbagai aplikasi yang berjalan secara bersamaan, misalnya memainkan lagu, sambil melakukan download, dan pengguna sedang melakukan

scrolling pada window yang diamatinya.

10.Java adalah bahasa yang dynamic : Bahasa Java dirancang untuk beradaptasi dengan lingkungan yang dapat berubah dengan cepat. Java

dapat memanggil berbagai kelas objek pada saat dibutuhkan, walaupun harus melalui jaringan. Di samping itu Java memiliki representasi run-time

sehingga objek yang sedang digunakan oleh suatu aplikasi dapat diperiksa berasal dari kelas yang mana melalui informasi run-time.[14]

2.9Greenfoot

Greenfoot merupakan sebuah IDE berbasis java yang dikhususkan untuk pembuatan game sederhana. Greenfoot diprakarsai oleh Michael Kolling pada tahun 2003. Prototype yang pertama dibangun oleh Poul Henriksson dan Michael Kolling pada tahun 2003/2004. semenjak tahun 2005 pembuatan greenfoot ini dilanjutkan dengan melibatkan anggota kelompok dari University of Kent dan Deakin University.

Pada awalnya, greenfoot bertujuan untuk menarik minat anak-anak untuk belajar pemrograman, greenfoot ini cocok untuk anak usia 13 tahun ke atas. Cara penggunaannya pun cukup mudah. Selain berbentuk teks seperti editor lainnya, pada greenfoot ini terdapat perangkat alat bantu seperti class browser, editor dan

compiler. Greenfoot juga mendukung bahasa Java secara utuh. Dengan adanya bantuan perangkat-perangkat tadi, konsep OOP pada greenfoot lebih mudah dimengerti.

Didalam greenfoot terdapat project yang dinamakan scenario. Di dalam

project tersebut, kita bisa membuat dua macam tipe class dari library greenfoot. Yaitu class world dan actor. World merupakan latar dari game yang akan dibuat. Untuk membuat class world, caranya adalah dengan klik new subclass di bagian

(34)

memberi nama untuk kelas world tersebut. Setelah itu kita dapat memilih gambar sebagai latar belakang class world yang akan kita buat. Begitu pula pada Class actor, membuat actor caranya adalah dengan klik icon aktor, kemudian pilih new subclass.

Pada dasarnya, Greenfoot dapat dipandang sebagai kombinasi dari :

1. Sebuah framework untuk membuat skema program Java yang dapat divisualisasikan dalam bentuk dua dimensi.

2. Sebuah IDE (Integrated Development Environment), termasuk browser

kelas, editor program, compiler, antarmuka untuk eksekusi, dan lainlain. Seperti yang telah diutarakan, framework Greenfoot dapat digunakan untuk program-program yang dapat divisualisasikan dalam grid dua dimensi.

Framework ini mempunyai dua fungsi utama :

1. Mempermudah representasi objek secara grafis.

2. Menyediakan fasilitas dan antarmuka untuk mengkontrol eksekusi program (start, stop, step).

Framework Greenfoot mempunyai sebuah kelas basis bernama

GreenfootObject yang harus menjadi induk dari semua kelas yang ingin “menampakkan dirinya” secara visual. Kelas ini mempunyai dua metode penting yang harus diimplementasikan :

1. Metode getImage() yang harus memberikan nilai balik gambar/image dari sebuah objek; dan

2. Metode act() yang akan dipanggil dalam setiap langkah (step) dari proses iterasi (simulationloop).

Dalam Greenfoot terdapat beberapa istilah yang dipergunakan, diantaranya skenario atau projek. Skenario merupakan sekumpulan kelas mengimplementasikan kelas-kelas basis untuk aplikasi tertentu. Idenya adalah,

(35)

Adapula IDE Greenfoot yang terdiri atas beberapa elemen yang biasa ditemui dalam sebuah IDE pada umumnya, misalnya :

1. Editor kode sumber

2. Browser kelas

3. Fasilitas kompilasi

4. Kontrol eksekusi program

5. Debugger

Greenfoot dapat menvisualisasikan objek-objek dari sebuah scenario dan menyediakan sebuah bentuk antarmuka bagi pengguna untuk berinteraksi dengan objek-objek tersebut. Selain itu, juga tersedia fasilitas untuk mengontrol eksekusi program dari scenario yang sedang berjalan.

Fitur penting dari Greenfoot yanag membedakan dengan IDE yang lain adalah interaksi langsung. Interaksi dapat dilakukan baik untuk kelas maupun untuk objek. Misalnya :

1. Untuk menciptakan sebuah objek, kita bisa memilih secara langsung item menu konteks (context-menu / pop-up menu) pada sebuah kelas untuk membentuk objek baru.

2. Setelah objek diinisiasi, ia dapat ditempatkan pada lingkungan dengan klik pada posisi yang diinginkan.

Interaksi objek juga dapat dilakukan dengan cara yang hampir serupa :

1. Objek yang telah ada bisa dipindahkan setiap saat dengan melakukan drag

(menekan tombol kiri mouse, menggeser dan melepaskan tombol setelah sampai pada posisi yang diinginkan) pada objek tersebut.

(36)
(37)

29

Analisis sistem merupakan kegiatan penguraian suatu sistem informasi yang utuh dan nyata ke dalam bagian-bagian atau komponen-komponen komputer yang bertujuan untuk mengidentifikasi serta mengevaluasi masalah-masalah yang muncul, hambatan-hambatan yang mungkin terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga mengarah kepada solusi dengan kebutuhan serta

perkembangan teknologi.

3.1.1 Analisis Game Sejenis

Analisis yang dilakukan merupakan observasi dari game sejenis untuk melihat cara bermain, tujuan dan ada tidaknya kekurangan atau kelebihan game itu sendiri. Hasil observasi tersebut untuk membantu dalam penelitian. Game yang dianalisis adalah little farm.

Little farm merupakan game yang bergenre casual game dengan mekanisme

matching. Pada game ini pemain bertugas menyiram semua tanaman pada saat yang sama dengan kondisi 4 petak dari tanaman tersebut sejajar atau cocok membentuk segi empat, setelah itu tanaman akan dimasukkan ke dalam truk stok tanaman dan menghasilkan score.

(38)

Pada game ini player bisa dinyatakan naik level jika sudah mengisi stok truk tanaman hingga penuh. Waktu permainan pada setiap levelnya relatif lama dan sama. player tidak mengetahui batas waktu pada setiap levelnya.

Berikut skenario game little farm :

Tabel 3-1 Skenario game little farm Skenario Little Farm

1. Pada awal game pemain memasukkan nama.

2. Pada permainan lahan sudah disediakan dan siap untuk disiram

3. Pada setiap petak terdapat tanaman yang berbeda dan pada lahan terdapat 2 tanaman yang berbeda

(39)

5. Syarat naik level adalah mengisi stok truk hingga penuh. Setiap stok truk dinyatakan penuh jika tanaman yang masuk sejumlah 30 buah. Pemain diberikan kesempatan untuk mengisi stok truk tanaman sebelum waktu permainan selesai. Pada setiap level jumlah truk yang harus dipenuhi berbeda. Waktu permainan yang diberikan pada setiap level sama, yaitu 10 menit.

6. Pada setiap level jumlah truk yang harus dimuat menjadi goal pada setiap level.

(40)

Kemudian permainan bisa dilanjutkan ke level berikutnya.

3.1.2 Analisis Masalah

Berdasarkan analisis yang dilakukan terhadap game yang sejenis yaitu game little farm dapat disimpulkan bahwa dalam game tersebut terdapat beberapa hal yang kurang diantaranya syarat untuk naik level hanya dengan mengisi stok truk hingga penuh sebelum waktu permainan selesai. Selain itu batas waktu permainan yang seragam sehingga pemain akan lebih santai dalam menyelesaikan permainan pada setiap level. Hal ini menyebabkan permainan tidak terlalu menantang untuk diselesaikan. Untuk itu diperlukan rulegameplay yang lebih bervariasi pada game

ini agar game menjadi lebih menarik untuk diselesaikan. Metode forward chaining yang berbasis aturan berfungsi untuk membuat rule gameplay yang lebih bervariasi pada game ini.

3.1.3 Analisis Game yang Akan Dikembangkan

(41)

3.1.3.1Arsitektur Game

Aplikasi ini dibangun dalam bentuk dua dimensi (2D), serta memiliki fitur seperti pada Tabel 3-2.

Tabel 3-2 Fitur Game Fitur Game 1. Sistem single player

2. Jenis tanaman yang disirami 6 tanaman

3. Pada setiap level, player bisa menyirami 2 jenis tanaman

4. Penyelesaian game pada tiap level memiliki bermacam-macam kombinasi

5. Pada setiap levelplayer bisa memperoleh gold medal atau silver medal

6. Di akhir gameplayer bisa memperoleh gold trophy atau silver trophy

3.1.3.2Storyline

Storyline merupakan cerita pada game dimana pada storyline sebuah game

akan ditentukan bagaimana desainnya dan aturan permainannya. Pada game ini, pemain akan berperan sebagai seorang pemuda yang diberi lahan perkebunan yang merupakan warisan dari kakeknya. Lahan perkebunan tersebut sudah memiliki banyak tanaman yang bisa diolah. Pemain diminta untuk mengurus lahan perkebunan tersebut dengan menyiraminya dan menjualnya.

Pada suatu saat ada seorang pengusaha tanaman menantang pemain untuk

menjual tanaman dengan jumlah yang telah ditentukan dengan batas waktu tertentu. Jika tantangan tersebut berhasil diselesaikan maka pemain memperoleh

trophy dan gelar sebagai “little farmer”. Disanalah mulai permainan seorang

pemuda yang menyirami tanamannnya dan menjualnya sesuai dengan tantangan yang diberikan oleh pengusaha. Berdasarkan cerita tersebut maka game ini berjudul “little farmer”.

3.1.3.3Gameplay

Gameplay dilakukan untuk menggambarkan aturan-aturan dalam game.

(42)

Tabel 3-3 Gameplay Gameplay

1. Di awal game player memilih menu mulai

2. Kemudian game mengenalkan cara bermain pada game little farmer.

3. Lalu pemain siap untuk bermain

4. Pada setiap level pemain diberikan lahan dengan petak 4 x 6

5. Pada setiap petak terdapat tanaman yang berbeda dan pada lahan terdapat 2 tanaman yang berbeda

(43)

7. Pemain diberikan target penyelesaian permainan dengan kombinasi tertentu dan waktu tertentu.

8. Pada setiap level memiliki waktu permainan yang berbeda untuk level 1 diberikan waktu 30 detik, untuk level 2 diberikan waktu 45 detik dan untuk level 3 diberikan waktu 60 detik.

9. Pada game little farmer skor pada masing-masing tanaman berbeda. Pada level 1 Jika pemain menyiram dan menjual tomat akan

mendapatkan skor 20 untuk setiap tomatnya, untuk terong akan mendapatkan skor 25 untuk setiap terongnya. Pada level 2 Jika pemain menyiram dan menjual timun akan mendapatkan skor 30 untuk setiap timunnya, labu akan mendapatkan skor 40 untuk setiap labunya. Pada Level 3 Jika pemain menyiram dan menjual kubis akan mendapatkan skor 50 untuk setiap kubisnya, dan jagung akan mendapatkan skor 60 untuk setiap jagungnya.

10.Pada setiap level memiliki kombinasi tersendiri untuk diselesaikan. 11.Pemain bisa mengumpulkan skor dan menempatkan dirinya ke papan

skor tertinggi.

12.Di akhir jika pemain berhasil maka akan mendapatkan gelar little farmer

(44)

Tabel 3-4 Tabel perbandingan target penyelesaian permainan pada game sejenis dan game yang akan dikembangkan

Game sejenis Game yang akan dikembangkan

Level Waktu Kombinasi

Penyelesaian Reward Level Waktu

Kombinasi

(45)

tersebut dicari suatu kesimpulan yang menjadi solusi dari permasalahan yang dihadapi.

Operasi dari sistem forward chaining dimulai dengan memasukan sekumpulan fakta yang diketahui kedalam memori kerja (working memory), kemudian menurunkan fakta baru berdasarkan aturan yang premisnya cocok dengan fakta yang diketahui. Proses ini dilanjutkan sampai dengan mencapai gol atau tidak ada lagi aturan yang premisnya cocok dengan fakta yang diketahui.

Masukan informasi ke

Gambar 3-2 Alur Metode Forward Chaining

Setiap informasi pada alur metode forward chaining diwakilkan dengan premis, kemudian premis tersebut dikombinasikan membentuk sebuah rule yang digunakan.

Seperti pada yang dijelaskan pada gameplay little farmer bahwa terdapat kombinasi tertentu untuk menyelesaikan game pada setiap levelnya. Dan pemain diminta untuk menyirami tanaman dan setelah disiram maka otomatis tanaman

(46)

review yang diperoleh oleh player pada level tersebut. Hal ini akan menjadi premis dalam rule yang akan digunakan.

Premis menurut kamus besar bahasa indonesia adalah kalimat yang dijadikan dasar penarikan kesimpulan di dalam logika. Premis menjadi dasar pengetahuan yang digunakan pada metode forward chaining.

Berikut premis yang digunakan dalam game little farmer: Tabel 3-5 Tabel Premis

Variabel Premis

P1 menjual tomat lebih dari atau sama dengan 30

P2 Mendapatkan skor level 1 lebih dari atau sama dengan 1000 P3 menjual terong lebih dari atau sama dengan 40

P4 Silver medal level 1

P5 Gold medal level 1

P6 Level 1 selesai

P7 menjual timun lebih dari atau sama dengan 40

P8 Mendapatkan skor level 2 lebih dari atau sama dengan 1200 P9 menjual labu lebih dari atau sama dengan 40

P10 Mendapatkan skor level 2 lebih dari atau sama dengan 1600

P11 Silver medal level 2

P12 Gold medal level 2

P13 Level 2 selesai

P14 menjual kubis lebih dari atau sama dengan 40 P15 menjual jagung lebih dari atau sama dengan 50

P16 Mendapatkan skor level 3 lebih dari atau sama dengan 2000 P17 Mendapatkan skor level 3 lebih dari atau sama dengan 3000

P18 Silver trophy

P19 Gold trophy

P20 Game selesai

(47)

P4 : Premis 4

Tabel 3-6 Deskripsi Rule

Nomor Rule Deskripsi Rule

(48)

R6 : Rule 6

Berikut ini gambaran alur rule game little farmer :

P18 P19

(49)

3.1.4.1Analisis Rule

Analisis rule meliputi alur penerapan rule pada game little farmer dan gambaran penggunaan rule dalam metode forward chaining. Berikut ini alur penerapan rule pada game little farmer :

Memulai permainan

Memainkan permainan Level 1

Mereview permainan sesuai rule pada level 1

Melanjutkan sesuai rule pada level 2

Jika Tidak Sesuai Melanjutkan

permainan ke level 3

Mereview permainan sesuai rule pada level 3 Jika Tidak Sesuai

Permainan Selesai

Gambar 3-4 Alur penerapan rule pada game little farmer

3.1.5 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non-fungsional dilakukan untuk mengetahui spesifikasi kebutuhan untuk sistem.Spesifikasi kebutuhan melibatkan analisis perangkat keras/hardware, analisis perangkat lunak/software, analisis perangkat pikir/user. 3.1.5.1Analisis Kebutuhan Perangkat Keras

Analisis kebutuhan perangkat keras digunakan untuk mengetahui spesifikasi minimun perangkat keras dalam membangun game little farm pada tabel 3-7 dan menjalankan game little farm pada tabel 3-8.

Tabel 3-7 Spesifikasi Perangkat Keras Pembangun

Nama Perangkat Spesifikasi

(50)

RAM 4GB

Hard disk 50GB

Display Resolusi 1366 x 768

Keyboard Standar

Mouse Standar

Tabel 3-8 Spesifikasi Perangkat Keras Pengguna

Nama Perangkat Spesifikasi

Processor 1.80Ghz

RAM 512 MB

Hard disk 100 MB

Display Resolusi 800 x 600

Keyboard Standar

Mouse Standar

3.1.5.2Analisis Kebutuhan Perangkat Lunak

Analisis kebutuhan perangkat lunak digunakan untuk mengetahui spesifikasi perangkat lunak dalam menjalankan dan membangun game litle farmer, seperti pada tabel 3-9 dan tabel 3-10.

Tabel 3-9 Spesifikasi Perangkat Lunak Pembangun

Nama Perangkat Lunak Spesifikasi

Sistem Operasi Microsoft Windows XP

Tools

Greenfoot 2.3.0 JDK 7

Adobe Photoshop CS3

Tabel 3-10 Spesifikasi Perangkat Lunak Pengguna

Nama Perangkat Lunak Spesifikasi

Sistem Operasi Microsoft Windows XP, 7

Tools JDK 7

3.1.5.3Analisis Kebutuhan Perangkat Pikir

Analisis kebutuhan perangkat pikir digunakan untuk mengetahui spesifikasi pengguna untuk dapat memainkan game little farm, seperti pada tabel 3-11.

Tabel 3-11 Spesifikasi Pengguna

Peran Pemain

Usia 7 Tahun ke atas

(51)

3.1.6 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional dilakukan untuk mengetahui gambaran sistem yang akan dibangun. Analisis kebutuhan fungsional terdiri dari pendefinisan fungsi game, penggambaran alir aktivitas pada game dan penggambaran interaksi antar objek pada game.

3.1.6.1Pendefinisian Fungsi game A. Use Case Diagram

Penggambaran fungsi game berdasarkan interaksi antar aktor dan objek pada

sistem digambarkan dengan menggunakan diagram use case yang terdapat pada

gambar 3-4.

Gambar 3-5 Use Case Diagram B. Definisi Aktor

Definisi aktor berfungsi menjelaskan peran setiap aktor yang terdapat pada use

case. Definisi aktor ditunjukan pada Tabel 3-12.

Tabel 3-12 Definisi Aktor No. Aktor Deskripsi

1. Pemain User / pengguna / orang yang memainkan game ini

(52)

Definisi use case berfungsi menjelaskan tiap-tiap proses dan objek yang terdapat

pada use case. Definisi use case ditunjukan pada Tabel 3-13.

Tabel 3-13 Definisi Use Case

No. Use Case Deskripsi

1. Mulai Permainan Proses memulai permainan

2. Memainkan Level 1 Proses memainkan level 1 terdapat fungsi yang menampilkan waktu, skor, lahan, penyiram, tanaman yang disiram yaitu tomat dan terong.

3. Memainkan Level 2 Proses memainkan level 2 terdapat fungsi yang menampilkan waktu, skor, lahan, penyiram, tanaman yang disiram yaitu timun dan labu.

4. Memainkankan Level 3 Proses memainkan level 3 terdapat fungsi yang menampilkan waktu, skor, lahan, penyiram, tanaman yang disiram yaitu kubis dan jagung.

5. Review level Proses review level

D. Skenario Use Case

Skenario use case menunjukan proses apa yang terjadi pada setiap bagian di

dalam use case tersebut, dimana user memberikan perintah pada bagian-bagian use

case dan respon apa yang diberikan oleh sistem kepada user setelah user memberikan

perintahnya.

Tabel 3-14 Skenario use case mulai permainan

Identifikasi

Nomor 1

Nama Mulai Permainan

Tujuan Memulai permainan dari awal

Deskripsi Proses memulai permainan

Aktor Pemain

Skenario Utama

Kondisi Awal Aktor berada pada menu utama

Aksi Aktor Reaksi Sistem

1. Memilih mulai 2. Menampilkan intro

3. Menampilkan petunjuk

Tabel 3-15 skenario use case memainkan level 1

Identifikasi

Gambar

Gambar 3-1 Game Little Farm [18]
Tabel 3-1 Skenario game little farm
Tabel 3-3 Gameplay
Gambar 3-2 Alur Metode Forward Chaining
+7

Referensi

Dokumen terkait

Pembahasan latar belakang Peremajaan Permukiman Kampung Pulo dengan Pendekatan Perilaku Urban Kampung, alasan dari pemilihan lokasi di Permukiman Kampung Pulo,

 Transformasi Laplace adalah metoda operasional yang dapat digunakan untuk menyelesaikan persamaan diferensial linier..  Dapat mengubah fungsi umum (fungsi

Menurut Hamid Sarong cuti bersalin hingga enam bulan dalam Peraturan Gubernur (Pergub) Aceh Nomor 49 Tahun 2016 tentang Pemberian Air Susu Ibu (ASI) Ekslusif

( TANES, KHOO & PAULRAJ ) PERSEKUTUAN KARATE HAYASHI-HA MALAYSIA ( TANES, KHOO & PAULRAJ ) PERSATUAN KARATE-DO NEGERI PERAK. ( TANES, KHOO & PAULRAJ ) PERSATUAN

Menurut Schermerhorn (dalam Tilaar, 2007) suatu kelompok etnis adalah suatu masyarakat kolektif yang mempunyai atau digambarkan memiliki kesatuan nenek moyang, mempunyai

Penjaringan tersangka pasien dilakukan di unit pelayanan kesehatan didukung dengan penyuluhan secara aktif baik oleh petugas kesehatan maupun masyarakat untuk

Anuitas adalah sejumlah pembayaran pinjaman yang sama besarnya yang dibayarkan setiap jangka waktu tertentu, dan terdiri atas bagian bunga dan bagian angsuran.

infeksi bakteri ditandai dengan Pasien mengatakan sudah BAB 6 kali sejak jam 3 sore dengan konsistensi encer, pasien mengatakan sering terjaga karena ingin BAB dan BAK,