Tuesday, October 23, 2012

Stack

Stack pada Struktur Data

Stack adalah sebagai tumpukan dari benda, sekumpulan data yang seolah-olah diletakkan di atas data yang lain, koleksi dari objek-objek homogen, atau Suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Stack pada Struktur Data dapat diilustrasikan dengan dua buah kotak yang ditumpuk, kotak yang satu akan ditumpuk diatas kotak yang lainnya. Jika kemudian stack 2 kotak tadi, ditambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan diperoleh sebuah stack kotak yang terdiri dari N kotak. 
g lainnya. Jika kemudian stack 2 kotak tadi, ditambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan diperoleh sebuah stack kotak yang terdiri dari N kotak. 

Stack bersifat LIFO (Last In First Out) artinya Benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari stack 
Operasi-operasi yang biasanya tredapat pada Stack yaitu:
1. Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
2. Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
3. Clear : digunakan untuk mengosongkan stack
4. IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
5. IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
Cara mendefenisikan Stack dengan Array of Struct yaitu:
1. Definisikan Stack dengan menggunakan struct
2. Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi stack
3. Buatlah variabel array data sebagai implementasi stack
4. Deklarasikan operasi-operasi/function di atas dan buat implemetasinya.

Tuesday, October 2, 2012

Struktur Data List Linear

Definisi

Struktur data linear adalah kumpulan komponen-komponen yang tersusun membentuk satu garis linear. Bila komponen-komponen ditambahkan (atau dikurangi), maka struktur-struktur tersebut berkembang (atau menyusut).
  • Stack: struktur data linear dimana penambahan atau pengurangan komponen dilakukan di satu ujung saja.
  • Queue: struktur data linear dimana penambahan komponen dilakukan di satu ujung, sementara pengurangan dilakukan di ujung lain (yang satu lagi).
Kedua struktur tersebut merupakan ADT dimana implementasi pada tingkat rendah dapat sebagai list, baik  menggunakan struktur sequential (array) atau struktur berkait (linear lenked-list)


Karakteristik Stack

  • Semua akses dibatasi pasa elemen yang paling akhir disisipkan
  • Operasi-operasi dasar : push, pop, top.
Contoh nyata
  • Tumpukan kertas 
  • Tumpukan piring 
Waktu O (1) per operasi stack.
Jadi waktu konstan per operasi, tidak bergantung berapa banyak item yang tersimpan didalam stack

Contoh penggunaan Stack :
Memeriksa pasangan tanda kurung (Balanced Symbol). Misal { [ ( ) ] } (Contoh benar), { ( [ ) ]} (contoh salah)

Karakteristik Queue

  • Setiap akses dibatasi ke elemen yang paling terdahulu disisipkan
  • Operasi-operasi dasar : enqueue, dequeue,getFront
  • Opeasi-operasi dengan waktu konstan. Waktu operasi O(1) karena mirip dengan stack
Contoh nyata
  • Antrian printer
  • Antrian tiket bioskop

Sumber :
  • http://www.scribd.com/doc/56820705/34/Struktur-data-linear
  •  http://aren.cs.ui.ac.id/sda/archive/1998/handout/handout09.html

Monday, October 1, 2012