Advertisement
akevintg

KUIS I PBO TM 4

Apr 4th, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.56 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. //a.    Desain klas dengan nama Time yang mempunyai tiga data anggota yaitu hour, minute dan second dengan level akses adalah private.
  6. //Selain fungsi anggota baku constructor dan destructor,
  7. //class Time juga mempunyai tiga fungsi anggota lain yang prototipenya adalah sebagai berikut: void setData() , fungsi konstant void geData() dan fungsi konstant void printData().
  8. //Tugas ketiga fungsi terakhir ini adalah sebagai berikut: fungsi setData() untuk memberi nilai hour, minute dan second , fungsi getData() untuk mengambil nilai data yang diisi oleh fungsi setData(),
  9. //sedangkan fungsi printData() untukmencetak ketiga data anggota tersebut.  
  10.  
  11. class time{
  12. //Desain klas dengan nama Time yang mempunyai tiga data anggota yaitu hour, minute dan second dengan level akses adalah private.
  13. private :
  14.     int hour;
  15.     int minute;
  16.     int second;
  17. // Selain fungsi anggota baku constructor dan destructor
  18. public:
  19.     time(){
  20.         hour=minute=second=0;
  21.     }//constructor;
  22.     ~time(){
  23.         cout<<"Data Deleted";
  24.         cin.get();
  25.     }//destructor
  26. ///class Time juga mempunyai tiga fungsi anggota lain yang prototipenya adalah sebagai berikut: void setData() , fungsi konstant void geData() dan fungsi konstant void printData().
  27.     void setData(int h,int m,int s);
  28.     int getData()const;
  29.     void printData()const;
  30. };
  31.  
  32. //b.    Definisikan atau implementasikan constructor dan destructor di dalam klas sedangkan fungsi setData() , getData() dan printData() di luar klas Time.
  33. //Untuk definisi fungsi yang ada di luar class jangan lupa untuk menggunakan scope resolution operator.
  34.  
  35. void time::setData(int h,int m,int s){
  36.     hour=h;
  37.     minute=m;
  38.     second=s;
  39. }
  40.  
  41. int time::getData()const{
  42.     return hour;
  43.     return minute;
  44.     return second;
  45. }
  46.  
  47. void time::printData()const{
  48.     getData();
  49.     cout<<"Time <"<<hour<<":"<<minute<<":"<<second<<">"<<endl;
  50.     cin.get();
  51. }
  52. //c.    Berikan alasan mengapa fungsi getData() dan printData() perlu dibuat konstant?
  53. //dalam getData harus konstant untuk menghindari pengubahan data secara tidak sengaja, sedangkan untuk fungsi printData dibuat const agar dapat memanggil fungsi getData yang bersifat const
  54.  
  55. //d.    Selanjutnya tulis fungsi main() untuk mengetes klas yang Anda desain.
  56.  
  57. int main(){
  58.     time t; int j=-1,m=-1,s=-1;
  59.     while(j<0||j>24){
  60.         cout<<"Masukan Jam[0...24]: ";
  61.         cin>>j;cin.sync();cin.clear();
  62.     }
  63.     while(m<0||m>59){
  64.         cout<<"Masukan Menit[0...59] : ";
  65.         cin>>m;cin.sync();cin.clear();
  66.     }
  67.     while(s<0||s>59){
  68.         cout<<"Masukan Detik[0...59] : ";
  69.         cin>>s;cin.sync();cin.clear();
  70.     }
  71.     t.setData(j,m,s);
  72.     t.printData();
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement