Implementasi Metode Forward Chaining Pada Game Little Farmer

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ABDUL ALIM

10110285

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

v DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

DAFTAR SIMBOL ... xi

DAFTAR LAMPIRAN ... xiv

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.

4. Ibu Rani Susanto, S.Kom., selaku dosen wali kelas IF-7 angkatan 2010 yang telah mengajarkan ilmunya selama penulis kuliah di Universitas Komputer Indonesia.


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

[15] Susdyastama, Y., Muslim, M. A., & Naba, A. (2013). Game Chicken Roll dengan Menggunakan Metode Forward Chaining. Jurnal EECCIS Vol. 7, No. 1.


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

[19]

Sugiyono (2010), Metode Penelitian Kuantitatif, Kualitatif, dan R&D, ALFABETA, cv., Bandung.


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

Salah satu solusi untuk memberikan rule gameplay yang lebih bervariasi dapat menggunakan artificial intelligence atau kecerdasan buatan yang memiliki konsep knowledge base (basis pengetahuan) dan reasoning (penalaran). Salah satu konsep kecerdasan buatan yang memiliki konsep knowledge base dan reasoning adalah metode forward chaining. Metode forward chaining yang memiliki konsep berbasis aturan ini dapat diterapkan pada rule gameplay pada


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

6. Game little farmer ini dibangun menggunakan aplikasi greenfoot 2.3.0 dengan bahasa pemrograman Java.


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

Requirements Analysis

Design

Coding

Testing

Maintenance

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 identitas dari sistem, menentukan tujuan dari sistem, bagian-bagian apa saja yang terdapat dalam sistem dan apa tujuan dari masing-masing bagian tersebut dan bagaimana bagian-bagian yang ada dalam sistem itu saling berhubungan menjadi satu kesatuan sesuai dengan metode pengembangan perangkat lunak yang


(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

Bab ini berisi kesimpulan dan saran yang sudah diperoleh dari hasil proses implementasi metode forward chaining pada game little farmer. Kesimpulan dimaksudkan untuk menjawab tujuan penelitian yang ditulis didalam hipotesis penelitian, sedangkan saran dimaksudkan untuk menjelaskan kekurangan-kekurangan, keterbatasan-keterbatasan atau pun asumsi-asumsi sehingga bagi pihak yang akan memanfaatkan hasil penelitian dapat mengetahui kelemahan-kelemahan ini sehingga dapat diantisipasi.


(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

casual game. Hal tersebut dikarenakan mekanisme permainannya sangat fleksibel dan dengan cepat player mendapatkan feedback yang biasanya berupa score. Mekanisme matching game yaitu player diminta untuk mencocokan objek yang sudah disediakan sesuai dengan pola yang diinginkan oleh game bisa berupa warna, gambar, simbol dan lain-lain.


(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

Game little farm merupakan bergenre casual game. Game little farm ini dikembangkan pada tahun 2008 oleh MumboJumbo LLCTM. MumboJumbo LLCTM merupakan pengembang dan pemasar premium casual game masal untuk PC dan konsol game. Game ini bisa didownload melalui situs resmi MumboJumbo LLCTM atau bisa juga dimainkan secara online disitus resminya[18].


(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 ditempatkan di truk.

4. Setelah menghasilkan cukup stok, truk akan pergi ke pasar dan menghitung skor.

5. Setiap level memiliki timer disisi kiri layar untuk menunjukkan berapa banyak waktu yang pemain miliki untuk mencapai tujuan di setiap level. Jika pemain kehabisan waktu, maka pemain harus mengulang level

tersebut.

6. Pada setiap level, pemain dapat membeli barang baru untuk peternakan pemain di toko umum dengan uang yang anda peroleh pada akhir setiap hari.

7. Pemain juga dapat memperoleh poin tambahan saat bermain dengan mencari best match di lahan setiap membuat persegi terbesar yang dapat disesuaikan pada satu waktu.[18]


(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 OBSERVASI KAIDAH A KAIDAH B KAIDAH C KAIDAH D KAIDAH E FAKTA 1 FAKTA 2 FAKTA 3 KESIMPULAN KESIMPULAN KESIMPULAN KESIMPULAN

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

aplikasi dalam membangun sebuah sistem. Karena dengan penggunaan metode ini jika developer ingin menambah beberapa kondisi dan aturan, developer tidak


(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 membantu mengendalikan[15].


(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 mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan pada kelas yang lain, dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru. 2. Objek (Object)


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

Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.


(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

mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja


(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

3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan kinerja


(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 aplikasi yang independen, tidak bergantung pada jenis perangkat keras, agar bisa


(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

sesuai, sehingga lebih lambat dari C, namun karena Java dapat digunakan pada jaringan komputer yang kenyataannya tidak terlalu cepat karena


(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, supaya pengguna Greenfoot mempunyai sesuatu yang dapat digunakan sebagai pijakan awal untuk bereksperimen, untuk melakukan modifikasi atau untuk melakukan penambahan fungsionalitas, seiring dengan kemajuan pemakai dalam memahami bahasa Java.


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

Pilih/panggil metode yang diinginkan dari menu konteks, dengan klik kanan objek tersebut. Jika metode yang dipanggil mengubah keadaan (state) objek yang divisualisasikan, maka perubahan akan segera ditampilkan [3].


(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

4. Pemain diminta untuk menyirami tanaman yang akan dijual dengan aturan mengidentifikasi kotak pencocokan tanaman di lahan yang dapat digunakan yang berbentuk empat sudut persegi atau persegi panjang.


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

7. Kemudian jika stok truk penuh, maka permainan pada level tersebut selesai dan hasil skor ditampilkan dilayar.


(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

Analisis game yang akan dikembangkan merupakan bagian yang mendeskripsikan game yang akan dikembangkan. Pada bagian ini terdiri dari arsitektur, storyline, gameplay.


(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

6. Pemain diminta untuk menyirami tanaman yang akan dijual dengan aturan 4 tanaman harus berada pada posisi yang cocok dan sejajar membentuk persegi atau persegi panjang.


(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

Berikut ini tabel perbandingan target penyelesaian permainan pada game sejenis dan game yang akan dikembangkan :


(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

penyelesaian Reward

1-1 10 Menit

menjual tanaman yang dimasukkan

ke 1 truk (1 truk = 30

tanaman) Mendapatkan skor dan melanjutkan ke level berikutnya

1 30 Detik

Menjual tomat ≥ 30

Silver Medal

Menjual terong ≥ 40

dan

Mendapatkan skor ≥ 1000

Gold Medal

1-2 10 Menit

Menjual tanaman yang dimasukkan

ke 2 truk (2 truk = 60

tanaman) Mendapatkan skor dan melanjutkan ke level berikutnya

2 45 Detik

Menjual timun ≥ 40

dan

Mendapatkan skor ≥ 1200

Silver Medal

Menjual labu ≥ 40

dan

Mendapatkan skor ≥ 1600

Gold Medal

1-3 10 Menit

Menjual tanaman yang dimasukkan

ke 3 truk (3 truk=90 tanaman) Mendapatkan skor dan melanjutkan ke level berikutnya

3 60 Detik

Menjual kubis ≥ 40

dan

Mendapatkan skor ≥ 2000

Silver Trophy

Menjual jagung ≥ 50

dan

Mendapatkan skor ≥ 3000

Gold Trophy

3.1.4 Analisis Metode

Metode yang digunakan dalam pengembangan game little farmer adalah metode forward chaining. Metode forward chaining merupakan strategi pencarian yang memulai proses pencarian dari sekumpulan data atau fakta, dari data-data


(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 dalam working memory

Periksa Aturan Pertama

Premis dicocokan dengan working

memory Tambahkan

kondisi ke working memory

Aturan berikutnya Periksa aturan

berikutnya

berhenti

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 yang disiram akan terjual. Sehingga pada setiap levelnya akan melihat hasil


(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

P5 : Premis 5

P6 : Premis 6

P7 : Premis 7

P8 : Premis 8

P9 : Premis 9

P10 : Premis 10

P11 : Premis 11

P13 : Premis 13

P14 : Premis 14

P15 : Premis 15

P16 : Premis 16

P17 : Premis 17

P18 : Premis 18

P19 : Premis 19

P20 : Premis 20 Berikut ini deskripsi rule :

Tabel 3-6 Deskripsi Rule

Nomor Rule Deskripsi Rule

R1 IF P1 THEN P4

R2 IF P2 AND P3 THEN P5

R3 IF P4 THEN P6

R4 IF P5 THEN P6

R5 IF P7 AND P8 THEN P11

R6 IF P9 AND P10 THEN P12

R7 IF P11 THEN P13

R8 IF P12 THEN P13

R9 IF P14 AND P16 THEN P18

R10 IF P15 AND P17 THEN P19

R11 IF P18 THEN P20

R12 IF P19 THEN P20

R1 : Rule 1

R2 : Rule 2

R3 : Rule 3


(48)

R6 : Rule 6

R7 : Rule 7

R8 : Rule 8

R10 : Rule 10

R11 : Rule 11

R12 : Rule 12

Berikut ini gambaran alur rule game little farmer :

P18 P19

P15

P16 P17

P14

P3

P4 P2

P5

P1

P6

P11 P12

P7 P8 P10

P13

P9

Level 1

Level 2

Level 3

P6

P13

P20 P20


(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 permainan ke level 2 Jika sesuai

berhenti Jika

Tidak Sesuai

Mereview permainan 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

Tingkat Keterampilan Dapat menggunakan komputer Kondisi Fisik Tidak buta total dan buta warna


(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


(53)

Nama Memainkan

Tujuan Memainkan permainan level 1

Deskripsi Proses menampilkan level 1

Aktor Pemain

Skenario Utama

Kondisi Awal Arena permainan ditampilkan

Aksi Aktor Reaksi Sistem

1.Menampilkan goal level 1

2. menggerakan kursor 3. Menampilkan penyiram tanaman 6. menyirami tomat 4. menampilkan tanaman tomat yang

akan disirami

7. menyirami terong 5. menampilkan tanaman terong yang akan disirami

8. menampilkan stok tanaman terjual 9. menampilkan skor

10. menampilkan waktu

Tabel 3-16 skenario use case memainkan level 2

Identifikasi

Nomor 1

Nama Memainkan

Tujuan Memainkan permainan level 2

Deskripsi Proses memainkan level 2

Aktor Pemain

Skenario Utama

Kondisi Awal Arena permainan ditampilkan

Aksi Aktor Reaksi Sistem

1.Menampilkan goal level 2

2. menggerakan kursor 3. Menampilkan penyiram tanaman 6. menyirami timun 4. menampilkan tanaman timun yang

akan disirami

7. menyirami labu 5. menampilkan tanaman labu yang akan disirami

8. menampilkan stok tanaman terjual 9. menampilkan skor

10. menampilkan waktu

Tabel 3-17 skenario use case memainkan level 3

Identifikasi

Nomor 1

Nama Memainkan

Tujuan Memainkan permainan level 3

Deskripsi Proses memainkan level 3

Aktor Pemain


(54)

Kondisi Awal Arena permainan ditampilkan

Aksi Aktor Reaksi Sistem

1.Menampilkan goal level 3

2. menggerakan kursor 3. Menampilkan penyiram tanaman 6. menyirami kubis 4. menampilkan tanaman kubis yang

akan disirami

7. menyirami jagung 5. menampilkan tanaman jagung yang akan disirami

8. menampilkan stok tanaman terjual 9. menampilkan skor

10. menampilkan waktu

Tabel 3-18 Skenario use casereview level

Identifikasi

Nomor 1

Nama Review level

Tujuan Mereview permainan

Deskripsi Mereview permainan untuk lanjut ke level

berikutnya

Aktor Pemain

Skenario Utama

Kondisi Awal Menu utama ditampilkan

Aksi Aktor Reaksi Sistem

1. Memilih lanjut 2. Menampilkan Data Permainan

3. Memilih Data 4. Menampilkan Petunjuk

5. Memilih keluar 6. Menampilkan pesan keluar aplikasi

Skenario Tambahan

Kondisi Awal Aktor berada di pesan keluar permainan

1. Memilih Ya 2. Keluar aplikasi

3. Memilih Tidak 4. Menampilkan Menu Utama

3.1.6.2Penggambaran Activity Diagram

Penggambaran alir aktivitas pada game menggambarkan berbagai alir aktivitas dalam game yang sedang dirancang, bagaimana masing-masing alir berawal,

decision yang mungkin terjadi, dan bagaimana mereka berakhir. Penggambaran alir aktivitas pada game digambarkan menggunakan Activity Diagram. Activity

diagram merupakan state diagram khusus, dimana sebagian besar state adalah

action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan


(55)

tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu UseCase atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara Use Case

menggambarkan bagaimana actor menggunakan sisitem untuk melakukan aktivitas.

A. Activity Diagram mulai Permainan

Aktivitas ini terjadi saat permainan dijalankan, sistem akan menampilkan intro permainan.

Gambar 3-6 Activity Diagram Mulai Permainan B. Activity Diagram Memainkan Level 1

Aktivitas ini terjadi saat menampilkan Level 1 berupa goal level1, tampilan lahan, waktu, peyiram, tanaman, stok penjualan yang harus diisi.


(56)

Gambar 3-7 Activity Menampilkan Level 1 C. Activity Diagram Memainkan Level 2

Aktivitas ini terjadi saat menampilkan level 2 berupa goal level 2, tampilan lahan, waktu, peyiram, tanaman, stok penjualan yang harus diisi.


(57)

Gambar 3-8 Activity Menampilkan Level 2 D. Activity Diagram Memainkan Level 3

Aktivitas ini terjadi saat menampilkan level 3 berupa goal level 3, tampilan lahan, waktu, peyiram, tanaman, stok penjualan yang harus diisi.


(58)

Gambar 3-9 Activity Menampilkan Level 3

E. Activity Diagram review level

Aktivitas ini mereview permainan untuk bisa melanjutkan permainan ke level


(1)

80

JUMLAH 30 123

Persentase = (123/ 150) x 100% = 82 %

Dapat disimpulkan bahwa penilaian terhadap tampilan dan suara sudah baik adalah 84,67% dari yang diharapkan 100%, atau dapat dikategorikan sebagai sangat setuju.

Gambar 4-13 Interpretasi Skor Pernyataan Ke-3 4. Kombinasi penyelesaian setiap level sudah bervariasi dan cukup jelas

Tabel 4-9 Perhitungan Pernyataan Nomor 4

Pernyataan Jawaban Nilai Responden Skor

1.

Sangat Setuju 5 5 25

Setuju 4 15 60

Ragu-Ragu 3 10 30

Tidak Setuju 2 0 0

Sangat Tidak

Setuju 1 0 0

JUMLAH 30 115

Persentase = (115/ 150) x 100% = 76,67%

Dapat disimpulkan bahwa penilaian terhadap tampilan dan suara sudah baik adalah 76,67% dari yang diharapkan 100%, atau dapat dikategorikan sebagai setuju.


(2)

81

81

Gambar 4-14 Interpretasi Skor Pernyataan Ke-4 5. Rule pada setiap level sudah cukup menantang

Tabel 4-10 Perhitungan Pernyataan Nomor 5

Pernyataan Jawaban Nilai Responden Skor

1.

Sangat Setuju 5 6 30

Setuju 4 16 64

Ragu-Ragu 3 8 24

Tidak Setuju 2 0 0

Sangat Tidak

Setuju 1 0 0

JUMLAH 30 118

Persentase = (118/ 150) x 100% = 78,67 %

Dapat disimpulkan bahwa penilaian terhadap tampilan dan suara sudah baik adalah 78,67 % dari yang diharapkan 100%, atau dapat dikategorikan sebagai setuju.

Gambar 4-15 Interpretasi Skor Pernyataan Ke-5 76,67%


(3)

82

4.2.4.1Kesimpulan Pengujian Beta

Berdasarkan pengujian beta yang telah didapat dari hasil kuesioner yang telah dijawab oleh para responden, maka bisa diambil kesimpulan bahwa game Little Farmer ini :

1. Rule game little farmer sudah cukup bervariasi

2. Kombinasi penyelesaian game setiap level sudah cukup bervariasi dan cukup menantang.


(4)

83 BAB 5

KESIMPULAN DAN SARAN 5.1Kesimpulan

Berdasarkan dari hasil penelitian, analisis, perancangan sistem, dan implementasi serta pengujian yang berupa kuesioner, maka diperoleh kesimpulan sebagai berikut :

1. Metode Forward Chaining dapat diimplementasikan pada game little farmer

2. Rule game Little Farmer sudah cukup bervariasi dengan kombinasi penyelesaian didalamnya.

5.2 Saran

Aplikasi Game Little Farmer ini masih dapat dikembangkan dengan cara menambahkan keunikan didalamnya. Seperti mengombinasikan permainan dengan penambahan level, menambah kombinasi aturan dan menyediakan tanaman yang lebih banyak lagi.


(5)

(6)