You are on page 1of 38

Laporan Tugas Akhir

Muhammad Amiral
Institut Teknologi Indonesia

1. Pendahuluan

1.1. Latar Belakang

Perkembangan teknologi semakin pesat dan cepat, khususnya teknologi

informasi dan komunikasi. Hal ini membuat manusia bagaikan tak terpisah oleh

jarak ruang dan waktu. Dengan perkembangan teknologi yang kian maju, manusia

dapat membuat berbagai macam peralatan sebagai alat bantu dalam menjalankan

berbagai aktivitas untuk mendukung produktifitas.

Dengan segala aktifitas yang kian padat menjadikan sebagian orang

memiliki tingkat mobilitas yang tinggi. Terkadang hal yang tidak menjadi

prioritas namun suatu kewajiban terlalaikan. Salah satunya kewajiban ibadah

shalat fardhu lima waktu bagi umat Muslim yang kadang terlambat, terabaikan

bahkan terlupakan. Salah satu faktor penyebabnya adalah terbatasnya informasi

atau peringatan ketika telah datang waktu shalat. Misalkan ketika seseorang

berada di suatu tempat atau daerah yang suara azan tidak terjangkau dari masjid

terdekat atau suatu lokasi yang baru, maka ketika waktu shalat tiba ada

kemungkinan orang tersebut tidak tahu.

Seiring dengan tingkat mobilitas yang tinggi, beberapa tahun terakhir tengah

marak perangkat bergerak atau mobile device. Salah satu perangkat mobile yang

paling pesat adalah Handphone dimana hampir setiap orang memilikinya.

Handphone yang sedianya sebagai alat komunikasi, saat ini sudah lebih dari

fungsi dasarnya. Berbagai macam fitur telah ditanamkan, seperti pengolah gambar

dan video, pengolah dokumen dan lain sebagainya. Hal ini tak lepas dari

1
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

penggunaan Sistem Operasi pada Handphone. Layaknya pada komputer,

handphone pun dapat di-install berbagai macam aplikasi yang diinginkan.

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.

Hingga saat ini Android terus berkembang, baik secara sistem maupun

aplikasinya.

1.2. Rumusan Masalah

Berdasarkan dari uraian latar belakang di atas maka dapat dirumuskan suatu

permasalahan. 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.

1.3. 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).

1.4. Manfaat

Manfaat dari pengembangan Aplikasi Pengingat Shalat ini adalah:

1. Membantu umat muslim khususnya pengguna Android yang memiliki

tingkat mobilitas tinggi untuk senantiasa tahu waktu shalat dan arah kiblat.

2. Membantu umat muslim untuk senantiasa melaksanakan ibadah shalat

2
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

tepat waktu dan arah kiblat yang tepat.

3. Meningkatkan pemahaman tentang struktur dan sistem kerja pada sistem

operasi Android.

1.5. Batasan Masalah

Agar dalam pengerjaan tugas akhir ini dapat lebih terarah, maka pembahasan

penulisan ini dibatasi pada ruang lingkup pembahasan sebagai berikut:

1. Sistem pewaktuan shalat hanya dapat digunakan pada sistem operasi

Android dengan memanfaatkan Global Positioning System (GPS).

2. Penunjukkan arah qiblat sesuai dengan lokasi.

3. User dapat mengatur sistem pengingat waktu shalat. Sehingga sistem dapat

menampilkan pesan pengingat ketika waktu shalat tiba.

1.6. Metode Penelitian

Metode yang digunakan dalam pembuatan Aplikasi Pewaktuan Shalat dan

menyusun laporan tugas akhir ini adalah:

1. Metode Pengumpulan Data (Data Gathering)

Mencari dan mengumpulkan data-data yang dibutuhkan dan berkaitan

dengan pembuatan Aplikasi Pewaktuan Shalat.

2. Metode Wawancara

Dilakukan terhadap ahli pewaktuan shalat dan arah kiblat.

3. Studi Kepustakaan

Studi kepustakaan seperti mempelajari buku-buku referensi yang

berhubungan dengan Android dan pewaktuan shalat untuk membantu

dalam pembuatan Aplikasi Pewaktuan Shalat. Selain itu juga mempelajari

3
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

web-web referensi seputar hal yang sama untuk membantu dalam

penyajian informasi yang akan ditampilkan.

4. Merancang dan Mengimplementasi

Merancang dan mengimplementasi Aplikasi yang akan dikembangkan

agar sesuai dengan yang diharapkan.

1.7. 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, rumusan masalah, tujuan dan

manfaat, batasan masalahh, metodologi dan sistematika penulisan

laporan.

BAB II LANDASAN TEORI

Bab ini menguraikan tentang teori yang berhubungan dengan judul

tugas akhir, seperti penentuan waktu shala berserta

perhitungannya, penentuan arah kiblat sesuai dengan lokasi berada,

dan hal-hal terkait mengenai android.

BAB III ANALISIS DAN PERANCANGAN APLIKASI PENGINGAT

SHALAT

Bab ini menjelaskan mengenai analisa aplikasi pengingat shalat

dan perancangan yang dilakukan untuk membangun aplikasi.

BAB 4 IMPLEMENTASI APLIKASI PENGINGAT SHALAT

4
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Pada bab ini menjelaskan bentuk implementasi rancang bangun

aplikasi yang meliputi isi, serta keterangan-keterangan dari aplikasi

beserta pengujiannya.

BAB V KESIMPULAN DAN SARAN

Pada bagian ini dijelaskan mengenai kesimpulan dan saran guna

memperbaiki kelemahan yang terdapat pada aplikasi tersebut.

2. Landasan Teori

2.1. Shalat

2.1.1. Pengertian Shalat

Shalat menurut bahasa berarti doa. Menurut Istilah ahli fiqih berarti:

Perbuatan (gerak), dan perkataan yang dimulai dengan takbir dan diakhiri dengan

salam dengan syarat-syarat tertentu. Shalat merupakan ibadah yang paling

fundamental dalam Islam. Khususnya Shalat Fardhu lima kali sehari semalam

yang tak boleh ditinggalkan. [Tuntunan Shalat lengkap dan benar, Dra. Neni

Nuraeni, M.Ag, Mutiara Media]

Menurut syariat Islam, praktik shalat harus sesuai dengan segala petunjuk

tata cara Rasulullah SAW sebagai figur penyampai perintah Allah. Nabi

Muhammad telah memberikan peringatan keras kepada orang yang suka

meninggalkan shalat, diantaranya beliau bersabda: “Perjanjian yang memisahkan

kita dengan mereka adalah Shalat. Barang siapa yang meninggalkan shalat,

berarti dia telah kafir”, Hadist riwayat Imam Ahmad dan Tirmidzi.

5
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

2.1.2. Waktu Shalat - Shalat Fardhu

Untuk pelaksanaan ibadah shalat, semuanya diatur dan tertuang dalam Kitab

Suci Al-Qur'an dan Hadist Nabi Muhammad SAW. Mengenai waktu shalat fardhu

nabi bersabda dalam sebuah hadist sebagai berikut:

Dari Jabir bin Abdullah meriwayatkan " Malaikat Jibril datang kepada Nabi

SAW lalu berkata: "Marilah shalat". Lalu ia melakukan shalat zhuhur di waktu

matahari telah condong (tergelincir). Kemudian Jibril datang kepada Nabi di

waktu Asar lalu berkata: "Marilah shalat". Lalu ia shalat Asar di waktu

bayangan tiap-tiap sesuatu jadi sama panjangnya dengan keadaan dirinya.

Kemudian Jibril datang kepada Nabi S.A.W di waktu maghrib lalu berkata:

"Marilah shalat" lalu ia shalat Maghrib di waktu matahari telah masuk

(terbenam). Kemudian Jibril datang kepada Nabi S.A.W di waktu Isya lalu

berkata: "Marilah shalat". Lalu ia shalat Isya lalu berkata; "Marilah shalat".

Lalu ia shalat Isya di waktu telah hilang tanda merah di tempat matahari

terbenam. Kemudian Jibril datang kepada Nabi S.A.W di waktu fajar lalu

berkata: "Marilah shalat" Lalu ia shalat Fajar (subuh) di waktu fajar telah terbit.

Kemudian Jibril datang kepada Nabi S.A.W pada esok harinya lagi di waktu

zuhur lalu berkata: "Marilah shalat". Lalu ia shalat zuhur, di waktu bayangan

tiap-tiap sesuatu itu jadi sama panjangnya dengan keadaan dirinya. Kemudian

Jibril datang kepada Nabi S.A.W di waktu Asar lalu berkata: "Marilah shalat".

Lalu ia shalat di waktu Asar, di waktu bayangan tiap-tiap sesuatu itu jadi dua

kali panjang daripada dirinya. Kemudian Jibril datang kepada Nabi S.A.W di

6
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

waktu maghrib yang sama waktunya dengan kemarin, lalu ia shalat maghrib.

Kemudian jibril datang kepada Nabi S.A.W di waktu Isya, sehabis tengah malam,

lalu berkata: "marilah shalat". Lalu ia shalat Isya. Kemudian Jibril datang

kepada Nabi pada waktu telah terang cuaca (sebelum terbit matahari). Lalu

berkata: "Marilah shalat". Lalu ia shalat fajar. Kemudian Jibril berkata: Antara

dua waktu itulah waktu bagi tiap-tiap shalat." (Hadist Riwayat: Ahmad, Tirmidzi,

Nasa'i, Ibnu Hibban dan Hakim)

Hadits di atas memberikan penjelasan mengenai awal dan akhir waktu

shalat, yaitu berdasarkan pergerakkan matahari, baik di atas ufuk (horison)

maupun dampak pergerakkan matahari di bawah ufuk. Efek pergerakkan matahari

diantaranya adalah berubahnya panjang bayangan benda, terbit dan terbenamnya

matahari, munculnya mega merah di waktu fajar dan berakhirnya mega merah di

malam hari. [Dr. Rinto Anugraha, Eramuslim, 21 Oktober 2009.

http://www.eramuslim.com/syariah/ilmu-hisab/waktu-waktu-shalat.htm]

Dapat diambil kesimpulan berdasarkan hadits Rasulullah mengenai waktu shalat

adalah sebagai berikut:

1. Zhuhur

Waktu zhuhur dimulai saat pertengahan hari, yaitu ketika matahari

melewati garis meridian (lingkaran besar langit yang menghubungkan

utara dan selatan). Saat melewati garis meridian, ada tiga kemungkinan

azimuth matahari (dihitung dari arah utara). Pertama, azimuth matahari = 0

derajat, yaitu ketika matahari melewati garis meridian, posisinya di

7
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

belahan langit utara. Kedua, azimuth – 180 derajat, ketika posisinya di

belahan langit selatan. Ketiga, azimuthnya tidak dapat ditentukan, ketika

posisinya benar-benar tepat di zenith (atas kepala) atau ketinggiannya

tepat 90 derajat. Waktu zhuhur berakhir saat datangnya waktu shalat ashar.

2. Ashar

Berdasarkan hadits di atas, ada dua pendapat mengenai kapan datangnya

waktu shalat ashar. Ini berkaitan dengan bayangan benda yang ditegakkan

di atas tanah. Menurut mazhab Hanafi, waktu shalat Ashar adalah ketika

panjang bayangan sama dengan dua kali tinggi benda (ditambah panjang

bayangan saat Zhuhur). Panjang bayangan pada waktu Zhuhur yang

merupakan panjang bayangan minimum ini perlu diperhitungkan, karena

sangat mungkin panjang bayangan saat Zhuhur itu lebih panjang dari

tinggi benda itu sendiri seperti tempat yang memiliki lintang tinggi. Jika

bayangan saat Ashar = Sa, bayangan saat Zhuhur = Sz dan tinggi benda=

h, 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.

3. Maghrib

Waktu shalat maghrib dimulai saat matahari terbenam (sunset). Ketika

matahari terbenam dimana posisinya di bawah ufuk, langit tidak langsung

gelap. Hal ini disebabkan adanya atmosfer bumi yang membiaskan cahaya

matahari. Karena itu, matahari harus tenggelam hingga belasan derajat di

8
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

bawah ufuk supaya tidak ada lagi cahaya matahari yang dapat dibiaskan

sehingga langit menjadi gelap. Waktu shalat maghrib berakhir saat

datangnya waktu shalat Isya'.

4. Isya'

Waktu shalat Isya' dimulai saat langit gelap, atau berakhirnya mega merah

(astronomical twilight) di langit barat. Waktu Isya' berakhir saat datangnya

waktu shubuh.

5. Shubuh

Waktu shubuh dimulai ketika munculnya fajar (shidiq) atau cahaya secara

merata di langit timur. Meskipun saat itu matahari masih belasan derajat di

bawah ufuk, namun akibat pembiasan atmosfer cahaya matahari dapat

dibiaskan sehingga langit tidak lagi gelap. Beberapa catatan mengenai

penentuan waktu Isya' dan Shubuh disajikan pada catatan di bawah. Waktu

shubuh berakhir saat matahari terbit.

Sebelum manusia menemukan ilmu hisab/perhitungan falak/astronomi, pada

zaman Rasulullah waktu shalat yang telah disebutkan ditentukan berdasarkan

observasi terhadap gejala alam dengan melihat langsung matahari. Lalu

berkembang dengan dibuatnya jam Surya atau Jam Matahari serta Jam Istiwa atau

sering disebut Tongkat Istiwa dengan kaidah bayangan matahari.

9
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

2.1.3. Menghitung Waktu Shalat

Seiring dengan perkembangan ilmu pengetahuan para ahli astronomi

berusaha membuat rumus waktu shalat berdasarkan konsep posisi matahari

disuatu daerah, dengan melihat berdasarkan geografis dan ketinggian suatu tempat

di permukaan bumi. Sehingga dengan adanya rumusan matematika ini dapat

ditentukan posisi matahari tanpa harus melihat secara langsung dimana matahari

berada. Untuk menentukan waktu lima shalat wajib di suatu tempat pada tanggal

tertentu, ada beberapa parameter yang mesti diketahui:

1. Koordinat lintang tempat tersebut (L) atau altidude. 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

10
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

dan tahun selanjutnya di hitung nilai Julian Day (JD). Dengan rumus

sebagai berikut:

JD = 1720994,5 + INT(365,25 * Y) + INT(30,6001(M + 1)) + B + D +

12/24

Ket:

INT : Lambang nilai integer (bilangan bulat)

Jika M>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)

Ket:

11
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

T adalah Sudut tanggal, dengan rumus, T = 2 * PI * (JD – 2451545) /

365,25

7. Equation of Time (ET). Equation of Time untuk satu tanggal 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

Ket:

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

12
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

beberapa pendapat mengenai nilai altitude matahari seperti tampak pada

tabel 2.1.

Organisasi Sudut Subuh Sudut Isya Regional


Indonesia 20 derajat 18 derajat
Universitas Sience 18 derajat 18 derajat Pakistan,
Islam, Karaci Bangladessh, India,
Afghanistan,
sebaian 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- 18.5 derajat 18 Semenanjung Arab
Qura
Mesir 19.5 derajat 17.5 derajat Afrika, Siria, Iraq,
Libanon, Malaysia,
Sebagian Amerika
9. Tetapan panjang bayangan Ashar, dalam hal ini terdapat dua pendapat

berbeda. Pendapat madzhab Imam Syafi'i menyatakan panjanga bayangan

benda saat Ashar adalah tinggi benda ditambah panjang bayangan saat

Zhuhur. Sementara madzhab Imam Hanafi menyatakan panjang bayangan

benda saat Ashar sama dengan dua kali tinggi benda ditambah panjang

bayangan saat Zhuhur.

Setiap parameter sangat menentukan datangnya waktu shalat, bila salah satu

parameter kurang akurat maka ketepatan datangnya waktu shalat akan sebanding.

Waktu shalat dapat ditentukan dengan menggunakan rumus-rumus pergerakkan

matahari dengan tepat. Berikut adalah rumus waktu shalat.

13
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

a. Shubuh = waktu zhuhur – (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 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, MA sama dengan 1

untuk mazhab imam Syafi'i dan MA sama dengan 2 untuk Mazhab imam

Hanafi.

d. Magrib = waktu zhuhur + (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)))

2.2. Kiblat

2.2.1. Pengertian Kiblat

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

14
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

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

Jerusalem di Palestina, namun pada tahun 624 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.

[http://rukyatulhilal.org/]

2.2.2. Menentukan Arah Kiblat

2.2.2.1. Koordinat Posisi Geografis

Bola (sphere) adalah benda tiga dimensi yang unik dimana jarak antara

setiap titik di permukaan bola dengan titik pusatnya selalu sama. Karena bumi

sangat mirip dengan bola, maka cara menentukan arah dari satu tempat (misalnya

masjid) ke tempat lain (misalnya 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

15
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

semua titik yang memiliki lintang nol terletak pada garis ekuator (khatulistiwa).

Bujur timur terletak di sebelah timur Greenwich, sedangkan bujur barat terletak di

sebelah barat Greenwich. Sesuai kesepakatan umum, bujur timur bernilai positif,

sedangkan bujur barat bernilai negatif. Sementara itu semua titik yang terletak di

sebelah utara ekuator disebut lintang utara, demikian juga untuk titik di selatan

ekuator disebut lintang selatan. Lintang utara bernilai positif, sedangkan lintang

selatan bernilai negatif. [Dr. Rinto Anugraha, SEGITIGA BOLA DAN ARAH

KIBLAT, 13/04/09]

Gambar 2.1 Pembagian Bumi berdasarkan Bujur dan Lintang

2.2.2.2. Ilmu Ukur Segitiga Bola

Ilmu ukur segitiga bola atau disebut juga dengan istilah trigonometri bola

(spherical trigonometri) adalah ilmu ukur sudut bidang datar yang diaplikasikan

pada permukaan berbentuk bola yaitu dalam hal ini Bumi. Segitiga bola menjadi

16
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

ilmu andalan tidak hanya untuk menghitung arah kiblat bahkan termasuk jarak

lurus dua buah tempat di permukaan bumi.

Sebagaimana yang sudah disepakati secara umum bahwa yang disebut arah

adalah “jarak terpendek” berupa garis lurus ke suatu tempat, sehingga Kiblat juga

menunjukkan arah terpendek dari suatu lokasi ke Ka'bah. Karena bentuk bumi

yang bulat, jarak ini membentuk busur besar sepanjang permukaan bumi. Lokasi

Ka'bah berdasarkan pengukuran menggunakan Global Positioning System (GPS)

maupun menggunakan software Google Earth secara astronomi berada di 21° 25'

21.04” Lintang Utara dan 39° 50' 34.04”.

Perhitungan dan pengukuran arah qiblat dilakukan dengan derajat sudut dari

titik kutub Utara, dengan menggunakan alat bantu mesin hitung atau kalkulator.

Adapun untuk menghitung arah kiblat, ada 3 buah variabel yang diperlukan, yaitu:

1. Lokasi Ka'bah (Mekah)

2. Lokasi yang akan ditentukan arah kiblatnya.

3. Kutub utara

17
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Gambar 2.2 Segitiga Bola ABC yang menghubungkan titik A (Ka'bah), titik B (Lokasi), dan
titik C Kutub Utara

Berdasarkan ketiga variabel ini, lokasi Ka'bah dan Kutub Utara adalah dua

variabel yang tetap, sedangkan Lokasi yang akan ditentukan arah kiblat senantiasa

berubah. Bila ketiga variabel tersebut digambarkan pada permukaan bumi, maka

akan membentuk segitiga bola ABC seperti tampak pada Gambar. Dimana titik A

merupakan Lokasi Ka'bah, B Lokasi yang ditentukan arah kiblat dan titik C Kutub

Utara. Titik A (Ka'bah) memiliki koordinat bujur Ba dan lintang La. Titik B

(Lokasi) memiliki koordinat bujur Bb dan lintang Lb. Titik C memiliki lintang 90

derajat. Busur a adalah panjang busur yang menghubungkan titk B dan C. Busur b

adalah panjang busur yang menghubungkan titik A dan C. Busur c adalah panjang

busur yang menghubungkan titik A dan B. Sudut C tidak lain adalah selisih antara

bujur Ba dan bujur Bb. Jadi sudut C = Ba – Bb. Sementara sudut B adalah arah

menuju titk A (Ka'bah). Jadi arah kiblat dari titik B dapat diketahui dengan

menentukan besar sudut B.

18
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Dianggap jari-jari bumi sama dengan 1. Sudut yang menghubungkan titik di

khatulistiwa, pusat bumi dan kutub utara adalah 90 derajat. Karena lintang titik A

adalah La, maka busur b sama dengan 90 – La. Karena lintang titik B adalah Lb,

maka busur a sama dengan 90 – Lb.

2.2.2.3. Rumus Segitiga Bola

Dalam trigonometri bola, terdapat rumus-rumus standar sebagai berikut:

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( A) sin( B ) sin( C )


= =
sin( a ) sin( b) sin( c )

Dengan menggabungkan ketiga rumus di atas, diperoleh rumus sebagai berikut:

sin( C )
tan( B ) =
sin( a) cot( b) − cos( a ) cos( C )

Sesuai yang telah ditetapkan sebelumnya, C = Ba – Bb, a = 90 – Lb, b = 90 – La,

serta mengingat cos (90 – x) = sin(x), sin (90 – x) = cos(x) dan cot (90 – x) =

tan(x), maka rumus diatas menjadi:

sin( Ba − Bb )
tan( B ) =
cos( Lb ) tan( La ) −sin( Lb ) cos( Ba − Bb )

Sehingga sudut B adalah: B = arctan ( tan( B) )

19
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Azimuth arah kiblat ditujukkan oleh sudut B. Azimuth 0 derajat

menunjukkan arah utara (true north). Nilai B sangat tergantung dari pembilang

dan penyebut pada ruas kanan rumus 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 dengan 360

derajat.

• Jika x positif dan y negatif, maka tan(B) negatif yang menghasilkan 270 <

B < 360 atau -90 < B < 0.

Setelah mengetahui sudut azimuth kiblat, maka selanjutnya menentukan kutub

utara sejati (true north). Dari kutub utara sejati tersebut ditambahkan dengan nilai

azimuth yang ditemukan dengan pergerakkan searah jarum jam, sehingga

didapatkan arah kiblat pada lokasi.

20
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

2.3. Android

2.3.1. Pengertian Android

Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat

bergerak mencakup sistem operasi, middleware, dan aplikasi kunci. Android

Standart Development Kid (SDK) menyediakan perlengkapan dan Application

Programming Interface (API) yang diperlukan untuk mengembangkan aplikasi

pada platform Android menggunakan bahasa pemrograman Java.

[developer.android.com]

Android dikembangkan oleh Google bersama Open Handset Allience

(OHA) yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan

Hardware, Software dan perusahaan telekomunikasi ditujukan untuk

mengembangkan standar terbuka bagi perangkat selular.

2.3.2. Sejarah dan Perkembangan Android

Pada mulanya terdapat berbagai macam sistem operasi pada perangkat

selular, diantaranya sistem operasi Symbian, Microsoft Windsos Mobile, Mobile

Linux, iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi yang

ada belum mendukung standar dan penerbitan API yang dapat dimanfaatkan

secara keseluruhan dan dengan biaya yang murah. Kemudian Google ikut

berkecimpung didalamnya dengan platform Android, yang menjanjikan

keterbukaan, keterjangkauan, open source, dan framework berkualitas.

Pada tahun 2005, Google mengakuisisi perusahaan Android Inc. untuk

memulai pengembangan platform android. Dimana terlibat dalam pengembangan

ini Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007

21
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

sekelompok pemimpin industri bersama-sama membentuk aliansi perangkat

selular terbuka, Open Handset Alliance (OHA). Bagian dari tujuan aliansi ini

adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan

lebih baik, dengan produk awalnya adalah platform Android. Dimana Android

dirancang untuk melayani kebutuhan operator telekomunikasi, manufaktur

handset, dan pengembang aplikasi. OHA berkomitmen untuk membuat android

open source dengan lisensi Apache versi 2.0. [Sayed Y. Hashimi and Satya

Komatineni, Pro Android, Apress, USA 2009]

Android pertama kali diluncurkan pada 5 November 2007, dan smartphone

pertama yang menggunakan sistem operasi android dikeluarkan oleh T-Mobile

dengan sebutan G1 pada bulan September 2008. Hingga saat ini android telah

merilis beberapa versi android untuk menyempurnakan versi sebelumnya. Selain

berdasarkan penomoran, pada setiap versi android terdapat kode nama

berdasarkan nama-nama kue. Hingga saat ini sudah terdapat beberapa versi yang

telah diluncurkan, diantaranya: versi 1.5 dirilis pada 30 April 2009 diberi nama

Cupcake, versi 1.6 dirilis pada 15 September 2009 diberi nama Donut, dan versi

terakhir 2.0 dirilis pada 26 Oktober 2009 diberi nama Éclair.

2.3.3. Anatomi Android

Dalam paket sistem operasi android tediri dari beberapa unsur seperti

tampak pada gambar 2.3. Secara sederhana arsitektur android merupakan sebuah

kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang

menyediakan dan mengatur alur proses aplikasi.[Google IO, Android Anatomy

and Physiology]

22
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Gambar 2.3 Detail Anatomi Android

2.3.3.1. Linux Kernel

Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android

bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki

oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam

manajemen memori dan proses. Oleh karenanya pada android hanya terdapat

beberapa servis yang diperlukan seperti keamanan, manajemen memori,

manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,

kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess

Communication) untuk mengatur aplikasi dan lubang keamanan.

23
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

2.3.3.2. 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. Beberapa pustaka diantaranya:

• Media Library untuk memutar dan merekam berbagai macam format

audio dan video.

• Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.

• Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan

2D dan 3D.

• SQLite untuk mengatur relasi database yang digunakan pada aplikasi.

• SSl dan WebKit untuk browser dan keamanan internet.

Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya

dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android

1.5, pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan

Native Development Toolkit (NDK).

2.3.3.3. Android Runtime

Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi

android. Inilah yang membedakan Android dibandingkan dengan sistem operasi

lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin

virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket

pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama,

diantaranya:

24
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

• Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java,

tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android

menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta

beberapa pustaka khusus android.

• Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang

dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah

perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin

virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex).

Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan

dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di

atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan

manajemen memori yang terbatas. [Nicolas Gramlich, Andbook,

anddev.org]

2.3.3.4. Application Framework

Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk

mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik

untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber

daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai

berikut [Hello Android 2nd Edition]:

1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan

menjaga keadaan ”Backstack“ untuk navigasi penggunaan.

2. Content Providers, berfungsi untuk merangkum data yang memungkinkan

digunakan oleh aplikasi lainnya, seperti daftar nama.

25
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

3. Resuource Manager, untuk mengatur sumber daya yang ada dalam

program. Serta menyediakan akses sumber daya diluar kode program,

seperti karakter, grafik, dan file layout.

4. Location Manager, berfungsi untuk memberikan informasi detail

mengenai lokasi perangkat android berada.

5. Notification Manager, mencakup berbagai macam peringatan seperti,

pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status

bar.

2.3.3.5. Application Layer

Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget.

Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika

menjalankan program. Pengguna hanya akan melihat program ketika digunakan

tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan

dalam Android runtime dengan menggunakan kelas dan service yang tersedia

pada framework aplikasi.

Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem

operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun

aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan

pustaka API (Application Programming Interface) yang sama.

2.3.4. 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

26
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

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 [developer.android.com].

Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi

ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk

bagian itu. Oleh karenanya android berbeda dari sistem-sistem lain, Android tidak

memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain.

Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem

untuk memanggil dan menjalankan ketika dibutuhkan.

2.3.4.1. Activities

Activity merupakan bagian yang paling penting dalam sebuah aplikasi,

karena Activity menyajikan tampilan visual program yang sedang digunakan oleh

pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk

menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap

Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada

activity yang pertama kali tampil ketika aplikasi dijalankan.

Perpindahan antara activity dengan activity lainnya diatur melalui sistem,

dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh

posisinya 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

27
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

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 [Reto Meier, Profesional Android

Application Development, Wiley Publishing, Canada, 2009]:

1) Active, setiap activity yang berada ditumpukan paling atas, maka dia akan

terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan

berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup

dengan segala cara, bahkan akan menghentikan activity yang berada

dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka

yang lainnya akan dihentikan sementara.

2) Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus

pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity

transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan

paused, dia terlihat active namun tidak dapat menerima masukkan dari

pengguna. Dalam kasus ekstrim, android akan menghentikan activity

dalam keadaan paused ini, untuk menunjang sumber daya bagi activity

yang sedang aktif.

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

28
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah

keluar atau ditutup, maka dia akan menjadi inactive.

4) Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan.

Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu

restart ulang agar dapat tampil dan digunakan kembali.

Kondisi transisi ini sepenuhnya ditangani oleh manajer memori android.

Android akan memulai menutup aplikasi yang mengandung activity inactive,

kemudian stopped activity, dan dalam kasus luar biasa paused activity juga akan

di tutup.

2.3.4.2. Services

Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di

background untuk waktu yang tidak terbatas. Komponen service diproses tidak

terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan

untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika

Activity tidak aktif atau tidak tampak.

2.3.4.3. Intents

Intens merupakan sebuah mekanisme untuk menggambarkan tindakan

tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya.

Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan

oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan

masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin

menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh

Intents tersebut.

29
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

2.3.4.4. Broadcast Receivers

Broadcast Receivers merupakan komponen yang sebenarnya tidak

melakukan apa-apa kecuali menerima dan bereaksi menyampaikan

pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, 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.

2.3.4.5. Content Providers

Content Providers digunakan untuk mengelola dan berbagi database. Data

dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain

yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan

antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika

sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam

penerapannya.

2.3.5. Tipe Aplikasi Android

Terdapat tiga kategori aplikasi pada android [Reto Meier, Profesional Android

Application Development, Wiley Publishing, Canada, 2009] :

1. Foreground Activity

Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap

efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti

30
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

mempertimbangkan siklus hidup activity, sehingga perpindahan antar

activity dapat berlangsung dengan lancar.

2. Background Service

Aplikasi yang memiliki interaksi terbatas dengan user, selain dari

pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada

layar. Contohnya aplikasi penyaringan panggilan atau sms auto respon.

3. Intermittent Activity

Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna,

namun sebagian sangat efektif jika dijalankan di background dan jika

diperlukan akan memberi tahu pengguna tentang kondisi tertentu.

Contohnya pemutar musik.

Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori

aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh

karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan

menentukan kategori aplikasi yang sesuai.

2.3.6. Siklus Hidup Aplikasi Android

Siklus hidup aplikasi android dikelola oleh sistem, berdasarkan kebutuhan

pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin

menjalankan browser web, pada akhirnya sistem yang akan menentukan

menjalankan aplikasi. 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

31
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

prioritas rendah akan ditutup. [Sayed . Y. Hashimi and Satya Komatineni, Pro

Android, Apress, USA 2009]

Android menjalankan setiap aplikasi dalam proses secara terpisah, yang

masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi

penggunaan memori pada aplikasi. Selain itu juga android dapat mengontrol

aplikasi mana yang layak menjadi prioritas utama. Karenanya android sangat

sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya

penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar 2.4

menunjukkan prioritas dari aplikasi.

32
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Active process Critical Priority

Visible process

High Priority

Started service
process

Background
process

Low Priority

Empty process

Gambar 2.4 Prioritas aplikasi berdasarkan activity

2.3.7. Kelebihan Android

Sudah banyak platform untuk perangkat selular saat ini, termasuk

didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile

Edition, Linux Mobile (LiM0), dan banyak lagi. Namun ada beberapa hal yang

menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul

sebelumnya pada platform lain, Android adalah yang pertama menggabungkan hal

33
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

seperti berikut [Ed Burnette, Hello Android 2nd Edition,

usa 2009]:

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.

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 suarat terbaik, dengan adanya dukungan 2D grafis

dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan

OpenGL memungkinkan membuat aplikasi maupun game yang berbeda.

34
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

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.

3. Analisis dan Perancangan

Pada bab ini akan menjelaskan analisis sistem yang akan dikembangkan.

Sistem aplikasi pengingat shalat ini diberi nama eShalat, yang selanjutnya akan

disebut dengang eShalat.

3.1. Analisis Kebutuhan eShalat

Analisis sistem adalah penguraian dari suatu sistem yang utuh kedalam

bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan

mengevaluasi permasalahan.

3.1.1. Daftar Fungsional

Daftar Fungsional merupakan paparan mengenai fitur-fitur yang akan

dimasukkan kedalam eShalat. 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 berdasarkan posisi pengguna

dengan bantuan acelometer.

35
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

3. Terdapat pilihan pengaturan reminder yang berfungsi untuk

mengingatkan waktu shalat.

4. Terdapat pilihan pengaturan metode perhitungan waktu shalat

sesuai yang diinginkan pengguna.

5. Terdapat dua pilihan pengaturan penentuan waktu shalat Ashar

berdasarkan mazhab yang dianut pengguna.

6. Terdapat tampilan widget jadwal shalat, yang dapat digunakan

pada tampilan Home perangkat android pengguna.

3.1.2. Performansi eShalat

eShalat merupakan aplikasi yang berjalan di lingkungan sistem operasi

android. Terdapat beberapa keterbatasan-keterbatasan yang ditemui pada

perangkat berbasiskan android. Sehingga perlu diperhatikan guna menjadi acuan

dalam pengembangan eShalat, 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.

36
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Dari kendala-kendala yang dihadapi, maka diusulkan beberapa alternatif

untuk meningkatkan performa aplikasi dengan kendala yang dihadapi,

diantaranya:

a. Merancang aplikasi dengan penggunaan memori seefektif mungkin,

sehingga tidak menganggu siklus android dan aplikasi lain.

b. Merancang aplikasi dengan pemanfaatan sumber daya seefisien mungkin

namun tidak mengurangi fungsi dan performa aplikasi.

c. Merancang aplikasi dengan antar muka yang sederhana namun tetap

menarik dan ramah bagi pengguna.

3.1.3. Use Case Diagram

3.2. Perancangan eShalat

Perancangan dilakukan untuk menggambarkan, merencanakan, dan

membuat sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam

satu kesatuan yang utuh dan berfungsi. 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. Yang dimaksud semua user adalah bahwa tidak hanya seorang ahli saja yang

dapat menggunakan aplikasi ini, namun orang awam pun dapat menggunakannya.

37
Laporan Tugas Akhir
Muhammad Amiral
Institut Teknologi Indonesia

Selain itu beberapa hal yang harus diperhatikan antara lain adalah kinerja program

yang baik dalam mengoperasikan aplikasi yang dibuat.

3.2.1. Kelas Diagram

3.2.2. Perancangan Navigasi

3.2.3. Perancangan User Interface

3.3. Analisis Terhadap Sistem Yang Berjalan

Analisis sistem yang sedang berjalan dilakukan dengan cara mengamati

secara langsung sistem operasi android dan perangkatnya. Pada Sub bab ini akan

menjelaskan beberapa permasalahan

3.4. Analisis Sistem Aplikasi Pengingat Shalat

Disini di jabarkan analisa sistem.

4. Implementasi Aplikasi Pengingat Shalat

Penulisan Kode Program (Coding)

Inisialisasi Konfigurasi Pengguna

Perhitungan Waktu Shalat

Menampilkan Waktu Shalat

Pengingat Waktu Shalat

38

You might also like