BAB 2
TINJAUAN PUSTAKA
2.1 Sistem Operasi Android
Menurut buku yang dikarang oleh Stephanus Hermawan S yang berjudul “Mudah Membuat Aplikasi Android” , Android merupakan OS (Operating System) Mobile
yang tumbuh ditengah OS lainnya yang berkembang dewasa ini. OS lainnya
seperti Windows Mobile, i-Phone OS, Symbian, dan masih banyak lagi. Akan
tetapi, OS yang ada ini berjalan dengan memprioritaskan aplikasi inti yang
dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak
ketiga. Oleh karena itu, adanya keterbatasan dari aplikasi pihak ketiga untuk
mendapatkan data asli ponsel, berkomunikasi antar proses serta keterbatasan
distribusi aplikasi pihak ketiga untuk platform mereka.
Android sendiri 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 ditunjuk untuk memajukan standar perangkat
seluler. Android umumnya berupa manipulasi langsung, menggunakan gerakan
sentuh yang serupa dengan tindakan nyata, misalnya menggeser, mengetuk, dan
mencubit untuk memanipulasi objek di layar, serta papan ketik virtualuntuk menulis
teks. Selain perangkat layar sentuh, Google juga telah mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk jam
tangan, masing-masingnya memiliki antarmuka pengguna yang berbeda. Varian
Android juga digunakan pada komputer jinjing, konsol permainan, kamera digital,
dan peralatan elektronik lainnya. Android adalah sistem operasi dengan sumber
terbuka, dan Google merilis kodenya di bawah Lisensi Apache Kode dengan
sumber terbuka dan lisensi perizinan pada Android memungkinkan perangkat
lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat
perangkat, operator nirkabel, dan pengembang aplikasi. Selain itu, Android
memiliki sejumlah besar komunitas pengembang aplikasi (apps) yang
memperluas fungsionalitas perangkat, umumnya ditulis dalam versi kustomisasi
bahasa pemrograman Java. Menurut Nazruddin Safaat (2011), Android
merupakan platform mobile yang memiliki tiga hal sebagai berikut:
1. Lengkap (complete platform), karena Android menyediakan banyak
tools dalam membangun perangkat lunak dan memiliki peluang untuk mengembangkan aplikasi.
2. Terbuka (open source platform), karena pengembang secara bebas dapat mengembangkan aplikasi dan platform Android disediakan melalui lisensi open source.
3. Free (free platform), karena Android merupakan platform yang bebas untuk mengembangkan tidak ada royalty untuk pengembangan pola
Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi mereka sendiri untuk digunakanoleh berbagai macam piranti
bergerak. Android memiliki berbagai keunggulan sebagai software yang memakai
basis kode komputer yang bisa didistribusikan secara terbuka sehingga pengguna
bisa membuat aplikasi baru di dalamnya.
2.2 Perkembangan Android
Perkembangan versi – versi android menurut artikel yang dikutip dari
tekno.kompas.com ialah sebagai berikut:
1. Android 1.0
Sistem operasi ini bisa dibilang sebagai android yang masih sangat
sederhana. Pengguna diajak beradaptasi dengan peradaban baru menjelajah
sebuah perangkat telekomunikasi mobile. Pada versi inilah Google untuk
pertama kalinya memperkenalkan mekanisme pengecekkan notifikasi yang
kerap diistilahkan pull-down notification. Selain notifikasi, dua komponen pada Android 1.0yang masih digunakan hingga kini adalahwidgetaplikasi, serta toko aplikasi Google Play Store yang kala itu masih bernama "Market". Sistem operasi ini juga menyatukan layanan Gmail. Dua aplikasi
tersebut, Gmail dan Market, menjadi layanan bawaan paling purba yang
dipatrikan Google padaAndroid1.0.
2. Android 1.5 Cupcake
Ini adalah debut versi Android yang menggunakan nama kudapan manis.
Tradisi tersebut dipertahankan hingga sekarang. Pada Cupcake, Google juga
memperkenalkan SDK widget untuk developer 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 keyboard layar
sentuh.
3. Android 1.6 Donut
Masih di tahun yang sama, Google tak sabar menghadirkan Android baru
bertajuk "Donut". Pada versi ini, Google mengumumkan bahwa Android
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 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
screen dengan mekanisme menyapu atau swipe juga diperkenalkan pada Eclair.
5. Android 2.2 Froyo
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 update Android 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 Gingerbread
Menyadari kebutuhan user 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.
7. Android Honeycomb
Sistem operasi ini mendukung kemampuan tombol virtual untuk home,
back, dan menu, untuk pertama kalinya. Sasarannya pun lebih ke perangkat tablet ketimbang smartphone.
8. Android Ice Cream Sandwich
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 Jelly Bean
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. 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
10. Android 4.4 KitKat
Butuh setahun bagi Google untuk menghadirkan KitKat. Versi Android ini
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
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. Format itu memungkinkan para ilustrator, fotografer, atau
graphic designer menyimpan file dengan ukuran besar agar bisa diedit tanpa mengurangi kualitas.
12. Android 6.0 Marshmalow
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
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, serta fitur Doze yang
telah dikenalkan di versi Android Marshmallow namun telah ditingkatkan.
Android Nougat juga memiliki dukungan terhadap platform virtual reality
terbaru Google.
2.3 Android Studio
pengembang yang berdaya guna, Android Studio menawarkan fitur lebih banyak
untuk meningkatkan produktivitas saat membuat aplikasi Android, misalnya:
a. Sistem pembuatan berbasis Gradle yang fleksibel.
b. Emulator yang cepat dan kaya fitur.
c. Lingkungan yang menyatu untuk pengembangan bagi semua perangkat
Android.
d. Instant Run untuk mendorong perubahan ke aplikasi yang berjalan tanpa membuat APK baru.
e. Template kode dan integrasi GitHub untuk membuat fitur aplikasi yang sama dan mengimpor kode contoh.
f. Alat penguji dan kerangka kerja yang ekstensif.
g. Alat Lint untuk meningkatkan kinerja, kegunaan, kompatibilitas versi,
dan masalah-masalah lain.
h. Dukungan C++ dan NDK.
i.Dukungan bawaan untuk Google Cloud Platform, mempermudah
pengintegrasian Google Cloud Messaging dan App Engine.
Setiap proyek di Android Studio berisi satu atau beberapa modul dengan
file kode sumber dan file sumber daya. Jenis-jenis modul mencakup:
a. Modul aplikasi Android
b. Modul perpustakaan
c. Modul Google App Engine
Secara default, Android Studio menampilkan file proyek dalam tampilan
proyek Android diatur menurut modul untuk memberi akses cepat ke file sumber
kunci proyek. Semua file versi terlihat di bagian atas di bawah GradleScripts
dan masing-masing modul aplikasi berisi folder berikut:
a. manifests: Berisi file AndroidManifest.xml.
b. java: Berisi file kode sumber Java, termasuk kode pengujian JUnit.
c. res: Berisi semua sumber daya bukan kode, seperti tata letak XML, string UI,dan gambar bitmap.
Struktur proyek Android pada disk berbeda dari representasi rata ini.
Untuk melihat struktur file sebenarnya dari proyek ini, pilih Project dari menu tarik turun Project. Bisa juga menyesuaikan tampilan file proyek untuk berfokus pada aspek tertentu dari pengembangan aplikasi. Misalnya, memilih
tampilan problems dari tampilan proyek akan menampilkan tautan ke file sumber yang berisi kesalahan pengkodean dan sintaks yang dikenal, misalnya
tag penutup elemen XML tidak ada dalam file tata letak. Jendela utama Android Studio terdiri dari beberapa bidang logika yang diidentifikasi dalam
Gambar 2.1 Jendela utama Android Studio
1. Bilah alat memungkinkan untuk melakukan berbagai jenis tindakan,
termasuk menjalankan aplikasi dan meluncurkan alat Android.
2. Bilah navigasi akan membantu menavigasi di antara proyek dan file yang
dibuka untuk pengeditan. Di sini tampilan struktur yang terlihat tampak
lebih ringkas daripada jendela Project.
3. Jendela editor merupakan tempat membuat dan mengubah kode.
Bergantung pada jenis file saat ini, editor dapat berubah. Misalnya, ketika
melihat file tata letak, editor akan menampilkan Layout Editor.
4. Jendela alat memberi akses ke tugas-tugas spesifik seperti pengelolaan
proyek, penelusuran, kontrol versi, dan banyak lagi. Bisa juga meluaskan
dan menciutkannya.
5. Bilah status menampilkan status proyek dan IDE itu sendiri, serta setiap peringatan atau pesan.
Menata jendela utama untuk memberi ruang layar yang lebih luas dengan
menyembunyikan atau memindahkan bilah alat dan jendela alat. Bisa juga
menggunakan pintasan keyboard untuk mengakses sebagian besar fitur IDE. Pada Android Studio pengguna dapat menelusuri seluruh kode sumber, basis data,
tindakan, elemen antarmuka pengguna, dan seterusnya setiap saat dengan
menekan tombol Shift dua kali, atau mengeklik kaca pembesar di sudut kanan atas
dari jendela Android Studio. Ini akan sangat berguna misalnya saat mencoba
menemukan tindakan IDE tertentu.
2.3.1 Bahasa Pemrograman Java
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan
program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-
metode yang melakukan pekerjaan dan mengembalikan informasi setelah
melakukan tugasnya. Para pemrogram Java banyak mengambil keuntungan dari
kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application
Programming Interface (API).
Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket
(package). Java API telah menyediakan fungsionalitas yang memadai untuk
menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari
dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas
program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file
kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan
aplikasi Java dan menjalankan program bytecode Java.
Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana.
Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak
menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak
pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang
digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi
pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa
Java namun harus waspada karena mungkin Java mengambil arah (semantiks)
yang berbeda dibanding C++.
Java merupakan bahasa berorientasi objek (OOP) yaitu cara ampuh dalam
pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer
sebagai kelompok objek yang saling berinteraksi. Deskripsi ringkas OOP adalah
mengorganisasikan program sebagai kumpulan komponen, disebut objek.
Objek-objek ini ada secara independen, mempunyai aturan-aturan berkomunikasi dengan
objek lain dan untuk memerintahkan objek lain guna meminta informasi tertentu atau
meminta objek lain mengerjakan sesuatu. Kelas bertindak sebagai modul sekaligus
tipe. Sebagai tipe maka pada saat jalan, program menciptakan objek-objek yang
merupakan instan-instan kelas. Kelas dapat mewarisi kelas lain.
Java tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan
pewarisan jamak dengan fasilitas antarmuka yang lebih elegan.
Seluruh objek diprogram harus dideklarasikan lebih dulu sebelum
digunakan. Ini merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini memungkinkan kompilator Java menentukan dan melaporkan terjadinya
pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk
mencegah kesalahan yang tidak perlu (seperti mengurangkan variabel bertipe
integer dengan variabel bertipe string). Java menggunakan model pengamanan
tiga lapis (three-layer security model) untuk melindungi sistem dari untrusted Java code. Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java. Kedua, class
loader menangani pemuatan kelas Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah
program berhak mengakses sumber daya seperti sistem file, port jaringan, proses
eksternal dan sistem window.
2.4 Flowchart
Flowchart adalah sebuah diagram umum yang mempresentasikan sebuah algoritma
atau proses menggunakan beberapa bangun geometri untuk memperlihatkan
langkah-langkah yang dilakukan oleh program dalam menyelesaikan masalah. Secara umum,
flowchart juga digunakan di berbagai bidang untuk menganalisis, mendesain,
Flowchart merupakan langkah awal pembuatan program. Setelah
flowchart selesai disusun, selanjutnya pemrogram menerjemahkannya ke dalam bentuk program menggunakan bahasa pemrograman. Berikut ini adalah
simbol-simbol standar pada sebuah flowchart beserta fungsinya:
No Nama Simbol Fungsi
Digunakan untuk
Terminator mewakili simbol start atau end.
2 Arrow Menunjukkan alur proses.
3 Rectangle Menunjukkan langkah
pemrosesan.
4 Trapezium Simbol untuk input-
output.
5 Document Digunakan untuk
mewakili output.
Simbol yang berfungsi
6 Decision untuk menyatakan
keputusan.
Simbol yang berfungsi
7 Preparation untuk proses inisialisasi
atau pemberian harga awal.