BAB 2 LANDAS AN TEORI 1 L1 ultimedia 1.1 Multimedia M enurut Tay Vaughan (2006), multimedia adalah kombinasi dari teks, foto, seni grafis, suara, animasi, dan elemen – elemen video yang dimanipulasi secara digital. Elemen-elemen yang terdapat di dalam multimedia adalah sebagai berikut: 1. Teks Teks merupakan media dasar dalam sistem multimedia. Dalam aspek kehidupan, teks digunakan untuk bertukar pikiran, ide, dan fakta. Sebuah teks dapat ditafsirkan menjadi beberapa arti, karenanya keakuratan dan kepadatan dalam teks yang dipilih sangatlah penting. Dalam multimedia, teks dapat digunakan pada judul, menu, navigasi, dan isi dari multimedia. 2. Suara Audio digital dibuat saat mengkonversikan sebuah gelombang suara ke dalam angka, dimana proses ini disebut digitizing (mendigitalkan). Suara digital merupakan sampel suara. Setiap fraksi n dalam satu detik, sampel suara diambil dan disimpan sebagai informasi digital dalam bit dan byte. Kualitas dari recording digital tergantung pada seberapa sering sampel diambil (angka sampling atau frekuensi, dihitung dalam kilohertz, atau seribu sampel per detik) dan berapa banyak angka yang digunakan untuk mereprentasikan nilai dari tiap sampel (bitdepth, ukuran sampel, resolusi, range dinamis). Semakin sering sampel diambil dan semakin banyak data yang disimpan L2 mengenai sampel, semakin bagus resolusi dan kualitas suara yang ditangkap ketika diputar. 3. Gambar Gambar adalah representasi grafik dan visual dari informasi yang dapat ditampilkan pada layar komputer atau tercetak. Gambar mempunyai peran penting dalam multimedia untuk alat navigasi, komponen user interface, sistem help, dan clip-art. Secara umum, image dapat dibagi dalam dua format, yaitu Bitmap dan gambar Vektor. Bitmap atau Raster Images disimpan dalam array of pixel yang merepresentasikan gambar sebagai array of dots (pixel). Sebuah pixel merupakan elemen terkecil dalam resolusi layar komputer (screen resolution) dan setiap pixel mewakili suatu warna yang spesifik namun dapat memiliki 2 atau lebih range warna (color depth). Gambar Vektor disimpan sebagai bentuk geometri (set grafik primitif) yang didefinisikan secara matematika untuk menampilkan gambar. Gambar Vektor dapat diubah ukurannya tanpa kehilangan integritas dari image aslinya. 4. Animasi Animasi adalah membuat presentasi statis menjadi hidup. Animasi merupakan perubahan visual sepanjang waktu dan memberi kekuatan besar pada proyek multimedia dan halaman web. Video televisi terdiri atas 30 frame atau gambar tiap detiknya, kecepatan di mana setiap frame digantikan oleh frame lain membuat gambar tampak L3 bergerak dengan halus. Gambar hidup dalam film biasanya diambil dengan angka 24 frame per detik. 5. Video Video adalah gambar “bergerak” yang ditangkap menggunakan movie camera atau video camera yang kemudian disimpan di dalam suatu format khusus. 1.2 Interaksi Manusia dan Komputer M enurut Ben Shneiderman (2010), interaksi manusia dan komputer (IM K) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya. Sebuah sistem dapat diartikan interaktif apabila sistem tersebut dapat berkomunikasi dengan penggunanya, sehingga sistem tersebut dapat berguna bagi pengguna tersebut. Dalam perancangan desain antarmuka (interface) terdapat delapan aturan emas (Eight Golden Rules) yang harus diperhatikan, yaitu: 1. Berusaha untuk konsisten Tindakan yang konsisten diperlukan dalam situasi yang serupa. Konsistensi juga harus diterapkan pada prompt, menu, layar help, warna tampilan, kapitalisasi, huruf, dan sebagainya. L4 2. M endukung kegunaan secara universal Diharapkan terdapat bantuan untuk user pemula untuk menguasai beberapa fitur dasar .Selain itu, seiring meningkatnya frekuensi penggunaan, pengguna juga ingin mengurangi jumlah interaksi dan meningkatkan laju dari interaksi tersebut. singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro sangat membantu expert user. 3. M enawarkan umpan balik yang informatif Diharapkan dari setiap tindakan yang dilakukan, user mendapatkan umpan balik (feedback) yang informatif dari sistem. Untuk tindakan-tindakan yang sering terjadi, umpan balik yang diberikan dapat dibuat secara sederhana, sedangkan untuk tindakan yang jarang dilakukan dan penting harus menampilkan umpan balik secara detail. 4. M erancang dialog yang memberikan penutupan (keadaan akhir) Urutan tindakan harus dikelompokkan ke dalam bagian awal, tengah, dan akhir. Suatu umpan balik yang informatif seharusnya memberikan kepuasan penyelesaian, rasa lega, tanda untuk menghentikan suatu rencana dan pilihan dari pikiran mereka, dan indikasi bahwa caranya jelas untuk mempersiapkan tindakan-tindakan berikutnya. 5. M enawarkan penanganan kesalahan yang sederhana Sistem yang dibuat diharapkan tidak menghasilkan kesalahan yang serius jika digunakan oleh pengguna. Jika pengguna melakukan L5 kesalahan, s istem diharapkan mendeteksi kesalahan tersebut dan memberikan solusi pemecahan masalah yang baik dan sederhana. 6. M emungkinkan pembalikan aksi yang mudah Diharapkan adanya feature untuk kembali (back) ke aktivitas sebelumnya. Hal ini bertujuan agar pengguna dapat kembali ke aktivitas sebelumnya jika ternyata pengguna melakukan suatu kesalahan sehingga pengguna dapat memperbaikinya dan mendorong pengguna dalam mencoba pilihan-pilihan tindakan yang belum mereka kenali. 7. M endukung pusat kendali internal M enjadikan pengguna yang menggunakan sistem sebagai pemegang kendali, bukan sebagai yang dikendalikan. 8. M engurangi beban ingatan jangka pendek M engingat keterbatasan manusia dalam pemrosesan informasi dalam jangka pendek, sebuah sistem diharapkan dibuat dengan tampilan sesederhana mungkin, frekuensi pergerakan window dikurangi dan hal-hal lain yang dapat membebani ingatan pengguna. Informasi seperti singkatan atau kode sebaiknya juga disediakan. Selain terdapat 8 aturan emas (Eight Golden Rules) yang harus diperhatikan dalam perancangan desain antarmuka, terdapat juga 5 faktor manusia terukur yang digunakan untuk mengevaluasi perancangan desain antarmuka, yaitu : 1. Waktu Belajar Lama waktu yang dibutuhkan oleh orang biasa untuk mempelajari cara untuk melakukan suatu tugas yang relevan. L6 2. Kecepatan Kinerja Lama waktu yang dibutuhkan untuk melakukan suatu tugas. 3. Tingkat Kesalahan Banyaknya kesalahan dan kesalahan-kesalahan apa saja yang dibuat oleh pemakai. 4. Daya Ingat Kemampuan pemakai mempertahankan pengetahuannya setelah jangka waktu tertentu. 5. Kepuasan Subjektif Kepuasan pemakai terhadap berbagai aspek sistem, termasuk kesempatan pengguna untuk memberikan umpan balik. 1.3 Kebudayaan Indonesia M enurut M udjahirin Thohir (2009) pengertian kebudayaan Indonesia adalah : a. Pertama, kebudayaan (Indonesia) adalah kebudayaan yang sudah terbentuk. Definisi ini mengarah kepada pengertian bahwa kebudayaan Indonesia adalah keseluruhan pengetahuan yang tersosialisasi/internalisasi dari generasi-generasi sebelumnya, yang kemudian digunakan oleh umumnya masyarakat Indonesia sebagai pedoman hidup. Jika dilacak, kebudayaan ini terdokumentasi dalam artefak/atau teks. M elihat kebudayaan dari sisi ini, kita akan mudah terjebak kepada dua hal. Pertama, apa yang sudah ada itu diterima sebagai sesuatu yang sudah baik bahkan paripurna. Ungkapan seperti kebudayaan Jawa adalah kebudayaan yang adiluhung, merupakan contoh terbaiknya. Di sini, apa yang disebut kebudayaan adalah dokumen L7 text (Jawa termasuk sastra-sastra lisan) yang harus dijadikan pedoman kalau kita tidak ingin kehilangan ke-jawa-annya. Ungkapan: “ora Jawa” atau “durung Jawa” adalah ungkapan untuk menilai laku (orang Jawa) yang sudah bergeser dari text tersebut. b. Kedua, kebudayaan (Indonesia) adalah kebudayaan yang sedang membentuk. Pada definisi kedua ini menjelaskan adanya kesadaran bahwa sebetulnya, tidak pernah (baca: terlalu sedikit) ada masyarakat manapun di dunia ini yang tidak bersentuhan dengan kebudayaan dan peradaban lain, termasuk kebudayaan Indonesia atau kebudayaan Jawa. Hanya saja ada pertanyaan serius untuk memilih definisi kedua ini, yaitu bagaimana lalu kebudayaan kita berdiri tegak untuk mampu menyortir berbagai elemen kebudayaan asing yang cenderung capitalism yang notabene, dalam batasbatas tertentu, negative (baca: tidak cocok)? Pada saat yang sama, kebudayaan global yang kapitalistik itu, telah masuk ke berbagai relungrelung kehidupan masyarakat “tanpa” bisa dicegah. Kalau begitu, pertanyaannya ialah: membatasi, menolak, atau mengambil alih nilai-nilai positif yang ditawarkan. Persoalan seperti ini dulu sudah pernah menjadi perdebatan para ahli kebudayaan, sebagaimana yang dilakukan oleh Armen Pane dkk versus Sutan Takdir Alisyahbana (Lihat pada buku Polemik Kebudayaan), dan sampai sekarang pun sikap kita tidak jelas juntrungnya. c. Ketiga, adalah kebudayaan (Indonesia) adalah kebudayaan yang direncanakan untuk dibentuk. Ini adalah definisi yang futuristic, yang perlu hadir dan dihadirkan oleh warga bangsa yang menginginkan Indonesia ke depan HARUS LEBIH BAIK. Inilah yang seharusnya menjadi focus kajian L8 serius bagi pemerhati Indonesia, wa bil khusus para mahasiswa dan dosendosen ilmu budaya. 1.4 Game M enurut Ernest Adams (2010), game adalah jenis kegiatan bermain yang dilakukan dalam konteks berpura-pura dalam dunia nyata, dimana para peserta berusaha untuk mencapai suatu tujuan yang dilakukan sesuai dengan aturan yang ada. Sedangkan menurut Jesse Schell (2008), game adalah sebuah aktifitas pemecahan masalah, dengan pendekatan yang bersifat menyenangkan. Terdapat empat elemen dasar yang membentuk sebuah game (elemental tetrad), yaitu Mechanics, Story, Aesthetics, dan Technology. 1. Mechanics Mechanics merupakan prosedur dan peraturan yang berlaku di dalam suatu game. Mechanics menjelaskan tujuan dari game tersebut, bagaimana pemain dapat mencoba untuk mencapai tujuan yang ada, dan apa yang akan terjadi jika mereka mencoba melakukan hal tersebut. 2. Story Story merupakan urutan kejadian yang terjadi dalam suatu game, story dapat berjalan secara linier dan pre-scripted atau dapat juga bercabang dan muncul secara tiba-tiba. 3. Aesthetics L9 Aesthetics adalah bagaimana penampilan, suara, dan rasa yang ada di dalam game tersebut. Aesthetics merupakan aspek yang sangat penting dalam game design karena langsung mempengaruhi pengalaman bermain. 4. Technology Technology pada dasarnya merupakan media dimana Aesthetics akan berlangsung, dimana Mechanics akan terjadi, dan bagaimana Story akan disampaikan pada game tersebut. Gambar 2.1 Elemental tetrad (Ernest Adams, 2010) 1.5 Gameplay M enurut Earnests Adams (2010), gameplay terdiri dari tantangan-tantangan yang pemain harus hadapi untuk mencapai tujuan dari game tersebut dan tindakan-tindakan yang diperbolehkan untuk menghadapi tantangan-tantangan yang ada. L10 M enurut Lindsay Grace (2005), genre pada gameplay dibedakan menjadi beberapa jenis, yaitu: 1. Action Action game adalah game yang menawarkan banyak aksi sebagai daya tarik utama. Keterampilan yang paling dibutuhkan untuk memainkan game ini dengan baik adalah respon reflek dari pemain. 2. Adventure Adventure game adalah game yang menawarkan eksplorasi area dan memecahkan teka-teki sebagai daya tarik utama. Dilihat dari game-game yang sudah ada, game dengan genre Adventure menawarkan cerita yang paling menarik dibandingkan game dengan genre lain. Penalaran, kreatifitas, dan rasa ingin tahu adalah keterampilan yang paling dibutuhkan untuk memainkan game ini dengan baik. 3. Puzzle Puzzle game adalah game yang menawarkan puzzle sebagai daya tarik utamanya. Game-game ini biasanya dirilis melalui web dan memiliki anggaran yang rendah dalam pembuatannya. 4. Role Playing Role Playing game (RPG) adalah game yang menawarkan pemain sebuah peluang untuk merasakan dirinya menjadi seorang karakter dari game tersebut. Role Playing game biasanya menawarkan banyak karakter, durasi permainan yang panjang, dan mengatur karakter secara teknis. L11 5. Simulation Simulation game adalah game yang memiliki elemen utama berupa kemampuan untuk menyajikan situasi yang sama dengan dunia nyata. Simulation game menyediakan kesenangan memalui pemeragaan. 6. Strategy Strategy game adalah game yang menghibur melalui proses penalaran dan pemecahan masalah. 1.6 Tactical Role Playing Game (TRPG) Tactical RPG atau sering dikenal dengan Strategy RPG, merupakan percampuran antara elemen game turn-based strategy pada PC dengan proses perkembangan karakter RPG pada konsol. Contoh yang paling dikenal adalah Final Fantasy Tactics, sampai dengan genre ini sering didefinisikan sebagai “game yang mirip dengan Final Fantasy Tactics” (Ini ironis karena FFT disorot di Jepang karena terlalu mirip dengan judul sebelumnya, Tactics Ogre, namun ini adalah kisah yang lain). (Everything2, 2003) Tactical RPG adalah sebuah game peperangan dimana setiap unit dikembangkan seperti karakter RPG pada konsol. Umumnya, hanya game yang menyeimbangkan pentingnya dua elemen tersebut yang dianggap sebagai Tactical RPG. Elemen-elemen umum dari Tactical RPG antara lain: • M edan perang seperti papan catur, sering digambarkan dengan kotak yang jelas. • Pandangan kamera secara isometrik. L12 • Banyak kelas untuk karakter, didapatkan dengan menaikkan level atau sejenis dengan experience point. • Kompleks, cerita politik yang berat, tidak terlalu bergantung dengan suatu periode sejarah. • Fantastis, biasanya mengandung fantasi tinggi tapi kadang-kadang menggunakan latar science fiction. • Penekanan pada cerita yang telah ditentukan, bukan random, pertempuran, dengan story yang diceritakan selama pertempuran itu sendiri. • Abstrak, bukan pertarungan yang realistik. Karena kebanyakan Tactical RPG adalah RPG pada konsol dan juga mengandung tingkat fantasi yang tinggi, pertempuran umumnya akan mencakup abstraksi seperti giliran yang bergantian dan hit points. • Tingkat kesulitan yang sangat tinggi, terutama berkaitan dengan kematian. Kematian cenderung permanen, atau setidaknya sangat sulit untuk dihidupkan kembali. Tidak semua elemen-elemen ini selalu dibutuhakan untuk hadir, tapi game yang tidak memasukkan sebagian besar elemen tersebut akan dianggap menggunakan genre yang lain. L13 1.7 Game Design M enurut Jesse Schell (2008) game design adalah aksi yang menentukan bagaimana seharusnya sebuah game. M enurut Andrew Rollings dan Ernest Adams (2003), game design adalah proses dari membayangkan sebuah game, mendefinisikan cara kerjanya, menggambarkan elemen-elemen yang membuat game tersebut (konseptual, fungsional, artistik, dan lainnya), dan kemudian menyampaikan informasi tersebut kepada tim yang membangun game tersebut. M enurut Bob Gates (2004), pembuatan game akan dimulai dari pembuatan game document. Game document digunakan untuk menjadi landasan pengembangan game tersebut, dan menarik minat pembaca serta menginformasikan gambaran keseluruhan game yang akan dibuat. Berikut ini merupakan elemen di dalam game document: 1. High Concept High Concept adalah gambaran umum mengenai game tersebut, tentang apa game tersebut, biasanya ditampilkan dalam satu atau dua kalimat. 2. Genre M enjelaskan genre apakah yang akan digunakan pada game tersebut. 3. Gameplay Bagian merangkum aksi yang akan dilakukan pemain ketika pemain memainkan game tersebut. Biasanya, bagian ini dimulai dari menentukan genre dari game dan kemudian menjelaskan cara yang kreatif dan menghibur. L14 4. Features Bagian ini menampilkan kumpulan nilai jual utama dari game tersebut, yang dapat membantu mengidentifikasi kemampuan dari game tersebut. 5. Setting Bagian ini merangkum dunia dalam game dan isinya secara menarik dan unik dalam beberapa paragraf 6. Story Jika game tersebut mempunyai story, maka pada bagian ini memberikan sinopsis pendek tentang story pada game tersebut. 7. Target Market Bagian ini menjelaskan target pasar yang akan dituju game tersebut. 8. Target Hardware Platform Bagian ini mengidentifikasi platform game apakah yang akan digunakan untuk memainkan game tersebut. 9. Estimated schedule and budget Bagian ini memperkirakan jadwal dan dana yang dibutuhkan untuk membuat game tersebut. 10. Competitive analysis Bagian ini membandingkan game yang akan dibuat dengan pesaing di pasar yang mempunyai genre serupa. 11. The team Bagian ini menampilkan kumpulan informasi dari tim pembuat game beserta peran yang akan mereka lakukan pada pembuatan game tersebut. 12. Document summary L15 Bagian ini berguna untuk menyakinkan publisher bahwa game ini akan berhasil di pasar. 1.8 Rational Unified Process (RUP) M enurut Scott W. Ambler (2005) Rational Unified Process (RUP) adalah sebuah proses pengembangan sistem yang preskriptif dan terdefinisi dengan baik yang sering digunakan untuk mengembangakan sistem berbasis obyek atau komponen berbasis teknologi. RUP didasarkan pada prinsip-prinsip rekayasa perangkat lunak seperti iterative, requirements-driven, dan architecture-centric pada pendekatan pengembangan perangkat lunak. Gambar 2.2 RUP life cycle (S cott W. Ambler, 2005) Gambar diatas menggambarkan RUP life-cycle atau yang sering juga disebut “diagram gundukan”. Gundukan horizontal untuk tiap bagian memberikan perkiraan L16 kasar untuk setiap daya yang dibutuhkan untuk tiap fase. Sebagai contoh dapat dilihat sebagian besar proses Business Modelling berlangsung pada fase Inception, meskipun akan terus berlangsung hingga awal fase Transition. Fase-fase yang terdapat pada RUP adalah sebagai berikut : • The Inception Phase Fase Inception bertujuan untuk menyakinkan stakeholder terhadap tujuan proyek tersebut. Karenanya dibutuhkan porsi requirement untuk menentukan batas dari proyek tersebut. • The Elaboration Phase Pada fase Elaboration, requirements akan lebih dijelaskan secara detail dan menentukan arsitektur dari sistem. • The Construction Phase Fase Construction berfokus pada pembuatan sistem sampai titik dimana sistem tersebut sudah siap untuk disebarkan. • The Transition Phase Fase Transition berfokus pada mengantarkan sistem ke dalam tahap produksi. Akan ada pengujian oleh sistem tester dan end-user serta terdapat pengerjaan ulang dan penyesuaian sistem. L17 1.9 Java Java dikembangkan oleh sebuah tim yang dipimpin oleh James Gosling di Sun M icrosystems. Pada awalnya bernama Oak, didesain pada 1991 untuk digunakan pada chip peralatan rumah tangga. Pada 1995, namanya diubah menjadi Java dan didesain ulang untuk mendukung aplikasi internet. (Y. Daniel Liang, 2011) Java adalah bahasa pemrograman dengan fitur lengkap dan digunakan untuk berbagai tujuan yang dapat digunakan untuk membangun aplikasi-aplikasi penting dengan baik. Karakteristik dari Java adalah : 1. Java is Simple Tidak ada bahasa yang mudah, namun Java sedikit lebih mudah dari bahasa pemrograman berorientasi obyek C++ yang populer dan sudah menjadi bahasa yang dominan sebelum Java muncul. Sebagian dari Java dimodelkan berdasarkan C++, namun dipermudah dan fitur-fitur yang ada sudah ditingkatkan. Java mengganti multiple inheritance pada C++ dengan interface dan menghilangkan fitur pointer. Java juga menggunakan memori alokasi secara otomatis dan menyediakan garbage collector, sedangkan pada C++ programmer harus mengalokasi dan mendealokasi memori yang digunakan. 2. Java is Object-Oriented Java sejak awal sudah dirancang sebagai sebuah bahasa pemrograman berorientasi obyek. Pemrograman berorientasi obyek pendekatan pada pemrograman yang menggantikan pada teknik pemrograman. adalah proses prosedur tradisional L18 3. Java is Distributed Distributed computing melibatkan beberapa komputer yang bekerja bersama dalam suatu jaringan. Java dirancang untuk membuat distributed computing menjadi lebih mudah. Dikarenakan kemampuan jaringan terintegrasi pada Java, menulis program jaringan seperti mengirim dan menerima data ke dan dari file. 4. Java is Interpreted Program pada Java di-compile menjadi Java Virtual Machine code yang disebut dengan bytecode. Bytecode tidak terikat pada suatu mesin tertentu dan dapat berjalan pada semua mesin yang memiliki java interpreter, yang merupakan bagian dari Java Virtual Machine (JVM ). 5. Java is Robust Robust berarti dapat diandalkan. Java menekankan pada pengecekan awal untuk kesalahan yang mungkin terjadi, dikarenakan Java compiler dapat mendeteksi kesalahan-kesalahan yang muncul pertama kali pada waktu eksekusi. Java juga memiliki fitur runtime exception handling untuk membantu programmer. 6. Java is Secure Sebagai internet programming language, Java digunakan di dalam sebuah jaringan dan lingkungan terdistribusi. Saat menjalankan sebuah program Java, program tersebut tidak akan merusak sistem karena Java mengimplementasikan beberapa mekanisme keamanan untuk melindungi sistem dari ancaman. L19 7. Java is Architecture-Neutral Dikarenakan Java yang interpreted, memungkinkan Java untuk menjadi architecture-neutral atau platform-independent. Dengan adanya Java Virtual Machine (JVM ), program yang dibuat dapat dijalankan pada platform apapun. 8. Java is Portable Dikarenakan Java yang architecure-neural, program Java bersifat portable. Program tersebut dapat dijalankan pada berbagai platform tanpa perlu dicompile ulang. Lingkungan Java juga portable untuk hardware dan sistem operasi yang baru, Java compiler sendiri juga ditulis menggunakan Java. 9. Java’s Performance Kemampuan dari Java kadang dikritik, eksekusi dari bytecode tidak secepat pada compiled language seperti C++. Dikarenakan Java yang interpreted, bytecode tidak secara langsung dieksekusi oleh sistem tapi dijalankan melalui interpreter. Namun, kecepatan tersebut sudah lebih dari cukup untuk sebagian besar aplikasi interaktif. 10. Java is Multithread Multithreading adalah suatu kemampuan dari suatu program untuk menjalankan beberapa tugas secara bersama-sama. Multithreaded programming sudah diintegrasikan secara bagus dalam Java, sedangkan pada bahasa lain harus memanggil prosedur yang spesifik pada sistem operasi untuk mengaktifkan multithreading. 11. Java is Dynamic L20 Java dirancang untuk beradaptasi oada lingkungan yang berkembang. Class baru dapat dibuka tanpa melakukan compile ulang. Tidak diperlukan developer untuk membuat, dan pengguna untuk meng-install versi terbaru dari software. 1.10 Android M enurut Ed Brunete (2011), Android adalah sebuah open source software toolkit untuk telepon genggam yang dibuat oleh Google dan Open Handset Alliance. Android sudah digunakan jutaan telepon genggam dan perangkat genggam lainnya, yang membuat Android menjadi sebuah platform besar untuk pembuat aplikasi. Walaupun beberapa fitur telah muncul pada sistem operasi yang lain, namun Android adalah sistem operasi pertama yang menggabungkan fitur-fitur berikut: • Development platform yang benar-benar terbuka dan gratis berbasis linux dan open source. Para pembuat perangkat genggam menyukai hal ini karena mereka dapat menggunakan dan mengubah platform tersebut tanpa perlu membayar royalti. Developer menyukai hal ini karena mereka mengetahui bahwa platform tersebut mempunyai pilihan dan tidak khusus untuk satu vendor saja. • Arsitektur berbasis komponen yang diinspirasi oleh internet mashup. Bagian dari sebuah aplikasi dapat digunakan dalam cara yang berbeda. Bahkan komponen bawaan dapat diganti dengan komponen buatan sendiri. L21 • Banyak layanan service bawaan. Servis berbasis lokasi menggunakan GPS yang dapat digunakan untuk membuat aplikasi berbasis lokasi. Database SQL yang dapat digunakan untuk penyimpanan data secara lokal. Browser dan map views yang dapat digunakan pada aplikasi. • Life cycle dari aplikasi yang dikelola secara otomatis. Aplikasi dipisahkan dengan aplikasi yang lain dengan beberapa lapisan keamanan, yang akan menyediakan stabilitas sistem yang tidak pernah ditemukan pada smartphone sebelumnya. Sehingga sebuah aplikasi tidak bisa mengaktifkan atau menutup aplikasi lain. • Grafik dan suara berkualitas tinggi. Gabungan grafik 2D vector, animation berdasarkan Flash, dengan grafik 3D menggunakan OpenGL untuk memungkin berbagai game dan aplikasi bisnis untuk dapat berjalan dengan baik. Android menyediakan codec untuk standar format suara dan video yang umum. • Portabilitas untuk berbagai hardware masa kini maupun masa yang akan datang. Semua program ditulis dalam Java dan dieksekusi oleh Android Dalvik Virtual Machine sehingga code dapat dijalankan di berbagai arsitektur hardware. M endukung berbagai metode input seperti keyboard, touchscreen, dan trackball. Tampilan antarmuka dapat menyesuaikan sesuai resolusi dan orientasi layar. Berikut ini adalah tampilan sistem arsitektur dari Android : L22 Gambar 2.3 Android S ystem Architecture (Ed Brunete, 2011) • Linux Kernel Android dibangun diatas pondasi yang kuat dan sudah terbukti : Linux Kernel. Android menggunakan Linux untuk manajemen memori, manajemen proses, jaringan dan servis sistem operasi lainnya. • Native Libraries Lapisan di atas kernel adalah library bawaan dari Android. Library ini ditulis dalam bahasa C atau C++, digunakan untuk arsitektur hardware tertentu yang digunakan untuk perangkat, dan sudah di-instal oleh vendor perangkat. Beberapa native library antara lain : surface manager, grafik 2D dan 3D, media codec, database SQL, dan browser. L23 • Android Runtime Juga diatas kernel terdapat Android runtime, terdiri dari Dalvik Virtual Machine (D VM ) dan core libraries dari Java. DVM adalah implementasi Java yang dilakukan oleh Google, dioptimalkan untuk perangkat genggam. Semua kode aplikasi akan ditulis dalam Java dan akan dijalankan oleh DVM . • Application Framework Diatas native libraries dan runtime terdapat lapisan Application Framework, yang menyediakan komponen-komponen tingkat tinggi yang akan digunakan untuk membuat aplikasi. Beberapa application framework antara lain : activity manager, content provider, resource manager, location manager, notification manager. • Applications and Widgets Lapisan tertinggi dari arsitektur Android adalah Application dan Widgets. Pengguna hanya akan melihat bagian ini, dan tidak mengetahui apa yang terjadi pada layer yang lain. Application adalah program yang dapat mengambil alih seluruh layar dan berinteraksi dengan pengguna. Sedangkan, widget (seringkali disebut gadget) hanya berjalan pada sebagian ruang kecil layar home. L24 1.11 XML XM L berisi, membentuk, melabel, menyusun dan melindungi informasi. XM L melakukannya dengan simbol yang tertanam pada teks yang disebut markup. M arkup meningkatkan arti dari informasi dalam cara tertentu, mengidentifikasi bagian-bagian dan bagaimana mereka berhubungan satu sama lain. Sebagai contoh, ketika Anda membaca koran, Anda dapat membedakan artikel yang terpisah oleh jarak dan posisi mereka pada halaman serta penggunaan font yang berbeda untuk judul dan heading. M arkup bekerja dengan cara yang sama, kecuali alih-alih menggunakan jarak dan garis, XM L menggunakan simbol. Gambar 2.4 Contoh sebuah file XML 1.12 UML (Unified Modeling Language) M enurut Jeffrey L. Whitten dan Lonnie D. Bentley (2007), Unified Modeling Language (UM L) adalah sebuah kumpulan ketentuan modelling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem software dalam dalam konteks obyek. UM L dibagi menjadi beberapa komponen: L25 1. Use Case Diagram Use Case Diagram menggambarkan fungsi dari sistem dari sudut pandang pengguna eksternal dan dari materi dan terminologi yang mereka pahami. Untuk menyelesaikan permintaan yang membutuhkan interaksi dengan pengguna atau ahli secara akurat dan sepenuhnya. Gambar 2.5 Contoh Use Case Diagram (Jeffrey L. Whitten dan Lonnie D. Bentley, 2007) Use Case Diagram memiliki komponen sebagai berikut: a. Actor Actor adalah pelaku yang memulai aktivitas sistem, use case, dengan tujuan menyelesaikan beberapa tugas bisnis yang menghasilkan sesuatu yang dapat diukur. L26 b. Relationship Relationship digambarkan dengan sebuah garis diantara dua simbol yang menjelaskan hubungan antara kedua simbol tersebut. 2. Activity Diagram Activity Diagram menggambarkan alur yang berurutan dari aktifitas use case atau proses bisnis. Diagram ini juga dapat digunakan untuk memodelkan logika dengan suatu sistem. Activity diagram memiliki komponen sebagai berikut : a. Titik Solid Pada activty diagram, titik solid menggambarkan awal sebuah proses b. Segi empat dengan sudut tumpul Pada activity diagram, segi empat dengan sudut tumpul menggambarkan tugas yang perlu dilakukan c. Panah Pada activity diagram, panah menggambarkan sasaran yang mengawali suatu kegiatan d. Diamond Pada activity diagram, diamond menggambarkan sebuah kegiatan yang menyangkut sebuah keputusan e. Titik solid di dalam lingkaran Pada activitydiagram, titik solid di dalam lingkaran menggambarkan akhir sebuah proses L27 f. Synchronization Bar Sebuah simbol yang dapat memisahkan serta menggabungkan aktifitas yang berjalan secara bersamaan 3. Sequence Diagram Sequence Diagram menggambarkan bagaimana obyek berinteraksi satu sama lain melalui pesan dalam eksekusi use case atau operasi. Diagram ini menggambarkan langkah-langkah pesan dikirim dan diterima antara obyek. 4. Class Diagram Class Diagram menggambarkan struktur obyek dan struktur sistemnya. Pada diagram ini juga terdapat multiplicity, relasi generalisasi/spesialisasi, dan relasi agresi. Gambar 2.6 Contoh class Diagram (Jeffrey L. Whitten dan Lonnie D. Bentley, 2007) L28 Struktur antar class terdiri dari: 1. Generalization M erupakan suatu class umum (super class) yang mendeskripsikan properti-properti umum dari class khusus (sub class). Kata “adalah” menunjukkan class khusus pada hubungan generalisasi ini. Semua properti yang berada pada class umum akan dimiliki juga oleh semua class khusus (inheritance) namun class khusus juga dapat memiliki propertinya sendiri. Gambar 2.1 Generalization 2. Aggregation M erupakan suatu objek superior (the whole) yang terdiri dari sejumlah objek (the parts) 1..* 1..2 Gambar 2.2 Aggregation L29 3. Association M erupakan suatu relasi berarti antara sejumlah objek. Suatu relasi berarti dapat diartikan mejadisebuah kelas memiliki instansi dari kelas lainnya. Kata “memiliki” mencirikan hubungan asosiasi Gambar 2.3 Association Di dalam class diagram, hubungan antar class-class yang ada juga digambarkan melalui multiplicity. Setiap multiplicity yang digunakan memiliki arti tersendiri, berikut penjelasan mengenai multiplicity yang dapat digunakan di dalam class diagram : Tabel 1.1 Multiplicity Class Diagram Multiplicity Arti * Banyak 0 Nol 1 Satu, bisa ditulis bisa tidak 0..* Antara Nol sampai banyak 1..* Antara Satu sampai banyak 0..1 Nol atau Satu 1..1 Tepat Satu L30 1.13 AndEngine AndEngine adalah sebuah 2D OpenGL Game Engine untuk platform Android yang diciptakan oleh Nicolas Gramlich pada pertengahan 2010. Nicolas Gramlich menciptakan AndEngine untuk memenuhi kebutuhan akan sebuah game development framework yang gratis dan mudah digunakan. Lebih dari 2000 game yang menggunakan framework AndEngine telah dipasarkan, dan code dari AndEngine telah dieksekusi lebih dari satu juta kali. Berikut adalah fitur-fitur yang ditawarkan oleh AndEngine: (http://code.google.com, 2010) • Android-Optimized AndEngine dioptimasikan untuk menjadi sebuah framework yang bekerja pada platform Android. • Android 1.6 Compatibility AndEngine dapat digunakan mulai dari Android versi 1.6 (Donut). • SplitiScreen AndEngine mendukung fasilitas membagi layar pada perangkat Android. • Network Multiplayer AndEngine mendukung fasilitas untuk bermain multiplayer. • Live-Wallpapers AndEngine mendukung pembuatan wallpaper hidup yang bergerak. • MultiTouch AndEngine mendukung penggunaan teknologi multitouch pada perangkat yang mendukung multitouch. L31 • Physics-Engine (Box2D) AndEngine mendukung perhitungan fisika dalam pembuatan aplikasi menggunakan teknologi Box2D.