Struktur data berguna untuk mengorganisir data di komputer agar dapat digunakan secara efisien.
Tipe-tipe struktur data yang umum adalah sebagai berikut:
1. Array
- Kumpulan data sejenis.
- Memiliki tipe data yang sama (homogen).
- Setiap elemen array disimpan di lokasi memori yang berurutan.
- Masing-masing elemen array memiliki sebuah index yang dimulai dari nol
Contoh array:
- Array 1 Dimensi:
- Deklarasi: int arr[5]; // Syntax: tipe nama[ukuran];
- Akses: arr[1] = 1;
- Array 2 Dimensi:
- Deklarasi: int arr[3][2]; // Syntax: tipe nama[ukuran1][ukuran2];
- Akses: arr[1][1] = 1;
- Array Multi Dimensi:
- Deklarasi: int arr[3][2][5]; // Syntax: tipe nama[ukuran1][ukuran2][…];
- Akses: arr[1][1][1] = 1;
- Array juga dapat diberikan nilai dari fungsi-fungsi seperti fungsi input, atau diakses melalui pengulangan.
- Beberapa operasi yang dapat dilakukan pada array seperti: Transversal, Insertion, Searching, Deletion, Merging & Sorting.
2. Pointer
Pointer adalah tipe data yang nilainya mengacu pada nilai lain yang disimpan di tempat lain di komputer melalui alamatnya.
2 Operator penting yang digunakan dengan tipe pointer adalah:
- & operator alamat
- * operator dereferencing
3. Linked List
- Struktur data yang sangat dinamis yang elemen nya dapat di tambah atau hapus dari mana saja
- Setiap elemen dinamakan simpul (node).
4. Queue
- Seperti layaknya sebuah antrian, elemen yang dimasukan pertama adalah yang pertama kali keluar.
- Juga elemen dalam queue ditambah di sisi yang disebut belakang dan dihapus dari sisi yang dinamakan depan.
5. Stacks
- Stacks dapat direpresentasikan sebagai array yang linear.
- Setiap stack memiliki variabel TOP yang diasosiasikan kepadanya.
- Menggunakan LIFO (Last In First Out) / FILO (First In Last Out) seperti layaknya sebuah tumpukan barang.
6. Binary Trees
- Pohon biner adalah struktur data yang dapat didefinisikan sebagai koleksi elemen-elemen yang dipanggil simpul (node).
- Setiap node memiliki pointer kiri, pointer kanan dan sebuah elemen data.
Tipe Data
Tipe data adalah kumpulan objek dan operasi-operasi yang bekerja pada objek tersebut.
Contoh tipe data yang telah didefinisikan adalah: int, char, float.
Tipe Data Abstrak
Tipe Data Abstrak adalah tipe data yang diorganisir sehingga ciri-ciri objek dengan ciri-ciri operasi pada objeknya terpisah dengan representasi objeknya dan implementasi operasinya.
Di bahasa C/C++ memiliki konsep yaitu class dan struct yang membantu untuk implementasi tipe data abstrak.