BAB 2 LANDASAN TEORI
2.1 Multimedia 2.6.1 Definisi Multimedia Multimedia terdiri dari dua kata yaitu multi dan media, dimana multi berarti banyak, majemuk, dan beraneka ragam, sedangkan media berarti suatu alat perantara untuk penyampaian sesuatu. Multimedia juga dapat diartikan sebagai kombinasi antara elemen-elemen teks/tulisan, gambar, suara, animasi dan video yang dimanipulasikan secara digital (Vaughan, 2011, p.1). Multimedia dapat dikatakan suatu bentuk baru dalam pembuatan program-program komputer dengan penggambungan lebih dari suatu media. Meskipun hanya mengandung sedikitnya dua elemen, sudah dikatakan sebagai multimedia (Septiana, 2011).
2.6.2
Elemen-Elemen Multimedia Menurut Vaughan (2011, p.19) multimedia dibagi menjadi lima
elemen, yaitu : 1. Teks Kata-kata dan simbol dalam bentuk lisan maupun tulisan adalah sistem yang paling umum digunakan dalam berkomunikasi. Keduanya memberikan pengertian yang dapat dimengerti secara luas, akurat dan terperinci. Karena hal ini, teks adalah elemen yang wajib disertakan dalam menu multimedia, sistem navigasi dan konten. (Vaughan, 2011, p.20). 2. Suara Suara merupakan salah satu elemen yang memiliki pengaruh yang kuat dalam multimedia. Berdasarkan metode penggunaan elemen suara, kekuatan suara dapat memberikan nuansa presentasi multimedia yang profesional. (Vaughan, 2011, p.104). 3. Gambar
5
6 Elemen gambar pada umumnya dapat diatur ke dalam ukuran, warna atau pola atau transparansi yang berbeda, diposisikan di depan atau di belakang objek atau dapat dibuat terlihat maupun tidak terlihat. Kolaborasi elemen, pemilihan warna dan jenis tulisan merupakan 10 bagian yang digunakan untuk menarik perhatian mata. Penggunaan tools adalah kemampuan, talenta, pengetahuan dan kreativitas yang disatukan sebagai komponen penting dalam menarik perhatian siapa pun yang melihatnya. (Vaughan, 2011, p.68) 4. Animasi Animasi merupakan sumber utama dalam pergerakan dinamis dalam presentasi multimedia yang selalu berubah secara visual dari waktu ke waktu. Animasi membuat sebuah presentasi yang statis terlihat lebih dinamis dan nyata. (Vaughan, 2011, p.140) 5. Video Di antara semua elemen multimedia lainnya, video memiliki tuntutan performa dan memori yang tinggi pada komputer. Dengan menggunakan elemen video, sebuah presentasi multimedia dapat membuat pihak yang melihat mengerti lebih banyak objek yang tampak. (Vaughan, 2011, p.164).
2.2 Interaksi Manusia dan Komputer Snheiderman dan Plaisan (2010, p.22-23) Interaksi Manusia dan Komputer (IMK) adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan manusia, serta studi yang berhubungan. Penerapan IMK dikatakan berhasil apabila pengguna dari SIA ini benar-benar dapat berinteraksi dengan sistem informasi ini, sehingga terjadi peningkatan kinerja dari seluruh personal yang terlibat dalam kegiatan bidang akademik ini (Syafri,2014).
7
2.2.1
Lima Faktor Manusia Terukur Shneiderman dan Plaisant (2010, p.32) menyatakan ada lima faktor yang menjadi pusat perancangan IMK, yaitu : 1. Waktu untuk belajar Lamanya waktu yang diperlukan oleh pengguna untuk mempelajari dan mengerti bagaimana mengoperasikan perintah-perintah yang terdapat di dalam aplikasi. 2. Kecepatan Kinerja Lamanya waktu yang dibutuhkan pengguna untuk menyelesaikan tugas sesuai perintah yang diberikan. 3. Tingkat Kesalahan Seberapa banyak dan seperti apakah kesalahan yang mungkin terjadi ketika pengguna melakukan tugas tersebut 4. Daya Ingat Bagaimana pengguna mengolah pengetahuan setelah beberapa waktu mengunakan aplikasi. Waktu belajar dan frekuensi penggunaan dapat mempengaruhi daya ingat yang dimiliki pengguna. 5. Kepuasan Subjektif Seberapa besar pengguna menyukai penggunaan bermacammacam aspek antarmuka. Hasilnya dapat diperoleh melalui feedback dari pengguna dengan cara wawancara atau survei.
2.2.2
Eight Golden Rules Untuk mendesain sebuah User Interface yang baik maka akan digunakan konsep Eight Golden Rules (Shneiderman, 2005, p74) yaitu : 1. Strive for consistency Konsistensi memiliki berbagai macam bentuk. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Cater to universal usability.
8 Untuk
mengurangi
jumlah
interaksi
dan meningkatkan
kecepatan interaksi bagi pengguna. Singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro sangat membantu untuk pengguna yang sudah ahli. 3. Offer informative feedback Untuk setiap tindakan operator, harus ada sistem umpan balik. Untuk tindakan yang sering dan minor, respon dapat dibuat sederhana, sedangkan untuk tindakan jarang terjadi dan besar, respon harus lebih substansial. 4. Design dialog to yield closure. Urutan tindakan harus diatur ke dalam kelompok dengan awal, tengah, dan akhir. Umpan balik yang diberikan oleh sebuah grup ke operator memberikan operator kepuasan, kelegaan, sinyal untuk melanjutkan rencana dan pilihan di kepala mereka, dan tanda untuk melanjutkan ke kegiatan berikutnya 5. Offer simple error handling. Sebisa mungkin, desainlah sistem sehingga pengguna tidak dapat membuat kesalahan serius. Jika melakukan kesalahan, sistem harus dapat mendeteksi kesalahan dan menawarkan bantuan. 6. Permit easy reversal of actions. Fitur ini mengurangi kecemasan, karena pengguna tahu bahwa kesalahan dapat dibatalkan.sehingga mendorong eksplorasi pilihan yang asing bagi mereka. 7. Support internal locus of control User yang berpengalaman sangat menginginkan kondisi dimana mereka bertanggung jawab atas sistem dan bahwa sistem merespon tindakan mereka. Desainlah sistem untuk membuat pengguna menjadi penggagas tindakan daripada responden. 8. Reduce short-term memory load. Keterbatasan pengolahan informasi manusia dalam memori jangka pendek mengharuskan tampilan interface ditampilkan secara sederhana, 12 beberapa halaman digabungkan, frekuensi windowmotion dikurangi, dan waktu pelatihan yang cukup untuk kode, mnemonik, dan urutan tindakan.
9
10
2.3 Database 2.3.1 Pengertian Database Menurut Thomas Conolly (2013, p.4), database adalah sekumpulan data terbagi yang terkait secara logis beserta penjelasannya, serta dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Database merupakan tempat penyimpanan data yang besar yang dapat digunakan secara bersamaan oleh beberapa departemen dan pengguna. Semua nilai data terintegrasi dengan jumlah dupikasi yang minimal, lebih baik daripada data yang tidak terhubung dengan pengulangan nilai data lebih banyak. Database tidak lagi dimiliki oleh satu departemen, namun merupakan sumber daya terbagi bagi sebuah perusahaan atau korporasi. Selain itu, database tidak hanya menyimpan data operasional dari sebuah organisasi, namun juga penjelasan dari data itu sendiri. Oleh sebab itu database juga disebut sebagai sekumpulan rekaman yang terintegrasi yang bersifat “self-describing”.
2.3.2 Database Management System(DBMS) DBMS, menurut Thomas Conolly (2013, p.16), adalah sebuah sistem perangkat lunak yang memampukan pengguna untuk mendefinisikan, menciptakan, mengatur, dan mengkontrol akses pada database. Dalam pengertian lain, DBMS adalah perangkat lunak ang berinteraksi dengan program aplikasi pengguna dan database.
2.3.3 Komponen DBMS DBMS memiliki 5 komponen utama dalam lingkungannya : hardware, software, data, prosedur, dan manusia. 1.
Hardware Sebuah DBMS dan aplikasi membutuhkan hardware dalam
pengoperasiannya. Hardware dapat berupa Personal Computer (PC) sampai sebuah mainframe atau jaringan computer. 2. Software
11 Komponen software terdiri dari software dari DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk software jaringan apabila sebuah DBMS digunakan pada sebuah jaringan.
3. Data Mungkin komponen terpenting dari sebuah lingkungan DBMS apabila dilihat dari sudut pandang end-user adalah data. Data menjadi jembatan yang menghubungkan komponen mesin dengan komponen manusia. Database berisi data operasional dan juga meta-data, “data dari sebuah data”. 4. Prosedur Prosedur mengacu pada perintah dan peraturan yang mengatur perancangan dan penggunaan database. Pengguna sistem serta pegawai yang mengatur database membutuhkan dokumentasi prosedur mengenai cara menggunakan atau menjalankan sistem. 5. Manusia Komponen terakhir adalah manusia yang terlibat di dalam sistem.
2.4 Unified Modeling Language (UML) Menurut Whitten & Bentley (2007, p.381), UML layaknya blueprint ketika ingin membangun sebuah rumah. Blueprint tersebut memberikan beberapa gambaran 16 mengenai masalah saluran air, listrik, atau AC. Pada perancangan aplikasi, UML memberikan beberapa perspektif bagi para tim pengembang.
Jenis-jenis UML Menurut Whitten & Bentley (2004, p.381), UML terdiri atas sembilan diagram yang dikelompokkan dalam lima kategori berdasarkan sudut pandangnya, yaitu:
1. Use-Case Model Diagram ”Use case diagram” menggambarkan interaksi antara sistem dengan luar sistem dengan user. Dengan kata lain use case diagram secara
12 grafis menggambarkan siapa yang akan menggunakan sistem dan dalam cara apa user ingin berinteraksi dengan sistem.
2. Static Structure Diagram UML menawarkan dua diagram untuk memodelkan struktur statis dari sistem informasi, yaitu: a. Class Diagram Melukiskan struktur sistem dalam bentuk objek. Disini digambarkan objek class yang membangun sistem beserta hubungan antar class. b. Object Diagram Serupa
dengan
class
diagram
tetapi
disamping
menggambarkan objek class, digambarkan juga objek instance yang menampilkan nilai atribut dari instance. 16 Diagram ini dapat digunakan untuk membantu tim pengembang untuk memahami struktur sistem lebih baik.
3. Interaction Diagram Interaction
diagram
memodelkan
interaksi,
terdiri
dari
sekumpulan objek, hubungan, dan pesan yang dikirimkan antar objek tersebut. Diagram ini memodelkan aspek dinamis dari sistem. UML ini memiliki dua diagram untuk tujuan ini, yaitu: a. Sequence Diagram Secara grafis menggambarkan bagaimana objek saling berinteraksi melalui pesan dalam melakukan suatu operasi atau melaksanakan use case. b. Collaboration Diagram Serupa dengan sequence diagram, tetapi yang difokuskan disini bukanlah urutan (sequence) melainkan interaksi antar objek dalam format jaringan.
4. State Diagram
13 State diagram juga memodelkan aspek dinamis dari sistem UML memiiliki diagram untuk memodelkan perilaku kompleks dari objek dan diagram untuk memodelkan perilaku dari use case. Diagram tersebut yaitu:
a. Activity Diagram Activity Diagram digunakan untuk menggambarkan urutan aktivitas secara berurutan dari proses bisnis atau use case.
b. Implementation Diagram Implementation diagram juga memodelkan struktur dari sistem
informasi.
Diagram
yang
termasuk
dalam
implementation diagram yaitu:
1. Component Diagram Digunakan untuk menggambarkan organisasi dari sistem dan ketergantungan dari komponen perangkat lunak dalam sistem. Componen diagram. Dapat juga digunakan untuk menunjukkan bagaimana kode program dibagi menjadi modul-modul.
2. Deployment Diagram Deployment diagram mendeskripsikan arsitek fisik dalam ‘node’ untuk hardware dan software dalam sistem. Disini digambarkan konfigurasi dari komponen software, processor, dan peralatan lain yang membangun arsitek sistem secara run-time.
2.4.1. Use Case Diagram Whitten & Bentley (2007, p.381) menyatakan bahwa use case diagram memberikan gambar mengenai interaksi antara user dan sistem luar dengan sistem. Dengan kata lain, use case diagram memberikan gambaran mengenai pengguna yang akan menggunakan sistem dan cara interaksi antara pengguna dengan sistem.
14
Gambar 2.1 Contoh Ilustrasi Use Case Diagram (Whitten & Bentley, 2007, p.384)
Aktor adalah pemeran atau pengguna yang berinteraksi langsung dengan sistem, ditunjukkan dengan gambar manusia berbentuk stickman.
Gambar 2.2 Aktor dalam Use Case Diagram
15 Communication Line adalah penghubung/penanda interaksi antara pengguna/pengoperasi sistem dengan aktifitas didalam sistem yang ada.
Gambar 2.3 Communication Lines dalam Use Case Diagram System Boundaries merupakan pembatas yang membatasi ruang lingkup sistem yang bekerja bersama ataupun tidak.
Gambar 2.4 System Boundary pada Use Case Diagram.
2.4.2. Activity Diagram Whitten & Bentley (2007, p.390) menyatakan bahwa sebuah activity diagram memberikan penggambaran mengenai aktivitas yang dilakukan di dalam sistem. Activity Diagram mampu menggambarkan alur yang berurutan dari sebuah aktivitas bisnis proses atau use case. Salah satu keistimewaan yang dimiliki oleh activity diagram adalah kemampuan untuk menggambarkan aktivitas parallel atau aktivitas yang dilakukan pada waktu yang bersamaan.
16
Tabel 2.1 Simbol Activity Diagram, Whitten dan Bentley (2007, p392-393) Nama Simbol Initial Node Actions
Flow
Decision
Merge
Fork
Gambar
Keterangan
Menunjukkan awal mulainya sebuah proses. Menunjukkan langkah individu, kumpulan actions beurutan membentuk aktivitas. Menunjuk ke langkah atau actions berikutnya, memiliki keterangan apabila berupa keluar dari decision. Menunjukkan adanya kondisi untuk melakukan pemilihan, memiliki 1 flow masuk dan 2 flow keluar. Menunjukkan proses yang berlanjut menjadi 1 flow keluar dari 2 atau lebih flow yang dipisahkan oleh decision. Menunjukkan adanya kegiatan paralel yang berlangsung bersamaan, memiliki 1 flow dan 2 atau lebih flow keluar. Menunjukkan semua actions yang harus diselesaikan
Join
sebelum belanjut ke proses selanjutnya, memiliki 2 atau lebih flow masuk dan 1 flow keluar.
Activity Final
Menunjukkan akhir dari proses.
17
2.4.3. Sequence Diagram Menurut Whitten dan Bentley (2007, p659), sequence diagram adalah salah satu diagram UML yang memodelkan logika dari use case dengan menggambarkan interaksi dari pesan antara objek dalam urutan waktu.
Gambar 2.5 Contoh Sequence Diagram, Whitten dan Bentley (2007, p659)
Menurut Whitten dan Bentley (2007, p660) gambar diatas mengilustrasikan notasi sequence diagram: Actor – Interaksi antara aktor dengan antarmuka penggunaditampilkan dengan simbol aktor use case. Kadang aktor berhenti berinteraksi demi kesederhanaan. Kadang aktor diwakili oleh kotak seperti kelas dengan sebuah notasi <
>.
Gambar 2.6 Actor, Whitten dan Bentley (2007, p659)
18
Interface class – Kotak yang menunjukkan kode kelas antarmuka pengguna dengan keterangan <> sebagai penanda jenis kelas antar muka. Tanda titik dua (:) adalah notasi standar dari sequence diagram yang menunjukkan contoh kelas yang berjalan.
Gambar 2.7 Interface class, Whitten dan Bentley (2007, p659) Controller class – Setiap use case akan mempunyai satu atau lebih controller classes, digambarkan dengan notasi yang sama dengan kelas antarmuka pengguna dan juga dicatat sebagai <>.
Gambar 2.8 Controller class, Whitten dan Bentley (2007, p659)
Entity classes – Kotak digunakan untuk setiap entitas yang membutuhkan kolaborasi ke dalam urutan langkah. Tanda titik dua (:) menunjukkan sebuah contoh objek.
Gambar 2.9 Entity classes, Whitten dan Bentley (2007, p659)
Messages – Panah horizontal yang tebal menunjukkan pesan yang masuk dikirim ke kelas. Setiap pesan memanggil method dari kelas yang ditunjuk. Ketentuan penulisan untuk pesan adalah kata
19 pertama dimulai dengan huruf kecil dan menambahkan kata-kata dengan huruf besar tanpa spasi.
Gambar 2.10 Messages, Whitten dan Bentley (2007, p659)
Activation bars – Bars atau batang yang terdapat pada jalur menunjukkan periode waktu selama setiap contoh objek ada. Activation bars juga menunjukkan lifetime objek di RAM.
Gambar 2.11 Activation bar, Whitten dan Bentley (2007, p659)
Return messages – Panah horizontal yang putus-putus menunjukkan pesan yang kembali. Setiap behavior harus mengembalikan sesuatu, minimal sebuah pesan benar/salah yang menunjukkan keberhasilan behavior.
Gambar 2.12 Return Messages, Whitten dan Bentley (2007, p659)
Self-call – Sebuah objek yang dapat memanggil method-nya sendiri.
Gambar 2.13 Self-call, Whitten dan Bentley (2007, p659)
20 Frame – Berguna untuk menunjukkan bahwa controller butuh untuk diulang melewati semua hal.
Gambar 2.14 Frame, Whitten dan Bentley (2007, p659)
2.4.4. Class Diagram Whitten & Bentley (2007, p.400) menjelaskan bahwa sebuah class diagram menggambarkan struktur objek di dalam sistem. Class diagram menunjukan kelas-kelas objek serta hubungan antar kelas objek tersebut di dalam sistem. Sebuah kelas diwakili oleh bentuk kotak di dalam class diagram. Dalam bentuk paling sederhana, kotak tersebut dapt berisi nama kelasnya saja, namun juga dapat berisi attribute dan method. Attribute adalah sesuatu yang menjadi ciri khas sebuah objek dan method apa yang dapat digunakan oleh kelas tersebut.
21
Gambar 2.15 Contoh Class Diagram (Whitten & Bentley, 2007, p.659)
22
2.5 Storyboard Menurut Vaughan (2011, p.259), storyboard adalah suatu ringkasan grafis yang berguna untuk menjelaskan proyek multimedia secara detail dengan penggunaan kata-kata dan gambaran kasar mengenai tiap-tiap tampilan gambar, suara, pilihan navigasi, isi teks, atribut proyek, font, bentuk tombol, umpan balik dan lain-lain. Adanya storyboard berguna untuk memvisualisasikan rancangan user interface sebelum implementasi pada sistem dimulai. Metode storyboard sangat sesuai digunakan untuk tim yang memerlukan pembuatan prototype.
2.6 Metodologi Penelitian Model proses awalnya digunakan untuk membantu penyusunan pada Software Development. Sejarah menunjukkan bahwa model-model tradisional membawa sejumlah struktur berguna untuk pekerjaan rekayasa perangkat lunak dan telah menyediakan peta jalan yang cukup efektif untuk tim perangkat lunak. Menurut Pressman (2005,p78), ada beberapa cara dalam membangun sebuah perangkat lunak. Beberapa diantaranya yaitu :
2.6.1 Waterfall Model Menurut Pressman (2005, p.78), ada beberapa model proses software yang umum digunakan, salah satunya adalah Model Sekuensial Linear ini juga dikenal dengan nama “Classic Life Cycle” atau “Waterfall Model”. Model ini melingkupi aktivitas-aktivitas sebagai berikut : 1. Rekayasa dan Pemodelan Sistem Informasi Rekayasa dan pemodelan sistem informasi diperlukan karena perangkat lunak selalu merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan keperangkat lunak tersebut. Perangkat lunak harus berhubungan dengan elemen-elemen yang lain seperti perangkat lunak, manusia, dan database.
23 2. Analisis kebutuhan perangkat lunak. Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untukm emahami sifat program yang dibangun, seorang perancang perangkat lunak harus memahami kebutuhan informasi, fungsi-fungsi, unjuk kerja, dan interface yang diperlukan.
3. Perancangan. Design perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat attribute sebuah program yang berbeda: struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma).
4. Pengkodean. Design harus diterjemahkan menjadi bentuk yang bisa dibaca atau dimengerti oleh komputer, biasanya dalam bentuk bahasa pemrograman.
5. Pengujian. Sekali kode dibuat, pengujian program juga dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
6. Pemeliharaan. Perangkat
lunak
akanmengalami
perubahan
setelah
disampaikan kepada pelanggan. Perubahan akan terjadi karena perangkat
lunak
harus disesuaikan
perubahan-perubahan
didalam
untuk mengakomodasikan
lingkungan
eksternalnya,
atau
pelanggan membutuhkan perkembangan fungsional atau untuk kerja. Pemeliharaan perangkat lunak mengaplikasi lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.
24
Gambar 2.16 Contoh Waterfall Model.
2.6.2 V-Model Salah satu variasi dalam representasi dari model Waterfall adalah V-model. Model ini menggambarkan hubungan antara pelaksanan
quality
assurance
(penjaminan
kualitas)
dengan
tindakan-tindakan yang terkait dengan komunikasi, pemodelan, dan konstruksi awal. Dimana tim software (developer) bergerak kebawah dari sisi kiri huruf V, menjelaskan masalah-masalah dan kebutuhan dasar menjadi lebih detil dan teknis, serta memberikan solusinya. Sementara tim QA (Quality Assurance), melakukan serangkaian tes untuk memastikan setiap model yang telah dibuat oleh tim software adalah benar. Pada kenyataannya, secara fundamental tidak ada perbedaan antara Waterfall dengan V-model. V-model hanya menggambarkan bagaimana proses verifikasi dan validasi diterapkan pada perancangan perangkat lunak (Pressman, 2009, p40).
Gambar 2.17 Contoh V-Model.
25
2.6.3 Incremental Incremental Proccess Model berdasarkan Pressman (2010,p41) dibagi menjadi beberapa tahap: a. Communication Sangat penting untuk berkomunikasi dengan customer dan para stakeholder untuk memahami tujuan proyek dan mengumpulkan persyaratan yang membantu mendefinisikan fitur perangkat lunak dan fungsinya. b. Planning Perencanaan mendefinisikan kerja rekayasa perangkat lunak dengan menjelaskan teknik tugas yang dilakukan, resiko yang mungkin, sumber daya yang akan diperlukan, produk yang harus diproduksi, dan jadwal. c. Modelling (analysis, design) Software engineer membuat model untuk lebih memahami persyaratan perangkat lunak dan desain yang akan mencapai kebutuhan tersebut. d. Construction (code, test) Kegiatan ini menggabungkan generasi kode (baik manual atau otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode. e. Deployment (delivery, feedback) Perangkat lunak (sebagai entitas lengkap atau sebagai bagian yang telah selesai) dikirim ke customer untuk dievaluasi dan mendapatkan umpan balik berdasarkan evaluasi tersebut
26
Gambar 2.18 Contoh Model Incremental
2.6.4 Prototyping Paradigma dari metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap,
tetapi
sesuatu
yang
harus
dimodifikasi
kembali,
dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu. Proses prototyping menurut Pressman (2005,p42) memulai dengan: 1. Listen to customer Listen to customer (requirement gathering) atau pertemuan untuk mencari data yang dibutuhkan. Programmer atau developer bertemu dengan user atau customer untuk membiacarakan atau mencari data-data yang dibutuhkan dalam membangun atau membuat proyek. 2.Build/receive mock-up Pada tahapan ini, programmer sudah mulai membangun dan membuat software atau aplikasi seteleh mendapat data-data yang diinginkan atau contoh aplikasi atau tampilan yang sudah dibuat. 3.Customer test drives mock-up Ini merupakan tahapan terakhir dimana software atau aplikasi yang dibuat oleh Programmer sudah dibuat, dapat diuji oleh
27 pelanggan atau user dengan maksud apakah sudah selesai sesuai permintaan atau masih ada kekurangan.
Gambar 2.19 Contoh Model Evolutionary Prototyping
2.6.5 Spiral Model Pada Spiral model, langkah-langkahnya meliputi komunikasi dengan user atau customer untuk mengetahui kebutuhan mereka, planning (tahap perencanaan), Risk analysis (tahap menganalisa masalah teknis dan yang mungkin terjadi), Engineering (tahap membuat aplikasi), Construction and release (tahap untuk mengimplementasikan aplikasi yang sudah jadi) dan yang terakhir evaluasi dari pengguna (Pressman,2001,p36-37).
Gambar 2.20 Contoh Model Evolutionary Spiral
28 2.6.6
Concurrent Model Pada model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal proses kerja maupun dari pemicu yang lain karena setiap pemicu akan saling berhubungan.
Gambar 2.21 Contoh Model Concurrent
29
2.7 Game 2.7.1 Definisi Game Game adalah sebuah jenis aktivitas bermain dalam konteks realitas semu di mana pihak – pihak yang berpartisipasi berusaha untuk mencapai satu tujuan tertentu dengan bertindak sesuai dengan aturan – aturan yang ditetapkan (Adams, 2010, p.3). Terdapat empat elemen utama yang harus ada dalam sebuah game. Elemen – elemen tersebut antara lain adalah play, pretending, goal dan rules (Adams, 2010, p.3). 1. Play Play adalah sebuah bentuk partisipasi dalam hiburan di mana buku, film dan teater adalah bentuk presentasi dari hiburan. Dalam sebuah game, pilihan yang ditentukan oleh pihak yang berpartisipasi akan menentukan perubahan – perubahan yang akan terjadi(Adams, 2010, p.4). 2. Pretending Pretending adalah sebuah tindakan yang menciptakan sebuah realita abstrak di dalam pikiran manusia. Nama lain untuk realita yang diciptakan dengan melakukan pretending adalah magic circle (Adams, 2010, p.4). 3. Goal Sebuah game harus memiliki goal, di mana goal dapat terdiri dari satu jenis atau lebih(Adams, 2010, p.6). Goal dari sebuah game didefinisikan oleh aturan – aturan di dalam game (Adams, 2010, p.6). 4. Rules Rules atau peraturan adalah sebuah instruksi yang telah disepakati dan diterima oleh pemain sepanjang permainan berjalan (Adams, 2010, p.8).
2.7.2.
Game Design Menurut Adams (2010, p29), game design adalah proses dari
mengimajinasikan sebuah game, mendefinisikan bagaimana cara kerja game, menggambarkan elemen dalam pembuatan game (konseptual, fungsional, artistik, dan lainnya), dan pengiriman informasi kepada team yang akan membuat game. 2.7.3 Game Design Documents
30 Menurut Adams (2010, p54-55), game design documents adalah serangkaian dokumen yang berisi desain game yang dirancang. Game design documents merupakan salah satu cara untuk mengkomunikasikan ide dan desain game antar anggota dalam sebuah tim perancang game. Menurut Adams (2010, p56-58), game design documents dibagi menjadi beberapa jenis yaitu : 1. High Concept Document High concept document adalah sebuah resume singkat tentang ide dan tujuan game yang biasanya berisi tidak lebih dari 2 sampai 4 halaman.
2. Game Treatment Document Sebuah dokumen sederhana yang berisi garis besar game yang akan dirancang. Game treatment document menjadi pegangan bagi para penerbit game saat presentasi game yang dilakukan oleh tim perancang game. 3. Character Design Document Character design document adalah dokumen yang secara khusus mencatat desain karakter yang ada di game. Dokumen bertujuan untuk menampilkan latar belakang, penampilan dan semua pergerakan dari karakter game. 4. World Design Document World design document adalah sebuah dasar untuk membangun semua seni dan audio yang menggambarkan dunia game. Dokumen ini berisi daftar benda yang ada di dalam dunia game. 5. Flowboard Flowboard, persilangan antara flowchart dan storyboard. Storyboard adalah dokumen yang saling berhubungan untuk merencanakan serangkaian kejadian. Flowchart adalah sebuah dokumentasi algoritma. Flowboard menggabungkan keduanya untuk mendokumentasikan struktur game. 6. Story and Level Progression Document Story and level progression document adalah dokumen yang mencatat cerita game secara garis besar dan perkembangan dari level game. Dokumen ini menunjukkan bagaimana pemain mengalami cerita di dalam game melalui berbagai unsur cerita: adegan singkat, uraian misi, dialog, dan unsur lainnya. 7. The Game Script
31 The game script adalah dokumen yang berisi peraturan dan prosedur dari sebuah game. Dokumen ini menjadi dasar bagi para programmer untuk merancang game.
2.7.4 Genre Game Menurut Adams (2010, p392-584), game dapat dibedakan menjadi beberapa kategori berdasarkan gameplay-nya yakni :
1. Action Games
Action games adalah game yang lebih menekankan pada keterampilan pemain dalam mengkoordinasikan mata dan tangan serta refleks yang cepat. Action game biasanya disajikan dengan penyelesaian teka-teki, game tembak-menembak (shooting games), game perkelahian (fighting games), game musik, dan lain-lain. Beberapa contoh dari action game adalah Counter Strike, Sonic, dan Metal Slug.
2. Strategy Games
Strategy games adalah game yang lebih menekankan pada bagaimana strategi pemain dapat mengelola sumber daya yang ada dan mengambil keputusan yang tepat untuk memenangkan game. Beberapa contoh adalah Age of empire, BattleRealms, Warcraft III, dan Star Craft.
3. Role Playing Games (RPG)
Role Playing Games adalah game dimana pemain mengendalikan seorang/beberapa karakter yang dirancang oleh pemain dan memimpin mereka dalam melakukan pencarian/penyelesaian masalah sesuai alur cerita game tersebut. Ciri khas dari RPG adalah pengembangan karakter dan jalan cerita yang kuat. Beberapa contoh adalah Final Fantasy, Fable, The Elder Scrolls : Skyrim, dan Ragnarok Online.
4. Sport
Game Sport adalah game yang mensimulasikan kegiatan olahraga yang bersifat nyata/khayalan. Pemain akan mengendalikan seorang karakter pemain atau sebuah tim yang akan bermain di dalam sebuah
32 pertandingan. Beberapa contoh dari sport game adalah Winning Eleven, Tiger Woods Pro, dan Pro Evolution Soccer.
5. Vehicle Simulation
Vehicle simulation adalah game yang mensimulasikan pemain dalam mengendarai sebuah kendaraan (air, darat atau udara) dan memberikan pengalaman pemain dalam berkendara. Beberapa contoh adalah Need For Speed Series, GT Radial, dan Euro Truck Simulator.
6. Construction and Management
Simulations Construction and management simulations adalah game yang lebih menekankan pada pertumbuhan ekonomi dan proses. Tujuan dari game ini bukan mengalahkan musuh tetapi membangun sesuatu dalam proses yang berkelanjutan. Beberapa contohnya adalah Sims City, Harvest Moon, dan Mall Tycoon.
7. Adventure Games
Adventure Games adalah game dimana pemain akan mengendalikan karakter untuk melakukan eksplorasi dan menyelesaikan petualangan. Biasanya jalan cerita dalam adventure games bersifat linear. Beberapa contoh adalah Mad Max : The Game, Indiana Jones, dan Pokemon.
8. Artificial Life Games
Artificial Life Games lebih menekankan bagaimana mengendalikan sebuah objek buatan yang hidup. Objek buatan ini memiliki siklus hidup layaknya makhluk hidup pada dunia nyata. Beberapa contohnya adalah The Sims, My Sims, Sims Pet, dan Nintendogs.
9. Endless Run
Endless Run adalah genre game dimana karakter pemain bergerak maju tanpa ada ujung pada dunia yang diciptakan secra prosedur. Kesederhanaan gameplay ini membuat daya tarik tersendiri untuk platform mobile. Beberapa contoh dari genre Endless Run ini adalah Canabalt (2009), Temple Run (2011) dan JetPack Joyride (2011)
33
10. Puzzle Games
Puzzle game menekankan pada penyelesaian sebuah teka-teki. Puzzle game memiliki level game dari yang mudah ke yang sulit. Beberapa contoh adalah Solitare, The Electric Box, dan The Incredible Machine.
2.7.5 Game Balancing Menurut Schell (2008), game balancing merupakan penyeimbangan elemen-elemen dalam sebuah game yang saling terkait. Game balancing dapat muncul dalam beberapa bentuk yang berbeda. Hal ini dikarenakan adanya perbedaan kondisi dalam masing-masing game yang perlu diseimbangkan. Beberapa jenis game balancing antara lain : 1. Fairness Sumber daya dan kekuatan yang seimbang untuk pemain game. 2. Challenge vs success Kesuksesan pemain game dalam menyelesaikan tantangan game akan menimbulkan tantangan game berikutnya yang lebih susah. Penyeimbangan ini dibuat supaya pemain game tidak merasa frustasi atau bosan terhadap tingkat kesulitan tantangan game. 3. Meaningful choice Keputusan pemain dalam mengambil sebuah keputusan dalam game akan berdampak jelas kepada pemain. 4. Skill vs chance Kesuksesan bermain game harus disesuaikan apakah berasal dari faktor keahlian pemain game atau keberuntungan. 5. Head vs hands Tantangan dalam game harus disesuaikan dengan jenis game, apakah lebih menekankan tantangan fisik atau berpikir. 6. Competition vs cooperation Game dapat berbentuk kompetisi atau kerja sama antar pemain. 7. Short vs long Durasi gameplay sebuah game, apakah singkat atau lama.
34
8.
Rewards Pemberian penghargaan kepada pemain game sesuai dengan tantangan yang diselesaikan.
9.
Punishment Penyesuaian hukuman yang diberikan kepada pemain apabila gagal menyelesaikan tantangan dalam game.
10.
Freedom vs controlled experience Penyesuaian lingkungan game, apakah pemain dapat bebas mengontrol lingkungan game atau bermain sesuai dengan lingkungan yang telah ditentukan.
11.
Simple vs Complex Game
yang
bersifat
simple
dapat
menimbulkan
kesan
elegan/membosankan. Game bersifat kompleks dapat menimbulkan kesan kaya akan kerumitan atau membingungkan. 12.
Detail vs imagination Penyeimbangan tingkat perincian dalam sebuah game. Game yang bersifat tidak terlalu rinci memberikan kesempatan kepada pemain game untuk berimaginasi.
13.
Tingkat kepuasan pemain game Menurut Hawkins, Nesbitt, dan Brown (2012), pemain game yang menyukai tantangan dalam game akan merasa puas jika mendapatkan penghargaan yang besar ketika menyelesaikan suatu tantangan. Sebaliknya pemain game yang cenderung menghindari tantangan dalam game akan merasa puas walaupun hanya mendapatkan penghargaan yang kecil ketika menyelesaikan tantangan dalam game
14.
Fitur Kustomisasi Berdasarkan penelitian yang dilakukan Turkay dan Adinolf (2010), fitur kustomisasi dalam game mempengaruhi tingkat kepuasan pemain game dalam skala yang sedang sampai besar. Sebagian besar pemain game
35 memilih fitur kustomisasi sebagai fitur yang dapat memberikan kepuasan dalam bermain game dibandingkan fitur musik maupun grafik.
36
2.7.6 Mobile Game Menurut Lam (2003, p.9), mobile game adalah game yang tidak hanya dapat dimainkan melalui telepon seluler, namun mobile game dapat dikembangkan dalam berbagai macam mobile handset seperti PDA, Symbian OS dan smartphone Microsoft. Menurut Fling (2009, p79-80), kelebihan aplikasi game pada telepon seluler yaitu: a. Game menyediakan cara yang mudah dan sederhana untuk menciptakan immersive experience. b. Game bisa dihubungkan dengan berbagai alat yang berkaitan dengan mudah.
2.7.7 Android Android adalah salah satu sistem operasi pada smartphone. Android pertama kali dibuat oleh Andy Rubin, Rich Miner, Nick Sears, dan Chris White tahun 2003 dan dibeli oleh Google tahun 2005. Dengan basis Linux, dan ditulis dengan bahasa pemrograman Java dengan Java Core Libraries dan menjadikan Android menjadi salah satu sistem operasi terkenal di dunia. Selain itu, Android menjadi sebuah platform yang mempunyai sifat generalisasi , sehingga, Android mampu menutupi semua sistem operasi dan aplikasi yang berjalan di atasnya. Android bersifat open-source, artinya seorang pengembang dapat menciptkana aplikasi berdasarkan kepada keinginannya sendiri, dan mereka tidak harus membayar untuk sekumpulan kode-kode dan untuk sebuah lisensi dari sebuah produsen (Lee, 2011, p.24) Linux kernel merupakan sebuah kernel(inti) yang menjadi dasar bagi Android. Layer ini berisi semua driver untuk beberapa perangkat keras dari sebuah perangkat Android. Libraries berisi seluruh kode yang menyediakan semua fitur utama dari Sistem Operasi Android. Library SQLite menyediakan pendukung basis data sehingga sebuah aplikasi dapat menggunakannya untuk menyimpan data. Webkit Library menyediakan kegunaan untuk browsing sebuah situs. Android runtime pada layer yang sama dengan libraries, Android runtime
menyediakan
sekumpulan
libraries
inti
yang
memberikan
37 kemampuan pengembang untuk menciptakan aplikasi Android dengan menggunakan bahasa pemrograman Java. Android runtime meliputi mesin virtual Dalvik, yang memampukan sebuah aplikasi Android berjalan pada prosesnya sendiri, dengan instance dari mesin virtual Dalvik (aplikasi Android di kompilasi menjadi Dalvik yang dapat dieksekusi). Dalvik adalah sebuah mesin virtual yang dirancang untuk Android secara spesifik dan dioptimasikan untuk perangkat-perangkat bertenaga baterai yang memiliki memory dan CPU yang terbatas. Application framework menampakkan beberapa kemampuan dari Sistem Operasi Android bagi para pengembang aplikasi sehingga mereka dapat menggunakannya di dalam aplikasi mereka. Applications pada layer atas, akan ditemukan aplikasi yang disematkan ke dalam perangkat Android(seperti Phone, Contacts, Browser), dan juga aplikasi yang di 25 unduh dan di install dari Android Market. Semua aplikasi yang di tulis terletak di layer ini (Lee, 2011).
2.7.8 Unity Unity 3D merupakan game engine / authoring tools yang dapat mempermudah game designer dalam membuat game, bahasa pemerograman yang bisa digunakan pada unity 3d adalah java sciprt, c# script dan boo, pada pembuatan game dengan Unity3D, setiap level didefinisikan sebagai sebuah scene, dimana scene tersebut merupakan area yang bisa diakses oleh pemain ketika user memainkan game (Fauzi,2011). Unity dibangun pada tahun 2004 oleh David Helgason, Nicholas Francis dan Joachim Ante. Game engine ini dibangun diatas dasar kepedulian mereka terhadap developer kecil yang tidak dapat membeli game engine karena terlalu mahal. Unity dipublikasikan pada april 2012 dan pengguna dari Unity terdiri dari satu juta developer yang terdaftar menggunakan Unity. Unity menggunakan salah satu game engine yang mudah untuk digunakan. Berikut ini adalah bagian – bagian dalam Unity3D:
1. Assets
38 Assets adalah tempat penyimpanan semua data, mulai dari scenes, gambar, tekstur, objek 3D, suara, dan objek lainnya yang mendukung dalam pembuatan game menggunakan Unity3D.
2. Scenes Sebuah area yang berisi konten dalam game , seperti konten menu, konten game, dan lain – lainnya. 3. Game objects Sebuah objek yang dapat memiliki banyak komponen. 4. Components Bagian dari game objek yang digunakan untuk mengatur game objek itu sendiri. 5. Script Bahasa yang digunakan pada unity terdiri dari 3 bahasa yaitu C#, Java Script, dan Boo. f. Prefabs Tempat penyimpanan yang telah disediakan oleh Unity.
2.8 Metodologi Testing Menurut Black (2009 :2), test granularity mengacu pada kehalusan atau kekasaran fokus tes. Test case yang halus mengijinkan tester untuk memeriksa detil pada tingkat rendah, biasa pada internal sistem. Test case yang kasar memberikan informasi tentang perilaku sistem secara umum kepada tester. Ada tiga spektrum pada test granularity, yaitu : a. Structural(White Box) Tests Menurut Black (2009 :2), Structural test (atau yang biasa disebut white-box tests dan glass-box tests) menemukan bug dalam elemen struktur tingkat rendah seperti yang terjadi di tingkatan code , data base scemas, chips, subassemblies dan interfaces. Pengujian struktural ini didasarkan pada bagaimana suatu sistem beroperasi. Contohnya, pengujian struktural akan mengungkapkan tempat penyimpanan database masih memiliki ruang penyimpanan username sebanyak 80 karakter, tetapi pada kenyataannya hanya memungkinkan menyimpan 40 karakter. Pengujian struktural melibatkan pengetahuan teknis terperinci dari sistem. Untuk menguji software, tester membuat pengujian yang paling
39 struktural dengan melihat kode dan struktur data itu sendiri. Untuk pengujian hardware, tester membuat pengujian struktural untuk membandingkan spesifikasi chip untuk pembacaan oscilloscopes atau meter tegangan. b. Behavioral (Black Box) Tests Menurut Black (2009 :3), Tester menggunakan behavioral test (disebut juga Black-Box Tests), sering digunakan untuk menemukan bug dalam high level operations, pada tingkatan fitur, profil operasional dan skenario customer. Tester dapat membuat pengujian fungsional black box berdasarkan pada apa yang harus sistem lakukan. Behavioral testing melibatkan pemahaman rinci mengenai domain aplikasi, masalah bisnis yang dipecahkan oleh sistem dan misi yang dilakukan sistem. Behavioral test paling baik dilakukan oleh penguji yang memahami desain sistem, setidaknya pada tingkat yang tinggi sehingga mereka dapat secara efektif menemukan bug umum untuk jenis desain. Menurut Nidhra dan Dondeti (2012:1), black box testing juga disebut functional testing, sebuah teknik pengujian fungsional yang merancang test case berdasarkan informasi dari spesifikasi. c. Live Tests Menurut Black (2009 :4), Live test mengikutsertakan customer, content experts, early adopter, dan end user lainnya dalam pengujian sistem. Dalam beberapa kasus, penulis mendorong tester untuk mencoba 28 menelusuri sistem tersebut. Beta testing merupakan salah satu bug-driven live test yang dikenal
2.9 Penelitian Terkait Game merupakan salah satu media yang digunakan untuk mengasah keterampilan otak dalam mengatasi konflik atau permasalahan yang ada dalam permainan. Permasalahan atau konflik yang dibuat dalam sebuah game diambil dari kehidupan nyata dan digabungkan dengan sisi khayalan. Hal ini dimaksudkan untuk membuat alur konflik atau permasalahan menjadi lebih menarik untuk dipecahkan. (Martono, 2011, p. 49-50) Endless Run adalah genre game dimana karakter pemain bergerak maju tanpa ada ujung pada dunia yang diciptakan secra prosedur.
40 Kesederhanaan gameplay ini membuat daya tarik tersendiri untuk platform mobile. Beberapa contoh dari genre Endless Run ini adalah Canabalt (2009), Temple Run (2011) dan JetPack Joyride (2011) (Rubem,2011) Game dapat diklasifikasikan menjadi beberapa jenis, yaitu berdasarkan platform yang digunakan, dimensi, dan genre dari game itu sendiri. Platform merupakan kombinasi spesifik dari komponen elektronik atau perangkat keras komputer dengan perangkat lunak yang memungkinkan game untuk beroperasi (Mahardika,2011). Berdasarkan platform yang digunakan, game dapat dibagi menjadi beberapa jenis, diantaranya: 1. Arcade games, yaitu game yang biasanya memiliki box atau mesin yang memang khusus di desain untuk jenis video games tertentu, bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa masuk dan menikmati , seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil. Arcade games biasanya berada di daerah/tempat khusus, sebagai contoh di Indonesia dikenal dengan sebutan dingdong. 2. PC games, yaitu game yang dimainkan menggunakan komputer pribadi. 3. Console games, yaitu game yang dimainkan menggunakan konsol tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii. 4. Handheld games, yaitu game yang dimainkan di konsol khusus video game yang dapat dibawa kemana-mana (portable), sebagai contoh Nintendo DS dan Sony PSP. 5. Mobile games, yaitu game yang dapat dimainkan khusus untuk mobile phone atau PDA.