Data Structure atau Struktur Data adalah sebuah konsep dalam sebuah komputer yang mengacu pada cara pengaturan data, pengolahan dan kemudian menyimpan data tersebut ke dalam memori atau media penyimpanan dengan tujuan agar dapat diakses dan dimodifikasi kembali secara lebih efektif dan efisien.
Kegunaan Utama
Struktur data memiliki banyak kegunaan di dalam pemrograman. Inilah yang menjadi salah satu alasan, mengapa banyak orang yang kemudian tertarik mempelajari pemrograman. Berikut adalah beberapa kegunaan di antaranya:
- Menyimpan Data dan Mengatur Data : Struktur data akan memudahkan pengguna dalam menyimpan maupun mengatur data secara lebih efisien dan terorganisir.
- Membuat Proses Pemrograman Lebih Mudah : Struktur data juga bisa digunakan untuk membuat sebuah perintah dengan menggunakan bahasa pemrograman yang lebih mudah.
- Meningkatkan Kualitas Algoritma : Struktur data juga bisa meningkatkan efektivitas algoritma menjadi lebih baik.
- Mengelola Sumber Data dan Layanan : Struktur data juga mampu mengatur sumber daya serta layanan di dalam sistem operasi. Di sini, struktur data biasanya memuat alokasi memori, direktori file dan lain sebagainya.
- Pertukaran Data : Melalui struktur aplikasi ini, kamu bisa memberikan informasi dengan lebih cepat dan efisien meskipun dilakukan melalui antar aplikasi.
STRUKTUR DATA GRAPH
Graph terdiri dari beberapa kumpulan titik (node) dan garis (edge).

Node, adalah struktur yang berisi sebuah nilai atau suatu kondisi atau menggambarkan sebuah struktur data terpisah atau sebuah bagian pohon itu sendiri.
Edge, adalah penghubung antara satu node dengan node yang lain. Sebuah garis harus diawali dan diakhiri titik.
Path adalah jalur dari satu titik ke titik lain. Sebuah path yang diawali dan diakhiri dengan titik yang sama disebut juga dengan simpul tertutup.
Berdasarkan orientasi arah sisi nya, graph dapat dibedakan menjadi 2 yaitu :
- Directed graph atau graf berarah adalah graph yang setiap sisi nya memiliki orientasi arah.
- Undirected graph atau graf tak berarah adalah graph yang sisi nya tidak memiliki orientasi arah.
STRUKTUR DATA TREE
Tree adalah struktur data non linier berbentuk hierarki yang terdiri dari sekumpulan node yang berbeda.

Node, adalah struktur yang berisi sebuah nilai atau suatu kondisi atau menggambarkan sebuah struktur data terpisah atau sebuah bagian pohon itu sendiri.
Root, adalah sebuah node yang terletak di posisi tertinggi atau urutan pertama dari suatu tree.
Depth, adalah jarak atau ketinggian antara root dan node.
Degree, adalah banyaknya anak atau turunan dari suatu node.
Ada beberapa cara untuk menggambar sebuah tree, diantaranya dapat dengan :
Graph![]() | Diagram Venn![]() |
Notasi Kurung![]() | Identitas![]() |
Tree yang hanya memiliki maksimal dua child (anak) disebut dengan binary tree atau pohon biner.
Operasi yang terdapat pada binary tree berdasarkan gambar diatas umumnya dapat dilakukan dengan urutan – urutan sebagai berikut :
- Pre Order (DFS – Depth First Search) : A, B, D, E, C, F, G
- In Order : D, B, E, A, F, C, G
- Last Order : D, E, B, F, G, C, A
- Level Order (BFS – Bread First Search): A, B, C, D, E, F, G
- Memiliki struktur hierarkis, dengan satu simpul unik yang disebut akar (root).
- Setiap simpul (kecuali akar) memiliki satu simpul induk (parent).
- Setiap simpul bisa memiliki nol atau lebih simpul anak (child).
- Tidak boleh ada siklus (path dari suatu simpul kembali ke simpul itu sendiri).
- Contoh: Struktur organisasi, sistem file.
- Tidak memiliki struktur hierarkis.
- Tidak ada batasan pada hubungan antar simpul.
- Bisa memiliki siklus.
- Simpul-simpul terhubung melalui sisi (edge).
- Contoh: Jaringan sosial, peta jalan.