SlideShare a Scribd company logo
1 of 13
Download to read offline
STACK
Disusun dan diajukan sebagai salah satu syarat melengkapi tugas mata kuliah
Struktur Data
Dosen Pengampu : Sundari Retno Andani
Disusun Oleh :
Kelompok 2
RIZAL EFENDI (2202116)
ISNI NADIKA RATI (2202100)
MUHAMMAD RAFLI
MAULANA
(2202106)
PROGRAM STUDI S1 SISTEM
INFORMASIAMIK STIKOM TUNAS
BANGSA PEMATANG SIANTAR
2023/2024
KATA PENGANTAR
Kami sebagai kelompok penulis dengan penuh rasa syukur dapat menyajikan
makalah mengenai Struktur Data Stack. Dalam mata kuliah Struktur Data, Stack
merupakan salah satu topik yang penting untuk dipelajari. Stack sendiri merupakan
struktur data yang digunakan untuk menyimpan data dalam suatu urutan yang
spesifik, yaitu Last In First Out (LIFO).
Makalah ini bertujuan untuk memberikan pemahaman yang lebih dalam mengenai
konsep Stack, mulai dari definisi, hingga operasi-operasi dasar pada stack.
Kami berharap makalah ini dapat menjadi sumber referensi yang bermanfaat bagi
pembaca dalam memahami konsep Stack secara lebih komprehensif. Kami juga
ingin mengucapkan terima kasih kepada dosen pengampu mata kuliah Struktur Data
yang telah memberikan kesempatan kepada kami untuk mempelajari konsep Stack
dan membuat makalah ini.
Semoga makalah ini dapat memberikan manfaat dan inspirasi bagi pembaca. Terima
kasih atas perhatian dan dukungannya.
Salam hangat,
Kelompok 2.
DAFTAR ISI
KATA PENGANTAR..................................................................................................................1
DAFTAR ISI ................................................................................................................................3
I. Pendahuluan ..........................................................................................................................4
A. Latar Belakang...............................................................................................................4
A. Tujuan ............................................................................................................................4
B. Ruang Lingkup...............................................................................................................4
II. Pengertian Stack ................................................................................................................5
A. Definisi Stack.................................................................................................................5
B. Karakteristik Stack.........................................................................................................5
C. Jenis-jenis Stack.............................................................................................................5
III. Operasi Dasar Pada Stack..................................................................................................6
A. Create.............................................................................................................................6
B. IsEmpty..........................................................................................................................6
C. IsFull ..............................................................................................................................6
D. Push................................................................................................................................7
E. Pop .................................................................................................................................7
F. Clear...................................................................................................................................7
G. Retrieve..........................................................................................................................8
IV. Pointer Sebagai Penunjuk Stack........................................................................................9
A. Membuat Stack Dengan Pointer ....................................................................................9
B. Proses Push ....................................................................................................................9
C. Proses Pop....................................................................................................................10
V. Representasi Proses Stack ...............................................................................................10
VI. Kesimpulan......................................................................................................................12
A. Ringkasan.....................................................................................................................12
B. Saran ............................................................................................................................12
I. Pendahuluan
A. Latar Belakang
Pada zaman sekarang, penggunaan komputer semakin meningkat dan membutuhkan
pengolahan data yang efisien dan efektif. Salah satu struktur data yang umum
digunakan dalam pengolahan data adalah stack. Stack merupakan struktur data yang
sederhana namun sering digunakan dalam aplikasi pengolahan data modern.
A. Tujuan
Makalah ini bertujuan untuk memberikan pemahaman yang jelas mengenai
pengertian stack dan operasi-operasi yang dapat dilakukan pada stack.
B. Ruang Lingkup
Makalah ini akan membahas pengertian stack, karakteristik, struktur stack, operasi-
operasi pada stack, dan contoh kasus penggunaan stack.
II. Pengertian Stack
A. Definisi Stack
Stack merupakan sebuah kumpulan data yang diletakkan di atas data lainya, seperti
sebuah tumpukan. Dengan demikian, stack merupakan salah satu struktur data yang
menerapkan prinsip LIFO (Last In First Out). Dimana elemen yang terakhir
disimpan dalam stack, menjadi elemen yang pertama diambil. Untuk meletakkan
sebuah elemen pada bagian atas dari stack, maka dilakukan operasi push. Sedangkan
untuk memindahkan sebuah elemen dari tempat atas tersebut dalam sebuah stack,
maka dilakukan operasi pop.
B. Karakteristik Stack
Stack memiliki beberapa karakteristik, seperti LIFO (Last In First Out), push dan
pop, serta top dan bottom.
C. Jenis-jenis Stack
Terdapat beberapa jenis stack, seperti stack statis, stack dinamis, dan stack
implementasi array atau linked list.
struct STACK {
int top;
float data[5];
};
float dta;
struct STACK stackbaru;
bool isempty() {
if (stackbaru.top==-1) return true;
else return false;
}
bool isfull() {
if (stackbaru.top==maxstack) return
true;
else return false;
}
III. Operasi Dasar Pada Stack
A. Create
Merupakan operator yang berfungsi untuk membuat sebuah stack kosong.
B. IsEmpty
Merupakan operator yang berfungsi untuk menentukan apakah suatu stack
merupakan stack kosong. Tanda bahwa sebuah stack kosong adalah Top bernilai
kurang dari nol (-1).
C. IsFull
Merupakan operator yang digunakan untuk memeriksa apakah stack yang ada sudah
penuh. Stack akan penuh jika puncak stack terletak tepat dibawah jumlah
void push(float dta) {
if (isfull()==false) {
puts("stack penuh");
} else {
stackbaru.top++;
stackbaru.data[top]=dta;
}
}
void pop() {
if (isempty()==false) {
cout<<"data kosong";
} else {
cout<<"data yang terambil :
"<<stackbaru.data[top]<<endl;
stackbaru.top--;
}
}
maksimum yang dapat ditampung stack (Top = MAX_STACK-1).
D. Push
Merupakan operator yang berfungsi untuk menambahkan satu elemen ke dalam
stack dan tidak dapat dilakukan jika stack dalam keadaan penuh.
E. Pop
Merupakan operator yang berfungsi untuk mengeluarkan satu elemen teratas dari
dalam stack dengan syarat stack tidak dalam kondisi kosong.
F. Clear
Fungsi yang digunakan untuk mengosongkan stack dengan cara mengeset Top
dengan -
Jika Top bernilai kurang dari nol maka stack dianggap kosong.
void clear () {
top=-1
}
void print() {
for (int i=0; i<=top; i++) {
cout<<stackbaru.data[i]<<"
";
}
}
G. Retrieve
fungsi yang digunakan untuk melihat nilai yang berada pada posisi tumpukan
teratas.
int S[10], *Top, *BatasAtas
Top = &S[-1];
BatasAtas = &S[10];
if (Top < BatasAtas)
Top++;
*Top = X;
else
printf(“Stack Penuh”);
IV. Pointer Sebagai Penunjuk Stack
Selain menggunakan indeks, untuk menunjuk sebuah Top atau posisi teratas dari
stack, dapat juga digunakan pointer sebagai berikut.
A. Membuat Stack Dengan Pointer
B. Proses Push
if (Top > &A[-1])
X= *Top;
Top --;
else
printf(“Stack Kosong”);
C. Proses Pop
V. Representasi Proses Stack
Stack adalah salah satu dari contoh struktur data yang terdiri dari satu collection,
yang juga menerapkan prinsip LIFO. Bila stack tersebut menggunakan array satu
dimensi, maka stack tersebut dapat diilustrasikan sebagai berikut :
Ilustrasi sebuah stack 1 Dimensi menggunakan indeks array
Pada gambar diatas diilustrasikan ada sebuah indeks array yang masih kosong pada
awal pembuatan stcak dimana n[10], variabel Top berada pada -1 yang
menunjukkan indeks masih dalam keadaan kosong.
Ilustrasi Stack ketika sudah diisi data
Pada gambar adalah keadaan ketika stack sudah diisi data. Pada kondisi ini data
pertama yang diinputkan adalah S[0]=11, data kedua S[1]=7, data ketiga S[2]=15,
data keempat S[23]=23. Kondisi Top sudah berubah menjadi data yang terakhir
diinputkan (data keempat) sehingga Top[3] X=23.
Variabel Top digunakan sebagai indeks untuk menunjuk nomor elemen array yang
berisi nilai stack yang berada paling kanan atau Top, yang ditunjukan dengan angka
3. Variabel X bertipe integer digunakan sebagai perantara, dimana data yang akan
disimpan kedalam stack harus berasal dari X. Demikian juga data yang baru diambil
dari dalam stack harus diterima terlebih dahulu oleh variabel X, kemudian baru
diberikan ke variabel lain untuk diolah.
Oleh karena itu, jika ada instruksi PUSH, maka data baru (yang diambil dari isi
variabel X) akan disimpan dalam elemen S[4] sehingga indeks Top harus diarahkan
ke posisi no.4. Artinya, Top maju terlebih dahulu satu langkah ke S[4], kemudian
baru mengisi nilai pada S[4]. Sedangkan jika ada instruksi Pop, maka yang akan
diambil adalah isi dari S[3] dan datanya akan disimpan terlebih dahulu dalam
variabel X, kemudian indeks Top menjadi mundur satu langkah sehingga akan
menunjuk S[2].
VI. Kesimpulan
A. Ringkasan
Stack merupakan struktur data yang sederhana namun sering digunakan dalam
aplikasi pengolahan data modern. Stack memiliki beberapa karakteristik, seperti
LIFO (Last In First Out), push dan pop. Stack dapat diimplementasikan
menggunakan array. Operasi-operasi pada stack meliputi Create, IsEmpty, IsFull,
Push, Pop, Clear, Retrive.
B. Saran
Penggunaan stack dapat mempercepat proses pengolahan data, namun penggunaan
yang kurang tepat dapat menimbulkan kesalahan. Oleh karena itu, disarankan untuk
mempelajari lebih lanjut tentang stack dan memahami implementasi dan operasi-
operasinya sebelum menggunakannya dalam aplikasi pengolahan data.
STACK .pdf

More Related Content

Similar to STACK .pdf (20)

Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Makalah stack ramadhani
Makalah stack ramadhaniMakalah stack ramadhani
Makalah stack ramadhani
 
Tistrukdat4
Tistrukdat4Tistrukdat4
Tistrukdat4
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
Pert 4 stack
Pert 4   stackPert 4   stack
Pert 4 stack
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
Stack
StackStack
Stack
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Struktur data
Struktur dataStruktur data
Struktur data
 
3 stack2
3 stack23 stack2
3 stack2
 
Stack_Queue.pdf
Stack_Queue.pdfStack_Queue.pdf
Stack_Queue.pdf
 
Chapter 4a stack
Chapter 4a   stackChapter 4a   stack
Chapter 4a stack
 
Tugas
TugasTugas
Tugas
 
Tugas
TugasTugas
Tugas
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 

STACK .pdf

  • 1. STACK Disusun dan diajukan sebagai salah satu syarat melengkapi tugas mata kuliah Struktur Data Dosen Pengampu : Sundari Retno Andani Disusun Oleh : Kelompok 2 RIZAL EFENDI (2202116) ISNI NADIKA RATI (2202100) MUHAMMAD RAFLI MAULANA (2202106) PROGRAM STUDI S1 SISTEM INFORMASIAMIK STIKOM TUNAS BANGSA PEMATANG SIANTAR 2023/2024
  • 2. KATA PENGANTAR Kami sebagai kelompok penulis dengan penuh rasa syukur dapat menyajikan makalah mengenai Struktur Data Stack. Dalam mata kuliah Struktur Data, Stack merupakan salah satu topik yang penting untuk dipelajari. Stack sendiri merupakan struktur data yang digunakan untuk menyimpan data dalam suatu urutan yang spesifik, yaitu Last In First Out (LIFO). Makalah ini bertujuan untuk memberikan pemahaman yang lebih dalam mengenai konsep Stack, mulai dari definisi, hingga operasi-operasi dasar pada stack. Kami berharap makalah ini dapat menjadi sumber referensi yang bermanfaat bagi pembaca dalam memahami konsep Stack secara lebih komprehensif. Kami juga ingin mengucapkan terima kasih kepada dosen pengampu mata kuliah Struktur Data yang telah memberikan kesempatan kepada kami untuk mempelajari konsep Stack dan membuat makalah ini. Semoga makalah ini dapat memberikan manfaat dan inspirasi bagi pembaca. Terima kasih atas perhatian dan dukungannya. Salam hangat, Kelompok 2.
  • 3. DAFTAR ISI KATA PENGANTAR..................................................................................................................1 DAFTAR ISI ................................................................................................................................3 I. Pendahuluan ..........................................................................................................................4 A. Latar Belakang...............................................................................................................4 A. Tujuan ............................................................................................................................4 B. Ruang Lingkup...............................................................................................................4 II. Pengertian Stack ................................................................................................................5 A. Definisi Stack.................................................................................................................5 B. Karakteristik Stack.........................................................................................................5 C. Jenis-jenis Stack.............................................................................................................5 III. Operasi Dasar Pada Stack..................................................................................................6 A. Create.............................................................................................................................6 B. IsEmpty..........................................................................................................................6 C. IsFull ..............................................................................................................................6 D. Push................................................................................................................................7 E. Pop .................................................................................................................................7 F. Clear...................................................................................................................................7 G. Retrieve..........................................................................................................................8 IV. Pointer Sebagai Penunjuk Stack........................................................................................9 A. Membuat Stack Dengan Pointer ....................................................................................9 B. Proses Push ....................................................................................................................9 C. Proses Pop....................................................................................................................10 V. Representasi Proses Stack ...............................................................................................10 VI. Kesimpulan......................................................................................................................12 A. Ringkasan.....................................................................................................................12 B. Saran ............................................................................................................................12
  • 4. I. Pendahuluan A. Latar Belakang Pada zaman sekarang, penggunaan komputer semakin meningkat dan membutuhkan pengolahan data yang efisien dan efektif. Salah satu struktur data yang umum digunakan dalam pengolahan data adalah stack. Stack merupakan struktur data yang sederhana namun sering digunakan dalam aplikasi pengolahan data modern. A. Tujuan Makalah ini bertujuan untuk memberikan pemahaman yang jelas mengenai pengertian stack dan operasi-operasi yang dapat dilakukan pada stack. B. Ruang Lingkup Makalah ini akan membahas pengertian stack, karakteristik, struktur stack, operasi- operasi pada stack, dan contoh kasus penggunaan stack.
  • 5. II. Pengertian Stack A. Definisi Stack Stack merupakan sebuah kumpulan data yang diletakkan di atas data lainya, seperti sebuah tumpukan. Dengan demikian, stack merupakan salah satu struktur data yang menerapkan prinsip LIFO (Last In First Out). Dimana elemen yang terakhir disimpan dalam stack, menjadi elemen yang pertama diambil. Untuk meletakkan sebuah elemen pada bagian atas dari stack, maka dilakukan operasi push. Sedangkan untuk memindahkan sebuah elemen dari tempat atas tersebut dalam sebuah stack, maka dilakukan operasi pop. B. Karakteristik Stack Stack memiliki beberapa karakteristik, seperti LIFO (Last In First Out), push dan pop, serta top dan bottom. C. Jenis-jenis Stack Terdapat beberapa jenis stack, seperti stack statis, stack dinamis, dan stack implementasi array atau linked list.
  • 6. struct STACK { int top; float data[5]; }; float dta; struct STACK stackbaru; bool isempty() { if (stackbaru.top==-1) return true; else return false; } bool isfull() { if (stackbaru.top==maxstack) return true; else return false; } III. Operasi Dasar Pada Stack A. Create Merupakan operator yang berfungsi untuk membuat sebuah stack kosong. B. IsEmpty Merupakan operator yang berfungsi untuk menentukan apakah suatu stack merupakan stack kosong. Tanda bahwa sebuah stack kosong adalah Top bernilai kurang dari nol (-1). C. IsFull Merupakan operator yang digunakan untuk memeriksa apakah stack yang ada sudah penuh. Stack akan penuh jika puncak stack terletak tepat dibawah jumlah
  • 7. void push(float dta) { if (isfull()==false) { puts("stack penuh"); } else { stackbaru.top++; stackbaru.data[top]=dta; } } void pop() { if (isempty()==false) { cout<<"data kosong"; } else { cout<<"data yang terambil : "<<stackbaru.data[top]<<endl; stackbaru.top--; } } maksimum yang dapat ditampung stack (Top = MAX_STACK-1). D. Push Merupakan operator yang berfungsi untuk menambahkan satu elemen ke dalam stack dan tidak dapat dilakukan jika stack dalam keadaan penuh. E. Pop Merupakan operator yang berfungsi untuk mengeluarkan satu elemen teratas dari dalam stack dengan syarat stack tidak dalam kondisi kosong. F. Clear Fungsi yang digunakan untuk mengosongkan stack dengan cara mengeset Top dengan - Jika Top bernilai kurang dari nol maka stack dianggap kosong.
  • 8. void clear () { top=-1 } void print() { for (int i=0; i<=top; i++) { cout<<stackbaru.data[i]<<" "; } } G. Retrieve fungsi yang digunakan untuk melihat nilai yang berada pada posisi tumpukan teratas.
  • 9. int S[10], *Top, *BatasAtas Top = &S[-1]; BatasAtas = &S[10]; if (Top < BatasAtas) Top++; *Top = X; else printf(“Stack Penuh”); IV. Pointer Sebagai Penunjuk Stack Selain menggunakan indeks, untuk menunjuk sebuah Top atau posisi teratas dari stack, dapat juga digunakan pointer sebagai berikut. A. Membuat Stack Dengan Pointer B. Proses Push
  • 10. if (Top > &A[-1]) X= *Top; Top --; else printf(“Stack Kosong”); C. Proses Pop V. Representasi Proses Stack Stack adalah salah satu dari contoh struktur data yang terdiri dari satu collection, yang juga menerapkan prinsip LIFO. Bila stack tersebut menggunakan array satu dimensi, maka stack tersebut dapat diilustrasikan sebagai berikut : Ilustrasi sebuah stack 1 Dimensi menggunakan indeks array Pada gambar diatas diilustrasikan ada sebuah indeks array yang masih kosong pada awal pembuatan stcak dimana n[10], variabel Top berada pada -1 yang menunjukkan indeks masih dalam keadaan kosong.
  • 11. Ilustrasi Stack ketika sudah diisi data Pada gambar adalah keadaan ketika stack sudah diisi data. Pada kondisi ini data pertama yang diinputkan adalah S[0]=11, data kedua S[1]=7, data ketiga S[2]=15, data keempat S[23]=23. Kondisi Top sudah berubah menjadi data yang terakhir diinputkan (data keempat) sehingga Top[3] X=23. Variabel Top digunakan sebagai indeks untuk menunjuk nomor elemen array yang berisi nilai stack yang berada paling kanan atau Top, yang ditunjukan dengan angka 3. Variabel X bertipe integer digunakan sebagai perantara, dimana data yang akan disimpan kedalam stack harus berasal dari X. Demikian juga data yang baru diambil dari dalam stack harus diterima terlebih dahulu oleh variabel X, kemudian baru diberikan ke variabel lain untuk diolah. Oleh karena itu, jika ada instruksi PUSH, maka data baru (yang diambil dari isi variabel X) akan disimpan dalam elemen S[4] sehingga indeks Top harus diarahkan ke posisi no.4. Artinya, Top maju terlebih dahulu satu langkah ke S[4], kemudian baru mengisi nilai pada S[4]. Sedangkan jika ada instruksi Pop, maka yang akan diambil adalah isi dari S[3] dan datanya akan disimpan terlebih dahulu dalam variabel X, kemudian indeks Top menjadi mundur satu langkah sehingga akan menunjuk S[2].
  • 12. VI. Kesimpulan A. Ringkasan Stack merupakan struktur data yang sederhana namun sering digunakan dalam aplikasi pengolahan data modern. Stack memiliki beberapa karakteristik, seperti LIFO (Last In First Out), push dan pop. Stack dapat diimplementasikan menggunakan array. Operasi-operasi pada stack meliputi Create, IsEmpty, IsFull, Push, Pop, Clear, Retrive. B. Saran Penggunaan stack dapat mempercepat proses pengolahan data, namun penggunaan yang kurang tepat dapat menimbulkan kesalahan. Oleh karena itu, disarankan untuk mempelajari lebih lanjut tentang stack dan memahami implementasi dan operasi- operasinya sebelum menggunakannya dalam aplikasi pengolahan data.