Cute Finding Nemo

Jumat, 08 April 2016

Diktat Alpro Bab 3 - No.6

#Diktat Alpro Bab 3 - No.6

Workshop algoritma dan class

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. Selesaikan secara manual lebih dulu.

Programnya:

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

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;
}

Algoritma:


Analisis:
·   Kasusselisihdetik:
If((detik.detik-detik.detik)<0){
det.detik = (60+detik.detik)-detik.detik;
men.menit*60-60;} else{det.detik=detik.detik-deti.detik;}
·   kasusselisihmenit:
if((menit.menit-meni.menit)<0){
men.menit=(60+meni.menit)-menit.menit;
j.jam*60-60;} else { men.menit=menit.menit-meni.menit;}
·   kasusselisih jam:
j.jam=jam.jam-ja.jam;
Algoritma:
{membacanilaiwaktupertama [jam(jam.jam), menit(menit),detik(detik)], nilaiwaktukedua [jam(ja.jam),menit(meni,menit), detik(deti.detik)]. Menghitungselisihdenganmengurangkanwaktuperjamdenganwaktukedua}
Deklarasi:
//function
   Structsatu ();
   Structdua ();
   Structselisih ();
//didalamstructberisi:
               jam        (integer)
               jenit       (integer)
               detik      (integer)

//main()
    Jam, menit, detik (satu)
    Ja, meni, deti (dua)
    J, men, det (selisih)
Deskripsi:
//waktupertama
   Baca jam.jam (integer)
   Baca menit.menit (integer)
   Baca detik.detik (integer)
//waktukedua
   Baca ja.jam (integer)
   Baca meni.menit (integer)
   Baca detik.detik (integer)
   Write (j.jam, men.menit, det.detik)
 


0 komentar:

Posting Komentar