BAB 2 LANDASAN TEORI
2.1 Multimedia Vaughan menjelaskan bahwa multimedia adalah sebuah kombinasi digital antara teks, gambar, suara, animasi, dan video. Sebuah multimedia apabila memiliki interaksi dengan user, maka disebut sebagai multimedia interaktif (Tav Vaughan,2011:1). Elemen-elemen yang terkandung dalam multimedia, yaitu : 2.1.1 Teks Menurut Tay Vaughan (2011: 18), teks sudah digunakan sebagai alat komunikasi standar sejak 6000 tahun lalu. Pada multimedia, teks berfungsi sebagai judul, menu dan navigasi. Terdapat dua jenis font typeface yang digunakan, yaitu :
Gambar 2.1 Contoh Teks Serif dan Sans-Serif
1. Serif Terdapat sedikit dekorasi pada bagian akhir hurufnya. Contoh dari Serif adalah Times New Roman, New Century, Schoolbook, Bookman dan Palatino. 2. Sans Serif Tidak terdapat sedikit dekorasi pada bagian akhir hurufnya. Contoh dari Sans Serif adalah Bubblegum, Helvetica, Verdana, Arial, optima, dan Avant Grade.
7
8 2.1.2 Gambar / Grafis Menurut Tay Vaughan (2011: 134), gambar merupakan representasi dari objek dua dimensi atau tiga dimensi untuk menyampaikan informasi. Vaughan mengutarakan pula bahwa gambar merupakan media terpenting karena gambar yang membantu dalam pemahaman elemen visual dari multimedia. Gambar memiliki ukuran, warna, pattern transparan, posisi yang dapat diatur sesuai keinginan. Gambar terbagi menjadi dua jenis, yaitu : 1. Bitmap Bitmap merupakan bentuk matriks dari titik-titik kecil (pixel) yang membentuk gambar dan ditampilkan ke layar komputer atau dicetak. Bitmap biasanya digunakan untuk gambar kompleks yang membutuhkan detail yang halus seperti foto yang realistik. Contoh format umum yang digunakan dalam bitmap adalah GIF, JPEG, dan PNG. 2. Vektor Vektor merupakan sebuah kumpulan dari garis dan titik yang menjadi satu kesatuan membentuk sebuah gambar. Pada umumnya, vektor digunakan dalam bentuk grafis seperti garis, polygon, kurva, lingkaran, dan bentuk lainnya yang diekspresikan secara matematis dalam sudut, koordinat serta jarak.
2.1.3 Suara (Sound) Suara merupakan elemen paling mudah dirasakan dalam multimedia (Tay Vaughan, 2011: 104). Berbagai ekspresi dapat disampaikan melalui media suara. Ekspresi yang disampaikan oleh suara dapat merepresentasikan suasana, mood dan efek dari multimedia. Suara dapat membuktikan multimedia yang terlihat biasa dan spektakuler. Terdapat empat jenis suara yang biasa digunakan dalam pembuatan multimedia, yaitu : Gelmboang audio, soundtrack MIDI, audio CD (Compact Disc), dan file MP3.
9 2.1.4 Video Video adalah gambar terurut yang menyampaikan informasi kepada pengguna. Video yang merupakan elemen multimedia disampaikan melalui sebuah snyal elektronik sehingga dapat ditampilkan pada layar (Tay Vaughan,2011: 164). Terdapat dua tipe video, yaitu :
1. Video Analog Video analog merupakan video yang terekam oleh sensor kamera dan tersimpan dalam bentuk gulungan pita film. Video analog menggunakan alat pemutar yang bersifat konvensional dan biasanya digunakan pada pemutaran layar lebar. 2. Video Digital Video digital merupakan video yang terekam dan tersimpan dalam bentuk sinyal-sinyal digital. Video digital ditampilkan dalam bentuk sinyal-sinyal digital yang membawa informasiinformasi digital untuk ditampilkan pada sebuah layar.
2.1.5 Animasi Menurut Vaughan (2011: 104), animasi dapat membuat tampilan multimedia yang statis menjadi lebih hidup. Dalam bukunya yang berjudul Multimedia Making It Work, Vaughan mengemukakan multimedia sebagai objek yang bergerak ke dalam ataupun keluar layar layaknya putaran bola dunia. Animasi sangat memungkinkan untuk terjadi karena adanya fenomena biologis yang dikenal dengan sebutan “Persistence of vision” dan fenomena psikologis “Phi”. Objek yang terlihat oleh mata manusia akan diproyeksikan ke retina mata. Kemudian hasil proyeksi tersebut di kombinasikan dengan pikiran manusia untuk membentuk sebuah aksi yang dilihat secara konseptual. Fenomena ini yang memungkinkan seseorang dapat melihat gambar-gambar yang bergerak cepat menyatu menjadi sebuah ilusi visual menjadi sebuah pergerakan.
10 Pada umumnya, animasi dalam komputer dibagi menjadi tiga yaitu : 1. Animasi 2D Animasi yang dibat pada sumbu kartesius X dan Y. 2. Animasi 2.5D Mirip dengan animasi 2D, hanya saja diberikan ilusi 3D berupa efek bayangan atau penebalan pada suatu sisi tertentu. 3. Animasi 3D Animasi yang dibuat pada sumbu kartesius yaitu X, Y, dan Z. Animasi yang bersifat 3D dapat menghasilkan animasi yang mendekati nyata karena dapat dilihat dari berbagai sudut pandang.
2.2 Warna Warna merupakan salah satu komponen yang penting dalam pembuatan aplikasi multimedia. Manusia dapat melihat warna dengan rentang panjag gelombang dari 400-600 nm (1x10-9). Warna dapat ditampilkan dalam bentuk nilai dan dalam beberapa metode serta model yang menggambarkan ruang warna. Menurut Vaughan (2011: 88), warna merupakan bentuk frekuensi dari gelombang cahaya dalam pita sempit dari spektrum elektromagnetik yang kemudian direspon oleh mata manusia. Cahaya tersebut datang dari sebuah atom ketika elektron melintas dari energi level tinggi ke rendah. Salah satu cahaya yang berada dibawah frekuensi dari cahaya yang dapat dilihat oleh manusia ialah cahaya infrared. Cahaya infrared hanya dapat terlihat oleh sensor dan dioda elektronik yang biasanya digunakan dalam remote control TV dan VCR. Cahaya infrared biasanya digunakan untuk komunikasi antar komputer menggunakan wireless dan untuk kacamata penglihatan malam (night vision). Sinar cahaya yang datang dari sebuah objek masuk ke dalam mata dan difokuskan oleh lensa kornea mata. Sinar cahaya yang datang akan menstimulasi ribuan sel-sel saraf khusus, sel-sel batang yang melindungi permukaan dari retina mata. Reseptor sel kerucut sensitif terhadap cahaya merah, hijau, biru dan semua sel saraf yang bersama-sama mengirimkan informasi warna ke otak. Oleh karena itu, mata manusia dapat membedakan 80.000 warna yang merupakan kombinasi dari merah, hijau, dan biru.
11 Dikarenakan reseptor mata yang sensitif terhadap cahaya merah, hijau, dan biru, dengan menyesuaikan kombinasi dari warna tersebut mata dan otak manusia akan menyisipkan kombinasi warna diantaranya. Contohnya warna oranye yang dilihat mata manusia pada komputer merupakan kombinasi dari 2 cahaya yaitu hijau dan merah. Terdapat beberapa metode dasar dasar dalam membuat warna pada komputer, yaitu :
2.2.1 Additive Color Metode
additive
color
mencipatakan
warna
dengan
mengkombinasikan warna sumber cahaya dengan tiga buah warna utama yaitu merah, hijau, dan biru. Proses ini dapat terjadi pada Cathode Ray Tube (CRT), Liquid Crystal (LCD) dan layar plasma.
2.2.2 Substractive Color Metode
substractive
color
mencipatakan
warna
dengan
mengkombinasikan warna media seperti tinta atau cat yang terserah sebagian besari dari cahaya spektrum warna kemudian yang lain direfleksikan kembali ke mata. Metode ini biasa digunakan dalam proses printing.
2.2.3 Computer Color Models Metode ini digunakan untuk menunjukkan warna-warna pada komputer, yaitu : RGB (Red Green Blue), HSB (Hue Saturation Brightness), HSL (Hue Saturation Lightness), CMYK (Cyan Magenta Yellow Black), CIE dan sebagainya.
2.3 Delapan Aturan Emas (Eight Golden Rules) Menurut Shneiderman dan Plaisant (2010: 88-89) , terdapat delapan aturan emas dalam merancang sistem antarmuka sebuah aplikasi. Aturan-aturan tersebut antara lain :
12 1. Strive for consistency Konsistensi dalam penggunaan kata-kata dalam membuat suatu aplikasi multimedia perlu diperhatikan. Penggunaan kata-kata perlu diperhatikan baik dalam memberikan peringatan, menu, dan halaman bantuan. 2. Cater to universal usability Mengenali keberagaman kebutuhan user dan fleksibilitas dari desain aplikasi. Aplikasi yang dirancang diharapkan dapat memenuhi kebutuhan user mulai dari user yang masih bersifat novice hingga ke expert user. 3. Offer informative feedback Untuk setiap interaksi yang dilakukan, perlu ada umpan balik dari sistem. Untuk interaksi yang biasa dilakukan, perlu ada respon sederhana bagi user sebagai pertanda. Sedangkan untuk interaksi yang jarang terjadi, perlu ada respon yang menunjukkan bahwa umpan balik yang diberikan bersifat penting. 4. Design dialog to yield closure Dalam perancangan tampilan user interface sebaiknya diorganisir dalam bentuk kelompok dengan bagian awal, tengah, dan akhir. Bentuk umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan selanjutnya. 5. Offer simple error handling Suatu sistem aplikasi multimedia sebaiknya dirancang sehingga jumlah kesalahan oleh user tidak bersifat fatal. Jika terdapat kesalahan, sistem mampu mendeteksi kesalahan dengan cepat dan memberikan suatu mekanisme sederhana dan mudah dipahami untuk menangani kesalahan tersebut. 6. Permit easy reversal of actions Terkadang user panik jika melakukan kesalahan dalam aksi yang dilakukan.
Oleh
karena
itu,
perlu
adanya
interaksi
yang
memungkinkan user untuk kembali ke tindakan sebelumya. Hal ini untuk memngurangi kekuatiran yang dialami user. 7. Support internal locus of control
13 Perlu diketahui bahwa dalam merancang sebuah user interface, user ingin menjadi pengontrol dari sistem yang berjalan. Sistem akan merespon tindakan yang diberikan user membuat user merasa bahwa user yang mengontrol sistem bukan sebaliknya. 8. Reduce short-term memory load Keterbatasan dalam ingatan manusia membutuhkan tampilan yang sederhana atau jikalau terdapat banyak tampilan halaman sebaiknya disatukan dan dikategorikan. Berikan pula cukup waktu bagi user dalam mempelajari urutan interaksi yang diperlukan.
2.4 Lima Faktor Manusia Terukur Interaksi yang terjadi antara user dan suatu interfase dipengaruhi pada lima faktor yang berguna untuk mencapai tujuan usability. Shneiderman & Plaisan (2010: 32) mengemukakan lima faktor evaluasi atau lima faktor manusia terukur sebagai berikut : 1. Waktu belajar, yaitu lama waktu yang dibutuhkan user atau pengguna awam untuk mempelajari cara yang relevan dalam menyelesaikan suatu tugas. 2. Kecepatan kinerja, yaitu lama waktu yang dibutuhkan agar suatu tugas dapat dilakukan. 3. Tingkat kesalahan, yaitu banyak kesalahan yang terjadi dan apa saja kesalhan yang telah dibuat user dalam menjalankan sebuah sistem. Walaupun waktu untuk memperbaiki kesalahan akan mengurangi kecepatan
peforma
sistem,
memperbaiki
dan
memberikan
peringatan kesalhan pengguna akan berguna dalam mempelejari sistem tersebut. 4. Kepuasan subjektif, yaitu kesukaan user terhadap aspek-aspek sistem. Hal ini dapat diperoleh dengan melakukan wawancara secara langsug ataupun dengna melakukan survei. 5. Daya ingat, yaitu kemampuan seseorang untuk mempertahankan pengetahuannya tentang sistem yang telah digunakan dalam jangka waktu tertentu.
14 2.5 Unified Modelling Language (UML) Menurut Whitten dan Bentley (2007: 371), UML merupakan sekumpulan ketentuan modelling yang berguna untuk menggambarkan sebuah sistem dalam hubungannya terhadap suatu objek. UML tidak menentukan metode untuk mengembangkan sebuah sistem, hanya saja UML saat ini dijadikan standar untuk permodelan objek. Whitten dan Bentley (2007: 381) berpendapat bahwa UML dapat diumpamakan sebagai penggambaran dalam pembangunan sebuah rumah. Pada umumnya, tim yang membangun rumah tersebut menyediakan jasanya untuk listrik, air, dll. Hal ini sama degan UML yang menyediakan tim pegembang dengan sebuah perspektif yang berbeda pada sistem informasi. Komponen diagram UML terbagi menjadi beberapa bagian, diantaranya : 2.5.1 Use Case Diagram Use case diagram menggambarkan interaksi yang terjadi antara sistem internal, sistem eksternal serta user (Whitten & Bentley, 2007: 382).Dengan kata lain, use case diagram menggambarkan siapa saja yang akan menggunakan dan menjalankan sistem serta bagaimana user berinteraksi dengan sistem. Penggambaran dilakukan secara grafik. Berikut adalah komponen-komponen yang terdapat dalam use case :
Tabel 2.1 Komponen Use Case Diagram Simbol
Nama Simbol
Fungsi Use
Case merepresentasikan
sebuah goal atau tujuan dari sebuah (Whitten &
Use Case
Bentley, 2007:
gambarkan serta dalam
246)
sistem
ragam
dan
urutan
menginteraksi
interaksi
mencapai
goal
user atau
tujuan tersebut (Whitten & Bentley, 2007: 246). Aktor adalah external user yang berinteraksi Aktor
dalam
dengan
bentuk
sistem
pertukaran
informasi serta data (Whitten & (Whitten &
15 Bentley, 2007:
Bentley, 2007: 247).
247)
Relasi dilambangkan sebagai garis antara 2 simbol pada use case Relasi
diagram.
Relasi
yang
terbentuk dapat memiliki arti yang berbeda-beda disesuaikan dengan
bagaimana
garis
digambar dan simbol apa yang terhubung.
Berikut adalah contoh use case diagram sederhana :
Gambar 2.2 Contoh Use Case Diagram (Whitten & Bentley, 2007: 246)
Relasi yang terbentuk dalam use case diagram itu berbeda-beda tergantung bentuk garis yang digambarkan dan simbol apa yang terhubung. Berikut adalah tipe-tipe atau bentuk-bentuk relasi dalam use case diagram:
16 1. Association Association merupakan bentuk relasi antar aktor dan use case dimana interaksi muncul diantaranya.
Gambar 2.3 Contoh Relasi Association dalam Use Case Diagram (Whitten & Bentley, 2007: 248) 2. Extends Extends merupakan use case yang terbentuk dari tahapantahapn yang diekstrak dari baerbagai use case kompleks dan ditujukan untuk menyederhanakan use case yang asli.
Gambar 2.4 Contoh Relasi Extends dalam Use Case Diagram (Whitten & Bentley, 2007: 249) 3. Uses (Includes) Uses merupakan use case yang ditujukan untuk mengurangi redundansi (pengulangan) antara dua atau lebih use case dengan cara menggabungkan langkah-langkah yang sudah ada dalam use case diagram.
17
Gambar 2.5 Contoh Relasi Uses dalam Use Case Diagram (Whitten & Bentley, 2007: 249)
4. Depends On Depends On adalah relasi antar use case yang menandakan bahwa terdapat satu use case yang tidak bisa dikerjakan apabaila use case yang lain belum dikerjakan.
Gambar 2.6 Contoh Relasi Depends On dalam Use Case Diagram (Whitten & Bentley, 2007: 250)
5. Inheritance Inheritance terbentuk apabila terdapat dua atau lebih aktor yang meiliki sifat yang sama.
18
Gambar 2.7 Contoh Relasi Inheritance dalam Use Case Diagram (Whitten & Bentley, 2007: 250)
2.5.2 Class Diagram Whitten dan Bentley (2007: 400) mengemukakan bahwa diagram
menggambarkan
sistem
struktur
objek.
Class
class
Diagram
menampilkan kelas objek yang tersusun dengan baik sebagaimana hubungan antar kelas tersebut. Objek tersebut dinyatakan dalam bentuk class dan memiliki attribut masing-masing. Dalam class diagram akan ditemukan multiplicity, relasi generalization atau specialization serta relasi aggregation. Berikut beberapa langkah dalam merancang class diagram : 1. Identifikasi Asosiasi dan Multiplicity. Pada tahap ini dilakukan identifikasi asosiasi yang terdapat antara kelas-kelas objek. Memanggil kembali asosiasi antara dua buah kelas objek yang merupakan cara objek mengenali objek yang lain. Proses ini memperbolehkan kelas objek untuk mengirim pesan satu sama lain. Apabila asosiasi telah ditemukan, maka multiplicity yang berada dibelakang kendali asosiasi harus ditentukan pula. 2. Identifikasi Generalization atau Specialization. Jika asosiasi dan multiplicity telah ditemukan maka langkah berikutnya ialah mencari generalization atau specialization. Generalization atau specialization dapat ditemukan dengan cara
19 melihat pada class diagram. Apabila terdapat asosiasi antara dua kelas
yang memiliki hubungan
multiplicity,
maka
perlu
diperhatikan apakah objek C merupakan tipe objek dari Objek Y. Jika ya, maka hubungan generalization atau specializatio telah ditemukan. 3. Identifikasi Aggregation atau Composition. Pada tahap ini, akan ditentukan aggregation atau composition. Aggregation merupakan tipe unik dalam suatu relasi yang salah satu objeknya merupakan bagian dari objek lain. 4. Mempersiapkan Class Diagram. Pada tahap ini akan ditentukan mana persistent class dan yang mana merupakan transient object class. Persistent class adalah kelas
yang
menggambarkan
sebuah
objek
yang
dapat
memperlambat eksekusi dari sebuah program yang diciptakan. Transient object class adalah kelas yang menggambarkan sebuah objek yang dibuat secara sementara oleh program dan hanya aktif pada saat program dieksekusi.
20
Gambar 2.8 Contoh Class Diagram (Whitten & Bentley, 2007: 406).
21 2.5.3
Sequence Diagram Sequence diagram adalah UML yang memodelkan logika dari use
case dengan penggambara interaksi pesan-pesan antar objek dalam sebuah urutan waktu (Whitten & Bentley, 2007: 661). Komponen-komponen dari sequence diagram adalah sebagai berikut : 1. Actor : Aktor berinteraksi dengan user interface (UI) yang ditampilkan melalui simbol aktor dari use case. Kadangkadang aktor digambarkan dalam bentuk kotak seperti kelas dengan adanya notasi <
>. 2. Interface Class : Kotak yang menandakan kode dari kelas user interface. Kelas ini bertujuan untuk emmastikan bahwa tidak ada
kelas
yang
ambigu
apabila
ditandai
dengan
<>. Tanda titik dua (:) sebagai standar dari sequence diagram, berfunsi sebagai indikasi keadaan yang sedang berjalan dari sebuah kelas. 3. Controller Class : Setiap use case memiliki sati atau lebih controller class dan dgambar dengan notasi yang sama seperti interface class yaitu dengan notasi <>. 4. Messages
:
Berbentuk
panah
tebal
horizontal
yang
menandakan pesan yang dikirim oleh kelas-kelas yang ada. Setiap message memanggil method (behavior) dari kelas sesuai dengan panah yang telah diarahkan. 5. Entity classes : Sebuah entitas butuh kolaborasi dalam urutan langkah yang ada dan dapat ditambahkan dengan sebuah kotak. 6. Activation Bars : Berupa balok yang diletakkan di atas lifetime yang menandakan waktu pada saat object instance muncul. 7. Return Messages : Tanda panah horizontal yang terbalik dan merupakan pesan balasan. Setiap behavior harus memberikan pesan balasan, setidaknya pesan true atau false sebagai tanda keberhasilan. 8. Self-call : Sebuah objek dapat memangil method pada dirinya sendiri.
22 9. Frame : Sebuah frame digunakan untuk menandakan bahwa sebuah
controller
membutuhkan
pengulangan
melalui
seluruh item.
Gambar 2.9 Contoh Sequence Diagram (Whitten & Bentley,2007: 662).
2.6 Game Balancing Menurut Schell (2008: 172), terdapat 12 tipe game balancing yang umum digunakan, yaitu :
2.6.1 Fairness Salah satu unsur yang pemain inginkan dari sebuah game yaitu unsur keadilan. Pemain ingin merasakan adanya sebuah halangan yang membuat pemain tidak mungkin dikalahkan. Cara termudah untuk mewujudkannya yaitu menggunakan symmetrical. Symetrical memastikan semua pemain mendapatkan sumber daya dan kemampuan yang sama sehingga pemain dapat bermain secara adil. Sedangkan pemain yang menginginkan pengalaman bermain yang lebih real dapat menggunakan asymmetrical. Pemain akan diberikan sumber daya dan kemampuan yang berbeda namun tetap memperhitungkan keadilan dalam game.
2.6.2 Challenge vs. Success Game yang menarik harus memiliki tantangan untuk dilewati oleh pemain. Tantangan tersebut sebaiknya tidak berlebihan karena dapat
23 membuat pemain frustasi, sebaliknya jika tantangan terlalu mudah akan membuat pemain mudah bosan. Beberapa teknik yang digunakan untuk membuat tantangan yang baik yaitu: 1. Menambah tingkat kesulitan tiap menyelesaikan stage. 2. Membuat pemain melewati bagian yang mudah dengan cepat. 3. Membuat “Layers of Challenge”. Hal ini dapat terlihat pada stage game yang menggunakan sistem grade. Jika pemain sukses dengan grade C, pemain dapat memainkan ulang untuk mendapat kan grade yang lebih tinggi seperti A atau B. 4. Memberi kebebasan pemain dalam memilih tingkat kesulitan. 5. Melakukan test kepada berbagai jenis pemain.
2.6.3 Meaningful Choices Game yang baik akan memberikan pilihan kepada pemain untuk dilakukan. Pilihan ini membuat pemain merasa bahwa pemain memiliki peran penting dalam game. Namun pada pilihan yang diberikan tidak boleh terdapat pilihan yang jelas lebih baik dari yang lain. Situasi ini disebut dominant strategy. Ketika dominant strategy terjadi, maka pemain tidak lagi mengnggap game menarik.Pemain biasanya akan diberikan pilihan berupa pilihan yang aman dan memberikan low reward maupun pilihan yang beresiko dan memberikan high reward.
2.6.4 Skill vs. Chance Suatu game yang baik memiliki unsur skill dan chance yang seimbang. Namun sampai saat ini belum ada game yang seimbang secara menyeluruh. Oleh karena itu unsur skill dan chance harus disesuaikan dengan genre game yang diinginkan. Sebuah game dengan unsur skill yang dominan akan bergantung pada kemampuan dari pemain itu sendiri. Sedangkan, game dengan unsur chance akan bergantung pada nasib dari pemain sehingga sesuai untuk game yang bersifat santai.
2.6.5 Head vs. Hands
24 Tipe balancing ini ditentukan dari cara pemain memainkan game tersebut. Seberapa besar game tersebut melibatkan aktivitas fisik maupun pikiran akan menentukan keseimbangan dari game. Sebuah game dapat menuntut pemain untuk berpikir lebih banyak atau bertindak lebih banyak dalam menyelesaikan game.
2.6.6 Short vs. Long Game yang menarik harus memperhatikan aspek waktu dalam bermain. Game sebaiknya cukup panjang untuk memberikan waktu pemain untuk berpikir dan menikmati game. Namun game tidak boleh terlalu panjang hingga menyebabkan pemain jenuh. Salah satu faktor utama untuk mengatur waktu dari bermain adalah dengan memodifikasi kondisi menang.
2.6.7 Rewards Salah satu tujuan seseorang memainkan game dalam waktu lama adalah demi mendapatkan reward. Reward merupakan cara dari game memberikan hasil dari kemampuan pemain. Reward yang umum diberikan berupa : 1. Praise Salah satu reward yang paling sederhana yaitu pujian kepada pemain. Pujian ini menunjukkan bahwa pemain telah melakukan tugasnya dengan baik. 2. Points Rewards lain yang umum digunakan adalah sistem point. Reward ini sering digunakan sebagai tolak ukur dari kemampuan dari pemain. 3. Prolonged Play Contoh dari penggunaan reward jenis ini adalah penggunaan sistem nyawa dalam game. Pemain yang bermain dengan bagus akan diberikan nyawa agar dapat bermain lebih lama. 4. A Gateway Pemain game biasanya tidak hanya ingin menerima sekedar poin atau pujian. Pemain game juga memiliki sifat ingin tahu yang ingin mengeksplorasi game tersebut. Oleh karena itu
25 jika pemain telah menyelesaikan suatu stage, maka pemain akan dipindahkan ke stage lainnya. 5. Spectable Game dapat memberikan reward berupa tampilan ataupun musik yang menarik sebagai hasil dari permainan. 6. Expression Walaupun reward ini bukan tujuan utama dari suatu game, banyak pemain yang lebih suka mengekspresikan diri dalam game dengan dekorasi dan kostum. 7. Powers Pemain yang bermain game ingin memiliki kemampuan yang semakin baik. Game dapat memberikan keinginan pemain ini dengan memberikan power setiap menyelesaikan tugas tertentu. 8. Resources Game dapat memberikan penghargaan kepada pemain berupa sumber daya. Reward jenis ini lebih banyak ditemui dalam bentuk uang virtual dalam game tersebut. 9. Completion Dalam kebanyakan game, menyelesaikan game merupakan tujuan sekaligus penghargaan tertinggi dalam game tersebut.
2.6.8 Punishment Tipe balancing yang satu ini bertolak belakang dengan konsep game yang seharusnya menyenangkan untuk dimainkan. Namun jika punishment digunakan dengan tepat makan game akan menjadi semakin menarik dimainkan. Ini disebabkan karena punishment akan meningkatkan nilai dari rewards lainnya. Selain itu punishment juga membuat game semakin menantang.
2.6.9 Freedom vs. Controlled Experience Dalam game, pemain diberikan kebebasan untuk berinteraksi dengan game yang dimainkan. Namun kebebasan yang terlalu banyak akan memberikan beban bagi developer game tersebut. Oleh karena itu, sebuah
26 game sebaiknya membatasi kebebasan dari pemain namun membuat pemain tetap merasakan kebebasan sesuai yang pemain inginkan.
2.6.10 Simple vs. Complex Seorang game developer harus menyeimbangkan game dalam aspek kompleksitas. Game yang simple dapat dipandang sebagai game yang membosankan maupun game yang elegan. Begitu pula sebaliknya game yang bersifat kompleks dapat dianggap membingungkan maupun game yang kaya dan kreaftif. Sebuah game yang dapat menyeimbangkan aspek ini akan memberikan pengalaman bermain yang menarik untuk pemain.
2.6.11 Detail vs. Imagination Sebuah game sebaiknya memberikan kesan menyenangkan untuk dimainkan. Untuk memberikan kesan ini, game harus lebih menyenangkan dari dunia nyata. Oleh karena itu, game tidak perlu memperhatikan hal yang terlalu detail. Pemain yang akan mengisi detail lainnya dengan imajinasi masing-masing pemain.
2.6.12
Competition vs. Cooperative Suatu game akan memiliki keseimbangan dalam sistem kompetisi
dan kerja sama (kooperasi) dalam permainan yang disajikan. Sistem ini biasanya bekerja dalam game yang bersifat multiplayer. Keseimbangan ini akan membantu pemain dalam meningkatkan kerja sama antar pemain atau meningkatkan sisi kompettif dari permainan.
2.7 Incremental Model Incremental Proccess Model menurut Pressman (2010 : 41) dibagi menjadi beberapa tahap: 1. Communication Pentingnya berkomunikasi dengan customer dan stakeholder untuk memahami tujuan dan mengumpulkan persyaratan yang membantu mendefinisikan fitur dan fungsi software tersebut. 2. Planning
27 Perencanaan mendefinisikan kerja rekayasa perangkat lunak dengan menjelaskan
tugas-tugas yang dilakukan, sumber daya
yang akan diperlukan, apa yang harus diproduksi dan resiko yang mungkin ada. 3. Modelling Model dibuat untuk lebih memahami persyaratan software dan desain yang akan mencapai kebutuhan-kebutuhan tersebut. 4. Construction Pada bagian ini dilakukan penggabungan generalisasi kode (baik manual atau otomatis) dan pengujian yang diperlukan untuk mengetahui kesalahan - kesalahan dalam kode. 5. Deployment Software (sebagai entitas lengkap atau sebagai bagian yang telah selesai)
dberikan
kepada
customer
untuk
dievaluasi
dan
mendapatkan umpan balik berdasarkan evaluasi tersebut.
Gambar 2.10 Increment Process Model
Increment yang pertama merupakan core product, yang menjadi kebutuhan dasar yang diberikan. Core product ini yang akan digunakan oleh customer. Sebagai hasil dari pemakaian atau evaluasi, rencangan baru akan dibuat untuk increment tahap selanjutnya. Biasanya rencangan akan berupa modifikasi dari core product untuk memenuhi kebutuhan customer dan menambahkan fitur serta fungsi. Proses ini dilakukan secara berulang- ulang sampai product selesai dengan sempurna.
28 Pengembangan ini sangat baik digunakan ketika hanya tersedia sedikit karyawan untuk menyelesaikan program dengan batas waktu yang telah ditetapkan untuk proyek tersebut. Keuntungan dari model incremental adalah siklus yang sedang berjalan dapat tetap berjalan walaupun ada penambahan modul sehingga siklus dapat berjalan beriringan dengan pengerjaan siklus baru.
2.8
Unity 3D Unity adalah aplikasi membuat game dengan proses pembuatan yang lebih
mudah disertai tahapan-tahapan logika. Unity menyediakan sebuah kanvas kosong dan kumpulan prosedur yang konsisten agar pengguna dapat berimajinasi dalam membuat game (Goldstone, 2009: 14). Unity 3D pertama kali ditemukan pada tahun 2004 oleh David Helgason, Nicholas Francis, dan Joachim Ante. Unity 3D awalnya ditujukan untuk orang-orang yang ingin merancang game dengan harga engine yang terjangkau. Hal ini membuat Unity 3D memiliki beberapa kelebihan, yaitu : 1. Documentation Dokumentasi yang lengkap pada Unity 3D membuat game engine ini memiliki keunggulan tersendiri dibanding game engine lainnya. Dengan adanya dokumentasi yang lengkap, maka produktivitas dari pembuat game akan meningkat. 2. Developer Community Adanya komunitas yang aktif dapat membantu bagi yang baru belajar membuat game. Komunitas dari Unity 3D kebanyakan membahas masalah-masalah umum yang ditemukan ketika membuat game maupun tutorial yang menuntun dalam membuat game. 3. Drag-n-Drop Editor pada Unity tergolong mudah digunakan dibandingkan dengan game engine lain. Fitur drag-n-drop akan konten Unity mempermudah dalam menambahkan konten ke dalam environment yang telah dibuat. Setiap objek dapat dimasukkan dalam skrip yang beragam dengan menggunakan bahasa C#, Javascript, atau Boo Script.
29 4. Physics & Rendering Physics digunakan untuk memberikan massa, memindahkan, meberikan efek pegas dan efel melambung serta efek untuk mendeteksi tubrukan. Sedangkan rendering berguna
untuk
mempengaruhi tampilan dari objek yang terlihat.
5. Multiplatform Distribution Unity dapat dijalankan pada berbagai platform antara lain OSX, windows, atau sebagai Web-player. Unity dapat melakukan compile pada ketika platform tersebut. Saat ini aplikasi yang dirancang dengan Unity dapat dijalankan pada iOS, Androidm, Xbox, Playstation, dan sebagainya tergantung dari pengaturan oleh pembuat game. 6. Low Cost Harga yang ditawarkan oleh Unity tergolong terjangkau untuk game engine yang sudah memiliki fitur komplit. Pada website Unity, pembuat game dapat melakukan download secara CumaCuma. Namun bagi pengguna yang menginginkan fitur lebih, dapat membelinya dengan hara $1500. Dengan harga yang cukup tinggi, fitur yang diberikan juga sangat banyak dan memberikan kebebasan dalam mengembangkan game. Unity 3D bersifat lebih kompatibel dengan bahasa pemrogaman C# walaupun dapat menggunakan bahasa pemrograman lain seperti Javascript dan Boo. C# adalah bahasa pemrograman yang bersifat simple, moderen, dan type-safe. Maksud dari istilah type-safe ialah dapat mencegah kesalahan dalam pengetikan. C# memiliki dasar dari basahasa pemrograman C dan bagi programmer C,C++, dan Java akan merasa lebih familiar dengan bahasa C# (Hejlsberg,Torgersen, Wiltamuth & Golde, 2010: 1). C# merupakan bahasa pemrogaman berorientasi objek, namun pada pengembangannya juga mendukung pemrograman berorientasi komponen. C# menyediakan bahasa pembangun yang mendukung konsep-konsep yang membuat bahasa ini sangat mudah digunakan untuk membuat dan menggunakan komponen perangkat lunak (Hejlsberg,Torgersen, Wiltamuth & Golde, 2010: 1).
30
2.9 PHP Menurut W. Jason Gilmore (2010: 1), PHP adalah bahasa yang bebas(loosely typed), berarti tidak perlu secara eksplisit membuat, typecast, atau menghapus sebuah variabel. Bahasa PHP diciptakan untuk memenuhi kebutuhan lain yang belum terpenuhi pengembang dan disempurnakan dari waktu ke waktu untuk memenuhi kebutuhan masyarakat yang berkembang. PHP berfokus pada server-side scripting, sehingga dapat dilakukan berbagai macam program, seperti pengumpulan form data, menghasilkan halaman web yang dinamis, dan mengirim atau menerima cookies. PHP akan menghasilkan atau menapilkan data yang telah dimanipulasi pada halaman web HTML atau dapat juga di tampilkan melalui bahasa pemograman lain yang telah di hubungan dengan PHP sebelumnya. PHP dapat digunakan pada berbagai macam sistem operasi, seperti Linux, Microsoft Windows, Mac OS X, dan RISC OS. PHP juga dapat berjalan pada beberapa web server, seperti Apache, dan IIS.
2.10 Database Management System (DBMS) Connolly dan Begg (2010: 63) mengemukakan bahwa database adalah sebuah koleksi data yang secara logis terkait satu sama lain, yang dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Database merupakan sebuah atau kumpulan data yang digunakan secara berulang dalam suatu depatemen atau oleh pengguna. Perangkat dalam menyusun kumpulan data seperti ini disebut sebagai Database Management System (DBMS) . Dalam menuyusun dan merancang sebuah database diperlukan sebuah penggambaran susunan data yang digambarkan dalam bentuk diagram dengan sebuatan Entity Relationship Diagram (ERD).
2.10.1 Entity Relationship Diagram (ERD) Menurut Connolly dan Begg (2010: 473), penggunaan Entity Relationship
Diagram
(ERD)
memungkinkan
dalam
memberikan
kemudahan melakukan permodelan data. Entity Relationship Diagram (ERD) dipakai untuk menggambarkan hubungan atara satu entitas dengan entitas lainnya. Menurut Whitten dan Bentley (2007: 271), Entity Relationship Diagram (ERD) adalah model data yang menggunakan notasi-
31 notasi untuk emnggambarkan data dalam konteks entitas dan hubungannya yang dideskripsikan oleh data tersebut. 2.10.1.1 Entitas
Gambar 2.11 Contoh Penulisan Entitas (databases.about.com).
Dalam sebuah model database, setiap objek yang terdapat dalam database disebut sebagai entitas. Pada umumnya, setiap entitias tersimpan dalam tabel database dan setiap instansi dari sebuah entitas akan berpengaruh pada baris dalam tabel. Dalam pembuatan ERD, setiap entitas diwakili oleh simbol kotak dengan isi nama entitas.
2.10.1.2 Atribut
Gambar 2.12 Contoh Penulisan Atribut (databases.about.com).
Setiap database mengandung informasi-informasi mengenai entitasnya. Informasi-informasi ini terbentuk ke dalam kolom-kolom tabel yang dikenal dengan sebutan atribut. Atribut ini nantinya akan menjadi penghubung dari setiap tabel-tabel database.
32
2.10.1.3 Relasi dan Kardinalitas
Gambar 2.13 Contoh Relasi Antar Entitas. Kekuatan dari sebuah database terlihat dari relasi antara entitas-entitas yang terdapat dalam sebuah database. Hubungan antara satu entitas dengan entitas lainnya digambarkan dengan menggunakan
kardinalitas.
Pada
gambar
diatas,
entitas
digambarkan dengan sebuah garis lurus dengan beberapa keterangan tambahan. Gambar diatas menunjukkan relasi antara tabel entitas person dan city. Kardinalitas kedua entitias tersebut disimbolkan dengan keterangan lives in, simbol garis dobel, dan simbol lingkaran berkaki. Keterangan lives in menggambarkan bahwa seseorang (person) tinggal dalam kota (city). Garis dobel melambangkan relasi kardinalitas bernilai 1. Sedangkan simbol lingkaran berkaki melambangkan istilah ‘banyak’. Jadi maksud kedua simbol tersebut ialah setiap orang (person) dapat tinggal dalam satu kota (city). Kardinalitas akan membantu orang-orang dalam menghubungkan setiap entitas agar database mudah dipahami. Penggambaran database selain menggunakan ERD dapat juga digambarkan dengan menggunakan kamus data. Kamus data digambarkan dalam bentuk tabel-tabel berisikan data-data mengenai tabel database. Berikut contoh penggambaran kamus data :
33 Tabel 2.2 Contoh Kamus Data
Entity Name
Attributes
Description
Data Type
Nulls
Entitiy Key
ID yang digunakan Person
PersonID
sebagai penanda
String
No
PK
dalam database. FirstName
Nama awal user.
String
No
LastName
Nama akhir user.
String
No
Birthdate
Tanggal lahir user
Date
No
2.11 MySQL Menurut W. Jason Gilmore (2010:477-478), MySQL adalah database server relasional yang memiliki beberapa fitur yang berbeda dengan database server lain, yaitu: 1. Flexibility MySQL mampu dijalankan oleh banyak Operating System (OS) dan banyak bahasa pemrograman. 2. Power Kelebihan lain dari MySQL adalah kecepatan kinerja yang dimiliki, sehingga menjadi salah satu database yang populer. MySQL sebagai salah satu DBMS yang paling populer memiliki beberapa keunggulan dibandingkan dengan database lain, antara lain : 1. Peformance yang tinggi, reliable, dan mudah untuk digunakan. 2. Open Source, yang berarti dapat digunakan dan dikembangkan oleh siapa saja. 3. Dapat dijalankan pada sistem client/server maupun sebagai embedded system. 4. Cross-Platform, MySQL dapat digunakan pada berbagai macam sistem operasi.
34 2.12
Pemrogaman Bebasis Objek (PBO) Margaret Rouse dalam situs online searchsoa.techtarget.com menjelaskan
bahwa pemrograman berbasis objek (PBO) adalah model bahasa pemrogrman yang diorganisir lebih berdasarkan objek dibanding tindakan dan lebih berdasarkan pada data daripada logika. Pemograman berbasis objek lebih memusatkan perhatian pada objek yang ingin dimanipulasi dibanding logika untuk melakukan manipulasi. Contoh dari objek ialah manusia yang memiliki nama, alamat, dan jenis kelamin; bangunan yang propertinya bisa ditentukan dan diatur; hingga widget dalam komputer seperti tombol dan scoll bar. Segera setelah sebuah objek diidentifikasi, objek akan digeneralisasi sebagai kelas objek yang menetapkan jeins data yang dimiliki dan urutan logika yang dapat memanupulasi. Setiap urutan logika yang berbeda disebut sebagai method. Margaret Rouse menjelasan konsep dan aturan yang digunakan dalam PBO dapat memberikan keuntungan dalam poin-poin sebagai berikut : 1. Konsep dari kelas data memungkinkan untuk menentukan subclass dari objek data yang mempunyai beberapa atau semua karakteristik dari kelas utama. Hal ni disebut sebagai inheritance. Properti PBO ini membuat analisa data yang lebih menyeluruh, mengurangi wakttu pengembangan, dan menjamin hasil koding yang lebih akurat. 2. Program tidak akan mengakses data program lain secara tidak sengaja karena sebuah kelas hanya menetapkan data yang dibutuhkan ketika objek berjalan. Karakteristik data hiding ini memberikan keamanan sistem yang lebih besar dan menghindari data corruption yang tidak diinginkan. 3. Ketentuan dari sebuah kelas dapat digunakan kembali tidak hanya oleh program yang membuatnya tapi juga oleh program berbasis objek
lainnya.
Hal
ini
menyebabkan
kemudahan
dalam
pendistribusian dalam menggunakan jaringan. 4. Konsep kelas data memungkinkan programmer untuk membaut tipe data apapun yang belum ditetapkan oleh bahasa itu sendiri.