• Tidak ada hasil yang ditemukan

APLIKASI PELACAK LOKASI, KECEPATAN, ARAH DENGAN MENGGUNAKAN GLOBAL POSITIONING SYSTEM (GPS) DAN MENGHASILKAN OUTPUT FILE EKSTENSI KEYHOLE MARKUP LANGUAGE (KML) BERBASIS ANDROID.

N/A
N/A
Protected

Academic year: 2017

Membagikan "APLIKASI PELACAK LOKASI, KECEPATAN, ARAH DENGAN MENGGUNAKAN GLOBAL POSITIONING SYSTEM (GPS) DAN MENGHASILKAN OUTPUT FILE EKSTENSI KEYHOLE MARKUP LANGUAGE (KML) BERBASIS ANDROID."

Copied!
104
0
0

Teks penuh

(1)

MENGGUNAKAN GLOBAL POSITIONING SYSTEM (GPS)

DAN MENGHASILKAN OUTPUT FILE EKSTENSI KEYHOLE

MARKUP LANGUAGE (KML) BERBASIS ANDROID

TUGAS AKHIR

OLEH:

ARIF NUR AZIS 0734010272

TEKNIK INFORMATIKA FAKULTAS TEKNO LOGI INDUSTRI

(2)

Dengan perkembangan teknologi yang kian maju, manusia dapat membuat berbagai macam peralatan sebagai alat bantu dalam menjalankan berbagai aktivitas untuk mendukung produktifitas. Salah satunya adalah perangkat Handphone berbasiskan system operasi Android yang mengalami perkembangan pesat. Android sebagai sistem operasi yang dapat ditanamkan pada perangkat handphone memiliki kemampuan untuk dapat diinstal aplikasi-aplikasi yang diperlukan oleh pengguna, dimana perangkat Handphone berbasis Android sudah dilengkapi beragam teknologi canggih, salah satunya teknologi Global Positioning System (GPS) yang berfungsi sebagai penanda/pelacak posisi saat ini. Sehingga dengan adanya teknologi ini pengguna semakin mudah untuk melacak posisi keberadaan dan rute yang telah dilaluinya.

Tugas akhir ini membahas perancangan antar muka dan pembuatan aplikasi pelacak posisi, kecepatan, arah dan menghasilkan output file Keyhole Markup Language (KML), yang berjalan di system operasi Android. Untuk implementasi aplikasi menggunakan Handphone yang dilengkapi teknologi Global Positioning System (GPS).

Pada tugas akhir ini dikembangkan aplikasi pelacak posisi, kecepatan, arah dengan menggunakan Global Positioning System (GPS), diharapkan pengguna yang menggunakan perangkat handphone berbasiskan sistem operasi Android dapat terbantu untuk mengetahui informasi mengenai posisi, kecepatan, dan arah yang disajikan oleh aplikasi ini.

(3)

ii

Pertama-tama penulis panjatkan puji syukur atas kehadiran Allah S.W.T

karena atas rahmat dan karunia-Nyalah akhirnya laporan tugas akhir ini dapat

penulis selesaikan. Tak lupa pula shalawat dan salam penulis panjatkan kepada

Nabi akhir zaman Muhammad S.A.W, karena berkat perjuangannyalah karunia

Iman dan Islam senantiasa menjadi inspirasi bagi penulis.

Adapun maksud penulisan Laporan Tugas Akhir ini adalah sebagai

gambaran terhadap apa yang penulis kerjakan pada Tugas Akhir. Selain itu juga

laporan ini sebagai syarat untuk pelaksanaan mata kuliah Tugas Akhir dalam

menyelesaikan program studi strata satu (S-1) di Universitas Pembangunan

Nasional “Veteran” Jawa Timur.

Oleh karena itu pada kesempatan ini dengan kesungguhan dan rasa rendah

hati, penulis ingin menyampaikan ucapan terima kasih kepada:

1. Kedua orang tua, khususnya mama yang telah memberikan dukungan

materil dan imateril semangat, kasih sayang, dan pengorbanan kepada

penulis yang tak terhitung dan ternilai jumlahnya.

2. Bapak Ir.Sutiyono, MT, selaku Dekan Fakultas Teknologi Industri UPN

“Veteran” Jawa Timur.

3. Ibu Dr. Ir. Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika

Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

4. Bapak Nur Cahyo Wibowo, S.kom, M.kom selaku Dosen Pembimbing I

yang telah memberikan Saran-saran perbaikan, pengetahuan, dan

(4)

memberikan Saran-saran perbaikan, pengetahuan, dan dorongan dalam

menyelesaikan Tugas Akhir Penulis.

6. Seluruh Dosen Program Studi Teknik Informatika UPN “Veteran”.

7. Keluarga yang selalu mengasihi, kakak, adik, bibi, paman dan saudara

lainnya yang tak bisa disebutkan satu-satu.

8. Teman-teman Teknik Informatika Angkatan 2007 khususnya Genk

tahu-tempe : Satrio Anggardha, Kanzul Bibil Fikri, Heri Budi Iswanto, Deny

Setiawan, Hadi Santoso, Dian Gotenk Perdana, Rachmat Riyovie

Kurniawan, Nova Permadani, Yudha Baskoro, Yasser Arafat, Firman

Nurpantara. Terima kasih atas kerja sama, motivasi, kekompakkan, dan

kebersamaanya, tanpa kalian penulis tidak dapat menyelesaikan masa

kuliah ini dengan lancar.

9. Pyry Samuli, dan Aris Ibrahim. Terima kasih atas motivasi dan

semangatnya.

Semoga dengan terselesaikannya Tugas Akhir dan Laporannya ini dapat

memberikan manfaat bagi penulis khususnya dan para pembaca pada umumnya.

Penulis menyadari bahwa Tugas Akhir dan Laporan ini masih jauh dari

kesempurnaan. Mengingat terbatasnya pengetahuan dan kemampuan penulis.

Oleh karenanya penulis memohon maaf dan selalu terbuka untuk menerima kritik

dan saran dari pembaca

Surabaya, Februari 2012

(5)

iv

ABSTRAKSI ………....i

KATA PENGANTAR ……….…ii

DAFTAR ISI ……….……..iv

DAFTAR GAMBAR ………viii

BAB I PENDAHULUAN ……….……..1

1.1.Latar Belakang ..………..……1

1.2.Rumusan Masalah ...………....2

1.3.Batasan Masalah ...………...….……..…...2

1.4.Tujuan …………..………..…..2

1.5.Manfaat ………..………...……..…3

1.6.Metodologi Penelitian ………..……….…………..3

1.7.Sistematika Penelitian ………..………...4

BAB II TINJAUAN PUSTAKA ………..6

2.1.Unified Modeling Language …...………6

2.2.Pseudocode ……….9

2.3.Pemrograman Berorientasi Object ...……….10

2.4.Android ……….15

2.4.1. Pengertian Android ………...15

(6)

2.4.3.1. Linux Kernel ……….…...20

2.4.3.2. Libraries ……….……..21

2.4.3.3. Android Runtime ……….……21

2.4.3.4. Application Framework ……….……..22

2.4.3.5. Application Layer ……….……...23

2.4.4. Komponen Aplikasi ……….……24

2.4.5. Tipe Aplikasi Android ……….…27

2.4.6. Siklus Hidup Android ……….….28

2.4.7. Kelebihan Android ………..30

2.4.8. Contoh Coding ………31

2.4.9. Pengembangan Aplikasi Android ………....33

2.4.9.1. Aplikasi Perekam Rute Perjalanan ………..33

2.5.GPS (Global Positioning System) ……….…35

2.5.1. Sejarah GPS (Global Positioning System) ………..35

2.5.2. Cara Kerja GPS (Global Positioning System) ……….…37

2.6.XML (Extensible Markup Language) ………...40

2.7.KML (Keyhole Markup Language) ………..42

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM ………..44

3.1.Analisis Sistem ...………...44

3.1.1. Use case Diagram ………44

(7)

vi

3.1.4. Class Diagram ……….……….48

3.2.Pseudocode ………..………..50

3.3.Perancangan Interface (antarmuka) ………...51

3.3.1. Perancangan Antar Muka Menu ……….….52

3.3.2. Perancangan Antar Muka Layar Utama Informasi Data ………….53

3.3.3. Perancangan Antar Muka Pengaturan ……….54

BAB VI IMPLEMENTASI ………55

4.1.Spesifikasi Perangkat Keras dan Lunak ……….…...55

4.1.1. Spesifikasi Perangkat Keras ……….…...55

4.1.2. Spesifikasi Perangkat Lunak ………...56

4.2.Penulisan Kode Program ………..….58

4.2.1. Penulisan Kode Program Fitur Kompas ……….….58

4.2.2. Penulisan Kode Program Informasi Kecepatan ……….…..60

4.2.3. Penulisan Kode Program Kirim File Via Email ……….………….61

4.2.4. Penulisan Kode Program Logging Frequency ……….63

4.2.5. Penulisan Kode Program Output File ………..64

(8)

4.2.6.2. Pembuatan Tampilan Antarmuka Menu About …………...70

4.2.6.3. Pembuatan Tampilan Antarmuka Pengaturan …………...70

4.3.Tampilan Interface Aplikasi ………..71

4.3.1. Tampilan Utama Informasi Data ………...71

4.3.2. Tampilan Menu Utama ……….……...72

4.3.2.1. Tampilan Menu Pengaturan ...……….…...74

4.3.2.2. Menu Maps View ………....74

4.3.2.3. Menu Send Via Email ……….….75

4.3.2.4. Menu About ……….76

BAB V UJI COBA DAN EVALUASI ……….….77

BAB VI PENUTUP ……….…90

6.1 Kesimpulan ………....90

6.2 Saran ………..91

(9)

viii

Gambar 2.1 Flowchart dan Pseudo-code ……….10

Gambar 2.2 Fase Pemrograman Java ………..15

Gambar 2.2 Arsitektur Platform Android ………...20

Gambar 2.3 Prioritas Aplikasi Berdasarkan Activity……….……….29

Gambar 2.5 Contoh Interface ………..32

Gambar 2.6 Interface Aplikasi ……….34

Gambar 3.1 Diagram Use Case ……….…..45

Gambar 3.2 Activity Diagram Sistem ……….…47

Gambar 3.3 Sequence Diagram Sistem ……….……..48

Gambar 3.4 Class Diagram Sistem ………..…………49

Gambar 3.5 Desain Layar Menu Utama ……….……….52

Gambar 3.6 Desain Layar Utama ……….……...53

Gamabr 3.7 Desain Layar Tampilan Pengaturan ………55

Gambar 4.1 Implementasi Kompas ……….59

Gambar 4.2 Implementasi Kecepatan ……….60

(10)

Gambar 4.5 Hasil Output file ………..66

Gambar 4.6 Informasi Data ………...72

Gambar 4.7 Tampilan Menu Utama ………73

Gambar 4.8 Menu Pengaturan ……….74

Gambar 4.9 Map View ………75

Gambar 4.10 Tampilan Send via email ………...75

Gambar 4.11 Tampilan Menu About …...………76

Gambar 5.1 Start Aplikasi ……….…..78

Gambar 5.2 Menampilkan Data ……….…….79

Gambar 5.3 Tampilan Map Posisi Diam ……….……80

Gambar 5.4 Detail Map Posisi Diam ……….……..80

Gambar 5.5 Tampilan Map Posisi Bergerak ……….…..…81

Gambar 5.6 Detail Map ……….……..81

Gambar 5.7 Skenario Rute Jalur Pendek ……….………82

Gambar 5.8 Skenario Rute Jalur Sedang ……….…………83

Gambar 5.9 Skenario Rute Jalur Panjang …...……….………84

(11)

x

Gambar 5.12 Arah Selatan ………..88

(12)

BAB I

PENDAHULUAN

1.1 Latar Belaka ng

Perkembangan teknologi semakin pesat dan cepat, khususnya teknologi

informasi dan komunikasi. Hal ini membuat manusia bagaikan tak terpisah oleh

jarak ruang dan waktu. Dengan perkembangan teknologi yang kian maju, manusia

dapat membuat berbagai macam peralatan sebagai alat bantu dalam menjalankan

berbagai aktivitas untuk mendukung produktifitas.

Seiring dengan tingkat mobilitas yang tinggi, beberapa tahun terakhir

tengah marak perangkat bergerak atau mobile device. Salah satu perangkat mobile

yang paling pesat adalah Handphone dimana hampir setiap orang memilikinya.

Handphone yang sedianya sebagai alat komunikasi, saat ini sudah lebih dari

fungsi dasarnya. Berbagai macam fitur telah ditanamkan, salah satunya Global

Positioning System (GPS) yang berfungsi sebagai penanda/pelacak posisi saat ini.

GPS bekerja dengan menstransmisikan sinyal dari satelit ke perangkat handphone

yang dilengkapi teknologi ini, Untuk memperoleh detail posisi yang seakurat

mungkin. Hal ini tak lepas dari penggunaan Sistem Operasi pada Handphone.

Layaknya pada komputer, Handphone pun dapat di instal berbagai macam

aplikasi yang diinginkan.

Android sebagai Sistem Operasi berbasis Linux yang dapat digunakan di

berbagai perangkat mobile. Android memiliki tujuan utama untuk memajukan

inovasi pranti telepon bergerak agar pengguna mampu mengekplorasi kemampuan

(13)

Hingga saat ini Android terus berkembang, baik secara system maupun

aplikasinya.

Pengembangan suatu sistem aplikasi menjadi bagian mutlak yang harus

dilakukan, Salah satunya pengembangan dari penelitian sebelumnya, dimana

fungsi dari penelitian sebelumnya dinilai masih kurang dalam memaksimalkan

dari teknologi yang telah ada. Oleh karena itu menambah suatu perancangan baru

kedalam perancangan sebelumnya menjadi suatu solusi guna memperluas fungsi

dari sistem itu sendiri (Pyry Samuli and Aris Ibrahim, 2010).

1.2 Per umusan Masalah

Berdasarkan uraian diatas, maka saat dapat dirumuskan adalah :

1) Bagaimana membangun dan merealisasikan suatu aplikasi pada platform

Android yang dapat digunakan di berbagai tempat untuk mendapatkan

informasi tentang lokasi, arah, kecepatan yang ditempuh dalam perjalanan.

2) Bagaimana membuat aplikasi ini menghasilkan output pelacakan ke dalam

bentuk file ekstensi *.KML.

1.3 Batasan Masalah

Untuk menghindari pelebaran masalah yang dibahas, maka penulis membatasi

masalah sebagai berikut :

1) Aplikasi ini hanya dapat digunakan pada system operasi Android dengan

memanfaatkan Global Positioning System (GPS)

2) Informasi yang didapatkan tidak sepenuhnya akurat, hal ini dipengaruhi

oleh beberapa hal yaitu: cuaca, dan lokasi

(14)

1.4 Tujuan

Sesuai dengan permasalahan yang telah disebutkan di atas, maka tujuannya adalah

sebagai berikut :

1) Membangun sebuah program aplikasi pelacak lokasi, arah, dan kecepatan

pada sistem operasi Android yang dapat digunakan dimanapun dengan

memanfaatkan Global Positioning System (GPS).

2) Membangun sebuah program aplikasi yang mampu menghasilkan hasil

output pelacakan kedalam file ekstensi *.KML agar dapat melihat hasil

output tersebut di Google Maps dan Google Earth.

1.5 Manfaat

Manfaat dari sistem atau software yang direncanakan yaitu, sebagai berikut :

1) Untuk membantu mengetahui jalur mana yang telah di lewati pengguna

selama dalam perjalanan.

2) Memberikan informasi jarak tempuh, kecepatan, dan arah.

3) Meningkatkan pemahaman tentang struktur dan sistem kerja dalam

pengembangan aplikasi pada sistem operasi Android.

1.6 Metodologi Penelitian

Metode adalah cara yang dipergunakan untuk mencapai suatu tujuan,

adapun metode yang dipakai adalah:

a) Metode Pengumpulan Data (Data Gathering)

Mencari dan mengumpulkan data-data yang dibutuhkan dan berkaitan

(15)

b) Studi Kepustakaan

Studi kepustakaan seperti mempelajari buku-buku referensi yang

berhubungan dengan Android dan Global Positioning System (GPS) untuk

membantu dalam pembuatan Aplikasi ini. Selain itu juga mempelajari

web-web referensi seputar hal yang sama untuk membantu dalam penyajian

informasi yang akan ditampilkan.

c) Analisis Sistem

Menganalisa kebutuhan sistem dan mengidentifikasi kebutuhan informasi

berdasarkan hasil pengamatan dan studi pustaka yang telah dilakukan. Alat

bantu analisis sistem yang digunakan pada sistem ini adalah Use Case Diagram

dan Class Diagram

d) Merancang dan Mengimplementasi

Merancang dan mengimplementasi Aplikasi yang akan dikembangkan

agar sesuai dengan yang diharapkan.

1.7 Sistematika Penulisan

Secara garis besar materi laporan Tugas Akhir ini terbagi menjadi

beberapa bab yang tersusun sebagai berikut:

BAB I PENDAHULUHAN

Bab ini berisikan latar belakang masalah, perumusan masalah,

batasan masalah, tujuan dan manfaat, metodologi penelitian

(16)

BAB II TINJ AUAN PUSTAKA

Pada landasan teori memuat berbagai macam sumber tinjauan

pustaka yang digunakan sebagai referensi dalam pembuatan

sistem informasi.

BAB III ANALISIS DAN PERANCANGAN

Analisis dan perancangan, memuat tentang analisa dari

kebutuhan sistem yang akan dibuat beserta rancangan sistem.

BAB IV IMPLEMENTASI

Pada implementasi memuat langkah, hasil analisa dan

perancangan sistem yang ditajikan dalam berbagai bentuk

misalnya tabel, gambar dan penjelasan – penjelasan dari

masing masing bagian dari program.

BAB V UJ I COBA DAN EVALUASI

Pada bab ini membahas tentang bagaimana jalan program dan

evaluasi program secara menyeluruh untuk mendukung

keberhasilan program.

BAB VI PENUTUP

Pada bab kelima berisi kesimpulan dari program yang telah

diimplementasikan dan dievaluasi sehingga pada akhirnya

diberikan beberapa kemungkinan untuk pengembangan dari

aplikasi yang dibuat serta saran.

DAFTAR PUSTAKA

(17)

BAB II

TINJ AUAN PUSTAKA

2.1Unified Modeling Language ( UML )

Unified Modeling Language (UML) adalah sebuah "bahasa" yang telah

menjadi standar dalam industri untuk visualitasi, merancang dan

mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar

untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat

membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut

dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, sertaditulis

dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class

dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti

lunak dalam bahasa - bahasa berorientasi objek seperti C++, Java, C# atau

VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling

aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax /

semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk

menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna

tertentu, dan UML syntax mendefinisikan bagaimana bentuk – bentuk tersebut

dapat dikombinasikan. Notasi UML terutama diturunkan dari tiga notasi yang

telah ada sebelumnya. Grady Booch OOD ( Object - Oriented Design), Jim

(18)

(Object-Oriented Software Engineering). Pada dasarnya UML mendefinisikan

diagram-diagram sebagai berikut:

1) Use Case Diagram

Yaitu rangkaian yang taling terkait membentuk sistem secara teratur dan

diawasi/dilakukan oleh aktor. Aktor yaitu manusia atau mesin. Menggambarkan

fungsionalitas dari sistem. Fokus pada “apa” yang diperbuat sistem misal login ke

sistem, meng-create daftar stok barang dan fungsionalitas lain. Use case diagram

sangat membantu dalam hal:

a) Bila sedang menyusun requirement sebuah sistem.

b) Mendiskusikan rancangan dengan klien.

c) Merancang test case fitur-fitur yang ada pada sistem.

d) Meng-include fungsionalitas use case lain.

2) Class Diagram

Yaitu sebuah spesifikasi yang jika diinstalasi menghasilkan obyek dan inti

dari pengembangan desain berorientasi obyek. Class diagram menggambarkan

properti dan metode/fungsi. Class memiliki tiga area yaitu:

a) Nama dan stereotype.

b) Atribut.

c) Metoda.

3) Statechart Diagram

Yaitu menggambarkan transisi dari satu state ke state lain suatu obyek pada

sistem. State digambarkan segi empat dengan sudut tumpul dan memiliki nama

(19)

akibat dari event diawali garis miring. State awal digambarkan dengan lingkaran

penuh. State akhir digambarkan dengan lingkaran setengah.

4) Activity Diagram

Menggambarkan berbagai alur aktivitas dalam sistem yang sedang

dirancang. Juga menggambarkan proses paralel yang mungkin terjadi pada

beberapa eksekusi. Activity Diagram sebagian besar state merupakan action dan

transisi di trigger. Activity diagram menggambarkan proses dan jalur aktivitas dari

level atas. Semua aktivitas dapat direalisasikan oleh satu use case atau lebih.

Aktivitas menggambarkan proses yang berjalan, sementara use case

menggambarkan bagaimana aktor menggunakan sistem untuk melakukan

aktivitas. Simbol-simbol:

1) Aktivitas disimbolkan segi empat tumpul.

2) Behaviour disimbulkan dengan decision.

3) Proses paralel digambarkan dengan titik sinkronitasi atau titik saja atau

garis horisontal atau vertikal.

5) Sequence Diagram

Menggambarkan interaksi antar obyek di dalam dan sekitar sistem berupa

mestage. Juga menggambarkan skenario atau langkah yang dilakukan sebagai

respon dari client untuk menghasilkan output. Sequence Diagram terdiri atas:

a) Dimensi vertikal (waktu)

b) Dimensi horisontal (obyek terkait)

Setiap obyek termasuk aktor memiliki lifeline vertikal. Mestage

digambarkan sebagai garis panah. Pada fase desain mestage akan dipetakan

(20)

6) Collaboration Diagram

Menggambarkan interaksi antar obyek, namun lebih menekankan pada

peran setiap obyek bukan pada waktu penyampaian mestage. Setiap mestage

memiliki sequence number, dimana mestage dari level tertinggi memiliki nomor

1. Mestage dari level yang sama memiliki prefiks yang sama.

7) Component Diagram

Menggambarkan struktur dan hubungan antar komponen piranti lunak.

Komponen piranti lunak berisi code, baik source code maupun binary code baik

library maupun executable baik yang muncul pada compile time, link time atau

run time. Umumnya komponen terbentuk dari beberapa class atau package.

8) Deployment Diagram

Menggambarkan bagaimana detail komponen di deploy dalam infrastrukture

sistem, dimana akan diletakkan, bagaimana kemampuan jaringan, bagaimana

spesifikasi server dan hal lain bersifat fisik (Pender, A Thomas, 2002).

2.2Pseudocode

Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau

merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering

digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan.

Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan

(hampir sama dengan algoritma), hanya saja bentuknya sedikit berbeda dari

algoritma. Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa

(21)

dipahami secara universal dan juga lebih ringkas dari pada algoritma (Anonim, 2009).

Contoh Pseudo-code dengan Flowchart: Statement if:

Digunakan untuk seleksi suatu kondisi.

1. Pseudo-code

If student’s grade is greater than or equal to 60

Print “Passed”

2. Flowchart

Gambar 2.1 Flowchart dan Pseudo-code

2.3Pemr ogr aman Beror ientasi Object

Pemrograman berorientasi objek menyelesaikan masalah dengan

merepresentasikan masalah ke model objek. Objek-objek dalam dunia nyata,

mempunyai 2 karakteristik khusus : Status dan Perilaku. Contohnya, sepeda

punya status (jumlah gir, jumlah pedal, dua buah ban) dan perilaku (mengerem,

mempercepat, ubah gir). Bahasa yang berorientasi pada objek pun mempunyai

(22)

dalam bahasa pemrograman biasanya disimpan sebagai variabel dan perilaku

yang diimplementasikan sebagai Method. Desain berorientasi object adalah

sebuah teknik yang memfokuskan desain pada object dan class berdasarkan pada

skenario dunia nyata. Hal ini menegaskan keadaan (state), behaviour dan interaksi

dari object. Selain itu juga menyediakan manfaat akan kebebatan pengembangan,

meningkatkan kualitas, mempermudah pemeliharaan, mempertinggi kemampuan

dalam modifikasi dan meningkatkan penggunaan kembali software (Eko, 2006).

Karakteristik dari OOP antara lain :

1) Desain berorientasi objek.

Desain berorientasi object adalah sebuah teknik yang memfokuskan desain

pada object dan class berdasarkan pada skenario dunia nyata. Hal ini menegaskan

keadaan (state), behaviour dan interaksi dari object. Selain itu juga menyediakan

manfaat akan kebebatan pengembangan, meningkatkan kualitas, mempermudah

pemeliharaan, mempertinggi kemampuan dalam modifikasi dan meningkatkan

penggunaan kembali software.

2) Class

Class mengizinkan user dalam mendeklarasikan tipe data baru. Ia dijalankan

sebagai blueprint, dimana model dari object yang user buat berdasarkan pada tipe

data baru ini.

3) Object

Sebuah object adalah sebuah entiti yang memiliki keadaan, behaviour dan

identitas yang yang tugasnya dirumuskan dalam suatu lingkup saat dengan baik.

(23)

Instance dibuat sewaktu user meng-instantiate class menggunakan kata

kunci new. Dalam sistem registrasi siswa, contoh dari sebuah object yaitu entity

student.

4) Attribute

Atributet menunjuk pada elemen data dari sebuah object. Atribut

menyimpan informasi tentang object. Dikenal juga sebagai member data, variabel

instance, properti atau sebuah field data. Kembali lagi ke contoh sistem registrasi

siswa, atribut dari sebuah siswa adalah nomor siswa.

5) Method

Sebuah method menjelaskan behaviour dari sebuah object. Method juga

dikenal sebagai fungsi atau prosedur. Sebagai contoh, method yang mungkin

tersedia untuk entiti siswa adalah method register.

6) Konstruktor

Konstruktor adalah sebuah tipe khusus dari method yang digunakan untuk

membuat dan menginisialitasi sebuah object baru. Ingat bahwa konstruktor bukan

member (yaitu atribute, method atau inner class dari sebuah object).

7) Package

Package menunjuk pada pengelompokan class dan/atau subpackages.

Strukturnya dapat disamakan dengan direktorinya.

8) Enkapsulasi

Enkapsulasi menunjuk pada prinsip dari menyembunyikan desain atau

(24)

9) Abstraksi

Sementara enkapsulasi menyembunyikan detail, abstraksi mengabaikan

aspek dari subyek yang tidak sesuai dengan tujuan yang ada supaya lebih banyak

mengkonsentrasikan yang ada.

10) Pewarisan

Pewarisan adalah hubungan antara class dimana dalam satu class ada

superclass atau class induk dari class yang lain. Pewarisan menunjuk pada

properti dan behaviour yang diterima dari nenek moyang dari class. Ini dikenal

juga sebagai hubungan “is-a”.

11) Polimorfisme

Polimorfisme adalah kemampuan dari sebuah object untuk membolehkan

mengambil beberapa bentuk yang berbeda. Secara harfiah, “poli” berarti banyak

sementara “morph” berarti bentuk. Menunjuk pada contoh sebelumnya pada

pewarisan, kita lihat bahwa object SuperHero dapat juga menjadi object

FlyingSuperHero atau object UnderwaterSuperHero.

12) Interface

Sebuah interface adalah sebuah contract dalam bentuk kumpulan method

dan deklarasi konstanta. Ketika sebuah class implements sebuah interface, ini

mengmplementasikan semua method yang dideklarasikan dalam interface.

Java adalah salah satu bahasa pemrograman berorientasi objek (OOP- Object

Oriented Programming ). Paradigma OOP menyelesaikan saat dengan

merepresentasikan masalah ke model objek. Sebagai sebuah bahasa

pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan

(25)

konvensional yang lain. Java adalah bahasa pemrograman yang berorientasi objek

(OOP) dan dapat dijalankan pada berbagai platform sistem operasi.

Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi

dikembangkan untuk berbagai sistem operasi dan bersifat open source. Aplikasi

dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat

dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE)

(Eko, 2006).

Java adalah bahasa yang dapat di jalankan dimanapun dan disembarang

platform apapun, diberagam lingkungan : internet, intranet, consumer Electronic

products dan computer Applications. The Java 2 platform tersedia dalam 3 edisi

untuk keperluan berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa

java, java dipaketkan dalan edisi-edisi berikut :

1. Java Standard Edition

2. Java Enterprise Edition

3. Java Micro Edition

Fase – fase pemrograman java dapat dilihat pada Gambar 2.1 :

(26)

2.4 Andr oid

2.4.1 Penger tian Andr oid

Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat

bergerak mencakup sistem operasi, middleware, dan aplikasi kunci. Android

Standart Development Kid (SDK) menyediakan perlengkapan dan Application

Programming Interface (API) yang diperlukan untuk mengembangkan aplikasi

pada platform Android menggunakan bahasa pemrograman Java.

Android dikembangkan oleh Google bersama Open Handset Allience (OHA)

yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan Hardware,

Software dan perusahaan telekomunikasi ditujukan untuk mengembangkan

standar terbuka bagi perangkat selular (Nazaruddin Safaat H, 2011).

2.4.2 Sejar ah dan Per kembangan Andr oid

Pada mulanya terdapat berbagai macam sistem operasi pada perangkat

selular, diantaranya sistem operasi Symbian, Microsoft Windsos Mobile,

MobileLinux, iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi

yang ada belum mendukung standar dan penerbitan API yang dapat dimanfaatkan

secara keseluruhan dan dengan biaya yang murah. Kemudian Google ikut

berkecimpung didalamnya dengan platform Android, yang menjanjikan

keterbukaan, keterjangkauan, open source, dan framework berkualitas.

(27)

memulai pengembangan platform Android. Dimana terlibat dalam pengembangan

ini Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007

sekelompok pemimpin industri bersama-sama membentuk aliansi perangkat

selular terbuka, Open Handset Alliance (OHA). Bagian dari tujuan aliansi ini

adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan

lebih baik, dengan produk awalnya adalah platform Android. Dimana Android

dirancang untuk melayani kebutuhan operator telekomunikasi, manufaktur

handset, dan pengembang aplikasi. OHA berkomitmen untuk membuat Android

open source dengan lisensi Apache versi 2.0 (Mark L. Murphy, 2009).

Android pertama kali diluncurkan pada 5 November 2007, dan smartphone

pertama yang menggunakan sistem operasi Android dikeluarkan oleh T-Mobile

dengan sebutan G1 pada bulan September 2008. Hingga saat ini Android telah

merilis beberapa versi Android untuk menyempurnakan versi sebelumnya. Antara

lain:

1) Android versi 1.1

Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini

dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search

(pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

2) Android versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan

menggunakan Android dan SDK (Software Development Kit) dengan versi

(28)

beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan

menonton video dengan modus kamera, mengunggah video ke Youtube dan

gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP,

kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar,

dan keyboard pada layar yang dapat disesuaikan dengan sistem.

3) Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses

pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai

indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang

memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera,

camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN,

Gestures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text

to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi

VWGA.

4) Android versi 2.0/2.1 (Enclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi

2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware,

peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan

dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera

3,2 MP, digital Zoom, dan Bluetooth 2.1.

Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google

(29)

(killer apps - aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi setiap

pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap

tahapnya dipilih 50 aplikasi terbaik.

Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset

Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan

aplikasi mereka kepada sistem operasi Android. Aplikasi terkenal yang

diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds, dan

WeatherBug.

5) Android versi 2.2 (Froyo: Frozen Yoghurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan.

Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan

Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat,

intergrasi V8 JavaScript engine yang dipakai Google Chrome yang

mempercepat kemampuan rendering pada browser, pemasangan aplikasi

dalam SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan auto

update dalam aplikasi Android Market.

6) Android versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan.

Perubahan-perubahan umum yang didapat dari Android versi ini antara lain

peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste,

layar antar muka (User Interface) didesain ulang, dukungan format video VP8

(30)

dan bass boost), dukungan kemampuan Near Field Communication (NFC),

dan dukungan jumlah kamera yang lebih dari satu.

7) Android versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini

mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb

juga berbeda karena sudah didesain untuk tablet. Honeycomb juga

mendukung multi prosesor dan juga akselerasi perangkat keras (hardware)

untuk grafis.

8) Android versi 4.0 (ICS : Ice Cream Sandwich)

Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb

untuk smartphone dan menambahkan fitur baru termasuk membuka kunci

dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol,

terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email

secara offline, dan berbagi informasi dengan menggunakan NFC (Mark L.

Murphy, 2009).

2.4.3 Anatomi Android

Dalam paket sistem operasi Android tediri dari beberapa unsur seperti

tampak pada Gambar 2.2 Secara sederhana arsitektur Android merupakan sebuah

kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang

menyediakan dan mengatur alur proses aplikasi. Diagram berikut ini

menunjukkan komponen utama dari sistem operasi Android (Mark L. Murphy,

(31)

Gambar 2.3 Arsitektur Platform Android

2.4.3.1 Linux Ker nel

Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan

Android bukanlah linux, karena dalam Android tidak terdapat paket standar yang

dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal

dalam manajemen memori dan proses. Oleh karenanya pada Android hanya

terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori,

manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,

kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess

Communication) untuk mengatur aplikasi dan lubang keamanan (Sayed Y.

(32)

2.4.3.2 Libr ar ies

Android menggunakan beberapa paket pustaka yang terdapat pada C/C++

dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang

aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:

1) Media Library untuk memutar dan merekam berbagai macam format audio

dan video.

2) Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.

3) Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan

2D dan 3D.

4) SQLite untuk mengatur relasi database yang digunakan pada aplikasi.

5) SSl dan WebKit untuk browser dan keamanan internet.

Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun

hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi

Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri

menggunakan Native Development Toolkit (NDK) (Google IO, 2009).

2.4.3.3 Andr oid Runtime

Pada Android tertanam paket pustaka inti yang menyediakan sebagian

besar fungsi Android. Inilah yang membedakan Android dibandingkan dengan

sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime

merupakan mesin virtual yang membuat aplikasi Android menjadi lebih tangguh

dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian

(33)

1) Pustaka Inti, Android dikembangkan melalui bahasa pemrograman Java,

tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti Android

menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta

beberapa pustaka khusus Android.

2) Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang

dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah

perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin

virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex).

Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan

dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di

atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan

manajemen memori yang terbatas (Mark L. Murphy, 2009).

2.4.3.4 Application Fr amewor k

Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk

mengembangkan aplikasi Android. Selain itu, juga menyediakan abstraksi generic

untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber

daya aplikasi. Bagian terpenting dalam kerangka aplikasi Android adalah sebagai

berikut :

1) Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan

(34)

2) Content Providers, berfungsi untuk merangkum data yang memungkinkan

digunakan oleh aplikasi lainnya, seperti daftar nama.

3) Resuource Manager, untuk mengatur sumber daya yang ada dalam

program. Serta menyediakan akses sumber daya diluar kode program,

seperti karakter, grafik, dan file layout.

4) Location Manager, berfungsi untuk memberikan informasi detail

mengenai lokasi perangkat Android berada.

5) Notification Manager, mencakup berbagai macam peringatan seperti,

pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status

bar (Mark L. Murphy, 2009).

2.4.3.5 Application Layer

Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan widget.

Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika

menjalankan program. Pengguna hanya akan melihat program ketika digunakan

tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan

dalam Android runtime dengan menggunakan kelas dan service yang tersedia

pada framework aplikasi.

Lapisan aplikasi Android sangat berbeda dibandingkan dengan sistem

operasi lainnya. Pada Android semua aplikasi, baik aplikasi inti (native) maupun

aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka

(35)

2.4.4 Komponen Aplikasi

Fitur penting Android adalah bahwa satu aplikasi dapat menggunakan

elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh,

sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan

fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka

pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya,

cukup menggunakan scroller yang telah ada.

Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi

ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk

bagian itu. Oleh karenanya Android berbeda dari sistem-sistem lain, Android

tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi

lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan

sistem untuk memanggil dan menjalankan ketika dibutuhkan (Nicolas Gramlich,

2009).

Terdapat 4 jenis komponen, yaitu : Services, Broadcast Receiver, Content

provider, Activities.

1) Services

Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di

background untuk waktu yang tidak terbatas. Komponen service diproses

tidak terlihat, memperbarui sumber data dan menampilkan notifikasi.

Service digunakan untuk melakukan pengolahan data yang perlu terus

(36)

2) Broadcast Receivers

Broadcast Receivers merupakan komponen yang sebenarnya tidak

melakukan apa-apa kecuali menerima dan bereaksi menyampaikan

pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya,

Batre sudah hampir habis, informasi zona waktu telah berubah, atau

pengguna telah merubah bahasa default pada perangkat. Sama halnya

dengan service, Broadcast Receivers tidak menampilkan antarmuka

pengguna. Namun, Broadcast Receivers dapat menggunakan Notification

Manager untuk memberitahukan sesuatu kepada pengguna.

3) Content Providers

Content Providers digunakan untuk mengelola dan berbagi database. Data

dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara

lain yang pada prinsipnya sama. Dengan adanya Content Provider

memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini

sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi

lain, sehingga mudah dalam penerapannya.

4) Activities

Activity merupakan bagian yang paling penting dalam sebuah aplikasi,

karena Activity menyajikan tampilan visual program yang sedang

digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah

kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri

(37)

activity atau lebih. Biasanya pasti akan ada activity yang pertama kali

tampil ketika aplikasi dijalankan.

Perpindahan antara activity dengan activity lainnya diatur melalui sistem,

dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan

oleh posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari

semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai,

activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan

paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup

menekan tombol Back, atau menutup activity yang sedang digunakan,

maka activity yang berada diatas akan aktif kembali. Memory Manager

Android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi

berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan

mengambil sumber daya dari aplikasi tersebut.

Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4

kemungkinan kondisi transisi yang akan terjadi :

1) Active, setiap activity yang berada ditumpukan paling atas, maka dia

akan terlihat, terfokus, dan menerima masukkan dari pengguna.

Android akan berusaha untuk membuat activity aplikasi ini untuk

untuk tetap hidup dengan segala cara, bahkan akan menghentikan

activity yang berada dibawah tumpukkannya jika diperlukan. Ketika

activity sedang aktif, maka yang lainnya akan dihentikan sementara.

2) Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus

(38)

transparan dan tidak fullscreen pada layar. Ketika activity dalam

keadaan paused, dia terlihat active namun tidak dapat menerima

masukkan dari pengguna. Dalam kasus ekstrim, Android akan

menghentikan activity dalam keadaan paused ini, untuk menunjang

sumber daya bagi activity yang sedang aktif.

3) Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut

stopped. Activity akan tetap berada dalam memori dengan semua

keadaan dan informasi yang ada. Namun akan menjadi kandidat utama

untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih.

Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu

disimpan data dan kondisi antarmuka saat itu. Karena ketika activity

telah keluar atau ditutup, maka dia akan menjadi inactive.

4) Inactive, kondisi ketika activity telah dihentikan dan sebelum

dijalankan. Inactive activity telah ditiadakan dari tumpukan activity

sehingga perlu restart ulang agar dapat tampil dan digunakan kembali.

Kondisi transisi ini sepenuhnya ditangani oleh manajer memori

Android. Android akan memulai menutup aplikasi yang mengandung

activity inactive, kemudian stopped activity, dan dalam kasus luar biasa

paused activity juga akan ditutup (Muhammad Amiral, 2010).

2.4.5 Tipe Aplikasi Android

Terdapat tiga kategori aplikasi pada Android :

1) For egr ound Activity

(39)

efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti

mempertimbangkan siklus hidup activity, sehingga perpindahan antar

activity dapat berlangsung dengan lancar.

2) Background Ser vice

Aplikasi yang memiliki interaksi terbatas dengan user, selain dari

pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar.

Contohnya aplikasi penyaringan panggilan atau sms auto respon.

3) Inter mittent Activity

Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna,

namun sebagian sangat efektif jika dijalankan di background dan jika

diperlukan akan memberi tahu pengguna tentang kondisi tertentu.

Contohnya pemutar musik.

Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori

aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh

karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan

menentukan kategori aplikasi yang sesuai (Muhammad Amiral, 2010).

2.4.6 Sik lus Hidup Aplikasi Android

Siklus hidup aplikasi Android dikelola oleh sistem, berdasarkan kebutuhan

pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin

menjalankan browser web, pada akhirnya sistem yang akan menentukan

menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi

(40)

ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan

perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak

terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang

prioritas rendah akan ditutup.

Android menjalankan setiap aplikasi dalam proses secara terpisah, yang

masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi

penggunaan memori pada aplikasi. Selain itu juga Android dapat mengontrol

aplikasi mana yang layak menjadi prioritas utama. Karenanya Android sangat

sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya

penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar 2.3

menunjukkan prioritas dari aplikasi (Pyry Samuli and Aris Ibrahim, 2010).

(41)

2.4.7 Kelebihan Android

Sudah banyak platform untuk perangkat selular saat ini, termasuk

didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile

Edition, Linux Mobile (LiM0), dan banyak lagi. Namun ada beberapa hal yang

menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul

sebelumnya pada platform lain, Android adalah yang pertama menggabungkan hal

seperti berikut :

1) Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap

sistem karena berbasiskan Linux dan open source. Pembuat perangkat

menyukai hal ini karena dapat membangun platform yang sesuai yang

diinginkan tanpa harus membayar royality. Sementara pengembang

software menyukai karena Android dapat digunakan diperangkat

manapun dan tanpa terikat oleh vendor manapun.

2) Arsitektur komponen dasar Android terinspirasi dari teknologi internet

Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi

lainnya, bahkan dapat diganti dengan komponen lain yang sesuai

dengan aplikasi yang dikembangkan.

3) Banyak dukungan service, kemudahan dalam menggunakan berbagai

macam layanan pada aplikasi seperti penggunaan layanan pencarian

lokasi, database SQL, browser dan penggunaan peta. Semua itu sudah

tertanam pada Android sehingga memudahkan dalam pengembangan

(42)

4) Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga

antara satu sama lain oleh berbagai lapisan keamanan, sehingga kerja

sistem menjadi lebih stabil. Pengguna tak perlu kawatir dalam

menggunakan aplikasi pada perangkat yang memorinya terbatas.

5) Dukungan grafis dan suara terbaik, dengan adanya dukungan 2D grafis

dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan

OpenGL memungkinkan membuat aplikasi maupun game yang

berbeda.

6) Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada

saat ini maupun yang akan datang. Semua program ditulis dengan

menggunakan bahas pemrograman Java dan dieksekusi oleh mesin

virtual Dalvik, sehingga kode program portabel antara ARM, X86, dan

arsitektur lainnya. Sama halnya dengan dukungan masukan seperti

penggunaan Keyboard, layar sentuh, trackball dan resolusi layar semua

dapat disesuaikan dengan program (Anonim, 2009).

2.4.8 Contoh Coding

c class uicoding1 extends Activity {

/** Called when the activity is first created. */ @Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

}

(43)

interface aplikasi di-handle sepenuhnya di main.xml (Nazaruddin Safaat H, 2011). android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, saya TextView" /> <Butt

on android:id="@+id/button"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, saya Button" /> </Lin

earLayout>

Di dalam main.xml ini terdiri dari dua komponen yaitu TextView dan

Button. TextView berupa tulisan “Hello saya TextView” dengan nama Variable

id/text serta Button dengan tulisan “Hello saya Button” dengan variable id/buton.

Di mana kedua komponen itu ditampilkan dengan layout “wrap_content”.

Pemberian nama variable dari setiap komponen didalam main.xml diawali dengan

tanda @+. Dapat dilihat pada Gambar 2.4 hasil implementasi coding diatas

(Nazaruddin Safaat H, 2011).

(44)

2.4.9 Pengembangan Aplikasi Android

Pengembangan suatu sistem aplikasi menjadi bagian mutlak yang harus

dilakukan, Salah satunya pengembangan dari penelitian sebelumnya, dimana

fungsi dari penelitian sebelumnya dinilai masih kurang dalam memaksimalkan

dari teknologi yang telah ada. Oleh karena itu menambah suatu perancangan baru

kedalam perancangan sebelumnya menjadi suatu solusi guna memperluas fungsi

dari sistem itu sendiri. Pada tahap pengembangan ini terdapat fitur-fitur yang akan

dimasukkan kedalam aplikasi sebelumnya, dimana pada penelitian sebelumnya

berjudul “Aplikasi Perekam Rute Perjalanan Menggunakan Global Positioning

System (GPS) Berbasis Android”.

2.4.9.1Aplikasi Per ekam Rute Per jalanan

Pada penjelasan kali ini akan membahas sekilas tentang penelitian

sebelumnya. Awalnya aplikasi ini dibuat untuk suatu project tentang rute

perjalanan, dimana jika user melakukan perjalanan dapat memiliki rekaman rute

perjalan yang telah dilaluinya dengan bantuan teknologi Global Positioning

System (GPS) pada handphone Android. Pada rekaman tersebut terdapat informasi

yang dapat dijadikan referensi perjalanan dan membantu user untuk melewati

kembali rute perjalanan tersebut, rekaman tersebut berupa file .kml yang dapat

dibuka oleh Google Earth dan Google Maps maupun oleh aplikasi ini. Informasi

yang terdapat pada file tersebut yaitu: rute perjalanan yang tergaris pada maps,

kecepatan rata-rata yang diraih, jarak yang ditempuh, dan durasi yang dilalui

(45)

Pada rancangan yang telah dibuat oleh peneliti sebelumnya terdapat

fungsi utama sebagai perekam perjalanan yang dapat menghasilkan output file

.kml, pada tampilan interface terdapat informasi-informasi yang disajikan kepada

user antara lain: titik koordinat latitude dan longitude, jumlah satelit. Titik

koordinat tersebut akan berubah-ubah setiap GPS menerima posisi baru yang

mengartikan titik koordinat baru. Sebagai rancangan yang telah dibuat dan

fungsi-fungsi yang telah dijelaskan, adapun tampilan interface aplikasi sebagai berikut:

Gambar 2.6 Interface Aplikasi

Pada gamabr diatas terdapat infromasi berupa status, titik latitude, titik

longitude, satelities, log frequency, dan log file. Jika tombol start ditekan aplikasi

akan merunning GPS untuk mengunci posisi handphone berada dan jika satelit

telah mengunci posisi handphone titik latitude dan longitude akan berganti berkala

setiap waktu jika posisi handphone bergerak dari posisi satu keposisi lain, pada

kolom informasi satelit dimaksutkan untuk menginformasikan berapa satelit yang

mengunci posisi handphone, dan jika user menekan tombol stop maka aplikasi

akan berhenti dan file .kml telah tersimpan pada kartu memori, file ,kml tersebut

(46)

2.5 GPS (Global Positioning System)

Pengertian sederhana dari Global Posotioning System (GPS) adalah salah

satu sistem yang akan membantu untuk mengetahui posisi saat ini. GPS bekerja

dengan menstransmisikan sinyal dari satelit ke perangkat GPS (handphone atau

Smartphone yang dilengkapi teknologi GPS misalnya). Untuk memperoleh detail

posisi yang seakurat mungkin, GPS sebaiknya digunakan di ruang terbuka

Penggunaan GPS di dalam ruangan, hutan ataupun di tempat yang banyak

gedung-gedung tinggi, akan membuat GPS bekerja kurang akurat. Informasi GPS

ditransmisikan oleh beberapa satelit (tiga satelit misalnya) sehingga GPS receiver

mampu mengkalkulasi dan menampilkan seakurat mungkin posisi, kecepatan dan

informasi waktu kepada pengguna GPS (Andi Sunyoto, 2012).

2.5.1 Sejar ah GPS (Global Positioning System)

GPS (Global Positioning System) adalah sebuah peralatan navigasi yang

pada awalnya didesain sebagai akibat permasalahan pasukan Amerika serikat

dalam menghadapi perang Vietnam. Salah satu kesulitan utama yang dialami

pasukan di darat adalah bagaimana mereka selalu saling mengetahui posisi satu

sama lain, terutama pada saat berada jauh di dalam hutan lebat. Mereka saat itu

hanya mengandalkan sistem radio yang disebut LORAN system untuk

mengetahui posisi. Namun karena banyaknya kesalahan yang diakibatkan

penerimaan/pemancaran radio yang jelek, dan defleksi gelombang permukaan

akibat cuaca buruk maka sistem ini kurang bisa meyakinkan untuk operasi penting

pada saat itu. Amerika Serikat kemudian mengadakan uji coba dengan 4 satelit,

(47)

untuk kepentingan militer. Namun, sistem ini masih memiliki akurasi rendah, dan

posisi hanya bisa diperoleh setiap 2 jam. Generasi berikutnya dibangun oleh

NAVSTAR dan dioperasikan secara terbatas pada tahun 1986. Sistem ini hanya

berfungsi 3-4 jam setiap hari karena satelit yang diorbitkan hanya sedikit.

Pengorbitan satelit NAVSTAR sempat tertunda karena kecelakaan Kapal Ruang

Angkasa Challenger pada tahun 1988. Challenger rencananya akan digunakan

untuk meluncurkan satelit-satelit GPS NAVSTAR.

Sistem GPS benar-benar beroperasi pada saat dimulainya Perang Teluk

pada tahun 1990. Sistem satelit blok 1 diluncurkan sebagai tambahan atas blok 2

yang sudah terlebih dahulu diorbitkan. Total satelit yang diorbitkan adalah 21

satelit, utnuk menyediakan sistem GPS di seluruh dunia, dengan kemampuan

pengiriman data setiap saat. Departemen Pertahanan AS juga mengoperasionalkan

GPS yang dipasarkan bebas mulai tahun 1990. Sistem ini masih dipakai sampai

saat ini.

Satelit-satelit GPS mengorbit terhadap bumi 2 kali sehari pada ketinggian

11.000 mil diatas bumi, dan memancarkan elevasi dan posisi dengan tepat.

Sistem penerima GPS mengolah signal, lalu mengukur interval antara saat signal

dipancarkan dan diterima untuk menentukan jarak antara antara receiver GPS di

bumi dan satelit. Pada saat receiver GPS menghitung data-data tersebut dari 3

satelit minimum, lokasi di permukaan bumi dapat ditentukan dengan cepat.

Penggunaan GPS memang telah meluas dalam berbagai sektor. Receiver GPS

bahkan telah dipasang di mobil-mobil mewah, dilengkapi dengan peta jalan digital

dalam CD ROM yang akan menolong pengendara untuk menuju tempat tujuan.

(48)

saat ini telah menjadi teman yang baik di perjalanan dan akan sangat berjasa

sebagai petunjuk arah pada saat darurat (Andi Sunyoto, 2012).

2.5.2 Car a Ker ja GPS (Global Positioning System)

Sistem ini menggunakan sejumlah satelit yang berada di orbit bumi, yang

memancarkan sinyalnya ke bumi dan ditangkap oleh sebuah alat penerima. Ada

tiga bagian penting dari sistem ini, yaitu :

1) Bagian Kontrol

Seperti namanya, bagian ini untuk mengontrol. Setiap satelit dapat berada

sedikit diluar orbit, sehingga bagian ini melacak orbit satelit, lokasi,

ketinggian, dan kecepatan. Sinyal-sinyal sari satelit diterima oleh bagian

kontrol, dikoreksi, dan dikirimkan kembali ke satelit. Koreksi data lokasi

yang tepat dari satelit ini disebut dengan data ephemeris, yang nantinya

akan di kirimkan kepada alat navigasi kita.

2) Bagian Angkasa

Bagian ini terdiri dari kumpulan satelit-satelit yang berada di orbit bumi,

sekitar 12.000 mil diatas permukaan bumi. Kumpulan satelit-satelit ini

diatur sedemikian rupa sehingga alat navigasi setiap saat dapat menerima

paling sedikit sinyal dari empat buah satelit. Sinyal satelit ini dapat

melewati awan, kaca, atau plastik, tetapi tidak dapat melewati gedung atau

gunung. Satelit mempunyai jam atom, dan juga akan memancarkan

informasi ‘waktu/jam’ ini. Data ini dipancarkan dengan kode

‘pseudo-random’. Masing-masing satelit memiliki kodenya sendiri-sendiri. Nomor

(49)

melakukan identifikasi sinyal satelit yang sedang diterima alat tersebut.

Data ini berguna bagi alat navigasi untuk mengukur jarak antara alat

navigasi dengan satelit, yang akan digunakan untuk mengukur koordinat

lokasi. Kekuatan sinyal satelit juga akan membantu alat dalam

penghitungan. Kekuatan sinyal ini lebih dipengaruhi oleh lokasi satelit,

sebuah alat akan menerima sinyal lebih kuat dari satelit yang berada tepat

diatasnya (bayangkan lokasi satelit seperti posisi matahari ketika jam 12

siang) dibandingkan dengan satelit yang berada di garis cakrawala

(bayangkan lokasi satelit seperti posisi matahari terbenam/terbit).Ada dua

jenis gelombang yang saat ini dipakai untuk alat navigasi berbasis satelit

pada umumnya, yang pertama lebih dikenal dengan sebutan L1 pada

1575.42 MHz. Sinyal L1 ini yang akan diterima oleh alat navigasi. Satelit

juga mengeluarkan gelombang L2 pada frekuensi 1227.6 Mhz. Gelombang

L2 ini digunakan untuk tujuan militer dan bukan untuk umum.

3) Bagian Pengguna

Bagian ini terdiri dari alat navigasi yang digunakan. Satelit akan

memancarkan data almanak dan ephemeris yang akan diterima oleh alat

navigasi secara teratur. Data almanak berisikan perkiraan lokasi

(approximate location) satelit yang dipancarkan terus menerus oleh satelit.

Data ephemeris dipancarkan oleh satelit, dan valid untuk sekitar 4-6 jam.

Untuk menunjukkan koordinat sebuah titik (dua dimensi), alat navigasi

memerlukan paling sedikit sinyal dari 3 buah satelit. Untuk menunjukkan

data ketinggian sebuah titik (tiga dimensi), diperlukan tambahan sinyal

(50)

Dari sinyal-sinyal yang dipancarkan oleh kumpulan satelit tersebut, alat

navigasi akan melakukan perhitungan-perhitungan, dan hasil akhirnya adalah

koordinat posisi alat tersebut. Makin banyak jumlah sinyal satelit yang diterima

oleh sebuah alat, akan membuat alat tersebut menghitung koordinat posisinya

dengan lebih tepat (Andi Sunyoto, 2012).

Karena alat navigasi ini bergantung penuh pada satelit, maka sinyal satelit

menjadi sangat penting. Alat navigasi berbasis satelit ini tidak dapat bekerja

maksimal ketika ada gangguan pada sinyal satelit. Ada banyak hal yang dapat

mengurangi kekuatan sinyal satelit yaitu:

1) Kondisi geografis, seperti yang diterangkan diatas. Selama masih dapat

melihat langit yang cukup luas, alat ini masih dapat berfungsi.

2) Hutan. Makin lebat hutannya, maka makin berkurang sinyal yang

dapat diterima.

3) Air. Jangan berharap dapat menggunakan alat ini ketika menyelam.

4) Kaca film mobil, terutama yang mengandung metal.

5) Alat-alat elektronik yang dapat mengeluarkan gelombang

elektromagnetik.

6) Gedung-gedung. Tidak hanya ketika di dalam gedung, berada di antara

2 buah gedung tinggi juga akan menyebabkan efek seperti berada di

dalam lembah.

7) Sinyal yang memantul, misal bila berada di antara gedung-gedung

(51)

navigasi dapat menunjukkan posisi yang salah atau tidak akurat (Andi

Sunyoto, 2012).

2.6 XML (Extensible Markup Language)

XML adalah singkatan dari Extensible Markup Language yang merupakan

salah satu bahasa dalam penyimpanan dan pengiriman informasi pada Word Wide

Web (WWW). XML merupakan pengembangan dari HTML (Hypertext Markup

Language). XML menjadi dasar dari beberapa bahasa markup yang telah sedang

berkembang sampai saat ini, seperti: XHTML (perbaikan dari HTML),

VoiceXML (bahasa untuk aplikasi suara, telepon), XForms (form pada web yang

dapat digunakan pada berbagai macam jenis browser, seperti: desktop, PDA ,

handphone, kertas), XPath, XPointer, XSL dan XSLT (transformasi dan

presentasi XML).

XML dikembangkan karena HTML sendiri memiliki keterbatasan

kapasitas untuk menyimpan informasi. Oleh karena itu XML menjanjikan dapat

mengelola informasi dengan sintaks yang lebih luwes sehingga kita dapat

mengelola informasi dari yang sederhana sampai basisdata yang sangat rumit

(Lars Vogel, 2012).

Keunggulan XML:

1) Ekstensibilitas : dapat ditukar/digabung dengan dokumen XML lain

2) Memungkinkan pemrograman yang lebih baik: maka dibuat suatu

(52)

3) Memisahkan data dan presentasi. Yang akan direpresentasikan dalam

XML dan XSLT

4) Pencarian data cepat karena XML merupakan data dalam format yang

terstruktur

5) Plain Text dan platform independent

6) Untuk pertukaran data

Dokumen XML dapat digunakan untuk berbagai macam tujuan, seperti:

1) Sebagai penyimpan data (database) yang mudah dibaca oleh user

karena disimpan dalam bentuk teks.

2) Standard transfer data, dapat digunakan untuk pengiriman data

transaksi antar perusahaan, atau mentransfer data dari DBMS yang

berbeda (mis: Oracle ke SQL Server).

3) Sebagai acuan membuat bahasa baru, seperti WML (Wireless Markup

Language) yang digunakan pada mobile device dengan protokol WAP,

atau VoiceXML yang digunakan sebagai bahasa markup untuk

pengenalan suara, dialog, aplikasi interaksi respon suara maupun

DTMF (seperti aplikasi pengisian pulsa atau call center), dan

sebagainya.

4) Sebagai file konfigurasi, di Java dokumen-dokumen XML sering kita

jumpai seperti file server.xml dan web.xml yang digunakan Tomcat,

atau perintah-perintah query yang disimpan dalam file XML yang

(53)

Contoh koding XML dengan memanggil kelas XmlPullParser:

c static void main (String args[]) throw

etInput( new StringReader ( "<foo>Hello World!</foo>" ) );

int eventType = xpp.getEventType(); while

(eventType != XmlPullParser.END_DOCUMENT) { if(ev

entType == XmlPullParser.START_DOCUMENT) { Syste

m.out.println("Start document");

} else if(eventType == XmlPullParser.END_DOCUMENT) { Syste

m.out.println("End document");

} else if(eventType == XmlPullParser.START_TAG) { Syste

m.out.println("Start tag "+xpp.getName()); } else if(eventType == XmlPullParser.END_TAG) {

} else if(eventType == XmlPullParser.TEXT) {

2.7 KML (Keyhole Mar kup Language)

KML singkatan dari keyhole markup language yang secara sederhana bisa

diartikan sebagai format file untuk menampilkan data geografis dengan program

penjelajah kebumian (earth browser) seperti Google Earth dan Google Maps.

Sederhananya, KML bisa menyimpan obyek utama seperti titik, garis dan luasan

dalam format tertentu sehingga bisa ditampilkan dengan Google Earth dan

Google Maps. File KML memiliki struktur dan tag tertentu, yg formatnya

berdasarkan XML (extended markup language) (Anonim, 2012).

Gambar

Gambar 2.1 Flowchart dan Pseudo-code
Gambar  2.4 Prioritas Aplikasi Berdasarkan Activity
Gambar 2.5 Contoh Interface
Gambar 2.6 Interface Aplikasi
+7

Referensi

Dokumen terkait

Oleh karena itu pendidikan dan pelatihan guru hendaknya memperhatikan penguasaan guru terhadap TIK sehingga guru memiliki kemampuan TIK paling tidak pada standar menimal

Berbeda dengan ketiga tulisan tersebut, tulisan ini akan membahas mengenai konsep kerjasama pemindahan narapidana antarnegara dalam dunia internasional seperti prinsip dasar dalam

Dengan demikian dapat dikatakan bahwa renda Bangku merupakan suatu seni kerajinan yang berasal dari daerah Kotogadang Kabupaten Agam, Renda Bangku yang biasa digunakan

Dalam mewujudkan pelaksanaan konvensi hak anak maka pemerintah Indonesia telah membuat aturan hukum dalam upaya melindungi anak.Aturan hukum tersebut telah tertuang

Seperti yang disebutkan diawal prakata ini, misi Cake Bakery selain memberikan informasi buat para pemula, juga mengembangan berbagai alternatif usaha dibidang cake dan bakery

Berdasarkan hasil pengolahan dan analisis data angket maka secara umum hasil penelitian ini menunjukkan bahwa kebutuhan siswa tentang layanan informasi bidang pribadi pada

desain yang ditindaklanjuti pada bagian repro. Pada bagian repro menghasilkan film positif/negatif, montase film dan pelat cetak offset yang selanjutnya digunakan pada

Ingat bahwa pada saat menyusun atau menulis sebuah teks, pengetahuan akan fungsi sosial, struktur teks, dan unsur kebahasaan adalah sebuah keharusan agar teks