Sabtu, 23 Februari 2019



Pengertian

Struktur data merupakan cara tertentu untuk menyimpan dan mengatur atau melakukan organisasi sebuah data baik dalam memory komputer maupun penyimpanan eksternal sehingga dapat digunakan secara efisien. Struktur data pada dasarnya merupakan sekelompok elemen data yang direpresentasikan kedalam sebuah nama, dan mendefinisikan cara tertentu didalam menyimpan dan mengatur data pada komputer sehingga dapat digunakan secara efisien. Dengan kata lain, efektivitas organisasi data merupakan hal yang paling penting yang harus diperhatikan.
Penggunaan struktur data dapat ditemukan pada hampir semua program atau sistem perangkat lunak (software). Saah satu contoh struktur data yansering ditemui adalah array, linked list, queue, stack, binary tree, graph dan hash table. Sedangkan untuk contoh penerapan struktur data misalnya dilakukan pada Database Management System (DBMS), dimana model aplikasi jaringan antar data dilakukan menggunakan graph, hierarki model penggunaan tree, dan Relational Database Management System (RDBMS) sendiri adalah array.
Struktur data merupakan hal penting yang tidak bisa ditinggalkan dalam sebuah algoritma, karena dengan struktur data yang baik akan menjadikan program secara mudah dan efisien oleh para pembuat program meskipun data yang dibuat cukup besar. Dengan struktur data yang tepat maka akan menghasilkan sebuah program yang berjalan secara cepat sesuai degan kinerja yang diinginkan. Langkah yang perlu diperhatikan dalam menentukan struktur data antara lain :
  1. Melakukan analisis masalah untuk menentukan operasi dasar yang harus digunakan. Misalnya operasi yang melibatkan insert atau delete atau searching data dari struktur data.
  2. Banyaknya resource constraint atau kendala sumber daya untuk setiap operasi.
  3. Memilih struktur data terbaik yang memenuhi kriteria permasalahan.

Ilustrasi penggunaan struktur data yang bisa ditemui dala kehidupan sehari hari misalnya, seorang petugas perpustakaan memiliki buku yang hendak disusun urut dari nomor terkecil hingga terbesar.


Klasifikasi Struktur data
Secara umum, struktur data dikelompokkan menjadi dua kategori, antara lain :
  1. Struktur data primitif (primitive) atau sederhana
  2. Struktur data primitif adalah tipe data yang dasar yang didukung oleh bahasa pemrograman, beberapa contohnya antara lain :
    1. Integer
    2. Real
    3. Char
    4. Boolean.


  3. Non-primitif (non-primitive) atau majemuk
  4. Struktur data non-primitif adalah struktur data yang dibuat menggunakan struktur data primitif. Struktur data non-primitf lebih lanjut diklasifikasikan menjadi dua kategori, yaitu: 
    1. Linier
    2. Elemen struktur data disimpan dalam urutan linier atau sekuensial. Contoh dari struktur data linier adalah :
      1. Stack
      2. Stack adalah list linier yang dikenlai berupa elemen puncaknya. 
      3. Queue
      4. Queue adalah list linier yang dikenali berupa elemen pertama (head) dan elemen terakhir (tail).
      5. List
      6. List dan multi-list adalah sekumpulan list linierr yang berupa elemen yang bertipe sama yang memiliki keterututan tertentu, yang setiap elemennya terdiri dari dua bagian.
    1. Non-linier
    2. Elemen struktur data yang disimpan tidak disimpan secara berurutan. Contoh dari struktur data non linier adalah :
      1. Binary tree
      2. Binary-tree adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disebut disjoint yang merupakan pohon biner yang disebut sebagai sub-pohon kiri (left) dan sub-pohon kanan (right) dari pohon biner tersebut.
      3. Graph
      4. Graph merupakan struktur data yang paling umum. 


Tipe Data Abstrak (TDA)
             Tipe Data Abstrak (TDA) atau Abstract Data Type (ADT) merupakan cara untuk melihat struktur data dengan fokus pada apa yang akan diilakukan dan mengabaikan proses yang terdapat didalamnya saat menjalankan eksekusi. Misalnya stack dan queue adalah contoh sempurna ADT, dapa menggunakan array atau linked list tanpa harus melihat bagaimana proses didalamnya. Hal ini menunjukan ‘abstract’ atau stack dan queue tersebut.

Notasi Big-O
          Suatu permasalah dalam sebuah program dapat diselesaikan dengan beberapa macam algoritma. Hal ini disebabkan oleh adanya keinginan seseorang untuk membuat algoritma baru dengan tingkat efisiensi yang lebih baik. Untuk mengetahui tingkat efektivitas suatu algoritma tersebut dapat dilakukan dengan menggunakan Notasi Big-O.

             Kompleksitas suatu algoritma dapat dinilai menggunakan Notasi Big-O (Big O Notation) atau notasi Landau atau notasi asimptotik, yaitu notasi matematika yang cara bekerjanya memperhitungkan input (masukan) dari user.



Artikel diatas diketik oleh :
Prodi : Pendidikan Teknik Informatika
Universitas Muhammadiyah Surakarta
berdasarkan referensi seperti yang tertera dibawah.


Referensi
           Wantoro, Jan dan Sukirman. 2017. Algoritma dan Struktur Data dalam Bahasa C/C++. Surakarta: Muhammadiyah University Press.

segala informasi . 2017 Copyright. All rights reserved. Designed by Blogger Template | Free Blogger Templates