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
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,
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.
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
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
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
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
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
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
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
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
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
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)
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,
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
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.
(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
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
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
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
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
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.
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.
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
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,
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
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
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
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
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
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.
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,
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
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.
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.
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
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
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
algoritma “perfect heuristic” h* 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
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),
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
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)
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
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
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
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.
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
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
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
.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
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
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.
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]
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:
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
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
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
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
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)
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
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