Sunday, March 30, 2014

Stack and Implementation

Pertemuan 5

Pada pertemuan kelima kita diajarkan mengenai Stack and Implementation.

Pada pertemuan ke 5, topik pembicaraan nya memiliki sangkut paut dengan pertemuan ke empat.

Stack : Memiliki 2 konsep , LIFO (Last In First Out) dan FILO (First in Last Out). Sebagai Contoh, semisal ada tumpukan piring, kita pasti mengambil tumpukan piring teratas terlebih dahulu kecuali ada orang yang repot yang ingin mengambil piring dari tengah, Memang ada 2 kemungkinan. Tetapi kalau kita ambil contoh tabung yang hanya memiliki 1 tempat keluar seperti misalkan tabung bola tenis (kalau beli di supermarket beli bola tenis yang 1 tabung memiliki isi 3) hanya bisa dikeluarkan dari one side saja. Itulah konsep dari stacking.
Dalam stacking ada yang dimaksud dengan Top. Yang digunakan untuk mengidentifikasikan parameter yang ada di atas.  Contoh yang sering digunakan adalah Tower Of Hanoi, dimana untuk menyelesaikan masalah tower of hanoi, yang di keluarkan dari tiang masing masing adalah balok yang ada di paling atas.
http://cimg2.ck12.org/datastreams/f-d%3Acc08d399228a21995b73da7e46575c921d662ef2e4c07be06b92392f%2BIMAGE%2BIMAGE.1
Dalam Stack ada 3 macam operasi: push (untuk menambahkan item ke dalam Top of the stack), pop (untuk menghapus item yang ada di Top). dan Top itu sendiri (untuk menunjuk item mana yang ada dipuncak / diatas).
http://www.faqs.org/docs/javap/c11/stack.gif

Queue : Memiliki konsep FIFO (First In First Out) dan LILO (Last in Last Out). Dimana benda yang masuk pertama kali pasti akan keluar terlebih dahulu. Contohnya bila kita sedang mengantri di kasir, orang yang pertama kali mengantri pasti akan keluar terlebih dahulu, First come first serve then out!
Istilah - istilah dalam Queue:
  • Front : Tempat dimana data pertama akan diletakkan.
  • Rear : Tempat untuk menentukan berapa banyak jumlah data yang dimasukkan.
  • Kita juga mengenal instilah Dequeue dan Enqueue. 
  • Dequeue : Melepaskan front, atau mendelete data atau biasa juga disebut pop.
  • Enqueue : Memasukkan data baru.
Bila kita akan mendelete data, maka indikator Front akan mundur. Dan bila kita memasukkan data, maka indikator rear yang akan mundur.

http://www.faqs.org/docs/javap/c11/queue.gif






Pada pertemuan ini kita juga membahasa mengenai postfix, prefix, dan infix, Seperti yang sudah dibicarakan pada pertemuan sebelumnya.
Lalu kita juga diperkenalkan dengan DFS (Depth First Search) dan BFS.

DFS (Depth First Search)

DFS adalah sebuah algoritma untuk mentranvers dan mencari data dalam tree dan graph. DFS biasanya digabungkan dengan cara rekursif.


Algorithma:

Prepare an empty stack

Push source/root into stack

Mark source/root

While stack is not empty

  Pop an item from stack into P

  For each node X adjacent with P

  If X is not marked

  Mark X

  Push X into stack














Nama : Dickson S.
NIM : 1701291283
www.binus.ac.id || www.skyconnectiva.com

No comments:

Post a Comment