0% menganggap dokumen ini bermanfaat (0 suara)
27 tayangan4 halaman

Konsep dan Operasi Struktur Data Stack

Modul ini menjelaskan tentang stack sebagai struktur data yang menyimpan data secara linear dengan akses hanya dari satu sisi saja (atas). Stack bersifat LIFO dimana elemen terakhir masuk akan keluar terlebih dahulu. Modul ini juga menjelaskan operasi dasar pada stack seperti push, pop, peek, isFull dan isEmpty.

Diunggah oleh

endraendramers
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
27 tayangan4 halaman

Konsep dan Operasi Struktur Data Stack

Modul ini menjelaskan tentang stack sebagai struktur data yang menyimpan data secara linear dengan akses hanya dari satu sisi saja (atas). Stack bersifat LIFO dimana elemen terakhir masuk akan keluar terlebih dahulu. Modul ini juga menjelaskan operasi dasar pada stack seperti push, pop, peek, isFull dan isEmpty.

Diunggah oleh

endraendramers
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

MODUL VII

STACK (Tumpukan)

A. Deskripsi
Bab ini menjelaskan cara kerja stack dalam mengolah data kemudian dimplementasikan dalam
sebuah program sederhana menggunakan beberapa konsep dasar pada stack seperti push(),
pop(), peek, isFull dan isEmpty.

B. Capaian Pembelajaran
Memahami terminologi yang terkait dengan struktur data stack.
Memahami operasi-operasi yang ada dalam stack.

C. Uraian Materi
Stack (Tumpukan) adalah kumpulan elemen-elemen data yang disimpan dalam satu lajur
linear. Kumpulan elemen-elemen data hanya boleh diakses pada satu lokasi saja yaitu posisi
ATAS (Top) tumpukan. Karakteristik penting stack adalah bersifat LIFO (Last In First Out)
artinya data yang terakhir masuk merupakan data yang akan keluar terlebih dahulu. Tumpukan
digunakan dalam algoritma pengimbas (parsing), algoritma penilaian (evaluation) dan
algoritma penjajahan balik (backtrack). Elemen-elemen di dalam tumpukan dapat bertipe
integer, real, record dalam bentuk sederhana atau terstruktur.

Gambar 7.1: Struktur Data Tumpukan

Algoritma & Struktur Data | Teknik Informatika (S1) 20


Operasi Dasar pada Stack
1. Push() : digunakan untuk menambah item pada Stack pada Tumpukan paling atas.
Contoh:
public void push(String value) {
stack[++top] = value;
}
2. Pop() : digunakan untuk mengambil item pada Stack pada Tumpukan paling atas.
Contoh:
public String pop() {
return stack[top — ];
}
3. Peek() : memberikan nilai balik berupa elemen yang ada di puncak tanpa menghapusnya.
Contoh:
public String peek() {
return stack[top];
}
4. isFull() : fungsi yang digunakan untuk mengecek apakah Stack sudah penuh.
Contoh:
public boolean isFull() {
return top == max-1;
}
5. isEmpty() : fungsi yang digunakan untuk mengecek apakah Stack sudah kosong.
Contoh:
public boolean isEmpty() {
return top == -1;
}

Implementasi Stack dengan Array


Kode:7.1 | Operasi Stack
28. package Pertemuan5Stack;
29.
30. public class StackSatu {
31. public static void main (String[] args) {
32. Tumpukan tumpukan = new Tumpukan(); //Buat objek
33.
34. //Masukkan 9 nama
35. [Link]("Aminudin");

Algoritma & Struktur Data | Teknik Informatika (S1) 21


36. [Link]("Zaskia");
37. [Link]("Rina Melati");
38. [Link]("Farhan");
39. [Link]("Agnes Monica");
40. [Link]("Dian Susilo");
41. [Link]("Karman Julia");
42. [Link]("Dani Adipta");
43. [Link]("Kartika Putri");
44.
45. //Kosongkan isi tumpukan dan tampilkan
46. [Link]("\n Isi tumpukan:");
47. while (! [Link]()) {
48. String nama = [Link]();
49. [Link](nama);
50. }
51.
52. //Lakukan pop () sewaktu tumpukan kosong
53. [Link]("Mencoba pop()pada tumpukan kosong:");
54. [Link]("[Link]");
55. }
56. }
57.
58. class Tumpukan {
59. final int MAKSDATA = 8;
60. private String[] tumpukan = new String[MAKSDATA];
61. private int puncak;
62.
63. //Konstuktor
64. public Tumpukan() {
65. puncak = -1;
66. }
67.
68. //Memasukkan data ke tumpukan
69. // Nilai balik berupa false
70. // kalau tumpukan sudah penuh
71. public boolean push(String data) {
72. //Periksa kalau tumpukan penuh
73. if (puncak == (MAKSDATA -1)) {
74. [Link]("Tumpukan penuh");
75. [Link](data + "tidak dimasukkan");
76.
77. return false;
78. }
79.
80. //Masukkan data ketumpukan
81. puncak++;
82. tumpukan[puncak] = data;
83. return true;
84. }
85.
86. public String pop() {
87. if(! empty())

Algoritma & Struktur Data | Teknik Informatika (S1) 22


88. return tumpukan [puncak--];
89. else
90. return "*error*"; //menyatakan tumpukan sudah habis
91. }
92.
93. public boolean empty() {
94. return (puncak == -1);
95. }
96. }

D. Rangkuman
Dari penjelasan diatas dapat disimpulkan stack (tumpukan) merupakan suatu struktur data yang
membentuk tumpukan dimana proses memasukkan dan mengeluarkan data dilakukan pada satu
“pintu” yang sama. Sturktur data stack merupakan struktur data yang bersifat LIFO (Last In
First Out) artinya data masuk terakhir adalah data yang bisa keluar terlebih dahulu.

E. Latihan (Essay)
1. Jelaskan apa yang dimaksud Stack.?
2. Mengapa Stack dikatakan mempunyai sifat LIFO.?
3. Berikan contoh aplikasi Stack.?
4. Jelaskan kegunaan operasi dalam tumpukan:
a. Push
b. Pop
5. Berapa big O untuk operasi:
a. Push
b. Pop

Algoritma & Struktur Data | Teknik Informatika (S1) 23

Anda mungkin juga menyukai