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
Semoga bermanfaat buat temen-temen yah...
BalasHapusMantapp.... ney artikel... ^_^
BalasHapusThanks lie, cuman mo shar doang dari pada disimpen terus ntr mubajirun tuh. heheheee...
BalasHapusbtw, wordpresmu bgs juga tuh..
salut dah..
mantab,..
BalasHapuspenerapan dalam bentuk komponen delphi gimana yah?
yang mau dalam bentuk komponen sedot disini..
BalasHapushttp://www.4shared.com/file/TEpwrYuD/hijriah.html
@anonim : maksud penerapan nya ntu bagaimana neh...?
BalasHapusya di buwat jadi komponen kak,..jadi egk repot-repot ngetik koding lagi
BalasHapus@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...
BalasHapusbole nanya eg??
BalasHapuspengertian 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
Mas, saya programmer newbie, masih smp. Downloadnya kok susah ya, mas? Bisa di kirim ke email say, mas? husada.smart@yahoo.com
BalasHapusbuka ja alamat ne : http://www.4shared.com/file/AHA731Gz/hijriah.html
BalasHapusTerima Kasih... Sangat membantu bagi project saya :)
BalasHapusSalam..... Dari masa depan :D
19 Januari 2021 :')
alhamduillah. salam dari tahun 2010...
Hapus