OOP TM 01

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

 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?

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.

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?

  1. Esensinya class dan struct adalah sama dalam C++. Perbedaan yang signifikan di antara mereka adalah
    1. default akses class adalah private sedangkan struct adalah private
    2. default akses class adalah private sedangkan struct adalah public
    3. default akses class adalah public sedangkan struct adalah private
    4. default akses class adalah public sedangkan struct adalah public

     

  2. Interface suatu class terdiri dari

a. data anggota                                                    b. prototipe fungsi anggota

c. implementasi fungsi anggota                        d. data anggota dan prototipe fungsi anggota

-d1030-

Jawaban

  1. ADT : terdiri dari struktur data abstrak dan operasi, dimana struktur data abstrak hanya dapat diakses dengan mendefinisikan operasi. Kumpulan dari berbagai macam operasi ini disebut interface (Antar Muka). Karena operasi ini memiliki interface maka dia dapat dilihat dari luar. Dalam object oriented programming abstrak data type menjadi classnya karena abtsract data type memiliki vraiabel instance yang merupakan variabel dari class. Class ini merupakan betuk nyata dari abstract data type. Class menyediakan detail dari struktur data yang dipergunakan dan operasinya. Perhatikan contoh mendelakrasikan class berikut ini.

class Integer {

attributes:

int i

methods:

setValue(int n)

Integer addValue(Integer j)

}

–          Encapsulation : Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.

Contoh dalam program

Belajar.Java

class belajar{

public String x =”Pintar”;

private String y = “Java”;

}

Pintar.Java

public class Pintar{

public static void main(String[]args){

Coba panggil = new Belajar();

System.out.println(“Panggil X : “+panggil.x);

System.out.println(“Panggil Y : “+panggil.y);

}}

–          Class : suatu frame yang merupakan definisi yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek disebut juga dengan instance.

public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}

2. A. ADT : merupakan model matematika yang merujuk pada sejumlah bentuk struktur data yang memiliki kegunaan atau perilaku yang serupa; atau suatu tipe data dari suatu bahasa pemrograman yang memiliki sematik yang serupa. Tipe data abstrak umumnya didefinisikan tidak secara langsung, melainkan hanya melalui operasi matematis tertentu sehingga membutuhkan penggunaan tipe data tersebut meski dengan resiko kompleksitas yang lebih tinggi atas operasi tersebut

B. Atributte dari suatu entity yang terdiri dari data (data structure) dan operation (function)

C. Untuk mempermudah pemrograman, agar lebih mendekati real world problem.

• Contoh: Masalah Administrasi Pegawai dimana kepala bagian Administrasi meminta anda membuat program

pendataan Pegawai.

– Informasi apa saja yg diperlukan oleh administrasi tersebut?

– Task apa saja yg perlu dikerjakan?

• Pegawai adalah real persons yg memiliki karakteristik properties: name, date of birth, Address, Position Level, dll

D. Struktured data (variable) dalam suatu ADT memiliki 3 sifat yaitu private, public, dan protected. Pada ADT structvariable dapat langsung di akses karena default data access pada struct adalah public. Berbeda dengan struct, classmemiliki default data access private. Untuk mengakses data pada class di perlukan operation dalam class yangterlebih dahulu sudah di deglarasikan sebagai public

E. Information hiding => membatasi pengaksesan data (property) 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. Struct adalah tipe data yang dapat melakukan penyimpanan beberapa data dengan default public. Pembuatan tipe data baru dalam C dilakukan dengan menggunakan kata kunci struct, yang merupakan kependekan dari structure (struktur). Struktur bermanfaat untuk mengelompokan sejumlah data dengan tipe yang berlainan. Class hampir sama seperti struck namun bedanya adalah class dapat memiliki fungsi di dalamnya. Jadi, class adalah beberapa variabel dan fungsi/method yang dikelompokkan di dalam sebuah nama. Variabel-variabel tersebut biasa disebut field dan biasanya merupakan atribut dari class tersebut. Fungsi/method adalah aksi yang dapat dilakukan oleh class tersebut. Lalu Class menggunakan defaultnya itu private, jadi jika objek anggota dari class itu sendiri ingin dipublikasikan, maka harus menggunakan (public 🙂

Karena struct dapat mengelompokan sebuah tipe data yang bermacam-macam lebih mudah daripada class.

4. B default akses class adalah private sedangkan struct adalah public

5. C. implementasi fungsi anggota

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

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