BAB 2 LANDASAN TEORI 2.1 TEORI UMUM Teori umum adalah teori utama yang akan menjadi landasan untuk hal-hal yang akan dibahas pada skripsi ini. 2.1.1 Multimedia Menurut Vaughan (2008, p1), multimedia adalah sebuah kombinasi dari teks digital yang dimanipulasi, foto, seni grafis, suara, animasi, dan elemen video. Multimedia memiliki lima elemen yaitu: 1. Teks, merupakan sekumpulan huruf yang membentuk kata dan membentuk kalimat yang memberikan informasi tertentu. 2. Gambar, berupa bitmap atau vector-drawn graphics. Gambar adalah elemen multimedia yang paling menarik bagi user. 3. Animasi, adalah gambar visual yang berubah-ubah dari waktu ke waktu dan merupakan elemen multimedia yang penting. 4. Suara, adalah elemen multimedia yang paling dinikmati oleh user. Suara menyediakan kenyamanan mendengarkan musik, aksen mengejutkan pada special efek, atau sesuatu yang dapat membangkitkan suasana, emosi, dan mood. 8 9 5. Video, dari semua elemen multimedia yang ada, merupakan elemen yang paling membutuhkan performa dan memori yang tinggi pada komputer anda. Video berguna merepresentasikan informasi yang ingin disampaikan. 2.1.2 Interaksi Manusia dan Komputer (IMK) Menurut Shneiderman dan Plaisant (2010, p32), ada lima faktor manusia terukur yang menjadi pusat evaluasi dalam merancang interface yaitu: 1. Waktu belajar Berapa lama waktu yang dibutuhkan oleh user untuk mempelajari bagaimana menggunakan perintah yang relevan. 2. Kecepatan kinerja Berapa lama waktu yang diperlukan untuk menjalankan suatu tugas. 3. Tingkat kesalahan user Berapa banyak dan apa saja kesalahan yang dibuat user dalam melaksanakan suatu tugas. 4. Daya ingat Seberapa baik user dapat mempertahankan pengetahuan mereka setelah jangka waktu tertentu, dan frekuensi dari penggunaan memegang peranan penting dalam hal ini. 5. Kepuasan subjektif 10 Mencari tahu apakah user senang menggunakan berbagai aspek dari sistem. Jawabannya dapat diperoleh melalui wawancara atau kuisioner yang memuat skala kepuasan dan tempat untuk memberi komentar. Selain itu menurut Shneiderman dan Plaisant (2010, p88-89), terdapat delapan Golden Rules of Interface Design yaitu: Konsistensi. Perancangam tampilan antarmuka yang baik harus memperhatikan konsistensi dari penggunaan dan peletakan menu, warna, layout, dan jenis huruf pada antarmuka. Melayani kebutuhan universal. Pengguna aplikasi sangat beragam sehingga dalam rancangan layar antarmuka harus mempertimbangkan perbedaan usia, gambatan fisik dan variasi teknologi. Jadi ada pemberian pentunjuk untuk pengguna awam dan shortcut untuk pengguna yang sudah berpengalaman. Memberikan umpan balik yang informatif. Untuk setiap aksi yang dilakukan oleh pengguna terhadap sistem, sistem harus memberikan umpan balik agar tercipta suasana yang komunikatif. Respon yang diberikan sesuai dengan aksi yang dilakukan baik itu besar atau kecil. Membuat dialog yang menghasilkan keadaan akhir. Dalam merancang komunikasi yang baik dengan pengguna, urutan tindakan harus diatur dengan mengetahui keadaan awal, tengah, dan akhir. 11 Adanya pencegahan kesalahan dan penanganan kesalahan. Sebisa mungkin, sistem yang dibuat dapat mencegah kesalahan fatal yang dilakukan oleh pengguna. Misalnya terdapat validasi pada pengisian formulir. Apabila pengguna melakukan kesalahan maka sistem harus memberikan instruksi kepada pengguna bagaimana memperbaikinya. Memungkinkan pembalikan aksi yang mudah. Sistem perancangan antar muka harus dapat mengembalikan aksi sebelumnya. Dalam suatu waktu, pengguna mungkin tidak sengaja melakukan aksi yang tidak diinginkan dan ingin melakukan pembatalan aksi. Dengan adanya fungi pengembalian pengguna dapat merasa nyaman dan tidak takut dalam menggunakan sistem. Mendukung pusat kendali internal. pengguna memiliki kekuasaan atas sistem, sehingga dapat mengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna. Mengurangi beban ingatan jangka pendek. Tampilan harus dibuat sederhana sehingga dalam penggunaanya pengguna tidak perlu banyak menghafal. 2.1.3 IMSDD Menurut Dastbaz (2003, p130-132), tahapan siklus dalam IMSDD : System Requirements 12 Di mana designer dan client mencoba mendeskripsikan tentang apa sistem akhirnya akan diharapkan memberikan. Ini adalah tahap awal dalam pengembangan produk perangkat lunak. Pada tahap ini memiliki fungsi utama sebagai berikut: 1. Untuk memberikan definisi sistem, yang menguraikan tujuan dan sasaran sistem. 2. Untuk memperjelas siapa pengguna potensial dari sistem ini dan jika ada persyaratan khusus yang perlu dipertimbangkan. 3. Untuk secara kritis mengevaluasi hardware yang dibutuhkan serta platform perangkat lunak yang tersedia dan alat-alat authoring dan membuat pilihan yang tepat. 4. Untuk mempertimbangkan dengan hati-hati pengiriman platform yang diperlukan untuk sistem. Design Considerations Tujuan dari tahap ini adalah untuk menyusun pedomanyang jelas tentang rincian desain. Tahap ini bertujuan untuk menangani isu-isu berikut: 1. Design Metaphor: Memilih ‘Real World Mental Model’ untuk digunakan sebagai kunci solusi desain antarmuka untuk sistem. Contohnya buku, film, game. 2. Information types and formats: Untuk menentukan jenis informasi yang perlu diintegrasikan ke dalam sistem. Contohnya teks, grafik, suara, video, dan animasi. 13 3. Navigational structures: Untuk mengartikulasikan strategy navigasi yang jelas, termasuk struktur link dan fitur yang akan menghindari masalah dikutip terkait dengan sistem hipermedia seperti “disorientasi”. 4. System controls: Untuk memperjelas jenis dan fitur kontrol dan peralatan yang diperlukan untuk sistem. Implementation Setelah fitur desain didefinisikan, tahap implementasi dimulai menggunakan multimedia-authoring tools. Tahap implementasi terdiri dari: a) Menciptakan sebuah prototype dari sistem, dan b) Menguji prototype untuk desain yang mungkin dan masalah kontrol. Evaluation Pada tahap ini sistem dievaluasi terhadap tujuan yang dinyatakannya. Berbagai jenis pendekatan termasuk evaluasi formatif atau sumatif dapat digunakan. 14 Gambar 2.1 IMSDD Cycle (Dastbaz, 2003, p131) 2.1.4 Basis Data Database atau Basis Data adalah sekumpulan koleksi data yang saling berhubungan. Menurut Connolly dan Begg (2004, p15), Database adalah sekumpulan data yang terhubung satu sama lain secara logical dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Database Management System (DBMS) adalah sebuah software yang dapat mengatur, memanipulasi dan mengakses ke database. Menurut Connolly (2004, p16), DBMS adalah suatu sistem software yang memungkinkan user untuk mendefinisikan, membuat, merawat dan mengontrol akses ke dalam database. 15 DBMS menyediakan fasilitas-fasilitas sebagai berikut: Memperbolehkan user untuk mendefinisikan database, biasanya melalui Data Definition Language (DDL). DDL memperbolehkan user untuk menetapkan tipe dan struktur data dan constraint data untuk disimpan dalam database. Memperbolehkan user untuk insert, update, delete dan retrieve data dari database. Biasanya melalui Data Manipulation Language (DML). DML adalah suatu bahasa yang memberikan fasilitas pengoperasian data yang ada di dalam database. 2.1.5 Unified Modelling Language (UML) Menurut Schach (2007, p73), Unified Modeling Language adalah sebuah alat untuk merepresentasikan model dari target software, diagram UML memudahkan software developer profesional untuk saling berkomunikasi dengan lebih cepat dan secara akurat dibandingkan melalui deskripsi verbal. Menurut Schach (2007, p535-536), UML adalah sebuah bahasa untuk mengekspresikan ide-ide melalui gambar/diagram. Macam-macam model UML menurut Schach (2007, p535): Use Cases, Class Diagrams, Notes, Use Case Diagrams, Interaction Diagrams, Statecharts, Activity Diagrams, Packages, Component Diagrams, dan Deployment Diagrams. Model UML yang dibahas dalam penulisan ini adalah: 16 1. Use Case Menurut Schach (2007, p290), Use Case adalah interaksi produk software dengan pemakai software tersebut (actors). Cara lain untuk memahami use case adalah bahwa use case menunjukkan interaksi antara software dengan lingkungan di mana software tersebut bekerja. Actor melambangkan anggota yang berada di luar software tersebut sedangkan kotak melambangkan software itu sendiri. Gambar 2.2 Contoh Use Case (Schach, 2007, p290) 2. Class Diagram Menurut Sommerville (2011, p129), Class Diagram digunakan ketika mengembangkan object oriented system model untuk menunjukkan class-class dalam sistem dan asosiasi antar class tersebut. Asosiasi adalah hubungan antar class yang menunjukkan bahwa ada hubungan antara class-class tersebut. Menurut Schach (2007, p537), Agregasi dalam class diagram adalah istilah UML untuk hubungan sebagian-keseluruhan. Contohnya bagian dari sebuah mobil adalah chassis, mesin, dan roda. 17 Gambar 2.3 Contoh Class Diagram (Schach, 2007, p537-539) 3. Activity Diagram. Menurut Schach (2007, p547), Activity Diagram menunjukkan bagaimana berbagai event dikoordinasikan. Oleh karena itu activity diagram digunakan ketika kegiatan dilakukan secara parallel. Gambar 2.4 Contoh Activity Diagram (Schach, 2007, p548) 18 2.1.6 JAVA Menurut Schildt (2005,p2-4), Java dibuat oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan di Sun Microsystems pada 1991. Pada awalnya Java dikenal dengan nama “Oak” tetapi pada tahun 1995 dinamakan Java. Pada awalnya Java dibuat bukan dengan tujuan untuk digunakan pada internet, melainkan untuk penggunaannya yang dapat digunakan pada multi platform, sehingga memungkinkan Java digunakan pada berbagai peralatan elektronik. Seiring dengan berkembangnya internet maka Java semakin berkembang, dikarenakan Java yang memungkinkan digunakan untuk crossplatform. Java memiliki hubungan yang sangat dekat dengan bahasa pemrograman C dan C++, dikarenakan Java mewarisi sintaks-sintaks dari C, dan menggunakan object model yang diadaptasikan dari C++. Hubungan antara Java dengan C dan C++ menjadi begitu penting karena banyaknya programmer yang familiar dengan sintaks C dan C++, hal ini memudahkan programmer C/C++ untuk mempelajari Java, dan begitu juga sebaliknya. Sehingga pada saat programmer berpindah pada bahasa pemrograman yang satu dengan yang lainnya programmer tidak akan menemukan banyak kesulitan. Bahasa pemrograman modern dimulai dengan bahasa C. Kemudian berpindah pada C++, dan sekarang pada bahasa Java. Dengan memiliki berbagai kemampuan-kemampuan yang dimiliki oleh bahasa C dan C++, serta ditambahkan beberapa fitur yang baru, membuat Java menjadi bahasa yang powerful. 19 Dikarenakan kemiripan Java dengan C++, terutama karena keduanya mendukung Object Oriented Programming, seringkali Java disebut sebagai “Internet version of C++”. Namun perlu dingat bahwa Java bukan dibuat untuk menggantikan C++. Java dibuat untuk menyelesaikan berbagai persoalan yang tidak dapat diselesaikan oleh C++, dan C++ mempunyai kemampuan untuk menyelesaikan permasalahan yang lainnya. Sehingga Java dan C++ mempunyai kemampuan menyelesaikan permasalahan yang berbeda. 2.1.7 Java Virtual Machine Menurut Stafford (2003), Java Virtual Machine adalah sebuah aplikasi yang menafsirkan kode binary Java yang telah dikompilasi (disebut bytecode) untuk prosesor komputer sehingga dapat melakukan instruksi program Java. Java dirancang untuk memungkinkan program aplikasi yang akan dibangun dapat berjalan pada platform apapun tanpa harus ditulis ulang atau direkompilasi oleh programmer untuk setiap platform yang terpisah. Setelah Java Virtual Machine diimplementasikan untuk platform tertentu, setiap program Java (yang setelah dikompilasi, disebut bytecode) dapat berjalan pada platform tersebut. 2.1.8 Microsoft Access Database Menurut Kadir (2004, p22), Microsoft Access adalah salah satu contoh RDBMS(Relational Database Management System) yang sangat terkenal di 20 lingkungan PC. Pada Microsoft Access, dabatase disimpan dalam sebuah berkas dengan ekstensi .mdb atau .accdb. Menurut Dean (2007), Keuntungan menggunakan Microsoft Access sebagai system database adalah sebagai berikut: Microsoft Access tersedia dan didukung untuk tahun-tahun mendatang karena Microsoft adalah perangkat lunak terkemuka di dunia. Microsoft Access adalah sistem database desktop yang paling banyak diunakan di dunia. Microsoft Access secara signifikan lebih murah untuk diterapkan dan dipelihara dibandingkan dengan sistem database yang lebih besar seperti Oracle atau SQL Server. Ketika dirancang dengan benar, database access dapat di-port keSQL Server atau Oracle. Hal ini penting jika anda ingin mengembangkan sistem database yang kecil dan kemudian bermigrasi ke sistem database yang lebih besar. 2.1.9 Golden T Game Engine (GTGE) Menurut Taru (2010, p15), Golden T Game Engine (GTGE) merupakan advanced cross-platform programming library yang ditulis dalam bahasa Java. Library GTGE menyediakan class-class yang lengkap dan berguna untuk membuat game 2D. Beberapa fungsinya berupa input mouse dan keyboard, audio support, dan collision detection. 21 GTGE adalah game engine yang sederhana namun kuat yang mampu menciptakan game 2D berkualitas dalam waktu yang singkat. Tujuan utama adalah untuk mengembangkan sebuah library yang mudah digunakan dan dikembangkan, untuk membuat game modern seperti game-game sekarang tanpa sebuah game engine yang rumit. Sehingga pengembang game dapat berkonsentrasikan pengembangan pada konsep gameplay daripada coding. Key feature dari Golden T Game Engine: Mendukung untuk sistem operasi utama seperti Windows, Linux, dan Mac OS X. Sangat mudah untuk membuat game baru. Permainan dapat berjalan secara fullscreen, windowed, atau applet. Akselerasi tingkat tinggi grafis API 2D yang mendukung OpenGL sebagai target rendering. Mendukung tiga tipe gambar. (.gif, .png, .jpg) Mendukung input mouse dan keyboard. Mendukung audio seperti wave, midi, mp3, dan ogg. (.wav, .mid, .mp3, .ogg) Pergerakan dan animasi game yang berbasis akan waktu untuk membuat game dengan frame rate yang independen. Manajemen sprite yang kuat dan fleksibel, untuk mendukung animasi sprite yang terarah. Built-in collision check, yang mendeteksi tubrukan antar pixel. System Requirement: 22 Sistem desktop Java 2 Standart Edition (J2SE) versi 1.4 atau yang terbaru. 2.2 TEORI KHUSUS 2.2.1 Definisi Game Menurut Heni dan Beckermann (2006, p1), Game adalah bagian pokok dalam warisan manusia, dimainkan di berbagai kebudayaan dan dinikmati oleh semua golongan umur. Game seperti catur telah ada dari jaman dahulu. Konsep game komputer sekarang mengikuti ide dari board game, cerita mengimitasi dari film, mesimulasikan kehidupan nyata, bahkan dari simulasi mengendarai pesawat sampai dengan mensimulasikan seluruh peradaban. 2.2.2 Game Design Document Game design document adalah sebuah proses untuk mengubah ide yang masih samar-samar menjadi sebuah rencana yang jelas. Game design document berguna untuk menyalurkan desain dari game ke seluruh anggota tim yang akan membuat game tersebut. Menurut Rollings dan Adams (2003, p14), terdapat 3 tipe dari design documents yaitu: High concept (2-4 halaman) Game treatment (10-20 halaman) Game script (50-200 halaman) 23 2.2.3 Elemen dari Game Design a. Game Design Menurut Rollings dan Adams (2003, p4), game design adalah suatu proses mengimajinasikan sebuah permainan, bagaimana mekanisme permainan tersebut, menjelaskan elemen-elemen yang membentuk game tersebut dan menyalurkannya pada tim yang akan membuat game tersebut. b. Game Concepts Menurut Rollings dan Adams (2003, p29), game concepts adalah dimana kita mendapatkan dan menyuling sebuah ide untuk game kita. Kita harus mengerti seperti apakah game yang akan kita buat dan harus menjawab pertanyaan-pertanyaan esensial tertentu. Dan ketika pertanyaan tersebut terjawab, tuliskan jawaban itu maka itulah konsep game kita. c. Story Menurut Rollings dan Adams (2003, p89), story sudah setua komunikasi itu sendiri. Story dan game telah memiliki hubungan dalam berbagai tingkat sejak dahulu kala. Dalam sebuah game biasanya memiliki story yang termasuk di dalamnya. Story dalam game tersedia hanya dalam satu paragraf namun ada juga yang tersedia dalam story line yang mendalam di mana game itu adalah story itu sendiri. d. Gameplay 24 Gameplay adalah inti dari sebuah game. Gameplay adalah hasil dari paduan berbagai macam elemen yang membentuk game itu sendiri. Menurut Sid Meier yang dikutip oleh Rollings dan Adams (2003, p200), gameplay adalah serangkaian pilihan yang menarik. Dari kutipan tersebut menurut Rollings dan Adams (2003, p200-201), definisi dari gameplay adalah satu atau lebih kausal yang terkait pada serangkaian tantangan dalam lingkungan yang terangsang. 2.2.4 Genre Game Menurut Rollings dan Adams (2003, p287), ada beberapa genre game yaitu: 1. Action Games Action game dapat berupa game 2D maupun 3D namun semua action game memiliki kesamaan yaitu tekanan pada waktu reaksi dan koordinasi tangan dan mata. Game dengan genre ini biasanya memiliki unsur kekerasan dan pertarungan. Genre ini memiliki sub-genre berupa action game dengan shooting dan action game tanpa shooting. Shooters Game dengan genre shooter masih termasuk dalam game action yang melibatkan kekerasan. Game dengan genre shooter pada umumnya terfokus pada karakter pemain yang menggunakan senjata. Biasanya senjata yang digunakan berupa senjata api atau senjata 25 yang memiliki jarak serangan yang jauh. Terdapat dua jenis game shooter yaitu First-Person Shooters (FPS) dan 2D shooters. 2. Strategy Games Strategy game awalnya berasal dari board game. Terdapat dua tipe strategy game yaitu classical turn based strategy games dan real time strategy games. Strategy game mempunyai peraturan main yang kompleks untuk menentukan menang dan kalah. Pada turn based gameplay menggunakan giliran seperti pada board game di mana sesama pemain mendapatkan giliran mereka dalam setiap putaran. Di mana pada real time strategy pemain dapat menjalankan beberapa gerakan langsung tanpa harus menunggu giliran. 3. Role-Playing Games Genre ini berawal dari pen-and-paper games. Ada dua hal di mana semua game dengan genre role-playing miliki yaitu statistik karakter yang berkembang seiring dengan pengalaman yang didapatkan dan storyline yang kuat dan kompleks. Game dengan genre Role-Playing pada umumnya memiliki elemen seperti adventure, exploration dan combat. 4. Sports Games Seperti namanya sports game artinya kita memainkan olahraga yang tentu kita kenal aturan mainnya namun kita mainkan dalam bentuk 26 sebuah video game. Tidak semua olahraga berdasarkan olahraga asli di duna nyata, ada beberapa game dengan genre sports game yang membuat olahraga sendiri dengan unsur dunia fantasi. 5. Vechile Simulations Vechile simulations berusaha untuk memberikan pengalaman dalam mengendarai baik kendaraan darat, laut, maupun udara pada pemain. biasanya performa mesin (kecepatan dan cara menggerakkan) kendaraan tersebut sama persis dengan kenyataannya. 6. Construction and Management Simulations Construction and management simulations atau bisa juga disingkat sebagai CMS adalah game tentang proses. Tujuan utama pemain dalam game CMS bukanlah untuk mengalahkan musuh, namun untuk membuat atau membangun sesuatu beserta dengan prosesnya. Semakin baik pemain mengerti control dan prosesnya maka semakin sukses mereka dalam membangun. 7. Adventure Games Adventure game bukanlah game dengan kompetisi ataupun simulasi. Adventure game adalah game dengan story yang interaktif dengan karakter yang dikontrol oleh pemain. game dengan genre ini memiliki fitur seperti eksplorasi, koleksi atau manipulasi objek, memecahkan 27 puzzle, dan pengurangan penekanan pada elemen pertempuran dan action. 2.2.5. Game Balancing Menurut Rollings dan Adams (2003, p240), Game Balancing adalah suatu kondisi di mana faktor dalam kesuksesan permainan pemain ditentukan oleh kemampuan pemain tersebut. Jika sebuah game memenuhi kondisi tersebut, maka game tersebut dianggap telah seimbang.