Normal
0
false
false
false
EN-US
JA
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:”Table Normal”;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:””;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:”Calibri”,”sans-serif”;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:”Times New Roman”;
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
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 adalah cara-cara dalam merepresentasikan dunia nyata dan gagasan yang konseptual ke dalam sistem komputer. ADT berisi 2 : Data Representation dan Operation, yaitu proses yang bisa dijalankan kepada data tersebut.
Example : Struct Account Bank
– Data representation :
• Account number
• Account name
• Account balance
– Operation
• View
• Deposit
• Withdrawal
Encapsulation adalah proses untuk ‘membungkus’ atribut dan fungsi member ke dalam objek, dengan tujuan utama adalah Information Hiding.
public class enkapsulasi {
private String nama;
private int umur;
public int getUmur(){
return umur;
}
public String getNama(){
return nama;
}
public void setUmur( int newUmur){
umur = newUmur;
}
public void setNama(String newNama){
nama = newNama;
}
}
Class adalah kumpulan objek dengan atribut dan fungsi yang sama.
class Student{
private :
int nim;
char name[20];
public :
int getNim(){
return nim;
}
char* getName(){
return name;
}
void setName(char* name){
strcpy(this->name, name);
}
void setNim(int nim){
this->nim = nim;
}
};
2. 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?
Abstract Data Type adalah alat yang digunakan untuk menyederhanakan program dengan encapsulation dan information hiding.
b. Apa yang dimaksud dengan propterties suatu ADT?
Abstract Data Type Properties adalah bagian-bagian yang ada dalam ADT.
· Nama Class
· Atribut
· Method
c. Mengapa kita memerlukan ADT?
ADT diperlukan karena ADT bisa menyederhanakan suatu program yang kompleks dengan tujuan terorganisirnya program dengan baik serta mudah dilakukan revisi terhadap program. ADT juga bisa digunakan untuk menyembunyikan bagian yang tidak penting untuk dilihat oleh user melalui fitur information hiding.
d. Bagaimana suatu ADT berhubungan dengan ADT lain?
Sesama ADT saling berhubungan dengan menggunakan access modifier yang digunakan untuk menunjukan tingkat akses dari suatu class, contohnya adalah Private, Protected, dan Public.
e. Apa yang dimaksud dengan ”…dalam ADT implementasi disembunyikan dari user…” Berikan contohnya.
Yang dimaksud dengan menyembunyikan implementasi adalah peran information hiding yang menunjukan tingkat pengaksesan suatu class oleh class lain. Ada 3 jenis tingkat akses, yaitu :
Private(-), yaitu class tersebut hanya bisa diakses oleh class itu sendiri.
Protected(#), class tersebut hanya bisa diakses oleh class itu sendiri dan class turunannya.
Public(+), class tersebut bebas diakses oleh class manapun.
3. 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?
Pada dasarnya Class dan Struct hampir serupa, perbedaannya di dalam class kita dapat memasukkan method dari atribut yang ada dalam class tersebut. Selain itu, keuntungan dari Class adalah mempunyai Constructor yang berfungsi untuk inisialisasi nilai pada class dan Destructor yang berguna untuk dealokasi memory saat sudah tidak digunakan lagi.
- 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
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-
Daniel David / 1701291610 / 02PPTT00440020220133014TM 01
Recent Comments