BAB 2 LANDAS AN TEORI
2.1 Interaksi Manusia dan Komputer (IMK) 2.1.1 Pengertian IMK (Interaksi Manusia dan Komputer) M enurut Ben Shneiderman (1997), Interaksi manusia dan komputer (IMK) atau Human-Computer Interaction (HCI) adalah disiplin ilmu yang berhubungan dangan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomenafenomena besar yang berhubungan dengannya. Fokus pada IM K adalah perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka pemakai adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan komputer.
Manusia
Antarmuka Pemakai
Sistem Komputer
Gambar 2.1 Fokus pada IM K (Interaksi M anusia dan Komputer)
2.1.2 Konsep Perancangan Antarmuka Pemakai Dalam IM K, terdapat 8 aturan (Eight Golden Rules) yang digunakan dalam perancangan antarmuka pemakai, yaitu : a.
Berusaha untuk konsisten
10
11
b.
M emungkinkan frequent users menggunakan shortcuts
c.
M emberikan umpan balik yang informatif
d.
M erancangan dialog yang memberikan penutupan (keadaan akhir)
e.
M emberikan pencegahan kesalahan dan penanganan yang sederhana
f.
M emungkinkan pembalikan aksi yang mudah
g.
M endukung pusat kendali internal (internal locus of control)
h.
M engurangi beban ingatan jangka pendek
2.2 Multimedia 2.2.1 Pengertian Multimedia M ultimedia
adalah
penggunaan
sebuah
computer
untuk
mempresentsikan dan menggabungkan teks, gambar, suara dan video dengan link (koneksi) dan tool (alat Bantu) yang memungkinkan user melakukan navigasi, interaksi, dan komunikasi. (Fred T.Hofstetter, 2001,) Sedangkan menurut Tay
Vaughan (2004),
multimedia adalah
kombinasi dari teks, seni grafis, suara, animasi, dan video yang disampaikan lewat komputer atau perangkat elektronik lainya.
2.2.2 Elemen-elemen Multimedia M ultimedia interaktif adalah kombinasi dari elemen-elemen yang saling berhubungan dan dimanipulasi secara digital dimana disediakan kontrol
12
terhadap konten dan interaksi tingkat tinggi bagi pemakai individu dan aplikasi multimedia. Elemen-elemen tersebut antara lain : 1.
Teks Teks sesungguhnya merupakan data yang paling sederhana dan membutuhkan
tempat
penyimpanan
yang
paling
sedikit.
Pada
kenyataannya, teks adalah elemen dasar pada relasional basis data. Hypertext adalah suatu aplikasi dari peng-indexan teks yang menyediakan pencarian cepat dari satu atau lebih spesifik teks string dalam dokumen. (Andleigh and Thakar, 1996, p33). M enurut Fred T.Hofstetter (2001, p16-18) banyak sistem multimedia menggunakan
teks karena cara yang efektif untuk
mengkomunikasikan ide-ide dan menyediakan instruksi-instruksi untuk user. Ada empat jenis teks: •
Printed Text Untuk membaca teks tercetak, dilakukan dengan mengubah teks kedalam format yang dapat dibaca oleh mesin. Caranya dengan mengetikkan teks kedalam text editor atau word processor misalnya M icrosoft Word, Notepad,dll.
•
Scanned Text
13
Untuk dapat membaca scanned text dibutuhkan scanner agar dapat dibaca oleh computer. •
Electronic Text M erupakan hasil dari word processor atau text editor yang dapat ditransmisikan secara elektronikal melalui jaringan.
•
Hypertext Hypertext menuju kepada teks-teks yang mempunyai objek tertentu.
2.
Suara M enurut Tay Vaughan (2004, p90) pengertian suara adalah sesuatu yang bergetar di udara, menciptakan gelombang tekanan dan saat gelombang tersebut mencapai gendang telinga, kita merasakan perubahan tekanan, atau getaran. Tingkat tekanan suara diukur dalam decibels (dB). M enurut Fred T.Hofstetter (2001, p22-23) ada empat jenis objek suara yang digunakan dalam produksi multimedia: • Waveform Audio Setiap suara mempunyai suatu bentuk gelombang yang mendesksipsikan frekuensi, amplitudo dan harmoni dari suara. Biasanya mempunyai ekstension .wav. • MIDI (Musical Instrument Digital Interface)
14
M enyediakan cara yang paling efisien dalam merekam musik. M IDI merekam informasi yang dibutuhkan oleh chip sound komputer untuk memainkan musik
• Audio CD (Compact Disc) Audio CD dapat menyimpan sampai 75 menit dengan sampling rate-nya sebesar 44100 sample per detik, cukup cepat untuk merekam suara apa saja yang dapat didengar manusia. • File MP3 MP3 adalah format file audio yang menggunakan M PEG audio codec untuk melakukan encode / compress (pemampatan) dan decode / decompress musik yang direkam. M P3 dapat mengkompresi track audio CD menjadi ukuran yang lebih kecil.
3.
Gambar M enurut Fred T.Hofstetter (2001, p18) gambar lebih berarti dari 1000 kata. Gambar merupakan representasi objek bisa berupa dua dimensi atau tiga dimensi yang digunakan untuk penyampaian informasi. Gambar dapat berupa icons, gabungan teks, mempresentasikan menu yang dapat dipilih. Jenis-jenis gambar :
15
• Bitmap M enurut Fred T.Hofstetter (2001, p18) Bitmap adalah gambar
yang
tersimpan
sebagai
kumpulan
pixel
yang
berkorespondensi dengan titik-titik pada monitor. http://id.wikipedia.org/wiki/Bitmap (pada tanggal 27 sept ’08 jam 00.03) Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik yang tersimpan di memori komputer. Dikembangkan oleh M icrosoft dan nilai setiap titik diawali oleh satu bit data untuk gambar hitam putih, atau lebih bagi gambar berwarna. Ukuran sebenarnya untuk n-bit (2n warna) bitmap dalam byte
dapat dihitung: ukuran file BMP , dimana tinggi dan lebar dalam pixel. Kerapatan
titik-titik
tersebut
dinamakan
resolusi,
yang
menunjukkan seberapa tajam gambar ini ditampilkan • Vector Image Vector disimpan
Images atau citra vector adalah gambar yang
sebagai
sekumpulan
persamaan
matematik
atau
algoritma yang mendefinisikan kurva, garis, dan bentuk sebuah gambar (image). • Clip art
16
Clip art merupakan sekumpulan gambar yang disimpan dalam suatu tempat yang berguna untuk menghemat waktu pada saat membuat aplikasi multimedia dibandingkan harus membuat gambar sendiri.
• Digitized Pictures Gambar-gambar yang dapat dikenali oleh komputer (video capture board) yang memungkinkan kita untuk menghubungkan kamera video, dan sebagainya ke komputer dan mengambil frame secra langsung ke dalam bentuk bitmaps yang dapat digunakan dalam aplikasi multimedia. • Hyperpictures Hyperpictures adalah bagian-bagian dari gambar-gambar yang digunakan untuk menggerakkan event-event multimedia.
4.
Animasi M enurut Andleigh dan Thakar (1996, p259) animasi adalah sebuah ilusi dari pergerakan yang diciptakan secara sekuen memainkan gambar dengan rate 15-20 frame per detik sehingga gambar tampak bergerak. Jenis-jenis animasi menurut Fred T.Hofstetter (2001, p26): •
Frame Animation
17
Frame animation membuat objek bergerak dengan menampilkan sejumlah seri gambar yang disebut frame, dimana objek nampak berbeda lokasi dalam layer.
•
Vector Animation M embuat objek bergerak dengan mengubah tiga paramaeter yaitu awal, arah dan panjang objek.
•
Computational Animation M embuat objek bergerak dengan mengubah koordinat x dan y dari objek.
•
Morphing Morphing berarti transisi satu bentuk ke bentuk lainnya dengan menayangkan sejumlah frame yang diciptakan dengan pergerakan yang halus dari bentuk satu ke bentuk lainnya, sehingga gambar seperti bertransformasi.
5.
Video M enurut Fred T.Hofstetter (2001, p24-25) video merupakan unsur yang paling lengkap untuk aplikasi multimedia. Video adalah elemen multimedia yang paling kompleks karena didalamnya terdapat unsur-unsur multimedia lainnya yaitu teks, suara, gambar, animasi.
18
Jenis-jenis video sebagai aplikasi multimedia : • Lived Video Feeds (video siaran langsung) M enyediakan objek-objek multimedia yang menarik secara realtime.
• Videotape M edia ini terbatas karena dua faktor : o kaset video bersifat linear. Informasi tersimpan di dalam kaset, dimana dalam pengaksesannya membutuhkan waktu yang cukup lama untuk melakukan forward atau rewind. o tidak dapat dikontrol oleh komputer • Videodisc M emiliki akses random yang cepat dan konsumsi sumber daya computer yang minimal, viedodisc menjadi sangat terkenal pada abad 21. Ada 2 format videodisc : o
CAV yang dapat menyimpan 54,000 frame atau video selama 30 menit dengan soundtracknya.
o
CLV dapat menyimpan rekaman video selama 1 jam pada tiap sisi disc, namun harga high-end player CLV sangat mahal.
19
o
Digital Video Digital video adalah media penyimpanan video yang sangat menjanjikan dan menarik. Digital video disimpan berupa file dalam hard disk, CD-ROM atau DVD sehingga dapat disajikan melalui jaringan computer dan dapat diakses secara random.
2.2.3 Perancangan dan Pengembangan Multimedia Interaktif Dalam merancang suatu multimedia interaktif terdapat beberapa metode dalam pembuatannya, salah satunya adalah IM SDD (Interaktif M ultimedia System Design and Development) dimana ada empat langkah dalam pengembangannya : 1. System Requirement (Kebutuhan Sistem) Tugas : •
M endefinisi sistem, tujuan dan sasaran sistem (System Definition)
•
M enentukan pemakai dan kebutuhan dari pemakai (User’s profile and needs)
•
M empertimbangkan dan mengevaluasi kebutuhan hardware dan software (Hardware and software consideration)
•
M empertimbangkan
penyampaian
Consideration) 2. Design Consideration (Pertimbangan Perancangan)
sistem
(Delivery
20
M empertimbangkan semua perancangan yang akan dilakukan. Yang perlu dipertimbangkan adalah : •
M etafora Desain
•
Jenis dan format informasi
•
Struktur navigasi
•
Kontrol sistem
3. Implementation (Implementasi) Tahap ini seperti tahap coding di model waterfall. Terdiri dari dua tugas utama : •
M embuat prototipe
•
M elakukan beta testing
4. Evaluation (Evaluasi) Terdapat dua pendekatan evaluasi yaitu: • Evaluasi
formatif,
menentukan
apakah
produk
memenuhi
kebutuhan pemakai. • Evaluasi sumatif, menentukan kesesuaian produk yang dirancan g dengan produk lain yang sudah ada.
2.3 Computer Game Computer game disebut juga PC Game. Computer Game adalah video gam e yg dimainkan di komputer pribadi, dan bukan pada konsol permainan.
21
2.2.1 Genre Games Video game dikategorikan berdasarkan gameplay-nya. M engingat adanya sedikit kesamaan pada tiap definisi genre, maka klarifikasi dari game tidak selalu konsisten / sistematik
22
M enurut Marc S altzman (2000, p1-4) ada beberapa genre game : 1. Action Secara umum lebih bergantung pada koordinasi tangan / mata dibandingkan
cerita atau strategi. Pada umumnya mengandalkan
ketangkasan n reflek
2. Strategy M enekankan
pada pemikiran
dan
perancagan
logis.
Cendrung
menitikberatkan pada manajemen sumber daya dan waktu yg biasanya didahulukan sblm respon cepat & keterlibatan karakter. Perancangan dan eksekusi sangat penting, dan pencipta game biasanya menempatkan kemampuan pembuatan keputusan dan pengiriman perintah ke tangan pemain.
Bertentangan dengan game bersifat turn-base seperti Cilivization buatan M icroprose atau Heroes of Might and Magic buatan 3DO, game real-time strategi menambahkan elemen aktif dan memaksa pemain untuk merespon beberapa kejadian yang terjadi dalam waktu yang hampir bersamaan. Contohnya Starcraft buatan Blizzard dan Age of Empire buatan Ensemble Studios.
23
3. Adventure Adventure game
melibatkan perjalanan dan ekspedisi dari sebuah
eksplorasi dan pemecahan teka-teki. Game seperti ini biasanya mempunyai jalan cerita yang linier dimana pemain sebagai protagonis harus menyelesaikan sebuah tujuan utama melewati interaksi karakter dan manipulasi inventaris.
4. Role playing games (RPGs) Role Playing Games mirip dengan adventure game, tetapi lebih bergantung pada pembangunan dan pengembangan karakter (biasanya disertai dengan karakteristik pemain), percakapan dan strategi bertempur dibandingkan pemecahan teka-teki. Dunia fantasi yang luas dan epic quest dengan NPC (non player characters) merupakan sesuatu yng umum, dan jalan cerita tidak selalu linier seperti adventure game tradisional. Side quest merupakan sesuatu yng tidak langka bagi RPGs.
5. Sports Sports menstimulasi sebuah permainan perorangan atau kelompok dari sudut pandang instruksional atau pemain. Realita merupakan sesuatu yang paling penting, sama seperti ketangkasan dan strategi.
24
6. Simulation / Sims Sims secara nyata menstimulasikan sebuah objek
atau proses yang
dianimasikan maupun tidak. Sebagian besar, sims menempatkan pemain pada sudut pandang 3D orang pertama, atau menciptakan kembali mesinmesin seperti pesawat, tank, helikopter, dan kapal selam.
7. Puzzle atau “Classic” Games Puzzle atau “Classic” games mencakup permainan-permainan yang lebih tua, bersejarah seperti kartu, permainan papan, trivia, atau kata-kata.
2.3.2 Game Design Game design adalah segala sesuatu yang meliputi perencanaan terhadap apa yang harus diimplementasikan oleh programmer game (S tefan Zerbst et al, 2004, p14). Hal tersebut meliputi rencana umum mengenai apa genre game yang akan dikembangkan, target pemain, jenis permainan apakah single player, multiplayer, atau bisa gabungan keduanya, apa saja yang harus disediakan untuk pengembangan game tersebut, dan sebagainya. Oleh karena itu, bagian terpenting dalam game design adalah Design Document.
2.3.2.1. Design Document Langkah pertama ketika kita hendak merencanakan sebuah game design adalah membuat Design Document yang merupakan
25
“jiwa dan raga” project game. Desain Dokumen mendokumentasikan segala aspek game, seperti setting, gambar dan grafis lokasi, dan karakter. Untuk seterusnya, kita baru bisa menentukan dan membuat Storyline, deskripsi Cutscene, user interface, dan segala aksi yang dapat dilakukan oleh karakter di dalam game (S tefan Zerbst et al, 2004, p15).
2.3.3 Platform Game Ada 3 sistem operasi dominant yang ada pada computer dan analisisnya bagi game menurut Kenneth C. Finney (2004, p8-11): 1.
Windows Windows memiliki banyak sekali versinya. Pada Windows, kita akan menggunakan OpenGL dan Direct3D sebagai low level Application Programming Interface (API). API akan menyediakan akses terhadap fitur video adapter yang ada di computer. M asing-masing memiliki kekurangan dan kelebihannya. OpenGL memiliki keuntungan dalam hal kemampuannya untuk diaplikasikan pada system computer yang berbeda. Oleh karena itu kita dapat membuat game yang dapat dimainkan pada semua jenis computer. Open GL juga merupakan produk open source. Kekurangannya hanya terletak pada fiturnya yang kurang bila dibandingkan dengan Direct3D.
26
DirectX kelebihannya terletak pada support fiturnya dan manufaktur 3D video adapter yang membuat hardware bekerja semaksimal mungkin terhadap DirectX. Dengan DirectX kita akan mendapatkan advanced feature set yang lebih komplit dibandingkan dengan OpenGL. Tapi kekurangannya, DirectX hanya bergantung pada sistem operasi berbasis Windows saja. 2. Linux Bagi sebagian orang, salah satu alasan mengapa mereka menggunakan system operasi Linux adalah harganya. Linux bersifat free, dalam artian kita tidak perlu membayar untuk menggunakan system operasi ini. Selain itu, karena sifatnya yang open source, kita dapat mendownloadnya secara bebas di internet. Sebagai pengembang game, kita harus mengetahui beberapa hal penting jika ingin menggunakan Linux sebagai target platform game: •
Marketplace Linux masih kalah besar jika dibandingkan dengan Windows. Komunitas umum terbesar yang menggunakan Linu x rata-rata berkisar di universitas dan beberapa institusi.
•
Hanya beberapa games yang tersedia untuk Linux. Para developer cenderung untuk memilih Windows dikarenakan marketnya yang sangat besar dan support audience yang luas.
•
Linux menyediakan environment yang lebih configureable dan aman untuk internet server. Server Linux dapat berjalan pada
27
mode konsol yang tidak memerlukan button, mouse ataupun tampilan grafis yang bagus. Hal ini akan membantu dalam mengutilisasikan komputer lambat yang memiliki memory yang lebih kecil untuk server dan kita masih dapat memperoleh computing power yang dibutuhkan untuk game server. 3. M ac OS / M acintosh M ac sangat ideal digunakan pada ruang lingkup desain dalam berbagai bisnis. Walau harganya masih tidak sebagus Linux (dimana kebanyakan softwarenya gratis), sistem operasi mac masih lebih accessible bagi yang kurang mengenal teknologi. Tetapi, game komputer yang tersedia untuk sistem operasi ini juga masih sedikit jika dibandingkan dengan Windows. Oleh karena itu, teori “Ikan besar dan lautan kecil” masih berlaku disini.
2.3.4 Peran-peran dalam Game Developer M enurut Kenneth C. Finney (2004, p11-15), ada beberapa peran dalam Game Developer: 1. Producer Produser bisa dikatakan juga sebagai pimpinan proyek. Produser akan membuat dan meninjau jadwal (schedule), mengatur orang-orang yang
akan
berperan
dalam
pengembangan
project,
mengatur
keuangan/budget, hingga negosiasi kontrak dan lisensi. Produser
28
bertanggung jawab secara penuh dalam mendukung para anggota tim proyek dan harus memperhatikan apa saja yang dibutuhkan oleh mereka. 2. Designer Game desainer bertugas dalam merancang dan merencanakan serta memutuskan tema, genre, dan aturan dalam game untuk kemudian menuntunnya menuju keseluruhan perkembangan game hingga selesai. Ada beberapa jenis game desainer, diantaranya: •
Lead Designer
•
Level Designer
•
Designer-Writer
•
Character Designer Proyek yang besar senantiasa memerlukan lebih dari satu orang
untuk menjabat dalam satu peran designer. Sedangkan pada proyek kecil, satu orang dapat saja menjabat lebih dari satu peran designer. 3. Programmer Game programmer bertugas menulis kode yang mengubah ide, artwork, suara, dan musik menjadi sebuah game fungsional. M ereka bertugas mengontrol hubungan dan relasi event di dalam game dan mentranslasikan user input melalui perhitungan internal menjadi bentuk tampilan audio dan visual dalam game. Pada online game, programmer akan dibagi manjadi client programmer dan server programmer sesuai dengan area kerjanya.
29
4. Visual Artist Selama pengembangan game, visual artist berperan dalam menyediakan ilustrasi dan merealisasikan konsep designer menjadi bentuk sketsa atau tampilan gambar. Design dan ilustrasi yang mereka hasilkan akan digunakan dalam pembuatan modeling dan programming. M odel, lingkungan, serta segala objek yang akan digunakan dalam game merupakan hasil ilustrasi awal mereka. 5. Audio Artist Sesuai dengan namanya, akan bertugas menangani segala efek suara yang akan digunakan dalam game serta komposisi musical untuk menambah dan meningkatkan intensitas experience kepada user ketika memainkan game. 6. Tester / Quality Assurance Specialist Tester bertugas untuk memainkan prototype game sebelum dirilis untuk menemukan segala error atau bug yang mungkin terjadi pada game. Seorang tester harus bertindak metodikal dalam hal ini, dalam artian, mereka harus memainkan dan mengulang game berkali-kali sampai ke batas bosan dalam memainkan game. Hal ini dilakukan demi menemukan permasalahan
sebisa
mungkin
serta
mengkomunikasikannya dalam bentuk laporan.
mampu
menulis
dan
30
2.3.5 Mempublish Game Setelah melalui pengetestan dan evaluasi, game akan sampai pada tahap terakhir dimana game tersebut akan di-publish dan didistribusikan kepada umum. Kita dapat membuat website tentang game tersebut, menjualnya secara independent melalui pembelian online, atau mencari publisher dalam membuat distribusi dan paket game yang lebih baik dan lebih luas kepada khalayak ramai.
2.4. Torque Game Engine Torque Game Engine adalah AAA 3D game engine yang dibuat untuk komunitas games indie oleh GarageGames (Edward F. Maurina III, 2006, p3). Engine ini merupakan produk yang telah bertahun-tahun dibuat dengan dedikas i kerja, design interaktif, dan pengembangan oleh staff Dynamix, sebuah perusahaan pengembang game yang mendirikan GarageGames. Dengan engine yang mereka ciptakan ini, terciptalah game Earthsiege, Starsiege, Tribes dan berlanjut ke Tribes2. Genre game yang dapat dibuat dengan Torque Game Engine (TGE): 1.
FPS
2.
Racing
3.
RPG (Role Playing Games)
4.
Action
5.
Strategy
6.
Puzzle
31
7.
Simulator
2.4.2 Kelebihan Torque Game Engine Kelebihan Torque Game Engine (Pisal Setthawong, 2006, p7-11) 1.
M erupakan Game Engine yang lengkap M emiliki solusi pengembangan game lengkap dengan embedded tools
2.
Ketersediaan Full Source Developers dapat memodifikasi core engine untuk menambahkan fitur baru, mengubah behaviors, dan mengatasi bug.
3.
M udah terjangkau Salah satu game engine di pasaran dengan harga yang lebih terjangkau dan efisien.
4.
M emiliki komunitas developer yang besar dan kuat Adanya komunitas developer yang dapat membantu developer yang masih pemula.
5.
Cross Platform Dapat berjalan di sistem operasi Windows, M acOS, dan Linux platform
6.
Dapat dimodifikasi secara luas Walaupun TGE merupakan engine berbasis FPS, namun masih memungkinkan untuk membuat games dengan genre lainnya termasuk RPG, Startegi, Puzzle, Platform, dan lain-lain.
32
7.
Scripting Engine yang bagus Torque Script dan console system menawarkan sebuah solusi scripting yang baik dan hal tersebut merupakan salah satu poin lebih dari TGE
8.
M ultiplayer support yang baik TGE diciptakan dengan network engine yang solid untuk mensupport games bertipe multiplayer
9.
Perjanjian lisensi yang kompetitif TGE tidak memerlukan royalty tambahan per-game yang terjual setelah lisensi dibeli.
2.4.3 Fitur-fitur Torque Game Engine Fitur-fitur yang dimiliki TGE (Edward F. M aurina III, 2006, p15) : 1. Single player dan multiplayer ready TGE dibuat berdasarkan pada arsitektur client-server dan secara penuh dapat mensupport hingga 128 player atau lebih. 2. Raster based graphics TGE bukan merupakan shader based engine, tapi memiliki kemampuan untuk disatukan dengan segala fitur yang kita inginkan dengan source code yang kita miliki. Selain itu, TGE merupakan pendahulu dari Torque Shader Engine (TSE), dan oleh karena itu semua yang dipelajari dengan TGE dapat juga diaplikasikan ke TSE.
33
3. Event-driven simulation TGE didesain dalam sebuah event-driven simulator. Engine ini menggunakan event loops yang ada di client dan server terpisah. Sebagai tambahan, kebanyakan logika game dan logika GUI dikendalikan oleh sebuah event system. 4. M emori and network bandwidth yang efisien TGE dirancang untuk memiliki sisa memory yang tidak terpakai lebih sedikit dan kebutuhan bandwidth yang kecil per koneksi. Engine ini menggunakan statik datablock untuk informasi umum dan kompresi jaringan ditambah algoritma transmission-reduction. 5. Broadband functionality TGE hadir dengan segala metode dan fungsi yang diperlukan untuk standar game calculation, action maupun response. 6. Terintegrasi penuh TGE memadukan semua code yang diperlukan untuk render/play/capture semua element game, termasuk GUI, suara, grafis 3D, dan input/output lainnya. Engine ini juga menyertakan kreasi konten yang luas dan debugging tool.
2.4.4 Torque Tools Torque menyediakan 2 paket editor, yaitu: 1.
World editor (Shortcut: F11)
34
World editor mengatur modifikasi dan segala aspek untuk misi yang spesifik pada game. Editor ini dapat digunakan untuk mengedit mission yang ada atau membuat mission yang baru. World editor terbagi lagi menjadi 8 sub tools, yaitu: •
World editor Manipulator (Shortcut: F2) Berguna untuk translasi, rotasi, memperbesar scala object yang ada di dalam world editor.
•
World editor Inspector (Shortcut: F3) Berguna untuk melengkapi kemampuan world editor dalam melihat dan memodifikasi property dari object.
•
World editor Creator (Shortcut: F4) Berfungsi menambahkan object baru di dalam mission di World editor.
•
Mission Area Editor (Shortcut: F5) Berfungsi untuk mengatur batas mission dan berperan dalam menciptakan mirror dari terrain yang ada.
•
Terrain Editor (Shortcut: F6) Berfungsi
untuk
memanipulasi
terrain
secara
menggunakan mouse sebagai multi-operational brush. •
Terrain Terraform Editor (Shortcut: F7)
langsung
35
Berfungsi untuk
load
mengaplikasikan berbagai
image sebagai terrain
files
dan
algorithmic generator serta filters
terhadap terrain •
Terrain Texture Editor (Shortcut: F8) Berfungsi untuk memilih texture dan mengaplikasikannya menggunakan sebuah set algoritma untuk menentukan campuran dan letaknya.
•
Terrain Texture Painter (Shortcut: F9) Berfungsi untuk memilih dan setelah itu mengaplikasikan hingga 6 jenis texture terhadap terrain.
2.
GUI / Graphcial User Interface Editor (Shortcut: F10) GUI Editor berfungsi untuk memodifikasi GUI yang ada atau membuat tampilan GUI baru, menggunakan simple drag and drop interface
2.5. Rekayasa Perangkat lLnak M enurut Roger S Pressman (Software Engineering 2001, p6), perangkat lunak bisa diartikan sebagai berikut: 1.
Kumpulan instruksi dalam suatu program komputer yang jika dijalankan akan memberikan fungsi dan hasil yang diinginkan
2.
Struktur-struktur data yang membuat program dapat memanipulasi data
36
3.
Kumpulan dokumen yang mendeskripsikan operasi dan fungsi dari suatu program tersebut
2.5.1 Karakteristik software Karakteristik software dari software itu sendiri, menurut Roger S Pressman (Software Engineering 2001 p6-8): 1.
Software/perangkat lunak itu di kembangkan atau direkayasa, tidak diproduksi secara biasa
2.
Perangkat lunak itu tidak akan habis terpakai.
3.
Software bisa dibuat secara custom, maksudnya tergantung kepada si pemakai
2.5.2 Jenis-jenis software Berbagai jenis-jenis software menurut Roger S Pressman (Software Engineering p10-11) 1.
Real rime software, software yang memonitor/menganalisa/dan mengontrol kejadian di dunia nyata diwaktu yang bersamaan pada saat terjadinya.
2.
Software Bisnis
3.
Engineering dan software ilmiah, software yang biasanya digunakan untuk ilmu pengetahuan seperti Biologi, astronomi, dan lain-lain.
4.
Embedded Software
37
5.
Personal computer software
6.
Web-based software
7.
Artificial intelligence software
2.5.3 Pengertian rekayasa perangkat lunak M enurut Frizt Bauer, yang tertulis di buku Software Engineering (p20)
oleh
Roger
S Pressman,
rekayasa perangkat
lunak
adalah
pengorganisasian dan pengunaan prinsip dasar dalam rekayasa untuk menghasilkan suatu perangkat lunak yang ekonomis yang dapat diandalkan dan bekerja secara efisien dalam mesin sungguhan.
2.5.4 Elemen-elemen perangkat lunak Rekayasa perangkat lunak adalah merupakan tahapan yang berlapislapis yang terdiri dari beberapa elemen. Seperti pada gambar dibawah ini (page 20-21):
Gambar 2.2 Elemen-elemen perangkat lunak •
Proses, merupakan dasar dari rekayasa perangkat lunak. Proses dari rekayasa perangkat lunak seperti perekat yang memegang layer teknologi secara bersamaan dan memungkinkan dikembangkan
38
secara rasional dan tepat waktu dari perangkat lunak. Proses mendefinisikan suatu kerangka kerja dari suatu kesatuan wilayah kunci dari proses itu sendiri. Bentuk wilayah kunci itu sendiri merupakan dasar dari kontrol manajemen dari proyek perangkat lunak dan menghasilkan konteks dari metode teknis yang akan diterapkan kemudian, hasil kerja (model, dokumen, data, report, dan lain sebagainya) dihasilkan, rencana kerja di buat, kualitas dijamin, dan perubahan di atur dengan baik. •
M etode, dikatakan secara teknis pembuatan perangkat lunak. M etode meliputi sekumpulan rencana kerja yang didalamnya termasuk analisi kebutuhan, disain, pembuatan program (coding), testing, dan dokumentasi. M etode dalam rekayasa perangkat lunak bertumpu pada sekumpulan prinsip dasar yang mengatur setiap bagian dari teknologi yang dipakai dan termasuk pada saat modeling dan teknik deskriptif lainnya.
•
Tools/alat bantu, dalam rekayasa perangkat lunak menyediakan dukungan yang otomatis atau semi otomatis yang mendukung elemen-elemen sebelumnya yaitu proses dan model. Ketika tools dipadukan maka informasi yang dibuat dari satu tools bisa digunakan oleh yang lainya, sebuah sistem yang mendukung dari pengembangan perangkat lunak, disebut juga computer-aided software engineering,dibuat. CASE (computer-aided software
39
engineering) menggabungkan perangkat lunak, perangkat keras, dan data-data rekayasa perangkat lunak (yang mengandung informasi penting tentang analisis, desain, pembuatan program/coding, dan testing) untuk membuat lingkungan kerja rekayasa perangkat lunak menjadi logis untuk CAD/CAE (computer aided design/engineering) untuk perangkat keras.
2.5.5 Daur hidup rekayasa perangkat lunak M enurut Roger S Pressman (p28-29) dasar dari daur hidup rekayasa perangkat lunak bisa dikatakan
classic life cycle atau waterfall model,
mengususlkan sebuah pendekatan sistematik, berurutan dalam pengembangan perangkat lunak yang dimulai dari level sistem, dan perkembangan melalui analisis, desain, coding, testing dan dokumen pendukung. Seperti pada ilustrasi dibawah ini:
Gambar 2.3 Daur hidup perangkat lunak
40
Software requirement analysis, proses pengumpulan kebutukan tentang perangkat lunak yang akan dibuat nanti secara intensif dan fokus kedalam perangkat lunaknya itu sendiri. Untuk mengerti sifat alami yang dimiliki oleh perangkat lunak yang akan dibuat nanti, pengembang perangkat lunak harus mengerti bidang wilayah informasi untuk perangkat lunak yang akan dibuat tersebut sebaik mungkin, sebaik-baik dari fungsi requirment, tingkah laku, kinerja dan antar muka. Analisis kebutuhan untuk sistem dan perangkat lunak didokumentasikan dan ditunjukan kepada customer. Desain, sebenarnya adalah proses yang terdiri dari beberapa step yang fokus pada empat atribut dalam suatu program, yaitu : struktur data, arsitektur perangkat lunak, representasi antar muka, dan detail prosedural/algoritma. Proses desain mengartikan dokumen requirement menjadi suatu representasi dari perangkat lunak yang sebelumnya bisa diliai kualitasnya sebelum memulai coding. Seperti analisis kebutuhan, desain akan didokumentasikan dan menjadi bagian dalam konfigurasi perangkat lunak nantinya. Code generation,
desain pada langkah sebelumnya harus di
terjemahkan kedalam bentuk yang bisa dibaca oleh mesin. Inilah yang dilakukan pada langkah ini. Jika pada langkah desain dilakukan dengan detail dan terperinci, maka proses coding bisa diselesaikan lebih sistematis. Testing, ketika kode program sudah dibuat, maka pengecekan program dimulai. Dalam proses ini difokuskan pada logika internal dari perangkat lunak, memastikan apakah seluruh statement sudah dicek kebenarannya, dan
41
pada fungis eksternal, adalah mengubungkan tes untuk mencari kesalahan dalam program, dan juga memastikan bahwa input yang diberikan menghasilkan output yang diinginkan dalam analisis kebutuhan sebelumnya. Support/dukungan,
tak
diragukan
lagi perangkat
lunak
akan
mengalami perubahan setelah diluncurkan kepada customer. Perubahan perlu dilakukan karena ada kesalahan program yang ditemukan, karena perangkat lunak harus mengadaptasi perubahan pada dunia luar, atau karena customer menginginkan suatu tambahan fungsional tertentu.
2.6. Database / Basis Data M enurut Thomas Connoly dalam buku Database System (p14) database adalah suatu koleksi yang dipakai secara bergantian dari data logical tertentu, juga termasuk deskripsi dari data tersebut, didesain untuk memenuhi kebutuhan dari suatu organisasi tertentu.
2.7. Unified Modeling Language (UML) 2.7.2 Pengertian UML M enurut Brugge dan Dutoit (2000,p24), notasi membantu kita menyampaikan ide kompleks secara ringkas dan tepat. Dalam proyek yang melibatkan banyak anggota, seringkali dengan latar belakang kebudayaan dan teknik yang berbeda, ketepatan dan kejelasan adalah aspek yang sangat penting mengingat begitu mudahnya terjadi salah pengertian. Agar suatu
42
notasi dapat menjadi alat komunikasi yang akurat, notasi tersebut harus memiliki
semantik
yang
telah
didefinisikan
dengan
baik,
dapat
mempresentasikan aspek dari sistem secara tepat dan dapat dimengerti dengan baik oleh para anggota tim. M enurut Whitten, Bentley dan Dittman (2004,p430), Unified Modeling Language (UM L) adalah sebuah pendekatan model untuk mempelajari objek-objek yang ada untuk melihat apakah objek tersebut dapat digunakan
kembali
atau
dimodifikasi
untuk
kegunaan
baru
dan
mendefinisikan objek baru yang ada untuk membuat aplikasi bisnis. 2.7.3 Jenis-jenis UML M enurut Whitten. Bentley dan Dittman (2004, p441), UM L terdiri atas sembilan diagram yang dikelompokkan dalam lima kategori berdasarkan sudut pandangnya, yaitu: 1. Use-Case M odel Diagram Use-case diagram menggambarkan interaksi antara sistem dengan luar sistem dan sistem dengan user. Dengan kata lain, use-case diagram secara grafis menggambarkan siapa yang akan menggunakan sistem dan dalam cara apa user ingin berinteraksi dengan sistem. 2. Static Structure Diagram UM L menawarkan dua diagram untuk memodelkan struktus statis dari sistem informasi, yaitu : • Class Diagram
43
Class diagram melukiskan struktur sistem dalam bentuk objek. Disini digambarkan objek class yang membangun sistem beserta hubungan antar class. • Object Diagram Object diagram serupa dengan class diagram,tetapi disamping menggambarkan objek class, digambarkan juga objek instance yang menampilkan nilai atribut dari instance. Diagram ini dapat digunakan untuk membantu tim developer 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. UM L memiliki dua diagram untuk tujuan ini, yaitu : •
Sequence Diagram Sequence Diagram secara grafis menggambarkan bagaimana objek saling berinteraksi melalui pesan dalam melakukan suatu operasi atau melaksanakan use case.
•
Collaboration Diagram Collaboration Diagram serupa dengan sequence diagram, tetapi yang difokuskan disini bukanlah urutan (sequence) melainkan interaksi antar objek dalam format jaringan.
44
4. State Diagram State diagram juga memodelkan aspek dinamis dari sistem. UM L memiliki diagram untuk memodelkan perilaku kompleks dari objek dan diagram untuk memodelkan perilaku dari use case. Diagram tersebut yaitu : •
Statechart Diagram Statechart diagram digunakan untuk memodelkan aspek dinamis
dari suatu
objek.
Pada statechart diagram
diilustrasikan daur hidup objek, berbagai keadaan objek, dan peristiwa yang menyebabkan transisi keadaan yang satu ke keadaan yang lain. •
Activity Diagram Activity Diagram digunakan untuk menggambarkan urutan aktivitas secara berurutan dari proses bisnis atau use case.
5.
Implementation Diagram Implementation diagram juga memodelkan struktur dari sistem informasi. Yang termasuk dalam implementation diagram yaitu:
•
Component Diagram Component diagram digunakan untuk menggambarkan organisasi dari sistem dan ketergantungnan dari komponen perangkat lunak dalam sistem. Component diagram dapat
45
juga digunakan untuk
menunjukkan bagaimana kode
program dibagi menjadi modul-modul. •
Deployment Diagram Deployment diagram mendeskripsikan arsitek fisik dalam ’node’ untuk hardware dan perangkat lunak dalam sistem. Disini digambarkan konfigurasi dari komponen perangkat lunak, processor, dan peralatan lain yang membangun arsitek sistem secara run-time.
2.7.4 Use Case Diagram M enurut Whitten, Bentley, Dittman (2004, p271-273), use case diagram terdiri atas use case,actor(user), dan hubungan diantaranya. Actor tidaklah harus manusia. Actor juga dapat berupa organisasi, sistem informasi yang lain, alat-alat diluar sistem sperti sensor, atau bahkan konsep akan waktu. Ada lima tipe hubungan dalam use case diagram, yaitu : 1. Associations, yaitu hubungan antar actor dan use case yang timbul dimana use case mendeskripsikan interaksi yang terjadi. Association digambarkan dengan garis lurus menghubungkan use case dan actor. Association yang memiliki panah pada ujung yang menyentuh use case mengindikasikan bahwa use case dilakukan oleh actor pada
46
ujung lainnya. Association tanpa tanda panah mengindikasikan interkasi antara use case dan server luar atau actor penerima. 2. Extends. Use case dapat mengandung fungsionalitas yang kompleks berisi beberapa langkah yang membuat use case menjadi sulit dimengerti. Untuk menyederhanakan use case dan membuatnya menjadi lebih mudah dimengerti, kita dapat memecah langkahlangkah kompleks tersebut menjadi use case terpisah. Hasilnya disebut extensiion use case dengan use case utamanya disebut hubungan extends. Hubungan extends digambarkan dengan garis dengan panah, bermula pada use case utama dan menunjuk pada extension use case. Setiap hubungan ini dibero label ”<<extends>>” 3. Uses (atau Includes). Seringkali kita dapat menemukan dua atau lebih use case melakukan langkah yang memiliki fungsionalitas yang sama. Cara terbaik adalah untuk memisahkannya menjadi use case terpisah yang disebut abstract use case. Abstract use case dapat digunakan oleh use case lain yang memerlukan fungsionalitas. Hubungan antara abstract use case dengan use case yang menggunakannya disebut hubungan uses. Hubungan uses digambarkan dengan garis dengan garis bertanda panah, bermula pada use case dan menunjuk pada use case yang digunakan. Setiap hubungan ini diberi label ”<<uses>>”. 4. Depends On, yaitu hubungan antar use case dimana kondisi awal suatu use case bergantung pada kondisi akhir use case yang lain.
47
Hubungan depends on digambarkan dengan garis bertanda panah, bermula pada use case dan menunjuk pada use case yang digantungkan. Setiap hubungan ini diberi label “<<depends on>>” 5. Inheritance. Suatu dua atau lebih actor berbagi perilaku yang sama, cara yang terbaik adalah membuat abstract actor untuk melakukan perilaku terebut agar mengurangi redudansi sistem, dengan demikin actor mewarisi kemampuan untuk memulai sebuah use case.
2.7.5 Class Diagram M enurut Whitten, Bentley, dan Dittman (2004,p431-435), class adalah kumpulan objek yang berbagi atribut dan perilaku yang sama. Objek adalah sesuatu yang dapat dilihat, disentuh, atau dapat dirasakan dan merupakan tempat user menyimpan data dan perilaku. Atribut adalah data yang mempresentasikan karakteristik dari suatu objek. Perilaku adalah kumpulan hal-hal yang dapat dilakukan oleh objek dan berhubungan dengan data yang dimilikinya. M enurut Whitten, Bentley, dan Dittman (2004, p455), class diagram adalah gambar dari stuktur objek statis dalam sistem, menunjukkan objek class yang menyusun sistem beserta hubungan antar objek class tesebut. Pada
waktu
tingkatan-tingkatan
class
diidentifikasi,
konspe
inheritance diterapkan. Inheritance adalah konsep dimana metode dan/atau atribut yang telah didefinisikan dala objek class dapat diwariskan atau
48
digunakan kembali oleh objek class yang lain. Pendekatan yang mencari dan memanfaatkan
persamaan
antar
objek
dan
class
menunjuk
pada
generalization/specialization. Generalization/specialization adalah teknik dimana atribut dan perilaku yang sama pada beberapa tipe objek class dikelompokkan (atau diabstraksi) menjadi class tersendiri, yang disebut supertype. Atribut adan metode dari objek class supertype diwariskan ke class subtype. M enurut Whitten, Bentley, dan Dittman (2004, p435-438), macammacam hubungan antar class adalah: 1.
Association,
menggambarkan
hubungan
antar
class.
Dalam
association dapat ditampilkan kompleksitas atau derajat dari setiap association. Konsep ini disebut multiplicity. Multiplicity adalah nilai minimum dan maksimum dari keberadaan dari satu objek atau class untuk sebuah keberadaan objek atau class yang terhubung 2.
Aggregation, hubungan antar class dimana suata class ‘utuh’ mengandung satu atau lebih class ’bagian’ yang lebih kecil. Dapat pula dilihat bahwa class ‘bagian’ merupakan bagian dari class ’utuh’. Aggregation digambarkan dengan wajik berlubang terhubung pada class ’utuh’. M enurut Whitten, Bentley, dan Dittman (2004,p459), relasi aggregation adalah hubungan asimetris. Objek B merupakan bagian dari objek A tetapi objek A bukan bagian dari objek B. relasi
49
ini tidak menyertakan inheritance, sehingga objek B tidak mewarisi atribut dan perilaku dari objek A. 3.
Composition, merupakan hubungan aggregation dimana class ’utuh’ bertanggung jawab ata pembuatan dan penghancuran class ’bagian’. Jika class ‘utuh’ akan dihancurkan, class ’bagian’ akan ikut hancur. Composition digambarkan dengan wajik penuh terhubung pada class ’utuh’.
2.7.6 Sequence Diagram M enurut Whitten, Bentley, dan Dittman (2004,p702), sequence diagram adalah diagram UM L yang memodelkan aspek logika dari use case dengan menggambarkan interaksi dari pesan-pesan antar objek dalam urutan waktu. Sequence diagram menunjukkan secara detil bagaimana objek saling berinteraksi pada urutan waktu, dibaca dari atas ke bawah secara berurut mengikuti logika dari use case. Tulisan dari langkah-langkah use case dapat ditulis dalam pseudocode pada sebelah kiri diagram untuk mempermudah pembacaan. Setiap objek digambarkan dalam symbol objek UM L. Keterangan dari use case disimbolkan dengan garis vertikal yang disebut lifrline. Perilaku atau operasi yang perlu dilakukan oleh setiap objek digambarkan dengan empat persegi
panjang
pada
lifeline
objek.
Empat
persegi
panjang
ini
menggambarkan kode program. Panah antar garis mempresentasikan interaksi
50
atau pesan yang dikirimkan ke objek tertentu untuk memanggil operasi untuk memenuhi suatu permintaan.
2.7.7 S tatechart Diagram M enurut Whitten, Bentley, dan Dittman (2004,p700-701), statechart diagram adalah diagram UM L yang menggambarkan macam-macam keadaan yang dapat dimiliki objek peristiwa yang memicu terjadinya transisi antar keadaan, dan aturan-aturan yang mengatur transisi tersebut. Suatu objek berganti keadaan saat nilai atributnya berubah. Statechart diagram tidak diperlukan untuk semua objek. Statechart diagram dibuat hanya untuk objek yang secara jelas memiliki keadaan yang dapat diidentifikasi dan perilaku yang kompleks. Statechart diagram diawali dengan keadaan awal (lingkaran hitam penuh) dan transisi melewati berbagai keadaan dalam daur hidup objek (segi empat tidak bersudut) sampai mencapai keadaan akhir (lingkaran hitam penuh dengan lingkaran diluranya). Panah menggambarkan kejadian yang memicu perubahan keadaan ke keadaan lainnya.
2.7.8 Activity Diagram M enurut Whitten, Bentley, dan Dittman (2004, p450-454), activity diagram adalah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran dari sebuah proses bisnis, langkah-langkah dari use case, atau
51
logika dari suatu perilaku objek (metode). Activity diagram serupa dengan flowchart dalam menggambarkan urutan alur siklus aktivitas dari proses bisnis atau sebuah use case, tetapi berbeda dengan flowchart dalam penyediaan mekanisme untul menggambarkan aktivitas yang muncul dalam waktu bersamaan. Activity diagram dapat digunakan selama masa analisa dan desain. Sedikitnya sebuah activity diagram dapat dibuat dari sebuah use case. Jika use case terlalu panjang atau memiliki logika yang kompleks makan dapat dibuat lebih dari satu activity diagram. System analyst menggunkana activity diagram untuk memberi pemahaman lebih akan aliran dan urutan dari langkah-langkah dalam use case. Lingkaran hitam penuh mempresentasikan awal dari proses. Segi empat tidak bersudut mempresentasikan sebuah aktivitas atau tugas yang perlu dilakukan. Panah menggambarkan pemicu yang menginisiasikan aktivitas. Balok berwarna hitam penuh adalah balok sinkronisasi. Simbol ini memungkinkan kita menggambarkan aktivitas yang berjalan bersamaan. Teks didalam tanda [ ] mempresentasikan pemicu yang merupakan hasil dari aktivitas
pengambilan
keputusan.
Wajik
mempresentasikan
aktivitas
pengambilan keputusan. Lingkaran hitam penuh dengan lingkaran diluarnya menggambarkan akhir dari proses.