Aplikasi Destinasi Wisata Di Kota Medan Berbasis Android

BAB 2
LANDASAN TEORI

Pada Bab ini menjelaskan tentang teori-teori dasar dan pengertian-pengertian
mengenai pokok pembahasan yang mengacu dalam pembuatan aplikasi Destinasi
Wisata Di Kota Medan Berbasis Android.

2.1 Sejarah Android
Android merupakan sistem operasi yang berbasis Linux dan dirancang untuk
perangkat seluler layar sentuh seperti smartphone serta komputer tablet. Android
pada awalnya dikembangkan oleh perusahaan bernama Android, Inc., dengan
dukungan finansial yang berasal dari Google, yang kemudian Google pun
membelinya pada tahun 2005. Sistem operasi android tersebut secara resmi dirilis
pada tahun 2007, bersamaan dengan didirikannya sebuah perusahaan Open
Handset Alliance, konsorsium dari beberapa perusahaan-perusahaan perangkat
keras, perangkat lunak, serta telekomunikasi yang memiliki tujuan untuk
memajukan standar terbuka dari perangkat seluler. Ponsel yang berbasis sistem
operasi Android pertama dijual pada bulan Oktober 2008.
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

Universitas Sumatera Utara

7

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 pada saat itu belum dirilis).

Sejak tahun 2008, Android mulai secara bertahap melakukan sejumlah
pembaruan atau update untuk meningkatkan kinerja dari sistem operasi tersebut
dengan menambahkan fitur baru, memperbaiki bug pada versi android yang
sebelumnya. Setiap versi yang dirilis dinamakan secara alfabetis dengan
berdasarkan nama sebuah makanan pencuci mulut, seperti cupcake, donut, dan
sebagainya.

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.0 yang masih digunakan hingga kini adalah widget aplikasi, serta
took aplikasi Google Play Store yang kala itu masih bernama "Market".

Universitas Sumatera Utara

8

Sistem operasi ini juga menyatukan layanan Gmail. Dua aplikasi tersebut,
Gmail dan Market, menjadi layanan bawaan paling purba yang dipatrikan

Google pada Android 1.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

Universitas Sumatera Utara

9

sehingga bisa memutar video.Kemampuan membuka layar alias unlockscreen 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.

Universitas Sumatera Utara

10

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
relevan bagi pengguna.

Universitas Sumatera Utara


11

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 pujipujian 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 daritiga jam yang lalu hingga 24
jam sebelumnya. Pembaruan kedua ditilik dari pengaturan volume. Pada

Universitas Sumatera Utara

12

Marshmallow, pengguna bisa mengontrol volume yang berbeda-beda pada
panggilan, media, dan alarm. Keamanan juga mendapat peningkatan pada
versiini. 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 Arsitektur Android
Secara garis besar Arsitektur Android terdapat 4 komponen utama dalam
membangun suatu

arsitektur komputer

yaitu

Applications

dan

widget,

Applications Frameworks, Libraries dan Linux karnel.

Universitas Sumatera Utara

13

2.3.1 Applications dan Widget
Applications dan Widgets ini adalah layer di mana kita berhubungan dengan
aplikasi saja, di mana biasana kita download aplikasi kemudian kita lakukan
instalasi dan jalankan aplikasi tersebut. Di Layer terdapat aplikasi inti termasuk
klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua
aplikasi ditulis menggunakan bahasa pemrograman Java.

2.3.2

Applications Frameworks

Android adalah "Open Development Platform" yaitu Android menawarkan kepada
pengembang atau memberi kemampuan kepada pengembang untuk membangun
aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat
keras, akses informasi resources, menjalankan service background, mengatur
alarm, dan menambahkan status notifications, dan sebagainya. Pengembang
memiliki akses penuh menuju API framework seperti yang dilakukan oleh
aplikasi yang kategori inti. Arsitektur aplikasi dirancang supaya kita dengan
mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse).

2.3.3

Libraries

Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya para
pembuat aplikasi mengakses libraries untuk menjalankan aplikasi. Berjalan di atas
kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc danSSL, serta:
-Libraries media untuk pemutaran media audio dan video
-Libraries untuk manajemen tampilan
- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
-Libraries SWLite untuk dukungan database

Universitas Sumatera Utara

14

- Libraries SSL dan WebKit terintegrasi dengan web browser dan security.
- Libraries liveWebcore mencakup modern web browser dengan engine web view
- Libraires 3D yang mencakup implementasi OpenGL S 1.0 API's.

2.3.4

Linux Karnel

Linux Kernel adalah layer di mana inti dari operating sistem dari Android itu
berada. Berisi file-file system yang mengatur sistem processing, memory,
resource, driver, dan sistem-sistem operasi android lainnya. Linux kernel yang
digunakan android adalah linux kernel relase 2.6.

Gambar 2.1 Arsitektur Android

Universitas Sumatera Utara

15

2.4

Android Studio

Android

Studio

adalah

Lingkungan

Pengembangan

Terpadu

Integrated

Development Environment (IDE) untuk pengembangan aplikasi Android,
berdasarkan IntelliJ IDEA. Selain merupakan editor kode IntelliJ dan alat
pengembang yang berdaya guna, Android Studio menawarkan fitur lebih banyak
untuk meningkatkan produktivitas Anda saat membuat aplikasi Android,
misalnya:
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
9. Dukungan bawaan untuk Google Cloud Platform, mempermudah
pengintegrasian Google Cloud Messaging dan App Engine.
10. Laman ini berisi pengantar dasar fitur-fitur Android Studio. Untuk
memperoleh rangkuman perubahan terbaru, lihat Catatan Rilis Android
Studio.

Universitas Sumatera Utara

16

2.5 Java
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan
program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metodemetode 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
pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi
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

Universitas Sumatera Utara

17

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

Universitas Sumatera Utara

18

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.6 Google Maps
Google Maps adalah layanan pemetaan web yang dikembangkan oleh Google.
Layanan ini memberikan citra satelit, peta jalan, panorama 360°, kondisi lalu
lintas, dan perencanaan rute untuk bepergian dengan berjalan kaki, mobil, sepeda
(versi beta), atau angkutan umum.
1.

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 Javascrript, 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
marker memungkinkan pengguna untuk bersama-sama mengembangkan dan
memperbarui pemetaan layanan di seluruh dunia.

2.

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

Universitas Sumatera Utara

19

citra lainnya adalah dari satelit.Sebagian besar citra satelit yang tersedia
adalah tidak lebih dari tiga berusia tahun dan diperbarui secara
teratur. Google Maps menggunakan varian dekat dari proyeksi Mercator, dan
karena itu Google Maps tidak dapat secara akurat menunjukkan daerah di
sekitar kutub.
3. Google Maps untuk seluler dirilis pada bulan September 2008. Pada Agustus
2013, Google Maps bertekad untuk menjadi aplikasi yang paling populer di
dunia untuk ponsel cerdas, dengan lebih dari 54% dari pemilik ponsel cerdas
di seluruh dunia menggunakannya setidaknya sekali

2.7 Flowchart
Flowchart adalah bagan-bagan yang mempunyai arus untuk menggambarkan
langkah-langkah dalam menyelesaikan suatu masalah tertentu dan Flowchart
merupakan salah satu cara penyajian dalam algoritma. Program Flowchart
menggambarkan urutan logika dari suatu algoritma. Tahapan pembuatan program
yaitu mendefinisikan masalah dan menganalisanya. Mencakup: tujuan pembuatan
program, parameter yang digunakan, fasilitas yang disediakan, algoritma yang
diterapkan dan bahasa program yang digunakan.

2.7.1 Simbol pada Flowchart
Simbol pada Flowchart merupakan gambar atau bagan yang memperlihatkan
urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan
dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu.

Universitas Sumatera Utara

20

Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu
menggambarkan proses di dalam program. Simbol-simbol yang dipakai antara
lain:
1. Flow Direction Symbols
Yaitu, simbol yang dipakai untuk menghubungkan antara simbol yang satu
dengan simbol lainnya atau disebut juga connecting line.

Tabel 2.1. Flow Direction Symbols
Simbol

Nama

Fungsi

Penghubung antara
Arus / Flow
prosedur / proses.

Simbol keluar / masuk
prosedur atau proses
Connector
dalam lembar / halaman
yang sama.
Simbol keluar / masuk
prosedur atau proses.
Off-line Connector
dalam lembar / halaman
yang lain.

Universitas Sumatera Utara

21

2. Processing Symbols
Yaitu, merupakan simbol yang menunjukkan jenis operasi pengolahan dalam
suatu prosedur.

Tabel 2.2. Processing Symbols
Simbol

Nama

Fungsi

Simbol
Process

yang

menunjukkan

pengolahan yang dilakukan
Komputer.

Simbol untuk kondisi yang akan
Decision

menghasilkan beberapa
kemungkinan jawaban / aksi.

Simbol

untuk

mempersiapkan

penyimpananyangakan digunakan
Predefined Process

sebagaitempatpengolahan didalam
storage.

Terminal

Simbol

untuk permulaan atau

akhir darti suatu program.

Manual Input

Simbol untuk pemasukan data
secara manual on-line keyboard.

Universitas Sumatera Utara

22

1. Input-Output Simbol
Simbol yang dipakai untuk menyatakan jenis peralatan yang digunakan sebagai
media input atau output.

Tabel 2.3. Input-Output Simbol
Simbol

Nama

Fungsi

Simbol yang menyatakan proses
Input-Output

input

dan

output

tanpa

tergantung dengan jenis
peralatannya.

Simbol yang menyatakan input
Document

berasal dari dokumen dalam
bentuk kertas atau output di
cetak dikertas.

Disk and On-line
Storage

Simbol untuk menyatakan input
berasal dari disk atau output di
simpan ke disk.

2.8 Entity Relationship Diagram
Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship
Diagram (ERD) merupakan teknik yang digunakan untuk memodelkan
kebutuhan data dari suatu organisasi, biasanya oleh System Analys dalam tahap

Universitas Sumatera Utara

23

analisis persyaratan proyek pengembangan sistem. Sementara seolah-olah
teknik diagram atau alat peraga memberikan dasar untuk desain database
relasional yang mendasari sistem informasi yang dikembangkan. ERD
bersama-sama dengan detail pendukung merupakan model data yang pada
gilirannya digunakan sebagai spesifikasi untuk database.

Tabel 2.4. Komponen ERD
Simbol

Nama

Fungsi
Suatu

Entitas

objek

yang dapat

diidentifikasi dalam
lingkungan pemakai.

Atribut

Mendeskripsikan
karakterentitas.

Relasi

Hubungan

di

antara

sejumlah

entitas

yang

berbeda.

Penghubung
Garis

dengan

antara

entitas

relasi
dengan

atribut.

Universitas Sumatera Utara