SlideShare a Scribd company logo
1 of 11
Download to read offline
Tumpukan 
Algoritma dan 
Struktur Data 
Kuliahkita - Edwin Lunando
Pendahuluan 
Tumpukan adalah sebuah struktur penyimpanan data 
yang dapat menyimpan data secara berurut dan diambil 
terurut pula layaknya tumpukan. 
Tumpukan memiliki prinsip Last in First Out (LIFO). Karena 
seperti tumpukan, benda yang paling terakhir diletakan, 
akan diambil terlebih dahulu. Penyisipan elemen akan 
diletakkan di paling atas, tidak di tengah-tengah elemen.
Metode pada Tumpukan 
Terdapat beberapa method dasar pada tumpukan: 
1. Push : menambahkan data ke top tumpukan 
2. Pop : mengambil dari tumpukan, elemen paling atas 
hilang dari tumpukan 
3. Top : mengambil nilai elemen teratas dari tumpukan 
4. Isempty : memeriksa apakah tumpukan kosong
Struktur Tumpukan 
Stack hampir sama dengan list, hanya 
saja stack memiliki kelakuan method yang 
berbeda yaitu pop. Ketika di pop, elemen 
akan hilang dan digantikan elemen ke-2 
menjadi yang teratas. 
Sementara method sisanya seperti push 
sama dengan insertion hanya pada 
elemen teratas dan top untuk mengetahui 
elemen terakhir. 
push pop 
top
Contoh Tumpukan Terbatas (larik) 
Top IdxMax 
x x x x x x 
Top (stack kosong)
Contoh TDA Larik Tumpukan Integer 
type Stack: < integer capacity /* kapasitas stack */ 
integer top /* indeks top */ 
integer infoTop /* nilai teratas pada stack */ 
integer S[capacity] /* S menampung elemen stack */ > 
/* mengembalikan indeks kosong teratas pada stack */ 
function top(Input S: Stack) → integer 
/* mengembalikan nilai teratas pada stack */ 
function infoTop(Input S: Stack) → integer 
/* memeriksa apakah stack kosong */ 
function isEmpty(Input S: Stack) → boolean 
/* menginisialisasi stack yang baru dibuat */ 
Procedure buatStack(Output S: Stack) 
/* menambah elemen pada stack */ 
Procedure push(Input/Output S: Stack, X: integer) 
/* mengambil nilai teratas pada stack */ 
Procedure pop(Input/Output S: Stack, Output X: integer)
Penjelasan TDA Tumpukan 
Sebuah tumpukan memiliki kapasitas yaitu jumlah elemen 
yang bisa diisi pada penampung berbentuk larik, karena 
larik ini juga akan didefinisikan memiliki besar = kapasitas. 
Lalu juga terdapat Top dan infoTop. Top merupakan 
indeks kosong teratas tumpukan sehingga setiap 
mengambil nilai, kita tidak perlu lagi mencari indeks 
teratas pada larik penampung untuk operasi. Sedangkan 
infoTop yang diset juga mempermudah mengembalikan 
nilai teratas tanpa pencarian.
Contoh Kode C++ Array Stack Integer 
#include <iostream> 
using namespace std; 
typedef struct stack { 
int capacity; /* Kapasitas dari tumpukan */ 
int top; /* Indeks dari tumpukan paling atas yang masih kosong */ 
int infoTop; /* Informasi tumpukan paling atas yang terisi */ 
int S[10]; /* Penampung tumpukan dalam larik */ 
} Stack; 
void buatStack(Stack &S) { 
S.capacity = 10; // inisialisasi kapasitas stack 
S.capacity = 0; // inisialisasi posisi top 
for (int i=0; i<10 ; i++) { 
S.S[i] = -9999; 
} // misalkan nilai -9999 adalah penanda kosong 
}
Contoh Kode C++ Array Stack Integer 
bool isEmpty(Stack S) { 
return (S.top == 0); 
} 
void push(Stack &S, int x) { 
if (S.top != 10) { // jika belum penuh 
// jika ada slot kosong atau posisi top tidak ada di indeks terakhir 
S.S[S.top+1] = x; // isi nilai ke indeks top + 1 
S.top += 1; // tambahkan nilai top dengan 1 karena terisi 
} 
} 
int pop(Stack &S) { 
if(isEmpty(S)) { 
return -9999; // kembalikan nilai penanda kosong 
} else { 
int nilai = S.S[S.top-1]; // ambil nilai pada top-1 karena top = slot kosong 
S.top -= 1; // kurangi indeks top dengan 1 
return nilai; 
} 
}
Contoh Kode C++ Array Stack Integer 
int main() { 
Stack myStack; 
buatStack(myStack); 
push(myStack, 10); 
push(myStack, 20); 
for (int i=0; i<10; i++) 
cout << myStack.S[i] <<" | "; 
int hasil = pop(myStack); 
cout << “nilai teratas: “ << hasil; 
return 0; 
}
Pemanfaatan Tumpukan 
Contoh penggunaan stack dapat dilihat pada 
1. Program terhadap mesin (penyimpanan, dan eksekusi 
subprogram) 
2. Program pencarian sehingga dapat melakukan 
backtracking 
3. Aplikasi permainan, misalkan penyimpanan aksi atau 
kondisi tertentu 
4. dll

More Related Content

What's hot

MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 
PENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAM
PENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAMPENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAM
PENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAMMuhammad Baihaqi
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur DataFajar Sany
 
Materi Struktur Data Stack
Materi Struktur Data StackMateri Struktur Data Stack
Materi Struktur Data StackMeta N
 
Laporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxLaporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxIbrahim Naki
 
Makalah penyajian data
Makalah penyajian dataMakalah penyajian data
Makalah penyajian dataAisyah Turidho
 
Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02KuliahKita
 
Operasi string dan kondisi if
Operasi string dan kondisi ifOperasi string dan kondisi if
Operasi string dan kondisi ifAzharul Jamilah
 
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukanAlgoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukanputraindo
 
Tugas Kelompok Manajemen Industri - Bill Of Material
Tugas Kelompok Manajemen Industri - Bill Of MaterialTugas Kelompok Manajemen Industri - Bill Of Material
Tugas Kelompok Manajemen Industri - Bill Of MaterialVicky Fakhrurrazi
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur DataMade Aditya
 
Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Nerossi Jonathan
 

What's hot (20)

MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
PENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAM
PENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAMPENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAM
PENDEKATAN PERANCANGAN TERSTRUKTUR DATA FLOW DIAGRAM
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur Data
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Materi Struktur Data Stack
Materi Struktur Data StackMateri Struktur Data Stack
Materi Struktur Data Stack
 
Laporan Sistem Operasi Linux
Laporan Sistem Operasi LinuxLaporan Sistem Operasi Linux
Laporan Sistem Operasi Linux
 
Makalah penyajian data
Makalah penyajian dataMakalah penyajian data
Makalah penyajian data
 
Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02
 
Operasi string dan kondisi if
Operasi string dan kondisi ifOperasi string dan kondisi if
Operasi string dan kondisi if
 
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukanAlgoritma untuk mengecek bilangan di antara 2 bilangan masukan
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
 
Tugas Kelompok Manajemen Industri - Bill Of Material
Tugas Kelompok Manajemen Industri - Bill Of MaterialTugas Kelompok Manajemen Industri - Bill Of Material
Tugas Kelompok Manajemen Industri - Bill Of Material
 
Paralel prosesor
Paralel prosesorParalel prosesor
Paralel prosesor
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Linked List
Linked ListLinked List
Linked List
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur Data
 
Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)Metode numerik pertemuan 7 (interpolasi lagrange)
Metode numerik pertemuan 7 (interpolasi lagrange)
 
Met num 2
Met num 2Met num 2
Met num 2
 
Poisson distribution
Poisson distributionPoisson distribution
Poisson distribution
 

Viewers also liked

Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Georgius Rinaldo
 
Bab 8-stack-dan-queue
Bab 8-stack-dan-queueBab 8-stack-dan-queue
Bab 8-stack-dan-queueRazik Akamal
 
Algoritma dan Struktur Data - list
Algoritma dan Struktur Data - listAlgoritma dan Struktur Data - list
Algoritma dan Struktur Data - listGeorgius Rinaldo
 
Algoritma dan Struktur Data - List
Algoritma dan Struktur Data - ListAlgoritma dan Struktur Data - List
Algoritma dan Struktur Data - ListKuliahKita
 
Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++KuliahKita
 
Algoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorAlgoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorGeorgius Rinaldo
 
Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerKuliahKita
 
Struktur data dan algoritma
Struktur data dan algoritmaStruktur data dan algoritma
Struktur data dan algoritmaChusnul Khotimah
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerGeorgius Rinaldo
 

Viewers also liked (20)

Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++
 
Bab 8-stack-dan-queue
Bab 8-stack-dan-queueBab 8-stack-dan-queue
Bab 8-stack-dan-queue
 
Algoritma dan Struktur Data - list
Algoritma dan Struktur Data - listAlgoritma dan Struktur Data - list
Algoritma dan Struktur Data - list
 
Algoritma dan Struktur Data - List
Algoritma dan Struktur Data - ListAlgoritma dan Struktur Data - List
Algoritma dan Struktur Data - List
 
Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++
 
Algoritma queue
Algoritma queueAlgoritma queue
Algoritma queue
 
Algoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorAlgoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructor
 
Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon Biner
 
Struktur data dan algoritma
Struktur data dan algoritmaStruktur data dan algoritma
Struktur data dan algoritma
 
Modul struktur data
Modul struktur dataModul struktur data
Modul struktur data
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon biner
 
Sim week 07 chapter 01
Sim week 07   chapter 01Sim week 07   chapter 01
Sim week 07 chapter 01
 
Sim week 02 chapter 01
Sim week 02   chapter 01Sim week 02   chapter 01
Sim week 02 chapter 01
 
Sim week 01 chapter 02
Sim week 01   chapter 02Sim week 01   chapter 02
Sim week 01 chapter 02
 
Sim week 08 chapter 01
Sim week 08   chapter 01Sim week 08   chapter 01
Sim week 08 chapter 01
 
Sim week 05 chapter 01
Sim week 05   chapter 01Sim week 05   chapter 01
Sim week 05 chapter 01
 
Sim week 02 chapter 2
Sim week 02   chapter 2Sim week 02   chapter 2
Sim week 02 chapter 2
 
Sim week 03 chapter 01
Sim week 03   chapter 01Sim week 03   chapter 01
Sim week 03 chapter 01
 
Sim week 04 chapter 01
Sim week 04   chapter 01Sim week 04   chapter 01
Sim week 04 chapter 01
 
Sim week 06 chapter 01
Sim week 06   chapter 01Sim week 06   chapter 01
Sim week 06 chapter 01
 

Similar to Algoritma dan Struktur Data - tumpukan

Similar to Algoritma dan Struktur Data - tumpukan (20)

Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - Stack
 
3 stack2
3 stack23 stack2
3 stack2
 
Tistrukdat4
Tistrukdat4Tistrukdat4
Tistrukdat4
 
STACK .pdf
STACK .pdfSTACK .pdf
STACK .pdf
 
Pertemuan 5 revisijan2013-mhs
Pertemuan 5 revisijan2013-mhsPertemuan 5 revisijan2013-mhs
Pertemuan 5 revisijan2013-mhs
 
Stack_Queue.pdf
Stack_Queue.pdfStack_Queue.pdf
Stack_Queue.pdf
 
ppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.pptppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.ppt
 
ppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.pptppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.ppt
 
Stack
StackStack
Stack
 
Bab 4 stack_tumpukan_
Bab 4 stack_tumpukan_Bab 4 stack_tumpukan_
Bab 4 stack_tumpukan_
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Makalah stack ramadhani
Makalah stack ramadhaniMakalah stack ramadhani
Makalah stack ramadhani
 
Stack atau tumpukan
Stack atau tumpukanStack atau tumpukan
Stack atau tumpukan
 
Chapter 4a stack
Chapter 4a   stackChapter 4a   stack
Chapter 4a stack
 
5 STACK
5 STACK5 STACK
5 STACK
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
 

More from Georgius Rinaldo

Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsGeorgius Rinaldo
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataGeorgius Rinaldo
 
Algoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectAlgoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectGeorgius Rinaldo
 
Algoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtAlgoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonAlgoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonGeorgius Rinaldo
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selectionAlgoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selectionGeorgius Rinaldo
 
Algoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeAlgoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleAlgoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleGeorgius Rinaldo
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerGeorgius Rinaldo
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiGeorgius Rinaldo
 
Algoritma dan Struktur Data - set
Algoritma dan Struktur Data - setAlgoritma dan Struktur Data - set
Algoritma dan Struktur Data - setGeorgius Rinaldo
 
Algoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikAlgoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikGeorgius Rinaldo
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileGeorgius Rinaldo
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundGeorgius Rinaldo
 
Algoritma dan Struktur Data - fungsi dan prosedur c++
Algoritma dan Struktur Data -  fungsi dan prosedur c++Algoritma dan Struktur Data -  fungsi dan prosedur c++
Algoritma dan Struktur Data - fungsi dan prosedur c++Georgius Rinaldo
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++Georgius Rinaldo
 
Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++Georgius Rinaldo
 
Algoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan KondisiAlgoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan KondisiGeorgius Rinaldo
 

More from Georgius Rinaldo (20)

Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methods
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur Data
 
Algoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectAlgoritma dan Struktur Data - object
Algoritma dan Struktur Data - object
 
Algoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtAlgoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adt
 
Algoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonAlgoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohon
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertion
 
Algoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selectionAlgoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selection
 
Algoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeAlgoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan Merge
 
Algoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleAlgoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubble
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian biner
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursi
 
Algoritma dan Struktur Data - set
Algoritma dan Struktur Data - setAlgoritma dan Struktur Data - set
Algoritma dan Struktur Data - set
 
Algoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikAlgoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - Larik
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi file
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compound
 
Algoritma dan Struktur Data - fungsi dan prosedur c++
Algoritma dan Struktur Data -  fungsi dan prosedur c++Algoritma dan Struktur Data -  fungsi dan prosedur c++
Algoritma dan Struktur Data - fungsi dan prosedur c++
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++
 
Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++
 
Algoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan KondisiAlgoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan Kondisi
 

Recently uploaded

2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptxAnnisaNurHasanah27
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfssuser40d8e3
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 

Recently uploaded (9)

2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdf
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 

Algoritma dan Struktur Data - tumpukan

  • 1. Tumpukan Algoritma dan Struktur Data Kuliahkita - Edwin Lunando
  • 2. Pendahuluan Tumpukan adalah sebuah struktur penyimpanan data yang dapat menyimpan data secara berurut dan diambil terurut pula layaknya tumpukan. Tumpukan memiliki prinsip Last in First Out (LIFO). Karena seperti tumpukan, benda yang paling terakhir diletakan, akan diambil terlebih dahulu. Penyisipan elemen akan diletakkan di paling atas, tidak di tengah-tengah elemen.
  • 3. Metode pada Tumpukan Terdapat beberapa method dasar pada tumpukan: 1. Push : menambahkan data ke top tumpukan 2. Pop : mengambil dari tumpukan, elemen paling atas hilang dari tumpukan 3. Top : mengambil nilai elemen teratas dari tumpukan 4. Isempty : memeriksa apakah tumpukan kosong
  • 4. Struktur Tumpukan Stack hampir sama dengan list, hanya saja stack memiliki kelakuan method yang berbeda yaitu pop. Ketika di pop, elemen akan hilang dan digantikan elemen ke-2 menjadi yang teratas. Sementara method sisanya seperti push sama dengan insertion hanya pada elemen teratas dan top untuk mengetahui elemen terakhir. push pop top
  • 5. Contoh Tumpukan Terbatas (larik) Top IdxMax x x x x x x Top (stack kosong)
  • 6. Contoh TDA Larik Tumpukan Integer type Stack: < integer capacity /* kapasitas stack */ integer top /* indeks top */ integer infoTop /* nilai teratas pada stack */ integer S[capacity] /* S menampung elemen stack */ > /* mengembalikan indeks kosong teratas pada stack */ function top(Input S: Stack) → integer /* mengembalikan nilai teratas pada stack */ function infoTop(Input S: Stack) → integer /* memeriksa apakah stack kosong */ function isEmpty(Input S: Stack) → boolean /* menginisialisasi stack yang baru dibuat */ Procedure buatStack(Output S: Stack) /* menambah elemen pada stack */ Procedure push(Input/Output S: Stack, X: integer) /* mengambil nilai teratas pada stack */ Procedure pop(Input/Output S: Stack, Output X: integer)
  • 7. Penjelasan TDA Tumpukan Sebuah tumpukan memiliki kapasitas yaitu jumlah elemen yang bisa diisi pada penampung berbentuk larik, karena larik ini juga akan didefinisikan memiliki besar = kapasitas. Lalu juga terdapat Top dan infoTop. Top merupakan indeks kosong teratas tumpukan sehingga setiap mengambil nilai, kita tidak perlu lagi mencari indeks teratas pada larik penampung untuk operasi. Sedangkan infoTop yang diset juga mempermudah mengembalikan nilai teratas tanpa pencarian.
  • 8. Contoh Kode C++ Array Stack Integer #include <iostream> using namespace std; typedef struct stack { int capacity; /* Kapasitas dari tumpukan */ int top; /* Indeks dari tumpukan paling atas yang masih kosong */ int infoTop; /* Informasi tumpukan paling atas yang terisi */ int S[10]; /* Penampung tumpukan dalam larik */ } Stack; void buatStack(Stack &S) { S.capacity = 10; // inisialisasi kapasitas stack S.capacity = 0; // inisialisasi posisi top for (int i=0; i<10 ; i++) { S.S[i] = -9999; } // misalkan nilai -9999 adalah penanda kosong }
  • 9. Contoh Kode C++ Array Stack Integer bool isEmpty(Stack S) { return (S.top == 0); } void push(Stack &S, int x) { if (S.top != 10) { // jika belum penuh // jika ada slot kosong atau posisi top tidak ada di indeks terakhir S.S[S.top+1] = x; // isi nilai ke indeks top + 1 S.top += 1; // tambahkan nilai top dengan 1 karena terisi } } int pop(Stack &S) { if(isEmpty(S)) { return -9999; // kembalikan nilai penanda kosong } else { int nilai = S.S[S.top-1]; // ambil nilai pada top-1 karena top = slot kosong S.top -= 1; // kurangi indeks top dengan 1 return nilai; } }
  • 10. Contoh Kode C++ Array Stack Integer int main() { Stack myStack; buatStack(myStack); push(myStack, 10); push(myStack, 20); for (int i=0; i<10; i++) cout << myStack.S[i] <<" | "; int hasil = pop(myStack); cout << “nilai teratas: “ << hasil; return 0; }
  • 11. Pemanfaatan Tumpukan Contoh penggunaan stack dapat dilihat pada 1. Program terhadap mesin (penyimpanan, dan eksekusi subprogram) 2. Program pencarian sehingga dapat melakukan backtracking 3. Aplikasi permainan, misalkan penyimpanan aksi atau kondisi tertentu 4. dll