7
TINJAUAN PUSTAKA
2.1 Multimedia
2.1.1 Pengertian Multimedia
Menurut Vaughan (2011 pp. 1 - 2) Multimedia merupakan kombinasi dari berbagai elemen media seperti teks, gambar, animasi, dan video yang disampaikan kepada usernya secara digital. Ketika user dapat mengendalikan informasi yang disampaikan seperti apa yang ditampilkan dan kapan ditampilkan berarti user tersebut sedang menggunakan multimedia interaktif. Multimedia sangat berguna untuk digunakan pads saat user terhubung pada perangkat dengan tampilan elektronik. Multimedia meningkatkan kemampuan user untuk menyerap informasi dengan mempresentasikan informasi dengan menarik untuk mempertahankan konsentrasi dan ketertarikan user. Dengan kata lain, Multimedia meningkatkan transfer informasi kepada user, dan jika dibuat dan dirancang dengan benar multimedia juga dapat menjadi hiburan.
2.1.2 Elemen Multimedia
Dalam pembuatan multimedia ada 5 elemen utama yang digunakan yaitu :
1. Teks
Penggunaan teks atau tulisan dan simbol pertama kali muncul pada 6000 tahun yang lalu saat berkembangnya perabadan Mesopotamia, Mesir, Sumeria, dan Babylonia ketika ditemukannya sebuah papan lumpur dengan simbol-simbol. Pada saat itu, hanya anggota dengan status bangsawan atau keagamaan yang memiliki wewenang untuk membaca dan menulis. Tulisan pada saat itu umumnya berisi informasi untuk mengelola masyarakat, politik, dan pajak. Dan karena tulisan tidak bergantung pada ingatan dan otak manusia, tulisan menjadi lebih populer pada kalangan elit dari masyarakat. Tulisan juga tidak terikat pada masalah yang dihadapi manusia seperti
penyakit,kematian dan kehilangan ingatan, karena walau hal itu terjadi tulisan tetap tertinggal dan dapat dimengerti asalkan ada manusia yang mampu membaca dan mengerti artinya. Dan pada saat itu membaca dan menulis dapat dijatuhkan hukuman berat jika yang bersangkutan bukan dari kalangan bangsawan atau tidak memiliki wewenang tersebut. (Vaughan, 2011 pp. 18).
Menurut Vaughan (2011 pp. 19), semenjak berkembang pesatnya internet dan World Wide Web, penggunaan tulisan menjadi lebih penting dari sebelumnya. Dengan penggunaan HTML, aksek ke majalah, makalah akademis, manual hingga buku menjadi sangat mudah, dan dengan ditambahkannya hyperlink tulisan memperluas kemungkinan untuk hubungan antar informasi lebih informatif dan luas dibandingkan buku.
2. Gambar
Multimedia pada perangkat elektronik merupakan kombinasi dari elemen seperti teks, gambar, foto, hasil render 3D, tombol dan sebagainya. Gambar pada tampilan mungkin saja dapat bergerak atau berubah yang menjadikan tampilan lebih menarik dan tidak membosankan kepada user. (Vaughan, 2011 pp. 68).
Menurut Vaughan (2011 pp. 70 ), ada 2 jenis gambar yang digunakan pada multimedia yaitu :
a. Bitmap
Bitmap digunakan untuk gambar yang photo-realistic dan gambar yang memerlukan detail yang tinggi. Bitmap. Pada saat digambar pada layar, bitmap menggunakan matriks 2-dimensi yang mengandung bit dengan nilai binary. Dan karena itu, bitmap merupakan matriks sederhana yang mmebentuk titik yang akan membentuk sebuah gambar. Pada sebuah gambar, gambar tersebut dibentuk oleh unit yang disebut dengan pels atau lebih umum pixels. Sebuah pixel akan mengandung bitmap yang merepresentasikan warna pada layar. Kompleksitas dan keberagaman warna pada sebuah layar ditentukan oleh bit-depth dengan jumlah bit yang semakin banyak dapat merepresentasikan gambar
dengan lebih banyak warna seperti 1-bit merepresentasikan gambar monochrome karena setiap pixel hanya dapat menampung 2 jenis warna karena hanya hanya ada 2 jenis kombinasi binary (0,1) dan 2-bit dapat menampilkan 4 warna karena ada 4 jenis kombinasi binary (00,01,11,10) dan yang paling umum digunakan pada layar komputer yaitu 24-bit yang dapat merepresentasikan hingga 16,777,216 warna. (Vaughan, 2011 pp.70-71)
b. Vector
Vector digunakan untuk meggambar bentuk-bentuk yang dapat diekspresikan dengan formula matematika seperti lingkaran, persegi, segitiga, poligon. Vector menggambarkan objek pada layar dengan menggunakan koordinat cartesius. Sebuah vector merupakan suatu garis yang memiliki 2 titik dimana garis tersebut dimulai dan berakhir. Titik tersebut direpresentasikan dengan sepasang nilai koordinat pada ruang 2-dimensi yang merupakan persilangan dari garis horizontal dan vertical (sumbu x dan y), dan garis kedalaman jika garis tersebut berada pada ruang 3-dimensi (sumbu x,y, dan z). (Vaughan, 2011 pp. 70,80)
3. Suara
Suara merupakan getaran, tekanan dan gelombang udara yang dirasakan oleh gendang telinga. Suara dapat mempengaruhi mood seseorang seperti musik yang bagus membuat seseorang merasa semangat dan merinding, hingga membuat sebuah keadaan terasa mencekam dengan efek suara. Penggunaan suara ini menjadikan multimedia menjadi sangat kuat, tetapi digunakan dengan sembarangan maka akan menyebabkan suatu presentasi multimedia menjadi kacau dan menjatuhkan mood dari user. (Vaughan, 2011 pp. 104).
Suara pada multimedia dapat dibagi menjadi 2 yaitu : a. Digital Audio
Digital Audio diciptakan ketika gelombang suara direpresentasikan dengan angka-angka yang disebut dengan digitizing. Suara yang digitalisasi merupakan suara yang telah disampel pada sekian detik dan disimpan sebagai angka yang merepresentasikan amplitudo. Kualitas dari suatu audio digital bergantung pada sampling rate, semakin tinggi sampling rate dari audio maka semakin tinggi resolusi dan kualitas dari audio tersebut. Digital audio dapat direkam atau dibuat dengan peralatan seperti microphone, synthesizer, hingga memanipulasi sumber audio yang telah ada. Dan dapat diputar dengan mengunakan media player yang umumnya ada pada komputer. (Vaughan, 2011 pp. 106)
b. MIDI (Musical Instrument Digital Interface)
MIDI merupakan standar komunikasi untuk peralatan musik dengan komputer yang dikembangkan pada awal tahun 1980. MIDI berbeda dengan audio digital dimana audio digital merupakan rekaman dari suara-suara, sedangkan MIDI tidak merekam suara tetapi merekam angka yang merupakan representasi dari kunci nada yang ditekan dan lamanya yang kemudian menghasilkan suatu score. Suatu file MIDI berisi perintah-perintah yang direkam sesuai dengan waktu suatu kegitan musikal dilakukan seperti menekan tombol piano, menginjak pedal pada drum, dan sebagainya. Berbeda dengan audio digital yang dapat direkam dan diputar dengan media player, file MIDI memerlukan software khusus untuk merekam dan menerjemahkan perintah-perintah dalam MIDI menjadi suara, MIDI memerlukan: notation software,sequencer, dan synthesizer software untuk menghasilkan suatu score. (Vaughan, 2011 pp. 113-114)
4. Animasi
Menurut Vaughan (2011 pp. 140-142), animasi pada suatu presentasi akan membuat presentasi yang statis terasa hidup
dengan ditambahkannya pergerakan pada elemen yang ada. Elemen yang diberi animasi akan lebih menarik perhatian dan membantu presentasi menjadi lebih fokus pada poin yang dibahas. Animasi terjadi karena pada suatu gambar diberikan perubahan yang terlihat tidak signifikan dan diperlihatkan dengan cepat secara berurutan yangmenimbulkan ilusi seakan gambar tersebut bergerak.
5. Video
Menurut Vaughan (2011 pp. 164), video merupakan elemen multimedia yang dapat membuat penonton terpukau atau membuat siswa tertarik pada presentasi. Video semenjak awal diciptakanyya film bisu pertama telah memukau penontonnya hingga saat ini. Video merupakan elemen multimedia yang paling efektif dalam membuat user merasa terkoneksi dengan dunia nyata.
2.1.3 Storyboard
Menurut Vaughan (2011 pp. 295), storyboards merupakan cara untuk menjelaskan proyek secara detail dengan menggunakan kata-kata dan sketsa untuk menjelaskan setiap layar gambar, suara, navigasi hingga usern warna, konten tulisan, jenis tulisan, bentuk tombol dan sebagainya, untuk storyboard jenis ini lebih umum ditemukan pada tim yang besar dan mampu membuat prototype yang cepat. Untuk tim yang kecil storyboard dapat hanya mengandung beberapa informasi saja dan lebih digunakan sebagai panduan untuk mendesain pada workstation.
2.2 Game
2.2.1 Pengertian Game
Menurut Adams (2013 pp. 2) game merupakan suatu aktivitas bermain `atau sandiwara dalam suatu realita imajiner yang dibentuk yang dimana peserta-pesertanya berusaha untuk mencapai suatu tujuan yang abstrak dan tidak signifikan dengan bertindak sesuai aturan.
2.2.2 Genre Game
Genre merupakan kategori game yang dikarakterisasi oleh tantangan tertentu tanpa mempeduli latar belakang dan isi dari dunia game tersebut.
Mirip seperti media-media film dan buku, genre mendefinisikan jenis-jenis yang berbeda dari medianya, tetapi khusus untuk game, genre mengacu pada jenis tantangan dan permainan yang dihadapi dalam game. Game sekarang menjadi semakin susah untuk diklasifikasikan ke dalam genre tertentu akibat kreativitas untuk mengikuti perkembangan game masa kini. Akibatnya suatu game menjadi susah untuk dikategorikan secara umum sehingga mulai bermunculan sub-genre game yang berguna untuk lebih mendefinisikan game (Adams, 2013 :pp. 67-68).
Dalam game ada 9 jenis genre game yang dianggap sebagai dasar dari genre-genre game sekarang yang bermunculan atau disebut sebagai classic game genres. 9 genre game tersebut yaitu :
1. Shooter Games
Dalam genre game shooters , pemain memainkan game dengan menggunakan dari jarak jauh. Karena itu kemampuan untuk membidik, pengaturan amunisi, kesadaran akan lokasi target dan karakter pemain menjadi kunci utama untuk memainkan genre game ini. Dalam genre ini dibagi lagi menjadi 2 subgenre yang baru yaitu : 2D shooter dan 3D shooter. Dalam 2D shooter permainan dimainkan dalam lingkungan yang dilihat dengan perspektif top-down atau side-view dimana pemain akan melawan musuh yang berdatangan biasanya dalam jumlah yang cukup banyak. Dalam 3D shooter pemain akan memainkan game dengan perspektif first person atau third person dalam lingkungan yang mendekati model dunia nyata seperti gravitasi, pergerakan rumput, bayangan objek dan collision.
2. Action dan Arcade Games
Dalam genre game ini tantangan yang dimunculkan kebanyakan bersifat tantangan fisik yang berupa puzzle, balapan, dan berbagai tantangan lainnya. Digabungkan dengan genre arcade yang bersifat tidak bisa dimenangkan dan hanya bertambah susah level permainannya, kedua genre ini membentuk kombinasi yang sering terlihat pada game mobile dan pada pusat permainan video game. Ada 2 subgenre umum yang terdapat pada genre ini yaitu platform games dan fighting games. Pada platform games, permainan berlangsung pada lingkungan dengan
balok-balok yang memiliki ketinggian berbeda dan umumnya mempunyai desain level yang berlebihan dan tidak realistis dangan karakter pemain mampu melakukan gerakan melompat yang sangat tinggi dan manuver yang tidak bisa dilakukan pada dunia nyata untuk menjelajahi dan navigasi pada dunia game. Sedangkan pada fighting game permainan berlangsung dengan pemain memilih karakter yang akan digunakan untuk bertarung melawan musuhnya, tetapi berbeda dengan game action lainnya permainan ini tidak melibatkan eksplorasi, menembak, puzzle dan sebagainya, tetapi masi terhitung sebagai game action karena memerlukan kemampuan fisik untuk mengeluarkan teknik bela diri yang berlebihan. 3. Strategy Games
Strategy games memerlukan tantangan strategik, taktis, dan terkadang logistik untuk dimainkan. Strategy games berbeda dengan game puzzle dikarenakan pada puzzle memerlukan perencanaan tapi tanpa adanya konflik yang memerlukan tindakan langsung, berbeda dengan strategy games yang umumnya memiliki tujuan untuk mengurangi jumlah musuhnya umumnya dengan latar perang. Genre ini memiliki 2 subgenre yaitu real time strategy dan turn based strategy. Dengan real time strategy memiliki waktu permainan yang lebih cepat, berbeda dengan turn based strategy yang memiliki waktu permainan yang lama karena permainan lebih fokus pada perencanaan secara strategis dalam jangka waktu lama.
4. Role Playing Games
Role playing games memeberikan pemain kebebasan untuk berinteraksi dengan dunia game dengan interaksi yang lebih luas dan mendalam. Kebanyakan game RPG memberi pemain sesuatu yang tidak didapatkan pada dunia nyata yaitu, perasaan merasakan perkembangan dan pertumbuhan dari seorang karakter yang merupakan orang biasa menjadi seorang pahlawan yang memiliki kekuatan menakjubkan, dan pemain dapat memilih cara untuk mengembangkan karakternya sehingga menimbulkan role-play yang lebih mendalam dibanding genre lainnya. 5. Sport Games
Pada genre ini game yang dibuat memerlukan perhatian khusus dari desainer game. Hal ini dikarenakan dunia permainannya mengikuti dunia
asli dari permainan olahraga yang diambil, dengan begitu pemain akan sangat mengerti akan dunia dimana permainan berlangsung sehingga diperlukan perhatian kepada detil-detil dari dunia game ini. Walau begitu, tidak berarti genre game ini ultrarealistis, beberapa desainer mampu membuat game yang menggunakan tema fantasi untuk permainan olahraganya sehingga memunculkan keunikan tersendiri untuk genre ini. 6. Vehicle Simulations
Genre game ini berusaha untuk mensimulasikan perasaan mengemudikan mobil, menerbangkan pesawat, dan kendaraan lain yang memang ada ataupun kenderaan fiksi. pada genre ini, tujuan utama ialah untuk mencapai kesamaan dengan dunia nyata. Dan pada game, yang diperlukan merupakan perasaan bahwa ada pergerakan yang dilakukan karena aksi yang dilakukan oleh pemain untuk mengendalikannya. Vehicle simulations memiliki 2 subgenre yang lebih umum yaitu flight simulator dan driving simulator. Pada flight simulator, pemain mensimulasikan permainan pesawat dengan kontrol yang hampir mendekati kokpit pesawat asli baik pesawat sipil maupun militier hingga pesawat fiksi. Untuk driving simulator, pemain dihadapkan pada situasi balapan yang memang merupakan balapan pada dunia asli ataupun fiktif.
7. Construction dan Simulation Games
Genre construction dan simulation games sering juga disebut sebagai construction and management simulation (CMS). Pada genre ini, pemain berkesempatan untuk membangun berbagai hal mulai dari sebuah kota, desa, hingga sarang semut, dengan tantangannya merupakan membangun dengan limitasi secara ekonomi. Game ini terfokus pada proses, pada permainan tidak ada musuh yang harus dikalahkan, tetapi membangun sesuatu dengan memperhatikan segala proses yang terjadi. Semakin seorang pemain mengerti dan mampu mengontrol proses yang terjadi, semakin jauh dan sukses dalam memainkan jenis game ini.
8. Adventure Games
Berbeda dengan genre game lain, adventure games tidak memberikan tantangan berupa musuh yang harus dikalahkan atau memanajemen proses. Tetapi, adventure games merupakan sebuah cerita interaktif tentang karakter yang dikendalikan pemain. Jenis game ini melihat
karakter pemain sebagai sebuah karakter yang berdiri sendiri dengan latar belakang, emosi, dan merupakan protagonis dari cerita. Berbeda dengan jenis game RPG yang melihat perkembangan karakter secara numerik, adventure games melihat karakter pemain berkembang secara emosional dan lebih dramatis. Pada genre ini, kemampuan seorang desainer game untuk membuat cerita, dialog, karakter dan latar belakang yang bermutu sangatlah penting untuk membuat dunia yang akan melibatkan pemain secara emosional.
9. Puzzle Games
Dalam puzzle games, memecahakan teka-teki merupakan tujuan utama dari permainan. Teka-teki yang dihadapkan kebanyakan bersifat mencari pola, membuat kesimpulan logis, pengertian proses, dan sebagainya. Umumnya dalam suatu permainan, pemain akan diberikan petunjuk dan sedikit bantuan untuk memecahkan teka-teki yang diberikan. Walau dalam puzzle games dapat diberikan sedikit cerita atau tujuan akumulatif yang lebih besar, bukan berarti dalam game dapat diberi teka-teki atau tantangan yang acak dan tidak berhubungan, dan untuk itu puzzle game didesain dengan pertimbangan tema dan biasanya mempunya perbedaan pada variasi dan teka-teki yang berhubungan. Walau tantangan dari genre game ini bersifat konseptual dan logis, terkadang ada variasi yang memunculkan elemen waktu dan action untuk mempercepat pacu game. 2.2.3 Game Design Document
Menurut Adams (2013 pp. 57), dalam pengembangan game, seorang programmer pemula sering membuat kesalahan dengan memikirkan sebuah game dan langsung terjun mengerjakannya. Tetapi, dalam pengembangan game komersil pendekatan ini akan sangat berbahaya karena proyek yang berbeda memerlukan formalitas yang bertingkat, kecuali pengembangan game dilakukan oleh sebuah tim kecil, maka pengembangan game memerlukan dokumen tertulis mengenai rencana pengembangan.
Menurut Adams (2013 pp. 57-58), ada 5 alasan mengapa seorang game designer menuliskan game design document :
1. Dokumen desain merupakan catatan keputusan yang diambil dan meninggalkan jejak pengembangan
2. Dokumen desain memperjelas ide umum menjadi lebih detil 3. Dokumen desain menjelaskan dan memberitahu rencana
pengembangan ke tim dan tim dapat merencanakan tugas yang diperlukan
4. Dokumen desain terkadang bisa menjadi dasar kontrak pengembangan.
5. Dokumen desain dapat digunakan sebagai bukti pengembangan untuk diberikan kepada publisher dan sebagainya
2.2.3.1 High Concept Document
Sebelum mengembangkan game, game developer dapat terlebih dahulu membuat dokumen tertulis yang menjelaskan ide, fitur, dan rencana desain utama untuk diberikan kepada produser atau sponsor. Dalam dokumen ini, informasi ditulis dengan jelas dan singkat agar mudah dibaca dan memberi gambaran apa yang akan dibuat (Adams, 2013 pp. 59).
2.2.4 Game Balancing
Agar game dapat menyenangkan untuk dimainkan, sebuah game haruslah diseimbangkan dengan baik. Game tidak boleh menjadi terlalu mudah ataupun terlalu susah dan tetap adil untuk pemainnya baik mereka melawan sesama pemain ataupun bermain sendiri (Adams, 2013 pp. 403).
Dalam mendesain game yang seimbang baik itu player-versus-player (PvP) ataupun player-versus-enemies (PvE) ada beberapa karakteristik yang akan dimiliki game, yaitu (Adams, 2013 pp. 404):
1. Game memberikan pilihan yang berarti.
Sebuah game akan memiliki banyak strategi untuk memainkan game, dan pada game yang seimbang tidak ada strategi yang akan menjadi sangat efektif sehingga pemain merasa tidak ada gunanya menjalankan strategi lain, keadaan ini disebut dengan
dominant strategy dan merupakan indikasi game tidak diseimbangakan dengan baik.
2. Peran dari keberuntungan tidak terlalu besar yang bisa menyebabkan kemampuan pemain tidak berpengaruh.
Keberuntungan disini bukan berarti pemain tidak akan pernah mengalami ketidakberuntungan, tetapi untuk permainan yang lebih lama pemain yang lebih bisa akan lebih sukses memainkan game dibandingkan pemain yang tidak terlalu bisa memainkan game.
Lebih dikhususkan untuk game PvP, game akan memiliki kualitas sebagai berikut (Adams, 2013 pp. 404) :
1. Pemain merasa game adil dan wajar untuk dimainkan.
Tingkat toleransi pemain untuk keadilan dan kewajaran sebuah game berbeda antar pemain, sehingga perlu dipastikan bahwa peraturan game berlaku untuk semua pemain dan semua pemain diberi kesempatan yang sama.
2. Pemain yang tertinggal pada awal permainan diberi kesempatan yang masuk akal untuk mengejar sebelum permainan berakhir.
Jika sebuah permainan akan berlangsung 2 jam, maka pemain yang telah ketinggalan 10 menit dan tidak diberi kesempatan untuk mengejar akan merasa bahwa game tidak adil, dan game akan menjadi tidak seimbang.
3. Game sangat jarang atau tidak pernah menghasilkan jalan buntu, terutama pada pemain yang berbeda kemampuan. Sebuah situasi yang menyebabkan jalan buntu akan sangat mengecewakan pemain karena kerja keras dari pemain akan menjadi percuma dan tidak didapatkan seorang pemenang. Dalam sebuah game PvE, karakteristik harus sangat jelas (Adams, 2013 pp. 405) :
Dalam PvE, toleransi untuk sebuah permainan yang adil dan wajar akan menjadi lebih kompleks dikarenakan tidak adanya interaksi dengan pemain lain atau lawan yang telah disimulasikan.
2. Kesulitan dari permainan selalu konsisten.
Kesulitan yang dihadapi dan dirasakan oleh pemain haruslah berada dalam batas yang wajar agar tidak mengejutkan pemain dengan kesulitan yang mendadak berubah menjadi lebih susah ataupun menjadi lebih mudah.
2.3 Rekayasa Perangkat Lunak
Menurut Pressman (2010 pp. 25), rekayasa peranti lunak merupakan suatu teknik yang mengcakup proses, metode dan alat yang digunakan untuk membangun sistem berbasis komputer yang kompleks yang berkualitas dan dalam waktu yang ditentukan.
Dalam rekayasa peranti lunak ada 5 aktivitas dasar yang menjadi kerangka umum dalam melakukan proses rekayasa perangkat lunak, yaitu (Pressman, 2010 pp. 15)
1. Communication
Sebelum pekerjaan teknis apapun dilakukan, sangatlah penting untuk dilakukan komunikasi dengan klien untuk menentukan tujuan dari proyek dan spesifikasi dari proyek untuk menentukan fitur dan fungsi dari peranti lunak.
2. Planning
Dalam proyek peranti lunak, proses pengerjaan merupakan proses yang sangat rumit dan karena itu diperlukan perencanaan yang matang. Dalam rekayasa peranti lunak dibuat sebuah software project plan yang menjelaskan tugas teknis yang akan dikerjakan, resiko yang kemungkinan muncul, sumber daya yang diperlukan, dan jadwal kerja.
3. Modelling
Dalam rekayasa peranti lunak, model digunakan memperdalam pengertian dari spesifikasi peranti lunak dan desain yang akan memenuhi spessifikasi tersebut. Model dari peranti lunak dibuat dengan asumsi cara
kerjanya secara arsitektur, cara bagian – bagian peranti lunak terhubung, dan karakteristik lain yang akan menggambarkan peranti lunak secara keseluruhan.
4. Construction
Pada konstruksi, peranti lunak akan dicoding baik secara manual atau terautomasi dan kemudian dites untuk mencari apakah ada kesalahan. 5. Deployment
Pada deployment, peranti lunak yang telah selesai atau mencapai fungsi tertentu kemudian diberikan kepada klien yang akan mengevaluasi peranti lunak dan memberikan feedback yang berdasar pada evaluasi.
2.3.1 Evolutionary Process Models
Peranti lunak seperti semua sistem yang kompleks berubah dengan berjalannya waktu. Bisnis dan spesifikasi produk selalu berubah pada saat pengembangan yang mempengaruhi spesifikasi peranti lunak. Waktu dan tenggat waktu yang sempit membuat peranti lunak dengan spesifikasi jelas kelihatan mustahil. Untuk memenuhi persyaratan yang rumit ini diperlukan suatu produk yang terbatas untuk mengatasi persoalan diatas, sebuah peranti lunak yang memenuhi syarat utama perlu dibuat, dan peranti lunak ini akan berubah seiring dengan berjalannya waktu.
Evolutionary models ialah proses yang berulang. Karakteristik utama dari model ini ialah pengembangan versi peranti lunak akan semakin sempurna dengan berjalannya waktu. (Pressman, 2010 pp. 42-43)
2.3.1.1 Prototyping
Dalam rekayasa peranti lunak terkadang klien akan menjelaskan beberapa tujuan untuk sebuah peranti lunak, tetapi tidak dijelaskan lebih lanjut spesifikasi, fitur, dan fungsi dari peranti lunak. Dalam keadaan ini penggunaan paradigma protoyping bisa menjadi pendekatan terbaik. Prototyping pada saat digunakan akan sangat membantu developer dan klien untuk mengerti apa yang akan dibuat
pada saat spesifikasi dari peranti lunak sangat tidak jelas (Pressman, 2010 pp. 43).
Gambar 2.1 Model Prototyping Sumber : (Pressman, 2010 pp. 43)
Dari gambar 2.1 akan dijelaskan tahap-tahap dalam prototyping (Pressman, 2010 pp. 43-44).
1. Communication
Pada prototyping, tahap pertama dimulai dengan komunikasi antar developer dengan klien untuk menentukan tujuan peranti lunak, spesifikasi yang diketahui, dan bagian yang perlu diperjelas. 2. Quick Plan
Setelah komunikasi dilakukan, rencana untuk pengulangan pengembangan versi perangkat lunak direncanakan dengan cepat.
3. Modelling Quick Design
Pada quick design, fokus yang dilakukan ialah desain yang akan merepresentasikan peranti lunak yang dapat dilihat oleh end user seperti user interface.
4. Construction of Prototype
Pada tahap ini desain yang dibuat pada tahap sebelumnya kemudian dicode menjadi prototype yang dapat digunakan. 5. Deployment, Delivery & Feedback
Prototype yang sudah jadi kemudian diberikan kepada klien untuk dievaluasi dan mendapatkan feedback dari klien yang digunakan untuk memperjelas spesifikasi dari peranti lunak. Pada tahap ini, jika klien masih belum puas dengan prototype maka proses ini akan diulang untuk memenuhi persyaratan dari klien dan pada saat yang sama memberi developer informasi yang lebih jelas mengenai apa yang perlu dilakukan.
Pada prototyping walau memberikan kemampuan kepada developer untuk mengembangkan peranti lunak dengan informasi yang terbatas, ada kelemahan dari paradigma prototyping yang disebabkan oleh (Pressman, 2010 pp. 44) :
1. Klien melihat prototype sebagai hasil akhir dari peranti lunak dan menyebabkan klien menggunakan prototype tersebut dengan anggapan beberapa perbaikan akan memenuhi kualitas peranti lunak.
2. Terkadang untuk memenuhi tenggat waktu, developer sering menggunakan sistem, algoritma atau bahasa
pemograman yang tidak ideal. Hal ini dapat menyebabkan pengembangan peranti lunak menjadi tidak maksimal dan kualitas program terpengaruh.
2.3.2 Black-Box Testing
Black-Box Testing atau behavioral testing merupakan testing yang terfokus pada fungsi dari peranti lunak. Dalam Black-Box Testing dilakukan dengan cara memasukkan beberapa kondisi input untuk mencoba segala spesifikasi fungsional dari peranti lunak (Pressman, 2010 pp.495).
Dalam Black-Box Testing, kesalahan yang dicari umumnya dalam kategori berikut (Pressman, 2010 pp.495) :
1. Fungsi yang salah atau hilang 2. Error pada interface
4. Kesalahan pada performa dan jalanna peranti lumak 5. Kesalahan pada inisialisasi dan terminasi
2.4 Unified Modelling Language
2.4.1 Pengertian Unified Modelling Language
Menurut Satzinger (2012 pp. 46), unified modelling language (UML) merupakan konstruksi model dan cara penulisan standar untuk pengembangan sistem yang didefinisikan oleh Object Management Group (OMG). Dengan menggunakan UML analis dan end user mampu menjelaskan dan mengerti berbagai diagram yang digunakan pada pengembangan sistem. Sebelum adanya UML, tidak ada standar penulisan yang pasti sehingga diagram menjadi susah dimengerti karena perbedaan pada pengembangan.
2.4.2 Class Diagram
Menurut Satzinger (2012 pp. 101), class diagram merupakan diagram yang berbasis pada object-oriented untuk menunjukkan hubungan antar class di sistem. Class merupakan klasifikasi atau kategori yang digunakan untuk menjelaskan koleksi atribut dari suatu objek. Class digambarkan dengan persegi yang terbagi menjadi 2 bagian dengan bagian atas berisi nama dari class , dan bagian bawah berisi atribut dari kelas. Hubungan antar kelas digambarkan dengan garis lurus dan pada kedua ujung hubungan ada multiplicity yang berfungsi untuk menunjukkan jenis hubungan dari class seperit 1..1 0..1 *..* .
Dalam class diagram ada 2 jenis diagram yang membahas objek berbeda (Satzinger, 2012 pp. 101, 308-310 ).
1. Domain Model Class Diagram
Pada model ini, objek yang dibahas merupakan masalah yang berada pada wilayah user.
2. Software Design Class Diagram
Pada model ini , objek yang dibahas berasal dari model diagram lain seperti activty diagram dan domain model class diagram. Bentuk class sedikit berbeda dengan adanya bagian ketiga pada class yang berisi method dari class tersebut. Atribut dari kelas ini
juga memiliki perbedaan dibanding dengan domain model class diagram dimana atribut merupakan variabel dalam sistem atau peranti lunak, dan pada atribut terdapat simbol yang menandakan visibilitas dari atribut seperti visible (+) ,private (-), dan jenis data atribut seperti integer,bool,float dan sebagainya. Pada method juga berlaku simbol yang sama seprti atribut.
2.4.3 Use Case Diagram
Use case diagram merupakan model UML yang digunakan untuk merepresentasikan hubungan antar user dengan use case. Dalam use case diagram user dari sistem disebut sebagai actor yang merupakan user ataupun sistem yang menggunakan layanan. Sebuah actor selalu diletakkan diluar batasan sistem. Batasan sistem digambarkan dengan kotak yang mengandung use cases atau layanan yang bisa dijalankan. Actor digambarkan dengan stickman dan diberi nama untuk menggambarkan peran diluar sistem, layanan di diagram digambarkan dengan bentuk lonjong dan nama layanan didalamnya. Hubungan pada diagram digambarkan dengan garis hitam yang menghubungkan actor dengan layanan atau bahkan layanan dengan layanan (Satzinger, 2012 pp. 78,81).
2.4.4 Use Case Description
Sebuah use case diagram dapat memberikan gambaran use case di sistem, tetapi dengan menggunakan use case description, kegunaan dari use case dapat dijelaskan dengan lebih detil. Sebuah use case description digunakan untuk menjelaskan skenario yang terjadi saat actor berinteraksi dengan use case, dan respon dari sistem, sehingga spesifikasi dari sistem dapat dikembangkan lebih jauh.
Menurut Satzinger (2013 pp. 121-123), ada 2 jenis use case description yang sering digunakan :
1. Brief use case description
Merupakan use case description yang digunakan untuk menjelaskan use case yang sederhanan dan umumnya sistem yang dikembangkan kecil dan sudah dipahami. Biasanya pada brief use
case description skenario yang digunakan sedikit dan tidak ada kondisi pengecualian.
2. Fully developed use case description
Fully developed use case description merupakan cara paling formal dalam mendokumentasikan use case. Salah satu kegunaan utama dalam metode ini ialah pengertian yang mendalam terhadap proses bisnis dan cara sistem merespon. Dalam Fully developed use case description bentuk umumnya ialah,
1) kotak pertama dan kedua berisi nama use case dan skenarionya
2) kotak ketiga berisi kejadian yang memanggil use case 3) kotak keempat berisi deskripsi dari skenario atau use case 4) kotak kelima berisi actor pada use case
5) kotak keenam berisi use case yang berhubungan dan jenis hubungan dengan use case
6) kotak ketujuh berisi pihak yang berhubungan dengan use case selain actor
7) kotak kedelapan dan kesembilan yang berisi precondition dan postcondition dari use case.
8) Kotak kesepuluh berisi penjelasan alur kegiatan yang terjadi pada sistem dan actor
9) Kotak kesebelas berisi penjelasan mengenai aktivitas alternatif yang terjadi atau kondisi pengecualian yang ada.
Gambar 2.2 Fully Developed Use Case Description Sumber : (Satzinger, 2012 pp. 124)
2.4.5 Activity Diagram
Sebuah activity diagram merupakan diagram yang menjelaskan aktivitas berbagai user atau sistem, pelaku aktivitas dan alur berurutan dari aktivitas (Satzinger, 2012 pp. 57).
Gambar 2.3 Simbol Pada Activity Diagram Sumber : (Satzinger, 2012 pp. 58)
Dari gambar 3.3 akan dijelaskan pengertian dari simbol – simbol pada activity diagram (Satzinger, 2012 pp. 57).
a. Lingkaran hitam menandakan awal mula dari alur kerja. b. Lingkaran putih dengan lingkaran hitam di tengah menandakan
akhir dari alur kerja.
c. Bentuk lonjong di gambar menandakan akitvitas individual pada alur kerja dengan nama aktivitas ditengahnya.
d. Bentuk wajik menandakan keputusan dimana alur kerja akan mengikuti salah satu alur dari keputusan.
e. Penunjuk panah digunakan menunjukkan urutan alur aktivitas. f. Garis hitam tebal menandakan perpisahan atau perpaduan alur
aktivitas.
g. Swimlane heading menunjukkan agen yang melakukan aktivitas. 2.5 User Interface
2.5.1 Delapan Aturan Emas
Menurut Schneiderman dan Plaisant (2010 pp. 88-89), ada 8 prinsip atau aturan emas yang dapat diaplikasikan pada setiap sistem interaktif.
1. Berusaha untuk konsisten
Aksi yang berurutan digunakan untuk situasi yang mirip, istilah-istilah yang sama digunakan pada menu, dialog, dan layar bantuan. Peletakan, penggunaan warna, jenis tulisan yang konsisten harus digunakan terus. Pengecualian seperti perintah hapus yang memerlukan konfirmasi, input kata sandi harus jelas dan terbatas jumlahnya.
2. Memenuhi penggunaan universal
Mengidentifikasi kebutuhan user yang beragam dan desain dengan fleksibilitas, memudahkan perubahan konten. User pemula dan ahli, rentang umur, cacat fisik, perbedaan teknologi akan memperbesar spesifikasi yang dibutuhkan untuk desain. Penambahan fitur seperti bantuan untuk user pemula atau penambahan shortcut untuk user ahli dapat memperbagus desain interface dan meningkatkan kualitas sistem.
3. Memberikan feedback yang informatif
Untuk setiap aksi yang dilakukan user, diharuskan ada feedback untuk user. Untuk fungsi yang kecil atau sering dilakukan feedback yang diberikan cukup yang sederhana saja, tetapi untuk aksi yang jarang dilakukan atau mempunyai fungsi penting, feedback yang diberikan lebih jelas dan informatif. Presentasi visual dari suatu objek dapat digunakan untuk menunjukkan perubahan secar eksplisit.
4. Memberikan dialog untuk hasil akhir
Urutan dari aksi harus diatur menjadi kelompok yang memiliki permulaan, pertengahan, dan penutup. Feedback informatif yang menginformasikan user telah menyelesaikan sekelompok aksi dapat memberi user suatu rasa pencapaian, lega, dan mempersiapkan user untuk aksi selanjutnya.
5. Mencegah kesalahan
Sebisa mungkin, desain sistem yang dimana user tidak bisa melakukan kesalahan yang fatal. Contohnya membuat tombol yang tidak digunakan tidak bisa ditekan. Jika user melakukan
kesalahan sistem harus bisa memberikan panduan atau solusi kepada user untuk memperbaikinya.
6. Memberikan pembalikan aksi yang mudah
Sebisa mungkin, aksi yang dilakukan bisa dibalik. Dengan penambahan fitur ini, user dapat lebih mudah dan tenang dalam penggunaan aplikasi, karena user tahu bahwa aksinya bisa dibalikkan, dan akan mendukung user untuk mengeksplorasi opsi dalam aplikasi.
7. Menyediakan tempat untuk kontrol internal
User yang lebih berpengalaman akan menginginkan perasaan bahwa mereka memiliki kontrol untuk interface dan interface akan merespon kepada user. User tidak menginginkan perubahan atau kejutan dalam jalannya aplikasi dan akan merasa terganggu dengan input data terus menerus, kesusahan mendapatkan informasi, dan ketidakmampuan untuk mendapatkan hasil yang diiinginkan.
8. Mengurangi beban ingatan jangka pendek
Manusia memiliki kemampuan yang terbatas untuk menyimpan atau memproses ingatan jangka pendek, dan karena itu dalam mendesain diperlukan perhatian untuk tidak membuat user harus mengingat informasi dari satu layar ke layar selanjutnya.
2.6 Unity
Unity merupakan sebuah game engine yang populer karena kemudahan penggunaan, sederhana, dan fitur yang sangat banyak. Unity memiliki komunitas developer yang sangat banyak dan disediakan juga versi gratis untuk indie developer. Salah satu fitur utama pada unity ialah kemampuan untuk membuat game sendiri dan dapat disebarkan ke berbagai platform yang besar. Unity awalnya dikembangkan sebagai engine 3D, dan karena itu game engine ini kebanyakan digunakan untuk mengembangkan game 3D. Tetapi karena adanya permintaan yang tinggi untuk 2D creation tools dengan banyak game 2D mulai dirilis, pihak developer mulai merilis 2D creation tool untuk pengembangan game 2D pada versi 4.3 (Pereira, 2014 pp. 52)
2.7 C#
C# merupakan bahasa pemograman yang berasal dari C++ dan Java. Tujuan dari C# ialah menyediakan bahasa untuk pengembangan peranti lunak berbasis komponen, terutama untuk pengembangan pada lingkungan .NET Framework. Pada lingkungan ini, komponen dari berbagai bahasa dapat digabung untuk membuat sebuah sistem. C# dibuat dengan tujuan untuk menjadi perbaikan dari C++ dan Java sebagai bahasa pemograman umum. Walau ada argumen yang mengatakan bahwa beberapa fiturnya merupakan penurunan, C# dengan jelas menambahkan beberapa fitur yang menyebabkan C# lebih berkembang dibanding pendahulunya dengan beberapa fiturnya telah diadopsi oleh beberapa bahasa pemograman (Sebesta, 2013 pp. 121-123).