Minggu, 12 Juli 2009

Membuat Program Bag-3 (Stack & Queue)

Contoh program yang akan saya but kali ini adlah tentng Stack(Tumpukan) dan Queue (Antrian). Stack atau tumpukan adalah penghapusan data yang dilakukan pada akhir data pada susunan data dimana data dapat ditambahkan atau dihapus. Atau sering disebut dengan Top of Stack. Sistem Kerja yang digunakan oleh stack adalah sistem LIFO (Last in First Out) atau data yang terakhir masuk maka itulah data yang keluar lebih dulu atau dihapus.
Kemudian sistem operasi yang digunakan adalah Push Operation atau Operasi push. Operasi ini digunakan untuk menambahkan item atau data dalam stack dan diletakan paling atas. Jadi setiap penambahan data maka data tersebut akan diletakan paling atas atau pertama.
Sistem operasi yang digunakan selanjutnya adalah Pop Operation atau operasi pop. Operasi ini digunakan untuk menghapus item atau data dalam stack paling atas. Ini sesuai dengan sistem kerja stack yaitu LIFO, Jadi yang terakhir masuk maka itu yang akan dihapus. Operasi berikutnya yaitu Clear, Pastinya operasi ini sudah cukup jelas fungsi dan kegunaannya yaitu untuk mengosongkan atau menclear item atau data yang ada dalam stack.  dan sistem operasi stack yang terakhir adalah IsEmpty dan IsFull, IsEmpty berfungsi untuk memeriksa atau mencek apakah stack masih kosong atau tidak sedangkan IsFull kebalikan dari IsEmpty yaitu berfungsi untuk memeriksa atau mencek apakah didalam stack sudah penuh atau masih kosong.

Dan sekarang kita coba untuk membuat sebuah program sederhana silakan buka C++ anda dan paste kode dibawah ini:
//Contoh program stack-----------------------
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define MAX_STACK

void main(){
struct node{
int data;
int n;
struct node*link;};

int n,push;
typedef struct node;
node*temp,*stack=NULL;
while(1)
{
clrscr();
printf("==Contoh program stack==\n\n\t\tOriginal program by suryadi2011.blogspot.com\n");
printf(" MENU PILIHAN\n");
printf("1.Push (Tambah data)\n");
printf("2.Pop (Hapus data)\n");
printf("3.View (Cek data)\n");
printf("4.Clear (Hapus semua data)\n");
printf("5.Stop (Berhenti)\n");
printf("MAsukkan angka pilihan: ");scanf("%d",&n); switch(n)

{

case 1:
printf("Masukkan data: "); scanf("%d",&push);
temp=(node*) malloc(sizeof(node));
temp->data=push; temp->link=stack;
stack=temp;
clrscr();
break;

case 2:
if(stack==NULL) {
printf("\nStack masih kosong\n"); }
else {
push=stack->data;
stack=stack->link;
printf("\nPop Succesful Removed Data %d\n",push); }
getch();
break;
case 3:
if(stack==NULL) { printf("\nStack is Empty\n"); }
else {
temp=stack;
printf("\n%d\n",temp->data);
while(temp->link!=NULL) { temp=temp->link;
printf("\n%d\n",temp->data); }}
getch();
break;
case 4:
push=stack->data;
stack=stack->link=NULL;
printf("\nAll data Succesful Removed\n\n\t\tOriginal program by suryadi2011.blogspot.com");
getch();
break;
case 5:
exit(0); break;
}
}
}

- Queue (Antrian)

Queue atau antrian merupakan struktur data yang menggunakan sistem kerja FIFO (Firs in Firs Out) atau data atau item yang pertama masuk dalam antrian maka akan jadi yang pertama kali keluar atau dihapus. Jadi setiap data yang masuk pertama maka data tersebut yang akan dihapus lebih dulu. Selain queue ada juga Dequeu. Dequeu merupakan suatu antrian yang dapat dibuat dengan menggunakan array dan circullar array yaitu mengeluarkan suatu elemen dari suatu antrian.
contoh program:

//Contoh program queue - suryadi2011.blogspot.com
#include
#define maxsize 3

int item=0;
int jumlah=0;
int bawah=0;
char data[maxsize];
char temp;

void insert()
{
printf("Masukkan data= ");
scanf("%s",&temp);
if(jumlah==maxsize)
printf("data sudah penuh");
else
{
data[bawah]=temp;
bawah++;
jumlah++;
}
}

void pop()
{
if(jumlah==0)
printf("data masih kosong\n\n");
else
{
printf("berhasil dihapus\n");
item++;
jumlah--;
}
}

void view()
{
for( int i=item;i<=bawah;i++) { printf("%c\n",data[i]); } } void main() { int pilih; while(pilih!=4) { printf("1.Push"); printf("\n2.pop"); printf("\n3.view"); printf("\n4.EXIT"); printf("\nMasukan pilihan="); scanf("%d",&pilih); switch(pilih) { case 1: insert(); break; case 2: pop(); break; case 3: view(); break; case 4: printf("terima kasih"); break; default : printf("salah"); break; } } }

Download source code Disini

0 komentar:

Poskan Komentar

Facebook Comments

cbox
cbox