Sabtu, 09 Maret 2013

Program mengkonversikan waktu kedalam jam,menit dan detik

kemaren ane di kasih tugas sama dosen buat bikin konversi detik ke menit dan jam ,, awalnya aen bingung tapi setelah lama ane otak atik akhirnya dapet juga...
dari pada lupa mending ane share disini
Misalkan input yang di masukan adalah 7898 detik, maka output yang di inginkan adalah :
Jam : 2
Menit : 11
Detik : 38
Langkahnya adalah sbb:
  1. Membagi hasil bilangan bulat untuk jam = 7898 div (division) 3600 (1 jam=3600 detik), maka akan menghasilkan = 2. kenapa tida ada nilai dibelakang koma?? karena operator div berfungsi mencari hasil bagi dengan hasil bilangan bulat.
  2. Mengurangi jumlah jam yg tadinya berjumlah 7898 menjadi = 7898 – (jumlah jam yang tadi dihasilkan = 2 lalu dikonversikan dalam detik) == 7898 – (2 * 3600). maka hasilnya adalah 698 detik.
  3. Mengambil nilai menit dari sisa pengurangan detik tadi (698 detik). Cara mengambil menit dari nilai tersebut sama seperti pada jam, menit= 698 div 60 (1 menit = 60 detik).
  4. Mengurangi jumlah detik sekarang dengan jumlah menit yang sudah kita dapatkan tadi, detik = 698 – ( 11 * 60).
  5. Lalu yang tersisa tinggal detiknya, yang kurang untuk mencapai nilai 1 dalam satuan menit, sehingga kita tinggal mengeluarkan hasilnya.
Begitulah singkat cerita tentang algoritma yang dipakai untuk mengkonversi nilai detik ke jam-menit-detik. Atau algoritmanya seperti di bawah ini:
Algoritma
DeklarasiJam,menit,detik,sekon : int
Deskripsi :
Masukkan waktu;
jam=sekon/3600;
menit=(sekon-(3600*(sekon/3600)))/60;
detik=((sekon-(3600*(sekon/3600)))-(((sekon-(3600*(sekon/3600)))/60)*(60)));
tulis konversi waktu;
end;



01#include <iostream.h>
02#include <conio.h>
03class Konversi{
04      friend istream& operator>>(istream&, Konversi&);
05      friend ostream& operator<<(ostream&, Konversi&);
06public:
07       Konversi(){};
08       int j();
09       int m();
10       int d();
11private:
12        int jam;
13        int menit;
14        int detik;
15        int sekon;
16};
17        int Konversi :: j(){
18        jam=sekon/3600;
19        return jam;
20        }
21 
22        int Konversi :: m(){
23        menit=(sekon-(3600*(sekon/3600)))/60;
24        return menit;
25        }
26 
27        int Konversi :: d(){
28        detik=((sekon-(3600*(sekon/3600)))-(((sekon-(3600*(sekon/3600)))/60)*(60)));
29        return detik;
30        }
31 
32istream& operator>>(istream& in,Konversi& masukan){
33         cout<<"*********************************************************"<<endl;
34         cout<<endl;
35         cout<<"* PROGRAM KONVERSI detik MENJADI FORMAT jam:menit:detik *"<<endl;
36         cout<<endl;
37         cout<<"*********************************************************"<<endl;
38         cout<<endl;
39         cout<<"masukkan waktu dalam detik: ";
40         in>>masukan.sekon;
41         cout<<endl;
42         return in;
43        }
44ostream& operator<<(ostream& out,Konversi& keluaran){
45        out<<keluaran.j()<<"jam : ";
46        out<<keluaran.m()<<"menit : ";
47        out<<keluaran.d()<<"detik";
48        return out;
49        }
50int main(){
51Konversi X;
52cin>>X;
53cout<<X;
54cout<<endl;
55cout<<endl;
56 
57    system("PAUSE");
58    system("cls");
59    return main();
60 
61}





Screenshot hasil data setelah Di Compile :


0 komentar:

Posting Komentar

Related Post

Recommend box

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Premium Wordpress Themes