BAB 2 LANDASAN TEORI
2.1 Teori Umum Teori umum adalah teori yang dipakai sebagai landasan yang biasanya digunakan dalam suatu penelitian dan pembuatan suatu aplikasi. Teori ini nantinya menjadi landasan utama yang menjadi dasar penelitian. 2.1.1 Model Waterfall Menurut Pressman (2010, p39) waterfall model terkadang disebut classic life cycle,
menunjukkan
sesuatu
yang
sistematis,
pendekatan
sekuensial
untuk
pengembangan software yang dimulai dengan spesifikasi pelanggan, persyaratan dan kemajuan melalui planning, modelling, construction, dan deployment, sampai akhirnya software selesai.
Gambar 2.1 Waterfall model
8
9 Berikut adalah penjelasan dari tahapan – tahapan tersebut : 1. Communication Sebelum
setiap
pekerjaan
teknis
bisa
dimulai,
sangat
penting
untuk
berkomunikasi dan berkolaborasi dengan pelanggan (dan stakeholder lainnya). Tujuannya adalah untuk memahami tujuan stakeholder untuk proyek dan untuk mengumpulkan persyaratan yang membantu mendefinisikan fitur software dan fungsinya. 2. Planning Sebuah software projek plan adalah sebuah perjalanan yang rumit, dan aktivitas perencanaan menciptakan "Map" yang membantu tim untuk menyelesaikan perjalanan tersebut. membuat perjalanan. Map disebut software projek plan yang menjelaskan pekerjaan rekayasa perangkat lunak dengan menjelaskan tugas teknik yang harus dilakukan, risiko yang mungkin, sumber daya yang akan dibutuhkan, hasil produk yang akan diproduksi, dan jadwal pekerjaan. 3. Modeling Seorang software engineer melakukan hal yang
sama dengan menciptakan
model-model untuk lebih memahami persyaratan perangkat lunak dan desain yang diharapkan dapat mencapai kebutuhan tersebut. 4. Construction Kegiatan ini menggabungkan generasi kode (manual salah satu atau otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode.
10 5. Deployment Perangkat lunak (sebagai entitas lengkap atau seperti penambahan sebagian secara lengkap) yang disampaikan kepada pelanggan yang mengevaluasi produk dan memberikan umpan balik berdasarkan evaluasi tersebut. 2.1.2 Multimedia Menurut Tay Vaughan (2011, p1) Multimedia adalah gabungan dan kombinasi dari text, gambar, suara , video dan animasi. Elemen multimedia biasanya dibalut bersama-sama ke sebuah proyek dengan menggunakan authoring tools. Alat-alat perangkat lunak yang dirancang untuk mengelola elemen – elemen multimedia dan menyediakan interaksi pengguna, platform atau lingkungan. 1. Text Menurut Tay Vaughan (2011, p18) teks dan kemampuan untuk membaca itu adalah pintu untuk kekuasaan dan pengetahuan. Membaca dan menulis merupakan keterampilan yang diharapkan dan diperlukan dalam kebanyakan budaya yang modern. Dan teks masih memberikan informasi yang dapat memiliki makna yang kuat. 2. Gambar Menurut Tay Vaughan (2011, p68) multimedia yang ada pada layar komputer yang biasa kita lihat adalah gabungan dari unsur: teks, simbol, foto-seperti bitmap, vektor-ditarik grafis, tiga-dimensi rendering, tombol khusus untuk klik, dan animasi. Beberapa bagian dari gambar ini bahkan mungkin bereaksi atau bergerak jika dilihat dan sepertinya tidak pernah diam dan mengganggu mata kita.
11 3. Suara Tay Vaughan (2011, p104) menyatakan suara mungkin elemen multimedia yang paling sensual. Karena memiliki arti secara bahasa yang artinya "berbicara", dari bisikan menjadi jeritan. Ini dapat memberikan kenikmatan mendengarkan musik, aksen mengejutkan khusus efek, atau suasana latar belakang suasana hati-pengaturan. Beberapa musik dapat menghasilkan jenis – jenis emosi yang kuat, menghasilkan emosi cinta. 4. Video Tay Vaughan (2011, p164) menyatakan video digital adalah yang paling menarik dari sumber multimedia, dan merupakan alat yang ampuh untuk membawa pengguna komputer lebih dekat dengan dunia nyata. Hal ini juga metode yang sangat baik untuk menyampaikan pesan secara multimedia. Dengan video, secara efektif dapat menghadirkan pesan dan memperkuat cerita, dan pengguna cenderung untuk tetap melihat video tersebut lebih dari apa yang mereka lihat. 5. Animasi Tay Vaughan (2011, p140) mendefinisikan animasi adalah sesuatu yang membuat representasi yang hidup dan bergerak. Ini adalah perubahan visual yang dari waktu ke waktu. 2.1.3 Interaksi Manusia dan Komputer Interaksi manusia dan komputer adalah suatu disiplin ilmu yang berkaitan dengan disain, implementasi dan evaluasi. Menurut Ben Shneidrman (2005, 74 - 75) ada prinsip
12 – prinsip yang perlu diperhatikan dalam membuat design user interface yang biasa disebut “8 Aturan Emas”, yaitu : 1. Berusaha untuk selalu konsisten. Aturan ini adalah salah satu yang biasanya paling sering dilanggar, namun hal tersebut akan menjadi sangat sulit karena ada banyak bentuk konsistensi. Konsisten urutan tindakan yang harus diperlukan dalam situasi serupa; terminologi identik harus digunakan dalam prompt, menu, dan layar membantu; dan konsisten warna, tata letak, kapitalisasi, font, dan sebagainya harus digunakan di seluruh. Pengecualian, seperti konfirmasi diperlukan dari perintah menghapus atau tidak ada gema password, harus dipahami dan terbatas jumlahnya. 2. Memenuhi kemampuan universal. Kenali kebutuhan pengguna yang beragam dan desain untuk kenyamanan, memfasilitasi perubahan konten. Perbedaan kemampuan, rentang usia, kurang fisik atau mental, dan keragaman setiap teknologi memperkaya spektrum yang menjadi kebutuhan untuk menjadi dasar panduan desain. Menambahkan fitur untuk pemula, seperti penjelasan, dan fitur untuk ahli, seperti jalan pintas dan respon yang lebih cepat, dapat memperkaya desain antarmuka dan meningkatkan kualitas sistem. 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan pengguna, harus ada sistem umpan balik. Untuk tindakan yang jarang dan besar, respon dapat sederhana, sedangkan untuk tindakan jarang dan besar, respon harus lebih substansial. Presentasi visual dari obyek yang menarik menyediakan lingkungan yang nyaman untuk menampilkan perubahan secara eksplisit.
13 4. Desain dialog untuk menghasilkan closing. Urutan tindakan harus diatur secara berkelompok dari awal, tengah, dan akhir. Umpan balik yang informatif memberikan kepuasan dan ketenangan kepada pengguna agar mereka tidak melakukan tindakan yang diambil secara inisiatif. 5. Memberikan penawaran penanganan pesan kesalahan yang sederhana. Sebisa mungkin, desain sistem seperti bahwa pengguna tidak dapat membuat kesalahan yang serius, misalnya, grayout item menu yang tidak sesuai dan tidak memungkinkan karakter abjad di bidang entri numerik. Jika pengguna membuat kesalahan, sistem harus mendeteksi kesalahan dan memberikan instruksi sederhana, konstruktif, dan spesifik untuk memperbaiki 6. Memperbolehkan tindakan pengembalian yang mudah. Sebisa mungkin, tindakan harus reversibel. Fitur ini mengurangi kecemasan, karena pengguna tahu bahwa kesalahan dapat dibatalkan, sehingga mendorong eksplorasi pilihan asing. Unit reversibilitas mungkin tindakan tunggal, tugas data entry, atau kelompok lengkap tindakan, seperti masuknya nama dan alamat blok. 7. Dukungan internal lokus control. Interface yang mengejutkan, antrian data, ketidakmampuan untuk mendapatkan atau kesulitan dalam memperoleh informasi yang diperlukan, dan ketidakmampuan untuk menghasilkan tindakan yang diinginkan semua hal tersebut membangun kecemasan dan ketidakpuasan. Bagian dari prinsip ini adalah dengan kemampuannya menghindari acausality dan dorongan itu yang membuat pengguna mengambil tindakan bukan menanggapi tindakan.
14 8. Mengurangi beban memori jangka pendek. Keterbatasan pengolahan informasi manusia dalam memori jangka pendek mensyaratkan bahwa tampilan dibuat sederhana, dan multi-halaman. 2.1.4 Unified Modeling Language Menurut Pressman (2011, p841) Unified Modeling Language (UML) adalah bahasa standar untuk menulis software blueprint. UML dapat digunakan untuk memvisualisasikan, menentukan, membangun, dan membuat dokumen artefak dari sebuah sistem software yang intensif. UML dibagi menjadi beberapa komponen : 1. Class Diagram Menurut Pressman (2011, p842) class diagram, termasuk atributnya, operasi, dan hubungan mereka dan asosiasi dengan kelas lain UML menyediakan diagram kelas. Diagram kelas menyediakan pandangan statis atau struktural dari suatu sistem. Tidak menunjukkan sifat dinamis dari komunikasi antara objek kelas dalam diagram.
15 Gambar 2.2 Class Diagram 2. Use Case Diagram Menurut Pressman (2011, p847) Sebuah use case menggambarkan bagaimana user berinteraksi dengan sistem dengan mendefinisikan langkah-langkah diperlukan untuk mencapai tujuan tertentu.
Gambar 2.3 Use Case Diagram 3. Sequence Diagram Menurut Pressman (2011, p848) sequence diagram digunakan untuk menunjukkan komunikasi yang dinamis antara obyek selama mengeksekusi perintah. Ini menunjukkan penawaran sementara di mana pesan yang dikirim antara objek untuk menyelesaikan tugas itu.
16
Gambar 2.4 Sequence Diagram 4. Activity Diagram Menurut Pressman (2011, p853) activity diagram menggambarkan perilaku dinamis dari suatu sistem atau bagian dari sistem melalui aliran kontrol antara tindakan bahwa sistem melakukan. Hal ini mirip dengan flowchart kecuali bahwa suatu diagram aktivitas dapat menunjukkan mengalir bersamaan.
17
Gambar 2.5 Activity Diagram 2.1.5 File Based Connoly (2005, p7) dalam bukunya menyatakan File Based adalah kumpulan program aplikasi yang memberikan layanan untuk end user seperti membuat hasil laporan. Setiap program menentukan dan mengelola data sendiri. Sistem file based merupakan upaya untuk panduan pengisian sistem yang dikenal oleh sistem komputer. Sistem pengisian manual bekerja dengan baik selama data yang diletakan kecil. Sistem file based dibangun dalam merespon kebutuhan industri untuk mengakses data dengan lebih efisien. Selain itu, dibandingkan dengan menciptakan penyimpanan yang tersentralisasi untuk data operasional perusahaan, lebih baik memilikh pendekatan yang bersifat desentralisasi.
18 2.1.6 Object Oriented Programming (OOP) Menurut Witten & BenLey (2007, p370) pendekatan berorientasi objek (OOP) untuk pemrograman memerlukan teknik untuk analisis dan desain berorientasi objek (OOD). Ada beberapa konsep yang menurut Witten & Bentley penting dalam melakukan analisis pendekatan berorientasi objek, yaitu : 1. Objek, adalah sesuatu yang mampu dilihat, disentuh, atau sebaliknya dapat merasakan dan mengetahui data pengguna mana yang menyimpan dan perilaku rekanya. 2. Attribute, data yang mewakili karakteristik yang menarik tentang objek. 3. Object Instance, setiap bagian tertentu, tempat, benda, atau peristiwa, serta nilai-nilai untuk atribut objek itu. Kadang-kadang disebut hanya sebagai objek. 4. Behaviour, kumpulan dari sesuatu hal yang objek dapat lakukan dan yang sesuai dengan bertindak sesuai fungsi bahwa pada data objek (atau atribut). Dalam berorientasi obyek circle, perilaku suatu objek sering disebut sebagai metode, operasi, atau layanan. 5. Encapsulation, kumpulan dari beberapa item yang digabung menjadi satu.
19 2.1.7 Bahasa Pemrograman Javascript Menurut David Flanagan (2011, 1) javascript adalah bahasa pemrograman web. Mayoritas situs web modern telah menggunakan javascript, dan semua web browser modern di komputer, konsol game, tablets, ponsel pintar, dan termasuk interpreter javascript. Membuat javascript menjadi bahasa yang ada di mana-mana sepanjang sejarah. 2.1.8 Algoritma Menurut Thompson Susabda Ngoen (2004, p7) algoritma bersifat programming language independent. Sebuah Algoritma dapat diimplementasikan dengan berbagai bahasa pemrograman tetapi penulisannya tidak bergantung pada bahasa pemrograman tertentu. Algoritma dapat disajikan dengan menggunakan dua teknik, yaitu : tulisan dan gambar. Penyajian algoritma dalam bentuk tulisan biasanya menggunakan metode seperti : Bahasa Indonesia Terstruktur (BIT), pseudocode, spark, Structured English. Penyajian algoritma dengan teknik gambar biasanya menggunakan metode seperti : flowchart, hierarcy plus input-proccess-output (HIPO) chart, structured chart, dan nassi-schneiderman chart. 2.2 Teori Khusus Teori khusus adalah teori yang berhubungan dengan topik yang dibahas dalam skripsi ini. Teori ini nantinya akan menjadi pendukung dalam penyusunan skripsi.
20 2.2.1 Teori Game Menurut Jesse Schell (2008, p37), game adalah suatu kegiatan pemecahan masalah yang dilakukan dengan pendekatan yang bersifat menyenangkan. Menurut Jesse Schell (2008, p41 - 43), terdapat empat buah elemen dasar yang membentuk sebuah game, yaitu Mechanics Story, Aesthetics dan Technology. Keempat elemen tersebut disebut Elemental Tetrad.
Gambar 2.6 Elemental Tetrad 1.
Mechanics merupakan prosedur dan peraturan yang berlaku dalam game.
2.
Story merupakan urutan kejadian yang terjadi dalam game.
3.
Aesthetic
merupakan
bagaimana
penampilan
sebuah
game
yang
dapat
mempengaruhi pengalaman pemain.
21 4.
Technology merupakan media yang menghubungkan mechanics, story dan aesthetics. Menurut Bob Bates (2004, p39-p94) orang-orang bermain game untuk alasan yang
berbeda. Beberapa mencari yang biasa, untuk melarikan diri dari kenyataan, dan yang lain ingin sebuah tantangan atau simulasi dari kegiatan sehari-hari. Berbagai genre bermunculan untuk memenuhi keinginan tersebut dan setiap genre memiliki desain dan keunikan tersendiri. Beberapa jenis genre : 1. Action Games Tujuan dari action games adalah membuat player terus bergerak dan terlibat setiap saat. Anda harus bisa membuat adrenalin player terpacu sampai jantung berdebar-debar dan membuat tangan berkeringat. Ketrampilan dasar yang dibutuhkan player adalah koordinasi tangan-mata dan kecepatan reflek. Kemampuan berpikir yang dalam / tinggi tidak diperlukan, walaupun sebenarnya game yang bagus di genre ini membutuhkan kecepatan berpikir taktis dan sederhana selama permainan. 2. Role-playing Games (RPG) Role-playing game berputar di sekitar karakter, cerita, dan pertarungan. Genre ini biasanya bertempat di dunia yang luas dan besar, dan biasanya dapat diselesaikan ratusan jam. 3. Adventure Games
22 Genre game adventure yang asli adalah petualangan yang dikombinasikan dengan pemecahan puzzle dan bercerita bagaimana player adalah seorang pahlawan. Sekaranng ini game adventure telah berevolusi dengan adanya tambahan elemenelemen real time. Namun inti dari genre adventure games tetap cerita (story) dan puzzle. 4. Strategy Games Kunci dari game strategy adalah keseimbangan. Keseimbangan didapat dari seringnya bermain strategy games. Tidak ada satu cara untuk menyelesaikan game ini, selalu ada lebih. Tidak ada satu strategi selalu berhasil, karena jika iya maka game akan cepat berhenti dan tidak menyenangkan. Dalam sebuah permainan yang berimbang, kesuksesan seseorang hampir sepenuhnya ditentukan oleh keahlian orang tersebut. 5. Simulation “It is only about a yard wide but miles deep”. Simulasi fokus kepada satu alat atau aktivitas tetapi kegiatan yang dilakukan bisa digali terus sampai ke dalam. 6. Sport Games Beberapa orang tidak bisa mendapatkan cukup dari olahraga favorit mereka. Mereka bermain, menonton melalui tv di rumah, membentuk liga fantasi, dan membeli video game-nya juga. Orang-orang ini penggemar di dunia aslinya juga, yang bisa juga disebut fanatik. 7. Fighting Games
23 Fighting games sebenarnya sederhana dan langsung, tetapi bisa sangat menarik. Ini adalah salah satu dari genre games yang berasumsi bahwa para pemain duduk secara berdampingan satu sama lain, sehingga pemain dapat saling berbicara bahkan mengejek. Tujuannya adalah untuk menciptakan sebuah tindakan yang cepat dan intens. Karena fokus yang dekat, grafis haruslah bagus. Grafis yang dilihat oleh pemain hanyalah area bertarung, latar belakang yang statis, dan 2 petarung. Setiap karakter harus memiliki tampilan yang unik yang menampilkan kepribadian mereka dan gerak-gerik animasi yang menarik untuk dilihat. Karakter haruslah seimbang, apabila ada karakter yang terlalu kuat maka pemain akan terus memilih dia. Sedangkan karakter yang terlalu lemah, maka tidak ada pemain yang akan memilihnya. 8. Casual Games “a mile wide and a foot deep”. Sangat mudah dimainkan dan tidak susah untuk mempelajarinya. Walaupun pemain menginginkan sebuah kenaikan level dan tingkat kesusahan yang membutuhkan strategi dan tingkat kepandaian lebih, game casual harus bisa menyediakan hal yang sama dalam beberapa jam permainan. Desain game yang simple dan mudah dimengerti. 9. God Games God games tidak memiliki suatu preset untuk menang. Biasa disebut juga sandbox games. Merupakan genre yang mendorong pemain ke arah tertentu tetapi dengan cara pemain itu sendiri.
24 10. Educational Games Tujuan dari educational games adalah memberitahu sebuah informasi ilmu mengenai topik dari games tersebut. 11. Online games Semua genre games dapat menjadi online games apabila dapat dimainkan oleh semua orang via internet. Karena bersifat online, maka para pemain dapat bercengkrama dengan pemain lain di dalam game tersebut. 2.2.2 Android Menurut Mario Zechner (2011, p2), Android merupakan sistem operasi mobile yang memiliki platform berbasis kernel Linux versi 2.6 dan tersedia secara bebas untuk penggunaan komersial maupun non-komersial. Sejak dirilis pada tahun 2008, android telah menerima tujuh versi pembaharuan, semua kode bernama nama makanan penutup (dengan pengecualian dari Android 1.1, yang sudah tidak relevan lagi saat ini). Versi 2.2 (Froyo) membahkan kompilasi just-intime (JIT) ke Dalvik virtual machine (VM), dimana hal ini memperkuat semua aplikasi Java pada Android. 2.2.3 Game Design Menurut Jesse Schell (2008, pXXIV), game design adalah suatu aksi untuk menentukan seperti apakah sebuah game seharusnya. Pembuatan game dibuat dimulai dengan membuat sebuah gameplay treartment yang dasar, yaitu sebuah dokumen berisi sekitar lima sampai enam halaman. Treatment tersebut pada akhirnya akan berkembang
25 menjadi sebuah spesifikasi penuh untuk game tersebut, tetapi menulis treatment awal akan membantu untuk mematangkan pemikiran akan game yang akan dibuat. Tujuan utama dari membuat game desain dokumen adalah untuk menarik minat pembaca dan untuk menginformasikan kepada pembacanya mengenai gambaran keseluruhan game yang akan dibuat sehingga nantinya gambaran – gambaran ini dapat dikumpulkan menjadi suatu requirement. 2.2.4 Game Engine Menurut Will Goldstone (2009, 1) unity adalah 3d game authoring tool untuk PC dan Mac. Mesin permainan yang berada di belakang layar setiap video games. Dari karya seni sampai ke matematika yang ditampilkan di setiap frame di layar, mesin permainan ini yang membuat keputusan itu. Unity juga mengambil beberapa inti dari perangkat lunak lain sehingga dapat digunakan pada unity, seperti Nvidia’s PhysX physics engine, OpenGL, DirectX untuk merender objek 3D, dan OpenAL untuk suara. Memiliki
kemampuan
untuk
menghasilkan
game
standar
profesional,
mempublikasikan 3D untuk PC dan Mac, serta memiliki web player sendiri. Unity adalah salah satu mesin game yang paling cepat berkembang di sektor tersebut. Mesin unity juga mempunyai pengembangan pada Nintendo Wii dan Apple Iphone. Yang berarti bahwa sekali anda menguasai dasar-dasar dari pipeline, tidak hanya komputer rumahan tetapi konsol dan mobile juga bisa dikembangkan.
26 2.2.5 Catur Jawa Menurut Mulyadi, dkk(2006, 1) permainan damdas enam belas batu merupakan permainan rakyat. Permainan ini terdapat di Betawi dan daerah lain di Indonesia. Asal mula permainan ini belum diketahui secara pasti. Permainan damdas enam belas batu memerlukan konsentrasi dan strategi untuk mengalahkan lawan. Kesabaran dan kejujuran juga diperlukan dalam permainan ini.