SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ALVI LUQMANNUL HAKIM
10109509
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
karena atas segala rahmat dan karunia-Nya yang memberikan kesehatan dan hikmat kepada penulis sehingga penelitian ini dapat diselesaikan dengan baik sesuai dengan waktu yang direncanakan.
Skripsi yang berjudul “Implementasi Metode Forward Chaining Untuk Penentuan Status Karakter Pada Game Petualangan” disusun untuk memperoleh gelar Sarjana Teknik Informatika, Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.
Pada kesempatan ini penulis hendak menyampaikan terima kasih kepada : 1. Alloh SWT atas kasih karunia-Nya sehingga penulis mampu menyelesaikan
tugas akhir ini.
2. Ibunda dan Ayahanda, terima kasih yang tak terhingga atas segala kasih sayang, segala dukungan dan doa restu yang tidak henti-hentinya bagi penulis. 3. Keluarga besar penulis, terutama istriku Indah, anakku Aqilla yang selalu
memberikan dukungan dan motivasi, adikku Syani dan Irtsa, "nuhun".
4. Ibu Tati Harihayati M.,S.T.,M.T selaku dosen pembimbing skripsi yang telah banyak memberikan bimbingan dan saran-saran kepada penulis sejak awal penelitian sampai dengan selesainya penulisan skripsi ini.
5. Bapak Adam Mukharil Bachtiar, S.Kom., M.T selaku dosen revewer yang telah memberikan masukan dan saran-saran dalam penyusunan penelitian skripsi ini.
6. Ibu Nelly Indriani W, S.Si., M.T selaku dosen penguji yang telah memberikan masukan dan saran-saran dalam penyusunan penelitian skripsi ini.
7. Ibu Utami Dewi Widianti, S.Kom., M.Kom selaku dosen wali yang selalu menggantikan orangtua di rumah.
8. Bapak Irawan Afrianto, M.T selaku ketua program studi teknik informatika universitas komputer indonesia.
iv
10. Seluruh pihak yang telah memberikan kontribusi dan bantuannya bagi penulis, namun tidak sempat dicantumkan namanya satu per satu.
Penulis telah berupaya dengan semaksimal mungkin dalam penyelesaian skripsi ini, namun penulis menyadari masih banyak kelemahan baik dari segi isi maupun tata bahasa, untuk itu penulis mengharapkan kritik dan saran yang bersifat membangun dari pembaca demi kesempurnaan skripsi ini. Tak lupa penulis memohon maaf apabila dalam penulisan laporan tugas akhir ini, penulis telah menyinggung perasaan atau telah menyakiti hati semua orang, baik yang disengaja maupun yang tidak disengaja. Kiranya isi skripsi bermanfaat dalam memperkaya khasanah ilmu pendidikan dan juga dapat dijadikan sebagai salah satu sumber referensi bagi peneliti selanjutnya yang berminat meneliti hal yang sama.
Bandung, Maret 2015
vi
2.6.1. Jenis-jenis Game ... 17
2.6.2. Genre Game ... 18
2.7. Blender 3D ... 20
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 23
3.1. Analisis Masalah ... 23
3.2. Analisis Game Sejenis ... 23
3.2.1. Analisis Metode Forward Chaining pada Game Chicken Roll ... 23
3.2.2. Analisis Gameplay pada Game The Art Collector ... 27
3.5.1. Inferensi Forward Chaining Berdasarkan Rule ... 35
vii
3.7.3.5. Perancangan Prosedural ... 55
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 61
4.1. Implementasi Sistem ... 61
4.2. Perangkat Pendukung yang Digunakan ... 61
4.2.1. Perangkat Keras (Hardware) ... 61
4.2.2. Perangkat Lunak (Software) ... 61
4.3. Implementasi Aplikasi ... 62
4.3.1. Implementasi Antarmuka ... 62
4.3.2. Implementasi State dari Pohon Penelusuran ... 66
4.4. Pengujian Sistem ... 73
4.4.1. Rencana Pengujian ... 74
4.4.2. Kasus dan Hasil Pengujian ... 75
4.4.3. Pengujian Metode Forward Chaining ... 80
BAB 5 KESIMPULAN DAN SARAN... 83
5.1. Kesimpulan ... 83
5.2. Saran ... 83
85
DAFTAR PUSTAKA
[1] Riskadewi & Hendrik, A. (2005). Penerapan Sistem Pakar Forward Chaining Berbasis Aturan pada Pengawasan Status Penerbangan.
INTEGRAL, Vol.10, No.3.
[2] Kemerling, Garth. (1997-2002). Rules of Inference. Prentice Hall.
[3] Yogie Susdyastama putra, M. Aziz Muslim dan Agus Naba. (2013). Game Chicken Roll dengan Menggunakan Metode Forward Chaining. EECCIS Vol.7, No.1.
[4] Simarmata, J. (2010). Rekayasa Perangkat Lunak. Yogyakarta: Andi. [5] T. Sutojo, S.Si., M.Kom., Edy Mulyanto, S.Si., M.Kom., Dr. Vincent
Suhartono. (2011). Kecerdasaan Buatan. Yogyakarta, Andi.
[6] Pressman, R. S. (2010). Software engineering : a practitioner’s approach 7th ed. McGraw Hill.
1
Metode forward chaining adalah algoritma yang dititikberatkan pada pendekatan yang berdasarkan data atau fakta. Metode forward chaining merupakan stategi pencarian yang dimulai dari informasi masukan seperti sekumpulan data atau fakta, dari informasi masukan tersebut dicari suatu kesimpulan yang menjadi solusi dari permasalahan yang dihadapi, sehingga metode ini juga sering disebut "Data driven". Suatu perkalian inferensi yang menghubungkan suatu permasalahan dengan solusinya disebut dengan rantai (Chain). Suatu rantai yang dicari atau dilewati/dilintasi dari suatu permasalahan untuk memperoleh solusinya disebut dengan forward chaining [1].
Metode forward chaining pada umumnya digunakan untuk sistem pendukung keputusan dan sistem pakar. Metode forward chaining memiliki kelebihan yaitu data baru dapat dimasukan ke dalam tabel database inferensi dan memungkinkan untuk melakukan perubahan inference rule [2] . Metode forward chaining memiliki karakteristik perencanaan, monitoring, control, disajikan untuk
masa depan, data memandu, penalaran dari bawah ke atas, bekerja ke depan untuk mendapatkan solusi apa yang mengikuti fakta, dan breadth first search dimudahkan [3].
Hasil dari studi literatur mengenai metode forward chaining, ditemukan contoh kasus yang diselesaikan dengan metode forward chaining memiliki kesamaan dengan kasus penentuan status karakter pada game petualangan. Jurnal yang berjudul "Game Chicken Roll dengan Menggunakan Metode Forward Chaining" membahas tentang implementasi metode forward chaining terhadap
game chicken roll yang digunakan untuk proses review dan perpindahan level,
dalam sebuah cerita interaktif didorong oleh eksplorasi dan menyelesaikan berbagai tantangan, sehingga terjadi berbagai interaksi dan kondisi yang dialami karakter pada saat game dimainkan, sedangkan informasi mengenai kondisi permainan khususnya status karakter pada game petualangan sangatlah kurang bahkan tidak ada sama sekali.
Berdasarkan uraian yang telah dipaparkan, dan berdasarkan hasil studi literatur, maka dilakukan implementasi metode forward chaining untuk penentuan status karakter. Penerapan rule dari metode forward chaining akan menjadi penentuan status karakter pada saat bermain game.
1.2. Perumusan Masalah
Berdasarkan latar belakang yang telah disampaikan, maka perumusan masalah dari penelitian ini adalah bagaimana mengimplementasikan metode forward chaining untuk penentuan status karakter pada game petualangan.
1.3. Maksud dan Tujuan
Berdasarkan masalah yang telah diteliti, maka maksud dari penelitian ini adalah untuk mengimplementasikan metode forward chaining untuk penentuan status karakter pada game petualangan. Tujuan yang ingin dicapai dari implementasi metode forward chaining ini yaitu menampilkan informasi karakter pada game petualangan.
1.4. Batasan Masalah
Batasan masalah dari implementasi metode forward chainig untuk penentuan status karakter pada game petualangan adalah sebagai berikut :
1. Status karakter berupa informasi karakter.
2. Informasi karakter terletak pada HUD (Head Up Display). 3. Informasi karakter mencakup HP, EXP, LVL, SKILL
5. EXP (Experience), status yang menunjukan jumlah poin yang digunakan untuk kenaikan level karakter.
6. LVL (Level), status yang menunjukan tingkatan karakter untuk membuka skill baru.
7. SKILL, status yang muncul pada saat karakter naik level. 8. Data masukan berupa event/collision pada game.
9. Data keluaran berupa informasi karakter.
10.Rule forward chaining mulai bekerja dengan mencocokan antara knowledge base yang ada dengan working memory yang berisi sebuah fakta.
11.Proses penentuan status karakter dihasilkan berdasarkan komparasi data masukan yang dilakukan terhadap fakta.
12.Genre game RPG (Role Playing Game).
13.Aplikasi game yang dibangun berupa simulator.
14.Pembangunan simulator menggunakan blender game engine.
15.Pendekatan analisis berdasasarkan data terstruktur, yaitu menggunakan Flowchart dan DFD
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan dalam mengerjakan penelitian ini adalah metode deskriptif, yaitu metode penelitian yang menggambarkan secara sistematika dan akurat mengenai keadaan-keadaan nyata yang berjalan pada saat penelitian. Gambaran tersebut diperoleh dengan cara mengumpulkan, mengklasifikasikan, menyajikan, serta menganalisis data sehingga dapat ditarik suatu kesimpulan. Metode ini dibagi menjadi dua, yaitu pengumpulan data dan pembangunan perangkat lunak.
1.5.1. Metode Pengumpulan Data
1.5.2. Metode Pembangunan Perangkat Lunak
Metode pengembangan perangkat lunak ilustrasi model waterfall. Model ilustrasi waterfall adalah model sistematik untuk pembangunan perangkat lunak yang mempunyai tahapan-tahapan dalam proses pembangunan perangkat lunaknya mulai dari proses analisis, design, code, sampai proses testing [4]. Gambar 1.1 merupakan gambar model ilustrasi waterfall.
1. Tahap analisis
Tahap analisis mulai mencari fungsionalitas-fungsionalitas yang dibutuhkan untuk membangun game yang dalam hal ini meliputi analisis game, analisis algoritma forward chaining, analisis masalah, analisis masukan serta analisis kebutuhan fungsional dan nonfungsional.
2. Tahap design
Pada tahap ini melakukan perancangan dari game yang dibuat meliputi perancangan konten game, perancangan struktur menu, perancangan antarmuka, jaringan semantik, perancangan prosedural, perancangan sistem, serta mendesain. 3. Tahap code
Tahap code yaitu mulai mengeksekusi perancangan-perancangan yang dilakukan sebelumnya ke dalam bahasa pemrograman python.
4. Tahap testing
Tahap testing bertujuan untuk menemukan kesalahan-kesalahan terhadap perangkat lunak untuk kemudian bisa diperbaiki.
Gambar model waterfall dapat dilihat pada Gambar 1.1.
1.6. Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang akan dijalankan. Sistematika penulisan tugas akhir ini sebagai berikut :
BAB 1 PENDAHULUAN
Bab ini menguraikan dasar-dasar pemikiran untuk implementasi metode forward chaining pada game petualangan yang meliputi latar belakang
permasalahan, merumuskan inti permasalahan, menentukan maksud dan tujuan penelitian yang harus dicapai, batasan masalah untuk memfokuskan pembuatan sistem ini, metode penelitian untuk mengumpulkan data, metode yang digunakan dalam pembangunan sistem serta sistematika penulisan laporan penelitian.
BAB 2 LANDASAN TEORI
Bab ini menguraikan tentang teori-teori yang relevan dengan kajian penelitian dan hal-hal lainnya yang mendukung penelitian serta berguna dalam implementasi metode forward chaining untuk penentuan status karakter pada game petualangan.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini menguraikan analisis domain masalah, analisis game, analisis masukan, analisis metode/algoritma dan analisis kebutuhan perangkat lunak.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
BAB 5 KESIMPULAN DAN SARAN
7
Kecerdasan buatan adalah suatu bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa lebih baik daripada yang dilakukan manusia. Menurut beberapa ahli, kecerdasan buatan didefinisikan sebagai berikut :
1. Menurut H.A.Simon [1987] : ”Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman computer untuk melakukan hal yang dalam pandangan manusia adalah cerdas”.
2. Menurut Rich and knight [1991] : “Kecerdasan buatan (artificial intelligence) merupakan sebuah studi tentang bagaimana membuat computer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia”.
3. Menurut Encyclopedia Britannica : “Kecerdasan buatan (artificial intelligence) merupakan cabang ilmu computer yang dalam merepresentasi
pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi kecerdasan berdasarkan metode heuristic atau berdasarkan sejumlah aturan”.
4. Menurut John McCarthy, 1956, AI : “Untuk mengetahui dan memodelkan proses–proses berpikir manusia dan mendesain mesin agar dapat menirukan perilaku manusia” [5].
Kecerdasan buatan dilihat dari berbagai sudut pandang adalah sebagai berikut :
1. Sudut pandang kecerdasan
2. Sudut pandang penelitian
Studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dilakukan oleh manusia.
3. Sudut pandang bisnis
Kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah-masalah bisnis.
4. Sudut pandang pemograman
Kecerdasan buatan termasuk didalamnya adalah studi tentang pemrograman simbolik, pemecahan masalah, proses pencarian.
Berikut adalah tujuan dari kecerdasan buatan [5]: 1. Membuat mesin menjadi lebih pintar (tujuan utama) 2. Memahami apa itu kecerdasan (tujuan ilmiah)
3. Membuat mesin lebih bermanfaat (tujuan entrepreneurial)
Berdasarkan definisi ini, maka kecerdasan buatan menawarkan media ataupun uji teori tentang kecerdasan. Teori-teori ini nantinya dapat dinyatakan dalam bahasa pemrograman dan eksekusinya dapat dibuktikan pada komputer nyata.
2.1.1. Subdisiplin Ilmu dalam Kecerdasan Buatan
Kecerdasan buatan dibagi kedalam beberapa subdisiplin sebagai berikut [5]:
1. Sistem Pakar (Expert System)
Komputer sebagai sarana untuk menyimpan pengetahuan para pakar sehingga komputer memiliki keahlian menyelesaikan permasalahan dengan meniru keahlian yang dimiliki pakar.
2. Pengolahan Bahasa Alami (Natural Language Processing)
3. Pengenalan Ucapan (Speech Recognition)
Pengenalan ucapan, atau yang sering disebut dengan Automatic Speech Recognition (ASR), adalah suatu pengembangan teknik dan sistem yang
memungkinkan komputer untuk menerima masukan berupa kata yang diucapkan.
4. Robotika dan Sistem Sensor (Robotics and Sensory Systems)
Robotika adalah suatu bidang rekayasa yang mencurahkan perhatiannya ke bidang duplikasi kemampuan fisik manusia, yaitu suatu komplemen alami dalam bidang artificial intelligence yang berusaha menirukan kemampuan mental manusia. Robot adalah mesin atau manipulator yang mampu melaksanakan fungsi fisik manusia secara terbatas.
5. Computer vision
Menginterpretasikan gambar atau objek-objek tampak melalui komputer. 6. Intelligent Computer-Aided Instruction
Komputer dapat digunakan sebagai tutor yang dapat melatih & mengajar. 7. Game Playing
2.2. Algoritma
Algoritma merupakan salah satu cabang ilmu komputer yang membahas prosedur penyelesaian suatu permasalahan. Algoritma adalah urutan langkah-langkah dalam menentukan suatu masalah. Algoritma juga dapat didefinisikan dengan deretan langkah komputasi yang mentransformasikan masukan (input) menjadi keluaran (output). Jadi algortima adalah serangkaian urutan langkah-langkah atau prosedur untuk menyelesaikan suatu masalah dengan memproses nilai masukan menjadi nilai keluaran.
Algoritma dapat ditulis dalam bentuk pseudocode ataupun flowchart. Pseudocode berasal dari kata pseudo yang artinya mirip atau menyerupai dan code
berarti kode sehingga pseudocode adalah kode yang menyerupai kode program sebenarnya. Sedangkan flowchart merupakan bentuk gambar atau diagram yang mempunyai aliran satu atau dua arah secara sekuensial.
Algoritma dalam mempelajarinya, kita diperlukan untuk dapat menganalis algoritma dalam menentukan performansinya. Suatu Algoritma tidak saja harus benar, tetapi juga harus efisien dengan menghitung nilai dari performansinya. Setiap algortima memiliki nilai performansi yang berbeda-beda [5].
2.2.1. Rule Based Systems
Rule Based Systems (RBSs) pada dasarnya terdiri dalam koleksi
pernyataan "IF ... THEN". Pernyataan tersebut sangat cocok untuk encoding rules-of-thumb, mirip dengan keahlian manusia. Para ahli umumnya menerapkan
pengetahuan tersebut secara mekanis untuk menyelesaikan masalah. Dengan mentransfer pengalaman mereka ke dalam komputer, proses yang sama dapat dilakukan dengan keandalan yang sama, tetapi jauh lebih efisien dalam mode otomatis.
kebenaran yang berbeda (misalnya, "IF item tidak ada, THEN seseorang mengambilnya") sehingga sistem dapat mencapai jawabannya. Adapun kontrol, aturan menjelaskan tindakan yang harus diambil dalam setiap situasi (misalnya, "IF ada dinding di depan, THEN berhenti").
Dalam prakteknya, RBSs memiliki keuntungan memisahkan perilaku dari kode. Dari semua teknik yang memungkinkan ini pendekatan data-driven, RBSs yang paling sederhana untuk mengembangkan, sangat cepat pada saat runtime, sangat fleksibel, dan mudah diperluas.
Dalam prakteknya, RBSs sangat luas. Banyak domain manfaat dari RBSs, mulai dari obat untuk industri manufaktur, termasuk dukungan teknis. Banyak bidang keuntungan dari sistem deduktif memanipulasi data sesuai dengan aturan sederhana. Dengan demikian, RBSs merupakan salah satu keberhasilan utama AI. Ada puluhan ribu dari RBSs, jatuh ke dalam berbagai subkategori sistem berbasis pengetahuan, seperti yang ditunjukkan pada Gambar 2.
2.3. Metode Forward Chaining
Metode forward chaining adalah suatu rantai yang dicari atau dilewati/dilintasi dari suatu permasalahan untuk memperoleh solusinya disebut dengan forward chaining. Cara lain menggambarkan forward chaining adalah penalaran dari fakta menuju konklusi terdapat dari fakta.
Forward chaining merupakan perunutan yang dimulai dengan
menampilkan kumpulan data atau fakta yang menyakinkan menuju konklusi akhir. Forward chaining dimulai dari premis – premis atau informasi masukan (IF) dahulu kemudian menuju konklusi atau derived information (THEN) atau dapat dimodelkan sebagai berikut [1]:
IF (informasi masukan) THEN (konklusi)
Informasi masukan dapat berupa data, bukti, temuan atau pengamatan. Sedangkan konklusi dapat berupa tujuan, hipotesa, penjelasan atau diagnosa. Sehingga jalannya forward chaining maju dapat dimulai dari data menuju tujuan dan bukti menuju hipotesa, dari temuan menuju penjelasan, atau dari pengamatan menuju diagnosa[4].
Strategi dari sistem ini adalah dimulai dari inputan beberapa fakta, kemudian menurunkan beberapa fakta dari aturan-aturan yang cocok pada knowledge base dan melanjutkan prosesnya sampai jawaban sesuai. Forward
chaining dapat dikatakan sebagai penelusuran deduktif[1]. Berikut alur forward
chaining dapat dilihat pada gambar 2.2.
OBSERVASI
Implementasi forward chaining sangat membantu developer aplikasi dalam membangun suatu sistem, karena dengan menggunakan metode ini jika developer ingin menambah beberapa kondisi dan aturan, developer tidak perlu membongkar lagi kode program dari awal. Metode forward chaining juga diartikan sebagai pendekatan yang dimotori data. Pendekatan metode forward chaining pelacakannya dimulai dari informasi masukan, dan selanjutnya mencoba
menggambarkan kesimpulan, sehingga metode ini juga sering disebut “Data driven” [3].
Tabel 2.1 menunjukan karakteristik forward chaining :
Tabel 2.1 Karakteristik Forward Chaining Forward Chaining
Perencanaan,Monitoring, Control
Disajikan untuk masa depan
Data memandu, penalaran dari bawah ke atas
Bekerja kedepan untuk mendapatkan solusi apa yang mengikuti
fakta
Breadth first search dimudahkan
Operasi dari sistem forward chaining dimulai dengan memasukan sekumpulan fakta yang diketahui ke dalam memori kerja (working memory), kemudian menurunkan fakta baru berdasarkan aturan yang premisnya cocok dengan fakta yang diketahui. Proses ini dilanjutkan sampai dengan mencapai goal atau tidak ada lagi aturan yang premisnya cocok dengan fakta yang diketahui. Langkah-langkah yang harus dilakukan dalam membuat sistem forward chaining berbasis aturan, yaitu :
1. Pendefinisian Masalah
Tahap ini meliputi pemilihan domain masalah dan akuisisi pengetahuan 2. Pendefinisian Data Input
Aplikasi yang kompleks memerlukan premis tambahan untuk membantu mengendalikan.Forward chaining merupakan suatu teknik untuk mengkalkulasi setiap game state, yang mana sistem mengkalkulasi state yang sedang berjalan dijadikan sebagai tolak ukur untuk melanjutkan ke state berikutnya [3].
2.3.1. Mesin Inferensi Forward Chaining
Mesin inferensi merupakan suatu mesin yang menggerakan suatu baris instruksi yang digunakan untuk mencapai suatu solusi, mesin ini menyambungkan antara knowledge base yang dibuat dengan aturan IF-THEN dan mengacu terhadap fakta – fakta yang ada pada database. Mesin inferensi adalah mekanisme control untuk navigasi yang memanipulasi knowledge dan memberikan solusi terbaik yang tersusun secara terorganisir, seperti yang diperlihatkan pada Gambar 2.3.
Gambar 2.3 Skema Data Driven
2.4. Pemograman Terstruktur
2.4.1. DFD (Data Flow Diagram)
DFD adalah merupakan model dari system untuk menggambarkan pembagian system ke modul yang lebih kecil [4]. Salah satu keuntungan menggunakan diagram aliran data adalah memudahkan pemakai atau user yang kurang menguasai bidang komputer untuk mengerti system yang dikerjakan.
Dibawah ini terdapat istilah-istilah untuk DFD yaitu:
1. Entity: Terminator atau Source atau Destination atau dikenal juga dengan External Entity, berupa orang, organisasi atau sistem lain yang berada diluar batas sistem yang berinteraksi dengan sistem yang sedang dikembangkan. 2. Proses: Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang,
prosedur atau alat yang digunakan untuk mentrasformasikan data.
3. Data Flow: (Arus Data), data yang mengalir dengan arah tertentu dari asal ke tujuan. Data yang mengalir dapat berupa dokumen, surat atau bentuk lainnya.
4. Data Store: (Penyimpanan Data), digunakan untuk menyimpan dan mengambil data oleh proses. Data yang disimpan dapat berupa data yang terkomputerisasi maupun tidak terkomputerisasi.
2.4.2. Komponen Terminator/Entitas Luar
Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan nama entitas luar (external entity). Sesuatu yang berada diluar system, tapi memberikan data kedalam sistem atau memberikan data dari sistem. Disimbolkan dengan notasi kotak [4].
2.4.3. Komponen Proses
2.4.4. Komponen Data Store
Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak, misalnya Mahasiswa. Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file harddisk, file pita magnetik. Data store juga berkaitan dengan penyimpanan secara manual seperti buku alamat, file, folder, dan agenda.
Suatu Data Store dihubungkan dengan alur data hanya pada komponen proses, tidak dengan komponen DFD lainnya. Alur data yang menghubungkan Data Store dengan suatu proses mempunyai pengertian sebagai berikut :
a. Alur data dari Data Store yang berarti sebagai pembacaan atau pengaksesan satu paket tunggal data, lebih dari satu paket data, sebagian dari satu paket tunggal data, atau sebagian dari lebih dari satu paket data untuk suatu proses. b. Alur data ke Data Store yang berarti sebagai peng-update-an data, seperti
menambah satu paket data baru atau lebih, menghapus satu paket atau lebih, atau mengubah/memodifikasi satu paket data atau lebih.
2.4.5. Komponen Data Flow/Alur Data
Arus data merupakan tempat mengalirnya informasi dan digambarkan dengan garis yang menghubungkan komponen dari sistem [4]. Arus data ditunjukan dengan arus panah dan garis diberi nama atas arus data yang mengalir. Arus data ini mengalir diantara proses, data store dan menunjukan arus data dari data yang berupa masukan untuk sistem atau hasil proses sistem.
2.5. Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean[6].
2.5.1. Pengujian Black box
perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box bukan merupakan alternatif dari teknik white box, tetapi merupakan
pendekatan komplementer yang kemungkinan besar mampu mengungkap kesalahan-kesalahan daripada metode white box[6].
Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut :
1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan dalam interface.
3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan kinerja.
5. Inisialisasi dan kesalahan terminasi.
2.6. Game
Game adalah sesuatu yang dapat dimainkan dengan aturan tertentu
sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius atau dengan tujuan refreshing. Suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional.
"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 ”.
2.6.1. Jenis-jenis Game
Ada beberapa jenis platform di dunia game yang selalu dipilih oleh pengguna games , yaitu [7] :
khusus di design untuk jenis video games tertentu dan tidak jarang bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa masuk dan menikmati, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil (beserta transmisinya tentunya).
2. PC Games , yaitu video game yang dimainkan menggunakan Personal Computers.
3. Console games, yaitu video games yang dimainkan menggunakan console tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii. 4. Handheld games, yaitu yang dimainkan di console khusus video game yang
dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.
5. Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile phone atau PDA.
2.6.2. Genre Game
Game dibagi atas beberapa genre, diantaranya yaitu [7] :
1. Action Shooting (tembak – menembak). Menembak , memukul , bisa juga tusuktusukan, tergantung cerita dan tokoh di dalamnya, video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak, tembak dan tembak.
Contoh : CS (Counter Strike) dan Crysis.
2. Fighting (pertarungan). Ada yang mengelompokan video game fighting di bagian Aksi, namun penulis berpendapat berbeda, jenis ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini adalah penguasaan jurus (hafal caranya dan lancar mengeksekusinya), pengenalan karakter dan timing sangatlah penting, iya, combo-pun menjadi esensial untuk mengalahkan lawan secepat mungkin.
Contoh : Mortal Kombat dan Tekken.
dari banyak hal yang karakter pemain harus lakukan dan lalui dalam video game jenis ini.
Contoh : Kings Quest, dan Space Quest.
4. Strategy (strategi). Video game strategi biasanya memberikan pemain atas kendali tidak hanya satu orang tapi minimal sekelompok orang dengan berbagai jenis tipe kemampuan, sampai kendaraan, bahkan hingga pembangunan berbagai bangunan, pabrik dan pusal pelatihan tempur, tergantung dari tema ceritanya. Kebanyakan game stategi adalah game perang. Contoh : Warcraft.
5. Simulation (Simulasi). Video game jenis ini seringkali menggambarkan dunia di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga membangun laboratorium cloning. Video Game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas.
6. Puzzle (teka-teki). Video game jenis ini sesuai namanya berintikan mengenai pemecahan teka-teki, baik itu menyusun balok, menyamakan warna bola, memecahkan perhitungan matematika, melewati labirin, sampai mendorong-dorong kota masuk ke tempat yang seharusnya, itu semua termasuk dalam jenis ini. Sering pula game jenis ini adalah juga unsur game dalam video game petualangan maupun game edukasi.
7. Sport game (Olahraga). Game ini merupakan adaptasi dari kenyataan, membutuhkan kelincahan dan juga strategi dalam memainkannya. Game berupa kompetisi antara dua pemain atau lebih, di mana pemain dapat berupa individual atau tim. Contoh game tipe ini antara lain sepakbola, bola basket, tenis, dan bilyard.
perwakilan pemain di dalam game, yang biasanya adalah tokoh utamanya, dimana seiring kita memainkannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter, senjata yang semakin sakti, ataupun jumlah teman maupun mahluk peliharaan.
9. Education (edukasi). Game edukasi merupakan paket software yang menciptakan kemampuan pada lingkungan game yang diberikan sebagai alat bantu untuk memotivasi atau membantu siswa untuk melalui prosedur game secara teliti untuk mengembangkan kemampuannya. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan keterampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan design visual ataupun animasinya.
2.7. Blender 3D
Blender, merupakan salah satu software animasi 3D yang mumpuni. Selain untuk animasi 3D, Blender juga dapat digunakan untuk mengerjakan konten-konten kreatif di bidang multimedia seperti spesial efek, koreks warna, pembuatan game iteraktif dan penyuntingan (editing) video. Salah satu kelebihan lainnya, Blender dapat berjalan di berbagai sistem operasi.
Fitur utama pada Blender 3d adalah sebagai berikut :
1. Penciptaan penuh (suite) yg terintegrasi, menawarkan berbagai alat-alat penting untuk penciptaan konten 3D, termasuk model, uv-pemetaan, texturing, rigging, skinning, animasi, partikel dan simulasi lainnya, script, render, composite, pasca produksi, dan penciptaan permainan.
3. Kualitas tinggi arsitektur 3D yang memungkinkan kececepatan dan efisiensi penciptaan.
4. Lebih dari 200.000 download dari rilis masing-masing (pengguna) di seluruh dunia.
5. Dukungan masyarakat pengguna (komunitas) melalui forum untuk pertanyaan, jawaban, dan kritik pada http://BlenderArtists.org dan layanan berita di http://BlenderNation.com; http://blenderindonesia.org/forum;
23
Analisis masalah dalam penelitian ini adalah bagaimana cara menerapkan metode forward chaining untuk penentuan status karakter pada game petualangan. Analisis masalah, pada tahapan ini merupakan salah satu proses mengidentifikasi masalah-masalah yang berkaitan dengan bagaimana suatu sistem akan melakukan proses peninjauan terhadap kondisi karakter yaitu berupa status karakter berdasarkan penelusuran metode inferensi forward chaining dengan penelusuran tree.
3.2. Analisis Game sejenis
Analisis yang dilakukan merupakan observasi dari game sejenis untuk melihat bagaimana penerapan metode forward chaining pada suatau game, dan juga melihat gameplay dari game sejenis, karena dengan melihat gameplay dari suatu game bisa dilihat hal apa saja yang harus diteliti. Game yang di analisis adalah game
Chicken Roll untuk melihat penerapan metode forward chaining dan game The Art Collector untuk melihat gameplay.
3.2.1. Analisis Metode Forward Chaining pada Game Chicken Roll
Game Chicken Roll merupakan game yang bertipe leveling, dimana
kekuatan game terletak pada tingkat kesulitan yang berbeda pada tiap level. Game ini berjalan pada platform desktop (Windows), game ini hanya bersifat single player. Game ini merupakan implementasi konsep AI khususnya metode forward chaining,
Tabel 3.1 Rule Game Chicken Roll Berdasarkan Review
No IF THEN
1. R01=’3’ AND R02=’G’ AND R03=’=>500’ AND
R04=’M’ AND R05=’TT’
H01
Keterangan Nyawa sisa 3, Target goal, skor => 500, makan, tidak
tertabrak.
Congratulations, Piala Emas, Coins
500, Bonus ayam.
2. R01=’2’ AND R02=’G’ AND R03=’=>500’ AND
R04=’TM’ AND R05=’TT’
H02
Keterangan Nyawa sisa 2, Target goal, skor => 500, tidak makan,
tidak tertabrak.
Piala Silver, Coins 500.
3. R01=’1’ AND R02=’G’ AND R03=’=>500’ AND
R04=’TM’ AND R05=’TT’
H03
Keterangan Nyawa sisa 1, Target goal, skor => 500, tidak makan,
tidak tertabrak.
Coins 500.
4. R01=’0’ AND R02=’TG’ AND R03=’<500’ AND
R04=’TM’
H04
Keterangan Nyawa sisa 0, Target tidak goal, skor < 500, tidak
makan.
Game Over.
5. R01=’0’ AND R02=’TG’ AND R03=’<500’ AND
R04=’M’
H05
Keterangan
Tabel 3.2 Rule Game Chicken Roll Berdasarkan Level
No IF THEN
1. H01 L01
Keterangan Congratulations, Piala Emas, Coins 500, Bonus
ayam.
Lanjut level.
2. H02 L01
Keterangan
Piala Silver, Coins 500. Lanjut level.
3. H03 L01
Keterangan
Coins 500. Lanjut level.
4. H04 L02
Keterangan
Game Over. Ulang level.
5. H05 L01
Keterangan
Bonus Ayam. Lanjut level.
Beberapa screenshot game Chicken Roll dapat dilihat pada gambar 3.1 sampai 3.3[3].
Gambar 3.2 menunjukkan level 1 pada game chicken roll. Pada scene ini, user diminta untuk menyelesaikan permainan pada level 1 ini. Ketika user selesai memainkan level 1 ini maka metode forward chaining akan bekerja sesuai dengan rule yang telah di tetapkan.
Gambar 3.2 Tampilan Level 1 Game Chicken Roll
Gambar 3.3 berikut ini menunjukkan tampilan review H01 pada game chicken roll. Review ini akan muncul ketika user selesai memainkan suatu level
Gambar 3.3 Tampilan Review H01 Game Chicken Roll
3.2.2. Analisis Game Play pada Game The Art Collector
Game The Art Collector merupakan game bergenre adventure, yang dibuat oleh Alastair Low. Game ini dibuat menggunakan Blender Game Engine (BGE) yang mempunyai desain tiga dimensi (3D). Pada game ini pemain berperan sebagai seorang anak muda yang harus menyelamatkan seorang pria tua yang terjebak dalam sebuah lukisan oleh Villan dari lukisan lain, dan menjelajahi empat lukisan yang unik dengan gaya seni berbeda.
Gameplay dari game ini yaitu berupa interaktif antara player sebagai karakter dan lingkungan game itu sendiri. Gameplay dapat dilihat pada tabel 3.3.
Tabel 3.3 Gameplay The Art Collector Gameplay
1 Karakter berjalan dengan menekan keyboard W
2 Karakter mundur dengan menekan keyboard S 3 Karakter belok kiri dengan menekan keyboard A
4 Karakter belok kanan dengan menekan keyboard D
5 Karakter berlari dengan menekan keyboard Shift 6 Karakter melompat dengan menekan keyboard Space
7 Karakter menyerang dengan mouse LMB
Beberapa screenshot peraminan dari game The Art Collector dapat dilihat pada gambar 3.4 sampai 3.6.
Gambar 3.4 Menu Utama The Art Collector
Gambar 3.4 merupakan menu utama dari game The Art Collector, pada menu utama game ini menampilkan nama game, menampilkan icon credits, menampilkan icon instuction dan icon start.
Gambar 3.5 Tampilan pada Lukisan Kedua
merupakan gameplay dari game ini, yaitu dengan cara menekan keyboard space, maka karakter akan melompat.
Gambar 3.6 Tampilan pada Lukisan Keempat
Gambar 3.6 merupakan tampilan pada lukisan/lokasi keempat pada game The Art Collector, pada gambar ini terlihat karakter sedang memegang palet sebagai
tameng dan kuas sebagai senjata, dan trelihat pula musuh yang bernama Villan. Gameplay pada lokasi ini yaitu karakter menyerang musuh dengan menekan mouse
LMB.
3.3. Analisis Game yang Akan Dikembangkan
3.3.1. Arsitektur
Game ini di bangun dalam bentuk (3D), masih berupa simulator, serta fiture
yang ditunjukan pada tabel 3.4.
Tabel 3.4 Fitur Game Petualangan Fitur Game
1 Sistem permainan single player
2 Pemain berperan sebagai karakter dalam game
3 Pemain akan mengalahkan beberapa musuh dalam game
4 Terdapat Head up display pada game
5 Pada karakter terdapat hp,exp,level dan skill
3.3.2. Storyline
Storyline merupakan cerita pada game dimana pada storyline game akan ditentukan bagaimana jalan cerita game, dan aturannya. Game petualangan ini sebenarnya hanya berupa simulator sebagai bahan implementasi metode forward chaining untuk penentuan status karakter. Simulator game petualangan ini sama
halnya dengan game petualangan yang ada selama ini, yaitu menitikberatkan permainan dimana pemain berperan sebagai karakter protagonis dalam sebuah cerita interaktif yang didorong oleh explorasi, menyelesaikan berbagai tantangan dan mengalahkan musuh.
3.3.3. Gameplay
Gameplay merupakan suatu deskripsi dari alur permainan, dari mulai awal
Tabel 3.5 Gameplay pada Game Petualangan
Gameplay
1 Karakter berjalan dengan menekan keyboard W
2 Karakter mundur dengan menekan keyboard S 3 Karakter belok kiri dengan menekan keyboard A
4 Karakter belok kanan dengan menekan keyboard D
5 Karakter berlari dengan menekan keyboard Shift 6 Karakter melompat dengan menekan keyboard Space
7 Karakter menyerang dengan keyboard E, One dan Two 8 Karakter melihat dengan pergerakan mouse
3.4. Analisis Masukan
Masukan yaitu berdasarkan collision yang terjadi pada karakter dan musuh, collision disini berperan sebagai masukan untuk value hp dan exp yang nantinya akan
digunakan sebagai rule pada metode forward chaining untuk penentuan status karakter berupa informasi mengenai fireboll, iceboll dan gameover. Area collision terdapat pada beberapa konten, diantaranya dapat dilihat pada tabel 3.6.
Tabel 3.6 Konten dan Area Collision
No Nama Gambar Area Collision Keterangan
1 Player Area collision pada
player terletak
No Nama Gambar Area Collision Keterangan
2 Musuh Area collision musuh
terletak didalam
musuh
3 Iceboll Area collision iceboll
terletak diluar iceboll
3.5. Analisis Metode
Gambar 3.7 Skema Forward Chaining
Berikut status karakter yang akan ditentukan pada game petualangan, dapat dilihat pada tabel 3.7.
Tabel 3.7 Tabel Status
Kode Status
S01 Add fireboll
S02 Add iceboll
Berikut fakta-fakta yang ada pada game petualangan untuk menentukan status karakter, dapat dilihat pada tabel 3.8.
Tabel 3.8 Tabel Fakta
Kode Fakta
F1 Karakter hit musuh
F2 Musuh mati
F3 Musuh tidak mati
F4 Exp karakter bertambah
F5 Musuh hit karakter
F6 Exp=100
F13 Hp karakter berkurang
F14 Hp=0
Berikut merupakan rule forward chaining untuk penentuan status karakter yang ditunjukan pada tabel 3.9.
Tabel 3.9 Tabel Rule
RULE FAKTA
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14
S01 * * * * * * *
S02 * * * * * * *
3.5.1. Inferensi Forward Chaining Berdasarkan Rule
Inferensi dari forward chaining adalah mekanisme berfikir dan pola-pola penelaran yang digunakan sistem untuk mencapai suatu kesimpulan. Inferensi forward chaining menggunakan pohon penelusuran bertipe binary tidak general
dikarenakan jawaban hanya dua, yaitu ya dan tidak. Pohon penelusuran dapat dilihat pada gambar 3.8.
F1
Keterangan :
1. F1,F2..F14 : Kode Fakta 2. S01,S02,S03 : Kode Status 3. TD : Tidak Diketahui
Fakta ini merupakan basis pengetahuan untuk membuat suatu kesimpulan yang menjadi goal. Keterhubungan/relasi kode fakta dan kode status dapat dilihat pada tabel 3.10.
Tabel 3.10 Status Karakter dan Fakta Keterangan Simbol Status Karakter
S01 S02 S03
Hp karakter berkurang F13 *
Hp=0 F14 *
Keterangan :
1. F1,F2..F14 : Kode Fakta 2. S01,S02,S03 : Kode Status
3.6. Spesifikasi Kebutuhan Perangkat Lunak
Spesifikasi kebutuhan perangkat lunak dilakukan berdasarkan kebutuhan game. Spesifikasi kebutuhan perangkat lunak akan dibagi kedalam dua bagian yaitu
SKPL-F (Spesifikasi Kebutuhan Perangkat Lunak Fungsional) dan SKPL-NF (Spesifikasi Kebutuhan Perangkat Lunak Non-Fungsional). Spesifikasi kebutuhan perangkat lunak dalam penelitian ini dapat dilihat pada Tabel 3.11 sampai Tabel 3.13.
Tabel 3.11 SKPL User Requirement
Kode Kebutuhan
SKPL-F1 Perangkat lunak dapat memproses hasil masukan berupa key control untuk pergerakan karakter.
SKPL-F2 Perangkat lunak dapat memproses hasil masukan berupa event atau fakta untuk kemudian dimulai proses penelusuran untuk mengetahui kesimpulan.
SKPL-F3 Perangkat lunak dapat menampilkan hasil proses penelusuran berupa status karakter.
Tabel 3.12 SKPL System Requirement
Kode Kebutuhan
SKPL–F1 Proses masukan yang diterima sistem berupa collision yang dihasilkan dari suatu kejadian(event) berupa fakta didalam game yang kemudian diolah menjadi keluaran yang berupa kesimpulan sesuai dengan rule.
SKPL-F2 1. Kesimpulan berupa status karakter yang berada pada HUD.
Tabel 3.13 SKPL Non-Fungsional
Kode Kategori Kebutuhan
SKPL-NF1 Efficiency
(Product Requirement)
Sistem dapat memproses masukan
collision
SKPL-NF2 Development (Organizatonal Requirement)
Untuk menjalankan sistem yang di bangun
maka
dibutuhkan :
a. Microsoft Windows sebagai sistem operasi
b. Blender game engine sebagai alat untuk pengembangan game
3.6.1. Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional adalah langkah dimana seorang pembangun perangkat lunak menganalisis sumber daya yang akan digunakan dan menggunakan perangkat lunak yang dibangun. Perangkat keras dan perangkat lunak yang dimiliki harus sesuai dengan kebutuhan, sehingga dapat ditentukan kompabilitas aplikasi yang dibangun terhadap sumber daya yang ada.
3.6.2. Analisis Kebutuhan Perangkat Keras
Perangkat keras yang dibutuhkan untuk implementasi forward chaining pada game yang akan dibuat dapat dilihat pada Tabel 3.14.
Tabel 3.14 Spesifikasi Kebutuhan Perangkat Keras
NO Perangkat Keras Spesifikasi
1 Prosesor 1.80 Ghz
2 Monitor Monitor 14’’, resolusi 1024x768
3 VGA Kecepatan 512MB
4 RAM 2GB
5 Keyboard Standard
6 Mouse Standard
3.6.3. Analisis Kebutuhan Perangkat Lunak
Perangkat lunak yang dibutuhkan untuk implementasi forward chaining pada game yang akan dibuat. Adapun perangkat lunak yang dibutuhkan dapat dilihat pada Tabel 3.15.
Tabel 3.15 Spesifikasi Kebutuhan Perangkat Lunak
NO Perangkat Lunak Keterangan
1 Sistem Operasi Windows 7
2 Tools Program Blender3d
3 Tools Pengembangan Blender Game Engine
3.6.4. Analisis Kebutuhan Pengguna
Analisis kebutuhan pengguna digunakan untuk mengetahui spesifikasi pengguna untuk dapat memainkan game petualangan yang masih berupa simulator, spesifikasinya dapat dilihat pada Tabel 3.16.
Tabel 3.16 Spesifikasi Kebutuhan Pengguna
Peran Pemain
Usia 12 tahun ke atas
Tingkat Keterampilan Dapat menggunakan komputer
Kondisi Fisik Tidak buta total dan tidak buta warna.
3.7. Analisis Kebutuhan Fungsional
3.7.1. Diagram Konteks
Diagram konteks adalah diagram yang menggambarkan input, proses dan output pada sistem perangkat lunak yang akan dibangun, berikut diagram konteks
dari game petualangan dapat dilahat pada Gambar 3.9.
Game petualangan forward chaining Pemain
Data pemilihan bermain Data pemilihan cara bermain Data pemilihan menu berhenti bermain
Data pemilihan lanjut bermain Data pemilihan menu
Info menu berhenti bermain Info lanjut bermain
Gambar 3.9 Diagram Konteks Game Petualangan Forward Chaining
3.7.2. Data Flow Diagram
Data Flow Diagram (DFD) adalah suatu model logika data atau proses yang
3.7.2.1. DFD Level 1
Data Flow Diagram level 1 mempunyai 3 proses, diantaranya adalah play,
how to play, dan exit, berikut DFD dapat dilihat pada Gambar 3.10.
1 Data pemilihan cara bermain
Info cara bermain Data pemilihan bermain
Data pemilihan menu berhenti bermain Data pemilihan lanjut bermain
Data pemilihan menu Data karakter
Data gerak karakter Data hit karakter Data hud karakter Data fakta dan aturan Data game over
Info bermain
Info menu berhenti bermain Info lanjut bermain
3.7.2.2. DFD Level 2 Proses 1
Berikut DFD Level 2 Proses 1 dapat dilihat pada Gambar 3.11.
Pemain Data pemilihan menu berhenti
Info menu berhenti Data pemilihan lanjut bermain Info lanjut bermain
Data fakta dan aturan
Info status karakter
Data game over
Info game over
3.7.2.3. Spesifikasi Proses
Spesifikasi proses digunakan untuk menggambarkan model aliran yang terdapat pada DFD. Spesifikasi proses DFD akan dijelaskan pada Tabel 3.17.
Tabel 3.17 Spesifikasi Proses
No Proses Keterangan
1 No. Proses 1.1
Nama Proses Penyajian menu berhenti bermain
Deskripsi Proses untuk menampilkan menu berhenti bermain
Source Pemain
Input Data pemiliham menu berhenti bermain
Output Info menu berhenti bermain
Destination Pemain
Logika
Proses
1. Pemain memasukan data pemilihan menu berhenti bermain
2. Sistem akan menampilkan informasi menu berhenti bermain
2 No. Proses 1.1.1
Nama Proses Pemilihan lanjut bermain
Deskripsi Proses untuk meneruskan game
Source Penyajian menu berhenti bermain
Input Data pemilihan lanjut bermain
Output Info lanjut bermain
Destination Pemain
Logika
Proses
1. Pemain memasukan data pemilihan lanjut bermain
2. Sistem akan menampilkan informasi lanjut bermain
3 No. Proses 1.2
Nama Proses Pengolahan karakter
Deskripsi Proses untuk menampilkan karakter
Source Pemain
Input Data karakter
Output Info karakter
Destination Pemain
Logika
Proses
1. Pemain memasukan data karakter
Tabel 3.17 Spesifikasi Proses (Lanjutan)
No Proses Keterangan
4 No. Proses 1.3
Nama Proses Pengolahan pergerakan karakter
Deskripsi Proses untuk menggerakan karakter
Source Pemain
Input Data gerak karakter
Output Info gerak karakter
Destination Pemain
Logika
Proses
1. Pemain memasukan data gerak karakter
2. Sistem akan menampilkan informasi gerak karakter
5 No. Proses 1.4
Nama Proses Pengoalahan penyerangan karakter
Deskripsi Proses untuk mengeluarkan serangan karakter
Source Pemain
Input Data hit karakter
Output Info hit karakter
Destination Pemain
Logika
Proses
1. Pemain memasukan data hit karakter
2. Sistem akan menampilkan informasi hit karakter
6 No. Proses 1.5
Nama Proses Pengoalahan hud karakter
Deskripsi Proses untuk menampilkan hud
Source Pemain
Input Data hud karakter
Output Info hud karakter
Destination Pemain
Logika
Proses
1. Pemain memasukan data hud karakter
Tabel 3.17 Spesifikasi Proses (Lanjutan)
No Proses Keterangan
7 No. Proses 1.6
Nama Proses Pengolahan forward chaining
Deskripsi Proses untuk pengecekan fakta sesuai aturan
Source Pemain
Input Data fakta dan aturan
Output Info status karakter
Destination Pemain
Logika
Proses
1. Pemain memasukan data fakta sesuai aturan
2. Sistem akan menapilkan informasi status karakter
8 No. Proses 1.7
Nama Proses Pengolahan game over
Deskripsi Proses untuk menampilkan game over
Source Pemain
Input Data game over
Output Info game over
Destination Pemain
Logika
Proses
1. Pemain memasukan data game over
2. Sistem akan menampilkan informasi game over
3.7.3. Perancangan Game
Perancangan game menjelaskan mengenai perancangan konten-konten game, perancangan struktur menu, perancangan antarmuka, perancangan jaringan semantik, dan perancangan prosedural.
3.7.3.1. Perancangan Konten Game
Tabel 3.18 Konten-konten Game
No. Nama Konten Keterangan
1 Karakter 1.Karakter utama yang dimainkan oleh player
2.Dapat berjalan,mundur,belok kiri,belok
kanan,melompat,lari,menyerang musuh.
2 Musuh 1.Musuh yang harus dihadapi karakter
2.Dapat menyerang karakter
3 Boll Skill yang dikeluarkan karakter
4 Fireboll Skill yang dikeluarkan pada karakter level 1
No. Nama Konten Keterangan
6 Hud Keterangan status karakter
7 Pohon 1 Properti biasa yang ada pada game
8 Pohon 2 Properti biasa yang ada pada game
9 Ground Properti ground sebagai tempat berpijak
3.7.3.2. Perancangan Struktur Menu
Perancangan struktur menu berisikan menu dan submenu yang berfungsi memudahkan user didalam menggunakan aplikasi. Untuk lebih jelasnya dapat dilihat pada Gambar 3.12.
Menu
Play How to play Exit
Gambar 3.12 Struktur Menu Game
Berikut penjelasan struktur menu permainan.
1. Menu Play : Menu untuk memulai csene game.
2. Menu How to play : Menu untuk menampilkan scene to play. 3. Menu Exit : Menu untuk keluar dari game.
3.7.3.3. Perancan Antarmuka
Perancangan antarmuka bertujuan untuk memberikan gambaran tentang game yang akan dibangun, sehingga akan mempermudah dalam implementasi dan
1. Perancangan Antarmuka Menu Utama
Perancangan antarmuka menu utama merupakan konsep atau gambaran menu utama pada game nantinya, pada menu utama terdapat tombol play untuk memulai permainan, tombol how to play untuk melihat cara bermain, dan tombol exit untuk keluar dari game.
2. Perancangan Antarmuka Game
Perancangan antarmuka game merupakan konsep atau gambaran game pada game nantinya, pada perancangan antarmuka game terdapat HUD yang selalu tampil pada game.
3. Perancangan Antarmuka Menu How to Play
Perancangan antarmuka menu how to play merupakan konsep atau gambaran keterangan cara bermain pada game nantinya, pada perancangan how to play terdapat keterangan cara bermain game.
4. Perancangan Antarmuka Pesan Pause
Perancangan antarmuka pesan pause merupakan konsep atau gambaran pesan pause pada game nantinya, pada perancangan pesan pause terdapat tombol resume untuk meneruskan permainan, dan tombol menu untuk kembali ke menu
utama.
5. Perancangan Antarmuka HUD
Perancangan antarmuka HUD (Head Up Display) merupakan konsep atau gambaran HUD pada game nantinya, pada perancangan antarmuka HUD ini terdapat info-info karakter, berupa hp, exp dan level.
6. Perancangan Antarmuka Pesan Game Over
Perancangan antarmuka pesan game over merupakan konsep atau gambaran dari pesan game over pada game nantinya, pada perancangan antarmuka pesan game over ini terlihat keterangan game over, pesan ini muncul pada saat karakter mati.
3.7.3.4. Jaringan Semantik
Jaringan semantik digunakan untuk menghubungkan setiap tampilan (interface) pada sebuah aplikasi yang dirancang, untuk lebih jelasnya dapat dilihat pada Gambar 3.19.
Gambar 3.19 Jaringan Semantik 3.7.3.5. Perancangan Prosedural
1. Perancangan Prosedural Play
Perancangan prosedural play merupakan gambaran proses memulai permainan.
Memilih Resume Memilih Menu
2. Perancangan Prosedural Gerak Karakter
Perancangan prosedural gerak karakter merupakan gambaran proses gerak karakter pada game.
Mulai
3. Perancangan Prosedural Karakter Hit
Perancangan prosedural karakter hit merupakan gambaran proses karakter hit pada game.
Mulai
Data masukan
key HIT
Membaca perintah masukan
Tampil karakter hit with boll
Tampil karakter hit with iceboll Tampil karakter
hit with fireboll
Selesai Key yang
dipilih
Key E Key One Key Two
4. Perancangan Prosedural Forward Chaining
Perancangan prosedural forward chaining merupakan gambaran proses forward chaining pada game.
Mulai
Data fakta/event pada saat bermain game
Proses pengecekan fakta/ event berdasarkan rule
Cek apakah fakta/ event sesuai rule
Proses penentuan status karakter
Tampil status karakter
Selesai
Ya
Tidak
61
Implementasi sistem adalah tahap pengujian kelayakan pada sistem yang dibuat sehingga aplikasi yang dibuat tidak menyimpang dari perancangan sistemnya.
4.2. Perangkat Pendukung yang digunakan
Dalam proses pembuatan aplikasi ini, tentunya membutuhkan perangkat keras (hardware) dan perangkat lunak (software). Berikut merupakan penjelasan perangkat keras dan perangkat lunak yang digunakan.
4.2.1. Perangkat Keras (Hardware)
Perangkat keras yang digunakan selama pengujian aplikasi ini memiliki beberapa spesifikasi, spesifikasi dapat dilihat pada Tabel 4.1.
Tabel 4.1 Spesifikasi Perangkat Keras Pengujian
Nama Perangkat Spesifikasi
Processor 1,6 Ghz
RAM 4GB
Hard disk 500 GB
Display Resolusi 1366x768
VGA 1 GB
Keyboard Standard
Mouse Standard
4.2.2. Perangkat Lunak (Software)
Tabel 4.2 Spesifikasi Perangkat Lunak Pengujian Nama Perangkat Lunak Spesifikasi
Sistem Operasi Microsoft Windows XP
Tools Blender 3d
4.3. Implementasi Aplikasi
Pada implementasi aplikasi diperlihatkan beberapa tampilan dari aplikasi yang dibangun.
4.3.1. Implementasi Antarmuka
Implementasi antarmuka pada game yang dibuat dapat dilihat pada Gambar 4.1 sampai Gambar 4.6.
Gambar 4.1 Implementasi Antarmuka Menu Utama
Gambar 4.1 merupakan tampilan menu utama pada game petualangan, pada menu utama ini terdapat tiga pilihan submenu yaitu Play, How to play dan Exit. Menu play jika diklik akan menuju tampilan permainan, menu how to play jika diklik akan
Gambar 4.2 Implementasi Antarmuka Game
Gambar 4.3 Implementasi Antarmuka How to Play
Gambar 4.3 merupakan tampilan cara bermain, pada tampilan ini terdapat keterangan cara bermain, yaitu berupa kontrol karakter.
Gambar 4.4 merupakan tampilan menu pause, menu ini muncul ketika dalam permainan. Ketika player menekan keyboard ESC seketika permainan berhenti dan menampilkan menu pause, menu ini memiliki submenu yaitu resume dan menu. Ketika player klik resume, maka permainan berlanjut, jika player klik menu maka permainan berhenti dan menuju tampilan menu utama.
Gambar 4.5 Implementasi Antarmuka HUD
Gambar 4.6 Implementasi Antarmuka Game Over
Gambar 4.6 merupakan tampilan gameover, tampilan ini muncul pada saat hp karakter bernilai nol, player dapat menekan keyboard ESC untuk kembali ke menu utama dan memulai permainan kembali.
4.3.2. Implementasi State dari Pohon Penelusuran
Gambar 4.7 Karakter Hit Musuh
Gambar 4.7 merupakan tampilan dari state karakter hit musuh, state karakter hit musuh terjadi ketika karakter menyerang musuh dengan menggunakan boll.
Gambar 4.8 merupakan tampilan dari state musuh mati, pada state ini terlihat musuh menghilang dikarnakan musuh sudah mati terkena serangan karakter.
Gambar 4.9 Musuh Tidak Mati
Gambar 4.9 merupakan tampilan dari state musuh tidak mati, pada state ini terlihat musuh masih berhadapan dengan karakter.
Gambar 4.10 merupakan tampilan state exp karakter bertambah, pada state ini terlihat exp bertambah 20 , state ini terjadi ketika musuh dikalahkan oleh karakter, dan karakter akan mendapat tambahan exp.
Gambar 4.11 Musuh Hit Karakter
Gambar 4.11 merupakan tampilan dari state musuh hit karakter, pada state ini yang terjadi adalah musuh sedang menyerang karakter.
Gambar 4.12 Exp=100
Gambar 4.13 Karakter Level 1
Gambar 4.13 merupakan tampilan dari state karakter level 1, pada state ini terlihat level bertambah menjadi 1, state ini terjadi ketika exp mencapai 100 kemudian level bertambah dan exp akan kembali menjadi 0.
Gambar 4.14 Get Skill 1
Gambar 4.15 Karakter Level 2
Gambar 4.15 merupakan tampilan dari state karakter level 2, pada state ini terlihat level menjadi level 2, state ini terjadi disaat exp mencapai 100 kemudian level akan bertambah dan exp akan kembali menjadi 0.
Gambar 4.16 Use Skill 1
Gambar 4.17 Get Skill 2
Gambar 4.17 merupakan tampilan dari state get skill 2, pada state ini terlihat informasi get skill 2, state ini terjadi ketika karakter level 2.
Gambar 4.18 Use Skill 2
Gambar 4.19 Hp Karakter Berkurang
Gambar 4.19 merupakan tampilan dari state hp karakter berkurang, pada state ini terlihat hp karakter berkurang 20, state ini terjadi ketika karakter diserang oleh musuh sehingga hp berkurang.
Gambar 4.20 Hp=0
Gambar 4.20 merupakan tampilan dari state hp=0, pada state ini terlihat hp karakter menjadi 0.
4.4. Pengujian Sistem
4.4.1. Rencana Pengujian
Rencana pengujian perangkat lunak ini dibagi menjadi 1 bagian yaitu pengujian black box . Pengembangan kode-kode program selalu memungkinkan terjadinya alur program yang tidak tereksekusi dan kesalahan typography yang sulit ditemukan kalau tidak dijalankan. Pengujian ini dilakukan hanya pada lingkungan developer. Pengujian black box dilakukan untuk mencari fungsi-fungsi program yang
tidak benar atau hilang. Kesalahan lain yang mungkin terjadi dalam pembuatan program adalah kesalahan dalam struktur data, kesalahan antar muka, inisialisasi dan akhir program dan kesalahan performansi. Rencana pengujian dapat dilihat pada Tabel 4.3.
Tabel 4.3 Rencana Pengujian No. Komponen yang
Diuji
Detail Pengujian Jenis Uji
1 Menu Utama Memilih Play Black box
Memilih How to Play Black box
Memilih Exit Black box
2 Menu Pause Memilih Resume Black box
Memili Menu Black box
3 Gerak Karakter Berjalan Black box
Mundur Black box
Belok kiri Black box
Belok kanan Black box
Melompat Black box
Berlari Black box
4 Hit Karakter Serangan boll Black box
Serangan fireboll Black box
Serangan iceboll Black box
4.4.2. Kasus dan Hasil Pengujian
Kasus dan hasil uji perangkat lunak yang sudah dibangun dengan menggunakan metode black box berdasarkan pengamatan yang dilakukan dan menghasilkan kesimpulan dari pengujian,hasil pengujian dapat dilihat pada tabel 4.4 sampai tabel 4.7.
Tabel 4.4 Pengujian Menu utama Kasus dan hasil uji menu utama
No Skenario uji Hasil yang diharapkan Hasil Pengujian
1 Memilih Play Sistem menampilkan game
[√] berhasil
[ ] gagal
Screenshot pengujian
2 Memilih How to Play Sistem menampilkan How to Play
[√] berhasil
[ ] gagal
Screenshot pengujian
3 Memilih Exit Keluar dari game
[√] berhasil
[ ] gagal
Tabel 4.5 Pengujian Menu Pause Kasus dan hasil uji menu pause
No Skenario uji Hasil yang diharapkan Hasil Pengujian
1 Memilih resume Sistem melanjutkan permainan
[√] berhasil
[ ] gagal
Screenshot pengujian
2 Memilih Menu Sistem menampilkan menu utama
[√] berhasil
[ ] gagal
Screenshot pengujian
Tabel 4.6 Pengujian Gerak Karakter Kasus dan hasil uji gerak karakter
No Skenario uji Hasil yang diharapkan Hasil Pengujian
1 Menekan key W Sistem menggerakan karakter
berjalan
[√] berhasil
[ ] gagal
Screenshot pengujian
Kasus dan hasil uji gerak karakter
No Skenario uji Hasil yang diharapkan Hasil Pengujian
2 Menekan key S Sistem menggerakan karakter
mundur
[√] berhasil
[ ] gagal
Screenshot pengujian
Keyboard S
3 Menekan key A Sistem menggerakan karakter
belok kiri
[√] berhasil
[ ] gagal
Screenshot pengujian
Keyboard A
4 Menekan key D Sistem menggerakan karakter
belok kanan
[√] berhasil
[ ] gagal
Screenshot pengujian
Kasus dan hasil uji gerak karakter
No Skenario uji Hasil yang diharapkan Hasil Pengujian
5 Menekan key Space Sistem menggerakan karakter
melompat
[√] berhasil
[ ] gagal
Screenshot pengujian
Keyboard Space
6 Menekan key W dan Shift Sistem menggerakan karakter
berlari
[√] berhasil
[ ] gagal
Screenshot pengujian
Tabel 4.7 Pengujian Hit Karakter Kasus dan hasil uji hit karakter
No Skenario uji Hasil yang diharapkan Hasil Pengujian
2 Menekan key E Sistem mengeluarkan boll
[√] berhasil
[ ] gagal
Screenshot pengujian
Keyboard E
3 Menekan key 1 Sistem mengeluarkan fireboll
[√] berhasil
[ ] gagal
Screenshot pengujian
Keyboard 1
4 Menekan key 2 Sistem mengeluarkan iceboll
[√] berhasil
[ ] gagal
Screenshot pengujian