Patrick Aditya FW /02 PPT/1701293490
TM 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-
1.
I.Tipe data abstrak (ADT) dapat didefinisikan sebagai model matematika dari objek data yang menyempurnakan tipe data dengan cara mengaitkannya dengan fungsi-fungsi yang beroprasi pada data yang bersangkutan.
Contoh ADT
A.Tipe jadi (built-in): boolean, integer, real, array, dll
B.Tipe buatan (user-defined): stack, queue, tree, dll
ADT Built-in:
Boolean
Nilai: true dan false
Operasi: and, or, not, xor, dll
Integer
Nilai: Semua bilangan
Operasi: tambah, kurang, kali, bagi, dll
B. ADT buatan (user-defined) :
Stack (tumpukan)
Nilai : elemen dalam stack
Operasi: create, destroy, push, pop
Queue (antrian)
Nilai: elemen dalam Queue
Operasi: create, destroy, enqueue, dequeue
, dll
II.Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain.
Contoh class:
public class hewan {
String nama,jenis_kelamin,warna, makan;
public void set_nama(String nm){
nama=nm;
//System.out.println(“Nama aku “+nama);
}
String getnama()
{
return nama;
}
public void set_warna(String wn){
warna=wn;
System.out.println(“Warna aku “+warna);
}
public void makan(String mkn){
makan=mkn;
System.out.println(“makanan aku “+makan);}}
III.Enkapsulasi memiliki arti mengelompokkan program kedalam satu unit sehingga program menjadi mudah digunakan.
Mampu menangani berbagai input yang diberikan dan menghasilkan output yang benar.
Melindungi program dari pengaksesan variabel kritis oleh proses atau perubahan oleh programer selama tahap pembangunan program.
Contoh Enkapsulasi:
package cobapaket;
import pbo2011.Matriks;
public class aplikasimatrik {
int[][] A={{1,1,1},{2,2,2}};
int[][] B={{10,10,10},{20,20,20}};
public static void main(String args[])
{
aplikasimatrik am=new aplikasimatrik();
Matriks m=new Matriks();
int[][] C={{2,2,2},{2,2,2},{3,3,3}};
System.out.println(m.coba(“Saya”));
System.out.println(“Matriks A :”);
m.cetakmatrik(am.A);
System.out.println(“Matriks B :”);
m.cetakmatrik(am.B);
System.out.println(“Matriks A + Matris B :”);
m.cetakmatrik(m.matrikjumlah(am.A, am.B));
System.out.println(“Matriks A * Matriks C :”);
System.out.println(“Matriks A * Matriks B :”);
m.cetakmatrik(m.perkalianmatrik(am.A, am.B));
}
}
2. a.Tipe data abstrak (ADT) dapat didefinisikan sebagai model matematika dari objek data yang menyempurnakan tipe data dengan cara mengaitkannya dengan fungsi-fungsi yang beroprasi pada data yang bersangkutan.
b.Properties dari ADT adalah menjelaskan bagaimana object direpresentasikan dalam suatu program.
c. ADT diperlukan karena ADT dapat menyederhanakan program yang kompleks menjadi terorganisasi, dapat dimodifikasi, dan kompilasi terpisah, dan dapat diandalkan dengan menyembunyikan representasi data, sehingga pengguna (user) tidak dapat mengakses objek secara langsung.
d. ADT berhubungan dengan ADT yang lain dengan lain menggunakan access modifier yang merupakan kata kunci yang digunakan untuk menentukan spesifikasi tingkat akses suatu attribute atau method, yaitu public, protected, private.
e. Information hiding dapat membatasi pengaksesan data dari suatu ADT
Public : Bagian class yang dapat diakses oleh umum baik dari dalam maupun dari luar class
Protected : Bagian class yang dapat diakses oleh linkungan internal class dan class turunannya
Private : Bagian class yang hanya dapat diakses oleh linkungan internal class itu sendiri
3. . Perbedaan antara Class dan Struct:
– Class adalah sesuatu yang mempunyai data (sifat) dan fungsi (kelakuan) untuk mendeskripsikan suatu objek.
– Struct mendefinisikan tipe data dan memberitahukan kepada Visual C++ untuk memperlakukan koleksi tipe data dasar sebagai satu kesatuan tipe data, yang darinya dapat mendefinisikan variabel dan array variabel.
Kebanyakan memilih class karena kita dapat mengatur settingan class tersebut menjadi private,public ataupun protected sehingga kita dapat mengontrol siapa saja yang dapat mengakses data tersebut sehingga keamanan dan privasi data lebih terjamin.
4. Esensinya class dan struct adalah sama dalam C++. Perbedaan yang signifikan di antara mereka adalah default akses class adalah private sedangkan struct adalah public
5. Interface suatu class terdiri dari implementasi fungsi anggota.
Recent Comments