Ketemu lagi gan dalam posting kali ini saya akan memberikan source code konversi tahun masehi ke hijriah dan dari tahun hijriah ke tahun masehi dengan C++. Program yang saya posting ini sudah di uji coba gan so pasti bisa dijalankan 100%, program ini simpel gan gak perlu ribet-ribet. Nah ini ne source codenya kayak gini gan :
===================================================
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
int main() {
system ("color 2");
int sts;
char *cbulan[] = {"Muharram","Safar","Rabiul Awal","Rabiul Akhir","Jamadil Awal",
"Jamadil Akhir","Rejab","Syaaban","Ramadhan","Syawal","Zulkaedah","Zulhijjah"};
char *gbulan[] = {"Januari","Februari","Maret","April","Mei","Juni","Juli",
"Agustus","September","Oktober","November","Desember" };
do {
system("cls");
int zjd, zl, zn, zj,zi,zk, bulan, hari, tahun, tgl, bln, thn,pilih;
char input[16];
char *tok;
cout<<""<<endl;
cout<<" SELAMAT DATANG DIAPLIKASI KONVERSI TAHUN"<<endl;
cout<<" +----------------------------------------------+"<<endl;
cout<<" "<<endl;
cout<<" |\\___/|"<<endl;
cout<<" )o o( ...:: HAMZAH :::..."<<endl;
cout<<" =\\ - /= "<<endl;
cout<<" )===( Menu Pilihan Konversi yang disediakan: "<<endl;
cout<<" / \\ 1. Dari Masehi ke-Hijriah."<<endl;
cout<<" | | 2. Dari Hijrih ke-Masehi."<<endl;
cout<<" / \\ 3. Daftar urutan tahun hijriah."<<endl;
cout<<" \\ x /"<<endl;
cout<<" \\_____/"<<endl;
cout<<" "<<endl;
cout<<" +----------------------------------------------+"<<endl<<endl;
cout<<" Masukkan Pilihan anda: ";
cin>>pilih;
switch(pilih){
case 1:
cout<<" Masukkan tanggal masehi (tgl/bln/thn): ";
cin>>input;
tok=strtok(input,"/");
tgl=atoi(tok);
tok=strtok(NULL,"/");
bln=atoi(tok);
tok=strtok(NULL,"/");
thn=atoi(tok);
cout<<" Tanggal yang Anda masukkan: "<< tgl<<" "<<gbulan[bln-1]<<" "<<thn<<endl;
if ((thn > 1582) || ((thn == 1582) && (bln > 10)) || ((thn == 1582) && (bln == 10)
&& (tgl > 14))) {
zjd=((1461 * (thn + 4800 + ((bln - 14) / 12))) / 4) + ((367 * (bln - 2 - 12 *
(((bln - 14) / 12)))) / 12) - ((3 * (((thn + 4900 + ((bln - 14) / 12)) / 100)))
/ 4) + tgl - 32075;
} else {
zjd= 367 * thn - ((7 * (thn + 5001 + ((bln - 9) / 7))) / 4) + ((275 * bln) / 9)
+ tgl + 1729777;
}
zl=zjd - 1948440 + 10632;
zn=((zl - 1) / 10631);
zl=zl - 10631 * zn + 354;
zj=(((10985 - zl) / 5316)) * (((50 * zl) / 17719)) + ((zl / 5670)) *(((43 * zl) / 15238));
zl=zl-(((30 - zj) / 15)) * (((17719 * zj) / 50))-((zj / 16)) * (((15238 * zj) / 43)) + 29;
bulan=((24 * zl) / 709);
hari=zl-((709 * bulan) / 24);
tahun=30 * zn + zj - 30;
cout<<" Konversi ke Hijriyah menjadi: "<< hari<<" "<< cbulan[bulan-1]<<" "<< tahun<<endl<<endl;
break;
case 2:
cout<<" Masukkan tanggal hijriah (tgl/bln/thn): ";
cin>>input;
tok=strtok(input,"/");
tgl=atoi(tok);
tok=strtok(NULL,"/");
bln=atoi(tok);
tok=strtok(NULL,"/");
thn=atoi(tok);
cout<<"\n Tanggal yang Anda masukkan: "<< tgl<<" "<<cbulan[bln-1]<<" "<<thn<<endl;
zjd=((11*thn+3)/30)+354*thn+30*bln-((bln-1)/2)+tgl+1948440-385;
if (zjd>2299160){
zl=zjd+68569;
zn=((4*zl)/146097);
zl=zl-((146097*zn+3)/4);
zi=((4000*(zl+1))/1461001);
zl=zl-((1461*zi)/4)+31;
zj=((80*zl)/2447);
hari=zl-((2447*zj)/80);
zl=(zj/11);
bulan=zj+2-12*zl;
tahun=100*(zn-49)+zi+zl;
}else{
zj=zjd+1402;
zk=((zj-1)/1461);
zl=zj-1461*zk;
zn=((zl-1)/365)-(zl/1461);
zi=zl-365*zn+30;
zj=((80*zi)/2447);
hari=zi-((2447*zj)/80);
zi=(zj/11);
bulan=zj+2-12*zi;
tahun=4*zk+zn+zi-4716;
}cout<<" Konversi ke Masehi menjadi: "<<hari<<" "<<gbulan[bulan-1]<<" "<< tahun<<endl<<endl;
break;
case 3:
cout<<""<<endl;
cout<<" 1.Muharram, 2.Safar, 3.Rabiul Awal, 4.Rabiul Akhir"<<endl;
cout<<" 5.Jamadil Awal, 6.Jamadil Akhir, 7.Rejab, 8.Syaaban"<<endl;
cout<<" 9.Ramadhan, 10.Syawal, 11.Zulkaedah, 12.Zulhijjah"<<endl<<endl;
break;
default:
cout<<" Maaf pilihan salah"<<endl;
getch();
break;
}
cout<<" Untuk kembali tekan 1 dan keluar tekan 0: ";
cin>>sts;
if (sts==1) system("cls");
else cout<<"\n Tekan ENTER untuk keluar...";
} while(sts==1);
getch();
}
==================================================
Nambah lagi ne gan kalo tu program ada yang eror di bagian <iostream> ditambah menjadi <iostream.h> oke gan semoga bermanfaat *_*.
Konversi tahun Masehi ke-Hijriah dengan C++
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar