• Tidak ada hasil yang ditemukan

Membangun aplikasi game Farming Life

N/A
N/A
Protected

Academic year: 2017

Membagikan "Membangun aplikasi game Farming Life"

Copied!
176
0
0

Teks penuh

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

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)

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

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

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

(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

(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

(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

(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

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

(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

(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

(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

(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

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

(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)
[image:31.595.219.406.110.313.2]

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)
[image:32.595.212.350.488.692.2]

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

(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

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

[image:40.595.88.499.385.709.2]

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.

(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

(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

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

(46)
[image:46.595.96.475.92.740.2]
(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

(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

(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

(50)
[image:50.595.90.481.125.389.2]

Tabel 3.10 Skenario 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.11 Skenario 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.12 Skenario 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

(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

[image:54.595.188.380.245.443.2]

operasi.Class diagram ditunjukan pada Gambar 3.9.Pendefinisian kelas ditunjukan pada

Tabel 3.13.

Tabel 3.13 Definisi 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

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

<

Gambar

Gambar 2.4 Contoh dari Use Case Diagram [9]
Gambar 2.5 Contoh dari Activity Diagram [9]
Gambar 3.3 My Wonderful Farm [15]
Gambar 3.4 FlowchartPenerapan Algoritma Koloni Semut
+7

Referensi

Dokumen terkait

Dari hasil penelitian didapat persentase sebanyak 0,2 %, Jika dibandingkan dengan penelitian yang dilakukan di RSUD Kabupaten Sumedang, persentase obat yang rusak atau

Anggota Komite yang masih atau yang sudah tidak menjabat lagi sebagai Anggota Komite, wajib menjaga kerahasiaan dokumen, data dan informasi perusahaan yang diperoleh sewaktu

Oleh karena itulah, dalam kesempatan ini penulis ingin membuat sebuah sistem arus kas agar arus kas pada Perusahaan X tersebut dapat dipertanggungjawabkan secara cepat,

Melalui upaya dakwah bilisan hal pembinaan dan penyuluhan masyarakat desa melalui program Desa binaan keluarga sakinah (DBKS) kemudian dapat menfokuskan diri pada

Nilai A akan diperoleh apabila laboratorium peserta uji profisiensi melaporkan semua senyawa-senyawa kimia berbahaya sesuai dengan yang ditambahkan ke dalam matrik

PENYELIDIKAN TERKEHADAPAN DAN JARINGAN INDUSTRI &amp; MASYARAKAT IPSAS (Baharu) melalui program fokus yang berencana dan promosi dengan pelbagai pihak, menggunakan pelbagai

Kelompok komoditas yang memberikan andil/sumbangan inflasi pada April 2017 di Kota Singkawang, yaitu kelompok bahan makanan sebesar -0,1290 persen; kelompok makanan jadi,

Keunggulan model pembelajaran Advance Organizer diperoleh dengan menggunakan suatu organizer (kerangka umum). Peta konsep adalah bentuk spasial konsep- konsep