Anda di halaman 1dari 27

LAPORAN PRAKTIKUM

STRUKTUR DATA

TUMPUKAN (STACK)

PENYUSUN :

NAMA : AGUNG PRAYOGO


NIM : 160504033
UNIT : 01

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS SAMUDRA
2017
LEMBAR PENGESAHAN
LAPORAN PRAKTIKUM
ARRAY DAN POINTER
PRODI TEKNIK INFORMATIKA

Diajukan sebagai salah satu syarat kelulusan Praktikum Struktur Data semester III
tahun ajaran 2017/2018

Oleh:
Nama NIM Unit Nilai
Agung Prayogo 160504033 01

Disetujui oleh
Koordinator Praktikum 2 Dosen Pengampu Mata Kuliah
Struktur Data

Novianda, S.T, M.Si Reza Ade Putra, S.Pd, M.Cs


NIDN. 0028118701 NIDN.0002018705
BAB I
PEDAHULUAN

1.1 Latar Belakang


Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam
media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
Setiap orang yang bekerja biasanya membutuhkan alat bantu untuk menyelesaikan
pekerjaanya supaya menjadi lebih mudah. Komputer mencakup banyak pekerjaan yang
berbeda atau boleh jadi dapat dikatakan menjadi peralatan yang paling serbaguna yang
pernah dibuat.
Dalam penerapannya seorang pengguna komputer hanya akan menggunakan
fungsi-fungsi dasar yang ada tanpa memperhatikan secara terperinci algoritma yang
digunakan maupun struktur dari tempat penyimpanan dimana data tersebut disimpan.
Untuk itu dibuatlah suatu model yang dapat menyelesaikan suatu persoalan yang ada.
Seperti yang telah diketahui sebelumnya bahwa sebuah ungkapan aritmatika yang biasa
kita gunakan dibangku sekolah disebut dengan notasi infix (contoh : A = C + D / B *
C) sehingga kalkulator sederhanapun juga menggunakan notasi ini. Jika ekspresi yang
digunakan oleh manusia akan digunakan oleh komputer, ekspresi tersebut harus diubah
menjadi bentuk polish 2 notation, dimana polish notation ini berhubungan dengan
penanganan konversi secara simbolik ekspresi suffix pada machine code. Dengan
notasi infix, komputer akan sukar mengevaluasi ungkapan tersebut.

Mengapa komputer menjadi peralatan yang sangat serbaguna?. Jawabannya sangat


sederhana, komputer dapat mengerjakan tugas-tugas yang bervariasi karena komputer
dapat di program. Komputer merupakan sebuah mesin yang khusus hanya mengikuti
instruksi yang diberikan padanya. Karena komputer bersifat programmable, sehingga
komputer tidak hanya milik satu profesi saja.
Pemrograman berkaitan dengan aspek ilmu pengetahuan berkaitan dengan ilmu
teknik karena jarang sekali program dapat berjalan baik pada saat program pertama kali
ditulis. Biasanya perlu banyak dilakukan percobaan, pembetulan dari kesalahan
maupun dirancang ulang sesuai dengan kebutuhan. Seorang programmer harus
menguasai bahasa yang dimiliki oleh komputer seperti bahasa C++, Java atau bahasa
pemrograman lainnya.
Pada saat tertentu program yang dibuat dibutuhkan untuk menyelesaikan suatu
permasalahan yang dikehendaki suatu variabel yang dapat menampung banyak nilai.
Sebagai contoh variabel skor barangkali mencatat skor ujian dari 100 siswa. Demikian
juga variabel gaji mungkin menampung gaji yang berlainan dari masing-masing
pegawai suatu perusahaan.

1.2 Tujuan
Berikut tujuan dari pelaksanaan praktikum Struktur Data mengenai Tumpukan
(Stack), yaitu :
Memahami konsep stack
Memahami operasi dasar stack
Dapat mengaplikasikan stack dalam kasus nyata
BAB II
DASAR TEORI

2.1 Pengertian Tumpukan (stack)


Stack adalah sebuah kumpulan data dimana data yang diletakkan di atas data
yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep
LIFO. Dengan demikian, elemen terakhir yang disimpan dalam stack menjadi elemen
pertama yang diambil.Stack (Tumpukan) adalah kumpulan elemen elemen data yang
disimpan dalam satu lajur linear.
Konsep utamanya adalah benda yang terakhir masuk/disimpan dalam stack
akan menjadi benda pertama yang dikeluarkan dari stack, konsep penyimpanan data
dalam stack ini dikenal dengan istilah LIFO (Last In First Out). Stack ini seperti
tumpukan CD pada rak CD, CD pertama diletakkan paling bawah pada rak Cddan
digunakan paling akhir secara umum ada dua operasi/metode dasar pada stack, yaitu
Push dan Pop. Push digunakan untuk mengambil item dari stack.

Gambar 2.1 : ilustrasi sebuah stack

2.2 Penyajian Tumpukan (stack)


Stack dapat disajikan dengan menggunakan beberapa jenis, yaitu :
1. Dengan menggunakan Array
2. Dengan menggunakan linked list
3.2.1 Stack Menggunakan Array
Array dalam Java merupakan salah satu bentuk tipe data, yang sesungguhnya
merupakan struktur data. Array ini mempunyai yang tertentu dan bersifat saris.

3.2.2 Stack Menggunakan linked list


Package Java juga menyediakan class Stack, yang merupakan subclass dari Vector
yang menggunakan standar last-in, first-out (LIFO). Class Stack hanya digunakan
untuk menentukandefault constructor, untuk membuat stack kosong.

Operasi pada stack


Dalam penggunaannya suatu stack memiliki beberapa operasi yang dapat diterapkan
seperti membuat stack, penambahan eleme ke dalam stack, menghapusan elemen dari
dalam stack, dan operasi lain yang berhubungan dengan stack tersebut. Adapun
operasi-operasi dasar dari suatu stack adalah :
1. Fungsi IsEmpty
Digunakan untuk memeriksa apakah stack masih dalam kondisi kosong.
Dengan cara memeriksa TOP of STACK. Jika TOP masih = -1 maka berarti
stack masih kosong
2. Fungsi IsFull
Digunakan untuk memeriksa apakah kondisi stack sudah penuh
Dengan cara : 1. Menambah satu (increment) nilai TOP of STACK setiap ada
penambahan elemen stack selama stack masih belum penuh 2. Isikan nilai
baru ke stack berdasarkan indeks TOP of STACK setelah ditambah satu
(diincrement)
3. Fungsi PUSH
Digunakan untuk memasukkan elemen ke dalam stack dan selalu menjadi
elemen teratas stack
Menambah satu (increment) nilai TOP of STACK setiap ada penambahan
elemen stack selama stack masih belum penuh 2. Isikan nilai baru ke stack
berdasarkan indeks TOP of STACK setelah ditambah satu (diincrement)
4. Fungsi POP
Digunakan untuk menghapus elemen yang berada pada posisi paling atas dari
stack.
Dengan cara : 1. Ambil dahulu nilai elemen teratas stack dengan mengakses
TOP of STACK. 2. Tampilkan nilai yang akan diambil. 3. Lakukan
decrement nilai TOP of STACK sehingga jumlah elemen stack berkurang 1
5. Fungsi cetak
Digunakan untuk mencetak data yang terdapat dalam stack.

Kelebihan dan Kekurangan stack


Kelebihan : penambahan dan penghapusan data dapat dilakukan dengan cepat, yaitu
0(1), selama memory masih tersedia. Penambahan data bias terus dilakukan.
Dengan demikian tidak ada kekhawatiran terjadinya stack overlow.
Kekurangan : setiap sel tidak hanya menyimpan value saja, melainkan juga pointer
ke sel berikutnya. Hal ini menyebabkan implementasi dengan array. Tiap elemen
pada linked list hanya bisa diakses dengan cara sekuential, sehingga lambat, yaitu 0
(n).
BAB III
METODOLOGI

3.1 Algoritma
Algoritma merupakan suatu langkah-langkah logis tertentu yang digunakan
untuk menyelesaikan suatu masalah.
3.1.1 Algoritma Tumpukan (stuck) :
1. Start
2. Mendeklarasi fungsi stack
a. int isempty (menanyakan kosongkah?, jika kosong maka cetak stack
kosong).
b. int isfull (menanyakan penuhkah?, jika penuh cetak stack penuh).
c. int cetak (mencetak stack).
d. int push (mengisi stack).
e. int pop (mengambil isi stack).
3. Pilihan menu stack.
a) Menu 1 adalah Push stack, jika pilih satu maka akan memanggil fungsi
push :
int push(stack A, int &top)
{
system("CLS");
if(top==n)
isfull(top);
else
{
top++;
cout<<"push\nmasukkan data : ";cin>>A[top];
cout<<"posisi top saat ini : "<<top<<endl<<endl;
}
}
b) Menu 2 adalah Pop stack, jika pilih satu maka akan memanggil fungsi
pop :
int pop(stack A, int &top)
{
system("CLS");
if(top==0)
isempty(top);
else
{
cout<<"pop\nsatu data sudah di pop\n";
top--;
cout<<"posisi top saat ini : "<<top<<endl<<endl;
}
}
c) Menu 3 adalah Cetak, jika pilih 3 maka akan memanggil fungsi cetak :
int cetak(stack A, int &top)
{
system("CLS");
int i;
if(top==0)
isempty(top);
else
{
for(i=1;i<=top;i++)
cout<<A[i]<<" ";
cout<<endl<<endl;
}
}
d) Menu 4 adalah exit, jika pilih 5 maka program akan diakhiri
4. Selesai.
3.2 Flowchart
Flowchart merupakan sebuah bentuk gambar ataupun diagram yang memiliki
aliran satu atau dua arah yang berlaku secara sekuensial atau berkesinambungan.
3.2.1 flowchart Tumpukan (stuck) :
start

typedef int stack[10];


int n=5, top=0;

stack A={1,2,3,4,5,6,7,8,9,10};
int i, pilih;

Stack
penuh
Cetak
Input Input
Posisi top saat
pilih true A[top]
ini

true Top=n false Top++


Pilih=1
Top--
Stack
kosong
false
true

Satu data Stack


sudah di false top==0 true Pilih=2 kosong
pop
true
false

Pilih=3 true Int i top==0

false
false

Pilih=4
Cetak
Nilai dari
false variabel A

Pilihan true
salah

end
3.3 Analisa Flowchart
3.3.1 Analisa flowchart Tumpukan (stack):

start Memulai program

Menginisialisasi stack dengan tipe data


typedef int stack[10];
typedef. Dan variabel n, top dengan tipe
int n=5, top=0;
data integer
Mendeklarasi variabel A dengan tipe data
stack A={1,2,3,4,5,6,7,8,9,10};
int i, pilih; stack. Variabel I dan pilih dengan tipe data
integer

Input
Menginput nilai ke variabel pilih
pilih

Mengecek apakah nilai variabel pilih sama


Pilih=1
dengan 1.

Mengecek apakah nilai variabel pilih sama


Pilih=2
dengan 2.

Mengecek apakah nilai variabel pilih sama


Pilih=3
dengan 3.

Mengecek apakah nilai variabel pilih sama


Pilih=4
dengan 4.
Pilihan
Mencetak kalimat pilihan salah.
salah

Mengecek apakah nilai dari variabel top


Top=n
sama dengan n.

Melakukan proses operator increment pada


Top++
variabel top.

Input Menginput nilai ke variabel A indeks ke-


A[top] top.

Stack
Mencetak stack penuh.
penuh

Mengecek apakah nilai dari variabel top


top==0
sama dengan 0.

Stack
Mencetak stack kosong
kosong

Satu data
sudah di Mencetak kalimat satu data sudah di pop.
pop

Melakukan proses operator decrement pada


Top--
variabel top.

Cetak
Posisi top saat Cetak posisi top saat ini.
ini

Mendeklarasi variabel i dengan tipe data


Int i
integer.
Mengecek apkah nilai variabel top sama
top==0
dengan 0.

Stack
Mencetak stack kosong.
kosong

Cetak
Nilai dari Mencetak nilai dari variabel A.
variabel A

end Akhir dari program.


BAB IV
HASIL PRAKTIKUM

4.1 Source Code


4.1.1 Source code tumpukan (stack)

#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
typedef int stack[10];
int n=5, top=0;

int isempty(int &top)


{
if(top==0)
cout<<"\nstack kosong\n\n";
}
int isfull(int &top)
{
if(top==n)
cout<<"\nstack penuh\n\n";
}
int cetak(stack A, int &top)
{
system("CLS");
int i;
if(top==0)
isempty(top);
else
{

for(i=1;i<=top;i++)
cout<<A[i]<<" ";

cout<<endl<<endl;
}
}
int push(stack A, int &top)
{
system("CLS");
if(top==n)
isfull(top);
else
{
top++;
cout<<"push\nmasukkan data : ";cin>>A[top];
cout<<"posisi top saat ini : "<<top<<endl<<endl;
}
}
int pop(stack A, int &top)
{
system("CLS");
if(top==0)
isempty(top);
else
{
cout<<"pop\nsatu data sudah di pop\n";
top--;
cout<<"posisi top saat ini : "<<top<<endl<<endl;
}
}
int main()
{
stack A={1,2,3,4,5,6,7,8,9,10};
int i, pilih;
menu :
cout<<"stack\n";
cout<<"1. push\n2. pop\n3. view data\n4. exit\nmasukkan
pilihan : ";cin>>pilih;
switch(pilih)
{
case 1 : {push(A,top);break;}
case 2 : {pop(A,top);break;}
case 3 : {cetak(A,top);break;}
case 4 : {return 0;break;}
default : {system("CLS");cout<<"pilihan salah\n\n";}
}
goto menu;
}
4.2 Keluaran/Output
Berikut keluaran/output dari source code program tumpukan (stuck) :

Gambar 4.2.1 Output Program Stack


Pada gambar output diatas merupakan hasil dari output program stack. Program
akan menampilkan 4 buah menu yang dapat dipilih, menu pertama akan melakukan
operasi push, menu ke dua akan melakukan operasi pop, menu ke tiga akan
melakukan operasi cetak data stack, dan menu ke empat akan keluar dari program.
Dan apabila kita memilih salah satu menu maka akan masuk ke menu yang kita
telah kita pilih.

4.3 Analisa Source Code


Berikut analisa dari program tumpukan (stuck) :
4.3.1 Analisa tumpukan (stuck)
program diatas merupakan contoh program dari penggunaan stack atau
tumpukan. Stack dibuat menggunkan array dan sebuah variabel integer yang
menunjukkan posisi puncak stack. Seperti contoh program diatas pendeklarasian
stack adalah sebagai berikut : typedef int stack[10];. Typedef adalah suatu keyword
yang diggunkan untuk mendeklarasi tipe data dengan nama lain atau nama alias.
Jadi, coding tersebut akan mendeklarasi tipe data int dengan nama stack.
Dalam stack terdapat beberapa fungsi untuk operasi dasar, yaitu push(), dan
pop(). Selain itu tedapat operasi lain seperti operasi untuk mencetak stack, isFull
(memberitahukan bahwa stack sudah penuh), isEmpty (memberitahukan bahwa
stack kosong). Dan setiap operasi tersebut akan dijadikan sebagai sebuah fungsi,
Yaitu int isempty(int &top), int isfull(int &top), int cetak(stack A, int &top) , int
push(stack A, int &top), dan int pop(stack A, int &top).
Pada program ini akan memberikan 4 buah menu yang dapat dipilih, yaitu untuk
menu 1 akan akan melakukan operasi push dengan memanggil fungsi push, menu
2 akan melakukan operasi pop, menu 3 akan melakukan operasi pencetakan, dan
menu ke 4 akan keluar dari program. Proses pemilihan menu akan dilakukan
dengan menggunakan fungsi swith-case. Pertama program akan menampilkan
menu-menu yang akan dipilih, dan program akan meminta untuk memasukkan
pilihannya, nilai pilihan akan disimpan pada variabel pilih. Lalu pada fungsi swith-
case akan mengecek berapakah nilai yang terdapat dalam variabel pilih. Jika nilai
variabel pilih sama dengan 1 maka akan memanggil fungsi push. Dan program akan
diulang ke proses pemilihan menu. Didalam fungsi push terdapat fungsi
system("CLS"); yang berfungsi untuk membersihkan layar. Operasi push ini
berfungsi untuk memasukkan data ke dalam variabel stack.
Pertama program akan mengeksekusi fungsi if yaitu if(top==n), disini akan
mengecek apakah nilai dari variabel top sama dengan n, yang sebelumnya variabel
n diinisialisasi dengan nilai 5. Pada fungsi if ini akan mengecek apakah stack sudah
penuh. Jika benar maka akan memanggil fungsi isFull yang akan mencetak kalimat
stack penuh. Dan jika salah akan meminta untuk memasukkan nilai kedalam
stack, nilai tersebut akan disimpan kedalam variabel A. dan mencetak posisi
keberapa stack yang diinputkan sekarang.
Jika pilihannya adalah menu ke dua, maka program akan memanggil fungsi
pop. Operasi pop berfungsi untuk menghapus stack yang berada di puncak. Pertama
program akan mengeksekusi fungsi if yaitu if(top==0) yang bagaimana akan
mengecek apakah top sama dengan 0 atau apakah stack dalam keadaan kosong, jika
benar maka akan memanggil fungsi isEmpty yang akan mencetak bahwa sanya
stack kosong. Jika salah maka akan mencetak kalimat satu sata sudah di pop,
dan melakukan operasi decrement pada variabel top, yang akan menghapus stack
yang berada pada puncak. Lalu mencetak posisi top saat ini. Setelah itu program
akan diulang ke proses pemilihan menu.
Jika pilihannya adalah menu ke 3, maka akan memanggil fungsi cetak. Operasi
cetak akan melakukan pencetakan data yang terdapat pada stack. Pada fungsi cetak
pertama program akan mengeksekusi fungsi if, yaitu if(top==0), disini akan
mengecek apakah nilai top sama dengan 0 atau apakah stack dalam keadaan
kosong, jika benar maka akan memanggil fungsi isEmpty yang akan mencetak
stack kosong. Jika salah, maka akan mencetak nilai stack. Pencetakan nilai akan
dilakukan dengan menggunkan fungsi perulangan for, yaitu for(i=1;i<=top;i++),
didalam for terdapat kondisi untuk mengecek apakah nilai dari variabel i lebih kecil
atau sama dengan nilai top. Dengan kondisi ini data akan dicetak sampai data ke
top saat ini. Jika kondisinya benar maka pernyataannya akan dijalankan. Yaitu
cout<<A[i]<<" ";, perintah tersebut akan mencetak nilai dari variabel A indeks
ke-i. dan program diulang dengan melakukan operasi increment pada variabel i.
perulangan akan dihentikan apabila kondisinya salah. Setelah itu program akan
diulang ke proses pemilihan menu.
Dan jika menu yang dipilih adalah menu ke 4, maka program akan dihentikan
dengan menggunakan fungsi return 0, dan break. dan jika menu yang diinput
bukanlah menu yang sudah tersedia maka akan mencetak kalimat pilihan salah,
dan program akan diulang ke proses pemilihan menu.
TUGAS PRAKTIKUM

Dengan menggunakan fungsi push () dan pop () pada stack, membuat program untuk
operasi stuck data integer sebanyak 5 elemen, dengan data 10,20,30,40,50
menampilkan hasilnya, kemudian menuliskan dalam laporan.
Berikut Source code dari tugas praktikum untuk fungsi push () dan pop () :
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
typedef int stack[10];
int n=5, top=0;

int isempty(int &top)


{
if(top==0)
cout<<"\nstack kosong\n\n";
}
int isfull(int &top)
{
if(top==n)
cout<<"\nstack penuh\n\n";
}
int cetak(stack A, int &top)
{
system("CLS");
int i;
if(top==0)
isempty(top);
else
{
for(i=1;i<=top;i++)
cout<<A[i]<<" ";

cout<<endl<<endl;
}
}
int push(stack A, int &top)
{
system("CLS");
if(top==n)
isfull(top);
else
{
top++;
cout<<"push\nmasukkan data : ";cin>>A[top];
cout<<"posisi top saat ini : "<<top<<endl<<endl;
}
}
int pop(stack A, int &top)
{
system("CLS");
if(top==0)
isempty(top);
else
{
cout<<"pop\nsatu data sudah di pop\n";
top--;
cout<<"posisi top saat ini : "<<top<<endl<<endl;
}
}
int main()
{
stack A={1,2,3,4,5,6,7,8,9,10};
int i, pilih;
menu :
cout<<"stack\n";
cout<<"1. push\n2. pop\n3. view data\n4. exit\nmasukkan
pilihan : ";cin>>pilih;
switch(pilih)
{
case 1 : {push(A,top);break;}
case 2 : {pop(A,top);break;}
case 3 : {cetak(A,top);break;}
case 4 : {return 0;break;}
default : {system("CLS");cout<<"pilihan salah\n\n";}
}
goto menu;
}
Outpu/keluaran dari program fingsi push () dan pop() :

Pertama, kita inputkan pilihan 1 untuk memilih menu push.

Kemudian, memasukkan data dengan angka 10 dan menekan enter. Dan pada
Masukkan pilihan kembali menginputkan angka 1 karena kita masih menggunakan
fungsi push() yang berada di pilihan 1, kemudian menekan enter.

Kemudian memasukkan data dengan angka 20 dan melakukan hal yang sama dengan
sebelumnya untuk menginputkan pilihan 1.
Kemudian memasukkan data dengan angka 30 dan melakukan hal yang sama dengan
sebelumnya untuk menginputkan pilihan 1. Kita lakukan hal ini hinggan input data
dengan nilai 50.

Kemudian memasukkan data dengan angka 40 dan melakukan hal yang sama dengan
sebelumnya untuk menginputkan pilihan 1.

Selanjutnya untuk memasukkan data dengan nilai 50, maka pada menu memasukkan
pilihan kita memilih menu ke-2 karena kita akan mem-pop kan nilai yang telah kita
inputkan.
Ketika kita sudah memilih menu 2 yaitu Pop, maka berisi penjelasan atau pun tampilan
seperti di atas. Posisi TOP saat ini : 4. Untuk posisi TOP akan berubah setiap kita
memilih menu pilihan 2 hingga akhirnya nanti stuck menjadi kosong. Dan kita kembali
memilih menu 2 untuk mem-pop kan nilai selanjutnya.

Pada output, Posisi TOP saat ini : 3. Untuk posisi TOP sudah berubah yang
sebelumnya 4 menjadi 3. Dan kita kembali memilih menu 2 untuk mem-pop kan nilai
selanjutnya.

Pada output, Posisi TOP saat ini : 2. Untuk posisi TOP sudah berubah yang
sebelumnya 4 menjadi 3. Dan kita kembali memilih menu 2 untuk mem-pop kan nilai
selanjutnya.
Pada output, Posisi TOP saat ini : 1. Untuk posisi TOP sudah berubah yang
sebelumnya 4 menjadi 3. Dan kita kembali memilih menu 2 untuk mem-pop kan nilai
selanjutnya.

Pada output, Posisi TOP saat ini : 0. Untuk posisi TOP sudah berubah yang
sebelumnya 4 menjadi 3. Dan kita kembali memilih menu 2 untuk mem-pop kan nilai
selanjutnya.

Dan pada output tersebut stuck sudah kosong. Artinya sudah tidak ada data maupun
tumpukan data di dalam stuck.
Terakhir kita dapat memilih menu 4 untuk keluar dari program dan bisa langsung
menutup program.
BAB V
KESIMPULAN

Stack adalah struktur data yang mengikuti aturan Last In First Out (LIFO),
yaitu data yang masuknya terakhir harus keluar terlebih dahulu. Mirip seperti bola
tenis yang berada di dalam tempatnya. Apabila ingin mengambil bola yang paling
dalam harus mengeluarkan beberapa bola di atasnya. Prinsip ini digunakan di hampir
semua sistem komputer modern.
Operasi dasar pada Stack :
1. Createstack(S) : Yaitu membuat tumpukan baru S, dengan sejumlah elemen
kosong.
2. Makenull(S) : Yaitu mengosongkan tumpukan S, jika ada elemen maka semua
elemen akan dihapus.
3. Empty : Yaitu tumpukan kosong ?, untuk menguji apakah tumpukan kosong atau
tidak.
4. Push(x,S) : Yaitu memasukan elemen baru x ketumpukan S. Proses PUSH,
tumpukan harus diperiksa apakah jumlah elemen sudah mencapai maksimum atau
tidak, jika sudah maka overflow. Operasi PUSH merupakan operasi untuk menyisip
atau menambah elemen yg terletak pada posisi paling atas dari sebuah tumpukan.
5. Pop(S) : Yaitu mengeluarkan elemen posisi teratas pada tumpukan S. Proses POP,
tumpukan harus diperiksa apakah tumpukan sudah kosong/tidak ada lagi elemen yang
hendak dikeluarkan, jika tidak maka underflow. Operasi POP merupakan operasi
untuk menghapus elemen yang terletak pada posisi paling atas dari sebuah tumpukan
DAFTAR PUSTAKA

Reza Ade Putra. dkk.2017. Modul Praktikum Struktur Data, Program Studi
TeknikInformatika, FakultasTeknik, UniversitasSamudra.

Syaviri, Ananda. 2014. Laporan Praktikum IV Stack (Tumpukan), Pendidikan


Teknik Informatika, Jurusan Teknik Eektro, Fakultas Teknik, Universitas Negeri
Malang.

Hidayatullah, Syarif. 2013. Laporan Tumpukan (Stuck), Teknik Informatika,


Jurusan Teknik Eektro, Politeknik Negeri Semarang.

Ramadhani, Dwitha Fajri dan Damayanti, Ika. 2017. Laporan Praktikum X Stack,
Pendidikan Teknik Informatika, Jurusan Teknik Eektro, Fakultas Teknik,
Universitas Negeri Malang.

Anda mungkin juga menyukai