• Tidak ada hasil yang ditemukan

Membangun aplikasi game selamatkan masakan nusantara Indonesia

N/A
N/A
Protected

Academic year: 2017

Membagikan "Membangun aplikasi game selamatkan masakan nusantara Indonesia"

Copied!
136
0
0

Teks penuh

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

Tempat/Tgl Lahir : Bandung, 15 April 1990

Jenis Kelamin : Laki - Laki

Status Perkawinan : Belum Menikah

Agama : Islam

Alamat Sekarang : Komplek Bumi Panyileukan Blok C 12 No 11

Bandung

Mobile Phone : 085793122115

Email : alaziz10108008@gmail.com

2. Pendidikan Formal

1996 - 2002 : SD PANYILEUKAN 02 BANDUNG

2002 - 2005 : SMPN 28 BANDUNG

2005 - 2008 : SMAN 25 BANDUNG

(5)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

AL AZIZ

10108008

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(6)

iii

KATA PENGANTAR

Assalamu’alaikum Wr.Wb.

Puji syukur alhamdulillah penulis panjatkan atas kehadirat Allah SWT

sang Pencipta alam semesta, manusia, dan kehidupan beserta seperangkat aturan-

Nya, karena berkat limpahan rahmat, taufiq, hidayah serta inayah-Nya, sehingga

penulis dapat menyelesaikan skripsi yang berjudul ” Pembangunan Aplikasi

Game Selamatkan Masakan Nusantara Indonesia” ini dapat terselesaikan tepat

pada waktunya.

Shalawat serta salam semoga senantiasa tercurahkan kepada baginda Nabi

Besar Muhammad SAW beserta seluruh keluarga dan sahabatnya yang selalu

membantu perjuangan beliau dalam menegakkan Dinullah di muka bumi ini.

Penyusunan skripsi ini adalah merupakan salah satu syarat untuk

memperoleh gelar program Strata 1 Fakultas Teknik dan Ilmu Komputer,

Program Studi Teknik Informatika di Universitas Komputer Indonesia. Dalam

penulisan skripsi ini, tentunya banyak pihak yang telah memberikan bantuan baik

moril maupun materil. Oleh karena itu penulis ingin menyampaikan ucapan

terimakasih yang tiada hingganya kepada :

1. Kepada kedua orang tua, Hamidi (Ayah yang selalu mendukung penulis

dalam berbagai hal, terimakasih ayah), Rismawati (Seorang ibu terbaik,

yang tentunya selalu memberikan segala daya dan upayanya).

2. Bapak Andri Heryandi, S.T., M.T. selaku dosen pembimbing dan penguji

2 yang telah memberikan bimbingan dan dorongan dalam penyusunan

skripsi ini.

3. Bapak Irawan Afrianto, S.T., M.T. selaku penguji 1 yang telah banyak

membantu dalam penyusunan skripsi ini dan Ketua Program Studi Teknik

Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer

Indonesia.

4. Ibu Ednawati Rainarli, S.Si., M.Si. selaku penguji 3 yang telah banyak

membantu dalam penyusunan skripsi ini.

(7)

iv

6. Bapak Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Program

Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer,

Universitas Komputer Indonesia.

7. Bapak Dr. Ir. Eddy Soeryanto Soegoto selaku Rektor Program Studi

Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas

Komputer Indonesia.

8. Seluruh dosen dan karyawan Program Studi Teknik Informatika,

Universitas Komputer Indonesia, atas ilmu, bimbingan dan bantuannya

hingga penulis selesai menyusun skripsi ini.

9. Rekan-rekan di Program Studi Teknik Informatika, Fakultas Teknik dan

Ilmu Komputer, Universitas Komputer Indonesia, khususnya IF-1 2008

yang telah banyak membantu penulis.

Penulis menyadari bahwa skripsi ini belum sempurna, baik dari segi

materi maupun dalam penyajiannya. Untuk itu saran dan kritik yang membangun

dari para pembaca sangat diharapkan dalam penyempurnaan skripsi ini.

Terakhir penulis berharap, semoga skripsi ini dapat memberikan ilmu

yang bermanfaat dan menambah wawasan bagi pembaca, khususnya bagi penulis. Wassalamu’alaikum Wr. Wb.

Bandung, Februari 2014

(8)

v

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xiii

DAFTAR SIMBOL ... xv

DAFTAR LAMPIRAN ... xviii

BAB I PENDAHULUAN... 1

I.1 Latar Belakang Masalah ... 1

I.2 Perumusan Masalah... 2

I.3 Maksud dan Tujuan ... 2

I.4 Batasan Masalah ... 2

I.5 Metodologi Penelitian ... 3

I.6 Sistematika Penulisan ... 4

BAB II TINJAUAN PUSTAKA ... 7

II.1 Permainan ... 7

II.1.1 Definisi Permainan ... 7

II.1.2 Jenis Permainan... 8

II.1.3 Permainan Edukasi ... 10

II.1.4 Permainan Memasak ... 11

II.1.5 Kriteria Permainan ... 12

II.2 Kecerdasan Buatan ... 13

II.2.1 Pengertian Kecerdasan Buatan ... 13

II.2.2 Tujuan Akhir Kecerdasan Buatan ... 13

II.2.3 Kecerdasan Buatan yang digunakan ... 14

II.3 OOP (Object Oriented Programming) ... 15

II.4 Java ... 16

(9)

vi

II.10 Visual Paradigm ... 29

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 31

III.1 Analisis Sistem ... 31

III.1.1 Analisis Masalah ... 31

III.1.2 Analisis Permainan ... 31

III.1.3 Analisis Kebutuhan Non Fungsional... 50

III.1.4 Analisis Kebutuhan Fungsional ... 52

III.2 Perancangan Sistem... 92

III.2.1 Perancangan Struktur Menu ... 93

III.2.2 Perancangan Antar Muka ... 93

III.2.3 Perancangan Pesan ... 106

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 109

IV.1 Implementasi Sistem ... 109

IV.1.1 Implementasi Perangkat Keras ... 109

IV.1.2 Perangkat Lunak (Software) ... 109

IV.1.3 Implementasi Aplikasi ... 110

IV.2 Pengujian Sistem ... 110

IV.2.1 Skenario Pengujian Aplikasi ... 111

IV.2.2 Hasil Pengujian (Black Box) ... 112

IV.2.3 Kesimpulan Pengujian (Black Box) ... 115

IV.2.4 Kasus dan Hasil Pengujian (White Box) ... 116

IV.2.5 Pengujian Beta ... 121

IV.2.6 Kuesioner ... 121

IV.2.7 Kesimpulan Pengujian Kuesioner ... 122

BAB V KESIMPULAN DAN SARAN... 125

V.1 Kesimpulan ... 125

(10)
(11)

127

DAFTAR PUSTAKA

[1] Danny S, Tamtomo, Sandi, Karina Naftali, 57 Resep Masakan Sumatera

dan Jawa, Penerbit PT Media Boga Utama, Cetakan Pertama, Tahun 2011.

[2] T. Sutojo, S.Si, M.Kom.,KecerdasanBuatan, PenerbitAndi, 2011.

[3] Pressman, Software Engineering : A Practioner’s Guide, Fifth edition.

[4] J. Von Neumann and O. Morgenstern, Theory of Games and Economic

Behavior (3d ed. 1953).

[5] http://www.arcademicskillbuilders.com/ di akses tanggal : 01-12-2013

20:01

[6] http://www.games.co.id/ di akses tanggal : 18-01-2014 16:30

[7] Russel, Stuart and Norvig, Peter, 1995, Artificial Intelligence: A Modern

Approach.

[8] Lenat and Feigenbaum, 1995, On The Thresholds Of Knowledge.

[9] Dr. Suyoto, Intelegensi Buatan: Teori dan Pemrograman, Penerbit Gava

Media, Yogyakarta 2004.

[10] Rosa A.S, Modul Pembelajaran Rekayasa Perangkat Lunak (Terstruktur

dan Berorientasi Objek), Penerbit Modula, Bandung 2011.

[11] Tim Penelitian dan Pengembangan Wahana Komputer, Pemrograman

Java, penerbit salemba infotek, jakarta 2003.

[12] http://www.greenfoot.org/doc di akses tanggal : 01-12-2013 20:05

[13] http://www.sparxsystems.com/about.html di akses tanggal : 01-12-2013

20:07

[14] http://www.visual-paraadigm.com/aboutus/ di akses tanggal : 01-12-2013

(12)

1

Kebudayaan adalah ciptaan manusia yang indah. Masakan adalah salah

satu dari kebudayaan yang indah itu. Negara Indonesia yang sangat luas dengan

jumlah sukunya yang banyak telah melahirkan kebudayaan yang sangat beragam

termasuk masakan. Perbedaan budaya yang membuat cara memasak dan meracik

masakan yang berbeda, justru memperkaya khasanah masakan Indonesia [1]

(Danny S, Tamtomo, Sandi, Karina Naftali, 2011).

Keunikan, keanekaragaman dan ciri khas rasa dari masakan nusantara

membuat banyaknya masakan nusantara yang di gemari oleh generasi muda saat

ini. Selain itu generasi muda saat ini banyak yang ingin mencoba membuat sendiri

masakan yang mereka gemari, akan tetapi yang sering menjadi kendala untuk

mempelajari adalah bagaimana cara membuat dan apa saja bahan yang diperlukan

dalam masakan tersebut. Kemudian muncul masalah dalam hal mempelajari

bagaimana tata cara memasak dengan cara yang interaktif dan menarik serta

menghibur. Sehingga akan menumbuhkan rasa keinginan untuk mengaplikasikan

masakan yang mereka gemari.

Game adalah permainan yang menggunakan media elektronik, merupakan

sebuah hiburan berbentuk multimedia yang dibuat semenarik mungkin agar

permain bisa mendapatkan sesuatu sehingga adanya kepuasaan batin. Bermain

game merupakan salah satu sarana pembelajaran. Game edukasi dibuat dengan

tujuan agar game benar-benar dapat mendidik, menambah pengetahuan, serta

menantang dengan adanya algoritma A* di dalam permainan, dan agar tidak

monoton dengan berbedanya konten pada setiap tingkat permainan.

Berdasarkan permasalahan yang dihadapi, permainan dapat menjadi salah

satu media untuk memberikan edukasi tentang tata cara dalam memasak masakan

nusantara Indonesia dan bahan yang digunakan. Sehingga dengan adanya aplikasi

ini dapat membantu generasi muda untuk menumbuhkan rasa keinginan untuk

(13)

Dengan permasalahan yang sudah dijelaskan, maka diambil tema tugas akhir

dengan judul “Membangun Aplikasi Game Selamatkan Masakan Nusantara Indonesia”.

I.2 Perumusan Masalah

Berdasarkan uraian pada latar belakang masalah yang telah dijelaskan,

maka perumusan masalah adalah :

1. Bagaimana membangun suatu permainan yang dapat memberikan

pembelajaran memasak kepada generasi muda?

2. Bagaimana membangun suatu permainan yang menantang, tidak

monoton, interaktif, menarik serta menghibur?

I.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan

tugas akhir ini adalah untuk membangun aplikasi game selamatkan masakan

nusantara Indonesia.

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah.

1. Memberikan pembelajaran tentang memasak kepada generasi muda

melalui permainan.

2. Membangun permainan yang menantang, tidak monoton, interaktif,

menarik serta menghibur.

I.4 Batasan Masalah

Agar dalam penulisan ini tidak menyimpang dari permasalahan dan

sasaran yang akan dicapai, maka ada batasan pada masalah yang dibahas. Batasan

masalah yang ditetapkan dalam skripsi ini adalah:

1. Permainan ini mencakup masakaan nusantara Indonesia.

2. Aplikasi permainan yang akan dibangun berbasis desktop.

3. Aplikasi permainan yang akan dibangun bergrafis 2 dimensi.

4. Tingkat permainan dibatasi 3 tingkat permainan dan 3 tingkat memasak

pada setiap akhir permainan.

5. Permainan yang akan dibangun bersifat single player.

6. Artificial Intelligence yang akan diterapkan dalam game ini

(14)

Boss burung sehingga memiliki kemampuan untuk mencari rute

terpendek untuk menyerang pemain.

7. Pemodelan data yang dilakukan berbasis Object Oriented Programming

dengan menggunakan UML diagram.

8. Bahasa pemrograman yang akan digunakan adalah Java.

9. Aplikasi game dibangun menggunakan IDE Greenfoot 2.2.1.

I.5 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah

sebagai berikut :

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah

sebagai berikut :

a. Studi Literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper

dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi

Teknik pengumpulan data dengan mengadakan penelitian dan

peninjauan langsung terhadap permasalahan yang diambil.

2. Tahap pembuatan perangkat lunak

Teknik analisis data dalam pembuatan perangkat lunak menggunakan

paradigma perangkat lunak secara waterfall [3] (Pressman, Software

Engineering : A Practioner’s Guide, Fifth edition), yang meliputi beberapa proses diantaranya:

a. Software Requirements Analysis

Proses pengumpulan data yang dibutuhkan dalam pembentukan

perangkat lunak. Menganalisis program yang akan dibangun, fungsi yang

diperlukan, dan kinerja program.

b. Design

Proses penerjemahan dari data yang telah dianalisis kedelam bentuk

struktur data, arsitektur perangkat lunak, antarmuka, dan algoritma detail.

(15)

Proses penerjemahan data atau pemecahan masalah yang telah dirancang

kedalam bahasa pemograman tertentu.

d. Testing

Melakukan pengujian terhadap perangkat lunak yang telah dibangun

untuk mengungkap kesalahan dan menguji perangkat lunak untuk

memastikan proses data yang dimasukan sesuai dengan hasil aktual yang

dibutuhkan.

e. Support

Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat

mengalami perubahan–perubahan karena kesalahan yang telah ditemukan

atau penambahan sesuai dengan permintaan user.

Gambar I.1 Model Waterfall I.6 Sistematika Penulisan

Sistematika penulisan ini disusun sebagai gambaran umum tentang

penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai

berikut :

BAB I PENDAHULUAN

Bab ini menguraikan tentang latar belakang permasalahan dan identifikasi

masalah yang dihadapi, menentukan maksud dan tujuan dibuat aplikasi ini,

(16)

BAB II. LANDASAN TEORI

Bab ini berisi pembahasan berbagai macam konsep dasar dan teori-teori

yang menunjang dan ada kaitannya dengan topik tugas akhir yang diambil.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Bab ini menganalisis masalah yang dihadapi dalam membangun aplikasi

game selamatkan masakan nusantara Indonesia.

BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi tentang perancangan sistem dan tahapan-tahapan yang

dilakukan dalam menerapkan sistem yang telah dirancang.

BAB V. KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan

(17)

7

II.1.1 Definisi Permainan

Permainan terdiri atas sekumpulan peraturan yang membangun situasi

bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi

yang dibangun untuk mengoptimalkan kemenangan sendiri atau meminimalkan

kemenangan lawan. Peraturan menentukan kemungkinan tindakan untuk setiap

pemain, sejumlah keterangan diterima setiap pemain sebagai aturan dalam

bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi [4] (J.

Von Neumann and O. Morgenstern, 1953).

Permainan video umumnya menyediakan sistem penghargaan,

misalnya score (nilai) yang dihitung berdasarkan tingkat keberhasilan yang

dicapai dalam menyelesaikan tugas-tugas yang ada di dalam permainan video

tersebut. Sistem elektronik yang digunakan untuk menjalankan permainan video

disebut platform, contohnya adalah komputer pribadi (personal computer)

ataupun konsol permainan (game console).

1. Permainan komputer (Computer Game)

Permainan computer adalah permainan video yang di mainkan pada

komputer pribadi, dan bukan pada konsol permainan. Permainan komputer

telah berevolusi dari sistem grafis sederhana menjadi sangat kompleks dan

mutakhir.

Permainan online adalah jenis permainan video atau permainan komputer

dengan menggunakan jaringan internet sebagai media interaksinya.

Permainan online terdiri dari dua unsur utama, yaitu server dan client

(klien). Server adalah penyedia layanan permainan yang merupakan dasar

agar klien yang terhubung dapat memainkan permainan dan dapat

melakukan komunikasi dengan baik. Suatu server pada prinsipnya hanya

pelaksana permainan dan menghubungkan klien-klien. Sedangkan klien

(18)

Server. Contoh permainan online adalah Dragon nest, Gunbound, Ragnarok

Online, Seal dan lain-lain.

2. Permainan Konsol (Game Console)

Permainan konsol adalah sebuah bentuk media interaktif yang berfungsi

sebagai hiburan. Permainan ini pada umumnya berisi gambar-gambar dan

suara-suara yang dihasilkan oleh sebuah alat permainan konsol, dan

ditampilkan pada sebuah televisi atau peralatan audio visual yang sejenis.

Permainan ini sendiri dapat dikendalikan dengan menggunakan alat kendali

yang dipegang yang terhubung pada konsol yang dinamakan controller

(pengendali). Pengendali ini pada umumnya terdiri dari sejumlah

tombol-tombol dan kendali arah yang masing-masing bagian memiliki fungsi

tersendiri. Fungsi dari alat pengendali tersebut untuk mengendalikan

maupun berinteraksi dengan gambar yang ada di layar.

II.1.2 Jenis Permainan

Permainan dari tahun pertama dibuat sampai sekarang semakin banyak

jenis dan teknologi yang digunakan semakin canggih. Dari semua permainan yang

telah dibuat di dunia, permainan tersebut dikelompokkan menjadi beberapa jenis.

Beberapa contoh jenis-jenis permainan yang sering dimainkan dikelompokkan

sebagai berikut:

a. Action Game (Permainan Aksi)

Jenis permainan ini memiliki fitur utama berupa banyaknya aksi di mana

pemain harus memiliki keterampilan dengan reaksi yang cepat untuk

menghindari musuh atau menghindari rintangan. Pengembang permainan

jenis ini perlu memastikan permainan yang dibuat dimaksimalkan sehingga

pemain memiliki pengalaman dalam bermain yang baik, dan tidak

terganggu oleh waktu proses yang lama.

Contoh: Metal Gear Solid

b. Adventure Game (Permainan Bertualang)

Jenis permainan ini pada umumnya membuat pemain harus berjalan

(19)

atau gua yang berkelok dan planet yang jauh. Pemain melakukan navigasi

terhadap suatu tempat untuk mencari pesan-pesan rahasia dan memperoleh

objek yang memiliki kemampuan yang bervariasi. Untuk membuat

permainan ini membutuhkan perencanaan yang akurat sehingga memiliki

alur cerita yang menarik bagi pemain.

Contoh: Tomb Raider

c. Fighting Game (Permainan Bertarung)

Jenis permainan ini pada umumnya pemain bertarung dengan lawan

tandingnya dengan cara memukul, menendang, atau menggunakan jurus

sampai lawan tandingnya kalah.

Contoh: Tekken, Mortal Kombat, dan lain-lain.

d. Sport Game (Permainan Olahraga)

Permainan jenis ini berupa kompetisi antara dua pemain atau lebih, di

mana pemain dapat berupa individual atau kelompok. Contoh permainan

jenis ini adalah sepakbola, bola basket, tenis, bilyard, dan lain-lain.

Permainan ini tergantung seberapa lama waktu yang dibutuhkan dalam satu

pertandingan.

Contoh: Pro Evolution Soccer

e. Role Playing Game (Permainan Beralur)

Permainan ini seringkali berupa multi-player (Lebih dari satu pemain) di

mana setiap pemain memiliki karakter dengan kemampuan, kekuatan, dan

kelemahan yang berbeda. Pemain saling berkompetisi, berinteraksi, dan

bertempur satu sama lain. Tampilan grafik yang berbeda untuk setiap

karakter pemain dan memiliki storyline (alur cerita) yang mendebarkan

sehingga memberikan pengalaman yang menarik dan berbeda di dalam

bermain.

Contoh: Final Fantasy

f. Strategy Game (Permainan Strategi)

Jenis permainan ini pada umumnya pemain menggunakan taktik dan

(20)

tentara dan alat perang menggunakan sumber daya yang ada secara

bijaksana dan teliti.

Contoh: Command & Conquer

g. Platform Game

Permainan ini mengharuskan pemain mengarahkan suatu obyek dengan

melalui berbagai tahap atau tingkatan area untuk menyerang musuh dan

menghindar terhadap serangan. Jenis permainan ini hampir serupa dengan

permainan aksi, tetapi aksi yang dilakukan tidak secepat permainan aksi.

Contoh: Sonic The Hedgehog & Mario Bros

h. Puzzle Game (Permainan Teka-teki)

Permainan ini pada umumnya membuat pemain menggunakan

kemampuan berpikirnya sebagai pengganti keterampilan reaksi yang cepat

karena terdapat rahasia yang perlu dipecahkan. Permainan ini lebih bersifat

statis dibanding permainan aksi. Pembuatan permainan jenis ini seringkali

ditunjang dengan algoritma kecerdasan buatan.

Contoh: 7 Wonders of The Ancient World, Zuma, dan lain-lain.

i. Simulation Game (Permainan Simulasi)

Jenis Permainan ini memberikan pengalaman atau interaksi secara mirip

dengan kendaraan aslinya, meskipun terkadang kendaraan tersebut masih

berupa contoh atau bahkan fiktif, tapi ada penekanan khusus pada detail dan

pengalaman nyata menggunakan kendaraan tersebut.

Contoh: Gran Turismo

II.1.3 Permainan Edukasi

Permainan edukasi merupakan permainan yang memberikan pendekatan

kepada pengguna untuk belajar. Pengguna dari permainan ini ditujukan kepada

anak taman kanak-kanak hingga sekolah dasar. Permainan edukasi ini biasanya

berisi permainan berhitung dan permainan mengenal kata, namun masih ada juga

edukasi yang lain.

Permainan edukasi online adalah permainan edukasi yang memanfaatkan

fasilitas online (terhubung dengan internet) dalam mengaplikasikannya. Berikut

(21)

(http://www.arcademicskillbuilders.com/). Terdapat beberapa jenis permainan

edukasi dengan berbagai kategori, diantaranya:

1. Penjumlahan

2. Pengurangan

3. Perkalian

4. Pembagian

5. Aljabar

6. Desimal

7. Pecahan

8. Bilangan Bulat

9. Uang

10. Waktu

11. Geografi

12. Seni Berbahasa

13. Mengetik

Permainan yang digunakan dalam proses pembelajaran dan dalam

permainan harus mengandung unsur mendidik atau nilai-nilai pendidikan. Untuk

pemilihan permainan diusahakan agar seluruh aspek yang dimiliki anak dapat

berkembang dengan baik, seperti dari segi kognitif, afektif dan juga psikomotorik.

Karena itu perlu ditunjang alat bantu yang tepat saat bermain.

II.1.4 Permainan Memasak

Permainan memasak merupakan permainan yang memberikan pendekatan

kepada pengguna untuk belajar tentang memasak. Pengguna dari permainan ini

ditujukan kepada anak yang memiliki kegemaran memasak. Permainan memasak

biasanya berisi tentang tata cara memasak, bumbu yang digunakan, cara

mengolah masakan yang benar. Contoh untuk permainan memasak online dapat

dijumpai pada [6] (http://www.games.co.id/).

II.1.5 Kriteria Permainan

Sudah banyak pihak Indonesia yang telah serius mengembangkan

(22)

dan kegiatan pendidikan. Beberapa kriteria pembuatan permainan pembelajaran

yang baik sebagai berikut :

a. Menarik dan Menantang

Dari judul, awalan, dan isi berikan kesan yang menarik dan menantang

bagi pemain agar pemain merasa sedang melakukan misi tertentu.

b. Tujuan Pembelajaran Jelas

Pemain haru mengetahui tujuan setiap langkah dari permainan tersebut

sehingga menciptakan motivasi belajar bagi pemain. Tujuan pembelajaran

harus ditentukan sehingga tidak terlalu mudah dan tidak terlalu sulit.

c. Persepsi yang baik

Buatlah kondisi yang nyaman dan dapat dimengerti pemain pada saat

memulai permainan.

d. Komunikatif

Setiap yang ditampilkan di dalam permainan harus menjadi komunikasi

yang baik dengan pemain agar tujuan pembelajaran dipahami pemain.

e. Ilustrasi dan Animasi Jelas

Diusahakan ilustrasi dan animasi yang terdapat dalam permainan

mendekati kenyataan, sehingga pemain akan merasa dalam kondisi yang

nyata dan mudah dalam membayangkan kembali.

f. Evaluasi dan Umpan Balik Kreatif

Berikan kepada pemain tes yang kreatif berupa misi, sehingga pemain

tidak sadar bahwa sedang dalam proses pembelajaran dan berikan umpan

balik yang kreatif, dapat berupa nilai atau hadiah sehingga pemain memiliki

motivasi untuk memainkan kembali.

II.2 Kecerdasan Buatan

II.2.1 Pengertian Kecerdasan Buatan

Kecerdasan buatan adalah ilmu dan rekayasa, yang membuat mesin

mempunyai kecerdasan tertentu khususnya program komputer yang cerdas.

(23)

dalam dunia. Ada beberapa macam jenis dan derajat intelegensi untuk manusia,

binatang dan beberapa mesin.

AI berhubungan dengan penggunaan komputer untuk melaksanakan tugas

atau menyelesaikan masalah yang memerlukan kecerdasan atau kepintaran. Pada

umumnya komputer memerlukan aplikasi atau perangkat lunak untuk

melaksanakan tugas atau menyelesaikan masalah, maka aplikasi atau perangkat

lunak yang berdasarkan teknologi AI di perlukan. Kecerdasan perlu dilihat dari

berbagai sudut pandang, pemahaman, inferensi, daya penjelasan, pembelajaran,

komunikasi dan lain-lain.

Menurut Stuart, Russel, Peter dan Norvig mengelompokkan definisi

kecerdasan buatan dalam empat kategori [7], yaitu :

1. Sistem yang dapat berfikir seperti manusia

2. Sistem yang dapat bertingah laku seperti manusia

3. Sistem yang dapat berfikir secara rasional

4. Sistem yang dapat bertingkah laku rasional

II.2.2 Tujuan Akhir Kecerdasan Buatan

Menurut Lenat dan Feigenbaum (1992) [8], terdapat sembilan tujuan AI

yaitu:

a. Memahami kognisi manusia.

Bagaimana manusia dalam menyelesaikan masalah, memiliki ingatan

pengetahuan yang mendalam, belajar, membuat keputusan, dan lain-lain.

b. Otomatisai biaya-efektif

Menggantikan manusia dalam tugas-tugas intelegensi.

c. Penguatan intelegensi biaya dan efektif

Membangun sistem untuk membantu manusia berpikir lebih baik, lebih

cepat, lebih dalam, dan lain-lain.

d. Intelegensi manusia super

Membangun program yang mempunyai kemampuan untuk melebihi

intelegensi manusia.

e. Problem-solving umum

(24)

f. Wacana koheren

Komunikasi dengan manusia mengguanakan bahasa, alami.

g. Otonomi

Mempunyai sistem intelegensi yang beraksi atas inisiatif sendiri.

h. Belajar (induksi)

Sistem sebaiknya dapat untuk memperoleh data sendiri, dan tau

bagaimana memperolehnya.

i. Informasi

Simpan informasi dan mengetahui bagaimana untuk mengambil

informasi.

II.2.3 Kecerdasan Buatan yang digunakan

Algoritma A* (A Star) merupakan algoritma Best First Search yang

menggabungkan Uniform Cost Search dan Greedy Best First Search. Biaya yang

diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan.

Dalam notasi matematika dituliskan sebagai : f(n) = g(n) + h(n). Dengan

perhitungan biaya seperti ini, algoritma A* (A Star) adalah complete dan optimal.

Sama dengan algoritma dasar Best First Search, algoritma A* (A Star) ini

juga menggunakan OPEN dan CLOSED. Terdapat tiga kondisi bagi setiap

suksesor yang dibangkitkan, yaitu : sudah berada di OPEN, sudah berada di

CLOSED, dan tidak berada di OPEN maupun CLOSED.

Pada ketiga kondisi tersebut diberikan penanganan yang berbeda-beda.

Jika suksesor sudah berada di OPEN, maka dilakukan pengecekan apakah perlu

pengubahan parent atau tidak tergantung pada nilai g nya melalui parent lama

atau parent baru. Jika melalui parent baru memberikan nilai g yang lebih kecil,

maka dilakukan pengubahan parent. Jika pengubahan parent dilakukan, maka

dilakukan pula perbaruan (update) nilai g dan f pada suksesor tersebut. Dengan

perbaruan ini, suksesor tersebut memiliki kesempatan yang lebih besar untuk

terpilih sebagai simpul terbaik (best node).

Jika suksesor sudah pernah berada di CLOSED, maka akan dilakukan

(25)

perbaruan nilai g dan f pada suksesor tersebut serta pada semua “anak cucunya”

yang sudah pernah berada di OPEN. Dengan perbaruan ini, maka anak cucunya

tersebut memiliki kesempatan lebih besar untuk terpilih sebagai simpul terbaik

(best node).

Jika suksesor tidak berada di OPEN maupun CLOSED, maka suksesor

tersebut dimasukkan ke dalam OPEN. Tambahkan suksesor tersebut sebagai

suksesornya best node. Hitung biaya suksesor tersebut dengan rumus f = g + h [9]

(Dr. Suyoto, Intelegensi Buatan: Teori dan Pemrograman).

II.3 OOP (Object Oriented Programming)

Pemrograman berorientasi objek adalah suatu strategi pembangunan

perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan

objek yang berisi data dan operasi yang diberlakukan terhadapnya. Pemrograman

berorientasi objek merupakan suatu cara bagaimana system perangkat lunak

dibangun melalui pendekatan objek secara sistematis. Pemrograman berorientasi

objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas.

Pemrograman berorientasi objek meliputi rangkaian aktivitas analisis berorientasi

objek, perancangan berorientasi objek, pemrograman berorientasi objek dan

pengujian berorientasi objek.

Pada saat ini, pemrograman berorientasi objek banyak dipilih karena

metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat

transformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya

pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini

berbeda dengan masa lalu. Aplikasi yang dikembangkan saat ini sangat beragam

(aplikasi bisnis, real-time, utility, dan sebagainya) dengan platform yang

berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang

dapat mengakomodasi ke semua jenis aplikasi tersebut [10] (Rosa A.S, Modul

Pembelajaran Rekayasa Perangkat Lunak).

Keuntungan menggunakan pemrograman berorientasi objek adalah

sebagai berikut:

1. Meningkatkan produktivitas

(26)

3. Kemudahan pemeliharaan

4. Adanya konsistensi

5. Meningkatkan kualitas perangkat lunak

Berikut ini beberapa bahasa pemrograman yang sudah menggunakan

konsep pemrograman berbasis objek adalah:

1. C++

2. Visual C++

3. Visual Basic

4. C#

5. PHP

6. Java

II.4 Java

Java adalah bahasa pemrograman yang sederhana, berorientasi-objek,

bertipe statik, terkompilasi, multi-threaded, garbage collected, bebas arsitektur,

robust (tangguh), aman, dan dapat di perluas.

a. Sederhana

Pengembangan java banyak membuang fitur-fitur yang tidak di perlukan

seperti yang dimiliki oleh bahasa pemrograman tingkat tinggi lainnya.

b. Berorientasi-objek

Seperti halnya C++, java menggunakan kelas-kelas untuk mengelola

kode ke dalam modul-modul logika.

c. Bertipe statik

Semua objek yang digunakan dalam program harus di deklarasikan

sebalum digunakan.

d. Terkompilasi

Sebelum dapat menjalankan program yang di tulis dengan bahasa

(27)

e. Multi-treaded

Program java dapat berisi eksekusi multiple treadeds, yang

memungkinkan program mengulas citra pada layar pada satu thread,

sementara tetap menerima masukan dari keyboard pada thread utamanya.

f. Garbage collected (pembuang sampah)

Program java menyingkirkan sendiri ‘sampah-sampah’ yang tak berguna.

g. Bebas arsitektur

Pada dasarnya, java tidak dirancang untuk prosesor ataupun sistem

operasi tertentu.

h. Robust (tangguh)

Karena interpreter java memeriksa seluruh akses sistem yang dilakukan

program, maka program java tidak akan membuat sistem menjadi crash.

i. Aman

Sistem java hanya memverifikasi seluruh akses memori tetapi juga

menjamin bahwa tidak ada virus yang ikut pada applet yang sedang

berjalan.

j. Dapat diperluas

Program java mendukung metode native yakni fungsi-fungsi yang

dituliskan dalam bahasa lain, biasanya C++ [11] (Tim Penelitian dan

Pengembangan Wahana Komputer, Pemrograman Java).

II.5 UML (Unified Modeling Language)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah

menjadi standar dalam industri untuk visualisasi, merancang dan

mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar

untuk merancang model sebuah sistem.

Dengan menggunakan UML kita dapat membuat model untuk semua jenis

aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras,

sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman

apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep

(28)

berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian,

UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan

syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk

menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna

tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut

dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah

ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh

OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented

Software Engineering).

UML menyediakan macam diagram yang dapat digunakan untuk

memodelkan aplikasi berorientasi objek yang dibuat (Rosa A.S, Modul

Pembelajaran Rekayasa Perangkat Lunak), yaitu :

1. use case diagram untuk memodelkan proses bisnis.

2. class diagram untuk memodelkan struktur kelas.

3. statechart diagram untuk memodelkan perilaku objects di dalam sistem.

4. activity diagram untuk memodelkan perilaku Use Cases dan objects

di dalam system.

5. sequence diagram untuk memodelkan pengiriman pesan (message) antar

objects.

6. collaboration diagram untuk memodelkan interaksi antar objects.

7. component diagram untuk memodelkan komponen object.

8. deployment diagram untuk memodelkan distribusi aplikasi.

II.6 Greenfoot

Greenfoot merupakan software untuk pemrograman OOP (Object

Oriented Programming), didukung dengan aplikasi grafis berbasiskan

pemrograman Java. Greenfoot diprakarsai oleh Michael Kolling pada 2003.

Tujuan dibuatnya Greenfoot ini awalmulanya adalah menarik minat anak-anak

untuk belajar memprogram.

Menggunakan Greenfoot sama seperti memprogram biasa berbentuk teks.

(29)

seperti class browser, editor, dan compiler. Greenfoot juga mendukung

bahasa Javasecara penuh dan perangkat tersebut membuat agan lebih mudah

dalam memahami konsep OOP. Dalam Greenfoot terdapat proyek yang

dinamakan scenario. Dalam proyek tersebut, kita bisa membuat dua macam tipe

class dari library Greenfoot, yaitu class world dan actor. World merupakan latar

dari game yang akan dibuat. Class actor adalah kelas yang berfungsi sebagai

karakter pada game yang akan kita buat [12] (http://www.greenfoot.org/doc).

Tabel II.1 Greenfoot

World Metode World tersedia untuk world.

Actor Metode actor tersedia untuk semua

turunan actor.

Greenfoot Digunakan untuk berkomunikasi dengan

lingkungan Greenfoot sendiri.

MouseInfo Memberikan informasi mouse terakhir.

GreenfootImage Untuk presentasi dan manipulasi gambar.

GreenfootSound Untuk mengendalikan pemutaran suara.

Tabel II.2 Penjelasan Kelas Greenfoot

Class Actor

Actor() Konstruktor Actor.

void act() Metode act ini dipanggil oleh kerangka

Greenfoot memberikan kesempatan

untuk melakukan beberapa tindakan

objek.

protected void addedToWorld (World

world)

Metode ini dipanggil oleh system

Greenfoot ketika objek telah dimasukkan

(30)

GreenfootImage getImage() Mengembalikan gambar yang digunakan untuk mewakili actor ini.

protected List

getIntersectingObjects(Class cls)

Mengembalikan semua objek yang

berpotongan objek ini.

protected List

getNeighbours(int distance, boolean diagonal, Class cls)

Para tetangga mengembalikan ke objek

ini pada jarak yang diberikan.

protected ListgetObjectsAtOffset(int

dx, intdy, Class cls)

Mengembalikan semua objek yang

berpotongan dengan lokasi yang

diberikan (relative terhadap lokasi obyek

ini).

protected List getObjectsInRange(int

r, Class cls)

Mengembalikan semua objek dalam

jangkauan 'r' di sekitar objek ini.

protected Actor

getOneIntersectingObject(Class cls)

Mengembalikan sebuah objek yang

bersimpangan objek ini.

protected Actor

getOneObjectAtOffset(int dx, intdy, Class cls)

Mengembalikan satu benda yang terletak

di sel tertentu (relative terhadap lokasi

objek ini).

intgetRotation() Mengembalikan rotasi yang ada pada objek.

World getWorld() Mengembalikan world pada objek ini

berada.

intgetX() Mengembalikan x koordinat pada objek

lokasi saat ini.

intgetY() Mengembalikan x koordinat pada objek

lokasi saat ini.

(31)

other) bersimpangan dengan yang diberikan

objek.

void move(int distance) Memindahkan actor pada jarak tertentu

ke arah saat dia menghadap.

void setImage(GreenfootImage image) Mengatur gambar untuk objek ini untuk

gambar tertentu.

voidsetImage(String filename) Mengatur gambar untuk objek ini dari file gambar.

voidsetLocation(int x, int y) Menetapkan lokasi baru untuk objek ini. voidsetRotation(int rotation) Set rotasi objek.

void turn(int amount) Memutar actor ini dengan jumlah yang

ditentukan (dalam derajat).

void turnTowards(int x, int y) Memutar actor untuk menghadap menuju

lokasi tertentu.

Class World

World(intworldWidth, intworldHeight, intcellSize)

Konstruktor world baru.

World(intworldWidth,

intworldHeight, intcellSize, boolean

bounded)

Membangun sebuah world baru dengan

pilihan untuk membuat world yang tak

terbatas di mana actor dapat meninggalkan

dunia.

void act() Act pada metode world. Dipanggil sekali

per tindakan.

void addObject(Actor object, int x,

int y)

Tambahkan actor kepada world.

GreenfootImagegetBackground() Mengembalikan gambar world latar

(32)

intgetCellSize() Mengembalikan ukuran sel (dalam pixel).

Color getColorAt(int x, int y) Mengembalikan warna di pusat sel.

intgetHeight() Mengembalikan tinggi dunia (dalamjumlahsel).

List getObjects(Class cls) Mendapatkan semua benda di dunia.

List getObjectsAt(int x, int y, Class

cls)

Mengembalikan semua benda di sel yang

diberikan.

intgetWidth() Mengembalikan lebar world (dalam jumlah sel).

intnumberOfObjects() Mendapatkan jumlah actor saat ini di dunia.

void removeObject(Actor object) Menghapus objek dari seluruh dunia.

void removeObjects(Collection

objects)

Menghapus daftar bendadari seluruh

dunia.

void repaint() Mengecatulang dunia.

void setActOrder(Class... classes) Mengatur urutan tindakan objek di dunia.

void setBackground(GreenfootImage

image)

Mengatur gambar latar belakang untuk

dunia.

void setBackground(String filename) Mengatur gambar latar belakang untuk

dunia dari file gambar.

voidsetPaintOrder(Class... classes) Mengatur urutan cat objek di dunia.

void started() Disebut oleh system Greenfoot ketika

eksekusi telah dimulai.

void stopped() Disebut oleh system Greenfoot ketika

eksekusi telah berhenti.

(33)

Actor getActor() Kembali aktor (jika ada) bahwa perilaku mouse saat ini berhubungan dengan.

intgetButton() Kembali pemeran (jika ada) bahwa perilaku mouse saat ini berhubungan

dengan.

intgetClickCount() Jumlah mouse klik pada mouse ini.

intgetX() X posisi saat ini pada kursor mouse.

intgetY() Y posisi saat ini pada kursor mouse.

StringtoString() Mengembalikan representasi string info

acara mouse ini.

Class Greenfoot

Greenfoot() Konstruktor.

static void delay(int time) Penundaan eksekusi oleh sejumlah

langkah-langkah di waktu. Ukuran satu

langkah waktu ditentukan oleh kecepatan

slider.

static String getKey() Mendapatkan kunci paling baru-baru ini

ditekan sejak terakhir kali metode ini

disebut.

static String getMicLevel() Mendapatkan tingkat masukan mikrofon.

static MouseInfogetMouseInfo() Kembali sebuah objek dengan informasi

tentang keadaan mouse.

static intgetRandomNumber(int

limit)

Kembali nomor acak antara 0 (inklusif)

dan limit (eksklusif).

static booleanisKeyDown(String

keyName)

Periksa apakah diberikan kunci saat ini

ditekan ke bawah.

(34)

obj) ditekan ke bawah.

static

booleanmouseDragEnded(Object

obj)

Benar jika mouse drag telah berakhir.

static booleanmouseDragged(Object

obj)

True jika mouse telah menyeret pada

objek tertentu.

static booleanmouseMoved(Object

obj)

True jika mouse telah dipindahkan pada

objek tertentu.

static booleanmousePressed(Object

obj)

Benar mouse ditekan pada objek tertentu.

static void playSound(String

soundFile)

Memutar suara dari file.

static void setSpeed(int speed) Atur kecepatan pelaksanaan simulasi.

static void setWorld(int speed) Menetapkan dunia ke orang yang

diberikan.

static void start() Menjalankan (atau melanjutkan) simulasi.

static void stop() Menghentikan simulasi.

Class GreenfootImage

GreenfootImage(GreenfootImage image)

Membuat GreenfootImage dari

GreenfootImage lain.

GreenfootImage(int width, int height)

Membuat gambar (transparan) kosong

dengan ukuran tertentu.

GreenfootImage(String filename) Membuat gambar dari file gambar.

GreenfootImage(String string, int size,

Color foreground, Color background)

Membuat gambar dengan string tertentu

diambil sebagai teks menggunakan ukuran

font, warna latar depan dan warna latar

(35)

void clear() Menghapus gambar. voiddrawImage(GreenfootImage

image,

Menggambar garis, menggunakan warna

gambar saat ini, antara poin (x 1, y1) dan

(x 2, y2).

void drawOval(int x, int y, int width,

int height)

Menggambar oval dibatasi oleh persegi

panjang tertentu dengan warna gambar

saat ini.

void drawPolygon(int[]

xPoints, int[] yPoints,

intnPoints)

Menarik sebuah poligon tertutup yang

didefinisikan oleh array x dan y koordinat.

void drawRect(int x, int y, int width,

int height)

Menarik garis dari persegi panjang

tertentu.

void drawShape(Shape shape) Menggambar bentuk langsung pada

gambar.

void drawString(String string, int x,

int y)

Menggambar teks yang diberikan oleh

string tertentu, menggunakan saat ini font

dan warna.

void fill() Mengisi seluruh gambar dengan warna

gambar saat ini.

void fillOval(int x, int y, int width,

int height)

Isi oval dibatasi oleh persegi panjang

tertentu dengan warna gambar saat ini.

void fillPolygon(int[] xPoints,

int[] yPoints, intnPoints)

Mengisi poligon tertutup yang

didefinisikan oleh array x dan y koordinat.

(36)

int height)

void fillShape(Shape shape) Menggambar bentuk diisi langsung pada

gambar.

BufferedImagegetAwtImage() Kembali BufferedImage yang punggung

GreenfootImage ini.

ColorgetColor() Kembali warna gambar saat ini.

Color getColorAt(int x, int y) Kembali warna di pixel tertentu.

Font getFont() Mendapatkan font yang sekarang.

intgetHeight() Kembali tinggi gambar.

intgetTransparency() Kembali transparansi gambar (kisaran 0 hingga 255).

intgetWidth() Kembali lebar gambar.

void mirrorHorizontally() Cermin gambar horizontal (Sandal di

sekitar sumbu-x).

void mirrorVertically() Cermin gambar vertikal (Sandal di sekitar

sumbu y).

void rotate(int degrees) Berputar gambar ini di sekitar pusat.

void scale(int width, int height) Skala gambar ini untuk ukuran yang baru.

void setColor(Color color) Mengatur warna gambar saat ini.

void setColorAt(int x, int y, Color

color)

Menyetel warna di pixel diberikan dengan

warna tertentu.

void setFont(Font f) Menyetel font yang sekarang.

void setTransparency(int t) Mengatur transparansi gambar (kisaran 0

hingga 255).

(37)

dari gambar ini.

Class GreenfootSound

GreenfootSound(String filename) Membuat suara baru dari file tertentu. intgetVolume() Mendapatkan volume saat ini suara, antara

0 (off) dan 100 (paling keras).

booleanisPlaying() True jika suara sedang diputar.

void pause() Berhenti suara saat ini jika ia sedang

bermain.

void play() Mulai bermain suara ini.

void playLoop() Memainkan suara ini berulang kali dalam

satu lingkaran.

void setVolume(int level) Mengatur volume saat ini suara antara 0

(off) dan 100 (paling keras).

void stop() Berhenti bermain suara ini jika ia sedang

bermain.

String toString() Mengembalikan representasi string suara

ini berisi nama file dan apakah itu saat ini

bermain atau tidak.

II.7 Adobe Photoshop

Adobe Photoshop adalah software yang dibuat oleh perusahaan Adobe

System, yang di khususkan untuk pengeditan foto atau gambar dan pembuatan

effect. Perangkat lunak ini banyak digunakan oleh Fotografer Digital dan

perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader)

untuk perangkat lunak pengolah gambar. Meskipun pada awalnya Photoshop

dirancang untuk menyunting gambar untuk cetakan berbasis-kertas, Photoshop

yang ada saat ini juga dapat digunakan untuk memproduksi gambar untuk World

Wide Web. Beberapa versi terakhir juga menyertakan aplikasi tambahan, Adobe

(38)

Adobe Photoshop juga memiliki hubungan erat dengan beberapa

perangkat lunak penyunting media, animasi, dan authoring buatan-Adobe lainnya.

File format asli Photoshop, PSD, dapat diekspor ke dan dari Adobe ImageReady.

Adobe Illustrator, Adobe Premiere Pro, After Effects dan Adobe Encore DVD

untuk membuat DVD profesional, menyediakan penyuntingan gambar non-linear

dan layanan special effect seperti background, tekstur, dan lain-lain untuk

keperluan televisi, film, dan situs web [12] (Blues Kim, Photodhop CS3

Accelerated).

II.8 Corel Draw

Corel Draw merupakan salah satu aplikasi pengolah gambar berbasis

vector yang banyak dipakai oleh pengguna PC. Karena berbagai kemudahan dan

keunggulan yang dimiliki oleh corel draw, maka corel draw sering dimanfaatkan

untuk desktop publishing, percetakan, dan bidang lain yang memerlukan

pemrosesan visual.

Keunggulan mengolah gambar berbasis vector adalah ukuran hasil akhir

yang dapat ditekan seminimal mungkin namun dengan kualitas yang tidak kalah

dengan gambar berbasis raster atau bitmap.

Sebenarnya ada banyak sekali software desain grafis dan pengolah gambar

berbasis vector yang bisa kita gunakan,misalnya saja diantaranya adalah corel

draw, photoshop, freehand, adobe ilustrator dll. Namun corel draw merupakan

program paling populer yang sering dimanfaatkan. Selain karena tampilannya

yang user friendly dan mudah dipelajari, corel draw juga mempunyai berbagai

keunggulan - keunggulan lain yang sangat bermanfaat.

II.9 Enterprise Architect

Spark sistem mengkhususkan diri dalam kinerja tinggi dan alat-alat

pemodelan visual scalable untuk perencanaan, desain dan konstruksi sistem

perangkat lunak intensif.

Dengan pelanggan di industri mulai dari Teknik otomotif dan

kedirgantaraan untuk keuangan, pertahanan, pemerintah, hiburan dan

telekomunikasi, sistem Sparx adalah vendor terkemuka solusi inovatif

(39)

Anggota memberikan kontribusi dari objek manajemen grup (OMG), sistem

Sparx berkomitmen untuk mewujudkan potensi pembangunan berbasis model

yang didasarkan pada standar terbuka.

Produk unggulan dari perusahaan, arsitek Enterprise, telah menerima

berbagai penghargaan sejak dirilis komersial pada Agustus 2000. Sekarang pada

versi 10, arsitek Enterprise adalah alat desain pilihan untuk 300.000 pengguna

terdaftar di seluruh dunia.

SparX arsitek Enterprise sistem yang digunakan oleh perusahaan-perusahaan

dari semua ukuran dari organisasi multi-nasional besar, terkenal untuk perusahaan

independen yang lebih kecil dan konsultan. Arsitek Enterprise juga digelar di

berbagai industri termasuk: dirgantara, perbankan, pengembangan web, rekayasa,

keuangan, Kedokteran, militer, penelitian, akademisi, transportasi, ritel, utilitas

(gas, listrik dll), teknik elektro dan banyak lagi. Hal ini digunakan secara efektif

untuk UML dan tujuan pelatihan arsitektur bisnis di banyak perguruan tinggi

terkemuka dan Universitas di seluruh dunia [13]

(http://www.sparxsystems.com/about.html).

II.10 Visual Paradigm

Visual paradigma internasional terus-menerus berupaya memberdayakan

organisasi untuk mengembangkan aplikasi berkualitas — lebih cepat, lebih baik

dan lebih murah. Kami membantu pelanggan kami untuk memahami organisasi

mereka dan menerjemahkan kebutuhan ke dalam perangkat lunak kualitas dengan

alat yang kaya Terpilih dan mudah digunakan.

Seperti kata pepatah, a picture is bernilai seribu kata. Kita melihat visual

pemodelan cara yang bagus untuk berkomunikasi secara efisien, khususnya

selama masa krisis proyek. Itu membuat kolaborasi antara orang-orang terampil

dalam berbagai bidang efektif dan bermanfaat. Jadi mengapa tidak membiarkan

Deskripsi tekstual mengambil kursi belakang dan dukungan visual lebih ramah

waktu untuk melakukan pekerjaan yang sama, jika tidak lebih baik?

Kita juga melihat bahwa ada model perangkat lunak seringkali kurang

ideal. Mereka mungkin terlalu mahal. Atau mereka tidak memiliki kemudahan

(40)

yakin ada pengguna yang dapat memilih untuk pemodelan visual dalam Roh

tetapi belum tentu dalam praktek. Ini adalah di mana alat-alat kami datang untuk

mengisi ceruk ini dengan hemat inovasi.

Kami memiliki keyakinan yang tanpa kompromi — perangkat lunak harus

user-friendly, bahkan ketika hal ini dimaksudkan untuk memecahkan masalah

yang cukup kompleks. Kita menaatinya dan semua produk kami dibangun di

(41)

31

Pada bagian analisis sistem ini akan dibahas mengenai analisa masalah

kegunaan permainan yang akan dibangun, analisis kebutuhan non-fungsional dan

analisis kebutuhan fungsional.

III.1.1 Analisis Masalah

Kebudayaan adalah ciptaan manusia yang indah. Masakan adalah salah

satu dari kebudayaan yang indah itu. Negara Indonesia yang sangat luas dengan

jumlah sukunya yang banyak telah melahirkan kebudayaan yang sangat beragam

termasuk masakan. Perbedaan budaya yang membuat cara memasak dan meracik

masakan yang berbeda, justru memperkaya khasanah masakan Indonesia [1]

(Danny S, Tamtomo, Sandi, Karina Naftali, 2011). Kemudian timbul masalah

sebagai berikut :

1. Bagaimana membangun suatu permainan yang dapat memberikan

pembelajaran memasak kepada generasi muda?

2. Bagaimana membangun suatu permainanyang menantang, tidak monoton,

interaktif, menarik serta menghibur?

III.1.2 Analisis Permainan

Pada bagian analisis permainan selamatkan masakan nusantara indonesia

ini akan dibahas mengenai storyline, analisis tingkat kesulitan, gameplay, scoring,

karakter, objek, storyboard, dan Analisis Algoritma A*.

III.1.2.1 Storyline

Permainan selamatkan masakan nusantara Indonesia adalah permainan

yang bertujuan memberikan edukasi bagaimana cara membuat masakan Indonesia

dan memerlukan bahan apa saja dalam membuatnya. Permainan ini menceritakan

petualangan Aji, seorang koki yang lahir dari ibu seorang pemain sirkus yang

handal dalam melempar pisau dan bapa yang handal dalam hal memasak. Aji

(42)

orang tuanya. Aji berusaha menghadapi rintangan yang dilewatinya dalam

mengumpulkan bahan masakan untuk dijadikan sebuah masakan.

III.1.2.2 Analisis Tingkat Kesulitan

Dalam permainan ini, terdapat 3 level yang masing-masing level

dibedakan berdasarkan alur cerita, tingkat kesulitan rintangan yang harus

dihadapi, jenis musuh yang bertambah dan bertambahnya bahan yang diperlukan.

Di setiap peningkatan level, pemainakan dihadapkan pada musuh dengan tingkat

kesulitan yang akan bertambah, mulai dari kecepatan dan kesukaran musuh

tersebut dan rintangan yang harus dihadapi.

Tabel III.1 Analisis Tingkat Kesulitan Tingkat Jumlah

musuh

Total bahan masakan yang tersebar di

permainan

Boss

Tingkat 1 1 8 Tidak ada

Tingkat 2 5 10 Ada

Tingkat 3 9 12 Ada

III.1.2.3 Gameplay

Tugas utama pemain dalam permainan ini adalah melewati setiap

rintangan, mengumpulkan bahan masakan, dan membuat masakan. Pemain dapat

bergerak ke kanan, ke kiri dan melompat. Pemain memiliki 10 poin darah dan

akan kehilangan 1 darah apabila pemain mengenai musuh atau mengenai duri.

Pada tingkat 1 permain akan mengumpulkan bahan masakan nasi, oncom,

bawang putih, bawang merah, cabe merah, cabe merah keriting, kencur, garam

dan minyak goreng untuk membuat masakan nasi tutug oncom yang berasal dari

jawa barat.

Pada tingkat 2 pemain akan mengumpulkan bahan masakan udang,

lengkuas, kunyit, jahe, ketumbar, tepung, terigu dan minyak goreng untuk

membuat masakan udang tepung yang berasal dari jawa timur.

Pada tingkat 3 pemain akan mngumpulkan bahan masakan ayam, bawang

putih, bawang merah, kemiri, kayu manis, jeruk nipis, santan, garam, jahe, kecap

manis, tomat dan minyak goreng untuk membuat masakan ayam santan yang

(43)

III.1.2.4 Scoring

Dalam permainan ini, pemain harus mengumpulkan bahan masakan yang

tersebar pada setiap tingkat. Untuk setiap bahan masakan yang terkumpul akan

kembali ke keadaan awal apabila pemain telah menghabiskan 10 Health point atau

meninggalkan permainan. Pemain memiliki nilai 0 dan akan bertambah 20 apabila

mengambil bahan masakan dan bertambah 10 apabila melempar pisau dan

mengenai objek musuh.

III.1.2.5 Karakter

Berikut ini adalah perancangan karakter yang akan diterapkan di aplikasi

game yang akan dibangun dan akan dijelaskan di tabel III.15.

Tabel III.2 Deskripsi karakter permainan

Karakter Kemampuan Keterangan

Aji

Darah : 10 poin

Serangan Pisau : 1 poin

Aji merupakan karakter yang dapat dimainkan di dalam pada permainan, memiliki kemampuan untuk jalan ke kiri , jalan ke kanan, melompat serta melempar pisau..

Kelelawar

Darah : 2 poin Serangan : 1 poin

Kelelawar merupakan

karakter yang memiliki

kemampuan untuk

menyerang, mengejar.

Tikus

Darah : 1 poin Serangan : 1 poin

Tikus merupakan karakter yang memiliki kemampuan untuk menyerang, mengejar serta patroli.

Boss Ayam

Darah : 5 poin Serangan : 1 poin

Boss Ayam merupakan

karakter yang memiliki

kemampuan untuk

menyerang serta mengejar.

Darah : 1 poin Serangan : 1 poin

Kepiting merupakan

karakter yang memiliki

(44)

Karakter Kemampuan Keterangan

Kepiting menyerang serta patroli.

Boss Burung

Darah : 5 poin Serangan : 1 poin

Boss Burung merupakan

karakter yang memiliki

kemampuan untuk

menyerang serta mengejar.

III.1.2.6 Objek

Berikut ini adalah perancangan objek yang akan diterapkan di aplikasi

game yang akan dibangun dan akan dijelaskan di tabel III.16.

Tabel III.3 Deskripsi objek permainan

Objek Deskripsi

Kencur

Sebuah objek Kencur yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Nasi putih

Sebuah objek Nasi putih yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Oncom bakar

Sebuah objek Oncom bakar yang dapat

dikumpulkan untuk menambah nilai sebesar 20 poin.

Cabe merah

Sebuah objek Cabe merah yang dapat

dikumpulkan untuk menambah nilai sebesar 20 poin.

Cabe merah keriting

Sebuah objek Cabe merah keriting yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

(45)

Objek Deskripsi Ketumbar

Gula pasir

Sebuah objek Gula pasir yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Udang

Sebuah objek Udang yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Tepung terigu

Sebuah objek Tepung terigu yang dapat

dikumpulkan untuk menambah nilai sebesar 20 poin.

Kunyit

Sebuah objek Kunyit yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Lengkuas

Sebuah objek Lengkuas yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Ayam

Sebuah objek Ayam yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Bawang merah

Sebuah objek Bawang merah yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Bawang putih

Sebuah objek Bawang putih yang dapat

(46)

Objek Deskripsi

Garam

Sebuah objek Garam yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Jahe

Sebuah objek Jahe yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Jeruk nipis

Sebuah objek Jeruk nipis yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Kayu manis

Sebuah objek Kayu manis yang dapat

dikumpulkan untuk menambah nilai sebesar 20 poin.

Kemiri

Sebuah objek Kemiri yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Minyak goreng

Sebuah objek Minyak goreng yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Tomat

Sebuah objek Tomat yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Bahan halus

(47)

Objek Deskripsi

Bahan potong

Sebuah Objek Bahan potong yang ditampilkan apabila bahan potong mencapai persenan 100.

Santan

Sebuah objek Santan yang dapat dikumpulkan untuk menambah nilai sebesar 20 poin.

Kecap manis

Sebuah objek Kecap manis yang dapat

dikumpulkan untuk menambah nilai sebesar 20 poin.

III.1.2.7 Story Board

Story board adalah sketsa gambar yang disusun seperti halnya sebuah

naskah cerita. Dengan storyboard kita dapat menyampaikan ide cerita yang kita

punya kepada orang lain dengan cara yang lebih mudah, karena dengan

storyboard kita dapat menggiring imajinasi seseorang menuju persepsi yang kita

inginkan melalui gambar-gambar-gambar yang sudah kita buat.

(48)

Gambar III.2 Storyboard Tutor_1

Gambar III.3 Storyboard Tutor_2

(49)

Gambar III.5 Storyboard Tutor_4

Gambar III.6 Storyboard Masak_Nasi_Tutug_Oncom

(50)

Gambar III.8 Storyboard Tingkat_2_1

Gambar III.9 Storyboard Tingkat_2_2

(51)

Gambar III.11 Storyboard Tingkat_2_Boss

Gambar III.12Storyboard Masak_Mireng_Udang

(52)

Gambar III.14 Storyboard Tingkat_3_1

Gambar III.15 Storyboard Tingkat_3_2

(53)

Gambar III.17 Storyboard Tingkat_3_4

Gambar III.18 Storyboard Tingkat_3_Boss

(54)

Gambar III.20 Storyboard Terima_Kasih III.1.2.8 Analisis Algoritma A*

Pada bagian ini akan dibahas analisis algoritma A*, algoritma ini menjadi

complete dan optimal dikarenakan algoritma ini menggabungkan informasi dari

algoritma Djikstra (lebih memilih node yang dekat dengan node awal) dan

informasi yang digunakan algoritma Best First Search (lebih memilih node yang

dekat dengan node tujuan). Algoritma A* akan diterapkan pada objek boss dalam

melakukan pencarian rute terpendek lokasi karakter pemain di arena permainan.

Berikut ini adalah istilah-istilah yang akan dibahas:

1. Open List adalah list yang menyimpan kemungkinan path yang akan

diperiksa. Open list digunakan untuk menentukan secara selektif

(berdasarkan nilai f) jalan yang dikira lebih dekat menuju tujuan. Open

list berisi node yang masih memiliki peluang untuk terpilih sebagai best

node.

2. Closed list adalah list untuk menyimpan simpul-simpul yang sudah

pernah dibangkitkan dan sudah pernah terpilih sebagai best node. Closed

list dan openlist bertujuan untuk menghindari penulusuran berulang rute

agar tidak masuk kembali ke openlist.

3. Nilai F adalah nilai yang menyatakan seberapa bagus sebuah node. Nilai

F merupakan hasil dari f(n).

4. Nilai G adalah nilai dari fungsi g(n) adalah banyaknya langkah untuk

(55)

5. Nilai H adalah nilai estimasi untuk sampai pada suatu tujuan mulai dari

n.

Diasumsikan arena permainan dibagi-bagi kedalam sebuah tilemap

berbentuk array dua dimensi, setiap tile memiliki koordinat X dan Y dan dapat

digambarkan melalui struktur data graph. Struktur data graph adalah struktur

data yang berbentuk jaringan, hubungan antar elemennya adalah many-

to-many. Berikut ini adalah contoh arena permainan yang terdapat pada

permainan selamatkan masakan nusantara indonesia dapat dilihat pada gambar

III.21

Gambar III.21 Arena Permainan

Secara umum terdapat dua macam representasi dari struktur data graf yang

dapat diimplementasikan. Pertama, disebut adjacency list, yaitu list yang

diimplementasikan dengan menampilkan masing-masing simpul sebagai sebuah

struktur data yang mengandung senarai dari semua simpul yang saling

berhubungan. Yang kedua adalah representasi berupa adjacency matrix dimana

baris dan kolom dari matriks tersebut merepresentasikan simpul awal dan simpul

tujuan dan sebuah entri didalam senarai yang menyatakan apakah terdapat sisi di

antara kedua simpul tersebut. Dalam pembangungan game Selamatkan Masakan

Nusantara Indonesia akan digunakan representasi berupa adjacency list. Berikut

(56)

Gambar III.22 Contoh Adjacency List

Pada permainan selamatkan masakan nusantara indonesia, arena

permainan dibagi kedalam tilemap yang terdiri dari node dengan orde X dan Y.

tiap node memiliki koordinat X dan Y atau berbentuk array dua dimensi. Berikut

ini adalah contoh kasus algoritma A* pada permainan selamatkan masakan

nusantara indonesiadapat dilihat pada gambar III.23.

X(0)

Gambar

gambar ini.
Gambar III.6 Storyboard Masak_Nasi_Tutug_Oncom
Gambar III.17 Storyboard Tingkat_3_4
Tabel III.10 Skenario Use Case Menghitung nilai
+7

Referensi

Dokumen terkait

bahwa berdasarkan pertimbangan sebagaimana dimaksud huruf a, perlu menetapkan Keputusan Bupati Bantul tentang Pembentukan Tim Pelaksana Daerah Media Inkubator

[r]

bahwa berdasarkan pertimbangan sebagaimana dimaksud huruf a dan huruf b, perlu menetapkan Keputusan Bupati Bantul tentang Desa Lokasi Penerima Dana Bantuan

[r]

LEMBAGA PENGEMBANGAN DAN PENJAMINAN MUTU PENDIDIKAN (LPPMP) Alamat : Kamp!9 Karangmalang Yggyak

Penghapusan pendaftaran merek atas prakarsa Direktorat Jenderal Hak Kekayaan Intelektual atau berdasarkan gugagatan pihak ketiga menurut Pasal 61 ayat (2) UU Merek

Hal-hal yang dipelajari sebelum kita terjatuh tidur dipertahankan dengan sangat baik.. Setiap tahapan tidur yang berbeda bertanggung jawab pada konten-konten

Tujuan penelitian ini adalah untuk mengetahui pengaruh lama penimbunan dan letak pada arah radial dan interaksi kedua faktor itu terhadap perubahan sifat fisika-mekanika kayu dan