Permainan Shopping Time

(1)

(2)

PERMAINAN SHOPPING TIME

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

Oleh :

ARIZONANATALIYA HERYANTI 10109769

PROGRAM STUDI S1

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA


(3)

(4)

(5)

i Oleh

Arizonanataliya Heryanti 10109769

Salah satu cara pengenalan uang terhadap anak adalah dengan mengajarkan anak cara berbelanja. Berbelanja merupakan hal yang menyenangkan karena dalam kegiatan berbelanja banyak pembelajaran yang bisa ambil. Dengan nilai pembelajaran yang ada dalam kegiatan berbelanja, maka tema berbelanja tepat untuk diangkat ke dalam media game. Hal ini juga bertujuan agar anak-anak bisa lebih bertanggungjawab dengan uang jajan yang diberikan oleh orang tua mereka.

Penggunaan game sebagai sarana pendidikan sebetulnya bukan merupakan hal yang tabu ataupun salah. Pemanfaatan dan penggunaan game edukasi dapat menunjang proses pembelajaran terhadap anak. Pembelajaran yang dimasukkan ke dalam game bisa berupa pengenalan angka, cara berhitung, pengenalan warna, pengenalan huruf, pengenalan benda dan sebagainya sehingga anak akan merasa senang dengan sarana belajar sambil bermain.

Permainan Shopping Time merupakan permainan yang bertujuan untuk memberikan pembelajaran berhitung dan pengenalan warna untuk anak usia 6-12 tahun. Dalam permainan ini dibuat dengan AI (Artificial Intelligence) dengan menerapkan algoritma A* (A Star). Algoritma ini digunakan untuk menentukan pilihan jalan terpendek menuju titik tujuan. Hasil pengujian dari aplikasi ini selain menghadirkan aplikasi permainan shopping time juga memberikan nilai edukasi kepada anak dalam belajar perhitungan sederhana dan pengenalan warna.

Kata Kunci : game, edukasi anak, shopping time, algoritma A*, heuristic, Artificial Intelligence


(6)

ii by

Arizonanataliya Heryanti 10109769

One way the introduction of money to children is to teach children how to shop. Shopping is fun because a lot of shopping in the learning can take. With the value of learning in the matter of shopping, then shopping for the right theme to be appointed to the media game. It is also intended that the children be more responsible with the pocket money given by their parents.

The use of gaming as a means of education actually is not a taboo or wrong. Utilization and use of educational games can support learning processes of children. Learning is incorporated into the game could be the introduction of a number, how to count, color recognition, letter recognition, object recognition and so forth so that the child will feel happy with the means to learn while playing.

Shopping Time game is a game that aims to provide learning to count and color recognition for children aged 6-12 years. In this game made with AI (Artificial Intelligence) by applying the algorithm A * (A Star). This algorithm is used to determine the selection of the shortest path to the destination point. The test results of this application in addition to presenting a shopping game time applications also provide educational value to children in learning a simple calculation and the introduction of color.

Keywords : games, education of children, shopping time, the algorithm A *, heuristics, Artificial Intelligence


(7)

iii Assalamu’alaikum Wr. Wb.

Segala puji bagi Allah yang telah menganugerahkan kenikmatan dan kesehatan lahir batin serta kemampuan kepada penulis, sehingga skripsi yang berjudul PERMAINAN SHOPPING TIME dapat diselesaikan dengan segala kekurangan, kelebihan dan keterbatasannya. Keberhasilan penulis dalam menyelesaikan skripsi ini tidak lepas dari peran serta berbagai pihak yang telah memberikan sumbangan pikiran, bimbingan, serta dorongan semangat pada penulis.

Untuk itu pada kesempatan ini, penulis menyampaikan ucapan terimakasih kepada semua pihak yang mendukung dalam proses pembuatan skripsi ini. Sungguh tiada untaian kata yang tepat yang dapat penyusun sampaikan untuk mengucapkan rasa terimakasih, hanya do’a yang dapat penulis panjatkan kehadirat Illahi Rabbi, semoga kebaikan dari semua pihak mendapatkan imbalan yang berlipat ganda dari Allah SWT.

Penulis menyadari sepenuhnya bahwa dalam skripsi yang penulis buat masih sangat jauh dari kesempurnaan. Hal ini tiada lain disebabkan oleh keterbatasan pengetahuan dan pengalaman yang penulis miliki.

Akhirnya, penulis berharap semoga dapat bermanfaat khususnya bagi penulis dan umumnya bagi pembaca. Dan penulis ingin mengucapkan terima kasih kepada yang terhormat dan tercinta :


(8)

iv

dorongan moril dan materil, masukan, perhatian, dukungan sepenuhnya, dan kasih sayang yang tidak ternilai dan tanpa batas yang telah kalian berikan.

3. Kepada yang terspesial untuk teman dekat saya Lailatul Hayani dan Fitria Risky, terimakasih atas do’a, bantuan, pengorbanan dan dukungannya hingga hari ini saya telah menyelesaikan skripsi ini.

4. Ibu Mira Kania Sabariah, S.T., M.T., selaku Ketua Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Unikom dan sebagai dosen penguji III.

5. Bapak Galih Hemawan, S.Kom., M.T., selaku dosen wali dan dosen pembimbing yang telah membantu dalam kelancaran dari berbagai permasalahan mengenai perkuliahan dan telah meluangkan waktunya untuk membimbing dan memberikan masukan dalam penulisan skripsi ini. 6. Ibu Nelly Indriani W, S.Si., M.T., selaku dosen penguji I yang yang telah

memberikan saran serta kritiknya dalam penyempurnaan skripsi ini

7. Kepada teman-temanku IF-17K dan IF-18K, serta seluruh mahasiswa Teknik Informatika terimakasih atas doa dan dukungannya. Sukses selalu buat kalian semua.


(9)

v

Akhir kata, penulis berharap semoga laporan ini bisa sangat berguna dan bermanfaat bagi penulis dan pembaca. Semoga segala jenis bantuan yang telah diberikan kepada penulis mendapat balasan dari Allah SWT. Amin.

Wassalamua’laikum Wr. Wb.

Bandung, Agustus 2012


(10)

vi LEMBAR PENGESAHAN

SURAT KETERANGAN PLAGIAT

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... vi

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... xi

DAFTAR SIMBOL ... xv

DAFTAR SINGKATAN DAN LAMBANG ... xvii

DAFTAR LAMPIRAN………... xviii

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah ... 1

1.2. Identifikasi Masalah ... 2

1.3. Maksud dan Tujuan ... 2

1.4. Batasan Masalah ... 3

1.5. Metodologi Penelitian ... 3

1.6. Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI 2.1. Pengertian Game ... 7

2.2. Edukasi ... 11

2.3. Kecerdasn Buatan ... 12

2.4. Kecerdasan Buatan dalam Game ... 15

2.5. Agen Cerdas (IntelligentAgent) ... 17

2.6. Teknik-teknik Dasar Pencarian ... 22

2.6.1. Masalah Pencarian ... 23

2.6.2. Algoritma Pencarian ... 24


(11)

vii

2.8. Alat Pemodelan Sistem ... 32

2.9. Perangkat Pengembangan (Tools) ... 37

2.9.1.Perkembangan Flash ... 38

2.9.2.Fitur-Fitur Kunci pada Flash ... 40

2.9.2.1.Lingkungan Menggambar yang Lengkap ... 40

2.9.2.2.Kemampuan Animasi yang Mudah ... 41

2.9.2.3.Layout Tanpa Batas ... 42

2.9.2.4.Lingkungan Pemograman yang Bertenaga ... 42

BAB 3 ANALISIS DAN PERANCANGAN 3.1. Analisis Masalah ... 43

3.1.1 Pengenalan Aplikasi Permainan Shopping Time ... 47

3.2. Analisis Kebutuhan Non Fungsional ... 49

3.2.1 Analisis Antar Muka ... 51

3.2.2 Analisis Karakter/Properti... 53

3.2.3 Storyboard ... 55

3.2.4 Gameplay ... 58

3.2.5 Analisis Penggunaan Algoritma A* dalam Permainan Shopping Time ... 60

3.2.6 Analisis Algoritma A* pada Permainan Shopping Time 61 3.3. Analisis Kebutuhan Fungsional ... 71

3.3.1. Diagram Konteks ... 71

3.3.2. Data Flow Diagram (DFD) ... 72

3.3.2.1.DFD Level 0 ... 73

3.3.2.2.DFD Level 1 Proses 1.0 Mulai Permainan ... 74

3.3.2.3.DFD Level 2 Proses 1.3 Pembelian Barang ... 75

3.3.2.4.Spesifikasi Proses ... 77

3.3.3. Perancangan Struktur Menu ... 80


(12)

viii

3.4.1.4.Form Pengaturan ... 83

3.4.1.5.Form Kredit ... 84

3.4.1.6.Rancangan tampilan pesan... 84

3.4.2. Jaringan Semantik ... 85

3.4.3. Perancangan Sistem ... 86

3.4.3.1.Perancangan Komponen Permainan Shopping Time ... 86

3.4.4. Perancangan Prosedural ... 87

BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi ... 94

4.1.1 Implementasi Aplikasi ... 95

4.1.2 Implementasi Contoh Kasus Jalur A* ... 102

4.2 Pengujian ... 102

4.2.1 Pengujian Alpha ... 103

4.2.1.1 Pengujian White-Box ... 103

4.2.1.2 Pengujian Blackbox ... 107

4.2.2 Pengujian Beta ... 111

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 116

5.2 Saran ... 116


(13)

1 1.1 Latar Belakang Masalah

Situs telaga.org pernah membahas tentang anak dan uang. Telaga merupakan singkatan dari Tegur Sapa Gembala Keluarga yang merupakan pelayanan radio dari (LBKK) yang dirintis mulai bulan Maret 1998. Di halaman situs tersebut diceritakan bahwa orang tua perlu mengajarkan anak tentang uang sejak masih kecil. Pada prinsipnya sewaktu anak mulai mengerti barang-barang dan mengerti bahwa untuk memperoleh barang-barang tersebut diperlukan uang. Biasanya ini terjadi pada anak-anak sekitar usia 5 atau 6 tahun yaitu tatkala mereka mulai bersekolah, mulai melihat apa yang dimiliki oleh teman-teman mereka.

Menurut Ratna Irana dalam situs fimale.co salah satu cara pengenalan uang terhadap anak adalah dengan mengajarkan anak cara berbelanja [1]. Berbelanja merupakan hal yang menyenangkan karena dalam kegiatan berbelanja banyak pembelajaran yang bisa ambil, diantaranya bagaimana cara mengatur uang yang ada, bagaimana menghitung selisih uang yang dibelanjakan dengan harga barang yang dibeli dan mengenali warna barang yang dibeli.

Dengan nilai pembelajaran yang ada dalam kegiatan berbelanja, maka tema berbelanja tepat untuk diangkat ke dalam media game. Hal ini juga bertujuan agar anak-anak bisa lebih bertanggungjawab dengan uang jajan yang diberikan oleh orang tua mereka.


(14)

Menurut Utami Sri Rahayu dalam “Panduan Aman Main PS” Pemanfaatan dan penggunaan game edukasi dapat menunjang proses pembelajaran terhadap anak [2]. Pembelajaran yang dimasukkan ke dalam game bisa berupa pengenalan angka, cara berhitung, pengenalan warna, pengenalan huruf, pengenalan benda dan sebagainya sehingga anak akan merasa senang dengan sarana belajar sambil bermain.

Berdasarkan uraian latar belakang tersebut maka akan dibangun aplikasi

game 2D dengan judul “Permainan Shopping Time”.

1.2 Identifikasi Masalah

Dalam perancangan permainan shopping time perlu diperhatikan bagaimana membuat permainan yang tidak hanya menghibur tapi juga memberikan nilai edukasi dalam berhitung, mengenali warna dan mengatur uang belanja.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan skripsi ini adalah untuk menerapkan nilai edukasi pada permainan shopping time yaitu perhitungan sederhana dan pengenalan warna.

Sedangkan tujuan yang akan dicapai dari pembuatan skripsi ini adalah: 1. Membangun sebuah aplikasi permainan dengan tema berbelanja.

2. Membangun permainan yang tidak hanya memberikan hiburan tapi juga memiliki nilai edukasi yaitu belajar berhitung dan mengenali warna.


(15)

1.4Batasan Masalah

Batasan masalah dalam pembuatan permainan shopping time adalah sebagai berikut:

1. Permainan ini merupakan permainan berbasis desktop.

2. Software yang digunakan untuk membuat permainan ini adalah Adobe Flash (Action Script 2).

3. Algorima yang dipakai adalah algoritma A* yang pengunaannya hanya untuk menentukan jalan optimal yang diiimplementasikan pada karakter yang ada di permainan ini.

4. Permainan ini ditujukan untuk anak usia 6-12 tahun karena adanya nilai edukasi yang diterapkan pada permainan ini yaitu perhitungan sederhana dan pengenalan warna.

5. Aplikasi ini bersifat stand alone.

6. Permainan ini terdiri dari 3 level, perbedaan tiap level terletak pada nilai uang jajan, waktu yang diberikan dan pertanyaan yang diberikan.

1.5Metodologi Penelitian

Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis, dimana memerlukan data-data untuk mendukung terlaksananya suatu penelitian. Metode penelitian yang digunakan adalah metode deskriptif. Metode deskriptif merupakan metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian secara sistematis, faktual dan akurat. Metode penelitian ini memiliki dua tahapan, yaitu :


(16)

1. Tahap pengumpulan data

Tahap pengumpulan data dapat diperoleh secara langsung dari objek penelitian. Cara-cara yang mendukung untuk mendapatkan data primer adalah dengan cara mempelajari, meneliti dan menelaah berbagai literatur-literatur dari perpustakaan yang bersumber dari buku-buku, teks, jurnal ilmiah, situs-situs di internet, dan bacaan-bacaan yang ada kaitannya dengan topik penelitian.

2. Tahap pengembangan perangkat lunak a. System Engineering

Merupakan tahapan yang pertama kali dilakukan yaitu merumuskan sistem yang akan dibangun. Hal ini bertujuan agar pengembang benar-benar memahami sistem yang akan dibangun dan langkah-langkah serta kebijakan apa saja yang berkaitan dengan pengembangan sistem tersebut.

b. System Analysis (Analisis)

Melakukan analisis terhadap permasalahan yang dihadapi dan menetapkan kebutuhan perangkat lunak.

c. System Design (Perancangan)

Menghasilkan rancangan yang memenuhi kebutuhan yang ditentukan selama tahapan analisis. Hasil akhirnya berupa spesifikasi rancangan yang sangat rinci sehinggga mudah diwujudkan pada saat pemprograman.

d. System Coding (Pengkodean)

Pengkodean yang mengimplementasikan hasil desain ke dalam kode atau bahasa yang dimengerti oleh mesin komputer dengan menggunakan bahasa pemrograman tertentu.


(17)

e. System Testing (Pengujian)

Melakukan pengujian yang menghasilkan kebenaran program. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji dan memastikan apakah hasil yang diinginkan sudah tercapai atau belum.

f. System Maintenance (Pemeliharaan)

Menangani perangkat lunak yang sudah selesai agar dapat berjalan lancar dan terhindar dari gangguan-gangguan yang dapat menyebabkan kerusakan.

1.6Sistematika Penulisan

Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Menguraikan tentang latar belakang permasalahan, mencoba mengidentifikasi masalah yang dihadapi, menentukan maksud dan tujuan penelitian, yang kemudian diikuti dengan pembatasan masalah dan metodologi penelitian, serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Menjelaskan tentang teori-teori yang berhubungan dengan game, edukasi, kecerdasan buatan, kecerdasan buatan dalam game, agen cerdas (intelligent agent), teknik dasar pencarian, algoritma A*, alat pengembangan sistem dan


(18)

perangkat pengembangan (tools) yang digunakan dalam pembuatan permainan

shopping time.

BAB 3 ANALISIS DAN PERANCANGAN

Menjelaskan tentang analisis masalah, analisis kasus, kebutuhan non fungsional, kebutuhan fungsional, dan perancangan sistem.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Menjelaskan tentang implementasi dan pengujian permainan shopping time. BAB 5 KESIMPULAN DAN SARAN


(19)

7 BAB 2

LANDASAN TEORI

2.1Pengertian Game

Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh John von Neumann and Oskar Morgenstern yang berisi : “Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi.” [3]

Game merupakan permainan komputer yang dibuat dengan teknik dan metode animasi [4]. Game merupakan bidang AI yang sangat populer berupa permainan antara manusia melawan mesin yang mempunyai intelektual untuk berpikir. Komputer dapat bereaksi dan menjawab tindakan-tindakan yang diberikan oleh lawan mainnya.

Salah satu komputer yang ditanamkan AI untuk game bernama Deep Blue. Deep Blue adalah sebuah komputer catur buatan IBM pertama yang memenangkan sebuah permainan catur melawan seorang juara dunia (Garry Kasparov) dalam waktu standar sebuah turnamen catur. Kemenangan pertamanya


(20)

(dalam pertandingan atau babak pertama) terjadi pada 10 Februari 1996, dan merupakan permainan yang sangat terkenal.

Kini telah banyak berkembang game AI yang semakin menarik, interaktif, dan dengan grafis yang sangat bagus. Ditambah dengan kemajuan teknologi jaringan komputer yang semakin cepat, sudah banyak terdapat game-game AI yang berbasiskan online. Tidak sedikit orang yang tertarik dengan game saat ini. Mereka memainkan game untuk mengisi kekosongan waktu mereka atau pun melatih skill mereka dalam berpikir.

Ada banyak sekali jenis/genre game. Genre bisa berarti format atau gaya dari sebuah game. Fromat sebuah game bisa murni sebuah genre atau bisa merupakan camputan (hybrid) dari beberapa genre lain. Berikut ini adalah genre game [5]:

a. Maze game, jenis game ini adalah jenis game yang paling awal muncul. Contoh yang paling popiler di indonesia adalah Pacman dan Digger.

b. Board game, jenis game ini sama dengan game board tradisional seperti Monopoly.

c. Card game, game ini juga sama dengan versi tradisionalnya seperti Solitaire dan Hearts.

d. Beattle card game, game ini jarang masuk di Indonesia, contoh populernya adalah Battle Card Pokemon.

e. Quiz game, jenis ini juga agak jarang di indonesia. Salah satu yang umum dikenal adalah kuis Who Wants to Be a Millionere, sebuah game dengan nama yang sama dari acara kuis televisi. Cara bermain game ini sangat


(21)

sederhana yaitu dengan memilih jawaban yang benar dari beberapa pilihan jawaban.

f. Puzzlegame, game jenis ini memberikan tantangan kepad pemainnya dengan cara menjatuhkan sesuatu dari sisi sebelah atas ke bawah. Contoh game ini adalah Tetris.

g. Shoot then up, jenis ini banyak diminati karena mudah dimainkan. Misi game

ini biasanya hanya menembaki lawan secepat dan sebanyak-banyaknya yang biasanya datang dari arak atas.

h. Sice scroller game, game ini didasarkan pada 2D dimana pemain bergerak sepanjang jalur permainan ke satu arah dan menyelesaikan tugasnya. Ada yang meloncat, berlari, mengendap, dan menghindari halangan. Contoh game

yang terkenal adalah Duke Nukem Asli, Commander Ken, Prince or Persia, Sonic the Hedgehog, dan sebagainya.

i. Fighting game, sesuai dengan namanya game ini merupakan game

pertarungan yang bisa mengkombinasikan berbagai geraakan dalam pertarungancontoh game yang terkenal adalah Street Fighter 2, Samurai Showdown, Virtual Fighter, dan sebagainya.

j. Racing game, game balapan yang memberikan lomba kecepatan dari kendaraan yang dimainkan oleh pemain. Beberapa contoh game yang terkenal adalah Need for Speed Underground dan Toca Race Driver.

k. Flight Sim, game ini berfokus pada simulasi penerbangan. Simulasi yang diberikan meniru kondisi dari penerbangan sebenarnya, baik kondisi pesawat dan peralatannya maupun kondisi pemandangannya. Contoh game yang


(22)

terkenal dari genre ini adalah Microsoft Flight Simulator, IL-2 Sturmovik, dan sebagainya.

l. Turn-base strategy (TBS) game, game ini memerlukan strategi dari pemain untuk memenagkan permainan. Pemain melakukan gerakan setelah pemain lain melakukannya, jadi saling bergantian. Contoh game yang terkenal adalah Empire dan Civilization.

m.Real-time strategy (RTS) game, hampir sama dengan TBS namun tidak perlu menunggu. Malah yang tercepatlah yang akan menang, seperti pada game

Warcraft.

n. Sim, genre ini mengetengahkan permainan simulasi yang berbeda denga flight simulator. Pada game ini pemain membangun secara simulasi kota, negara, atau koloni. Pemain berperan sebagai “Dewa” yang mengatur berbagai sumber daya dan mengambil keputusan.

o. First person shooter, contah game pada genre ini adalah Doom dan Counterstrike.

p. Roll playing game, di genre ini pemain berperan menjadi sebuah karakter. Pemain akan menjalankan perannya dengan berbagai atribut seperti kesehatan, intelegensi, kekuatan dan sebagainya seperti pada game Ultima. q. Adverture game, merupakan game petualangan seperti game Beyond Good

and Evil.

r. Full motion video game (FMV), pernah membaca buku “Pilih Sendiri


(23)

Pemain bebas memilih langkah selanjutnya sampai bisa memecahkan misteri yang ada. Contoh game populer adalah Myst dan Riven.

s. Educational dan edutaument, game yang bertujuan untuk memancing minat belajar sambil bermain.

t. Sports, game yang mengetengahkan genre olahraga.

2.2Edukasi

Edukasi adalah sesuatu yang bersifat menyeluruh. Edukasi tidak hanya berupa pelajaran ataupun diktat kuliah. Edukasi atau pendidikan memiliki makna yang lebih dalam daripada hanya sekedar mengajari. Mendidik berarti membentuk karakter dan pola pikir seseorang. Dalam hal ini tentunya ke arah yang baik. Ketika seseorang meniru perilaku sesuatu atau seseorang, ini juga merupakan bagian dari pendidikan [6].

Maka daripada itu, sebenarnya, implementasi pendidikan dalam game

tidak hanya mengacu pada pelajaran semata. Ia harus mencakup semua tatanan pendidikan,meski dengan spesifikasi tertentu.

Penggunaan game sebagai sarana pendidikan sebetulnya bukan merupakan hal yang tabu ataupun salah. Karena game bersifat entertaint atau menghibur, yang disini adalah bermain. Psikologi manusia adalah lebih suka bermain daripada belajar serius. Dalam game, pendidikan diberikan lewat praktek atau pembelajaran dengan praktek (learning by doing). Dalam game, pemain seolah masuk ke dalam dunia baru tempat mereka bisa melakukan apa saja.


(24)

Game secara tidak langsung mendidik manusia lewat apa yang mereka kerjakan dalam game tersebut. Apa yang merek akerjakan dalam game tersebut mempengaruhi pola pikir dan perilaku mereka.

2.3Kecerdasan Buatan

Banyak cara untuk mendefinisikan kecerdasan buatan atau Artificial Intelegence (AI), diantaranya adalah [7]:

1. Suatu studi yang mengupayakan bagaimana agar komputer berlaku cerdas. 2. Studi yang membuat komputer dapat menyelesaikan persoalan yang sulit. 3. Teknologi yang mensimulasikan kecerdasan manusia, yaitu bagaimana

mendefinisikan dan mencoba menyelesaikan persoalan menggunakan komputer dengan meniru bagaimana manusia menyelesaikan dengan cepat.

Dengan beberapa definisi diatas, kecerdasan buatan menawarkan baik media maupun uji teori kecerdasan. Teori-teori ini dapat dinyatakan dalam bahasa pemograman komputer dan dibuktikan eksekusinya pada komputer nyata.

Kecerdasan Buatan Mempunyai 2 bagan utama, yaitu :

1. Basis Pengetahuan (Knowledge Base) : berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan lainnya.

2. Motor Inferensi (Inference Engine) : kemampuan untuk menarik kesimpulan berdasarkan pengalaman.


(25)

Gambar 2.1 Penerapan konsep kecerdasan buatan di komputer [8]

Kecerdasan buatan (AI) dapat dipandang dalam berbagai perspektif [9]. 1. Dari perspektif kecerdasan (intelligence)

AI adalah bagaimana membuat mesin yang “cerdas” dan dapat melakukan hal-hal yang sebelumnya dapat dilakukan oleh manusia

2. Dari perspektif bisnis

AI adalah sekelompok alat bantu (tools) yang berdaya guna, dan metodologi yang menggunakan tool-tool tersebut guna menyelesaikan masalah-masalah bisnis.

3. Dari perspektif pemrograman (programming)

AI termasuk didalamnya adalah studi tentang pemrograman simbolik, pemecahan masalah proses pencarian (search). Umumnya program AI lebih fokus pada simbol-simbol daripada pemrosesan numerik (huruf, kata, angka untuk merepresentasikan obyek, proses dan hubungannya).

Bahasa pemrograman AI :

 LISP, dikembangkan awal tahun 1950-an, bahasa pemrograman pertama yang diasosiasikan dengan AI.


(26)

 Bahasa pemrograman berorientasi obyek (Object Oriented Programming (Objective C, C++, Smalltalk, Java)

4. Dari perspektif penelitian (research)

Riset tentang AI dimulai pada awal tahun 1960-an, percobaan pertama adalah membuat program permainan (game) catur, membuktikan teori, dan general problem solving (untuk tugas-tugas sederhana).

Kecerdasan buatan dapat dibagi ke dalam tiga domain, yaitu [10]: 1. Mundane task

Secara harfiah, arti mundane adalah keduniaan. Di sini, AI digunakan untuk melakukan hal-hal yang sifatnya duniawi atau melakukan kegiatan yang dapat membantu manusia. Contohnya :

 Persepsi (vision andspeech).

 Bahasa alami (understanding, generation and translation).  Pemikiran yang bersifat commonsense.

Robot control.

2. Formal task

AI digunakan untuk melakukan tugas-tugas formal yang selama ini manusia biasa lakukan dengan lebih baik. Contohnya :

 Permainan/games.


(27)

3. Expert task

AI dibentuk berdasarkan pengalaman dan pengetahuan yang dimiliki oleh para ahli. Penggunaan ini dapat membantu para ahli untuk menyampaikan ilmu-ilmu yang mereka miliki. Contohnya :

 Analisis finansial  Analisis medikal

 Analisis ilmu pengetahuan

 Rekayasa (desain, pencarian, kegagalan, perencanaan, manufaktur)

Gambar 2.2 Bidang-bidang tugas (task domains) dari AI [11]

2.4Kecerdasan Buatan dalam Game

Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia.


(28)

Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia. Contoh media interaksi ialah:

 Penglihatan (vision)

 Suara (voice), ucapan (speech)

 Gerakan anggota badan ( gesture)

Untuk pembentukan kecerdasan buatan pada game ternyata digunakan pula algoritma, yaitu jenis pohon aray untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Kecerdasan buatan yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).

Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja


(29)

yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.

2.5Agen Cerdas (Intelligent Agent)

Desiani dan Arhami memuat kutipan dari Okamoto dan Takaoka (1997) menyatakan bahwa agen dapat dipandang sebagai sebuah objek yang mempunyai tujuan dan bersifat autonomous (memberdayakan resource-nya sendiri) untuk memecahkan suatu permasalahan melalui interaksi, suatu kolaborasi, kompetisi, negosiasi dan sebagainya.

Agen adalah sesuatu yang seolah-olah merasakan sesuatu dari lingkungannya melalui sensor dan memberikan aksi balasan kepada lingkungannya tersebut melalui effector (actuator). Dan kumpulan dari beberapa agen yang berada pada lingkungan kerja yang sama disebut multi-agent [12].

Sebuah agen dibuat menyerupai manusia (human agent) memiliki sensor berupa mata, telinga, dan organ lain serta effector yang berupa kaki, mulut dan lainnya. Berbeda dengan agen robot yang menggunakan kamera dan sinar infrared dalam jangkauan tertentu sebagai sensor dan berbagai mesin (motor) sebagai


(30)

Gambar 2.3 Ilustrasi Diagram Agen [13]

Kecerdasan buatan berperan penting dalam mendesain program bagi agen. Program ini berfungsi mengimplementasikan pemetaan percepts ke agen. Program yang dibangun harus menyatu dengan computing device yang disebut arsitektur untuk menerima dan menjalankan agen. Arsitektur dapat berupa hardware seperti kamera image, filteringaudioinput dan sebagainya.

Hubungan antara agen, arsitektur, dan program dapat disimpulkan sebagai berikut : Agen = arsitektur + program

Sebelum mendesain agen, harus dideskripsikan terlebih dahulu mengenai tipe agen, percepts dan action, tujuan atau performance measure yang akan dicapai serta lingkungan tempat agen beroperasi.


(31)

Ada 4 (empat) tipe dasar pada program agen yang mewujudkan sistem cerdas, yakni:

Agen Refleks Sederhana (Simple Reflex Agent)

Agen refleks sederhana ini merupakan tipe agen yang paling sederhana. Agen ini memilih tindakan (action) atas dasar persepsi (percept) yang diterimanya. Tipe ini dapat pula disebut a condition-action rule

Gambar 2.4 Skema Agen Refleks Sederhana [13]

Agen Refleks Berbasis Model

Agen ini harus menjaga keadaan internal yang bergantung pada persepsi lalu untuk merefleksikan setidaknya beberapa aspek keadaan sekarang yang tidak terobservasi. Pembaharuan (update) informasi dari internal state terus berjalan, dengan demikian dibutuhkan dua jenis pengetahuan yang harus dikodekan ke program. Pertama, informasi mengenai bagaimana lingkungan mempengaruhi kebebasan agen, dan kedua informasi mengenai bagaimana agen melakukan aksinya.


(32)

Gambar 2.5 Skema Agen Refleks Berbasis Model [13]

Agen Berbasis Tujuan (Goal Based Agent)

Program agen dapat dikombinasikan dengan informasi mengenai hasil dari aksi yang mungkin dilakukan. Tipe ini turut mempertimbangkan akibat yang diberikan serta hasil yang dicapai atas aksi yang dilakukan. Pada dasarnya pengetahuan agen akan keadaan lingkungannya tidak selalu cukup untuk memutuskan aksi yang akan dilakukan. Dengan kata lain, selain keadaan sekarang, agen juga memerlukan beberapa informasi tujuan yang menerangkan tentang tujuan kondisi yang dikehendaki. Pencarian dan perencanaan adalah dua hal yang dilakukan untuk mencapai tujuan agen. Meskipun tipe ini terlihat kurang efisien, namun sangat fleksibel. Agen secara otomatis melakukan aksi yang relevan apabila terjadi perubahan kondisi, begitu pula bila tujuannya diperbaharui maka agen akan membangkitkan aksi yang baru pula.


(33)

Gambar 2.6 Skema Diagram Agen Berbasis Tujuan [13]

Agen Berbasis Kegunaan (Utility Based Agent)

Tipe ini merupakan pengembangan dari tipe berbasis tujuan. Tujuan dianggap tidak cukup untuk membangkitkan perilaku agen berkualitas tinggi. Utility memiliki fungsi yang dapat memetakan suatu keadaan ke dalam bilangan riil, yang menerangkan derajat pencapaian keberhasilan. Spesifikasi lengkap fungsi utility mengizinkan keputusan rasional dalam dua jenis kasus dimana agen menghadapi masalah, sehingga tujuannya tidak tercapai. Pertama, ketika terjadi konflik tujuan dimana hanya beberapa saja yang terpenuhi, fungsi utility menspesifikasikan tukar tambah yang sesuai. Kedua, ketika terdapat beberapa tujuan yang dapat dilakukan agen, namun tidak dapat ditentukan mana tujuan yang berhasil dicapai, dalam hal ini fungsi utility menyediakan kemungkinan bobot kesuksesan dari masing-masing tujuan.


(34)

Gambar 2.7 Skema Diagram Agen Berbasis Kegunaan [13]

2.6Teknik-Teknik Dasar Pencarian

Pencarian atau pelacakan merupakan salah satu teknik untuk menyelesaikan permasalahan kecerdasan buatan. Keberhasilan suatu sistem salah satunya ditentukan oleh kesuksesan dalam pencarian dan pencocokan. Teknik dasar pencarian memberikan suatu kunci bagi banyak sejarah penyelesaian yang penting dalam bidang kecerdasan buatan. Ada beberapa aplikasi yang menggunakan teknik pencarian ini, yaitu :

1. Papan game dan puzzle (tic-tac-toe, catur, menara hanoi).

2. Penjadwalan dan masalah routing (travelling salesman problem). 3. Parsing bahasa dan inteprestasinya (pencarian struktur dan arti). 4. Logika pemrograman (pencarian fakta dan implikasinya). 5. Computer vision dan pengenalan pola.


(35)

Pencarian adalah proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Kondisi suatu pencarian meliputi :

1. Keadaan sekarang atau awal.

2. Keadaan tujuan-solusi yang dijangkau dan perlu diperiksa apakah telah mencapai sasaran.

3. Biaya atau nilai yang diperoleh dari solusi.

Solusi merupakan suatu lintasan dari keadaan awal sampai keadaan tujuan. Secara umum, proses pencarian dapat dilakukan seperti berikut :

1. Memeriksa keadaan sekarang atau awal.

2. Mengeksekusi aksi yang dibolehkan untuk memindahkan ke keadaan berikutnya.

3. Memeriksa jika keadaan baru merupakan solusinya. Jika tidak, keadaan baru tersebut menjadi keadaan sekarang dan proses ini diulangi sampai solusi ditemukan atau ruang keadaan habis terpakai.

2.6.1 Masalah Pencarian

Masalah pencarian merupakan proses pencarian solusi yang direncanakan, yang mencari lintasan dari keadaan sekarang sampai keadaan tujuan. Suatu masalah pencarian direpresentasikan sebagai graf berarah. Keadaan direpresentasikan sebagai simpul (node), sedangkan langkah yang dibolehkan atau


(36)

aksi direpresentasikan dengan busur (arc). Dengan demikian, secara khusus masalah pencarian didefinisikan sebagai berikut :

1 State space (ruang keadaan). 2 Start node (permukaan simpul).

3 Kondisi tujuan dan uji untuk mengecek apakah kondisi tujuan ditemukan atau tidak.

4 Kaidah yang memberikan bagaimana mengubah keadaan.

Terdapat beberapa cara untuk merepresentasikan ruang keadaan, antara lain pohon AND/OR, graph keadaan, dan pohon pelacakan.

2.6.2 Algoritma Pencarian

Permasalahan pencarian adalah merupakan yang sering dijumpai oleh peneliti dibidang kecerdasan buatan. Permasalahan ini merupakan hal penting dalam menentukan keberhasilan sistem kecerdasan buatan. Permasalahan pencarian dapat diselesaikan dengan beberapa metode yaitu:

1. Metode pencarian yang pertama adalah metode yang sederhana yang hanya berusaha mencari kemungkinan penyelesaian yang disebut juga pencarian buta.

2. Metode yang lebih kompleks yang akan mencari jarak terpendek. Metode ini adalah British Museum Procedure, Branch and Bound, Dynamic Programming, Best First Search,Greedy Search, A* (A Star) Search, dan Hill Climbing Search. Metode-metode ini digunakan pada saat harga perjalanan untuk mencari kemungkinan menjadi perhitungan. Beberapa


(37)

procedure/metode yang kita terapkan saat berhadapan dengan musuh. Prosedur ini adalah minimax search dan alpha-beta pruning. Metode ini banyak digunakan pada program-program seperti catur dan sebagainya.

Metode pencarian dikatakan penting untuk meyelesaikan permasalahan karena setiap state (keadaan) menggambarkan langkah-langkah untuk menyelesaikan permasalahan. Metode pencarian dikatakan penting untuk perencanaan karena dalam sebuah permainan akan menentukan apa yang harus dilakukan, dimana setiap state menggambarkan kemungkinan posisi pada suatu saat. Metode pencarian adalah bagian dari kesimpulan, dimana setiap state menggambarkan hipotesis dalam sebuah rangkaian deduktif. Gambar 2.8 merupakan bagan metode pencarian.


(38)

2.7Algoritma A* (A Star)

Algoritma A* merupakan perbaikan dari metode BFS (Best-First Search) dengan memodifikasi fungsi heuristic-nya. A* (A Star) akan meminimumkan total biaya lintasan. Pada kondisi yang tepat, A* akan memberikan solusi yang terbaik dalam waktu yang optimal.

Pada pencarian rute kasus sederhana, dimana tidak terdapat halangan pada peta, A* bekerja secepat dan seefisien BFS. Pada kasus peta dengan halangan, A* dapat menemukan solusi rutetanpa “terjebak” oleh halangan yang ada.

Pencarian menggunakan algoritma A* mempunyai prinsip yang sama dengan algoritma BFS, hanya saja dengan dua faktor tambahan.

1. Setiap sisi mempunyai “cost” yang berbeda-beda, seberapa besar cost untuk pergi dari satu simpul ke simpul yang lain.

2. Cost dari setiap simpul ke simpul tujuan bisa diperkirakan. Ini membantu pencarian, sehingga lebih kecil kemungkinan kita mencari ke arah yang salah.

Cost untuk setiap simpul tidak harus berupa jarak. Cost bisa saja berupa waktu bila kita ingin mencari jalan dengan waktu tercepat untuk dilalui. Sebagai contoh, bila kita berkendaraan melewati jalan biasa bisa saja merupakan jarak terdekat, tetapi melewati jalan tol biasanya memakan waktu lebih sedikit.

Algoritma A* bekerja dengan prinsip yang hampir sama dengan BFS, kecuali dengan dua perbedaan, yaitu :


(39)

1. Simpul-simpul di list “terbuka” diurutkan oleh cost keseluruhan dari simpul awal ke simpul tujuan, dari cost terkecil sampai cost terbesar. Dengan kata lain, menggunakan priority queue (antrian prioritas). Cost keseluruhan dihitung dari cost dari simpul awal ke simpul sekarang (current node) ditambah cost perkiraan menuju simpul tujuan.

2. Simpul di list “tertutup” bisa dimasukkan ke list “terbuka” bila jalan terpendek (cost lebih kecil) menuju simpul tersebut ditemukan.

Karena list “terbuka” diurutkan berdasarkan perkiraan cost keseluruhan, algoritma mengecek simpul-simpul yang mempunyai perkiraan cost yang paling kecil terlebih dahulu, jadi algoritmanya mencari simpul-simpul yang kemungkinan mengarah ke simpul tujuan. Karena itu, lebih baik perkiraan cost -nya, lebih cepat pencariannya. Cost dan perkiraannya ditentukan oleh kita sendiri. Bila cost-nya adalah jarak, akan menjadi mudah.

Cost antara simpul adalah jaraknya, dan perkiraan cost dari suatu simpul ke simpul tujuan adalah penjumlahan jarak dari simpul tersebut ke simpul tujuan. Atau agar lebih mudahnya bisa ditunjukkan seperti berikut ini.

f(n) = g(n) + h(n) ...[13] dengan :

f(n) = fungsi evaluasi

g(n) = biaya (cost) yang sudah dikeluarkan dari keadaan sampai keadaan n


(40)

Perhatikan bahwa algoritma ini hanya bekerja bila cost perkiraan tidak lebih besar dari cost yang sebenarnya. Bila cost perkiraan lebih besar, bisa jadi jalan yang ditemukan bukanlah yang terpendek.

Node dengan nilai terendah merupakan solusi terbaik untuk diperiksa pertama kali pada g(n) + h(n). Dengan fungsi heuristic yang memenuhi kondisi tersebut, maka pencarian dengan algoritma A* dapat optimal.

Keoptimalan dari A* ini cukup langsung untuk dianalisis apabila digunakan dengan tree search. Pada kasus ini, A* dinilai optimal jika h(n) adalah sebuah

admissible heuristic yaitu nilai h(n) tidak akan memberikan penilaian lebih pada

cost untuk mencapai tujuan. Salah satu contoh dari admissible heuristic adalah jarak dengan menarik garis lurus karena jarak terdekat dari dua titik adalah dengan menarik garis lurus.

Performansi algoritma A* dapat diketahui dengan melihat perbandingan metode dari tabel 2.1.

Tabel 2.1 Perbedaan ketiga algoritma No. Nama algoritma Metode Keterangan 1.

Optimal Search

(Djikstra’s

Algorithm)

g(ni)=g(n)+c(n,ni) g(n) adalah cost dari IS ke node n c(n,ni) adalah cost dari node n ke

ni

2. Best First Search h(n) h(n) adalah estimated cost dari


(41)

3. A* f(n)=g(n)+h(n) f(n) adalah fungsi heruistic g(n) adalah cost dari IS ke node n h(n) adalah estimated cost dari jalur terpendek dari node n ke GS

Dari informasi pada tabel 2.1 di atas dapat dibuktikan bahwa bila : a. g (n) = 0 , maka f (n) = h(n) sehingga algoritma A* akan bertingkah laku

sebagaimana Best First Search.

b. h(n) = 0, maka f (n) = g (n) sehingga algoritma A* akan bertingkah laku sebagaimana Optimal Search (Dijkstra’s Algorithm).

Dengan demikian dapat diambil kesimpulan bahwa algoritma A* mengkombinasikan kelebihan dari algoritma Optimal Search dan Best First Search.

2.7.1. Kompleksitas Algoritma A* (A Star)

Kompleksitas waktu dari algoritma A* tergantung dari heuristic-nya. Dalam kasus terburuk (worst case), jumlah simpul yang diekspansi bisa eskponensial dalam solusinya (jalan tependek). Akan tetapi, kompleksitasnya bisa berupa polinomial bila fungsi heuristik h bertemu kondisi berikut:

| h(x) − h * (x) | = O(logh * (x)) ...[13]

Dimana h* adalah heuristik optimal, atau cost pasti untuk menuju tujuan dari


(42)

algoritma “perfect heuristich* yang mengembalikan jarak sebenarnya dari x

menuju tujuan.

2.7.2.Efisien Waktu Algoritma A* (A Star)

Dengan digunakannya fungsi heuristic H(n), algoritma A* dapat memfokuskan pencarian pada node-node yang berada pada arah yang mendekati

node tujuan. Kemudian pencarian diterminasikan pada waktu node tujuan diperiksa. Hal ini dapat meminimalisasikan jumlah node yang harus diperiksa dan arena waktu yang diperlukan untuk mendapatkan jalur berbanding lurus dengan jumlah node yang diperiksa, maka waktu pencarian dapat diminimalisasikan.

Walaupun jumlah node yang diperiksa dapat diminimalisasikan, algoritma A* mempunyai kasus terburuk. Pada kasus ini, sebagian besar ataupun keseluruhan

node pada jalan diperiksa, sehingga algoritma A* bekerja seperti algoritma dijkstra atau BFS (Best-First-Search). Ada dua hal yang dapat menyebabkan keadaan terburuk ini, yaitu keadaan sepadan dan jika jalur yang dicari tidak ditemukan.

2.7.3.Keadaan Sepadan pada Algoritma A* (A Star)

Jika dua atau lebih node yang diperiksa mempunyai harga f(n) yang sama, maka keadaan sepadan (tie) terjadi. Hal ini dimungkinkan karena f(n) bergantung pada dua fungsi, yaitu fungsi g(n) dan h(n). Hal ini sangat mungkin terjadi antara

node-node yang letaknya berjauhan, dan kemungkinan besar node yang satu terletak dekat node tujuan sedangkan yang lainnya terletak jauh dari node tujuan.


(43)

Gambar 2.9 Keadaan sepadan

Karena algoritma A* memberikan prioritas berdasarkan harga f(n), maka jika keadaan sepadan terjadi, terdapat lebih dari satu node dengan prioritas sama. Akibatnya adalah node-node tersebut akan diperiksa lebih dulu, yang mungkin

node tersebut terletak berjauhan dengan node tujuan. Hal ini berakibat turunnya kinerja algoritma A*.

2.7.4.Fungsi Heuristic

A* merupakan algoritma pencarian yang menggunakan fungsi heuristic untuk “menuntun” pencarian rute, khususnya dalam hal pengembangan dan pemeriksaan

node-node pada peta. Dalam aplikasi ini, fungsi heuristic dipakai untuk pencarian rute mengisi nilai/notasi h pada algoritma A*. Ada beberapa fungsi heuristic

umum yang bisa dipakai untuk algoritma A* ini. Salah satunya adalah yang dikenal dengan istilah “Manhattan Distance”. Fungsi heuristic ini digunakan untuk kasus dimana pergerakan pada peta hanya lurus (horizontal atau vertikal), tidak diperbolehkan pergerakan diagonal.


(44)

Gambar 2.10 Rutedengan langkah diagonal tidak diperbolehkan

Perhitungan nilai heuristic untuk node ke-n menggunakan Manhattan Distance adalah sebagai berikut :

h(n) = (abs(n.x - goal.x) + abs(n.y - goal.y)) ...[15]

Dimana h(n) adalah nilai heuristic untuk node n, dan goal adalah node tujuan.

2.8Alat Pemodelan Sistem

Alat-alat pemodelan sistem informasi sangat dibutuhkan dalam proses analisis dan perancangan sistem. Alat-alat pemodelan sistem informasi terdiri dari:

1. Bagan Alir Dokumen (Document Flowmap)

Bagan alir dokumen atau disebut juga bagan alir formulir merupakan bagan alir yang menunjukan arus dari laporan dan formulir termasuk

tembusantembusannya.

2. Entity-Relasionship Diagram (ERD)

ERD adalah diagram yang memperlihatkan entitas-entitas yang terlibat dalam suatu sistem serta hubungan-hubungan (relasi antar entitas.


(45)

Komponen-komponen pembentuk model ERD yaitu: a. Entitas (Entity)

Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Entitas dapat berupa orang, tempat, benda, peristiwa atau konsep yang bias memberikan atau mengandung informasi.

b. Atribut (Attributes/Properties)

Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik dari entitas tersebut.

c. Relasi (Relationship)

Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.

d. Kardinalitas/derajat

Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpnan entitas lain.

Kardinalitas relasi yang terjadi di antara dua himpunan entitas dapat berupa : a) Satu ke satu (one to one)

b) Satu ke banyak (one to many) c) Banyak ke satu (many to one) d) Banyak ke banyak (many to many)


(46)

3. Skema Relasi

4. Skema relasi adalah untuk pressentasi atribut-atribut dari entity yang terdapat dalam sistem dan hubungan antar entity Ipada model ERD. Skema relasi merupakan turunan dari ERD.

5. Diagram Konteks (Context Diagram)

Diagram konteks merupakan diagram alir pada tingkat palinng atas yang merupakan penggambaran yang berfungsi untuk memperlihatkan interkasi atau hubungan langsung antara sistem dengan lingkungannya. Diagram konteks menggambarkan sebuah sistem berupa sebuah proses yang berhubungan dengan satu atau beberapa entitas/entity.

6. Data Flow Diagram (DFD)

DFD adalah suatu alat pemodelan yang digunakan untuk memodelkan fungsi dari sistem, menggambarkan secara rinci mengenai sistem sebagai jaringan kerja antar fungsi yang berhubungan satu sama lain dengan menunjukan dari dan kemana data mengalir serta penyimpanannya. Beberapa simbol digunakan di DFD:

a. Kesatuan luar (external entity) atau batas sistem (boundary), merupakan kesatuan (entity) di lingkungan luar sistem yang dapat berupa orang, orhanisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan masi=ukan atau menerima keluaran dari sistem.

b. Arus data (data flow) ini mengalir diantara proses (process), simpanan data (data store) dan kesatuan luar (external entity). Arus data ini menunjukkan arus dari data yang dapat berupa masukan untuk system atau hasil dari proses sistem


(47)

c. Proses (process) merupakan kegiatan yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkam arus data yang akan keluar dari proses.

d. Simpanan data (data store) merupakan simpanan dari data yang dapat berupa suatu file atau database di sistem komputer, suatu arsip atau catatan manual, suatu kotak tempat data di meja seseorang, suatu table acuan manual, dan suatu agenda atau buku.

e. Spesisikasi Proses (Process Specification (PSPEC))

f. Spesifikasi proses digunakan untuk menggambarkan semua proses model aliran yang. Nampak pada tingkat akhir penyaringan. Kandungan dari spesifikasi proses dapat termasuk teks naratif, gambaran bahasa desain program (Program Design Language) dari algoritma proses, persaaan matematika, tabel, digram, atau bagan.

7. Kamus Data (Data Dictionary)

Kamus data adalah katalog fakta tentang data dan kebutuhan kebutuhan

informasi dari suatu sistem informasi.Dengan menggunakan kamus data, analisis sistem dapat mendefinisikan data yng mengalir di sistem dengan lengkap. Kamus data harus memuat hal-hal berikut ini :

a. Nama arus data.

b. Alias atau nama lain dari data dapat dituliskan bila nama lain ini ada. Alias perlu ditulis karena data yang samamempunyai nama yng berbeda untuk orang atau departemen satu dengan yang lainnya.


(48)

c. Bentuk data, dapat berupa dokumen dasar atau formulir. Dokumen hasil cetakan komputer, laporan cetak, tampilan di layar monitor, variabel, parameter dan field.

d. Arus data menunjukkan dari mana data mengalir dan kemana data akan menuju.

e. Penjelasan dapat diisi dengan keterangan-keterangan tentang arus data tersebut.

f. Periode menunjukan kapan terjadinya arus data.

g. Volume digunakan untuk mengidentifikasikan besarnya simpanan luar yang akan digunakan, kapasitas dan jumlah dari alat input, alat pemroses dan alat output.

h. Struktur data menunjukkan arus data yang dicatat di kamus data berisi item-item data apa saja.

2.9Perangkat Pengembangan (Tools)

Dalam membangun dan mengembangkan permainan shopping time ini digunakan tools Adobe Flash CS 4. Flash bekerja dengan bahasa pemprograman yang dinamakan Action Script. Bahasa ini telah mengalami beberapa kali perkembangan sejak pertama kali diperkenalkan. Versi terakhir adalah Action Script 3.0 atau disingkat AS3, dengan struktur bahasa yang sangat menyerupai javascript. Dengan dukungan Action Script, maka aplikasi yang dibangun dengan Flash dapat ditampilkan secara online di internet. Hal ini kemudian membuat multimedia interaktif di internet. Di antaranya adalah aplikasi untuk game online, aplikasi web interaktif, online video interaktif.


(49)

Flash menghasilkan file dalam format SWF yang ringan. Sebuah game yang ditulis dalam format Flash bisa menghasilkan file SWF berukuran beberapa kilobyte saja. SWF adalah kependekan dari “Shock Wave Flash”, kata lain yang biasanya dipergunakan untuk menyebutkan file swf adalah Flash Movie. File flash movie memiliki ekstensi .swf, yang hanya dapat ditampilkan apabila komputer yang menjalankan aplikasi tersebut telah memiliki plug-in “Flash Player”. File

.swf yang ditampilkan secara onlinetidak dapat “dimainkan” pada komputer yang

tidak terhubung ke internet (offline). Hal ini sangat menguntungkan bagi para web

developer.

Flash tidak hanya menghasilkan file dalam format SWF saja. Sebuah aplikasi multimedia interaktif dapat disimpan dalam bentuk file executable, atau dinamakan sebagai Projector (sebuah file yang dapat dieksekusi oleh Microsoft Windows dengan ekstensi .exe, atau oleh Macintosh dengan ekstensi .hqx). Ada pula berupa file video dengan format QuickTime dengan ekstensi .mov.

Dengan demikian, Flash dapat dikembangkan untuk berbagai keperluan, mulai dari membuat animasi, sampai pada pemprograman yang rumit.


(50)

2.9.1 Perkembangan Flash

Ini merupakan tampilan desktop Adobe Flash CS 4.

Gambar 2.11 Tampilan Desktop Adobe Flash CS4

Berikut adalah sejarah perkembangan Flash:

1. Jonathan Gay, Charlie Jackson, dan Michelle Welsh mengembangkan SmartSketch pada tahun 1993. Aplikasi tersebut dibangun untuk menggambar dengan mode vektor.

2. Future Splash Animator sebagai versi awal Flash diperkenalkan pada bulan April tahun 1996 dengan kemampuan menggambar ditambah dengan timeline, sehingga dapat menghasilkan animasi.

3. Macromedia Flash 1 diperkenalkan pada bulan November 1996. Macromedia adalah re-branded dari Future Splash Animator.

4. Macromedia Flash 2 diperkenalkan pada bulan Juni 1997, dengan Flash Player 2, sudah terdapat object library.

5. Macromedia Flash 3 diperkenalkan pada bulan Mei 1998. dengan Flash Player 3, fitur baru meliputi Movie Clip, integrasi dengan plug-in


(51)

JavaScript, mengandung objek tranferens dan Flash Player yang berdiri sendiri.

6. Macromedia Flash 4 diperkenalkan pada bulan Jun 1999, dengan Flash Player 4, fitur baru meliputi variabel internal, kotak untuk input tulisan, pengembangan Action Script, dan streaming MP3.

7. Macromedia Flash 5 diperkenalkan pada bulan Agustus 2000, dengan Flash Player 5, dan telah memiliki Action Script 1.0.

8. Macromedia Flash MX diperkenalkan pada tahun 2002, dengan Flash Player 6.

9. Macromedia Flash MX 2004 diperkenalkan pada bulan September 2003, dengan Flash Player 7, dan telah mendukung Action Script 2.0.

10.Macromedia Flash 8 diperkenalkan pada bulan September 2005. Terdiri dari :

 Macromedia Flash Basic 8, yang memiliki fitur yang terbatas untuk menggambar, animasi, dan interaktiviti.

 Macromedia Flash 8 Professional dengan tambahan fitur yang difokuskan untuk tampilan yang lebih ekspresif, kualitas, video, dan multimedia.

11.Adobe Flash CS3 diperkenalkan pada bulan April 2007. Merupakan versi pertama Flash dibawah nama Adobe, Flash CS3 telah mendukung Action Script 3.0.

12.Adobe Flash CS4 diperkenalkan pada bulan Oktober 2008. Memiliki fitur baru Inverse Kinematik (bones), manipulasi objek 3D, animasi objek,


(52)

engine teks yang lebih maju, dan pengembangan lebih jauh pada ActionScript 3.0.

2.9.2 Fitur-fitur Kunci pada Flash

Adobe melakukan banyak perubahan pada Flash CS4. Perubahan yang dilakukan menyangkut inovasi pada desaign dan pengembangan pada fitur pemprograman Action Script. Pada versi ini kita akan menemukan Flash yang lebih menyatu dengan produk lainnya dari Adobe, khususnya Illustrator dan Photoshop. Lebih dari itu, Flash CS4 sekarang dapat dipergunakan untuk memanipulasi video dan sound. Flash CS4 juga dapat terhubung dengan database

untuk mengembangkan aplikasi web.

Kita mengenal Flash sebagai aplikasi pengembang animasi grafik yang sangat baik, hal ini tidak terlepas dari fitur-fitur utama yang dimiliki oleh Flash.

2.9.2.1Lingkungan Menggambar yang Lengkap

Flash adalah sebuah lingkungan yang lengkap untuk menggambar. Peralatan yang disediakan dapat dipergunakan untuk mengerjakan gambar dan tipografi yang rumit sekalipun. Seperti saudaranya Illustrator, Flash merupakan aplikasi untuk menggambar berbasis vektor. Bekerja dengan Flash berarti kita dapat menghasilkan gambar yang kaya, detail, dan dapat diperbesar atau diperkecil tanpa takut mengalami perubahan pada resolusi gambar. Flash sekarang telah dapat membaca file Illustrator dan Photoshop dalam bentuk aslinya, yaitu .ai dan


(53)

.psd membuat Flash semakin mempermudah penggunanya untuk dapat bekerja pada lingkungan yang disukainya.

2.9.2.2Kemampuan Animasi yang Mudah

Flash dapat dipergunakan untuk menciptakan animasi yang ringan. Flash juga dapat mengakomodasi gambar bitmap, sound, dan video. Flash movie dapat dengan cepat di-download dan dapat diintegrasikan melalui website. Beberapa hal inilah yang menyebabkan Flash menjadi lingkungan yang disukai oleh desaigner

dan developer web yang ingin mengembangkan kreativitasnya pada tingkat yang lebih tinggi. Animasi flash dapat diintegrasikan dengan website, video, dan game. Animasi flash juga sangat popular untuk dipergunakan pada multimedia interaktif, atau web banner. File Flash yang sangat ringan membuatnya sangat ideal untuk diaplikasikan dengan animasi, permainan, dan bahkan pada mobile phone.

Animasi yang dibangun dengan Flash dapat meliputi animasi tradisional

frame-by-frame, atau animasi tweening. Berbeda dengan animasi frame-by-frame, animasi tweening dapat dipergunakan untuk membentuk animasi dengan hanya menentukan frame awal dan akhirnya saja. Flash dapat menciptakan frame-frame

antara (in between) yang diperlukan untuk menciptakan gerakan, warna, dan transformasi bentuk ataupun efek transisi. Dengan demikian, kita dapat menciptakan animasi yang diperlukan dengan berbagai pendekatan.


(54)

2.9.2.3Layout yang Tanpa Batas

Stage pada Flash memberikan fleksibiliti yang tinggi dalam menciptakan

layout halaman-halaman website yang menarik tanpa batasan yang biasanya sangat menyulitkan apabila dikembangkan dengan struktur HTML biasa. Kita dapat menempatkan kandungan web di manapun pada Stage dengan fleksibiliti dan tingkat presisi yang tinggi, jauh meninggalkan website statik di belakangnya. Flash movie juga dapat menyertakan tipografi yang kita pilih sehingga dapat menghasilkan tampilan yang menarik dengan font yang kaya tanpa batasan yang biasanya sulit diaplikasikan di luar Flash.

2.9.2.4Lingkungan Pemprograman yang Bertenaga

Keindahan tersembunyi pada Flash CS4 Professional terletak pada kemampuan pemprogramannya yang bertenaga. Action Script adalah sebuah bahasa pemprograman yang dapat mengembangkan kemampuan mendesain dan animasi menjadi sebuah aplikasi interaktif yang hidup dan menarik. Dengan

Action Script kita dapat mengendalikan movie, membuat dan memberi berbagai fungsi pada tombol. Lebih dari itu, Flash merupakan lingkungan pemprograman

visual yang lengkap dan luas. Action Script dapat menjadikan movie flash sebagai sebuah aplikasi online yang lengkap untuk berbagai keperluan, termasuk shopping cart, musik dan video player, game, bahkan dapat diaplikasikan untuk mobile phone.


(55)

43 BAB 3

ANALISIS DAN PERANCANGAN

Pada bab ini menjelaskan mengenai analisis dan gambaran dari sistem yang ada dan bagaimana perancangan program aplikasi yang akan dibuat.

3.1 Analisis Masalah

Analisis masalah merupakan proses identifikasi serta evaluasi mengenai masalah-masalah yang timbul dari pengembangan sistem, baik mengenai aturan serta teknik-teknik yang digunakan dalam pengembangan sistem.

Ada beberapa permainan yang menjadi rujukan dalam membuat permainan

shopping time ini, yaitu:

1. Brain Spa Visual Memori 2

Permainan ini bisa dilihat di situs Brain Spa Visual Memori 2 [16]. Dalam permainan ini, pemain diajak untuk berbelanja produk-produk sehari-hari, mulai dari berbagai macam produk baby care, snack, canned goods dan lain-lain. Aturan permainan ini adalah sebagai berikut:

 Misi permainnan ini adalah pemain harus membeli produk sesuai dengan uang yang diberikan.

 Satu macam produk hanya boleh dibeli satu saja.


(56)

Keunggulan permainan ini adalah adanya nilai edukasi yang terlihat dari pemain harus memilih barang yang mana yang harus dia beli agar uang yang ada habis tanpa sisa. Namun permainan ini juga memiliki kelemahan yaitu karakter yang ada dalam permainan ini hanya bisa berdiri di tempat yang sama, selain itu dalam permainan ini tidak ada NPC (Non Playable Character) yang menjadi musuh bagi pemain dalam menyelesaikan misi yang diberikan sehingga permainan menjadi sedikit membosankan.

Berikut adalah tampilan permainan Brain Spa Visual Memori 2.

Gambar 3.1 Tampilan Menu Awal Permainan Brain Spa Visual Memori 2 [16]


(57)

2. Shopping Street

Permainan ini dapat dilihat di situs Shopping Street [17]. Aturan yang berlaku dalam permainan adalah:

 Misi permainan ini adalah pemain bisa menghasilkan uang sesuai dengan yang telah ditetapkan tiap levelnya dengan membangun toko-toko dan hal-hal pendukung lainnya

 Diawal permainan, pemain diberikan modal uang untuk bisa membangun satu toko.

 Uang yang diperoleh berasal dari kunjungan NPC ke toko dan membeli barang yang ada di toko tersebut.

 Satu level dibagi menjadi 5 hari kerja.

 Pemain bisa menambah toko kapan saja jika uang yang ada mencukupi.

Kekurangan dari permainan ini adalah tidak adanya karakter yang bisa dimainkan oleh pemain untuk melakukan transaksi belanja. Berikut adalah tampilan dari permainan shopping street:


(58)

Gambar 3.4 Tampilan Permainan Shopping Street [17]

3. Shopping Corner

Permainan ini bisa dimainkan di situs Shopping Corner [18]. Aturan permainan adalah sebagai berikut:

 Misi permainan ini adalah pemain bisa menarik perhatian pengunjung untuk mengunjungi toko yang dibangun, tiap level harus ada 100 pengunjung yang mengunjungi toko.

 Diawal permainan, pemain diberikan modal uang untuk bisa membangun satu toko.

 Uang yang diperoleh berasal dari kunjungan NPC ke toko dan membeli barang yang ada di toko tersebut.

 Satu level dibagi menjadi 5 hari kerja.

 Pemain bisa menambah toko kapan saja jika uang yang ada mencukupi dan tiap toko hanya bisa dibangun satu saja.

Kelemahan permainan ini adalah kegiatan jual belinya tidak terlalu terlihat karena pemain tidak bisa mengatur karakter untuk berbelanja, selain itu dalam


(59)

permainan ini juga tidak ada nilai edukasi. Berikut adalah tampilan permainan

shopping corner.

Gambar 3.5 Tampilan Menu Utama Permainan Shopping Corner [18]

Gambar 3.6 Tampilan Permainan Shopping Corner [18]

Dengan melihat adanya kekurangan dari permainan-permainan diatas, maka dibuatlah permainan shopping time yang akan menggabungkan kelebihan-kelebihan dan memperbaiki kekurangan-kekurangan dari permainan tersebut.

3.1.1 Pengenalan Aplikasi Permainan Shopping Time

Permainan shopping time merupakan permainan 2D (2 dimensi) yang mengambil tema tentang kegiatan berbelanja. Diawal permainan akan muncul


(60)

gambar pusat perbelanjaan, terdapat 6 toko yang pada masing-masing toko menjual 4 macam barang yang berbeda.

Misi permainan ini adalah menghabiskan uang jajan yang diberikan dengan membeli barang-barang yang ada dalam jangka waktu yang telah ditentukan. Terdapat karakter seorang anak perempuan yang merupakan wujud pengguna dalam aplikasi permainan shopping time dalam bentuk 2D.

Permainan shopping time ini merupakan permainan berbasis desktop yang bersifat stand alone. Software yang digunakan untuk membuat permainan ini adalah Adobe Flash (Action Script 2). Dalam permainan ini juga diterapkan algoritma A* yang pengunaannya hanya untuk menentukan jalan optimal yang diiimplementasikan pada karakter yang ada di permainan ini.

Aplikasi permainan ini ditujukan untuk anak usia 6-12 tahun karena adanya nilai edukasi yang diterapkan yaitu perhitungan sederhana dan pengenalan warna. Dalam permainan ini terdapat 3 level yang memiliki tingkat kesulitan yang berbeda, perbedaan tiap level terletak pada nilai uang jajan, waktu yang diberikan dan pertanyaan yang diberikan. Hal yang menarik dari aplikasi permainan

shopping time ini selain adanya nilai edukasi yaitu perhitungan sederhana dan pengenalan warna, pada level 3 juga terdapat NPC yaitu seorang pencuri yang bisa mencuri barang yang ada di toko.


(61)

3.2 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non-fungsional merupakan proses indentifikasi dan evaluasi mengenai kebutuhan sistem maupun pengguna, sehingga diharapkan permainan yang dibangun nanti dapat berjalan dengan baik.

Pada analisis kebutuhan sistem non fungsional ini dijelaskan mengenai analisis masukan, analisis keluaran, kebutuhan perangkat keras (hardware),

kebutuhan perangkat lunak (software), dan pengguna (user) yang terdiri dari: a. Analisis masukan

Analisis masukan dilakukan untuk mengetahui masukan data apa saja yang diperlukan oleh sistem. Masukan data yang diperlukan oleh sistem yaitu titik awal, titik tujuan, baris kotak, kolom kotak, penghalang maupun tanpa penghalang dan nilai heuristik.

b. Analisis keluaran

Analisis keluaran dilakukan untuk mengetahui keluaran dari sistem yang dibutuhkan oleh user yaitu berupa jalur terpendek dan pelacakan pencarian dari titik awalke titik tujuan.

c. Analisis perangkat keras (hardware)

Agar aplikasi dapat berjalan dengan baik, maka dibutuhkan perangkat keras yang sesuai dengan kebutuhan aplikasi. Kebutuhan perangkat keras ini bisa dibagi menjadi dua sudut pandang yaitu dari sisi pembangun dan pengguna. Tabel 3.2 adalah spesifikasi minimun perangkat keras yang dibutuhkan untuk membangun aplikasi permainan shopping time dan tabel 3.3 adalah spesifikasi minimun


(62)

perangkat keras yang dibutuhkan untuk menjalankan aplikasi permainan shopping time secara optimal.

Tabel 3.1 Spesifikasi Minimum Perangkat Keras Di Sisi Pembangun Komputer Spesifikasi perangkat keras

Prosesor Prosesor 1.73 Ghz

Resolusi layar 1024 x 800 pixel

Memori Memori 1 GB

Harddisk Harddisk 120 GB

Monitor/LCD -

Keyboard dan mouse -

Tabel 3.2 Spesifikasi Minimum Perangkat Keras Di Sisi Pengguna Komputer Spesifikasi perangkat keras

Prosesor Prosesor 1.6 Ghz

Resolusi layar 800 x 600 pixel

Memori Memori 512 MB

Harddisk Harddisk 1 GB

Monitor/LCD -

Keyboard dan mouse -

d. Analisis kebutuhan perangkat lunak (software)

Permainan shopping time memiliki kebutuhan perangkat lunak (software) pada tabel 3.9.


(63)

Tabel 3.3 Spesifikasi Perangkat Lunak Dari Sisi Pembuat Komputer Spesifikasi perangkat lunak Sistem Operasi Window

Bahasa Pemograman Adobe Flash CS 4

Sedangkan dari sisi pengguna selain memiliki sistem operasi windows, PC (Personal Computer)/Laptop juga harus telah terinstal aplikasi flash player.

e. Analisis pengguna

Suatu aplikasi dapat berjalan optimal apabila pengguna memiliki kemampuan untuk menjalankan aplikasi yang bersangkutan. Untuk memainkan game

setidaknya pengguna harus memiliki: 1. Usia : 6-12 tahun

2. Pendidikan : sekolah dasar

3. Keterampilan : mampu menggunakan petunjuk yang ada di aplikasi ini dan dapat menjalankan aplikasi pada PC (Personal Computer)

4. Pengalaman : pernah menggunakan komputer dan bermain game

komputer.

5. Kemampuan berbahasa : bisa berbahasa indonesia.

3.2.1 Analisis Antar Muka

Pada permainan shopping time, di halaman utama terdapat 5 tombol, yaitu tombol mulai, tombol petunjuk, tombol pengaturan, tombol kredit dan tombol keluar.


(64)

Berikut merupakan gambar tampilan halaman utama dari aplikasi permainan

shopping time:

Shopping Time Halaman Utama

Visualisasi Keterangan

 Background merupakan toko-toko. Dihalaman ini terdapat 5 tombol yaitu:

 Tombol mulai untuk masuk ke halaman game

 Tombol petunjuk untuk masuk ke halaman petunjuk

 Tombol pengaturan untuk masuk ke halaman pengaturan

 Tombol kredit untuk masuk ke halaman kredit

 Tombol keluar untuk keluar dari aplikasi. Gambar 3.7 Antar Muka Halaman Utama

Shopping Time Halaman Petunjuk

Visualisasi Keterangan

 Background merupakan papan tulis.

 Berisi petunjuk cara bermain shopping time

yang terdiri dari:

 Uang jajan yang diberikan harus habis dalam waktu tertentu.

 Waktu yang diberikan untuk

menyelesaikan misi yaitu menghabiskan uang jajan yang diberikan.

 Klik toko untuk membeli barang.  Jawab pertanyaan yang ada lalu klik

tombol beli.

 Lakukan lahkah 3 dan 4 sampai uang jajan habis.

 Ada tombol kembali untuk kembali ke halaman menu utama


(65)

Gambar 3.8 Antar Muka Halaman Petunjuk Shopping Time

Halaman Petunjuk

05 Visualisasi

 Background merupakan papan tulis.

 Berisi pengaturan musik dan efek suara yang ada di permainan shopping time

 Ada tombol kembali untuk kembali ke halaman menu utama

Gambar 3.9 Antar Muka Halaman Pengaturan Shopping Time

Halaman Petunjuk

Visualisasi Keterangan

 Background merupakan papan tulis.  Berisi pembuat permainan shopping time.

 Ada tombol kembali untuk kembali ke halaman menu utama.

Gambar 3.10 Antar Muka Halaman Kredit

3.2.2 Analisis Karakter/Properti

Dalam permainan shopping time terdapat dua karakter yaitu karakter pemain yang digambarkan sebagai anak perempuan dan karakter pencuri yang


(66)

digambarkan sebagai laki-laki yang memakai penutup mata dan menggunakan pakaian seperti pencuri. Selain itu, dalam permainan ini juga terdapat 6 toko yang menjual 4 barang yang berbeda dengan harga yang berbeda pula.

Berikut adalah gambaran properti dan karakter yang ada di permainan

shopping time.

Shopping Time Barang dan Karakter

Visualisasi Keterangan

Toko:

Barang yang dijual:

Toko dan barang yang dijual:  Toko mainan

 Pesawat 1, harga Rp 15.000  Kapal layar1, harga Rp 20.000  Helikopter, harga Rp 22.500  Pesawat 2, harga Rp 25.000  Toko mobil-mobilan

 Mobil 1, harga Rp 15.000  Mobil 2, harga Rp 20.000  Mobil 3, harga Rp 22.500  Mobil 4, harga Rp 25.000  Toko permen

 Permen 1, harga Rp 10.000  Permen 2, harga Rp 15.000  Permen 3, harga Rp 17.500  Permen 4, harga Rp 20.000  Toko kue

 Kue 1, harga Rp 5.000  Kue 2, harga Rp 7.500  Kue 3, harga Rp 10.000  Kue 4, harga Rp 12.500  Toko boneka

 Boneka 1, harga Rp 15.000  Boneka 2, harga Rp 20.000  Boneka 3, harga Rp 25.000  Boneka 4, harga Rp 30.000  Toko ice cream

 Ice cream 1, harga Rp 5.000  Ice cream 2, harga Rp 7.500  Ice cream 3, harga Rp 10.000  Ice cream 4, harga Rp 15.000


(67)

Karakter orang/pemain:  Nama: Kanza

 Kemampuan: sebagai karakter orang yang menjadi perwakilan pemain untuk menjalankan misi

 Karakter musuh/pencuri  Nama: Pencuri

 Kemampuan: bisa mencuri barang-barang yang ada di toko.

Gambar 3.11 Antar Muka Properti dan Karakter

3.2.3 Storyboard

Storyboard adalah sketsa gambar yang disusun berurutan sesuai dengan naskah, dengan storyboard penyampaian ide cerita bisa dilakukan dengan mudah. Hal ini disebabkan karena storyboard dapat menggiring khayalan seseorang mengikuti gambar-gambar yang tersaji, sehingga menghasilkan persepsi yang sama pada ide cerita.

Berikut merupakan storyboard dari Aplikasi permainan shopping time: 1. Pemain memilih menu mulai


(68)

2. Muncul halaman permainan yang berupa pusat perbelanjaan.

Gambar 3.13 Storyboard 2

3. Pemain memilih (meng-klik) salah satu toko untuk membeli barang.

Gambar 3.14 Storyboard 3 4. Pemain menjawab pertanyaan yang ada


(69)

Gambar 3.16 Storyboard 4 level 2 dan 3

5. Kembali lagi ke langkah 2-4 sampai uang jajan atau waktu habis

Gambar 3.17 Storyboard 5

6. Hati-hati dengan musih yang bisa mencuri barang yang telah dibeli.


(70)

7. Jika misi selesai maka akan muncul halaman kemenangan lalu melanjutkan ke level berikutnya, jika tidak maka muncul halaman permainan berakhir.

Gambar 3.19 Storyboard 7

3.2.4 Gameplay

Permainan shopping time memiliki gameplay sebagai berikut:

 Permainan dimulai dengan layar yang menampilkan kawasan pusat perbelanjaan lengkap dengan toko-tokonya yang berjumlah 6 buah, dan dikatakan selesai jika pemain berhasil menghabiskan uang jajan yang diberikan dengan membelikan barang-barang yang ada dalam waktu yang telah ditentukan agar pemain mendapatkan score (nilai).

 Pemain harus menghabiskan uang tadi dengan membelikan barang-barang yang ada di toko-toko yang ada di pusat perbelanjaan.

 Saat pemain meng-klik toko, maka akan muncul kotak yang berisi nama barang dan harga barang.

 Untuk membeli barang tersebut, pemain harus bisa menjawab pertanyaan yang ada yaitu pengurangan antara uang yang ada dan harga barang dan di level dua dan tiga ada tambahan pertanyaan yaitu warna barang yang dibeli. Jika


(71)

jawabannya benar maka saat tombol beli di klik maka akan muncul pesan “selamat, jawaban anda benar” lalu uang jajan langsung berkurang dan proses jaul beli selesai, untuk ke halaman awal permainan klik tombol map, jika jawaban tidak benar maka saat tombol beli di klik maka akan muncul pesan “jawaban salah, silahkan ulang lagi”.

 Pada setiap toko hanya bisa dibeli satu barang saja.  Permainan ini terdiri dari 3 level yakni:

a. Level 1, waktu yang diberikan adalah 2 menit dan uang jajan yang diberikan adalah Rp 50.000. Pemain harus menjawab pertanyaan yaitu pengurangan antara uang jajan dengan harga barang yang dibeli.

b. Level 2, waktu yang diberikan adalah 1,5 menit dan uang jajan yang diberikan adalah Rp 45.000. Pemain harus menjawab pertanyaan yaitu pengurangan antara uang jajan dengan harga barang yang dibeli dan apa warna barang yang dibeli.

c. Level 3, waktu yang diberikan adalah 1 menit dan uang jajan yang diberikan adalah Rp 37.500. Pemain harus menjawab pertanyaan yaitu pengurangan antara uang jajan dengan harga barang yang dibeli dan apa warna barang yang dibeli dan ada NPC yang akan mencuri barang-barang yang ada di toko.

 Pemain hanya dapat memainkan level 3 jika telah berhasil melewati level 1 dan level 2.


(72)

3.2.5 Analisis Penggunaan Algoritma A* dalam Permainan Shopping Time Algoritma A* (A Star) akan diterapkan pada analisis kasus pencarian jalan terpendek menuju tujuan pada karakter pemain yang ada di permainan shopping time untuk mencari kecepatan, jarak langkah menuju tujuan dan simpul yang diperiksa.

Dalam kondisi jarak yang ditempuh sangat jauh dan memiliki banyak rintangan algoritma A* cocok untuk mencari solusi yang terbaik. Setiap pergerakan yang dilakukan pada kotak statusnya akan disimpan pada suatu list.

List ini akan digunakan untuk melakukan pengecekan apakah sudah pernah membangun status tersebut atau belum agar tidak menggerakkan kotak yang sama berkali-kali ke status yang sama. Dengan menerapkan strategi ini, selain menemukan solusi, algoritma ini juga bisa menemukan langkah terpendek untuk mencapai solusi tersebut. Gambar 3.7 merupakan peta permainan shoppingtime.

Gambar 3.20 Peta permainan shopping time 9x26

Pada gambar 3.7, kotak warna abu-abu adalah toko yanng meruakan node


(73)

Cara kerja dalam pencarian jalan pada permainan shopping time ini yakni setiap

node akan memeriksa ke arah kiri, atas, kanan, dan bawahnya. Setiap node yang diperiksa dicari nilai f, nilai g, dan nilai h nya. Node dengan nilai f terendah yang dipilih dan dijadikan parent node untuk pencarian selanjutnya hingga node tujuan ditemukan. Contoh solusi pencarian jalan dapat terlihat pada gambar 3.8.

Gambar 3.21 Contoh solusi pencarian jalan permainan shopping time

Pada gambar 3.8, kotak A merupakan node awal, kotak T merupakan node

tujuan dan kotak angka merupakan rute yang ditemukan. Maka jika diimplementasikan pada permainan shopping time suatu karakter akan melewati halangan dan akhirnya akan menemukan rute terpendek ke tujuan.

3.2.6 Analisis Algoritma A* pada Permainan Shopping Time

Terdapat beberapa hal yang perlu didefinisikan terlebih dahulu dalam kasus permainan shopping time dengan penerapan algoritma A* (A Star). Adapun istilah-istilah yang akan dibahas yaitu node, parent node, cost, open list, closed list, nilai f, nilai g, nilai h dan heuristik.


(74)

1. Node (simpul): merupakan titik di sepanjang jalan. Dalam A* terdapat simpul awal dan simpul akhir. A* akan menghitung semua simpul dari awal sampai akhir untuk mendapatkan jalan terpendek.

2. Parent node: ketika sebuah simpul diuji dalam algoritma, simpul tersebut merupakan parent node untuk semua simpul yang terhubung langsung (simpul yang traversable dalam satu langkah). Dengan demikian, dapat dengan mudah bekerja mundur melalui semua parent node untuk membuat jalan setelah mencapai simpul tujuan.

3. Cost (biaya): biaya untuk setiap simpul didasarkan pada dua faktor yaitu biaya untuk sampai ke simpul tersebut dari simpul awal dan perkiraan biaya untuk mendapatkan dari simpul tersebut ke simpul akhir. Biaya node

biasanya dinyatakan melalui 3 variabel f, g dan h. Simpul dengan biaya yang lebih rendah yang digunakan.

4. Open List adalah list yang menyimpan kemungkinan simpul yang akan diperiksa. Open list dibuat terurut berdasarkan nilai f. open list digunakan untuk menentukan secara selektif (berdasarkan nilai f) jalan yang dikira lebih dekat menuju pada simpul tujuan. Open berisi simpul-simpul yang masih memiliki peluang untuk terpilih sebagai simpul terbaik (best node).

5. Closed List adalah senarai (list) untuk menyimpan simpul-simpul yang sudah pernah dibangkitkan dan sudah pernah terpilih sebagai simpul terbaik (best node) atau senarai yang menyimpan jalan yang sudah diperiksa dari open list. Artinya, closed list berisi simpul-simpul yang tidak mungkin terpilih sebagai simpul terbaik (peluang untuk terpilih sudah tertutup). Kedua list (open list


(75)

dan closed list) ini bertujuan juga untuk menghindari penelusuran berkali-kali jalan (rute) yang memang sudah diidentifikasi agar tidak masuk kembali ke dalam open list.

6. Nilai f adalah cost perkiraan suatu simpul yang teridentifikasi. Nilai F merupakan hasil dari f(n).

7. Nilai g hasil dari fungsi g(n), adalah banyaknya langkah yang diperlukan untuk menuju ke simpul sekarang.

8. Nilai h: merupakan estimasi harga simpul tersebut dihitung dari simpul tujuan. Nilai ini diperkirakan. Hal ini tidak tepat karena jalan yang akan ambil untuk sampai ke simpul akhir tidak diketahui. Oleh karena itu, biaya harus diperkirakan dengan menggunakan fungsi yang disebut heuristik.

9. Heuristik: merupakan fungsi untuk memperkirakan biaya dari simpul tertentu ke simpul akhir. Kelebihan A* adalah dapat mendukung berbagai fungsi heuristik, karena itu percobaan bisa dilakukan berbeda-beda sampai mendapatkan hasil yang dicari. Fungsi heuristik dapat berbeda berdasarkan kecepatan kerja, efisiensi dan berbagai kriteria lainnya.

Langkah-langkah yang dilakukan pada permainan shopping time

menggunakan algoritma A* :

1. Tentukannode awal dan node tujuan

2. Tambahkan node awal ke open list (yang seharusnya kosong) 3. Pilih node saat ini dalam open list dengan biaya terendah

4. Jika node saat ini sama dengan tujuan, maka pencarian selesai dan lanjutkan ke langkah 8.


(1)

Pengujian Beta

0 1 2 3 4 5 6 7 8 Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju


(2)

Kesimpulan Hasil Pengujian

Kelebihan dari permainan

shopping time

yaitu :

1. Aplikasi permainan ini dapat digunakan sebagai pemicu semangat anak untuk belajar.

2. Pengguna dapat dengan mudah mengerti dalam memainkan aplikasi permainan shopping time.

3. Gambar yang terdapat didalam permainan ini disenangi oleh pengguna.

Kekurangan dari permainan

shopping time

yaitu:

1. Untuk anak 6-8 tahun, waktu yang diberikan terlalu cepat dan pertanyaan yang ada cukup sulit.


(3)

(4)

Kesimpulan

• Permaian shopping time merupakan permainan yang dimainkan oleh satu orang dengan tujuan untuk

menghabiskan uang jajan yang diberikan dengan membeli barang-barang yang ada.

• Permaian shopping time yang dibangun dapat digunakan sebagai sarana pembelajaran (berhitung dan pengenalan warna) bagi anak usia 6 – 12.

• Algoritma A* dapat diterapkan sebagai metode pencarian jalan pada permainan shopping time.


(5)

Saran

• Diharapkan untuk pengembangan selanjutnya waktu yang diberikan ditambah.

• Karakter yang ada di permainan shopping time tidak hanya anak perempuan tapi juga anak laki-laki sehingga pengguna bisa memilih karakter yang diinginkan.

• Barang-barang yang dijual juga dalam permainan ini juga bisa ditambah sehingga lebih bervariasi dan permainan jadi lebih menarik.


(6)