Sunday, 15 June 2014

Fitur-fitur Utama dalam Object-oriented Programming (Abstract Data Type)

Abstract Data Type
 
 
Abstract data type merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk berfokus pada inti. Setiap objek dalam sistem berperan sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan.

Abstract data type merupakan user-defined data type yang memenuhi dua kondisi berikut ini:
  1. Representasi dari objects pada suatu type yang tersembunyi dari program unit yang menggunakan objects tersebut
  2. Deklarasi-deklarasi type dan protokol operations pada object suatu type, terdapat dalam syntatic unit tunggal
 
Contoh Abstract Data Type





CONTOH ABSTRACT DATA TYPE

1.) Abstract Data Type dalam C++

Abstract Data Type dalam C++:
  1. Berdasarkan struct pada bahasa C dan class pada Simula 67
  2. Class merupakan encapsulation device
  3. Class merupakan type
  4. Seluruh class instance dari suatu class berbagi single copy dari member functions
  5. Setiap instance dari suatu class memiliki salinan dari class data members.
  6. Instances dapat berupa static, stack dynamic, atau heap dynamic

Contoh code:

class Stack {
  private:
  int *stackPtr, maxLen, topPtr;
  public:
  Stack() { // a constructor
  stackPtr = new int [100];
  maxLen = 99;
  topPtr = -1;
  };
  ~Stack () {delete [] stackPtr;};
  void push (int number) {
          if (topSub == maxLen)
            cerr << ″Error in push - stack is full\n″;
          else stackPtr[++topSub] = number;
       };
  void pop () {…};
  int top () {…};
  int empty () {…};
}

2.) Abstract Data Type dalam Java

 Abstract Data Type dalam Java:
  1. Serupa dengan C++, kecuali:
  • Seluruh user-defined types adalah classes
  • Seluruh object dialokasikan dari heap, dan diakses melalui reference variables
  • Entitas individual dalam class memiliki access control modifiers (private atau public), dibandingkan clauses
  • Java memiliki second scoping mechanism, package scope.
  • Seluruh entitas dalam seluruh kelas dalam package yang tidak memiliki acess control pada modifiers, bersifat visible melalui package


Contoh code:

class StackClass {
  private:
  private int [] *stackRef;
  private int [] maxLen, topIndex;
  public StackClass() { // a constructor
  stackRef = new int [100];
  maxLen = 99;
  topPtr = -1;
  };
  public void push (int num) {…};
  public void pop () {…};
  public int top () {…};
  public boolean empty () {…};
}


.
 

1 comment: