Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cahyadsn/adzan

Adzan! Islamic prayer time schedule system [main apps]
https://github.com/cahyadsn/adzan

Last synced: 5 days ago
JSON representation

Adzan! Islamic prayer time schedule system [main apps]

Awesome Lists containing this project

README

        

# Adzan!

Adzan! Islamic prayer time schedule system [main apps]

**CAUTIONS**
>
"This program does not presume to provide theologically-correct results
and it should be noted that the rules are extremely complex, especially
at high latitudes: i.e., " _when does Isha start when the sun never sets?_ "
You should consult a religious advisor for guidance in interpreting the
results of this program."

## wacana

Dalam penentuan jadwal salat, data astronomi terpenting adalah posisi matahari
dalam koordinat horizon, terutama ketinggian atau jarak zenit. Fenomena yang
dicari kaitannya dengan posisi matahari adalah fajar ( _morning twilight_ ), terbit,
melintasi meridian, terbenam, dan senja ( _evening twilight_ ). Dalam hal ini
astronomi berperan menafsirkan fenomena yang disebutkan dalam dalil agama
(Al-Qur'an dan hadits Nabi) menjadi posisi matahari. Sebenarnya penafsiran itu
belum seragam, tetapi karena masyarakat telah sepakat menerima data astronomi
sebagai acuan, kriterianya relatif mudah disatukan.

Di dalam hadits disebutkan bahwa waktu shubuh adalah sejak terbit _fajar shidiq_
(sebenarnya) sampai terbitnya matahari. Di dalam Al-Quran secara tak langsung
disebutkan sejak meredupnya bintang-bintang (Q.S. 50:40). Maka secara astronomi
fajar shidiq difahami sebagai awal _astronomical twilight_ (fajar astronomi),
mulai munculnya cahaya di ufuk timur menjelang terbit matahari pada saat
matahari berada pada kira-kira 18 derajat di bawah horizon (jarak zenit z = 108
derajat). Saaduddin Djambek mengambil pendapat bahwa fajar shidiq bila z = 110
derajat, yang juga digunakan oleh Badan Hisab dan Ru'yat Departemen Agama RI.
Fajar shidiq itu disebabkan oleh hamburan cahaya matahari di atmosfer atas. Ini
berbeda dengan apa yang disebut _fajar kidzib_ (semu) -- dalam istilah astronomi
disebut cahaya zodiak -- yang disebabkan oleh hamburan cahaya matahari oleh
debu-debu antarplanet.

Waktu dzhuhur adalah sejak matahari meninggalkan meridian, biasanya diambil
sekitar 2 menit setelah tengah hari. Untuk keperluan praktis, waktu tengah hari
cukup diambil waktu tengah antara matahari terbit dan terbenam.

Dalam penentuan waktu asar, tidak ada kesepakatan karena fenomena yang dijadikan
dasar pun tidak jelas. Dasar yang disebutkan di dalam hadits, Nabi SAW diajak
shalat asar oleh malaikat Jibril ketika panjang bayangan sama dengan tinggi
benda sebenarnya dan pada keesokan harinya Nabi diajak pada saat panjang
bayangan dua kali tinggi benda sebenarnya. Walaupun dari dalil itu dapat
disimpulkan bahwa awal waktu asar adalah sejak bayangan sama dengan tinggi benda
sebenarnya, ini menimbulkan beberapa penafsiran karena fenomena seperti itu
tidak bisa digeneralilasi sebab pada musim dingin hal itu bisa dicapai pada
waktu dhuhur, bahkan mungkin tidak pernah terjadi karena bayangan selalu lebih
panjang daripada tongkatnya. Ada yang berpendapat tanda masuk waktu asar bila
bayang-bayang tongkat panjangnya sama dengan panjang bayangan waktu tengah hari
ditambah satu kali panjang tongkat sebenarnya dan pendapat lain menyatakan harus
ditambah dua kali panjang tongkat sebenarnya. Pendapat yang memperhitungkan
panjang bayangan pada waktu dzhuhur atau mengambil dasar tambahannya dua kali
panjang tongkat (di beberapa negara Eropa) dimaksudkan untuk mengatasi masalah
panjang bayangan pada musim dingin.
Badan Hisab dan Ru'yat Departemen Agama RI menggunakan rumusan:

>
"panjang bayangan waktu asar = bayangan waktu dzhuhur + tinggi bendanya;
tan(za) = tan(zd) + 1."

Ada pendapat bahwa makna hadits itu dapat difahami sebagai waktu pertengahan
antara dhuhur dan maghrib, tanpa perlu memperhitungkan jarak zenit matahari.
Hal ini diperkuat dengan ungkapan ' _salat pertengahan_ ' dalam Al-Qur'an S. 2:238
yang ditafsirkan oleh banyak mufassir sebagai salat asar. Kalau pendapat ini
yang digunakan, waktu salat asar akan lebih cepat sekitar 10 menit dari jadwal
salat yang dibuat Departemen Agama.

Waktu maghrib berarti saat terbenamnya matahari. Matahari terbit atau berbenam
didefinisikan secara astronomi bila jarak zenith z = 90 derajat 50 menit
(90,83333333333.. derajat) ( _the Astronomical almanac_ ) atau z = 91 derajat bila
memasukkan koreksi kerendahan ufuk akibat ketinggian pengamat 30 meter dari
permukaan tanah. Untuk penentuan waktu salat maghrib, saat matahari terbenam
biasanya ditambah 2 menit karena ada larangan melakukan salat tepat saat
matahari terbit, terbenam, atau kulminasi atas.

Waktu isya ditandai dengan mulai memudarnya cahaya merah di ufuk barat, yaitu
tanda masuknya gelap malam (Al-Qur'an S. 17:78). Dalam astronomi itu dikenal
sebagai akhir senja astronomi ( _astronomical twilight_ ) bila jarak zenit matahari
z = 108 derajat

_Wallahu'alam bish shawab_

Dhuhur
0 deg
*
* *
Ashr 45 deg (practically) * * *
* * *
* * *
* * *
Maghrib 90 deg ****************************** 90 deg Sunrise
* * *
* * *
Isya 108 deg * * * 110 deg Shubuh
(18 deg from Maghrib)* * * (20 deg to Sunrise)
* * *
*

## Method List:

1- Egyptian General Authority of Survey
======================================================
Fajr Angle = 20
Ishaa Angle = 18
Shadow Ratio = 1.0
Used in: Indonesia Iraq
Jordan Lebanon
Malaysia Singapore
Syria parts of Africa
parts of United States

2- University of Islamic Sciences, Karachi (Shaf'i) *
======================================================
Fajr Angle = 18
Ishaa Angle = 18
Shadow Ratio = 1.0
Used in: Iran Kuwait
parts of Europe

3- University of Islamic Sciences, Karachi (Hanafi) *
======================================================
Fajr Angle = 18
Ishaa Angle = 18
Shadow Ratio = 2.0
Used in: Afghanistan Bangladesh
India

4- Islamic Society of North America *
======================================================
Fajr Angle = 15
Ishaa Angle = 15
Shadow Ratio = 1.0
Used in: Canada Parts of UK
parts of United States

5- Muslim World League (MWL) *
======================================================
Fajr Angle = 18
Ishaa Angle = 17
Shadow Ratio = 1.0
Used in: parts of Europe Far East
parts of United States

6- Om Al-Qurra University *
======================================================
Fajr Angle = 19
Ishaa Angle = 0 (not used)
Ishaa Interval = 90 minutes from Al-Maghrib prayer
but set to 120 during Ramadhan.
Shadow Ratio = 1.0
Used in: Saudi Arabia

7- Fixed Ishaa Angle Interval (always 90) *
======================================================
Fajr Angle = 19.5
Ishaa Angle = 0 (not used)
Ishaa Interval = 90 minutes from Al-Maghrib prayer.
Shadow Ratio = 1.0
Used in: Bahrain Oman
Qatar United Arab Emirates

## Algoritma Perhitungan Matahari Terbit/Terbenam (algo#3)
*Sumber*:

Almanac for Computers, 1990
published by Nautical Almanac Office
United States Naval Observatory
Washington, DC 20392

*Masukan*:

day, month, year : tanggal,bulan, tahun terjadinya matahari terbit/terbenam
latitude, longitude : lokasi (lintang/bujur) tempat pengamatan matahari
terbit/terbenam (Dalam derajat)
localOffset : zone waktu (dalam jam, dari Greenwitch)
zenith : Zenith matahari untuk waktu terbit/terbenam
offical = 90 derajat 50'
civil = 96 derajat
nautical = 102 derajat
astronomical = 108 derajat

**CATATAN**:

longitude bernilai positif untuk Bujur Timur dan negatif untuk Bujur Barat

Contoh kasus (dari buku):

Pengamatan pada 25 Juni 1990 , dari kota Wayne, New Jersey 40.9 derajat LU,
74.3 derajat BB, GMT -4
-> day=25
-> month=6,
-> year=1990
-> latitude = 40.9
-> longitude = -74.3
-> localOffset = -4
-> Office zenith: 90 50' -> cos(zenith) = -0.01454

1. Pertama-tama tentukan hari ke berapa tanggal 25 Juni 1990 di tahun 1990
tersebut :

N1 = floor(275 * month / 9) ...(1)
N2 = floor((month + 9) / 12) ...(2)
N3 = (1 + floor((year - 4 * floor(year / 4) + 2) / 3)) ...(3)
N = N1 - (N2 * N3) + day - 30 ...(4)

**Perhitungan**:

N1 = 183
N2 = 1
N3 = 1 + floor((1990 - 4 * 497 + 2) / 3)
= 1 + floor((1990 - 1988 + 2) / 3)
= 1 + floor((1990 - 1988 + 2) / 3)
= 1 + floor(4 / 3)
= 2
N = 183 - 2 + 25 - 30 = 176

2. Ubah longitude dari derajat ke nilai/notasi jam dan hitung waktu perkiraan

lngHour = longitude / 15 ...(5)

untuk perkiraan waktu matahari terbit gunakan:
t = N + ((6 - lngHour) / 24) ...(6a)
untuk perkiraan waktu matahari terbenam gunakan:
t = N + ((18 - lngHour) / 24) ...(6b)

**Perhitungan**:

lngHour = -74.3 / 15 = -4.953
t = 176 + ((6 - -4.953) / 24)
= 176.456
3. hitung Sun's mean anomaly

M = (0.9856 * t) - 3.289 ...(7)

**Perhitungan**:

M = (0.9856 * 176.456) - 3.289
= 170.626

4. hitung Sun's true longitude

**Catatan** :
>
"dalam penulisan untuk operasi trigonometri (sin, tan)
sudut dinyatakan dalam derajat. Dalam perhitungan dengan menggu
nakan program piranti lunak (_software_), biasanya sudut dinyakan
dalam radian. Karenanya perlu adanya konversi dari derajat ke
radian sebelum dilakukan operasi trigonometri. Sebagai contoh :
sin(170.626 deg) =sin(170.626*pi/180 radians)=0.16287]"

L = M + (1.916 * sin(M)) + (0.020 * sin(2 * M)) + 282.634 ...(8)

**catatan**:

Nilai L dimungkinkan untuk perlu dibuat dalam range [0,360)
dengan menambah/mengurangi dengan 360

**Perhitungan**:

L = 170.626 + (1.916 * sin(170.626)) + (0.020 * sin(2 * 170.626)) + 282.634
= 170.626 + (1.916 * 0.16287) + (0.020 * -0.32141) + 282.634
= 170.626 + 0.31206 + -0.0064282 + 282.634
= 453.566 - 360
= 93.566

5a. hitung right ascension Matahari ( _Sun's right ascension_ )

RA = atan(0.91764 * tan(L)) ...(9)

**catatan**:

nilai RA dimungkinkan untuk perlu dibuat dalam range [0,360]
dengan menambah/mengurangi dengan 360

**Perhitungan**:

RA = atan(0.91764 * -16.046)
= atan(0.91764 * -16.046)
= atan(-14.722)
= -86.11412

5b. menyamakan quadarant dari nilai _right ascension_ dan nilai L

Lquadrant = (floor( L/90)) * 90 ...(10)
RAquadrant = (floor(RA/90)) * 90 ...(11)
RA = RA + (Lquadrant - RAquadrant) ...(12)

**Perhitungan**:

Lquadrant = (floor(93.566/90)) * 90
= 90
RAquadrant = (floor(-86.11412/90)) * 90
= -90
RA = -86.11412 + (90 - -90)
= -86.11412 + 180
= 93.886

5c. nilai right ascension diubah ke dalam nilai/notasi jam

RA = RA / 15 ...(13)

**Perhitungan**:

RA = 93.886 / 15
= 6.259

6.hitungan deklinasi Matahari( _Suns declination_ )

sinDec = 0.39782 * sin(L) ...(14)
cosDec = cos(asin(sinDec)) ...(15)

**Perhitungan**:

sinDec = 0.39782 * sin(93.566)
= 0.39782 * 0.99806
= 0.39705
cosDec = cos(asin(0.39705))
= cos(asin(0.39705))
= cos(23.394)
= 0.91780

7a. hitung sudut jam lokal matahari (Sun's local hour angle)

cosH = (cos(zenith) - (sinDec * sin(latitude))) ...(16)
/ (cosDec * cos(latitude))
if (cosH > 1)
matahari tidak pernah terbit pada lokasi tersebut (pada tanggal yang
ditentukan)
if (cosH < -1)
matahari tidak pernah terbenam pada lokasi tersebut(pada tanggal yang
ditentukan)

**Perhitungan**:

cosH = (-0.01454 - (0.39705 * sin(40.9))) / (0.91780 * cos(40.9))
= (-0.01454 - (0.39705 * 0.65474)) / (0.91780 * 0.75585)
= (-0.01454 - 0.25996) / 0.69372
= -0.2745 / 0.69372
= -0.39570

7b. Hitung H dan ubah ke nilai/notasi jam
dalam perhitungan matahari terbit gunakan:

H = 360 - acos(cosH) ...(17a)

dalam perhitungan matahari terbenam gunakan:

H = acos(cosH) ...(17b)
H = H / 15 ...(18)

**Perhitungan**:

H = 360 - acos(-0.39570)
= 360 - 113.310 [catatan, nilai hasil acos diubah dalam derajat]
= 246.690
H = 246.690 / 15
= 16.446

8.hitung local mean time dari matahari terbit/terbenam

T = H + RA - (0.06571 * t) - 6.622 ...(19)

**Perhitungan**:

T = 16.446 + 6.259 - (0.06571 * 176.456) - 6.622
= 16.446 + 6.259 - 11.595 - 6.622
= 4.488

9.Disesuaikan kembali dengan UTC

UT = T - lngHour ...(20)

**catatan**:

UT mungkin perlu dibuat dalam range [0,24) dengan menambah/mengurangi 24

**Perhitungan**:

UT = 4.488 - -4.953
= 9.441
= 9h 26m

10.Ubah nilai UT ke local time zone dari latitude/longitude

localT = UT + localOffset ...(21)

**Perhitungan**:

localT = 9h 26m + -4
= 5h 26m
= 5:26 am EDT

## SHUBUH:
Waktu subuh (_fajar shidiq_), zenith matahari berada kurang lebih 108 derajat
(_astronomical twilight_), Saaduddin Djambek mengambil pendapat bahwa fajar shidiq
bila zenith matahari = 110 derajat, yang juga digunakan oleh Badan Hisab dan
Rukyat Departemen Agama RI.

untuk perhitungan waktu shubuh gunakan rumus:

(1),(2),(3),(4),(5),(6a),(7),(8),(9),(10)
(11),(12),(13),(14),(15),(16),(17a),(18),(19),(20),
(21)

**catatan** :

untuk perhitungan waktu subuh rumus (6a) bisa diubah menjadi :
t = N + ((5 - lngHour) / 24)
dengan perkiraan waktu shubuh pukul 5

## DHUHUR:
Waktu dzhuhur adalah sejak matahari meninggalkan meridian, biasanya diambil
sekitar 2 menit setelah tengah hari. Untuk keperluan praktis, waktu tengah
hari cukup diambil waktu tengah antara matahari terbit dan terbenam.

untuk perhitungan waktu dhuhur gunakan rumus :

(1),(2),(3),(4),(5),(6a),(7),(8),(9),(10)
(11),(12),(13),(19),(20),(21)

**catatan** :

- untuk perhitungan waktu dhuhur rumus (6a) bisa diubah menjadi :
t = N + ((12 - lngHour) / 24)
dengan perkiraan waktu dhuhur pukul 12
- zenith matahari pada saat matahari tepat di atas adalah 0 derajat, sehingga
pada rumus (19) , H=0. Pada saat matahari tepat diatas, adalah waktu terlarang
untuk melaksanakan shalat, jadi perlu penambahan 2-5 menit dari hasil
perhitungan.

## ASHAR :

Badan Hisab dan Rukyat Departemen Agama RI menggunakan rumusan:

panjang bayangan waktu asar = bayangan waktu dzhuhur + tinggi bendanya;
tan(za) = tan(zd) + 1
atau
za = atan(1+ tan(zd))

dari rumus (14) diperoleh sudut deklinasi matahari pada saat tengah hari yaitu:

decl=asin(sinDec) ... (14a)
zd=latitude-decl ... (14b)
za=atan(1+tan(zd) ... (14c)

untuk perhitungan waktu ashar gunakan rumus:

(1),(2),(3),(4),(5),(6b),(7),(8),(9),(10),
(11),(12),(13),(14),(14a),(14b),(14c),(15),
(16),(17b),(18),(19),(20),(21)

**catatan** :

- khusus untuk perhitungan (14a),(14b),(14c), gunakan hasil perhitungan
(1),(2),(3),(4),(5),(6b),(7),(8),(9),(10),(11),(12),(13),(14) untuk
waktu DHUHUR
- untuk perhitungan waktu ashar rumus (6a) bisa diubah menjadi :
t = N + ((15 - lngHour) / 24)
dengan perkiraan waktu ashar pukul 15
- zenith matahari yang digunakan pada rumus (16) adalah nilai za pada
perhitungan (14c)

## MAGHRIB:
Waktu maghrib berarti saat terbenamnya matahari. Matahari terbit atau
berbenam didefinisikan secara astronomi bila jarak zenith z = 90 derajat 50 menit
(90,83333333333.. derajat) (_the Astronomical almanac_) atau z = 91 derajat bila
memasukkan koreksi kerendahan ufuk akibat ketinggian pengamat 30 meter dari
permukaan tanah. Untuk penentuan waktu salat maghrib, saat matahari terbenam
biasanya ditambah 2 menit karena ada larangan melakukan salat tepat saat matahari
terbit, terbenam, atau kulminasi atas.

untuk perhitungan waktu maghrib gunakan rumus:

(1),(2),(3),(4),(5),(6b),(7),(8),(9),(10)
(11),(12),(13),(14),(15),(16),(17b),(18),(19),(20),
(21)

## ISYA:

Waktu isya ditandai dengan mulai memudarnya cahaya merah di ufuk barat, yaitu
tanda masuknya gelap malam (Al-Quran S. 17:78). Dalam astronomi itu dikenal
sebagai akhir senja astronomi (_astronomical twilight_) bila jarak
zenit matahari z = 108 derajat

untuk perhitungan waktu isya gunakan rumus:

(1),(2),(3),(4),(5),(6b),(7),(8),(9),(10)
(11),(12),(13),(14),(15),(16),(17b),(18),(19),(20),
(21)

**catatan**:

- untuk perhitungan waktu isya rumus (6b) bisa diubah menjadi :
t = N + ((19.5 - lngHour) / 24)
dengan perkiraan waktu isya pukul 19:30

##Keterangan :
perhitungan geometri (sin,cos,tan, dll) menggunakan sudut dalam derajat

## Disclaimer:
>
"Hasil perhitungan ini semata-mata berdasarkan disiplin ilmu astronomi yang
penulis ambil dari beberapa literatur! Oleh karena itu kami tidak mengklaim
hasil ini yang paling benar."

## References

* " ***Astronomy on the Personal Computer*** " by Oliver Montenbruck and Thomas Pfleger.
Springer Verlag 1994. ISBN 3-540-57700-9.
* " ***Prayer Schedules for North America*** ", American Trust Publications,
Indianapolis, Indiana, 1978, Appendices A and B.
* " ***Almanac for Computers*** ", 1990 published by Nautical Almanac Office
United States Naval Observatory, Washington, DC 20392
* " ***Astronomy of Islamic Times*** " by Mohammad Ilyas, 1988. ISBN 0-7201-1983-9
* " ***The Explanatory Supplement to the Astronomical Almanac*** "
P. Kenneth Seidelmann, Ed. ISBN 0-935702-68-7.
* " ***Practical Astronomy With Your Calculator*** " Patrick Duffett-Smith,
Third Edition, Cambridge University Press, ISBN 0-521-35699-7.
* " ***Astronomical Formulae for Calculators, Second Edition*** " Jean Meeus.
Willmann-Bell, Inc. 1982. ISBN 0-943396-01-8.
* Meeus, Jean. " ***Astronomical Algorithms*** ". Richmond: Willmann-Bell, 1998.
ISBN 0-943396-63-8.
* Meeus, Jean. " ***Astronomical Formulæ for Calculators, Fourth Edition*** " .
Richmond: Willmann-Bell, 1988. ISBN 0-943396-22-0.
* " ***Die Welt des Mondes*** ", R.Meißner,Frankfurt 1969 dan " ***Der Mond*** ", P. Moore,
Freiburg 1982.
* " ***Astronomish-Chronologische Tafeln*** ", oleh P. Ahnert, Leipzip, 1965.
* " ***Taschenbuch der Mathematik*** ", oleh Bronstein dan Semendjajew hal.208.
* " ***Annvaire du Bureau des Longitudes pour 1950*** ". Paris 1949. hal.145
* " ***Sterne im Computer*** " by Dr. Klaus Hempe