ADT adalah tipe data yang merupakan hasil imajinasi kita dengan memberikan beberapa batasan domain maupun operasinya. Contoh : usia,daftarnilai.
ADT juga bisa diartikan dengan kumpulan nilai dan kumpulan operasi yang diizinkan.
AST memungkinkan pendefinisian suatu himpunan nilai di variable disertai operasi-operasi yang izinkan padanya. ADT menyatakan prilaku suatu variabel.

Modul Program

-Modul pada bahasa pemrograman berorientasi objek, diimplementasikan dengan kelas dengan sekumpulan layanan berupa metode publik yang dapat dipanggil oleh pemakai kelas
-Pada bahasa prosedural, modul diimplementasikan sebagai struktur, dan sekumpulan operasi berupa prosedur dan fungsi yang dipanggil pemakai modul lewat pemanggilan prosedur dan fungsi.

Abstraksi data

Persoalan abstraksi data, yaitu:
-struktur data seharusnya menjadi satu bagian internal yang tersembunyi
-pemakai modulu tidak perlu mengetahui struktur data yang digunakan untuk menginplementasikan suatu modul
-pemakai modul hanya diberikan gambaran perilaku, bukan struktur internal dari modul
-fokus pada perilaku objek, membentuk basis pemrograman berorientasi objek
-Abstraksi data memungkinkan kita memperluas bahsa pemrograman dengan tipe data baru
-abstraksi data memungkinkan kita mengabstraksikan rincian-rincian cara data diimplementasikan, menjadi bagaimana objek-objek berprilaku
-abstraksi data berisi sekumpulan objek
-abstraksi data pada prinsipnya merupakan dasar pemrograman berorientas objek (OOP)

Tujuan ADT

-ADT memisah struktur penyimpanan (lokasi memori) dari perilaku
-ADT menyembunyikan informasi atau pengkapsulan, yaitu :
-perubahan implementasi ADT tidak mengubah teks program lain bila
antarmuka tidak berubah
-pemakaian dan pembuatan ADT dapat dilakukan terpisah, hanya perlu
kesepakatan antarmuka pemakaian ADT
-ADT merupakan sarana pemrograman modular dan menjadi landasan pembentukan tim pemrograman
-ADT merupakan sarana untuk membuat modul-modul yang menyerupai dengan konsep-konseo yang ditemukan pada domain persoalan

pembuatan ADT
tahap pembuatan ADT
-spesifikasi
-implementasi
-pemrograman

ADT Homogen adalah Array, yang mampu menampung beberapa variabel yang memiliki tipe data yang sama.
ADT Heterogen adalah Struct, yaitu tipe data bentukan yang berisi kumpulan variabel dengan tipe data sama atau berbeda, struct juga dapat menyimpan variabel array dan struct (disebut juga nested struct, yang berarti struct dalam struct).

Berikut contoh dan cara mendeklarasi sebuah struct:
struct tgl {
int hari;
int bulan;
int tahun;
}