P. 1
Muhammad Amiral - Tugas Akhir

Muhammad Amiral - Tugas Akhir

|Views: 5,979|Likes:
Dipublikasikan oleh Rio R Ariestyo

More info:

Published by: Rio R Ariestyo on Jul 25, 2011
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/06/2013

pdf

text

original

Sections

  • BAB 1 Pendahuluan
  • 1.1. Latar Belakang
  • 1.2. Rumusan Masalah
  • 1.3. Tujuan
  • 1.4. Manfaat
  • 1.5. Batasan Masalah
  • 1.6. Metode Penelitian
  • 1.7. Sistematika Penulisan Laporan
  • BAB 2 Landasan Teori
  • 2.1. Shalat
  • 2.1.1. Pengertian Shalat
  • 2.1.2. Waktu Shalat - Shalat Fardhu
  • 2.1.3. Menghitung Waktu Shalat
  • 2.2. Kiblat
  • 2.2.1. Pengertian Kiblat
  • 2.2.2. Menentukan Arah Kiblat
  • 2.2.2.1. Koordinat Posisi Geografis
  • Gambar 2.1 Pembagian Bumi Berdasarkan Bujur dan Lintang
  • 2.2.2.2. Ilmu Ukur Segitiga Bola
  • 2.2.2.3. Rumus Segitiga Bola
  • Gambar 2.3 Segitiga Bola
  • 2.3. Android
  • 2.3.1. Pengertian Android
  • 2.3.2. Sejarah dan Perkembangan Android
  • 2.3.3. Anatomi Android
  • Gambar 2.4 Detail Anatomi Android
  • 2.3.3.1. Linux Kernel
  • 2.3.3.2. Libraries
  • 2.3.3.3. Android Runtime
  • 2.3.3.4. Application Framework
  • 2.3.3.5. Application Layer
  • 2.3.4. Komponen Aplikasi
  • 2.3.4.1. Activities
  • 2.3.4.2. Services
  • 2.3.4.3. Intents
  • 2.3.4.4. Broadcast Receivers
  • 2.3.4.5. Content Providers
  • 2.3.5. Tipe Aplikasi Android
  • 2.3.6. Siklus Hidup Aplikasi Android
  • 2.3.7. Kelebihan Android
  • BAB 3 Analisis dan Perancangan
  • 3.1. Analisis Kebutuhan Kupluk
  • 3.1.1. Analisis Fungsional
  • 3.1.2. Performansi Kupluk
  • 3.1.3. Use Case Diagram
  • Gambar 3.1 Diagram Use Case
  • 3.1.4. Diagram Alir (Flowchart)
  • Gambar 3.2 Diagram Alir Sistem
  • 3.2. Perancangan Kupluk
  • 3.2.1. Diagram Kelas
  • Gambar 3.3 Diagram Kelas dan Relasi Antar Kelas
  • Tabel 3.1 Kelas, Atribut dan Method
  • 3.2.2. Sequence Diagram
  • Gambar 3.4 Diagram Sequence
  • 3.2.3. Perancangan Navigasi
  • Gambar 3.5 Struktur Navigasi
  • 3.2.4. Perancangan Antar Muka (Interface)
  • 3.2.4.1. Perancangan Antar Muka Menu
  • Gambar 3.6 Desain Layar Tampilan Menu Utama
  • 3.2.4.2. Perancangan Antar Muka Jadwal Shalat
  • Gambar 3.7 Desain Layar Tampilan Jadwal Shalat
  • 3.2.4.3. Perancangan Antar Muka Arah Kiblat
  • Gambar 3.8 Desain Layar Tampilan Arah Kiblat
  • 3.2.4.4. Perancangan Antar Muka Pengaturan
  • Gambar 3.9 Desain Layar Tampilan Pengaturan
  • 3.2.4.5. Perancangan Antar Muka Tentang
  • Gambar 3.10 Desain Layar Tampilan Antarmuka Tentang
  • 4.1. Spesifikasi Perangkat Keras dan Lunak
  • 4.1.1. Spesifikasi Perangkat Keras
  • 4.1.2. Spesifikasi Perangkat Lunak
  • 4.2. Penulisan Kode Program (Codding)
  • 4.2.1. Pembuatan Tampilan Utama
  • 4.2.1.1. Pembuatan Tampilan Antarmuka Tampilan Utama
  • 4.2.1.2. Pembuatan Kelas PerhitunganShalat
  • 4.2.1.3. Pembuatan Kelas FormatWaktu
  • 4.2.1.4. Pembuatan Kelas KuplukMain
  • 4.2.2. Pembuatan Tampilan Arah Kiblat
  • 4.2.2.1. Pembuatan Kelas KiblatView
  • 4.2.2.2. Pembuatan Tampilan Antarmuka Arah Kiblat
  • 4.2.2.3. Pembuatan Kelas Kiblat
  • 4.2.3. Pembuatan Tampilan Pengaturan
  • 4.2.3.1. Pembuatan Tampilan Antarmuka Pengaturan
  • 4.2.3.2. Pembuatan Kelas Pengaturan
  • 4.2.4. Pembuatan Tampilan Tentang
  • 4.2.4.1. Pembuatan Tampilan Antarmuka Tentang
  • 4.2.4.2. Pembuatan Kelas Antarmuka Tentang
  • 4.3. Pengujian
  • Gambar 4.2 Antarmuka Menu Utama
  • Gambar 4.4 Antarmuka Pengaturan
  • Gambar 4.6 Antarmuka Pengaturan Mazhab
  • Gambar 4.8 Antarmuka Pengaturan Mode Pengingat
  • Gambar 4.10 Antarmuka Tentang
  • 4.3.1. Pengujian Black Box Fitur Jadwal Shalat
  • Gambar 4.14 Jadwal Shalat RHI Bulan Februari
  • 4.3.2. Pengujian Black Box Arah Kiblat
  • Gambar 4.17 Perangkat diputar 90 o
  • Gambar 4.19 Perangkat diputar 270 o
  • 4.4. Distribusi
  • Gambar 4.21 Android Market
  • BAB 5 Kesimpulan dan Saran
  • 5.1. Kesimpulan
  • 5.2. Saran
  • DAFTAR PUSTAKA

Aplikasi Pengingat Shalat dan Arah Kiblat Menggunakan Global Positioning System (GPS) Berbasis Android 1.

6

TUGAS AKHIR

Oleh:

Muhammad Amiral 115.06.0034

PROGRAM STUDI TEKNIK INFORMATIKA INSTITUT TEKNOLOGI INDONESIA 2010

TUGAS AKHIR:

Aplikasi Pengingat Shalat dan Arah Kiblat Menggunakan Global Positioning System (GPS) Berbasis Android 1.6

Laporan Tugas Akhir ini disusun sebagai salah satu syarat Untuk memperoleh gelar Sarjana Teknik Pada Program Studi Teknik Informatika Institut Teknologi Indonesia

Oleh:

Muhammad Amiral 115.06.0034

PROGRAM STUDI TEKNIK INFORMATIKA INSTITUT TEKNOLOGI INDONESIA 2010

LEMBAR PENGESAHAN
Judul Tugas Akhir : Aplikasi Pengingat Shalat dan Arah Kiblat Menggunakan Global Positioning System (GPS) Berbasis Android 1.6 Nama NRP : Muhammad Amiral : 115.06.0034

TUGAS AKHIR INI TELAH DIPERIKSA DAN DISETUJUI Serpong, __ Maret 2010

Mengetahui,

Dra. Endang RD, M.Kom

Yustina Sri Suharini, MT

Ketua Program Studi

Pembimbing Tugas Akhir

Tugas Akhir ini ku persembahkan kepada Wanita Super dalam hidupku, Mama. Senantiasa berupaya untuk dapat terus memberi kepada anak-anaknya, agar selalu menjadi yang terbaik.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia

ABTRAKSI
Ibadah shalat lima waktu merupakan kewajiban yang harus senantiasa dikerjakan oleh umat muslim, setiap hari. Melaksanakan sesuai dengan waktu-waktu yang telah ditentukan serta menghadap kearah kiblat merupakan keutamaan dalam menunaikan ibadah wajib ini. Tentunya dalam era modern ini umat muslim tidak boleh menjadikan kesibukannya sebagai alasan untuk melalaikan perintah shalat. Oleh karenanya umat muslim perlu disiplin dalam membagi waktu. Pemanfaatan perangkat Handphone sebagai pendamping dalam melaksanakan kegiatan seharihari sudah sangat lumrah bagi sebagian orang. Hal ini dikarenakan beberapa Handphone sudah memiliki fungsi dan kemampuan lebih dari sekedar fungsi dasarnya. Android sebagai sistem operasi yang dapat ditanamkan pada perangkat handphone memiliki kemampuan untuk dapat diinstal aplikasi-aplikasi yang diperlukan oleh pengguna. Pada tugas akhir ini dikembangkan aplikasi pengingat shalat dan arah kiblat atau yang diberi nama Kupluk, diharapkan umat muslim yang menggunakan perangkat handphone berbasiskan sistem operasi Android dapat terbantu untuk tetap melaksanakan ibadah tepat waktu dan sesuai dengan arah kiblat yang benar.

Keywords: Android, Aplikasi Pengingat Shalat dan Arah Kiblat, Kupluk

4miral@gmail.com

i

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia

KATA PENGANTAR

Pertama-tama penulis panjatkan puji syukur atas kehadiran Allah S.W.T karena atas rahmat dan karunia-Nyalah akhirnya laporan tugas akhir ini dapat penulis selesaikan. Tak lupa pula shalawat dan salam penulis panjatkan kepada Nabi akhir zaman Muhammad S.A.W, karena berkat perjuangannyalah karunia Iman dan Islam senantiasa menjadi inspirasi bagi penulis. Adapun maksud penulisan Laporan Tugas Akhir ini adalah sebagai gambaran terhadap apa yang penulis kerjakan pada Tugas Akhir. Selain itu juga laporan ini sebagai syarat untuk pelaksanaan mata kuliah Tugas Akhir dalam menyelesaikan program studi strata satu (S-1) di Institut Teknologi Indonesia. Oleh karenanya, pada kesempatan ini penulis ingin mengucapkan banyak terima kasih kepada: 1. Kedua orang tua, khususnya mama yang telah memberikan dukungan materil dan imateril semangat, kasih sayang, dan pengorbanan kepada penulis yang tak terhitung dan ternilai jumlahnya. 2. Ibu Dra. Endang RD, M.Kom selaku Ketua Program Studi Teknik Informatika. 3. Ibu Yustina SS, MT. Selaku Penasehat Akademik, Koordinator Tugas Akhir, dan Dosen Pembimbing penulis menyelesaikan laporan Tugas Akhir ini. Telah memberikan Saran-saran perbaikan, pengetahuan dan dorongan dalam penyelesaian Tugas Akhir Penulis.

4miral@gmail.com

ii

paman dan saudara lainnya yang tak bisa disebutkan satu-satu. Panji. 6. G : Eko. 9. Bejo. menambahkan dukungan. Para Dosen penguji Tugas Akhir. Budi Prasetyo. Keluarga yang selalu mengasihi. dan Bapak Sunarto. Teman-teman alumni Ma’had Al-Zaytun khususnya angkatan kedua (Persada). dan Slamet. 10. Dana. Babun. Ade. Rizqi. 2007 dan 2008. terima kasih untuk bimbingan dan pengajarannya. Vinda.Kom. Dadi. Teman-teman Teknik Informatika angkatan 2006 khususnya Aktifis-aktifis himpunan periode 2008-2009 dan penghuni Perumahan Serpong City Paradise Block. semangat. Marina. adik-adik. bibi. 7. Emo.com iii . Seluruh Mahasiswa Teknik Informatika 2004. kekompakkan dan kebersamaannya. yang selalu mengingatkan. Terima kasih telah selalu bersama penulis memberikan bantuan yang mungkin saja tanpa kalian penulis tak dapat menyelesaikan masa kuliah ini dengan lancar. Semoga ilmu yang penulis terima kelak bermanfaat untuk penulis. 11. Silvi. Raqib. Seluruh DOSEN PROGRAM STUDI TEKNIK INFORMATIKA ITI. Trisna. Terima kasih atas kerjasama. Gristi. 2005. terima kasih atas motivasinya. dan kasih sayang. Bapak. Endang R. MT. Cipto. Oki Oktaviani. Seseorang yang menjadi impian penulis. Ari.D M. 8. Ramdan. Kiki. telah menguji Tugas Akhir penulis dan memberikan masukkan untuk perbaikan laporan Tugas Akhir penulis. Ibu Dra. 5.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4. Pram. Rado. Bundo. 4miral@gmail. Septian.

Penulis menyadari bahwa Tugas Akhir dan Laporan ini masih jauh dari kesempurnaan.com iv . Amin. Maret 2010 Penulis 4miral@gmail. Oleh karenanya penulis memohon maaf dan selalu terbuka untuk menerima kritik dan saran dari pembaca. Serpong.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Penulis mendoakan untuk semua pihak yang telah membantu penulis mendapatkan imbalan yang setimpal dan senantiasa di berkahi rahmat berlimpah dari Allah S. Semoga dengan terselesaikannya Tugas Akhir dan Laporannya ini dapat memberikan manfaat bagi penulis khususnya dan para pembaca pada umumnya. Mengingat terbatasnya pengetahuan dan kemampuan penulis.T.W.

...................................... 6 Shalat .............7........................................................2......................................................................................................................1............................................. 1 Latar Belakang . 3 Metode Penelitian..........Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia DAFTAR ISI ABTRAKSI ......................................................5................................................................... 15 Menentukan Arah Kiblat...... 6 Menghitung Waktu Shalat................................ 1....................... 1.....................1.........2.............................. 16 2........ 2............................ 2........................ ix DAFTAR TABEL ........................................2.......................................................................... 1 Rumusan Masalah ................ii DAFTAR ISI ............................... 1................. i KATA PENGANTAR ............................... 2 Batasan Masalah..........................4...................................................1..........................................................3.................. 10 2................................................... 15 Pengertian Kiblat ................... 2 Manfaat ................ 3 Sistematika Penulisan Laporan ... 2........................................ xi BAB I 1. BAB II 2...............................6.. 2 Tujuan....................... 1............................1..............................................Shalat Fardhu...............2.... Pendahuluan .................................................................. 1......... 4miral@gmail........com v ......................................................... 4 Landasan Teori............................1................................ 6 Pengertian Shalat ..................1........................................................................ Kiblat .............3........2.................................................. 1...........................................................................................2.................................. v DAFTAR GAMBAR ........................... 6 Waktu Shalat ...................................1......... 2.............

............. 19 Android ...........4............................................................................. 28 Services ....................... 2....... 30 Intents ......1.............................................................. 2...........3........3...1... 25 Application Framework. 34 2. 31 Siklus Hidup Aplikasi Android ...... 2...3.. 2....................3...1.....2............................... BAB III Analisis dan Perancangan ................3...............................Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 2..................5.......3.................3.. 36 3........4...... 2....2.........4............ 22 Pengertian Android ......3.........................................4......... Analisis Kebutuhan Kupluk ....... 36 Analisis Fungsional ........3.3.............................................................................................1.......... 36 3............................................4........................ 17 Rumus Segitiga Bola.......2............ 31 Content Providers..........3....... 32 Kelebihan Android.... 27 Komponen Aplikasi ................................................ 22 Anatomi Android ........ Koordinat Posisi Geografis............................... 2.3.................................2...2..................................................5.........3..3............................................5....................3......................3.. 2....1. 25 Android Runtime ...................................4...................3.7...........................2.........2..........1.. 2......... 2...........2...... 2.. 2................. 16 Ilmu Ukur Segitiga Bola.3..3......................... 30 Broadcast Receivers ....... 2........................................................3....... 27 Activities..3..3............................. 2.3............. 31 Tipe Aplikasi Android ....................................................com vi ....... 22 Sejarah dan Perkembangan Android..........3.... 2........................... 2..............2.................... 2........3..................... 26 Application Layer ............................4............2.....3........ 24 Libraries. 2............................ 2.....................................4....................................................................3.................1.. 23 Linux Kernel...........6... 4miral@gmail... 2.

.1.................... 60 Pembuatan Kelas FormatWaktu ...............2........... 4miral@gmail..2.........4..................3................ 57 Pembuatan Kelas PerhitunganShalat............................1.. Penulisan Kode Program (Codding)......1....................................1................4........... 3.... Performansi Kupluk........... 38 Diagram Alir (Flowchart) ..1...... 48 Perancangan Antar Muka Arah Kiblat ...... 50 Perancangan Antar Muka Tentang....... 65 Pembuatan Tampilan Arah Kiblat ........ 37 Use Case Diagram ...Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 3.......1........ 64 Pembuatan Kelas KuplukMain .......................3............2............... 4..................................... 4.............1........2...........4......................... 4............ 3.... 57 Pembuatan Tampilan Utama ................. 4... 41 Diagram Kelas ....... 3.......................... 3.............................................2.........2......................1..... 40 Perancangan Kupluk..............2...................... 3...2.......2...1............... 3.......................................2.......1......... 3.................................... 44 Perancangan Navigasi.......1.4... 55 4....................................................................2.........................3...... BAB IV Implementasi..............................1......................................... 3....com vii .....2... 4....... 49 Perancangan Antar Muka Pengaturan............2.....................2.5... 3........... 3......... 57 Pembuatan Tampilan Antarmuka Tampilan Utama....2....................2.............................1............................. 4................. 69 4.........2.............2................ 45 Perancangan Antar Muka (Interface) ..2...4.......2.........4.............2.2.......... 47 Perancangan Antar Muka Jadwal Shalat .. 4.........................1... Spesifikasi Perangkat Keras dan Lunak ........................ 42 Sequence Diagram........... 3. 51 3...............4........ 46 Perancangan Antar Muka Menu .......... 54 4..3.......4........... 54 Spesifikasi Perangkat Lunak ......1................................2..4............ 54 Spesifikasi Perangkat Keras .

..................3.............2.. 91 Pengujian Black Box Arah Kiblat .......................... Distribusi.2.......... 5.....com viii ..........................2......3............................ 4...........2.......................... Pembuatan Kelas KiblatView... 81 Pembuatan Tampilan Antarmuka Tentang.... 94 4.................3....... 83 Pengujian ................................1................................................... 4............1...........2.................................. 70 Pembuatan Tampilan Antarmuka Arah Kiblat ... 4... 79 Pembuatan Tampilan Tentang........... 4.. 4........2.... 4..3.................... 4..............................3.......... 77 Pembuatan Tampilan Antarmuka Pengaturan ...4..................... 85 Pengujian Black Box Fitur Jadwal Shalat ...........................2.........4..........4...2..................................2..... 4................. 73 Pembuatan Tampilan Pengaturan ..................................... Kesimpulan .........1................1...2.. 72 Pembuatan Kelas Kiblat ...............3.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4............... 101 DAFTAR PUSTAKA ............1........ 102 4miral@gmail............... 4.............................2... 81 Pembuatan Kelas Antarmuka Tentang.........................................2.. 98 BAB V Kesimpulan dan Saran ......................... 4...... 100 Saran .......................................2....... 4......2.............2.................... 100 5......................2.............................2........................4.......3................. 77 Pembuatan Kelas Pengaturan .................

..................7 Desain Layar Tampilan Jadwal Shalat.......6 Desain Layar Tampilan Menu Utama............................................................... 20 Gambar 2. 87 Gambar 4............ 52 Gambar 4.................................... 42 Gambar 3.........9 Desain Layar Tampilan Pengaturan...................................................... 86 Gambar 4............1 Antarmuka Jadwal Shalat......... 33 Gambar 3...................... 17 Gambar 2..................................Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia DAFTAR GAMBAR Gambar 2............ 41 Gambar 3......................................1 Diagram Use Case .............. 45 Gambar 3................2 Antarmuka Menu Utama................. 86 Gambar 4......................................2 Diagram Alir Sistem ........................................................................................1 Pembagian Bumi Berdasarkan Bujur dan Lintang ................3 Segitiga Bola .......... 47 Gambar 3.....................................8 Desain Layar Tampilan Arah Kiblat. 49 Gambar 3...............................................com ix ........................................ 85 Gambar 4........ dan titik C (Kutub Utara) .... 46 Gambar 3.........4 Diagram Sequence .....2 Segitiga Bola ABC yang menghubungkan titik A (Ka'bah).............4 Detail Anatomi Android.........5 Antarmuka Pengaturan Menu Utama ......................5 Prioritas Aplikasi Berdasarkan Activity ....10 Desain Layar Tampilan Antarmuka Tentang ...........5 Struktur Navigasi.......... 39 Gambar 3.......................3 Antarmuka Arah Kiblat......................4 Antarmuka Pengaturan.................................................................................................................... 24 Gambar 2.................... 87 4miral@gmail...........................3 Diagram Kelas dan Relasi Antar Kelas .................. 50 Gambar 3.......... 18 Gambar 2.................................................. 48 Gambar 3....................................... titik B (Lokasi)............................................................................................................

............... 88 Gambar 4............................................................. 96 Gambar 4.........................6 Antarmuka Pengaturan Mazhab ............................................... 91 Gambar 4.......................................................18 Perangkat diputar 180 o .............................................................................................. 94 Gambar 4.....14 Jadwal Shalat RHI Bulan Februari .........Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4..............9 Antarmuka Notifikasi Peringatan ...................... 88 Gambar 4.............19 Perangkat diputar 270 o ....com x ........................... 90 Gambar 4......................................17 Perangkat diputar 90 o ..... 90 Gambar 4....................... 89 Gambar 4...................................15 Arah Kiblat Kupluk ... 97 Gambar 4................ 97 Gambar 4.........11 Antarmuka Tentang (2).................................. 95 Gambar 4..................................20 Perangkat diputar 360 o ........................21 Android Market ... 92 Gambar 4... 89 Gambar 4...........10 Antarmuka Tentang ........ 96 Gambar 4.................12 Jadwal Shalat Kupluk (16/02/2010) ... 93 Gambar 4.............................7 Antarmuka Pengaturan Pengingat Waktu Shalat ................................................. 99 4miral@gmail................13 Jadwal Shalat PKPU (16/02/2010) ............................................................................................................................8 Antarmuka Pengaturan Mode Pengingat ...............16 Arah Kiblat RHI ................................................................

. 14 Tabel 3.........1 Altitude Matahari Saat Subuh dan Isya ....1 Kelas.......... 42 4miral@gmail.................................................... Atribut dan Method.........Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia DAFTAR TABEL Tabel 2....com xi .........

beberapa tahun terakhir tengah marak perangkat bergerak atau mobile device. terabaikan bahkan terlupakan. maka ketika waktu shalat tiba ada kemungkinan orang tersebut tidak tahu. khususnya teknologi informasi dan komunikasi. manusia dapat membuat berbagai macam peralatan sebagai alat bantu dalam menjalankan berbagai aktivitas untuk mendukung produktifitas. seperti pengolah gambar dan video. Salah satunya kewajiban ibadah shalat fardhu lima waktu bagi umat Muslim yang kadang terlambat. Terkadang hal yang tidak menjadi prioritas namun suatu kewajiban terlalaikan. Seiring dengan tingkat mobilitas yang tinggi.1. pengolah dokumen dan lain sebagainya. Latar Belakang Perkembangan teknologi semakin pesat dan cepat. Hal ini membuat manusia bagaikan tak terpisah oleh jarak ruang dan waktu. Salah satu faktor penyebabnya adalah terbatasnya informasi atau peringatan ketika telah datang waktu shalat. Berbagai macam fitur telah ditanamkan. Misalkan ketika seseorang berada di suatu tempat atau daerah yang suara azan tidak terjangkau dari masjid terdekat atau suatu lokasi yang baru. Dengan perkembangan teknologi yang kian maju. Salah satu perangkat mobile yang paling pesat adalah Handphone dimana hampir setiap orang memilikinya. Handphone yang sedianya sebagai alat komunikasi. Hal ini tak lepas dari 4miral@gmail.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia BAB 1 Pendahuluan BAB I PENDAHULUAN 1.com 1 . Dengan segala aktifitas yang kian padat menjadikan sebagian orang memiliki tingkat mobilitas yang tinggi. saat ini sudah lebih dari fungsi dasarnya.

Membantu umat muslim khususnya pengguna Android yang memiliki 4miral@gmail. 1.4. Manfaat Manfaat dari pengembangan Aplikasi Pengingat Shalat dan Arah Kiblat ini adalah: 1. 1.com 2 .3. Rumusan Masalah Berdasarkan dari uraian latar belakang di atas maka dapat dirumuskan suatu permasalahan.2. Hingga saat ini Android terus berkembang. baik secara sistem maupun aplikasinya. Tujuan Tujuan dari pengerjaan tugas akhir ini adalah membangun sebuah program aplikasi pengingat shalat dan arah kiblat pada Sistem Operasi Android yang dapat digunakan dimanapun dengan memanfaatkan Global Positioning System (GPS) dan Acelometer. Android sebagai Sistem Operasi berbasis linux yang dapat digunakan di berbagai perangkat mobile. Android memiliki tujuan utama untuk memajukan inovasi piranti telepon bergerak agar pengguna mampu mengeksplorasi kemampuan dan menambah pengalaman lebih dibandingkan dengan platform mobile lainnya. Layaknya pada komputer. Bagaimana membangun dan merealisasikan suatu aplikasi pada paltform Android yang dapat digunakan di berbagai tempat untuk informasi arah kiblat dan waktu shalat serta secara otomatis mengingatkan pada saat tiba waktu shalat.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia penggunaan Sistem Operasi pada Handphone. Handphone pun dapat di instal berbagai macam aplikasi yang diinginkan. 1.

3. maka pembahasan penulisan ini dibatasi pada ruang lingkup pembahasan sebagai berikut: 1. 4miral@gmail. 1.com 3 . Penunjukkan arah kiblat sesuai dengan arah kiblat diman lokasi user berada. Batasan Masalah Agar dalam pengerjaan tugas akhir ini dapat lebih terarah. Meningkatkan pemahaman tentang struktur dan sistem kerja dalam pengembangan aplikasi pada sistem operasi Android. 2. Membantu umat muslim untuk senantiasa melaksanakan ibadah shalat tepat waktu dan arah kiblat yang tepat.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia tingkat mobilitas tinggi untuk senantiasa tahu waktu shalat dan arah kiblat. 3.6.5. Sehingga sistem dapat menampilkan pesan pengingat ketika waktu shalat tiba. Metode Wawancara Dilakukan terhadap ahli pewaktuan shalat dan arah kiblat. 2. 1. 2. Metode Penelitian Metode yang digunakan dalam pembuatan Aplikasi Pewaktuan Shalat dan menyusun laporan tugas akhir ini adalah: 1. User dapat mengatur sistem pengingat waktu shalat. Sistem pewaktuan shalat hanya dapat digunakan pada sistem operasi Android dengan memanfaatkan Global Positioning System (GPS). Metode Pengumpulan Data (Data Gathering) Mencari dan mengumpulkan data-data yang dibutuhkan dan berkaitan dengan pembuatan Aplikasi Pewaktuan Shalat.

Analisa Sistem Menganalisa kebutuhan sistem dan mengidentifikasi kebutuhan informasi berdasarkan hasil pengamatan dan wawancara serta studi pustaka yang telah dilakukan. Alat bantu analisis sistem yang digunakan pada sistem ini adalah Use Case Diagram dan Class Diagram. batasan masalah. rumusan masalah.com 4 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 3. metodologi dan sistematika penulisan laporan. 1. 4miral@gmail. tujuan dan manfaat. 4. Selain itu juga mempelajari web-web referensi seputar hal yang sama untuk membantu dalam penyajian informasi yang akan ditampilkan.7. 5. Studi Kepustakaan Studi kepustakaan seperti mempelajari buku-buku referensi yang berhubungan dengan Android dan pewaktuan shalat untuk membantu dalam pembuatan Aplikasi Pewaktuan Shalat. Sistematika Penulisan Laporan Secara garis besar materi laporan Tugas Akhir ini terbagi dalam beberapa bab yang tersusun sebagai berikut: BAB I PENDAHULUAN Bab ini berisikan latar belakang. Merancang dan Mengimplementasi Merancang dan mengimplementasi Aplikasi yang akan dikembangkan agar sesuai dengan yang diharapkan.

BAB III ANALISIS DAN PERANCANGAN APLIKASI PENGINGAT SHALAT Bab ini menjelaskan mengenai analisa aplikasi pengingat shalat dan perancangan yang dilakukan untuk membangun aplikasi. 4miral@gmail.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia BAB II LANDASAN TEORI Bab ini menguraikan tentang teori yang berhubungan dengan judul tugas akhir. seperti penentuan waktu shalat berserta perhitungannya. BAB V KESIMPULAN DAN SARAN Pada bagian ini dijelaskan mengenai kesimpulan dan saran guna memperbaiki kelemahan yang terdapat pada aplikasi tersebut. BAB 4 IMPLEMENTASI APLIKASI PENGINGAT SHALAT Pada bab ini menjelaskan bentuk implementasi aplikasi beserta pengujiannya. dan hal-hal terkait mengenai Android.com 5 . penentuan arah kiblat sesuai dengan lokasi berada.

dan perkataan yang dimulai dengan takbir dan diakhiri dengan salam dengan syarat-syarat tertentu.1.1. praktik shalat harus sesuai dengan segala petunjuk tata cara Rasulullah SAW sebagai figur penyampai perintah Allah.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia BAB 2 Landasan Teori BAB II LANDASAN TEORI 2. Khususnya Shalat Fardhu lima kali sehari semalam yang tak boleh ditinggalkan. Mengenai waktu shalat fardhu nabi bersabda dalam sebuah hadist sebagai berikut: 4miral@gmail.2. diantaranya beliau bersabda: “Perjanjian yang memisahkan kita dengan mereka adalah Shalat. berarti dia telah kafir”.1. [1] Menurut syariat Islam. semuanya diatur dan tertuang dalam Kitab Suci Al-Qur'an dan Hadist Nabi Muhammad SAW. Menurut Istilah ahli fiqih berarti: Perbuatan (gerak). Shalat Pengertian Shalat Shalat menurut bahasa berarti doa. Waktu Shalat . 2.Shalat Fardhu Untuk pelaksanaan ibadah shalat. Shalat merupakan ibadah yang paling fundamental dalam Islam. Barang siapa yang meninggalkan shalat. Hadist riwayat Imam Ahmad dan Tirmidzi. 2.com 6 . Nabi Muhammad telah memberikan peringatan keras kepada orang yang suka meninggalkan shalat.1.

di waktu bayangan tiap-tiap sesuatu itu jadi dua kali panjang daripada dirinya. Lalu ia shalat Isya di waktu telah hilang tanda merah di tempat matahari terbenam. Lalu ia shalat fajar.W di waktu fajar lalu berkata: "Marilah shalat" Lalu ia shalat Fajar (subuh) di waktu fajar telah terbit. di waktu bayangan tiap-tiap sesuatu itu jadi sama panjangnya dengan keadaan dirinya. Kemudian Jibril berkata: Antara dua 4miral@gmail. Kemudian Jibril datang kepada Nabi S.W di waktu Asar lalu berkata: "Marilah shalat". Kemudian jibril datang kepada Nabi S.W pada esok harinya lagi di waktu zuhur lalu berkata: "Marilah shalat". Kemudian Jibril datang kepada Nabi S.A. sehabis tengah malam.W di waktu maghrib lalu berkata: "Marilah shalat" lalu ia shalat Maghrib di waktu matahari telah masuk (terbenam). Lalu ia shalat zuhur. Lalu ia shalat Asar di waktu bayangan tiap-tiap sesuatu jadi sama panjangnya dengan keadaan dirinya. Kemudian Jibril datang kepada Nabi S.W di waktu Isya lalu berkata: "Marilah shalat". Lalu ia shalat Isya lalu berkata. Kemudian Jibril datang kepada Nabi S. "Marilah shalat".A. Kemudian Jibril datang kepada Nabi pada waktu telah terang cuaca (sebelum terbit matahari). Kemudian Jibril datang kepada Nabi S.W di waktu Isya.A. Lalu ia shalat di waktu Asar. Kemudian Jibril datang kepada Nabi di waktu Asar lalu berkata: "Marilah shalat".com 7 .A.A. Lalu berkata: "Marilah shalat".W di waktu maghrib yang sama waktunya dengan kemarin.A. Kemudian Jibril datang kepada Nabi S.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Dari Jabir bin Abdullah meriwayatkan " Malaikat Jibril datang kepada Nabi SAW lalu berkata: "Marilah shalat". lalu berkata: "marilah shalat". Lalu ia melakukan shalat zhuhur di waktu matahari telah condong (tergelincir). Lalu ia shalat Isya. lalu ia shalat maghrib.A.

yaitu berdasarkan pergerakkan matahari. ketika posisinya di belahan langit selatan. terbit dan terbenamnya matahari. ada tiga kemungkinan azimuth matahari (dihitung dari arah utara). Waktu zhuhur berakhir saat datangnya waktu shalat ashar. Pertama.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia waktu itulah waktu bagi tiap-tiap shalat.com 8 . Ketiga. yaitu ketika matahari melewati garis meridian. Zhuhur Waktu zhuhur dimulai saat pertengahan hari. Kedua. [10] Dapat diambil kesimpulan berdasarkan hadits Rasulullah mengenai waktu shalat adalah sebagai berikut: 1. azimuth matahari = 0 derajat. azimuth = 180 derajat. Ibnu Hibban dan Hakim) Hadits di atas memberikan penjelasan mengenai awal dan akhir waktu shalat. yaitu ketika matahari melewati garis meridian (lingkaran besar langit yang menghubungkan utara dan selatan). Tirmidzi. azimuthnya tidak dapat ditentukan. Nasa'i. munculnya mega merah di waktu fajar dan berakhirnya mega merah di malam hari." (Hadist Riwayat: Ahmad. 4miral@gmail. Efek pergerakkan matahari diantaranya adalah berubahnya panjang bayangan benda. ketika posisinya benar-benar tepat di zenith (atas kepala) atau ketinggiannya tepat 90 derajat. posisinya di belahan langit utara. baik di atas ufuk (horison) maupun dampak pergerakkan matahari di bawah ufuk. Saat melewati garis meridian.

Menurut mazhab Hanafi. Ketika matahari terbenam dimana posisinya di bawah ufuk. Maghrib Waktu shalat maghrib dimulai saat matahari terbenam (sunset). ada dua pendapat mengenai kapan datangnya waktu shalat ashar. Panjang bayangan pada waktu Zhuhur yang merupakan panjang bayangan minimum ini perlu diperhitungkan.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 2. Hal ini disebabkan adanya atmosfer bumi yang membiaskan cahaya matahari. langit tidak langsung gelap. 4miral@gmail. matahari harus tenggelam hingga belasan derajat di bawah ufuk supaya tidak ada lagi cahaya matahari yang dapat dibiaskan sehingga langit menjadi gelap. Waktu shalat maghrib berakhir saat datangnya waktu shalat Isya'. 3. Jika bayangan saat Ashar = Sa. Ini berkaitan dengan bayangan benda yang ditegakkan di atas tanah. maka secara sederhana dapat ditulis Sa = h + Sz menurut mazhab Syafi'i dan Sa = 2 * h + Sz menurut mazhab Hanafi. Untuk waktu Ashar berakhir saat datangnya waktu shalat maghrib. karena sangat mungkin panjang bayangan saat Zhuhur itu lebih panjang dari tinggi benda itu sendiri seperti tempat yang memiliki lintang tinggi. Ashar Berdasarkan hadits di atas. bayangan saat Zhuhur = Sz dan tinggi benda= h.com 9 . waktu shalat Ashar adalah ketika panjang bayangan sama dengan dua kali tinggi benda (ditambah panjang bayangan saat Zhuhur). Karena itu.

Isya' Waktu shalat Isya' dimulai saat langit gelap. namun akibat pembiasan atmosfer cahaya matahari dapat dibiaskan sehingga langit tidak lagi gelap. pada zaman Rasulullah waktu shalat yang telah disebutkan ditentukan berdasarkan observasi terhadap gejala alam dengan melihat langsung matahari. 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 4miral@gmail. 5. atau berakhirnya mega merah (astronomical twilight) di langit barat. Meskipun saat itu matahari masih belasan derajat di bawah ufuk.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4.3.1. Waktu Isya' berakhir saat datangnya waktu shubuh.com 10 . Sebelum manusia menemukan ilmu hisab/perhitungan falak/astronomi. Waktu shubuh berakhir saat matahari terbit. Lalu berkembang dengan dibuatnya jam Surya atau Jam Matahari serta Jam Istiwa atau sering disebut Tongkat Istiwa dengan kaidah bayangan matahari[13]. 2. Shubuh Waktu shubuh dimulai ketika munculnya fajar (shidiq) atau cahaya secara merata di langit timur. Beberapa catatan mengenai penentuan waktu Isya' dan Shubuh disajikan pada catatan di bawah.

25 * Y) + INT(30. Untuk menentukan waktu lima shalat wajib di suatu tempat pada tanggal tertentu. Merupakan parameter yang diperlukan untuk waktu shalat pada tanggal tersebut.com 11 . ada beberapa parameter yang mesti diketahui [8]: 1.6001(M + 1)) + B + D . Tempat yang berada tinggi di atas permukaan laut akan lebih awal menyaksikan matahari terbit serta lebih akhir melihat matahari terbenam. Ketinggian lokasi dari permukaan laut (H). Koordinat bujur tempat tersebut (B) atau longitude.5 + INT(365. 2. Bulan (M) dan Tahun (Y). Daerah yang terletak di sebelah utara garis khatulistiwa (ekuator) memiliki lintang positif. dibandingkan dengan tempat yang lebih rendah...(1) 4miral@gmail. bulan dan tahun selanjutnya di hitung nilai Julian Day (JD). Sehingga dengan adanya rumusan matematika ini dapat ditentukan posisi matahari tanpa harus melihat secara langsung dimana matahari berada. 3. Daerah yang terletak disebelah timur Greenwich memiliki bujur positif. Sebaliknya.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia di permukaan bumi.. Zona waktu tempat tersebut (Z). Daerah yang terletak di sebelah timur Greenwich memiliki Z positif. Koordinat lintang tempat tersebut (L) atau altidude. 5. Dengan rumus sebagai berikut: JD = 1720994. untuk yang disebelah selatan lintangnya negatif. 4. Tanggal (D). Dari tanggal. ketinggian lokasi dari permukaan laut (H) menentukan waktu kapan terbit dan terbenamnya matahari. Satuan H adalah meter.

. T = 2 * PI * (JD – 2451545) / 365.297 * T – 82.00 UT atau saat tengah hari di Greenwich.37877 + 23. dimana A = INT (Y/100) Nilai JD berlaku untuk pukul 12..547) + 0.. 682) + 0. Diperoleh dari JD pukul 12. Equation of Time untuk satu tanggal dapat dihitung.264 * sin(57. Sudut Deklinasi Matahari (Delta).Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Ket: INT : Lambang nilai integer (bilangan bulat) Jika M>2....com 12 . Untuk JD yang digunakan dalam perhitungan yaitu JD lokasi tempat yang ingin ditentukan waktu shalat. maka M dan Y tidak berubah..17132 * sin(3 * 57.00 UT waktu Greenwich dikurangi dengan Z/24.297 * T – 79. dengan rumus: 4miral@gmail. Jika M = 1 atau M = 2.(2) Ket: T adalah Sudut tanggal.. maka M +12 dan Y dikurangi 1 B = 2 + INT (A/4) – A. Deklinasi matahari (Delta) untuk satu tanggal tertentu dapat dihitung dengan menggunakan rumus berikut: Delta = 0. dimana Z adalah zona waktu lokal tersebut.297 * T – 59.3812 * sin(2 * 57.722) .25 7. 6. dengan rumus.... Equation of Time (ET).

(1789 + 237 * U) * sin(L0) – (7146 – 62 * U) * cos(L0) + (9934 – 14 * U) * sin(2 * L0) – (29 + 5 * U) * cos(2 * L0) + (74 + 10 * U) * sin(3 * L0) + (320 – 4 * U) * cos(3 * L0) – 212 * sin(4 * L0))/1000 ………. Sementara Isya' disebut dusk astronomical twilight ketika langit tampak gelap karena cahaya matahari di bawah ufuk tidak dapat lagi dibiaskan oleh atmosfer. Terdapat beberapa pendapat mengenai nilai altitude matahari seperti tampak pada tabel 2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia ET = (. Altitude matahari waktu Shubuh dan Isya. 8. L0 = 280. ketika fajar menyingsing di pagi hari dan menyebar secara horisontal dengan seragam. 4miral@gmail.(3) Ket: L0 adalah Bujur rata-rata matahari. dimana perbedaan 1 derajat dapat memberikan perbedaan waktu sekitar 4 menit. Nilai altitude matahari berasal dari ketika langit berubah dari gelap menjadi mulai terang.1 [12].46607 + 36000. Altitude matahari sangat menentukan metode perhitungan waktu shalat.7698 * U. U = (JD – 2451545)/36525. Shubuh saat fajar menyingsing pagi disebut dawn astronomical twilight yaitu ketika langit tidak lagi gelap dimana atmosfer bumi mampu membiaskan cahaya matahari dari bawah ufuk.com 13 .

com 14 . Libanon. Afghanistan.5 derajat 19. Siria. sebaian Eropa Amerika Utara 15 derajat 15 derajat Sebagian Amerika Serikat. Bangladessh. Tetapan panjang bayangan Ashar. Sebagian Inggris Liga Muslim Dunia 18 derajat 17 derajat Eropa. Kanada.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Tabel 2. 4miral@gmail. sebagian Amerika Komite Umm Al-Qura Mesir 18. bila salah satu parameter kurang akurat maka ketepatan datangnya waktu shalat akan sebanding. Pendapat madzhab Imam Syafi'i menyatakan panjanga bayangan benda saat Ashar adalah tinggi benda ditambah panjang bayangan saat Zhuhur.5 derajat Semenanjung Arab Afrika. Malaysia.1 Altitude Matahari Saat Subuh dan Isya Organisasi Indonesia Universitas Sience Islam. Iraq. dalam hal ini terdapat dua pendapat berbeda. India.5 17. Sebagian Amerika 9. Karaci Sudut Subuh 20 derajat 18 derajat Sudut Isya 18 derajat 18 derajat Regional Indonesia Pakistan. Setiap parameter sangat menentukan datangnya waktu shalat.5 derajat 18. Sementara madzhab Imam Hanafi menyatakan panjang bayangan benda saat Ashar sama dengan dua kali tinggi benda ditambah panjang bayangan saat Zhuhur.

Berikut adalah rumus waktu shalat. Magrib = waktu zhuhur + (12/PI) * acos((sin((-0.2. Ashar = waktu zhuhur + (12/PI) * acos((sin(atan(1/MA + tan(abs(L – delta))))) – sin(delta) * sin(L)) / (cos(delta) * cos(L))) Dimana MA merupakan Mazhab yang digunakan. Menurut hukum 4miral@gmail. Makkah.com 15 . MA sama dengan 1 untuk mazhab imam Syafi'i dan MA sama dengan 2 untuk Mazhab imam Hanafi. Menghadap arah kiblat merupakan suatu masalah yang penting dalam syariat Islam.8333 – 0.2. Ka'bah juga sering disebut dengan Baitullah (Rumah Allah). 2. Kiblat Pengertian Kiblat Kiblat berasal dari bahasa Arab “Qiblah” adalah arah yang merujuk ke suatu tempat dimana bangunan Ka'bah di Masjidil Haram. Arab Saudi.0347 * H ^ 0.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Waktu shalat dapat ditentukan dengan menggunakan rumus-rumus pergerakkan matahari dengan tepat. Shubuh = waktu zhuhur – (12/PI) * acos((sin(-1 * sudut altitude matahari subuh) – sin(delta) * sin(L)) / (cos(delta) * cos(L)) b. Isya' = waktu zhuhur + (12/PI) * acos((sin(-1 * sudut altitude matahari isya') – sin(delta) * sin(L)) / cos(delta) * cos(lintang))) 2. a. d.1. Zhuhur = 12 + Z – B / 15 – ET/60 c.5)) – sin(delta) * sin(L)) / (cos(delta) * cos(L))) e.

1. Setiap titik di permukaan bumi dapat dinyatakan dalam duat koordinat. Menghadap ke arah kiblat menjadi syarat sah bagi umat Islam yang hendak menunaikan shalat baik shalat fardhu lima waktu sehari semalam atau shalat-shalat sunat yang lain. Sementara itu 4miral@gmail. maka cara menentukan arah dari satu tempat (misalnya masjid) ke tempat lain (misalnya Ka'bah) dapat dilakukan dengan mengandaikan bumi seperti bola. Semua titik yang memiliki bujur nol terletak pada garis meridian Greenwich (setengah lingkaran besar yang menghubungkan kutub utara dan selatan dan melewati Greenwich). kiblat mengarah ke Baitul Maqdis atau Masjidil Aqsa Jerusalem di Palestina. Menentukan Arah Kiblat Koordinat Posisi Geografis Bola (sphere) adalah benda tiga dimensi yang unik dimana jarak antara setiap titik di permukaan bola dengan titik pusatnya selalu sama.2. [13] 2.com 16 . Kaidah dalam menentukan arah kiblat memerlukan suatu ilmu khusus yang harus dipelajari atau sekurang-kurangnya meyakini arah yang dibenarkan sesuai dengan syariat. namun pada tahun 624 M ketika Nabi Muhammad SAW hijrah ke Madinah. Pada awalnya. 2. Karena bumi sangat mirip dengan bola. menghadap ke arah kiblat diartikan sebagai seluruh tubuh atau badan seseorang menghadap ke arah Ka'bah yang terletak di Makkah yang merupakan pusat tumpuan umat Islam bagi menyempurnakan ibadah-ibadah tertentu.2. arah Kiblat berpindah ke arah Ka'bah di Makkah hingga kini atas petunjuk wahyu dari Allah SWT.2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia syariat. yaitu bujur (longitude) dan lintang (latitude).2.

sedangkan bujur barat terletak di sebelah barat Greenwich. 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.2. demikian juga untuk titik di selatan ekuator disebut lintang selatan. bujur timur bernilai positif. Sesuai kesepakatan umum.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia semua titik yang memiliki lintang nol terletak pada garis ekuator (khatulistiwa). Segitiga bola menjadi ilmu andalan tidak hanya untuk menghitung arah kiblat bahkan termasuk jarak lurus dua buah tempat di permukaan bumi [9]. Sementara itu semua titik yang terletak di sebelah utara ekuator disebut lintang utara. [9] Gambar 2.2.2.com 17 .1 Pembagian Bumi Berdasarkan Bujur dan Lintang 2. 4miral@gmail. sedangkan lintang selatan bernilai negatif. Lintang utara bernilai positif. sedangkan bujur barat bernilai negatif. Bujur timur terletak di sebelah timur Greenwich.

Kutub utara Gambar 2. 3. Adapun untuk menghitung arah kiblat.2 Segitiga Bola ABC yang menghubungkan titik A (Ka'bah). Lokasi yang akan ditentukan arah kiblatnya. Perhitungan dan pengukuran arah kiblat dilakukan dengan derajat sudut dari titik kutub Utara. dan titik C (Kutub Utara) 4miral@gmail.04” Lintang Utara dan 39° 50' 34. dengan menggunakan alat bantu mesin hitung atau kalkulator. sehingga Kiblat juga menunjukkan arah terpendek dari suatu lokasi ke Ka'bah. yaitu: 1. Lokasi Ka'bah (Mekah) 2.04”. ada 3 buah variabel yang diperlukan. Lokasi Ka'bah berdasarkan pengukuran menggunakan Global Positioning System (GPS) maupun menggunakan software Google Earth secara astronomi berada di 21° 25' 21.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Sebagaimana yang sudah disepakati secara umum bahwa yang disebut arah adalah “jarak terpendek” berupa garis lurus ke suatu tempat. Karena bentuk bumi yang bulat. titik B (Lokasi). jarak ini membentuk busur besar sepanjang permukaan bumi.com 18 .

B Lokasi yang ditentukan arah kiblat dan titik C Kutub Utara. Karena lintang titik B adalah Lb. lokasi Ka'bah dan Kutub Utara adalah dua variabel yang tetap. Sudut C tidak lain adalah selisih antara bujur Ba dan bujur Bb. Dianggap jari-jari bumi sama dengan 1.2.2. terdapat rumus-rumus standar sebagai berikut: 4miral@gmail. Karena lintang titik A adalah La. 2. maka busur a sama dengan 90 – Lb.3.com 19 . maka akan membentuk segitiga bola ABC seperti tampak pada Gambar. Sudut yang menghubungkan titik di khatulistiwa. Busur b adalah panjang busur yang menghubungkan titik A dan C. sedangkan Lokasi yang akan ditentukan arah kiblat senantiasa berubah. Jadi sudut C = Ba – Bb. Sementara sudut B adalah arah menuju titk A (Ka'bah). Titik C memiliki lintang 90 derajat. Jadi arah kiblat dari titik B dapat diketahui dengan menentukan besar sudut B. Busur a adalah panjang busur yang menghubungkan titk B dan C. pusat bumi dan kutub utara adalah 90 derajat. Dimana titik A merupakan Lokasi Ka'bah. Titik A (Ka'bah) memiliki koordinat bujur Ba dan lintang La. Bila ketiga variabel tersebut digambarkan pada permukaan bumi.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Berdasarkan ketiga variabel ini. Rumus Segitiga Bola Dalam trigonometri bola. Busur c adalah panjang busur yang menghubungkan titik A dan B. maka busur b sama dengan 90 – La. Titik B (Lokasi) memiliki koordinat bujur Bb dan lintang Lb.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 2..…………………………………(5) sin( a ) sin( b) sin( c) = = ………………………………………….…………. 6). b = 90 – La.com 20 .(6) sin( A) sin( B) sin( C ) Dengan menggabungkan ketiga rumus di atas (4..3 Segitiga Bola cos(b) = cos(a) cos(c) + sin(a) sin(c) cos(B) ……………………………………(4) cos(c) = cos(a) cos(b) + sin(a) sin(b) cos (C) . C = Ba – Bb... diperoleh rumus sebagai berikut: tan( B) = sin( C ) ………………………………………….(7) sin( a ) cot(b) − cos(a) cos(C ) Sesuai yang telah ditetapkan sebelumnya. sin (90 – x) = cos(x) dan cot (90 – x) = tan(x). 5. a = 90 – Lb. maka rumus diatas menjadi: tan( B) = sin( Ba − Bb) ……………………………. serta mengingat cos (90 – x) = sin(x).(8) cos( Lb) tan( La ) − sin( Lb) cos( Ba − Bb) Sehingga sudut B adalah: B = arctan(tan( B)) 4miral@gmail..

maka ditambahkan dengan 360 derajat. Dari kutub utara sejati tersebut ditambahkan dengan nilai azimuth yang ditemukan dengan pergerakkan searah jarum jam.com 21 . maka tan(B) negatif yang menghasilkan 90 < B < 180. maka selanjutnya menentukan kutub utara sejati (true north). nilai B bergantung pada nilai sin(Ba – Bb) dan nilai cos(Lb)*tan(La) – sin(Lb)*cos(Ba – Bb). • Jika x negatif dan y positif. Setelah mengetahui sudut azimuth kiblat. • Jika x positif dan y negatif. Azimuth 0 derajat menunjukkan arah utara (true north). 4miral@gmail. • Jika x negatif dan y negatif. Jika B negatif. maka tan(B) positif yang menghasilkan 0 < B < 90. Sehingga nilai sudut B yang sesuai bergantung pula dari positif atau negatifnya nilai x dan y. maka tan(B) positif yang menghasilkan 180 < B < 270 atau -180 < B < -90. dapat dijelaskan sebagai berikut: • Jika x positif dan y positif.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Azimuth arah kiblat ditujukkan oleh sudut B. Nilai B sangat tergantung dari pembilang dan penyebut pada ruas kanan rumus tan(B). maka tan(B) negatif yang menghasilkan 270 < B < 360 atau -90 < B < 0. Dengan kata lain. tan(B) dapat ditulis sama dengan y/x. Untuk memudahkan. sehingga didapatkan arah kiblat pada lokasi.

middleware. dan framework berkualitas. Pada pertengahan 2007 sekelompok pemimpin industri bersama-sama membentuk aliansi perangkat 4miral@gmail.2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 2. Pada tahun 2005. yang menjanjikan keterbukaan. dan sistem operasi lainnya. Rich Miner.com 22 . diantaranya sistem operasi Symbian. Sejarah dan Perkembangan Android Pada mulanya terdapat berbagai macam sistem operasi pada perangkat selular. untuk memulai pengembangan platform Android. 2.1. iPhone. Microsoft Windsos Mobile.[7] Android dikembangkan oleh Google bersama Open Handset Allience (OHA) yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan Hardware. Nick Sears. Android Pengertian Android Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat bergerak mencakup sistem operasi. Android Standart Development Kid (SDK) menyediakan perlengkapan dan Application Programming Interface (API) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. 2. Kemudian Google ikut berkecimpung didalamnya dengan platform Android. Dimana terlibat dalam pengembangan ini Andy Rubin.3. Google mengakuisisi perusahaan Android Inc.3. keterjangkauan.3. Software dan perusahaan telekomunikasi ditujukan untuk mengembangkan standar terbuka bagi perangkat selular. dan Chris White. Namun diantara sistem operasi yang ada belum mendukung standar dan penerbitan API yang dapat dimanfaatkan secara keseluruhan dan dengan biaya yang murah. open source. Mobile Linux. dan aplikasi kunci.

Bagian dari tujuan aliansi ini adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan lebih baik.3.3. 2.0. Secara sederhana arsitektur Android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang menyediakan dan mengatur alur proses aplikasi. dan versi terakhir 2. Hingga saat ini sudah terdapat beberapa versi yang telah diluncurkan.[11] 4miral@gmail. Hingga saat ini Android telah merilis beberapa versi Android untuk menyempurnakan versi sebelumnya. dan smartphone pertama yang menggunakan sistem operasi Android dikeluarkan oleh T-Mobile dengan sebutan G1 pada bulan September 2008.0 dirilis pada 26 Oktober 2009 diberi nama Éclair.com 23 . pada setiap versi Android terdapat kode nama berdasarkan nama-nama kue.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia selular terbuka.5 dirilis pada 30 April 2009 diberi nama Cupcake. Anatomi Android Dalam paket sistem operasi Android tediri dari beberapa unsur seperti tampak pada gambar 2. manufaktur handset. Dimana Android dirancang untuk melayani kebutuhan operator telekomunikasi. versi 1.3. dengan produk awalnya adalah platform Android. Open Handset Alliance (OHA). dan pengembang aplikasi. OHA berkomitmen untuk membuat Android open source dengan lisensi Apache versi 2.6 dirilis pada 15 September 2009 diberi nama Donut. Selain berdasarkan penomoran. [5] Android pertama kali diluncurkan pada 5 November 2007. diantaranya: versi 1.

manajemen proses. 4miral@gmail. keypad.com 24 . Kernel linux menyediakan driver layar. Linux Kernel Android dibangun di atas kernel Linux 2.3.3. dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan. manajemen memori. audio. Oleh karenanya pada Android hanya terdapat beberapa servis yang diperlukan seperti keamanan.6.1. Flash Memory.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 2. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses.4 Detail Anatomi Android 2. kamera. WiFi. jaringan dan driver. Namun secara keseluruhan Android bukanlah linux. karena dalam Android tidak terdapat paket standar yang dimiliki oleh linux lainnya.

pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native Development Toolkit (NDK). SSl dan WebKit untuk browser dan keamanan internet. Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri. tapi Android Runtime bukanlah mesin virtual Java. Android dikembangkan melalui bahasa pemrograman Java.5. diantaranya: • Pustaka Inti. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi Android menjadi lebih tangguh dengan paket pustaka yang telah ada. Android Runtime Pada Android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi Android. Sejak versi Android 1.3. Pustaka inti Android 4miral@gmail. • • SQLite untuk mengatur relasi database yang digunakan pada aplikasi.3. Libraries Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux.2. untuk tampilan 2D dan 3D.3. namun hanya dapat digunakan oleh program yang berada di level atasnya. • • Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.3.3. 2. Dalam Android Runtime terdapat 2 bagian utama. Beberapa pustaka diantaranya: • Media Library untuk memutar dan merekam berbagai macam format audio dan video.com 25 . Graphic Library termasuk didalamnya SGL dan OpenGL.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 2.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus Android. dan file layout. 2.3. [14] 2. berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya.4. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*. berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan. seperti daftar nama. Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. serta mengatur tampilan user interface dan sumber daya aplikasi. Activity Manager.dex). Application Framework Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi Android. • Mesin Virtual Dalvik. 3.3. Resuource Manager. Bagian terpenting dalam kerangka aplikasi Android adalah sebagai berikut [2]: 1. grafik. 4miral@gmail. Content Providers. Dalvik berjalan di atas kernel Linux 2. Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland.com 26 . seperti karakter.6. Selain itu. juga menyediakan abstraksi generik untuk mengakses perangkat. dengan fungsi dasar seperti threading dan manajemen memori yang terbatas. Serta menyediakan akses sumber daya diluar kode program. untuk mengatur sumber daya yang ada dalam program.

3. Lapisan aplikasi Android sangat berbeda dibandingkan dengan sistem operasi lainnya. pesan masuk.4. janji. Pada Android semua aplikasi.3.com 27 . baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama. 5. Notification Manager. Maka pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya. berfungsi untuk memberikan informasi detail mengenai lokasi perangkat Android berada. 4miral@gmail. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi. cukup menggunakan scroller yang telah ada [7]. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Sebagai contoh. Application Layer Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan widget. Location Manager.3. 2. 2. Komponen Aplikasi Fitur penting Android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). dan lain sebagainya yang akan ditampilkan pada status bar.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4. mencakup berbagai macam peringatan seperti.5.

Jika pengguna ingin menggunakan activity sebelumnya.com 28 . Keadaan suatu activity ditentukan oleh posisinya dalam tumpukan acitivity. memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut. karena Activity menyajikan tampilan visual program yang sedang digunakan oleh pengguna. atau menutup activity yang sedang digunakan. activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. cukup menekan tombol Back. 2. 4miral@gmail. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi dijalankan.1. Activities Activity merupakan bagian yang paling penting dalam sebuah aplikasi.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Agar fitur tersebut dapat bekerja. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap Event. LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai. Perpindahan antara activity dengan activity lainnya diatur melalui sistem. sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan. aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan.4. Setiap aplikasi memiliki sebuah activity atau lebih.3. Android tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain. dengan memanfaatkan activity stack. Memory Manager Android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan activity. Oleh karenanya Android berbeda dari sistem-sistem lain. maka activity yang berada diatas akan aktif kembali. Sebaliknya. dan pemanggilan objek java untuk bagian itu.

Dalam kasus ekstrim. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi antarmuka saat itu. untuk menunjang sumber daya bagi activity yang sedang aktif. dia terlihat active namun tidak dapat menerima masukkan dari pengguna. 3) Stopped. terfokus. 2) Paused. Ketika activity sedang aktif. maka dia akan menjadi inactive.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi [4]: 1) Active. dan menerima masukkan dari pengguna. bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Keadaan ini terjadi jika activity transparan dan tidak fullscreen pada layar. Activity akan tetap berada dalam memori dengan semua keadaan dan informasi yang ada. dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Namun akan menjadi kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. maka yang lainnya akan dihentikan sementara. 4miral@gmail. Karena ketika activity telah keluar atau ditutup. Ketika activity dalam keadaan paused. maka itulah yang disebut stopped. Android akan berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup dengan segala cara.com 29 . setiap activity yang berada ditumpukan paling atas. maka dia akan terlihat. ketika sebuah activity tidak terlihat. Android akan menghentikan activity dalam keadaan paused ini.

2. memperbarui sumber data dan menampilkan notifikasi.2. misal pesan masuk. bahkan ketika Activity tidak aktif atau tidak tampak. sistem akan menentukan komponen apa yang dibutuhkan oleh Intents tersebut. kondisi ketika activity telah dihentikan dan sebelum dijalankan. Intents tidak selalu dimulai dengan menjalankan aplikasi. Intents dapat eksplisit atau implisit. seperti memilih foto. namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal. melainkan berjalan di background untuk waktu yang tidak terbatas. Komponen service diproses tidak terlihat. 4miral@gmail. Service digunakan untuk melakukan pengolahan data yang perlu terus diproses. contohnya jika suatu aplikasi ingin menampilkan URL. menampilkan halaman web. Kondisi transisi ini sepenuhnya ditangani oleh manajer memori Android.3. dan lain sebagainya.4. Android akan memulai menutup aplikasi yang mengandung activity inactive. kemudian stopped activity. Services Suatu service tidak memiliki tampilan antarmuka.3. dan dalam kasus luar biasa paused activity juga akan di tutup. Intents Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu. 2.4.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4) Inactive. Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu restart ulang agar dapat tampil dan digunakan kembali.3.com 30 .

Broadcast Receivers dapat menggunakan Notification Manager untuk memberitahukan sesuatu kepada pengguna. Batre sudah hampir habis. atau pengguna telah merubah bahasa default pada perangkat. Sama halnya dengan service. Broadcast Receivers Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan.com 31 .5. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain. atau dengan cara lain yang pada prinsipnya sama. dalam database SQLite. Tipe Aplikasi Android Terdapat tiga kategori aplikasi pada Android [4] : 1. Namun. Aplikasi dengan tipe ini pasti 4miral@gmail.4. sehingga mudah dalam penerapannya.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 2. Data dapat disimpan dalam file sistem.4.3.3. Foreground Activity Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Content Providers Content Providers digunakan untuk mengelola dan berbagi database. 2. Sebagian besar Broadcast berasal dari sistem misalnya.3. Dengan adanya Content Provider memungkinkan antar aplikasi untuk saling berbagi data. Broadcast Receivers tidak menampilkan antarmuka pengguna.5. informasi zona waktu telah berubah. 2.4.

Misalnya Pengguna ingin menjalankan browser web. atau dihentikan sama sekali. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan. semua dari prosesnya tidak tidak tampak pada layar. 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. selain dari pengaturan konfigurasi. Contohnya pemutar musik. sumberdaya yang tersedia. 2. jika suatu Activity tidak 4miral@gmail. namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan memberi tahu pengguna tentang kondisi tertentu.com 32 . Jika pengguna ketika itu sedang menjalankan sebuah Activity. Sebaliknya.3. Contohnya aplikasi penyaringan panggilan atau sms auto respon. maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. berdasarkan kebutuhan pengguna. sehingga perpindahan antar activity dapat berlangsung dengan lancar.6. Siklus Hidup Aplikasi Android Siklus hidup aplikasi Android dikelola oleh sistem. pada akhirnya sistem yang akan menentukan menjalankan aplikasi. 3. dan sebagainya. Background Service Aplikasi yang memiliki interaksi terbatas dengan user.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia mempertimbangkan siklus hidup activity. Intermittent Activity Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna. 2. dihentikan sementara.

5 Prioritas Aplikasi Berdasarkan Activity 4miral@gmail. dengan ini melindungi penggunaan memori pada aplikasi. [5] Android menjalankan setiap aplikasi dalam proses secara terpisah.com 33 . Karenanya Android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya. maka Activity yang prioritas rendah akan ditutup. Selain itu juga Android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. yang masing-masing memliki mesin virtual pengolah sendiri. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar 2.4 menunjukkan prioritas dari aplikasi. Gambar 2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia terlihat dan sistem membutuhkan sumber daya yang lebih.

Windows Mobile. Java Mobile Edition. termasuk didalamnya Symbian. Semua itu sudah tertanam pada Android sehingga memudahkan dalam pengembangan aplikasi. 2. iPhone. kemudahan dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan layanan pencarian lokasi. Bebas pengembangan tanpa dikenakan biaya terhadap sistem karena berbasiskan Linux dan open source.7. Linux Mobile (LiM0).com 34 . Sementara pengembang software menyukai karena Android dapat digunakan diperangkat manapun dan tanpa terikat oleh vendor manapun. 4. database SQL. bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang dikembangkan. BlackBerry. browser dan penggunaan peta.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 2. Pembuat perangkat menyukai hal ini karena dapat membangun platform yang sesuai yang diinginkan tanpa harus membayar royality. sehingga kerja sistem 4miral@gmail. 3. Banyak dukungan service. Android adalah yang pertama menggabungkan hal seperti berikut [2]: 1. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi lainnya.3. dan banyak lagi. Keterbukaan. Walaupun beberapa fitur-fitur yang ada telah muncul sebelumnya pada platform lain. Siklus hidup aplikasi diatur secara otomatis. setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan. Kelebihan Android Sudah banyak platform untuk perangkat selular saat ini. Namun ada beberapa hal yang menjadi kelebihan Android. Arsitektur komponen dasar Android terinspirasi dari teknologi internet Mashup.

aplikasi dapat digunakan pada perangkat yang ada saat ini maupun yang akan datang. 4miral@gmail. dengan adanya dukungan 2D grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game yang berbeda. Sama halnya dengan dukungan masukan seperti penggunaan Keyboard. 6. Pengguna tak perlu kawatir dalam menggunakan aplikasi pada perangkat yang memorinya terbatas. Portabilitas aplikasi. layar sentuh.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia menjadi lebih stabil.com 35 . Semua program ditulis dengan menggunakan bahas pemrograman Java dan dieksekusi oleh mesin virtual Dalvik. Dukungan grafis dan suarat terbaik. 5. sehingga kode program portabel antara ARM. X86. trackball dan resolusi layar semua dapat disesuaikan dengan program. dan arsitektur lainnya.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia

BAB 3

BAB III Analisis dan Perancangan ANALISIS DAN PERANCANGAN

Pada bab ini akan dijelaskan analisis dan perancangan sistem yang akan dikembangkan. Sistem aplikasi pengingat shalat dan arah kiblat ini diberi nama Kupluk, sehingga untuk selanjutnya penyebutan sistem aplikasi pengingat shalat dan arah kiblat ini adalah Kupluk. 3.1. Analisis Kebutuhan Kupluk Analisis sistem adalah penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan. Bagian analisis ini terdiri atas analisis fungsional, anallisis performansi, gambaran sistem dari sudut pandang user yang dinyatakan dalam use case diagram, dan gambaran alur sistem. 3.1.1. Analisis Fungsional Analisis fungsional merupakan paparan mengenai fitur-fitur yang akan dimasukkan ke dalam Kupluk. Fitur-fitur tersebut antara lain sebagai berikut: 1. Mampu menampilkan jadwal waktu shalat yang sesuai dengan lokasi dimana pengguna berada. 2. Mampu menampilkan arah kiblat secara otomatis dan real position berdasarkan posisi pengguna dengan bantuan acelometer. 3. Terdapat pilihan pengaturan metode perhitungan waktu shalat sesuai yang diinginkan pengguna.

4miral@gmail.com

36

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia

4. Terdapat dua pilihan pengaturan penentuan waktu shalat Ashar berdasarkan mazhab yang dianut pengguna. 5. Terdapat pilihan pengaturan reminder yang berfungsi untuk mengingatkan waktu shalat. 6. Terdapat pilihan pengaturan mode pengingat yang berfungsi untuk mengatur bentuk pengingat yang diinginkan oleh pengguna. 3.1.2. Performansi Kupluk

Kupluk merupakan aplikasi yang berjalan di lingkungan sistem operasi Android. Terdapat beberapa keterbatasan yang ditemui pada perangkat berbasiskan Android. Sehingga perlu diperhatikan guna menjadi acuan dalam pengembangan Kupluk, diantaranya: • Sumber daya memori yang terbatas, hingga saat ini perangkat Android yang banyak beredar memiliki kapasistas memori terbatas. Adapun yang tertinggi saat ini 512 Mb. • Sumber daya baterai yang secara efektif hanya mampu bertahan selama kurang lebih 6 jam, dengan penggunaan secara terus-menerus dan kurang lebih 200 jam dalam keadaan standby. • Tampilan antar muka aplikasi sangat berpengaruh terhadap waktu tunggu hingga aplikasi benar-benar siap digunakan, semakin banyak komponen yang digunakan akan semakin lama pula waktu tunggu yang dibutuhkan.

Dari keterbatasan-keterbatasan pada perangkat, maka diusulkan beberapa alternatif untuk meningkatkan performa aplikasi dengan keterbatasan yang ada, diantaranya:

4miral@gmail.com

37

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia

o Merancang aplikasi dengan penggunaan memori seefektif mungkin, sehingga tidak menganggu siklus operasi Android dan aplikasi lain. o Merancang aplikasi dengan pemanfaatan sumber daya seefisien mungkin namun tidak mengurangi fungsi dan performa aplikasi. o Merancang aplikasi dengan antar muka yang sederhana namun tetap menarik dan ramah bagi pengguna. 3.1.3. Use Case Diagram Use case merupakan gambaran skenario dari interaksi antara user dengan sistem. Sebuah diagram use case menggambarkan hubungan antara aktor dan kegiatan yang dapat dilakukannya terhadap aplikasi.

4miral@gmail.com

38

dan latitude lokasi perangkat saat itu.com 39 . Di dalam diagram ini terdapat sebuah extend yang digunakan untuk menunjukkan bahwa satu use case merupakan tambahan fungsional dari use case lain jika kondisi tertentu terpenuhi. longitude. Alur ini dimulai dari ketika user memulai menjalankan program Kupluk. Ketika 4miral@gmail. GPS akan menyampaikan informasi mengenai nilai altitude. Dari informasi inilah akan diolah oleh aplikasi sehingga menampilkan jadwal shalat kepada user saat itu.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 3.1 Diagram Use Case Pada diagram di atas terdiri dari 2 aktor dan 4 use case.

aplikasi menunjukkan arah kiblat yang sesuai dengan lokasi dan posisi user. 3.com 40 . Dari data ini akan diolah aplikasi yang selanjutnya dengan bantuan sensor dari acelometer. Diagram Alir (Flowchart) Diagram Alir atau Flowchart merupakan serangkaian bagan-bagan yang menggambarkan alir program. 4miral@gmail. Ketika pengguna menjalankan use case arah kiblat.1. Pada diagram alir ini digambarkan urutan prosedur dalam program Kupluk. maka aplikasi akan secara otomatis memberikan penanda berupa alarm atau pemberitahuan ketika waktu shalat telah tiba.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia pengguna melakukan pengaturan untuk pengingat waktu shalat.4. maka GPS memberikan informasi kepada sistem tentang nilai latitude dan longitude user berada.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 3.com 41 .2.2 Diagram Alir Sistem 3. Yang dimaksud semua user adalah bahwa tidak hanya seorang ahli saja yang 4miral@gmail. Perancangan ini merupakan hasil transformasi dari analisa ke dalam perancangan yang nantinya akan di implementasikan. Hal penting yang menjadi perhatian pada perancangan adalah bahwa rancangan yang dibuat diharapkan dapat digunakan dengan mudah oleh semua user. dan membuat sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi. Perancangan Kupluk Perancangan dilakukan untuk menggambarkan. merencanakan.

lokasi : LocationManger .onOptionItemSelected() 4miral@gmail.2.zonaWaktu : float .metode : String . Nama Kelas.sudutIsya : int Method 1 Kupluk Main . 3. dan Operasi.1 Kelas. namun orang awam pun dapat menggunakannya. yang pada dasarnya terbagi atas tiga bagian yaitu.onCreate() . Atribut dan Method NO Nama Class Atribut .bulan : int . Atribut.com 42 . Selain itu beberapa hal yang harus diperhatikan antara lain adalah kinerja program yang baik dalam mengoperasikan aplikasi yang dibuat.tahun : int . interface. Diagram Kelas Diagram kelas merupakan diagram struktural yang memodelkan sekumpulan kelas.mazhab : int . Diagram kelas digunakan untuk menggambarkan proses statik dari aplikasi Kupluk.hari : int . kolaborasi dan relasinya.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia dapat menggunakan aplikasi ini.3 Diagram Kelas dan Relasi Antar Kelas Tabel 3. Diagram kelas digambarkan dengan kotak.1.onCreateOptionMenu() .onResume() . Gambar 3.

zonaWaktuLokasi : float .setEqutionTime() .getSetZuhur() .shalat : PerhitunganShalat .mazhab : int . 4.segitigaBola() .setLongitudeLokasi() . 6.sensorListener: SensorListener . 12.longitudeLokasi: double .getSudutSubuh() . 3.ubahKeString() . 4 Pengaturan PIL_SUBUH: String PIL_SUBUH_DEF: boolean PIL_ZUHUR : String PIL_ZUHUR_DEF : boolean PIL_ASHAR : String PIL_ASHAR_DEF : boolean PIL_MAGHRIB : String PIL_MAGHRIB_DEF : boolean PIL_ISYA : String PIL_ISYA_DEF : boolean PIL_METODE_PERHITU NGAN : String PIL_METODE_PERHITU NGAN_DEF : String PIL_MAZHAB : String PIL_MAZHAB_DEF : String .onCreateOptionMenu() .webView : WebView 1.onCreate() . 11.setZonaWaktuLokasi() .jdLokasi : double .waktuZuhur : float .PerhitunganShalat() .equtionTime : double .getEqutionTime() .setSudutSubuh() .latMasjid : float .onCreateOptionMenu() .onCreateOptionMenu() .getSudutIsya() .onOptionItemSelected() 5 PerhitunganShalat .kiblatView : KiblatView .getSetMazhab() . 13.getLatitudeLokasi() .waktuMaghrib : float .onStop() . 14.getSetSubuh() . 10. 7. 2.waktuAshar : float . 8.getLongitudeLokasi() .updatePerputaran() .getSetIsya() getSetMetodePerhitungan () .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia .latitudeLokasi: double .getSetAshar() .onOptionItemSelected() .delta : double .lokasi : LocationManager 2 Kiblat .setJDLokasi() .onResume() .sudutIsya : double .onCreate() .setDelta() .com 43 .arahKiblat : float .lonMasjid : float .getAltitudeLokasi() . 5.onCreate() .waktuSubuh : float . 9.setLatitudeLokasi() .sensorManager : SensorManager .setAltitudeLokasi() .getSetMaghrib() .sudutSubuh : int .getDelta() .setArahKiblat() .ambilResource() .getJDLokasi() 4miral@gmail.sudutSubuh : double .altitudeLokasi: double .onOptionItemSelected() 3 Tentang .getArahKiblat() .getZonaWaktuLokasi() .service : KuplukService .waktuIsya : float .setSudutIsya() .busur : float .

setDetik() .timer : Timer .penandaGambar : Paint .getWaktuZuhur() .JADWAL : String .setBusur() . dan sebagainya) berupa message yang digambarkan terhadap waktu.setMenit() . Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).onCreate() .detik : int 8 KuplukService .tinggi : int .notifikasi : NotificationManager .paintText : Paint 7 FormatWaktu .getMenit() .lebar : int .checkAlarm() .getMazhab() .onMesuare() .jam : int .initKiblatView() .jSubuh : int -mSubuh : int -jZuhur : int -mZuhur : int -jAshar : int -mAshar : int -jMaghrib : int -mMaghrib : int -jIsya : int -mIsya :int .getWaktuSubuh() .getDetik() 6 KiblatView .KiblatView() .setMazhab() .getBusur() .2.menit : int .onDestroy() .getWaktuIsya() .idNotifikasi : int .FormatWaktu() .onBind() .startService() .setJam() .getJam . 4miral@gmail.getWaktuMaghrib() . Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di dalam dan disekitar sistem (termasuk pengguna.busur : float .gambarLingkarang : Paint .2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia .onDraw() .shutdownService() 3.showNotifikasi() . Pada sequence diagram ini menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan pada sistem sebagai respon dari sebuah event untuk menghasilkan output tertentu.getWaktuAshar() .com 44 . display.

2.com 45 . Dimana menu utama adalah pusat navigasi yang merupakan penghubung ke semua fitur pada aplikasi.4 Diagram Sequence 3.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 3.3. Perancangan Navigasi Aplikasi Kupluk menggunakan struktur navigasi Hierarchical Model. 4miral@gmail.

4. 3. 4miral@gmail.com 46 .5 Struktur Navigasi Dari struktur navigasi ini. karena yang pertama kali dilihat ketika aplikasi dijalankan adalah tampilan antar muka (interface) aplikasi.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 3.2. perpindahan antar fitur yang tersedia dapat dilakukan melalui menu. Karena Android mendukung fitur layar sentuh kapasitif yang dapat menerima input sentuhan dari jari. sehingga navigasi dapat dilakukan dengan menggunakan sentuhan pada layar. Perancangan Antar Muka (Interface) Perancangan interface adalah bagian yang penting dalam aplikasi.

4. Perancangan Antar Muka Menu Gambar 3. 2.6 Desain Layar Tampilan Menu Utama Keterangan Gambar: 1. 4. 3. Teks dan Gambar Akan dibuat dengan berisikan teks Jadwal dan gambar bedug.2. Teks dan Gambar Akan dibuat dengan berisikan teks Tentang dan gambar tanda tanya.com 47 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 3. Teks dan Gambar Akan dibuat dengan berisikan teks Kiblat dan gambar Ka’bah.1. 4miral@gmail. Teks dan Gambar Akan dibuat dengan berisikan teks Pengaturan dan gambar gear.

dimana disebelah kanannya berisikan teks informasi jam shalat. 2. Teks Merupakan jadwal shalat yang akan ditampilkan berupa teks secara berurut dari subuh hingga isya.2.com 48 . 4miral@gmail.4.2. Perancangan Antar Muka Jadwal Shalat Gambar 3. Latar Belakang Latar belakang ini akan dibuat berisikan gambar berbentuk masjid.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 3.7 Desain Layar Tampilan Jadwal Shalat Keterangan Gambar: 1.

3. Kompas Kiblat Merupakan tampilan dua dimensi yang akan menujukkan arah kiblat.com 49 .2. Perancangan Antar Muka Arah Kiblat Gambar 3. Teks Akan dibuat berisi teks besar derajat sudut arah kiblat dari arah utara. 2. 4miral@gmail.4.8 Desain Layar Tampilan Arah Kiblat Keterangan Gambar: 1.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 3. Latar Belakang Pada latar belakang arah kiblat akan dibuat berisikan gambar bernuasa islami yang disesuaikan dengan tampilan jadwal Shalat.3.

Teks Akan dibuat berisi teks pengaturan mazhab. Teks 4miral@gmail. yang selanjutnya akan menampilkan dialog daftar pilihan metode perhitungan.9 Desain Layar Tampilan Pengaturan Keterangan Gambar: 1.2. Teks Akan dibuat berisi teks yang menjelaskan kategori pengaturan shalat 2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 3.4. yang selanjutnya akan menampilkan dialog daftar dua mazhab.com 50 . Teks Akan dibuat berisi teks pengaturan metode perhitungan.4. 3. 4. Perancangan Antar Muka Pengaturan Gambar 3.

Hal ini dilakukan untuk memudahkan pengguna dalam menghubungi pengembang. Sehingga dalam implementasi nantinya menggunakan kode program HTML.com 51 . Teks Akan dibuat berisi teks pengaturan pengingat shalat. Teks Akan dibuat birisi teks pengaturan mode pengingat waktu shalat. 6. 5. dan lampu.5. yang selanjutnya akan menampilkan pilihan untuk daftar shalat 5 waktu. Adapun desain perancangan muka tentang adalah sebagai berikut: 4miral@gmail. yang selanjutnya akan menampilkan dialog pilihan mode pengingat yaitu suara azan. getar.4. 3. Perancangan Antar Muka Tentang Tampilan antar muka tentang dibuat dengan tampilan layaknya tampilan web.2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Akan dibuat berisi teks yang menjelaskan kategori pengaturan pengingat.

com 52 . Teks Akan dibuat birisi teks informasi mengenai fitur-fitur yang tersedia pada aplikasi. 2. Gambar Akan dibuat berisi icon gambar Kupluk. 4. Teks 4miral@gmail.10 Desain Layar Tampilan Antarmuka Tentang Keterangan Gambar: 1.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 3. Teks Akan dibuat berupa berupa teks penjelasan mengenai hal tentang Kupluk dan filosofinya. 3.

Teks Akan dibuat berisi teks informasi umum mengenai pengembang. 5.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Akan dibuat berisi teks ucapan terima kasih terhadap pihak-pihak yang ikut terlibat dalam pengembangan aplikasi.com 53 . alamat sistus dan dukungan email langsung kepada pengembang. 4miral@gmail.

com 54 . Pada awal bagian ini dijabarkan spesifikasi perangkat keras dan lunak pada mana program diimplementasikan. Perangkat keras dan perangkat lunak merupakan dua hal yang selalu dibutuhkan dalam mengimplementasikan rancangan yang telah ada. Di samping itu disajikan juga tampilan Kupluk setelah diimplementasikan pada telepon genggam HTC G1 (Dream). Spesifikasi Perangkat Keras Dalam menerapkan dari rancangan yang telah dijelaskan sebelumnya dibutuhkan beberapa perangkat keras untuk menyajikan aplikasi ini.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia BAB 4 Implementasi BAB IV IMPLEMENTASI Implementasi merupakan tahap pengembangan rancangan menjadi kode program. 4. Bagian utama implementasi adalah penjabaran rancangan kelas menjadi kelas yang ditulis dalam sintaks Bahasa Pemrograman Java. ada beberapa hal yang harus dibutuhkan.1. Adapun alatalat yang dibutuhkan adalah: 1. Spesifikasi Perangkat Keras dan Lunak Dalam menerapkan rancangan yang telah dibuat.6 4miral@gmail.1. Adapun handphone yang digunakan adalah HTC G1 (Dream) dengan spesifikasi sebagai berikut: • Sistem Operasi : Android 1.1. 4. Handphone Berbasiskan Sistem Operasi Android Handphone digunakan untuk menjalankan program aplikasi yang telah dikembangkan.

trackball. keyboard QWERTY.1.0. Kabel data serial port Fungsi dari kabel data ini adalah untuk menghubungkan antara Komputer dengan Handphone.11b/g). HSDPA/HSUPA.6 dan Java Runtime Environment (JRE).com 55 . Bluetooth 2. Sistem Operasi 4miral@gmail. Quad band. • Konektivitas : Wi-Fi (802. Satu unit PC dengan spesifkasi antara lain: • • • Prosesor : Pentium IV Memori : 1 Gb Ruang Penyimpan : 80 Gb 4. dibutuhkan beberapa software untuk membuat program pengingat shalat yaitu: 1. volume controls. 2. accelerometer. Spesifikasi Perangkat Lunak Dalam menerapkan rancangan yang telah dibuat. Bahasa Pemrograman Java Dalam hal ini digunakan Java Development Kid (JDK) 1. 3. A-GPS. ext USB. 2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia • • • • • CPU : 528 Mhz Qualcomm Ruang Penyimpan : 256 MB (internal) dan 2 GB (microSD) Memory : 192 MB DDR SDRAM Dimensi Layar : 320 x 480 Masukkan : Touch screen kapasitif.2.

com 56 . Integrated Development Environment (IDE) Eclipse 3. Android Development Tools (ADT) Android membuat kostum plugin untuk IDE Eclipse. dan bahkan membungkus aplikasi yang telah dikembangkan untuk di distribusikan. 4miral@gmail.5 Untuk memudahkan dalam pengembangan aplikasi. Antara lain tools pengembangan. men-debug aplikasi dengan menggunakan perangkat SDK Android.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Untuk penggunaan sistem operasi dapat digunakan Windows XP (32-bit) atau Vista (32 atau 64 bit). 3.4 atau 3. 5.5. menambahkan komponen yang diperlukan. Android Software Development Kit (Android SDK) Android SDK menyediakan development environment dengan semua komponen yang diperlukan. maka digunakan IDE karena memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak.4. sehingga dengan adanya ADT ini memberikan kemudahan dalam pengembangan aplikasi. dan Linux. dokumentasi. Adapun dalam pengembangan ini digunakan Eclipse v 3. 4. dan contoh aplikasi serta disertakan pula emulator untuk mensimulasikan aplikasi berjalan pada perangkat. Adapun ADT yang digunakan adalah ADT 0.4 atau 3.9. Mac OS X 10.5 dikarenakan telah mendukung Android Development Tools. libraries. membuat tampilan antarmuka aplikasi.8 atau diatasnya.

perlu dibuat terlebih dahulu pendukung kelas KuplukMain seperti. Sehingga sebelum membuat kelas KuplukMain.0" encoding= "utf-8" ?> <RelativeLayout xmlns:Android= "http://schemas. Setiap elemen dalam tampilan antarmuka perlu ditambahkan atribut pengenal.Android. Pembuatan Tampilan Antarmuka Tampilan Utama Pembuatan tampilan antarmuka pada sistem Android di impelmentasikan dalam bentuk XML. tampilan utama merupakan tampilan jadwal shalat yang terhubung dengan beberapa kelas pendukung. dan kelas FormatWaktu. sehingga elemen tersebut akan di generate dalam kelas Resource dan memudahkan untuk digunakan pada kelas yang memerlukan.2.2.1. Penulisan Kode Program (Codding) Pembuatan Tampilan Utama Berdasarkan perancangan.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4.1. 4.com 57 .2. 4. tampilan antarmuka.1. kelas PerhitunganShalat. Adapun kode antarmuka tampilan utama adalah sebagai berikut: <?xml version= "1.com/apk/res/Android" Android:layout_width= "fill_parent" Android:layout_height= "fill_parent" Android:background= "@drawable/latar" > <TextView Android:id= "@+id/label_judul" Android:text= "Jadwal Shalat" Android:layout_width= "fill_parent" Android:layout_height= "wrap_content" Android:textSize= "20sp" Android:textStyle= "bold" Android:textColor= "#ffffffff" Android:gravity= "center" Android:paddingTop= "136dip" /> <TextView Android:id= "@+id/label_subuh" Android:text= "Subuh" Android:layout_width= "wrap_content" 4miral@gmail.

com 58 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffff" Android:paddingLeft= "50dip" Android:layout_below= "@id/label_judul" Android:paddingTop= "30dip" /> <TextView Android:id= "@+id/label_zuhur" Android:text= "Zuhur" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffff" Android:paddingLeft= "50dip" Android:layout_below= "@id/label_subuh" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/label_ashar" Android:text= "Ashar" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffff" Android:paddingLeft= "50dip" Android:layout_below= "@id/label_zuhur" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/label_maghrib" Android:text= "Magrib" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffff" Android:paddingLeft= "50dip" Android:layout_below= "@id/label_ashar" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/label_isya" Android:text= "Isya" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffff" Android:paddingLeft= "50dip" Android:layout_below= "@id/label_maghrib" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/label_subuh_jam" Android:layout_width= "wrap_content" 4miral@gmail.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffcc" Android:paddingRight= "50dip" Android:paddingLeft= "210dip" Android:layout_below= "@id/label_judul" Android:paddingTop= "30dip" /> <TextView Android:id= "@+id/label_zuhur_jam" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffcc" Android:paddingLeft= "210dip" Android:layout_below= "@id/label_subuh_jam" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/label_ashar_jam" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffcc" Android:paddingLeft= "210dip" Android:layout_below= "@id/label_zuhur_jam" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/label_maghrib_jam" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffcc" Android:paddingLeft= "210dip" Android:layout_below= "@id/label_ashar_jam" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/label_isya_jam" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:textStyle= "bold" Android:textColor= "#ffffffcc" Android:paddingLeft= "210dip" Android:layout_below= "@id/label_maghrib_jam" Android:paddingTop= "20dip" /> <TextView Android:id= "@+id/coba" Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:textSize= "15sp" Android:paddingLeft= "210dip" 4miral@gmail.com 59 .

int bulan. double altitudeLokasi. import Android.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Android:layout_below= "@id/label_isya" Android:paddingTop= "20dip" /> </RelativeLayout> 4. double double double double double jdLokasi. double sudutSubuh. //Konstruktor public PerhitunganShalat( double latitudeLokasi. 4miral@gmail.1. int tanggal.Kupluk. Pembuatan Kelas PerhitunganShalat Kelas PerhitunganShalat merupakan kelas yang berfungsi untuk memproses perhitungan waktu shalat dan merupakan iplementasi terhadap rumus-rumus pada yang telah dijabarkan pada bab landasan teori. waktuSubuh . waktuIsya . Adapun kode program berdasarkan perancangan adalah sebagai berikut: package com.2.Log. double ET.com 60 . double sudutIsya. Keluaran dari kelas PerhitunganShalat ini adalah nilai 5 waktu shalat. int mazhab.2. int tahun) { // TODO Auto-generated constructor stub setLatitudeLokasi(latitudeLokasi). latitudeLokasi. setLongitudLokasi(longitudeLokasi).service. altitudeLokasi. setAltitudeLokasi(altitudeLokasi).util. zonaWaktuLokasi. waktuAshar . public class PerhitunganShalat { private private private private private private private private private private private private private private private float float float float float waktuZuhur . double longitudeLokasi.amiral. waktuMaghrib . double delta. longitudLokasi. double zonaWaktu.

pow(getAltitudeLokasi(). sin((1*getSudutSubuh())*Math. cos(getDelta())*Math. tan(Math. acos((Math. } public void setLatitudeLokasi( double latitudeLokasi) { this. } public double getLongitudLokasi() { 4miral@gmail. } public float getWaktuSubuh() { setDelta(getJdLokasi()). sin((0.0347*Math. cos(getLatitudeLokasi())))).Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia setZonaWaktuLokasi(zonaWaktu). return waktuIsya = ( float) (getWaktuZuhur()+(12/Math.cos(getDelta())*Math.8333-0. cos(getLatitudeLokasi())))). return waktuSubuh = ( float) (getWaktuZuhur()(12/Math. PI)*Math. sin((1*getSudutIsya())*Math. PI)*Math. bulan. PI/180.latitudeLokasi = latitudeLokasi*Math. PI/180)Math. } public float getWaktuIsya() { setDelta(getJdLokasi()). cos(getLatitudeLokasi())))). PI/180)Math. sin(getLatitudeLokasi()))/(M ath. } public double getLatitudeLokasi() { return latitudeLokasi. return waktuMaghrib = ( float) (getWaktuZuhur()+(12/Math. PI)*Math. sin(Math . sin(getDelta())*Math. setJdLokasi(tanggal. (getWaktuZuhur()+(12/Math.com 61 . sin(getLatitudeLokasi())) /(Math. acos((Math. sin(getDelta())*Math.getET()/60).cos(getDelta())*Math. } public float getWaktuZuhur() { setET(getJdLokasi()).5))*Math. } public float getWaktuMaghrib() { setDelta(getJdLokasi()). sin(getDelta())*Math. } public float getWaktuAshar() { setDelta(getJdLokasi()). acos((Math. sin(getLatitudeLokasi()))/(M ath. sin(getDelta())*Math. sin(getLatitudeLokasi()))/(M ath.atan(1/(getMazhab()+ Math. tahun). PI/180)Math. 0. return waktuZuhur = ( float) (12+getZonaWaktuLokasi() getLongitudLokasi()/15 . cos(getLatitudeLokasi())))). acos((Math. PI)*Math.cos(getDelta())*Math. abs(getLatitudeLokasi()-getDelta())))))Math.

com 62 . int Y = bulan < 3 ? tahun-1: tahun. int A= Y/100. } public double getSudutIsya() { return sudutIsya. 4miral@gmail.longitudLokasi = longitudLokasi.sudutSubuh = sudutSubuh. int B= 2 + ( int)(A/4) .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia return longitudLokasi. } public void setSudutIsya( double sudutIsya) { this. } public void setJdLokasi( int tanggal.zonaWaktuLokasi = zonaWaktuLokasi.sudutIsya = sudutIsya. } public double getJdLokasi() { return jdLokasi. } public void setLongitudLokasi( double longitudLokasi) { this. } public double getAltitudeLokasi() { return altitudeLokasi. } public void setAltitudeLokasi( double altitudeLokasi) { this. int bulan. } public void setSudutSubuh( double sudutSubuh) { this. } public void setZonaWaktuLokasi( double zonaWaktuLokasi) { this. } public double getZonaWaktuLokasi() { return zonaWaktuLokasi.A. } public double getSudutSubuh() { return sudutSubuh. int tahun) { int M = bulan < 3 ? bulan+12:bulan.altitudeLokasi = altitudeLokasi.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia double JDgreenWicht = 1720994. PI/180. sin(( 3 * 57.82.d("shalat".2451545)/36525.5. sin((2 * 57. double zona=getZonaWaktuLokasi(). } public void setET( double jdLks) { double U = (jdLks .547) * Math. PI/180. cos(L0) +(9934-14*U) * Math.682) * Math. sin((57.com 63 .jdLokasi = JDlokasi. } public double getET() { return ET. sin(4*L0))/1000. cos(2*L0) + (74+10*U)*Math. Log. sin(2*L0) (29+5*U) * Math. double eT = (-1 * (1789+237*U) * Math.722)* Math. } public double getDelta() { return delta. this. double JDlokasi = JDgreenWicht .zona/24. PI/180) + 0.297 * sudutTanggal . cos(3*L0) .264 * Math.25. ET = eT.212*Math. double dlt = 0.mazhab = mazhab.delta=dlt*Math. sin(3*L0) + (320-4*U)*Math. PI/180) + 0. } public void setMazhab( int mazhab) { this.7698 * U) * Math.59. } public int getMazhab() { return mazhab.297 * sudutTanggal . sin(L0) . this. PI * (jdLks . double L0 = (280.17132 * Math.5 + ( int)(365.60001 * (M+1)) + B + tanggal + 0. } public void setDelta( double jdLks) { double sudutTanggal = 2 * Math.25 * Y) + (int)(30. } } 4miral@gmail. PI/180).46607 + 36000.79.2451545) / 365.37877 + 23.297 * sudutTanggal . "JDG= "+JDgreenWicht+"zona= "+getZonaWaktuLokasi()).3812 * Math.(714662*U) * Math.

menit. this. //Konstruktor public FormatWaktu( float waktu) { setJam(waktu). private int menit. this. setMenit(waktu). Pembuatan Kelas FormatWaktu Kelas FormatWaktu merupakan kelas yang berfungsi untuk mengubah nilai yang dihasilkan dari kelas PerhitunganShalat. setDetik(waktu).3. Adapun kode programnya adalah sebagai berikut: package com.service. private int detik. } public void setMenit( float waktu) { int menit=( int) ((waktu-getJam())*60). } } 4miral@gmail.2. } public int getJam() { return jam.amiral.1.jam = jam. } public int getDetik() { return detik. } public void setJam( float waktu) { int jam=( int) waktu.detik = detik.menit = menit. } public int getMenit() { return menit. Keluaran dari kelas ini adalah berupa jam. } public void setDetik( float waktu) { int detik=( int) ((((waktu-getJam())*60)getMenit())*60). this.com 64 . dan detik. public class FormatWaktu { private int jam.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4.Kupluk.

location. import android.kupluk.Location.2. import android. public class KuplukMain extends Activity { /** Called when the activity is first created.Editor.MenuItem.service.kupluk. public static final String JAM_SUBUH="jamSubuh". } } Dari default kelas inilah selanjutnya diinisialisasi atribut yang digunakan.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4. import com. resource yang telah dibuat pada antarmuka. */ public static final String JADWAL="jadwal".com 65 .os.TextView.util.Bundle. public class KuplukMain extends Activity { /** Called when the activity is first created.layout. import android.os. import android. Adapun kode program KuplukMain lengkapnya sebagai berikut: package com.NotificationManager.Context.SharedPreferences. main).view.Activity. 4miral@gmail.PerhitunganShalat. import android.Criteria.view. import android.amiral.content.Activity.FormatWaktu. import java. import android.Bundle. import android.Intent.content.amiral.location. import Android. Pembuatan Kelas KuplukMain Dikarenakan dalam pengembangan aplikasi ini menggunakan plugin Android Development Tools (ADT) sehingga ketika pertama kali projek dibuat maka secara otomatis kelas KuplukMain telah tersedia yang diperluas (extend) ke Activity.Log. dan juga metode yang diperlukan.app.widget.1.SharedPreferences. import android. setContentView(R.app.4. import android.util.Menu.app.content. import android.service.MenuInflater.location.view. import android. import android.Calendar.amiral. import Android.LocationManager. */ @Override public void onCreate(Bundle savedInstanceState) { super. import android. import com.content.onCreate(savedInstanceState). import android.kupluk.

get(Calendar.label_maghrib_jam). setContentView(R. // //inisialisasi Lokasi locationManager = (LocationManager) getSystemService(Context.id. private float sudutSubuh.get(Calendar.id.label_isya_jam).com 66 .cancel(NOTIF_ID). FormatWaktu isya. PerhitunganShalat shalat. TextView waktuZuhur= (TextView) findViewById(R. private int bulan.getInstance(). TextView waktuMaghrib= (TextView) findViewById(R.label_subuh_jam).id.class). public String metode="". FormatWaktu subuh.label_ashar_jam). hari=c. private int tahun. super.layout. private float sudutIsya. private int mazhab. private double zonaWaktu. // Mengambil text View di layout TextView waktuSubuh= (TextView) findViewById(R. LocationManager locationManager.id.MONTH)+1.DAY_OF_MONTH). zonaWaktu=Variabel. KuplukService. FormatWaktu maghrib. public static int NOTIF_ID = 100. tahun=c. mgr. FormatWaktu zuhur. TextView waktuIsya= (TextView) findViewById(R. bulan=c.LOCATION_SERVICE). SharedPreferences sharedPreferences. //kriteria penggunaan lokasi 4miral@gmail.id. //inisialisasi tanggal sekarang final Calendar c= Calendar.label_zuhur_jam).main).onCreate(savedInstanceState).YEAR). stopService(svc). Location location. @Override public void onCreate(Bundle savedInstanceState) { Intent svc = new Intent(this. KuplukService updateService = null. private int hari.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia public static final String MENIT_SUBUH="menitSubuh". TextView waktuAshar= (TextView) findViewById(R.getZonaWaktu(). NotificationManager mgr= (NotificationManager)getSystemService(NOTIFICATION_SERVICE).get(Calendar. FormatWaktu ashar. private PerhitunganShalat shalat.

charAt(0).com 67 . mazhab = m == '0'? 1 : 2 . 50. criteria. tahun).setAccuracy(Criteria. char a= metode.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Criteria criteria= new Criteria(). //Menghitung variabel shalat = new PerhitunganShalat(-6. location=locationManager.166666667.setSpeedRequired(false).getBestProvider(criteria. } /** * Untuk mengambil nilai mazhab yang sudah ditentukan oleh user */ String mzb = Pengaturan. // 4miral@gmail.getLastKnownLocation(provider). sudutIsya=(float) 19.5.getMetodePerhitungan(this). criteria. } break. case '5':{ sudutSubuh=(float) 17. }break.5. true). case '2':{ sudutSubuh=15. sudutIsya=15. String provider = locationManager. case '3':{ sudutSubuh=17. criteria. }break.charAt(0).getMazhab(this). sudutIsya=18.85. case '1':{ sudutSubuh=18. /** * Untuk mengambil nilai metode yang telah ditentukan oleh user * @params metode merupakan tempenat menyimpan sementara */ metode=Pengaturan.5. hari.setBearingRequired(false).setPowerRequirement(Criteria. zonaWaktu.POWER_LOW). sudutIsya=18. criteria. sudutIsya=18. 106. bulan. }break. sudutIsya=(float) 18.ACCURACY_COARSE). switch (a) { case '0':{ sudutSubuh=20. criteria. char m = mzb.setCostAllowed(true). case '4':{ sudutSubuh=18. }break. }break.

getMenit()).d("kupluk".getJam()). shalat.getAltitude().getLongitude().getMenit()+":"+maghrib. waktuSubuh.getMenit()+":"+subuh. Log. ashar.d("kupluk". "isya= "+shalat.clear(). editor. Log.getJam()+":"+maghrib.getMenit()). Log.getJam()). FormatWaktu subuh=new FormatWaktu(shalat.d("kupluk". zonaWaktu. Log.d("k". editor.commit().setSudutIsya(sudutIsya). ashar. FormatWaktu maghrib=new FormatWaktu(shalat. waktuIsya.putInt("jIsya". //Untuk mengkonfersi hasil perhitungan dalam format jam.getJam()+":"+subuh. location. zuhur. isya.getJam()). FormatWaktu isya=new FormatWaktu(shalat.d("kupluk".getLatitude(). waktuMaghrib. zuhur. Log. bulan. "sudut isya: "+shalat. "maghrib= "+shalat.getMenit()).d("kupluk". 0).d("kupluk".getWaktuSubuh()). editor. Log.setSudutSubuh(sudutSubuh). "Delta: "+shalat.getMenit()). "mazhab: "+mazhab). maghrib.d("k".getDetik()).getJam()).getJam()+":"+ashar. waktuAshar. Log. "sudut subuh: "+shalat. 4miral@gmail.putInt("jSubuh". location.putInt("mMaghrib". Log.getDetik()). editor.getET()). // Inisiasi service startService(svc). tahun).getJam()).d("kupluk".d("kupluk". editor.d("kupluk".getSudutSubuh()). Log.getDelta()). "subuh= "+shalat.getWaktuIsya()).setText(""+maghrib. "ET: "+shalat.putInt("jZuhur".Editor editor= jadwal.getMenit()).edit().com 68 .getDetik()).setMazhab(mazhab). editor.getWaktuAshar()). subuh. isya.d("kupluk".setText(""+subuh.getWaktuAshar()).getWaktuMaghrib()). editor. //untuk menyimpan waktu shalat agar dapat dipanggil di KuplukService SharedPreferences jadwal = getSharedPreferences(JADWAL. "zuhur= "+shalat.putInt("jMaghrib".setText(""+isya.getWaktuZuhur()). //cek keluaran Log. FormatWaktu zuhur= new FormatWaktu(shalat. SharedPreferences. Log.getWaktuZuhur()). Log. editor. editor.putInt("mZuhur".getMenit()+":"+isya. FormatWaktu ashar= new FormatWaktu(shalat.setText(""+ashar.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia shalat= new PerhitunganShalat(location. shalat.getDetik()).getWaktuSubuh()). editor. hari. shalat.maghrib. editor. "metode: "+metode).putInt("mAshar". "Ashar= "+shalat.putInt("mSubuh".getJdLokasi()).getMenit()+":"+zuhur.setText(""+zuhur.getWaktuMaghrib()). Log. waktuZuhur.getMenit()+":"+ashar.getSudutIsya()).putInt("mIsya".putInt("jAshar".d("kupluk". "zonawaktu: "+zonaWaktu). "Jd LOkasi: " + shalat.getDetik()).getJam()+":"+isya.getWaktuIsya()). editor.getJam()+":"+zuhur. subuh.

id. switch (item. inflater. Tentang. return true.2.tentang_menu: startActivity(new Intent(this.class)). mNM. yang selanjutnya akan digunakan pada tampilan antarmuka Arah Kiblat.jadwal_menu: startActivity(new Intent(this.cancel(KuplukService. return true. NotificationManager mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE). } //Untuk mengeksekusi jika pilihan menu dipilih @Override public boolean onOptionsItemSelected(MenuItem item){ super. Dari tampilan antarmuka Arah Kiblat 4miral@gmail.kiblat_menu: startActivity(new Intent(this. KuplukMain.menu. } //untuk mendeklarasikan Menu @Override public boolean onCreateOptionsMenu(Menu menu){ super. case R.onCreateOptionsMenu(menu).onOptionsItemSelected(item). case R.id.2. return true.inflate(R. case R. menu).id. Pembuatan Tampilan Arah Kiblat Tampilan Arah Kiblat dibuat dengan menggunakan kelas KiblatView sebagai kostum komponen untuk penunjuk arah.class)).class)).com 69 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia } @Override public void onResume(){ super. return true.onResume(). metode=Pengaturan. } } 4. return true.pengaturan_menu: startActivity(new Intent(this.getMetodePerhitungan(this). Kiblat. } return false.id.menu.getItemId()) { case R. MenuInflater inflater= getMenuInflater(). Pengaturan.NOTIF_ID).class)).

Canvas. Android.com 70 . AttributeSet attrs.graphics. private String northString. Pembuatan Kelas KiblatView Demi memudahkan dalam membuat penunjuk arah kiblat yang dapat menunjukkan arah secara benar dan real position maka dibuat kostum komponen yang nantinya akan digunakan pada tampilan antarmuka arah kiblat. private int lebar=240. } public KiblatView(Context context.2. AttributeSet attrs) { super(context.Paint. Android.AttributeSet. private Paint paintText.view. private Paint gambarLingkaran. Android. public class KiblatView extends View{ private float busur. private int textHeight. attrs).content. Android. defStyle){ int 4miral@gmail. } public KiblatView(Context context.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia diatur pergerakkan busur penunjuk arah melalui kelas Kiblat dengan menggunkan sensor.amiral. 4.1.View.Kupluk.content. import import import import import import Android.graphics. // TODO Auto-generated constructor stub initKiblatView(). Adapun kode programnya adalah sebagai berikut: package com.Context. private int tinggi=240. initKiblatView().Resources. /** Konstruktor */ public KiblatView(Context context){ super(context).res. private Paint penandaGambar.2. Android.util.

py). heightMeasureSpec) { setMeasuredDimension(lebar.defStyle).setStyle(Paint.setColor(r.com 71 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia super(context. } @Override protected void onDraw(Canvas canvas) { int px = getMeasuredWidth() / 2. int // Membetuk latar canvas. background_color ). min(px. tinggi). FILL_AND_STROKE ). northString = r.color.save().setColor(R. ANTI_ALIAS_FLAG ). gambarLingkaran.color. initKiblatView().getString(R. int textWidth = ( int)paintText. } /** mengambil arah */ public float getBusur() { return busur.getColor(R. int cardinalX = px-textWidth/2. int radius = Math. int py = getMeasuredHeight() / 2 . radius. py. } @Override protected void onMeasure( int widthMeasureSpec.getColor(R.measureText("W"). gambarLingkaran = new Paint(Paint. int cardinalY = py-radius+textHeight.drawCircle(px. paintText.getResources(). py). cardinal_north ).Style. 4miral@gmail. gambarLingkaran. paintText = new Paint(Paint. gambarLingkaran. } /** untuk mengatur arah */ public void setBearing( float _bearing) { busur = _bearing.attrs.setStrokeWidth(1). penandaGambar = new Paint(Paint. // Rotasi perspektif canvas. } protected void initKiblatView() { setFocusable( true). ANTI_ALIAS_FLAG ). Resources r = this. marker_color penandaGambar. px.setColor(r. canvas. )). ANTI_ALIAS_FLAG ).color.string. textHeight = ( int)paintText.rotate(-busur.measureText("yY"). text_color )). gambarLingkaran).

int arrowY = 2*textHeight. cardinalY. arrowY. 3*textHeight. 3*textHeight.com 72 . canvas. px-5.save(). i++) { canvas. px. canvas. canvas. } } 4. switch (i) { case(0) : { dirString = northString.translate(0. Adapun Kode programnya adalah sebagai berikut: <?xml version= "1. Komponen KiblatView diberi nama atribut pengenal yang selanjutnya akan dipanggil pada kelas Kiblat. } canvas.0" encoding= "utf-8" ?> <RelativeLayout xmlns:Android= "http://schemas.2.2.drawLine(px.rotate(15. Pembuatan Tampilan Antarmuka Arah Kiblat Tampilan antarmuka Arah Kiblat menggunakan kostum komponen KiblatView. penandaGambar). py. textHeight). } canvas. break.restore(). if (i % 6 == 0) { String dirString = "". paintText).2.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia for (int i = 0. px+5.drawLine(px. canvas. py). } } canvas. arrowY.Android.com/apk/res/Android" Android:orientation= "vertical" Android:layout_width= "fill_parent" Android:layout_height= "fill_parent" Android:background= "@drawable/bg_kiblat3" > <TextView 4miral@gmail. i < 24. penandaGambar). penandaGambar). arrowY.drawText(dirString. cardinalX.drawLine(px. px. canvas.restore().

amiral.Kupluk.3.amiral. 4miral@gmail.com 73 . Pembuatan Kelas Kiblat Kelas Kiblat merupakan kelas yang akan melakukan penunjukkan arah kiblat sencara real position dengan menerima setiap perubahan sensor terhadap posisi handphone yang selanjutnya akan dilakukan perhitungan terhadap arah kiblat yang sesuai berdasarkan lokasi. Hasil perhitungan arah kiblat akan diimplementasikan pada tampilan antarmuka Arah Kiblat.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Android:layout_width= "fill_parent" Android:layout_height= "wrap_content" Android:id= "@+id/text" /> <!-.Kupluk.2.2.KiblatView Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:layout_gravity= "fill|center" Android:id= "@+id/arahKiblat" /> </LinearLayout> <TextView Android:layout_width= "wrap_content" Android:layout_height= "wrap_content" Android:id= "@+id/text" Android:layout_below= "@id/arahKiblat" Android:paddingLeft= "30dip" /> </RelativeLayout> 4.Untuk menampilkan kiblat --> <LinearLayout Android:orientation= "horizontal" Android:layout_height= "wrap_content" a ndroid:layout_width= "wrap_content" Android:layout_gravity= "center_horizontal|center_vertical" Android:paddingTop= "142px" Android:paddingLeft= "40px" Android:paddingBottom= "5px" > <com. Adapun Kode programnya adalah sebagai berikut: package com.

app. LOCATION_SERVICE ). private float busur = 0. public class Kiblat extends Activity{ private float arahKiblat=0. private KiblatView kiblatView.setBearingRequired( false). //inisialisasi Lokasi locationManager = (LocationManager) getSystemService(Context.util.MenuInflater. criteria.MenuItem.amiral.Criteria. Android.getLongitude(). criteria. private double latMasjid. Android. Android.Activity. // // private final SensorListener sensorListener. Android.view. Android. Android. ACCURACY_COARSE ).layout.Location. 4miral@gmail.setSpeedRequired( false).location. true).hardware. private double lonMasjid. import import import import import import import import import import import import import import Android. TextView text.getLastKnownLocation(provider). lonMasjid= location.onCreate(icicle). criteria.Kupluk.os. latMasjid= location. //kriteria penggunaan lokasi Criteria criteria= new Criteria(). Android. criteria. String provider = locationManager. Android.setPowerRequirement(Criteria. POWER_LOW ). Android.com 74 .widget. private LocationManager locationManager. Android.Intent.LocationManager.Bundle.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia import com. Android.setCostAllowed( true).content. Location location=locationManager.SensorManager.hardware.setAccuracy(Criteria.getLatitude().Menu.Context.content.getBestProvider(criteria. private static boolean isTrackingOrientation = false. @Override public void onCreate(Bundle icicle){ super. criteria.SensorListener .location. kiblat ).view.view. Android.R. Android.Log.TextView. setContentView(R.location. private SensorManager sensorManager.

SENSOR_DELAY_FASTEST ).id. } /** * Rumus ini untuk menghitung arah kiblat dari utara . super. "kiblat: "+getArahKiblat())._arah)). text= (TextView) findViewById(R.registerListener(sensorListener. } @Override protected void onStop() { sensorManager. } private final SensorListener sensorListener = new SensorListener () { public void onSensorChanged( int sensor.invalidate(). sensorManager = (SensorManager)getSystemService(Context. kiblatView. text).com 75 . float _arah){ busur=( float) (_busur+ ( float)(360 .setBearing(busur).setText("Arah Kiblat adalah: "+kiblat).findViewById(R.onStop(). SENSOR_SERVICE ). updatePerputaran(0. if (kiblatView!= null){ kiblatView.d("Kupluk". } DATA_X ]. int accuracy) {} }. public void onAccuracyChanged( int sensor. SENSOR_ORIENTATION . private void updatePerputaran( float _busur. sensorManager. } } @Override protected void onResume() { super. text. setArahKiblat(kiblat). float[] values) { updatePerputaran(values[SensorManager.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia float kiblat =(float)segitigaBola(lonMasjid.onResume(). Log. SensorManager. 4miral@gmail. kiblatView = (KiblatView) this. * Perhitungan sesuai dengan arah jarum jam. Log. arahKiblat ).latMasjid).0).id.getArahKiblat()).unregisterListener(sensorListener). d("Kupluk". "Latitude masjid: " + latMasjid +"Longitude Masjid: "+ lonMasjid ). SensorManager.

PI/360). double sinLM = Math. Tentang. cos(latMasjid *2.82616111. sin(lKlM*2. return arah. case R. } public float getArahKiblat() { 4miral@gmail. PI/360). double tanLK = Math.id. double latMasjid){ double lngKabah=39. menu. tan(latKabah*2*Math. cos(lKlM*2. arah= kiblat<0 ? kiblat+360 : kiblat. return true. double cosLKLM= Math. kiblat_menu : startActivity( new Intent( this. atan2 (sinLKLM. kiblat = Math. double lKlM=(lngKabah-lngMasjid). } return false. Kiblat.0*Math. menu).0*Math. double latKabah=21. PI. class)). } //Untuk mengeksekusi jika pilihan menu dipilih @Override public boolean onOptionsItemSelected(MenuItem item){ super. double penyebut= (cosLM*tanLK)-sinLM*cosLKLM. case R. return true.onCreateOptionsMenu(menu).id.id. MenuInflater inflater= getMenuInflater().menu.*/ public double segitigaBola( double lngMasjid. double cosLM = Math. class)). PI/360). KuplukMain.onOptionsItemSelected(item).inflate(R. pengaturan_menu : startActivity( new Intent( this. double kiblat.42250833. case R. return true.com 76 . tentang_menu : startActivity( new Intent( this. class)).id.0 * Math.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia * Jika nilai utara ditemukan maka selanjutnya adalah dengan menambah arah utara * dengan hasil perhitungan . inflater. jadwal_menu : startActivity( new Intent( this. } //untuk mendeklarasikan Menu @Override public boolean onCreateOptionsMenu(Menu menu){ super. sin(latMasjid *2. class)). PI/360). double arah. return true. switch (item.getItemId()) { case R. return true.0 * Math. penyebut)*180/Math. Pengaturan. PI/360). double sinLKLM= Math.

com 77 .com/apk/res/Android" Android:key= "pengaturan_Kupluk" Android:title= "@string/pengaturan_judul" > <PreferenceCategory xmlns:Android= "http://schemas. Pembuatan Tampilan Antarmuka Pengaturan Tampilan antarmuka Pengaturan juga berbeda dibandingkan tampilan lainnya.3. Adapun kode programnya adalah sebagai berikut : <?xml version= "1. Hal ini dilakukan guna memudahkan dalam menampilkan setiap pilihan-pilihan pengaturan dan memudahkan dalam penyimpanan setiap perubahan pengaturan tersebut.arahKiblat = arahKiblat.3. } } 4.1.Android. Pembuatan Tampilan Pengaturan Tampilan pengaturan merupakan tampilan yang akan menyediakan pilihan bagi user untuk melakukan perubahan terhadap beberapa ketentuan yang diinginkan.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia return arahKiblat.0" encoding= "utf-8" ?> <PreferenceScreen xmlns:Android= "http://schemas.com/apk/res/Android" Android:key= "pengaturan_shalat" Android:title= "@string/pengaturan_kategori_shalat" Android:summary= "@string/pengaturan_kategori_shalat_ket" > <ListPreference Android:key= "pilihan_metode_perhitungan" Android:title= "@string/pengaturan_perhitungan_shalat" Android:summary= "@string/pengaturan_perhitungan_shalat_ket" Android:entries= "@array/daftar_metode_perhitungan" 4miral@gmail. dikarenakan pada aplikasi Kupluk ini menggunakan tampilan antarmuka pengaturan khusus yang disediakan oleh Android.2.Android. } public void setArahKiblat( float arahKiblat) { this.2. 4.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Android:entryValues= "@array/daftar_metode_perhitungan_nilai" Android:dialogTitle= "@string/pengaturan_perhitungan_shalat_j udul" Android:defaultValue= "0"> </ListPreference> <ListPreference Android:key= "pilihan_mazhab" Android:title= "@string/pengaturan_mazhab" Android:summary= "@string/pengaturan_mazhab_ket" Android:entries= "@array/daftar_mazhab" Android:entryValues= "@array/daftar_mazhab_nilai" Android:dialogTitle= "@string/pengaturan_mazhab_judul" Android:defaultValue= "0"> </ListPreference> </PreferenceCategory> <PreferenceCategory xmlns:Android= "http://schemas.Android.com/apk/res/Android" Android:key= "pengaturan_pengingat" Android:title= "@string/pengaturan_kategori_pengingat" Android:summary= "@string/pengaturan_kategori_pengingat_ket" <PreferenceScreen Android:title= "@string/pengaturan_pengingat" Android:summary= "@string/pengaturan_pengingat_ket" > <CheckBoxPreference Android:key= "set_zuhur" Android:title= "Zuhur" /> <CheckBoxPreference Android:key= "set_ashar" Android:title= "Ashar" /> <CheckBoxPreference Android:key= "set_maghrib" Android:title= "Maghrib" /> <CheckBoxPreference Android:key= "set_isya" Android:title= "Isya" /> <CheckBoxPreference Android:key= "set_subuh" Android:title= "Subuh" /> </PreferenceScreen> <ListPreference android:key= "pilihan_mode_pengingat" android:title= "@string/pengaturan_mode_pengingat" android:summary= "@string/pengaturan_mode_pengingat_ket" android:entries= "@array/daftar_mode_pengingat" android:entryValues= "@array/daftar_mode_pengingat_nilai" android:dialogTitle= "@string/pengaturan_mode_pengingat_judul " android:defaultValue= "0"> </ListPreference> </PreferenceCategory> </PreferenceScreen> > 4miral@gmail.com 78 .

view.xml. boolean PIL_MAGHRIB_DEF=true. android.content.PreferenceManager. private static final String PIL_MODE_PENGINGAT= "pilihan_mode_pengingat".MenuInflater. import import import import import import import import android. private static final String PIL_METODE_PERHITUNGAN_DEF="0". Dari kelas Pengaturan inilah nilai yang tersimpan tersebut dapat digunakan oleh kelas Activity lainnya seperti kelas KuplukMain dan KuplukService. private static final String PIL_MODE_PENGINGAT_DEF="0". String PIL_ASHAR = "set_ashar". boolean PIL_ZUHUR_DEF = true. android. private private private private private private private private private private static static static static static static static static static static final final final final final final final final final final String PIL_ZUHUR = "set_zuhur".kupluk.content. android. android.amiral.2. android.preference.3. boolean PIL_ISYA_DEF=true.onCreate(savedInstanceState).os.view.2.Bundle.Adapun kode programnya adalah sebagai berikut: package com.preference. boolean PIL_ASHAR_DEF = true.Context. String PIL_MAGHRIB="set_maghrib".MenuItem. boolean PIL_SUBUH_DEF=true. @Override protected void onCreate(Bundle savedInstanceState){ super. public class Pengaturan extends PreferenceActivity{ private static final String PIL_METODE_PERHITUNGAN="pilihan_metode_perhitungan".view.Menu.com 79 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4.Intent. Pembuatan Kelas Pengaturan mengambil nilai pilihan-pilihan Kelas Pengaturan berfungsi untuk pengaturan yang diinginkan oleh pengguna. String PIL_SUBUH="set_subuh". private static final String PIL_MAZHAB="pilihan_mazhab". private static final String PIl_MAZHAB_DEF="0".PreferenceActivity. addPreferencesFromResource(R. } 4miral@gmail.pengaturan). android. android. String PIL_ISYA= "set_isya".

menu. } public static String getMode(Context context){ return PreferenceManager.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia //mengambil nilai default dari settingan waktu shalat public static boolean getSetZuhur(Context context){ return PreferenceManager. } public static boolean getSetSubuh(Context context){ return PreferenceManager. PIL_MODE_PENGINGAT_DEF).getBoolean(PIL_MAGHRIB.menu.getBoolean(PIL_ASHAR. 4miral@gmail.getDefaultSharedPreferences(context) .getString(PIL_MODE_PENGINGAT.getString(PIL_MAZHAB. PIL_ISYA_DEF). PIl_MAZHAB_DEF). } public static String getMazhab(Context context){ return PreferenceManager. } public static boolean getSetAshar(Context context){ return PreferenceManager.getDefaultSharedPreferences(context) . } //untuk mendeklarasikan Menu @Override public boolean onCreateOptionsMenu(Menu menu){ super.getBoolean(PIL_ISYA. } public static boolean getSetMaghrib(Context context){ return PreferenceManager.onCreateOptionsMenu(menu).getDefaultSharedPreferences(context) .getBoolean(PIL_SUBUH.getBoolean(PIL_ZUHUR.getDefaultSharedPreferences(context) .inflate(R. inflater. PIL_ASHAR_DEF). PIL_MAGHRIB_DEF). PIL_SUBUH_DEF). } public static boolean getSetIsya(Context context){ return PreferenceManager. MenuInflater inflater= getMenuInflater().getDefaultSharedPreferences(context) . PIL_METODE_PERHITUNGAN_DEF).getDefaultSharedPreferences(context) .getDefaultSharedPreferences(context) .getString(PIL_METODE_PERHITUNGAN. PIL_ZUHUR_DEF). menu). } public static String getMetodePerhitungan(Context context){ return PreferenceManager.com 80 .getDefaultSharedPreferences(context) .

return true.2. case R.jadwal_menu: startActivity(new Intent(this. switch (item.class)). Pengaturan. return true. Adapun kode antarmuka tentang adalah sebagai berikut: <html> <head> <style type="text/css"> body{ background-color: #DDDDDD.onOptionsItemSelected(item). color: black.class)).pengaturan_menu: startActivity(new Intent(this.tentang_menu: startActivity(new Intent(this.com 81 .4.id. return true.getItemId()) { case R.4. Kiblat. case R.class)).Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia return true. return true. } } 4.id.kiblat_menu: startActivity(new Intent(this. } 4miral@gmail. } //Untuk mengeksekusi jika pilihan menu dipilih @Override public boolean onOptionsItemSelected(MenuItem item){ super. 4.class)).id. case R.2. Sehingga dalam tampilan antarmuka Tentang berbeda dari tampilan antarmuka lainnya yang berformat xml melainkan menggunakan format HTML. } return false. tampilan antarmuka Tentang akan ditampilkan dengan format web. Pembuatan Tampilan Tentang Pembuatan Tampilan Antarmuka Tentang Berdasarkan perancangan. KuplukMain.id. Tentang.1.

<br> </li> <li>Civitas Akademika Informatika ITI</a> atas dukungannya. Dengan semangat yang sama. aplikasi ini bertujuan untuk memberitahukan jadwal shalat dan arah kiblat bagi umat muslim.com/">Eko Anggit</a> Atas desain UI nya. Rito Anugraha atas metode perhitungan shalat dan arah kiblatnya. kopiah songkok atau kethu.<br> <h4>Fitur</h4> <ul> <li>Jadwal Waktu Shalat</li> <li>Penunjuk Arah Kiblat</li> <li>Pengingat waktu shalat</li> <li>Pengaturan methode perhitungan dan Mazhab</li> <li>Pengaturan suara azhan</li> </ul> <h4>Terima Kasih:</h4> <ul> <li>DR. Kupluk digunakan sebagai penutup kepala.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia </style> </head> <body> <h2>Kupluk <img src="file:///Android_asset/icon.com 82 . karena bentuknya yang simple sehingga sering dipakai ketika shalat dan dianggap sebagai identitas muslim.png" align="right"/></h2> Kupluk adalah Aplikasi Pengingat Shalat dan Arah Kiblat. </li> <li><a href="http://echodock. "Kupluk" merupakan istilah di sebagian orang Jawa untuk nama lain peci.<br> </li> 4miral@gmail.blogspot.

Android.com">Muhammad Amiral</a><br> Website: <a href="http://www.IOException. content.res. null). Android. String content = ambilResource (getResources().loadDataWithBaseURL("file:///Android_asset".2.InputStream.onCreate(bundle).Kupluk.id.amiral. java. Android.view.content.io. encoding. import import import import import import import import import import import import java.InputStreamReader. Android. java. Android.Bundle. setContentView(R. Android.com 83 .com/Kupluk</a><br> Dukungan: <a href="mailto:4miral@gmail. String encoding = "UTF-8".io. info).io.BufferedReader. Pembuatan Kelas Antarmuka Tentang Kelas Tentang berfungsi untuk mengambil dan menyajikan tampilan antarmuka Tentang.Resources.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia </ul> <h4>Informasi:</h4> Pengembang: <a href="http://www.Intent. String mimeType = "text/html".4.MenuInflater. webview = (WebView) findViewById(R.content.view.Menu.raw.R. java.MenuItem.layout.app. tentang_Kupluk ).4miral.view. Android. 4miral@gmail. @Override public void onCreate(Bundle bundle){ super.os. webview.io.com">e-mail ke saya</a><br> </body> </html> 4.4miral. Adapun kode programnya adalah sebagai berikut: package com. public class Tentang extends Activity{ WebView webview.2.webkit.com/Kupluk">www.WebView.Activity. Android. mimeType.4miral. tentang ).

switch (item.id.openRawResource(resId). jadwal_menu : startActivity( new Intent( this. Pengaturan. return true. } int //untuk mendeklarasikan Menu @Override public boolean onCreateOptionsMenu(Menu menu){ super. } //Untuk mengeksekusi jika pilihan menu dipilih @Override public boolean onOptionsItemSelected(MenuItem item){ super.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia } public static String ambilResource(Resources resources.id. return true.onOptionsItemSelected(item).inflate(R. kiblat_menu : startActivity( new Intent( this.append(l + "\n"). pengaturan_menu : startActivity( new Intent( this.} catch (IOException e) {} return content. BufferedReader r = new BufferedReader( new InputStreamReader(in)). } return false. case R. case R. } private static String ubahKeString(InputStream in) { String l. return true. try {rawResource. return true. class)).getItemId()) { case R.toString().menu.com 84 . Tentang. menu. return true. class)). tentang_menu : startActivity( new Intent( this. Kiblat. } } catch (IOException e) {} return s.id. menu).id. String content = ubahKeString (rawResource).readLine()) != null) { s. class)). resId) { InputStream rawResource = resources. class)). MenuInflater inflater= getMenuInflater(). try { while ((l = r. StringBuilder s = new StringBuilder(). }} 4miral@gmail.onCreateOptionsMenu(menu). inflater. case R.close(). KuplukMain.

Berikut ini disajikan hasil implementasi sistem: Gambar 4.1 Antarmuka Jadwal Shalat 4miral@gmail. yaitu pengujian white box dan black box. Pengujian white box dilakukan dengan menguji atribut dan method yang ada pada kelas-kelas yang dibangun. Pengujian ini dilakukan pada proses pengembangan. Pengujian black box dilakukan dengan cara Acceptance Testing yaitu untuk menguji apakah sistem yang dikembangkan sesuai dengan apa yang tertuang dalam spesifikasi fungsional sistem.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4.3.com 85 . Pengujian Pengujian dilakukan dalam dua tahap utama.

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.3 Antarmuka Arah Kiblat 4miral@gmail.com 86 .2 Antarmuka Menu Utama Gambar 4.

com 87 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.5 Antarmuka Pengaturan Menu Utama 4miral@gmail.4 Antarmuka Pengaturan Gambar 4.

7 Antarmuka Pengaturan Pengingat Waktu Shalat 4miral@gmail.com 88 .6 Antarmuka Pengaturan Mazhab Gambar 4.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.

8 Antarmuka Pengaturan Mode Pengingat Gambar 4.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.9 Antarmuka Notifikasi Peringatan 4miral@gmail.com 89 .

Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.11 Antarmuka Tentang (2) 4miral@gmail.com 90 .10 Antarmuka Tentang Gambar 4.

1. dan Situs Rukyatul Hilal Indonesia [17] dengan lokasi Tangerang.com 91 .12 Jadwal Shalat Kupluk (16/02/2010) 4miral@gmail.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 4. Pada pengujian ini membandingkan jadwal shalat pada Kupluk dengan jadwal shalat yang terdapat pada situs PKPU (Pos Keadilan Peduli Umat) [15]. Gambar 4.3. pada tanggal 16 Februari 2010. Pengujian Black Box Fitur Jadwal Shalat Pengujian ini dilakukan untuk memeriksa keabasahan waktu shalat yang ditampilkan apakah sesuai dengan waktu sebenarnya dengan membandingkan pada sumber yang terpercaya.

13 Jadwal Shalat PKPU (16/02/2010) 4miral@gmail.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.com 92 .

Sementara pada jadwal shalat yang 4miral@gmail.14 Jadwal Shalat RHI Bulan Februari Berdasarkan hasil pengujian di atas.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4. didapatkan bahwa waktu shalat yang ditampilkan pada Kupluk sangat mendekati jadwal shalat pada situs PKPU dan hanya memiliki perbedaan dalam detik.com 93 .

Gambar 4.com 94 . jadwal shalat yang ditampilkan memiliki perbedaan waktu beberapa menit. Pada pengujian sudut Arah Kiblat dilakukan dengan membandingkan nilai sudut yang ditampilkan oleh aplikasi Kupluk dengan nilai Arah Kiblat pada situs Rukyatul Hilal Indonesia [18] di kota Tangerang. dan Ketinggian lokasi suatu wilayah yang berbeda. 4.2. Bujur.15 Arah Kiblat Kupluk 4miral@gmail.3. Pengujian Black Box Arah Kiblat Pengujian ini dilakukan untuk memeriksa apakah sudut arah kiblat sesuai dengan derajat arah kiblat dan dapat ditampilkan secara real position berubahubah jika posisi perangkat berubah. Perbedaan ini mungkin disebabkan dalam penentuan nilai variabel koordinat Lintang.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia tedapat pada situs RHI.

16 Arah Kiblat RHI 4miral@gmail.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.com 95 .

17 Perangkat diputar 90 o Gambar 4.com 96 .Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.18 Perangkat diputar 180 o 4miral@gmail.

com 97 .19 Perangkat diputar 270 o Gambar 4.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.20 Perangkat diputar 360 o 4miral@gmail.

Dengan adanya aplikasi Android Market yang di instal pada perangkat Android memungkinkan pengguna mencari dan men-download aplikasi yang telah dikembangkan oleh Pengembang aplikasi Android. Distribusi Dalam memudahkan pengembang dan pengguna perangkat Android.busur panah tetap menunjukkan lokasi kiblat tanpa terpengaruh perputaran perangkat. 4miral@gmail. 4. Sudut arah kiblat yang tampil pada aplikasi Kupluk dan situs RHI memiliki kesamaan nilai.4. dan 360 o . Sehingga dapat disimpulkan nilai sudut arah kiblat aplikasi Kupluk menampilkan nilai yang lebih akurat karena berdasarkan lokasi yang sebenarnya yang diterima dari GPS. Google menyediakan toko software online bagi aplikasi-aplikasi Android yang diberi nama Android Market. yaitu dengan memutar perangkat sebesar 90o. Dalam pengujian penunjuk arah kiblat secara real position yang tampak pada gambar. 270 o.19. dimana aplikasi Kupluk sebesar 295. 180 o.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Berdasarkan hasil pengujian yang ditampilkan pada gambar di atas.com 98 .19574 derajat dan situs RHI sebesar 295.

apk.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia Gambar 4.com 99 . 4miral@gmail.21 Android Market Hasil akhir dari aplikasi ini adalah file paket instalasi Android yaitu Kupluk. File ini dapat di distribusikan melalui layanan Android Market. sehingga setiap pengguna Android dapat meng-instal langsung melalui market.

4. Diharapkan dengan adanya aplikasi ini dapat memicu penggunaan perangkat berbasiskan sistem operasi Android.com 100 . khususnya di Indonesia.1. Pengembangan aplikasi pada Sistem Operasi Android harus senantiasa memperhatikan siklus hidup aplikasi tersebut. 2. Perangkat bersistem Android saat ini relatif sedikit dan mahal sehingga menjadikan Android belum terlalu diminati. 5. 4miral@gmail. yaitu: 1. Aplikasi Pengingat Shalat dan Arah Kiblat (Kupluk) dapat dijadikan alternatif acuan bagi umat muslim yang menggunakan perangkat Android agar lebih mudah dalam melaksanakan ibadah shalat. Memanfaatkan tools yang tepat menjadikan pengembangan aplikasi Android menjadi lebih mudah serta Aplikasi yang dikembangkan lebih tangguh. 3. 5.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia BAB 5 BAB Kesimpulan dan Saran V KESIMPULAN DAN SARAN Pada bab ini akan dijelaskan kesimpulan dan saran dari uraian-uraian pada bab-bab sebelumnya. Kesimpulan Dari hasil pengembangan aplikasi pengingat shalat menggunakan global positioning (GPS) berbasiskan Android dapat diambil beberapa kesimpulan. walaupun diatur oleh virtual machine sebagai proses foreground dan background. Pemanfaatan Teknologi juga dapat di terapkan dalam pelaksanaan ibadah Shalat.

4miral@gmail. seperti tampilan widget untuk memudahkan pengguna melihat jadwal shalat tanpa harus membuka program.2. Hingga saat ini Android terus mengalami perkembangan. Saran Saran yang dapat diberikan Penulis atas penelitian ini adalah sebagai berikut: 1. Penggunaan fitur arah kiblat hendaknya digunakan tidak berdekatan dengan benda yang memiliki medan magnetik.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia 5.6. Maka diharapkan aplikasi ini dapat di-upgrade mengikuti versi selanjutnya. Penambahan fitur pada aplikasi sangat disarankan. sehingga dapat berjalan pada sistem operasi di atas 1. 2. hal ini di imbangi dengan peningkatan kemampuan pada perangkat Android.com 101 . 3.

Android Documentation. Situs Web: [7] Android Developers. [5] Sayed Y.com/guide/topics/data/data-storage. 2009. 2009.htm 4miral@gmail. Hello Android 2nd Edition. 2006. 2009. Hashimi and Satya Komatineni. Apress Inc. Pragmatic Bookshelf. Mark L. Rinto Anugraha. Tuntunan Shalat Lengkap dan Benar. Professional Android Application Development. http://www.html [8] Dr. Neni Nuraeni M. http://developer.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia DAFTAR PUSTAKA Buku Teks: [1] Dra. Wiley Publising Inc.com 102 . Retto Meier. Mutiara Media. Apress Inc. Download 21 Oktober 2009. Karya Ilmiah: [6] M. 2009. Murphy.com/syariah/ilmu-hisab/caramenghitung-waktu-shalat. [2] [3] [4] Ed Burnette.Android. Pro Android. 2008. Teknik Informatika Institut Teknologi Indonesia.eramuslim. Download 19 November 2009.Ag. Cara Menghitung Waktu Shalat. Tugas Akhir Aplikasi Pengingat Sholat Berbasis Windows Mobile. Arif Khairiansyah. Beginning Android.

http://sites. http://rukyatulhilal. Menentukan Waktu Shalat.org/arah-kiblat/index.anddev. Download 10 Oktober 2009. Download 16 Februari 2010.lite. Rinto Anugraha. Download 26 Oktober 2009.com/syariah/ilmu-hisab/segitigabola-dan-arah-kiblat.org/ [15] Pos Keadilan Peduli Umat. http://rukyatulhilal.html [14] Nicolas Gramlich.html [13] Mutoha Arkanuddin.com/syariah/ilmu-hisab/waktu-waktu-shalat.org/HelpPrayCal.org/waktu-shalat/index. http://www. http://www.php?id=275 [16] Rukyatul Hilal Indonesia.com 103 . Android Anatomy and Physiology. Download 16 Februari 2010. Pencarian Arah Kiblat Presisi. http://www. Download 21 Oktober 2009. Menentukan Arah Kiblat.org/qiblalocator/index. Rinto Anugraha. Download 21 Oktober 2009. Jadwal Shalat.or.html [17] Rukyatul Hilal Indonesia.htm [11] Google IO.pkpu.com/site/io/anatomy--physiology-of-an-Android [12] Islamic Finder. Andbook : Android Programming. Download 16 Februari 2010.org/jadwal-shalat/index.eramuslim. Segitiga Bola dan Arah Kiblat.Laporan Tugas Akhir Muhammad Amiral Institut Teknologi Indonesia [9] Dr. Download 4 Januari 2010. Waktu-Waktu Shalat.islamicfinder. http://rukyatulhilal.id/adzan.html 4miral@gmail.google. Prayer Calculation Methods.htm [10] Dr. http://andbook. http://www. http://rukyatulhilal. Download 15 Desember 2009. Jadwal Shalat. Download 28 Desember 2009.html [18] Rukyatul Hilal Indonesia.eramuslim.

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->