Aplikasi Untuk Pemetaan Posisi Dengan Menggunakan GPS dan Smartphone Berbasis Android Dengan Studi Kasus Peta Kampus.

(1)

i

Universitas Kristen Maranatha

APLIKASI UNTUK PEMETAAN POSISI DENGAN

MENGGUNAKAN GPS DAN SMARTPHONE

BERBASIS ANDROID DENGAN STUDI KASUS PETA

KAMPUS

Ferdian Usman (0922025)

Jurusan Teknik Elektro, Fakultas Teknik

Universitas Kristen Maranatha

Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia

ABSTRAK

Di lingkungan kampus mungkin tidak semua orang mengetahui lokasi -

lokasi yang ada pada kampus, terutama mahasiswa baru atau keluarga mahasiswa

yang datang ke kampus pada saat menemani pendaftaran ulang atau menghadiri

wisuda, atau tamu yang baru pertama kali berkunjung ke kampus. Peta dapat

membantu untuk memberikan gambaran suatu tempat, namun ketika melihat peta,

biasanya masih terjadi kebingungan dalam menentukan posisi tempat keberadaan

saat itu sebagai patokan untuk melihat peta.

Dengan mengolah data koordinat geografis dari sinyal GPS yang diterima

pada smartphone berbasis android, aplikasi pemetaan posisi ini dapat

menampilkan posisi smartphone pada peta kampus dan foto lokasi sebenarnya

sesuai dengan resolusi database yang dibuat, ± 30,9 m.

Dari percobaan yang telah dilakukan dengan menggunakan 3 smartphone

berbasis android dengan spesifikasi yang berbeda-beda, aplikasi ini dapat berjalan

dengan baik, namun perbedaan spesifikasi (chip GPS, prosesor, memori) dari tiap

smartphone, serta faktor perubahan cuaca dapat menyebabkan perbedaan

persentase keberhasilan aplikasi dalam menampilkan gambar peta dan gambar

foto pada smartphone.


(2)

ii

Universitas Kristen Maranatha

APPLICATION FOR MAPPING POSITION USING

GPS AND SMARTPHONE BASED ANDROID WITH

CASE STUDY OF CAMPUS MAP

Ferdian Usman (0922025)

Electrical Engineering, Faculty of Engineering

Maranatha Christian University

Prof. Drg. Suria Sumantri 65, Street, Bandung 40164, Indonesia

ABSTRACT

On campus environment probably not everyone knows the existing

locations on campus, especially new students or families of students who come to

the campus at the time of re-enrollment accompany or attending a graduation, or

a first-time visit to the campus. Map can help to give a description of a place, but

when looking at the map, usually people still confused in determining the position

of the current existence as a benchmark to see the map.

With processed the data geographic coordinates of GPS signals are

received on smartphone based android, the application of mapping position can

display position of smartphone on the campus map and pictures of the original

location in accordance with the resolution of the database created, ± 30,9 m.

From the experiments has been performed with using 3 smartphones based

android with different specifications, this application can run well, but the

difference in specs (GPS chips, processors, memory) of each smartphone, as well

as the factors of weather changes can cause differences in the percentage of

successful applications in the display of the map images and photographic images

on the smartphone.


(3)

iii

Universitas Kristen Maranatha

DAFTAR ISI

Halaman

LEMBAR PENGESAHAN

PERNYATAAN ORISINALITAS LAPORAN PENELITIAN

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN

KATA PENGANTAR

ABSTRAK ...i

ABSTRACT ...ii

DAFTAR ISI ...iii

DAFTAR GAMBAR ...v

DAFTAR TABEL ...vii

1.

BAB I

PENDAHULUAN ...1

1.1.

Latar Belakang ...1

1.2.

Identifikasi Masalah ...2

1.3.

Rumusan Masalah ...2

1.4.

Tujuan ...2

1.5.

Batasan Masalah ...2

1.6.

Sistematika Penulisan ...3

2.

BAB II LANDASAN TEORI ...4

2.1.

GPS ...4

2.1.1

Pengertian GPS ...4

2.1.2

Bagian-bagian Sistem Kerja GPS ...5

2.1.3

Sinyal GPS...6

2.1.4

Akurasi dan Hambatan ...8

2.1.5

Kegunaan ...9

2.2.

Smartphone ...10

2.3.

Android ...11


(4)

iv

Universitas Kristen Maranatha

2.3.2.

Keunikan ...12

2.3.3.

Fitur ...13

2.3.4.

Arsitektur Sistem Operasi Android ...14

2.3.5.

Versi Android ...18

2.3.6.

Komponen Aplikasi ...25

2.3.7.

Lifecycle ...28

3.

BAB III PERANCANGAN ...30

3.1.

Hardware dan Software ...30

3.2.

Cara Kerja ...30

3.2.1.

Diagram Blok ...30

3.2.2.

Flowchart ...31

3.3.

Sistem Koordinat Geografis ...34

3.4.

Kompas ...36

3.5.

Peta Kampus Maranatha ...37

3.6.

Perancangan Pengambilan Data ...40

3.7.

Database ...45

3.8.

Tampilan Antarmuka Aplikasi ...47

4.

BAB IV ANALISIS DAN DATA PENGAMATAN ...52

4.1.

Spesifikasi Alat ...52

4.2.

Data Pengamatan ...53

4.3.

Analisis Data ...61

5.

BAB V KESIMPULAN DAN SARAN ...62

5.1.

Kesimpulan ...62

5.2.

Saran ...62

DAFTAR PUSTAKA

LAMPIRAN A


(5)

v

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar 2.1 Bagian-bagian Sistem Kerja GPS ...5

Gambar 2.2 Smartphone...10

Gambar 2.3 Arsitektur Sistem Operasi Android ...14

Gambar 2.4 Android 1.0...18

Gambar 2.5 Android 1.1...18

Gambar 2.6 Android 1.5...19

Gambar 2.7 Android 1.6...20

Gambar 2.8 Android 2.0/2.1 ...20

Gambar 2.9 Android 2.2...21

Gambar 2.10 Android 2.3 ...22

Gambar 2.11 Android 3.0/3.1 ...23

Gambar 2.12 Android 4.0 ...24

Gambar 2.13 Android 4.1.2 ...24

Gambar 2.14 Siklus Hidup Aplikasi Android ...29

Gambar 3.1 Diagram Blok ...31

Gambar 3.2.a Flowchart ...32

Gambar 3.2.b Flowchart ...33

Gambar 3.3 Latitude (Lintang) ...36

Gambar 3.4 Longitude (Bujur) ...36

Gambar 3.5 Peta Kampus Maranatha ...37

Gambar 3.6 Peta Kampus Maranatha (Google Earth) ...38

Gambar 3.7 Koordinat Geografis Kampus Maranatha (Google Earth) ...40

Gambar 3.8 Perancangan Pengambilan Data ...41

Gambar 3.9 Tampilan Pembuka ...48

Gambar 3.10 Tampilan Message Dialog untuk Mengaktifkan GPS ...48

Gambar 3.11 Tampilan Peta (di Kampus Maranatha) ...49

Gambar 3.12 Tampilan Foto (di Kampus Maranatha) ...49

Gambar 3.13 Tampilan Kompas (di Kampus Maranatha) ...50


(6)

vi

Universitas Kristen Maranatha

Gambar 3.15 Tampilan Foto (di luar Kampus Maranatha) ...51

Gambar 3.16 Tampilan Kompas (di luar Kampus Maranatha) ...51


(7)

vii

Universitas Kristen Maranatha

DAFTAR TABEL

Tabel 3.1 Format Koordinat Latitude dan Longitude ...42

Tabel 3.2 id_longitude ...42

Tabel 3.3 id_latitude ...43

Tabel 3.4 id_databade ...43

Tabel 3.5 Database ...45

Tabel 4.1 Data Pengamatan dengan Google Earth ...53

Tabel 4.2 Data Pengamatan dengan Samsung Galaxy Ace 2...55

Tabel 4.3 Data Pengamatan dengan Sony Xperia neo L...57


(8)

A1

Universitas Kristen Maranatha

LAMPIRAN A


(9)

A2

Universitas Kristen Maranatha

Folder src

→ com.Ferdian

:

DBAdapter.java

package com. Fer di an;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. dat abase. Cur sor ;

i mpor t andr oi d. dat abase. SQLExcept i on;

i mpor t andr oi d. dat abase. sql i t e. SQLi t eDat abase;

i mpor t andr oi d. dat abase. sql i t e. SQLi t eOpenHel per ;

i mpor t andr oi d. ut i l . Log; publ i c cl ass DBAdapt er {

publ i c st at i c f i nal St r i ng KEY_ROWI D = " i d" ; publ i c st at i c f i nal St r i ng KEY_PETA = " pet a" ; publ i c st at i c f i nal St r i ng KEY_FOTO = " f ot o" ; publ i c st at i c f i nal St r i ng TAG = " DBAdapt er " ; publ i c st at i c f i nal St r i ng DATABASE_NAME = " DB" ;

publ i c st at i c f i nal St r i ng DATABASE_TABLE = " dat abase" ; publ i c st at i c f i nal i nt DATABASE_VERSI ON = 1;

publ i c st at i c f i nal St r i ng DATABASE_CREATE =

" cr eat e t abl e dat abase ( _i d i nt eger pr i mar y key aut oi ncr ement , "

+ " l at i t ude t ext not nul l , l ongi t ude t ext not nul l , pet a t ext not nul l , f ot o t ext not nul l ) ; " ;

pr i vat e f i nal Cont ext cont ext ; pr i vat e Dat abaseHel per DBHel per ; pr i vat e SQLi t eDat abase db; publ i c DBAdapt er ( Cont ext ct x) { t hi s. cont ext = ct x;

DBHel per = new Dat abaseHel per ( cont ext ) ; }

pr i vat e st at i c cl ass Dat abaseHel per ext ends SQLi t eOpenHel per { Dat abaseHel per ( Cont ext cont ext )

{ super( cont ext , DATABASE_NAME, nul l, DATABASE_VERSI ON) ; }

@Over r i de

publ i c voi d onCr eat e( SQLi t eDat abase db) { t r y

{ db. execSQL( DATABASE_CREATE) ; }

cat ch ( SQLExcept i on e) { e. pr i nt St ackTr ace( ) ; } }

@Over r i de

publ i c voi d onUpgr ade( SQLi t eDat abase db, i nt ol dVer si on, i nt newVer si on) { Log. w( TAG, " Upgr ade dat abase dar i ver si " + ol dVer si on + " ke "

+ newVer si on + " , yang akan menghapus semua dat a l ama" ) ; db. execSQL( " DROP TABLE I F EXI STS dat abase" ) ;

onCr eat e( db) ; }


(10)

A3

Universitas Kristen Maranatha

/ / - - - membuka dat abase- - -

publ i c DBAdapt er open( ) t hr ows SQLExcept i on { db = DBHel per . get Wr i t abl eDat abase( ) ; r et ur n t hi s;

}

/ / - - - menut up dat abase- - - publ i c voi d cl ose( ) { DBHel per . cl ose( ) ; }

/ / - - - menampi l kan dat a dar i dat abase- - -

publ i c Cur sor get DB(l ong r owI d) t hr ows SQLExcept i on

{ Cur sor mCur sor = db. quer y(t r ue, DATABASE_TABLE, new St r i ng[ ] { KEY_ROWI D, KEY_PETA, KEY_FOTO} , KEY_ROWI D + " =" + r owI d, nul l, nul l, nul l, nul l, nul l) ;

i f ( mCur sor ! = nul l) { mCur sor . moveToFi r st ( ) ; }

r et ur n mCur sor ; }


(11)

A4

Universitas Kristen Maranatha

Foto.java

package com. Fer di an;

i mpor t andr oi d. app. Act i vi t y;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. dat abase. Cur sor ;

i mpor t andr oi d. l ocat i on. Locat i on;

i mpor t andr oi d. l ocat i on. Locat i onLi st ener ;

i mpor t andr oi d. l ocat i on. Locat i onManager ;

i mpor t andr oi d. os. Bundl e;

publ i c cl ass Fot o ext ends Act i vi t y { pr i vat e Locat i onManager LM;

pr i vat e Locat i onLi st ener l ocLi s;

doubl e l at i t ude, hasi l Lat i t ude, l ongi t ude, hasi l Longi t ude; i nt posi si ;

@Over r i de

publ i c voi d onCr eat e( Bundl e savedI nst anceSt at e) { super. onCr eat e( savedI nst anceSt at e) ;

set Cont ent Vi ew( R. l ayout . mai n) ;

LM = ( Locat i onManager ) get Syst emSer vi ce( Cont ext . LOCATI ON_SERVI CE) ; l ocLi s = new GPSAdapt er ( ) ;

LM. r equest Locat i onUpdat es( Locat i onManager . GPS_PROVI DER, 0, 0, l ocLi s) ; }

publ i c cl ass GPSAdapt er i mpl ement s Locat i onLi st ener { publ i c voi d onLocat i onChanged( Locat i on l oc) { i f ( l oc ! = nul l)

{ l at i t ude = l oc. get Lat i t ude( ) ; / / l at i t ude hasi l Lat i t ude = cekLat i t ude( ) ;

l ongi t ude = l oc. get Longi t ude( ) ; / / l ongi t ude hasi l Longi t ude = cekLongi t ude( ) ;

posi si =cekDB( ) ; f ot o( ) ;

} }

publ i c voi d onPr ovi der Di sabl ed( St r i ng pr ovi der ) { } publ i c voi d onPr ovi der Enabl ed( St r i ng pr ovi der ) { }

publ i c voi d onSt at usChanged( St r i ng pr ovi der , i nt st at us, Bundl e ext r as) { } }

publ i c i nt cekLat i t ude( ) { i nt i d=0;

i f ( - 6. 885<=l at i t ude & l at i t ude<- 6. 884722222) { i d=1; } el se i f ( - 6. 885277778<=l at i t ude & l at i t ude<- 6. 885) { i d=2; } el se i f ( - 6. 885555556<=l at i t ude & l at i t ude<- 6. 885277778) { i d=3; } el se i f ( - 6. 885833333<=l at i t ude & l at i t ude<- 6. 885555556) { i d=4; } el se i f ( - 6. 886111111<=l at i t ude & l at i t ude<- 6. 885833333) { i d=5; } el se i f ( - 6. 886388889<=l at i t ude & l at i t ude<- 6. 886111111) { i d=6; } el se i f ( - 6. 886666667<=l at i t ude & l at i t ude<- 6. 886388889) { i d=7; } el se i f ( - 6. 886944444<=l at i t ude & l at i t ude<- 6. 886666667) { i d=8; } el se i f ( - 6. 887222222<=l at i t ude & l at i t ude<- 6. 886944444) { i d=9; } el se i f ( - 6. 8875<=l at i t ude & l at i t ude<- 6. 887222222) { i d=10; } el se i f ( - 6. 887777778<=l at i t ude & l at i t ude<- 6. 8875) { i d=11; } el se i f ( - 6. 888055556<=l at i t ude & l at i t ude<- 6. 887777778) { i d=12; }


(12)

A5

Universitas Kristen Maranatha

el se i f ( - 6. 888333333<=l at i t ude & l at i t ude<- 6. 888055556) { i d=13; } el se i f ( - 6. 888611111<=l at i t ude & l at i t ude<- 6. 888333333) { i d=14; } el se { i d=0; }

r et ur n i d; }

publ i c i nt cekLongi t ude ( ) { i nt i d=0;

i f ( 107. 5794444<l ongi t ude & l ongi t ude<=107. 5797222) { i d=1; } el se i f ( 107. 5797222<l ongi t ude & l ongi t ude<=107. 58) { i d=2; } el se i f ( 107. 58<l ongi t ude & l ongi t ude<=107. 5802778) { i d=3; } el se i f ( 107. 5802778<l ongi t ude & l ongi t ude<=107. 5805556) { i d=4; } el se i f ( 107. 5805556<l ongi t ude & l ongi t ude<=107. 5808333) { i d=5; } el se i f ( 107. 5808333<l ongi t ude & l ongi t ude<=107. 5811111) { i d=6; } el se i f ( 107. 5811111<l ongi t ude & l ongi t ude<=107. 5813889) { i d=7; } el se { i d=0; }

r et ur n i d; }

publ i c i nt cekDB ( ) { i nt i d=0;

i f ( hasi l Lat i t ude==1 & hasi l Longi t ude==2) { i d=1; } el se i f ( hasi l Lat i t ude==1 & hasi l Longi t ude==3) { i d=2; } el se i f ( hasi l Lat i t ude==1 & hasi l Longi t ude==4) { i d=3; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==2) { i d=4; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==3) { i d=5; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==4) { i d=6; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==5) { i d=7; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==6) { i d=8; }

el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==1) { i d=9; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==2) { i d=10; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==3) { i d=11; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==4) { i d=12; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==5) { i d=13; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==6) { i d=14; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==7) { i d=15; }

el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==1) { i d=16; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==2) { i d=17; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==3) { i d=18; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==4) { i d=19; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==5) { i d=20; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==6) { i d=21; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==7) { i d=22; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==2) { i d=23; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==3) { i d=24; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==4) { i d=25; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==5) { i d=26; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==7) { i d=27; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==2) { i d=28; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==3) { i d=29; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==4) { i d=30; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==5) { i d=31; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==6) { i d=32; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==7) { i d=33; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==2) { i d=34; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==3) { i d=35; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==4) { i d=36; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==5) { i d=37; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==6) { i d=38; }


(13)

A6

Universitas Kristen Maranatha

el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==7) { i d=39; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==2) { i d=40; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==3) { i d=41; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==4) { i d=42; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==5) { i d=43; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==6) { i d=44; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==7) { i d=45; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==3) { i d=46; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==4) { i d=47; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==5) { i d=48; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==6) { i d=49; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==3) { i d=50; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==4) { i d=51; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==5) { i d=52; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==6) { i d=53; } el se i f ( hasi l Lat i t ude==11 & hasi l Longi t ude==4) { i d=54; } el se i f ( hasi l Lat i t ude==11 & hasi l Longi t ude==5) { i d=55; } el se i f ( hasi l Lat i t ude==11 & hasi l Longi t ude==6) { i d=56; } el se i f ( hasi l Lat i t ude==12 & hasi l Longi t ude==5) { i d=57; } el se i f ( hasi l Lat i t ude==12 & hasi l Longi t ude==6) { i d=58; } el se i f ( hasi l Lat i t ude==12 & hasi l Longi t ude==7) { i d=59; } el se i f ( hasi l Lat i t ude==13 & hasi l Longi t ude==5) { i d=60; } el se i f ( hasi l Lat i t ude==13 & hasi l Longi t ude==6) { i d=61; } el se i f ( hasi l Lat i t ude==13 & hasi l Longi t ude==7) { i d=62; } el se i f ( hasi l Lat i t ude==14 & hasi l Longi t ude==5) { i d=63; } el se i f ( hasi l Lat i t ude==14 & hasi l Longi t ude==6) { i d=64; } el se i f ( hasi l Lat i t ude==14 & hasi l Longi t ude==7) { i d=65; } el se { i d=0; }

r et ur n i d; }

publ i c voi d f ot o( ) { / / Dat abase

DBAdapt er db = new DBAdapt er (t hi s) ; db. open( ) ;

Cur sor c = db. get DB( posi si ) ; c. moveToFi r st ( ) ;

db. cl ose( ) ;

/ / Tampi l kan f ot o dar i Dat abase( c) ; St r i ng pi c = c. get St r i ng( 2) ;

i nt i mageResour ce = get Resour ces( ) . get I dent i f i er ( pi c, " dr awabl e" , " com. Fer di an" ) ; TouchI mageVi ew f ot o = ( TouchI mageVi ew) f i ndVi ewByI d( R. i d. zoom) ; / / unt uk zoom f ot o. set I mageResour ce( i mageResour ce) ;

f ot o. set MaxZoom( 4f ) ; }


(14)

A7

Universitas Kristen Maranatha

GPS.java

package com. Fer di an;

i mpor t andr oi d. app. Al er t Di al og;

i mpor t andr oi d. app. Ser vi ce;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. cont ent . Di al ogI nt er f ace;

i mpor t andr oi d. cont ent . I nt ent ;

i mpor t andr oi d. l ocat i on. Locat i on;

i mpor t andr oi d. l ocat i on. Locat i onLi st ener ;

i mpor t andr oi d. l ocat i on. Locat i onManager ;

i mpor t andr oi d. os. Bundl e;

i mpor t andr oi d. os. I Bi nder ;

i mpor t andr oi d. pr ovi der . Set t i ngs;

publ i c cl ass GPS ext ends Ser vi ce i mpl ement s Locat i onLi st ener { pr i vat e f i nal Cont ext _cont ext ;

/ / cek apakah GPS akt i f ?

bool ean i sGPSEnabl e = f al se;

bool ean canGet Locat i on = f al se; Locat i on l ocat i on;

publ i c Locat i onManager l ocManager ;

publ i c GPS( Cont ext cont ext ) { _cont ext = cont ext ; get Locat i on( ) ; }

pr i vat e Locat i on get Locat i on( ) { t r y

{ l ocManager = ( Locat i onManager ) _cont ext . get Syst emSer vi ce( LOCATI ON_SERVI CE) ; / / cek GPS st at us

i sGPSEnabl e = l ocManager . i sPr ovi der Enabl ed( Locat i onManager . GPS_PROVI DER) ;

i f ( ! i sGPSEnabl e) / / t i dak ada koneksi ke GPS dan Jar i ngan { }

el se / / bi sa dapat kan l okasi { canGet Locat i on = t r ue; } }

cat ch ( Except i on e) { e. pr i nt St ackTr ace( ) ; } r et ur n l ocat i on; }

publ i c voi d onLocat i onChanged( Locat i on l ocat i on) { }

publ i c voi d onPr ovi der Di sabl ed( St r i ng pr ovi der ) { }

publ i c voi d onPr ovi der Enabl ed( St r i ng pr ovi der ) { }

publ i c voi d onSt at usChanged( St r i ng pr ovi der , i nt st at us, Bundl e ext r as) { } @Over r i de

publ i c I Bi nder onBi nd( I nt ent i nt ent ) {r et ur n nul l; }

publ i c bool ean canGet Locat i on( ) { r et ur n t hi s. canGet Locat i on; }


(15)

A8

Universitas Kristen Maranatha publ i c voi d showSet t i ngAl er t ( )

{ Al er t Di al og. Bui l der al er t Di al og = new Al er t Di al og. Bui l der ( _cont ext ) ; / / t i t l e Al er t nya

al er t Di al og. set Ti t l e( " GPS Set t i ng" ) ; / / pesan al er t

al er t Di al og. set Message( " GPS t i dak akt i f . Masuk ke Menu Set t i ng?" ) ; al er t Di al og. set Posi t i veBut t on( " Set t i ng" , new

Di al ogI nt er f ace. OnCl i ckLi st ener ( )

{ publ i c voi d onCl i ck( Di al ogI nt er f ace di al og, i nt whi ch)

{ I nt ent i nt ent = new I nt ent ( Set t i ngs. ACTI ON_LOCATI ON_SOURCE_SETTI NGS) ; _cont ext . st ar t Act i vi t y( i nt ent ) ;

} } ) ;

al er t Di al og. set Negat i veBut t on( " Cancel " , new

Di al ogI nt er f ace. OnCl i ckLi st ener ( )

{ publ i c voi d onCl i ck( Di al ogI nt er f ace di al og, i nt whi ch) { di al og. cancel ( ) ;

} } ) ;

al er t Di al og. show( ) ; }

publ i c voi d st opUsi ngGPS( ) { i f ( l ocManager ! = nul l)

l ocManager . r emoveUpdat es( GPS.t hi s) ; }


(16)

A9

Universitas Kristen Maranatha

Kompas.java

package com. Fer di an;

i mpor t andr oi d. app. Act i vi t y;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. har dwar e. Sensor ;

i mpor t andr oi d. har dwar e. Sensor Event ;

i mpor t andr oi d. har dwar e. Sensor Event Li st ener ;

i mpor t andr oi d. har dwar e. Sensor Manager ;

i mpor t andr oi d. os. Bundl e;

i mpor t andr oi d. ut i l . Log;

i mpor t andr oi d. wi dget . Toast ;

publ i c cl ass Kompas ext ends Act i vi t y

{ pr i vat e st at i c Sensor Manager sensor Ser vi ce; pr i vat e KompasVi ew compassVi ew;

pr i vat e Sensor sensor ; @Over r i de

publ i c voi d onCr eat e( Bundl e savedI nst anceSt at e) { super. onCr eat e( savedI nst anceSt at e) ;

compassVi ew = new KompasVi ew(t hi s) ; set Cont ent Vi ew( compassVi ew) ;

sensor Ser vi ce = ( Sensor Manager ) get Syst emSer vi ce( Cont ext . SENSOR_SERVI CE) ; sensor = sensor Ser vi ce. get Def aul t Sensor ( Sensor . TYPE_ORI ENTATI ON) ;

i f ( sensor ! = nul l)

{ sensor Ser vi ce. r egi st er Li st ener ( mySensor Event Li st ener , sensor , Sensor Manager . SENSOR_DELAY_NORMAL) ;

Log. i ( " Compass Mai nAct i vi t y" , " Regi st er er ed f or ORI ENTATI ON Sensor " ) ; }

el se

{ Log. e( " Compass Mai nAct i vi t y" , " Regi st er er ed f or ORI ENTATI ON Sensor " ) ; Toast . makeText (t hi s, " ORI ENTATI ON Sensor not f ound" ,

Toast . LENGTH_LONG) . show( ) ; f i ni sh( ) ;

} }

pr i vat e Sensor Event Li st ener mySensor Event Li st ener = new Sensor Event Li st ener ( ) { publ i c voi d onAccur acyChanged( Sensor sensor , i nt accur acy) { }

publ i c voi d onSensor Changed( Sensor Event event ) { f l oat azi mut h = event . val ues[ 0] ;

compassVi ew. updat eDat a( (i nt) azi mut h) ; }

} ;

@Over r i de

pr ot ect ed voi d onDest r oy( ) { super. onDest r oy( ) ; i f ( sensor ! = nul l)

{ sensor Ser vi ce. unr egi st er Li st ener ( mySensor Event Li st ener ) ; }

} }


(17)

A10

Universitas Kristen Maranatha

KompasView.java

package com. Fer di an;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. gr aphi cs. Canvas;

i mpor t andr oi d. gr aphi cs. Col or ;

i mpor t andr oi d. gr aphi cs. Pai nt ;

i mpor t andr oi d. vi ew. Vi ew;

publ i c cl ass KompasVi ew ext ends Vi ew { pr i vat e Pai nt pai nt ;

pr i vat e i nt posi t i on = 0;

publ i c KompasVi ew( Cont ext cont ext ) { super( cont ext ) ;

set ( ) ; }

pr i vat e voi d set ( ) { pai nt = new Pai nt ( ) ; pai nt . set Ant i Al i as(t r ue) ; pai nt . set St r okeWi dt h( 2) ; pai nt . set Text Si ze( 25) ;

pai nt . set St yl e( Pai nt . St yl e. STROKE) ; pai nt . set Col or ( Col or . BLACK) ;

}

@Over r i de

pr ot ect ed voi d onDr aw( Canvas canvas) { canvas. dr awCol or ( Col or . WHI TE) ; i nt xPoi nt = get Measur edWi dt h( ) / 2; i nt yPoi nt = get Measur edHei ght ( ) / 2;

f l oat r adi us = (f l oat) ( Mat h. max( xPoi nt , yPoi nt ) * 0. 6) ; canvas. dr awCi r cl e( xPoi nt , yPoi nt , r adi us, pai nt ) ;

canvas. dr awRect ( 0, 0, get Measur edWi dt h( ) , get Measur edHei ght ( ) , pai nt ) ; canvas. dr awLi ne( xPoi nt , yPoi nt ,

(f l oat) ( xPoi nt + r adi us* Mat h. si n( (doubl e) ( - posi t i on) / 180 * 3. 143) ) , (f l oat) ( yPoi nt - r adi us* Mat h. cos( (doubl e) ( - posi t i on) / 180 * 3. 143) ) , pai nt ) ;

canvas. dr awText ( St r i ng. val ueOf ( posi t i on+" ° " ) , xPoi nt , yPoi nt , pai nt ) ; }

publ i c voi d updat eDat a(i nt posi t i on) { t hi s. posi t i on = posi t i on;

i nval i dat e( ) ; }


(18)

A11

Universitas Kristen Maranatha

MainActivity.java

package com. Fer di an;

i mpor t andr oi d. app. TabAct i vi t y;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. cont ent . I nt ent ;

i mpor t andr oi d. cont ent . r es. Resour ces;

i mpor t andr oi d. l ocat i on. Locat i on;

i mpor t andr oi d. l ocat i on. Locat i onLi st ener ;

i mpor t andr oi d. l ocat i on. Locat i onManager ;

i mpor t andr oi d. os. Bundl e;

i mpor t andr oi d. wi dget . TabHost ;

i mpor t andr oi d. vi ew. Wi ndow;

i mpor t andr oi d. wi dget . Text Vi ew;

i mpor t j ava. i o. Fi l eNot FoundExcept i on;

i mpor t j ava. i o. Fi l eOut put St r eam;

i mpor t j ava. i o. I OExcept i on;

i mpor t j ava. i o. I nput St r eam;

i mpor t j ava. i o. Out put St r eam;

i mpor t j ava. t ext . Deci mal For mat ;

publ i c cl ass Mai nAct i vi t y ext ends TabAct i vi t y { pr i vat e Locat i onManager l m;

pr i vat e Locat i onLi st ener l ocLi st ener ; @Over r i de

publ i c voi d onCr eat e( Bundl e savedI nst anceSt at e) { super. onCr eat e( savedI nst anceSt at e) ;

r equest Wi ndowFeat ur e( Wi ndow. FEATURE_NO_TI TLE) ; set Cont ent Vi ew( R. l ayout . mai n) ;

l m = ( Locat i onManager ) get Syst emSer vi ce( Cont ext . LOCATI ON_SERVI CE) ; l ocLi st ener = new MyLocat i onLi st ener ( ) ;

l m. r equest Locat i onUpdat es( Locat i onManager . GPS_PROVI DER, 0, 0, l ocLi st ener ) ;

t r y { St r i ng pat hTuj uan = " / dat a/ dat a/ " + get PackageName( ) + " / dat abases/ DB" ; CopyDB( get BaseCont ext ( ) . get Asset s( ) . open( " db" ) ,

new Fi l eOut put St r eam( pat hTuj uan) ) ; }

cat ch ( Fi l eNot FoundExcept i on e) { e. pr i nt St ackTr ace( ) ; }

cat ch ( I OExcept i on e) { e. pr i nt St ackTr ace( ) ; }

Resour ces r es = get Resour ces( ) ; TabHost t ab = get TabHost ( ) ; TabHost . TabSpec spec; I nt ent i nt en;

/ / Pet a

i nt en = new I nt ent ( ) . set Cl ass(t hi s, Pet a.cl ass) ;

spec = t ab. newTabSpec( " t ab1" ) . set I ndi cat or ( " Tampi l an Pet a" , r es. get Dr awabl e( R. dr awabl e. pet a) ) . set Cont ent ( i nt en) ; t ab. addTab( spec) ;


(19)

A12

Universitas Kristen Maranatha

/ / Fot o

i nt en = new I nt ent ( ) . set Cl ass(t hi s, Fot o.cl ass) ;

spec = t ab. newTabSpec( " t ab2" ) . set I ndi cat or ( " Tampi l an Fot o" , r es. get Dr awabl e( R. dr awabl e. f ot o) ) . set Cont ent ( i nt en) ; t ab. addTab( spec) ;

/ / Kompas

i nt en = new I nt ent ( ) . set Cl ass(t hi s, Kompas.cl ass) ; spec = t ab. newTabSpec( " t ab3" ) . set I ndi cat or ( " Kompas" ,

r es. get Dr awabl e( R. dr awabl e. kompas) ) . set Cont ent ( i nt en) ; t ab. addTab( spec) ;

t ab. set Cur r ent Tab( 0) ;

/ / cek GPS

GPS gps = new GPS( Mai nAct i vi t y.t hi s) ;

i f ( gps. canGet Locat i on( ) ) / / di cek apakah GPSnya hi dup { }

el se

{ / / j i ka GPS t i dak akt i f gps. showSet t i ngAl er t ( ) ; }

}

publ i c voi d CopyDB( I nput St r eam i nput St r eam, Out put St r eam out put St r eam)

t hr ows I OExcept i on

{ byt e[ ] buf f er = new byt e[ 1024] ; i nt l engt h;

whi l e ( ( l engt h = i nput St r eam. r ead( buf f er ) ) >0) { out put St r eam. wr i t e( buf f er , 0, l engt h) ; }

i nput St r eam. cl ose( ) ; out put St r eam. cl ose( ) ; }

pr i vat e cl ass MyLocat i onLi st ener i mpl ement s Locat i onLi st ener

{ publ i c voi d onLocat i onChanged( Locat i on l oc) { i f ( l oc ! = nul l)

{ Text Vi ew vi ewLat i t ude = ( Text Vi ew) f i ndVi ewByI d( R. i d. vi ewLat i t ude) ; Text Vi ew vi ewLongi t ude = ( Text Vi ew) f i ndVi ewByI d( R. i d. vi ewLongi t ude) ; Text Vi ew t ext Lat i t ude = ( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Lat i t ude) ; Text Vi ew t ext Longi t ude = ( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Longi t ude) ;

Deci mal For mat f or mat Dat a = new Deci mal For mat ( " #. ###" ) ; doubl e l at i t ude = l oc. get Lat i t ude( ) ; / / l at i t ude doubl e meni t 1, t ot al Det i k1, si sa1;

i nt der aj at 1 = (i nt) l at i t ude;

t ot al Det i k1 = ( l at i t ude- der aj at 1) * 3600; t ot al Det i k1 = Mat h. abs( t ot al Det i k1) ;

si sa1 = t ot al Det i k1 % 60; / / % = mod meni t 1 = ( t ot al Det i k1 - si sa1) / 60;

St r i ng det i k1 = St r i ng. val ueOf ( f or mat Dat a. f or mat ( si sa1) ) ; St r i ng vi ewLat = St r i ng. val ueOf ( der aj at 1+" ° " +(i nt) meni t 1+" ' " +det i k1+" ' ' " ) ;

t ext Lat i t ude. set Text ( " Lat i t ude : " ) ; vi ewLat i t ude. set Text ( vi ewLat ) ;

doubl e l ongi t ude = l oc. get Longi t ude( ) ; / / l ongi t ude doubl e meni t 2, t ot al Det i k2, si sa2;


(20)

A13

Universitas Kristen Maranatha

t ot al Det i k2 = ( l ongi t ude- der aj at 2) * 3600; t ot al Det i k2 = Mat h. abs( t ot al Det i k2) ; si sa2 = t ot al Det i k2 % 60; / / % = mod meni t 2 = ( t ot al Det i k2 - si sa2) / 60;

St r i ng det i k2 = St r i ng. val ueOf ( f or mat Dat a. f or mat ( si sa2) ) ; St r i ng vi ewLong = St r i ng. val ueOf ( der aj at 2+" ° " +(i nt) meni t 2+" ' " +det i k2+" ' ' " ) ;

t ext Longi t ude. set Text ( " Longi t ude : " ) ; vi ewLongi t ude. set Text ( vi ewLong) ;

} }

publ i c voi d onPr ovi der Di sabl ed( St r i ng pr ovi der ) { } publ i c voi d onPr ovi der Enabl ed( St r i ng pr ovi der ) { }

publ i c voi d onSt at usChanged( St r i ng pr ovi der , i nt st at us, Bundl e ext r as) { } }


(21)

A14

Universitas Kristen Maranatha

Pemetaan_Posisi.java

package com. Fer di an;

i mpor t andr oi d. app. Act i vi t y;

i mpor t andr oi d. cont ent . I nt ent ;

i mpor t andr oi d. os. Bundl e;

i mpor t andr oi d. vi ew. Wi ndow;

publ i c cl ass Spl asht Act i vi t y ext ends Act i vi t y { @Over r i de

pr ot ect ed voi d onCr eat e( Bundl e savedI nst anceSt at e) { super. onCr eat e( savedI nst anceSt at e) ;

r equest Wi ndowFeat ur e( Wi ndow. FEATURE_NO_TI TLE) ; set Cont ent Vi ew( R. l ayout . cover ) ;

Thr ead t i mer = new Thr ead( ) { publ i c voi d r un( ) { t r y

{ sl eep( 3000) ; } / / ber apa l ama spl ash scr een muncul dal am sat uan mi l i second

cat ch ( Except i on e) { e. pr i nt St ackTr ace( ) ; } f i nal l y

{ / / act i vi t y yang akan di j al ankan set el ah spl ash scr een sel esai I nt ent i nt ent = new I nt ent ( get Appl i cat i onCont ext ( ) ,

Mai nAct i vi t y.cl ass) ;

st ar t Act i vi t y( i nt ent ) ;

f i ni sh( ) ; / / f i ni sh agar spl ash scr een t i dak bi sa di akses kembal i dengan t ombol back

} } ; } ;

t i mer . st ar t ( ) ; }


(22)

A15

Universitas Kristen Maranatha

Peta.java

package com. Fer di an;

i mpor t andr oi d. app. Act i vi t y;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. dat abase. Cur sor ;

i mpor t andr oi d. l ocat i on. Locat i on;

i mpor t andr oi d. l ocat i on. Locat i onLi st ener ;

i mpor t andr oi d. l ocat i on. Locat i onManager ;

i mpor t andr oi d. os. Bundl e;

publ i c cl ass Pet a ext ends Act i vi t y { pr i vat e Locat i onManager LM; pr i vat e Locat i onLi st ener l ocLi s;

doubl e l at i t ude, hasi l Lat i t ude, l ongi t ude, hasi l Longi t ude; i nt posi si ;

@Over r i de

publ i c voi d onCr eat e( Bundl e savedI nst anceSt at e) { super. onCr eat e( savedI nst anceSt at e) ;

set Cont ent Vi ew( R. l ayout . mai n) ;

LM = ( Locat i onManager ) get Syst emSer vi ce( Cont ext . LOCATI ON_SERVI CE) ; l ocLi s = new GPSAdapt er ( ) ;

LM. r equest Locat i onUpdat es( Locat i onManager . GPS_PROVI DER, 0, 0, l ocLi s) ; }

publ i c cl ass GPSAdapt er i mpl ement s Locat i onLi st ener { publ i c voi d onLocat i onChanged( Locat i on l oc) { i f ( l oc ! = nul l)

{ l at i t ude = l oc. get Lat i t ude( ) ; / / l at i t ude hasi l Lat i t ude = cekLat i t ude( ) ;

l ongi t ude = l oc. get Longi t ude( ) ; / / l ongi t ude hasi l Longi t ude = cekLongi t ude( ) ;

posi si =cekDB( ) ; pet a( ) ;

} }

publ i c voi d onPr ovi der Di sabl ed( St r i ng pr ovi der ) { } publ i c voi d onPr ovi der Enabl ed( St r i ng pr ovi der ) { }

publ i c voi d onSt at usChanged( St r i ng pr ovi der , i nt st at us, Bundl e ext r as) { } }

publ i c i nt cekLat i t ude( ) { i nt i d=0;

i f ( - 6. 885<=l at i t ude & l at i t ude<- 6. 884722222) { i d=1; } el se i f ( - 6. 885277778<=l at i t ude & l at i t ude<- 6. 885) { i d=2; } el se i f ( - 6. 885555556<=l at i t ude & l at i t ude<- 6. 885277778) { i d=3; } el se i f ( - 6. 885833333<=l at i t ude & l at i t ude<- 6. 885555556) { i d=4; } el se i f ( - 6. 886111111<=l at i t ude & l at i t ude<- 6. 885833333) { i d=5; } el se i f ( - 6. 886388889<=l at i t ude & l at i t ude<- 6. 886111111) { i d=6; } el se i f ( - 6. 886666667<=l at i t ude & l at i t ude<- 6. 886388889) { i d=7; } el se i f ( - 6. 886944444<=l at i t ude & l at i t ude<- 6. 886666667) { i d=8; } el se i f ( - 6. 887222222<=l at i t ude & l at i t ude<- 6. 886944444) { i d=9; } el se i f ( - 6. 8875<=l at i t ude & l at i t ude<- 6. 887222222) { i d=10; } el se i f ( - 6. 887777778<=l at i t ude & l at i t ude<- 6. 8875) { i d=11; } el se i f ( - 6. 888055556<=l at i t ude & l at i t ude<- 6. 887777778) { i d=12; }


(23)

A16

Universitas Kristen Maranatha

el se i f ( - 6. 888333333<=l at i t ude & l at i t ude<- 6. 888055556) { i d=13; } el se i f ( - 6. 888611111<=l at i t ude & l at i t ude<- 6. 888333333) { i d=14; } el se { i d=0; }

r et ur n i d; }

publ i c i nt cekLongi t ude ( ) { i nt i d=0;

i f ( 107. 5794444<l ongi t ude & l ongi t ude<=107. 5797222) { i d=1; } el se i f ( 107. 5797222<l ongi t ude & l ongi t ude<=107. 58) { i d=2; } el se i f ( 107. 58<l ongi t ude & l ongi t ude<=107. 5802778) { i d=3; } el se i f ( 107. 5802778<l ongi t ude & l ongi t ude<=107. 5805556) { i d=4; } el se i f ( 107. 5805556<l ongi t ude & l ongi t ude<=107. 5808333) { i d=5; } el se i f ( 107. 5808333<l ongi t ude & l ongi t ude<=107. 5811111) { i d=6; } el se i f ( 107. 5811111<l ongi t ude & l ongi t ude<=107. 5813889) { i d=7; } el se { i d=0; }

r et ur n i d; }

publ i c i nt cekDB ( ) { i nt i d=0;

i f ( hasi l Lat i t ude==1 & hasi l Longi t ude==2) { i d=1; } el se i f ( hasi l Lat i t ude==1 & hasi l Longi t ude==3) { i d=2; } el se i f ( hasi l Lat i t ude==1 & hasi l Longi t ude==4) { i d=3; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==2) { i d=4; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==3) { i d=5; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==4) { i d=6; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==5) { i d=7; } el se i f ( hasi l Lat i t ude==2 & hasi l Longi t ude==6) { i d=8; }

el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==1) { i d=9; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==2) { i d=10; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==3) { i d=11; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==4) { i d=12; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==5) { i d=13; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==6) { i d=14; } el se i f ( hasi l Lat i t ude==3 & hasi l Longi t ude==7) { i d=15; }

el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==1) { i d=16; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==2) { i d=17; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==3) { i d=18; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==4) { i d=19; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==5) { i d=20; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==6) { i d=21; } el se i f ( hasi l Lat i t ude==4 & hasi l Longi t ude==7) { i d=22; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==2) { i d=23; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==3) { i d=24; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==4) { i d=25; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==5) { i d=26; } el se i f ( hasi l Lat i t ude==5 & hasi l Longi t ude==7) { i d=27; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==2) { i d=28; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==3) { i d=29; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==4) { i d=30; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==5) { i d=31; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==6) { i d=32; } el se i f ( hasi l Lat i t ude==6 & hasi l Longi t ude==7) { i d=33; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==2) { i d=34; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==3) { i d=35; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==4) { i d=36; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==5) { i d=37; } el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==6) { i d=38; }


(24)

A17

Universitas Kristen Maranatha

el se i f ( hasi l Lat i t ude==7 & hasi l Longi t ude==7) { i d=39; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==2) { i d=40; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==3) { i d=41; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==4) { i d=42; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==5) { i d=43; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==6) { i d=44; } el se i f ( hasi l Lat i t ude==8 & hasi l Longi t ude==7) { i d=45; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==3) { i d=46; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==4) { i d=47; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==5) { i d=48; } el se i f ( hasi l Lat i t ude==9 & hasi l Longi t ude==6) { i d=49; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==3) { i d=50; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==4) { i d=51; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==5) { i d=52; } el se i f ( hasi l Lat i t ude==10 & hasi l Longi t ude==6) { i d=53; } el se i f ( hasi l Lat i t ude==11 & hasi l Longi t ude==4) { i d=54; } el se i f ( hasi l Lat i t ude==11 & hasi l Longi t ude==5) { i d=55; } el se i f ( hasi l Lat i t ude==11 & hasi l Longi t ude==6) { i d=56; } el se i f ( hasi l Lat i t ude==12 & hasi l Longi t ude==5) { i d=57; } el se i f ( hasi l Lat i t ude==12 & hasi l Longi t ude==6) { i d=58; } el se i f ( hasi l Lat i t ude==12 & hasi l Longi t ude==7) { i d=59; } el se i f ( hasi l Lat i t ude==13 & hasi l Longi t ude==5) { i d=60; } el se i f ( hasi l Lat i t ude==13 & hasi l Longi t ude==6) { i d=61; } el se i f ( hasi l Lat i t ude==13 & hasi l Longi t ude==7) { i d=62; } el se i f ( hasi l Lat i t ude==14 & hasi l Longi t ude==5) { i d=63; } el se i f ( hasi l Lat i t ude==14 & hasi l Longi t ude==6) { i d=64; } el se i f ( hasi l Lat i t ude==14 & hasi l Longi t ude==7) { i d=65; } el se { i d=0; }

r et ur n i d; }

publ i c voi d pet a( ) { / / Dat abase

DBAdapt er db = new DBAdapt er (t hi s) ; db. open( ) ;

Cur sor c = db. get DB( posi si ) ; c. moveToFi r st ( ) ;

db. cl ose( ) ;

/ / Tampi l kan Pet a dar i Dat abase( c) ; St r i ng pi c = c. get St r i ng( 1) ;

i nt i mageResour ce = get Resour ces( ) . get I dent i f i er ( pi c, " dr awabl e" , " com. Fer di an" ) ; TouchI mageVi ew pet a = ( TouchI mageVi ew) f i ndVi ewByI d( R. i d. zoom) ; / / unt uk zoom pet a. set I mageResour ce( i mageResour ce) ;

pet a. set MaxZoom( 4f ) ; }


(25)

A18

Universitas Kristen Maranatha

TouchImageView.java

package com. Fer di an;

i mpor t andr oi d. cont ent . Cont ext ;

i mpor t andr oi d. gr aphi cs. Mat r i x;

i mpor t andr oi d. gr aphi cs. Poi nt F;

i mpor t andr oi d. gr aphi cs. dr awabl e. Dr awabl e;

i mpor t andr oi d. ut i l . At t r i but eSet ;

i mpor t andr oi d. ut i l . Log;

i mpor t andr oi d. vi ew. Mot i onEvent ;

i mpor t andr oi d. vi ew. Scal eGest ur eDet ect or ;

i mpor t andr oi d. vi ew. Vi ew;

i mpor t andr oi d. wi dget . I mageVi ew;

publ i c cl ass TouchI mageVi ew ext ends I mageVi ew { Mat r i x mat r i x;

/ / We can be i n one of t hese 3 st at es st at i c f i nal i nt NONE = 0;

st at i c f i nal i nt DRAG = 1; st at i c f i nal i nt ZOOM = 2; i nt mode = NONE;

/ / Remember some t hi ngs f or zoomi ng Poi nt F l ast = new Poi nt F( ) ;

Poi nt F st ar t = new Poi nt F( ) ; f l oat mi nScal e = 1f ;

f l oat maxScal e = 3f ; f l oat[ ] m;

i nt vi ewWi dt h, vi ewHei ght ; st at i c f i nal i nt CLI CK = 3; f l oat saveScal e = 1f ;

pr ot ect ed f l oat or i gWi dt h, or i gHei ght ; i nt ol dMeasur edWi dt h, ol dMeasur edHei ght ; Scal eGest ur eDet ect or mScal eDet ect or ; Cont ext cont ext ;

publ i c TouchI mageVi ew( Cont ext cont ext ) { super( cont ext ) ;

shar edConst r uct i ng( cont ext ) ; }

publ i c TouchI mageVi ew( Cont ext cont ext , At t r i but eSet at t r s) { super( cont ext , at t r s) ;

shar edConst r uct i ng( cont ext ) ; }

pr i vat e voi d shar edConst r uct i ng( Cont ext cont ext ) { super. set Cl i ckabl e(t r ue) ;

t hi s. cont ext = cont ext ;

mScal eDet ect or = new Scal eGest ur eDet ect or ( cont ext , new Scal eLi st ener ( ) ) ; mat r i x = new Mat r i x( ) ;

m = new f l oat[ 9] ; set I mageMat r i x( mat r i x) ;


(26)

A19

Universitas Kristen Maranatha

set OnTouchLi st ener (new OnTouchLi st ener ( )

{ publ i c bool ean onTouch( Vi ew v, Mot i onEvent event ) { mScal eDet ect or . onTouchEvent ( event ) ;

Poi nt F cur r = new Poi nt F( event . get X( ) , event . get Y( ) ) ; swi t ch ( event . get Act i on( ) )

{ case Mot i onEvent . ACTI ON_DOWN: l ast . set ( cur r ) ;

st ar t . set ( l ast ) ; mode = DRAG; br eak;

case Mot i onEvent . ACTI ON_MOVE: i f ( mode == DRAG)

{ f l oat del t aX = cur r . x - l ast . x; f l oat del t aY = cur r . y - l ast . y;

f l oat f i xTr ansX = get Fi xDr agTr ans( del t aX, vi ewWi dt h, or i gWi dt h * saveScal e) ;

f l oat f i xTr ansY = get Fi xDr agTr ans( del t aY, vi ewHei ght , or i gHei ght * saveScal e) ;

mat r i x. post Tr ansl at e( f i xTr ansX, f i xTr ansY) ; f i xTr ans( ) ;

l ast . set ( cur r . x, cur r . y) ; }

br eak;

case Mot i onEvent . ACTI ON_UP: mode = NONE;

i nt xDi f f = (i nt) Mat h. abs( cur r . x - st ar t . x) ; i nt yDi f f = (i nt) Mat h. abs( cur r . y - st ar t . y) ; i f ( xDi f f < CLI CK && yDi f f < CLI CK)

per f or mCl i ck( ) ; br eak;

case Mot i onEvent . ACTI ON_POI NTER_UP: mode = NONE;

br eak; }

set I mageMat r i x( mat r i x) ; i nval i dat e( ) ;

r et ur n t r ue; / / i ndi cat e event was handl ed }

} ) ; }

publ i c voi d set MaxZoom(f l oat x) { maxScal e = x;

}

pr i vat e cl ass Scal eLi st ener ext ends

Scal eGest ur eDet ect or . Si mpl eOnScal eGest ur eLi st ener { @Over r i de

publ i c bool ean onScal eBegi n( Scal eGest ur eDet ect or det ect or ) { mode = ZOOM;

r et ur n t r ue; }


(27)

A20

Universitas Kristen Maranatha

@Over r i de

publ i c bool ean onScal e( Scal eGest ur eDet ect or det ect or ) { f l oat mScal eFact or = det ect or . get Scal eFact or ( ) ; f l oat or i gScal e = saveScal e;

saveScal e * = mScal eFact or ;

i f ( saveScal e > maxScal e)

{ saveScal e = maxScal e;

mScal eFact or = maxScal e / or i gScal e; }

el se i f ( saveScal e < mi nScal e) { saveScal e = mi nScal e;

mScal eFact or = mi nScal e / or i gScal e; }

i f ( or i gWi dt h* saveScal e<=vi ewWi dt h| | or i gHei ght * saveScal e<=vi ewHei ght ) mat r i x. post Scal e( mScal eFact or , mScal eFact or , vi ewWi dt h/ 2, vi ewHei ght / 2) ; el se mat r i x. post Scal e( mScal eFact or , mScal eFact or , det ect or . get FocusX( ) , det ect or . get FocusY( ) ) ;

f i xTr ans( ) ; r et ur n t r ue; }

}

voi d f i xTr ans( )

{ mat r i x. get Val ues( m) ;

f l oat t r ansX = m[ Mat r i x. MTRANS_X] ; f l oat t r ansY = m[ Mat r i x. MTRANS_Y] ;

f l oat f i xTr ansX = get Fi xTr ans( t r ansX, vi ewWi dt h, or i gWi dt h * saveScal e) ; f l oat f i xTr ansY = get Fi xTr ans( t r ansY, vi ewHei ght , or i gHei ght * saveScal e) ; i f ( f i xTr ansX ! = 0 | | f i xTr ansY ! = 0)

mat r i x. post Tr ansl at e( f i xTr ansX, f i xTr ansY) ; }

f l oat get Fi xTr ans(f l oat t r ans, f l oat vi ewSi ze, f l oat cont ent Si ze) { f l oat mi nTr ans, maxTr ans;

i f ( cont ent Si ze <= vi ewSi ze) { mi nTr ans = 0;

maxTr ans = vi ewSi ze - cont ent Si ze; }

el se

{ mi nTr ans = vi ewSi ze - cont ent Si ze; maxTr ans = 0;

}

i f ( t r ans < mi nTr ans) r et ur n - t r ans + mi nTr ans; i f ( t r ans > maxTr ans) r et ur n - t r ans + maxTr ans; r et ur n 0;

}

f l oat get Fi xDr agTr ans(f l oat del t a, f l oat vi ewSi ze, f l oat cont ent Si ze) { i f ( cont ent Si ze <= vi ewSi ze)

{ r et ur n 0; } r et ur n del t a; }


(28)

A21

Universitas Kristen Maranatha

@Over r i de

pr ot ect ed voi d onMeasur e(i nt wi dt hMeasur eSpec, i nt hei ght Measur eSpec) { super. onMeasur e( wi dt hMeasur eSpec, hei ght Measur eSpec) ;

vi ewWi dt h = Measur eSpec. get Si ze( wi dt hMeasur eSpec) ; vi ewHei ght = Measur eSpec. get Si ze( hei ght Measur eSpec) ;

/ / Rescal es i mage on r ot at i on

i f ( ol dMeasur edHei ght == vi ewWi dt h && ol dMeasur edHei ght == vi ewHei ght | | vi ewWi dt h == 0 | | vi ewHei ght == 0)

r et ur n;

ol dMeasur edHei ght = vi ewHei ght ; ol dMeasur edWi dt h = vi ewWi dt h; i f ( saveScal e == 1)

{ / / Fi t t o scr een. f l oat scal e;

Dr awabl e dr awabl e = get Dr awabl e( ) ;

i f ( dr awabl e == nul l | | dr awabl e. get I nt r i nsi cWi dt h( ) == 0 | | dr awabl e. get I nt r i nsi cHei ght ( ) == 0)

r et ur n;

i nt bmWi dt h = dr awabl e. get I nt r i nsi cWi dt h( ) ; i nt bmHei ght = dr awabl e. get I nt r i nsi cHei ght ( ) ;

Log. d( " bmSi ze" , " bmWi dt h: " + bmWi dt h + " bmHei ght : " + bmHei ght ) ; f l oat scal eX = (f l oat) vi ewWi dt h / (f l oat) bmWi dt h;

f l oat scal eY = (f l oat) vi ewHei ght / (f l oat) bmHei ght ; scal e = Mat h. mi n( scal eX, scal eY) ;

mat r i x. set Scal e( scal e, scal e) ; / / Cent er t he i mage

f l oat r edundant YSpace=(f l oat) vi ewHei ght - ( scal e * (f l oat) bmHei ght ) ; f l oat r edundant XSpace=(f l oat) vi ewWi dt h - ( scal e * (f l oat) bmWi dt h) ; r edundant YSpace / = (f l oat) 2;

r edundant XSpace / = (f l oat) 2;

mat r i x. post Tr ansl at e( r edundant XSpace, r edundant YSpace) ; or i gWi dt h = vi ewWi dt h - 2 * r edundant XSpace;

or i gHei ght = vi ewHei ght - 2 * r edundant YSpace; set I mageMat r i x( mat r i x) ;

}

f i xTr ans( ) ; }


(29)

A22

Universitas Kristen Maranatha

i d Gam bar Pet a Gam bar Fot o 33 pet a33 f ot o33 34 pet a34 f ot o34 35 pet a35 f ot o35 36 pet a36 f ot o36 37 pet a37 f ot o37 38 pet a38 f ot o38 39 pet a39 f ot o39 40 pet a40 f ot o40 41 pet a41 f ot o41 42 pet a42 f ot o42 43 pet a43 f ot o43 44 pet a44 f ot o44 45 pet a45 f ot o45 46 pet a46 f ot o46 47 pet a47 f ot o47 48 pet a48 f ot o48 49 pet a49 f ot o49 50 pet a50 f ot o50 51 pet a51 f ot o51 52 pet a52 f ot o52 53 pet a53 f ot o53 54 pet a54 f ot o54 55 pet a55 f ot o55 56 pet a56 f ot o56 57 pet a57 f ot o57 58 pet a58 f ot o58 59 pet a59 f ot o59 60 pet a60 f ot o60 61 pet a61 f ot o61 62 pet a62 f ot o62 63 pet a63 f ot o63 64 pet a64 f ot o64 65 pet a65 f ot o65 id Gambar Pet a Gambar Fot o

0 pet a0 f ot o0 1 pet a1 f ot o1 2 pet a2 f ot o2 3 pet a3 f ot o3 4 pet a4 f ot o4 5 pet a5 f ot o5 6 pet a6 f ot o6 7 pet a7 f ot o7 8 pet a8 f ot o8 9 pet a9 f ot o9 10 pet a10 f ot o10 11 pet a11 f ot o11 12 pet a12 f ot o12 13 pet a13 f ot o13 14 pet a14 f ot o14 15 pet a15 f ot o15 16 pet a16 f ot o16 17 pet a17 f ot o17 18 pet a18 f ot o18 19 pet a19 f ot o19 20 pet a20 f ot o20 21 pet a21 f ot o21 22 pet a22 f ot o22 23 pet a23 f ot o23 24 pet a24 f ot o24 25 pet a25 f ot o25 26 pet a26 f ot o26 27 pet a27 f ot o27 28 pet a28 f ot o28 29 pet a29 f ot o29 30 pet a30 f ot o30 31 pet a31 f ot o31 32 pet a32 f ot o32

Folder assets :


(30)

A23

Universitas Kristen Maranatha

Folder res

→ drawable

:

Foto.xml

<?xml ver si on=" 1. 0" encodi ng=" ut f - 8" ?>

<sel ect or xml ns: andr oi d=" ht t p: / / schemas. andr oi d. com/ apk/ r es/ andr oi d" > <! - - Menent ukan gambar saat posi si OFF - - >

<i t em

andr oi d: dr awabl e=" @dr awabl e/ f ot ot ab" / >

<! - - Menent ukan gambar saat posi si ON - - > <i t em

andr oi d: dr awabl e=" @dr awabl e/ f ot ot ab" andr oi d: st at e_sel ect ed=" t r ue"

/ > </ sel ect or >

Kompas.xml

<?xml ver si on=" 1. 0" encodi ng=" ut f - 8" ?>

<sel ect or xml ns: andr oi d=" ht t p: / / schemas. andr oi d. com/ apk/ r es/ andr oi d" > <! - - Menent ukan gambar saat posi si OFF - - >

<i t em

andr oi d: dr awabl e=" @dr awabl e/ kompast ab" / >

<! - - Menent ukan gambar saat posi si ON - - > <i t em

andr oi d: dr awabl e=" @dr awabl e/ kompast ab" andr oi d: st at e_sel ect ed=" t r ue"

/ > </ sel ect or >

Peta.xml

<?xml ver si on=" 1. 0" encodi ng=" ut f - 8" ?>

<sel ect or xml ns: andr oi d=" ht t p: / / schemas. andr oi d. com/ apk/ r es/ andr oi d" > <! - - Menent ukan gambar saat posi si OFF - - >

<i t em

andr oi d: dr awabl e=" @dr awabl e/ pet at ab" / >

<! - - Menent ukan gambar saat posi si ON - - > <i t em

andr oi d: dr awabl e=" @dr awabl e/ pet at ab" andr oi d: st at e_sel ect ed=" t r ue"

/ > </ sel ect or >

File :


(31)

A24

Universitas Kristen Maranatha

cover.jpg

peta0.jpg

peta1.jpg

peta2.jpg

peta3.jpg

peta4.jpg


(32)

A25

Universitas Kristen Maranatha

peta8.jpg

peta9.jpg

peta10.jpg

peta11.jpg

peta12.jpg

peta13.jpg


(33)

A26

Universitas Kristen Maranatha

peta17.jpg

peta18.jpg

peta19.jpg

peta20.jpg

peta21.jpg

peta22.jpg


(34)

A27

Universitas Kristen Maranatha

peta26.jpg

peta27.jpg

peta28.jpg

peta29.jpg

peta30.jpg

peta31.jpg


(35)

A28

Universitas Kristen Maranatha

peta35.jpg

peta36.jpg

peta37.jpg

peta38.jpg

peta39.jpg

peta40.jpg


(36)

A29

Universitas Kristen Maranatha

peta44.jpg

peta45.jpg

peta46.jpg

peta47.jpg

peta48.jpg

peta49.jpg


(37)

A30

Universitas Kristen Maranatha

peta53.jpg

peta54.jpg

peta55.jpg

peta56.jpg

peta57.jpg

peta58.jpg


(38)

A31

Universitas Kristen Maranatha

peta62.jpg

peta63.jpg

peta64.jpg

peta65.jpg

foto0.jpg

foto1.jpg


(39)

A32

Universitas Kristen Maranatha

foto5.jpg

foto6.jpg

foto7.jpg

foto8.jpg

foto9.jpg

foto10.jpg


(40)

A33

Universitas Kristen Maranatha

foto14.jpg

foto15.jpg

foto16.jpg

foto17.jpg

foto18.jpg

foto19.jpg


(41)

A34

Universitas Kristen Maranatha

foto23.jpg

foto24.jpg

foto25.jpg

foto26.jpg

foto27.jpg

foto28.jpg


(42)

A35

Universitas Kristen Maranatha

foto32.jpg

foto33.jpg

foto34.jpg

foto35.jpg

foto36.jpg

foto37.jpg


(43)

A36

Universitas Kristen Maranatha

foto41.jpg

foto42.jpg

foto43.jpg

foto44.jpg

foto45.jpg

foto46.jpg


(44)

A37

Universitas Kristen Maranatha

foto50.jpg

foto51.jpg

foto52.jpg

foto53.jpg

foto54.jpg

foto55.jpg


(45)

A38

Universitas Kristen Maranatha

foto59.jpg

foto60.jpg

foto61.jpg

foto62.jpg

foto63.jpg

foto64.jpg

* Foto-foto kampus diambil bulan mei 2013

foto65.jpg


(46)

A39

Universitas Kristen Maranatha

Folder res

→ drawable

-hdpi :

File :

ic_launcher.png

Folder res

→ layout :

cover.xml

<?xml ver si on=" 1. 0" encodi ng=" ut f - 8" ?>

<Li near Layout xml ns: andr oi d=" ht t p: / / schemas. andr oi d. com/ apk/ r es/ andr oi d" andr oi d: l ayout _wi dt h=" mat ch_par ent "

andr oi d: l ayout _hei ght =" mat ch_par ent " andr oi d: or i ent at i on=" ver t i cal "

andr oi d: backgr ound=" @dr awabl e/ cover " > </ Li near Layout >

main.xml

<?xml ver si on=" 1. 0" encodi ng=" ut f - 8" ?>

<TabHost xml ns: andr oi d=" ht t p: / / schemas. andr oi d. com/ apk/ r es/ andr oi d" andr oi d: i d=" @andr oi d: i d/ t abhost "

andr oi d: l ayout _wi dt h=" f i l l _par ent " andr oi d: l ayout _hei ght =" f i l l _par ent " >

<Rel at i veLayout

andr oi d: l ayout _wi dt h=" f i l l _par ent " andr oi d: l ayout _hei ght =" f i l l _par ent " > <Fr ameLayout

andr oi d: i d=" @andr oi d: i d/ t abcont ent " andr oi d: l ayout _wi dt h=" f i l l _par ent " andr oi d: l ayout _hei ght =" f i l l _par ent " andr oi d: l ayout _above=" @andr oi d: i d/ t abs" andr oi d: backgr ound=" #FFFFFF" >

<com. Fer di an. TouchI mageVi ew

andr oi d: i d=" @+i d/ zoom"

andr oi d: l ayout _wi dt h=" mat ch_par ent "

andr oi d: l ayout _hei ght =" mat ch_par ent " / > </ Fr ameLayout >


(47)

A40

Universitas Kristen Maranatha

<TabWi dget

andr oi d: i d=" @andr oi d: i d/ t abs" andr oi d: l ayout _wi dt h=" f i l l _par ent " andr oi d: l ayout _hei ght =" wr ap_cont ent " andr oi d: l ayout _al i gnPar ent Bot t om=" t r ue" / > <Text Vi ew

andr oi d: i d=" @+i d/ vi ewLat i t ude" andr oi d: l ayout _wi dt h=" wr ap_cont ent " andr oi d: l ayout _hei ght =" wr ap_cont ent " andr oi d: l ayout _al i gnPar ent Ri ght =" t r ue" andr oi d: l ayout _al i gnPar ent Top=" t r ue" andr oi d: t ext =" "

andr oi d: t ext Col or =" #000000"

andr oi d: t ext Appear ance=" ?andr oi d: at t r / t ext Appear anceSmal l " / >

<Text Vi ew

andr oi d: i d=" @+i d/ vi ewLongi t ude" andr oi d: l ayout _wi dt h=" wr ap_cont ent " andr oi d: l ayout _hei ght =" wr ap_cont ent " andr oi d: l ayout _al i gnPar ent Ri ght =" t r ue" andr oi d: l ayout _bel ow=" @+i d/ vi ewLat i t ude" andr oi d: t ext =" "

andr oi d: t ext Col or =" #000000"

andr oi d: t ext Appear ance=" ?andr oi d: at t r / t ext Appear anceSmal l " / > <Text Vi ew

andr oi d: i d=" @+i d/ t ext Lat i t ude" andr oi d: l ayout _wi dt h=" wr ap_cont ent "

andr oi d: l ayout _hei ght =" wr ap_cont ent " andr oi d: l ayout _al i gnPar ent Top=" t r ue"

andr oi d: l ayout _mar gi nRi ght =" 28dp"

andr oi d: l ayout _t oLef t Of =" @+i d/ vi ewLat i t ude" andr oi d: t ext =" "

andr oi d: t ext Col or =" #000000"

andr oi d: t ext Appear ance=" ?andr oi d: at t r / t ext Appear anceSmal l " / > <Text Vi ew

andr oi d: i d=" @+i d/ t ext Longi t ude" andr oi d: l ayout _wi dt h=" wr ap_cont ent " andr oi d: l ayout _hei ght =" wr ap_cont ent "

andr oi d: l ayout _al i gnRi ght =" @+i d/ t ext Lat i t ude" andr oi d: l ayout _bel ow=" @+i d/ t ext Lat i t ude" andr oi d: t ext =" "

andr oi d: t ext Col or =" #000000"

andr oi d: t ext Appear ance=" ?andr oi d: at t r / t ext Appear anceSmal l " / > </ Rel at i veLayout >


(1)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1

Latar Belakang

Pada saat ini telepon genggam merupakan salah satu alat komunikasi yang sudah tidak asing di kalangan masyarakat, dipakai oleh hampir semua orang, karena dapat digunakan untuk berkomunikasi. Selain untuk berkomunikasi melalui panggilan atau pesan singkat, telepon genggam pada saat ini juga telah dilengkapi dengan berbagai macam fitur dan aplikasi yang dapat digunakan untuk media hiburan, bisnis, informasi dan lain sebagainya.

Telepon cerdas (smartphone) adalah telepon genggam yang mempunyai kemampuan dan fungsi yang menyerupai personal komputer. Belum ada standar pabrik yang menentukan arti telepon cerdas. Telepon cerdas dapat dikatakan, merupakan telepon genggam yang bekerja menggunakan sistem operasi, atau merupakan telepon genggam yang menyajikan fitur canggih seperti surat elektronik, internet dan kemampuan untuk membuka buku elektronik (e-book). Dengan kata lain, telepon cerdas merupakan komputer kecil yang mempunyai kemampuan sebuah telepon. Penggunaan smartphone bukanlah sesuatu yang baru, sudah banyak yang menggunakannya, bahkan di lingkungan kampus.

Di lingkungan kampus mungkin tidak semua orang mengetahui lokasi-lokasi yang ada pada kampus, terutama mahasiswa baru atau keluarga mahasiswa yang datang ke kampus pada saat menemani pendaftaran ulang atau menghadiri wisuda, atau tamu yang baru pertama kali berkunjung ke kampus.

Ketika melihat peta, biasanya masih terjadi kebingungan dalam menentukan posisi tempat keberadaan saat itu sebagai patokan untuk melihat peta. Dengan menggunakan aplikasi yang dapat menampilkan posisi smartphone serta gambar tampilan lokasi sebenarnya pada kampus, akan membantu pengguna untuk mengetahui posisi keberadaannya pada kampus, seperti GSG (Gedung Serba Guna), GWM (Graha Widya Maranatha), GAP (Gedung Administrasi Pusat), tempat parkir, dll.


(2)

2

Universitas Kristen Maranatha

1.2

Identifikasi Masalah

Bagaimana membuat aplikasi untuk pemetaan posisi dengan menggunakan GPS pada smartphone berbasis android, yang dapat digunakan di lingkungan kampus.

1.3

Rumusan Masalah

Masalah-masalah yang akan dibahas dalam tugas akhir ini, yaitu :

 Bagaimana membuat aplikasi untuk pemetaan posisi dengan menggunakan GPS pada smartphone dengan OS Android pada kampus Universitas Kristen Maranatha?

Bagaimana database, untuk aplikasi ?

Bagaimana menampilkan posisi smartphone pada peta dan foto tampilan lokasi sebenarnya dari pengguna aplikasi ?

1.4

Tujuan

Tujuan dari tugas akhir ini, membuat aplikasi untuk pemetaan posisi, dengan menggunakan GPS pada smartphone berbasis android, yang dapat menampilkan posisi smartphone pada peta kampus dan foto tampilan lokasi sebenarnya pada kampus.

1.5

Batasan Masalah

Aplikasi yang akan dibuat hanya dapat digunakan di lingkungan kampus Maranatha, karena peta dan foto yang dibuat hanya pada Universitas Kristen Maranatha. Dan dalam studi kasus ini, semua data pengamatan dan percobaan dianggap dilakukan pada lantai 1, karena tidak memperhatikan ketinggian lokasi. Data pengamatan dan percobaan dibuat dengan tingkat resolusi +/- 30,9 meter.


(3)

3

Universitas Kristen Maranatha

1.6

Sistematika Penulisan

Sistematika penulisan laporan tugas akhir ini disusun menjadi beberapa bab sebagai berikut :

BAB I : PENDAHULUAN

Dalam bab ini dibahas mengenai permasalahan yang melatarbelakangi penulisan laporan tugas akhir ini, selain itu juga terdapat identifikasi masalah, rumusan masalah, tujuan, batasan masalah dan sistematika penulisan.

BAB II : LANDASAN TEORI

Di bab ini akan membahas mengenai pengertian GPS, bagian-bagian sistem kerja GPS, smartphone, sejarah android, fitur, arsitektur, versi, komponen aplikasi dan lifecycle android.

BAB III : PERANCANGAN

Pada bab ini membahas mengenai hardware dan software yang digunakan, cara kerja, diagram blok, flowchart, sistem koordinat geografis, kompas, peta kampus Maranatha, perancangan untuk pengambilan data, database dan tampilan antarmuka aplikasi.

BAB IV : ANALISIS DAN DATA PENGAMATAN

Bab ini membahas spesifikasi alat yang digunakan untuk pengambilan data, data pengamatan yang diperoleh dan analisis data.

BAB V : KESIMPULAN DAN SARAN

Pada bab ini akan membahas mengenai kesimpulan dari apa yang telah dikerjakan dan saran untuk perbaikan dan pengembangan lebih lanjut.


(4)

62 Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

5.1

Kesimpulan

 Data pengamatan yang diperoleh dari percobaan dengan menggunakan 3

smartphone, diperoleh tingkat resolusi rata-rata pada smartphone Samsung

Galaxy ace 2 = 9,726 m, pada smartphone Sony Xperia neo L = 8,747 m dan pada smartphone Samsung Galaxy Tab 2 = 8,07 m.

Dengan database yang dibuat dengan tingkat resolusi ± 30,9 m, aplikasi ini dapat menampilkan peta dan foto sesuai dengan resolusi database yang dibuat, ± 30,9 m.

 Persentase keberhasilan aplikasi menampilkan gambar peta dan gambar foto pada smartphone Samsung Galaxy ace 2 = 85,714 %, pada smartphone Sony Xperia neo L = 87,301 % dan pada smartphone Samsung Galaxy Tab 2 = 88,888%.

Perbedaan ini disebabkan karena spesifikasi yang berbeda (chip GPS, prosesor, memori) dari tiap smartphone, serta adanya faktor cuaca yang selalu mengalami perubahan (temperature, tekanan) yang dapat menyebabkan delay pada sinyal yang ditransmisikan dari satelit GPS.

Dari percobaan yang telah dilakukan pada beberapa smartphone android dengan spesifikasi yang berbeda-beda, aplikasi pemetaan posisi berbasis GPS ini dapat berjalan dengan baik.

5.2

Saran

Aplikasi pemetaan posisi dengan menggunakan GPS pada smartphone berbasis android ini, semoga bisa dikembangkan lagi, dengan memperluas daerah kerja dan memperbanyak data yang disediakan pada database agar gambar yang ditampilkan bisa lebih akurat.

 Agar aplikasi dapat dikembangkan untuk bisa digunakan oleh pengguna kendaraan bermotor dengan studi kasus peta suatu kota.


(5)

Universitas Kristen Maranatha

DAFTAR PUSTAKA

1. H, Nazaruddin Safaat, Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Edisi Revisi, Informatika, Bandung. 2012. 2. http://ahmadirfanaw.wordpress.com/2011/12/19/sistem-koordinat-geografis/

(diakses Kamis, 26 Maret 2103), Judul: Sistem Koordinat Geografis, Penulis: Ahmad Irfan AW.

3. http://ardialhaidar.wordpress.com/2012/02/16/android-pengenalan-daur-hidup-activity-dan-sharedpreference/ (diakses Jumat, 24 Maret 2103), Judul: Android, Pengenalan Daur Hidup Activity dan SharedPreference, Penulis: Ardialhaidar.

4. http://bpkh3.dephut.go.id/index.php?option=com_content&view=article&id=1 06&Itemid=121 (diakses Selasa, 2 April 2013), Judul: Pengenalan Alat Ukur GPS, Penulis: Arfian Eko Nugroho, A.Md.

5. http://en.wikipedia.org/wiki/Earth (diakses Selasa, 26 Maret 2103), Judul: Earth, Penulis: -

6. http://hanyagubukcatatan.blogspot.com/2013/01/splash-screen.html (diakses Rabu, 8 Mei 2013), Judul: Android Splash Screen, Penulis: Andreana

7. http://id.wikipedia.org/wiki/Kompas (diakses Kamis, 27 Juni 2103), Judul: Kompas, Penulis: -

8. http://kesibubby.wordpress.com/2009/02/13/mengenal-sqlite/ (diakses Sabtu, 18 Mei 2013), Judul: Mengenal SQLite, Penulis: Bubbycas

9.

http://maxiandroid.blogspot.com/2012/03/cara-kerja-dan-arsitektur-android.html (diakses Sabtu, 23 Maret 2013), Judul: Cara Kerja Arsitektur Android, Penulis: Azzahra

10. http://mulyono1966.blogspot.com/2012/09/garis-lintang-dan-garis-bujur.html (diakses Sabtu, 23 Maret 2013), Judul: Garis Lintang dan Garis Bujur, Penulis: Mulyono S.Pd.

11. http://toolboxes.flexiblelearning.net.au/demosites/series12/12_02/toolbox12_0 2/resources/html/res_whatisgps.htm (diakses Selasa, 2 April 2013), Judul: How the global positioning system works, Penulis: -

12. http://www.techcoral.com/2012/10/journey-of-android.html (diakses Sabtu, 23 Maret 2013), Judul: Android, A remarkable Journey Yet With Its Different Versions, Penulis: Lalit Kumar Barik

13. http://www.vogella.com/articles/AndroidSensor/article.html (diakses Selasa, 19 Maret 2013), Judul: Android Sensor - Tutorial, Penulis: Lars Vogel


(6)

Universitas Kristen Maranatha

14. https://id.wikipedia.org/wiki/Sistem_Pemosisi_Global (diakses Selasa, 26 Maret 2103), Judul: Sistem Pemosisi Global, Penulis: -

15. https://id.wikipedia.org/wiki/Smartphone (diakses Selasa, 26 Maret 2103), Judul: Telepon cerdas, Penulis: -

16. Huda, Arif Akbarul, 24 jam!! Pintar Pemrograman Android, C.V ANDI OFFSET, Yogyakarta, 2012.

17. Suprianto, Dodit dan Rini Agustina, S.Kom, M,Pd, PEMROGRAMAN APLIKASI ANDROID, MediaKom, Yogyakarta, 2012.