Data Structure 1: Pointer, Array and Introduction to Data Structure

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:

  1. Array 1 Dimensi:
    • Deklarasi: int arr[5]; // Syntax: tipe nama[ukuran];
    • Akses: arr[1] = 1; 
  2. Array 2 Dimensi:

    • Deklarasi: int arr[3][2]; // Syntax: tipe nama[ukuran1][ukuran2];
    • Akses: arr[1][1] = 1; 
  3. 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

images

  • 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.