Nama Lengkap : Ane Yulian Nama Panggilan : Ane
Tempat, Tgl Lahir : Bandung, 11 Juni 1991 Jenis Kelamin : Perempuan
Agama : Islam
Warga Negara : Indonesia
Alamat : Kp. Bantargedang RT01/07 No.1 Desa Mekarsari
Kec.Ngamprah Kab.Bandung Barat
Telepon : 089688209611
Email : ane.yulian@gmail.com
RIWAYAT PENDIDIKAN
1997-2003 SD Negeri Ciharashas 1 2003-2006 SMP Negeri 1 Padalarang 2006-2009 SMK TI Pembangunan Cimahi
2009-sekarang Universitas Komputer Indonesia (UNIKOM)
Bandung , 14 Februari 2014
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ANE YULIAN
10109354
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii Assalaamu’alaikum Wr. Wb.,
Puji syukur alhamdulillah penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat, hidayah dan karunia-Nya, shalawat serta salam semoga selalu tercurah kepada Rasulullah Muhammad SAW, sehingga penulis dapat menyelesaikan skripsi yang berjudul “PEMBANGUNAN GAME EDUKASI LINDUNGI KEBERSIHAN LAUT”.
Tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.
Dengan keterbatasan ilmu dan pengetahuan yang dimiliki oleh penulis, maka penulis membutuhkan peran serta dari pihak lain dalam proses penyelesaian skripsi ini. Oleh karena itu ijinkanlah penulis untuk menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:
1. Allah SWT yang telah memberikan kesehatan dan kesempatan kepada penulis dalam menyelesaikan skripsi ini dan juga atas semua rahmat, hidayah, dan karunia-Nya.
2. Nabi Muhammad Rasulullah SAW yang telah menyampaikan wahyu Allah. 3. Orang tua penulis yang telah memberikan segenap perhatian, cinta dan kasih
sayang, dorongan, nasehat serta doa yang tulus dan tanpa batas.
4. Ibu Sufa'atin, S.T., M.Kom. selaku dosen pembimbing. Terima kasih karena telah sabar dan banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.
iv
6. Bapak Galih Hermawan , S.Kom., M.T. selaku dosen penguji. Terima kasih karena telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.
7. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Program Studi Teknik Informatika UNIKOM.
8. Seluruh staf dosen program studi Teknik Informatika Universitas Komputer Indonesia.
9. Sekretariat program studi Teknik Informatika Universitas Komputer Indonesia.
10. Sahabat terbaik Adhi Sutia yang selalu memberikan dorongan moril maupun materil untuk kelancaran skripsi penulis.
11. Para sahabat Resmi Novianti, Indri Dianti Hapsari, Geanissa Hadarini dan Fany Yurisagita yang selalu memberikan motivasi dan doa.
12. Teman-teman IF-8 seperjuangan yang telah mendukung selama ini terima kasih atas doa, bantuan dan dorongannya.
13. Serta semua pihak yang telah turut membantu dalam penyusunan skripsi ini, yang tidak bisa disebutkan satu persatu.
Dalam penulisan skripsi ini, penulis telah berusaha semaksimal mungkin walaupun demikian penulis menyadari bahwa skripsi ini jauh dari sempurna. Maka dari itu penulis akan selalu menerima segala masukan yang ditujukan untuk menyempurnakan skripsi ini. Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.
Wassalamu’alaikum Wr. Wb. Bandung, 16 Februari 2014
v
ABSTRACT ...ii
KATA PENGANTAR ...iii
DAFTAR ISI ...v
DAFTAR GAMBAR ...ix
DAFTAR TABEL ...xii
DAFTAR SIMBOL ...xv
DAFTAR LAMPIRAN ...xxii
BAB I PENDAHULUAN ...1
I.1 Latar Belakang Masalah ...1
I.2 Perumusan Masalah ...2
I.3 Maksud dan Tujuan ...2
I.4 Batasan Masalah ...3
I.5 Metode Penelitian ...3
I.6 Sistematika Penulisan ...6
BAB II LANDASAN TEORI ...7
II.1 Sampah ...7
II.2 Pembelajaran Dengan Media Komputer ...8
II.2.1 Jenis Pembelajaran dengan Media Komputer ...8
II.3 Game ...8
II.3.1 Pengertian Game ...9
II.3.2 Klasifikasi Game ...10
II.3.2.1 Berdasarkan Jenis Platformyang Digunakan ...10
II.3.2.2 Berdasarkan Gendre Permainan ...11
II.3.3 Game Edukasi ...13
II.3.3.1 Kriteria Game Edukasi yang Ideal ...13
II.4 Berorientasi Objek ...15
II.4.1 Konsep Dasar Berorientasi Objek ...15
vi
II.4.3 Desain Berorientasi Objek ...18
II.4.4 Pemodelan ...19
II.5 UML (Unified Modelling Language) ...19
II.5.1 Diagram UML ...19
II.5.1.1 Class Diagrams ...21
II.5.1.2 Objek Diagram ...22
II.5.1.3 Component Diagram ...22
II.5.1.4 Composite Structure Diagram ...23
II.5.1.5 Package Diagram ...23
II.5.1.6 Deployment Diagram ...24
II.5.1.7 Use case Diagram ...25
II.5.1.8 Activity Diagram ...26
II.5.1.9 State Machine Diagram ...27
II.5.1.10 Sequence Diagram ...28
II.5.1.11 Communication Diagram ...29
II.5.1.12 Timing Diagram ...30
II.5.1.13 Interaction Overview Diagram ...31
II.6 Algoritma Fisher Yates Shuffle ...31
II.7 Algoritma Minimax ...32
II.8 Construct2 ...33
BAB III ANALISIS DAN PERANCANGAN ...35
III.1 Analisis Sistem ...35
III.2 Analisis Masalah ...35
III.2.1 Analisis Game Sejenis ...36
III.2.2 Analisis Game yang Akan Dikembangkan ...43
III.2.2.1Storyline ...43
III.2.2.2Analisis Tingkat Kesulitan ...45
III.2.2.3Gameplay ...45
III.2.2.4Scoring ...46
III.3 Analisis Algoritma Fisher-Yates Shuffle ...46
vii
III.5.3 Analisis Pengguna ...61
III.6 Analisis Kebutuhan Fungsional ...62
III.6.1 Use Case Diagram ...63
III.6.1.1Definisi Aktor ...64
III.6.1.2Definisi Use case ...64
III.6.1.3Skenario Use case ...64
III.6.2 Activity Diagram ...69
III.6.3 Sequence Diagram ...84
III.6.4 Class Diagram ...98
III.7 Perancangan Sistem ...99
III.7.1 Perancangan Komponen Permainan ...99
III.7.1.1Deskripsi Karakter ...100
III.7.1.2Deskripsi Item ...101
III.7.1.3Storyboard ...102
III.7.2 Perancangan Struktur Menu ...106
III.7.3 Perancangan Antarmuka ...107
III.7.4 Jaringan Semantik ...113
III.7.5 Perancangan Prosedural ...115
BAB IV IMPLEMENTASI DAN PENGUJIAN ...121
IV.1 Implementasi ...121
IV.1.1 Implementasi Perangkat Keras ...121
IV.1.2 Implementasi Perangkat Lunak ...121
IV.1.3 Implementasi Aplikasi ...122
IV.1.4 Implementasi Antarmuka ...122
IV.2 Pengujian ...129
IV.2.1 Pengujian Alpha ...129
IV.2.1.1Skenario Pengujian Aplikasi ...129
viii
IV.2.1.3Kesimpulan Hasil Pengujian Alpha ...134
IV.2.1.4Kasus dan Pengujian (White Box)...134
IV.2.1.4.1Pengujian White box Algoritma Fisher Yates ...134
IV.2.1.4.2Pengujian White box Algoritma Minimax ...140
IV.2.2 Pengujian Beta ...145
IV.2.2.1Kuisioner ...146
BAB V KESIMPULAN DAN SARAN ...153
V.1 Kesimpulan ...153
V.2 Saran ...153
155
DAFTAR PUSTAKA
[1] Burhanudd, Andi Iqbal. 2011, The Sleeping Giant: Potensi &
Permasalahan Kelautan. Surabaya: Brillian Internasional
[2] Hidayatullah, Priyanto., Aldi, Daswanto., Sulistyo, Ponco Nugroho. 2011, Membuat Mobile Game Edukatif Dengan Flash. Bandung: Penerbit Informatika
[3] Sommerville, Ian. 2003, Software Enginering (Rekayasa Perangkat
Lunak). Jakarta: Penerbit Erlangga
[4] PS. Tim Penulis. 2010, Penanganan dan Pengolahan Sampah. Jakarta: Penebar Swadaya.
[5] Pribadi, Beni. 2013, “PEMBANGUNAN GAME EDUKASI SMART
LABYRINTH BERBASIS DESKTOP”. Teknik dan Ilmu Komputer.
Universitas Komputer Indonesia. Bandung.
[6] Von Neumann, John, Oskar Morgenstern. 1953, Theory Of Games And
Economic Behavior.Princeton: Princeton University Press.
[7] Nilwan, Agustinus. 2010, Pemrograman Animasi dan Game
Profesional. Jakarta: PT. Gramedia Pustaka Utama
[8] Chandler, Heather ., Rafael Chandler. 2011, Fundamentals of Game
Development. LLC: Jones & Barlett Learning
[9] Sutopo, Ariesto Hadi. Analisis dan Desain Berorientasi Objek.
Yogyakarta: J&J Learning
[10] Rosa, A.S., M. Shalahuddin. 2011, Modul Pembelajaran Rekayasa
Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung:
Modula
1 I.1 Latar Belakang Masalah
Indonesia adalah negara kepulauan terbesar di dunia. Hal ini dapat terlihat dari dua per tiga dari wilayah Indonesia terdiri dari lautan. Laut Indonesia menyimpan banyak kekayaan dan keindahan. Perairan laut Indonesia dikenal mempunyai sumber daya bahari yang kaya baik berupa sumber daya hayati maupun hewani yang secara keseluruhannya mendukung kegiatan ekonomi seperti perikanan dan pariwisata bahari.
Laut Indonesia kini dihadapkan dengan berbagai masalah diantaranya tingkat pencemaran yang masih tinggi, ditandai dengan terjadinya peningkatan jumlah nutrisi yang disebabkan oleh polutan. Pencemaran laut saat ini banyak berasal dari partikel kimia, limbah industri, limbah pertanian dan perumahan yang bisa merusak lingkungan laut. Kurang lebih 80% pencemaran yang terjadi di laut adalah pencemaran sampah plastik. Sampah-sampah plastik yang terbawa ke laut sebagian terampung dan beberapa waktu kemudian sebagian akan terendap di lautan. Sampah-sampah berupa plastik ini masuk ke laut melalui aliran sungai atau selokan yang pada umumnya langsung menuju laut. Belum lagi masyarakat yang hidup di sekitar pesisir laut dan membuang sampah mereka setiap hari ke laut. Akibatnya tidak sedikit hewan laut seperti penyu, burung dan kura-kura mati akibat menelan sampah plastik (sampah anorganik) [1].
dibutuhkan media pembelajaran yang lebih interaktif dan menarik yang dapat meningkatkan minat anak untuk mempelajari dan lebih peduli terhadap kebersihan lingkungan.
Teknologi yang berkembang saat ini dapat membantu dan memudahkan dalam proses belajar, salah satunya game. Game memiliki potensi untuk meningkatkan proses pembelajaran menjadi lebih efektif. Karena manusia memiliki sifat dasar lebih cepat mempelajari segala sesuatu secara visual-verbal, sehingga game juga baik jika dilibatkan dalam proses pendidikan (game edukatif).
Game selalu dimainkan secara berulang-ulang dan terus-menerus sampai para pemain merasa puas. Ketika orang bermain game, segenap potensinya dikerahkan untuk menyelesaikan setiap level dalam game. Pikiran fisik, bahkan emosi terlibat. Pada saat seperti ini, biasanya materi-materi yang disampaikan akan mudah dicerna dan dimengerti oleh pemain game[2].
Berdasarkan latar belakang masalah yang telah dipaparkan, maka akan dibuat sebuah game edukasi dengan judul “PEMBANGUNAN GAME
EDUKASI LINDUNGI KEBERSIHAN LAUT” yang diharapkan dengan adanya media pembelajaran ini proses pembelajaran mengenai kebersihan menjadi lebih menarik dan menyenangkan.
I.2 Perumusan Masalah
Berdasarkan uraian latar belakang yang telah diutarakan sebelumnya, maka rumusan masalah pada skripsi ini adalah bagaimana membuat game edukasi mengenai kebersihan laut yang interaktif dan menarik, sehingga dapat dijadikan sebagai media pembelajaran yang menyenangkan.
I.3 Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan skripsi ini adalah membangun game edukasi lindungi kebersihan laut.
Adapun tujuan yang ingin dicapai adalah:
I.4 Batasan Masalah
Agar penulisan skripsi ini terarah dan sesuai dengan tujuan awal maka diperlukan batasan masalah agar masalah yang dibahas lebih terarah dan tidak menyimpang dari ketentuan yang ada. Adapun batasan masalahnya adalah:
1. Lingkungan game yang dibangun berbasis desktop. 2. Game yang dibangun digunakan pada koneksi offline. 3. Game yang dibangun dengan tampilan 2D ( dua dimensi). 4. Jenis game (genre) yang dibangun adalah Action.
5. Jumlah pemain yang digunakan adalah single player. 6. Target pengguna game ini adalah anak 12-14 Tahun.
7. IDE (Integrated Development Environtment) yang digunakan Construct 2. 8. Model analisis yang digunakan adalah Berorientasi Objek.
9. Penggunaan algoritma Fisher–Yates pada objek sampah yang akan muncul
tak menentu (random).
10. Penggunaan algoritma Minimax yang akan digunakan untuk pencarian solusi pada “Minigame Kalahkan AI”.
I.5 Metodelogi Penelitian
Metodologi penelitian yang digunakan dalam penulisan skripsi ini adalah metode analisis deskriptif. Metode penelitian ini bertujuan untuk menggambarkan secara sistematis dan akurat mengenai data-data yang ada dengan cara mengumpulkan dan mengklasifikasikan data yang diperoleh kemudian dianalisis dengan teori yang dipelajari serta penggunaan metode pengembangan perangkat lunak berdasarkan model waterfall [3].
Adapun metode penelitian yang dilakukan sebagai berikut : 1. Metode pengumpulan data
a. Studi Pustaka
Pengumpulan data dilakukan dengan cara mempelajari, meneliti, dan menelaah
berbagai literatur dari perpustakaan yang bersumber dari buku, jurnal ilmiah,
situs internet, dan bacaan lainnya yang berkaitan dengan judul skripsi.
b. Observasi
Teknik pengumpulan data dengan cara melakukan pengamatan secara langsung
terhadap permasalahan yang diambil. Observasi langsung di lingkungan sekitar
rumah untuk mengetahui kebiasaan anak terhadap menjaga kebersihan.
c. Kuisioner
Kuisioner dilakukan kepada beberapa anak umur 12-14 tahun seputar menjaga kebersihan lingkungan.
2. Metode pembuatan perangkat lunak
Metode dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak dengan menggunakan model waterfall. Berikut adalah gambar model waterfall [3]:
Gambar I.1 Ilustrasi Model Waterfall [3]
a. Analisis kebutuhan perangkat lunak (Requirements definition)
perangkat lunak pada tahap ini perlu untuk didokumentasikan. IDE yang digunakan yaitu Construct 2.
b. Desain (System and software design)
Pada tahap ini dilakukan perancangan struktur data, pembuatan perancangan procedural, men-desain antarmuka, serta analisis data dan perancangan pemrograman berorientasi object seperti perancangan use case diagram,
class diagram dan lain-lain. Tahap ini mentranslasi kebutuhan perangkat
lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap berikutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan.
c. Pembuatan kode program (implementation and unit testing)
Desain ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desai yang telah dibuat pada tahap desain.
d. Pengujian (integration and system testing)
Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
e. Operational and Maintenance
I.6 Sistematika Penulisan
Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut:
BAB I: PENDAHULUAN
Bab ini akan menguraikan tentang latar belakang permasalahan, merumuskan inti permasalahan yang dihadapi, menentukan maksud dan tujuan skripsi, batasan masalah, metodologi penelitian yang digunakan serta sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik skripsi yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan.
BAB III : ANALISIS MASALAH DAN PERANCANGAN
Bab ini membahas mengenai komponen-komponen yang diuraikan dari perangkat lunak dengan tujuan untuk mengetahui dan mengefektifkan cara kerja dan interaksi dari tiap komponen dalam fungsinya untuk mencapai tujuan perangkat lunak. Selain itu terdapat juga kebutuhan fungsional dan non-fungsional dari perangkat lunak, perancangan antarmuka untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat.
BAB IV : IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas tentang penerapan dari rancangan perangkat lunak sebelumnya ke dalam bahasa pemrograman tertentu dan pengujian terhadap perangkat lunak apakah telah benar dan sesuai seperti yang diharapkan.
BAB V : KESIMPULAN DAN SARAN
7 II.1 Sampah
Sampah adalah suatu bahan yang terbuang atau dibuang dari sumber hasil aktivitas manusia maupun proses alam yang belum memiliki nilai ekonomis. Bentuk sampah bisa berada dalam setiap fase materi, yaitu padat, cair, dan gas [4]. Berangkat dari pandangan tersebut sehingga sampah dapat dirumuskan sebagai bahan sisa dari kehidupan sehari-hari masyarakat.
Sampah padat pada umumnya dapat di bagi menjadi dua bagian : 1. Sampah Organik
Sampah organik (biasa disebut sampah basah) dan sampah anorganik (sampah kering). Sampah Organik terdiri dari bahan-bahan penyusun tumbuhan dan hewan yang diambil dari alam atau dihasilkan dari kegiatan pertanian, perikanan atau yang lain. Sampah ini dengan mudah diuraikan dalam proses alami. Sampah rumah tangga sebagian besar merupakan bahan organik, misalnya sampah dari dapur, sisa tepung, sayuran dan sebagainya.
2. Sampah Anorganik
Sampah Anorganik berasal dari sumber daya alam tak terbarui seperti mineral dan minyak bumi, atau dari proses industri. Beberapa dari bahan ini tidak terdapat di alam seperti plastik dan aluminium. Sebagian zat anorganik secara keseluruhan tidak dapat diuraikan oleh alam, sedang sebagian lainnya hanya dapat diuraikan dalam waktu yang sangat lama. Sampah jenis ini pada tingkat rumah tangga, misalnya berupa botol, botol, tas plastik.
II.2 Pembelajaran Dengan Media Komputer
Pembelajaran dengan media komputer merupakan sarana yang baik digunakan dalam proses belajar mengajar karena dapat menjadikan pembelajaran menjadi lebih efektif dan efisien. Perkembangan teknologi khususnya di bidang teknologi informasi yang semakin pesat serta semakin ketatnya persaingan mengharuskan para pendidik harus lebih inovatif dalam pengoptimalan proses pembelajaran.
II.2.1 Jenis Pembelajaran Dengan Media Komputer
Ada lima tipe pembelajaran dengan media komputer, yaitu [5]:
1. Drill & Practice, menyajikan materi pelajaran untuk dipelajari secara
berulang.
2. Tutorial, menyajikan materi yang telah diajarkan atau materi baru yan
akan dipelajari.
3. Simulation, memberi kesempatan untuk menguji kemampuan pada
aplikasi nyata dengan menciptakan situasi yang mengikutsertakan siswa untuk bertindak pada situasi tersebut.
4. Problem Solving, menyajikan masalah-masalah untuk diselesaikan siswa
berdasarkan kemampuan yang mereka peroleh.
5. Educational Game, merupakan paket software yang menciptakan
kemampuan pada lingkungan permainan yang diberikan sebagai alat bantu untuk memotivasi atau membantu siswa untuk melalui prosedur permainan secara teliti untuk mengembangkan kemampuannya. Berdasarkan kriteria-kriteria ini, maka aplikasi yang dirancang dapat ditentukan sebagai aplikasi educational game.
II.3 Game
Game merupakan kata dalam bahasa inggris yang berarti permainan.
menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukan strategi-strategi yang rasional.
Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh John Von Neumann dan 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” [6].
II.3.1 Pengertian Game
Pengertian game menurut para ahli :
1. Menurut Agustinus Nilwan dalam bukunya Pemograman Animasi dan
Game Profesional terbitan Media Komputindo, game merupakan
permainan komputer yang dibuat dengan teknik dan metode animasi. Jika ingin mendalami penggunaan animasi haruslah memahami pembuatan
game. Atau jika ingin membuat game, maka haruslah memahami teknik
dan metode animasi, sebab keduanya saling berkaitan [7].
2. Menurut Clark C. Abt, Game adalah kegiatan yang melibatkan keputusan pemain, berupaya mencapai tujuan dengan dibatasi oleh konteks tertentu (misalnya, dibatasi oleh peraturan).
3. Menurut Chris Crawford, seorang computer game designer
mengemukakan bahwa game, pada intinya adalah sebuah interaktif. Aktivitas yang berpusat pada sebuah pencapaian, ada pelaku aktif (player), ada pelaku pasif (NPC).
5. Menurut Roger Caillois, seorang sesiolog Perancis dalam bukunya yang berjudul Les Jeux Et Les Hommes menyatakan game adalah aktivitas yang mencakup karakteristik berikut: fun (bebas bermain adalah pilihan bukan kewajiban), separate (terpisah), uncertain, non-productive, governed by
rules (ada aturan), fictitious (pura-pura).
6. Menurut Greg Costikyan, game adalah “sebentuk karya seni dimana peserta, yang disebut pemain, membuat keputusan untuk mengelola sumber daya yang dimilikinya melalui benda di dalam game demi mencapai tujuan”.
II.3.2 Klasifikasi Game
Game biasanya digunakan untuk mengkatagorikan sebuah game
berdasarkan dari interaksi gameplay daripada perbedaan tampilan atau narasi. Sebuah jenis game dapat didefinisikan dengan kumpulan dari sebuah tipe permainan dari game tersebut. Game dapat diklasifikasikan menjadi dua, yaitu:
II.3.2.1 Berdasarkan Jenis Platform yang Digunakan
Tiga kategori utama platform pada game adalah personal computer (PC),
console, dan mobile [8] :
1. Personal Computer (PC)
PC game adalah game yang dibuat untuk computer baik berbasis
Windows, Mac, ataupun Linux. PC menyediakan kekuatan grafis dan pemrosesan yang kuat yang memungkinkan pengembang untuk membuat
2. Console
Console adalah hardware yang dibuat oleh pihak ketiga seperti Sony,
Microsoft, dan Nintendo. Console terhubung ke televisi dan tujuan utamanya adalah untuk bermain game. Game Console sangat menarik bagi game pengembang karena mereka hanya perlu memikirkan satu konfigurasi hardware ketika membuat software untuk konsol. Sangat kontras dengan PC yang memiliki opsi konfigurasi yang tak terbatas.
3. Mobile
Mobile platform terdiri atas sesuatu yang portable dan bisa digenggam,
termasuk ponsel, PDA, iPods, dan handheld game seperti Nintendo DSi atau Sony PSP. Game mobile memiliki kontrol yang sederhana (terutama jika dibandingkan dengan PC).
II.3.2.2 Berdasarkan Gendre Permainan Genre game bisa dibagi menjadi 9, yaitu:
1. Action
Action game adalah game dimana kebanyakan dari tantangan yang
disajikan merupakan dari tes physical skill dan koordinasi pemain. Salah satu sub-genre action game adalah shooters game, baik yang 2D maupun 3D seperti First Person, Shooters (FPS).
2. Strategy
Strategy game menantang pemain untuk mencapai kemenangan dengan
perencanaan, khususnya melalui perencanaan serangkaian tindakan yang dilakukan melawan satu lawan atau lebih. Kemenangan diraih dengan perencanaan matang dan pengambilan keputusan yang optimal.
3. Role Playing Game (RPG)
RPG adalah game dimana pemain mengontrol satu atau lebih karakter yang biasanya di desain oleh pemain itu sendiri, dan memandu mereka melewati berbagai rintangan yang diatur oleh komputer. Perkembangan karakter dalam hal kekuatan dan kemampuannya adalah kunci dari game
4. Sports
Sports game mensimulasikan berbagai aspek dari olahraga atletik nyata
maupun imajiner, apakah itu memainkan pertandingan, me-manage tim dan karir, atau keduanya. Salah satu contoh game jenis ini adalah Pro
Evolution Soccer 2012 (PES 2012), dimana pemain bisa memainkan
pertandingan, menjadi manajer tim, maupun menjadi pemain dan mengembangkan karirnya sendiri.
5. Vechicle Simulation
Vechicle simulation membuat feeling mengendarai kendaraan, baik
kendaraan nyata maupun kendaraan imajiner. Performa dan karakteristik kasar mesin harus menyerupai kenyataan, kecuali jika yang didesain adalah kendaraan imajiner.
6. Construction and Management Simulation
CMS game adalah game tentang proses. Tujuan pemain bukan untuk
mengalahkan musuh, tetapi membangun sesuatu dengan konteks proses yang sedang berjalan. Semakin pemain mengerti dan mengontrol proses, semakin sukses sesuatu yang ia bangun. Game seperti ini biasanya menyediakan dua jenis permainan, yaitu mode bebas dimana pemain bebas membangun sesuatu, dan mode misi dimana terdapat skenario hal apa yang harus dibangun oleh pemain.
7. Adventure
Adventure game adalah cerita interaktif tentang karakter protagonist yang
dimainkan oleh pemain. Penyampaian cerita dan eksplorasi adalah elemen inti dari game ini. Penyelesaian teka-teki dan tantangan konseptual adalah bagian besar dari permainan.
8. Artificial Life and Puzzle Game
Artificial Life game adalah game yang membuat tiruan dari kehidupan
9. Online Game
Istilah online game disini mengacu kepada multiplayer game dimana mesin dari para pemain terhubung dengan jaringan.
II.3.3 Game Edukasi
Game edukasi adalah game digital yang dirancang untuk pengayaan pendidikan (mendukung pengajaran dan pembelajaran), menggunakan teknologi multimedia interatif [9].
II.3.3.1 Kriteria Game Edukasi Ideal
1. Rasa ingin tahu, fantasi dan kontrol pengguna
a. Motivasi intrinsik, menyenangkan untuk digunakan. Pengguna memiliki kontrol terhadap permainan.
b. Integrasi antara materi edukasi dan aspek fantasi permainan
c. Pengguna memegang kendali permainan dan dapat mengatur kecepatan bermain.
d. Mendorong keingintahuan, pengguna dapat melakukan eksplorasi bebas. Permainan mengandung rahasia tersembunyi.
e. Pengguna dapat menyimpan kemajuan permainan.
f. Menyediakan lebih dari jalur. Ada beberapa cara untuk memenangkan permainan
g. Pengguna dapat melakukan trial-error untuk menyelesaikan permainan.
h. Keberhasilan ditentukan oleh pengetahuan, bukan kebetulan. i. Task disajikan secara incremental dan bertahap.
j. Simulasi realistik dunia.
k. Materi edukasi disesuaikan dengan materi dunia nyata.
l. Personalisasi: pengguna dapat mengubah karakter dan objek-objek. m.Menyediakan banyak pilihan dan tema.
n. Hindari pengulangan, hindari drill-practice.
p. Point tidak hilang saat menjawab pertanyaan. 2. Tantangan
a. Kinerja pemain terukur dan didefinisikan dengan baik.
b. Tantangan diberikan secara terus menerus tapi disesuaikan dengan tingkat pemahaman pemain.
c. Kompleksitas semakin berkembang sejalan dengan kemampuan pengguna. Tersedia banyak level.
d. Memonitor kinerja pengguna, berdasarkan hasil monitoring ini kesulitan kemudian disesuaikan.
e. Pengguna dapat melihat progressnya setiap saat.
f. Menyediakan hint dan instruksi untuk membantu pengguna.
g. Bantuk pengguna menemukan ‘flow state’ yaitu keseimbangan antara tantangan dengan kemampuan untuk menghadapi tantangan.
3. Sosialisasi
a. Pemain dapat berkolaborasi bersama. b. Pemain dapat saling berkompetisi.
c. Pemenang bisa lebih dari satu (multiple winner) 4. Pedagogi
a. Menyebutkan secara eksplisit target umur dan menyesuaikan rancangan permainan sesuai umur tersebut.
b. Aktivitas pembelajaran dilaksanaan bersamaan dengan permainan. c. Objektif pembelajaran jelas.
d. Memberi kesempatan kepada guru dan orangtua untuk ikut berperan. e. Memberikan petunjuk yang jelas sehingga pemain dapat
berkonsentrasi kepada isi permainan, bukan bagaimana cara menggunakan permainan.
f. Menyediakan tutorial sehingga pemain tidak perlu membaca manual. 5. Teknologi
a. Menggunakan teknologi yang tersedia di sekolah dan masyarakat umum (tidak membutuhkan hardware yang terlalu tinggi).
c. Menggunakan antarmuka yang intuitif.
6. Pengguna anak-anak dan yang berkebutuhan khusus
a. Memberikan petunjuk yang dibacakan selain petunjuk tertulis.
b. Gambar, objek, layar tertata rapi.
c. Permainannya sendiri merupakan aktivitas yang penting (play for the
sake of play)
d. Transformasi terlihat. Saat anak melakukan interaksi, ada instant
feedback.
e. Input dan output yang mudah terlihat. f. Tantangan diberikan secara gradual.
g. Permainan menyenangkan untuk diulang, beberapa karakter, music mudah teringat oleh anak.
h. Objek dan suara diambil dari kehidupan sehari-hari yang mudah dikenali.
i. Menginspirasi anak, bahkan setelah komputer dimatikan.
II.4 Berorientasi Objek
Secara spesifik, pengertian berorientasi objek berarti bahwa mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Hal ini yang membedakan dengan pemograman konvensional dimana struktur data dan perilaku hanya berhubungan secara terpisah. Terdapat beberapa cara untuk menentukan karateristik dalam pendekatan berorientasi objek, tetapi secara umum mencakup empat hal, yaitu identifikasi, klasifikasi,
polymorphism (polimorfisme) dan inheritance (pewarisan) [10].
II.4.1 Konsep Dasar Berorientasi Objek
Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodelogi berorientasi objek:
1. Kelas (class)
Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau tercipta dan kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan dan kelas yang lain, dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru.
2. Objek (object)
Objek adalah abstraksi dan sesuatu yang mewakilkan dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur, status, atau hal-hal lain yang bersifat abstrak. Objek merupakan entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan. 3. Metode (method)
Operasi atau metode pada sebuah kelas hampir sama dengan fungsi prosedur pada metodelogi structural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi yang berfungi untuk memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek.
4. Atribut (attribute)
Atribut dari sebuah kelas adalah variable global yang dimiliki sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya berat, jenis, nama dan sebagainya.
5. Abstraksi (abstraction)
6. Enkapsulasi (encapsulation)
Pembungkusan atribut data dan layanan (operasi-operasi)yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.
7. Pewarisan (inheritance)
Mekanisme yang memungkinkan suatu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya.
8. Antarmuka (Interface)
Antarmuka (Interface) sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain.
9. Reusability
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalah pada permasalahan lainnya yang melibatkan objek tersebut. 10. Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil, motor, dan kereta.
11. Komunikasi Antar Objek
Komunikasi Antar Objek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek yang lain.
12. Polimorfisme (polymorphism)
Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.
13. Package
Package adalah sebuah container atau kemasan yang dapat digunakan
II.4.2 Analisis Berorientasi Objek
Analisis berorientasi objek atau Object Oriented Analysis (OOA) adalah tahap untuk menganalisis spesifikasi atau kebutuhan akan sistem yang akan dibangun dengan konsep berorientasi objek, apakah benar kebutuhan yang ada dapat diimplementasikan menjadi sebuah sistem berorientasi objek.
OOA biasanya menggunakan kartu CRC (Component, Responsibility,
Collaborator) untuk membangun kelas-kelas yang akan digunakan atau
menggunakan UML (Unified Modeling Language) pada bagian diagram use case,
diagram kelas, dan diagram objek.
II.4.3 Desain Berorientasi Objek
Desain berorientasi objek atau Object Oriented Design (OOD) adalah tahapan perantara untuk spesifikasi atau kebutuhan sistem yang akan dibangun dengan konsep berorientasi objek ke desain pemodelan agar lebih mudah diimplementasikan dengan pemograman berorientasi objek.
Pemodelan berorientasi objek biasanya dituangkan dalam dokumentasi perangkat lunak dengan menggunakan perangkat lunak dengan menggunakan perangkat pemodelan berorientasi objek, diantaranya adalah UML (Unified
Modeling Language). Kendala dan permasalahan pembangunan sistem
berorientasi objek biasanya dapat dikenali dalam tahap ini [10].
II.4.4 Pemodelan
Pemodelan adalah gambaran dari realita yang sederhana dan dituangkan dalam bentuk pemetaan denan aturan tertentu. Pemodelan dapat menggunakan bentuk yang sama dengan realitas. Pemodelan juga banyak digunakan untuk merencanakan suatu hal agar kegagalan dan resiko yang mungkin terjadi dapat diminimalisir.
pembangunan perangkat lunak digunakan untuk menvisualkan perangkat lunak yang akan dibuat [10].
II.5 UML (Unified Modelling Language)
Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah
menjadi standar dalam industry visualisasi, merancang, dan mendokumentasikan sistem peranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
UML dapat digunakan untuk membuat model untuk semua jenis perangkat lunak, dimana perangkat lunak tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML
syntax mendefinisikan begaimana bentuk-bentuk tersebut dapat dikombinasikan.
Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya yaitu: Grady Booch OOD (Object Oriented Design), Jim Rumbaugh OMT (Object
Modeling Technique) dan Ivar Jacobson OOSE (Object Oriented Software
Engineering).
II.5.1 Diagram UML
UML 2.3 Diagram
Interaction Overview Diagram State Machine
Activity Diagram Use Case Diagram
Communication Diagram
Deployment Diagram Package Diagram
Sequence Diagram
Composite Structure Diagram Component Diagram
Object Diagram Class Diagram
Intraction Diagram Behavior Diagram
Structure Diagram
Timming Diagram
Gambar II.1 Diagram UML
Berikut ini penjelasan singkat dari pembagian katagori tersebut.
1. Structure diagrams yaitu kumpulan diagram yang digunakan untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan.
2. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk
menggambarkan kelakuan sistem atau rangkain perubahan yang terjadi pada sebuah sistem.
3. Interaction diagrams yaitu kumpulan diagram yang digunakan untuk
II.5.1.1 Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas mimiliki apa yang disebut atribut dan metode atau operasi.
Atribut merupakan variable-variabel yang dimiliki oleh suatu kelas.
Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Berikut adalah simbol-simbol yang ada pada diagram kelas:
Tabel II.1 Simbol-simbol Class Diagram
Simbol Deskripsi
Kelas Kelas pada struktur sistem
Antarmuka / interface Sama dengan konsep interface dalam
pemrograman berorientasi objek
Asosiasi / association Relasi antar kelas dengan makna umum,
asosiasi biasanya juga disertai dengan
multiplicity
Asosiasi berarah / directed association Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi Relasi antar kelas dengan makna
generalisasi-spesialisasi (umum-khusus)
Kebergantungan / Dependency Relasi antar kelas dengan makna
kebergantungan antar kelas
Agregasi / aggregation Relasi antar kelas dengan makna semua
bagian (whole part)
nama_kelas
+Attribute +operasi()
II.5.1.2 Objek Diagram
Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan.
Berikut adalah simbol-simbol yang ada pada diagram objek:
Tabel II.2 Simbol-simbol Object Diagram
Simbol Deskripsi
Objek Objek dari kelas yang berjalan saat sistem
berjalan
Link Relasi antar objek
II.5.1.3 Component Diagram
Diagram komponen atau component diagram dibuat untuk menunjukkan organisasi dan ketergantungan di antara kumpulan komponen dalam sebuah sistem. Diagram komponen fokus pada komponen sistem yang dibutuhkan dan ada di dalam sistem. Diagram komponen juga dapat digunakan untuk memodelkan hal-hal berikut:
1. Source code program perangkat lunak.
2. Komponen executable yang dilepas ke user. 3. Basis data secara fisik.
4. Sistem yang harus beradaptasi dengan sistem lain.
5. Framework sistem, framework pada perangkat lunak merupakan kerangka
kerja yang dibuat untuk memudahkan pengembangan dan pemeliharaan aplikasi.
Berikut adalah simbol-simbol yang ada pada diagram komponen:
Tabel II.3 Simbol-simbol Component Diagram
Simbol Deskripsi
Package Package merupakan sebuah bungkusan dan
satu atau lebih komponen
Komponen Komponen sistem
Kebergantungan / Dependency Kebergantungan antar komponen, arah panah mengarah pada komponen yang dipakai
Antarmuka / interface Sama dengan konsep interface pada
pemograman berorientasi objek, yaitu sebagai antarmuka komponen agar tidak mengakses langsung komponen.
Link Relasi antar komponen
II.5.1.4 Composite Structure Diagram
Composite structure diagram baru mulai ada pada UML versi 2.0, pada
versi 1.x diagram ini belum muncul. Diagram ini dapat digunakan untuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung. Contoh penggunaan diagram ini misalnya untuk menggambarkan deskripsi dari setiap bagian mesin yang saling terkait untuk menjalankan fungsi mesin tersebut, menggambarkan aliran data router pada jaringan computer, dll.
II.5.1.5 Package Diagram
Package diagram menyediakan cara mengumpulkan elemen-elemen
yang saling terkait dalam diagram UML. Hampir semua diagram dalam UML dapat dikelompokkan menggunakan package diagram. Berikut ini simbol-simbol yang digunakan:
Package
nama_komponen
Tabel II.4 Simbol-simbol Package Diagram
Simbol Deskripsi
Package Package merupakan sebuah bungkusan dari
satu atau lebih kelas atau elemen diagram UML lainnya.
II.5.1.6 Deployment Diagram
Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi. Diagram deployment juga dapat digunakan untuk memodelkan hal-hal berikut:
1. Sistem tambahan (embedded sistem) yang menggambarkan rancangan
divice, node, dan hardware.
2. Sistem client/server. 3. Sistem terdistribusi murni. 4. Rekayasa ulang aplikasi.
Berikut adalah simbol-simbol yang ada pada diagram deployment:
Tabel II.5 Simbol-simbol Deployment Diagram
Simbol Deskripsi
Kebergantungan / Dependency Kebergantungan antar node, arah panah mengarah pada node yang dipakai
Link Relasi antar node
Package Package merupakan sebuah bungkusan dari
satu atau lebih node
Node Biasanya mengacu pada perangkat keras
(hardware), perangkat lunak yang tidak dibuat
sendiri (software), jika didalam node
disertakan komponen untuk
mengkonsistenkan rencana maka komponen yang diikutsertakan harus sesuai dengan komponen yang telah didefinisikan sebelumnya pada diagram komponen.
Node
Package
II.5.1.7 Use Case Diagram
Use case atau diagram use case merupakan pemodelan untuk kelakuan
(behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah
interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.
1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang dapat dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun symbol dari aktor adalah gambar orang, tapi aktor belum tentu merupkan orang.
2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit
yang saling bertukar pesan antar unit aktor.
Berikut adalah simbol-simbol yang ada pada diagram use case:
Tabel II.6 Simbol-simbol Use case Diagram
Simbol Deskripsi
Use case Fungsionalitas yang disediakan sistem sebagai
unit-unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal fase nama
use case
Aktor / actor Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun symbol atau aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal fase nama aktor
Asosiasi / association Komunkasi antar aktor dan use case yang berpartisipasi pada use case atau use case
memiliki interaksi dengan aktor
II.5.1.8 Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow
(aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal beriukut:
1. Rancangan proses bisnis di mana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
2. Urutan atau pengelompokan tampilan dari sistem /user interface di mana setiap aktivitas memiliki sebuah rancangan antarmuka tampilan.
3. Rancangan pengujian di mana setiap aktivitas memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.
Berikut adalah simbol-simbol yang ada pada diagram aktivitas:
Tabel II.7 Simbol-simbol Activity Diagram
Simbol Deskripsi
Status awal Status awal aktifitas sistem, sebuah
diagram aktivitas memiliki sebuah status awal
Aktivitas Aktivitas yang dilakukan sistem, aktivitas
biasanya diawali dengan kata kerja
Percabangan / decision Asosiasi percabangan dimana jika ada
pilihan aktivitas lebih dari satu
Penggabungan / join Asosiasi penggabungan dimana lebih dari
satu aktivitas digabungkan menjadi satu
Status akhir Status akhir yang dilakukan sistem,
sebuah diagram aktivitas memiliki sebuah status akhir
Simbol Deskripsi
Swimlane Memisahkan organisasi bisnis yang
bertanggung jawab terhadap aktivitas yang terjadi.
II.5.1.9 State Machine Diagram
State machine diagram atau dalam bahasa Indonesia disebut diagram mesin
status digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem. Perubahan tersebut digambarkan dalam suatu graf berarah. State machine diagram merupakan pengembangan dari diagram Finite State Automata dengan penambahan beberapa fitur dan konsep baru. Diagram
Finite State Automata (FSA) ini biasanya diajarkan dalam mata kuliah Automata.
State machine diagram cocok digunakan untuk menggambarkan alur interaksi pengguna dengan sistem. Berikut ini komponen-komponen dasar yang ada dalam state machine diagram:
nama swimlane
n
a
m
a
s
w
im
la
n
Tabel II.8 Simbol-simbol State Machine Diagram
Simbol Deskripsi
Start (Initial State) Start (Initial State) adalah state atau keadaan awal
pada saat sistem mulai hidup
End (Final State) End (Final State) adalah state keadaan akhir dari
daur hidup sebuah sistem
Event
Event
Event adalah kegiatan yang menyebabkan
berubahnya stastus mesin
State State atau status adalah keadaan sistem pada
waktu
II.5.1.10Sequance Diagram
Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskrifsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
Banyaknya diagram sekuen yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehinga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak.
Berikut adalah simbol-simbol yang ada pada diagram sekuen:
Table II.9 Simbol-simbol Sequence Diagram
Simbol Deskripsi
Aktor
Atau
Tanpa waktu aktif
Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun symbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal frase nama aktor
Garis hidup / lifeline Menyatakan kehidupan suatu objek
Objek Menyatakan objek yang berinteraksi pesan
Waktu aktif Menyatakan objek dalam keadaan aktif dan
berinteraksi pesan
Pesan tipe create
<<create>>
Menyatakan suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat
Pesan tipe call
1 : nama_metode ()
Menyatakan suatu objek memanggil operasi / metode yang ada pada objek lain atau dirinya sendiri
Arah panah mengarah pada objek yang memiliki operasi/ metode, karena ini memanggil operasi/metode maka operasi/metode yang dipanggil harus ada pada diagram kelas sesuai dengan kelas objek yang berinteraksi.
pesan tipe send
1 : masukan
Menyatakan bahwa suatu objek mengirimkan data / masukkan / informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi
nama aktor
nama_objek : nama_kelas
Simbol Deskripsi
Pesan tipe return
1 : keluaran
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian
Pesan tipe destroy
<<destroye>>
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada
destroy
II.5.1.11Communication Diagram
Communication diagram atau diagram komunikasi pada UML versi 2.x
adalah penyederhanaan dari diagram kolaborasi (collaboration diagram) pada UML versi 1.x. jadi collaboration diagram sudah tidak muncul lagi pada UML versi 2.x.
Diagram komunikasi menggambarkan interaksi antarobjek/bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi mempersentasikan informasi yang diperoleh dari Diagram Kelas, Diagram Sekuen, dan Diagram Use case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem.
II.5.1.12Timing Diagram
Timing diagram merupakan diagram yang fokus pada penggambaran
terkait batasan waktu. Timing diagram digunakkan untuk menggambarkan tingkah laku sistem dalam periode waktu tertentu. Timing diagram biasanya digunakan untuk mendeskripsikan operasi dari alat dijital karena penggambaran secara visual akan lebih mudah dipahami daripada dengan kata-kata.
II.5.1.13Interaction Overview Diagram
Interaction overview diagram mirip dengan diagram aktivitas yang
berfungsi untuk menggambarkan sekumpulan urutan aktivitas. Interaction overview diagram adalah bentuk aktivitas diagram yang setiap titik merepersentasikan diagram interaksi. Interaksi diagram dapat meliputi diagram sekuen, diagram komunikasi, interaction overview diagram, dan timing diagram.
Hampir semua notasi pada interaction overview diagram sama dengan notasi pada diagram aktivitas. Sebagai contoh initial, final, decision, merge, fork,
dan join nodes sama seperti pada diagram aktivitas. Tambahan pada interaction
overview diagram adalah interaction occurrence dan interaction element.
II.6 Algoritma Fisher Yates Shuffle
Fisher-Yates Shuffle (dinamai berdasarkan penemunya, Ronald Fisher dan
Frank Yates) digunakan untuk mengubah urutan masukan yang diberikan secara acak. Permutasi yang dihasilkan oleh algoritma ini muncul dengan probabilitas yang sama. Metode dasar yang diberikan untuk menghasilkan permutasi acak dari angka 1 - N berjalan sebagai berikut:
1. Tuliskan angka dari 1 sampai n
2. Isi nilai k dengan bilangan acak antara 0 hingga i+1 bulatkan kebawah 3. hitung dari low end, gantikan nilai k dan tuliskan di tempat lain 4. Ulangi dari langkah 2 sampai semua nomor digantikan
Algoritma ini dinyatakan bias karena permutasi yang dihasilkan oleh algoritma ini muncul dengan probabilitas yang sama.
II.7 Algoritma Minimax
Algoritma Minimax dikembangkan pada 1928 oleh John von Neuman dan prinsip-prinsip yang dimilikinya masih merupakan salah satu yang paling terkenal dan banyak digunakan dalam game sekarang. Prinsip-prinsip ini hanya berlaku untuk game yang memiliki dua pemain yang bermain secara bergantian, yaitu manusia melawan komputer seperti dalam permainan catur, dam, dan tic-tac-toe.
Minimax bekerja sangat baik bila seluruh keadaan langkah yang mungkin terjadi para pemain dapat diketahui seperti pada permainan catur, checker, dan tic-tac-toe. Algoritma minimax tidak bisa digunakan pada game-game poker karena komputer tidak bisa melihat semua langkah pemain(lawan) yang mungkin terjadi.
Untuk mengimplementasikan minimax diperlukan sebuah metode untuk mengukur seberapa baik sebuah posisi pada saat itu. Metode ini disebut sebagai fungsi evaluasi. Fungsi evaluasi merupakan sebuah heuristic, yang kenyataannya sangat sulit untuk menentukan beberapa nilai presisi pada sebuah posisi saat itu. Fungsi evaluasi yang baik akan memperhitungkan dari banyak aspek yang berbeda, seperti posisi papan, jumlah pieces relative terhadap lawan, control papan, control kunci tertentu pada papan, dan mobilitas. Mobilitas menunjukkan kebebasan setiap pemain dalam memainkan pieces dan seberapa banyak langkah setiap pieces yang dimiliki oleh setiap pemain [11].
Misalkan f(n) adalah fungsi evaluasi dari posisi ke-n, maka:
a. f(n) > 0 : adalah posisi n menang untuk komputer dan kalah bagi lawan. b. f(n) < 0 : adalah posisi n menang untuk lawan dan kalah bagi komputer. c. f(n) = 0 : adalah posisi n netral.
Contoh fungsi evaluasi pada permainan tic-tac-toe: a. f(n) = 1 bila komputer menang.
b. f(n) = -1 bila lawan menang
Contoh fungsi evaluasi pada catur:
f(n) = w1f1+ w2f2+…+ wnfn
w1= 1, f1 = jumlah pion komputer – jumlah pion lawan
w2= 3, f2 = jumlah gajah komputer – jumlah gajah lawan
Dalam minimax, MAX adalah sebutan bagi pemain (komputer) yang bertujuan untuk mendapatkan nilai maksimal dan MIN adalah sebutan bagi (lawan) yang bertujuan untuk mendapatkan nilai minimal.
Prosedur minimax:
1. Tandai masing-masing level dari ruang pencarian sesuai dengan langkahnya pada level itu.
2. Mulai pada node daun (node paling bawah) dengan menggunakan fungsi evaluasi, berikan nilai pada masing-masing node.
3. Arah menjalar ke atas : Jika node orang tua adalah MAX, pilihlan nilai terbesar yang terdapat pada node anak dan berikan nilai ini pada MAX
(node orang tua).
4. Arah menjalar ke atas : Jika node orang tua adalah MIN, pilihlan nilai terbesar yang terdapat pada node anak dan berikan nilai ini pada MIN (node
orang tua).
II.8 Construct2
Construct2 adalah produk buatan Scirra, perusahaan yang berasal dari kota London, Inggris. Dengan menggunakan game engine ini, entah itu developer
pemula maupun expert sangat dimanjakan dengan kemudahan pemakaian. Cukup membaca beberapa manual di situs resmi Scirra.
Game builder ini sebenarnya dirancang untuk game berbasis 2D. Dengan
menggunakan Construct 2, pengembang permainan dapat mem-publishnya ke beberapa platform seperti:
1. HTML5 website
2. Google Chrome Webstore 3. Facebook
5. Windows Phone 8, bahkan Windows 8.
Untuk mempercantik game, disediakan pula 70 visual effect yang menggunakan engine WebGL. Construct 2 juga dilengkapi dengan 20 built-in
plugin dan behaviours (perilaku objek) serta dapat menambah sprite animasi,
objek teks, mengkoneksikan ke Facebook, menambah musik, manipulasi penyimpanan data game, dan penambahan efek-efek grafis layaknya Adobe Photoshop.
Pemanggilan fungsi-fungsi di Construct 2 hanya menggunakan pengaturan
Events yang telah disediakan. Events merupakan pilihan-pilihan Action dan
35 III.1Analisis Sistem
Analisis sistem dilakukan untuk memperoleh definisi permasalahan dan gambaran yang tepat dari apa yang akan dilakukan oleh sistem. Analisis sistem bertujuan untuk mengetahui bagaimana seluk beluk sistem yang akan diteliti dan dibangun.
Pada bagian analisis sistem ini akan dibahas mengenai analisa-analisa masalah yang akan dilakukan terhadap game, analisa pengguna dan kegunaan dari
game yang akan dibangun.
III.2Analisis Masalah
Laut Indonesia kini dihadapkan dengan berbagai masalah diantaranya tingkat pencemaran yang masih tinggi, ditandai dengan terjadinya peningkatan jumlah nutrisi yang disebabkan oleh polutan. Pencemaran laut saat ini banyak berasal dari partikel kimia, limbah industri, limbah pertanian dan perumahan yang bisa merusak lingkungan laut. Kurang lebih 80% pencemaran yang terjadi di laut adalah pencemaran sampah plastik. Sampah-sampah plastik yang terbawa ke laut sebagian terampung dan beberapa waktu kemudian sebagian akan terendap di lautan. Sampah-sampah berupa plastik ini masuk ke laut melalui aliran sungai atau selokan yang pada umumnya langsung menuju laut. Belum lagi masyarakat yang hidup di sekitar pesisir laut dan membuang sampah mereka setiap hari ke laut. Akibatnya tidak sedikit hewan laut seperti penyu, burung dan kura-kura mati akibat menelan sampah plastik [1].
orang bermai game, segenap potensinya dikerahkan untuk menyelesaikan setiap
level dalam game. Pikiran fisik, bahkan emosi terlibat. Pada saat seperti ini,
bisaanya materi-materi yang disampaikan akan mudah dicerna dan dimengerti oleh pemain game[2].
Salah satu game yang akan dibahas dan menjadi acuan disini ialah game
Feeding Frenzy. Game yang akan dibangun akan mengadaptasi Gameplay Game
Feeding Frenzy 2 sebagai lingkungan permainan yang serupa. Oleh karena itu
akan dikembangkan tipe gameplay Game Feeding Frenzy 2 dengan menambahkan unsur edukasi lindungi kebersihan lingkungan laut serta pembelajaran mengenai jenis-jenis sampah.
III.2.1Analisis Game Sejenis
Pada tahap ini dilakukan analisis terhadap game sejenis yang telah ada. Tujuan dari analisis ini yaitu untuk membandingkan dan mendapatkan konsep permainan dari game yang sudah ada untuk kemudian dikembangkan. Game yang dibandingkan dan akan menjadi acuan adalah game Feeding Frenzy 2, Fish
Predator dan Hungry Shark Evolution .
1. Game Feeding Frenzy 2
Gambar III.1 Game Feeding Frenzy 2
Feeding Frenzy 2 adalah sebuah game air arcade-style ditulis oleh Sprout
Games dan diterbitkan oleh PopCap Games dengan debut awal tahun 2004. Game
ini menghadirkan sebuah simulasi yang seolah-olah menjadikan pemain game
(player) untuk masuk kedalam dunia bawah laut dan menjelma menjadi seekor
seperti dunia bawah laut baru, terumbu karang, gua laut dalam, dan kapal tenggelam, serta tantangan di atas air.
a. Gameplay
Pemain harus mengendalikan beberapa cepat tumbuh predator laut yang keluar untuk mengungkap misteri yang mengintai di lautan. Misi dari permainan ini adalah untuk menghindari predator dan kendala sewaktu makan ikan kecil dan makhluk lain, akhirnya mencapai puncak rantai makanan.
b. Kartakter
Karakter yang ada pada gameGame Feeding Frenzy2antara lain:
Tabel III.1 Karakter GameFeeding Frenzy2
No Nama Karakter Deskripsi
1. Boris – Boris Ikan kupu-kupu adalah karakter pertama dimainkan dalam permainan. Dia tinggal di perairan hangat dari Shoal Sandy, sebuah daerah yang indah dari Pantai Frenzy. 2. Layla – Layla triggerfish adalah karakter dimainkan kedua dalam
permainan. Dia tinggal di air hangat surga Reef.
3. Edie – Edie anglerfish adalah karakter yang dapat dimainkan ketiga. tingkat Edie sulit karena tingkat-nya adalah “Midnight
Zona”. Perhatikan bahwa gender ikan telah diubah menjadi
perempuan karena fakta bahwa hanya memancarkan cahaya pemancing ikan betina, ini adalah kesalahan dalam permainan asli.
4. Peter – Peter ikan kuwe adalah karakter yang dapat dimainkan keempat dalam permainan. Dia tinggal di Buccaneer Bay, di mana pemain pertama akan menemukan sotong yang menembak tinta.
5. Harry Harry ikan humphead adalah karakter yang dapat dimainkan kelima dalam permainan, para Balon yang kembali setelah beberapa saat dan Anda dapat kembali melompat untuk bonus keluar dari air.
6. Goliath Goliat, hiu putih besar adalah karakter yang dapat dimainkan keenam dalam permainan. Dia sangat tinggi dalam rantai makanan, dan adalah yang pertama untuk memerangi “The Intruder”.
7. The Intruder The Intruder merupakan ikan asing mengganggu rantai makanan. Pemain diperlukan untuk melawan setiap 3 level
No Nama Karakter Deskripsi
bermain sebagai karakter sebelumnya sampai The Intruder dikalahkan untuk terakhir kalinya, setelah Boris memakannya. Ini melengkapi permainan. The Intruder kemudian membuka sebagai karakter yang dapat dimainkan, dan pemain kemudian dapat bermain melalui seluruh permainan lagi sebagai The Intruder.
2. Game Hungry Shark Evolution
Game Hungry Shark Evolution merupakan game buatan Future Games of
London dirilis bulan September 2012. Hungry Shark Evolution, sebuah game
android dengan permainan cukup mudah.
a. Gameplay
Gameplay-nya sebenarnya tidak terlalu berbeda dengan pendahulunya
dimana pemain akan memainkan sebuah hiu yang selalu lapar dan harus memakan apapun yang bisa ia makan untuk bertahan hidup. Sedikit mirip dengan Feeding
Frenzy. Pemain bisa mengendalikan sang hiu dengan tilt atau D-pad untuk
berenang kesana-kemari. Ketika menemukan mangsa maka pemain cukup mengarahkan sang hiu ke dekatnya dan otomatis hiu akan memakannya.
Pemain juga bisa tap dimana saja pada layar untuk membuat hiu melesat lebih kencang, namun ini hanya bisa digunakan secara terbatas. Setelah boost habis maka pemain harus menunggu sampai bisa digunakan kembali. Boost ini berfungsi untuk mengejar beberapa mangsa yang sangat cepat seperti barracuda