algoritma dan struktur data - adt

Post on 05-Jul-2015

166 Views

Category:

Engineering

14 Downloads

Preview:

Click to see full reader

DESCRIPTION

Pengenalan Tipe data abstrak

TRANSCRIPT

Tipe Data Abstrak (TDA)

Algoritma dan Struktur Data

Kuliahkita - Edwin Lunando

TDA adalah sebuah definisi tipe dan operasi primitif (kumpulan fungsi atau prosedur) yang beroperasi pada tipe struktur data.

TDA merupakan sebuah tipe bentukan yang didefinisikan dan dapat juga mengandung TDA lainnya.

Contoh: TDA waktu, terdiri dari TDA jam dan TDA tanggal

Tipe Data Abstrak (TDA)

Tipe atau Type pada pemrograman bahasa yang bersangkutan tertentu akan terdefinisi sesuai ketentuan bahasa tersebut.

Misal: struct pada bahasa C++

Tipe

Primitif dalam konteks prosedural diterjemahkan sebagai operasi method baik berupa fungsi atau prosedur.

Dalam tipe, primitif terdapat beberapa konvensi dan operasi dasar yang sudah menjadi ketentuan dalam pemrograman.

Primitif

Daftar Primitif● Konstruktor : pembentuk nilai tipe● Desktruktor : menghancurkan bersama memorinya● Selektor : mengakses komponen (umumnya nama method diawali

get)● Pengubah : mengubah komponen (umumnya nama method diawali

set)● Validator : pemeriksaan apakah dapat membentuk tipe sesuai kriteria● Baca/Tulis : interface dengan input/output device● Operator relasional : operator apakah lebih kecil, lebih besar, dll● Aritmatika : operasi aritmatika terhadap tipe atau komponennya● Konversi : konversi ke tipe dasar atau sebaliknya

Contoh Definisi Tipe Jam{ Definisi TYPE JAM <HH:MM:SS> }

TYPE Hour : integer [0..23]

TYPE Minute : integer [0..59]

TYPE Second : integer [0..59]

TYPE JAM : < HH: Hour, { Hour [0..23] }

MM: Minute, { Minute [0..59] }

SS: Second, { Second[0..59] } >

Contoh Primitif Tipe Jamfunction getHour (J: JAM) → integer

{ Mengembalikan nilai Hour }

procedure setHour (Input/Output: JAM, Input newHour: integer)

{ Menentukan nilai Hour }

ADT Jam pada C++

int getHour(JAM J) { return J.Hour; // Mengembalikan nilai Jam dari J}

void setHour(JAM J, int newHour ) { if(newHour >= 0 && newHour <=23) // pemeriksaan apakah jam valid J.Hour = newHour; // set newHour sebagai jam ke J else cout << “Jam tidak valid” // beritahu bahwa jam tidak valid}

typedef struct jam{ int Hour; int Minute; int Second;} JAM // ADT Jam

top related