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

Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Farichah Riha
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queueMuhammad Najib
 
Contoh soal Metode Simpleks
Contoh soal Metode SimpleksContoh soal Metode Simpleks
Contoh soal Metode SimpleksReza Mahendra
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasiahmad haidaroh
 
Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Devi Apriansyah
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)ahmad haidaroh
 
PENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIAN
PENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIANPENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIAN
PENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIANFeronica Romauli
 
Bahan ajar statistik bisnis
Bahan ajar statistik bisnisBahan ajar statistik bisnis
Bahan ajar statistik bisnisNardiman SE.,MM
 
Populasi dan sampel
Populasi dan sampelPopulasi dan sampel
Populasi dan sampelNi wulie
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Rakhmat Dedi Gunawan
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekI Putu Arya Dharmaadi
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
pengolahan data
pengolahan datapengolahan data
pengolahan dataPutra Yasa
 

What's hot (20)

Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queue
 
Pert.12 teori permainan
Pert.12 teori permainanPert.12 teori permainan
Pert.12 teori permainan
 
Analisis jalur (path analysis)
Analisis jalur (path analysis)Analisis jalur (path analysis)
Analisis jalur (path analysis)
 
Contoh soal Metode Simpleks
Contoh soal Metode SimpleksContoh soal Metode Simpleks
Contoh soal Metode Simpleks
 
Prinsip usability
Prinsip usabilityPrinsip usability
Prinsip usability
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
 
Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)
 
Pengantar Statistika 2
Pengantar Statistika 2Pengantar Statistika 2
Pengantar Statistika 2
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)
 
PENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIAN
PENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIANPENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIAN
PENYELESAIAN MASALAH PENUGASAN DENGAN METODE HUNGARIAN
 
Bahan ajar statistik bisnis
Bahan ajar statistik bisnisBahan ajar statistik bisnis
Bahan ajar statistik bisnis
 
Metodologi Penelitian Pertemuan 1
Metodologi Penelitian Pertemuan 1Metodologi Penelitian Pertemuan 1
Metodologi Penelitian Pertemuan 1
 
Populasi dan sampel
Populasi dan sampelPopulasi dan sampel
Populasi dan sampel
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
pengolahan data
pengolahan datapengolahan data
pengolahan data
 
Bab 4 aljabar boolean
Bab 4 aljabar booleanBab 4 aljabar boolean
Bab 4 aljabar boolean
 

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)

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
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 

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 - 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
 
Algoritma dan Struktur Data - Persiapan Kakas C++
Algoritma dan Struktur Data - Persiapan Kakas C++Algoritma dan Struktur Data - Persiapan Kakas C++
Algoritma dan Struktur Data - Persiapan Kakas C++Georgius 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 - 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
 
Algoritma dan Struktur Data - Persiapan Kakas C++
Algoritma dan Struktur Data - Persiapan Kakas C++Algoritma dan Struktur Data - Persiapan Kakas C++
Algoritma dan Struktur Data - Persiapan Kakas C++
 

Recently uploaded

Transfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia IndustriTransfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia Industririzwahyung
 
Analisis Struktur Statis Tak Tentu dengan Force Method.pdf
Analisis Struktur Statis Tak Tentu dengan Force Method.pdfAnalisis Struktur Statis Tak Tentu dengan Force Method.pdf
Analisis Struktur Statis Tak Tentu dengan Force Method.pdfAgusTriyono78
 
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxPPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxYehezkielAkwila3
 
MEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIK
MEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIKMEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIK
MEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIKFerdinandus9
 
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptxSesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx185TsabitSujud
 
MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555
MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555
MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555zannialzur
 
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxPPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxHamidNurMukhlis
 
struktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptx
struktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptxstruktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptx
struktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptxAgusTriyono78
 
PPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptx
PPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptxPPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptx
PPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptxdpcaskonasoki
 
Normalisasi Database dan pengertian database
Normalisasi Database dan pengertian databaseNormalisasi Database dan pengertian database
Normalisasi Database dan pengertian databasethinkplusx1
 
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxAhli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxarifyudianto3
 
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfKelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfVardyFahrizal
 
Himpunan Fuzzy Academic Engineering Data
Himpunan Fuzzy Academic Engineering DataHimpunan Fuzzy Academic Engineering Data
Himpunan Fuzzy Academic Engineering DataDAVIDSTEVENSONSIMBOL
 
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxQCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxdjam11
 

Recently uploaded (14)

Transfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia IndustriTransfer Massa dan Panas Teknik Kimia Industri
Transfer Massa dan Panas Teknik Kimia Industri
 
Analisis Struktur Statis Tak Tentu dengan Force Method.pdf
Analisis Struktur Statis Tak Tentu dengan Force Method.pdfAnalisis Struktur Statis Tak Tentu dengan Force Method.pdf
Analisis Struktur Statis Tak Tentu dengan Force Method.pdf
 
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptxPPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
PPT PENILAIAN PERKERASAN JALAN Metode PCI.pptx
 
MEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIK
MEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIKMEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIK
MEKANIKA TEKNIK TEKNIK PERTAMBANGAN FAK. TEKNIK
 
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptxSesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
Sesi_02_Rangkaian_Hubungan_Seri_Paralel.pptx
 
MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555
MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555
MATERI PRESENTASI KEPALA TEKNIK TAMBANG KEPMEN 555
 
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptxPPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
PPT Manajemen Konstruksi Unsur Unsur Proyek 1.pptx
 
struktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptx
struktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptxstruktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptx
struktur statis tak tentu dengan persamaan-tiga-momen-apdf.pptx
 
PPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptx
PPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptxPPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptx
PPT PPT Pelaksana lapangan Pekerasan Jalan Beton lvl 6.pptx
 
Normalisasi Database dan pengertian database
Normalisasi Database dan pengertian databaseNormalisasi Database dan pengertian database
Normalisasi Database dan pengertian database
 
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptxAhli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
Ahli Muda Teknik Bangunan GEdung Jenjang 7 - Samet Kurnianto.pptx
 
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdfKelompok 5 PPt Penerapan Teori Fuzzy.pdf
Kelompok 5 PPt Penerapan Teori Fuzzy.pdf
 
Himpunan Fuzzy Academic Engineering Data
Himpunan Fuzzy Academic Engineering DataHimpunan Fuzzy Academic Engineering Data
Himpunan Fuzzy Academic Engineering Data
 
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptxQCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
QCC MANAJEMEN TOOL MAINTENANCE (MAINTENANCE TEAM).pptx
 

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