Kamis, 27 Mei 2010

Ass. wr.wb... pagi yang indah saatnya buat beraktifitas kembali dengan penuh olahraga jemari dengan sang keyboard. heheheee....


Pagi ne ane ingin berbagi dikit ilmu neh tentang bagaimana membuat kalender / tanggal Hijriah, mungkin sudah artikel yang bekaitan dengan ini, setidaknya ingin mengingatkan kembali (mungkin file ilang kali yah...!!!! ^_^) okey sebelum kita mulai membuat tanggal hijriah menggunakan delphi, temen2 siepin segelas susu anget juga boleh asal gk usah tuaq ja yah (kalo tuaq manis juga boleh. ^_^)... Sudah siap dengan minuman dan cemilah, temen2 buka delphinya dan copy paste source dibawah ini ke form yang temen buat tadi :







Kalo sudah, dibawah ini ada sebuah function TglHijriah yang berfungsi merubah dari tanggal masehi ke tanggal Hijriah.

function TglHijriah(AValue: TDateTime; HijriDiff: integer=0): TDateTime;
var Y,M,D: word; Calculate,temp1,temp2,temp3: integer;
begin
DecodeDate(AValue, Y, M, D);
Inc(D,HijriDiff);
if ((Y>1582) or ((Y=1582) and (M>10)) or ((Y=1582) and (M=10) and (D>14))) then

Calculate:=Trunc((1461*(Y+4800+Trunc((M-14)/12)))/4)+Trunc((367*(M-2-12*(Trunc((M-14)/12))))/12)-Trunc((3*(Trunc((Y+4900+Trunc((M-14)/12))/100)))/4)+D-32075
else Calculate:=367*Y-Trunc((7*(Y+5001+Trunc((M-9)/7)))/4)+Trunc((275*M)/9)+D+1729777;temp1:=Calculate-1948440+10632;
temp2:=Trunc((temp1-1)/10631);
temp1:=temp1-10631*temp2+354;
temp3:=(Trunc((10985-temp1)/5316))*(Trunc((50*temp1)/17719))+(Trunc(temp1/5670))*(Trunc((43*temp1)/15238));
temp1:=temp1-(Trunc((30-temp3)/15))*(Trunc((17719*temp3)/50))-(Trunc(temp3/16))*(Trunc((15238*temp3)/43))+29;
M:=Trunc((24*temp1)/709);
D:=temp1-Trunc((709*M)/24);
Y:=30*temp2+temp3-30;
Result:=EncodeDate(Y,M,D);
end;


Setelah source code diatas dicopy di bawah implementation {$R *.dfm} kemudian dapa Form Show atau form create copy perintah dibawah ini :

procedure TForm1.FormCreate(Sender: TObject);
var tgl:TDate; bln:String[14];
begin

Tgl:=TglHijriah(Now);

Label1.Caption:=FormatDateTime('DDDD, dd MMMM yyyy',Now)+' Masehi';

Label2.Caption:=FormatDateTime('dd MM yyyy',tgl)+' Hijriah';

Case StrToInt(FormatDateTime('MM',tgl)) of

1: bln:='Muharram';

2: bln:='Shafar';
3: bln:='Rabi’ul Awal';

4: bln:='Rabi’ul Akhir';

5: bln:='Jumadil Awal';
6: bln:='Jumadil Akhir';

7: bln:='Rajab';

8: bln:='Sya’ban';

9: bln:='Ramadhan';

10: bln:='Syawal';

11: bln:='Zulqaidah';

12: bln:='Zulhijjah';

End;
Label3.Caption:=FormatDateTime('dd ',tgl)+bln+FormatDateTime(' yyyy',tgl)+' Hijriah';

end;


Nah kalo udah selese yah tinggal dijalankan aja dah, pada label 1 menunjukkan tanggal Masehi, Label 2 dan 3 tanggal Hijriahnya.


Semoga bermanfaat buat temen2 yah..!!! ^_^
Source code dan Aplikasi bisa di download disini


13 komentar:

  1. Semoga bermanfaat buat temen-temen yah...

    BalasHapus
  2. Mantapp.... ney artikel... ^_^

    BalasHapus
  3. Thanks lie, cuman mo shar doang dari pada disimpen terus ntr mubajirun tuh. heheheee...
    btw, wordpresmu bgs juga tuh..
    salut dah..

    BalasHapus
  4. mantab,..
    penerapan dalam bentuk komponen delphi gimana yah?

    BalasHapus
  5. yang mau dalam bentuk komponen sedot disini..
    http://www.4shared.com/file/TEpwrYuD/hijriah.html

    BalasHapus
  6. @anonim : maksud penerapan nya ntu bagaimana neh...?

    BalasHapus
  7. ya di buwat jadi komponen kak,..jadi egk repot-repot ngetik koding lagi

    BalasHapus
  8. @anonim : buat jadi komponen gitu ya maksudnya, kk belum coba buat jadi komponennya sih, coba latihan sendiri buat komponen sendiri, caranya simple kok. tanya ma om google banyak tu tutorialnya. key...

    BalasHapus
  9. bole nanya eg??
    pengertian kata" berikut ini maksud dan guna.na apa siii??
    d suru ngarti.in nie ma dosenkuu ..

    1. funcion DaySpan
    2. prosedure DecodeDate
    3. prosedure DecodeDateTime
    4. Prosedure DecodeTime
    5. Function EncodeDate
    6. function EndecodeDateTime
    7. Function EndofADay
    8. Function EndofAMonth

    BalasHapus
  10. Mas, saya programmer newbie, masih smp. Downloadnya kok susah ya, mas? Bisa di kirim ke email say, mas? husada.smart@yahoo.com

    BalasHapus
  11. buka ja alamat ne : http://www.4shared.com/file/AHA731Gz/hijriah.html

    BalasHapus
  12. Terima Kasih... Sangat membantu bagi project saya :)
    Salam..... Dari masa depan :D
    19 Januari 2021 :')

    BalasHapus

makasih sudah mampir.... ^_^

Date

temen-temenku

dot_exe

Promosi dikit neh... ^_^

Jika anda ingin meningkatkan kinerja perusahaan atu tempat anda bekerja, saya penulis dapat memenuhi kebutuhan anda . baik atas nama kelompok (CV) atau perorangan:
penulis menyediakan softaware-software seperti:
1. Dinas pemerintahan / Swasta
2. Percetakan
3. Toko / swalayan
4. Dinas pendidikan
5. dll

software dapat berbentuk desktop atau model jaringan (client server).
Selain itu menerima pemesanan pembuatan Website baik yang pribadi maupun perusahaan.

bagi yang berminat dapat mengirim e-mail ke alamat dotexe.chili@gmail.com

Popular Posts

Daftar Komentar

Daftar Kunjungan

sejak tanggal 11 agustus 2010