Blog Sahabat

Konversi masehi-hijriah

Selamat pagi teman teman, kali ini saya akan mencoba membuat aplikasi Konversi masehi-hijriah menggunakan java. Karena ini masih termasuk dasar jadi Saya hanya akan menekankan pada algoritma dan coding scriptnya saja.
Mudah kok, yang penting pahami dulu alur kerjanya.
Saya akan bagi membuat tiga menu yaitu
1. Alat konverter Masehi ke Hijriah
2. Alat konverter Hijriah ke masehi
3. Daftar Bulan Hijriah
Langsung aja buka notepad atau aplikasi yang bisa untuk mengetik. kemudian ketik script code dibawah ini.
setelah di ketik kemudian save dengan nama hijriah.java. lalu tinggal jalankan. Selamat mencoba, semoga berhasil.


import java.util.Scanner;
public class Hijriah {

public static void main(String[] args) {


int sts;
String cbulan[]={"Muharram","Safar","Rabiul Awal","Rabiul Akhir","Jamadil Awal",
"Jamadil Akhir","Rejab","Syaaban","Ramadhan","Syawal","Zulkaedah","Zulhijjah"};
String gbulan[] = {"Januari","Februari","Maret","April","Mei","Juni","Juli",
"Agustus","September","Oktober","November","Desember" };
Scanner MASUKAN=new java.util.Scanner(System.in);
do {
int zjd, zl, zn, zj,zi,zk, hari, tahun, tgl, bln, thn,pilih, bulan;

System.out.println(" APLIKASI KONVERTER TANGGAL HIJRIAH - MASEHI ");
System.out.println("Menu Pilihan Konversi yang disediakan: ");
System.out.println("1. Dari Masehi ke-Hijriah.");
System.out.println("2. Dari Hijrih ke-Masehi.");
System.out.println("3. Daftar urutan tahun hijriah.");

System.out.println("Masukkan Pilihan anda: ");
pilih=MASUKAN.nextInt();

switch(pilih){
case 1:

System.out.println( "Masukkan tanggal masehi : ");
tgl=MASUKAN.nextInt();
System.out.println( "Masukkan bulan masehi : ");
bln=MASUKAN.nextInt();
System.out.println( "Masukkan tahun masehi : ");
thn=MASUKAN.nextInt();

if(bln==2 && tgl>=29 && thn%4!=0){
System.out.println("mana ada tanggal "+tgl+gbulan[bln-1]+" "+thn);break;}
else
System.out.println(" Tanggal yang Anda masukkan: "+tgl+" "+gbulan[bln-1]+" "+thn);

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;

System.out.println(" Konversi ke Hijriyah menjadi: "+hari+" "+cbulan[bulan-1]+" "+tahun);
break;

case 2:

System.out.println( "Masukkan tanggal hijriah : ");
tgl=MASUKAN.nextInt();

System.out.println( "Masukkan bulan hijriah : ");
bln=MASUKAN.nextInt();

System.out.println( "Masukkan tahun hijriah : ");
thn=MASUKAN.nextInt();

System.out.println(" Tanggal yang Anda masukkan: "+tgl+" "+cbulan[bln-1]+" "+thn);

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;

}
System.out.println(" Konversi ke Masehi menjadi: "+hari+" "+gbulan[bulan-1]+" "+tahun);

break;
case 3:
System.out.println("");
System.out.println(" 1.Muharram, 2.Safar, 3.Rabiul Awal, 4.Rabiul Akhir");
System.out.println(" 5.Jamadil Awal, 6.Jamadil Akhir, 7.Rejab, 8.Syaaban");
System.out.println(" 9.Ramadhan, 10.Syawal, 11.Zulkaedah, 12.Zulhijjah");

break;

default:
System.out.println("Maaf pilihan salah");
break;

}

System.out.println("Untuk kembali tekan 1 dan keluar tekan 0: ");
sts=MASUKAN.nextInt();
if (sts==1)
System.out.println("Anda Memeilih menghiytung lagi");
else System.out.println("Tekan ENTER untuk keluar...");
} while(sts==1);

}
}

setelah di ketik kemudian save dengan nama hijriah.java. lalu tinggal jalankan. Selamat mencoba, semoga berhasil.

Posting Komentar

2 Komentar

  1. Komentar ini telah dihapus oleh administrator blog.

    BalasHapus
  2. wah maaf gak ada gan.... ini ku juga aslinya C++ aku coba utak atik pake java :D yang pakai javascript masih error... kalojadi ntar coba aku share lagi

    BalasHapus

Masukan Tanggapan Anda