1.6.Metode Penelitian
Dalam penelitian ini dilakukan beberapa tahap tahap atau metode pengerjaan, seperti berikut:
1. Studi Literatur
Studi literatur dilakukan dengan pengumpulan bahan yang berkenaan dengan perhitungan waktu shalat, pemrograman GPSdan LBS pada sistem operasi
smartphoneAndroid. 2.
Analisis Sistem Dalam tahap ini dilakukan analisa terhadap kebutuhan sistem serta fitur-fitur yang
diperlukan dalam proses pembuatan aplikasi. 3.
Desain Sistem Dalam tahap ini dilakukan perancangan untuk menyelesaikan masalah yang
ditemukan pada tahap analisis, dan dalam tahap ini kita akan melakukan desain form yaitu proses untuk menentukan alur dari proses dan model dari tampilan awal
serta halaman-halaman yang lainnya. ‘ 4.
Implementasi Sistem Dalam tahap ini dilakukan pengujian, apakah sistem yang di buat telah sesuai, dan
dapat digunakan dengan baik oleh user.
1.7. Sistematika Penulisan
Untuk mempermudah penulisan tugas akhir ini, penulis membuat suatu sistematika penulisan yang terdiri dari:
Universitas Sumatera Utara
BAB 1 PENDAHULUAN
Bab ini berisikan Latar Belakang, Perumusan Masalah, Batasan Masalah, Tujuan Penelitian, Manfaat Penelitian, Metode Penelitian, dan Sistematika Penulisan.
BAB 2 LANDASAN TEORI
Bab ini Menjelaskan tentang tinjauan teoritis yang meliputi uraian singkat mengenai Perhitungan Waktu Shalat, LBS, Android dan Lingkungan Pengembangannya.
BAB 3 PERANCANGAN SISTEM
Bab ini menjelaskan tentang analisis permasalahan dan kebutuhan serta perancangan yang dilakukan dalam membuat program aplikasi beserta konfigurasi perangkat lunak
yang digunakan.
BAB 4 IMPLEMENTASI SISTEM
Bab ini menjelaskan tentang implementasi perangkat lunak dari analisis dan perancangan yang telah dilakukan.
BAB 5 KESIMPULAN DAN SARAN
Pada bab ini menjelaskan kesimpulan-kesimpulan dari hasil penulisan beserta saran- saran untuk penyempurnaan dan pengembangan selanjutnya.
Universitas Sumatera Utara
Bab 2
LANDASAN TEORI
2.1. Shalat
2.1.1. Pengertian Shalat
Salat Bahasa Arab: صلاة; transliterasi: Shalat, merujuk kepada ritual ibadah
pemeluk agama Islam. Menurut syariat Islam, praktik salat harus sesuai dengan segala petunjuk tata cara Rasulullah SAW sebagai figur pengejawantah perintah Allah.
Rasulullah SAW bersabda, Salatlah kalian sesuai dengan apa yang kalian lihat aku mempraktikkannya.
Secara bahasa salat berasal dari bahasa Arab yang memiliki arti, doa. Sedangkan, menurut istilah, salat bermakna serangkaian kegiatan ibadah khusus atau
tertentu yang dimulai dengan takbiratul ihram dan diakhiri dengan salam. Wikipedia 2012.
Universitas Sumatera Utara
2.1.2. Waktu Shalat Fardhu
Waktu salat dari hari ke hari, dan antara tempat satu dan lainnya bervariasi. Waktu salat sangat berkaitan dengan peristiwa peredaran semu Matahari relatif terhadap
bumi. Pada dasarnya, untuk menentukan waktu salat, diperlukan letak geografis, waktu tanggal, dan ketinggian. urutan waktu salat dari pagi sampai malam yaitu
imsak, Subuh, syuruq, Zuhur, Asar, Maghrib dan Isya. 1.
Syuruq Syuruq adalah terbitnya Matahari. Waktu syuruq menandakan berakhirnya waktu
Subuh. Waktu terbit Matahari dapat dilihat pada almanak astronomi atau dihitung dengan menggunakan algoritma tertentu.
2. Zuhur
Waktu istiwa’ zawaal terjadi ketika Matahari berada di titik tertinggi. Istiwa’ juga dikenal dengan sebutan tengah hari bahasa Inggris: middaynoon. Pada saat istiwa’,
mengerjakan ibadah salat baik wajib maupun sunah adalah haram. Waktu Zuhur tiba sesaat setelah istiwa’, yakni ketika Matahari telah condong ke arah barat. Waktu
tengah hari dapat dilihat pada almanak astronomi atau dihitung dengan menggunakan algoritma tertentu.
Secara astronomis, waktu Zuhur dimulai ketika tepi piringan Matahari telah keluar dari garis zenith, yakni garis yang menghubungkan antara pengamat dengan pusat
letak Matahari ketika berada di titik tertinggi istiwa’. Secara teoretis, antara
Universitas Sumatera Utara
istiwa’dengan masuknya zhuhur membutuhkan waktu 2,5 menit, dan untuk faktor keamanan, biasanya pada jadwal salat, waktu Zuhur adalah 5 menit setelah istiwa’.
3. Asar
Menurut mazhab Syafii, Maliki, dan Hambali, waktu Asar diawali jika panjang bayang-bayang benda melebihi panjang benda itu sendiri. Sementara madzab Imam
Hanafi mendefinisikan waktu Asar jika panjang bayang-bayang benda dua kali melebihi panjang benda itu sendiri. Waktu Ashar dapat dihitung dengan algoritma
tertentu yang menggunakan trigonometri tiga dimensi. Waktu salat dari hari ke hari, dan antara tempat satu dan lainnya bervariasi. Waktu
salat sangat berkaitan dengan peristiwa peredaran semu Matahari relatif terhadap bumi. Pada dasarnya, untuk menentukan waktu salat, diperlukan letak geografis,
waktu tanggal, dan ketinggian. 4.
Magrib
Waktu Magrib diawali ketika terbenamnya Matahari. Terbenam Matahari di sini berarti seluruh piringan Matahari telah masuk di bawah horizon cakrawala.
5. Isya dan Subuh
Waktu Isya didefinisikan dengan ketika hilangnya cahaya merah syafaq di langit, hingga terbitnya fajar shaddiq. Sedangkan waktu Subuh diawali ketika terbitnya fajar
shaddiq, hingga sesaat sebelum terbitnya Matahari syuruq. Perlu diketahui, bahwa sesaat setelah Matahari terbenam, langit kita tidak
langsung gelap, karena bumi kita memiliki atmosfer sehingga meskipun Matahari
Universitas Sumatera Utara
berada di bawah horizon ufuk barat, masih ada cahaya Matahari yang direfraksikan di langit.
Dari sisi astronomis, cahaya di langit yang terdapat sebelum terbitnya Matahari dan setelah terbenamnya Matahari dinamakan twilight, yang secara harfiah artinya
cahaya di antara dua, yakni antara siang dan malam. Dalam bahasa Arab, twilight disebut syafaq. Secara astronomis, terdapat tiga definisi twilight:
a. Twilight Sipil, yakni ketika Matahari berada 6° di bawah horizon
b. Twilight Nautikal, yakni ketika Matahari berada 12° di bawah horizon
c. Twilight Astronomis, yakni ketika Matahari berada 18° di bawah horizon
Astronom menganggap Twilight Astronomis Petang menandakan dimulainya malam hari; namun definisi ini adalah untuk keperluan praktis saja.
Secara astronomis, waktu Subuh merupakan kebalikan dari waktu Isya. Menjelang pagi hari, fajar ditandai dengan adanya cahaya yang menjulang tinggi
vertikal di ufuk timur; Ini dinamakan fajar kadzib. Cahaya tersebut kemudian menyebar di cakrawala secara horizontal, dan ini dinamakan fajar shaddiq.
Bagi penentuan jadwal waktu salat yakni munculnya fajar shaddiq dan hilangnya syafaq di petang hari, terdapat variasi penentuan sudut twilight oleh
berbagai organisasi. Banyak di antara umat Islam menggunakan Twilight Astronomis yakni ketika Matahari berada 18° di bawah horizon sebagai waktu fajar shaddiq.
Sebagian yang lain menetapkan kriteria fajar shaddiq atau syafaq terjadi ketika Matahari berada 17°, 19°, 20°, dan bahkan 21°. Sebagian yang lain bahkan
menggunakan kriteria penambahan 90 menit, 75 menit, atau 60 menit.
Universitas Sumatera Utara
Sebuah penelitian dan observasi di berbagai tempat di dunia menunjukkan bahwa penentuan sudut twilight tertentu ternyata tidak valid tidak bisa berlaku untuk
seluruh tempat di bumi ini terhadap peristiwa fajar shaddiq dan hilangnya syafaq. Peristiwa tersebut merupakan fungsi dari letak lintang dan musim yang bervariasi di
tempat satu dan lainnya. Wikipedia,2012. .
2.1.3. Menghitung Waktu Shalat
Seiring dengan perkembangan ilmu pengetahuan para ahli astronomi berusaha membuat rumus waktu shalat berdasarkan konsep posisi matahari disuatu daerah,
dengan melihat berdasarkan geografis dan ketinggian suatu tempat di permukaan bumi.
Sehingga dengan adanya rumusan matematika ini dapat ditentukan posisi matahari tanpa harus melihat secara langsung dimana matahari berada. Untuk menentukan
waktu lima shalat wajib di suatu tempat pada tanggal tertentu, ada beberapa parameter yang mesti diketahui:
1. Koordinat lintang tempat tersebut L ataulatitude. Daerah yang terletak di
sebelah utara garis khatulistiwa ekuator memiliki lintang positif. Sebaliknya, untuk yang disebelah selatan lintangnya negatif.
2. Koordinat bujur tempat tersebut B atau longitude. Daerah yang terletak
disebelah timur Greenwich memiliki bujur positif.
Universitas Sumatera Utara
3. Zona waktu tempat tersebut Z. Daerah yang terletak di sebelah timur
Greenwich memiliki Z positif. 4.
Ketinggian lokasi dari permukaan laut H atau altidude. ketinggian lokasi dari permukaan laut H menentukan waktu kapan terbit dan terbenamnya
matahari. Tempat yang berada tinggi di atas permukaan laut akan lebih awal menyaksikan matahari terbit serta lebih akhir melihat matahari terbenam,
dibandingkan dengan tempat yang lebih rendah. Satuan H adalah meter. 5.
Tanggal D, Bulan M dan Tahun Y. Merupakan parameter yang diperlukan untuk waktu shalat pada tanggal tersebut. Dari tanggal, bulan dan
tahun selanjutnya di hitung nilai Julian Day JD. Dengan rumus sebagai berikut:
�� = 17220994.5 + ���365.25 × � + ����30.6001� + 1� + � + � Keterangan:
a. INT: nilai hasil penjumlahan di ubah ke nilai integer bilangan bulat
b. Jika M2, maka M dan Y tidak berubah,
c. Jika M = 1 atau M = 2, maka M +12 dan Y dikurangi 1
d. � = 2 + ��� �
� 4
� − �; dimana � = ���
� 100
.
Nilai JD berlaku untuk pukul 12.00 UT atau saat tengah hari di Greenwich. Untuk JD yang digunakan dalam perhitungan yaitu JD lokasi tempat yang
ingin ditentukan waktu shalat. Diperoleh dari JD pukul 12.00 UT waktu Greenwich dikurangi dengan Z24, dimana Z adalah zona waktu lokal tersebut.
6. Sudut Deklinasi Matahari DM. Deklinasi matahari DM untuk satu tanggal
tertentu dapat dihitung dengan menggunakan rumus berikut:
Universitas Sumatera Utara
�� = 0.37877 + 23.264 × sin57.297 ×
� − 79.547 + 0.3812 × sin2 × 57.297 ×
� − 82.682 + 0.17132 × sin3 × 57.297 ×
� − 59.722
Keterangan: T adalah Sudut tanggal, dengan rumus,
� = 2 × � × �� − 2451545365.25
7. Equation of Time ET. Equation of Time untuk satu tanggal dapat dihitung,
dengan rumus: �� = −1789 + 237 × � × sin�0 − 7146 − 62 × � × cos�0 +
9934 − 14 × � × sin2 × �0 + 74 + 10 × � × sin3 × �0 +
320 − 4 × � × cos3 × �0 − 212 × sin4 × �01000
Keterangan: a.
L0 adalah Bujur rata-rata matahari,L0 = 280,46607 + 36000,7698 × U b.
U = JD – 245154536525. 8.
Altitude matahari waktu Subuh dan Isya. Subuh saat fajar menyingsing pagi disebut dawn astronomical twilight yaitu ketika langit tidak lagi gelap dimana
atmosfer bumi mampu membiaskan cahaya matahari dari bawah ufuk. Sementara Isya disebut dusk astronomicaltwilight ketika langit tampak gelap
karena cahaya matahari di bawah ufuk tidak dapat lagi dibiaskan oleh atmosfer. Nilai altitude matahari berasal dari ketika langit berubah dari gelap
menjadi mulai terang, ketika fajar menyingsing di pagi hari dan menyebar secara horisontal dengan seragam. Altitude matahari sangat menentukan
metode perhitungan waktu shalat, dimana perbedaan 1 derajat dapat
Universitas Sumatera Utara
memberikan perbedaan waktu sekitar 4 menit. Terdapat beberapa pendapat mengenai nilai altitude matahari seperti tampak pada tabel berikut.
Tabel 2.1 Altitude Matahari Saat Subuh dan Isya
9. Tetapan panjang bayangan Ashar, dalam hal ini terdapat dua pendapat
berbeda. Pendapat madzhab Imam Syafii menyatakan panjang bayangan benda saat Ashar adalah tinggi benda ditambah panjang bayangan saat Zhuhur.
Sementara madzhab Imam Hanafi menyatakan panjang bayangan benda saat Ashar sama dengan dua kali tinggi benda ditambah panjang bayangan saat
Zhuhur. Setiap parameter sangat menentukan datangnya waktu shalat, bila salah satu
parameter kurang akurat maka ketepatan datangnya waktu shalat akan sebanding.
Universitas Sumatera Utara
Waktu shalat dapat ditentukan dengan menggunakan rumus-rumus pergerakkan matahari dengan tepat. Berikut adalah rumus waktu shalat:
1. Rumus Waktu Shalat Subuh
2. Rumus Waktu Shalat Zuhur
����� ��ℎ�� = 12 + � − �
15 −
�� 60
3. Rumus Waktu Shalat Ashar
Dimana MA merupakan Mazhab yang digunakan, MA sama dengan 1 untuk mazhab imam Syafii dan MA sama dengan 2 untuk Mazhab imam Hanafi.
4. Rumus Waktu Shalat Magrib
Universitas Sumatera Utara
5. Rumus Waktu Shalat Isya
2.2 Kiblat
2.2.1. Pengertian Kiblat
Dalam Quran, dikatakan Muslim harus menghadap Kabah di Mekkah selagi menegakkan shalat. Cukuplah bagi mereka yang tidak berada di Mekkah berdiri
mengarah ke sana sehingga orang bisa mengatakan “ia berdiri dalam arah Kiblat.”Agama Islam memperkenalkan Kabah sebagai pusat pemujaan Allah dan
Muslim diperintahkan menghadap Kiblat di mana pun mereka berada di bumi, sehingga persaudaraan, kesatuan, dan ketertiban di antara mereka dapat
dipertahankan. HarunYahya, 2012.
2.2.2. Menentukan Arah Kiblat
2.2.2.1. Koordinat Posisi Geografis
Bola sphere adalah benda tiga dimensi yang unik dimana jarak antara setiap titik di permukaan bola dengan titik pusatnya selalu sama. Karena bumi sangat mirip dengan
bola, maka cara menentukan arah dari satu tempat misalnya masjid ke tempat lain misalnya Kabah dapat dilakukan dengan mengandaikan bumi seperti bola.
Universitas Sumatera Utara
Setiap titik di permukaan bumi dapat dinyatakan dalam duat koordinat, yaitu bujur longitude dan lintang latitude. Semua titik yang memiliki bujur nol terletak
pada garis meridian Greenwich setengah lingkaran besar yang menghubungkan kutub utara dan selatan dan melewati Greenwich. Sementara itu semua titik yang memiliki
lintang nol terletak pada garis ekuator khatulistiwa.
Bujur timur terletak di sebelah timur Greenwich, sedangkan bujur barat terletak di sebelah barat Greenwich. Sesuai kesepakatan umum, bujur timur bernilai
positif, sedangkan bujur barat bernilai negatif. Sementara itu semua titik yang terletak di sebelah utara ekuator disebut lintang utara, demikian juga untuk titik di selatan
ekuator disebut lintang selatan. Lintang utara bernilai positif, sedangkan lintang selatan bernilai negatif.
Gambar 2.1 Pembagian Bumi Berdasarkan Bujur dan Lintang
Universitas Sumatera Utara
2.2.2.2. Ilmu Ukur Segitiga Bola
Ilmu ukur segitiga bola atau disebut juga dengan istilah trigonometri bola spherical trigonometri adalah ilmu ukur sudut bidang datar yang diaplikasikan pada permukaan
berbentuk bola yaitu dalam hal ini Bumi. Segitiga bola menjadi ilmu andalan tidak hanya untuk menghitung arah kiblat bahkan termasuk jarak lurus dua buah tempat di
permukaan bumi.
Sebagaimana yang sudah disepakati secara umum bahwa yang disebut arah adalah jarak terpendek berupa garis lurus ke suatu tempat, sehingga Kiblat juga
menunjukkan arah terpendek dari suatu lokasi ke Kabah. Karena bentuk bumi yang bulat, jarak ini membentuk busur besar sepanjang permukaan bumi. Lokasi Kabah
berdasarkan pengukuran menggunakan Global Positioning System GPS maupun menggunakan software Google Earth secara astronomi berada di 21° 25 21.04”
Lintang Utara dan 39° 50 34.04”. Perhitungan dan pengukuran arah kiblat dilakukan dengan derajat sudut dari titik kutub Utara, dengan menggunakan alat bantu mesin
hitung atau kalkulator. Adapun untuk menghitung arah kiblat, ada 3 buah variabel yang diperlukan, yaitu:
1. Lokasi Kabah Mekah 2. Lokasi yang akan ditentukan arah kiblatnya.
3. Kutub utara
Universitas Sumatera Utara
Gambar 2.2 Segitiga Bola ABC yang menghubungkan titik A Kabah, titik B Lokasi, dan titik C Kutub Utara
Berdasarkan ketiga variabel ini, lokasi Kabah dan Kutub Utara adalah dua variabel yang tetap, sedangkan Lokasi yang akan ditentukan arah kiblat senantiasa
berubah. Bila ketiga variabel tersebut digambarkan pada permukaan bumi, maka akan membentuk segitiga bola ABC seperti tampak pada Gambar. Dimana titik A
merupakan Lokasi Kabah, B Lokasi yang ditentukan arah kiblat dan titik C Kutub Utara. Titik A Kabah memiliki koordinat bujur Ba dan lintang La. Titik B Lokasi
memiliki koordinat bujur Bb dan lintang Lb. Titik C memiliki lintang 90 derajat. Busur a adalah panjang busur yang menghubungkan titk B dan C. Busur b adalah
panjang busur yang menghubungkan titik A dan C. Busur c adalah panjang busur yang menghubungkan titik A dan B. Sudut C tidak lain adalah selisih antara bujur Ba dan
bujur Bb. Jadi sudut C = Ba – Bb. Sementara sudut B adalah arah menuju titk A Kabah. Jadi arah kiblat dari titik B dapat diketahui dengan menentukan besar sudut
B.
Dianggap jari-jari bumi sama dengan 1. Sudut yang menghubungkan titik di khatulistiwa, pusat bumi dan kutub utara adalah 90 derajat. Karena lintang titik A
Universitas Sumatera Utara
adalah La, maka busur b sama dengan 90 – La. Karena lintang titik B adalah Lb, maka busur a sama dengan 90 – Lb.
2.2.2.3. Rumus Segitiga Bola
Dalam trigonometri bola, terdapat rumus-rumus standar sebagai berikut:
Gambar 2.3. Segitiga Bola
cosb = cosa cosc + sina sinc cosB
cosc = cosa cosb + sina sinb cos C
Dengan menggabungkan ketiga rumus di atas diperoleh rumus sebagai berikut:
Sehingga sudut B adalah: B = arctantanB
Universitas Sumatera Utara
Azimuth arah kiblat ditujukkan oleh sudut B. Azimuth 0 derajat menunjukkan arah utara true north. Nilai B sangat tergantung dari pembilang dan penyebut pada ruas
kanan rumus tanB. Dengan kata lain, nilai B bergantung pada nilai sinBa – Bb dan nilai cosLbtanLa – sinLbcosBa – Bb. Untuk memudahkan, tanB dapat
ditulis sama dengan yx. Sehingga nilai sudut B yang sesuai bergantung pula dari positif atau negatifnya nilai x dan y, dapat dijelaskan sebagai berikut:
1. Jika x positif dan y positif, maka tanB positif yang menghasilkan 0 B 90.
2. Jika x negatif dan y positif, maka tanB negatif yang menghasilkan 90 B
180.
3. Jika x negatif dan y negatif, maka tanB positif yang menghasilkan 180 B
270 atau -180 B -90. Jika B negatif, maka ditambahkan dengan 360 derajat.
4. Jika x positif dan y negatif, maka tanB negatif yang menghasilkan 270 B
360 atau -90 B 0.
Setelah mengetahui sudut azimuth kiblat, maka selanjutnya menentukan kutub utara sejati true north. Dari kutub utara sejati tersebut ditambahkan dengan nilai
azimuth yang ditemukan dengan pergerakkan searah jarum jam, sehingga didapatkan arah kiblat pada lokasi.
2.3. Location Based Service LBS
Layanan Berbasis lokasi adalah layanan informasi yang dapat diakses melalui mobile sevice dengan mengunakan mobile network, yang dilengkapi kemampuan untuk
memanfaatkan lokasi dari mobile device tersebut. LBS memberikan kemungkinan komunikasi dan interaksi dua arah. Oleh karena itu pengguna memberitahu penyedia
Universitas Sumatera Utara
layanan untuk mendapatkan informasi yang dia butuhkan, dengan referensi posisi pengguna tersebut. Layanan berbasis lokasi dapat digambarkan sebagai suatu layanan
yang berada pada pertemuan tiga teknologi yaitu:Geographic Information System, Internet Service, dan Mobile Devices, hal ini dapat dilihat pada gambar LBS adalah
pertemuan dari tiga teknologi.
Secara Garis besar jenis Layanan Berbasis Lokasi juga dapat dibagi menjadi dua, yaitu:
1.Pull Service: Layanan diberikan berdasarkan permintaan dari pelanggan akan kebutuhan suatu informasi. Jenis layanan ini dapat dianalogikan seperti menggakses
suatu web pada jaringan internet. 2.Push Service: Layanan ini diberikan langsung oleh sevice provider tanpa menunggu
permintaan dari pelanggan, tentu saja informasi yang diberikan tetap berkaitan dengan kebutuhan pelanggan.
2.3.1 Komponen LBS
Dalam Layanan Berbasis Lokasi terdapat Lima komponen penting yaitu: 1.
Mobile Devices: Suatu alat yang digunakan oleh pengguna untuk meminta informasi yang dibutuhkan. Informasi dapat diberikan dalam bentuk suara,
gambar, dan text.
Universitas Sumatera Utara
2. Comunication Network: Komponen kedua adalah jaringan komunikasi yang
mengirim data pengguna dan informasi yang diminta dari mobile terminal ke Service Provider kemudian mengirimkan kembali informasi yang diminta ke
pengguna. Communicationnetwork dapat berupa jaringan seluler GSM, CDMA, Wireless Local Area Network WLAN, atau Wireless Wide Area
Network WWAN 3.
Positioning Component: Untuk memproses suatu layanan maka posisi pengguna harus diketahui
4. Service and Aplication Provider: Penyedia layanan menawarkan berbagai
macam layanan kepada pengguna dan bertanggung jawab untuk memproses informasi yang diminta oleh pengguna.
5. Data and Content Provider: Penyedia layanan tidak selalu menyimpan semua
data yang dibutuhkan yang bisa diakses oleh pengguna. Untuk itu, data dapat diminta daridata and Content Provider.
Selanjutnya Service and Aplication Provider mengirim informasi yang telah diolahmelaui jaringan internet dan jaringan komunikasi.Pada akhirnya pengguna dapat
menerima informasiyang diinginkan.
2.3.2. Google Maps
Google Maps merupakan layanan dariGoogle yang mempermudah pengunanya untukmelakukan kemampuan pemetaan untuk aplikasiyang dibuat. Sedangkan Google
Maps APImemungkinkan pengembangan untukmengintegrasikan Google Maps ke
Universitas Sumatera Utara
dalam situs web.Dengan menggunakan Google Maps APImemungkinkan untuk menanamkan situs GoogleMaps ke dalam situs eksternal, di mana situs datatertentu
dapat dilakukan overlay.
Meskipun pada awalnya hanya JavaScriptAPI, API Maps sejak diperluas untuk menyertakansebuah API untuk Adobe Flash aplikasi, layananuntuk mengambil
gambar peta statis, dan layananweb untuk melakukan geocoding,
menghasilkanpetunjuk arah mengemudi, dan mendapatkan profilelevasi.
Kelas kunci dalam perpustakaan Mapsadalah MapView, sebuah subclass dari ViewGroupdalam standar perpustakaan Android. SebuahMapView menampilkan peta
dengan data yangdiperoleh dari layanan Google Maps. BilaMapView memiliki fokus, dapat menangkap tombolyang ditekan dan gerakan sentuh untuk pan danzoom peta
secara otomatis, termasuk penangananpermintaan jaringan untuk ubin peta tambahan. Inijuga menyediakan semua elemen UI yangdiperlukan bagi pengguna untuk
mengendalikanpeta. Aplikasi tersebut juga dapat menggunakanmetode MapView kelas untuk mengontrolMapView secara terprogram dan menariksejumlah jenis Tampilan di
atas peta.
Secara umum, kelas MapViewmenyediakan pembungkus di Google Maps APIyang memungkinkan aplikasi tersebutmemanipulasi data Google Maps melalui
metodekelas, dan itu memungkinkan dikerjakan dengandata Maps seperti jenis lain Views. PerpustakaanMaps eksternal bukan bagian dari perpustakaanAndroid standar,
Universitas Sumatera Utara
sehingga tidak mungkin adapada beberapa perangkat Android biasa.Demikian pula, perpustakaan Maps eksternaltidak termasuk dalam perpustakaan Androidstandar yang
disediakan dalam SDK. Google APIpengaya menyediakan perpustakaan Maps untuksehingga dapat mengembangkan, membangun,dan menjalankan aplikasi berbasis
peta di SDKAndroid, dengan akses penuh ke data GoogleMaps.Arifin et al., 2012.
2.4. Android
2.4.1. Pengertian Android
Android adalah satu kumpulan perangkat lunak yang dapat berupa sistem operasi, middleware, dan aplikasi kunci perangkat mobile. Android terdiri dari satu tumpukan
yang lengkap, mulai dari boot loader, device driver, dan fungsi-fungsi pustaka, hingga perangkat lunak API, termasuk aplikasi dan SDK Software Depelopment Kit. Jadi,
sebenarnya Android bukanlah satu perangkat tertentu, melainkan sebuah platform yang dapat digunakan dan di adaptasikan untuk mendukung berbagai konfigurasi
perangkat keras. Walaupun kelas utama perangkat yang didukung oleh Android adalah telepon mobile, tetapi sekarang ini juga digunakan pada electronic book
readers, netbooks, table, dan set-top boxes STB Collins et al., 2012.
2.4.2. Sejarah Android
Universitas Sumatera Utara
Pada mulanya terdapat berbagai macam sistem operasi pada perangkat selular, diantaranya sistem operasi Symbian, Microsoft Windows Mobile, Mobile Linux,
iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi yang ada belum mendukung standar dan penerbitan API yang dapat dimanfaatkan secara keseluruhan
dan dengan biaya yang murah. Kemudian Google ikut berkecimpung didalamnya dengan platformAndroid, yang menjanjikan keterbukaan, keterjangkauan, open
source, dan framework berkualitas.
Pada tahun 2005, Google mengakuisisi perusahaan Android Inc. Untuk memulai pengembangan platformAndroid. Dimana terlibat dalam pengembangan ini
Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007 sekelompok pemimpin industri bersama-sama membentuk aliansi perangkat selular
terbuka, Open Handset Alliance OHA. Bagian dari tujuan aliansi ini adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan lebih baik,
dengan produk awalnya adalah platformAndroid. Dimana Android dirancang untuk melayani kebutuhan operator telekomunikasi, manufaktur handset, dan pengembang
aplikasi. OHA berkomitmen untuk membuat Androidopen source dengan lisensi Apache versi 2.0.
Android pertama kali diluncurkan pada 5 November 2007, dan smartphone pertama yang menggunakan sistem operasi Android dikeluarkan oleh T-Mobile
dengan sebutan G1 pada bulan September 2008. Hingga saat ini Android telah merilis
Universitas Sumatera Utara
beberapa versi Android untuk menyempurnakan versi sebelumnya. Selain berdasarkan penomoran, pada setiap versi Android terdapat kode nama berdasarkan nama-nama
kue. Hingga saat ini sudah terdapat beberapa versi yang telah diluncurkan, pada tabel berikut diberikan daftar lengkap versi-versi Android hingga peluncuran terakhirnya
pada tahun 2011.
Tabe1 2.2 Versi-Versi Android
Versi Android Tanggal Peluncuran
API Level Nama Kode
1.0 23 September 2008
1 -
1.1 9 Februari 2009
2 -
1.5 30 April 2009
3 Cupcake
1.6 15 September 2009
4 Donut
2.0 26 Oktober 2009
5 Eclair
2.01 3 Desember 2009
6 2.1
31 Maret 2010 7
2.2 20 Mei 2010
8 Froyo Frozen Yoghurt
2.3 6 Desember 2010
9 Gingerbread
2.3.3 9 Februari 2011
10 3.0
12 Februari 2011 11
HoneyComb 3.1
10 Mei 2011 12
3.2 2 Juli 2011
13 4.0
19 Oktober 2011 14
Ice Cream Sandwitch 4.03
16 Desember 2011 15
2.4.3 Anatomi Android
Dalam paket sistem operasi Android tediri dari beberapa unsur seperti tampak pada gambar 2.1. Secara sederhana arsitektur Android merupakan sebuah kernel Linux dan
sekumpulan pustaka C C++ dalam suatu framework yang menyediakan dan mengatur alur proses aplikasi.
Universitas Sumatera Utara
Gambar 2.4 Detail Anatomi Android
2.4.3.1 Linux Kernel
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan Android bukanlah linux, karena dalam Android tidak terdapat paket standar yang dimiliki oleh
linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada Android hanya terdapat beberapa servis
yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash
Memory, audio, dan IPC Interprocess Communication untuk mengatur aplikasi dan lubang keamanan.
2.4.3.2. Libraries
Universitas Sumatera Utara
Android menggunakan beberapa paket pustaka yang terdapat pada CC++ dengan standar Berkeley Software Distribution BSD hanya setengah dari yang aslinya untuk
tertanam pada kernel Linux. Beberapa pustaka diantaranya: 1.
Media Library untuk memutar dan merekam berbagai macam format audio dan video.
2. Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.
3. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D
dan 3D. 4.
SQLite untuk mengatur relasi database yang digunakan pada aplikasi. 5.
SSl dan WebKit untuk browser dan keamanan internet.
Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android 1.5,
pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native Development Toolkit NDK.
2.4.3.3. Android Runtime
Pada Android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi Android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain
yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual
Universitas Sumatera Utara
yang membuat aplikasi Android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya:
1. Pustaka Inti, Android dikembangkan melalui bahasa pemrograman Java, tapi
Android Runtime bukanlah mesin virtual Java. Pustaka inti Android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta
beberapa pustaka khusus Android. 2.
Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah
perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable .dex.
Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel
Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas.
2.4.3.4. Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi Android. Selain itu, juga menyediakan abstraksi generik
untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi Android adalah sebagai berikut:
1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan
menjaga keadaan ”Backstack“ untuk navigasi penggunaan. 2.
Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.
Universitas Sumatera Utara
3. Resuource Manager, untuk mengatur sumber daya yang ada dalam program.
Serta menyediakan akses sumber daya diluar kode program,seperti karakter, grafik, dan file layout.
4. Location Manager, berfungsi untuk memberikan informasi detail mengenai
lokasi perangkat Android berada. 5.
Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.
2.4.3.5. Application Layer
Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan
program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android
runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi.
Lapisan aplikasi Android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada Android semua aplikasi, baik aplikasi inti native maupun aplikasi
pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API Application Programming Interface yang sama.
2.4.4. Komponen Aplikasi
Universitas Sumatera Utara
Fitur penting Android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain untuk aplikasi yang memungkinkan. Sebagai contoh, sebuah aplikasi
memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka pengembang tidak
perlu lagi mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller yang telah ada.
Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian
itu. Oleh karenanya Android berbeda dari sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main pada aplikasi lain. Sebaliknya,
aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan.
2.4.4.1. Activities
Activity merupakan bagian yang paling penting dalam sebuah aplikasi, karena Activity menyajikan tampilan visual program yang sedang digunakan oleh pengguna. Setiap
Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap Event. Setiap
aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi dijalankan.
Perpindahan antara activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh posisinya
Universitas Sumatera Utara
dalam tumpukan acitivity, LIFO Last In First Out dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka
akan dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup activity yang sedang
digunakan, maka activity yang berada diatas akan aktif kembali. Memory Manager Android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi
berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.
Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi, yaitu:
1. Active, setiap activity yang berada ditumpukan paling atas, maka dia akan
terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup dengan
segala cara, bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka yang
lainnya akan dihentikan sementara.
2. Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada
kondisi inilah disebut paused. Keadaan ini terjadi jika activity transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan paused, dia terlihat
active namun tidak dapat menerima masukkan dari pengguna. Dalam kasus ekstrim, Android akan menghentikan activity dalam keadaan paused ini, untuk
menunjang sumber daya bagi activity yang sedang aktif.
Universitas Sumatera Utara
3. Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut
stopped. Activity akan tetap berada dalam memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi kandidat utama untuk dieksekusi
oleh sistem ketika membutuhkan sumberdaya lebih. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi
antarmuka saat itu. Karena ketika activity telah keluar atau ditutup, maka dia akan menjadi inactive.
4. Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan.
Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu restart ulang agar dapat tampil dan digunakan kembali. Kondisi transisi ini
sepenuhnya ditangani oleh manajer memori Android. Android akan memulai menutup aplikasi yang mengandung activity inactive, kemudian stopped
activity, dan dalam kasus luar biasa paused activity juga akan di tutup.
2.4.4.2. Services
Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas. Komponen service diproses tidak terlihat,
memperbarui sumber data dan menampilkan notifikasi. Service digunakan untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika Activity tidak
aktif atau tidak tampak.
Universitas Sumatera Utara
2.4.4.3. Intents
Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya. Intents tidak selalu
dimulai dengan menjalankan aplikasi, namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan masuk. Intents dapat
eksplisit atau implisit, contohnya jika suatu aplikasi ingin menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh Intents tersebut.
2.4.4.4. Broadcast Receivers
Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian besar
Broadcast berasal dari sistem misalnya, Baterai sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default pada perangkat.
Sama halnya dengan service, Broadcast Receivers tidak menampilkan antarmuka pengguna. Namun, Broadcast Receivers dapat menggunakan Notification Manager
untuk memberitahukan sesuatu kepada pengguna.
2.4.4.5. Content Providers
Content Providers digunakan untuk mengelola dan berbagi database. Data dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain yang pada
prinsipnya sama. Dengan adanya Content Provider memungkinkan antar aplikasi
Universitas Sumatera Utara
untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya.
2.4.5. Tipe Aplikasi Android
Terdapat tiga kategori aplikasi pada Android, yaitu:
1. Foreground Activity
Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan siklus
hidup activity, sehingga perpindahan antar activity dapat berlangsung dengan lancar.
2. Background Service
Aplikasi yang memiliki interaksi terbatas dengan user, selain dari pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar. Contohnya aplikasi
penyaringan panggilan atau sms auto respon.
3. Intermittent Activity
Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna, namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan
memberi tahu pengguna tentang kondisi tertentu. Contohnya pemutar musik. Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori aplikasi tersebut apalagi
aplikasi memiliki ciri-ciri dari semua kategori. Oleh karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan menentukan kategori aplikasi yang sesuai.
2.4.6. Siklus Hidup Aplikasi Android
Siklus hidup aplikasi Android dikelola oleh sistem, berdasarkan kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin menjalankan
browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi.
Universitas Sumatera Utara
Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika pengguna ketika itu sedang menjalankan
sebuah Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan sistem membutuhkan
sumber daya yang lebih, maka Activity yang prioritas rendah akan ditutup.
Android menjalankan setiap aplikasi dalam proses secara terpisah, yang masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi
penggunaan memori pada aplikasi. Selain itu juga Android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya Android sangat sensitive dengan
siklus hidup aplikasi dan komponen-komponennya. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar 2.2 Prioritas
menunjukkan prioritas dari aplikasi.
Gambar 2.5 Prioritas Aplikasi Berdasarkan Activity
Universitas Sumatera Utara
2.4.7. Kelebihan Android
Sudah banyak platform untuk perangkat selular saat ini, termasuk didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile
LiM0, dan banyak lagi. Namun ada beberapa hal yang menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul sebelumnya pada platform lain,
Android adalah yang pertama menggabungkan hal seperti berikut:
1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap sistem
karena berbasiskan Linux dan open source. Pembuat perangkat menyuka hal ini karena dapat membangun platform yang sesuai yang diinginkan tanpa harus
membayar royality. Sementara pengembang software menyukai karena Android dapat digunakan diperangkat manapun dan tanpa terikat oleh vendor
manapun.
2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet
Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang
dikembangkan.
3. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam
layanan pada aplikasi seperti penggunaan layanan pencarian lokasi, database SQL, browser dan penggunaan peta. Semua itu sudah tertanam pada Android
sehingga memudahkan dalam pengembangan aplikasi.
Universitas Sumatera Utara
4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara satu
sama lain oleh berbagai lapisan keamanan, sehingga kerja sistem menjadi lebih stabil. Pengguna tak perlu kawatir dalam menggunakan aplikasi pada
perangkat yang memorinya terbatas.
5. Dukungan grafis dan suarat terbaik, dengan adanya dukungan 2D grafis dan
animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game yang berbeda.
6. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada saat ini
maupun yang akan datang. Semua program ditulis dengan menggunakan bahas pemrograman Java dan dieksekusi oleh mesin virtual Dalvik, sehingga kode
program portabel antara ARM, X86, dan arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan Keyboard, layar sentuh,
trackball dan resolusi layar semua dapat disesuaikan dengan program.
2.4.8. Lingkungan Pengembangan Android
Untuk membangun perangkat lunak aplikasi Android, ada beberapa perkakas tools yang diperlukan, mulai dari lingkungan pengembangan, alat-alat bantu pengembagan
kompiler, dll. Haseman, 2008; Mednieks et al., 2010.
2.4.8.1. Java Development Kit JDK
Universitas Sumatera Utara
JDK menyediakan perkakas yang diperlukan untuk mengembangkan program Java, yang memuat semua perkakas tools dan pustaka libraries yang dibutuhkan untuk
menjalankan aplikasi berbasis Java, misalnya Java compiler yang digunakan oleh IDE dan SDK. Disamping itu, JDK juga memuat Java Runtime Environment JRE yang
memungkinkan program Java seperti Eclipse, hanya JRE nilai yang diperlukan.
2.4.8.2. IDE Eclipse
Eclipse adalah sebuah IDE Integrated Development Environment untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform platform-
independent. Berikut ini adalah sifat dari Eclipse:
1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows,
Linux, Solaris, AIX, HP-UX dan Mac OS X. 2.
Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa
pemrograman lainnya, seperti CC++, Cobol, Python, Perl, PHP, dan lain sebagainya.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa
digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain
sebagainya.
Universitas Sumatera Utara
Gambar 2.6 Eclipse Indigo
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak
ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang
dinamakan plug-in.
2.4.8.3. Android SDK
Android Software Development Kit SDK adalah sekumpulan file yang terdiri dari pustaka, kode eksekusi, skrip, dokumentasi dll. Android SDK dapat di unduh secara
gratis di Google.
2.4.8.4. Build Target
Build Targe adalah aplikasi akhir sesuai dengan versi Android yang mendukung bermacam-macam versi sitem operasi Android dengan level API Aplication
Universitas Sumatera Utara
Programming Interface. Untuk keperluan ini digunakan SDK dan AVD Android Virtual Device Manager. API merupakan inti dari Android SDK yang memuat
kumpulan fungsi, metode, sifat-sifat, class, dan pustaka yang digunakan oleh pengembang aplikasi untuk mebuat program yang sesuai untuk platform tertentu. API
terdiri dari kumpulan Google API dan Optional API.
2.4.8.5. Android Development Tools ADT
ADT menambahkan fungsionalitas khusus Android pada Eclipse, sehingga Eclipse dapat membangun aplikasi Android, menjalankan Android Emulator, terhubung ke
layanan debugging pada emulator, menyunting berkas XML Android, membuat paket aplikasi Android berkas-berkas.apk, dan melaksanakan tugas-tugas spesifik Android.
Dengan Android Emulator, misalnya, kita dapat menjalankan aplikasi untuk versi Android dan level API tertentu dari komputer tanpa harus menjalankan langsung di
peralatan yang diperlukan. Sitompul, 2012.
Universitas Sumatera Utara
Bab 3
PERANCANGAN SISTEM
3.1. Perancangan Aplikasi
Sistem aplikasi pengingat shalat, pencari arah kiblat dan posisi masjid ini diberi nama Tasbih, sehingga untuk selanjutnya penyebutan sistem aplikasi pengingat shalat dan
arah kiblat ini adalah Tasbih.Aplikasi Tasbih memiliki beberapa buah form yang dirancang untuk mempermudah penggunaannya. Form-form tersebut dirancang
sesederhana mungkin yang bertujuan untuk mengurangi ketidak-jelasan informasi yang akan diberikan aplikasi ini.
3.1.1. Form Jendela Utama
Form jendela utama merupakan form utama yang terdapat dalam aplikasi Tasbih. Form ini merupakan form yang akan pertama kali muncul saat program di jalankan.
Form ini memiliki 5 buah Menu yang akan muncul saat tombol Menu pada handphone android di tekan Menu-Menu tersebut berfungsi seperti shortcut untuk mengarahkan
user ke form-form lain, yang ada pada aplikasi Tasbih.
Universitas Sumatera Utara
Gambar 3.1 Desain Layar Tampilan Menu Utama
Keterangan Gambar: 1.
Teks dan Gambar Berisi teks Pencari Kiblat dan gambar Ka’bah.
2. Teks dan Gambar
Berisi teks Jadwal Shalat dan gambar Jam. 3.
Teks dan Gambar Berisi teks Cari Masjid dan gambar Masjid.
4. Teks dan Gambar
Berisi teks Tentang Program dan gambar tanda tanya 5.
Teks dan Gambar Berisi teks Keluar dan gambar Pintu Keluar
Universitas Sumatera Utara
3.1.2. Form Pencari Kiblat
Form ini berisi informasi tentang posisi kiblat yang dalam prakteknya form ini akan Menunjukkan arah kiblat dari posisi user berada.
Gambar 3.2 Desain Layar Tampilan Pencari Posisi Kiblat
Keterangan: 1. Kompas Kiblat
Merupakan tampilan dua dimensi yang akan Menujukkan arah kiblat.
Universitas Sumatera Utara
3.1.3. Form Jadwal Shalat
Form ini berisi informasi tentang jadwal shalat pada daerah user berada. Form ini berisikan waktu shalat wajid mulai dari waktu shalat subuh sampai isya. Dalam form
ini terdapat sebuah Menu pengaturan pengingat jadwal shalat yang akan mendirect user ke form atur pengingat waktu shalat jika Menu di tekan.
Gambar 3.3 Desain Layar Tampilan Jadwal Shalat
Keterangan Gambar: 1.
Latar Belakang Latar belakang ini akan dibuat berisikan gambar berbentuk masjid.
2. Teks
Merupakan jadwal shalat yang akan ditampilkan berupa teks secara berurut dari subuh hingga isya, dimana disebelah kanannya berisikan teks informasi
jam shalat.
Universitas Sumatera Utara
3.1.3.1. Form Atur Pengingat Waktu Shalat
Form ini berisi dua text view jam dan menit waktu shalat terdekat dan dua tombol start dan stop untuk menghidupkan dan menghentikan modul notifikasi alarm.
Gambar 3.4 Desain Layar Tampilan Atur Pengingat Waktu Shalat
Keterangan: 1.
Judul Merupakan judul dari form yaitu Atur Pengingat Waktu Shalat
2. Teks
Berisikan Jam dan Menit waktu shalat Terdekat. 3.
Button Button TriggerPemicu yang akan mengatur alarm pengingat waktu shalat
sesuai dengan yang diisikan oleh user. 4.
Button
Universitas Sumatera Utara
Button TriggerPemicu yang akan menghentikan alarm pengingat yang telah di setting sebelumnya.
5. Latar Belakang
Latar belakang ini akan dibuat berisikan gambar berbentuk masjid
3.1.2. Form Pencari Posisi Mesjid
Form ini berisi tampilan Google Map yang di dalamnya berada marker-marker yang menandai posisi kita dan posisi masjid-masjid yang berada di sekitar user.
Gambar 3.5 Desain Layar Tampilan Pencari Posisi Masjid Terdekat
Keterangan: 1.
Map Merupakan map dari google yang berisi marker posisi kita saat ini dan posisi
masjid-masjid di sekitar kita
Universitas Sumatera Utara
3.1.3. Form Tentang Program
Tampilan antar muka tentang program dibuat dengan tampilan layaknya tampilan web. Sehingga dalam implementasi nantinya menggunakan kode program HTML. Hal
ini dilakukan untuk memudahkan pengguna dalam menghubungi pengembang. Adapun desain perancangan antarmuka tentang program adalah sebagai berikut:
Gambar 3.6 Desain Layar Tampilan Tentang Program
Keterangan Gambar: 1.
Teks Berisi teks penjelasan mengenai aplikasi tasbih.
2. Gambar
Berisi gambar Tasbih 3.
Teks
Universitas Sumatera Utara
Berisi informasi mengenai fitur-fitur yang tersedia pada aplikasi. 4.
Teks Berisi teks ucapan terima kasih terhadap pihak-pihak yang ikut terlibat dalam
pengembangan aplikasi. 5.
Teks Berisi teks informasi umum mengenai pengembang, alamat sistus dan
dukungan email langsung kepada pengembang.
3.2. Diagram Alir Flowchart
Diagram Alir atau Flowchart merupakan serangkaian bagan-bagan yangmenggambarkan alur program. Pada diagram alir ini digambarkan urutan
prosedurdalam program Tasbih.
Gambar 3.7 Diagram Alir Sistem
Universitas Sumatera Utara
3.3. Sequence Diagram
Sequence Diagram menggambarkan interaksi antar objek di dalam dandisekitar sistem termasuk pengguna, display, dan sebagainya berupa messageyang digambarkan
terhadap waktu. Sequence diagram terdiri atas dimensi vertikalwaktu dan dimensi horizontal objek-objek yang terkait.Pada sequence diagram ini menggambarkan
skenario atau rangkaianlangkah-langkah yang dilakukan pada sistem sebagai respon dari sebuah eventuntuk menghasilkan output tertentu.
Universitas Sumatera Utara
Gambar 3.8 Diagram Sequence
Menghentikan Peringatan
user
Tasbih
Location Manager Sensor Manager
Notification Manager
Lihat Jadwal Shalat
Meminta Lokasi
Latitude,Longitude, Altitude
Tampil Jadwal Shalat
Lihat Arah Kiblat Meminta Lokasi
Latitude, Longitude
Posisi Perangkat Arah Kiblat
Cari Masjid Terdekat
Meminta Lokasi Latitude, Longitude
Posisi Perangkat Peta Masjid
Atur Alarm Pengingat
Peringatan Waktu Shalat
Universitas Sumatera Utara
Bab 4
IMPLEMENTASI SISTEM
4.1. Spesifikasi Perangkat Keras dan Lunak