Stack atau tumpukan adalah kumpulan elemen yang hanya dapat ditambah atau dihapus dari satu ujung gerbang yang sama,yang menunjukkan bahwa suatu elemen diletakkan di atas elemen yang lain.stack mempunyai sifat LIFO (Last In First Out) bahwa elemen yang terakhir masuk akan pertaman keluar
Bentuk deklarasi stack pertama adalah sebagai berikut
#define Maxs n
TypeData isi[MaxS]
TypeData Top;
Bentuk deklarasi stack kedua adalah sebagai berikut
#define Maxs n
struct Stack
{
TypeData isi[MaxS];
TypeData Top;
};
Berikut adalah contoh source code program mengkonversi bilangan desimal menjadi bilangan biner dengan menggunakan stack
#include<iostream>
#include<stdio.h>
#include<conio.h>
int MAXSTACK; typedef int itemtype;
typedef struct{
itemtype item[300]; int count;}
stack;
void initializestack(stack *s){
s->count = 0;}
int empty(stack *s){
return (s->count == 0);}
int full(stack *s){
return (s->count == MAXSTACK);}
void push(itemtype x, stack *s){
if(full(s))
printf("stack penuh !\n");
else{
s->item[s->count]=x; ++(s->count); }}
int pop(stack *s) {
if(empty(s))
printf(" Stack Kosong ");
else {
--(s->count);
return (s->item[s->count]); }}
using namespace std;
main() {
cout<<endl;
cout<<" Nama : Umdatul Qori Halim "<<endl;
cout<<" Kelas : 04 TPLEB Reguler C "<<endl;
cout<<" Mata Kuliah : Praktikum Struktur Data "<<endl;
cout<<endl;
int i, n, m, l, z; int input;
stack tumpukan;
printf(" Program Pengkonversi Desimal ke Biner ");
cout<<endl<<endl;
initializestack(&tumpukan);
printf(" Masukkan Bilangan Desimal : ");
scanf("%d", &input);
for(z=1,n=input;n>0;n=n/2, z++) {
MAXSTACK=z; }
m=0;
for(n=input;n>0;n=n/2) {
l=n%2;
push(l,&tumpukan);
++m; }
cout<<endl;
printf(" Hasil Konversi Ke Bilangan Biner : ");
for(i=MAXSTACK;i>0;i--) {
printf("%d", pop(&tumpukan)); }
getch();
return 0; }
Setelah syntax selesai dibuat tekan F11 untuk mengcompile & run (Versi 5) maka akan tampil seperti ini :
Inputlah sebuah bilangan misalkan 2015 1400 86 maka program akan mengkonversikannya kedalam bilangan biner
Syntax Tersebut Saya Tulis Menggunakan Software Dev-C++ Versi 5.4.1 Bagi Kalian Yang Belum Punya Softwarenya Silahkan Download Terlebih Dahulu Dengan Cara Klik Disini
Selamat Mencoba !
" Penulis paruh waktu yang hanya ingin berbagi ilmu, Cita - cita mau jadi anak soleh "
