BAB 2 LANDASAN TEORI 2.1
3D MODELLING THEORY Model adalah sebuah objek 3D kompleks yang terdiri dari mesh yang dibagi
menjadi
bagian
bagian
berbeda
dari
tiap
objek
(Vestras,
http://www.thehelper.net/). Mesh terdiri dari 4 bagian yaitu: a. Vertices Vertex adalah titik. Titik yang bisa dimanipulasi dan tidak terlihat. Vertex merupakan titik yang menghubungkan satu vertices dengan yang lainnya. Vertices itu sendiri adalah hasil penggabungan beberapa vertex dan biasanya kita gunakan ketika membentuk mesh.
b. Edges Edge adalah garis diantara dua vertices yang menghubungkan kedua vertices tersebut.
c. Faces Faces adalah segitiga yang terbuat dari 3 edges (3x3 vertices).
d. Polys Polys juga dikenal sebagai polygons. Polys terbentuk dari lebih dari satu faces, berapapun facesnya. Polys bisa berbentuk segitiga (1 face), persegi (2 faces), segienam (6 faces) dan seterusnya. Meskipun poly bisa berbentuk sesuai yang kita inginkan, poly yang paling sering digunakan oleh modeler adalah poly berbentuk persegi.
5
6
Gambar 2. 1 Contoh model 3 dimensi. (http://www.thehelper.net/threads/3d-modelling-theory.114159/) 2.2
VIRTUAL REALITY DAN OCULUS RIFT Virtual
Reality
(VR)
adalah
istilah
untuk
teknologi
yang
memungkinkan penggunanya untuk memasuki lingkungan simulasi yang dapat menciptakan pengalaman sensorik: penglihatan, penciuman, suara, dan sentuhan. Virtual Reality dapat membangkitkan suasana 3 dimensi dimana seolah-olah pengguna terlibat secara fisik. Pada dasarnya Virtual Reality adalah teori yang didasarkan pada keinginan manusia untuk melewati batasbatas dunia nyata dan ini dilakukan dengan merangkul dunia maya. Interaksi manusia dan mesin selain keyboard, mouse atau layar sentuh ini adalah sarana yang dapat berinteraksi dengan perendaman visual secara menyeluruh (Desai, Desai, Ajmera, & Mehta, 2014). Virtual Reality berusaha memberikan pengalaman yang immersive bagi penggunanya. Immersion adalah perasaan dimana pengguna tidak menyadari dirinya berada dalam dunia artifisial, dan tidak menyadari kejadian di dunia luar. (Adams, 2010: 25) Ide di balik Virtual Reality berasal dari Ivan Sutherland, dimana ia membayangkan keberadaan display komputer yang mampu mengatur keberadaan benda-benda di dalamnya, dan benda-benda tersebut dapat berinteraksi selayaknya benda nyata. Pada tahun 1968, Ivan Sutherland membangun teknologi Virtual Reality yang ia sebut ‘The Ultimate Display’, yang diberi nama The Sword of Damocles. Teknologi yang digunakan Sutherland ini yang paling banyak berkembang, yaitu menggunakan headmounted display, yaitu suatu layar dipasang pada alat yang yang dipasang pada kepala seseorang, selayaknya menggunakan kacamata (Burke, 2013).
7 Alat buatan Sutherland mampu mendeteksi gerakan kepala seseorang, dan program komputer dapat menggerakan tampilan pada layar yang dipakai sehingga seakan-akan tampilan ikut berputar mengikuti gerakan kepala penggunanya. Namun kelemahan dari alat ini adalah butuhnya ruangan yang besar dan cukup luas untuk mengakomodasi gerakan-gerakan pengguna serta biaya yang cukup besar, sehingga sulit dikembangkan untuk penggunaan komersial selain fungsi riset, militer, atau industri (Burke, 2013). Banyak riset dan pengembangan hardware dan software ditujukan untuk mencapai teknologi Virtual Reality yang lebih mudah dan murah diproduksi secara massal. Contoh yang paling terbaru adalah Oculus Rift, alat virtual reality yang dipasang seperti masker ski dan menampilkan dunia virtual game pada layar yang terpasang seperti kacamata, dimana pengguna dapat menggerakan kepala untuk mengubah pandangan dalam dunia virtual. Salah satu masalah yang sering dialami oleh pengguna teknologi Virtual Reality adalah rasa mabuk seperti mabuk kendaraan, dimana Oculus Rift mengaku dapat mengatasi masalah tersebut. (Desai et al., 2014) Oculus Rift memiliki sudut penglihatan yang lebih luas dibandingkan dengan layar komputer. Manusia secara umum memiliki sudut penglihatan diagonal hingga 180 derajat, dimana game FPS secara umum hanya menyediakan 90 derajat. Sempitnya sudut penglihatan ini menyebabkan rasa mabuk pada sebagian besar orang. Oculus Rift dapat menghilangkan rasa mabuk yang diderita dengan sudut penglihatan yang lebih luas, sebesar 100 derajat (Burke, 2013). 2.3
EXTREME PROGRAMMING Extreme Programming adalah pendekatan turunan Agile yang paling sering digunakan. Ide dari Extreme Programming dikembangkan oleh Kent Beck, dimana ia mengutarakan 5 nilai yang digunakan sebagai fondasi dasar pengembangan software dalam XP: communication, simplicity, feedback, courage, dan respect (Pressman, 2010: 72).
8 2.3.1
Nilai – Nilai XP Communication dimaksudkan hubungan komunikasi antara pembuat software dan pemegang dengan tujuan dari komunikasi ini untuk mengetahui fungsi dan fitur yang diinginkan oleh klien. Simplicity dicapai dengan melakukan pengembangan saat dibutuhkan saja, dan bukan untuk kebutuhan masa depan. Dengan demikian, desain yang dicapai sesederhana mungkin dan dapat langsung diimplementasikan pada software. Feedback diperoleh dari 3 sumber utama: software yang diimplementasikan, klien, dan dari tim pengembangan software. Feedback dari software diperoleh melalui desain testing yang efektif. Klien melakukan pengujian melalui user stories ataupun use case sebagai dasar acceptance test. Ketika kebutuhan tambahan datang, tim pengembang memaparkan klien dengan feedback mengenai biaya dan perubahan jadwal. Courage, atau dikenal oleh Beck sebagai discipline, dimana setiap anggota tim harus memiliki keberanian atau disiplin untuk fokus pada kebutuhan sekarang saja, tanpa melakukan perubahan pada software karena kepentingan masa depan. Respect, rasa hormat akan tertanam antara setiap anggota tim yang terlibat, serta pada klien, dan juga pada software yang dikembangkan dengan mengikuti nilai-nilai proses XP (Pressman, 2010: 72-73).
2.3.2
Proses XP Extreme Programming melakukan pendekatan secara objectoriented, dan memiliki 4 framework kegiatan: planning, design, coding, dan testing (Pressman, 2010: 73).
9
Gambar 2.2 Proses Extreme Programming (Pressman, 2010: 74) 1.
Planning Planning, atau dikenal juga sebagai planning game, adalah tahap dimana seluruh anggota tim berkumpul dengan klien dan mendengarkan kebutuhan software yang ingin dikembangkan langsung dari klien. Klien menuliskan stories atau user stories yang berisikan fitur dan fungsi yang diinginkan, serta nilai prioritas. Berdasarkan user stories yang diberikan, tim developer akan memberikan development cost, yang ditentukan dalam minggu pekerjaan. Jika ada user story yang dirasakan terlalu lama dapat selesai, maka klien akan diminta memecah story tersebut menjadi bagian yang lebih kecil (Pressman, 2010: 74). Setelah persetujuan user story dan delivery date selesai, maka developer memiliki 3 cara untuk menyelesaikan
pengembangan
software:
1)
keseluruhan user stories diselesaikan dalam beberapa minggu, 2) user story dengan prioritas tertinggi diimplementasikan pertama, atau 3) user stories yang
10 memiliki resiko paling tinggi diimplementasikan pertama. Usai pengembangan proyek pertama, tim developer menghitung project velocity berdasarkan user stories yang telah diselesaikan. Project velocity ini dapat membantu untuk: 1) memperkirakan waktu penyelesaian proyek berikutnya, dan 2) menentukan jika ada user stories yang mungkin tidak dapat diselesaikan tepat waktu, dan mengubah requirement atau tanggal penyelesaian (Pressman, 2010: 74-75). 2.
Design Tahap
desain
dalam
XP
berfokus
pada
kesederhanaan. Pengerjaan user stories tidak boleh ditambahkan maupun dikurangi. XP mendukung penggunaan class-responsibility-collaborator (CRC) cards untuk membantu mengorganisasi class objectoriented yang relevan. Jika ditemui adanya masalah pada bagian desain suatu story, maka prototype untuk bagian desain tersebut akan dibuat untuk dievaluasi. Hal ini disebut juga spike solution (Pressman, 2010: 75). Salah satu proses yang dilakukan dalam desain adalah refactoring, yaitu proses untuk optimisasi desain software tanpa mempengaruhi cara kerja software tersebut. Hal ini akan membantu mengurangi kemungkinan munculnya bug. Namun refactoring akan semakin
lama
semakin
berat
dengan
semakin
banyaknya fitur yang diimplementasikan dan ukuran software yang semakin besar. 3.
Coding Setelah tahap desain XP selesai, tim tidak langsung mengerjakan code dari software, melainkan membuat unit pengujian untuk menguji setiap story. Setelah unit pengujian ini selesai, developer sudah
11 mengetahui apa saja yang harus diimplementasikan, sehingga usai tahap code, langsung dapat diuji coba. Salah satu inti XP adalah pair programming, dimana dua orang bekerjasama di satu komputer dalam melakukan coding satu story. Dengan demikian, penyelesaian masalah dapat dilakukan lebih cepat, serta setiap anggota pasangan dapat fokus pada bagiannya masing-masing (Pressman, 2010: 76). 4.
Testing Dengan unit pengujian yang dilakukan pada tahap
coding,
maka
setiap
bagian
yang
akan
diimplementasikan dapat langsung diuji jika terjadi perubahan. Dengan demikian integrasi dan validasi dari pengujian dapat terjadi dengan sangat cepat. User stories menjadi acuan bagi klien dalam mereview
software
yang
telah
dikembangkan
berdasarkan apa yang telah diselesaikan (Pressman, 2010: 77). 2.3.3
Perdebatan XP Beberapa masalah yang muncul pada proses pendekatan Extreme Programming adalah sebagai berikut (Pressman, 2010: 79): 1.
Requirements volatility, yaitu karena klien menjadi bagian aktif pengembangan, ruang lingkup dari software yang dikembangkan dapat berubah, sehingga pekerjaan yang sebelumnya sudah selesai harus mengalami perubahan.
2.
Conflicting customer needs, yaitu jika dalam satu proyek terdapat lebih dari satu klien yang masingmasing memiliki kebutuhannya sendiri.
3.
Requirements are expressed informally. Banyak yang mengkritik XP membutuhkan model dan spesifikasi yang lebih formal untuk memastikan bahwa error dan
12 ketidak
konsistenan
dapat
ditemukan
sebelum
pengembangan dimulai. 4.
Lack of formal design. Kritik mengatakan bahwa untuk dapat membangun sistem yang kompleks, desain yang dibuat
haruslah
menekankan
kualitas
dan
maintainability. 2.4
UNIFIED MODELLING LANGUAGE Unified Modeling Language (UML) adalah hasil penggabungan metode pengembangan berorientasi objek dengan tujuan proses standar untuk pengembangan sistem object oriented. UML yang tidak menentukan metode dalam pengembangan sistem. Hanya sebuah notasi saat ini yang diterima secara luas sebagai standar untuk permodelan objek (Whitten & Bentley, 2007: 371). Pada UML 2.0 terdapat 13 jenis diagram (Whitten & Bentley (2007:382), antara lain: Use case Diagram, Activity Diagram, Class Diagram, Object Diagram, State machine Diagram, Composite structure Diagram,
Sequence,
Communication
Diagram,
Interaction
overview
Diagram, Timing Diagram, Component Diagram, Deployment Diagram, Package Diagram. Diagram yang digunakan dalam penulisan ini adalah Usecase Diagram, Use Case Narrative, Activity Diagram, dan Class Diagram. 2.4.1 Use Case Diagram Use case diagram adalah diagram yang menggambarkan interaksi antara sistem dan sistem eksternal dan user (Whitten & Bentley, 2007:246). Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan cara apa user berharap untuk berinteraksi dengan sistem. Actors, use case, dan relationship termasuk kedalam use case diagram. Contoh sebuah use case diagram:
13
Gambar 2.3 Use Case Diagram (Whitten & Bentley, 2007: 246)
Gambar 2.4 Actor Symbol (Whitten & Bentley, 2007: 247) Actor adalah apapun yang perlu berinteraksi dengan sistem untuk melakukan pertukaran informasi (Whitten & Bentley, 2007:247). Use case yang diinisiasi atau dipicu oleh user eksternal disebut actors. Actor menginisiasi system activity, use case, yang bertujuan menyelesaikan beberapa tugas bisnis yang memproduksi sesuatu yang mempunyai nilai terukur.Terdapat empat jenis actors, antara lain: 1.
Primary business actor Seorang stakeholder yang mendapat manfaat dari use case yang dieksekusi dengan menerima sesuatu dari nilai penelitian terukur. Aktor primary business dapat atau tidak dapat menginisiasi bisnis
14 event, sebagai contoh: dalam bisnis event seorang karyawan menerima cek gaji (sesuatu yang memiliki nilai terukur) dari sistem payroll setiap jumat karyawan tidak menginisiasi event tetapi penerima utama suatu nilai.
2.
Primary system actor Seorang stakeholder yang secara langsung berhubungan dengan sistem untuk menginisiasikan bisnis atau system event. Primary system actors mungkin berinteraksi dengan primary business actors untuk tujuan penggunaan sistem aktual. Mereka memfasilitasi event melalui penggunaan langsung system untuk manfaat primary business actor, sebagai contoh: pegawai toko bahan makanan yang melakukan scan item yang akan dibeli customer, operator telepon yang memberi asisten directory untuk customer, dan teller bank yang memproses transaksi perbankan.
3.
External server actor Seorang stakeholder yang menanggapi sebuah request dari use case.
4.
External receiver actor Seorang stakeholder yang bukan primary actor tetapi mendapatkan nilai penelitian(output) dari use case.
Stakeholder adalah individu yang berminat pada suatu sistem operasi (Whitten & Bentley, 2007: 7). Stakeholder terdiri dari beberapa jenis, antara lain: pekerja teknis, pekerja tidak teknis, pekerja internal dan pekerja eksternal
Relationship, digambarkan sebagai garis antara dua simbol dalam use case diagram (Whitten & Bentley, 2007: 248),. Arti dari relationship
mungkin
berbeda
tergantung
bagaimana
garis
15 digambarkan dan tipe simbol yang dihubungkan. Jenis-jenis relationship pada use case diagram: 1.
Association Association adalah sebuah relationship yang menunjukkan adanya interaksi antara actor dan sebuah use case. Association digambarkan sebagai garis lurus dengan atau tanpa anak panah di ujungnya
yang
menghubungkan aktor dengan use case. Association dengan
anak
panah
menggambarkan
adanya
komunikasi satu arah yang berasal dari aktor menunjuk ke
use
case.
Association
tanpa
anak
panah
menggambarkan adanya interaksi antara use case dengan actor penerima.
Gambar 2.5 Representasi association pada use case diagram (Whitten & Bentley, 2007: 248) 2.
Extends, Extends digunakan pada sebuah use case berisi fungsi kompleks yang terdiri dari beberapa tahapan yang sulit dimengerti. Dengan menggunakan extends, use case tersebut di pecah menjadi use case tersendiri yang saling berhubungan agar membuatnya lebih mudah dimengerti. Use case hasil dari extends disebut extension use case, yang hanya dapat diakses pada use case yang mempunyai extends. Extends digambarkan sebagai garis dengan anak panah (garis solid atau garis putus-putus) yang menunjuk pada use case yang di-
16 extends. Masing-masing garis extends diberi label “<<extends>>.”
Gambar 2.6 Representasi extends pada use case diagram (Whitten & Bentley, 2007: 249) 3.
Uses(or Includes) Uses/Includes digunakan apabila terdapat dua atau lebih use case yang melakukan fungsi yang sama. Fungsi yang sama tersebut dapat dipecah menjadi use case tersendiri yang disebut abstract use case. Uses/includes adalah relationship antara use case dan abstract use case. Uses/includes digambarkan sebagai garis dengan anak panah (garis solid atau garis putusputus). Masing masing garis relationship diberi label “<<uses>>.”
Gambar 2.7 Representasi Uses/Includes pada use case diagram (Whitten & Bentley, 2007: 249)
17
4.
Depends On Depends
on
digunakan
ketika
terdapat
relationship antar use case bahwa sebuah use case tidak
dapat
menjalankan
dijalankan use
case
apabila
actor
belum
lainnya.
Depends
on
digambarkan sebagai garis dengan anak panah (garis solid atau garis putus-putus) yang menunjuk pada use case yang menjadi persyaratan.
Gambar 2.8 Representasi Depends On pada use case diagram (Whitten & Bentley, 2007: 250) 5.
Inheritance Inheritance digunakan untuk menggambarkan relationship antara dua atau lebih aktor yang mempunyai sifat yang sama dan dapat mengeksekusi use case yang sama. Sifat yang sama tersebut dapat dibuat menjadi aktor abstrak baru dengan tujuan mengurangi redudansi dalam komunikasi dengan sistem. Inheritance digambarkan sebagai garis dengan anak panah menunjuk ke aktor yang mewariskan dan berasal dari aktor yang diwariskan.
18
Gambar 2.9 Representasi inheritance pada use case diagram (Whitten & Bentley, 2007: 250) 2.4.2
Use Case Narrative Use case narrative dibuat setelah use case diagram telah selesai dibuat. Use case narrative adalah deskripsi sebuah bisnis event dan bagaimana user berinteraksi dengan sistem untuk menyelesaikan tugas (Whitten & Bentley, 2007: 257).
Gambar 2.10 Use Case Narrative (Whitten & Bentley, 2007: 257)
19 Terdapat beberapa notasi berdasarkan gambar 2.10, antara lain: 1.
Author Nama seorang individu yang berkontribusi dalam
menulis
use
case
dan
seseorang
yang
menyediakan titik kontak untuk siapa saja yang membutuhkan informasi tambahan tentang use case. 2.
Date Tanggal saat use case terakhir kali dibuat atau direvisi
3.
Version Versi use case saat ini
4.
Use case name Nama use case harus merepresentasikan tujuan yang ingin dicapai oleh use case. Nama use case harus dimulai dengan kata kerja.
5.
Use case type Use case yang berorientasi pada bisnis dan merefleksikan tujuan dari behavior yang diinginkan dari sistem.
6.
Use case ID Sebuah
tanda
pengenal
unik
yang
mengidentifikasi use case. 7.
Priority Priority
mengkomunikasikan
tentang
pentingnya use case dalam jangka waktu tinggi, medium atau rendah. 8.
Source Source mendefinisikan entitas yang memicu kreasi use case yang dapat menjadi persyaratan, dokumen tertentu, atau stakeholder.
20
9.
Primary business actor Seorang stakeholder yang mendapat manfaat utama dari mengeksekusi use case dengan menerima sesuatu yang mempunyai nilai terukur
10.
Other participating actors Aktor lainnya yang berpartisipasi dalam use case
untuk
menginisiasi
menyelesaikan aktor,
tujuan
memfasilitasi
termasuk
aktor,
aktor
server/receiver dan secondary actors. Selalu termasuk cara dimana aktor ikut berpartisipasi. 11.
Interested stakeholder(s) Seorang stakeholder adalah siapa saja yang memiliki
kepentingan
mengoperasikan
sistem
dalam
mengatur
software.
dan
Interested
stakeholder adalah seseorang selain aktor yang memiliki kepentingan dalam tujuan use case. 12.
Description Deskripsi ringkasan pendek yang terdiri atas beberapa kalimat yang menjabarkan tujuan use case dan kegiatannya.
21
Gambar 2.11 Use Case Narrative Expanded (Whitten & Bentley, 2007: 259-260)
22
1.
Precondition Precondition adalah persyaratan yang harus jalankan sebelum use case dijalankan.
2.
Trigger Trigger adalah aksi fisik dan faktor waktu yang dapat menjadi sebab dijalankannya sebuah use case.
3.
Typical course of events Alur dari aktivitas yang dilakukan aktor dan sistem yang ingin mencapai tujuan use case. Termasuk interaksi antara sistem aktor dan aktivitas yang dilakukan sistem sebagai respon interaksi tersebut.
4.
Alternate courses Aksi yang dilakukan apabila terdapat suatu variasi atau kejanggalan pada use case yang tidak pernah terjadi sebelumnya.
5.
Conclusion Kesimpulan ditentukan ketika use case berhasil diakhiri atau ketika aktor menerima sesuatu yang mempunyai nilai terukur.
6.
Postcondition Persyaratan yang harus
dilakukan
sistem
apabila telah berhasil menjalankan use case. 7.
Business rules Aturan bisnis menentukan kebijakan dan prosedur bisnis bahwa sistem baru harus dipatuhi yang mencakup perhitungan biaya pengiriman atau aturan untuk pemberian persyaratan kredit.
8.
Implementation constraints and specifications Persyaratan yang dapat menyebabkan proses sebuah use case terdapat kendala apabila tidak terpenuhi.
23
9.
Assumptions Beberapa asumsi yang telah dibuat oleh author ketika mendokumentasikan use case
10.
Open issues Setiap pertanyaan atau hal perlu di selesaikan dan dilakukan penyelidikan sebelum use case dapat diselesaikan.
2.4.3
Activity Diagram Activity diagram adalah sebuah diagram yang berfungsi menggambarkan alur proses bisnis, tahapan-tahapan dalam use case, logika perilaku objek(method) (Whitten & Bentley, 2007: 390). Terdapat persamaan antara activity diagram dan flowchart yang menggambarkan alur activity proses bisnis secara berurutan, sedangkan perbedaannya adalah activity diagram menggambarkan activities yang berjalan secara paralel.
24
Contoh sebuah activity diagram, yaitu:
Gambar 2.12 Activity Diagram (Whitten & Bentley, 2007: 392) Berdasarkan gambar 2.12 diatas, terdapat notasi-notasi pada activity diagram, antara lain: 1.
Initial node Initial node adalah sebuah lingkaran yang merepresentasi mulainya suatu proses.
2.
Actions Sebuah
persegi
panjang
yang
merepresentasikan tahap individual dalam sebuah activity diagram. 3.
Flow Anak
panah
pada
diagram
mengindikasikan proses menuju pada actions.
yang
25
4.
Decision Sebuah simbol diamond dengan satu flow input dan dua atau lebih flow output. Flow memberikan tanda untuk mengindikasi kondisi yang ada.
5.
Merge Sebuah simbol diamond dengan dua atau lebih flow input dan satu flow output.
6.
Fork Sebuah persegi berwarna hitam dengan satu flow input dan dua atau lebih flow output. Aksi pada flow yang paralel dapat terjadi secara berurutan.
7.
Join Sebuah persegi berwarna hitam dengan dua atau lebih flow input dan satu flow output yang menjadi tanda berakhirnya proses parallel. Seluruh actions yang menuju ke join harus dapat diselesaikan sebelum proses berlanjut.
8.
Activity final Sebuah lingkaran padat di dalam lingkaran kosong yang merepresentasikan akhir dari proses.
26
Gambar 2.13 Activity Diagram 2 (Whitten & Bentley, 2007: 393) Activity
Diagram yang ditampilkan pada
gambar
13
menggambarkan secara grafis tahapan-tahapan dalam use case, tetapi tidak menentukan siapa yang sedang melakukan tahapan tersebut. Sering terdapat activity diagram yang digambarkan hanya untuk mengatasi logikanya. Tetapi jika ingin menentukan siapa yang melakukan sesuatu, dapat membagi activity diagram kedalam partisi yang menunjukkan aksi yang dilakukan oleh kelas spesifik atau aktor. Berikut adalah notasi-notasi tambahan berdasarkan Gambar 2.13 : 9.
Subactivity indicator
Simbol yang menunjukkan tindakan yang terbagi di activity diagram lain. Hal ini membuat activity diagram tidak menjadi rumit. 10.
Connector
Connector memberi tool untuk mengatur kompleksitas.
27 2.4.4 Class Diagram Class diagram adalah penggambaran grafis sebuah sistem struktur objek statis yang berfungsi mengatur objek yang ditemukan sebagai hasil dari use case modeling dan untuk mendokumentasikan relationship antar objek (Whitten & Bentley, 2007: 400). Berikut contoh sebuah class diagram:
Gambar 2.14 Class Diagram (Whitten & Bentley, 2007: 406)
28 Berdasarkan gambar 2.14 diatas terdapat notasi-notasi, antara lain: Object Object adalah sesuatu yang dapat dilihat, disentuh, dirasakan yang merupakan kumpulan dari attribute dan behavior. Attribute Data yang merepresentasikan karakteristik sebuah objek Behavior Kumpulan hal yang dapat dilakukan oleh objek dan sesuai dengan fungsi yang bertindak atas data objek atau attributes. Class Class adalah kumpulan object yang saling memiliki attributes dan behaviors yang sama. Generalization/Specialization Teknik
dimana
attributes
dan
behaviors
dikelompokkan menjadi sebuah class tersendiri yang disebut supertype. Attributes dan methods dari class object supertype diwariskan pada class lain yang disebut subtype.
29
Gambar 2.15 Representasi Generalization/Specialization pada Class Diagram (Whitten & Bentley, 2007: 376) Class Relationship Relationship yang ada antara satu class atau lebih pada class diagram. Asociation Class relationship yang digambarkan menjadi sebuah garis yang menghubungkan class yang satu dengan class lainnya. Multiplicity Jumlah besar dan kecil dari sebuah objek suatu class untuk setiap objek class lain yang berasosiasi dengannya. Jenis-jenis multiplicity dapat dilihat pada Gambar 2.16 berikut:
30
Gambar 2.16 Jenis Multiplicity dalam Class Diagram (Whitten & Bentley, 2007: 377) Aggregation Aggregation adalah class relationship dimana satu class terbagi menjadi class yang lebih kecil. Aggregation relationship adalah asymmetric, sebagai contoh: pada objek D adalah bagian dari objek C tetapi objek C bukan bagian dari objek D.
31
Gambar 2.17 Representasi Aggregation pada Class Diagram (Whitten & Bentley, 2007: 379) Composition Composition digambarkan dengan simbol diamond berisi. Compsition adalah sebuah aggregation dimana class berperan dan bertanggung jawab atas ada dan tidak adanya class kecil yang menyusun class tersebut
Gambar 2.18 Representasi Composition pada Class Diagram (Whitten & Bentley, 2007: 379)
32 Message Komunikasi
yang
terjadi
saat
objek
memanggil
behavior/method dari objek lain untuk mendapatkan aksi dan informasi tertentu.
Gambar 2.19 Representasi Message pada Class Diagram (Whitten & Bentley, 2007: 380)
2.5
INTERAKSI MANUSIA DAN KOMPUTER Hubungan sinergis diperlukan antara manusia dan komputer ketika menyimpan dan mengambil informasi. Memori memerlukan tiga proses: encoding, storage, dan pengambilan. Informasi yang pertama harus diproses menjadi kode yang sesuai. Kedua, harus disimpan dalam beberapa format dan media lokasi memori. Akhirnya, harus diambil menggunakan beberapa isyarat atau alamat dan diterjemahkan ke bentuk output. Semua hal tersebut memerlukan hubungan antara manusia dan komputer (Norman, 2008:151). Desainer harus merancang User interface (UI) yang mengizinkan manusia dapat berinteraksi dengan komputer. UI adalah bagian dari Interaksi Manusia dan Komputer (IMK) yang berupa kombinasi dari elemen grafis dan sistem navigasi. Desainer harus membuat pesan dan konten yang
33 disampaikan harus dimengerti oleh user dengan baik dan dan menghindari hal yang dapat menimbulkan kejenuhan pada user (Vaughan, 2011:308). Delapan prinsip yang disebut Golden Rules diaplikasikan dalam system yang paling interaktif. Prinsip-prinsip ini bermula dari pengalaman dan disempurnakan selama dua dekade, serta membutuhkan validasi dan pengaturan untuk domain dengan desain tertentu (Shneiderman & Plaisant, 2010:74). Delapan prinsip tersebut antara lain: 1. Strive for consistency Adanya urutan aksi yang konsisten pada situasi serupa, terminologi yang sama digunakan pada menus, prompts, dan help screens serta penggunaan warna yang konsisten, layout, huruf, kapitalisasi dan desain lainnya diterapkan dengan baik. 2. Cater to universal usability Desainer perlu mengetahui kebutuhan user yang beragam, memberikan fitur agar user dari berbagai rentang usia dan kemampuan penggunaan teknologi dapat menikmati content, sebagai contoh: penambahan fitur untuk pemula, yaitu penjelasan interface dan shortcut atau fungsi yang akan digunakan apabila user telah ahli dengan aplikasi sehingga jumlah interaksi dapat diminimalisir dan kecepatan interaksi dapat ditingkatkan. 3. Offer informative feedback Umpan balik / feedback diberikan untuk setiap aksi yang dilakukan oleh user pada UI. Pada umumnya terdapat 2
34 jenis feedback, yaitu feedback untuk aksi yang sering dilakukan tetapi tidak terlalu penting, biasanya dapat diberikan feedback sederhana dan aksi yang sangat penting dapat diberikan feedback yang kompleks. 4. Design dialogs to yield closure. Urutan aksi dikelompokkan pada awal, tengah, dan akhir. Feedback diberikan untuk menandakan urutan aksi telah berhasil diselesaikan sehingga dapat membuat user merasa lega dan memberikan keterangan dalam mempersiapkan rangkaian kerja selanjutnya, sebagai contoh: pengarahan kepada user pada situs web e-commerce dari memilih produk yang diinginkan berlanjut ke kasier dan berakhir dengan halaman korfirmasi yang melengkapi transaksi. 5. Prevent errors. Desainer perlu merancang sistem agar user tidak membuat kesalahan fatal. Sistem harus mendeteksi kesalahan yang dilakukan user dan menawarkan instruksi sederhana, konstruktif, dan khusus untuk pemulihan, sebagai contoh: karakter abjad tidak diperbolehkan di-input ke dalam kolom entri numerik. 6. Permit easy reversal of actions. Aksi yang dilakukan dapat dibatalkan sehingga dapat menurunkan kecemasan yang dirasakan oleh user apabila melakukan error. Fitur ini bertujuan agar user tidak takut
35 untuk mengeksplorasi fitur lainnya yang belum pernah digunakan, sebagai contoh: apabila terjadi error, entri data user yang sedang dilakukan dapat dibatalkan. 7. Support internal locus of control User menginginkan mereka dapat mengontrol UI dan UI memberikan tanggapan atas aksi yang dilakukan. Perubahan yang mendadak, kesulitan dalam memperoleh informasi yang dibutuhkan dan urutan entri data yang membosankan adalah hal yang sangat tidak diinginkan oleh user karena mendatangkan rasa cemas dan ketidakpuasan. 8. Reduce short-term memory load. Kesederhanaan UI yang dibuat, mengurangi multiple page, mengurangi animasi yang berlebihan, kode khusus sehingga tidak memerlukan banyak instruksi yang harus diingat. 2.6
ARTIFICIAL INTELLIGENCE Russell (2009) mengidentifikasikan Artificial Intelligence (AI) sebagai kemampuan dari komputer untuk berpikir dan bertingkah laku seperti manusia dan secara rasional. Secara umum, Artificial Intelligence diaplikasikan pada simulasi, game, dan robot.
36 Setiap game hampir selalu mempunyai AI. Jenis AI yang paling dasar pada game adalah AI yang bergerak pada formasi standard dan melakukan aksi yang mudah ditebak. AI yang lebih maju memungkinkan AI untuk melakukan aksi yang tidak bisa ditebak dan membuat keputusan yang berbeda berdasarkan aksi dari pemain. Pada game single player, player akan bermain melawan AI, karena itu komputer harus mempunyai AI yang cukup supaya dapat menjadi lawan bermain yang baik. Selain menjadi lawan, AI juga dapat menjadi non-player character (NPC) yang membantu kita dalam game. RAIN adalah AI engine yang digunakan untuk memberi AI pada Unity. RAIN dapat membuat AI patroli, menyerang, mengejar, dan berbagai aksi lainnya. RAIN juga dapat membuat AI memiliki sifat khusus dengan behavior tree editor seperti kesadaran sensorik, sound effect, animasi, dan lainnya. RAIN merupakan satu-satunya AI engine yang mendukung mecanim untuk model yang sudah mempunya sifat, gerakan, dan aksi. Fitur persepsi pada RAIN membuat player lebih sadar akan elemen elemen yang ada pada lingkungan melalui sensasi digital. Ketika digunakan, karakter akan mendapat kemampuan untuk mendengar suara langkah kaki mendekat, hujan, atau ketika ada teman terluka dan perlu bantuan. 2.7
MULTIMEDIA 2.7.1
Pengertian Multimedia Multimedia merupakan kombinasi dari teks, gambar, suara, animasi,
dan video yang disampaikan dengan media komputer atau elektronik lainnya atau hasil manipulasi secara digital (Vaughan, 2011:1). Ketika user multimedia diperbolehkan untuk mengontrol sesuatu hal dan kapan elemen disampaikan disebut multimedia interaktif. Ketika terdapat struktur dari elemen yang berhubungan dan user dapat menavigasi, multimedia interaktif berubah menjadi hypermedia.
37 2.7.2
Elemen Multimedia Terdapat lima elemen multimedia (Vaughan, 2011:1), antara lain: 1. Teks Teks dan simbol digunakan untuk berkomunikasi dimulai sekitar 6000 tahun yang lalu di Mesopotamia, Mesir, Sumeria, dan Babilonia. Tanda penuh arti yang pertama diukir diatas tablet yang terbuat dari lumpur lalu dibiarkan mengeras dibawah sinar matahari. Hanya orang dari kelas berkuasa dan pendeta saja yang diperbolehkan untuk membaca dan menulis tanda pictographic dan cuneiforms. Saat menggunakan teks diperlukan pemilihan kata yang tepat, dan keringkasan kata yang dipilih sebab sebuah kata mempunyai banyak arti. Kata-kata memberikan arti yang paling banyak dipahami orang-orang secara akurat dan rinci, sebagai contoh: kata keluar mempunyai makna lebih kuat dibandingkan tutup, hebat mempunyai makna lebih kuat dibandingkan jawaban benar. Dalam multimedia kata-kata dipakai pada judul, menu, bantuan navigasi dan konten. 2. Gambar Elemen grafis dapat dibagi menjadi beberapa ukuran, berwarna atau bermotif atau dibuat transparan, ditempatkan di depan atau belakang objek lain, atau dibuat terlihat atau tidak terlihat dalam perintah. Penyatuan elemen, pemilihan warna, dan jenis huruf, trik yang digunakan untuk menarik perhatian mata, keterampilan penggunaan alat bantu, ini adalah keunggulan yang dimiliki dari keterampilan, talenta, pengetahuan, kreatifitas bersatu menjadi koneksi visual kepada penonton.
38 Gambar dihasilkan oleh komputer dikelompokkan dalam dua jenis yaitu gambar berbasis bitmap dan gambar berbasis vektor. 1. Gambar berbasis bitmap Bitmap adalah jenis gambar yang paling tepat untuk gambar foto-realistis dan gambar kompleks
yang
membutuhkan
detail
halus.
Keterbatasan gambar bitmap adalah ukuran file yang besar dan ketidakmampuan untuk skala atau mengubah ukuran gambar dengan mudah dengan tetap menjaga kualitas. Bitmap juga merupakan matriks informasi sederhana yang menggambarkan piksel. Gambar bitmap dapat dengan mudah didapat, yaitu dari layar, scan dengan scanner, download dari situs web, atau mengambil dari perangkat video capture. 2. Gambar berbasis vektor Gambar berbasis vector seperti garis, kotak, lingkaran, poligon, dan bentuk grafis lainnya yang dapat
matematis
dinyatakan
dalam
sudut,
koordinat, dan jarak. Gambar berbasis vektor dapat diubah menjadi gambar berbasis bitmap. 3. Animasi Animasi
membuat
presentasi
yang
statis
menjadi
presentasi yang hidup. Animasi terdiri atas animasi cel dan animasi path. Animasi cel dipopulerkan oleh Disney. Teknik animasi cel yang dipopulerkan oleh Disney tersebut menggunakan serangkaian grafis yang secara bertahap semakin berbeda pada setiap frame film-film. Animasi cel dimulai dengan membuat keyframes pada awal dan akhir frame. Lalu, dapat menggunakan tweening untuk menggambarkan aksi yang terjadi antara keyframes.
39 Animasi path adalah animasi dari suatu objek yang bergerak mengikuti jalur lintasan yang telah ditentukan. Contoh animasi path adalah animasi objek mobil bergerak mengikuti lintasan jalan raya. Animasi path biasanya dilakukan perulangan animasi agar terus berulang hingga mencapai kondisi tertentu. 4. Suara Audio digital dibuat menggunakan proses digitalisasi. Suara dapat digitalisasi dari mikrofon, synthesizer, rekaman yang ada, radio, siaran televisi, CD, DVD dan rekaman. Suara diambil dan disimpan sebagai informasi digital dalam bit dan byte. Data audio digital adalah representasi suara sebenarnya, disimpan dalam bentuk angka(sampel). Musical Instrument Digital Interface(audio MIDI) adalah standar komunikasi untuk instrument musik elektronik dan komputer. Audio MIDI memungkinkan instrumen berkomunikasi dalam bahasa yang dimengerti. 5. Video Video terdiri atas video analog dan video digital. Video analog memiliki resolusi yang diukur dalam jumlah garis scan horizontal.
Sinyal video digital terdiri dari warna diskrit dan
kecerahan (RGB) nilai untuk setiap pixel. Proses pengeditan video analog dilakukan dengan proses linear. Digitalisasi video analog membaca sinyal analog dan memecahnya menjadi paket data yang terpisah. Video digital dilakukan dengan mengkonversi signal dengan proses digitalisasi menjadi kode numeric. Proses pengeditan video digital berbeda dengan proses pengeditan video analog yaitu dengan menggunakan proses non linear. 2.8
GAME 2.8.1. Pengertian Game Game pada umumnya adalah sebuah aktivitas sosial yang dilakukan dengan membuat sebuah realita buatan, di mana realita tersebut mengharuskan semua pemain yang terlibat di dalamnya dituntut untuk
40 menyelesaikan suatu tujuan yang harus diselesaikan dengan peraturan main yang ada. Video Game adalah bentuk game yang menggunakan komputer sebagai media perantaranya (Adams, 2010: 3). Terdapat empat komponen utama dari sebuah game (Adams, 2010: 35-39), yaitu: 1. Core Mechanic. Salah satu tugas dari seorang game designer adalah mengubah peraturan umum dari sebuah game menjadi simbol dan rumusan matematika yang dapat diimplementasikan secara algoritma. Rumusan matematika inilah yang dipanggil dengan core mechanics dari sebuah game. Core mechanics dapat dikatakan sebagai
hati
dari
sebuah
game
karena
core
mechanics
menghasilkan gameplay. Core Mechanics memiliki komponen-komponen penting yang menjelaskan bagaimana game dapat berjalan dengan lancer, komponen-komponen tersebut antara lain: • Resources, adalah tipe objek atau materi dari game yang dapat dijalankan atau berinteraksi, dimana game akan mengatur operasi perhitungan aritmatik untuk mengubah nilai dari komponen. • Entities, adalah bentuk dari elemen-elemen yang ada di dalam game world. Perbedaan antara entity dengan resource adalah resource merupakan tipe dari benda sedangkan entity adalah benda nyata. Ada beberapa jenis entity yaitu: o Simple
Entities,
dimana
entity
hanya
menyimpan satu attribute, contohnya seperti score pada game. o Compound
Entities,
dimana
entity
dapat
menyimpan banyak attribute, contohnya seperti avatar dalam sebuah game. o Unique Entities, dimana hanya terdapat satu entity dari setiap jenis entity dalam game world,
41 contohnya dalam sebuah game bola hanya ada satu bola yang dimainkan. • Attributes, adalah sifat yang ada pada setiap entity yang digunakan untuk mendeskripsikan entity tersebut atau entity lainnya. • Mechanics, adalah dokumentasi bagaimana game world dan hal didalamnya berinteraksi. Mechanics akan mengatur relasi antar entities, events dan prosesproses yang mengambil tempat di dalam resources dan entities di dalam game dan juga kondisi untuk memunculkan
event
dan
proses-proses
yang
bersangkutan. Core Mechanics dan game engine memiliki relasi yang sangat dekat, karena lancarnya game dipengaruhi oleh core mechanics. Dalam permainan, core mechanics beroperasi di belakang
layar
untuk
menghasilkan
dan
mengatur
gameplay, mengendalikan semua event pada game world, dan bekerja dengan storytelling engine untuk membantu dalam menyampaikan cerita (Adams, 2010: 286-295). Kegiatan yang dilakukan oleh core mechanics, antara lain: • Mengoperasikan ekonomi internal dalam game. • Menyediakan tantangan aktif kepada player melalui UI sesuai dengan level design. • Menerima
aksi
player
mengimplementasikan
dari
feedback
UI terhadap
dan aksi
tersebut ke game world. • Mendeteksi kondisi menang atau kalah, dan kondisi lainnya yang dapat mengakhiri game. • Mengoperasikan Artificial Intelligence dari karakter non-player dan musuh. • Memantau mode gameplay yang sedang aktif dan merubahnya jika terjadi perubahan mode game.
42 • Mengantar triggers menuju storytelling engine ketika game events aktif atau aksi dari player yang mempengaruhi alur. 2. User Interface (UI). Bagian yang mengubungkan core mechanic dengan player. UI bukan hanya sebuah tampilan output tetapi juga menggambarkan cerita dari game dan mensimulasikan keadaan dari game world 3. Interaction Models Salah satu model yang menghubungkan input dari player dengan aksi yang akan dilakukan dalam sebuah game. Model ini akan menentukan apa yang diinginkan oleh player, apa yang ingin dipilih oleh player, dan apa yang diperintahkan oleh player dalam game. Interaction Models dibagi menjadi beberapa tipe yaitu: • Avatar Based, aksi player dalam menggerakkan sebuah karakter individu dalam sebuah game world. • Multipresent atau Omnipresent, dimana player dapat menjalankan beberapa aksi yang berbeda dalam game world. • Party-based, dimana grup kecil dari beberapa karakter secara umum tetap bersama dalam satu kelompok yang sama. • Contestant model, model yang menyerupai acara kuis dimana player harus menjawab pertanyaan dan membuat keputusan. • Desktop model, menyerupai desktop atau bisa menjadi desktop nyata. 4.
Camera Models Model yang merepresentasikan model tampilan yang ingin ditampilkan oleh desainer game kepada player dalam game tersebut. Camera model muncul dalam bentuk statis dan dinamis. Model statis adalah tampilan dengan perspektif yang tetap dan tidak bisa diubah, sedangkan model dinamis adalah tampilan game
43 yang dapat diubah perspektifnya sesuai dengan aksi player atau event dalam game. Camera Model digunakan untuk mengatur rancangan layar game yang akan ditampilkan, jenis-jenis camera model antara lain: • First-Person Perspective, dimana posisi kamera diset secara statis di bagian mata avatar. • Third-Person Perspective, dimana posisi kamera diset dengan avatar membelakangi kamera. Gameplay adalah kombinasi dari konsep tantangan dan aksi secara spesifik, gameplay merupakan aksi yang dapat dilakukan player untuk menyelesaikan tantangan yang harus dihadapi untuk mencapai sebuah tujuan dari sebuah game sesuai dengan peraturan yang berlaku (Adams, 2010: 39-40). Game World adalah alam semesta buatan yang dibuat di dalam sebuah game, sebuah tempat tidak nyata yang menjadi tempat dimana event dalam game terjadi (Adams, 2010: 49). 2.8.2. Games Genre Games genre akan membantu player dalam menentukan jenis game yang dimainkan dan game retails untuk mengelompokkan game tersebut. Gameplay menentukan game genre (Adams, 2010: 390). Beberapa games genre yang dikenal adalah Action Games, Strategy Games, Role-Playing Games (RPG), Sports Games, Vehicle Simulations, Construction and Management Simulations, Adventure Games, Artificial Life and Puzzle Games, dan Online Games (Adams, 2010: 390-391). Action game adalah genre game yang memberikan tantangan kepada player berupa kemampuan fisik, koordinasi antar player, puzzle-solving, tactical conflict, dan eksplorasi. (Adams, 2010: 392). 2.8.3 Game Concept Game concept adalah rincian mendetil dari sebuah game yang memiliki potensi menjadi produk komersial (Adams, 2010: 67-68). Game concept setidaknya harus memiliki beberapa poin-poin dibawah ini:
44 •
Pernyataan dari konsep, berisi dua sampai tiga kata yang dapat mendeskripsikan game yang dibuat.
•
Peran player dalam game.
•
Mode gameplay utama, termasuk camera model, interaction model, dan tantangan yang akan dialami oleh player.
•
Genre dari game tersebut, jika merupakan perpaduan, nyatakan juga bagian yang merupakan perpaduannya, jika game tersebut merupakan game dengan genre baru, jelaskan mengapa tidak dapat digabungkan ke dalam genre yang sudah ada.
•
Sebuah deskripsi tentang target player dari game yang akan dibuat.
•
Nama dari mensin yang akan menjalankan game dan peralatan komplemen yang diperlukan.
•
Lisensi yang akan dipakai, jika dipakai.
•
Mode kompetisi yang ada dalam game.
•
Ringkasan umum tentang bagaimana game berjalan dari awal sampai selesai, termasuk beberapa ide tentang level atau misi dan sinopsis tentang alur cerita, jika ada.
2.8.4 Game Balancing Game balancing adalah konsep yang digunakan untuk menjaga game agar tidak terlalu mudah atau sulit untuk dimainkan (Adams, 2010:324-325). Karakteristik game balancing, antara lain: •
Game memberikan pilihan yang berarti, dimana game tersebut menyediakan tantangan yang bisa diselesaikan dengan lebih dari satu cara.
•
Keberuntungan bukan merupakan suatu faktor yang relevan, karena seorang player yang telah bermain untuk waktu yang lama akan tetap lebih handal daripada player yang awam. Player versus environment (PvE) merupakan sebuah tipe game
dimana player berusaha menyelesaikan tantangan yang disediakan tetapi tidak secara langsung bersaing dengan player lain (Adams, 2010: 326).
45 Terdapat setidaknya dua karakteristik dalam game balancing PvE, antara lain: •
Player dapat merasakan game yang dimainkan itu adil.
•
Tingkat kesulitan dari game harus konsisten. Beberapa hal yang merupakan bagian dari beberapa pikiran player
tentang game yang adil adalah: •
Tantangan yang diberikan game harus konsisten. Dengan kata lain, tidak ada perubahan kesulitan secara tiba-tiba.
•
Player seharusnya tidak tiba tiba kalah dalam game tanpa peringatan dan bukan karena kesalahan dirinya, bisa dibilang sebagai learn-bydying.
•
Stalemate tidak boleh terjadi, karena dalam kondisi tersebut player tidak akan bisa menang ataupun kalah.
•
Game tidak boleh memberikan pilihan kepada player tanpa informasi yang cukup.
•
Semua pengetahuan untuk memenangkan game harus ada di dalam game, tanpa perlu diteliti oleh player di luar game world. Terdapat 12 metode game balancing yang umum digunakan (Schell,
2008:172), yaitu: •
Fairness Fairness dibagi menjadi 3 jenis, yaitu simetris, asimetris, dan gunting-batu-kertas o Simetris memberikan semua player dalam game resource awal yang sama. Jenis balancing ini kerap digunakan dalam permainan-permainan tradisional seperti catur atau permainan papan(board game) o Asimetris memberikan setiap player dalam game resource yang berbeda. Alasan penggunaan game balancing asimetris bisa seperti simulasi dunia nyata, memberi kebebasan mengeksplorasi
batasan
dalam
game,
personalization,
menyetarakan tingkat permainan antara pemain yang lebih ahli
46 dengan yang kurang ahli, atau menciptakan situasi yang lebih menarik. o Gunting-batu-kertas
(rock-paper-scissors)
memberikan
resource dengan kelebihan atas resource lain, namun lemah akan resource yang lain. Tidak ada satu yang dapat mengalahkan semua resource lain yang dapat player miliki. •
Challenge vs. Success Permainan yang terlalu sulit akan membuat pemain frustrasi dengan cepat, namun terlalu mudah akan membuat pemain bosan. Tipe ini berfokus menempatkan pemain di tengah tingkat gagal dan sukses. Beberapa cara yang umum digunakan: meningkatkan tingkat kesulitan sedikit demi sedikit, memudahkan pemain melewati bagian yang dirasa mudah, menciptakan lapisan tantangan, memberi kebebasan memilih tingkat kesulitan, dan mengujicoba game pada berbagai jenis pemain.
•
Meaningful Choices Permainan yang baik memberikan pemain pilihan yang berarti, yang mana setiap pilihan memiliki dampak pada alur permainan. Pemain umumnya diberikan pilihan antara high risk - high reward dan low risk – low reward, yang sering disebut triangularity.
•
Skill vs. Chance Dengan membuat permainan mengandalkan skill dan chance sekaligus, maka permainan tidak menjadi berat sebelah hanya mengandalkan skill atau chance.
•
Heads vs. Hands Permainan memberikan keseimbangan antara pemikiran dan menggerakan fisik karakter.
•
Competition vs. Cooperation Pemain diberikan pilihan untuk bekerjasama dengan pemain lain untuk mencapai satu tujuan, atau jika ingin bersaing untuk keuntungan masing-masing.
•
Short vs. Long
47 Permainan yang terlalu cepat akan membuat pemain tidak memiliki kesempatan mengeksplorasi pilihan yang tersedia, namun jika terlalu panjang akan membuat pemain bosan. •
Rewards Dengan memberikan reward pada player, seperti pujian, point, atau resource tambahan, pemain akan lebih tertarik bermain untuk waktu yang lebih panjang. Dengan memberikan reward yang semakin meningkat, pemain akan merasa usaha mereka berharga.
•
Punishment Kebalikan dari sistem rewards, permainan memberi hukuman pada pemain jika melakukan kesalahan dalam permainan, seperti pengurangan nilai atau resource, atau bahkan mengakhiri permainan (game over).
•
Freedom vs. Controlled Experience Game adalah media interaktif dimana pemain diberikan kebebasan dalam menyelesaikan permainan. Namun game juga membutuhkan batasan sebanyak apa kontrol yang diberikan pada pemain.
•
Simple vs. Complex Terdapat dua jenis kompleksitas dalam permainan: innate complexity dan emergent complexity. Permainan harus dapat diatur untuk menampilkan sederhana dan kompleks secara seimbang.
•
Detail vs. Imagination Permainan harus bisa memberikan detail yang cukup untuk pemain mengisi sisanya dengan imajinasi sendiri.
2.8.5 Level Design Level design merupakan proses membangun pengalaman yang akan diberikan secara langsung kepada player dengan menggunakan komponen yang disediakan oleh desainer game (Adams, 2010: 359-360).
48 Desainer level membuat bagian-bagian yang penting untuk player, yaitu: • Ruang dimana game itu berada. Ketika desainer game menentukan object apa saja yang akan ada dalam game world, desainer level juga menentukan fitur apa saja yang akan ada di level-level dalam game world. Desainer level akan mengambil rencana dari desainer game dan membuat game lebih spesifik dan konkret. • Kondisi awal dari level, termasuk fitur dari level yang dapat berubah-ubah setiap levelnya, jumlah musuh AI yang akan diihadapi player, banyaknya resources yang akan diatur oleh player di awal permainan dan lokasi dari resources yang dapat ditemukan. • Tantangan yang akan dihadapi oleh player di setiap level-nya. Banyak game yang menyediakan tantangan dengan alur yang linier/satu arah, dimana tantangan yang baru akan muncul jika tantangan sebelumnya berhasil diselesaikan. • Kondisi menang atau kalah yang dapat mengakhiri level. • Penulis cerita harus bekerja sama dengan desainer level agar terjalin relasi yang baik antar gameplay dengan event narrative. • Estetika dan pengaturan alur di setiap level-nya, desainer level akan menentukan suasana dalam game yang dibuat. Prinsip-prinsip level design (Adams, 2010: 361-362) pada umumnya terdiri atas: • Level awal harus terdiri dari level tutorial. • Variasikan frekuensi game di tiap level. • Ketika player melewati tantangan yang membutuhkan resources player, sediakan resources yang lain. • Hindari konsep tidak masuk akal. • Perjelas arahan kepada player tentang tujuan yang harus diselesaikan.
49 • Informasi tentang resiko, hadiah, dan akibat dari pilihan yang dibuat harus jelas. • Berikan hadiah kepada player atas kemampuan, imaginasi, kepintaran, dan dedikasi. • Berikan hadiah dalam berbagai bentuk/cara dan berikaan kemungkinan untuk mendapatkan hukuman sekecil mungkin. • Latar depan lebih diutamakan daripada latar belakang. • Tujuan dari musuh AI adalah untuk memberikan tantangan kepada player. • Implementasikan berbagai jenis kesulitan jika memungkinkan. Salah satu software yang dapat digunakan untuk membuat level design adalah Axis Game Factory’s AGFPRO 2.0. AGFPRO 2.0 adalah program yang menyediakan sarana lengkap kepada desainer dengan pembuatan level yang cepat, terrain/vegetation editing dan pencahayaan. AGFPRO 2.0 menyediakan sarana kepada desainer game untuk membuat peta game, mengukir lahan dan mendesain level secepat mungkin. AGF memiliki plug-ins, scripts, dan shaders yang memungkinkan game yang menggunakan game engine Unity untuk meng-import scenenya. (Axis Game Factory, 2013). 2.8.6 Game Engine Game
engine
merupakan
bagian
dari
software
yang
mengimplementasikan aturan dalam game. Pembuatan sebuah prototype harus mennggunakan game engine, sehingga game dapat dibuat dengan fitur yang disediakan oleh game engine tersebut, yang berarti pembuatan object dalam game akan menjadi lebih mudah (Adams, 2010: 288). Banyak sekali game engine yang telah beredar disaat ini, salah satunya adalah: Unity yang merupakan sebuah ekosistem yang terdiri dari sarana dan jasa yang didesain untuk pengguna yang ingin membuat multiplatform games dan interactive content. Unity merupakan game engine yang mendukung pengembangan game 2D dan 3D. Unity dikembangkan oleh
50 Unity Technologies, pada saat ini telah mendukung beberapa platform seperti, Windows, Mac, Linux, Unity web player, iOS, Android, BlackBerry 10, Windows Phone 8, Oculus Rift, Xbox ONE , Xbox 360, PS Vita, PS3, dan PS4. Unity memiliki versi gratis dan versi UnityPro yang berbayar, para developer tetap dapat mempublikasikan game-nya di kedua versi ini, perbedaannya adalah fitur fitur yang diberikan UnityPro lebih lengkap dan baik dibandingkan Unity yang gratis. (Unity Technologies, 2014). 2.8.7 Game Design Document Seorang desainer game perlu membuat kumpulan dokumen-dokumen untuk memberitahukan kepada orang lain tentang game yang telah direncanakan. Biasanya dokumen tersebut berbeda maksudnya bagi para desainer maupun programmer, namun hal tersebut terikat oleh rangkaian umum. Hal ini memungkinan desainer dan programmer untuk bekerja sama dalam membuat game. Bagian terpenting dalam mendesain game adalah dengan mewariskan desain yang telah dirancang kepada anggota tim. Untuk itu, diperlukan adanya dokumen yang telah dirancang sedemikian rupa agar serupa dengan rancangan desain yang diinginkan (Adams, 2010: 54-55). Terdapat beberapa tipe dari dokumen desain game yang digunakan secara umum (Adams, 2010: 55-58). Beberapa tipe tersebut adalah: 1. High Concept Document Dokumen ini bukan bertujuan untuk menjelaskan struktur game, melainkan hanya memperlihatkan konsep dari game yang dirancang sedemikian rupa. Penulisan dokumen ini tidak boleh lebih dari 4 halaman. Hal ini berguna untuk menyiimpan ide yang mungkin akan digunakan kedepannya. 2. Game Treatment Document Dokumen ini menyajikan game dalam sebuah garis besar kepada orang yang telah berminat dan berkeinginan untuk mengetahui lebih lanjut, dimana tujuan utama dokumen ini dirancang untuk memberikan informasi lebih lanjut tentang game yang sedang dirancang. Oleh karena itu, dokumen ini tidak wajib dibuat dalam rancangan game.
51 3. Character Design Document Dokumen ini dibuat bertujuan untuk menyimpan rancangan desain dari karakter-karakter yang akan digunakan dalam game. Tujuan utama dari dokumen ini adalah untuk memperlihatkan tampilan dari karakter dan daftar animasi yang ada pada karakter. 4. World Design Document Dokumen ini merupakan basis dari segala rancangan lingkungan game yang dibuat dan music yang akan digunakan. Data disini tidak harus sama persis dengan yang berada dalam game, tetapi harus memberikan informasi secara garis besar apa yang terdapat dalam game world. 5. Flowboard Dokumen ini merupakan gabungan dari flowchart dan storyboard.
Sesuai
dengan
namanya,
dokumen
ini
menggabungkan kedua ide tersebut untuk membentuk sebuah struktur dalam game. 6. Story and Level Progression Document Dokumen ini menyimpan semua story yang dibuat dalam game beserta perkembangan-perkembangan dari level yang ada. Jika game yang dibuat tidak mempunyai cerita atau hanya memiliki satu jenis level, dokumen ini tidak perlu dibuat. 7. The Game Script Dokumen ini bertujuan untuk memperlihatkan seluruh isi naskah dari game yang dirancang. Dokumen ini penting karena menyimpan segala mekanika inti dari game. 2.8.8 Storyboard Storyboard adalah ilustrasi yang ditampilkan secara berurutan untuk menampilkan visualisasi video ataupun interaktif media. Storyboard berasal dari Walt Disney Studio pada awal 1930, dimana animator Webb Smith mengutarakan ide untuk menampilkan scene di lembaran kertas secara berurutan di papan tulis. (Anonim, www.instructionaldesign.org/).
52 Keuntungan dari penggunaan storyboard adalah designer dapat bereksperimen dan melakukan perubahan sebelum produksi dimulai. Selain itu, storyboard berguna untuk menarik perhatian dari klien. 2.9
UNITY 3D Unity 3D adalah game engine yang dikembangkan oleh Unity Technologies. Unity dapat dirancang dengan menggunakan 2 bahasa pemrograman, C# (C Sharp) dan UnityScript. C# memiliki bentuk yang mirip dengan Java dan C++, sedangkan UnityScript adalah pengembangan dari bahasa JavaScript. (Unity Technologies, 2014) Karena bentuknya yang mirip dengan bahasa C, C++, maupun Java, C# mudah dipelajari bagi pengguna yang sudah terbiasa dengan tiga bahasa tersebut. C# mengembangkan fungsi kompleks dari C++ agar mudah digunakan. Proses membangun script C# tergolong sederhana, dibandingkan C, C++, maupun Java, karena tidak membutuhkan header, dan tidak membutuhkan urutan spesifik deklarasi method dan type (Microsoft, 2015).
Gambar 2.20 Contoh Script Berbahasa C# (Unity Technologies, http://docs.unity3d.com/Manual/CreatingAndUsingScripts.html)
53 Penggunaan Oculus Rift diintegrasikan menggunakan package ke dalam Unity. Script yang digunakan oleh Oculus Rift menggunakan bahasa C#.
Gambar 2.21 Script OVRManager Oculus Rift UnityScript adalah pengembangan JavaScript yang khusus digunakan pada Unity. JavaScript sendiri adalah bahasa pemrograman object-oriented yang sering digunakan pada halaman website. JavaScript memiliki kemiripan bahasa dengan Java dan C++. JavaScript sendiri dapat dirancang baik secara object-oriented maupun procedural. (Mozilla Developer Network, 2015)
Gambar 2.22 Contoh Script Berbahasa UnityScript (Unity Technologies, http://docs.unity3d.com/Manual/CreatingAndUsingScripts.html)
54 2.10
JURNAL
DAMPAK
KEKERASAN
DALAM
GAME
DALAM
JANGKA WAKTU PANJANG Penelitian eksperimental seringkali menemukan dampak dari media yang menampilkan kekerasan terhadap tingkat agresifitas seseorang, namun eksperimen ini seringkali berjangka pendek. Yang ingin dipelajari adalah dampak secara kumulatif, maka tujuan penelitian adalah melihat adanya peningkatan agresifitas secara berkelanjutan selama tiga hari, untuk mempelajari adanya dampak secara jangka panjang (Hasan, Bègue, Scharkow, & Bushman, 2012: 1). Teori cognitive-neoassociative mengatakan bahwa ingatan manusia terbentuk dari jaringan dalam otak. Maka dapat disebutkan jika paparan terhadap media kekerasan dapat menciptakan jaringan yang kaya akan pemikiran dan ide negatif dan agresif. Prosedur penelitian mempelajari 70 peserta dengan mempelajari perilaku mereka setelah bermain game, sebagian bermain game bertema kekerasan, dan sebagian tidak bertema kekerasan, selama tiga hari (Hasan et al., 2012: 2). Dengan melakukan pengujian melalui permainan yang dilakukan secara kompetitif antara peserta dan partner penelitian, ditemukan bahwa pemain yang memainkan game bertema kekerasan memiliki agresifitas yang meningkat ketika diuji, dimana pemain yang memainkan game tidak bertemakan kekerasan tidak. Dengan demikian dapat ditarik kesimpulan bahwa game bertemakan kekerasan meningkatkan agresifitas, yang sifatnya kumulatif dan dapat bertahan lebih lama (Hasan et al. 2012, 3-4). 2.11
JURNAL FLEKSIBILITAS KOGNITIF PADA PEMAIN GAME FIRST PERSON SHOOTER Game First Person Shooter (FPS) umumnya membutuhkan pemain untuk mengembangkan daya pikir yang fleksibel untuk dapat bereaksi terhadap gambar yang bergerak cepat dan rangsangan suara, serta mampu berpindah-pindah peran yang dilakukan (Colzato, 2010). Selama sepuluh tahun terakhir, dengan perkembangan game yang cepat, begitu pula dengan penelitian yang dilakukan terhadap game yang
55 menampilkan kekerasan. Namun kurang terdapat penelitian yang fokus pada efek positif dari game-game ini (Colzato, 2010). Game-game modern membutuhkan pemain bukan hanya untuk menekan satu tombol, tapi melakukan banyak aksi secara berurutan dalam waktu yang singkat, membutuhkan fleksibilitas kognitif. Berpindah-pindah aksi membutuhkan perubahan aturan dalam pikiran, yang seringkali dapat mempengaruhi waktu reaksi (Colzato, 2010). Penelitian menganalisa perbedaan waktu reaksi dalam melakukan aksi yang berubah-ubah pada dua kelompok peserta, satu kelompok adalah pemain game FPS dan kelompok lain bukan pemain atau hanya berpengalaman sedikit dalam bermain. Hasil penelitian mendukung pendapat awal bahwa pemain game FPS memiliki fleksibilitas kognitif yang lebih baik dengan menemukan bahwa merubah aksi yang dilakukan dapat dilakukan lebih cepat, dan tidak terdapat perbedaan antara golongan usia ataupun IQ (Colzato, 2010). Dengan demikian fungsi video game seringkali dilupakan, meskipun memiliki efek positif, misalnya bagi para manula, yang seringkali memiliki penurunan kemampuan adaptasi, dan membangun ulang kemampuan kognitif untuk merespon kondisi yang berubah-ubah (Colzato, 2010). 2.12
JURNAL OCULUS RIFT PERLENGKAPAN VIRTUAL REALITY VR adalah bentuk baru interaksi antara manusia dan mesin selain keyboard, mouse dan layar sentuh. Ini adalah sarana yang satu dapat berinteraksi dengan penuh imersi visual. VR diimplementasikan dengan menggunakan perangkat interaktif seperti sarung tangan, headset atau helm. Oculus Rift adalah perangkat Goggle VR Ski-Masked Shaped yang bekerja bersama dengan komputer atau ponsel. Headset VR merek lain memiliki masalah motion sickness pada saat digunakan oleh pengguna. Oculus rift adalah teknologi baru yang mengklaim telah memecahkan masalah motion sickness dan pusing pasca penggunaan (Desai et al., 2014: 1). Oculus rift kits memiliki tiga set lensa, yaitu : lensa A, B dan C. Lensa A akan digunakan oleh orang-orang yang memiliki penglihatan baik yang
56 cukup lama. Lensa B dan C digunakan oleh orang-orang yang mempunyai masalah dengan rabun jauh meskipun tidak dapat digunakan oleh semua orang terutama orang-orang dengan komplikasi penglihatan utama. Kacamata dapat digunakan dengan Oculus Rift apabila ukurannya tidak besar (Desai et al., 2014: 2). Efek screen door dapat digambarkan sebagai kotak hitam yang menyelubungi gambar asli. Hal ini terjadi karena ruang kosong di antara piksel. Efek berbayang atau ghosting adalah munculnya lintasan pudar di belakang benda bergerak. Dalam oculus rift waktu perpindahan yang lambat menyebabkan ghosting yaitu piksel mengambil cukup banyak waktu untuk mengubah
intensitas
dibandingkan
gerakan
pada
kepala.
Hal
ini
menyebabkan efek kabur pada adegan. Ghosting dapat dihindari dengan tingkat perpindahan yang tinggi untuk piksel. (Desai et al., 2014: 4). Sejak beberapa tahun animasi komputer terlihat lebih didasarkan pada simulasi dinamis dan fisik. Dengan munculnya VR terasa seperti didalam komputer 3 dimensi. Di masa depan, real time sistem animasi yang kompleks akan dikembangkan mengambil keuntungan menggunakan VR-perangkat seperti oculus rift dan berbagai teknik simulasi. Oculus Rift adalah headset virtual reality (VR) yang dirancang khusus untuk video game yang akan mengubah cara anda berpikir tentang game selamanya (Desai et al., 2014: 45).