Lewati ke konten utama

QBPrayerTime

Kelas utama untuk menghitung jadwal salat harian berdasarkan tanggal dan koordinat geografis.

QBPrayerTime prayer = new QBPrayerTime();

getPrayerTimes​

Menghitung jadwal salat berdasarkan tanggal dan lokasi.

ArrayList<String> getPrayerTimes(Calendar date, double latitude, double longitude, double elevation, double timeZone)

Parameters​

NameTypeDescription
dateCalendarTanggal perhitungan
latitudedoubleKoordinat lintang lokasi
longitudedoubleKoordinat bujur lokasi
elevationdoubleKetinggian dalam meter
timeZonedoubleZona waktu (contoh: 7 untuk WIB)

Returns​

ArrayList<String> dengan urutan indeks:

IndexWaktu Salat
[0]Fajr (Subuh)
[1]Sunrise (Syuruq)
[2]Dhuhr (Dhuhur)
[3]Asr (Asar)
[4]Sunset
[5]Maghrib
[6]Isha (Isya)

Example​

Calendar cal = Calendar.getInstance();
ArrayList<String> times = prayer.getPrayerTimes(cal, -6.2, 106.8, 0, 7);

String fajr = times.get(0); // "04:35"
String maghrib = times.get(5); // "18:02"

setCalcMethod​

Mengatur metode perhitungan jadwal salat.

void setCalcMethod(int method)

Method Options​

MethodIDDescription
getKemenag()1Kementerian Agama RI
getKarachi()2University of Islamic Sciences, Karachi
getISNA()3Islamic Society of North America
getMWL()4Muslim World League
getMakkah()5Umm Al-Qura, Makkah
getEgypt()6Egyptian General Authority of Survey
getCustom()0Pengaturan kustom

Example​

prayer.setCalcMethod(prayer.getMWL());
Rekomendasi untuk Indonesia

Gunakan getKemenag() untuk hasil yang sesuai dengan standar jadwal salat resmi Indonesia.


setAsrJuristic​

Memilih mazhab untuk perhitungan waktu Asar.

void setAsrJuristic(int juristic)

Options​

MethodIDDescription
getShafii()0Mazhab Syafi'i (umum di Indonesia)
getHanafi()1Mazhab Hanafi

Example​

prayer.setAsrJuristic(prayer.getShafii());

setTimeFormat​

Mengatur format tampilan waktu.

void setTimeFormat(int time)

Options​

MethodIDContoh Output
getTime24()0"04:35"
getTime12()1"4:35 AM"
getTime12NS()2"4:35" (tanpa AM/PM)

Example​

prayer.setTimeFormat(prayer.getTime24());

detectDaylightSaving​

Mendeteksi dan menerapkan penyesuaian daylight saving time (DST) secara otomatis.

void detectDaylightSaving()

Example​

prayer.detectDaylightSaving();
info

Berguna untuk negara yang menerapkan DST seperti Amerika Serikat, Eropa, dan Australia.


setAdjustHighLats​

Penyesuaian waktu salat untuk wilayah lintang tinggi (Skandinavia, Kanada, Rusia, dll).

void setAdjustHighLats(int time)
Kapan digunakan?

Gunakan method ini ketika getPrayerTimes() mengembalikan nilai NaN untuk Dhuhr, Isha, atau Maghrib.

Options​

MethodIDDescription
getNone()0Tidak ada penyesuaian
getMidNight()1Dibagi proporsional dari tengah malam
getOneSeventh()2Menggunakan 1/7 dari durasi malam
getAngleBased()3Menggunakan sudut dibagi 60 (direkomendasikan)

Example​

prayer.setAdjustHighLats(prayer.getAngleBased());

tune​

Menambahkan offset waktu (dalam menit) pada setiap waktu salat.

void tune(int[] offsets)

Order array: { Fajr, Sunrise, Dhuhr, Asr, Sunset, Maghrib, Isha }

Example​

// Tambah 2 menit ke Fajr, kurangi 1 menit dari Isha
int[] offsets = {2, 0, 0, 0, 0, 0, -1};
prayer.tune(offsets);

Contoh Konfigurasi Lengkap​

QBPrayerTime prayer = new QBPrayerTime();

prayer.setCalcMethod(prayer.getKemenag());
prayer.setAsrJuristic(prayer.getShafii());
prayer.setTimeFormat(prayer.getTime24());
prayer.detectDaylightSaving();

int[] offsets = {0, 0, 0, 0, 0, 0, 0};
prayer.tune(offsets);

Calendar cal = Calendar.getInstance();
ArrayList<String> times = prayer.getPrayerTimes(cal, -6.2, 106.8, 0, 7);