TUGAS TM03- PEMROGRAMAN BERORIENTASI OBYEK

TM 03 : ADT and Array (PBO)
(Albert Hendry Harsono/1701296914/02PPT)

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].

a. 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.

class Array{
int arr[10]; //default=private

public :
	array(){
		for(int e=0,i=0;i<10;i++)
			arr[i]=e;
		cout<<"Array Succesfully Constructed\n";
	}; 
	~array(){
		cout<<"Array Succesfully Destructed\n";
		getchar();
	}; 
	void setArr (int e,int i)
	int getArr(int e);
};

b. 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]; }

c. 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.

a. 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.

class dtMhs{

//default=private
struct data{
int nim;
string nama;
float IPK;
}s;

public:
	dtMhs(){
		s.nim=0;
		s.nama=" ";
		s.IPK=0;
		cout<<"Data Berhasil dibuat"<<endl;
	}//constructor
	~dtMhs(){
		cout<<"Data Sudah Dihapus";
		cin.get();
	}
	void store(float IPK,string nama,int nim);
	void retrieve();
};

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

void dtMhs::store(float IPK,string nama,int nim){
	s.IPK=IPK;
	s.nama=nama;
	s.nim=nim;
}

void dtMhs::retrieve(){
	cout<<"Nama : "<<s.nama<<endl<<"NIM : "<<s.nim<<endl<<"IPK : "<<setprecision(3)<<s.IPK;
}

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

int main(){
	dtMhs s;
	string nama;
	int nim;
	float ipk;
	cout<<"Masukan Nama : ";
	getline(cin,nama);cin.sync();cin.clear();
	cout<<"Masukan NIM : "; 	cin>>nim ;cin.sync();cin.clear();
	cout<<"Masukan IPK : "; 	cin>>ipk ;cin.sync();cin.clear();
	s.store(ipk,nama,nim);
	s.retrieve();
	cin.get();
}
This entry was posted in PBO, Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *