BAB 2
TINJAUAN PUSTAKA
2.1. Android
Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam piranti bergerak.
Awalnya, Google membeli Android pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,
dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama
yang mendapat dukungan penuh dari Google dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
2.1.1. Sejarah Perkembangan Android
Sejarah Android pada mulanya berasal dari perusahaan bernama Android, Inc. didirikan tempatnya di Palo Alto, California, pada Oktober tahun 2003 oleh Andy Rubin (pendiri Danger), Rich Miner seorang pendiri Wildfire Communications, Inc.
Nick Sears seorang mantan VP T-Mobile, dan Chris White seorang kepala desain dan pengembangan antarmuka WebTV untuk mengembangkan sebuah "perangkat seluler pintar yang lebih sadar tentang lokasi dan preferensi penggunanya".
Tujuan awal dari perkembangan tersebut pada mulanya diperuntukkan bagi kamera digital, namun disadari bahwa pasar dari kamera digital tidak besar potensinya, dan pengembangan Android lalu dialihkan pada pasar telepon pintar atau smartphone untuk menyaingi Symbian serta Windows Mobile (iPhone Apple
telepon seluler. Masih pada tahun yang sama, Andy Rubin kehabisan uang. Steve Perlman adalah seorang teman dekat Andy Rubin dan meminjaminya $10.000 tunai serta menolak tawaran saham di perusahaan.
Google mengakuisisi perusahaan Android pada tanggal 17 Agustus 2005 dan menjadikannya sebagai anak perusahaan yang dimiliki oleh Google. Pendiri Android yaitu Rubin, Miner, serta White tetap bekerja pada perusahaan tersebut setelah diakuisisi oleh Google. Di Google, tim yang dipimpin oleh Andy Rubin mulai untuk mengembangkan sebuah platform perangkat seluler dengan menggunakan kernel Linux.
Sejak tahun 2008, Android mulai secara bertahap melakukan sejumlah pembaruan atau update untuk meningkatkan kinerja dari sistem operasi tersebut dengan menambahkan fitur baru. Setiap versi yang dirilis dinamakan secara alfabetis dengan berdasarkan nama sebuah makanan pencuci mulut, seperti
cupcake, donut, dan sebagainya.
2.1.2. Nama - nama Versi Android
1. Android Apple Pie
2. Android Banana Bread
Android beta versi 1.1 dirilis pada tanggal 5 November 2007, sedangkan software development kit atau SDK telah dirilis pada tanggal 12 November 2007. Pada tanggal 5 November kemudian ditetapkan sebagai hari “ulang tahun”.
3. Android Cupcake
Android Cupcake versi 1.5 dirilis pada tanggal 30 April 2009. Cupcake adalah versi android pertama yang menggunakan nama dari sebuah makanan. Konon katanya versi Android cupcake seharusnya versi 1.2.
Namun Google telah memutuskan untuk membuat revisi yang besar serta membuatnya menjadi versi 1.5. Cupcake adalah kue yang berbentuk kecil dan dipanggang dalam cetakan berbentuk cup.
4. Android Donut
Android Donut versi 1.6 dirilis pada tanggal 15 September 2009. pada versi ini telah diperbaiki beberapa kesalahan reboot, perubahan pada fitur foto dan video serta integrasi pencarian yang lebih baik. Donut merupakan makanan yang berbentuk cincin.
5. Android Eclair
Android Eclair versi 2.0-2.1 dirilis pada tanggal 26 Oktober 2009. Eclair
6. Android Froyo
Android Froyo versi 2.2 dirilis pada tanggal 20 Mei 2010. Froyo merupakan makanan penutup yang berasal dari sebuah nama merk produk yang terbuat dari yoghurt. Froyo adalah yoghurt yang dingin sehingga seperti es krim. Froyo
merupakan singkatan dari Frozen yoghurt.
7. Android Gingerbread
Android Gingerbread versi 2.3 dirilis pada tanggal 6 December 2010. Gingerbeard merupakan sejenis kue kering yang memiliki rasa jahe. Gingerbread biasanya dibuat pada saat perayaan libur akhir tahun di benua Amerika.
8. Android Honeycomb
Android Honeycomb versi 3.0 dirilis pada tanggal 22 February 2011. Honeycomb
merupakan sereal sarapan manis yang sudah pernah dibuat tahun 1965 oleh Posting Sereal. Honeycomb atau sarang lebah, sereal ini terbuat dari beberapa potongan jagung yang kemudian dibentuk seperti sarang lebah dengan rasa madu.
9. Android Ice Cream Sandwich
10. Android Jelly Bean
Android Jelly Bean versi 4.1 dirilis pada tanggal 9 Juli 2012. Jelly bean adalah nama sejenis permen dalam beraneka macam rasa buah-buahan. Ukurannya seperti kacang merah. Permen ini keras di luar namun lunak di dalam dan lengket apabila digigit.
11. Android Kitkat
Android Kitkat versi 4.4 dirilis pada tanggal 31 Oktober 2013. KitKat merupakan merk cokelat yang dikeluarkan oleh Nestle.
12. Android Lollipop
Android Lollipop versi 5.0 dirilis pada tanggal 15 Oktober 2014. Lollipop
merupakan sebuah permen manis dalam stick yang biasanya berbentuk lingkaran atau bulat.
13. Andrlod Marshmallow
Android Marshmallow versi 6.0 merupakan pemutakhiran sistem operasi telepon genggam Android, dirilis pada pada tanggal 28 September 2015. Android
marshmallow akan berfokus terutama pada perbaikan inkremental dan penambahan fitur lainnya.
14. Android Nougat
dan layar pisah serta mendukung beberapa bahasa dan Doze on the Go. Versi ini diumumkan pada tanggal 1 Juli 2016, dan diluncurkan pada 23 Agustus 2016.
2.1.3. Sejarah Logo Android
Pemilihan logo harus sesuai dengan representasi makna yang terkandung di dalamnya. Hingga akhirnya tim memilih untuk menggunakan sebuah logo berbentuk robot dengan badan yang kekar serta kepala yang mirip dengan mangkuk yang dibalik.
Gambar 2.1 Rancangan Logo Android
Logo tersebut mengalami beberapa kali revisi sebelum ditetapkan sebagai maskot Android seperti sekarang. Pemilihan warna hijau didasarkan atas nilai warna standar print PMS 376C dengan warna Hex #A4C639. Irina menjelaskan bahwa warna hijau dapat kontras hampir dengan semua warna terutama dengan warna-warna gelap.
Gambar 2.2 Logo Android
Awalnya logo tersebut sempat dianggap menjiplak dari sebuah karakter
game yang berjudul “Gauntlet: The Third Encounter”, namun Irina Blok
menyangkal isu tersebut. Dia menjelaskan bahwa logo tersebut dibuat tanpa adanya unsur plagiat.
2.2. Android Studio
IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android. Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment. Fitur-fitur lainnya adalah sebagai berikut :
1. Sistem versi berbasis Gradle yang fleksibel. 2. Emulator yang cepat dan kaya fitur.
3. Lingkungan yang menyatu untuk pengembangan bagi semua perangkat Android. 4. Instant Run untuk mendorong perubahan ke aplikasi yang berjalan tanpa
membuat APK baru.
5. Template kode dan integrasi GitHub untuk membuat fitur aplikasi yang sama dan mengimpor kode contoh.
6. Alat pengujian dan kerangka kerja yang ekstensif.
7. Alat Lint untuk meningkatkan kinerja, kegunaan, kompatibilitas versi, dan masalah-masalah lain.
8. Dukungan C++ dan NDK.
2.2.1. Struktur Proyek Android Studio
Setiap proyek di Android Studio berisi satu atau beberapa modul dengan file kode sumber dan file sumber daya. Jenis-jenis modul mencakup:
1. Modul aplikasi Android 2. Modul Pustaka
3. Modul Google App Engine
Secara default, Android Studio akan menampilkan file proyek Anda dalam tampilan proyek Android, seperti yang ditampilkan dalam gambar 2.3 tampilan disusun berdasarkan modul untuk memberikan akses cepat ke file sumber utama proyek Anda.
Semua file versi terlihat di bagian atas di bawah Gradle Scripts dan masing-masing modul aplikasi berisi folder berikut:
1. Manifests
Berisi file AndroidManifest.xml. 2. Java
Berisi file kode sumber Java, termasuk kode pengujian JUnit. 3. Resource
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 (dalam gambar 2.3, struktur ditampilkan sebagai Android).
Anda juga bisa menyesuaikan tampilan file proyek untuk berfokus pada aspek tertentu dari pengembangan aplikasi Anda. Misalnya, memilih tampilan
problems dari tampilan proyek Anda 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.
1. Untuk meluaskan atau menciutkan windows tools, klik nama alat di bilah
windows tools. Anda juga bisa menyeret, menyematkan, melampirkan, dan melepaskan windows tools.
2. Untuk kembali ke tata letak jendela alat default saat ini, klik Window >
Restore Default Layout atau sesuaikan tata letak default Anda dengan mengeklik Window> Store Current Layout as Default.
3. Untuk menampilkan atau menyembunyikan bilah jendela alat, klik ikon
window di sudut kiri bawah jendela Android Studio.
4. Untuk menemukan jendela alat tertentu, arahkan ke atas ikon window dan pilih jendela alat tersebut dari menu.
5. Anda juga bisa menggunakan pintasan keyboard untuk membuka windows tools.
Tabel 2.2 Pintasan keyboard Android Studio
Tools Windows dan Linux Mac
Proyek Alt+1 Command+1
Kontrol Versi Alt+9 Command+9
Run Shift+F10 Control+R
Debug Shift+F9 Control+D
Android Monitor Alt+6 Command+6
Kembali ke Editor Esc Esc
Menyembunyikan Semua
2.2.2. User Interface
Jendela utama/tampilan utama pada Android Studio terdiri dari beberapa bidang logika yang diidentifikasi dalam gambar 2.4.
Gambar 2.4 Jendela Utama Android Studio
Berikut adalah penjelasan dari gambar diatas : 1. Toolbar
Memungkinkan untuk melakukan berbagai jenis tindakan, termasuk menjalankan aplikasi dan meluncurkan alat Android.
2. Navigation Bar
Membantu bernavigasi di antara proyek dan membuka file untuk di edit.
3. Editor
Tempat Anda membuat dan memodifikasi kode. Bergantung pada jenis file saat ini, editor dapat berubah. Misalnya, ketika melihat file tata letak,
editor menampilkan layout editor.
4. Toolbar Window
Berisi tombol yang memungkinkan Anda meluaskan atau menciutkan
windows tool.
5. Window Tools
Memberi Anda akses ke tugas tertentu seperti pengelolaan proyek,
penelusuran, kontrol versi, dan banyak lagi. Anda bisa meluaskan dan juga menciutkannya.
6. Status Bar
Menampilkan status proyek Anda dan IDE itu sendiri, serta setiap peringatan atau pesan.
2.3. Java
dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta
dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai mesin Virtual Java (JVM).
Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun".
Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi.
2.4. Google Maps
Google Maps dimulai sebagai program desktop C++, dirancang oleh Lars dan Jens Eilstrup Rasmussen pada Where 2 Technologies. Pada Oktober 2004, perusahaan ini diakuisisi oleh Google, yang diubah menjadi sebuah aplikasi web. Setelah akuisisi tambahan dari perusahaan visualisasi data geospasial dan analisis lalu lintas, Google Maps diluncurkan pada Februari 2005.
Layanan ini menggunakan Javascript, XML, dan AJAX. Google Maps menawarkan API yang memungkinkan peta untuk dimasukkan pada situs web pihak ketiga, dan menawarkan penunjuk lokasi untuk bisnis perkotaan dan organisasi lainnya di berbagai negara di seluruh dunia. Google Map Maker
memungkinkan pengguna untuk bersama-sama mengembangkan dan memperbarui pemetaan layanan di seluruh dunia.
Tampilan satelit Google Maps adalah "top-down". Sebagian besar citra resolusi tinggi dari kota adalah foto udara yang diambil dari pesawat pada ketinggian 800 sampai 1.500 kaki (240–460 meter), sementara sebagian besar citra lainnya adalah dari satelit. Sebagian besar citra satelit yang tersedia adalah tidak lebih dari tiga berusia tahun dan diperbarui secara teratur.
untuk ponsel cerdas, dengan lebih dari 54% dari pemilik ponsel cerdas di seluruh dunia menggunakannya setidaknya sekali.
2.5. Sqlite
SQLite merupakan sebuah sistem manajemen basis data relasional yang bersifat
ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp.
Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman.
isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dan kueri-kueri yang kompleks. Tidak ada pengecekan tipe sehingga data bisa dientrikan dalam bentuk string untuk sebuah kolom bertipe integer. Beberapa kalangan melihat hal ini sebagai sebuah inovasi yang menambah nilai guna dari sebuah basisdata, utamanya ketika digunakan dalam bahasa pemrograman berbasis
script (PHP, Perl), sementara kalangan lain melihat hal tersebut sebagai sebuah kekurangan.
Beberapa proses ataupun thread dapat berjalan secara bersamaan dan mengakses basisdata yang sama tanpa mengalami masalah. Hal ini disebabkan karena akes baca data dilakukan secara paralel. Sementara itu akses tulis data hanya bisa dilakukan jika tidak ada proses tulis lain yang sedang dilakukan jika tidak, proses tulis tersebut akan gagal dan mengembalikan kode kesalahan (atau bisa juga secara otomatis akan mencobanya kembali sampai sejumlah nilai waktu yang ditentukan habis). Hanya saja ketika sebuah tabel temporer dibuat, mekanisme penguncian pada proses multithread akan menyebabkan masalah. Update yang terkini dikatakan telah memperbaiki masalah ini.