Program C++ Queue

Berikut ialah program c++ beserta penjelasan untuk setiap fungsi nya

source code :

#include <stdio.h> // menggunakan library pada bahasa C yang digunakan untuk input-output.
#include <conio.h> // diperlukan bila melibatkan clrscr(), yaitu perintah untuk membersihkan
#include <stdlib.h>// mengalokasi memori secara manual
#define MAX 8 //mendefinisikan suatu konstanta yang nantinya akan digantikan oleh praprosessor saat program di compile batasan 8

using namespace std; // unttuk melakukan penulisan kode secara langsung tanpa menuliskan std::

int jum; // int (integer) berfungsi untuk mengelompokkan variabel yang isinya bilangan bulat

typedef struct{ // digunakan untk membentuk suatu variabel baru dengan kumpulan berbagai variabel dari tipe yang berbeda-beda
int data[MAX]; // mendeklarasikan data menggunakan tipe data integer
int head; //  mendeklsarasikan head menggunakan tipe data integeer
int tail; // mendeklsarasikan tail menggunakan tipe data integeer
} Queue; // memanggil fungsi queue

Queue antrian; //mendeklarasikan fungsi antrian
void Create(){ // membuat antrian
antrian.head=antrian.tail=-1; // in nerupakan fungsi antrian
}
int IsEmpty(){ // memeriksa apakah antrian kosong
if(antrian.tail==-1) // jika antrian kurang dari satu
return 1; // maka antrian kosong
else      // jika tidak
return 0; // maka antrian ada
}
int IsFull(){ // memeriksa apakah antrian penuh
 if(antrian.tail==MAX-1) return 1;   else return 0;  }  // jika antrian penuh maka antrian ada jika tidak maka antrian kosong


void Enqueue(int data){ // fungsi untuk memasukan data ke dalam antrian
if(IsEmpty()==1){ // apabila data di antrian masih kosong
antrian.head=antrian.tail=0; //antrian masih kosong
antrian.data[antrian.tail]=data; // antrian data yang akan dimasukkan terletak di ekor
printf("%d masuk!",antrian.data[antrian.tail]); // tampilkan data yang baru saja dimasukkan sebelum kata masuk! pada ekor antrian
void Tampil(); //untuk memanggil fungsi  tampil data

{

if(IsEmpty()==0){ // data kosong
for(int i=antrian.head;i<=antrian.tail;i++){ // i merupakan urutan antrian dan kecil samadengan ekor, maka urutan antrian ditambahkan satu
printf("%d ",antrian.data[i]); // tampilkan data yang dimasukan beserta data sebelumnya
}



 }else printf("data kosong!\n");  } // jika tidak tampilkan data kosng

} else  // jika tidak
if(IsFull()==0){ // jika antrian penuh
antrian.tail++; // antrian ditambahkan satu
antrian.data[antrian.tail]=data; // antrian data ialah antrian hingga ekor samadengan data
printf("%d masuk!",antrian.data[antrian.tail]); // tampilkan data yang sudah dimasukkan dan tampilkan data antrian
}
}

int Dequeue(){ // merupakan fungsi untuk menghapus data awal yang sudah masuk
int i; // menentukan tipe data i dengan integer
 int e = antrian.data[antrian.head];  for(i=antrian.head;i<=antrian.tail-1;i++){ // e dengan tipe data integer diposisikan di kepala antrian, untuk ekor pada anrrian dikurang dengan satu
antrian.data[i] = antrian.data[i+1]; //
}
antrian.tail--; // antrian di ekor dikurangi dengan satu
return e; // kembali ke e
}
void Clear(){ // fungsi untuk menghapus aeluruh data antrian
antrian.head=antrian.tail=-1; // antrian kepala samadengan antrian ekor samadengan -1
printf("data clear"); // tampilkan data clear
}

void Tampil(){ // fungsi yang digunakan untuk menampilkan data antrian


if(IsEmpty()==0){ // bila data tidak kosong
for(int i=antrian.head;i<=antrian.tail;i++){
printf("%d ",antrian.data[i]); // tampilkan data antrian
jum=jum+antrian.data[i]; //


}

 }else printf("data kosong!\n");  } // jika tidak tampilkan data kosong
int main(){ // semua fungsi mulai dijalankan
int pil; // mendeklarasikan pilihan
int data; // mendeklarasikan data
Create(); // membuat antrian
do{
system ("CLS"); // untuk menampilkan pilihan

printf("1. Enqueue\n"); // tampilkan pilihan untuk menambahkan antrian
printf("2. Dequeue\n"); // tampilkan pilihan untuk menghapus antrian dari kepala
printf("3. Tampil\n"); // tampilkan pilihan untuk menampilkan data antrian
printf("4. Clear\n"); // tampilkan pilihan untuk menghapus semua antrian yang ada
printf("5. Exit\n"); // tamppilkan pilihan untuk keluar dari antrian
 printf("Pilihan = ");scanf("%d",&pil);  switch(pil){ // tampilkan pilihan yang dipilih
  case 1: printf("Data = ");scanf("%d",&data);  Enqueue(data); // untuk pilihan pertama, tampilkan data dan scan data selanjutnya tampilkan data
break; // jeda sementara
  case 2: printf("Elemen yang keluar : %d",Dequeue());  break; // untuk pilihan kedua, tampilkan elemen yang dikeluarkan yang merupakan data yang dihapus dan jeda semeentara
  case 3: Tampil();  break; // untuk pilihan ketiga, tampilkan semua data yang ada dan kemudian jeda
  case 4: Clear();  break; // untuk pilihan ke empat, hapus semua data antrian
}
getch(); // membalikan fungsi
} while(pil!=5); //
}

Next PostNewer Post Previous PostOlder Post Home

0 comments:

Post a Comment