Algoritma & program menghitung selisih dua waktu

Top down design

1. Analisis
   mencari selisih dua waktu yang waktu akhir dan awal dikonversikan menjadi detik dan kemudian dihitung  
   selisihnya
2. Identifikasi
    input : waktu akhir dan waktu awal
    output : selisih dua waktu
3. Algoritma
    Deklarasi :
    jam 1, jam 2 : integer
    menit 1, menit 2 : integer
    detik 1, detik 2, detik 3, detik 4 : integer
    w,x,y,z : integer

   Deklarasi :
   waktu 1 <-- (jam, menit, detik)
   d3 <-- (j1*3600)+(m1*60)+d1
   waktu 1 <-- konversi
   waktu 2 <-- (jam, menit, detik)
   d5 <-- (j2*3600)+(m2*60)+d2
   konversi <-- w=d5/3600; x=d5%3600; y=x/60; z=x/3600;

4. Tes data
    mencari selisih dua jam :
    jam 1, menit 1, detik 1
    jam 2, menit 2, detik 2
    input :
    jam 1 : 5
    menit 1 : 30
    detik 1: 0

    input :
    jam 2 : 5
    menit 2 : 45
    detik 2 : 25

    hasil :
    jam : 0
    menit : 15
    detik : 25

5. Program
   
    #include<iostream.h>
    #include<conio.h>

    main ()
    {

    int j1, m1, d1, j2, m2, d2, d3, d5, w, x, y, z;
    cout<<"masukkan waktu 1 :"<<endl;
    cout<<"jam ="; cin>>j1;
    cout<<"menit ="; cin>>m1;
    cout<<"detik ="; cin>>d1;
    d3 = (j1*3600)+(m1*60)+d1;
    cout<<"konversi waktu satu detik :"<<d3;
    cout<<""<<endl : cout<<""<<endl;
    cout<<"masukkan waktu 2 :"<<endl;
    cout<<"jam = "; cin>>j2;
    cout<<"menit ="; cin>>m2;
    cout<<"detik ="; cin>>d2;
    d5 = (j2*3600)+(m2*60)+d2;
    cout<<"konversi waktu 2 ke detik :"<<d5;
    cout<<""<<endl; cout<<" "<<endl;
    d5 = d3 - d5;
    cout<<"konversi selisih ke waktu :"<<endl;
    w = d5/3600;
    x = d5%3600;
    y = x/60;
    z = x%60;
    cout<<"jam ="<<w<<endl;
    cout<<"menit ="<<y<<endl;
    cout<<"detik = "<<z<<endl;
    getch ();
    }
 

One Comment

Back to Top