BAB II LANDASAN TEORI
Pada bab ini merupakan bab yang mengkaji landasan teori yang menjadi dasar dalam pelaksanaan kegiatan tugas akhir. Landasan teori ini meliputi definisi pramuka, sandi semaphore, Game, Pengenalan Versi Android dan Software Development Kit yang digunakan seperti Unity3D dan Mono Develop.
2.1
Pramuka Kepramukaan sebagaimana tercantum dalam Anggaran Rumah Tangga
Gerakan Pramuka (bab II Pasal 7) adalah proses pendidikan di luar lingkungan sekolah dan di luar lingkungan keluarga dalam bentuk kegiatan menarik, menyenangkan, sehat, teratur, terarah, praktis yang dilakukan di alam terbuka dengan Prinsip Dasar Kepramukaan (PDK) dan Metode Kepramukaan (MK), yang sasaran akhirnya pembentukan watak, akhlak dan budi pekerti luhur.
Gambar 2.1 Gerakan Pramuka [1]
II-1
II-2
Kepramukaan ini dicetuskan pertama kali oleh Robert Stephenson Smith Boden Powell dan Willian Alexander Smith pada tahun 1907 ketika mengadakan perkemahan kepanduan pertama (dikenal sebagai jamboree) di Kepulauan Brownsea, Inggris. Kepramukaan kemudian berkembang ke seluruh penjuru dunia termasuk ke Indonesia. Gerakan Pramuka atau Gerakan Kepanduan Praja Muda Karana merupakan satu-satunya wadah (organisasi) berbadan hukum yang berhak menyelenggarakan kepramukaan di Indonesia. Gerakan Pramuka berkedudukan di Ibu Kota Negara Republik Indonesia dan didirikan untuk waktu yang tidak ditentukan dan ditetapkan dengan Keputusan Presiden Republik Indonesia Nomor 238 Tahun 1961 tanggal 20 Mei 1961, sebagai kelanjutan dan pembaruan gerakan kepanduan nasional Indonesia. Pramuka merupakan sebutan bagi anggota Gerakan Pramuka, yang meliputi; Pramuka Siaga, Pramuka Penggalang, Pramuka Penegak dan Pramuka Pandega. Kelompok anggota yang lain yaitu Pembina Pramuka, Andalan, Pelatih, Pamong Saka, Staf Kwartir dan Majelis Pembimbing. Seorang Pramuka harus telah dilantik menjadi anggota Gerakan Pramuka dengan mengucapkan satya (janji) pramuka. Dari uraian di atas, jelaslah kini tentang pengertian dan perbedaan ketiga istilah tersebut. Secara garis besar dapat disimpulkan bahwa kepramukaan merupakan sebuah sistem pendidikan dan Gerakan Pramuka merupakan organisasi yang melaksanakan sistem tersebut (kepramukaan). Sedangkan Pramuka mengandung pengertian sebagai anggota dari Gerakan Pramuka.[1] 2.2
Sandi Semaphore Sandi semaphore adalah suatu cara untuk mengirim dan menerima berita
dengan menggunakan 2 bendera, dimana masing-masing bendera tersebut berukuran 45 cm x 45 cm. Sedangkan warna yang sering dipergunakan adalah merah dan kuning dengan warna merah selalu berada dekat tangkainya.[2]
II-3
Gambar 2.2 Simbol Sandi Semaphore [2] 2.3
Game Game berasal dari bahasa inggris yang berarti permainan. Dalam setiap
game terdapat peraturan yang berbeda-beda untuk memulai permainannya sehingga membuat jenis game semakin bervariasi. Karena salah satu fungsi game sebagai penghilang stress atau rasa jenuh maka hampir setiap orang senang bermain game baik anak kecil, remaja maupun dewasa, mungkin hanya berbeda dari jenis game yang dimainkannya saja. Game sendiri mempunyai dampak positif dan negatif pada kehidupan yang memainkannya. Contoh dampak positif, misalnya: sebagai penghilang stres karena lelah bekerja seharian, mungkin bermain game tepat untuk menghilangkan penat tersebut. Lalu bagi anak-anak sebagai media untuk menambah kecerdasan otak dan daya tanggap, dan masih banyak lagi dampak positif yang lainnya. Contoh dampak negatif, misalnya: karena terlalu sering bermain game lupa untuk melakukan pekerjaan yang lainnya, sehingga membuat pekerjaan lain menjadi tertunda. Lalu jika bermain game di komputer terlalu lama akan merusak mata, dan lain sebagainya.[3] 2.3.1
Jenis-jenis Game
Jenis game mungkin sangat banyak dan bervariasi, dari media untuk memainkannya yang berbeda, cara bermain, jumlah pemain, tapi disini yang akan
II-4
dijelaskan adalah jenis game berdasarkan tipe game yang biasanya dimainkan di handphone dan komputer.[4]
1.
Action games, biasanya meliputi tantangan fisik, teka-teki (puzzle), balapan, dan beberapa konflik lainnya. Dapat juga meliputi masalah ekonomi sederhana, seperti mengumpulkan benda-benda.
2. Real Time Strategy (RTS) adalah game yang melibatkan masalah strategi, taktik, dan logika. Contoh game jenis ini adalah Age of Empire, War Craft, dan sebagainya. 3. Role Playing Games (RPG), kebanyakan game jenis ini melibatkan masalah taktik, logika, dan eksplorasi atau penjelajahan. Dan juga kadang meliputi teka-teki dan masalah ekonomi karena pada game ini biasanya melibatkan pengumpulan barang-barang rampasan dan menjualnya untuk mendapatkan senjata yang lebih baik. Contoh dari game ini adalah Final Fantasy, Ragnarok, Lord of The Rings, dan sebagainya. 4. Real World Simulation, meliputi permainan olahraga dan simulasi masalah kendaraan termasuk kendaraan militer. Games ini kebanyakan melibatkan masalah fisik dan taktik, tetapi tidak masalah eksplorasi, ekonomi dan konseptual. Contohnya seperti adalah game Championship Manager. 5. Construction and Management, seperti game Roller Coster Tycoon dan The Sims. Pada dasarnya adalah masalah ekonomi dan konseptual. Game ini jarang yang melibatkan konflik dan eksplorasi, dan hampir tidak pernah meliputi tantangan fisik. 6. Adventure games, mengutamakan masalah eksplorasi dan pemecahan tekateki. Namun terkadang meliputi masalah konseptual, dan tantangan fisik namun sangat jarang. 7. Puzzle games, ditujukan untuk memecahkan suatu masalah tertentu. Hampir semua semua tantangan disini menyangkut masalah logika yang biasanya dibatasi oleh waktu. 8. Slide scrolling games, pada jenis game ini karakter dapat bergerak ke samping diikuti dengan gerakan background. Contoh game tipe seperti ini adalah Super Mario, Metal Slug, dan sebagainya.
II-5
2.4
Pengenalan Android Pada sub bab ini akan dijelaskan mengenai versi android yang nantinya
akan digunakan untuk menjalankan aplikasi game semaphore. 2.4.1
Versi Android OS Android telah banyak versi, dan ini versi yang digunakan dengan penjelasan sebagai berikut : a. Android versi 4.0 (ICS: Ice Cream Sandwich) Android ICS atau Ice Cream Sandwich juga dirilis pada tahun yang sama dengan Honeycomb, yaitu pada bulan Oktober 2011. Kini, Android Ice Cream Sandwich merupakan salah satu sistem operasi yang paling banyak digunakan oleh para pengembang smartphone yang sudah memiliki nama besar seperti Samsung, Sony, Acer dengan smartphone ICS Acer Liquid Gallant E350 terbarunya serta produsen-produsen kelas berat lainnya untuk digunakan pada produk-produk terbaru mereka.[5] b. Android versi 4.1 (Jelly Bean) Android Jelly Bean merupakan versi Android yang terbaru pada saat ini. Salah satu gadget yang menggunakan sistem operasi Jelly Bean adalah Goole Nexus 7 yang diprakarsai oleh ASUS, vendor asal Taiwan yang juga menjadi teman satu akmpung halaman dengan Acer. Fitur terbaru dari sistem opasi Android Jelly Bean ini salah satunya adalah peningkatan kemampuan on-screen keyboard yang lebih cepat serta lebih responsive, pencarian data kontak dengan vitur Voice Search dan lain sebagainya.[5] c. Android versi 4.4 (Kitkat) Google selaku pemilik Android telah mengumumkan peluncuran Android versi terbaru "Android KitKat" pada bulan Oktober tahun ini (2013), namun belum diketahui dengan pasti berapa tanggal peluncurannya. Berbagai media banyak yang memprediksi tanggal 28 Oktober adalah tanggal peluncuran
II-6
Android Versi 4.4 ini. Nexus 5 adalah Smartphone pertama yang bakal mencicipi OS Android Kitkat.[5] 2.5
Development Kit
Agar dalam penelitian tugas akhir ini dapat terlaksana dan berjalan dengan lancar, maka dibutuhkan perangkat lunak sebagai berikut : a. Unity 3D Unity adalah sebuah Tools yang terintegrasi untuk membuat bentuk objek 3D pada Video Games, atau untuk konteks interaktif lain seperti Visualisasi Arsitektur atau animasi 3D real-time. Lingkungan dari pengembangan Unity 3D berjalan pada Microsoft Windows dan Mac Os X, serta permainan yang dibuat oleh Unity dapat berjalan pada Windows, Mac, Xbox 360, Playstation 3, Wii, iPad, iPhone, dan tidak ketinggalan pada platform Android. Unity juga dapat membuat game berbasis browser yang menggunakan Unity web player plugin, yang dapat bekerja pada Mac dan Windows, tapi tidak pada Linux. Web player yang dihasilkan juga digunakan untuk pengembangan pada widgets Mac. Unity pada dasarnya berisi atas editor untuk membangun/mendesign materi dari suatu permainan dan sebuah game engine untuk mengeksekusi produk akhir. Tools yang memiliki kemampuan seperti Unity yang telah ada sebelumnya diantaranya adalah Director, Blender game Engine, Virtools, Torque Game builder, dan Gamestudio, yang mana juga digunakan sebagai lingkungan grafik yang terintegrasi sebagai metode awal pengembangan.[6] b. MonoDevelop MonoDevelop adalah IDE cross-platform terutama dirancang untuk C # dan bahasa .NET lainnya. MonoDevelop memungkinkan pengembang untuk menulis dengan cepat pada aplikasi desktop dan aplikasi Web ASP.NET di Linux, Windows dan Mac OSX. MonoDevelop memudahkan pengembang untuk port aplikasi .NET yang dibuat dengan Visual Studio untuk Linux dan Mac OSX yang mempertahankan basis kode tunggal untuk semua platform.[7]
II-7
c. Adobe Photoshop Photoshop adalah software yang digunakan untuk memodifikasi gambar atau foto secara profesional baik meliputi modifikasi obyek yang sederhana maupun yang sulit sekalipun. Photoshop merupakan salah satu software yang berguna untuk mengolah gambar berbasis bitmap, yang mempunyai tool dan efek yang lengkap sehingga dapat menghasilkan gambar atau foto yang berkwalitas tinggi (jika ingin lebih jauh mengetahui tentang gambar berbasis bitmap silakan download dokumennya di sini. Kelengkapan fitur yang ada di dalam Photoshop inilah yang akhirnya membuat software ini banyak digunakan oleh desainer grafis profesional. Dan mungkin juga sampai saat ini masih belum ada software desain grafis lain yang bisa menyamai kelengkapan fitur dalam Photoshop.[8] 2.6
Model Prototipe (Prototyping) Prototipe adalah pemodelan evolusioner yang bersifat iterative yang
merupakan model proses perangkat lunak yang telah secara eksplisit dirancang untuk mengakomodasi suatu produk yang akan berubah secara perlahan berevolusi sepanjang waktu. Pembuatan Prototipe dapat digunakan sebagai model proses yang berdiri sendiri, pembuatan prototype lebih umum digunakan sebagai teknik yang dapat diimplementasikan di dalam konteks setiap model perangkat lunak.
II-8
Gambar 2.3 Paradigma Pembuatan Prototipe Pembuatan prototipe pada gambar 2.3 dimulai dengan dilakukan komunikasi antara tim pengembangan perangkat lunak dengan pada pelanggan. Tim pengembangan akan mendefinisikan spesifikasi kebutuhan apapun yang diketahui saat ini. Iterasi pembuatan prototipe direncanakan dengan cepat dan pemodelan dalam bentuk rancangan cepat dilakukan. Suatu rancangan cepat berfokus pada representasi semua aspek perangkat lunak yang akan terlihat oleh para pengguna akhir. Rancangan cepat akan memulai konstruksi pembuatan prototipe, setelah itu akan dilakukan evaluasi-evaluasi tertentu terhadap prototipe yang telah dibuat sebelumnya, kemudian akhirnya akan memberikan umpan balik yang akan digunakan untuk memperhalus spesifikasi kebutuhan. Iterasi akan terjadi ketika prototipe diperbaiki untuk memenuhi kebutuhan. Idealnya prototipe bertindak sebagai mekanisme untuk mengidentifikasi spesifikasi-spesifikasi kebutuhan perangkat lunak. Jika suatu prototipe yang dapat digunakan akan dikembangkan, kita bisa menggunakan program yang sudah ada sebelumnya atau dengan menerapkan penggunaan perkakas yang sudah ada sebelumnya yang memungkinkan program dapat digunakan dan dibuat dengan lebih mudah serta cepat.
II-9
2.7
UML (Unified Modelling Language) UML merupakan suatu bahasa berupa grafik atau gambar yang digunakan
untuk merancang menjabarkan, mendokumentasikan dan membuat struktur solusi dalam perancangan perangkat lunak. Saat ini UML merupakan bahasa pemodelan yang cukup diandalkan oleh user, developer, system analyst, maupun pihak lain yang terlibat dalam perancangan perangkat lunak. Hal ini dikarenakan UMLcukup mudah dipahami dan dikomunikasikan. Pada dasarnya UML tidak terikat oleh suatu bahasa pemograman tertentu. Hal ini membuat UML digunakan secara luas. Dalam penggunakan, UML merupakan notasi-notasi khusus. Notasi pada UML merupakan sekumpulan bentuk khusus yang menggabarkan berbagai diagram yang memiliki arti dan tujuan yang spesifik. Pada sub bab berikut ini akan dijabarkan beberapa jenis UML.[10] 2.7.1
Use case Diagram Use cae diagram adalah sebuah diagram yang memvisualisasikan
fungsionalitas yang diharapkan dari sebuah sistem. Pada umunya, pada use case diagram terdiri dari komponen yang meliputi use case dan aktor. Use case merupakan sebuah interaksi antara aktor dan sistem. Sedangkan aktor adalah manusia, entitas, mesin atau sistem lain yang berinteraksi dan melakukan aktivitas tertentu. Penggunaan use case diagram dapat membantu dalam menyusun requirement sebuah sistem dan merancang test case untuk fitur pada sebuah sistem.[10] 2.7.2
Class Diagram Class diagram adalah diagram UML yang menggambarkan tentang
keadaan suatu sistem yang didalamnya terdapat fungsi atau prosedur-prosedur. Selain itu, class diagram yang dapat digunakan untuk memvisualisasikan struktur dan deskripsi dari sebuah class, package serta hubungan satu dengan lainnya seperti pewarisan asosiasi dan lain sebagainya.[10] 2.7.3
Activity Diagram Activity diagram adalah diagram UML yang menggambarkan berbagai
aliran aktivitas dalam sistem yang sedang dirancang. Activity diagram merupakan state diagram khusu, dimana sebagian besar state merupakan sebuah aksi (action).
II-10
Activity diagram tidak menggambarkan behavior dari sebuah sistem, melainkan lebih menggambarkan pada proses-proses dan jalur-jalur aktivitas.[10] 2.7.4
Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di dalam dan
disekitar sistem dalam bentuk message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. 2.7.5
Deployment Diagram Deployment/physical
diagram
menggambarkan
detail
bagaimana
komponen di deploy dalam infrastruktur sistem, dimana komponen akan terletak (pada mesin, atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal yang bersifat fisikal. Sebuah node adalah server, workstation, ataupun piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya.[10]