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
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.
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
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
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
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
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
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
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
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
x
Gambar 5.12 Arah Selatan ………..88
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
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
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
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
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
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
(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
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
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
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
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.
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
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
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 :
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.
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
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
(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
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,
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.
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
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
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
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
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
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
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
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
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).
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
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);
}
}
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).
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
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
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,
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.
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
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
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
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
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
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).