Object Oriented Programming
Posted March 10th, 2014 by michaelwijaya96TM 01
- Ada tiga istilah yang saling berkaitan saat kita mulai mempelajari OOP yaitu ADT (Abstract Data Type), encapsulation dan class. Coba uraikan secara rinci apa yang dimaksud istilah-istilah tersebut. Selain itu berikan contoh-contohnya.
- Ada tiga karakteristik yang membedakan OOP dengan procedural programming yaitu ADT, inheritance dan dynamic binding, Dua topik teerakhir belum kita pelajari sehingga dalam soal ini kita hanya fokus pada ADT.
a. Apa yang dimaksud dengan ADT?
b. Apa yang dimaksud dengan propterties suatu ADT?
c. Mengapa kita memerlukan ADT?
d. Bagaimana suatu ADT berhubungan dengan ADT lain?
e. Apa yang dimaksud dengan ”…dalam ADT implementasi disembunyikan dari user…” Berikan contohnya.
- Esensinya tidak perbedaan mendasar antara struct dan class tetapi kita lebih suka menggunakna class daripada struct. Uraikan mengapa kita lebih suka menggunakan class daripada struct?
- Esensinya class dan struct adalah sama dalam C++. Perbedaan yang signifikan di antara mereka adalah
- default akses class adalah private sedangkan struct adalah private
- default akses class adalah private sedangkan struct adalah public
- default akses class adalah public sedangkan struct adalah private
- default akses class adalah public sedangkan struct adalah public
- Interface suatu class terdiri dari
a. data anggota b. prototipe fungsi anggota
c. implementasi fungsi anggota d. data anggota dan prototipe fungsi anggota
-d1030-
- ADT merupakan cara untuk enkapsulasi/pembungkusan data yang tipe datanya bisa berbeda menjadi suatu tipe data baru.
Enkapsulasi merupakan proses pemaketan pada sebuah data yang bertujuan untuk menyembunyikan informasi dari user/information hiding.
ADT pada OOP disebut dengan class. Class terdiri dari 3 bagian yaitu, class name, attribute/data member, dan method/function. Class adalah sebuah konsep OOP yang digunakan untuk enkapsulasi attribute dan method yang memiliki kesamaan behavior .
class Rectangle {
int width, height;
public:
void set_values (int,int);
int area()
{
return width*height;
}
};
- a. ADT(Abstract Data Type) merupakan penggabungan berbagai object dengan berbagai maca tipe data beserta dengan fungsinya untuk membentuk suatu tipe data baru. ADT dibuat untuk menghindari pemrograman yang kompleks dengan cara menyederhanakan proses pemrograman.
b. Properties merupakan bagian – bagian yang ada di dalam ADT
c. Kita memerlukan ADT karena ADT menyederhanakan proses pemrograman yang kompleks sehingga program yang kita buat terorganisir, dapat dimodifikasi, dan dapat dikompilasi secara terpisah. Selain itu, ADT yang mendukung information hiding dapat digunakan untuk menyembunyikan bagian-bagian penting yang tidak perlu diperlihatkan pada user.
d. Suatu ADT berhubungan dengan ADT lain menggunakan access modifier yang merupakan kata kunci yang digunakan untuk menentukan spesifikasi tingkat akses suatu attribute atau method. Kata kunci tersebut adalah private, protected, dan public.
e. Yang dimaksud adalah information hiding. Information hiding dalam ADT dapat dibagi menjadi 3 :
- Private(-), dimana attribute dan method hanya bisa diakses oleh class-nya sendiri.
- Protected(#), attribute dan method hanya bisa diakses oleh class itu sendiri dan turunannya.
- Public(+), attribute dan method bisa diakses oleh class-nya sendiri, class lain, atau pun dari lingkungan luar class.
- Kita lebih suka menggunakan class daripada struct karena penggunaan enkapsulasi pada class. Kita dapat memasukkan attribute bersamaan dengan method dalam satu kelas. Selain itu pada class terdapat constructor dan destructor yang berguna untuk dealokasi memory. Constructor merupakan method khusus yang dijalankan secara otomatis tanpa harus dipanggil saat instance dibuat. Constructor digunakan untuk inisialisasi nilai terhadap data-data yang terdapat pada kelas yang bersangkutan. Sedangkan destructor secara otomatis akan dipanggil oleh compiler ketika objek meninggalkan blok main().
Leave a Reply