RSS

Dokumentasi Program Konversi Kalender

07 Okt
Program Konversi Kalender Masehi <==> Hijriyah
T. Djamaluddin

Seorang Profesor di South East Asia Research Center (Tonan Ajia Kenkyu Senta), Kyoto University, pernah menanyakan cara mengkonversikan kalender hijriyah ke Masehi untuk kepentingan risetnya. Dengan dasar pengetahuan astronomi, konversi itu mudah dilakukan. Maka saya buatkan program sederhana yang saya selesaikan pada sekitar awal 1991 dengan revisi terakhir Agustus 1991. List program itu saya tawarkan juga via Kontak Pembaca Tempo 31 Agustus 1991. Alhamdulillah, banyak permintaan dari tanah air dengan balasan via pos [walau saya tahu ada juga yang sebenarnya hanya beralasan untuk mendapatkan perangko Jepang :-)] .

Setelah saya pulang, di surat pembaca PR ada pembaca yang minta bantuan menentukan tanggal lahirnya. Informasi yang diperoleh dari orang tuanya hanya lahir pukul 13.30 tanggal 4 Rajab tahun 1968. Dengan program konversi kalender, dengan mudah tanggal lahirnya dapat ditentukan, yaitu Kamis 26 September 1968, 4 Rajab 1388. Jawaban saya di surat pembaca itu disertai tawaran bantuan untuk menghitungkan penentuan tanggal masa lalu dan masa akan datang hanya dengan menghubungi nomor telepon saya. Maka beberapa hari setelah dimuatnya tawaran saya tersebut, telepon di rumah sering berdering dengan berbagai pertanyaan terkait dengan penentuan tanggal dan hari. Kebanyakan kasus menanyakan tanggal atau hari lahir karena tidak adanya dokumen yang pasti karena lahir di kampung dan orang tuanya hanya memberikan informasi terbatas, seperti kasus tersebut di atas. Ada juga yang menanyakan hari Ahad setelah Idul Fitri tahun depan karena berencana menikahkan putrinya. Namun, kadang ada yang lucu juga. Seorang wanita yang menanyakan hari lahir dirinya dan calon suaminya, lalu menanyakan, "Pak, baik tidak dan nasibnya bagaimana?". Oh, saya dikira tukang ramal. Saya jelaskan, saya hanya menghitungkan berdasarkan hitungan astronomi, bukan berdasarkan ramalan dan sama sekali tidak meramalkan nasib seseorang.

List programnya sebagai berikut [Bila menginginkan program executable, silakan kontak via e-mail. Bila perlu bantuan penentuan tanggal/hari, boleh juga via SMS 0815-7388-8987]:

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)

 
Tinggalkan komentar

Ditulis oleh pada Oktober 7, 2008 in Hisab-Rukyat

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: