Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam eu est quis enim commodo aliquet. Vestibulum eleifend venenatis massa. Curabitur rutrum accumsan felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus ut augue eu purus iaculis viverra. Maecenas vehicula dictum diam.

Read More

Kuis dan TM 3

TM 03 : ADT Array dan Struct

 

 

Array adalah suatu ADT. Seperti halnya ADT lain, array mempunyai data anggota dan operasi, metode atau fungsi anggota. Elemen array diakses berdasarkan posisinya di dalam array relatif terhadap elemen pertama. Operasi utama array adalah store dan retrieve. Operassi store untuk menyimpan elemen e di indeks i array A[] adalah A[i] = e sedangkan operasi retrieve untuk mengambil suatu elemen dari array A[] di indeks i dan disimpan di elemen e adalah e = A[i].

 

  1. Desain class Array berdasarkan uraian  ADT Array di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public. Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut. Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.

 

const int MAX =10;

class Array {

private :

int A[MAX};

int i, e;

public :

Array() { for ( i =0; i < MAX; i++) A[i] = 0; }

~Array();

void store( int, int );

int retrieve (int, int);

};

 

  1. Selanjutnya definisikan semua fungsi anggota di luar class Array. Ingat jangan lupa untuk menggunakan scope resolution operator ::

 

void Array :: store (int i, int e) { A[i] = e; }

int Array :: retrieve (int i, int e) { e = A[i]; }

 

  1. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.

 

void main() {

int e;

Array a;

a.store(1,11);

a.store(2,22);

a.store(3,33);

            cout << endl << a,retrieve (3,e);

            cout << endi << a.retrieve(2,e);

            cout << endl << a.retrieve(1,e);

}

Seperti halnya array, struct adalah suatu ADT  yang mempunyai data anggota dan operasi, metode atau fungsi anggota. Elemen, member atau field struct  diakses menggunakan operator dot atau pointer ->. Bentuk umumnya adalah sebagai berikut:

<structure_variabel>.<field_name>

<structure_pointer> ® <field_name>

Operasi utama di struct adalah store(e) dan retrieve(). Operassi store(e) untuk menyimpan elemen e di field i struct s  adalah s.i = e sedangkan operasi retrieve() untuk mengambil suatu elemen dari struct s di field i dan disimpan di elemen e adalah e = s.i.

 

  1. Diketahui struktur dtMhs dengan tiga data anggota : nim, nama dan IPK serta fungsi anggota store() dan retrieve(). Desain class dtMhs berdasarkan uraian  di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public. Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut. Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.

 

Jawab :

 

#include<iostream>

#include<string>

 

using namespace std;

 

class dtMhs {

 

private :

string nim;

string nama;

float IPK;

 

public :

//ini constructor

dtMhs(){

nim = “Belum ada”;

nama = “Belum ada”;

IPK = “0.00”;

 

}

//ini destructor

~dtMhs(){

}

 

void store(string,string,float){};

void retrieve(){

string retrieveNim();

string retrieveNama();

float retrieveIPK();

};

 

 

  1. Selanjutnya definisikan semua fungsi anggota di luar class Struct Ingat jangan lupa untuk menggunakan scope resolution operator ::

 

Jawab :

 

void dtMhs::store(string nim,string nama,float IPK){

this->nim=nim;

this->nama=nama;

this->IPK=IPK;

}

string dtMhs::retrieveNim(string nim){

return nim;

}

string dtMhs::retrieveNama(string nama){

return nama;

}

float dtMhs::retrieveIPK(float IPK){

return IPK;

}

 

  1. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.

 

void main(){

dtMhs obj;

obj.store(“1701293010”,”Michael Wijaya”,4.00);

cout<<obj.retrieveNim<<endl;

cout<<obj.retrieveNama<<endl;

cout<<obj.retrieveIPK<<endl;

}

 

cin.get();

 

 

 

I AM PROUD AS A BINUSIAN

 

 

 

Filed under:Uncategorized

Leave a Reply