Akurasi & Metode
Bagaimana Islamic Time Engine menghitung waktu salat, metode perhitungan yang didukung, aturan lintang tinggi, dan metode konversi Hijriah.
Engine ini adalah implementasi clean-room dalam Go yang dibangun di atas efemeris matahari berpresisi tinggi. Target akurasinya ±30 detik dibanding algoritma referensi dan < 1 menit dibanding jadwal resmi yang dipublikasikan.
Presisi matahari
Dua mode tersedia melalui parameter precision:
| Mode | Algoritma | Penggunaan |
|---|---|---|
standard (default) | NOAA presisi rendah (~±1′), sangat cepat | Penggunaan sehari-hari |
high | Suku periodik Meeus + nutasi + aberasi + ΔT | Verifikasi, lokasi sensitif |
Delta-T (ΔT)
Engine menerapkan polinomial ΔT Espenak–Meeus (TT − UT). Tanpa ini, tanggal yang jauh dari masa kini akan bergeser hingga beberapa menit — ΔT menjaga hasil tetap valid pada rentang historis maupun masa depan yang luas.
Metode perhitungan
Gunakan method=<name> (tidak peka huruf besar/kecil, mengenali alias). Default-nya Kemenag.
| Method | Fajr | Isha | Catatan |
|---|---|---|---|
MWL | 18° | 17° | Muslim World League |
ISNA / NorthAmerica | 15° | 15° | |
Egypt | 19.5° | 17.5° | Egyptian General Authority |
Makkah / UmmAlQura | 18.5° | +90 min | interval setelah Magrib |
Karachi | 18° | 18° | |
Tehran | 17.7° | 14° | sudut Magrib 4.5° |
Jafari | 16° | 14° | sudut Magrib 4° |
Kemenag | 20° | 18° | Indonesia |
Singapore (MUIS) | 20° | 18° | |
JAKIM | 20° | 18° | Malaysia |
Turkey (Diyanet) | 18° | 17° | |
Dubai | 18.2° | 18.2° | |
Kuwait | 18° | 17.5° | |
Qatar | 18° | +90 min | |
Gulf | 19.5° | +90 min | |
France | 12° | 12° | UOIF |
Russia | 16° | 15° | |
MoonsightingCommittee | musiman | musiman | shafaq, lihat di bawah |
MoonsightingCommittee + shafaq
Metode ini (Syed Khalid Shaukat) memvariasikan Fajr/Isha berdasarkan lintang dan musim
alih-alih sudut tetap, serta mendukung parameter shafaq:
shafaq=general(default)shafaq=ahmer(mega merah)shafaq=abyad(mega putih)
Mazhab Asar
madhab=shafi (default; bayangan ×1, juga Maliki/Hanbali) atau madhab=hanafi (bayangan ×2).
Aturan lintang tinggi
Di dekat kutub, matahari mungkin tidak pernah mencapai sudut senja. Gunakan high_lat:
| Nilai | Perilaku |
|---|---|
none (default) | Tanpa penyesuaian (otomatis fallback di dekat kutub) |
middle_of_night | Porsi malam ½ |
seventh_of_night | Porsi malam 1/7 |
twilight_angle | Porsi malam = sudut/60 |
nearest_latitude | Hitung senja pada |lat| ≤ 48.5° |
Elevasi
Gunakan elevation (meter, −500…9000) untuk mengoreksi terbit/terbenam matahari terhadap dip pengamat.
Metode Hijriah
Endpoint calendar/convert menerima method:
| Method | Deskripsi |
|---|---|
tabular | Kalender aritmetika (Kuwaiti) — cepat, dapat berbeda ±1 hari |
umm_al_qura | Umm al-Qura Saudi |
astronomical | Berbasis konjungsi bulan (Meeus) — sangat mendekati Umm al-Qura |
Hasil aritmetika dan astronomis dapat berbeda ±1 hari dari rukyat hilal
lokal. Untuk tanggal yang cocok dengan mayoritas aplikasi global, gunakan astronomical atau umm_al_qura.
Pengantar
API publik House Muslim — Islamic Time Engine yang di-hosting sendiri ditambah Al-Qur'an, doa, dan konten harian, dihitung secara lokal dan disajikan sebagai REST API yang rapi.
Caching & Batasan
Bagaimana API publik melakukan caching terhadap respons yang deterministik, kuantisasi koordinat, dukungan ETag, dan rate limiting.