Advertisement
akevintg

KUIS I PBO TM 3.2

Apr 4th, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.33 KB | None | 0 0
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<string>
  4. using namespace std;
  5.  
  6. //Seperti halnya array, struct adalah suatu ADT  yang mempunyai data anggota dan operasi, metode atau fungsi anggota.
  7. //Elemen, member atau field struct  diakses menggunakan operator dot atau pointer ->.
  8. //Bentuk umumnya adalah sebagai berikut:
  9. //<structure_variabel>.<field_name>
  10. //<structure_pointer> ® <field_name>
  11. //Operasi utama di struct adalah store(e) dan retrieve().
  12. //Operassi store(e) untuk menyimpan elemen e di field i struct s  adalah s.i = e
  13. //sedangkan operasi retrieve() untuk mengambil suatu elemen dari struct s di field i dan disimpan di elemen e adalah e = s.i.  
  14.  
  15. //a. Diketahui struktur dtMhs dengan tiga data anggota : nim, nama dan IPK serta fungsi anggota store() dan retrieve().
  16. //Desain class dtMhs berdasarkan uraian  di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public.
  17. //Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut.
  18. //Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.
  19.  
  20. class dtMhs{
  21. private ://level akses data anggota private
  22.     struct data{
  23.     int nim;//data anggota
  24.     string nama;//data anggota
  25.     double IPK;//data anggota
  26.     }s;
  27. public:
  28.     dtMhs(){
  29.         s.nim=0;
  30.         s.nama=" ";
  31.         s.IPK=0;
  32.         cout<<"Data Berhasil dibuat"<<endl;
  33.     }//constructor
  34.     ~dtMhs(){
  35.         cout<<"Data Sudah Dihapus";
  36.         cin.get();
  37.     }//destructor
  38.     void store(double IPK,string nama,int nim);//Prototype(SETTER,IMPLEMENTOR)
  39.     void retrieve();//Prototype(ACCESOR,GETTER)
  40. };
  41.  
  42. //b. Selanjutnya definisikan semua fungsi anggota di luar class Struct Ingat jangan lupa untuk menggunakan scope resolution operator ::
  43.  
  44. void dtMhs::store(double IPK,string nama,int nim){
  45.     s.IPK=IPK;
  46.     s.nama=nama;
  47.     s.nim=nim;
  48. }
  49.  
  50. void dtMhs::retrieve(){
  51.     cout<<"Nama : "<<s.nama<<endl<<"NIM : "<<s.nim<<endl<<"IPK : "<<setprecision(3)<<s.IPK;
  52. }
  53.  
  54. //c. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.
  55.  
  56. int main(){
  57.     dtMhs s;
  58.     string nama;
  59.     int nim;
  60.     double ipk;
  61.     cout<<"Masukan Nama : ";
  62.     getline(cin,nama);cin.sync();cin.clear();
  63.     cout<<"Masukan NIM : ";
  64.     cin>>nim ;cin.sync();cin.clear();
  65.     cout<<"Masukan IPK : ";
  66.     cin>>ipk ;cin.sync();cin.clear();
  67.     s.store(ipk,nama,nim);
  68.     s.retrieve();
  69.     cin.get();
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement