Diktat Bab 3 : No. 6
6. Buatlah analisis dan algoritma untuk menghitung selisih 2 waktu. Output ditampilkan
dalam bentuk jam:menit:detik. Asumsikan menggunakan sistem jam 24-an.
Buat contoh kasus, misalnya berapa selisih waktu antara jam 3.45 sore dengan jam 10.23
malam.
Analisis:
·
Kasus selisih detik:
If((detik.detik-detik.detik)<0){
det.detik =
(60+detik.detik)-detik.detik;
men.menit*60-60;}
else{det.detik=detik.detik-deti.detik;}
·
kasus selisih menit:
if((menit.menit-meni.menit)<0){
men.menit=(60+meni.menit)-menit.menit;
j.jam*60-60;}
else { men.menit=menit.menit-meni.menit;}
·
kasus selisih jam:
j.jam=jam.jam-ja.jam;
Algoritma:
{membaca nilai
waktu pertama [jam(jam.jam), menit(menit),detik(detik)], nilai waktu kedua
[jam(ja.jam),menit(meni,menit), detik(deti.detik)]. Menghitung selisih dengan
mengurangkan waktu perjam dengan waktu kedua}
Deklarasi:
//function
Struct satu ();
Struct dua ();
Struct selisih ();
//didalam struct
berisi:
jam (integer)
jenit (integer)
detik (integer)
//main ()
Jam, menit, detik (satu)
Ja, meni, deti (dua)
J, men, det (selisih)
Deskripsi:
//waktu pertama
Baca jam.jam (integer)
Baca menit.menit (integer)
Baca detik.detik (integer)
//waktu kedua
Baca ja.jam (integer)
Baca meni.menit (integer)
Baca detik.detik (integer)
Write
(j.jam, men.menit, det.detik)
Program Dev C++ :
Output :
Sekian dan Terima Kasih, Semoga Bermanfaat.
Comments