Struktur data: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Perbaiki ejaan, tata bahasa, dan nada bahasa |
|||
(13 revisi perantara oleh 9 pengguna tidak ditampilkan) | |||
Baris 1:
{{rapikan}}
Dalam istilah [[ilmu komputer]], '''struktur data''' adalah cara menyimpan dan mengatur data secara terstruktur pada sistem komputer atau [[pangkalan data]] (''database'') sehingga lebih mudah diakses. Secara teknis, data dalam bentuk angka, huruf, simbol, dan lainnya ini diletakkan dalam kolom-kolom dan susunan tertentu. Contoh struktur data dapat dilihat pada berkas-berkas [[lembar sebar]] (''spreadsheet''), pangkalan data, [[pengolah kata]], [[pemampatan citra|citra yang dipampat]] (''compressed image''), dan pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
Dalam teknik [[pemrograman]], struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang
== Penggunaan ==
Struktur data adalah basis dari [[tipe data abstrak]]. Tipe data abstrak mendefinisikan bentuk logis dari sebuah tipe data, sementara struktur data mengimplementasikan bentuk fisik dari tipe data tersebut.<ref>{{cite web |title=Abstract Data Types |url=https://opendsa-server.cs.vt.edu/ODSA/Books/CS3/html/ADT.html |website=Virginia Tech - CS3 Data Structures & Algorithms}}</ref>
Masing-masing jenis struktur data yang berbeda cocok untuk penggunaan-penggunaan yang berbeda, dan beberapa jenis memang dispesialisakian untuk tugas tertentu. Contohnya, [[basis data relasional]] biasanya menggunakan indeks
Struktur data memberikan cara mengelola data yang banyak secara efisien untuk berbagai penggunaan, misalnya untuk [[basis data]] yang besar dan
== Contoh ==
{{main article|Daftar struktur data}}
Ada banyak jenis struktur data, yang biasanya dibuat dari
* ''[[Larik]]'' ({{asal kata|Inggris|array}}) adalah serangkaian elemen dengan urutan tertentu, biasanya semua elemen memiliki tipe yang sama (tergantung bahasanya, masing-masing elemen bisa harus bertipe sama, atau bisa bertipe apa saja). Setiap elemen bisa diakses menggunakan indeks [[bilangan bulat]] yang menentukan elemen mana yang diminta. Implementasinya biasanya mengalokasikan ''word'' memori yang berdampingan untuk elemen-elemen larik (tapi tidak selalu harus begitu). Larik bisa punya panjang yang tetap ataupun ''resizable''.
* ''[[Senarai berantai]]'' ({{asal kata|Inggris|linked list}}) (kadang disebut juga ''senarai'') adalah koleksi linear yang terdiri dari elemen-elemen data berjenis apapun, yang disebut ''node'', di mana setiap ''node'' memiliki sebuah nilai, serta menunjuk ke ''[[Node.js|node]]'' berikutnya di senarai berantai. Keuntungan utama dari senarai berantai dibandingkan dengan larik, adalah nilai-nilainya bisa dimasukkan dan dikeluarkan secara efisien tanpa memindahkan sisa isi senarai. Namun, untuk operasi-operasi lain, seperti melakukan
* ''[[Record]]'' (disebut juga ''tuple'' atau ''struct'') adalah struktur data agregat. Sebuah ''record'' adalah sebuah nilai yang berisi nilai-nilai lain, biasanya dengan banyak dan urutan nilai yang tetap serta diindeks menggunakan nama. Elemen-elemen ''record'' biasanya disebut ''field'' atau ''member''.
*
* ''
* [[Objek (ilmu komputer)|''Objek'']] adalah struktur data yang menampung ''field'' data, seperti ''record'', dan juga mengandung
Data struktur lainnya yang umum digunakan, diantaranya adalah [[Tumpukan (struktur data)|tumpukan]] ({{asal kata|Inggris|stack}}), [[Antrean (struktur data)|antrean]] ({{asal kata|Inggris|queue}}), dan [[Pohon (struktur data)|pohon]] ({{asal kata|Inggris|tree}}).
|