Soal dan Jawaban Pemrograman Berorientasi Objek : TM1

NAMA: Riyn Winesdyo W.
NIM: 1701292866
KELAS: 02PPT

TM 01
1. 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.
Abstract Data Type atau bisa disebut dengan singkatan 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.

#include
#include
#include
//——————–
// main program class
//——————–
class data
{
public:
int sks;
int nilaitotal;
void input()
{
cout<>sks;
cout<>nilaitotal;
};
void akhir()
{
total=nilaitotal/sks;
};
float hasil()
{
return total;
};
private:
float total;
};
void main()
{
data mahasiswa;
mahasiswa.input();
mahasiswa.akhir();
cout<<"Nilai IP-nya: "<<mahasiswa.hasil();
}

2. Ada tiga karakteristik yang membedakan OOP dengan procedural programming yaitu ADT, inheritance dan dynamic binding, Dua topik terakhir belum kita pelajari sehingga dalam soal ini kita hanya fokus pada ADT.
a. Apa yang dimaksud dengan ADT?

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. Apa yang dimaksud dengan properties suatu ADT?
Properties suatu ADT merupakan bagian-bagian yang dimiliki di dalam ADT.

• Class Name merupaka nama dari kelas itu sendiri
• Data member/attribute merupakan objek-objek dari kelas
• Method/function merupakan definisi dari objek tersebut(operasi yang ingin user lakukan pada objek)

c. Mengapa kita memerlukan ADT?
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 dapa digunakan untuk menyembunyikan bagian-bagian penting yang tidak perlu diperlihatkan pada user.

d. Bagaimana suatu ADT berhubungan dengan ADT lain?
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. Apa yang dimaksud dengan ”…dalam ADT implementasi disembunyikan dari user…” Berikan contohnya.
Implementasi disembunyikan dari user berkaitan dengan information hiding. Information hiding dibagi menjadi 3 yaitu:
• 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.

3. Esensinya tidak ada perbedaan mendasar antara struct dan class tetapi kita lebih suka menggunakan class daripada struct. Uraikan mengapa kita lebih suka menggunakan class daripada struct?
Kita lebih suka menggunakan class daripada struct karena penggunaan enkapsulasi pada class. Kita dapat memasukkan attribute bersamaan dengan methodnya dalam satu kelas. Selain itu pada lass 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().

4. Esensinya class dan struct adalah sama dalam C++. Perbedaan yang signifikan di antara mereka adalah
a. default akses class adalah private sedangkan struct adalah private
b. default akses class adalah private sedangkan struct adalah public
c. default akses class adalah public sedangkan struct adalah private
d. default akses class adalah public sedangkan struct adalah public

5. Interface suatu class terdiri dari
a. data anggota
b. prototipe fungsi anggota
c. implementasi fungsi anggota
d. data anggota dan prototipe fungsi anggota

-d1030-

One thought on “Soal dan Jawaban Pemrograman Berorientasi Objek : TM1

Leave a Reply