Sistematika Penulisan Diagram Alir Flowchart Sequence Diagram

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