Aplikasi Game Interaktif Untuk Umum Berbasis Android

BAB 2

TINJAUAN PUSTAKA

2.1. Android

Android adalah sistem operasi berbasis kernel Linux yang pada awalnya
dikembangkan oleh Android, Inc, yang didukung Google finansial dan kemudian
dibeli pada tahun 2005. Android ini diresmikan pada tahun 2007 seiring dengan
berdirinya Open Handset Alliance-konsorsium hardware, software, dan perusahaan
telekomunikasi yang ditujukan untuk memajukan standar perangkat selular.
Smartphone yang tersedia untuk publik pertama kalinya yang menjalankan Android
adalah HTC Dream, yang dirilis pada 22 Oktober 2008.

Kode program Android dirilis oleh Google dibawah lisensi open source
sehingga berbagai perusahaan yang memproduksi smartphone dapat merilis sistem
operasi Android mereka sendiri tanpa menghilangkan inti dari Android yang
dikembangkan oleh Google. Tidak hanya itu karena sifatnya yang open source
membuat banyak pengembang dan para antusias dapat mengembangkan Android
mereka dengan berbagai fitur – fitur baru dan kemudian dibagikan kepada orang lain
agar dapat digunaka


Universitas Sumatera Utara

8

2.1.1.

Keunggulan Android

1) User Friendly – Kalimat ini sangat melekat pada sistem operasi
Windows miliknya microsoft, ibaratnya kita dengan sangat mudah
mengoprasikan komputer hanya dengan belajar beberapa hari bahkan
beberapa jam saja, dan ini juga melekat pada Android yang berjalan
pada Smartphone.
2) Notifications – Anda dengan sangat mudah mendapatkan notifikasi dari
smartphone android dengan mengatur beberapa akun Email, SMS ,
Voice Dial, Update dan lain sebagainya.
3) Tampilan – Dari segi tampilan, Android tidak kalah bagusnya dari iOS
miliknya Apple, karena memang dari awal android hampir mengusung
teknologi iOS, hanya saja ini versi murahnya.

4) Open Source – Operating system ini memang dibuat open source oleh
penciptanya, karena memang berbasis kernel Linux. Jadi jangan kaget
jika diluar sana ada banyak sekali Custom Rom untuk masing-masing
perangkat android.
5) Aplikasi – Untuk Aplikasi anda akan disajikan jutaan pilihan aplikasi
yang menarik dari yang gratis hingga berbayar.
6) Dll – Dan masih banyak lagi kelebihan dan fitur yang dimiliki Android,
dan anda bisa mengembangkannya sesuai dengan keinginan anda,
karena Sistem operasi ini Open Source dan User Friendly.

Universitas Sumatera Utara

9

2.1.2.

Kekurangan Android

1) Update System – Seperti atikel saya disini untuk melakukan update system
tidaklah mudah, anda harus menunggu dari masing-masing Vendor untuk

merilis Update Versi yang terbaru. Tentu ini sangat tidak menyenangkan.
2) Batterai Cepat Habis – Ini sering terjadi jika anda menyalakan paket data
dan menggunakan widget serta aplikasi yang berjalan secara berlebihan,
untuk mengatasinya anda harus mengurangi aktivitas aplikasi pada
smartphone anda.
3) Lemot atau Lag – Sebenarnya kalau ini ada kaitannya dengan spesifikasi
dari masing-masing perangkat, namun ada kalanya Android ini tidak
bersahabat dengan beberapa aplikasi dikarenakan Ram ataupun Prosesornya
yang kurang memadai, jadi sesuaikan aplikasi dengan perangkatnya.

2.1.3.

Perkembangan Versi dan Fitur Android

1) Android 1.0 (2008)
Sistem operasi ini bisa dibilang sebagai Android bayi yang masih sangat
sederhana. Pengguna diajak beradaptasi dengan peradaban baru dalam
menjajal sebuah perangkat telekomunikasi mobile.
Jika hari ini kita terbiasa menggulir layar ke bawah untuk melihat notifikasi,
perlu diketahui bahwa asal-muasalnya dari Android 1.0 ini.


Universitas Sumatera Utara

10

2) Android 1.5 Cupcake (2009)
Ini adalah debut versi Android yang menggunakan nama kudapan manis.
Tradisi tersebut dipertahankan hingga sekarang.Pada Cupcake, Google juga
memperkenalkan SDK widget untukdeveloper pihak ketiga. Gunanya agar
aplikasi pihak ketiga bisa memiliki widget sendiri layaknya aplikasi bawaan
Google.Dua pembaruan signifikan pada Cupcake juga meliputi kemampuan
perekaman video dengan kamera ponsel, serta kemampuan keyboardlayar
sentuh.

3) Android 1.6 Donut (2009)
Masih di tahun yang sama, Google tak sabar menghadirkan Androidbaru
bertajuk

"Donut".


Pada

versi

ini,

Google

mengumumkan

bahwaAndroid bisa digunakan untuk perangkat mobile dengan ukuran layar
berapa saja. Android Donut juga memunculkan kolom pencarian pada
antarmuka ponsel. Pengguna bisa mencari informasi di internet, file lokal,
kontak, dan apa saja secara lebih cepat dengan kolom tersebut.

4) Android 2.0 Eclair (2009)
2009 memang merupakan tahun produktif bagi Google dalam menelurkan
sistem operasi. Eclair menjadi Android pertama yang menghadirkan
layanan navigasi Google Maps. Sistem tersebut menjadi awal mula era GPS
yang sekarang bukan cuma ada di ponsel, tapi juga di mobil-mobil modern.

Eclair juga menjadi Android pertama yang mendukung HTML5 pada
peramban sehingga bisa memutar video.

Universitas Sumatera Utara

11

5) Android 2.2 Froyo (2010)
Tahun

2010,

selain

meluncurkan Android Froyo,

Google

juga


menghadirkan ponsel Nexus pertama yang dinamai "Nexus One". Ada
beberapa pembaruan pada Froyo dibandingkan pendahulunya. Tentu saja
pengguna

Nexus

One

menjadi

yang

pertama

mendapat updateAndroid tersebut.
Dari segi tampilan, Android Froyo memungkinkan lima panel layar depan
alias home screen. Sebelumnya, batas panel cuma sampai tiga saja.
Froyo juga menambah pilihan keamanan penguncian bagi pengguna. Dari
yang sebelumnya cuma penguncian pola (pattern lock), belakangan
dilengkapi dengan opsi penguncian PIN atau PIN lock.


6) Android 2.3 Gingerbread (2010)
Menyadari kebutuhan netizen akan selfie, Google pun membangun versi
Gingerbread dengan kemampuan kamera depan untuk membidik foto
mandiri. Pada versi ini, pengguna juga bisa melihat desain ulang antarmuka
yang cukup signifikan.
Selain itu, dari segi fungsi, Gingerbread memungkinkan pengguna
memencet keyboard virtual

secara

berbarengan

alias multitouch.

Kemampuan ini dipertahankan hingga sekarang dengan berbagai
peningkatan kinerja.

Universitas Sumatera Utara


12

7) Android 3.0 Honeycomb (2011)
Sistem

operasi

ini

mendukung

kemampuan

tombol

virtual

untuk home, back, dan menu, untuk pertama kalinya. Sasarannya pun lebih
ke perangkat tablet ketimbang smartphone. Pada masa itu, memang pasar
tablet sedang subur-suburnya.


8) Android 4.0 Ice Cream Sandwich (2011)
Versi ini memboyong kemampuan pada Honeycomb tapi lebih
menyasar smartphone. Contohnya saja kemampuan tombol virtual yang
hingga sekarang banyak diimplementasikan para vendor.
Beberapa pembaruan fitur lainnya mencakup kemampuan membuka layar
menggunakan wajah (face unlock), analisa penggunaan data internet, serta
paket aplikasi bawaan dari vendor yang mencakup kalendar, mail,
kalkulator, dan lainnya.

9) Android 4.1 Jelly Bean (2012)
Nah, ini dia versi Android yang membawa pembaruan cukup signifikan
setelah beberapa kali update yang dilakukan Google hanya membawa
perbedaan minor.
Salah satunya, Jelly Bean memungkinkan pengguna menggulir (scroll)
cepat home screen ke bawah untuk melihat kumpulan informasi penting,
seperti agenda, email, dan laporan cuaca. Sebelumnya, pengguliran ke
bawah cuma memperlihatkan notifikasi aplikasi.

Universitas Sumatera Utara


13

Selain itu, Jelly Bean merupakan upaya pertama Google untuk
menghadirkan asisten digital yang dinamai Google Now. Mulai dari versi
ini, Google semakin berhasrat untuk membuat asisten digital yang lebih
hidup, manusiawi, dan relevan bagi pengguna.

10) Android 4.4 KitKat (2013)
Butuh setahun bagi Google untuk menghadirkan KitKat. Versi Androidini
memberikan suasana yang segar dengan pembaruan antarmuka beraksen
putih dan biru muda.
Pada KitKat, Google menghadirkan perintah pencarian menggunakan suara
atau disebut "Ok, Google". Fitur ini dirundung puji-pujian dari para pakar
teknologi.
Di saat bersamaan, Google juga meluncurkan aplikasi pesan singkat
Hangouts untuk pertama kalinya. Sayangnya, belakangan Hangouts dilabeli
sebagai layanan Google yang gagal karena tak menuai penetrasi yang
memuaskan.

11) Android 5.0 Lollipop (2014)
Pembaruan yang mencolok pada Lollipop tampak dari sisi desainnya yang
diperhalus dan disesuaikan dengan zaman. Selain itu, fitur-fitur yang sudah
hadir pada Android sebelumnya ditingkatkan.
Inovasi kurang terasa pada versi ini. Satu-satunya yang lumayan baru adalah
dukungan untuk gambar berformat RAW.

Universitas Sumatera Utara

14

12) Android 6.0 Marshmallow (2015)
Menu aplikasi pada Android Marshmallow benar-benar dibuat baru.
Desainnya membuat pengguna merasa naik kelas dari versi sebelumnya
karena lebih dinamis.
Selain itu, ada juga fitur memory manager yang memungkinkan pengguna
mengecek penggunaan memori pada tiap aplikasi. Rentan waktu
pengecekannya bisa disetel dari tiga jam yang lalu hingga 24 jam
sebelumnya.
Pembaruan kedua ditilik dari pengaturan volume. Pada Marshmallow,
pengguna bisa mengontrol volume yang berbeda-beda pada panggilan,
media, dan alarm.
Keamanan

juga

mendapat

peningkatan

pada

versi

ini.

Google

memungkinkan vendor menyematkan sensor pemindai sidik jari karena
sudah didukung Marshmallow.

13) Android 7.0 Nougat (2016)
Nougat adalah versi Android termutakhir yang baru diperkenalkan pada
ajang kumpul developer Google I/O, pertengahan 2016 ini. Beberapa lama
setelahnya, Google menghadirkan Nougat secara resmi untuk publik.
Pembaruan paling mendasar pada versi Nougat adalah kehadiran Google
Assistant yang menggantikan Google Now. Asisten digital tersebut lebih
bisa diandalkan untuk menjalankan pelbagai fungsi.
Fitur-fitur

baru

lainnya

mencakup

layar split-screen saat

dipakai multitasking.

Universitas Sumatera Utara

15

2.1.4.

Arsitektur Android

Android merupakan sistem operasi yang open source dikembangkan berdasarkan
kernel Linux. Android dikembangkan untuk bekerja dengan membuat stack software
( tumpukan perangkat lunak ) agar dapat berjalan dengan baik pada berbagai
perangkat.

1. Kernel Linux
Kernel Linux merupakan fondasi dari platform Android. Sebagai contoh,
Android Runtime bergantung pada kernel Linux untuk menyediakan
fungsionalitas seperti threading dan low-level memory management.

Dengan menggunakan kernel Linux, Android akan mendapatkan
keuntungan dari fitur kunci keamanan dan memperbolehkan manufaktur
perangkat untuk mengembangkan driver hardware untuk Hardware
Abstraction Layer ( HAL ).

2. Hardware Abstraction Layer ( HAL )
Hardware Absctraction Layer ( HAL ) menyediakan standar antarmuka yang
membuka kapabilitas perangkat keras dari suatu perangkat Android ke
tingkat Java API Framework yang lebih tinggi. HAL terdiri dari berbagai
macam library module yang di implementasikan kepada antarmuka untuk
setiap komponen perangkat keras yang spesifik seperti kamera atau
Bluetooth module.

Universitas Sumatera Utara

16

Ketika framework API memutuskan untuk mengakses perangkat
keras dari suatu perangkat Android maka sistem akan mengambil library
module untuk perangkat keras tersebut dari Hardware Abstraction Layer.

3. Android Runtime

Untuk perangkat Android yang menjalankan versi 5.0 ( API level 21 ) atau
yang lebih tinggi, setiap aplikasi berjalan pada prosesnya sendiri dan juga
dengan instance Android Runtime (ART) mereka masing - masing. ART
dibuat untuk menjalankan berbagai virtual machine pada perangkat dengan
memory rendah dengan mengeksekusi DEX file yaitu kode byte yang
didesain secara khusus untuk Android yang telah dioptimisasi untuk
kapasitas memory yang minim. Beberapa fitur utama dari ART adalah
sebagai berikut :

1) Kompilasi Ahead-of-time ( AOT ) dan Just-in-time ( JIT )
2) Optimisasi garbage collection ( GC )
3) Dukungan debugging yang lebih baik yang termasuk sampling
profiler, diagnosa yang lebih rinci dan juga laporan crash.

Pada perangkat Android yang menjalankan versi dibawah 5.0 ( API level
21 ), Android Runtime masih belum digunakan tetapi yang digunakan

Universitas Sumatera Utara

17

adalah Dalvik Virtual Machine. Jika suatu aplikasi berjalan lancar pada
Android Runtime maka aplikasi tersebut pasti akan berjalan lancar pada
Dalvik Virtual Machine tetapi belum tentu sebaliknya. Android juga
menyediakan berbagai core runtime libraries untuk menjalankan berbagai
fungsionalitas terhadap bahasa pemrograman Java.

4. Native C/C++ Libraries
Berbagai macam komponen dan layanan pada Android seperti ART dan
HAL dibangun dengan native code yang membutuhkan native libraries yang
ditulis dengan bahasa pemrograman C dan C++. Platform Android
menyediakan Java framework API untuk membuka fungsi dari beberapa
native libraries tersebut kepada aplikasi. Sebagai contoh, pengembang dapat
mengakses layanan OpenGL ES lewat framework Android yaitu Java
OpenGL API untuk menambahkan dukungan untuk menggambar dan
memanipulasi grafik 2 dimensi dan 3 dimensi pada aplikasi yang mereka
kembangkan.

5. Java API Framework
Seluruh fitur dari sistem operasi Android tersedia dengan menggunakan API
yang ditulis menggunakan bahasa pemrograman Java. API tersebut
menyediakan berbagai fungsi yang dibutuhkan pengembang untuk membuat
aplikasi Android dengan menyediakan komponen dan layanan sistem yang
modular dan juga termasuk :

Universitas Sumatera Utara

18

1) View System yang dapat digunakan untuk membangun user interface
( UI ) aplikasi yang didalamnya termasuk grid, lists, text box, buttons,
dan juga web browser yang dapat disematkan pada aplikasi tersebut.
2) Resource Manager yang menyediakan akses kepada non-code
resources seperti localized strings, grafik dan layout files.
3) Notification Manager yang dapat menampilkan peringatan dan
pemberitahuan suatu aplikasi pada status bar.
4) Activity Manager yang mengatur siklus hidup dari suatu aplikasi dan
menyediakan back stack navigasi yang umum.
5) Content Providers yang memperbolehkan suatu aplikasi untuk
mengakses data dari aplikasi lain seperti aplikasi kontak atau
membagikan data aplikasi tersebut kepada aplikasi lainnya.

6. Aplikasi Sistem

Android menyediakan berbagai macam aplikasi bawaan seperti aplikasi email,
kontak, kalender, internet browser dan lain sebagainya. Aplikasi bawaan ini
tidak diatur sebagai aplikasi utama dari perangkat Android tersebut sehingga
sebagai contoh pengguna dapat mengunduh aplikasi internet browser yang lain
lewat Google Play Store dan menjadi aplikasi internet browser tersebut sebagai
aplikasi utama.

Aplikasi sistem selain sebagai aplikasi bawaan dari Android juga berfungsi
sebagai penyedia kapabilitas untuk dapat digunakan pengembang pada aplikasi

Universitas Sumatera Utara

19

yang ia kembangkan. Sebagai contoh jika seorang pengembang ingin aplikasi
yang dikembangkannya dapat mengirimkan pesan SMS, pengembang tersebut
tidak perlu untuk membangun layanan pengiriman pesan SMS tersebut sendiri
tetapi cukup dengan meminta aplikasi pengirim pesan SMS yang tersedia pada
perangkat Android tersebut untuk mengirimkan pesan SMS yang diinginkan.

2.2. Android Studio

Android Studio merupakan software integrated development environment ( IDE )
yang resmi untuk membangun aplikasi Android. Android Studio dibangun
berdasarkan IntelliJ IDEA yang merupakan software integrated development
enviroment untuk membangun aplikasi atau software dengan bahasa pemrograman
Java/ Seluruh fitur yang ada pada InteliJ IDEA juga terdapat pada Android Studio
yang kemudian ditambahkan lagi fitur – fitur lainnya agar dapat meningkatkan
produktivitas para pengembang aplikasi Android yaitu seperti :

1. System build Gradle yang fleksibel.
2. Emulator Android yang kaya dengan fitur.
3. Dukungan untuk membangun aplikasi Android untuk perangkat apapun baik
itu pada smartphone, Android TV, Android Wear dan perangkat Android
lainnya.
4. Instant Run yang dapat melakukan perubahan pada aplikasi tanpa harus
melakukan instalasi ulang aplikasi.

Universitas Sumatera Utara

20

5. Code templates dan integrasi GitHub untuk membantu para pengembang
membangun aplikasi umum dan melakukan import kode sample.
6. Berbagai macam testing tools dan frameworks.
7. Dukungan untuk bahasa pemrograman C dan C++.

Android Studio pertama kali diumumkan oleh Google pada 16 Mei 2013 pada
Google I/O Conference dan menggantikan Eclipse sebagai software IDE resmi
untuk platform Android. Saat ini Android Studio telah mencapai versi 2.3.1 yang
dirilis pada 2 April 2017 dan tersedia untuk diunduh secara gratis untuk sistem
operasi Windows, macOS dan Linux. Berikut adalah kebutuhan sistem untuk
menjalankan Android Studio :

Tabel 2.2.1 Kebutuhan Sistem Android Studio
Kriteria

Deskripsi

Sistem Operasi

Windows 7 atau lebih tinggi
Mac OS X 10.9.5 atau lebih tinggi
Linux

RAM

Minimal RAM 3GB
Rekomendasi RAM 8GB ditambah dengan RAM
1GB untuk Android Emulator.

Kapasitas Penyimpanan

Minimal kapasitas penyimpanan 500MB untuk
Android Studio dan minimal 1,5GB untuk Android
SDK, Emulator, System Images dan Caches.

Versi Java

Java Development Kit (JDK) 8

Resolusi Layar

Minimal resolusi layar 1280x800

Universitas Sumatera Utara

21

2.3. Bahasa Pemograman Java

Java merupakan bahasa pemrograman komputer yang bersifat concurrent, classbased, dan object-oriented serta di desain agar mempunyai kebergantungan
implementasi serendah mungkin. Java dikembangkan agar para pengembang
aplikasi dapat write once, run anywhere ( WORA ) yang maksudnya setelah kode
pemrograman software tersebut ditulis dan di-compile maka software tersebut dapat
dijalankan di berbagai platform yang mendukung bahasa pemrograman Java.
Software dan aplikasi yang dibangun dengan bahasa pemrograman Java akan dicompile ke dalam kode byte yang akan dapat berjalan di setiap Java Virtual Machine
manapun tanpa bergantung pada arsitektur komputernya. Pada tahun 2016 tercatat
bahwa Java merupakan salah satu bahasa pemrograman yang paling populer
digunakan terutama untuk aplikasi web client-server yang dilaporkan digunakan
oleh 9 juta pengembang.

Awal dari perkembangan bahasa pemrograman Java dimulai dari bulan Juni
1991 dimana James Gosling, Mike Sheridan dan Patrick Naughton menginisiasi
untuk mengembangkan Java. Tujuan awal dari perkembangan bahasa pemrograman
Java yaitu untuk televisi interaktif tapi pada masa itu masih tidak memungkinkan.
Penamaan awal dari bahasa pemrograman Java adalah Oak yang diambil namanya
dari pohon Oak yang ada diluar kantornya Gosling. Kemudian nama tersebut diganti
menjadi Green dan pada akhirnya dinamakan Java yang diambil dari kopi Jawa (
Jawa yang dalam bahasa inggris adalah Java ). Gosling mendesain Java agar syntaxnya mirip dengan bahasa pemrograman C/C++ sehingga para programmer akan

Universitas Sumatera Utara

22

familiar dengan Java. Ada 5 tujuan prinsip saat dikembangkannya bahasa
pemrograman Java yaitu :

1. Java harus simple, object-oriented dan familiar.
2. Java harus robust dan secure.
3. Java harus architecture neutral dan portable.
4. Java harus dieksekusi dengan high performance.
5. Java harus interpreted, threaded dan dynamic.

Sun Microsystems tempat dimana Gosling bekerja akhirnya merilis versi
Java pertama yaitu 1.0 pada tahun 1995. Kemudian perkembangan Java terus
dilakukan sampai dengan tahun 2009 saat Sun Microsystems diakuisisi oleh Oracle
Corporation. Perkembangan Java tidak berhenti disitu dan terus berkembang sampai
dengan saat ini dimana versi terakhir dari Java saat ini yaitu Java 9.

2.4. XML

XML termasuk

bahasa

markup

,yang

diprakarsai

oleh

W3C

,selaku

Konsorsium World Wide Web, yang dimana XML , merupakan versi lanjutan dari
HTML(Hypertext Markup Language). Jika HTML ,hanya menampilkan informasi
,XML memproses dan mengolah informasi. Informasi ini bisa kita sebut sebagai
element. Setiap awalan element ,akan di awali dengan tag pembuka seperti < dan
harus di akhiri dengan tag penutup />. Setiap element mempunyai detail-detail

Universitas Sumatera Utara

23

informasi ,yang biasa di sebut atribut. Masing-masing atribut , mempunyai nama
dan value atau nilai.

2.4.1

Penggunaan Namespace XML

Namespace XML ,digunakan untuk nama unik dari element dan atribut ,didalam
sebuah dokumen XML . Pada pengembangan Aplikasi Android ,setiap kita ingin
menerapkan RelativeLayout atau LinearLayout sebagai RootView pada Layout ,
kita

wajib

mendefinisikan

namespace

XML

,yang

dimana

,kita

menggunakan xmlns:android sebagai atribut , dan nilai atau value "http://schemas.
android.com/apk/res/android". Karna ini merupakan unique identifier, sama halnya
pada penggunaan di bahasa pemrograman PHP ,atau C++.

2.4.2 Antar Muka Layout

Semua

element

antarmuka

pada

Aplikasi

Android,

di

bangun

menggunakan View dan ViewGroup. View adalah suatu object ,yang di tampilkan
di

layar

,untuk

menangani

interaksi

user

(pengguna).

Contohnya

seperti TextView ,EditText,Button dan lain sebagainya. ViewGroup adalah objek
yang menangani beberapa View dan View Group, yang dimana digunakan untuk
mendefinisikan tata letak antar muka.

Universitas Sumatera Utara

24

Contohnya seperti RelativeLayout, LinearLayout, dan lain-lain. Kita dapat
meembangun antar muka pada Layout XML ,dengan cara nested(bersarang).
Seperti pada contoh gambar dibawah:

Gambar 2.1 Antarmuka Layout XML

Universitas Sumatera Utara