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.
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]
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
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
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.