1. Struktur Data
Struktur data adalah cara mengatur , menyimpan, dan mengakses data pada komputer. Struktur data memiliki peran krusial dalam efisiensi pengelolaan informasi pada kprogram komputer. Seperti pondasi pada setiap program, struktur data dan algoritma paling berhubungan. algoritma memungkinkan program dapat menggunakan data secara efektif, sementara struktur data menentukan bagaimana cara data disusun dalam suatu kontainer dengan layout tertentu.
Mengingat keterbatasan memori komputer, penataan layout data menjadi krusial untuk menghindari pemborosan ruang memori. Oleh karena itu, penyimpanan data memerlukan "formasi" yang terstruktur supaya data tetap teratur dan meminimalkan penggunaan memori. analogi sederhananya , kita dapat membayangkan xtruktur dztz seperti rzk-rzk di swalayan, misalnya swalayan menyusun minuman, makanan ringan, roti, sabun, dan kebutuhan rumah tangga lainnyasesuai dengan jenis dan kategori barang. dengan susunan tersebut, ketika seorang pelanggan mencari minuman, ia dapat langsung menuju ka rak khusus minumantanpa perlu mengelilingi seluruh swalayan. demikian pentingnya struktur data dalam mengorganisasi dan menyusun informasisupaya dapat diakses secara efisien seperti halnya pelanggan mudah mencari dan mendapatkan barang yang akan di beli di swalayan. klasifikasi struktur data dapat dibagi menjadi dua kategori utama, yaitu linier dan non linier yang masing-masing terbagi menjadi beberapa jenis.
Struktur Data Linier
Struktur Data Statis
jenis struktur data linier dibagi dalam dua jenis, yaitu struktur data statis dan dinamis.
a. Array
array (larik) merupakan struktur data dimana data dengan tipe yang sama namun elemennya berbeda disusun secara berdekatan dengan ukuran yang tetap dalam suatu variabel. setiap elemen memiliki indeks yang memungkinkan akses langsung pada data. analoginya seperti rak jusatau deretan rak susu UHT dalam swalayan.
Produk jus disusun dalam satu larik. pada larik tersebut terdapat berbagai elemen berbeda yaitu berbagai merk jus dan berbagai rasa jus yang berbeda. Terdapat tipe one-dimensional array (1D)dan multi dimensional array (2D, 3D, dan lain-lain). Fungsi array adalah memudahkan pencarian data secara acak melalui indeks.
Struktur Data Dinamis
a. Stack ( Tumpukan )
Stack merupakan struktur data yang memungkinkan penyisipan atau penghapusan item di bagian atas tumpukan. Stack menggunakan prinsip Last In First Out ( LIFO ), artinya elemen terakhir yang dimasukkan adalah yang pertama kali keluar. Mirip dengan tumpukan buku dimana item terakhir yang ditambahkan adalah yang pertama kali keluar.
b. Queue ( Dinamis )
Queue merupakan tipe data linier dengan penambahan elemen di bagian belakang dan penghapusan dibagian depan . Adapun dengan menggunakn prinsip First In First Out ( FIFO ), Artinya elemen terakhir yang dimasukkan adalah yang pertama kali keluar. Mirip dengan tumpukan buku dimana item terakhir yang ditambahkan adalah yang pertama kali keluar.
c. Linked List ( Dinamis )
Lingked List merupakan menghubungkan elemen data melalui node dengan pointer atau link. Link List adalah kumpulan simpul data yang terhubung satu sama lain. Setiap simpul memiliki dua bagian yaitu data dan referensi ke simpul berikutnya dalam urutan. Adapun dengan menambah, menghapus, dan mencari itemdalam daftar.
Jenis struktur data non-linier
Struktur data non-linier adalah struktur data yang tempat elemen-elemennya tidak berurutan atau tidak linier.
a. Tree : Struktur data bertingkat dengan node paling atas ( root ) dan node paling bawah ( leaf ). Jenis binary tree, binary search tree, b-tree, AVL tree dan lain lain . Mirip dengan struktur hubungan dalam keluarga, dimana setiap generasi memiliki anak dan cucu.
b. Graph : kumpulan vertices ( node ) dan edges ( koneksi ) yang membentuk jaringan. Dapat dibandingkan dengan jejaring sosial, dimana setiap individu adalah node dan hubungan antar individu adalah edges.
Fungsi Struktur Data
Adapun didalam dunia IT yang terus berkembang dengan aplikasi dan jumlah data yang besar, struktur data memberikan sejumlah keuntungan, diantaranya sebagai berikut.
a. Pemrosesan data cepat.
b. Pencarian data efisien.
c. Reusabilitas struktur data.
d. Pengorganisasian Informasi.