algoritma dan struktur data - adt
DESCRIPTION
Pengenalan Tipe data abstrakTRANSCRIPT
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