I M P L E M E N T A
S I S T A C K
M E N G G U N A K A
N L I N K E D L I S T
P R E S E N T A T I O
N
A N G G O T A K E L O M P O K
2
K E V I N P R A T A M
A
M A H E S A H A R Y O P
A M U N G K A S
R I Y A N F E R G I Y A W
A N
R A M A D A N I K U R
N I A K I T O
0
1
0
2
0
3
0 4
0 2
4 1 5 2 2 0 1 0 0 4 2
4 1 5 2 2 0 1 0 0 1 7
R A M A D A N I K U R N I A K I T O
R A M A D A N I K U R N I A K I T O
S t a c k M e n g g u n a k a n
L i n k e d L i s t
Stack menggunakan linked list adalah implementasi dari struktur data stack
menggunakan konsep linked list. Stack adalah struktur data yang mengikuti
prinsip Last-In-First-Out (LIFO), yang berarti elemen terakhir yang
dimasukkan ke dalam stack adalah elemen pertama yang dikeluarkan dari
stack.
Implementasi stack menggunakan linked list melibatkan penggunaan node-
node yang terhubung satu sama lain melalui pointer next. Setiap node
dalam linked list merepresentasikan elemen dalam stack.
Berikut adalah penjelasan mengenai implementasi stack menggunakan
linked list dalam bahasa C++: 0 3
C + + b o i l e r p l a t e
0 4
Kode disamping menggunakan preprocessor
directives untuk menggabungkan library `iostream`
dan `string` kedalam program, dan terdapat
definisi makro yang memberikan alias "str" untuk
tipe data "string". Program ini menggunakan
namespace `std` untuk menggunakan fungsi-
fungsi dan tipe data standar seperti `cin`, `cout`,
dan `string`.
D e f i n i s i C l a s s N o d e
0 5
Node adalah sebuah struktur data yang terdiri dari
2 anggota utama: data dan pointer ke Node,
selanjutnya dalam suatu rangkaian.
Berikut adalah penjelasan mengenai kode
tersebut :
- template <typename T>: Ini adalah deklarasi
template yang menunjukkan bahwa kelas Node
adalah sebuah template dengan parameter tipe T.
- class Node: Ini adalah deklarasi kelas Node.
- public: : Ini menandakan bahwa anggota-
anggota berikutnya akan dapat diakses dari luar
kelas.
- T data; : Ini adalah variabel anggota yang bertipe
T dan digunakan untuk menyimpan data dalam
Node.
- Node<T>* next; : Ini adalah variabel anggota
pointer yang bertipe Node<T>*. Pointer ini
digunakan untuk menunjukkan Node yang
terhubung (linked list).
D e f i n i s i c l a s s S t a c k
0 6
- Stack(): Pada Stack ini, top diatur menjadi nullptr,
menandakan bahwa Stack awalnya kosong.
- void Display(): Display yang akan menampilkan
elemen-elemen dalam Stack.
- void Push(T data): Adalah deklarasi fungsi, Push yang
akan menambahkan elemen baru ke Stack.
- T Pop(): Deklarasi fungsi Pop yang akan menghapus
dan mengembalikan elemen teratas dari stack.
- int IsEmpty(): Fungsi IsEmpty yang akan
mengembalikan nilai 1 jika stack kosong, dan 0 jika
stack tidak kosong.
- T TopStackk(): Fungsi TopStack yang akan
mengembalikan nilai dari elemen teratas Stack tanpa
menghapusnya.
Dengan menggunakan template class Stack ini, kita
dapat membuat objek Stack dengan tipe data apa pun
dan melakukan operasi dasar seperti Push, Pop, dan
lainnya.
0 7
Void Stack<T>:: Display () : Ini adalah deklarasi fungsi
Display dari kelas Stack yang menggunakan template
dengan tipe T.
- while(p): Ini adalah loop while yang berjalan selama
masih ada elemen dalam Stack yang harus ditampilkan.
- cout<< p->data << " "; : Ini adalah pernyataan yang
mencetak nilai data dari Node yang ditunjuk oleh
pointer p.
- p = p->next; : Perintah ini mengupdate pointer p untuk
menunjuk ke Node selanjutnya dalam Stack.
Void Stack<T>:: Display ()
Void Stack<T>:: Push (T data)
0 8
Fungsi ini digunakan untuk menambahkan elemen baru ke dalam stack.
- Node<T>* p; : Membuat sebuah pointer p dengan tipe `Node<T>*`. Pointer p ini akan
digunakan untuk menunjuk ke elemen baru yang akan ditambahkan ke dalam stack.
- p = new Node<T>; : Membuat sebuah objek baru dari tipe `Node<T>` dengan
menggunakan operator `new` dan mengatur pointer p untuk menunjuk ke objek
tersebut.
- if(!p) cout <<"Stack Penuh!!"<<endl;```: Ini adalah kondisi yang memeriksa apakah
alokasi memori untuk elemen baru berhasil atau tidak. Jika alokasi gagal, maka akan
dicetak pesan "Stack Penuh!!" yang menunjukkan bahwa stack telah mencapai batas
kapasitasnya.
- else {
- p->data = data; : Mengatur nilai data pada elemen baru dengan nilai data yang
diberikan saat memanggil fungsi `Push`.
- p->next = top; : Mengatur pointer next pada elemen baru untuk menunjuk ke elemen
yang sebelumnya berada di atasnya dalam stack disebut juga Top.
- top = p; : Mengatur pointer top agar menunjuk ke elemen baru. Elemen baru sekarang
menjadi elemen teratas dari stack.
- }
T Stack<T>:: Pop ()
T Stack <T>:: Pop () merupakan implementasi fungsi `Pop` dari
template class `Stack`. Fungsi ini digunakan untuk menghapus
dan mengembalikan elemen teratas dari stack. Jika stack
kosong, akan dicetak pesan "Stack Kosong!!". Jika stack tidak
kosong maka elemen teratas dihapus, nilainya disimpan pada
variabel `data`, dan elemen tersebut dihapus dari memory. Nilai
`data` kemudian dikembalikkan sebagai hasil fungsi.
0 9
Int Stack<T>:: IsEmpty() dan T Stack<T>:: TopStack ()
10
Fungsi `IsEmpty` digunakan untuk memeriksa apakah Stack kosong. Jika
Stacknya kosong, fungsi mengembalikan nilai 1; jika tidak, fungsi
mengembalikan nilai 0. Dengan melakukan pengecekan terhadap nilai
pointer `top`, di mana jika `top` bernilai `nullptr`, maka Stack dikatakan
kosong.
. Fungsi `TopStack` digunakan untuk mendapatkan nilai dari elemen
teratas stack. Jika stack kosong, fungsi mengembalikan nilai default dari
tipe T dengan menggunakan `T()`. Jika stack tidak kosong, fungsi
mengembalikan nilai data dari elemen teratas stack, yaitu nilai yang
disimpan di dalam `top->data`.
int main()
1 1
T e s t i n g I s E m p t y ( )
int Main()
Sebuah fungsi main yang menggunakan objek-objek Stack dengan
tipe data yang berbeda, yaitu int, char, dan sebuah fungsi main yang
menggunakan objek-objek Stack dengan tipe data yang berbeda,
yaitu int, char, dan str.
Stack<int> s; Mendeklarasikan objek s sebagai instance dari kelas
Stack dengan tipe data int.
Stack<char> ss; : Mendeklarasikan objek ss sebagai instance dari
kelas Stack dengan tipe data char.
Stack<str> sss; : Mendeklarasikan objek sss sebagai instance dari
kelas Stack dengan tipe data str.
IsEmpty = s.IsEmpty() ? "Stack integer Kosong" : "Stack terisi"; Adalah
Memanggil metode IsEmpty() pada objek s yang merupakan stack berisi
elemen bertipe int. Jika stack kosong, variabel isEmpty akan diisi "Stack
integer Kosong", jika tidak print "Stack terisi".
cout<<isEmpty<<endl; Adalah mencetak nilai dari variabel isEmpty yang
berisi hasil pengujian apakah stack s kosong atau tidak.
Langkah 2 dan 3 diulangi untuk objek ss dan sss, yaitu untuk stack berisi
karakter (char) dan stack berisi string (str) masing-masing.
Testing Push(), Display(), TopStack() method
- Metode Push() digunakan untuk menambahkan elemen ke dalam
tumpukan. Misal pada contoh ini, angka 1, 2, 3, dan 4 ditambahkan ke
tumpukan s, karakter 'a', 'b', 'c', dan 'd’ ditambahkan ke tumpukan ss, serta
string “kevin", “mahesa", “ramadani", dan “riyan“ ditambahkan ke
tumpukan sss.
- Kemudian, metode Display() digunakan untuk menampil elemen yang ada
dalam tumpukan. Misalnya, metode ini digunakan untuk menampilkan
elemen-elemen dalam tumpukan s, ss, dan sss sesuai dengan tipe datanya.
- Kemudian, metode TopStack() digunakan untuk mengambil elemen teratas
dari tumpukan tanpa menghapusnya. Pada contoh ini, metode ini
digunakan untuk mencetak elemen teratas dari tumpukan s, ss, dan sss.
Hasilnya akan mencetak elemen teratas dari masing-masing tumpukan.
1 2
Testing Pop() method
Pertama, Pop() dipanggil pada tumpukan s untuk menghapus elemen
teratas. Nilai yang dihapus kemudia di cetak . Jadi, cout<<"data yang di
Pop-> "<<s.Pop()<<endl; akan mencetak nilai yang dihapus dari
tumpukan s. Hal yang sama berlaku untuk tumpukan ss dan sss.
Selanjutnya, Pop() dipanggil lagi pada tumpukan s, ss, dan sss untuk
mengapus elemen teratas yang tersisa. Hasilnya juga dicetak.
Misalnya,cout<<"data yang di Pop-> "<<s.Pop()<<endl; akan mencetak
nilai yang dihapus dari tumpukan s setelah pemanggilan sebelumnya.
Kemudian, lakukan metode Display() pada masing-masing tumpukan
untuk menampilkan elemen yang tersisa setelah operasi Pop(). Hasil dari
display ini dicetak. Misalnya, cout<<"Display integers sesudah diPop ";
s.Display(); akan mencetak elemen-elemen yang tersisa dalam tumpukan
s.
13
Output IsEmpty()
- Pada tumpukan s yang berisi bilangan bulat (int), hasil dari IsEmpty()
adalah true, menunjukan bahwa tumpukan s kosong. Oleh karena itu,
variabel isEmpty di cetak dengan "Stack integer Kosong".
- Pada tumpukan ss yang berisi karakter (char), hasil dari IsEmpty() adalah
true juga, tumpukan ss kosong. Sehingga, variabel isEmpty di cetak
dengan "Stack character Kosong".
- Pada tumpukan sss yang berisi string, hasil dari IsEmpty() adalah true
juga, menunjukkan tumpukan sss kosong. Variabel isEmpty di cetak
dengan "Stack string Kosong".
14
Output Push(), Display(), TopStack()
- Pada tumpukan s yang berisi bilangan bulat (int), hasil dari
Display() adalah "1 2 3 4", tumpukan ini berisi empat elemen
dengan urutan yang sesuai dengan penambahan elemen
tersebut. Kemudian, hasil dari TopStack() adalah 4, yang
merupakan elemen teratas dari tumpukan s.
- Pada tumpukan ss yang berisi karakter (char), hasil dari
Display() adalah "a b c d", tumpukan ini berisi empat elemen
karakter dengan urutan yang sesuai dengan penambahan
elemen tersebut. Kemudian, hasil dari TopStack() adalah 'd',
yang merupakan karakter teratas dari tumpukan ss.
- Pada tumpukan sss yang berisi string, hasil dari Display()
adalah "kevin mahesa ramadani riyan", tumpukan ini berisi
empat elemen string dengan urutan yang sesuai dengan
penambahan elemen tersebut. Kemudian, hasil dari
TopStack() adalah "riyan", yang merupakan string teratas dari
tumpukan sss.
15
Output Pop()
- Pada tumpukan s yang berisi bilangan bulat (int), pertama kali
dilakukan Pop(), dan elemen teratas “4” dihapus dari tumpukan.
Kemudian, dilakukan Pop() lagi, dan elemen teratas berikutnya “3”
dihapus. Setelah itu, hasil dari Display() adalah "1 2", menunjukkan
bahwa elemen yang tersisa dalam tumpukan s adalah 1 dan 2.
- Pada tumpukan ss yang berisi karakter (char), pertama kali dilakukan
Pop(), dan karakter teratas ‘d’ dihapus dari tumpukan. Kemudian,
dilakukan Pop() kedua kalinya, dan karakter teratas berikutnya ‘c’
dihapus. Setelah itu, hasil dari Display() adalah "a b", menunjukkan
bahwa karakter yang tersisa dalam tumpukan ss adalah 'a' dan 'b’.
- Pada tumpukan sss yang berisi string, pertama kali dilakukan Pop(),
dan string teratas “riyan” dihapus dari tumpukan. Kemudian,
dilakukan Pop() yang kedua, dan string teratas berikutnya adalah
"ramadani" dihapus. Setelah itu, hasil dari Display() adalah "kevin
mahesa", menunjukkan bahwa string yang tersisa dalam tumpukan
sss adalah "kevin" dan "mahesa".
16
T E R I M A K A S I H

IMPLEMENTASI STACK MENGGUNAKAN LINKED LIST (1) (1).pptx

  • 1.
    I M PL E M E N T A S I S T A C K M E N G G U N A K A N L I N K E D L I S T P R E S E N T A T I O N
  • 2.
    A N GG O T A K E L O M P O K 2 K E V I N P R A T A M A M A H E S A H A R Y O P A M U N G K A S R I Y A N F E R G I Y A W A N R A M A D A N I K U R N I A K I T O 0 1 0 2 0 3 0 4 0 2 4 1 5 2 2 0 1 0 0 4 2 4 1 5 2 2 0 1 0 0 1 7 R A M A D A N I K U R N I A K I T O R A M A D A N I K U R N I A K I T O
  • 3.
    S t ac k M e n g g u n a k a n L i n k e d L i s t Stack menggunakan linked list adalah implementasi dari struktur data stack menggunakan konsep linked list. Stack adalah struktur data yang mengikuti prinsip Last-In-First-Out (LIFO), yang berarti elemen terakhir yang dimasukkan ke dalam stack adalah elemen pertama yang dikeluarkan dari stack. Implementasi stack menggunakan linked list melibatkan penggunaan node- node yang terhubung satu sama lain melalui pointer next. Setiap node dalam linked list merepresentasikan elemen dalam stack. Berikut adalah penjelasan mengenai implementasi stack menggunakan linked list dalam bahasa C++: 0 3
  • 4.
    C + +b o i l e r p l a t e 0 4 Kode disamping menggunakan preprocessor directives untuk menggabungkan library `iostream` dan `string` kedalam program, dan terdapat definisi makro yang memberikan alias "str" untuk tipe data "string". Program ini menggunakan namespace `std` untuk menggunakan fungsi- fungsi dan tipe data standar seperti `cin`, `cout`, dan `string`.
  • 5.
    D e fi n i s i C l a s s N o d e 0 5 Node adalah sebuah struktur data yang terdiri dari 2 anggota utama: data dan pointer ke Node, selanjutnya dalam suatu rangkaian. Berikut adalah penjelasan mengenai kode tersebut : - template <typename T>: Ini adalah deklarasi template yang menunjukkan bahwa kelas Node adalah sebuah template dengan parameter tipe T. - class Node: Ini adalah deklarasi kelas Node. - public: : Ini menandakan bahwa anggota- anggota berikutnya akan dapat diakses dari luar kelas. - T data; : Ini adalah variabel anggota yang bertipe T dan digunakan untuk menyimpan data dalam Node. - Node<T>* next; : Ini adalah variabel anggota pointer yang bertipe Node<T>*. Pointer ini digunakan untuk menunjukkan Node yang terhubung (linked list).
  • 6.
    D e fi n i s i c l a s s S t a c k 0 6 - Stack(): Pada Stack ini, top diatur menjadi nullptr, menandakan bahwa Stack awalnya kosong. - void Display(): Display yang akan menampilkan elemen-elemen dalam Stack. - void Push(T data): Adalah deklarasi fungsi, Push yang akan menambahkan elemen baru ke Stack. - T Pop(): Deklarasi fungsi Pop yang akan menghapus dan mengembalikan elemen teratas dari stack. - int IsEmpty(): Fungsi IsEmpty yang akan mengembalikan nilai 1 jika stack kosong, dan 0 jika stack tidak kosong. - T TopStackk(): Fungsi TopStack yang akan mengembalikan nilai dari elemen teratas Stack tanpa menghapusnya. Dengan menggunakan template class Stack ini, kita dapat membuat objek Stack dengan tipe data apa pun dan melakukan operasi dasar seperti Push, Pop, dan lainnya.
  • 7.
    0 7 Void Stack<T>::Display () : Ini adalah deklarasi fungsi Display dari kelas Stack yang menggunakan template dengan tipe T. - while(p): Ini adalah loop while yang berjalan selama masih ada elemen dalam Stack yang harus ditampilkan. - cout<< p->data << " "; : Ini adalah pernyataan yang mencetak nilai data dari Node yang ditunjuk oleh pointer p. - p = p->next; : Perintah ini mengupdate pointer p untuk menunjuk ke Node selanjutnya dalam Stack. Void Stack<T>:: Display ()
  • 8.
    Void Stack<T>:: Push(T data) 0 8 Fungsi ini digunakan untuk menambahkan elemen baru ke dalam stack. - Node<T>* p; : Membuat sebuah pointer p dengan tipe `Node<T>*`. Pointer p ini akan digunakan untuk menunjuk ke elemen baru yang akan ditambahkan ke dalam stack. - p = new Node<T>; : Membuat sebuah objek baru dari tipe `Node<T>` dengan menggunakan operator `new` dan mengatur pointer p untuk menunjuk ke objek tersebut. - if(!p) cout <<"Stack Penuh!!"<<endl;```: Ini adalah kondisi yang memeriksa apakah alokasi memori untuk elemen baru berhasil atau tidak. Jika alokasi gagal, maka akan dicetak pesan "Stack Penuh!!" yang menunjukkan bahwa stack telah mencapai batas kapasitasnya. - else { - p->data = data; : Mengatur nilai data pada elemen baru dengan nilai data yang diberikan saat memanggil fungsi `Push`. - p->next = top; : Mengatur pointer next pada elemen baru untuk menunjuk ke elemen yang sebelumnya berada di atasnya dalam stack disebut juga Top. - top = p; : Mengatur pointer top agar menunjuk ke elemen baru. Elemen baru sekarang menjadi elemen teratas dari stack. - }
  • 9.
    T Stack<T>:: Pop() T Stack <T>:: Pop () merupakan implementasi fungsi `Pop` dari template class `Stack`. Fungsi ini digunakan untuk menghapus dan mengembalikan elemen teratas dari stack. Jika stack kosong, akan dicetak pesan "Stack Kosong!!". Jika stack tidak kosong maka elemen teratas dihapus, nilainya disimpan pada variabel `data`, dan elemen tersebut dihapus dari memory. Nilai `data` kemudian dikembalikkan sebagai hasil fungsi. 0 9
  • 10.
    Int Stack<T>:: IsEmpty()dan T Stack<T>:: TopStack () 10 Fungsi `IsEmpty` digunakan untuk memeriksa apakah Stack kosong. Jika Stacknya kosong, fungsi mengembalikan nilai 1; jika tidak, fungsi mengembalikan nilai 0. Dengan melakukan pengecekan terhadap nilai pointer `top`, di mana jika `top` bernilai `nullptr`, maka Stack dikatakan kosong. . Fungsi `TopStack` digunakan untuk mendapatkan nilai dari elemen teratas stack. Jika stack kosong, fungsi mengembalikan nilai default dari tipe T dengan menggunakan `T()`. Jika stack tidak kosong, fungsi mengembalikan nilai data dari elemen teratas stack, yaitu nilai yang disimpan di dalam `top->data`.
  • 11.
    int main() 1 1 Te s t i n g I s E m p t y ( ) int Main() Sebuah fungsi main yang menggunakan objek-objek Stack dengan tipe data yang berbeda, yaitu int, char, dan sebuah fungsi main yang menggunakan objek-objek Stack dengan tipe data yang berbeda, yaitu int, char, dan str. Stack<int> s; Mendeklarasikan objek s sebagai instance dari kelas Stack dengan tipe data int. Stack<char> ss; : Mendeklarasikan objek ss sebagai instance dari kelas Stack dengan tipe data char. Stack<str> sss; : Mendeklarasikan objek sss sebagai instance dari kelas Stack dengan tipe data str. IsEmpty = s.IsEmpty() ? "Stack integer Kosong" : "Stack terisi"; Adalah Memanggil metode IsEmpty() pada objek s yang merupakan stack berisi elemen bertipe int. Jika stack kosong, variabel isEmpty akan diisi "Stack integer Kosong", jika tidak print "Stack terisi". cout<<isEmpty<<endl; Adalah mencetak nilai dari variabel isEmpty yang berisi hasil pengujian apakah stack s kosong atau tidak. Langkah 2 dan 3 diulangi untuk objek ss dan sss, yaitu untuk stack berisi karakter (char) dan stack berisi string (str) masing-masing.
  • 12.
    Testing Push(), Display(),TopStack() method - Metode Push() digunakan untuk menambahkan elemen ke dalam tumpukan. Misal pada contoh ini, angka 1, 2, 3, dan 4 ditambahkan ke tumpukan s, karakter 'a', 'b', 'c', dan 'd’ ditambahkan ke tumpukan ss, serta string “kevin", “mahesa", “ramadani", dan “riyan“ ditambahkan ke tumpukan sss. - Kemudian, metode Display() digunakan untuk menampil elemen yang ada dalam tumpukan. Misalnya, metode ini digunakan untuk menampilkan elemen-elemen dalam tumpukan s, ss, dan sss sesuai dengan tipe datanya. - Kemudian, metode TopStack() digunakan untuk mengambil elemen teratas dari tumpukan tanpa menghapusnya. Pada contoh ini, metode ini digunakan untuk mencetak elemen teratas dari tumpukan s, ss, dan sss. Hasilnya akan mencetak elemen teratas dari masing-masing tumpukan. 1 2
  • 13.
    Testing Pop() method Pertama,Pop() dipanggil pada tumpukan s untuk menghapus elemen teratas. Nilai yang dihapus kemudia di cetak . Jadi, cout<<"data yang di Pop-> "<<s.Pop()<<endl; akan mencetak nilai yang dihapus dari tumpukan s. Hal yang sama berlaku untuk tumpukan ss dan sss. Selanjutnya, Pop() dipanggil lagi pada tumpukan s, ss, dan sss untuk mengapus elemen teratas yang tersisa. Hasilnya juga dicetak. Misalnya,cout<<"data yang di Pop-> "<<s.Pop()<<endl; akan mencetak nilai yang dihapus dari tumpukan s setelah pemanggilan sebelumnya. Kemudian, lakukan metode Display() pada masing-masing tumpukan untuk menampilkan elemen yang tersisa setelah operasi Pop(). Hasil dari display ini dicetak. Misalnya, cout<<"Display integers sesudah diPop "; s.Display(); akan mencetak elemen-elemen yang tersisa dalam tumpukan s. 13
  • 14.
    Output IsEmpty() - Padatumpukan s yang berisi bilangan bulat (int), hasil dari IsEmpty() adalah true, menunjukan bahwa tumpukan s kosong. Oleh karena itu, variabel isEmpty di cetak dengan "Stack integer Kosong". - Pada tumpukan ss yang berisi karakter (char), hasil dari IsEmpty() adalah true juga, tumpukan ss kosong. Sehingga, variabel isEmpty di cetak dengan "Stack character Kosong". - Pada tumpukan sss yang berisi string, hasil dari IsEmpty() adalah true juga, menunjukkan tumpukan sss kosong. Variabel isEmpty di cetak dengan "Stack string Kosong". 14
  • 15.
    Output Push(), Display(),TopStack() - Pada tumpukan s yang berisi bilangan bulat (int), hasil dari Display() adalah "1 2 3 4", tumpukan ini berisi empat elemen dengan urutan yang sesuai dengan penambahan elemen tersebut. Kemudian, hasil dari TopStack() adalah 4, yang merupakan elemen teratas dari tumpukan s. - Pada tumpukan ss yang berisi karakter (char), hasil dari Display() adalah "a b c d", tumpukan ini berisi empat elemen karakter dengan urutan yang sesuai dengan penambahan elemen tersebut. Kemudian, hasil dari TopStack() adalah 'd', yang merupakan karakter teratas dari tumpukan ss. - Pada tumpukan sss yang berisi string, hasil dari Display() adalah "kevin mahesa ramadani riyan", tumpukan ini berisi empat elemen string dengan urutan yang sesuai dengan penambahan elemen tersebut. Kemudian, hasil dari TopStack() adalah "riyan", yang merupakan string teratas dari tumpukan sss. 15
  • 16.
    Output Pop() - Padatumpukan s yang berisi bilangan bulat (int), pertama kali dilakukan Pop(), dan elemen teratas “4” dihapus dari tumpukan. Kemudian, dilakukan Pop() lagi, dan elemen teratas berikutnya “3” dihapus. Setelah itu, hasil dari Display() adalah "1 2", menunjukkan bahwa elemen yang tersisa dalam tumpukan s adalah 1 dan 2. - Pada tumpukan ss yang berisi karakter (char), pertama kali dilakukan Pop(), dan karakter teratas ‘d’ dihapus dari tumpukan. Kemudian, dilakukan Pop() kedua kalinya, dan karakter teratas berikutnya ‘c’ dihapus. Setelah itu, hasil dari Display() adalah "a b", menunjukkan bahwa karakter yang tersisa dalam tumpukan ss adalah 'a' dan 'b’. - Pada tumpukan sss yang berisi string, pertama kali dilakukan Pop(), dan string teratas “riyan” dihapus dari tumpukan. Kemudian, dilakukan Pop() yang kedua, dan string teratas berikutnya adalah "ramadani" dihapus. Setelah itu, hasil dari Display() adalah "kevin mahesa", menunjukkan bahwa string yang tersisa dalam tumpukan sss adalah "kevin" dan "mahesa". 16
  • 17.
    T E RI M A K A S I H