BAB 2 LANDASAN TEORI
2.1 Rekayasa Peranti Lunak 2.1.1 Pengertian Perangkat Lunak Menurut Pressman (2005, p36), perangkat lunak adalah perintah atau program komputer yang bila dijalankan akan memberikan fungsi dan petunjuk kerja seperti yang diinginkan. Struktur data yang memungkinkan program memanipulasi informasi secara proporsional dan dokumen yang menggambarkan operasi dan kegunaan program.
2. 1.2 Karakteristik Perangkat Lunak Menurut Pressman (2005, pp37-39), perangkat lunak memiliki karakter sesuai dengan bidang yang akan ditangani oleh perangkat lunak tersebut. Perangkat lunak juga memiliki karakteristik yang membuatnya berbeda dengan perangkat keras, yaitu : a. Perangkat lunak tidak dirancang seperti perangkat keras atau dirancang di pabrik. b. Waktu pemakaian perangkat lunak tidak akan habis walaupun digunakan dalam jangka waktu yang lama. c. Perangkat lunak yang kompleks dapat diatur sesuai keinginan atau dengan kata lain memiliki fleksibilitas yang tinggi.
6
7
2.2 Metode Waterfall Menurut Pressman (2005, p79), waterfall model terkadang disebut classic life cycle, menunjukkan sesuatu yang sistematis, pendekatan sekuensial untukpengembangan software yang dimulai dengan spesifikasi pelanggan, persyaratan dankemajuan melalui communication, planning, modelling, construction, dan deployment, sampai akhirnya software selesai.
Gambar 2.1 Waterfall Model (Sumber: Pressman, 2005)
Berikut adalah penjelasan dari tahapan – tahapan tersebut : 1.1 Communication Sebelum setiap pekerjaan teknis bisa dimulai, sangat penting untuk berkomunikasi dan berkolaborasi dengan pelanggan (dan stakeholder lainnya). Tujuannya adalah untuk memahami tujuan stakeholder untuk proyek dan untuk mengumpulkan persyaratan yang membantu mendefinisikan fitur software dan fungsinya. 1.2 Planning Sebuah software project plan adalah sebuah perjalanan yang rumit dan aktivitas perencanaan menciptakan "Map" yang membantu tim untuk menyelesaikan
8
perjalanan tersebut. membuat perjalanan. Map disebut software project plan yang menjelaskan pekerjaan rekayasa perangkat lunak dengan menjelaskan tugas teknik yang harus dilakukan, risiko yang mungkin, sumber daya yang akan dibutuhkan, hasil produk yang akan diproduksi dan jadwal pekerjaan. 1.3 Modelling Seorang software engineer melakukan hal yang sama dengan menciptakan model-model untuk lebih memahami persyaratan perangkat lunak dan desain yang diharapkan dapat mencapai kebutuhan tersebut. 1.4 Construction Kegiatan ini menggabungkan generasi kode (manual salah satu atau otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode. 1.5. Deployment Perangkat lunak (sebagai entitas lengkap atau seperti penambahan sebagian secara lengkap) yang disampaikan kepada pelanggan yang mengevaluasi produk dan memberikan umpan balik berdasarkan evaluasi tersebut.
2.3 Multimedia Menurut Vaughan (2011, p1) Multimedia adalah gabungan dan kombinasi dari text, gambar, suara, video dan animasi. Elemen multimedia biasanya dibalut bersamasama ke sebuah proyek dengan menggunakan authoring tools. Alat-alat perangkat lunak yang dirancang untuk mengelola elemen – elemen multimedia dan menyediakan interaksi user, platform atau lingkungan.
9
1. Teks Menurut Vaughan (2011, p18), teks dan kemampuan untuk membaca itu adalah pintu untuk kekuasaan dan pengetahuan. Membaca dan menulis merupakan keterampilan yang diharapkan dan diperlukan dalam kebanyakan budaya yang modern. Dan teks masih memberikan informasi yang dapat memiliki makna yang kuat. 2. Gambar Menurut Vaughan (2011, p68), multimedia yang ada pada layar computer yang biasa kita lihat adalah gabungan dari unsur: teks, simbol, foto-seperti bitmap, vektorditarik grafis, tiga-dimensi rendering, tombol khusus untuk klik dan animasi. Beberapa bagian dari gambar ini bahkan mungkin bereaksi atau bergerak jika dilihat dan sepertinya tidak pernah diam dan mengganggu mata kita. 3. Suara Vaughan (2011, p104) menyatakan suara mungkin elemen multimedia yang paling sensual. Karena memiliki arti secara bahasa yang artinya "berbicara", dari bisikan menjadi jeritan. Ini dapat memberikan kenikmatan mendengarkan musik, aksen mengejutkan khusus efek, atau suasana latar belakang suasana hati-pengaturan. Beberapa musik dapat menghasilkan jenis – jenis emosi yang kuat, menghasilkan emosi cinta. 4. Video Vaughan (2011, p164) menyatakan video digital adalah yang paling menarik dari sumber multimedia, dan merupakan alat yang ampuh untuk membawa user komputer lebih dekat dengan dunia nyata. Hal ini juga metode yang sangat baik untuk
10
menyampaikan
pesan
secara
multimedia.
Dengan
video,
secara
efektif
dapatmenghadirkan pesan dan memperkuat cerita dan user cenderung untuk tetap melihat video tersebut lebih dari apa yang mereka lihat. 5. Animasi Vaughan (2011, p140) mendefinisikan animasi adalah sesuatu yang membuat representasi yang hidup dan bergerak. Ini adalah perubahan visual yang dari waktu kewaktu.
2.4 Sistem Basis Data a.
Pengertian Basis Data Menurut Connolly dan Begg (2009, p65), basis data adalah suatu koleksi
yang dapat didistribusikan dari data yang saling berhubungan serta penjelasannya, yang dirancang untuk memenuhi kebutuhan informasi pada sebuah organisasi. Pengertian basis data menurut Hoffer, Prescott, dan Topi (2008, p46) adalah koleksi terstruktur dari data yang saling berhubungan dan basis data dapat terdiri dari berbagai ukuran dan kompleksitas. b.
Sistem Manajemen Basis Data Sistem manajemen basis data menurut Connolly dan Begg (2009 ,p66)
adalah sebuah sistem piranti lunak yang mengizinkan user untuk mendefinisikan, membuat, mempertahankan, dan mengontrol akses ke basis data. Sistem inimerupakan suatu piranti lunak yang berinteraksi dengan program aplikasi user dan basis datanya.
11
Komponen-komponen yang terdapat pada lingkungan sistem manajemen basis data Connolly & Begg (2009, pp68-71): •
Perangkat keras Sistem
manajemen
basis
data
dan
program-program
aplikasinya
membutuhkan perangkat keras agar bisa dijalankan. Perangkat kerasnya beragam, dapat berupa personal computer, single mainframe atau jaringan komputer. Usernya tergantung kebutuhan organisasi dan sistem manajemen basis data yang digunakan. •
Piranti lunak Komponen-komponen piranti lunak meliputi piranti lunak sistem manajemen basis data itu sendiri, program-program aplikasi, sistem operasi, termasuk piranti lunak jaringan jika sistem tersebut digunakan di dalam jaringan komputer.
•
Data Merupakan komponen yang paling penting. Data berperan sebagai jembatan antara komponen mesin dengan orang.
•
Prosedur Prosedur
merujuk
pada
langkah-langkah
dan
aturan-aturan
yang
memengaruhi perancangan dan penggunaan basis data. User sistem danorang yang bertugas menangani basis data membutuhkan dokumen panduan untuk menggunakan dan meningkatkan kerja sistem.
12
•
Orang Komponen ini terdiri dari orang-orang yang terlibat di dalam sistem untuk menangani atau menjalankan sistem manajemen basis data tersebut.
2.5 UML (Unified Modeling Language) Menurut Whitten dan Bentley (2007, p371), UML (Unified Modeling Language) adalah sebuah set dari kaidah permodelan yang digunakan untuk menspesifikasikan atau mendeskripsikan sebuah sistem perangkat lunak dalam hal objek-objek. 2.5.1 Use Case Diagram Menurut Whitten dan Bentley (2007, p246), use case diagram menggambarkan secara gambar sebuah sistem sebagai satu koleksi dari use cases, actors (user) dan relationships (hubungan) keduanya. Menurut Whitten dan Bentley (2007, pp248-250), ada 5 jenis hubungan yang ditemukan dalam use case diagram, yaitu : •
Associations Sebuah hubungan antara actors dan sebuah use case dimana interaksi terjadi antara mereka.
13
•
Extends Use case yang mengandung langkah yang ditarik dari sebuah use case yang lebih kompleks dengan tujuan untuk menyederhanakan kasus yang orisinil dan untuk memperluas
funsgsionalitasnya.
Use
case
yang
diperluas
memperluas
fungsionalitas dari use case yang orisinil. •
Uses(or includes) Use case yang mengurangi pengulangan yang terjadi antara dua atau lebih use case yang lain dengan menggabungkan langkah-langkah yang umum yang ditemukan dalam kasus.
•
Depends on Sebuah hubungan antara use cases mengindikasikan bahwa satu use case tidak dapat ditampilkan sampai use case yang lain telah tampil.
•
Inheritance Di dalam use cases, sebuah hubungan antara actors yang diciptakan untuk menyederhanakan gambar ketika sebuah actor yang abstrak mewariskan perannya ke banyak actor yang asli
14
Gambar 2.2Use Case Diagram (Sumber: Whitten & Bentley, 2007, p246) 2.5.2 Class Diagram Menurut Whitten dan Bentley (2007, p400), Class diagram adalah sebuah gambaran gambar dari sebuah sistem struktur objek statis, menampilkan kelas objek yang sistem susun sebaik hubungan antara tiap kelas objek. Class diagram digunakan untuk menggambarkan secara gambar objek-objek dan asosiasinya.
15
Gambar2.3 Class diagram (Sumber : Whitten, Bentley, dan Dittman, p374)
2.5.3 Activity Diagram Menurut Whitten dan Bentley (2007, p390), Activity diagram berfungsi untukmenggambarkan langkah-langkah proses atau aktivitas dari sebuah sistem. Activity diagram serupa dengan flowcharts dalam hal mereka menggambarkan secara gambar aliran sekuensial dari aktivitas atau proses bisnis atau use case. Yang membedakan dari flowcharts adalah mereka menyediakan mekanisme untuk menggambarkan aktivitas yang terjadi secara paralel. Mereka sangat berguna untuk memodelkan aksi yang akan ditampilkan ketika operasi sedang berjalan sama baik seperti hasil dari pada aksi tersebut seperti memodelkan kejadian yang menyebabkan windows untuk ditampilkan atau ditutup. Activity diagrams bersifat fleksibel dalam hal mereka dapat digunakan dalam analisis dan desain.
16
Gambar 2.4Activity Diagram (Sumber: Whitten & Bentley, p392)
17
2.5.4 Sequence Diagram Menurut Whitten dan Bentley (2007, p394), Sequence diagram adalah diagram yang menggambarkan interaksi antara actor dan sistem untuk sebuah skenario use case.
Gambar 2.5 Sequence Diagram (Sumber: Whitten dan Bentley,p395)
18
2.6 Delapan Aturan Emas Delapan aturan emas yang digunakan untuk merancang suatu antarmuka yang baik menurut Shneiderman dan Plaisant (2010, pp88-89) adalah: 1.
Konsistensi Perancangan menu, warna, layout, jenis huruf dan lain-lain pada antarmuka harus dilakukan secara konsisten.
2.
Melayani kebutuhan universal User sangat beragam oleh karena itu dalam rancangan layar harus memperhatikan perbedaan dalam hal usia, hambatan fisik, dan variasi teknologi. Jadi ada pemberian shortcut maupun petunjuk penggunaan bagi orang yang baru menggunakan.
3.
Memberikan umpan balik yang informatif Untuk setiap aksi yang dilakukan user, harus diberikan umpan balik agar tercipta suasana yang komunikatif. Pada aksi yang bersifat kecil dan sering digunakan, respon yang diberikan sederhana. Namun, pada aksi yang bersifat besar dan jarang digunakan, respon yang diberikan harus lebih banyak dan rinci.
4.
Merancang dialog untuk menghasilkan keadaan akhir Dalam merancang komunikasi arus balik dengan user,urutan tindakan harus diatur dengan mengetahui keadaan awal, tengah, dan akhir.
19
5.
Adanya pencegahan kesalahan dan penanganan kesalahan. Sebisa mungkin, sistem dirancang untuk dapat mencegah user dari kesalahan fatal yang dilakukan. Misalnya terdapat validasi pada formulir. Apabila user melakukan kesalahan maka sistem harus memberikan instruksi kepada user bagaimana memperbaikinya.
6.
Memungkinkan pembalikkan aksi yang mudah Apabila memungkinkan, aksi dapat dibalikkan. Dalam suatu waktu, user mungkin tidak sengaja melakukan aksi yang tidak diinginkan dan ingin melakukan pembatalan. Sistem harus memberikan fungsi pembatalan (undo) agar user merasa nyaman dan tidak akut dalam menggunakan sistem.
7.
Mendukung pusat kendali internal User memiliki kekuasaan atas sistem sehingga dapat mengontrol programprogram yang ada dalam sistem.
8.
Mengurangi beban ingatan jangka pendek Tampilan harus dibuat sesederhana mungkin sehingga user tidak perlu banyak menghafal. Tampilan dari tiap halaman diperkuat dan frekuensi perpindahan jendela harus dikurangi.
20
2.7 Game Design Menurut Schell (2008, pXXIV), game design adalah suatu aksi untuk menentukan seperti apakah sebuah game seharusnya. Pembuatan game dibuat dimulai dengan membuat sebuah gameplay treatment yang dasar, yaitu sebuah dokumen berisi sekitar lima sampai enam halaman. Treatment tersebut pada akhirnya akan berkembang menjadi sebuah spesifikasi penuh untuk game tersebut, tetapi menulis treatment awal akan membantu untuk mematangkan pemikiran akan game yang akan dibuat. Tujuan utama dari membuat game desain dokumen adalah untuk menarik minat pembaca dan untuk menginformasikan kepada pembacanya mengenai gambaran keseluruhan game yang akan dibuat sehingga nantinya gambaran-gambaran ini dapat dikumpulkan menjadi suatu requirement.
2.8 Game Engine Menurut Will Goldstone (2009, 1) unity adalah 3D game authoring tool untuk PC dan Mac. Mesin permainan yang berada di belakang layar setiap video games. Dari karya seni sampai ke matematika yang ditampilkan di setiap frame di layar, mesin permainan ini yang membuat keputusan itu. Unity juga mengambil beberapa inti dari perangkat lunak lain sehingga dapat digunakan pada unity, seperti Nvidia’s PhysX physics engine, OpenGL, DirectX untuk merender objek 3D, dan OpenAL untuk suara. Memiliki
kemampuan
untuk
menghasilkan
game
standar
profesional,
mempublikasikan 3D untuk PC dan Mac, serta memiliki web player sendiri. Unity
21
adalah salah satu mesin game yang paling cepat berkembang di sektor tersebut. Unity juga mempunyai pengembangan pada Nintendo Wii dan Apple Iphone. Yang berarti bahwa sekali anda menguasai dasar-dasar dari pipeline, tidak hanya komputer rumahan tetapi konsol dan mobile juga bisa dikembangkan.
2.9 Android Menurut Zechner (2011, p2), Android merupakan sistem operasi mobile yang memiliki platform berbasis kernel Linux versi 2.6 dan tersedia secara bebas untuk penggunaan komersial maupun non-komersial. Sejak dirilis pada tahun 2008, android telah menerima tujuh versi pembaharuan, semua kode bernama nama makanan penutup (dengan pengecualian dari Android 1.1, yang sudah tidak relevan lagi saat ini). Versi 2.2 (Froyo) membahkan kompilasi justintime (JIT) ke Dalvik virtual machine (VM), dimana hal ini memperkuat semua aplikasi Java pada Android.
2.10 Genre Game Menurut Bates (2004, pp39-94) orang-orang bermain game untuk alasan yang berbeda. Beberapa mencari yang biasa, untuk melarikan diri dari kenyataan, dan yang lain ingin sebuah tantangan atau simulasi dari kegiatan sehari-hari. Berbagai Genre bermunculan untuk memenuhi keinginan tersebut dan setiap Genre memiliki desain dan keunikan tersendiri. Beberapa jenis Genre :
22
1. Action Games Tujuan dari action games adalah membuat player terus bergerak dan terlibat setiap saat. Anda harus bisa membuat adrenalin player terpacu sampai jantung berdebar-debar dan membuat tangan berkeringat. Ketrampilan dasar yang dibutuhkan player adalah koordinasi tangan-mata dan kecepatan reflek. Kemampuan berpikir yang dalam / tinggi tidak diperlukan, walaupun sebenarnya game yang bagus di Genre ini membutuhkan kecepatan berpikir taktis dan sederhana selama permainan. 2. Role-playing Games (RPG) Role-playing game berputar di sekitar karakter, cerita, dan pertarungan. Genre ini biasanya bertempat di dunia yang luas dan besar, dan biasanya dapat diselesaikan ratusan jam. 3. Adventure Games Genre game adventure yang asli adalah petualangan yang dikombinasikan dengan pemecahan puzzle dan bercerita bagaimana player adalah seorang pahlawan. Sekaranng ini game adventure telah berevolusi dengan adanya tambahan elemenelemen real time. Namun inti dari Genre adventure games tetap cerita (story) dan puzzle. 4. Strategy Games Kunci dari game strategy adalah keseimbangan. Keseimbangan didapat dari seringnya bermain strategy games. Tidak ada satu cara untuk menyelesaikan game ini, selalu ada lebih. Tidak ada satu strategi selalu berhasil, karena jika iya
23
maka game akan cepat berhenti dan tidak menyenangkan. Dalam sebuah permainan
yang berimbang, kesuksesan
seseorang hampir sepenuhnya
ditentukan oleh keahlian orang tersebut. 5. Simulation “It is only about a yard wide but miles deep”. Simulasi fokus kepada satu alat atau aktivitas tetapi kegiatan yang dilakukan bisa digali terus sampai ke dalam. 6. Sport Games Beberapa orang tidak bisa mendapatkan cukup dari olahraga favorit mereka. Mereka bermain, menonton melalui tv di rumah, membentuk liga fantasi, dan membeli video game-nya juga. Orang-orang ini penggemar di dunia aslinya juga, yang bisa juga disebut fanatik. 7. Fighting Games Fighting games sebenarnya sederhana dan langsung, tetapi bisa sangat menarik. Ini adalah salah satu dari Genre games yang berasumsi bahwa para pemain duduk secara berdampingan satu sama lain, sehingga pemain dapat saling berbicara bahkan mengejek. Tujuannya adalah untuk menciptakan sebuah tindakan yang cepat dan intens. Karena fokus yang dekat, grafis haruslah bagus. Grafis yang dilihat ole pemain hanyalah area bertarung, latar belakang yang statis, dan 2 petarung. Setiap karakter harus memiliki tampilan yang unik yang menampilkan kepribadian mereka dan gerak-gerik animasi yang menarik untuk dilihat. Karakter haruslah seimbang, apabila ada karakter yang terlalu kuat maka
24
pemain akan terus memilih dia. Sedangkan karakter yang terlalu lemah, maka tidak ada pemain yang akan memilihnya. 8. Casual Games “a mile wide and a foot deep”. Sangat mudah dimainkan dan tidak susah untuk mempelajarinya. Walaupun pemain menginginkan sebuah kenaikan level dan tingkat kesusahan yang membutuhkan strategi dan tingkat kepandaian lebih, game casual harus bisa menyediakan hal yang sama dalam beberapa jam permainan. Desain game yang simple dan mudah dimengerti. 9. God Games God games tidak memiliki suatu preset untuk menang. Biasa disebut juga sandbox games. Merupakan Genre yang mendorong pemain ke arah tertentu tetapi dengan cara pemain itu sendiri. 10. Educational Games Tujuan dari educational games adalah memberitahu sebuah informasi ilmu mengenai topik dari games tersebut. 11. Online games Semua Genre games dapat menjadi online games apabila dapat dimainkan oleh semua orang via internet. Karena bersifat online, maka para pemain dapat bercengkrama dengan pemain lain di dalam game tersebut.