Analisis, program dan algoritma untuk menghitung selisih 2 waktu dengan output jam:menit:detik


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 :
#include <iostream>
struct satu{
    int jam;
    int menit;
    int detik;
};

struct dua{
    int jam;
    int menit;
    int detik;
};

struct selisih{
    int jam;
    int menit;
    int detik;
};
int main(int argc, char** argv) {
    satu jam, menit, detik;
    dua ja, meni, deti;
    selisih j, men, det;
    
    cout<<"        PROGRAM MENCARI SELISIH WAKTU"<<endl;
    cout<<"         Ubah ke detikterlebih dahulu"<<endl<<endl;
    
    cout<<"PERTAMA"<<endl;
    cout<<"jam   : "; cin>>jam.jam;
    cout<<"menit : "; cin>>menit.menit;
    cout<<"detik : "; cin>>detik.detik;
    
    cout<<endl<<endl;
    cout<<"KEDUA"<<endl;
    cout<<"jam   : "; cin>>ja.jam;
    cout<<"menit : "; cin>>meni.menit;
    cout<<"detik : "; cin>>deti.detik;
    
    if((detik.detik-deti.detik)<0){
        det.detik=(60+deti.detik)-detik.detik;
        men.menit*60-60;
    }else{
        det.detik=detik.detik-deti.detik;
    }
    
    if((menit.menit-meni.menit)<0){
        men.menit=(60+meni.menit)-menit.menit;
        j.jam*60-60;
    }else{
        men.menit=menit.menit-meni.menit;
    }
    
    j.jam=jam.jam-ja.jam;
    
    cout<<endl<<endl;
    cout<<"SELISIH";
    cout<<"jam     : "<<j.jam<<endl;
    cout<<"menit   : "<<men.menit<<endl;
    cout<<"detik   : "<<det.detik<<endl;
    return 0;
}

Comments