Minggu, 24 Februari 2019


STRUKTUR DATA

Pengertian Struktur Data

     Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
         Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.

Jenis-jenis Data

A. Tipe Data Sederhana, yang terdiri dari:

~Data Sederhana Tunggal, misalnya Integer, Real, Boolean, dan Karakter.
~Data Sederhana Majemuk, misalnya String.

B. Struktur Data
  • Struktur Data Sederhana, misalnya Array dan Record.
- Array
          Array adalah struktur data statik yang menyimpan sekumpulan elemen bertipe sama. 
Setiap elemen diakses secara 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 dari Array adalah Larik, tabel, atau vektor. 

- Record 
          Record adalah kumpulan data yang terdiri dari beberapa field(isian) dengan berbagai macam 
  • Struktur Data Majemuk, terdiri dari: 
      o Linier, misalnya: Stack, Queue, dan Linier Linked List.
      o Nonlinier, misalnya Binary Tree, Binary Search Tree, Graph, dll. 


         Linier

 1. Stack(tumpukan) 
                     Stack adalah list linier yang dikenali berupa elemen puncaknya(top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan "diatas"(top) dan penghapusan selalu dilakukan pada "top"). Karena aturan penyisipan dan penghapusan semacam itu, "top" adalah satu- satunya alamat tempat terjadinya operasi. Elemen yang paling akhir ditambahkan akan menjadi elemen yang akan dihapus. Data tersusun secara LIFO.

       2. Queue(antrian) 
                   Queue adalah list linier yang dikenali berupa elemen pertama(head) dan elemen terakhir(tail), dimana aturan penyisipan dan penghapusan elemennya didefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama dengan kondisi satu elemen dengan elemen lainnya dapat diakses melalui informasi "next".

         3. List dan Multi-List(Daftar)
                 List dan Multi-List adalah sekumpulan list linier yang dengan elemen yang bertype sama, yang memiliki keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian.

Non Linier 
  
                    1. Binary-Tree(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 type yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul yang paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah- istilah yang digunakan sama dengan istilah pada pohon secara umum.
 
2. Graph

Graph  merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antar 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. Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.


Contoh-contoh Struktur Data

1.     ARRAY SATU DIMENSI
                Bentuk array yang paling sederhana adalah array satu dimensi. Array jenis ini dapat dianggap sebagai sebuah vektor. Suatu array A berdimensi satu dengan N buah elemen, secara fisik dapat digambarkan sebagai berikut :
Indeks dari elemen suatu array menyatakan posisinya dalam urutan secara umum suatu array A berdimensi satu dengan elemen berjenis data T yang mempunyai indeks dari L s/d U dituliskan sbb: A(L:U) = {A(I)}
Untuk I = L, L+1, L+2, …………….., U-1, U, dimana masing-masing  A(I) berjenis data T.
L disebut sebagai batas bawah dari indeks A dan U sebagai batas atas dari A.
Jumlah elemen dalam suatu array disebut sebagai range.
Range dari array A(L:U) adalah U – L + 1.
Range dari array B(1:N) adalah N – l + 1= N.

2.    ARRAY MULTI DIMENSI
               Array dua dimensi adalah salah satu contoh dari array jenis multi dimensi (dimensi banyak). Array ini elemen-elemennya merupakan array pula. Bentuk yang dianggap dapat mewakili array dua dimensi ini adalah matriks.  Suatu array B yang terdiri atas M elemen dimana masing-masing elemennya berupa array dengan N elemen, dapat digambarkan sebagai suatu tabel MxN.

BY
Nama            : Muhammad Ukaz Haikal
Prodi           : Pendidikan Teknik Informatika (PTI)
Fakultas        : Fakultas Keguruan dan Ilmu Pendidikan (FKIP)
Universitas     : Universitas Muhammadyah Surakarta

Reverensi


Tidak ada komentar:

Posting Komentar