HISAB WAKTU SHALAT DENGAN VISUAL BASIC

HIS AB WAKT U S HALAT D ENG AN VIS UAL BAS IC
(dipresentasikan dalam acara diklat Hisab Rukyat LF PW NU Jatim)
di hotel Air Panas Alam Songgariti Kota Batu,
pada tanggal 18-19 Januari 2013

Oleh : Bashori Alwi, SHI, M .SI
A. Pen dahu luan
M atahari merupakan sumber utama dalam kehidupan manusia,
sinar cahayanya yang dikeluarkan telah memberikan kehidupan pada manusia
dibumi, disamping ia memberikan manfaat secara biologis bagi kehidupan
makhluk di bumi, ia juga dijadikan sebagai penanda waktu bagi tata
kehidupan makhluk, karena pergerakannya yang relatif tetap maka dapat
diperhitungkan melalui rumus-rumus yang diciptakan oleh pakarnya,
Setelah kita amati, matahari terbit di ufuk timur kemudian perlahan
merambat naik sampai pada pertengahan hari M atahari mencapai perjalanan
yang paling tinggi di tempat kita dan untuk selanjutny a turun perlahan ke arah
barat dan pada petang harinya terbenam di ufuk sebelah barat. Jika malam
cerah tampak bintang gemintang seakan-akan menempel di langit dan
membentuk kelompok-kelompok tertentu yang tetap dan membentuk
gambaran seperti hewan, manusia dan lainnya seperti bintang Waluku, Biduk,
Lei, Scorpion, dan lain-lain. Bintang-bintang itu bergerak dari timur ke barat.

Untuk mengamati gerak M atahari, kita tidak terlalu sulit kerena ia termasuk
benda langit yang sangat jelas untuk diamati baik dari bentukny a, geraknya
maupun posisinya, akan tetapi untuk mengetahui benda-benda langit lainnya
yang letaknya sangat jauh tidaklah semudah seperti mengetahui M atahari,
dari semua kejadian alam ini, kemudian para pakar merumuskan sebuah teori
yang dapat dijadikan pedoman peneiitian-penelitian selanjutny a, beberapa
teori yang telah disusun oleh para pakar diantaranya adalah : Geometri,
Trigonometri, Trigonometri bola, geogafi dan lain-lain.
Khusus untuk fenomena matahari, ia mendapat perlakuan khusus
dari manusia, dari sejak zaman peradaban mesir kuno, babilonia, yanani ia

jadikan penanda waktu dalam bercocok tanam, dan juga sebagai penanda
waktu pergantian musim, sampaik kemudian islam datang dengan mambawa
sy ariat yang diantara sy ari’atnya adalah mengatur kewajiban shalat bagi
ummatny a.
Shalat yang diwajibkan oleh Islam pada ummatnya telah dikaitkan
juga dengan pergerakan matahari, dari begitu pentingnya matahari sehingga
Allah bersumpah dalam firmannya demi matahari. Dalam shalat, Islam telah
mengambil lima kejadian dari fenomena matahari harian, artinya ummat
Islam wajib melakukan shalat sedikitny a 5 waktu dalam sehari semalam

dalam waktu yang telah ditentukan dimana waktu itu berkaitan dengan
pergerakan matahari.
Shalat merupakan ibadah ummat Islam yang paling utama kepada
Allah SWT. Shalat adalah salah satu rukun Islam. Shalat adalah amalan yang
pertama kali dihisab di hari akhir. Jika shalat seorang hamba itu baik, baik
pula amal lainnya, dan demikian pula sebaliknya.
Ada sejumlah ayat Al Quran yang berhubungan dengan waktu
shalat. Allah SWT berfirman, "Sesungguhnya shalat itu adalah fardhu yang
ditentukan waktunya atas orang-orang yang beriman." (An-Nisa 103).

"Dirikanlah shalat dari sesudah matahari tergelincir sampai gelap malam
dan (dirikanlah pula shalat) subuh. Sesungguhnya shalat subuh itu
disaksikan (oleh malaikat)." (Al-Isra 78)

“Dan dirikanlah sembahyang itu pada kedua tepi siang (pagi dan petang)
dan pada bahagian permulaan daripada malam. Sesungguhnya perbuatanperbuatan yang baik itu menghapuskan (dosa) perbuatan-perbuatan yang
buruk. Itulah peringatan bagi orang-orang yang ingat." (Hud 114)

"Maka sabarlah kamu atas apa yang mereka katakan, dan bertasbihlah
dengan memuji Tuhanmu, sebelum terbit matahari dan sebelum terbenamnya


dan bertasbih pulalah pada waktu-waktu di malam hari dan pada waktuwaktu di siang hari, supaya kamu merasa senang" (Thaha 130)
Adapun hadits Nabi M uhammad SAW yang berkaitan dengan
waktu shalat adalah sebagai berikut. Dari Jabir bin Abdullah meriwayatkan "
M alaikat Jibril datang kepada Nabi S.A.W lalu berkata: "M arilah shalat".
Lalu ia melakukan shalat dhuhur di waktu matahari telah condong
(tergelincir). Kemudian Jibril datang kepada Nabi di waktu Asar lalu berkata:
"M arilah 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: " M arilah Shalat" lalu ia shalat
M aghrib di waktu matahari telah masuk (terbenam). Kemudian Jibril datang
kepada Nabi S.A.W di waktu Isy a lalu berkata: "M arilah Shalat". Lalu ia
shalat Isy a lalu berkata; " M arilah shalat". Lalu ia shalat Isy a di waktu telah
hilang tanda merah - di tempat matahari terbenam. Kemudian Jibril datang
kepada Nabi S.A.W di waktu fajar lalu berkata: "M arilah 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: "M arilah
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: "M arilah 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 waktu
maghrib yang sama waktunya dengan kemarin, lalu ia shalat maghrib.
Kemudian jibril datang kepada Nabi S.A.W di waktu Isy a, sehabis tengah
malam, lalu berkata: "marilah shalat". Lalu ia shalat Isy a. Kemudian Jibril
datang kepada Nabi pada waktu telah terang cuaca (sebelum terbit matahari).
Lalu berkata: "M arilah shalat". Lalu ia shalat fajar. Kemudian Jibril berkata:
Antara dua waktu itulah waktu bagi tiap-tiap shalat." (Ahmad, Tirmidzi,
Nasa'i, Ibnu Hibban dan Hakim)
Hadits di atas memberikan penjelasan mengenai awal dan akhir
waktu shalat, yaitu berdasarkan pergerakan matahari, baik di atas ufuk

(horison) maupun dampak pergerakan matahari di bawah ufuk. Efek
pergerakan matahari diantaranya adalah berubahnya panjang bayangan benda,
terbit dan terbenamnya matahari, munculnya mega merah di waktu fajar dan
berakhirnya mega merah di malam hari.
Pada asalnya, cara menentukan waktu shalat adalah dengan
melakukan observasi / pengamatan posisi matahari. Namun dengan kemajuan
kemajuan ilmu pengetahuan, tanpa melihat posisi matahari, manusia dapat
mengetahui kapan datangnya waktu shalat.


B. Konsep Dasar Waktu S halat
Sebagaimana dijelaskan dalam hadist di atas , lima waktu dapat
dirumuskan sebagai berikut.
1. Zhu hu r
Waktu zhuhur dimulai saat pertengahan hari (noon), 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, y aitu ketika matahari melewati garis meridian, posisinya
di belahan langit utara. Kedua, azimuth = 180 derajat, ketika posisinya di
belahan langit selatan. Ketiga, azimuthny a tidak dapat ditentukan, ketika
posisinya benar-benar tepat di zenith (atas kepala) atau ketinggiannya tepat
90 derajat.
Untuk kemungkinan pertama dan kedua, sebuah benda memiliki
panjang bayangan jika terkena sinar matahari. Adapun untuk kemungkinan
ketiga, panjang bayangan sama dengan nol. Panjang bayangan saat datangnya
waktu Zhuhur ini akan berpengaruh pula pada penentuan datangnya waktu
shalat Ashar.
Waktu zhuhur berakhir saat datangnya waktu shalat ashar.

2. Ash ar
Berdasarkan hadits di atas, ada dua pendapat mengenai kapan
datangnya waktu shalat ashar. Ini berkaitan dengan bayangan benda yang
ditegakkan di atas tanah. M enurut mazhab Syafii, waktu shalat ashar adalah

ketika panjang bayangan sama dengan tinggi benda (ditambah panjang
bayangan saat Zhuhur). Sedangkan 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 di
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 Syafii dan Sa = 2*h + Sz menurut
mazhab Hanafi.
Waktu Ashar berakhir saat datangnya waktu shalat maghrib.
3. Maghr ib
Waktu shalat maghrib dimulai saat matahari terbenam (sunset). Ketika
matahari terbenam dimana posisinya di bawah ufuk, langit tidak langsun g
gelap. Hal ini disebabkan adanya atmosfer bumi yang membiaskan cahaya
matahari. Karena itu, matahari harus tenggelam hingga belasan derajat di
bawah ufuk sup aya 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 Isy a' berakhir saat datangnya waktu shubuh.
5. Sh ubuh
Waktu shubuh dimulai ketika munculnya fajar (shidiq) atau cahaya
secara merata di langit timur. M eskipun 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..
Rumu s S udut waktu :
Cos(Hour Angle) = [sin(altitude) - sin(lintang)*sin(deklinasi)] /
[cos(lintang)*cos(deklinasi)].
Waktu shalat dapat ditentukan dengan perhitungan menggunakan
rumus-rumus pergerakan matahari dengan tepat. Jika Hour Angle diketahui,
maka sudut ini dapat dikonversi ke dalam waktu. Dari rumus di atas, ada
beberapa parameter penting dalam menentukan waktu shalat untuk suatu
tempat tertentu. Pertama, koordinat lintang (latitude) suatu tempat. Kedua,

sudut deklinasi matahari yang berubah secara periodik sepanjang tahun.
Deklinasi adalah salah satu koordinat dalam sistem koordinat ekuator.
Parameter lainnya yang menentukan meskipun tidak disebutkan dalam rumus
di atas adalah koordinat bujur (longitude). Bujur suatu tempat berpengaruh
pada penentuan waktu untuk tengah hari saat matahari melewati garis
meridian setempat. Yang juga berperan penting dalam penentuan waktu untuk
tengah hari adalah apa yang disebut Equation of Time. Equation of Time
adalah selisih antara waktu saat matahari yang sesun gguhnya melewati
meridian dengan matahari fiktif yang bergerak dengan laju konstan.
Terjadinya selisih ini akibat lintasan matahari mengitari bumi yang tidak
berbentuk lingkaran melainkan elips.

Dalam hal ini, datangnya waktu zhuhur saat matahari melewati
meridian, datangnya waktu maghrib saat matahari terbenam,

serta

berakhirnya waktu shubuh saat matahari terbit dapat dihitung dengan akurat.
Demikian pula, datangnya waktu ashar dapat ditentukan, meskipun terjadi
perbedaan pendapat, apakah panjang bayangan itu satu atau dua kali tinggi

benda (ditambah panjang bayangan saat Zhuhur). Perbedaan pendapat ini
bukanlah mengenai bagaimana menentukan posisi matahari, namun
perbedaan dalam menentukan definisi yang tepat mengenai kapan datangnya
waktu Ashar.
Adapun untuk datangnya waktu salat Isya' maupun shubuh juga terjadi
perbedaan pendapat. Penentuan kedua waktu tersebut tidak secara langsun g
berkaitan dengan posisi matahari, namun efek dari atmosfer yang
membiaskan cahaya matahari dari bawah ufuk. Ada beberapa pendapat,
misalnya altitude matahari itu berkisar antara 15 hingga 20 derajat di bawah
ufuk agar tidak ada lagi cahaya matahari yang dapat dibiaskan. Diakui disini
bahwa tidak ada satu pendapat mengenai sudut ini, sehingga perbedaan satu
derajat saja akan berpengaruh pada perbedaan waktu shalat isya' dan shubuh
beberapa menit.
C. Per hitungan Waktu S halat dengan Pr ogram Visu al Basic 0.6
Untuk membuat program aplikasi ini tentu ada alat-alat yang perlu
dipersiapkan diantaranya :
a. Perangkat Keras
Laptop msi 1,30 GHz/2 GB dengan platform Windows 7 Ultimate 32 Bit,
atau minimal dengan windows 97.
b. Perangkat Lunak

Software M icrosoft Visual Basic 6.0 dan Microsoft Office Access 2007.

M embuat aplikasi seperti ini tidak hanya dengan Visual basic, tapi
masih banyak program aplikasi yang bisa digunakan untuk membuat proram,
sp erti delphi, java, dan lain-lain, namun dalam makalah ini hanya akan
membahas pembuatan progran dengan aplikasi Visual Basic.
Untuk komputer yang belum memiliki program visual basic, silakan
instal terlebih dahulu. Untuk komputer yang sudah memiliki program visual
basic, bisa langsung jalankanlah program sampai pada keluar jendela utama,
pada jendela utama terdapat Form1. Pada form1 tersebut buatlah menu-menu
seperti di bawah ini.
Namun sebelum

Lalu kode-kode dibawah ini pada view code, caranya klik dua kali pada form
maka akan muncul view code.
Dim dbAccess As ADODB.Connection
Dim lintangTempat As Double
Dim bujurTempat As Double
-----------------------------------------------------------------------------Private Sub Form_Load()
Dim str, M ainDir As String
Dim MyRst As New ADODB.Recordset

M ainDir = App.Path
str = "Provider=M icrosoft.Jet.OLEDB.4.0;Data Source=" & _
M ainDir & "\locations.mdb" & _
";Jet OLEDB:Database Password="""";"
Set dbAccess = New ADODB.Connection
dbAccess.CursorLocation = adUseClient
dbAccess.Open str

My Rst.Open "Select * from [Negara]", dbAccess, adOpenKeyset,
adLockOptimistic
For i = 1 To My Rst.RecordCount
cbNegara.AddItem (My Rst("Negara"))
My Rst.MoveNext
Next i
cbNegara.ListIndex = 10
My Rst.Close
End Sub
--------------------------------------------------------------------------Private Sub cbNegara_Click()
Dim i, j As Integer
Dim MyRst As New ADODB.Recordset
cbKota.Clear
My Rst.Open "Select * from [Kota] where [Negara]= '" & cbNegara.Text
& "'", dbAccess, adOpenKeyset, adLockOptimistic
For i = 1 To My Rst.RecordCount
cbKota.AddItem (My Rst("Kota"))
If My Rst("Kota") = UCase(My Rst("Kota")) Then j = i
My Rst.MoveNext
Next i
cbKota.ListIndex = j - 1
My Rst.Close
End Sub
--------------------------------------------------------------------------Private Sub cbKota_Click()
Dim MyRst As New ADODB.Recordset
My Rst.Open "Select * from [Kota] where [Negara]= '" & cbNegara.Text
& "' and " & _

"[Kota]='" & cbKota.Text & "'", dbAccess, adOp enKeyset,
adLockOptimistic
Lintang = Val(M yRst("Lintang"))
Bujur = Val(M yRst("Bujur"))
ZonaWaktu = Val(My Rst("TZ"))
txtBujur.Text = deg2dms(Val(M yRst("Bujur")), 0)
txtLintang.Text = deg2dms(Val(M yRst("Lintang")), 1)
txtZonaWaktu.Text = Format(Val(ZonaWaktu), "0.0")
My Rst.Close
End Sub
-------------------------------------------------------------------------Buatlah kotak text untuk meletekkan jadwal shalat y ang akan di hitun g,
seperti dibawah ini
---------------------------------------------------------------------------

Kemudian klik dua kali pada kotak text imsak, dan ketiklah kode berikut
ini !
Private Sub txtImsak_Click()
txtImsak.Text = PrayingTime2(-22.5, -2, -1)
txtShubuh.Text = PrayingTime2(-20#, 2, -1)
txtSyuruq.Text = PrayingTime2(-1#, 0, -1)
txtDhuha.Text = PrayingTime2(4.5, 2, -1)
txtDhuhur.Text = PrayingTime2(1#, 2, 0)
txtAshr.Text = PrayingTime2(altitudeOfSunAtAshr2, 2, 1)

txtMaghrib.Text = PrayingTime2(-1, 2, 1)
txtIsya.Text = PrayingTime2(-18#, 2, 1)
End Sub
--------------------------------------------------------------------------M embuat pengaturan waktu, klik kanan pada form, maka akan muncul
menu editor, buatlah menu sesuai dengan yang diinginkan. M isalnya
seperti di bawah ini

M embuat form tanggal, buatlah form kosong sebagaimana diawal tadi, lalu isilah
dengan kalender yang tersedia di toolbox. Sebagaimana gambar berikut.

Ketiklah berikut ini setelah mengklik tombol ok
Private Sub btnOK_Click()
myYear = myCalendar.Year
myMonth = myCalendar.M onth
myDate = myCalendar.Day
Unload Me
End Sub
---------------------------------------------------------------------------------Dan kode berikut ini ketik pada form load pada form tanggal yang telah di buat.
Private Sub Form_Load()
myCalendar.Year = Year(Date)
myCalendar.M onth = M onth(Date)
myCalendar.Day = Day(Date)
End Sub
--------------------------------------------------------------------------------M embuat form bulan.

Private Sub btnOK_Click()
myMonth = cbBulan.ListIndex + 1
myYear = cbTahun.ListIndex + 2000
Unload Me
End Sub
Private Sub Form_Load()
For i = 1 To 12
cbBulan.AddItem NamaBulan(i)
Next i
cbBulan.ListIndex = M onth(Date) - 1
For i = 2000 To 2030
cbTahun.AddItem (i)
Next i
cbTahun.ListIndex = Year(Date) - 2000
End Sub

Klik dua kali pada menu satu hari, kemudia ketik kode berikut ini.
Private Sub mnSh_Click()
frmTanggal.Show 1
lbKeterangan.Caption = NamaHari(myDate, myMonth, myYear) & ", "
& myDate & " " & NamaBulan(myM onth) & " " & myYear
frmHasilHitungan.Visible = True
jdlbln.Visible = False
Call ComputeTimesVariables
txtImsak_Click
End Sub
M embuat tabel bulanan, buatlah textbox dengan ukuran yang agak besar, sehingga
cukup untuk memuat jadwal bulanan. Seperti contoh berikut ini.

Ko tak jadwal
bulanan

Kemudian ketiklah kode berikut pada form jadwal sholat.
Private Sub hitungsatubulan()
Dim str, Imsak, shubuh, suruq, duha, duhur, asar, M aghrib, isy ak As
String
jdlbln.Visible = True
str = "tgl| Imsak | Shubuh | suruq | Duha | Duhur | Asar |
M aghrib | Isy ak " & vbNewLine
str = str & "........................................................................................." &
vbNewLine
For i = 1 To JumlahHari(myM onth, myYear)
myDate = i
Call ComputeTimesVariables
tanggal = myDate
shubuh = PrayingTime2(-20#, 2, -1)
Imsak = PrayingTime2(-22.5, -2, -1)
suruq = PrayingTime2(-50 / 60#, 0, -1)
duha = PrayingTime2(4.5, 2, -1)
duhur = PrayingTime2(1#, 2, 0)
asar = PrayingTime2(altitudeOfSunAtAshr2, 2, 1)
M aghrib = PrayingTime2(-50# / 60#, 2, 1)
isyak = PrayingTime2(-18#, 2, 1)
str = str & Format(myDate, "00") & " | " & Imsak & " | " & shubuh & " |
" & suruq & " | " & duha & " | " & duhur & " | " & asar & " | " & M aghrib
& " | " & isy ak & vbNewLine
Next i
jdlbln.Text = str
jdlbln.BackColor = vbGreen
jdlbln.ForeColor = vbBlue
End Sub

Klik dua kali pada menu satu bulan, kemudia ketik kode berikut ini.
Private Sub mnSb_Click()
frmBulanTertentu.Show 1
lbKeterangan.Caption = "Bulan: " & NamaBulan(myM onth) & " " &
myYear
jdlbln.Visible = True
hitungsatubulan
End Sub

DAFTAR PUSTAKA

Hambali,Selamet, Ilmu Falak 1, penentuan awal watu shalat dan Arah kiblat
seluruh dunia, Program pascasarjana IAIN Walison go, Semarang,
2011.
Khazin, M uhyidin, Ilmu Falak dalam teori dan praktik, Buana Pustaka,
Yogyakarta, 2008,
Tim Penyusun, , Alamanak Hisab Rukyat, Diktis Kemenag RI, Jakarta, 2010.
Azhari, Susiknan, Ilmu Falak perjumpaan Khazanah Islam dan Sains Modern,
Suara M uhammadiyah, Yogyakarta, 2007,
Pedoman Hisab M uhammadiyah, Majelis Tarjih PP M uhammadiyah, Yogyakarta,
2009.
Baharrudin Zainal, Ilmu Falak Edisi kedua, Dawama, Selangor M alaysia, 2004.
Jamil, Drs. A,. Ilmu Falak (Teori dan Aplikasi) Awal Qiblat, Awal Waktu, dan
Awal Tahun (Hisab Kontemporer), Amzah, Jakarta, 2009.
M uzammil, Lutfi Adnan M uzammil, S.Pd, Studi Falak dan Trigonometri, Pustaka
Ilmu, Yogyakarta, 2015