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

APLIKASI PELACAK LOKASI, KECEPATAN, ARAH DENGAN
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 TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J ATIM
2012

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

ABSTRAKSI


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.

Keywor ds: Android, Pelacak Posisi Kecepatan dan Arah, KML (keyhole
markup language), GPS (global positioning system).

Hak Cipta © milik UPN "Veteran" Jatim :
i
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

KATA PENGANTAR
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
dorongan dalam menyelesaikan Tugas Akhir Penulis.
ii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

5. Bapak Chrystia Aji Putra, S.kom selaku Dosen Pembimbing II yang telah
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 tahutempe : 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


Penulis
iii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

DAFTAR ISI

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.2. Sejarah dan Perkembangan Android ……………………………...15
iv
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2.4.3. Anatomi Android …………………………………………….……19
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
3.1.2. Activity Diagram ……………………………………………….....46

v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

3.1.3. Sequence Diagram ……………………………………….………..47
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. Pembuatan Tampilan Utama ……………………………………...67
vi
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4.2.6.1.


Pembuatan Tampilan Antar Muka Utama ………………...67

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
DAFTAR PUSTAKA ………………………………………………………….....92

vii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

DAFTAR GAMBAR

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.3 Implementasi Kirim Via Email ……………………………………...62
viii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

Gambar 4.4 Logging Frequency …………………………………………………..63
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
Gambar 5.10 Arah Barat ………………………………………………….……….86

ix
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

Gambar 5.11 Arah Utara ………………………………………………………….87
Gambar 5.12 Arah Selatan ………………………………………………………..88
Gambar 5.13 Arah Timur …………………………………………………………89

x
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB I
PENDAHULUAN

1.1

Latar Belakang
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
dan menambah pengalaman lebih dibandingkan dengan platform mobile lainnya.

Hak Cipta © milik UPN "Veteran" Jatim :
1
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2

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

Perumusan 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
3) Aplikasi ini hanya menghasilkan output kedalam ekstensi *.KML
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

3

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
dengan pembuatan Aplikasi ini.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4

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 webweb 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
dan sistematika penulisan.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

5

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
LAMPIRAN

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB II
TINJ AUAN PUSTAKA

2.1 Unified 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
Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE

6
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

7

(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:

2)

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.

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)
3)

Metoda.

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
sesuai kondisinya. Transisi state ditulis dalam kurung siku. Action yang dilakukan

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

8

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
menjadi metode/operasi. Action bar menunjukkan eksekusi sebuah proses.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

9

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.2 Pseudocode
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
pemrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang mudah

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

10

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
tudent’s
s
grade is greater than or equal to 60
Print “Passed”

2. Flowchart

Gambar 2.1 Flowchart dan Pseudo-code

2.3 Pemrogr aman Berorientasi 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
karakteristik yang sama dengan objek-objek di dunia nyata. Yaitu status yang

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

11

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.
Inilah instance sebenarnya dari sebuah class. Ini juga dikenal sebagai instance.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

12

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

mengimplementasikan informasi yang tidak sesuai pada object yang ada.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

13

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
lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

14

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 :

Gambar 2.2 Fase Pemrograman Java.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

15

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

Sejarah dan Per kembangan Android

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.
Pada tahun 2005, Google mengakuisisi perusahaan Android Inc. untuk

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

16

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
1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

17

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
melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

18

(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. Perubahanperubahan 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 WebM, efek audio baru (reverb, equalization, headphone virtualization,

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

19

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,
2009).

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

20

Gambar 2.3 Arsitektur Platform Android

2.4.3.1 Linux Kernel

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.
Hashimi and Satya Komatineni, 2009).

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

21

2.4.3.2 Librar 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 Android 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
utama, diantaranya:

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

22

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 amework

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
menjaga keadaan ”Backstack“ untuk navigasi penggunaan.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

23

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
API (Application Programming Interface) yang sama (Ivan Michael Siregar,
Ronald Yusuf Naiggolan, Welly Siendow, and William W. Wino, 2010).

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

24

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
diproses, bahkan ketika Activity tidak aktif atau tidak tampak.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

25

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 d