10 PRINT “*********CALENDAR CONVERSION PROGRAM ********”
20 PRINT ” HIJRI(ISLAMIC CALENDAR) <–> SOLAR CALENDAR “
30 PRINT “ (CAUTION:THERE IS THE ISLAMIC DATE LINE “
40 PRINT “ WHICH CAUSES THIS CALCULATION MAY “
50 PRINT “ DIFFER ABOUT (+/-) 1 DAY) “
60 PRINT “ [6 AUGUST 1991, 25 MUHARRAM 1412] “
70 PRINT “ CALCULATED BY T.DJAMALUDDIN “
80 PRINT “ DEPT. OF ASTRONOMY, KYOTO UNIVERSITY “
90 PRINT “ SAKYO-KU, KYOTO 606, JAPAN “
100 PRINT “*********************************************”
110 PRINT
120 PRINT “1. CONVERSION HIJRI(ISLAMIC CALENDAR) TO SOLAR CALENDAR”
130 PRINT “2. CONVERSION SOLAR CALENDAR TO HIJRI(ISLAMIC CALENDAR)”
140 PRINT
150 INPUT “CONVERSION (1 OR 2) OR STOP(0)”; CONV
160 IF CONV=2 GOTO 820
165 IF CONV=0 THEN GOTO 1500
170 PRINT “***CONVERSION HIJRI TO SOLAR CALENDAR***
180 PRINT
190 INPUT ” DATE “;HD
200 PRINT ” 1. MUHARRAM 7. RAJAB “
210 PRINT ” 2. SAFAR 8. SHABAN “
220 PRINT ” 3. RABIUL AWAL 9. RAMADAN “
230 PRINT ” 4. RABIUL AKHIR 10. SHAWAL “
240 PRINT ” 5. JUMADIL AWAL 11. ZULQAIDAH “
250 PRINT ” 6. JUMADIL AKHIR 12. ZULHIJJAH “
260 INPUT ” MONTH “;HM
270 INPUT ” YEAR “;HY
280 NHD1= (HY-1)*354.3671+(HM-1)*29.5306+HD : NHD = INT(NHD1)
290 NSD = NHD1 + 227016!
300 IF NHD > 350721! THEN GC = 10 ELSE GC = 0
310 IF NHD > 393898! THEN GC = 11
320 IF NHD > 430422! THEN GC = 12
330 IF NHD > 466946! THEN GC = 13
340 SY = INT((NSD+GC)/365.25) + 1
350 MN = CINT((NSD+GC)-(SY-1)*365.25)
360 MN1 = 0 : SM = 1
370 IF MN>31 THEN MN1 = 31 : SM = 2
380 IF INT(SY/4) = SY/4 THEN GOSUB 700 ELSE GOSUB 580
390 IF SY = 1700 OR SY = 1800 THEN GOSUB 580
400 IF SY = 1900 THEN GOSUB 580
410 ‘************RESULT************
420 IF SM = 1 THEN SM$ = ” JANUARY “
430 IF SM = 2 THEN SM$ = ” FEBRUARY “
440 IF SM = 3 THEN SM$ = ” MARCH “
450 IF SM = 4 THEN SM$ = ” APRIL “
460 IF SM = 5 THEN SM$ = ” MAY “
470 IF SM = 6 THEN SM$ = ” JUNE “
480 IF SM = 7 THEN SM$ = ” JULY “
490 IF SM = 8 THEN SM$ = ” AUGUST “
500 IF SM = 9 THEN SM$ = ” SEPTEMBER “
510 IF SM =10 THEN SM$ = ” OCTOBER “
520 IF SM =11 THEN SM$ = ” NOVEMBER “
530 IF SM =12 THEN SM$ = ” DECEMBER “
540 SD = MN – MN1
550 PRINT
560 PRINT HD;”.”;HM;”.”;HY;” HIJRI IS “;SD;SM$;SY;”A.D.”
570 PRINT : PRINT: GOTO 110
580 ‘*****ORDINARY (BASITAH) YEAR******
590 IF MN > 59 THEN MN1 = 59 : SM = 3
600 IF MN > 90 THEN MN1 = 90 : SM = 4
610 IF MN >120 THEN MN1 =120 : SM = 5
620 IF MN >151 THEN MN1 =151 : SM = 6
630 IF MN >181 THEN MN1 =181 : SM = 7
640 IF MN >212 THEN MN1 =212 : SM = 8
650 IF MN >243 THEN MN1 =243 : SM = 9
660 IF MN >273 THEN MN1 =273 : SM =10
670 IF MN >304 THEN MN1 =304 : SM =11
680 IF MN >334 THEN MN1 =334 : SM =12
690 RETURN
700 ‘*******LEAP (KABISAT) YEAR********
710 IF MN > 60 THEN MN1 = 60 : SM = 3
720 IF MN > 91 THEN MN1 = 91 : SM = 4
730 IF MN >121 THEN MN1 =121 : SM = 5
740 IF MN >152 THEN MN1 =152 : SM = 6
750 IF MN >182 THEN MN1 =182 : SM = 7
760 IF MN >213 THEN MN1 =213 : SM = 8
770 IF MN >244 THEN MN1 =244 : SM = 9
780 IF MN >274 THEN MN1 =274 : SM =10
790 IF MN >305 THEN MN1 =305 : SM =11
800 IF MN >335 THEN MN1 =335 : SM =12
810 RETURN
820 PRINT “***SOLAR CALENDAR TO HIJRI***”
830 PRINT
840 INPUT ” DATE “;SD
850 PRINT ” 1. JANUARY 7. JULY “
860 PRINT ” 2. FEBRUARY 8. AUGUST “
870 PRINT ” 3. MARCH 9. SEPTEMBER “
880 PRINT ” 4. APRIL 10. OCTOBER “
890 PRINT ” 5. MAY 11. NOVEMBER “
900 PRINT ” 6. JUNE 12. DECEMBER “
910 INPUT ” MONTH “;SM
920 INPUT ” YEAR “;SY
930 IF SM = 1 THEN MN = 0
940 IF SM = 2 THEN MN = 31
950 IF SM = 3 THEN MN = 59
960 IF SM = 4 THEN MN = 90
970 IF SM = 5 THEN MN =120
980 IF SM = 6 THEN MN =151
990 IF SM = 7 THEN MN =181
1000 IF SM = 8 THEN MN =212
1010 IF SM = 9 THEN MN =243
1020 IF SM =10 THEN MN =273
1030 IF SM =11 THEN MN =304
1040 IF SM =12 THEN MN =334
1050 Y = SY + (MN+SD)/365.25
1060 IF Y>1582.76 AND Y<1582.788 THEN PRINT “GREGORIAN : OMITTED”: GOTO 110
1070 IF Y>1582.76 THEN GC = 10 ELSE GC = 0
1080 IF Y>1701 THEN GC = 11
1090 IF Y>1801 THEN GC = 12
1100 IF Y>1901 THEN GC = 13
1110 YDN = (SY-1)*365.25
1120 IF SM < 3 THEN GOTO 1160
1130 IF INT(SY/4) = SY/4 THEN MN = MN+1
1140 IF SY = 1700 THEN MN = MN – 1
1150 IF SY = 1800 OR SY = 1900 THEN MN = MN – 1
1160 NSD = YDN + MN + SD – GC
1170 NHD1= NSD – 227016! : NHD = INT(NHD1)
1180 HY = INT(NHD1/354.3671 + 1)
1190 HM1 = CINT(NHD1 – (HY-1)*354.3671)
1200 HM = INT(HM1/29.5306) + 1
1210 HD = CINT(HM1 – (HM-1)*29.5306 ) : GOSUB 1400
1220 IF HD = 0 THEN HM = HM-1 : HD = 30
1230 ‘************RESULT************
1240 IF HM = 0 THEN HM$ = ” ZULHIJJAH ” : HY = HY – 1
1250 IF HM = 1 THEN HM$ = ” MUHARRAM “
1260 IF HM = 2 THEN HM$ = ” SAFAR “
1270 IF HM = 3 THEN HM$ = ” RABIUL AWAL “
1280 IF HM = 4 THEN HM$ = ” RABIUL AKHIR “
1290 IF HM = 5 THEN HM$ = ” JUMADIL AWAL “
1300 IF HM = 6 THEN HM$ = ” JUMADIL AKHIR”
1310 IF HM = 7 THEN HM$ = ” RAJAB “
1320 IF HM = 8 THEN HM$ = ” SHABAN “
1330 IF HM = 9 THEN HM$ = ” RAMADAN “
1340 IF HM =10 THEN HM$ = ” SHAWAL “
1350 IF HM =11 THEN HM$ = ” ZULQAIDAH “
1360 IF HM =12 THEN HM$ = ” ZULHIJJAH “
1370 PRINT
1380 PRINT SD;”.”;SM;”.”;SY;” A.D IS “; HD; HM$; HY; ” HIJRI “;”(“;DD$;”)”
1390 PRINT : PRINT: GOTO 110
1400 ‘************THE DAY************
1410 NHD1 = NHD-7*INT(NHD/7) : DD = NHD1 MOD 7
1420 IF DD = 0 THEN DD$ = ” THURSDAY “
1430 IF DD = 1 THEN DD$ = ” FRIDAY “
1440 IF DD = 2 THEN DD$ = ” SATURDAY “
1450 IF DD = 3 THEN DD$ = ” SUNDAY “
1460 IF DD = 4 THEN DD$ = ” MONDAY “
1470 IF DD = 5 THEN DD$ = ” TUESDAY “
1480 IF DD = 6 THEN DD$ = ” WEDNESDAY “
1490 RETURN
1500 SYSTEM
CALENDAR CONVERSION PROGRAM
PROGRAM KONVERSI KALENDER
(Kalender Hijri <—> Kalender Masehi)
Penjelasan Umum
Kalender Islam (Hijri) ditentukan berdasarkan penampakan
hilal dengan siklus rata-rata 29,5306 hari. Maka satu tahun
hijriyah adalah 354,3671 hari. Dan menurut data sejarah tentang
hijrah Rasulullah s.a.w., 1 Muharram 1 H. bertepatan dengan
tanggal 16 Juli 622 M. Dengan data ini dapat dihitung selisih
jumlah hari suatu tanggal hijriyah terhadap kalender Masehi untuk
menentukan konversinya.
Kalender syamsiah (Masehi) ditentukan berdasarkan periode
kembalinya matahari ke titik musim semi, yaitu 365,2422 hari. Se-
dangkan jumlah hari setiap bulannya ditentukan berdasarkan kon-
vensi saja. Sebelum Reformasi Gregorius pada 1582, jumlah hari
rata-rata per tahun adalah 365,25 hari dengan menggunkan tahun
kabisat setiap empat tahun. Gregorius memperbarui sistem Julius
tersebut dengan menggunakan jumlah hari rata-rata per tahun
365,2425 hari yang lebih mendekati kenyataan. Reformasi Gregorius
ini menyebabkan “lompatan” tanggal dari 4 Oktober langsung ke 15
Oktober 1582, tanpa mengubah urutan harinya.
Dalam program ini reformasi Gregorius tersebut dianggap
segera diterapkan, walaupun tidak semua negara melakukannya,
misalnya Jepang masih menggunakan sistem Julius sampai 1872.
Program ini berlaku untuk mengkonversikan kalender sampai tahun
2099, termasuk juga menentukan hari sejak 1 Januari 1 M.
Satu hal yang harus diperhatikan adalah kemungkinan “perbe-
daan”, plus atau minus, sekitar satu hari. Kemungkinan “perbe-
daan” ini tidak dapat dihindarkan karena Garis Tanggal Islam
bergeser setiap bulan, relatif terhadap Garis Tanggal Interna-
sional. Selain itu, perhitungan dengan kriteria penampakan hilal
tidak praktis untuk konversi kalendar. Karenanya perbedaan,
sekitar satu hari, dengan hasil rukyat (mengamati hilal) mungkin
juga terjadi. Karenanya untuk konversi kalender hijri ke masehi,
hari tidak dihitung.
Penjelasan Program (Explanation of the program)
————————————————–
Masukan yang diperlukan (INPUT):
*> Pilihan konversi (Conversion type):
1. Konversi Kalender Islam (Hijri) ke Masehi
(Convert the Islamic Calendar to the Solar one)
2. Konversi Kalender Masehi ke Hijri
(Convert the Solar calendar to the Islamic one)
*> Tanggal, bulan dan tahun (date, month, year).
Untuk mencari hari suatu tanggal Masehi sampai tahun 2099,
gunakan pilihan 2 (To find any date on the solar calendar up to
the year 2099, select the conversion type 2).
Hasil Konversi (Examples of the result)
————————————–
Untuk menguji kebenaran menyalin program, termasuk juga
memberikan contoh hasil program ini, berikut ini ditunjukkan
beberapa hasil konversi.
Konversi Masukan Keluaran
Conversion type INPUT OUTPUT
—————————————————————–
1 1 Muharram 1 H 16 Juli 622 M
2 16 Juli 622 M 1 Muharram 1 H (Jumat)
1 16 Ramadan 990 H 4 Oktober 1582 M
2 4 Oktober 1582 M 16 Ramadan 990 H (Kamis)
1 17 Ramadan 990 H 15 Oktober 1582 M
2 15 Oktober 1582 M 17 Ramadan 990 H (Jumat)
1 8 Ramadan 1364 H *18 Agustus 1945 M
2 17 Agustus 1945 M * 8 Ramadan 1364 (Jumat)
1 13 Sya’ban 1411 H 28 Februari 1991 M
2 28 Februari 1991 M 13 Sya’ban 1411 (Kamis)
1 14 Sya’ban 1411 H 1 Maret 1991 M
2 1 Maret 1991 M 14 Sya’ban 1411 (Jumat)
1 10 Dzulhijjah 1412 23 Juni 1991 M
2 23 Juni 1991 M 10 Dzulhijjah 1412(Ahad)
1 1 Muharram 1412 H *14 Juli 1991 M
2 13 Juli 1991 M * 1 Muharram 1412 (Sabtu)
—————————————————————–
* : “Perbedaan” pada kalender Masehi untuk tanggal hijriah yang
sama dijelaskan di atas.
NOTE: THIS PROGRAM MAY BE USED TO PREDICT THE BEGINNING OF RAMADAN, EID AL FITR, AND EID AL ADHA. TO FIND THE ACCURATE DATE, YOU HAVE TO MAKE OBSERVATION OF THE HILAL OR ASTRONOMICAL CALCULATION BASED ON LOCAL DATA OF SUNSET AND MOONSET.
Kyoto, Agustus 1991
T. DJAMALUDDIN
Dept. of Astronomy
Kyoto University
Sakyo-ku, Kyoto 606
JAPAN
(Alamat sekarang: LAPAN, Jl. Dr. Djundjunan 133, Bandung 40173)
Filed under: 2. Hisab-Rukyat

Pak Thomas,
bolehkah saya mendapat file .exe untuk program konversi ini? terimakasih…
File exe bisa saya berikan, tetapi sulit dikirim via e-mail dan merepotkan kalau mengirim via jasa pengiriman. Kalau tinggal di sekitar Bandung dan berkesempatan singgah ke kantor LAPAN, silakan mengcopy ke flash disk. Ada cara lain untuk menempatkan file-file exe di internet yang bebas didownload? Kalau memungkinkan saya akan pasang di internet.
Maaf Prof, saya ikut nimbrung di sini. Barangkali bisa diunggah ke http://www.4hared.com.
Sudah di-share di http://www.4shared.com/file/uwL3lbzc/cal_conv.html
Assalamualaikum,
Pak Thomas, saya ingin tanya, tgl 1 Jumadil Awal 1432 H itu kalau menurut hisab dengan kriteria MABIMS jatuh pada tanggal berapa dlm penanggalan Masehi? Terima kasih.
Wa’alaikum salam wr. wb., Dengan program Konversi Kelender tsb diperoleh 1 Jumadil Awal 1432 = 5 April 2011. Bila dicek dengan program astronomi, pada 29 Rabbiul Akhir 1432 (3 April 2011), di wilayah Indonesia bulan masih berada di bawah ufuk, jadi diistikmalkan (digenapkan 30 hari). Maka 1 Jumadil Awal 1432 benar jatuh pada 5 April 2011. Pada saat maghrib 4 April bulan telah berada cukup tinggi, sekitar 5 derajat. Jadi, dengan Kriteria MABIMS (dan semua kritria yang dipakai di Indonesia), dipastikan juga bahwa 1 Jumadil Awal bertepatan dengan 5 April 2011.
Wah, ternyata hasil hisab juga bisa berbeda ya pak. Saya menemukan blog hisab yg mengatakan bhw 1 jumadil awal 1432 H jatuh pada 4 april 2011. Berikut keterangannya:
Ijtima’ Matahari dan Bulan jatuh pada rasi bintang: HAML 13 drajat, 10 menit, 5 detik
Ijtima’ Matahari dan Bulan jatuh pada hari: AHAD (3 April 2011) jam 7:41:0 -SIANG HARI-
Bilangan jam dari ijtima’ sampai terbenam matahari: 10 jam, 19 menit, 0 detik
Tinggi hilal setelah terbenam matahari: 5 drajat, 9 menit, 30 detik
Maka: 1 Jumadil Ula 1432 Jatuh pada hari: SENIN (4 April 2011)
Hisab berlaku utk Garut dan sekitarnya.
Oya pak, saya akan berterima kasih sekali kalau program konversi kalender yg bapak rancang dapat didownload secara bebas di internet. Kalau tidak bisa, mohon diinformasikan juga utk tgl 1 bulan Jumadil Akhir s.d. Zulhijjah 1432 H jatuh pd tgl berapa pd kalender Masehi. Terima kasih banyak.
Hisab itu berkembang terus, tetapi metode lama masih banyak dipakai juga. Hasil hisab tsb berdasarkan metode taqiribi (aproksimasi) yang banyak digunakan pada metode lama, seperti di kitab Sulam. Cirinya, ketinggian hanya dihitung dengan membagi angka umur bulan sejak ijtimak sampai maghrib (10 jam 19 menit), dibagi dua (jadi tingginya 5 derajat 9 menit 30 detik). Yang sesungguhnya, menurut hisab astronomi ijtimak pukul 21:33, jadi terjadinya sesuah maghrib. Metode hisab lama adalah khasanah pemikiran ulama dahulu, kita hargai karena itulah hisab yang akurat pada zamannya, walau saat ini ada yang lebih baik.
Saya sedang mencari cara agar program executable dapat juga saya masukkan di blog saya atau link lainnya.
Pak Thomas, menurut hisab dan kriteria MABIMS, tgl 1 Jumadil Akhir 1432 jatuh pada tgl berapa dlm kalender Masehi? Terima kasih.
pak bisa dijelaskan penggunaan tanda seru pada line 1170 –> NHD1= NSD – 227016! : NHD = INT(NHD1)
saat ini, saya sedang mengkonversi syntax tersebut ke bahasa pemrograman lain dan saya kurang paham dengan ada nya “!” pada line tersebut..
bisa dijelaskan pak ?
Tanda seru (!) hanya untuk syntax bahasa Basic yang terkait dengan batasan integer. Untuk bahasa lain yang lebih canggih, tanda seru tidak diperlukan.
Pak Djamaluddin, mohon ijin program versi BASIC ini saya tulis ke dalam bahasa Python ya.
Silakan. Semoga bisa memperluas kemanfaatannya.
Versi bahasa Python bisa dilihat di sini:
http://tjerdastangkas.blogspot.com/2011/06/program-konversi-kalender-masehi.html
Pak Djamaluddin, saya ingin bertanya jika tgl 12 Mei 1992 dan 20 April 1992 dikonversi ke Hijriyah itu tgl berapa ya pak?
apakah file exenya sudah ada di internet pak?? Terimakasih
12 Mei 1992 : Selasa, 10 Dzulqaidah 1412
20 April 1992: Senin, 17 Syawal 1412
Pak Djamaluddinm, saya minta bantuan kalau 13 Oktober 1974 itu benar nggak di bulan Ramadhan? lengkapnya tanggal-bulan-tahun hijriah Pak, terima kasih.
13 Oktober 1974: Ahad, 26 Ramadhan 1394.
Prof. Thomas, sy mau tanya pada tanggal 4 Maret 1985 dan 5 April 1986 itu tepat pada tanggal/bulan/tahun berapa hijiriyah ?
Terima kasih atas jawabannya
4 Maret 1985: Senin, 11 Jumadil Akhir 1405
5 April 1986: Sabtu, 24 Rajab 1406
JAZAKALLOH KHOIRON pak Prof, semoga ALLOH selalu memberkahi dan menambah ilmu antum sehingga bermanfaat untuk ummat
Apakah buku yang baru antum terbitkan dijual bebas ???
Bisa tidak kalau list program di atas di tulis ulang dengan bahasa yang lebih dekat ke bahasa matematika agar bisa ditulis ulang ke bahasa program lain…
Algoritmanya mudah diturunkan dari list program itu. Silakan dicoba dan silakan dikonversikan ke program lain.
menurut org tua saya lahir jumat pon 14 sya’ban 1982.. mohon pnjlsanx tahun hijri dan tgl bln masehi yg pas prof..! trims
Jumat Pon 14 Syaban 1403 = 27 Mei 1983 (bukan 1982).
Maaf prof,yg dulu itu keliru,ternyata saya lahir pada jumat pon 14 rojab 1982, mohon minta calender masehinya yg tepat,. ats bntuanx terima kasih,. wassalam..
Pa tlg tgl 27 jan 1973 klo thn hijriah jd tgl berapa? Tks. Maaf ada pin ? Tks
27 Jan 1973 = Sabtu, 21 Dzulhijjah 1392
Pak Djamaluddin, saya ingin bertanya jika tgl 4 april 1985 dan 3 november 1988 dikonversi ke Hijriyah itu tgl berapa ya pak?
terimakasih…
4 April 1985 = Kamis, 13 Rajab 1405
kalo 22 desember 1993 hijriahnya brp?
tolong ya
22 Desember 1993 = Rabu, 7 Rajab 1414
tgl 3 dzulhijjah 1392 hijriah
Jatuh pda tggl bln tahun dan hari apakah
Secara masehinya trima ksh
3 Dzulhijjah 1392: Selasa, 9 Januari 1973.
membantu mengarsipkan code:
http://pastebin.com/ZeBwcVav