Tuesday, March 10, 2015

Struktur Data

Pengaplikasian Struktur Data Pada Keadaan Riil


Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.

Abstract Data Types (ADT) adalah konsep matematis yang mendefinisikan suatu tipe data, terdiri dari sejumlah nilai dan operasi. ADT terdiri dari struktur data abstrak dan operasi, dimana struktur data abstrak hanya dapat diakses dengan mendefinisikan operasi. Sekumpulan data dan operasi terhadap data tersebut, definisi-nya tidak bergantung pada implementasi tertentu. Kumpulan dari berbagai macam operasi tersebut disebut interface (Antar Muka). Dan operasi tersebut dapat dilihat dari luar karena memiliki Interface.
Secara garis besar, ADT ada beberapa bagian yaitu:
• List
• Stack
• Queue

LIST
List merupakan sebuah kumpulan benda di mana setiap benda memiliki posisi.
Misalnya:
• Urutan angka pada keyboard komputer
• Urutan lagu pada playlist Mp3 player
• Dll

STACK
Stack merupakan sebuah kumpulan benda dimana hanya benda yang baru dimasukkan yang dapat diakses atau dilihat, biasa disebut top.
Hal ini berarti bahwa didalam sebuah stack, kita dapat memasukkan (insert) dan menghapus (delete) item hanya dari posisi top tersebut. Item terakhir yang kita masukkan kedalam sebuah stack adalah item yang paling pertama harus kita keluarkan. Itulah mengapa stack juga merupakan perintah pengumpulan data secara linier disebut sebagai Last-In-First-Out (LIFO) data structure. Kalimat sederhana yang dapat menjelaskan konsep tersebut adalah kalimat “Masuk belakangan keluar duluan”.
Didalam kehidupan sehari-hari, terdapat beberapa contoh penerapan algoritma dari data structure ini, seperti membuat suatu tumpukan piring, tumpukan koin, tusuk sate, atau bahkan tumpukan koran, dimana koran yang paling terakhir ditambahkan dan ditaruh di atas tumpukan yang dapat dilihat. Salah satu contoh, dalam membuat suatu tumpukan piring kita pasti menempatkan piring pertama berada pada posisi paling  bawah, dan piring terakhir berada pada posisi paling atas. Nah, ketika kita hendak mencuci atau mengambil piring tersebut, maka kita akan mengambil piring pada tumpukkan atas terlebih dahulu dan seterusnya hingga mencapai piring paling bawah. Hal tersebut juga serupa pada tumpukan buku, koin, tusuk sate dan tumpukan koran. Ilustrasi tersebut merupakan penjelasan konsep LIFO dari stack.
http://data.tribunnews.com/foto/bank/images/Tumpukan-Koran.jpg
Contoh gambar penerapan stack dalam kehidupan sehari-hari

Berikut ini merupakan karakteristik yang dimiliki oleh stack :
- Data hanya dapat di-insert pada posisi top stack
- Data hanya dapat di-delete pada posisi top stack
- Data tidak dapat di-delete dari tengah-tengah stack tanpa memindahkan item yang ada pada atasnya terlebih dahulu

Terdapat 2 operasi basic dalam stack :
- PUSH
- POP

Ketika kita memasukkan data kedalam sebuah stack, kita dapat menyebutnya PUSH. Sebaliknya, jika kita mengeluarkan data dari sebuah stack, kita dapat menyebutnya POP. Untuk lebih memperjelas PUSH dan POP, Simaklah gambar berikut ini.




QUEUE atau ANTRIAN
Queue atau antrian adalah sebuah kumpulan benda di mana hanya benda yang terakhir dimasukkan yang dapat diakses. Queue atau Antrian merupakan perintah pengumpulan data yang disebut “First-In, First-Out”. Aplikasi ini meliputi jadwal pekerjaan dalam sebuah operasi, misalnya antrian printer job pada sebuah jaringan, antrian nasabah pada sebuah bank, dll.

Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut :
a. EnQueue Memasukkan data ke dalam antrian
b. DeQueue Mengeluarkan data terdepan dari antrian
c. Clear Menghapus seluruh antrian
d. IsEmpty Memeriksa apakah antrian kosong
e. IsFull Memeriksa apakah antrian penuh  


Sumber :
http://id.wikipedia.org/wiki/Struktur_data
http://dulmid99.blogspot.com/2013/06/contoh-penerapan-stack-dalam-aplikasi.html
http://www.purwadhikapress.com/konsep-stack.html