Sabtu, 28 Juni 2014

Berikut ini adalah sebuah program stack dalam Bahasa C dimana akan terdapat dua menu (Push & Pop) dimana user akan memilih menu tersebut. Jika user memilih menu Push maka user di minta untuk menginputkan elemen dari stack. Jika user memilih Pop maka elemen teratas akan di keluarkan.

#include <stdio.h>
#define MAXSTACK 5

typedef struct{
int item[MAXSTACK];
int count;
} stack;
stack tumpukan;

void init(stack *s) {
printf ("**INISIALISASI**");
s->count=0;
}

int isEmpty(stack *s) {
return (s->count == 0);
}

int isFull(stack *s) {
return (s->count ==  MAXSTACK);


void push(stack *s, int dataIn) {
printf("**PUSH DATA %d \n", dataIn);
if (isFull(s) ==1) {
printf("Stack Sudah Penuh !\n\n");
} else {
s->item[s->count]=dataIn;
(s->count)++;
printf("Berhasil masuk %d \n\n", dataIn);
}
}

void pop (stack *s) {
printf("**POP DATA\n");
if (isEmpty(s)) {
printf ("Stack Kosong !\n");
} else {
int dataOut;
int top=(s->count)-1;
dataOut= s->item[top];
s->item[top]=0;
--(s->count);
printf("\t POP : %d\n",dataOut);
}}

void printStack(stack *s) {
printf("Terdapat %d data : \n\t",s->count);
int i=0;
for (i=MAXSTACK-1;i>=0;i--) {
printf("%d | ", s->item[i]);
}
printf("\n\n");
}

int main () {
int pilihan;
do {
   printf ("1.Push\n");
   printf ("2.POP\n");
   printf ("Pilihan: ");
   scanf  ("%d", &pilihan);
   
     if (pilihan<1 or pilihan>3)
        printf ("\nPilhan Salah, Silahkan Ulangi Lagi.");
        
  if(pilihan<1 or pilihan>3);
     
    switch (pilihan)
    {
     case 1:
    int dataIn;
     printf ("\nElemen Push : ");
     scanf  ("%d", &dataIn);
     push (&tumpukan, dataIn);
     
     printStack(&tumpukan);
     
     break;
   
        case 2:
     pop (&tumpukan);
     
     if(&tumpukan == 0){
       
       printf("\nStack Kosong\n\n");
     } else {
     
       printStack (&tumpukan);
     }
          
     break;
  
  default:
     printf ("\nExit");
          }
    } while(pilihan != 3);

 return 0; }



Salam Random!

1 komentar:

  1. artikelnya bermanfaat kak, ini sya jga punya artikel tentang Stack (tumpukan) dalam Bahasa C, smoga dpt saling melengkapi

    Stack (tumpukan) dalam Bahasa C

    Kumpulan Materi Bahasa C, Lengkap dengan contoh program

    BalasHapus