- Praktikum 1
- Script Program
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
main(){
int cek=0,data[8],x,hapus;
char pil;
do {
system("cls");
cout<<"Ujian Praktikum Struktur Data Queueu"<<endl;
cout<<"===========[RIVA MAULANA]==========="<<endl;
cout<<"===============[UNIKU]=============="<<endl;
cout<<endl;
printf("a. Masukan Data Antrian \n");
printf("b. Hapus Data Antrian \n");
printf("c. Lihat Data Antrian \n");
printf("d. Exit Program \n");
cout<<endl;
printf("Ketikan Huruf Dari Salah Satu Pilihan Di atas : ");
pil=getche();
cout << endl;
if(pil != 'a' && pil !='b' && pil !='c' && pil !='d'){
printf("\n \n Salah Ketik, Ulangi Lagi...\n");
} else {
if(pil=='a'){
if(cek==8){
printf("\n Antrian Penuh \n");
} else {
printf("\n Masukan Angka->");scanf("%i",&x);
data[cek] = x;
cek++;
}
} else {
if(pil=='b'){
if(cek==0){
printf("\n Maaf Tidak Antrian Untuk Dihapus \n \n");
} else {
hapus = data[0];
for(int v=0; v < cek; v++){
data[v] = data[v+1];
data[cek-1]=NULL;
cek--;
}
cout << endl;
printf("Yakin Anda Ingin Data Ini DiHapus ? ");
cout << endl;
printf("\n Data dgn nilai=%i akan terhapus. [Tekan Enter]", hapus);
}
getch();
} else { //part of pil=='e'
if(pil=='c'){ //Mengecek DaTA
if(cek==0){
printf("\n Maaf Tidak Ad Antrian Untuk Ditampilkan. \n \n");
} else {
printf("\n");
for(int z=0; z < cek; z++){
printf("{");
printf("%i", data[z]);
printf(" } ");
}
}
getch();
}}}}}
while (pil != 'y');
cout << endl;
cout << endl;
printf("Yakin Anda Ingin Keluar ??? {Tekan Enter Cak}");
pil=getch();
}
b. Hapus Data
c. Lihat Data
- Penjelasan
Program ini untuk membuat sebuah antrian data.Berbeda dengan stack/tumpukan yang sistem LIFO (Last In First Out) dalam queue ini menggunakan sistem FIFO (First In First Out) jadi jika kita memasukan sekumpulan data, data yang pertama masuk yaitu data yang pertama keluar. Program ini terdapat 4 pilihan yaitu Masukkan data, Hapus Data, Lihat Data, dan Exit.
a. Masukan data
Program akan menyeleksi dulu variabel cek, variabel cek disini adalah indeks dari variabel data dan merupakan patokan jumlah maksimal antrian. Diketahui pada awal program cek=0 yag berarti antrian kosong, jika cek = 8 maka antrian penuh, karna jumlah data ditetapkan maksimal 8. Jika variabel cek < 8 maka program akan mengintruksikan kepada user untuk memasukan nilai dan akan disimpan divariabel x, kemudian program akan mengisi variabel data[cek] dengan nilai variabel x tadi jadi nilai variabel data[cek]=x. Dan nilai cek akan di decrement (+1) yang berarti sudah ada data masuk 1.
b. Hapus data
Jika cek = 0 berarti tidak ada data antrian. Tapi jika lebih, maka variabel hapus akan diisi oleh variabel data[0], kemudian program akan menjalankan proses pengulangan for dan pada pengulangan for variabel data[v] akan di ganti nilainya menjadi nilai dari variabel data[v+1] kemudian variabel data[cek-1] akan diubah nilainya menjadi NULL / dihapus. Dan nilai cek akan di increment (-1).
c. Lihat Data
Data yang ada variabel array data akan ditampilkan menggunakan fungsi for untuk pengulangan
- Praktikum 2
- Script Program
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
struct node{
int data;
struct node*p;};
void TambahElemen (struct node **d, struct node **b, int nilai){
/*membuat struktur node baru*/
struct node*temp;
temp=(struct node *)malloc (sizeof (struct node));
/*mendefinisikan field yang terdapat pada struktur node yang baru dialokasikan*/
temp->data=nilai;
temp->p=NULL;
if(*d== NULL){
*d= temp;
}else{
(*b)->p=temp;}
*b=temp;}
void HapusElemen (struct node **d, struct node **b){
struct node*temp;
if(*d == NULL){
printf("Tidak terdapat elemen dalam queue");
}else{
temp= *d;
*d= temp->p;
free(temp);
if(*d == NULL){
*b=NULL;
}
}
}
void TampilkanNilai(struct node *d){
int nilai;
while(d != NULL){
nilai = d->data;
printf("%d\n",nilai);
d=d->p;}
}
int main(void){
struct node*depan, *belakang;
depan = belakang =NULL;
TambahElemen(&depan,&belakang,10);
TambahElemen(&depan,&belakang,20);
TambahElemen(&depan,&belakang,30);
TambahElemen(&depan,&belakang,40);
TampilkanNilai(depan);
HapusElemen(&depan,&belakang);
printf("Nilai-Nilai didalam queue");
printf("Setelah penghapusan elemen pertama:\n");
TampilkanNilai(depan);
getch();
return 0;
}
Jadi Program antrian ini menampilkan data yang telah ditentukan pada function TambahElmen dengan menggunakan fungsi strcpy.
Lalu data-data yang ada ditampilkan menggunakan function TampilkanNilai.
Dan ada proses penghapusan elmen pertama, pada function HapusElmen.
POST TEST
- Post Test 1 : Youtube
- Post Test 2 : Youtube
Belum ada tanggapan untuk "Laporan Praktikum Struktur Data Modul 9 Antrian (Queue)"
Posting Komentar