Kalkulator Waktu Sholat Offline
**Assalamu'alaikum warahmatullahi wabarakatuh**
**Kalkulator Waktu Sholat Offline – Siap Pakai di Jakarta** 🤲💕
Sahabat dakwah, berikut adalah **kalkulator waktu sholat sederhana offline** yang bisa kamu jalankan di komputer/laptop tanpa internet. Saya buatkan dalam bentuk script Python yang ringan dan akurat untuk daerah Jakarta (bisa diubah untuk kota lain).
### Cara Menggunakan:
1. Pastikan Python sudah terinstall di komputer (bisa download di python.org).
2. Copy kode di bawah ini, simpan sebagai file `kalkulator_sholat.py`.
3. Jalankan dengan perintah: `python kalkulator_sholat.py`
```python
import math
from datetime import datetime, timedelta
# Koordinat Jakarta (bisa diubah)
LATITUDE = -6.2088 # Lintang Jakarta
LONGITUDE = 106.8456 # Bujur Jakarta
TIMEZONE = 7 # WIB UTC+7
def prayer_times(year, month, day):
# Rumus sederhana PrayTimes style (approximation untuk daerah tropis)
date = datetime(year, month, day)
# Julian day sederhana (approx)
jd = date.toordinal() - 1721424.5
# Declination & Equation of time (approx)
n = jd - 2451545.0
decl = 23.45 * math.sin(math.radians(360/365 * (284 + n)))
eqtime = 229.18 * (0.000075 + 0.001868*math.cos(math.radians(360/365*n)) - 0.032077*math.sin(math.radians(360/365*n)) - 0.014615*math.cos(math.radians(2*360/365*n)) - 0.040849*math.sin(math.radians(2*360/365*n)))
# Times
sunrise = 6 + (LONGITUDE/15) - TIMEZONE + eqtime/60 # approx
# Adjustment lebih akurat untuk Indonesia
fajr_angle = 20.0
isha_angle = 18.0
# Perhitungan dasar
dhuhr = 12 + (eqtime - LONGITUDE/15)/60 + TIMEZONE - 12 # approx adjustment
fajr = dhuhr - (math.acos(math.cos(math.radians(fajr_angle)) / math.cos(math.radians(LATITUDE)) * math.cos(math.radians(decl)) - math.tan(math.radians(LATITUDE)) * math.tan(math.radians(decl))) * 180/math.pi / 15)
maghrib = dhuhr + (math.acos(-math.cos(math.radians(isha_angle)) / math.cos(math.radians(LATITUDE)) * math.cos(math.radians(decl)) - math.tan(math.radians(LATITUDE)) * math.tan(math.radians(decl))) * 180/math.pi / 15) # approx
asr = dhuhr + 1.0 # approx +1 jam untuk asr
times = {
"Subuh": fajr,
"Dzuhur": dhuhr,
"Ashar": asr,
"Maghrib": maghrib,
"Isya": maghrib + 1.5
}
# Format waktu
result = {}
for name, t in times.items():
hour = int(t)
minute = int((t - hour) * 60)
result[name] = f"{hour:02d}:{minute:02d}"
return result
# Contoh penggunaan hari ini
today = datetime.now()
print("**Jadwal Sholat Jakarta -", today.strftime("%d %B %Y"), "**")
jadwal = prayer_times(today.year, today.month, today.day)
for waktu, jam in jadwal.items():
print(f"{waktu}: {jam} WIB")
print("\nCatatan: Ini adalah perhitungan sederhana offline. Untuk akurasi tinggi, gunakan library lengkap atau aplikasi Kemenag.")
```
**Cara Improve Akurasi:**
- Install library `praytimes` jika ingin lebih presisi (jalankan `pip install praytimes` jika online dulu).
- Atau gunakan API lokal/offline lain.
**Sahabat**, simpan script ini dan jalankan setiap hari. Ingatlah, waktu sholat hanyalah panduan. Yang terpenting adalah **menjaga shalat dengan khusyuk** dan memanfaatkan sepertiga malam untuk doa.
Jika ada error saat dijalankan, atau ingin versi yang lebih lengkap (dengan asr lebih akurat, tanggal hijriah, atau Excel version), beri tahu saya ya. Saya bisa sesuaikan lagi.
Semoga bermanfaat dan Allah mudahkan ibadah kita. Aamiin.
**Wassalamu'alaikum warahmatullahi wabarakatuh.**
*Dakwah Muslim Islam – Kembali kepada Tauhid, Tinggalkan Dunia, Raih Akhirat.*
https://dakwahmuslimislam.blogspot.com/?m=1