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:
- Representasi dari objects pada suatu type yang tersembunyi dari program unit yang menggunakan objects tersebut
- 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++:
- Berdasarkan struct pada bahasa C dan class pada Simula 67
- Class merupakan encapsulation device
- Class merupakan type
- Seluruh class instance dari suatu class berbagi single copy dari member functions
- Setiap instance dari suatu class memiliki salinan dari class data members.
- 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:
- 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 () {…};
}
.

infonya sangat bermanfaat bagi ane
ReplyDeletepinset bengkok