Aplikasi Untuk Pemetaan Posisi Dengan Menggunakan GPS dan Smartphone Berbasis Android Dengan Studi Kasus Peta Kampus.
i
Universitas Kristen MaranathaAPLIKASI 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 MaranathaAPPLICATION 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 MaranathaDAFTAR 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 Maranatha2.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 MaranathaDAFTAR 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 MaranathaGambar 3.15 Tampilan Foto (di luar Kampus Maranatha) ...51
Gambar 3.16 Tampilan Kompas (di luar Kampus Maranatha) ...51
(7)
vii
Universitas Kristen MaranathaDAFTAR 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 MaranathaLAMPIRAN 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 Maranathael 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 Maranathael 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 Maranathat 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 Maranathael 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 Maranathael 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 Maranathaset 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 Maranathai 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 Maranathacover.jpg
peta0.jpg
peta1.jpg
peta2.jpg
peta3.jpg
peta4.jpg
(32)
A25
Universitas Kristen Maranathapeta8.jpg
peta9.jpg
peta10.jpg
peta11.jpg
peta12.jpg
peta13.jpg
(33)
A26
Universitas Kristen Maranathapeta17.jpg
peta18.jpg
peta19.jpg
peta20.jpg
peta21.jpg
peta22.jpg
(34)
A27
Universitas Kristen Maranathapeta26.jpg
peta27.jpg
peta28.jpg
peta29.jpg
peta30.jpg
peta31.jpg
(35)
A28
Universitas Kristen Maranathapeta35.jpg
peta36.jpg
peta37.jpg
peta38.jpg
peta39.jpg
peta40.jpg
(36)
A29
Universitas Kristen Maranathapeta44.jpg
peta45.jpg
peta46.jpg
peta47.jpg
peta48.jpg
peta49.jpg
(37)
A30
Universitas Kristen Maranathapeta53.jpg
peta54.jpg
peta55.jpg
peta56.jpg
peta57.jpg
peta58.jpg
(38)
A31
Universitas Kristen Maranathapeta62.jpg
peta63.jpg
peta64.jpg
peta65.jpg
foto0.jpg
foto1.jpg
(39)
A32
Universitas Kristen Maranathafoto5.jpg
foto6.jpg
foto7.jpg
foto8.jpg
foto9.jpg
foto10.jpg
(40)
A33
Universitas Kristen Maranathafoto14.jpg
foto15.jpg
foto16.jpg
foto17.jpg
foto18.jpg
foto19.jpg
(41)
A34
Universitas Kristen Maranathafoto23.jpg
foto24.jpg
foto25.jpg
foto26.jpg
foto27.jpg
foto28.jpg
(42)
A35
Universitas Kristen Maranathafoto32.jpg
foto33.jpg
foto34.jpg
foto35.jpg
foto36.jpg
foto37.jpg
(43)
A36
Universitas Kristen Maranathafoto41.jpg
foto42.jpg
foto43.jpg
foto44.jpg
foto45.jpg
foto46.jpg
(44)
A37
Universitas Kristen Maranathafoto50.jpg
foto51.jpg
foto52.jpg
foto53.jpg
foto54.jpg
foto55.jpg
(45)
A38
Universitas Kristen Maranathafoto59.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.