Menghitung Selang Hari Dengan Program Turbo Pascal
Program
SelangHari;
Uses Crt;
{Deklarasi
variable}
Var
Y1, M1, D1, Y2, M2, D2,
UB1, UB2, UT, YX, R1,
R2, I1, I2, MX1, MX2, L : Integer;
benar : boolean;
{Program kami}
Begin
clrscr;
benar := true;
Writeln ('Selamat datang di Program Selang
Hari');
{Input}
repeat
begin
repeat
Write ('Masukan tanggal pertama =
'); readln (D1);
until ((D1>0) and (D1<=31));
repeat
Write ('Masukan bulan pertama = ');
readln (M1);
until (M1>0) and (M1<=12);
repeat
Write ('Masukan tahun pertama = ');
readln (Y1);
until (Y1>0);
if (D1>0) or (M1>0) or (M1<=12)
or (Y1>0) then benar := true
else {Jika isi variabel (D1<=0) or
(M1<=0) or (M1>12) or (Y1<=0)}
benar := false;
case M1 of
1,3,5,7,8,10,12 : UB1 := 31;
4,6,9,11 : UB1 := 30;
2 : if Y1 mod 4=0 then UB1 := 29
else UB1 := 28;{Jika isi
variabel Y1 mod 4 tidak sama dengan 0}
end;
end;
until (D1>0) and (D1<=UB1);
I1 := 0;
MX1:= M1;
if M1 = 1 then R1:= D1
else {Jika isi variabel M1 tidak
sama dengan 1}
begin
for M1:= 1 to M1-1 do
begin
case M1 of
1,3,5,7,8,10,12 : UB1 := 31;
4,6,9,11 : UB1 := 30;
2 : if Y1 mod 4=0 then UB1 :=
29
else UB1 := 28;{jika isi
variabel Y1 mod 4 tidak sama
dengan 0}
end;
I1 := I1 + UB1;
end;
end;
R1 := I1 + D1;
writeln;
repeat
begin
repeat
Write ('Masukan tanggal kedua = ');
readln (D2);
until ((D2>0) and (D2<=31));
repeat
Write ('Masukan bulan kedua = ');
readln (M2);
until (M2>0) and (M2<=12);
repeat
Write ('Masukan tahun kedua = ');
readln (Y2);
until (Y2>0);
if (D2>0) or (M2>0) or (M2<=12)
or (Y2>0) then benar := true
else {Jika isi variabel (D2<=0) or
(M2<=0) or (M2>12) or (Y2<=0)}
benar := false;
case M2 of
1,3,5,7,8,10,12 : UB2 := 31;
4,6,9,11 : UB2 := 30;
2 : if Y2 mod 4=0 then UB2 := 29
else UB2 := 28;{jika isi
variabel Y2 mod 4 tidak sama dengan 0}
end;
end;
until (D2>0) and (D2<=UB2);
I2 := 0;
MX2:= M2;
if M2 = 1 then R2:= D2
else {Jika isi variabel M2 tidak sama dengan 1}
begin
for M2:= 1 to M2-1 do
begin
case M2 of
1,3,5,7,8,10,12 : UB2 := 31;
4,6,9,11 : UB2 := 30;
2 : if Y2 mod 4=0 then UB2 := 29
else UB2 := 28;{jika isi
variabel Y2 mod 4 tidak sama
dengan 0}
end;
I2 := I2 + UB2;
end;
end;
if Y1 mod 4=0 then UT := 366
else {jika isi variabel Y1 mod 4 tidak
sama dengan 0}
UT := 365;
YX := Y2-Y1;
R2 := (I2+D2)+(UT*YX);
{Proses}
if R2>R1 then benar := true
else benar := false;{Jika variabel
R1>R2 maka program salah}
L := R2-R1;
{Output}
Writeln;
begin
if R2-R1>0 then
Writeln ('Jadi selang hari antara
',D1,'-',MX1,'-',Y1,'',' dan ',
D2,'-',MX2,'-',Y2,'',' yakni: ',R2-R1,'
hari,')
else {Jika variabel R1>R2 maka program
salah}
Writeln ('Cek kembali tanggal, bulan dan
tahun anda yang anda inputkan')
end;
End.

Terimakasih ilmunya
BalasHapusSiap, semoga bermanfaat...
HapusTerimakasih ilmunya
BalasHapus