Kamis, 02 Juli 2015

Algoritma Konversi Detik ke Jam Menit Detik (C++)

Algoritma:
Algoritma KonversiDetik
    {dibaca jam dalam detik, kemudian menampilkan dalam bentuk jam menit detik}

Deklarasi:
    type jam : record <j, m, d : integer>
    waktu : jam
    detik : integer

Deskripsi:
    read(detik)
    
    waktu.j <- detik/3600
    detik <- detik - (waktu.j * 3600)
    waktu.m <- detik/60
    waktu.d <- detik - (waktu.m * 60)
    
    write(waktu)

Dalam variabel detik, saya menggunakan tipedata integer, kenapa saya menggunakan integer? Saya memanfaatkan sifat dari tipedata tersebut, tipedata integer ketika dibagi dengan suatu nilai dan hasilnya mengandung pecahan, maka pecahan tersebut diabaikan atau tidak dipakai, dengan kata lain hasilnya dibulatkan ke bawah. Misalnya saja 5 / 4 = 1.25, tetapi ketika menggunakan tipe integer, 5 / 4 = 1, karena dibulatkan ke bawah atau pecahan diabaikan.

Source code:
#include <iostream>
//develop251.blogspot.com
using namespace std;

struct jam{
    int d, m, j;
};

int main(){
    jam waktu;
    int detik;
    
    cout << "Masukkan detik : "; cin >> detik;
    
    waktu.j = detik/3600;
    detik = detik - (waktu.j * 3600);
    waktu.m = detik/60;
    waktu.d = detik - (waktu.m * 60);
    
    cout << waktu.j << " jam " << waktu.m << " menit " << waktu.d << " detik" << endl;
    
    return 0;
}

Hasil: