Selasa, 27 Maret 2018

Stack dan Queue

Assalamualaikum.Wr.Wb.

Hai kawan! Pada pembelajaran struktur data kali ini kita akan memperlajari tentang Stack dan Queue.
Ayo simak pembahasan berikut ini.

Stack


Stack adalah tumpukan, suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja.

Dalam stack terdapat operasi-operasi yang digunakan seperti:
1. Top merupakan sebutan untuk elemen yang paling atas atau tumpukan paling akhir ditambahkan.
2. Bottom merupakan sebutan untuk elemen yang paling bawah atau tumpukan paling awal.
3. Push digunakan untuk mengisikan data dalam stacks
4. Pop digunakan untuk mengeluarkan data dari stacks.

Kita bisa memasukkan data atau push jika top nya belum terisi tetapi jika sudah terisi semua maka stacks sudah penuh.


















Lalu bagaimana cara mengerjakannya ?


Pertama kita memasukkan elemen.

Kita memasukkan elemen  A dan terletak pada isi[1]

















Kita memasukkan elemen  B dan terletak pada isi[2]















Kita memasukkan elemen  C dan terletak pada isi[3]


















Kita memasukkan elemen  D dan terletak pada isi[4]

















Kita memasukkan elemen  E dan terletak pada isi[5]


















Kedua kita mengeluarkan elemen

Kita mengeluarkan elemen  E dan terletak pada isi[5]


















Kita mengeluarkan elemen  D dan terletak pada isi[4]




Kita mengeluarkan elemen C dan terletak pada isi[3]


























Kita mengeluarkan elemen B dan terletak pada isi[2]



















Kita mengeluarkan elemen A dan terletak pada isi[1]



















Stack bersifat LIFO ( Last In Frist Out) yaitu data yang terakhir kali dimasukkan akan pertama kali dikeluarkan dari tumpukan tersebut. Keterbatasan dalam stack yaitu sering menunggu untuk elemen yang awal dimasukkan.


Contoh penggunaan stack:

1. Untuk mengecek kalimat polindrom ( Kalimat = Hasil )
2. Mengubah bilangan desimal ke bilangan biner


mengecek kalimat polindrom yaitu kata yang dibaca dari depan atau dari belakang sama.

Contohnya pada kata KAKAK



























Contoh lainnya LEVEL



















Mengubah bilangan desimal ke bilangan biner

1110 ® X2

Desimal 10 ® Biner 2




















17010 ® X8

Desimal 10 ® Oktal 8









Recursion












































factorial ( 0 )
Jadi jika n = 0 maka hasilnya 1


factorial (1)
1 * factorial (0)


Jadi 1 * 1 = 1


factorial (2)

2 * factorial (1)


Jadi 2 * 1 = 2


factorial (3)

3 * factorial (2)


Jadi 3 * 2 = 6



Queue

Queue atau Antrian yaitu suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung ( disebut dengan sisi belakang atau rear ) dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain(disebut dengan sisi depan atau front).


Enqueue yaitu memasukkan data
Dequeue yaitu mengeluarkan data


Queue bersifat FIFO (First In First Out) yaitu data yang pertama kali dimasukkan akan pertama kali dikeluarkan dari tumpukan tersebut.




























Contoh:


Enqueue

Memasukkan elemen A

A

Memasukkan elemen B

A
B

Memasukkan elemen C

A
B
C

Memasukkan elemen D

A
B
C
D

Memasukkan elemen E

A
B
C
D
E


Dequeue

Mengeluarkan elemen A

A
B
C
D
E

Mengeluarkan elemen B

B
C
D
E

Mengeluarkan elemen C

C
D
E

Mengeluarkan elemen D

D
E

Mengeluarkan elemen E


E





Dari pembahasan diatas, Semoga bermanfaat.

Wassalamualaikum.Wr.Wb.


Tidak ada komentar:

Posting Komentar