SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ABDUL ALIM
10110285
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
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
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
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.
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
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.
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)
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,
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.
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.
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
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.
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
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
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
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
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
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.
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 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
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
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
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
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
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.
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)
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
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].
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
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
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
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
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
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,
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.
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.
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
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.
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
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.
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
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
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
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
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
P4 : Premis 4
Tabel 3-6 Deskripsi Rule
Nomor Rule Deskripsi Rule
R6 : Rule 6
Berikut ini gambaran alur rule game little farmer :
P18 P19
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
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
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
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