Struktur data: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k →top: pembersihan kosmetika dasar |
k Perbaiki ejaan, tata bahasa, dan nada bahasa |
||
(5 revisi perantara oleh 5 pengguna tidak ditampilkan) | |||
Baris 2:
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 ==
Baris 9:
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 B-tree untuk data retrieval,<ref>{{cite book|chapter-url=http://searchsecurity.techtarget.com/generic/0,295582,sid87_gci1184450,00.html|title=Beginning Database Design|isbn=978-0-7645-7490-0|author=Gavin Powell|chapter=Chapter 8: Building Fast-Performing Database Models|publisher=[[Wrox Press|Wrox Publishing]]|year=2006}}</ref> sedangkan implementasi [[kompilator]] biasanya menggunakan tabel hash untuk menemukan pengidentifikasi.<ref>{{cite web |title=1.5 Applications of a Hash Table |url=http://www.cs.uregina.ca/Links/class-info/210/Hash/ |website=University of Regina - CS210 Lab: Hash Table |access-date=2020-03-25 |archive-date=2020-03-25 |archive-url=https://web.archive.org/web/20200325084342/http://www.cs.uregina.ca/Links/class-info/210/Hash/ |dead-url=yes }}</ref>
Struktur data memberikan cara mengelola data yang banyak secara efisien untuk berbagai penggunaan, misalnya untuk [[basis data]] yang besar dan layanan pengindeksan internet. Biasanya, struktur data yang efisien adalah kunci untuk mendesain [[algoritme]] yang efisien. Beberapa metode desain formal dan [[bahasa pemrograman]] menekankan struktur data, bukan pada
== Contoh ==
{{main article|Daftar struktur data}}
Ada banyak jenis struktur data, yang biasanya dibuat dari tipe data primitif yang lebih sederhana:<ref>{{Cite book|title=Data structures|last=Seymour|first=Lipschutz|date=2014|publisher=McGraw Hill Education|isbn=9781259029967|edition=Revised first|location=New Delhi, India|oclc=927793728}}</ref>
* ''[[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 akses acak terhadap elemen tertentu, senarai lebih lambat dibandingkan dengan larik.
* ''[[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''.
|