STRUKTUR
DATA
A. Pengertian
Struktur Data adalah tata cara untuk melakukan penyimpanan,
penyusunan, dan pengaturan data agar data dapat digunakan secara efisien. Dalam
bahasa pemrograman struktur data adalah tata letak kolom-kolom data, baik yang terlihat
oleh pengguna maupun yang tidak terlihat oleh pengguna, yang tidak terlihat
tersebut hanya digunakan dalam proseses program saja.
B. Kegunaan
1.) Memudahkan
dalam memahami dan memecahkan masalah
algoritma
2.) Meningkatkan efisiensi
memori saat program
komputer sedang bekerja
3.) Proses
reservasi memori yang tidak perlu akan diminimalisasi
C. Jenis-jenis
1. Struktur
data sederhana , meliputi:
a. Array
(Larik)
Larik adalah struktur data statik yang menyimpan
sekumpulan elemen yang bertipe sama,
misalnya tipe sederhana, tipe terstruktur dan lain-lain. Setiap elemen
dapat diakses langsung melalui indeksnya. Indeks larik harus berupa tipe data yang berurutan dan banyaknya elemen
larik harus diketahui dahulu sebelum program dieksekusi.
b. Record
(catatan)
Catatan adalah kumpulan data yang terdiri dari beberapa
field (isian) dengan berbagai macam tipe data.
2. Struktur
data majemuk, meliputi:
a.
Linear
Queue (Antrian)
Queue
(Antrian) adalah list linear yang dikenali elemen pertama (head) dan elemen terakhirnya (tail).
Aturan penyisipan selalu dilakukan setelah elemen terakhir, dan aturan
penghapusan selalu dilakukan pada elemen pertama. Antar elemen satu dengan yang
lain dapat diakses melalui informasi next.
Stack
(Tumpukan)
Stack (Tumpukan)
adalah list linear yang dikenali elemen puncaknya (top). Aturan penyisipan selalu dilakukan diatas top, dan aturan penghapusan selalu
dilakukan pada top. Elemen yang di
tambahkan paling terakhir itulah elemen yang akan dihapus. Elemen stack
tersusun secara LIFO (Last In First out).
List
dan Multi-List (Daftar)
List dan Multi-List (Daftar)
adalah sekumpulan list linear dengan elemen yang bertype sama dan memiliki
urutan tertentu. Setiap elemennya memiliki 2 bagian.
b. Non
Linear
Binary
tree (Pohon Biner)
Binary tree (Pohon Biner)
adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul
yang disebut akar dan dua buah himpunan lain yang disjoint yang disebut sub
pohon kiri (left) dan sub pohon kanan (right). Karakteristik pohon biner adalah
setiap simpul paling banyak hanya memiliki dua buah anak dan mungkin tidak
punya anak.
Graph
(Graf)
Graph (Graf) adalah struktur
data yang paling umum. Struktur graph memungkinkan keterhubungan tak terbatas
antara entitas-entitas data.
Jenis Struktur Data
1. Struktur Data Sederhana
a. Array(Larik)
Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vektor
b. Record(Catatan)
ADT adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan.
2. Struktur Data Majemuk
1. Linier
Stack(Tumpukan) Stack (tumpukan) adalah list linier yang dikenali elemen puncaknya (top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan “di atas” (top), penghapusan selalu dilakukan pada top). Karena aturan penyisipan dan penghapusan semacam itu, top adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack akan tersusun secara LIFO (Last In First Out).
Queue(Antrian)
Queue (antrian) adalah list linier yang dikenali elemen pertama (head) dan elemen terakhirnya (tail); Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu elemen dengan elemen lain dapat diakses melalui informasi next.
List dan Multi-List (Daftar)
List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali dengan (1) elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut (first); (2) Alamat elemen berikutnya (suksesor), jika kita mengetahui alamat sebuah elemen, yang dapat diakses melalui field next; (3) Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses; (4) Elemen terakhirnya.
2. Non-Linier
Binary Tree (Pohon Biner)
Sebuah pohon biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left) dan sub pohon kanan (right) dari pohon biner tersebut. Pohon biner merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara umum.
Graph (Graf)
Graph merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas-entitas data dalam masalah-masalah nyata secara alamiah memiliki keterhubungan langsung (adjacency) secara tak terbatas demikian. Contoh: informasi topologi dan jarak antar kota-kota di pulau Jawa. Dalam masalah ini kota X bisa berhubungan langsung dengan hanya satu atau lima kota lainnya. Untuk memeriksa keterhubungan dan jarak tidak langsung antara dua kota dapat diperoleh berdasarkan data keterhubungan-keterhubungan langsung dari kota-kota lainnya yang memperantarainya. Representasi data dengan struktur data linier ataupun hirarkis pada masalah ini masih bisa digunakan namun akan membutuhkan pencarian-pencarian yang kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan pada strukturnya sendiri.
a. Array(Larik)
Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vektor
b. Record(Catatan)
ADT adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan.
2. Struktur Data Majemuk
1. Linier
Stack(Tumpukan) Stack (tumpukan) adalah list linier yang dikenali elemen puncaknya (top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan “di atas” (top), penghapusan selalu dilakukan pada top). Karena aturan penyisipan dan penghapusan semacam itu, top adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack akan tersusun secara LIFO (Last In First Out).
Queue(Antrian)
Queue (antrian) adalah list linier yang dikenali elemen pertama (head) dan elemen terakhirnya (tail); Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu elemen dengan elemen lain dapat diakses melalui informasi next.
List dan Multi-List (Daftar)
List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali dengan (1) elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut (first); (2) Alamat elemen berikutnya (suksesor), jika kita mengetahui alamat sebuah elemen, yang dapat diakses melalui field next; (3) Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses; (4) Elemen terakhirnya.
2. Non-Linier
Binary Tree (Pohon Biner)
Sebuah pohon biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left) dan sub pohon kanan (right) dari pohon biner tersebut. Pohon biner merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara umum.
Graph (Graf)
Graph merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas-entitas data dalam masalah-masalah nyata secara alamiah memiliki keterhubungan langsung (adjacency) secara tak terbatas demikian. Contoh: informasi topologi dan jarak antar kota-kota di pulau Jawa. Dalam masalah ini kota X bisa berhubungan langsung dengan hanya satu atau lima kota lainnya. Untuk memeriksa keterhubungan dan jarak tidak langsung antara dua kota dapat diperoleh berdasarkan data keterhubungan-keterhubungan langsung dari kota-kota lainnya yang memperantarainya. Representasi data dengan struktur data linier ataupun hirarkis pada masalah ini masih bisa digunakan namun akan membutuhkan pencarian-pencarian yang kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan pada strukturnya sendiri.
#Referensi :
1.http://lutfianaridahani.blogspot.com/2017/02/normal-0-false-false-false-en-us-x-none.html
2.http://learning.fr-system.web.id/matematik/artikel/sdper1jnsstrukutrdata
Tidak ada komentar:
Posting Komentar