Queue dengan Array C++ dan Struct

Pada materi ini akan membahas tentang Queue dan struct. Queue merupakan pengertian dari Antrian. analoginya sama halnya jika kita ke ATM atau ke bank maka kita harus mengantri sesuai dengan urutan. siapa yang dulu datang maka ia yang akan dilayani. konsep inilah yang disebut dengan FIFO (First In First Out).

  • Konsep

Sebagai contoh: Wahyu adalah orang yang pertama kali datang ke BAAKPK untuk mengurus beasiswa, kemudian datanglah zuhri, lalu Niken. maka di dalam alur sebagai berikut:

Wahyu ← Zuhri ← Niken

Posisi awal adalah wahyu dan terakhir adalah niken. namun di sepanjang waktu pengisian form embun hadir maka posisi terakhir adalah Embun

Wahyu ← Zuhri ← Niken ←  Embun

Setelah wahyu selesai mengisi form beasiswa dan menyerahkan ke petugas maka posisi wahyu digantikan oleh zuhri. maka zuhri berada pada posisi pertama dan embun di posisi terakhir

Zuhri ← Niken ←  Embun

Konsep di ataslah disebut dengan FIFO

Posisi awal ini disebut dengan Head/Front sedangan Posisi akhir disebut dengan Tail/Rear.

  • Method

di dalam konsep Queue ada beberapa method yang harus ada antara lain:

  1. Pengecekan Antrian Apakah masih kosong (isEmpty)
  2. Pengecekan Antrian Apakah sudah Penuh (isFull)
  3. Menambahakan Antrian
  4. Menghapus Antrian
  5. Menampilkan Antrian
  • Struct

Sebelum membahas codingan method di atas. maka kita pelajari dulu konsep struct. struct adalah kumpulah variabel, tipe data bisa sama bisa berbeda sehingga menciptakan suatu objek. sebagai contoh struct mahasiswa yang terdiri dari nama, npm, nilai. adapun strukurnya sebagai berikut:

struct mahasiswa{

string nama_lengkap;

string npm;

int nilai;

} ;

misalkan objek yang dibuat dgn mahasiswa : adi, ade, gilang

mahasiswa adi={“Adi Putra Zhou”,”111TRPL1″, 95};

mahasiswa ade={“Ade Salimah”,”112TRPL1″, 82};

mahasiswa gilang={“Gilang adek Ramadhan”,”113TRP1″, 85};

sudah ada 3 objek yang di create adi, ade, dan gilang. untuk memanggil datanya tinggal panggil objeknya dan variabelnya misal: adi.nama_lengkap maka akan menampilkan Adi Putra Zhou begitu juga misalnya ade.nilai maka akan menampilkan 82.

detil code sebagai berikut:

#include <iostream>
#include <string>
using namespace std;
 
struct mahasiswa{

string nama_lengkap;
string npm;
int nilai;

} ;
 
int main(){
 
    mahasiswa adi={"Adi Putra Zhou","111TRPL1", 95};
    mahasiswa ade={"Ade Salimah","112TRPL1", 82};
    mahasiswa gilang={"Gilang adek Ramadhan","113TRP1", 85};
 
    cout<< "("<<adi.npm<<")" <<adi.nama_lengkap<<" mendapatkan nilai "<<adi.nilai<<endl;
    cout<< "("<<gilang.npm<<")" <<gilang.nama_lengkap<<" mendapatkan nilai "<<gilang.nilai<<endl;
    cout<< "("<<ade.npm<<")" <<ade.nama_lengkap<<" mendapatkan nilai "<<ade.nilai<<endl;
   
 
    return 0;
}
  • Struct Array

Pada bahasa ini membahas jika datanya berbentuk Array namun dalam struct.

#include <iostream>
#include <string>
using namespace std;
 
struct mahasiswa{
string nama_lengkap;
int nilai;

} ;
 
int main(){

int n=5;
mahasiswa m[n]; 

for(int i=0;i<n;i++){
    cout<<" Masukkan Nama Mahasiswa:";
    getline(cin,m[i].nama_lengkap);
    
    cout<<" Nilai:";
    cin>>m[i].nilai;
    cin.ignore();
}

// Tampilkan Nilai yang dimasukkan
cout<< " Menampilkan data Struct Array"<<endl;
for(int i=0;i<n;i++){
    cout<<m[i].nama_lengkap<<" Memperoleh Nilai "<<m[i].nilai<<endl;
}   
 
    return 0;
}

untuk codingan Queue akan dibahas pada minggu selanjutnya. adapun tugas minggu ini silahkan pelajari konsep Struct dan Array kemudian buatlah sebuah  studi kasus penggunaan struct.

Tugas yang dikumpulkan dalam bentuk video yang terdiri dari penjelasan struct, studi kasus struct. dikumpulkan pada link ini paling lambat minggu depan (14/06/2020).