Membangun aplikasi game Farming Life
(2)
(3)
(4)
(5)
Nama : Agung Rosamaji
Jenis kelamin : Laki-laki
Tempat, tanggal lahir : Sumedang, 12 April 1990
Agama : Islam
Kewarganegaraan : Indonesia
Status : Belum kawin
Anak ke : Satu dari tiga bersaudara
Alamat : Jl. Serma Muchtar no.101, Sumedang
Telepon : 083811693773
(6)
tahun ajaran 1996 -2002
2. Sekolah Menengah Pertama : SMP Negeri 1 Sumedang
tahun ajaran 2002-2005
3. Sekolah Menengah Kejuruan : SMA Negeri 3 Sumedang
tahun ajaran 2005-2008
4. Perguruan Tinggi : FTIK Unikom Bandung
tahun ajaran 2008-2013
Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.
Bandung, 25 Februari 2013
(7)
SKRIPSI
Diajukan Untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika
Fakultas Teknik dan Ilmu Komputer
AGUNG ROSAMAJI
10108599
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
(8)
iii 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 “MEMBANGUN
APLIKASI GAME FARMING LIFE”. 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, Yayan Suryana dan Ibunda, Ida Rohaeti,
serta adik-adik tercinta, Tirani Jayanti dan Asep Rodiyan, yang selalu sabar memberikan dukungan, senantiasa memberikan kasih sayang yang begitu besar, serta senantiasa memberikan doa setiap waktu.
3. Bapak Dr. Eddy Suryanto Soegoto, M. Sc, selaku Rektor Universitas
Komputer Indonesia.
4. Bapak Galih Hermawan, S.Kom., M. T., selaku dosen pembimbing yang telah
bersedia meluangkan waktu, tenaga dan pikirannya serta memberikan pengarahan dan pengalaman dalam penyusunan skripsi yang berguna bagi penulis.
(9)
iv
memberikan banyak pengarahan dalam penyusunan skripsi yang berguna bagi penulis.
7. Ibu Rani Susanto, S.Kom., selaku dosen wali kelas IF-12 angkatan 2008 yang
telah mengajarkan ilmunya selama penulis kuliah di Universitas Komputer Indonesia.
8. Bapak dan Ibu dosen IF UNIKOM yang telah membagi ilmunya selama
penulis duduk dibangku kuliah.
9. Rekan-rekan mahasiswa kelas IF-12 angkatan 2008, khususnya Fadli
Fadlillah Sulaiman, Ronan D. Malelak, R. Moch. Reza N.H, Eka Priyambudi Utama, Iqbal Latif Iskandar, Dadang Sujana, Erdy Hendratmawan, Nurul Hidayat, Indriawan.
10. 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, 20 Januari 2013
(10)
v LEMBAR PENGESAHAN
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xi
DAFTAR SIMBOL ... xii
DAFTAR PROPERTI GAME ... xvi
DAFTAR LAMPIRAN ... xviii
BAB 1 PENDAHULUAN ... 1
1.1 LatarBelakangMasalah ... 1
1.2 RumusanMasalah ... 2
1.3 MaksuddanTujuan... 2
1.4 BatasanMasalah ... 2
1.5 MetodologiPenelitian ... 3
1.5.1 Metode Pengumpulan Data ... 3
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6 SistematikaPenulisan ... 5
BAB 2 LANDASAN TEORI ... 7
2.1 Game ... 7
2.1.1 PengertianGame ... 7
2.1.2 SimulasiGame ... 7
2.1.3 NPC ... 8
2.1.4 KonsepGame ... 8
2.2 KecerdasanBuatan... 9
2.3 AlgoritmaKoloniSemut ... 9
2.4 OOP (Object Oriented Programming)... 14
2.5 UML (Unified Modeling Language) ... 15
(11)
vi
2.7 Java ... 21
2.8 Greenfoot ... 21
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 23
3.1 AnalisisSistem... 23
3.1.1 AnalisisMasalah ... 23
3.1.2 AnalisisGameSejenis ... 23
3.1.3 AnalisisGame yang akanDibangun ... 27
3.1.4 SasaranPemaindanKegunaanAplikasiGame ... 29
3.1.5 AnalisisAlgoritma ... 29
3.1.6 PenerapanAlgoritmaKoloniSemut ... 33
3.1.7 AnalisisKebutuhan Non-Fungsional ... 33
3.1.8 AnalisisKebutuhanFungsional ... 34
3.2 PerancanganSistem ... 45
3.2.1 PerancanganKomponenPermainan ... 45
3.2.2 PerancanganStruktur Menu ... 55
3.2.3 PerancanganAntarmuka ... 56
3.2.4 PeancanganPesan ... 57
3.2.5 JaringanSemantik ... 58
3.2.6 Perancangan Method ... 59
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 71
4.1 ImplementasiSistem ... 71
4.1.1 PerangkatPendukung yang Digunakan ... 71
4.1.2 ImplementasiAplikasi ... 71
4.2 PengujianSistem ... 81
4.2.1 RencanaPengujian ... 81
4.2.2 KasusdanHasilPengujian (Black-Box) ... 83
4.2.3 KasusdanPengujian (White-Box) ... 86
(12)
vii
(13)
111
[1] Ian, Sommerville (2009), Software Engineering Ninth Edition, Addison –
Wesley, hal. 30.
[2]
Fundamentals, MIT Press, hal. 80.
[3] Rollings, Andrew; Morris, Dave (2004), Game Architecture and Design: A
New Edition, New Riders, hal. 35.
[4] Jones, Key (1995), Simulations: A Handbook for Teachers and Trainers,
Kogan Page, hal. 21.
[5] Rollings, Andrew; Adams, Ernest (2003). Andrew Rollings and Ernest
Adams on Game Design. New Riders Games.
[6] Kusumadewi, Sri. (2003), Artificial Intelegence (Teknik dan Aplikasinya),
Yogyakarta : Graha Ilmu.
[7] Mathiyalagan, P.(2010), Modified Ant Colony Algorithm for Grid
Scheduling, (IJCSE) International Journal on Computer Science and Engineering.
[8] Wampler, Bruce E. (2001), The Essence of Object Oriented Programing
with Java and UML, Addison Wesley.
[9] Shalahuddin, M dan Rosa A. S (2011), Rekayasa Perangkat Lunak
(Terstruktur dan Berorientasi Objek), Modula, Bandung.
[10] Liang, Y. Daniel (2007), Introduction to JavaTM Programming Sixth Edition,
Pearson Prentice Hall.
[11] Pressman, Rogers S. (2010), Software engineering : a practitioner’s
approach 7th ed , McGraw-Hill.
[12] Sugiyono (2010), Metode Penelitian Kuantitatif, Kualitatif, dan R&D, ALFABETA, cv., Bandung.
[13] Farmerama, [Online], Tersedia http://en.farmerama.bigpoint.com (7
(14)
[14] My Free Farm, [Online], Tersedia http://www.myfreefarm.com (7 Januari 2013).
[15] My Wonderful Farm, [Online], Tersedia
http://www.games.co.id/permainan_/my-wonderful-farm.html (7 Januari 2013).
[16] Greenfoot | About Greenfoot, [Online], Tersedia
(15)
1
1.1 Latar Belakang Masalah
Game yang bernama Farmerama merupakan game simulation online. Game
ini merupakan game yang berjenis simulasi yang memiliki konsep permainan
bercocok tanam menggunakan alat interaksi mouse. Game ini memberikan lahan
pada pemain di awal permainan agar pemain dapat bercocok tanam dengan menanam dan mengatur lahannya sendiri.
Terdapat beberapa hal yang tidak dimiliki pada game Farmerama dalam
mensimulasikan bercocok tanam seperti kondisi tanaman mati maupun hama yang dapat menyerang tanaman. Tanaman yang hidup pasti dapat mati dan hama memiliki perilaku sendiri dalam mencari tanaman yang akan diserang. Tanaman
pada game memerlukan suatu kondisi dimana tanaman itu akan mati sedangkan
hama dalam game memerlukan suatu perintah untuk menyerang tanaman. Ketika
hama dalam game tidak dapat diperintah oleh manusia maka perintah tersebut
dapat digantikan dengan diterapkannya kecerdasan buatan pada hama tersebut. Kecerdasan buatan yang diterapkan pada hama menjadikan hama tidak dapat
dikendalikan oleh manusia maka hama tersebut pun disebut sebagai NPC (
Non-Playable Character). Kondisi perubahan cuaca, sistem penanggalan dan karakter
utama yang dapat digerakkan oleh pemain tidak dimiliki oleh game Farmerama.
Game lainnya yang bernama My Free Farm dan My Wonderfull Farm dimana
memiliki kondisi sama dengan game Farmerama.
Salah satu solusi untuk membuat game simulasi bercocok tanam menjadi
bervariasi adalah membangun sebuah game yang didalamnya terdapat tanaman
yang memiliki kondisi dimana tanaman dapat tetap hidup atau mati, NPC hama dengan diterapkan kecerdasan buatan dengan algoritma koloni semut untuk mencari tanaman yang akan diserang, kondisi perubahan cuaca yang dapat mempengaruhi tanaman seperti cuaca hujan dapat memberikan sumber air untuk tanaman, sistem penanggalan yang dapat menunjukan waktu tumbuh tanaman
(16)
dengan jelas dan dapat mengatur waktu penanaman dengan baik, dan karakter utama yang dapat digerakkan untuk dapat melakukan aksi dalam bercocok tanam.
Berdasarkan permasalahan yang diteliti, maka akan dibangun sebuah
aplikasi game simulasi bercocok tanam yang memiliki sistem bercocok tanam,
hama, cuaca, sistem penanggalan, dan karakter utama. Game yang dibangun
bejudul “Farming Life” diharapkan dapat menjadi lebih bervasiasi dengan
menambahkan keunikan dalam game, dapat menambah daya pikir pemain, dalam
hal mengatur waktu penanaman dan dapat menghibur pemain yang merupakan
fungsi utama dalam game.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah disampaikan, maka perumusan masalahnya adalah bagaimana menerapkan tanaman hidup atau mati, hama, cuaca
sistem penanggalan, dan karakter utama pada game simulasi bercocok tanam?
1.3 Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dari penelitian ini
adalah membangun aplikasi gameFarming Life.
Tujuan yang hendak dicapai dalam penelitian ini diantaranya :
1. Membuat game lebih bervariasi.
2. Membantu meningkatkan daya pikir pemain.
3. Sebagai sarana hiburan pemain.
1.4 Batasan Masalah
Berdasarkan permasalahn serta maksud dan tujuan yang telah dipaparkan sebelumnya, maka penelitian ini dibatasi dengan masalah sebagai berikut :
1. Aplikasi game Farming Life yang dibangun merupakan game Simulation
yang memiliki konsep bercocok tanam.
2. Menggunakan bahasa pemrograman Java (J2SE).
3. Terdapat 2 kondisi cuaca, yaitu cerah dan hujan.
4. Terdapat 6 tanaman memiliki waktu tumbuh berbeda.
5. Terdapat 2 karakter NPC (Non-Playable Character), 1 NPC hama dan
karakter utama.
(17)
7. Kecerdasan buatan yang diimplementasikan pada NPC hama adalah algoritma koloni semut.
8. Aksi yang dapat dilakukan karakter utama yaitu interaksi dengan NPC,
bercocok tanam dengan menggunakan alat yang tersedia.
9. Merupakan single playergame.
10. Media interaksi menggunakan keyboard.
11. Pengguna yang diperkenankan 12 tahun ke atas dan dapat menggunakan
komputer.
12. Game yang dibangun hasil akhirnya akan berformat .JAR dan hanya bisa
dimainkan oleh komputer yang sudah mempunyai Java Virtual Machine (JVM) di dalamnya.
13. Pendekatan analisis yang digunakan ialah Object Oriented (OO).
1.5 Metodologi Penelitian
Metodologi penelitian yang digunakan adalah metode deskriptif, yaitu metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian sekarang secara sistematis, faktual dan akurat. 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
Studi Literatur adalah metode pengumpulan data dengan cara
mengumpulkan literatur, jurnal, paper, bacaan-bacaan dan website yang
ada kaitannya dengan penelitian yang dilakukan.
b. Observasi
Observasi adalah metode pengumpulan data dengan mengadakan peninjauan secara langsung maupun tidak langsung terhadap hal-hal yang berkaitan dengan penelitian.
(18)
1.5.2 Metode Pembangunan Perangkat Lunak
Metode pembangunan perangkat lunak menggunakan model waterfall [3],
yang digambarkan pada Gambar 1.1. Metode ini disebut waterfall karena
tahap yang pertama harus dilalui dan diselesaikan terlebih dahulu untuk dapat melanjutkan ke tahapan selanjutnya. Model ini menggunakan pendekatan
secara sistematis dan urut mulai dari level :
a. Requirements Analysis and Definition
Requirements Analysis and Definition merupakan tahap dalam menentukan pelayanan, batasan, dan tujuan sistem berdasarkan hasil konsultasi dengan pengguna sistem itu sendiri. Pada tahap ini sistem didefinisikan secara rinci yang kemudian disajikan sebagai sebuah spesifikasi sistem.
b. Sistem and Software Design
Sistem and Software Design merupakan tahap dalam membagi proses desain sistem menjadi berdasarkan kebutuhan, baik untuk perangkat keras maupun perangkat lunak. Hal itu untuk membentuk arsitektur secara keseluruhan. Desain perangkat lunak melibatkan proses mengidentifikasi dan mendeskripsikan sistem perangkat lunak yang mendasar berupa abstraksi dan hubungannya.
c. Implementation and Unit Testing
Implementation and Unit Testing merupakan tahap dalam merealisasikan desain perangkat lunak menjadi serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya.
d. Integration and Sistem Testing
Integration and Sistem Testing merupakan tahap dalam mengintegrasikan dan menguji unit program atau program itu sendiri sebagai sebuah sistem yang lengkap untuk memastikan bahwa semua kebutuhan sistem telah terpenuhi. Setelah dilakukan pengetesan, sistem perangkat lunak dikirim kepada pelanggan.
(19)
e. Operation and Maintenance
Operation and Maintenance merupakan tahap yang paling lama pada
fase siklus hidup. Sistem sudah terpasang dan siap digunakan.
Pemeliharaan mencakup koreksi dari berbagai error yang tidak
ditemukan di tahap sebelumnya pada siklus hidup, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem dan persyaratan baru ditambahkan ke dalam sistem.
Gambar 1.1 Model Waterfall [1] 1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum mengenai penelitian yang dilakukan. Sitematika penulisan dalam penelitian ini adalah sebagai berikut :
BAB 1 PENDAHULUAN
Bab 1 menguraikan tentang latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan. BAB 2 LANDASAN TEORI
Bab 2 membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan.
(20)
BAB 3 ANALISIS DAN PERANCANGAN
Bab 3 menguraikan tentang analisis sistem, analisis masalah, analisis game yang akan dibangun, analisis dan metode algoritma, analisis kebutuhan non-fungsional, perancangan sistem, perancangan struktur menu, perancangan antar muka, perancangan pesan, jaringan semantik, perancangan method.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini menguraikan tentang implementasi, perangkat pendukung yang
digunakan, implementasi aplikasi, pengujian sistem, pengujian Blackbox dan
WhiteBox, dan pengujian beta.
BAB 5 KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan yang didapatkan selama penulisan laporan tugas akhir dari pembatasan masalah, selain itu juga berisi saran untuk perbaikan dan menindaklanjuti hasil penelitian.
(21)
7
2.1 Game
Game atau permainan merupakan media hiburan yang sudah dikenal sejak
dahulu. 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.
2.1.1 Pengertian Game
Game adalah sebuah sistem di mana permainan terlibat dalam konflik
buatan, didefinisikan oleh aturan, yang menghasilkan hasil yang terukur [2].
Tapi pertama-tama, kita pertimbangkan apakah game itu bukan : banyak
fitur keren, banyak grafis mewah, serangkaian teka-teki menantang, suasana yang menarik dan cerita [3].
2.1.2 Simulasi Game
Sebuah simulasi game mencoba untuk menyalin berbagai kegiatan dalam
"kehidupan nyata" dalam bentuk permainan untuk berbagai tujuan seperti pelatihan, analisis, atau prediksi. Biasanya tidak ada gol didefinisikan secara ketat dalam permainan, hanya berputar-putar, bermain sebagai karakter [4].
(22)
2.1.3 NPC
NPC atau Non-Playable Character adalah karakter game yang
dikendalikan oleh sistem bukan oleh pemain. NPC melayani sejumlah tujuan di
dalam game, termasuk:
1. Sebagai perangkat alur : NPC dapat digunakan untuk memajukan alur cerita.
2. Untuk bantuan atau musuh : NPC dapat bertindak sebagai mitra untuk pemain
atau dapat menjadi musuh dalam game.
3. Fungsi game : NPC sering melayani sebagai menyimpan poin, toko item,
poin kesehatan regenerasi dan sebagainya.
2.1.4 Konsep Game
Menurut Andrew Rolling dan Ernest Adams dalam bukunya [5], anda
harus mengerti tentang apa game anda, dan anda harus menjawab beberapa
pertanyaan penting. Ketika anda menjawab pertanyaan tersebut dengan puas dan
menulis jawabannya. Anda dapat menjadikan ide tersebut menjadi konsep game.
Banyak ide game dimulai dari mimpi. Mungkin mimpi menelusuri gua
yang penuh dengan monster. Mungkin mimpi menjadi pelatih sepakbola.
Mungkin mimpi menjadi fashion designer. Tetapi sebelum anda melakukan yang
lainnya, anda harus mimpi sebuah mimpi.
Buku, film, televisi, dan media hiburan lainnya merupakan sumber besar
dari inspirasi untuk ide game. Film serial seperti James Bond sering menjadi
inspirasi game. Banyak orang yang bermain game komputer ingin desainnya juga.
Sesuatu tentang bermain game membangkitkan kreatif masyarakat. Ketika anda
memainkan banyak game, anda mengembangkan rasa bagaimana mereka bekerja
dan apa poin baik dan buruknya. Bermain game merupakan pengalaman berharga
untuk desainer game. Ini memberikan wawasan dan memungkinkan anda
membandingkan dan membedakan fitur permainan yang berbeda.
Untuk merubah ide game menjadi penuh konsep game, anda harus berfikir
dan menjawab sendiri beberapa pertanyaan. Anda tidah harus tepat dan rinci, tetapi anda harus memiliki jawaban umum dari semua pertanyaan berikut :
1. Apa sifat dari alur permainannya? Apa tantangan yang pemain akan hadapi? Apa aksi yang akan pemain dapat lakukan untuk melewati tantangan tersebut?
(23)
2. Apa kondisi untuk menang pada game, bila ada? Apa yang pemain coba dapatkan?
3. Apa peran pemain? Apakah pemain diharuskan menjadi seseorang atau sesuatu, dan apabila jadi, apa itu? Bagaimana peran pemain membantu menjelaskan alur permainan?
4. Apa aturan permainannya? Dimanakah itu terjadi?
5. Apa model interaksi pemain? Dimana – mana? Melalui avatar? Sesuatu yang
lain? Beberapa kombinasi?
6. Apa prespektif utama permainan? Bagaimana pemain memandang dunia game
di layar? Apakah ada lebih dari satu prespektif?
7. Bagaimana struktur umum game? Apa yang terjadi dalam setiap mode, dan apa
fungsi setiap mode tidak memenuhi?
8. Apakah game kompetitif, kooperatif, berbasis tim, atau single-player? Jika
beberapa pemain yang diperbolehkan, apakah mereka menggunakan mesin yang sama dengan kontrol terpisah atau mesin yang berbeda melalui jaringan? 9. Apakah permainan memiliki narasi atau cerita saat berjalan bersama?
Meringkas plot dalam satu atau dua kalimat.
10. Apakah permainan jatuh ke genre yang ada? Jika demikian, yang mana?
11. Mengapa ada orang yang ingin memainkan permainan ini? Orang seperti apa akan tertarik pada permainan ini?
2.2 Kecerdasan Buatan
Kecerdasan buatan adalah 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.
(24)
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
Kemampuan menarik kesimpulan berdasarkan pengalaman [6].
2.3 Algoritma Koloni Semut
Algoritma optimasi koloni semut adalah multi-agent sistem, yang terdiri dari agen dengan perilaku kolektif (stigmergy) dari semut untuk menemukan terpendek algoritma koloni paths [7]. Semut terinspirasi oleh pengamatan koloni semut nyata. Semut adalah serangga sosial, yaitu serangga yang hidup di koloni dan yang perilakunya diarahkan lebih ke kelangsungan hidup koloni secara keseluruhan dibandingkan dengan seorang tunggal individual komponen koloni. Social serangga telah menarik perhatian banyak ilmuwan karena tingkat strukturasi tinggi koloni dapat mencapai, terutama bila dibandingkan dengan relative kesederhanaan individu koloni.
Sebuah perilaku yang penting dan menarik dari koloni semut adalah perilaku mencari makan mereka, dan, khususnya, bagaimana semut dapat menemukan jalur terpendek antara makanan sumber dan sarang mereka. Sambil berjalan dari makanan sumber ke sarang dan sebaliknya, semut meninggalkan zat pada tanah yang disebut feromon, membentuk dengan cara jejak feromon. Ketika jalan lebih banyak tersedia dari sarang ke sumber makanan, koloni semut mungkin dapat memanfaatkan jalur feromon kiri oleh semut individu untuk menemukan jalan terpendek dari sarang ke sumber makanan dan kembali. Hal ini juga menarik untuk dicatat bahwa semut dapat melakukan ini spesifik perilaku
(25)
menggunakan bentuk sederhana tidak langsung komunikasi dimediasi oleh
peletakan feromon, dikenal sebagai stigmergy.
Gambar 2.2 Evolusi Simulasi dilakukan oleh semut [7]
Percobaan berikut pada gambar 2.2. memberikan dua jalur ke sumber makanan, tetapi salah satunya adalah dua kali lebih lama dari yang lain. Semut lagi akan mulai bergerak secara acak dan menjelajahi tanah. Probalistik, 50% dari semut akan mengambil singkat cara sementara yang lain 50% akan mengambil jalan panjang, seperti mereka tidak memiliki petunjuk untuk menyimpulkan kongfigurasi tanah. Semut mengambil jalan pendek akan mencapai sumber makanan sebelum orang lain dan meninggalkan jejak feromon dibelakang mereka. setelah mencapai makanan, mereka akan kembali dan mencoba untuk menemukan sarang. Pada persimpangan, salah satu jalan akan berisi feromon meskipun yang
(26)
lain tidak akan dieksplorasi. Oleh karena itu semut yang membawa makanan akan mengambil jalan yang sudah dieksplorasi, karena itu adalah cara untuk menemukan sarang. Seperti semut adalah cara memilih jalur terpendek dan akan terus membaharui jejak feromon, karena itu jalan akan menjadi lebih menarik bagi orang lain.
Semut yang mengambil jalan panjang akan memiliki lebih probabilitas untuk kembali menggunakan cara terpendek, dan setelah beberapa waktu, mereka akan berkumpul ke arah sebelumnyaa. Akibatnya, para semut akan menemukan jalan terpendeknya sendiri, tanpa memiliki pandangan global pada tanah. Dengan mengambil keputusan di persimpangan setiap sesuai dengan jumlah feromon, mereka akan berhasil mengeksplorasi, menemukan makanan, dan membawanya kembali ke sarang, dengan cara yang dioptimalkan.
Secara keseluruhan algoritma ini terbagi menjadi beberapa bagian yaitu : 1. Initialization
Proses dimana menentukan nilai awal posisi sarang semut dan posisi sumber makanan
2. Construction
Proses pencarian jalur ke tujuan yaitu jalur dari posisi sarang semut sampai posisi tanaman dengan cara meletakkan semut pada posisi sarang semut lalu menyebarkan semut secara acak.
3. Trails Update
Proses dimana semut yang disebar sudah menemukan posisi sumber makanan. Semut kembali ke posisi sarang semut dari posisi sumber makanan
dengan meninggalkan jejak semut / pheromone.
4. Terminating Condition
Proses penutupan algoritma bila kondisi telah terpenuhi, jika belum kembali ke bagian 2.
(27)
Gambar 2.3 Flowchart algoritma koloni semut
Gambar 2.3 menjelaskan alur algoritma koloni semut. Inisialisasi maksSemut untuk menentukan jumlah semut yang akan disebarkan, semut untuk jumlah semut yang sudah disebarkan. Setiap semut akan disebarkan dari posAwal
(28)
yang menunjukan posisi sarang semut. Semut yang disebar mencari posJejak yang merupakan posisi jejak semut yang tertinggal dan posAkhir yang merupakan posisi sumber makanan. Ketika semut menemukan posJejak, semut tersebut mengikuti jejak semut yang lainnya hingga menemukan posAkhir. Semut yang sudah menemukan posAkhir maka semut tersebut harus kembali ke posAwal dengan meninggalkan jejak di perjalanan. Ketika makanan belum habis dan semut yang kembali sudah sampai ke posAwal. Semut tersebut disebarkan kembali dari posAwal lagi.
2.4 OOP (Object Oriented Programming)
OOP adalah teknik memodelkan suatu sistem dunia nyata dalam perangkat lunak berdasarkan objek. Objek tersebut adalah konsep inti. Suatu objek adalah sebuah perangkat lunak entitas atau konsep model dunia nyata.
Ketika sebuah program berjalan, objek individu biasanya tidak dapat berdiri sendiri. Mereka termasuk ke sebuah koleksi dari objek lain yang serupa yang
merupakan anggota dari grup yang sama, atau class. Sebuah program akan
terbentuk dari banyak class yang berbeda, setiap class terbentuk dari objek-objek
yang serupa.
Beberapa sistem perangkat lunak orientasi objek akan memiliki sifat berikut:
1. Abtraksi dengan objek.
Abtraksi adalah mekanisme yang memungkinkan kompleks, situasi dunia nyata dapat diwakili menggunakan model yang disederhanakan. Orientasi objek abstrak dunia nyata didasarkan pada objek dan interkasi antar objek lainnya.
2. Enkapsulasi class.
Enkapsulasi adalah proses menyembunyikan semua bagian rinci sebuah objek dari dunia luar.
3. Interaksi lewat pesan.
Untuk memenuhi suatu perintah, objek butuh berinteraksi dengan objek lain.
Interaksi dapat antara objek di class yang sama, atau objek di class lain. Interaksi
ini ditangani dengan cara mengirimkan pesan (di Java, ini dilakukan dengan
(29)
4. Masa hidup objek.
Semua objek memiliki masa hidup. Mereka dibuat dan diinisialisasi sebagaimana mereka dibutuhkan pada saat program dijalankan, hidup dan membawa keluar fungsi mereka, dan akhirnya dihancurkan. Sementara mereka ada, mereka mempertahankan identitas mereka sendiri dan kondisi. Banyak objek
yaitu contoh dari class yang sama bisa hidup pada waktu tertentu. Setiap objek
memiliki atribut yang berbeda dari yang lain yaitu contoh objek dari class yang
sama.
5. Hirarki class.
Dalam desain orientasi objek, class objek tersebut diatur ke dalam hirarki
yang memodelkan dan menggambarkan hubungan antar class. Hubungan yang
paling sederhana adalah sebuah asosiasi.
6. Polimorfisme
Polimorfisme adalah karakteristik sistem orientasi objek. Ketika warisan
digunakan untuk memperpanjang class umum ke class yang lebih khusus,
biasanya akan mencakup memperluas beberapa perilaku dari class umum. Class
khusus sering akan menerapkan perilaku yang agak berbeda dengan class umum,
tetapi nama yang digunakan mendefinisikan perilaku akan menjadi sama. Adalah penting bahwa contoh yang diberikan dari sebuah objek menggunakan perilaku
yang benar, dan property polimorfisme memungkinkan ini terjadi secara otomatis
dan mulus. Polimorfisme sebenarnya lebih mudah digunakan daripada dijelaskan [8].
2.5 UML (Unified Modeling Language)
UML adalah penerus gelombang berorientasi objek alnalisis 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 (Obyek Manajement 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
(30)
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 [8].
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 [9]:
A. Use Case Diagram
Use Case atau diagram use case merupakan pemodelan yang digunakan
untuk menggambarkan kelakuan (behavior) dari sistem yang akan dibuat [9]. 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 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 [9].
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 atau aktor.
(31)
Gambar 2.4 Contoh dari Use Case Diagram [9]
B. Activity Diagram
Diagram aktivitas atau activity diagram adalah sebuah diagram yang
menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau
proses bisnis [9]. 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.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut [9]:
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 pengunjian di mana setiap aktivitas dianggap memerlukan sebuah
pengujian yang perlu didefinisikan kasus ujinya.
(32)
Gambar 2.5 Contoh dari Activity Diagram [9]
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 [9].
1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas
2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas
Contoh dari class diagramdapat dilihat pada gambar 2.6.
(33)
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 antarobjek [9]. 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 d2nstansiasi 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.
Contoh dari sequence diagramdapat dilihat pada gambar 2.7.
Gambar 2.7 Contoh dari Sequence Diagram [9] 2.6 Teknik Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean[11].
2.6.1 Pengujian Black Box
Pengujian black box berfokus pada persyaratan fungsional perangkat
(34)
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 [11].
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
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
procedural untuk memperoleh test case [11]. 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 dapat dilihat pada
(35)
Gambar 2.8 Notasi Diagram Alir [11] 2.7 Java
Java dikembangkan oleh tim yang dipimpin oleh James Gosling di Sun Microsistems. Awalnya disebut Oak, ia dirancang pada tahun 1991 untuk digunakan dalam peralatan konsumen tertanam elektronik. Pada tahun 1995, berganti nama java, didesain ulang untuk mengembangkan aplikasi internet.
Java teleh menjadi sangat popular. Peningkatan pesat di java dan diterima secara luas dapat ditelusuri dengan karakteristik desain, terutama janji bahwa Anda dapat menulis program satu kali dan menjalankannya di mana saja. Seperti yang tercantum dalam kertas putih bahasa Java oleh Sun, Java adalah sederhana, berorientasi objek, terdistribusi, diinterpretasikan, kuat, aman, arsitektur netral,
portable, kinerja tinggi, multithreaded, dan dinamis [10].
2.8 Greenfoot
Greenfoot mengajar Objek Orientasi dengan Java. Membuat ‘actors’ yang
mana berada di dalam ‘worlds’ untuk membangun game, simulasi, dan program
grafik yang lainnya. Greenfoot adalah visual dan interaktif. Alat visualisasi dan interaksi dibangun ke dalam lingkungan. Para aktor yang deprogram dalam kode Java standar tekstual, memberikan kombinasi pengalaman pemrograman dalam bahasa berbasis teks tradisional dengan eksekusi visual.
Antarmuka adalah IDE lengkap yang meliputi manajemen proyek,
auto-completion, syntax highlighting, dan alat-alat lainnya yang umum untuk kebanyakan IDE. Hal ini juga memungkinkan untuk mempublikasikan pekerjaan
keduanya online dan offline. Namun antarmuka dirancang untuk menjadi
sederhana dan mudah digunakan, dibangun dengan pemula dalam berpikir. Greenfoot digunakan oleh ribuan institusi di seluruh dunia. Ini menyediakan transisi mudah ke lingkungan lain, seperti BlueJ dan IDE lebih profesional.
(36)
Program Greenfoot ditulis dalam standar Java, salah satu bahasa utama dalam dunia akademis dan industri. Konsep belajar mentransfer langsung ke
pemrograman di lingkungan berikutnya. Greenfoot membuat lingkungan cukup mudah digunakan untuk pemula, dan Java membuatnya cukup kuat untuk menulis mengesankan, aplikasi fleksibel dan canggih [16].
(37)
23
3.3 Analisis Sistem
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.3.1 Analisis Masalah
Adanya beberapa faktor pada gamesimulasi bercocok tanam menimbulkan
beberapa masalah, diantaranya adalah bagaimana menerapkan tanaman hidup atau
mati, hama, cuaca, sistem penanggalan, dan karakter utama pada game simulasi
berccok tanam?
Solusi untuk memecahkan masalah tersebut adalah dengan membangun
sebuah game yang didalamnya terdapat tanaman yang memiliki kondisi dimana
tanaman dapat tetap hidup atau mati,NPC hama dengan diterapkan kecerdasan buatan dengan algoritma koloni semut untuk mencari tanaman yang akan diserang, kondisi perubahan cuaca yang dapat mempengaruhi tanaman seperti cuaca hujan dapat memberikan sumber air untuk tanaman, sistem penanggalan yang dapat menunjukan waktu tumbuh tanaman dengan jelas dan dapat mengatur waktu penanaman dengan baik, dan karakter utama yang dapat digerakkan untuk dapat melakukan aksi dalam bercocok tanam.
3.3.2 Analisis Game Sejenis
Analisis yang dilakukanmerupakan 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
(38)
3.3.2.1 Farmerama
Farmerama adalah game simulasi online.Sistem menyediakan ladang
untuk bercocok tanam untuk pemain pada awal permainan.Gameini tidak
memiliki karakter utama yang dapat digerakkan oleh pemain karena menggunakan
media interaksi mouseuntuk menggerakkan penunjuk. Tanaman yang tumbuh
memiliki beberapa kondisi yang berpengaruh pada poin permainan.Tanaman tumbuh dengan durasi waktu nyata akan tetapi tidak terlihat adanya tanaman yang
mati. Game ini tidak memiliki hama yang menyerang tanaman.Tujuan game ini
hanya mengatur lahannya seindah mungkin. Tampilan gameFarmerama dapat
dilihat pada gambar 3.1.
Beberapa hal yang tidak terdapat pada game ini adalah :
1. Karakter utama yang dapat digerakkan oleh pemain.
2. Hama yang menyerang tanaman.
3. Tidak terlihat adanya tanaman yang mati.
(39)
3.3.2.2 My Free Farm
My Free Farm adalah game simulasi online.Sistem menyediakan ladang
untuk bercocok tanam untuk pemain pada awal permainan.Gameini tidak
memiliki karakter utama yang dapat digerakkan oleh pemain karena menggunakan
media interaksi mouseuntuk menggerakkan penunjuk. Tanaman yang tumbuh
memiliki beberapa kondisi yang berpengarup pada poin permainan.Tanaman tumbuh dengan durasi waktu nyata akan tetapi tidak terlihat adanya tanaman yang
mati. Game ini tidak memiliki hama yang menyerang tanaman. Tujuan game ini
hanya mengatur lahannya seindah mungkin. Tampilan gameMy Free Farm dapat
dilihat pada gambar 3.2.
Beberapa hal yang tidak terdapat pada game ini adalah :
1. Karakter utama yang dapat digerakkan oleh pemain.
2. Hama yang menyerang tanaman.
3. Tidak terlihat adanya tanaman yang mati.
(40)
3.3.2.3 My Wonderful Farm
My Wonderfull Farm adalah game simulasi online.Sistem menyediakan
ladang untuk bercocok tanam untuk pemain pada awal permainan.Gameini
memiliki karakter utama,tetapi bergerak sesuai tujuan yang dipilih oleh pemain
dengan menggunakan media interaksi mouseuntuk menggerakkan penunjuk untuk
menentukan tujuan. Tanaman yang tumbuh memiliki beberapa kondisi yang berpengarup pada poin permainan.Tanaman tumbuh dengan durasi waktu nyata
akan tetapi tidak terlihat adanya tanaman yang mati. Game ini tidak memiliki
hama yang menyerang tanaman. Tujuan game ini menanam tanaman yang diminta
dalam misi permainan.TampilangameMy Free Farm dapat dilihat pada gambar
3.3.
Hal yang tidak terdapat dalam game ini sebagai berikut :
1. Hama yang menyerang tanaman.
2. Tidak terlihat tanaman mati.
(41)
3.3.3 Analisis Game yang akanDibangun
Analisis game yang akan dibangun merupakanbagian yang mendeskripsikan
game yang akan dibangun. Pada bagian ini terdiri dari arsitektur, storyline, tingkat
kesulitan, gameplay
3.3.3.1 Arsitektur
Aplikasi ini dibangun dalam bentuk dua dimensi (2D), serta memiliki
fitur seperti pada Tabel 3.1.
Tabel 3.1 FiturGame
FiturGame
1. Sistem single player.
2. Terdapat 2 cuaca, yaitu cerah dan hujan.
3. Terdapat hama.
4. Terdapat 3 alat yang dapat digunakan.
5. Terdapat karakter utama, 2 NPC (Non-Playable Character) manusia, 1
NPC hama.
6. Terdapat 5 arena permainan.
7. Terdapatsimpan dan lanjut permainan.
3.3.3.2 Storyline
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 kakeknya oleh kepala desa di sebuah desa bernama desa bunga. Lahan itu telah ditinggalkan oleh kakek pemuda tersebut, sebenarnya akan dijual untuk dibangun taman bermain apabila tidak ada yang mengurusinya. Karena pemuda itu memiliki kenangan bersama kakeknya di perkebunan tersebut, maka pemuda itu bersedia mengurus lahan perkebunan kakeknya.Kepala desa menyetujuinya dan memberikan beberapa syarat untuk tinggal disana.Apabila pemuda tersebut dapat mengurusi lahan selama sebulan dengan baik dan berprilaku baik dengan warga sekitar, maka lahan maka pemuda itu diijinkan melanjutkan mengurus lahan tersebut.Pemuda tersebut akhirnya merubah kehidupannya dengan bercocok tanam untuk mempertahankan ladang kakenya itu. Berdasarkan cerita yang telah
(42)
3.3.3.3 Gameplay
Gameplaydilakukan untuk menggambarkan aturan-aturan dalam
game.Gameplaygame yang akan dibangun terdapat pada tabel 3.2.
Tabel 3.2 Gameplay
Gameplay
1. Karakter utama dapat digerakkan oleh pemain setelah intro dan dimulai
dari ladang.
2. Pada awal permainan karakter utama diberi 100 koin dan 3 benih.
3. Koin digunakan sebagai alat tukar pada game.
4. Karakter utama memiliki poin stamina terbatas untuk bekerja setiap
harinya.
5. Karakter utama diberi 3 alat utama yang dapat dipakai dalam bercocok
tanam, yaitu : Cangkul, Siraman, dan Sabit.
6. Karakter utama dapat bergerak empat arah, yaitu : atas, kanan, kiri,
bawah.
7. Karakter utama dapat menuju depan rumah untuk melanjutkan ke hari
berikutnya dan mengembalikan poin stamina sampai penuh.
8. Poin stamina berkurang apabila karakter utama melakukan aksi.
9. Aksi karakter utama menggunakan alat dan barang, yaitu :
menggemburkan tanah, menaburkan benih, menyiram, menyabit tanaman dan memetik hasil panen.
10.Karakter utama dapat berbicara dengan NPC Thomas setiap harinya untuk
mendapatkan koin tambahan.
11.Karakter utama dapat berbicara dengan NPC Kim untuk membeli benih
dan pestisida.
12.Pemain diberi batasan waktu selama 30 hari pada game untuk
menyelesaikan game.
13.Sepuluh menit pada game berlangung selama 10 detik.
14.Waktu pada gameakan berhenti ketika membuka menu permainan.
15.Tanah yang dapat dipakai berkebun hanya tanah yang berwana coklat
yang berada di ladang.
16.Tanah harus digemburkan dahulu dengan cangkul sehingga tanah dapat
dipakai untuk menanam.
17.Tanah yang sudah digemburkan dan tidak ditanami bibit keesokan harinya
akan menjadi rata kembali.
18.NPC Thomas dan Kim akan muncul pada pukul 8 sampai pukul 18 pada
game.
19.NPC hama akan muncul ketika tamanan tumbuh dan menyerangnya.
20.Tanaman yang diserang hama akan mati keesokan harinya apabila
tanaman tersebut tidak segera diberi pestisida.
21.Tanaman yang tidak disiram akan mati pada keesokan harinya.
22.Tanaman yang sudah mati harus disabit untuk menghilangkannya.
(43)
24.Memetik hasil panen akan menambah koin.
25.Rating game didapat dari perhitungan banyaknya hasil panen. 26.Rating game menentukan bagian akhir dalam game.
27.Rating game baik akan memperbolehkan pemain melanjutkan permainan tanpa batasan waktu.
28.Rating game buruk akan menghentikan permainan.
3.3.3.4 Misi
Misi yang harus diselesaikan yaitu mengumpulkan poin
ratinggamesebanyak mungkin.Rating game menentukan layak tidaknya pemain untuk melanjutkan permainan.Terdapat 2 kondisi pada akhir permainan, yaitu permainan dilanjutkan tanpa adanya batasan waktu atau permainan dihentikan.
3.3.4 Sasaran Pemain dan KegunaanGameFarming Life
Sasaran pemain menentukan layak tidaknya pemain yang memainkan
game ini. Sasaran pemain yang layak memiliki kriteria :
1. Umur 12tahun ke atas,karena game tidak memiliki tindak kekerasan.
2. Dapat menggunakan komputer, karena game berbentuk aplikasi desktop.
3. Tidak buta total maupun tidak buta warna, karena game memiliki perbedaan
warna yang berpengaruh dalam game.
Kegunaan game menunjukan kegunaan game untuk pemain. Kegunaan
dalam game ini untuk meningkatkan daya pikir pemain dalam segi memanajemen
waktu dan sebagai sarana hiburan karena pemain bebas bermain sesuai keinginan mereka untuk dapat menyelesaikan misi permainan.
3.3.5 Analisis Algoritma
Analisis algoritma yang dilakukan dalam penelitian ini adalah meneliti
bagaimana cara kerja algoritma koloni semutpada NPC hama di dalam game.
Kondisi dimana hama muncul berdasarkan kondisi tanaman yang tumbuh.
3.3.5.1 Penerapan Algoritma Koloni Semut
Algoritma koloni semut adalah algortima yang dapat mencari dan menentukan jalur terbaik dari titik awal sampai titik akhir. Cara kerja algoritma koloni semut yang diterapkan pada NPC hamauntuk mencari tanaman yang akan diserang.Kondisi tanaman menentukan hama akan muncul atau tidak.
(44)
Pada game ini, parameter yang digunakan untuk menjalankan algoritma yaitu terdiri dari lima parameter yaitu sasaran sebagai kondisi tanaman, hama sebagai semut, tanaman sebagai sumber makanan, sarang sebagai sarang semut dan jejak hama sebagai jejak semut.
Secara keseluruhan algoritma ini terbagi menjadi beberapa bagian yaitu
Initialization, Construction, Trails Update, Terminating Condition.Penerapan bagian-bagian tersebut pada game ini adalah sebagai berikut:
1. Initialization
Proses dimana menentukan nilai awal posisi sarang dan posisi tanaman 2. Construction
Proses pencarian jalur ke tujuan yaitu jalur dari posisi sarang sampai posisi tanaman dengan carameletakkan hama pada posisi sarang lalu menyebarkan hama secara acak.
3. Trails Update
Proses dimana hamayang disebar sudah menemukan posisi tanaman. Hama kembali ke posisi sarang dari posisi tanaman dengan meninggalkan jejak hama.
4. Terminating Condition
Proses penutupan algoritma bila kondisi telah terpenuhi, jika belum kembali ke bagian 2.
Alur dari algortima koloni semut pada gambar 3.4 yang diterapkan pada NPC hama dalam game ini sebagai berikut:
1. Periksa kondisi tanaman.
Langkah pertama adalah memeriksa apakah sasaran memiliki status true yang
memiliki arti tanaman dapat diserang atau false yang memiliki arti tanaman
tidak dapat diserang. Jika ya, maka akan lanjut ke langkah kedua. Jika tidak, maka hama tidak akan muncul.
2. Inisialisasi
Langkah ini merupakan proses inisialisasi posSarang merupakan posisi sarang, posTanaman merupakan posisi tanaman yang dapat diserang dan posJejakHama merupakan posisi jejak hama.
(45)
3. Perulangan sebarkan hama
Langkah ini merupakan proses menyebarkan hama sampai batas jumlah hama yang akan disebar.Hama yang disebar diposisikan pada posisi sarang.
4. Perulangan cek posisi
Langkah ini merupakan proses pengecekan setiap hama yang disebar apakah menemukan jejak. Jika menemukan jejakHama maka hama tersebut mengikuti jejakHama sampai ke posisi tanaman.Jika tidak, maka hama melakukan pengecekan setaip hama yang disebar menemukan posisi tanaman. Jika ya, makalanjut ke langkah ke-5 dan jika tidak, maka ulangi langkah ke-4.
5. Pemberian jejakHama
Langkah ini merupakan proses pemberian jejakHama bila hama sudah menemukan posisi tanaman maka hama dijalankan ke posisi sarang dengan meninggalkan jejakHama.
6. Pengecekan kondisi penutup
Langkah ini merupakan proses pengecekan ketika hama telah kembali ke posisi sarang. Pengecekan apakah nilai sudah mencukupi. Jika ya, maka hama dijalankan dari posisi sarang dengan mengikuti jejakHama. Jika tidak, kembali ke langkah ke-3.
(46)
(47)
3.3.6 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.3.6.1 Analisis Kebutuhan Perangkat Keras
Analisis kebutuhan perangkat keras digunakan untuk mengetahui
spesifikasi minimun perangkat keras dalam membangun gameFarming Lifepada
tabel 3.3 dan menjalankan gameFarming Lifepada tabel 3.4.
Tabel 3.3 Spesifikasi Perangkat Keras Pembangun
Nama Perangkat Spesifikasi
Prosesor 1.80Ghz
RAM 4GB
Harddisk 50GB
Display Resolusi 1366 x 768
Keyboard Standar
Mouse Standar
Tabel 3.4 Spesifikasi Perangkat Keras Pengguna
Nama Perangkat Spesifikasi
Prosesor 1.80Ghz
RAM 512MB
Harddisk 100MB
Display Resolusi 800 x 600
Keyboard Standar
Mouse Standar
3.3.6.2 Analisis Kebutuhan Perangkat Lunak
Analisis kebutuhan perangkat lunak digunakan untuk mengetahui spesifikasi
perangkat lunak dalam menjalankan dan membangun game Farming Life, seperti
pada tabel 3.5 dan tabel 3.6.
Tabel 3.5 Spesifikasi Perangkat Lunak Pembangun Nama Perangkat Lunak Spesifikasi
Sistem Operasi Microsoft Windows 7
Tools
JDK 6 Greenfoot 2.2.1 Adobe Photoshop CS5
(48)
Tabel 3.6 Spesifikasi Perangkat Lunak Pengguna Nama Perangkat Lunak Spesifikasi
Sistem Operasi Microsoft Windows XP, Win 7
Tools JDK 6
3.3.6.3 Analisis Kebutuhan Perangkat Pikir
Analisis kebutuhan perangkat pikir digunakan untuk mengetahui
spesifikasi pengguna untuk dapat memainkan game Farming Life, seperti pada
tabel 3.7.
Tabel 3.7 Spesifikasi Pengguna
Peran Pemain
Usia 12 tahun ke atas
Tingkat Keterampilan Dapat menggunakan komputer
Kondisi Fisik Tidak buta total dan tidak buta warna.
3.3.7 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.3.7.1 Pendefinisian Fungsi Game
Pendefinisian fungsi game digunakan untuk menggambarkan fungsi-fungsi pada game. Pendefinisian fungsi-fungsi pada game ini digambarkan dengan
menggunakan use case diagram, definisi aktor,definisiuse case dan skenario use
case.
1. Use Case Diagram
Penggambaran fungsi game berdasarkan interaksi antar aktor dan objek pada sistem digambarkan dengan menggunakan diagram use case yang terdapat pada Gambar3.5.
(49)
Gambar 3.5 Use Case Diagram
2. Definisi Aktor
Definisi aktor berfungsi menjelaskan peran setiap aktor yang terdapat pada use case. Definisi aktor ditunjukan pada Tabel 3.8.
Tabel 3.8 Definisi Aktor No. Aktor Deskripsi
1. Pemain User / pengguna / orang yang memainkan game ini
3. Definisi Use Case
Definisi use case berfungsi menjelaskan tiap-tiap proses dan objek yang
terdapat pada use case. Definisi use case ditunjukan pada Tabel 3.9.
Tabel 3.9 Definisi Use Case
No. Use Case Deskripsi
1 Mulai Permainan Proses memulai permaian 2 Lanjutkan Permainan Proses melanjutkan permainan 3 Tampil Arena Permainan Proses menampilkan arena permainan
4. 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. Skenario use case ditujukan pada Tabel 3.10 sampai
dengan Tabel 3.12.
System
Pemain
Mulai Permainan
Lanjutkan Permainan
Tampil Arena Permainan <<include>>
(50)
Tabel 3.10Skenario Use CaseMulai Permainan Identifikasi
Nomor 1
Nama Mulai Permainan
Tujuan Memulai permaian 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 Kotak Nama
4. Memasukan Nama 5. Menampilkan Nama
6. Menekan Tombol ENTER 7. Menampilkan Petunjuk
8. Memilih keluar 9. 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
Tabel 3.11Skenario Use CaseLanjutkan Permainan Identifikasi
Nomor 2
Nama Lanjutkan Permainan
Tujuan Melanjutkan permainan sebelumnya
Deskripsi Proses melanjutkan permainan
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
Tabel 3.12Skenario Use CaseTampil Arena Permainan Identifikasi
Nomor 3
(51)
Tujuan Menampilkan Arena permainan
Deskripsi Proses menampilkan arena permainan
Aktor Pemain
Skenario
Kodisi Awal Arena permainan ditampilkan
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Menggerakan Karakter 2. Menampilkan Karakter Bergerak
3. Menekan Tombol Aksi 4. Menampilkan Aksi
5. Menekan Tombol ENTER 6. Menampilkan Dialog
7. Menekan Tombol ESC 8. Menampilkan Menu Permainan
9. Memilih Status Permainan 10. Menampilkan Status Permainan
11. Memilih Simpan Data 12. Menampilkan Data Permainan
13. Memilih Data 14. Menyimpan Data
15. Memilih Keluar 16. Menampilkan pesan keluar
permainan
Skenario Tambahan
Kondisi Awal Aktor berada di pesan keluar permainan
1. Memilih Ya 2. Menampilkan Menu Utama
3. Memilih Tidak 4. Menampilkan Menu Permainan
3.3.7.2 Penggambaran Alir Aktivitas Pada Game
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 behavior internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas
dari level atas secara umum. Sebuah aktivitas dapat direalsasikan oleh satu Use
Case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara Use Case menggambarkan bagaimana actor menggunakan sisitem untuk melakukan
aktivitas. Activity diagram ditunjukan pada Gambar 3.13 sampai dengan Gambar
(52)
Gambar 3.6 Activity DiagramMulai Permainan
Aktor Sistem
Memilih mulai Menampilkan intro
Memasukan Nama Menampilkan Kotak Nama
Menampilkan Nama Menekan Tombol ENTER
Menampilkan Petunjuk
Memilih keluar Menampilkan pesan keluar aplikasi
Memilih Ya Memilih Tidak
Keluar Aplikasi Menampilkan Menu Utama
(53)
Gambar 3.7 Activity DiagramLanjutkan Permainan
Gambar 3.8 Activity DiagramArena Permainan
Aktor Sistem
Menggerakkan Karakter
Menekan T ombol Aksi Menekan T ombol ENT ER
Menekan T ombol ESC
Memilih Status Permainan Memilih Simpan Data
Memilih Data Memilih Keluar
Memilih Ya Memilih T idak
Menampilkan Karakter Bergerak Menampilkan Aksi Menampilkan dialog
Menampilkan Menu Permainan
Menampilkan Status Permainan
Menampilkan Data Permainan
Menyimpan Data
Menampilkan pesan keluar permainan
Menampilkan Menu Utama
Menampilkan Arena Permainan
Aktor Sistem
Memilih lanjut
Memilih keluar Menampilkan Data Permainan
Memilih Data Menampilkan Petunjuk
Memilih Ya Memilih Tidak Menampilkan Menu Utama
(54)
3.3.7.3 Penggambaran Kelas
Kelas digambarkan dengan class diagram.Diagram kelas atau classdiagram
menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.Class diagram ditunjukan pada Gambar 3.9.Pendefinisian kelas ditunjukan pada Tabel 3.13.
Tabel 3.13Definisi Class Jenis Class Nama Class
Boundary Main Intro Field Town01 Town02 Tsquare Beach
Control Hero TextBar Main
(55)
Town01
< < boundary> > + boolean f ront + boolean back + int event Dialog + int npc + int CLOSE + . . . + Town01() + public void act () + public void addCharact ers() + public void dist ance() + public void event s() + void t ot alHarga()
Field
< < boundary> > + boolean f ront + boolean back + int event Dialog + int npc + int CLOSE + . . . + Field() + public void act () + public void addCharact ers() + public void dist ance() + public void event s() + public void cont rolMenuGame() + public void plant () + public void cuaca() + public void loadFarm() + public void f arm()
Town02
< < boundary> > + boolean f ront + boolean back + int event Dialog + int npc + int CLOSE + . . . + Town02() + public void act () + public void addCharact ers() + public void dist ance() + public void event s()
TSquare
< < boundary> > + boolean f ront + boolean back + int event Dialog + int npc + int CLOSE + . . . + TSquare() + public void act () + public void addCharact ers() + public void event s() + public void dist ance()
Beach
< < boundary> > + boolean f ront + boolean back + int event Dialog + int npc + int CLOSE + . . . + Beach() + public void act () + public void addCharact ers() + public void dist ance() + public void event s()
Main
< < boundary> >
+ Main() + void act () + void pilihMenuUt ama()
I nt ro
< < boundary> > -Kot akNama KN + Text Bar Text + st at ic boolean hapus + I nt ro() + void act () + void kot akNama()
Port al
+ Port al(int port al)
Sprit e
+ void set Animat ion(Animat ion newAnim) + Animat ion get Animat ion() + int get Height () + int get Widt h() + boolean isNear(Class clss) + boolean canSee(Class clss) + boolean canLook(Class clss)
Hero
< < cont rol> >
+ Hero()
+ st at ic void init ializeI mages() + void act ()
+ void cont rols() + void runRight () + void runLef t () + void runUp() + void runDown() + void colRight () + void colLef t () + void colDown() + void colUp() + void side() + void t ravel() + void dist ance() + void wait Time() + void changeI t ems() + void changeTools()
Ot her
+ Ot her(int obj)
House
+ House(int house)
Flower
+ Flower(int f lower)
Tree
+ Tree(int t ree)
Fence
+ Fence()
Text Bar
+ St ring Value + St ring I nt ro1 + St ring I nt ro2 + . . . + Text Bar() + void act () + void Draw() + void Writ e() + void set Page() + void changePage() + void changeDialog() + void t ime() + void cont rols()
Anim at ion
+ st at ic f inal int DEFAULT_DURATI ON + ArrayList < Greenf oot I mage> images + int act Count
+ int currI mage + int imageDurat ion + Animat ion()
+ void addI mage(Greenf oot I mage img) + Greenf oot I mage get I mage() + void updat e() + boolean isFinished()
+ void set I mageDurat ion(int perI mageCount ) + int get I mageDurat ion()
+ int get I mageCount () + void reset () + St ring t oSt ring()
Sound
+ st at ic void play(int music, int volume) + st at ic void st op()
Creat
-int Speed -int delt aX -int delt aY -Ant Hill home + Creat ure()
+ void set HomeHill(Ant Hill home + Ant Hill get HomeHill() + void walkTowardsHome() + void walkAwayFromHome() + void headTowards(Act or t arg + void walk()
+ void headRoughlyTowards(Ac -int comput eHomeDelt a(boolean -int adjust Speed(int speed) -int capSpeed(int speed) + boolean randomChance(int pe + boolean canSee(Class clss)
Ant
-st at ic f inal int MAX_PH_LEVEL -st at ic f inal int PH_TI ME -boolean carryingFood -int pheromoneLevel -int f oundLast Pheromone + Greenf oot I mage ant + st at ic boolean hide + Ant (Ant Hill home) + void act () + void searchForFood() + void checkHome() + boolean at Home() + void checkFood() + void t akeFood(Food f ood) + void dropFood() + void handlePheromoneDrop() + boolean smellPheromone() + void walkTowardsPheromone() + void checkGet Food() + void removeAnt ()
Ant Hill
+ st at ic boolean act ive + st at ic int ant s -int maxAnt s -Count er f oodCount er -int f ood -int t arget + Greenf oot I mage ah + st at ic boolean hide + Ant Hill()
+ Ant Hill(int numberOf Ant s) + void act ()
+ void count Food() + void sebarSemut () + void checkTarget ()
Pherom one
-f inal st at ic int MAX_I NTENS -int int ensit y
+ st at ic boolean hide
St at us
+ st at ic int MAXSTAMI NA + st at ic int STAMI NA + st at ic int COI N + st at ic boolean SLEEP + void act () + void drawSt at us() + void kurangKoin()
Object Menu
+ int MENUGAME + void drawObject (St ring menu)
Cuaca
+ int y, t , orig + double x, inc + st at ic boolean hapus + Cuaca(int dist ance) + void act ()
NPC01
+ NPC01()
NPC02
+ NPC02()
CTools
+ st at ic int alat + st at ic int barang + int x, y + CTools() + void act ()
Message
+ void drawMessage(St ring m)
Kot akNam a
+ St ring key + st at ic St ring Nama + Kot akNama() + void act () + void t ampilNama() + void cekMasukan()
Tim e
+ st at ic boolean t ime + st at ic boolean sleep + st at ic boolean BONUS + St ring dayName + St ring mont hName + void act () + void mark() + int millisElapsed() + void t imeSt art () + void t imeI mage()
Rat ingGam e
+ st at ic int RG -int MAX + void act () + void point I mage() + void hit ungRat ing()
SaveSlot
+ st at ic boolean savemenu + SaveSlot () + void act () + File chooseFile() + void f ileI nf o()
+ boolean makeFolder(St ring f olderName) + void creat eDat a(St ring dat aName) + void remove()
(56)
BAB 4
BAB 5
BAB 6
BAB 7
BAB 8
(57)
8.3.1.1 Penggambaran Interaksi Antar Objek Pada Game
Penggambaran interaksi antar objek menggambarkan interaksi antar objek
yang terjadi di dalam dan di luar sistem pada game (termasuk player, display, dan
sebagainya).Penggambaran interaksi antar objek pada game menggunakan
Sequence Diagram.Sequence diagram terdiri atas dimensi vertical (waktu) dan
dimensi horizontal (objek-objek yang terkait). Pada sequence diagram ini
menggambarkan scenario atau rangkaian langkah-langkah yang dilakukan pada
sistem sebagai respon dari sebuah event untuk menghasilkan output tertentu.
Sequence diagram ditunjukan pada Gambar 3.1 sampai dengan Gambar 3.3.
Gambar 8.1 Sequence DiagramMulai Permainan
Pemain main : Main int ro : I nt ro mu : Object Menu t b : Text Bar KN : Kot akNama f ield : Field ms : Message
1 : Memilih mulai
2 : act () 3 : pilihMenuUt ama()
4 : I nt ro()
5 : Text Bar()
6 : Menampilkan I nt ro 7 : act () 8 : kot akNama()
9 : drawObject ()
10 : Kot akNama()
11 : Menampilkan Kot ak Nama
12 : Memasukan Nama
13 : act () 14 : t ampilNama()
15 : cekMasukan()
16 : Menampilkan Nama 17 : Menekan t ombol ENTER
18 : act () 19 : t ampilNama()
20 : cekMasukan()
21 : Field()
22 : Menampilkan Pet unjuk
23 : Memilih Keluar
24 : act ()
25 : pilihMenuUt ama()
26 : drawMessage() 27 : Menampilkan pesan keluar aplikasi 28 : Memilih Tidak()
29 : act ()
30 : Menampilkan Menu Ut ama 31 : Memilih Ya()
32 : act ()
(58)
Gambar 8.2 SequenceDiagramLanjutkanPermainan
Pemain main : Main ss : SaveSlot f ield : Field ms : Message
1 : Memilih t ombol Lanjut
2 : act () 3 : pilihMenuUt ama()
4 : SaveSlot () 5 : Menampilkan Dat a Permainan
6 : Memilih Dat a
7 : act () 8 : pilihMenuUt ama()
9 : act () 10 : loadDat a()
11 : Field() 12 : Menampilkan Pet unjuk
13 : Memilih Keluar
14 : act ()
15 : pilihMenuUt ama()
16 : drawMessage() 17 : Menampilkan pesan keluar aplikasi
18 : Memilih Tidak
19 : act ()
20 : Menampilkan Menu Ut ama 21 : Memilih Ya
22 : act ()
(59)
Gambar 8.3 Sequence DiagramTampil Arena Permainan
Pemain f ield : Field hero : Hero st at us : St at us ss : SaveSlot om : Object Menu sprit e : Sprit e ms : Message
1 : Menggerakkan Karakt er
2 : Hero() 3 : act ()
4 : cont rols() 5 : set Animat ion()
6 : Menampilkan Karakt er Bergerak 7 : Menekan Tombol Aksi
8 : cont rols() 9 : canSee()
10 : Menampilkan Aksi
11 : Menekan Tombol ENTER()
12 : cont rols() 13 : canLook()
14 : Menampilkan Dialog 15 : Menekan Tombol ESC
16 : cont rols() 17 : drawObject () 18 : Menampilkan Menu Permainan
19 : Memilih St at us Permainan
20 : cont rols()
21 : act () 22 : drawSt at us()
23 : Menampilkan St at us Permainan 24 : Memilih Simpan Dat a
25 : cont rols()
26 : SaveSlot () 27 : Menampilkan Dat a Permainan
28 : Memilih Dat a
29 : cont rols()
30 : act () 31 : creat eDat a()
32 : Memilih keluar
33 : cont rols() 34 : drawMessage()
35 : Menampilkan pesan keluar permainan 36 : Memilih Tidak
37 : act ()
38 : cont rols()
39 : drawObject () 40 : Menampilkan Menu Permainan
41 : Memilih Ya
42 : act () 43 : cont rols() 44 : drawObject () 45 : Menampilkan Menu Ut ama
(60)
8.4 Perancangan Sistem
Tahap perancangan merupakan kelanjutan dari proses analisis dimana dilakukan perubahan-perubahan terhadap sistem yang sedang berjalan. Hal ini dilakukan untuk mengatasi kekurangan yang ada, memudahkan pekerjaan yang dilakukan oleh orang yang terlibat dan menghemat waktu pekerjaan.
Perancangan game ini meliputi perancangan struktur menu, perancangan antarmuka, perancangan pesan, jaringan semantik, perancangan prosedural. Semua perancangan yang telah disebutkan diatas harus saling berhubungan agar menciptakan suatu sistem yang baik.
8.4.1 Perancangan Komponen Permainan
Perancangan komponen permainan merupakan bagian pendeskripsian
setiap komponen yang ada pada game baik karakter, bangunan, dan story board.
Perancangan komponen permainan terdiri dari perancangan karakter dan
perancangan story board.
8.4.1.1 Perancangan Karakter
Perancangan karakter adalah bagian dimana karakter pada game dijelaskan ciri-cirinya baik itu secara fungsionalitas peran maupun secara desain.
Perancangan karakter manusia pada gameFarming Life dijabarkan pada Tabel 3.1.
Tabel 8.1 Perancangan Karakter Manusia
No Nama Gambar Keterangan
1. Karakter
Utama
Seorang pemuda yang mengurusi ladang peninggalan kakeknya
2. Kim NPC Penjual barang
3. Thomas NPC Kepala Desa Bunga
Berikut ini karakter berupa hama, tanaman, alat, dan barang yang terdapat
(61)
Tabel 8.2 Perancangan Karakter Hama, Tanaman, Alat, dan Barang
No .
Nama Gambar Type Kondisi Harga
(koin)
1. Ulat Hama Penyerangan satu hari dan
hari berikutnya tanaman akan mati apabila tidak diberi pestisida.
Penyerangan acak.
2. Lobak Tanaman Waktu tumbuh : 3hari.
Panen : sekali
Jual : 180 beli : 30
3. Kentang Tanaman Waktu tumbuh : 3hari.
Panen : sekali
Jual : 200 beli : 40
4. Bawang Tamanan Waktu tumbuh : 3hari.
Panen : sekali
Jual : 160 beli : 20
5. Terong Tanaman Waktu tumbuh : 7hari.
Panen : 2hari sekali.
Jual : 750 beli : 250
6. Wortel Tanaman Waktu tumbuh : 3hari.
Panen : sekali
jual : 200 beli : 40
7. Ubi Manis Tanaman Waktu tumbuh : 4hari.
Panen : 2hari sekali.
jual :160 beli : 20
8. Cangkul Alat Cangkul
9. Alat siram Alat Siraman
10. Sabit Alat Sabit
(62)
8.4.1.2 Perancangan Storyboard
Storyboard merupakan sketsa gambar yang disusun secara berurutan berdasarkan naskah untuk menggambarkan lingkungan pada game. Pada game ini,
storyboard merupakan sebuah map(peta) yang dijadikan sebagai arena permainan.
Map pada game ini digambarkan pada Gambar 3.13 sampai Gambar 3.18.
Berikut ini merupakan storyboarddari aplikasi Game Farming Life :
Gambar 8.4 Ladang
Map Ladang merupakan tempat yang hanya dapat digunakan untuk
bercocok tanam. Tanah adalah lahan yang dapat digunakan untuk
menanam.Diatas terdapat beberapa pepohonan.Pintu adalah tempat untuk
karakter utama mengakhiri hari dan tidur.Gerbang01 merupakan jalur menuju
map Pemukiman01. Gerbang02merupakan jalur menuju map Pemukiman02.
Gambar 8.5 Pemukiman01
Map Pemukiman01 merupakan tempat pemukiman penduduk pertama dan terdapat 4 bangunan. Di kiri bawah terdapat pohon dan di samping kiri terdapat
(63)
kebun bunga. Jalan terhubung dariGerbang01 yang merupakan jalur menuju map
Alun-Alun hingga Gerbang02 yang merupakan jalur menuju map Ladang.
Terdapat NPC Kim yang merupakan NPC penjual barang.
Gambar 8.6 Pemukiman02
Map Pemukiman02 merupakan tempat pemukiman penduduk kedua dan terdapat 3 bangunan. Di atas terdapat menara jam yang diapit beberapapohon dan
di depannya terdapat kursi. Jalan terhubung dariGerbang01 yang merupakan jalur
menuju map Taman Kota hingga Gerbang02 yang merupakan jalur menuju map
Ladang.
Gambar 8.7 Alun-Alun
Map Alun-Alun merupakan tempat mengadakan festival. Di tengah terdapat air mancur dikelilingi rumput di tepi map. Terdapat 3 Gerbang yaitu
(64)
menuju map Pemukiman01 dan Gerbang03 merupakan jalur menuju map
Pemukiman02.
Gambar 8.8 Pantai
Map Pantai merupakan pantai satu-satunya yang terdapat pada Farming
Life. Hanya terdapat 1 bangunan yang berada di map ini. Di samping bangunan
terdapat pohon dan kursi dan di depannya terdapat tempat api unggun, batang
pohon , dan perahu. Di sebelah kiri terdapat Laut yang terbentang dari atas
sampai ke bawah.Gerbang01 merupakan jalur menuju map Alun-Alun.
8.4.2 Perancangan Struktur Menu
Untuk mempermudah dalam pembuatan sistem, diperlukan perancangan struktur menu program yang akan dibangun. Perancangan struktur menu program ini membantu dalam merancang bagian-bagian dari sistem yang sebenarnya dan untuk mengetahui bagian mana yang nantinya akan diakses terlebih dahulu setelah
program selesai dibuat. Perancangan arsitektur menu pada aplikasi game Farming
Life dapat dilihat pada gambar 3.38.
Gambar 8.9 Arsitektur Menu
(65)
B. Lanjut: Merupakan submenu untuk memulai permainan berdasarkan data yang tersimpan.
C. Keluar: Merupakan submenu untuk keluar dari aplikasi
8.4.3 Perancangan Antarmuka
Perancangan antarmuka merupakan salah satu bagian penting dalam perancangan sistem karena nantinya antarmuka tersebut akan menjadi fasilitas yang menjembatani interaksi manusia dengan sistem. Perancangan antarmuka pada game ini digambarkan pada Gambar 3.19 sampai dengan Gambar 3.26.
Gambar 8.10 Perancangan Antarmuka Menu Utama
Perancangan antarmuka Menu Utama memiliki 3 pilihan submenu yaitu,
Mulai untuk memulai permainan dari awal, Lanjut untuk melanjutkan permainan
(66)
Gambar 8.11 Perancangan Antarmuka Intro
Perancangan antarmuka Intro menampilkan kotak dialog yang berada di bawah dan kotak nama yang berada di tengah. Kotak nama akan muncul ketika dialog berhenti. Memasukan nama karakter dengan mengetik huruf yang berada di
(67)
Gambar 8.12 Perancangan Antarmuka Arena Permainan
Perancangan antarmenu Arena Permainan memunculkan map yang dikunjungi oleh karakter utama. Tanggal terdapat pada pojok kanan atas.Stamina dan Koin terdapat pada pojok kiri atas.Daftar alat dan barang terdapat pada pojok kanan bawah.Menekan ESC untuk menampilkan menu permainan.Menekan ENTER ketika karakter utama berinteraksi dengan NPC Kim untuk menampilkan daftar barang.
(68)
Gambar 8.13 Perancangan Antarmuka Menu Permainan
Perancangan antarmuka Menu Permainan memiliki 3 submenu yaitu, Status
Permainan untuk menampilkan Status Permainan berlangsung, Simpan Data
untuk menampilkan Data Slot, Keluar Permainan untuk kembali ke menu utama.
(69)
Gambar 8.14 Perancangan Antarmuka Status Permainan
Perancangan antarmuka Status Permainan menampilkan Rating Game dan
(70)
Gambar 8.15 Perancangan Antarmuka Data Permainan
Perancangan antarmuka Data Slot menampilkan 3 slot untuk menyimpan data permainan. Tekan ESC untuk kembali ke menu permainan.
(71)
Gambar 8.16 Perancangan Antarmuka Daftar Barang
Perancangan antarmuka Daftar Baranguntuk membeli barang yang diinginkan.Pilih beli untuk membeli barang dan kembali ke Arena Permainan.Pilih batal untuk membatalkan pembelian dan kembali ke arena permainan.
(72)
Gambar 8.17 Perancangan Antarmuka Petunjuk
Perancangan antarmuka Petunjukuntuk memberikan petunjuk cara permainan.Tekan ENTER untuk masuk ke arena permainan.
8.4.4 Perancangan Pesan
Perancangan pesan adalah rancangan antar muka dari pesan yang akan ditampilkan apabila terjadi kesalahan dan pemberitahuan dalam proses yang dilakukan. Rancangan pesan dari gameini digambarkan pada Gambar 3.27 sampai dengan Gambar 3.28.
(73)
Gambar 8.18 Perancangan Pesan Peringatan Keluar Aplikasi
Gambar 8.19 Perancangan Pesan Peringatan Keluar Permainan 8.4.5 Jaringan Semantik
Jaringan semantik merupakan alat yang mangkus untuk merepresentasikan pemetaan data, yang bertujuan mencegah terjadinya duplikasi data.Jaringan semantik pada game ini digambarkan pada Gambar 3.29.
(74)
8.4.6 Perancangan Method
Perancangan method merupakan pemaparan proses pada method-method yang digunakan pada setiap kelas. Perancangan method digambarkan dengan menggunakan Flow Chart.
A. Method Controls()
Method controls() dipanggil untuk menggerakkan objek karakter, dapat dilihat pada gambar 3.30.
Gambar 8.21 Method controls()
B. Method Time()
Method time() akan dipanggil ketika telah memasuki arena permainan, dapat dilihat pada gambar 3.31.
(75)
Gambar 8.22 Method timeStart()
C. Method CreateData()
Method createData() dipanggil ketika save data slot dipilih, dapat
(76)
Gambar 8.23 Method createData()
D. Method LoadData()
Method loadData() dipanggil ketika load data slot dipilih, dapat dilihat pada gambar 3.33.
(77)
Gambar 8.24 MethodloadData()
E. Method drawMessage()
Method draw Message() dipanggil ketika sistem memunculkan pesan, dapat dilihat pada gambar 3.34.
(78)
Gambar 8.25 MethoddrawMessage()
F. Method canSee()
Method draw canSee() dipanggil ketika objek yang satu dengna yang lainnya bersinggungan, dapat dilihat pada gambar 3.35.
(79)
Gambar 8.26 MethodcanSee()
G. Method sebarSemut()
Method draw sebarSemut() dipanggiluntuk menyebarkan semut ke area permainan, dapat dilihat pada gambar 3.36.
(80)
Gambar 8.27 MethodsebarSemut()
H. Method addHero()
Method draw addHero() dipanggil untuk meletakan karakter utama ketika menampilkan arena permainan, dapat dilihat pada gambar 3.37.
(81)
Gambar 8.28 MethodaddHero ()
I. Method distance()
Method draw distance() dipanggil untuk meletakan karakter utama agar berada di depan atau di belakang objek lainnya, dapat dilihat pada gambar 3.38.
(82)
Gambar 8.29 Methoddistance ()
J. Method events()
Method draw events() dipanggil untuk mengeksekusi kejadian yang terjadi pada arena permainan, dapat dilihat pada gambar 3.39.
(83)
Gambar 8.30 Methodevents ()
K. Method farm()
Method draw farm() dipanggil untuk melakukan aksi menanam, dapat dilihat pada gambar 3.40.
(84)
(1)
Berdasarkan hasil pengujian dihasilkan nilai Cyclomatic Complexity yang sama yaitu 5, maka dapat disimpulkan bahwa pada proses pencarian dengan algoritma Koloni Semut berjalan dengan baik, karena setiap pengujian menghasilkan nilai yang sama.
(2)
Mengambil sampel sebanyak 30 orang dengan usia 12 tahun
ke atas.
Banyaknya pernyataan yang diberikan sebanyak 7 pernyataan. Diberikan 5 pilihan yang tersedia setiap pernyataan.
Rumus untuk menghitung persentasinya :
P = Nilai presentase yang dicari
P = Nilai presentase yang dicari
∑s = Jumlah skor yang didapatkan dari setiap pilihan jawaban dikalikan dengan nilai yang telah ditetapkan sebelumnya
(3)
Cara pengoprasian aplikasi dari menu sampai arena
permainan mudah dimengerti.
(4)
Konsep bercocok tanam sudah diterapkan pada game Farming
Life.
Sudah terdapat beberapa keunikan dalam aplikasi game
Farming Life .
Tingkat kelakuan pada NPC Hama bertambah.
Game Farming Life dapat mengibur dan membantu
(5)
Aplikasi game Farming Life ini masih dapat dikembangkan dengan cara menambahkan keunikan lainnya seperti adanya memancing maupun berternak. Untuk hama dapat pula ditambahkan jenis hama dan penyebabnya terserangnya.
(6)