Anda di halaman 1dari 13

STRUKTUR DATA

QUEUE

DI SUSUN OLEH:
ROBBY AL-FALLAH
220401007

PROGRAM STUDI PENDIDIKAN TEKNOLOGI INFORMASI


FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS AISYAH PRINGSEWU
2022/2023
KATA PENGGANTAR

Assalamualikum wr.wb.

Segala puji bagi Allah SWT yang telah melimpahkan berkat rahmat nya .sehingga
saya dapat menyelesaikan susunan makallah dalam melaksanakan tugas mata kuliah
“Akhlakul Karimah” sehingga makallah ini dapat saya selesaikan dengan baik.

Makllah yang berjudul “QUEUE”ini saya susun sebagai bahan bertanggung jawab
dalam melaksanakn tugas pada mata kuliah struktur data. Sebagai manusia saya tidak terlepas
dari kekurangan, kesalahan.untuk itu saya banyak terimakasih kepada Yth:
1. Dosen pengampuh mata kuliah struktur data ibu ulfa isni kurnia S.pd,M.Pd.
2. Kedua orang tua yang telah memberikan dukkunggan serta do’a.

Saya menyadari bahwa makllah ini bukanlah suatu karya yang tellah sempurna.bila
ada beberapa kesalahan yang terdapat pada makallah ini,saya mengucapkan kepada rekan
sekalian .saran dan masukan nya dan konstruktif atau membanggun terhadap maklah ini
sangat saya nantikan dan terbuka bagi semua pihak untuk kesempurnaan makalah ini di
kemudian hari.

Wasslaamualaikum wr.wb.
DAFTAR ISI

KATA PENGANTAR :…………………………………………………..1


DAFTAR ISI :…………………………………………………..2
BAB I :
1.1umum :………………………………………...3
1.2maksud tujuan :………………………………………...3
1.3.ruang lingkup pebahasan:………………………………………...4
BAB II :
2.1 DEKRIPSI QUEUE :…………………………………………...5
2.2KARAKTERISTIK QUEUE :………………………………….6
BAB III :
3.1 SOURCE CODE PROGRAM :………………………………..7
3.2 OUTPUT PROGRA QUEUE :………………………………..8
BAB I
PENDAHULUAN
1.1 Umum
Queue atau antrian adallah ordered yang menyisipka di satu ujung, sedanng
menghapus di uajung lain. Ujung penyisipan di sebut rear /tail.sedengkan ujung penghapus
di sebut font/head. Fenomena yang muncul adallah elemen yang lebih dulu di sisipkan akan
juga lebih dulu di ambil . queue berdisiplin FIFO ( FIST IN FIST OUTH ). Queue merupakan
kasusu khusus ordered list.denagn karakteristik terbatas itu kkuta dapat melakukan optimasi
respresentasi ADT queue untuk memperillah kerja palng optimal.
Karakteristik queue memang terbatas tetapi queue merupakan dasar penyelesaian
masallah masallah besar. Seperti simulasi fenomena antrian di dunia nyata. serta,fonomena
antrian pengolahan data . beberapa fenomena dunia nyata berupa antrian di antaranya: antrian
pembelian tiket loket untuk bis,kereta api,bioskop, antian mobil di depan gerbang jalan tol,
antrian kendaraan di jalan umum, dll.
Persentasi queue dapat di lakukan dengan dua cara yaitu:
1. reprentasi sekuen
 Reprentasi sekuen linear
 Reprentasi sekuen melingkar
2. reprentasi dinamis
Pembahasan reprentasi menggunakan array pada setiap pengoprasian,
sedangkan reprentasi dinamis biasanya menempati memori berupa recored keduanya
di deklarasikan mengunakan bahasa pemrograman pascal.

1.2 maksud dan tujuan


a. maksud
untuk mengetahui nilai struktur data dengan queue menggunakan array
b. tujuan
1.sebagai syarat mendapatkan nilai matakuliah struktur data
2. untuk menambah ilmu pengetahuan tentang queue dalam pemrogramaan c++
3. untuk menambah pengetahuan dlaam pembuatan makallah

1.3 ruang lingkap pembuatan


Berisi ruang lingkup /pada materi yang di bahas di dalam tugas ini.
BAB II
LANDASAN TEORI

2.1 dekripsi queue


queue /antrian adallah ordered list dengan penyimpanan di satu ujung, sedang
penghapus di ujung lain. Ujung penyisipan biasanya di sebut rear/tail,sedangkan ujung
penghapus di sebut font /head. Fenomena yang muncul adallah elemen elemen yang lebih
dulu di sisipkan akan juga lebih dahulu di ambil. Queue berdisiplin fifo (First In, First
Out). Queue merupakan kasus khusus ordered list. Dengan karakteristik terbatas itu
maka kita dapat melakukan optimasi representasi ADT Queue untuk memperoleh
kerja paling optimal.

Misalnya Queue Q= (a1,a2,a3…,an), maka

1.Elemen a1 adalah elemen paling depan

2.Elemen ai adalah diatas elemen ai-1, di mana 1<i<n.

3.Elemen an adalah elemen paling belakang

Head (atau front) menunjuk ke awal antrian Q (atau elemen terdepan), sedangkan
tail ( rear) menunjuk akhir antrian Q (atau elemen paling belakang).Disiplin FIFO
pada Queue berimplikasi jika elemen A, B, C, D, E dimasukkan ke Queue, maka
penghapusan/pengambilan elemen akan terjadi dengan urutan A, B, C, D, E.

2.2 Karakteristik Queue

Karakteristik penting antrian sebagai berikut :

1.Elemen antrian yaitu item-item data yang terdapat di elemen antrian.

2.Head/front (elemen terdepan dari antrian ).

3.Tail/rear (elemen terakhir dari antrian ).

4.Jumlah elemen pada antrian (count).

5.Status/kondisi antrian.
Kondisi antrian yang menjadi perhatian adalah :

 Penuh
Bila elemen di antrian  mencapai  kapasitas  maksimum  antrian. Pada kondisi ini,
tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen
menyebabkan kondisi kesalahan Overflow.

 Kosong
Bila tidak ada elemen di antrian. Pada kondisi ini, tidak mungkin dilakukan
pengambilan elemen dari antrian. Pengambilan elemen menyebabkan kondisi
kesalahan Underflow.

2.3 Operasi-Operasi Pokok di Queue

 Operasi-operasi pokok antrian sebagai berikut :


1.createQueue (Q), atau constructor menciptakan antrian kosong Q.

2.addQueue (Q, X) memasukkan elemen X sebagai elemen akhir di Q.

3.removeQueue (Q, X)atau mengambil elemen depan di antrian Q ke elemenX.

 Operasi-operasi pengaksesan tambahan yang dapat dilakukan adalah :


            1.headQueue (Q), atau Front (Q, X) mengirim elemen terdepan tanpa
menghapus.

2.tailQueue (Q), mengirim elemen tanpa menghapusnya.

 Operasi-0perasi Query tambahan yang dapat dilakukan adalah :


1.isEmptyQueue (Q), mengirim apakah antrian Q adalah kosong.

2.isFullQueue (Q), mengirim apakah antrian Q adalah penuh bila kapasitas antrian Q
didefinisikan.

3.isOverflowQueue (Q), mengirim apakah antrian Q telah mengalamioverflow.

4.isUnderflowQueue (Q), mengirim apakah antrian Q mengalamiunderflow.

                  
 Operasi-operasi terhadap seluruh antrian Q antara lain adalah :
1.sizeQueue (Q), mengetahui jumlah elemen di antrian Q.

2.isEqualQueue (Q1, Q2), mengirim apakah antrian Q1 dan Q2 sama isinya.

Jumlah operasi pokok Queue tidak banyak. Dengan demikian, sangat sederhana
untuk menyatakan apa pun mengenai implementasinya.

2.4. Pengunaan Queue

Meski Queue sangat sederhana, namun Queue merupakan kakas dasar penyelesaian
masalah-masalah besar. penggunaan Queue yang utama adalah untuk simulasi
fenomena antrian di dunia nyata, serta fenomena antrian di pengolahan data.

Penggunaan Queue dapat dicontohkan seperti dibawah ini :

1.Simulasi antrian di dunia nyata, antara lain :

 Antrian pembelian tiket di depan loket untuk bis, kereta api, bioskop.
 Antrian mobil di depan gerbang jalan tol.
 Antrian kendaraan di jalanan umum.
2. System produksi

 Barisan bahan atau komponen yang akan diproses suatu mesin.


 Barisan bahan atau komponen yang akan diproses suatu manusia
 

Untuk lebih jelasnya,dbawah ini ada contoh dalam bentuk coding C++

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

void main()
{

  int cek=0, data[8], x, hapus;

  char pil;

  do {

      clrscr();

      cout<<”    Ujian Praktikum Struktur Data Queue”<<endl;

      cout<<”       ISI NAMA ANDA”<<endl;

      cout<<”      ISI NAMA KAMPUS ANDA”<<endl;

      cout<<endl;

      printf(“d. Masukan Data Antrian\n”);

      printf(“e. Hapus Data Antrian\n”);

      printf(“n. Lihat Data Antrian\n”);

      printf(“y. Exit Program\n”);

      cout<<endl;

      printf(“Ketikan Huruf Dari Salah Satu Pilihan Diatas…  “);

      pil=getche();

      cout<<endl;

  if(pil!=’d’ && pil !=’e’ && pil !=’n’ && pil!=’y’ )

      printf(“\n\nSalah Ketik, Ulangi Lagi…\n”);

      else

      {
    if(pil==’d’)   //PUSH

    {

      if(cek==8)

        printf(“\nAntrian Penuh\n”);

        else

        {

          printf(“\nMasukkan angka–>”);scanf(“%i”,&x);

          data[cek]=x;

          cek++;

        }}

        else

        {

          if(pil==’e’)        //POP

          {

        if(cek==0)

          printf(“\nMaaf 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(“\nData dgn nilai=%i akan terhapus. [Tekan Enter]”,hapus);

          }

          getch();

          }

        else

        {

          if(pil==’n’)   //Mengecek Data

          {

            if(cek==0)

            printf(“\nMaaf Tidak Ada 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=getche();

}m

Anda mungkin juga menyukai