Rancang Bangun Aplikasi Mobile Pengingat Shalat Berbasis Sistem Operasi Android

(1)

SKRIPSI

Diajukan untuk memenuhi syarat Kelulusan Program Strata Satu Program Studi Sistem Informasi

Oleh :

Hotnida Rambe

10508680

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(2)

i

memiliki Handphone yang canggih. Misalnya, memiliki Handphone dengan sistem operasi android. Handphone pada masa sekarang ini tidak hanya sebagai alat komunikasi saja tetapi sudah merupakan alat yang multi fungsi. Dengan menggunakan Handphone yang sistem operasinya android yang banyak disukai pengguna serta bersifat open source.

Metode pendekatan sistem yang digunakan adalah pendekatan OOP (Object Oriented Programming) yang merupakan paradigma pemrograman yang berorientasikan kepada objek. Pemodelan yang digunakan adalah UML. Tahapan pengembangan sistem menggunakan waterfall.

Aplikasi ini dapat mempermudah umat muslim dalam memperoleh informasi waktu shalat dan juga mempermudah dalam mengetahui arah kiblat, pengingat shalat, dan juga panduan shalat wajib dan shalat sunnah sehingga memberikan kemudahan dalam melakukan ibadah shalat bagi umat muslim. Kata Kunci : Handphone, pengingat shalat, UML


(3)

iii

KATA PENGANTAR

Assalamu ‘alaikum wa rahmatullah Wabarakatuh

Puji Syukur penulis panjatkan kehadirat Allah SWT dimana dengan rido-Nya lah penulis dapat menyelesaikan skripsi ini. Shalawat dan salam ke Junjungan kita Nabi besar Muhammad SAW, keluarga serta para sahabat dan kepada kita sebagai pengikutnya. Atas segala ijin dan rido-Nyalah hingga terselesaikan skripsi ini yang berjudul ”RANCANG BANGUN APLIKASI

MOBILE PENGINGAT SHOLAT BERBASIS SISTEM OPERASI

ANDROID”.

Dalam penyusunan Skripsi ini Penulis menyadari bahwa tanpa adanya dukungan dari dosen, teman, dan berbagi pihak penulis tidak akan mampu menyelesaikan skipsi ini dengan baik dan sesuai dengan yang diharapkan.

Dengan segala ketulusan dan kerendahan hati penulis mengucapkan banyak terimakasih kepada :

1. Dr. Ir. Eddy Soeryanto Soegoto, Msc, selaku Rektor Universitas Komputer Indonesia.

2. Prof. Dr. Ir. H. Denny Kurniadie, M.Sc, selaku Dekan Fakultas Teknik dan Ilmu Komputer

3. Dadang Munandar, S.E., M.Si, selaku Ketua Program Studi Sistem Informasi 4. R. Fenny Syafariani, S.Si., M.STAT, selaku Dosen Pembimbing dan juga

Dosen Wali yang sudah banyak memberikan masukan, arahan dalam penulisan Skripsi ini.


(4)

iv

5. Iyan Gustiana, S.Kom., M.Kom, selaku Dosen penguji 1 6. Andris Sahata, S.Kom., M.Kom, selaku Dosen penguji 2

7. Seluruh staf pengajar yang telah memberikan banyak ilmu pengetahuan yang berharga bagi penulis

8. Orang tua tercinta, dan seluruh keluarga yang telah memberikan dukungan moral, material maupun spritual.

9. Seluruh teman-teman mahasiswa Sistem Informasi Angkatan 2008 khususnya SI-14 teman seperjuangan.

10. Buat semua pihak yang telah membantu penulis untuk dapat menyelesaikan skripsi ini yang tidak dapat disebutkan satu per satu.

Dalam penyusunan Skripsi ini Penulis sadar masih banyak kekurangan. Oleh karena itu penulis mengharapkan kritik dan saran dari para pembaca yang dapat menambah wawasan bagi penulis.

Semoga Laporan Skripsi ini dapat bermanfaat bagi para pembaca dan pihak lain yang membutuhkan.

Bandung, Juli 2012


(5)

v LEMBAR PENGESAHAN

PERNYATAAN KEASLIAN

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xiii

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah ... 3

1.3 Rumusan Masalah ... 3

1.4 Maksud dan Tujuan ... 4

1.5 Kegunaan Penelitian ... 4

1.5.1 Kegunaan Praktis ... 4

1.5.2 Kegunaan Akademis ... 5

1.6 Batasan Masalah ... 5

1.7 Waktu Penelitian ... 6

BAB II LANDASAN TEORI 2.1 Shalat ... 7

2.1.1 Pengertian Sholat ... 7

2.1.2 Pengertian Sholat Fardhu ... 8


(6)

vi

2.2.1 Pengertian Java ... 17

2.2.2 Sistem Operasi Java ... 17

2.3 Aplikasi ... 18

2.3.1 Pengertian Aplikasi ... 18

2.3.2 Penggolongan Aplikasi ... 18

2.3.3 Defenisi Rancang Bangun ... 19

2.4 Kiblat... 19

2.4.1 Pengertian Kiblat ... 20

2.4.2 Menentukan Arah Kiblat ... 21

2.4.2.1 Menentukan Posisi Kiblat ... 21

2.4.2.2 Segitiga Bola ... 22

2.4.2.3 Rumus Segitiga Bola ... 23

2.4.2.4 Mengenal Tata Koordinat Geografis Bola Bumi ... 24

2.5 Android ... 26

2.5.1 Pengertian Android ... 26

2.5.2 Sejarah dan Perkembangan Android ... 26

2.5.3 Komponen Aplikasi... 27

2.5.4 Siklus Hidup Aplikasi Android ... 31

2.5.5 Versi Android... 32

2.5.6 Kelebihan Android ... 35

2.6 GPS (Global Position System) ... 37

2.6.1 Pengertian GPS ... 37

2.6.2 Cara Kerja GPS ... 37

2.6.3 Kelebihan dan Kekurangan GPS ... 38

2.7 UML ... 39

2.7.1 Diagram UML ... 40

2.7.2 Kelebihan dan Kekurangan UML ... 43


(7)

vii

3.3 Jenis dan Metode Pengumpulan Data ... 47

3.3.1 Sumber Data Primer ... 47

3.3.2 Sumber Data Sekunder ... 48

3.4 Metode Pendekatan dan Pengembangan Sistem ... 48

3.4.1 Metode Pendekatan Sistem ... 48

3.4.2 Metode Pengembangan Sitem ... 48

3.4.3 Alat Bantu Analisis dan Perancangan ... 50

3.5 Pengujian ... 53

3.5.1 Pengujian Alpha ... 53

3.5.2 Pengujian Beta ... 53

BAB IV ANALISIS DAN PERANCANGAN 4.1 Analisis Sistem ... 54

4.1.1 Analisi Masalah ... 54

4.1.2 Analisis Permasalahan Penentuan Waktu Sholat ... 54

4.1.3 Analisis Permasalahan Penentuan Arah Kiblat ... 55

4.1.4 Analisis dan Kebutuhan Non-Fungsional ... 57

4.1.4.1 Analisis Kebutuhan Perangkat Lunak ... 57

4.1.4.2 Analisis dan Kebutuhan Perangkat Keras ... 58

4.1.4.3 Analisis dan Kebutuhan User ... 59

4.1.5 Analisis dan Kebutuhan Fungsional ... 59

4.1.6 Use Case Diagram ... 59

4.1.7 Activity Diagram ... 61

4.1.8 Skenario Use Case ... 65

4.1.9 Sequence Diagram ... 70

4.1.10 Class Diagram ... 74

4.1.11 Component Diagram ... 76


(8)

viii

4.2.3.1 Antar Muka Menu AndroPrayer ... 78

4.2.3.2 Antar Muka Jadwal Sholat ... 78

4.2.3.3 Antar Muka Kiblat ... 79

4.2.3.4 Antar Muka Panduan Sholat Wajib ... 79

4.2.3.5 Antar Muka Panduan Sholat Sunnah ... 80

4.2.3.6 Antar Muka Pengaturan Metode Perhitungan ... 80

4.2.3.7 Antar Muka Pengaturan Mahzab ... 81

4.2.3.8 Antar Muka Pengingat Waktu Sholat ... 81

4.2.3.9 Antar Muka Pengaturan Mode Pengingat ... 82

BAB V IMPLEMENTASI DAN PENGUJIAN 5.1 Implementasi Sistem ... 83

5.2 Perangkat Pendukung ... 83

5.2.1 Perangkat Keras (Hardware) ... 84

5.2.2 Perangkat Lunak (Software) ... 84

5.3 Implementasi Class ... 85

5.4 Implementasi Antarmuka ... 86

5.4.1 Tampilan Awal ... 86

5.4.2 Tampilan Jadwal Sholat ... 86

5.4.3 Tampilan Kiblat ... 87

5.4.4 Tampilan Pengaturan ... 88

5.4.5 Tampilan Pengaturan Metode Perhitungan ... 88

5.4.6 Tampilan Pengaturan Mazhab ... 89

5.4.7 Tampilan Pengaturan Waktu Shalat ... 89

5.4.8 Tampilan Pengaturan Mode Pengingat ... 90

5.4.9 Tampilan Tentang ... 90

5.4.10 Tampilan Sholat Fardhu ... 91


(9)

ix

5.5.3 Kesimpulan Pengujian Beta ... 97 BAB VI PENUTUP

6.1 Kesimpulan ... 98 6.2 Saran ... 98 DAFTAR PUSTAKA ... 99 LAMPIRAN - LAMPIRAN


(10)

1

1.1 Latar Belakang Masalah

Pada saat sekarang ini seiring dengan perkembangan teknologi terutama dalam tingkat perkembangan mobile yang kian meningkat, salah satu perangkat mobile yang paling pesat adalah handphone. Kemajuan teknologi yang begitu pesat terutama dalam bidang informasi, bisnis, transportasi, membuat banyak orang pada masa sekarang ini yang memiliki handphone yang canggih. Handphone adalah salah satu alat komunikasi yang dapat dibawa kemana saja pengguna berada, dimana peralatan elektronik ini sebagian orang sudah menganggap sebagai kebutuhan pokok dalam menjalankan bisnisnya.

Dalam melakukan segala kegiatan yang semakin padat membuat sebagian orang tidak memprioritaskan suatu kewajiban yang seharusnya segera dekerjakan, namun kadangkala yang menjadi suatu kewajiban terlalaikan. Contohnya, yang merupakan salah satu kewajiban adalah ibadah shalat fardhu lima waktu bagi umat muslim yang kadangkala terlambat, dan juga terlupakan. Adapun salah satu faktor penyebabnya adalah terbatasnya informasi atau peringatan ketika waktu shalat fardhu lima waktu telah tiba. Misalkan ketika seorang muslim dalam perjalanan atau berada di suatu tempat dan juga daerah yang suara azan tidak terjangkau dari mesjid yang terdekat ketika waktu sholat telah tiba, maka ada kemungkinan orang di daerah tersebut tidak tahu. Selain permasalahan tersebut, kadangkala seorang muslim juga menemukan kendala dalam menentukan arah


(11)

kiblat pada suatu tempat dikarenakan kurangnya informasi dalam menentukan arah kiblat dan juga sebagian orang masih membutuhkan audio tentang panduan sholat fardhu dan juga sholat sunnah seperti niat niat sholat sunnah.

Handphone saat ini tidak hanya digunakan untuk komunikasi, tetapi juga dapat digunakan sebagai media untuk : membeli tiket, mencari berita, perbankan, bahkan untuk mengoperasikan peralatan tertentu. Handphone pada saat sekarang ini sama seperti komputer, handphone pun dapat di install berbagi macam aplikasi yang diinginkan pengguna. Android sebagai sistem operasi berbasis linux yang digunakan di berbagai perangkat mobile, seperti samsung, sony ericsson dan lain lain, memiliki tujuan utama untuk memajukan inovasi piranti telepon bergerak agar pengguna/user mampu mengeksplorasi kemampuan dan menambah pengalaman yang lebih baik dibandingkan dengan sistem operasi mobile lainnya.

LBS (Location-based service) atau Layanan berbasis lokasi adalah layanan informasi yang dapat diakses menggunakan piranti mobile melalui jaringan internet dan seluler serta memanfaatkan kemampuan penunjuk lokasi pada piranti mobile. Misalnya menunjukkan sebuah titik terdekat dari kita. Titik tersebut bisa tempat-tempat penting seperti ATM, rumah sakit, SPBU dan sebagainya bahkan juga lokasi seseorang. Secara matematis waktu shalat dan arah kiblat dapat ditentukan dengan menggunakan persamaan matematika tertentu.

Dari permasalahan yang telah dijelaskan di ataslah, membuat penulis tertarik untuk membangun sebuah aplikasi yaitu “Rancang Bangun Aplikasi


(12)

1.2 Identifikasi Masalah

Berdasarkan latar belakang masalah yang di uraikan di atas maka dapat di identifikasi masalahnya yaitu :

1. Kurangnya informasi waktu shalat pada daerah tertentu seperti dalam perjalanan sehingga membuat umat muslim kadangkala lupa ataupun tidak tahu bahwa waktu shalat lima waktu telah tiba. 2. Kurangnya informasi mengenai arah kiblat ketika berada di daerah

tertentu atau pada saat perjalanan.

3. Terbatasnya aplikasi yang memberikan panduan shalat wajib dan shalat sunnah yang disertai dengan audio.

1.3 Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan diatas, maka yang menjadi rumusan masalahnya adalah sebagai berikut :

1. Bagaimana membangun aplikasi jadwal waktu sholat, pengingat waktu shalat, penunjuk arah kiblat dan juga panduan shalat wajib dan shalat sunnah pada sistem operasi Android

2. Kemudahan apakah yang diperoleh dari aplikasi pengingat waktu shalat, penunjuk arah kiblat dan juga panduan shalat wajib dan shalat sunnah.


(13)

1.4 Maksud dan Tujuan

Adapun maksud dari penulisan skripsi ini adalah untuk membangun sebuah aplikasi pengingat waktu shalat, jadwal sholat, penentu arah kiblat dan juga panduan shalat fardhu dan shalat sunnah pada sistem operasi android.

Adapun tujuan yang akan dicapai dalam pembuatan aplikasi ini adalah :

1. Menghasilkan sebuah aplikasi pengingat sholat yang dapat mempermudah ummat muslim dalam melakukan ibadah sholat dengan waktu sholat fardhu yang tepat sesuai tempat user berada.

2. Memberikan kemudahan untuk mengetahui arah kiblat yang tepat dimanapun tempat user berada dengan menggunakan teknologi GPS. 3. Memberikan kemudahan bagi umat muslim untuk memperoleh

informasi atau bisa dijadikan sebagai panduan shalat wajib dan shalat sunnah.

1.5 Kegunaan Penelitian

Adapun kegunaan dari penelitian ini diharapkan dapat berguna bagi pihak-pihak seperti berikut ini :

1.5.1 Kegunaan Praktis

1. Memberikan kemudahan kepada orang yang beragama islam untuk mengetahui waktu shalat dan arah kiblat, sehingga mempermudah untuk melakukan ibadah.

2. Memberikan kemudahan bagi ummat islam untuk mendapatkan ilmu seperti ilmu tentang panduan shalat wajib dan shalat sunnah.


(14)

1.5.2 Kegunaan Akademis

1. Bagi pengembangan ilmu pengetahuan, dapat mendukung dalam pengembangan aplikasi.

2. Bagi penulis, penelitian ini dilakukan untuk menambah pengetahuan dan pemahaman bagi penulis mengenai aplikasi pengingat waktu shalat, penunjuk arah kiblat dan juga panduan shalat wajib dan shalat sunnah berbasis mobile android.

1.6 Batasan Masalah

Adapaun batasan masalah yang akan di bahas dalam membangun aplikasi ini yaitu :

1. Aplikasi akan dibangun pada sistem operasi android dengan memamfaatkan GPS

2. Aplikasi ini akan terdiri dari : Pengingat waktu shalat, penunjuk arah kiblat, panduan shalat wajib dan panduan shalat sunnah. 3. Aplikasi yang dibangun pada sistem operasi android dengan versi

2.2 (Froyo) keatas.

4. Dalam penunjukan arah kiblat sesuai dengan arah kiblat tempat/lokasi dimana user berada

5. Aplikasi akan dibangun dengan menggunakan Metode pengembangan yaitu dengan metode waterfall.

6. Pemodelan dalam membangun aplikasi ini menggunakan pemodelan UML.


(15)

1.7 Waktu penelitian

Waktu penelitian dalam membangun perangkat lunak ini dapat dilihat dengan rician kegiatan seperti yang terdapat pada tabel dibawah ini :

Tabel 1.1 Rencana jadwal penelitian

No Kegiatan

Tahun 2011 – 2012

Maret April Mei Juni

1 2 3 4 1 2 3 4 1 2 3 4 1 2

1 Pengumpulan

Data

2 Analisis

Kebutuhan

3 Perancangan

4 Pemograman

5 Pengujian


(16)

7 2.1 Shalat

Dalam mengerjakan shalat kita harus megetahui aturan/ rukun shalat atau tata cara mengerjakan shalat yang benar. Berikut adalah penjelasan mengenai shalat.

2.1.1 Pengertian Shalat

Menurut H. Fachrurazi (2002 : 27) pengertian shalat menurut makna adalah doa. Yang dimaksud disini adalah ibadah yang tersusun dari beberapa perkataan dan perbuatan yang dimulai dengan takbir dan sudahi/diakhiri dengan salam, serta memenuhi syarat-syarat yang telah ditentukan.

Firman Allah SWT :

“Kerjakanlah Shalat, sesungguhnya shalat itu mencegah perbuatan keji dan munkar. (Al-Ankabut ayat 45)

Perintah shalat hendaklah ditanamkan di dalam hati dan jiwa anak-anak mulai dari kecil, dengan cara yang cermat.

Sabda Rasululah SAW :

“Perintahkanlah anak-anakmu mengerjakan shalat di waktu usia mereka menginjak tujuh tahun, dan engkau boleh memukulnya bila mereka enggan mengerjakan shalat ddi waktu mereka meningkat usia sepuluh tahun”. (H.R. Abu Dawud)


(17)

Dasar kewajiban shalat di antaranya adalah firman Allah SWT :

“Dan dirikanlah shalat, keluarkanlah zakat dan tunduklah/ruku’lah bersama orang-orang yang ruku’.” (Q.S. Al-Baqarah : 43)

2.1.2 Pengertian Shalat Fardhu

Shalat Fardhu Yaitu shalat yang diwajibkan Allah SWT kepada hamba-hamba-Nya sesuai batasan-batasan yang telah dijelaskan-Nya, baik melalui perintah maupun larangan. Dalam hal ini adalah shalat 5 waktu dalam sehari semalam.

2.1.3 Waktu Shalat Fardhu

Dalam melaksanakan ibadah shalat, semua diatur dalam Kitab Suci Al-Qur’an dan hadist Nabi Muhammad SAW.

Allah SWT berfirman :

“…Sesungguhnya shalat itu adalah fardhu yang ditentukan waktunya atas orang-orang yang beriman.” (Q.S. An-Nisa’ : 103)

Allah SWT juga berfirman dalam Al’quran yang artinya :

“Dirikanlah sholat ketika gelincir matahari hingga waktu gelap malam dan dirikanlah sholat subuh sesungguhnya sholat subuh itu adalah disaksikan (keistimewaannya)”. ( Q.S. Al-Isra’ : 78 )

Dalil diatas menjelaskan untuk mengalokasikan waktu-waktu shalat. Berikut ini merupakan rincian waktu-waktu shalat fardhu :


(18)

1. Shalat Shubuh

Waktunya diawali saat Fajar Shiddiq sampai matahari terbit (syuruk). Fajar Shiddiq ialah terlihatnya cahaya putih yang melintang mengikut garis lintang ufuk di sebelah Timur akibat pantulan cahaya matahari oleh atmosfer.

2. Shalat Dzuhur

Disebut juga waktu Istiwa (zawaal) terjadi ketika matahari berada di titik tertinggi. Istiwa juga dikenal dengan sebutan Tengah Hari (midday/noon). Pada saat Istiwa, mengerjakan ibadah shalat (baik wajib maupun sunnah) adalah haram. Waktu Zuhur tiba sesaat setelah Istiwa, yakni ketika matahari telah condong ke arah Barat.

3. Shalat Ashar

Menurut Mazhab Syafi'i, Maliki, dan Hambali, waktu Ashar diawali jika panjang bayang-bayang benda melebihi panjang benda itu sendiri. Sementara Madzab Imam Hanafi mendefinisikan waktu Ashar jika panjang bayang-bayang benda dua kali melebihi panjang benda itu sendiri. Waktu Ashar dapat dihitung dengan algoritma tertentu yang menggunakan trigonometri tiga dimensi.

4. Shalat Maghrib

Diawali saat matahari terbenam di ufuk sampai hilangnya cahaya merah di langit Barat.

5. Shalat Isya Diawali dengan hilangnya cahaya merah (syafaq) di langit Barat, hingga terbitnya Fajar Shiddiq di Langit Timur.


(19)

Sebelum manusia menemukan hisab/perhitungan falak/astronomi, pada zaman Rasulullah waktu shalat ditentukan berdasarkan observasi terhadap gejala alam dengan melihat langsung matahari. Lalu berkembang dengan dibuatnya Jam Surya atau Jam Matahari serta Jam Istiwa atau seing disebut Tongkat Istiwa dengan kaidah bayangan matahari.

Sumber : http://rukyatulhilal.org/waktu-shalat/index.html/ 16 Mei 2012 Syarat sah shalat lima waktu yaitu :

1. Islam

2. Suci dari hadast, haid dan nifas, juga suci seluruh anggota badan, pakaian, dan tempat.

3. Berakal dan balig (dewasa) 4. Menutup aurat

Bagi laki-laki : auratnya antara pusat sampai lutut

Bagi perempuan :seluruh badan, kecuali muka dan kedua telapak tangan.

5. Mengetahui masuknya waktu shalat yang telah ditentukan 6. Menghadap kiblat

7. Mengerti mana yang rukun dan mana yang sunnah. Adapun rukun Shalat adalah sebagai berikut :

1. Niat, karena mengikuti perintah Allah semata 2. Berdiri bagi orang yang kuasa

3. Takbiratul ihram (membaca Allaahu Akbar) 4. Memmbaca surat Al-Fatihah setiap rakaat


(20)

5. Ruku’ serta tuma’ninah (diam sebentar) 6. I’tidal serta tuma’ninah (diam sebentar)

7. Sujud dua kali serta tuma’ninah (diam sebentar)

8. Duduk di antara dua sujud serta tuma’ninah (diam sebentar)

9. Duduk tasyahud akhir serta tuma’ninah (diam sebentar) 10. Membaca tasyahud akhir

11. Membaca shalawat Nabi ketika tasyahud akhir

12. Membaca salam yang pertama sambil berpaling ke kanan

13. Menertibkan rukun, artinya meletakkan rukun pada tempatnya menurut susunan yang telah di tetapkan.

2.1.4 Pengertian Shalat Sunnah

Shalat sunnah ( shalat nafilah ) adalah shalat tambahan diluar shalat fardhu, bila dikerjakan akan mendapat pahala tetapi bila ditinggalkan tidak berdosa. Shalat sunnah terbagi dua yaitu:

1. Shalat sunnah yang dilaksanakan secara berjamah. Shalat sunnah jenis ini status hukumnya adalah muakkad, contohnya: shalat idul fitri, idul adha.

Sumber:http://www.nurulilmi.com/component/content/article/17-fiqih/589-macam-macam-sholat.html/ 28 Mei 2012

2. Shalat sunnah yang dikerjakan secara munfarid ( sendiri-sendiri ). Status hukumnya ada yang muakkad seperti : shalat sunnah rawatib. Shalat sunnah rawatib adalah shalat sunat yang di kerjakan sebelum dan sesudah shalat fardhu. Ada pula yang status


(21)

hukumnya sunnah biasa ( ghairu muakkad ) seperti: shalat tahiyatul masjid, shalat dhuha, shalat witir, dan lain-lain.

2.1.5 Menghitung Waktu Shalat

Dalam menentukan waktu shalat wajib lima waktu di suatu tempat pada tanggal tertentu, ada beberapa parameter yang mesti diketahui :

1. Koordinat lintang tempat tersebut (L). Daerah yang terletak di sebelah utara garis khatulistiwa (ekuator) memiliki lintang positif. Sebaliknya, untuk yang disebelah selatan lintangnya negatif.

2. Koordinat bujur tempat tersebut (B) atau longitude. Daerah yang terletak disebelah timur Greenwich memiliki bujur positif.

3. Zona waktu tempat tersebut (Z). Daerah yang terletak di sebelah timur Greenwich memiliki Z positif.

4. Ketinggian lokasi dari permukaan laut (H). Ketinggian lokasi dari permukaan laut (H) menentukan waktu kapan terbit dan terbenamnya matahari. Tempat yang berada tinggi di atas permukaan laut akan lebih awal menyaksikan matahari terbit serta lebih akhir melihat matahari terbenam, dibandingkan dengan tempat yang lebih rendah. Satuan H adalah meter.

5. Tanggal (D), Bulan (M) dan Tahun (Y). Merupakan parameter yang diperlukan untuk waktu shalat pada tanggal tersebut. Dari tanggal, bulan dan tahun selanjutnya di hitung nilai Julian Day (JD). Dengan rumus sebagai berikut:


(22)

=1720994,5+ 365,25× + 30,6001 +1 + + (1) Keterangan :

INT : Lambang nilai integer (bilangan bulat) Jika > 2, maka M dan Y tidak berubah.

Jika M = 1 atau M = 2, maka M +12 dan Y dikurangi 1

B = 2 + INT A

4 −A, dimana A = INT

Y 100

Nilai JD berlaku untuk pukul 12.00 UT atau saat tengah hari di Greenwich. Untuk JD yang digunakan dalam perhitungan yaitu JD lokasi tempat yang ingin ditentukan waktu shalat. Diperoleh dari JD pukul 12.00 UT waktu Greenwich dikurangi dengan Z/24, dimana Z adalah zona waktu lokal tersebut.

6. Sudut Deklinasi Matahari (Delta). Deklinasi matahari (Delta) untuk satu tanggal tertentu dapat dihitung dengan menggunakan rumus berikut: Delta = 0,37877 + 23,264 * sin(57,297 * T – 79,547) + 0,3812 * sin(2 * 57,297 * T – 82, 682) + 0,17132 * sin(3 * 57,297 * T – 59,722) (2) Keterangan :

T adalah sudut tanggal, dengan rumus, T = 2 * PI * (JD -2451545) /365,25 7. Equation of Time (ET). Equation of Time untuk satu tanggal tertentu dapat

dihitung dengan rumus :

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 (3)


(23)

Keterangan :

L0 adalah Bujur rata-rata matahari, L0 = 280,46607 + 36000,7698 * U. U = (JD – 2451545)/36525.

8. Altitude matahari waktu Shubuh dan Isya. 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. Sementara Isya' disebut dusk astronomical twilight ketika langit tampak gelap karena cahaya matahari di bawah ufuk tidak dapat lagi dibiaskan oleh atmosfer. Nilai altitude matahari berasal dari ketika langit berubah dari gelap menjadi mulai terang, ketika fajar menyingsing di pagi hari dan menyebar secara horisontal dengan seragam. Altitude matahari sangat menentukan metode perhitungan waktu shalat, dimana perbedaan 1 derajat dapat memberikan perbedaan waktu sekitar 4 menit. Terdapat beberapa pendapat mengenai nilai altitude matahari


(24)

Tabel 2.1 Altitude Matahari Saat Shubuh dan Isya

Organisasi Sudut Shubuh Sudut Isya Regional Indonesia 20 derajat 18 derajat Indonesia

Universitas Sience Islam,

Karaci

18 derajat 18 derajat

Pakistan, Bangladesh,

India, Afghanistan, sebagian Eropa

Amerika Utara 15 derajat 15 derajat

Sebagian Amerika Serikat, Kanada, sebagian

Inggris Liga Muslim

Dunia 18 derajat 17 derajat

Eropa, sebagian Amerika Komite Umm

Al-Qura’an 18.5 derajat 18.5 derajat

Semenanjung arab

Mesir 19.5 derajat 17.5 derajat

Afrika, siria, Irak, libanon, Malaysia, sebagian Amerika

9. Tetapan panjang bayangan ashar, dalam hal ini terdapat dua pendapat berbeda. pendapat mazhab Imama Syafi’i menyatakan panjang bayangan benda saat


(25)

ashar adalah tinggi benda di tambah panjang bayangan saat zuhur. Sementara mazhab Imam Hanafi menyatakan panjang bayangan benda saa ashar sama dengan dua kali inggi benda di tambah panjang bayangan saat zuhur.

Setiap parameter sangat menentukan datangnya waktu shalat, bila salah satu parameter kurang akurat maka maka ketepatan datangnya waktu shalat akan sebanding.

Waktu shalat dapat ditentukan dengan menggunakan

rumus-rumus pergerakkan matahari dengan tepat. Berikut adalah rumus-rumus waktu shalat. a. Shubuh = waktu zuhur – (12/PI) * acos((sin(-1 * sudut altitude

matahari subuh) – sin(delta) * sin(L)) / (cos(delta) * cos(L)) b. Zhuhur = 12 + Z – B / 15 – ET/60

c. Ashar = waktu zuhur + (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, MA sama dengan 1 untuk mazhab imam syafi’i, dan MA 2 sama dengan untuk mazhab imam hanafi.

d. Magrib = waktu zuhur + (12/PI) * acos((sin((-0,8333 - 0,0347 * H ^ 0,5)) – sin (delta) * sin (L)) /(cos(delta) * cos(L))).

e. Isya' = waktu zhuhur + (12/PI) * acos((sin(-1 * sudut altitude matahari isya’) - sin(delta)* sin (L)) / cos(delta)* cos(lintang)))


(26)

2.2 Java

Dibawah ini adalah penjelasan mengenai pengertian bahasa pemograman java dan sistem operasi java

2.2.1 Pengertian Java

sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Kita lebih menyukai menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. Teknologi Java memiliki tiga komponen penting, yaitu:

a. Programming-language specification b. Application-programming interface c. Virtual-machine specification

Sumber : http://www.ombar.net/2010/02/pengertian-java.html / 1 Agustus 2012 2.2.2 Sistem Operasi Java

Sistem operasi biasanya ditulis dalam sebuah kombinasi dari kode bahssa C dan assembly, terutama disebabkan oleh kelebihan performa dari bahasa tersebut dan memudahkan komunikasi dengan perangkat keras. Satu kesulitan dalam merancang sistem basis bahasa adalah dalam hal proteksi memori, yaitu memproteksi sistem opeasi dari pemakai program yang sengaja memproteksi pemakai program lainnya. Sistem operasi tradisional mengaharapkan pada tampilan perangkat keras untuk menyediakan proteksi memori. Sistem basis


(27)

bahasa mengandalkan pada tampilan keamanan dari bahasa. Sebagai hasilnya, sistem basis bahasa menginginkan pada alat perangkat keras kecil, yang mungkin kekurangan tampilan perangkat keras yang menyediakan proteksi memori. Sumber : http://www.ombar.net/2010/02/pengertian-java.html /1 Agustus 2012 2.3 Aplikasi

Berikut ini merupakan penjelasan mengenai pengertian aplikasi, juga penggolongan aplikasi serta defenisi rancang bangun perangkat lunak

2.3.1 Pengertian Aplikasi

Aplikasi merupakan sekumpulan elemen yang saling berinteraksi dan saling berkaitan antara satu dengan yang lainnya dalam melakukan suatu kegiatan secara bersama-sama untuk mencapai tujuan tertentu.

Pada Wikipedia (id.wikipedia.org) aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan langsung utnuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer. 2.3.2 Penggolongan Aplikasi

Aplikasi dapat digolongkan menjadi beberapa kelas, antara lain : 1. Perangkat lunak perusahaan (enterprise).

2. Perangkat lunak infrastruktur perusahaan. 3. Perangkat lunak informasi kerja.

4. Perangkat lunak media dan hiburan. 5. Perangkat lunak pendidikan.


(28)

Pada pengertian umumnya, aplikasi adalah alat terapan yang difungsikan secara khusus dan terpadu sesuai kemampuan yang dimilikinya.

Sumber : http://tiaseptianawidi.blogspot.com/2012/03/pengertian aplikasi.html/ 5 Juni 2012

2.3.3 Defenisi Rancang Bangun

Definisi awal dari rancang-bangun perangkat lunak diutarakan oleh Fritz Bauer dalam suatu konferensi, dimana pada saai itu dijadikan sebagai pokok materi yang akan dibahas. Definisinya adalah : The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. (Roger S Pressman, Software Engineering A Practitioner’s Approach: Hal 19 : Singapore 1987)

Dari sekian banyak definisi yang telah diusulkan, semua definisi tersebut mengacu pada pentingnya rancang-bangun dalam pengembangan software. Rancang-bangun perangkat lunak merupakan suatu pertumbuhan diluar perangkat keras dan rancang-bangun sistem yang meliputi tiga kunci pokok yaitu : cara, alat dan prosedur yang memungkinkan manajer untuk mengendalikan proses pengembangan software dan menyediakan praktisi dengan tujuan untuk membangun perangkat lunak yang berkualitas.

Sumber : http://irhamnaa-latu.blogspot.com/ 2 Agustus 2012 2.4 Kiblat

Dalam melaksanakan ibadah shalat, yang harus di ketahui ummat muslim sebelum menunaikan shalat adalah arah kiblat. Berikut ini merupakan penjelasan yang berhubungan dengan kiblat.


(29)

2.4.1 Pengertian Kiblat

Menurut Ivan Michael Siregar 2011 Kiblat berasal dari bahasa Arab “Qiblah” adalah arah yang merujuk ke suatu tempat dimana bangunan Ka'bah di Masjidil Haram, Makkah, Arab Saudi. Ka'bah juga sering disebut dengan Baitullah (Rumah Allah). Menghadap arah kiblat merupakan suatu masalah yang penting dalam syariat Islam. Menurut hukum syariat, 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.

Pada awalnya, kiblat mengarah ke Baitul Maqdis atau Masjidil Aqsa Jerussalem di Palestina, namun pada tahun 625 M ketika Nabi Muhammad SAW hijrah ke Madinah, arah Kiblat berpindah ke arah Ka’bah di Makkah hingga kini atas petunjuk wahyu dari Allah SWT. 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. Kaidah dalam menentukan arah kiblat memerlukan suatu ilmu khusus yang harus dipelajari atau sekurang-kurangnya meyakini arah yang dibenarkan sesuai dengan syariat.

Firman Allah SWT

“Dan dari mana saja kamu keluar (datang), maka palingkanlah wajahmu ke arah Masjidil Haram.” (Q.S. Al-Baqarah : 149)

Rasulullah SAW. juga bersabda,

“Jika kamu hendak shalat, maka sempurnakanlah wudhu lalu menghadaplah kearah kiblat dan kemudian bertakbirlah.” (H.R. Muslim)


(30)

2.4.2 Menentukan Arah Kiblat

Untuk menentukan arah kiblat ada beberapa hal yang harus di ketahui terlebih dahulu, diantaranya adalah sebagai berikut :

2.4.2.1Menentukan Posisi Kiblat

Bola (sphere) adalah benda tiga dimensi yang unik dimana jarak antara setiap titik di permukaan bola dengan titik pusatnya selalu sama. Karena bumi sangat mirip dengan bola, maka cara menentukan arah dari satu tempat (misalnya masjid) ke tempat lain (misalnya Ka'bah) dapat dilakukan dengan mengandaikan bumi seperti bola.

Setiap titik di permukaan bumi dapat dinyatakan dalam duat koordinat, yaitu bujur (longitude) dan lintang (latitude). Semua titik yang memiliki bujur nol terletak pada garis meridian Greenwich (setengah lingkaran besar yang menghubungkan kutub utara dan selatan dan melewati Greenwich). Sementara itu semua titik yang memiliki lintang nol terletak pada garis ekuator (khatulistiwa).

Bujur timur terletak di sebelah timur Greenwich, sedangkan bujur barat terletak di sebelah barat Greenwich. Sesuai kesepakatan umum, bujur timur bernilai positif, sedangkan bujur barat bernilai negatif. Sementara itu semua titik yang terletak di sebelah barat Greenwich. Sesuai kesepakatan umum, bujur timur bernilai positif, sedangkan bujur barat bernilai negatif. Sementara itu semua titik yang terletak di sebelah utara ekuator disebut lintang utara, demikian juga untuk titik di selatan ekuator disebut lintang selatan. Lintang utara bernilai positif, sedangkan lintang selatan bernilai negatif.


(31)

2.4.2.2 Segitiga Bola

Segitiga bola adalah segitiga di permukaan bola yang sisi-sisinya merupakan bagian dari lingkaran besar. Berbeda dengan segitiga linier atau segitiga biasa yang kita kenal, segitiga bola memiliki tiga sudut dalam satuan derajat busur dan tiga sisi berbentuk garis yang berdimensi panjang seperti meter atau centimeter, sehingga segitiga bola seluruh elemennya hanya dalam satuan derajat busur, karena hanya tiga sudut dan tiga sisi berbentuk busur atau lengkungan bagian dari bola langit atau bola bumi. Lihat gambar berikut :

Gambar 2.1 Segitiga Bola ABC

Sudut segitiga bola ABC adalah A, B dan C kemudian sisi-sisi dihadapan sudut bola masing-masing adalah a, b dan c. Pada segitiga bola terdapat beberapa persyaratan yang diperlukan untuk menguji apakah hasil perhitungan sudah konsisten atau belum juga untuk melihat apakah komponen sudut dan sisi-sisinya sudah merupakan segitiga bola atau bukan, persyaratannya antara lain :

a. Jumlah sudut A, B dan C harus lebih dari 180o dan kurang dari 540o(180o < A+B+C < 540o)

b. Jumlah sisi-sisi a, b dan c harus lebih dari 0o dan kurang dari 360o(0o < a+b+c < 360o)


(32)

c. Jarak sudut (panjang busur) antara sebuah lingkaran besar dan kutubnya adalah 90o

d. a + b > c; a + c > b dan b + c > a

e. Bila a = b maka A=B, bila a=c maka A = C, bila b = c maka B = C dan sebaliknya.

f. Bila a>b maka A>B; bila a > c maka A > C ; bila b > c maka B > C dan sebaliknya.

2.4.2.3Rumus Segitiga Bola

Rumus segiga bola diantaranya adalah sebagai berikut : Rumus cos:

Untuk sudut bola

Cos =−cos cos + sin sin cos Cos =−cos cos + sin sin cos Cos =−cos cos + sin sin cos Untuk sisi – sisi segitiga bola

Cos =cos cos + sin sin cos Cos =cos cos + sin sin cos Cos =cos cos + sin sin cos Rumus sin: sin sin = sin B sin = sin C sin

Rumus Analogi Gauss atau De Lambre:

sin½( − )

cos½ =

sin½( − )


(33)

cos½( − )

sin½ =

cos½( + )

sin½

sin½( + )

cos½ =

sin½( − )

cos½

cos½( + )

cos½ =

sin½( + )

cos½

2.4.2.4Mengenal Tata Koordinat Geografis Bola Bumi

Pada bola langit/bola bumi terdapat tata koordinat geografis antara lain; garis lintang (Ф), garis bujur (λ), lingkaran kecil, lingkaran besar dan lain-lain.

Gambar 2.2 Tata Koordinat Geografis Bola Bumi

Garis Bujur (λ) =0o adalah meridian standar melewati greenwich di timur Greenwich BT atau Bujur Timur, di barat BB atau Bujur Barat Garis Lintang (Ф)=0o adalah katulistiwa, Kutub Utara = 90o Kutub Selatan = -90o.


(34)

Tabel 2.2 Tabel koordinat geografis tempat di bola bumi Lingkaran Dasar Ekuator Bumi (Khatulistiwa)

Lingkaran Kutub Bujur (Meridian)

Titik Acuan Lintang:Khatulistiwa(0º) Bujur (Meridian):Greenwich(0º)

Koordinat Pertama

Bujur atau Meridian (λ)

Ke arah timur Greenwich atau BT Ke arah barat Greenwich atau BB

Koordinat Kedua

Lintang tempat (Ф)

Ke arah selatan = - atau LS atau S Ke arah utara = - atau LU atau U

Kutub Utara = 90º atau 90º U atau 90º LU Kutub Selatan = -90º atau 90º S atau 90º LS Contoh:

1. Jakarta (106o 49’ BT, 6o 10’ LS), berarti Jakarta terletak pada garis bujur 106o 49’ di timur Greenwich dan di garis lintang 6o 10’ di selatan Khatulistiwa

2. Bandung (107o5’ BT, -6o49’ LS), berarti Bandung terletak 107o5’ di timur Greenwich dan di garis lintang -6o49’ di selatan Khatulistiwa. 3. Mekkah (39o5’ BT, 21o25’ LU), berarti Mekkah terletak 39o5’ di

timur Greenwich dan di garis lintang 21o25’ di Utara Khatulistiwa Sumber : http://www.mancikarang.sch.id/daftar-artikel/133-menghitung-arah-kiblat-dengan-rumus-segitiga-bola.html/ 10 Mei 2012


(35)

2.5 Android

Dalam membangun sebuah aplikasi operating system yang berbasis android ada beberapa hal yang perlu dipahami terlebih dahulu sebagai pendukung untuk membangun sebuah aplikasi yang akan dibangun.

2.5.1 Pengertian Android

Menurut Nazruddin Safaat 2011 Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka.

2.5.2 Sejarah dan Perkembangan Android

Awalnya, Google Inc. membeli android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. kemudian untuk mengembangkan android dibentuklah Open Handset Alience, konsorsium dari 34 perusahaan peranti keras, peranti lunak dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Nvidia.

Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standart terbuka pada perangkat selular. Di lain pihak, google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat selular. Di dunia ini terdapat dua jenis distributor system operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Service (GSM) dan kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distributor (OHD).


(36)

2.5.3 Komponen Aplikasi

Fitur penting Android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller yang telah ada Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu. Oleh karenanya Android berbeda dari sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan.

a. Activities

Activity merupakan bagian yang paling penting dalam sebuah aplikasi, karena Activity menyajikan tampilan visual program yang sedang digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi dijalankan.

Perpindahan antara activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu activity


(37)

ditentukan oleh posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup activity yang sedang digunakan, maka activity yang berada diatas akan aktif kembali. Memory Manager Android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.

Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi :

1) Active, setiap activity yang berada ditumpukan paling atas, maka dia akan terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup dengan segala cara, bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka yang lainnya akan dihentikan sementara.

2) Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan paused, dia terlihat active namun tidak


(38)

dapat menerima masukkan dari pengguna. Dalam kasus ekstrim, Android akan menghentikan activity dalam keadaan paused ini, untuk menunjang sumber daya bagi activity yang sedang aktif. 3) Stopped, ketika sebuah activity tidak terlihat, maka itulah yang

disebut stopped. Activity akan tetap berada dalam memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah keluar atau ditutup, maka dia akan menjadi inactive.

4) Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan. Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu restart ulang agar dapat tampil dan digunakan kembali. Kondisi transisi ini sepenuhnya ditangani oleh manajer memori Android. Android akan memulai menutup aplikasi yang mengandung activity inactive, kemudian stopped activity, dan dalam kasus luar biasa paused activity juga akan di tutup.

b) Services

Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas. Komponen service diproses tidak terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan untuk melakukan


(39)

pengolahan data yang perlu terus diproses, bahkan ketika Activity tidak aktif atau tidak tampak.

c) Intents

Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya. Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh Intents tersebut.

d) Broadcast Receivers

Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, Batre sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default pada perangkat. Sama halnya dengan service, Broadcast Receivers tidak menampilkan antarmuka pengguna. Namun, Broadcast Receivers dapat menggunakan Notification Manager untuk memberitahukan sesuatu kepada pengguna. e) Content Provider

Content Providers digunakan untuk mengelola dan berbagi database. Data dapat disimpan dalam file sistem, dalam database


(40)

SQLite, atau dengan cara lain yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya.

2.5.4 Siklus Hidup Aplikasi Android

Siklus hidup aplikasi Android dikelola oleh sistem, berdasarkan kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika pengguna ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang prioritas rendah akan ditutup.

Android menjalankan setiap aplikasi dalam proses secara terpisah, yang masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi penggunaan memori pada aplikasi. Selain itu juga Android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya Android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar dibawah menunjukkan prioritas dari aplikasi.


(41)

Gambar 2.3 Prioritas Aplikasi Berdasarkan Activity

2.5.5 Versi Android

Adapun versi-versi android yang pernah di rilis adalah sebagai berikut : 1. Android versi 1.1

Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

2. Android versi 1.5 (Cupcake)

Pada pertengah mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengubah video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan


(42)

terhubung secara otomatis ke headset Bluetooth, animasi layar dan keyboard pada layar yang dapat disesuaikan dengan system.

3. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibandingkan sebelumnya, penggunaan baterai indicator dan konrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapu, kamera, camcorder dan galeri yang diintegrasikan, CDMA/EVDO,802.1x,VPN, Gestures dan Text-to-speech engine, kemampuan dial kontak, teknologi text to change speech tidak tersedia pada semua ponsel, pengadaan resolusi VWGA.

4. Android versi 2.0/2.1 (Éclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Éclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP , digital Zoom dan Bluetooth 2.1.

5. Android versi 2.2 (Froyo: frozen Yoghurt)

Pada bulan Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Android inilah yang sekarang sangat banyak beredar di pasaran,


(43)

salah satunya adalah di pakai di samsung FX tab yang sudah ada di pasaran.

6. Android versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) didesain ulang, dukungan format video VP8 dan webM, efek audio baru (reverb, equalization, headphone virtualization dan bebas boost) dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu.

7. Android versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesai untuk tablet. Honeycomb juga mendukung multi processor dan juga akselerasi perangkat hardware untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat tablet dengan platform Android 3.0 akan sudah hadir di Indonesia. Perangkat tersebut bernama Eee Pad Transformer produksi dari Asus.


(44)

8. Android versi 4.0 (ICS : ice Cream Sandwich)

Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan control, terpadu kontak jaringan social, perangkat tambahan fotografi, mencari email secara offline dan berbagi informasi menggunakan NFC.

2.5.6 Kelebihan Android

Sudah banyak platform untuk perangkat selular saat ini, termasuk didalamnya Seprti : Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiM0), dan sebagainya. Namun ada beberapa hal yang menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul sebelumnya pada platform lain, Android adalah yang pertama menggabungkan hal seperti berikut :

1. Keterbukaan, bebas pengembangan tanpa dikenakan biaya terhadap sistem karena berbasiskan Linux dan open source. Pembuat perangkat menyukai hal ini karena dapat membangun platform yang sesuai yang diinginkan tanpa harus membayar royality. Sementara pengembang software menyukai karena Android dapat digunakan diperangkat manapun dan tanpa terikat oleh vendor manapun.

2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang dikembangkan.


(45)

3. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan layanan pencarian lokasi, database SQL, browser dan penggunaan peta. Semua itu sudah tertanam pada Android sehingga memudahkan dalam pengembangan aplikasi.

4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan, sehingga kerja sistem menjadi lebih stabil. Pengguna tak perlu kawatir dalam menggunakan aplikasi pada perangkat yang memorinya terbatas.

5. Dukungan grafis dan suara terbaik, dengan adanya dukungan 2D grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game yang berbeda.

6. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada saat ini maupun yang akan datang. Semua program ditulis dengan menggunakan bahas pemrograman Java dan dieksekusi oleh mesin virtual Dalvik, sehingga kode program portabel antara ARM, X86, dan arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan Keyboard, layar sentuh, trackball dan resolusi layar semua dapat disesuaikan dengan program.


(46)

2.6 GPS (Global Positioning System)

Dalam menentukan sebuah tata letak, koordinat posisi kita harus mengetahui terlebih dahulu yang berhubungan dengan GPS. Adapun yang berkaitan dengan GPS adalah sebagai berikut :

2.6.1 Pengertian GPS

GPS adalah singkatan dari Global Positioning System, system ini digunakan untuk menentukan posisi pada permukaan bumi dengan bantuan sinkronisasi sinyal satelit. System ini menggunakan 24 satelit yang mengirimkan sinyal gelombang mikro ke bumi. Sinyal ini diterima oleh alat penerima yang ada di bumi, dan digunakan untuk menentukan posisi, kecepatan, arah, dan waktu. Sumber:http://itokwrote.wordpress.com/2007/08/01/teknologi-gps-global positioning-system/ 27 Mei 2012

2.6.2 Cara Kerja GPS

Setiap satelit mentransmisikan dua sinyal yaitu L1 (1575.42 MHz) dan L2 (1227.60 MHz). Sinyal L1 dimodulasikan dengan dua sinyal pseudo-random yaitu kode P (Protected) dan kode C/A (coarse/aquisition). Sinyal L2 hanya membawa kode P. Setiap satelit mentransmisikan kode yang unik sehingga penerima (perangkat GPS) dapat mengidentifikasi sinyal dari setiap satelit. Pada saat fitur ”Anti-Spoofing” diaktifkan, maka kode P akan dienkripsi dan selanjutnya dikenal sebagai kode P(Y) atau kode Y.

Perangkat GPS yang dikhususkan buat sipil hanya menerima kode C/A pada sinyal L1 (meskipun pada perangkat GPS yang canggih dapat memanfaatkan sinyal L2 untuk memperoleh pengukuran yang lebih teliti.


(47)

Perangkat GPS menerima sinyal yang ditransmisikan oleh satelit GPS. Dalam menentukan posisi, kita membutuhkan paling sedikit 3 satelit untuk penentuan posisi 2 dimensi (lintang dan bujur) dan 4 satelit untuk penentuan posisi 3 dimensi (lintang, bujur, dan ketinggian). Semakin banyak satelit yang diperoleh maka akurasi posisi kita akan semakin tinggi. Untuk mendapatkan sinyal tersebut, perangkat GPS harus berada di ruang terbuka. Apabila perangkat GPS kita berada dalam ruangan atau kanopi yang lebat dan daerah kita dikelilingi oleh gedung tinggi maka sinyal yang diperoleh akan semakin berkurang sehingga akan sukar untuk menentukan posisi dengan tepat atau bahkan tidak dapat menentukan posisi.

2.6.3 Kelebihan dan Kekurangan GPS

Teknologi GPS merupakan teknologi yang sangat fenomenal dalam bidang penentuan posisi karena mampu memberikan informasi mengenai posisi secara real-time dan kontinu, dimana saja dan kapan saja. Di samping itu, ada beberapa hal yang membuat GPS sangat baik dalam sistem pelacakan :

1. Meliputi wilayah yang luas. 2. Tidak terpengaruh topografis.

3. Solusi Tracking System di Bidang Militer 4. Memberikan ketelitian akurasi yang cukup. 5. Penggunaan tidak dikenakan biaya


(48)

Kekurangan GPS yaitu :

1. Penggunaan GPS untuk mengetahui posisi yang mengandalkan setidaknya tiga satelit ini tidak selamanya akurat.

2. Terkadang, dibutuhkan satu satelit untuk memperbaiki sinyal yang diterima. Ketidakakuratan posisi yang ditunjukkan

3. GPS ini dipengaruhi oleh posisi satelit yang berubah dan adanya proses sinyal yang ditunda. Kecepatan sinyal GPS ini juga seringkali berubah karena dipengaruhi oleh kondisi atmosfer yang ada. Selain itu, sinyal GPS juga mudah berinteferensi dengan gelombang elektromagnetik lainnya

2.7 UML

UML (Unified Modeling Language) disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat.

Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain.

UML menurut Yasmi Afrizal, Wahyuni memaparkan bahwa UML adalah bahasa untuk menspesifikasi, memvisualisasi, membangun dan mendokumentasikan artifacts (bagian dari informasi yang digunakan atau di hasilkan oleh proses pembuatan perangkat lunak, artifact tersebut dapat berupa


(49)

model, deskripsi, atau perangkat lunak) dari sistem perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya.

Selain itu UML adalah bahasa pemodelan yang menggunakan konsep orientasi object. UML dibuat oleh Grady Booch, James Rumbaugh, dan Ivar Jacobson di bawah bendera Rational Software Corp. UML menyediakan notasi-notasi yang membantu memodelkan sistem dari berbagai perspektif. UML tidak hanya digunakan dalam pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan.

2.7.1 Diagram UML

Suatu sistem yang kompleks harus dapat dipandang dari sudut yang berbeda-beda sehingga didapat pemahaman secara menyeluruh. Untuk keperluan tersebut UML menyediakan 9 jenis diagrams yang dapat dikelompokkan berdasarkan sifatnya; Statis atau Dinamis. Kesembilan diagram ini tidak mutlak digunakan atau dibuat sesuai kebutuhan. Pada pemodelan UML dimungkinkan menggunakan diagram lain sejauh diagram tersebut dapat membantu pemahaman mendalam tentang suatu sistem atau perangkat lunak. Ke-9 diagram tersebut adalah sebagai berikut:

1. Class Diagrams (Statis)

Diagram ini memperlihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instantiasi statis dari segala sesuatu yang dijumpai dari pada diagram kelas.


(50)

2. Object Diagrams (Statis)

Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, dan relasi-relasi. Diagram ini umum ditemui pada pemodelan sistem berorientasi objek. Meski sifatnya statis, sering pula memuat kelas-kelas aktif.

3. Use-Case Diagrams (Statis)

Diagram ini memperlihatkan himpunan Use-Case dan Actor-Actor (jenis khusus dari kelas). Diagram ini penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna.

4. Sequence Diagrams (Dinamis)

Diagram sequence (urutan) adalah diagram interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.

5. Collaboration Diagrams (Dinamis)

Diagram kolaborasi adalah diagram interaksi yang menekankan organisasi structural dari objek-objek yang menerima serta mengirim pesan (message).

6. State Chart Diagram (Dinamis)

Diagram ini memperlihatkan state-state pada sistem; memuat state, transisi, event, serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi, dan terutama penting pada pemodelan sistem-sistem reaktif.


(51)

7. Activity Diagrams (Dinamis)

Diagram ini adalah tipe khusus dari diagram state yang memperlihatkan aliran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek.

8. Component Diagrams (Statis)

Diagram ini memperlihatkan organisasi serta kebergantunngan pada komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan kedalam satu atau lebih kelas-kelas, antarmuka-antarmuka, serta kolaborasi-kolaborasi.

9. Deployment Diagrams (Statis)

Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (run-time), memuat simpul-simpul atau node beserta komponen-komponen yang ada didalamnya. Deployment Diagrams berhubungan erat dengan diagram komponen dimana Deployment Diagrams memuat satu atau lebih komponen-komponen.

Dalam membangun aplikasi, jenis diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi objek, yaitu use case diagram, sequence diagram, activity diagram, class diagram, deployment diagram dan component diagram.


(52)

2.7.2 Kelebihan dan Kekurangan UML

Kelebihan UML dibandingkan dengan bahasa pemodelan yang lain yaitu: 1. Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan

dalam pembangunan system

2. Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan dan penggunaan kembali (re-use) kode program lebih tinggi dibandingkan dengan metode OOAD

3. Tidak ada pemisahan antara fase desain dan analisi, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan system

4. Analis dan programmer tidak dibatasi dengan batasan implementasi system.

5. Relasi obyek dengan entitas (thing) umumnya dapat di-mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam system. Hal ini memudahkan dalam memahami desain

6. Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebenaran software yang membantu untuk mengurangi resiko pada pembangunan system yang kompleks

7. Encapsulasi data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.


(53)

8. OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.

9. Dekomposisi obyek, memungkinkan seorang analis untuk memecah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang di-manage secara terpisah. Kode program dapat dikerjakan bersama-sama

Sedangkan kekurangan UML antara lain:

1. Pada awal desain OOAD, system mungkin akan sangat simple 2. Pada OOAD lebih focus pada coding dibandingkan dengan SSAD. 3. Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD. 4. Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang

dibutuhkan system

5. Seringkali pemrograman berorientasi obyek digunakan untuk melakukan analisis terhadap fungsional site, sementara metode OOAD tidak berbasis pada fungsional system

6. OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah team developer butuh waktu yang lebih lama untuk berpindah ke OOAD karena mereka sudah menggunakan SSAD dalam waktu yang lama

7. Metodologi pengembangan system denga OOAD menggunakan konsep re-use.


(54)

2.8 Google API

Google API atau antarmuka pemrograman aplikasi adalah sekumpulan perintah, fungsi, dan protokol dari Google yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sisitem operasi tertentu. Layanan API yang sediakan Google cukup banyak diantaranya :

1. Google Latitude

Google Latitude merupakan layanan yang memungkinkan pengguna untuk berbagi lokasi tempat dimana pengguna tersebut berada. Walaupun demikian, fitur ini tidak akan menunjukkan lokasi spesifik tempat pengguna berada tapi memberikan informasi bahwa pengguna sedang berada di suatu lokasi pada waktu tertentu. Google Latitude dapat diakses melalui beberapa perangkat mobile, seperti : Perangkat mobile berbasiskan OS Android, seperti Samsung, Sony Ericson, BlackBerry dan sebagainya.

2. Google Maps

Google maps adalah peta online atau membuka peta secara online. kini dapat dilakukan secara mudah melalui servis gratis dari Google ini. bahkan, servis ini menyediakan API )Application Programming Interface) yang memungkinkan developer lain untuk memanfaatkan aplikasi ini di aplikasi buatannya. Tampilan Google Maps pun dapat dipilih, berdasarkan foto asli atau peta gambar rute saja.

Sumber http://jayaputrasbloq.blogspot.com/2011/06/definisi-atau-pengertian-istilah-google.html / 2 Juni 2012


(55)

46 BAB III

METODE PENELITIAN

3.1 Metode Penelitian

Metode penelitian berisi uraian yang menjelaskan secara rinci tentang bagaimana suatu penelitian dilakukan. Penjelasan ini juga bisa digunakan untuk menilai apakah hasil suatu penelitian dapat dipercaya, dan apakah kesimpulan penelitian ini dapat digunakan untuk kepentingan secara praktis atau digunakan dalam kajian pustaka dalam penelitian berikutnya

3.2 Desain Penelitian

Desain penelitian merupakan rencana untuk memilih sumber-sumber dan jenis informasi yang dipakai untuk menjawab pertanyaan penelitian.

Desain penelitian menurut Moh. Nazir (2003:84) memaparkan bahwa “desain penelitian adalah semua proses yang diperlukan dalam perencanaan dan pelaksanaan penelitian”.

Dari definisi di atas maka dapat dikatakan bahwa desai penelitian merupakan semua proses penelitian yang dilakukan oleh penulis dalam melaksanakan penelitian mulai dari perencanaan sampai dengan pelaksanaan penelitian yang dilakukan pada waktu tertentu.


(56)

3.3 Jenis dan Metode Pengumpulan Data

Metodologi Penelitian yang digunakan dalam penulisan skripsi ini adalah sebagai berikut :

3.3.1 Sumber Data Primer

Data primer merupakan informasi yang diperoleh pertama kali oleh peneliti menyangkut variable yang menjadi tujuan utama penelitian. Untuk mendapatkan data primer metode pengumpulan data yang dipakai adalah kuesioner dan Studi pustaka.

Berikut ini penjelasan metode pengumpulan data yang digunakan dalam penulisan skripsi ini adalah sebagai berikut :

a. Studi Pustaka

Pengumpulan data seperti buku-buku referensi yang berhubungan dengan android dan pewaktuan sholat. Selain itu juga dengan cara mengumpulkan literatur, browsing internet, jurnal-jurnal dan makalah-makalah yang ada kaitannya dengan topik yang diambil untuk membantu dalam penyajian informasi yang akan di tampilkan. b. Kuesioner

Teknik pengumpulan data yang di rancang terlebih dahulu dengan cara menggunakan daftar pertanyaan yang akan diberikan kepada responden.


(57)

3.3.2 Sumber Data Sekunder

Data sekunder yaitu data yang dikumpulkan oleh orang atau institusi selain peneliti yang melakukan kajian pada saat ini. Data sekunder bisa didapat dari internal maupun eksternal organisasi baik melalui internet maupun publikasi. 3.4 Metode Pendekatan dan Pengembangan Sistem

Berikut ini merupakan metode pendekatan dan pengembangan sistem yang dipakai dalam merancang dan membangun perangkat lunak AndroPrayer.

3.4.1 Metode Pendekatan Sistem

Dalam melakukan penelitian ini metode pendekatan yang dipakai adalah pemodelan berorientasi objek karena metode ini dikembangkan sebagai suatu alat analisis dan desain yang sering dipakai dalam pengembangan sistem berbasis mobile.

3.4.2 Metode Pengembangan Sitem

Metode pengembangan sistem yang penulis pakai adalah metode waterfall. seperti yang tercantum pada gambar 3.1, yang meliputi beberapa proses yaitu sebagai berikut :


(58)

Feedback

Gambar 3.1 Metode Waterfall

a. Rekayasa sistem

Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak b. Analisis

Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak

c. Perancangan

Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user

System Engineering

System Analysis

System Design

System Coding

System Maintenance System Testing


(59)

d. Pemograman

Tahap penerjemahan data atau pemecahan masalah yang telah dirancang ke dalam bahasa pemrograman yang telah di tentukan.

e. Pengujian

Merupakan tahap pengujian terhadap perangkat lunak yang dibangun

f. Pemeliharaan

Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan–perubahan atau penambahan sesuai dengan permintaan user

3.4.3 Alat Bantu Analisis dan Perancangan

Alat bantu Analisis dan perancangan yang dipakai dalam membangun perangkat lunak ini adalah dengan menggunakan pemodelan UML yang merupakan suatu alat untuk analisis dan desain berorientasi objek.

UML menurut Yasmi Afrizal, Wahyuni memaparkan bahwa UML adalah bahasa untuk menspesifikasi, memvisualisasi, membangun dan mendokumentasikan artifacts (bagian dari informasi yang digunakan atau di hasilkan oleh proses pembuatan perangkat lunak, artifact tersebut dapat berupa model, deskripsi, atau perangkat lunak) dari sistem perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya.


(60)

UML menyediakan 9 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu :

1. Class Diagram (Statis)

Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, dan relasi-relasi. Diagram ini umum ditemui pada pemodelan sistem berorientasi objek. Meski sifatnya statis, sering pula memuat kelas-kelas aktif.

2. Object Diagrams (Statis)

Diagram ini memperlihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instantiasi statis dari segala sesuatu yang dijumpai dari pada diagram kelas.

3. Use Case Diagram

Diagram ini memperlihatkan himpunan Use-Case dan Actor-Actor (jenis khusus dari kelas). Diagram ini penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna.

4. Sequence Diagram (Dinamis)

Diagram sequence (urutan) adalah diagram interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.


(61)

5. Collaboration Diagrams (Dinamis)

Diagram kolaborasi adalah diagram interaksi yang menekankan organisasi structural dari objek-objek yang menerima serta mengirim pesan (message).

6. State Chart Diagram (Dinamis)

Diagram ini memperlihatkan state-state pada sistem; memuat state, transisi, event, serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi, dan terutama penting pada pemodelan sistem-sistem reaktif.

7. Activity Diagram (Dinamis)

Diagram ini adalah tipe khusus dari diagram state yang memperlihatkan aliran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek.

8. Component Diagrams (Statis)

Diagram ini memperlihatkan organisasi serta kebergantunngan pada komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan kedalam satu atau lebih kelas-kelas, antarmuka-antarmuka, serta kolaborasi-kolaborasi.


(62)

9. Deployment Diagrams (Statis)

Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (run-time), memuat simpul-simpul atau node beserta komponen-komponen yang ada didalamnya.

3.5 Pengujian

Pengujian merupakan hal penting karena bertujuan untuk menemukan kesalahan-kesalahan atau kekurangan-kekurangan pada perangkat lunak yang diuji, dan untuk mengetahui apakah perangkat lunak yang dibuat sudah memenuhi kriteria yang sesuai dengan tujuan perancangan perangkat lunak tersebut.

3.5.1 Pengujian Alpha

Pengujian alpha dilakukan pada sisi pengembang oleh seorang pelanggan, sebelum perangkat lunak benar-benar jadi. Tujuannya untuk identifikasi dan menghilangkan sebanyak mungkin masalah sebelum perangkat lunak sampai ke pemakai yang sebenarnya.

3.5.2 Pengujian Beta

Pengujian beta merupakan pengujian yang dilakukan oleh pemakai akhir dalam lingkungan yang sebenarnya. Tujuannya untuk mendapatkan umpan balik dari pelanggan yang selanjutnya akan dipakai dalam revisi perangkat lunak yang telah dibuat.


(63)

54 4.1 Analisis Sistem

Analisis sistem dapat di defenisikan sebagai penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan. Perangkat lunak yang akan dibuat berdasarkan masukan dari pihak-pihak lain dan juga diperoleh dari berbagai sumber yang berkaitan dengan aplikasi yang akan di bangun.

4.1.1 Analisis Masalah

Faktor-faktor yang akan dianalisis dalam membangun perangkat lunak ini adalah mengenai permasalahan penentuan waktu shalat dan penunjuk arah kiblat dan juga membuat panduan shalat di lengkapi dengan audio. Hasil analisis ini akan dijadikan sebagian acuan dalam pembangunan perangkat lunak AndroPrayer.

4.1.2 Analisis Permasalahan Penentuan Waktu Shalat

Dalam penentuan waktu shalat dan mendapatkan jadwal shalat yang akurat diperlukan rumus persamaan matematika.

Waktu shalat dapat ditentukan dengan menggunakan rumus-rumus pergerakan matahari dengan tepat. Berikut adalah rumus waktu sahalat .

a. Shubuh = waktu zuhur – (12/PI) * acos((sin(-1 * sudut altitude matahari subuh) – sin(delta) * sin(L)) / (cos(delta) * cos(L))


(64)

c. Ashar = waktu zuhur + (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, MA sama dengan 1 untuk mazhab imam syafi’i, dan MA 2 sama dengan untuk mazhab imam hanafi.

d. Magrib = waktu zuhur + (12/PI) * acos((sin((-0,8333 - 0,0347 * H ^ 0,5)) – sin (delta) * sin (L)) /(cos(delta) * cos(L))).

e. Isya' = waktu zhuhur + (12/PI) * acos((sin(-1 * sudut altitude matahari isya’) - sin(delta)* sin (L)) / cos(delta)* cos(lintang)))

4.1.3 Analisis Permasalahan Penentuan Arah Kiblat

Dalam menentukan posisi arah kiblat dapat di tentukan dengan rumus matematika sebagai berikut :

contoh menghitung posisi dapat diskenariokan dengan bantuan gambar berikut.


(65)

Keterangan untuk setiap gambar : Titik A menunjukkan Posisi Ka’bah Titik B menunjukkan lokasi

Titik C mnunjukkan kutub utara

Rumus menentukan posisi ka’bah adalah sebagai berikut : cos(b) = cos(a) cos(c) + sin(a) sin(c) cos(B)

cos(c) = cos(a) cos(b) + sin(a) sin(b) cos(C)

sin sin =

sin b sin =

sin c sin

Penggabungan ketiga persamaan diatas akan terbentuk persamaan di bawah ini :

tan(B) = sin⁡(C)

sin cot −cos cos⁡( )

C = Ba – Bb a = 90 – Lb b = 90 – La, dan cos (90 – x) = sin(x) sin (90 – x) = cos(x) cot (90 – x) = tan(x)

Maka persamaan akan menjadi :

tan(B) = sin⁡(Ba−Bb)

cos � tan � sin(� ) cos⁡( )

Sudut B adalah : B = arctan (tan(B))

Arah kiblat azimuth ditunjukkan oleh sudut B. Azimuth 0 derajat menunjukkan arah utara (true north). Nilai B sangat tergantung dari pembilang


(66)

dan penyebut pada ruas kanan rumus tan(B). Dengan kata lain, nilai B bergantung pada nilai sin(Ba – Bb) dan nilai cos(Lb) * tan(La) – sin(Lb)*cos(Ba – Bb). Untuk memudahkan, tan(B) dapat ditulis sama dengan y/x. Sehingga nilai sudut B yang sesuai bergantung pula dari positif atau negatifnya nilai x dan y, dapat dijelaskan sebagai berikut :

Jika x positif dan y positif, maka tan(B) positif yang menghasilkan 0 < B <90.

Jika x negatif dan y positif, maka tan(B) negatif yang menghasilkan 90 < B < 180.

Jika x negatif dan y negatif, maka tan(B) positif yang menghasilkan 180 <B < 270 atau -180 < B < -90. Jika B negatif, maka

ditambahkan 360 derajat.

Jika x positif dan y negatif, maka tan(B) negatif yang menghasilkan 270 < B < 360 atau -90 < B < 0.

4.1.4 Analisis dan Kebutuhan Non- Fungsional

Analisis dan kebutuhan non-fungsional menggambarkan kebutuhan perangkat lunak, analisis dan kebutuhan perangkat keras, serta analisis kebutuhan user yang harus dipenuhi dalam perancangan perangkat lunak/aplikasi yang akan di bangun.

4.1.4.1 Analisis dan Kebutuhan Perangkat Lunak

Perangkat lunak digunakan dalam sebuah sistem merupakan perintah-perintah yang diberikan kepada perangkat keras agar bisa saling berinteraksi


(67)

diantara keduanya. Adapun Perangkat lunak yang dibutuhkan untuk membangun aplikasi AndroPrayer ini adalah sebagai berikut :

1. Sistem Operasi Windows 7 2. Eclipse Galileo

3. Android SDK 4. ADT

4.1.4.2 Analisis dan Kebutuhan Perangkat Keras

Komputer dan handphone terdiri dari perangkat keras dan perangkat lunak yang saling berinteraksi. Perangkat lunak memberikan instruksi-instruksi kepada perangkat keras untuk melakukan suatu tugas tertentu, sehingga dapat menjalankan suatu sistem di dalamnya.

Pada aplikasi AndroPrayer ini, perangkat keras yang digunakan adalah sebagai berikut :

1. Pocessor : Dengan kecepatan minimum 2.0 GHZ 2. VGA : Dengan kecepatan minimum 32 MB 3. Memori /RAM 1 GB

4. Hardisk minimum 20 GB 5. Mouse dan Keyboard 6. Monitor


(68)

4.1.4.3 Analisis dan Kebutuhan User

Analisis kebutuhan user juga sangat dibutuhkan dalam penggunakaan aplikasi AndroPrayer ini. Adapun spesifikasi user yang dibutuhkan :

1. User Mengerti mengoperasikan handphone yang bersistem operasi android.

2. Memiliki handphone yang bersistem operasi android. 4.1.5 Analisis dan Kebutuhan Fungsional

Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akan deterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan sistem agar system dapat berjalan dengan baik serta sesuai dengan kebutuhan. Dalam melakukan analisis dengan berorientasi objek menggunakan UML (Unified Modeling Language) adalah menentukan aktor atau pengguna sistem terlebih dahulu. Aktor menampilkan peran yang dilakukan pengguna (user) pada sistem.

4.1.6 Use Case Diagram

Use case Diagram ini memperlihatkan himpunan Use-Case dan Actor-Actor (jenis khusus dari kelas). Diagram ini penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna.


(69)

Gambar 4.1 Use Case Diagram

Definisi use case berfungsi untuk menjelaskan proses yang terdapat pada setiap use case. Berikut ini adalah defenisi use case berdasarkan gambar 4.1 dapat dilihat pada tabel 4.1 berikut ini.

Tabel 4.1 Defenisi Use Case

No Use Case Deskripsi

1. Melihat jadwal shalat Proses untuk melihat jadwal shalat sesuai dengan tempat user berada 2. Melihat arah kiblat Proses untuk melihat arah kiblat

sesuai dengan tempat user berada 3. Melihat panduan shalat fardhu Proses untuk melihat panduan shalat


(1)

4. Menurut Anda, Apakah dengan aplikasi AndroPrayer ini informasi jadwal shalat sudah tepat ?

Keterangan Responden Persentase (%)

Sangat Tepat 0 0

Tepat 7 70

Cukup Tepat 2 20

Biasa 1 10

Kurang Tepat 0 0

Sangat Tidak Tepat 0 0

5. Apakah anda setuju dengan Aplikasi AndroPrayer ini dapat memudahkan Umat muslim untuk beribadah ?

Keterangan Responden Persentase (%)

Sangat Setuju 0 0

Setuju 6 60

Cukup Setuju 3 30

Biasa 1 10

Kurang Setuju 0 0

Sangat Tidak Setuju 0 0

Berdasarkan data hasil kuesioner tersebut, dapat dicari persentase masing-masing Responden dengan menggunakan rumus :

Y = P/Q * 100% Keterangan :

P = Banyaknya jawaban responden tiap soal Q = Jumlah responden


(2)

5.5.3 Kesimpulan Pegujian Beta

Dari hasil pengujian beta yang telah dilakukan yaitu dengan memberikan kuesioner langsung kepada para pengguna selanjutnya melakukan perhitungan kategori jawaban dari kuesioner tersebut, maka dapat diambil kesimpulan bahwa aplikasi androprayer ini dapat memudahkan umat muslim mendapatkan informasi panduan shalat fardhu dan shalat sunnah serta memudahkan dalam mendapatkan informasi jadwal sholat serta penunjuk arah kiblat untuk mempermudah umat muslim dalam melaksanakan ibadahnya.


(3)

98 6.1 Kesimpulan

Dari hasil analisis, perancangangan dan pengembangan perangkat lunak AndroPrayer sampai tahap penyelesaian program maka penulis dapat mengambil kesimpulan sebagai berikut :

1. Aplikasi AndroPrayer ini dapat menentukan jadwal shalat dengan tepat waktu sehingga dapat membantu ummat muslim untuk melakukan ibadah shalat fardhu dan shalat sunnah.

2. Aplikasi ini dapat menentukan arah kiblat dimanapun berada dengan menggunakan teknologi GPS

3. Aplikasi ini dapat menampilkan panduan shalat yang disertai dengan audio untuk mempermudah pengguna dalam mempelajari shalat wajib dan shalat sunnah.

6.2 Saran

Berdasarkan pada pengujian yang telah dilakukan pada perangkat lunak AndroPrayer yang telah di buat, masih banyak kekurangan sehingga perlu di kembangkan lagi agar lebih baik. Adapun saran untuk pengembangan perangkat lunak ini yaitu :

1. Aplikasi AndroPrayer disarankan dapat menampilkan gambar pada panduan shalat agar user lebih mengerti dalam menjakan aplikasi ini. 2. Aplikasi AndroPrayer disarankan menambahkan berbagai fitur, untuk


(4)

DAFTAR PUSTAKA 1. Al-Qur’an

2. H. Fachrurazi. 2002. Tuntunan Pelajaran Shalat Lengkap. Sinar Baru Algensido. Bandung

3. Ust. HM. Mansyur Akrami. Gemar Belajar Shalat. Bintang Indonesia. Jakarta 4. Nazruddin Safaat H. 2011. Pemograman Aplikasi Mobile Smartphone dan

Tablet PC Berbasis Android. Informatika. Bandung

5. Ivan Michael Siregar, S.T., M.T. 2011. Membongkar Source Code Berbagai Aplikasi Android. Gava Media. Yogyakarta

6. http://akbarsaiful.wordpress.com/ 23 Mei 2012

7. http://rukyatulhilal.org/waktu-shalat/index.html/ 16 Mei 2012

8. http://tiaseptianawidi.blogspot.com/2012/03/pengertian-aplikasi.html/ 5 Juni 2012

9. http://blog.uad.ac.id/ardi/2011/04/04/mengenal-location-based-service-lbs/ 5 Juni 20012

10. http://www.mancikarang.sch.id/daftar-artikel/133-menghitung-arah-kiblat-dengan-rumus-segitiga-bola.html/ 10 Mei 2012

11. http://itokwrote.wordpress.com/2007/08/01/teknologi-gps-global-positioning-system/ 27 Mei 2011

12. http://fadli666.wordpress.com/2008/03/24/kelebihan-dan-kekurangan-gps-2/ 16 Juni 2012

13. http://jayaputrasbloq.blogspot.com/2011/06/definisi-atau-pengertian-istilah-google.html / 2 Juni 2012


(5)

14. http://www.nurulilmi.com/component/content/article/17-fiqih/589-macam-macam-sholat.html/ 28 Mei 2012

15. http://ruhtaf12.blogspot.com/2012/01/kelebihan-kekurangan-model-terstruktur.html / 5 Juli 2012


(6)

Data Pribadi

Nama : Hotnida Rambe

Alamat : Tapus Dolok Kab. Tapanuli Selatan Kec. Aek Bilah Provinsi Sumatera Utara

Nomor Telepon : 085324835539

Email : nida.ira1@gmail.com

Jenis Kelamin : Perempuan

Tanggal Kelahiran : 30 Agustus 1988

Status : Single

Warga Negara : Indonesia

Agama : Islam

Riwayat Pendidikan

Periode Sekolah / Institusi / Universitas Jurusan Jenjang 1995 - 2001 SD Negeri 142841 Tapus

2001 – 2004 SLTP Negeri 2 Sipagimbar 2004 - 2007 SMK Negeri 1 Padangsidmpuan