7
BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1
Metodologi Scrum Menurut Schwaber dan Sutherland (2011, p5), Scrum adalah suatu
metodologi
atau
kerangka
kerja
yang
terstruktur
untuk
mendukung
pengembangan produk yang kompleks. Scrum terdiri dari sebuah tim yang memiliki peran dan tugas masing-masing. Setiap komponen dalam kerangka melayani tujuan tertentu dan sangat penting untuk kesuksesan penggunaan scrum.
Gambar 2.1 Metodologi Scrum
Langkah-langkah pengerjaan dengan menggunakan metodologi Scrum adalah sebagai berikut:
8
•
Product Backlog Bagian pertama ini adalah kumpulan dari hal-hal yang diperlukan dan yang harus tersedia dalam produk. Product backlog berada dalam tanggung jawab product owner.
•
Sprint Backlog Perencanaan Sprint dilakukan dalam pertemuan / meeting antara pemilik produk dan tim developer, yang akan berkolaborasi untuk memilih product backlog untuk dimasukkan kedalam proses Sprint. Hasil dari pertemuan tersebut adalah Sprint Backlog.
•
Sprint Dalam Scrum, Sprint adalah sebuah kerangka waktu yang berdurasi maksimal 1 bulan untuk mengembangkan produk yang berpotensi untuk dirilis. Dalam Sprint terdapat 2 bagian pekerjaan, yaitu: 1. Pertemuan Harian (Daily Standup Meeting) Merupakan pertemuan dimana setiap 24 jam (1 hari), tim pengembang
bertemu
untuk
membahas
proses
pengembangan produk. 2. Refleksi Sprint Merupakan pertemuan yang dilakukan setiap bulannya, yang bertujuan untuk membahas hal dari Sprint Backlog yang telah berjalan dan telah berhasil dikerjakan, serta
9
dapat memperbaiki dan meningkatkan kualitas produk pada Sprint yang berikutnya. •
Increment Increment merupakan hasil dari seluruh hal dalam Product Backlog yang telah selesai dikerjakan pada seluruh Sprint. Pada akhir Sprint, Increment harus sudah benar-benar selesai, yang berarti harus dalam keadaan yang useable.
2.1.2
Multimedia Menurut Vaughan (2011, p1), multimedia adalah sebuah kombinasi dari
text, gambar, suara, animasi, dan video, yang disampaikan kepada user melalui komputer atau alat elektronik maupun manipulasi digital lainnya. Multimedia dapat dipresentasikan kapanpun setiap saat seorang user berhubungan dengan informasi elektronik dalam bentuk apapun, yang dilakukan pada sebuah human interface. Multimedia dapat meningkatkan estetika layar antarmuka yang minimalis, yang hanya berupa kumpulan teks, sehingga dapat menarik perhatian dan menghibur serta berguna.
Lima elemen dari multimedia adalah sebagai berikut: 1. Teks Teks merupakan bentuk media yang paling umum digunakan dalam informasi dalam antarmuka. Teks dapat disajikan dalam berbagai bentuk dan ukuran sesuai dengan kebutuhan.
10
2. Gambar Sebuah gambar atau elemen visual dapat mengandung lebih dari sebuah pesan kata-kata. Elemen visual ini dapat membentuk sebuah presentasi multimedia yang menarik. 3. Suara Suara merupakan elemen multimedia yang paling sensual dan ampuh untuk menyajikan informasi. Suara adalah kata-kata yang berarti dalam berbagai bahasa, mulai dari sebuah bisikan sampai teriakan. Suara dapat menyediakan kenikmatan pendengaran berupa musik, maupun special effect, yang dapat menciptakan sebuah suasana atau emosi bagi user. 4. Animasi Animasi merupakan sebuah teknik untuk membuat gambar atau presentasi yang statik menjadi bergerak dan hidup. 5. Video Video merupakan sekumpulan gambar yang bergerak, yang disebut juga sebagai
motion pictures. Video adalah elemen
multimedia yang dapat menarik perhatian user dengan baik, karena elemen tersebut dapat dengan efektif mempresentasikan pesan dan informasi secara visual.
2.1.3
IMK (Interaksi Manusia Komputer) Interaksi
manusia
dan
komputer
atau
Human-Computer
Interaction adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi
11
dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya (ACM SIGCHI Curricula, p5). Tujuan studi interaksi manusia dengan komputer adalah untuk membuat kualitas hidup user menjadi lebih baik, dengan meningkatkan interaksi antara user dengan komputer agar komputer lebih mudah digunakan dan lebih cepat memahami kebutuhan user.
Menurut Shneiderman (2004, p74 – p75) dalam merancang antarmuka pemakai (user interface), dibutuhkan adanya delapan aturan emas (8 golden rules of interface design) yang terdiri dari : 1. Berusaha untuk konsisten Urutan tindakan yang konsisten diperlukan dalam keadaan dan situasi yang mirip, terminologi identik harus digunakan dalam menu, dan layar help, serta konsistensi warna, layout, font, dan berbagai komposisi perintah lain. 2. Memungkinkan penggunaan shortcut Menambahkan fitur shortcut bagi user yang tinggi tingkat frekuensi pemakaian suatu perintah tertentu. Hal ini dapat mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi user. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan operator, diperlukan sistem umpan balik. Untuk tindakan kecil yang sering dilakukan, respon dapat diberikan secara sederhana. Sedangkan untuk tindakan besar dan jarang dilakukan, respon perlu diberikan secara substansial.
12
4. Merancang dialog yang memberikan penutupan (keadaan akhir) Urutan aksi harus disusun ke dalam kelompok dengan awal, tengah, dan akhir. Suatu umpan balik yang informatif pada akhir tindakan sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan telah selesai dan siap untuk melanjutkan ke aksi tindakan berikutnya. 5. Menawarkan penanganan kesalahan yang sederhana Perlu adanya suatu mekanisme penanganan kesalahan yang sederhana, serta mudah untuk dimengerti oleh user apabila terjadi suatu kesalahan sehingga user dapat memperbaikinya dengan dipandu oleh suatu mekanisme sistem yang simpel dan mudah dimengerti. 6. Memungkinkan pembalikan aksi yang mudah Fitur ini dapat mengurangi kecemasan, karena user tahu bahwa kesalahan dapat dibatalkan. Karena itu aksi atau tindakan yang telah dilakukan harus dapat dikembalikan ke keadaan awal (reversibility). 7. Mendukung internal locus of control Hal ini diperlukan untuk meningkatkan kepuasan dari user dimana kepuasan user akan meningkat jika user memiliki perasaan bahwa dia memegang kendali atas komputer dan bukan sebaliknya yaitu komputerlah yang memegang kendali. 8. Mengurangi beban ingatan jangka pendek Karena keterbatasan manusia dalam pemrosesan informasi pada ingatan jangka pendek, sebaiknya tampilan dibuat sederhana, beberapa halaman dijadikan satu, frekuensi pergerakan window
13
dikurangi, dan harus ada waktu yang cukup untuk mempelajari kode – kode, singkatan, serta urutan tindakan. Informasi seperti singkatan atau kode sebaiknya juga tersedia.
Usability atau kegunaan adalah sebuah atribut kualitas yang menilai kemudahan pemakaian antarmuka pengguna . Kegunaan tersebut didefinisikan oleh 5 faktor manusia terukur sebagai berikut : 1. Kemampuan pembelajaran Seberapa mudah bagi user untuk menyelesaikan tugas-tugas dasar untuk pertama kalinya berhadapan dengan desain. 2. Efisiensi Seberapa cepat user dapat melakukan tugas-tugas tersebut setelah mempelajari desain. 3. Daya ingat Bagaimana user dapat mempertahankan ingatan dan kemampuan setelah jangka waktu tertentu. 4. Tingkat kesalahan Seberapa banyak kesalahan yang dilakukan, seberapa dalam kesalahan tersebut dan bagaimana user dapat memperbaiki kesalahan tersebut. 5. Tingkat kepuasan Bagaimana kepuasan dan kesenangan user untuk menggunakan desain tersebut.
14
2.1.4
UML Menurut Whitten (2004, p408) UML (Unified Modeling Language)
adalah sekumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem piranti lunak yang terkait dengan objek. UML tidak menentukan sebuah metode untuk pembangunan sistem, tetapi hanya sebuah notasi yang saat ini diterima secara luas sebagai standar untuk pemodelan objek (object modelling).
UML juga dapat digunakan untuk mendefinisikan sistem perangkat lunak, detil komponen-komponen sistem, melakukan dokumentasi dan konstruksi. UML ini dapat digunakan dengan cara yang berbeda-beda untuk membantu pengembangan metodologi perangkat lunak
(contoh-nya : Rational Unified
Process). UML telah mengalami beberapa revisi dan versi yang terbaru adalah UML 2.0. Pada versi ini, ditetapkan 14 teknik diagram yang digunakan untuk membuat model sistem. Teknik diagram ini dibagi menjadi 2 jenis diagram, yaitu : 1.
Structure Diagram Diagram struktur menyediakan sebuah cara untuk merepresentasikan data dan relasi statik yang terdapat dalam sebuah sistem informasi. Diagram ini terdiri dari :
-
Class Diagram Merupakan diagram yang menggambarkan struktur dan deskripsi class, package dan objek dalam suatu sistem beserta bentuk
15
h hubungan anntar class-cllass tersebuut. Class seendiri meruppakan raancangan attau cetak birru dari suattu objek. Cllass memberritahu b bagaimana s suatu objek akan diinsttantiasi. Claass dapat berupa class abstrak (tanpa isi) ataupun a berissi atribut dann perilaku.
Gambar 2.2 Contoh Class Diiagram
-
O Object Diagrram D Diagram ini merupakan perpanjanga p an dari classs diagram, karena k d dapat berguna untuk mennjelaskan dettail-detail daari sebuah cllass.
16
-
Package Diagram Diagram ini adalah class diagram yang hanya menunjukkan paket daripada class, dan menunjukkan dependency relationship dibandingkan dengan typical relationship yang diperlihatkan pada class diagram.
-
Deployment Diagram Diagram ini digunakan untuk merepresentasikan hubungan antara komponen hardware yang digunakan dalam infrastruktur fisik dari sebuah sistem informasi.
-
Component Diagram Diagram ini digunakan untuk membuat model physical relationship diantara modul kode fisik. Contohnya ketika mendesain sistem client-server, diagram ini dapat berguna untuk menunjukkan class atau package yang mana yang berada di client maupun server.
-
Composite Structure Diagram Diagram ini digunakan untuk membuat model hubungan antara bagian-bagian dari sebuah class.
2.
Behaviour Diagram Diagram ini menyediakan sebuah cara untuk menjelaskan relasi dinamik antara instansi atau objek yang merepresentasikan sistem informasi. Diagram perilaku ini dapat digunakan untuk membuat
17
modeel kebutuhaan fungsionnal dari sisstem inform masi yang selalu s berubbah. Diagram m ini terdiri dari : -
A Activity Diaggram D Digunakan u untuk mengggambarkan aliran aktivvitas baik dalam d p proses bisnis maupun usee case. Diaggram ini jugaa dapat digunnakan u untuk memoddelkan aksi yang akan dilakukan d saat sebuah opperasi d dieksekusi, d memodellkan hasil daari aksi terseebut. dan
Gam mbar 2.3 Con ntoh Activitty Diagram
18
-
Innteraction Diagram D (Seqquence Diaggram) M Menggambar rkan bagaim mana objek berinteraksii satu samaa lain m melalui pesaan pada ekksekusi sebuuah use caase atau opperasi. D Diagram ini mengilustrrasikan bagaimana pessan terkirim m dan d diterima dianntara objek dan d dalam urrutan apa.
Gambar 2.4 Contoh Sequence Diagram D
-
S State Machinnes P Pada UML 2.0 2 terdapat 2 jenis state machine, yaaitu behavioor dan p protocol.Beh avior state machine diigunakan unntuk menjelaaskan p perubahan daari sebuah object o selamaa masa hiduupnya. Sedanngkan P Protocol state machine menjelaskaan sebuah sequence s terrtentu d suatu keaadaan dimanna sebuah obbject akan meresponnya. dari m .
19
-
U Case Diaagram Use Menggambaarkan perilaaku sistem ketika k mereespon permiintaan dari stakehoolder. Pada intinya, usee case diagrram menceriitakan bagaimana end user beerinteraksi dengan d sistem dalam koondisi tertentu yanng spesifik. Diagram inii berguna unntuk menjelaaskan sistem dari sudut pandaang user.
Gambaar 2.5 Contooh Use Casee Diagram
2.1.5 5
Bahasa Pemrogram man C# C# meruppakan sebuaah bahasa pemrograman yang berorieentasi objekk yang
dikem mbangkan oleh o Microssoft sebagai bagian daari inisiatif kerangka .NET Fram mework. Bahhasa ini dibuuat berbasiskkan bahasa C++ yang telah t dipenggaruhi
20
oleh aspek-aspek maupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic dan lainnya.
Beberapa tujuan desain dari bahasa pemrograman C# berdasarkan standar ECMA adalah sebagai berikut : ‐
Sebagai bahasa pemrograman yang sederhana, modern, bersifat general-purpose, dan berorientasi objek.
‐
Memiliki portabilitas programming bagi programmer yang telah terbiasa memakai bahasa C dan C++.
‐
Menyediakan dukungan bagi berbagai prinsip rekayasa perangkat lunak seperti, pengecekan
array,
type checking yang kuat,
pendeteksian
percobaan
akan
penggunaan variabel yang belum diinisialisasikan, dan garbage collection otomatis. ‐
Ditujukan
untuk
penggunaan
dalam
pengembangan
komponen perangkat lunak yang sesuai untuk penyebaran dalam lingkungan yang terdistribusi. ‐
Ditujukan agar cocok untuk digunakan dalam menulis program aplikasi maupun sistem client-server (hosted system) serta sistem embedded.
2.1.6
XML (Extensible Markup Language) Extensible Markup Language, yang disingkat menjadi XML, berfungsi
untuk mendeskripsikan sebuah class dari data object yang disebut XML
21
documents dan juga mendeskripsikan perilaku dari program komputer yang memproses dokumen tersebut. XML merupakan hasil pengembangan dari XML Working Group (yang sebelumnya dikenal sebagai SGML Editorial Review Board) yang terbentuk dibawah pengawasan dari World Wide Web Consortium (W3C) pada tahun 1996.
XML dapat digunakan untuk membuat dokumen untuk keperluan pertukaran data antar sistem yang beraneka ragam. Dokumen XML terbentuk dari unit penyimpanan yang disebut entities, yang mengandung data yang parsed maupun tidak. Data parsed terbentuk dari karakter, sebagian membentuk data karakter dan sebagian membentuk markup. Markup mengkodekan deskripsi lokasi penyimpanan sebuah dokumen dan struktur logika. Beberapa karakteristik XML adalah sebagai berikut : - XML dapat dipakai oleh berbagai macam aplikasi - Lebih mudah menulis program yang memproses dokumen XML - Desain XML dapat dipersiapkan dengan cepat - Dokumen XML mudah diciptakan - XML lebih sederhana
2.2
Teori Khusus 2.2.1
Teori Game Game (permainan) adalah suatu sarana hiburan yang dapat disebut
sebagai permainan, biasa-nya dilakukan dengan tujuan untuk mendapatkan kepuasan ataupun juga edukasi diri. Komponen-komponen yang terdapat dalam
22
permainan adalah aturan, interaksi, tantangan, dan tujuan akhir. Permainan ini juga dapat melibatkan kemampuan mental dan fisik pemain.
2.2.2
Game Genre Menurut Finney (2006, p2-p8), ada berbagai cara untuk mengkategorikan
game genre, namun sebuah genre bukanlah batasan untuk menentukan sebuah desain game. Genre dapat digunakan sebagai panduan untuk mengembangkan sebuah game. Berikut adalah jenis-jenis game genre :
1. Action Games Action game dapat ditampilkan dalam beberapa bentuk, yang paling populer adalah permainan First-Person Point-of-View, dimana permainan ini dijalankan melalui mata dari karakter pemain. Permainan seperti ini biasa disebut dengan First-Person Shooter (FPS). Variasi gameplay dapat berupa Death Match, Capture the Flag, Attack and Defend. Permainan Action ini memerlukan reflek yang cepat, koordinasi mata dan tangan yang baik, dan sebuah pengetahuan yang luas atas kapabilitas kekuatan pemain dalam permainan. Beberapa contoh permainan action adalah Half-Life 2, Delta Force, Battlefield.
2. Adventure Games Adventure game
pada dasarnya adalah mengenai eksplorasi,
dimana karakter pemain menjalani quest, mencari benda, dan menyelesaikan puzzle. Permainan adventure yang pertama merupakan
23
permainan yang text-based. Pada permainan text-based tersebut, pemain mengetikkan perintah-perintah untuk bergerak. Permainan Adventures sangat mendasar pada cerita dan secara tipikal permainannya linier. Seiring dengan perkembangan cerita, pemain akan dapat memprediksi jalannya permainan. Beberapa contoh permainan adventure adalah King’s Quest, Witcher 2, Myst.
3. Role-Playing Games Role-Playing berasal dari permainan role-playing atau yang disebut sebagai permainan peran, yang menggunakan kertas dan pena. Permainan ini mengantarkan pemain kedalam sebuah peran dalam sebuah cerita. Dalam permainan, biasanya pemain bertanggung jawab atas perkembangan karakternya seperti perkembangan skill, penampilan, dan berbagai karakteristiknya. Contoh : Dungeons & Dragons, Final Fantasy.
4. Simulation Games Video Games Simulation adalah suatu game yang dirancang sedemikian rupa agar dapat mereproduksi situasi dunia nyata seakurat mungkin. Poin utama dalam permainan ini adalah penghayatan sepenuhnya pada environment dunia, agar pemain dapat merasa bahwa pemain berada pada environment tersebut. Permainan simulasi ini diharapkan dapat memberi pengalaman nyata kehidupan. Contoh dari permainan simulasi ini antara lain adalah The Sims, Sim City, Jet Fighter.
24
5. Maze / Puzzle Games Maze dan
puzzle game memiliki sedikit kesamaan. Pada
permainan maze, pemain perlu mencari jalan melewati labirin fisik dimana rute jalan dibatasi oleh dinding dan halangan lainnya. Kemudian, permainan puzzle terkadang mirip dengan permainan maze, namun dengan berbagai permasalahan yang perlu dipecah, bukan dengan halangan fisik, untuk mencari jalan keluar. Contoh permainan ini antara lain adalah The Incredible Machine, Chain Reaction.
6. Strategy Games Strategy Game bermula dari permainan pena dan kertas, seperti permainan perang yang telah ada sejak dahulu. Permainan ini adalah suatu jenis permainan yang mengutamakan pemain untuk lebih fokus pada pemikiran dan perencanaan yang baik untuk memenangkan permainan. Pemain diberikan kebebasan untuk memerintah atau mengontrol unit-unit yang dimiliki-nya untuk melawan unit-unit musuh. Contoh permainan strategy ini antara lain adalah : Heroes of Might and Magic, Warcraft, Battle Realm.
2.2.3
XNA Framework Menurut Nitschke (2007, p13) XNA dikembangkan oleh Microsoft, namun pengembangannya sangat dirahasiakan. Kemudian pada tahun 2004, saat penyelenggaraan konferensi tahunan GDC (Game Developers Conference), Microsoft mengumumkan XNA untuk pertama
25
kalinya. XNA bukan hanya sebuah framework seperti DirectX, tetapi juga mengandung banyak tools maupun custom IDE yang berasal dari Visual Studio, agar dapat membuat kehidupan programmer game lebih mudah. Kemudian pada tahun 2006, Microsoft mengumumkan perilisan XNA Game Studio Express beta 1. Pada beta pertama ini, hanya terdapat satu starter kit dan saat itu XNA belum memiliki fungsionalitas 3D. XNA Game Studio ini pada dasarnya ditargetkan untuk pemula, dan pelajar, agar dapat membantu mereka untuk mengembangkan game mereka untuk platform Windows dan Xbox 360. Namun untuk studio game profesional juga dapat menggunakan XNA, yaitu dengan versi XNA Game Studio Professional yang dirilis pada tahun 2007.
2.2.4
Game Design Untuk membuat sebuah game, harus dimulai dari sebuah konsep yang
dapat menjelaskan ide dasar dari game tersebut. Menurut Sloper (2010), outline dari sebuah game memiliki format sebagai berikut: a. Judul Game b. Game untuk [platform game] c. Copyright 2011[nama] d. Informasi Umum e. Deskripsi game secara detail ‐
Konsep dasar
‐
Latar belakang cerita
‐
Objective
26
‐
Gameplay
f. Aspek lain dari design
2.2.5
‐
Karakter
‐
Dunia
‐
Kontrol (User Interface)
‐
Grafis
‐
Suara dan Musik
Konsep 3D Menurut Finney (2006, p89), dalam dunia nyata, suatu objek memiliki
ukuran dalam tiga arah atau dimensi. Pada umumnya, objek tersebut dikatakan memiliki tinggi, lebar, dan dalam. Ketika objek tersebut akan direpresentasikan dalam layar komputer, perlu untuk memperhitungkan fakta bahwa seseorang yang melihat objek tersebut terbatas hanya untuk memahami dua dimensi yang sebenarnya, yaitu tinggi, dari atas ke bawah layar, dan lebar, yaitu dari kiri layar hingga kanan layar. Oleh karena itu, diperlukan untuk meng-simulasikan dimensi ketiga, yaitu kedalaman, dalam layar. Ini yang disebut sebagai simulasi tiga dimensi (3D) secara nyata sebuah objek dalam bentuk sebuah 3D model.
27
Gambar 2.6. Sisttem Bidangg XYZ
D Dalam sebu uah objek tiga dimeensi, diterappkan sebuaah sistem koordinat untuk u m menandakan n setiap veertex atau sudut s dari objek terseebut. Variabbel yang umum u d digunakan adalah a X, Y,, dan Z untuuk merepresentasikan masing-masin m ng dimensi dalam d s setiap koord dinat. Pada objek tiga dimensi, masing-masinng arah proyyeksi pada objek d direpresenta asikan dengaan bidang, misalnya seperti bidanng kiri – kanan k dinam makan b bidang X, attas – bawah dinamakan bidang Y, dan d bidang kedalaman k d dinamakan bidang Z Z.