Algoritma dan Struktur Data - adt

8

Click here to load reader

description

Pengenalan Tipe data abstrak

Transcript of Algoritma dan Struktur Data - adt

Page 1: Algoritma dan Struktur Data - adt

Tipe Data Abstrak (TDA)

Algoritma dan Struktur Data

Kuliahkita - Edwin Lunando

Page 2: Algoritma dan Struktur Data - adt

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)

Page 3: Algoritma dan Struktur Data - adt

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

Misal: struct pada bahasa C++

Tipe

Page 4: Algoritma dan Struktur Data - adt

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

Page 5: Algoritma dan Struktur Data - adt

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

Page 6: Algoritma dan Struktur Data - adt

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] } >

Page 7: Algoritma dan Struktur Data - adt

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

{ Mengembalikan nilai Hour }

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

{ Menentukan nilai Hour }

Page 8: Algoritma dan Struktur Data - adt

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