Tutorial Tentang Double Stack - Alfi Zulfian Abdi - 1144024 - 2

00:15 Pemrograman Web 0 Comments






Untuk Pengertian Double stack secara bahasa, Stack ialah tumpukan. Jika dihubungkan dengan struktur data, Stack ialah sekumpulan data yang organisasi atau strukturnya yang seperti tumpukan atau serupa dengan tumpukan.
Double Stack atau Stack Ganda ialah stack yang hanya terdiri dari dua single stack. Jika stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus melalui salah satu arah.
Di dalam proses double stack terdapat lima macam proses utama, yaitu :
–          Inisialisasi
–          PUSH1 (Proses Push untuk Single Stack pertama)
–          POP1 (Proses Pop untuk Single Stack pertama)
–          PUSH2 (Proses Push untuk Single Stack kedua)
–          POP2 (Proses Pop untuk Single Stack kedua)

PUSH
Proses push adalah proses memasukkan data baru ke stack indeks selanjutnya
POP
Proses pop adalah proses mengeluarkan  / mengambil data dari stack dengan indeks yang disimpan pada variable top.
INISIALISASI
Proses inisialisasi merupakan proses awal yang dilakukan untuk menyimpan indeks penunjuk stack.

Algoritma dasar masing – masing proses adalah sebagai berikut :
INISIALISASI
top1 = -1;top2 = MAX_ARRAY;
PUSH1
top1 = top1 + 1;array[top1] = variable_tampung;
POP1
variable_tampung = array[top1];top1 = top1 – 1;
PUSH2
top2 = top2 – 1;array[top2] = variable_tampung;
POP2
variable_tampung = array[top2];top2 = top2 + 1;

STACK

a)    Definisi
Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.
Double Stack dengan Array
Metode ini adalah teknik khusus yang dikembangkan untuk menghemat pemakaian memori dalam pembuatan dua stack dengan array. Intinya adalah penggunaan hanya sebuah array untuk menampung dua stack. Tampak jelas bahwa sebuah array dapat dibagi untuk dua stack, stack 1 bergerak ke atas dan stack 2 bergerak ke bawah. Jika Top 1 (elemen teratas dari Stack 1) bertemu dengan Top 2 (elemen teratas dari Stack 2)  maka double stack telah penuh. Implementasi double stack dengan array adalah dengan memanfaatkan operasi-operasi yang tidak berbeda jauh dengan operasi single stack dengan array.
Operasi – operasi Double Stack Array


Is Full
Fungsi ini memeriksa apakah double stack sudah penuh. Stack dianggap penuh jikaTop [0] dan Top [1] bersentuhan sehingga stack tida memiliki ruang kosong. Dengan kata lain, (Top[0] + 1) > Top[1].
Push
Fungsi ini memasukkan sebuah elemen ke salah satu stack.
Is Empety
Fungsi memeriksa apakah stack pertama atau stack kedua kosong. Stack pertama dianggap kosong  jika puncak stack bernilai kurang dari nol, sedangkan stack kedua dianggap kosong  jika puncak stack sama atau melebihi MAX_STACK.
Pop
Fungsi ini mengeluarkan elemen teratas dari salah satu stack.
Clear
Fungsi ini mengosongkan salah satu stack.
Fungsi dalam Stack :

* Fungsi init : fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong.
* Fungsi full : digunakan untuk mengetahui stack penuh atau tidak.
* Fungsi empty : digunakan untuk mengetahui stack kosong atau tidak.
* Fungsi clear : digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1.
* Fungsi push : digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast.
* Fungsi pop :  digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong.
Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast.



Link Github :


Plagiarism :



0 komentar: