Selisih-hari versi 1


PROGRAM Selisih_waktu
{Menghitung selisih hari dari dua buah tanggal T1(dd:mm:yy) dan t2 (dd:mm:yy).selisih hari T1 dan T2 adalah SH=T2-T1}

DEKLARASI
   type hari:record<dd,mm,yy:
   integer >
   T1, T2: Hari
   i, selisih_hari:integer
   prosedure Konversi (input selisih:integer)

ALGORITMA:
   read(T1, T2)
   selisih_hari=0
   if (T1.yy < T2.yy)then
{
   selisih_hari = (30 - T1.dd)
   for (i=T1.mm-1 to 30)
      selisih_hari = selisih_hari + 30

   for (i=1 to T2.mm-2)
   selisih_hari = selisih_hari + 12

   for (i=T1.yy+1 to T2.yy-1)
       selisih_hari = selisih_hari + 365

     selisih_hari = selisih_hari + T2.dd
       Konversi(selisih_hari)
}
    else if (T1.yy == T2.yy and T1.mm = T2.mm)then
  {
   if (T1.mm < T2.mm)then
  {
   selisih_hari = (30 - T1.dd)
   for (i=T1.mm+1 to T2.mm-1)
   selisih_hari = selisih_hari + 30
   selisih_hari = selisih_hari +  T2.dd
      Konversi(selisih_hari)
  }
    else if (T1.mm = T2.mm and T1.dd = T2.dd)then
 {
    selisih_hari = T2.dd - T1.dd
       Konversi(selisih_hari)
 }
    else write ("T2 harus setelah T1")
  }

    else write ("T2 harus setelah T1")
}
prosedure Konversi (input selisih:integer)
  {Mengkonversikan dari hari, tenggal, tahun dan cetak hasil nya dalam jumlah hari}

DEKLARASI
   T1, T2, SISA:integer

ALGORITMA
   T1= selisih mod 365
   sisa=selisih div 365
   T2= selisih mod 365
   sisa=selisih div 365
   write(T1,T2)

No comments:

Post a Comment