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:
- Pengecekan Antrian Apakah masih kosong (isEmpty)
- Pengecekan Antrian Apakah sudah Penuh (isFull)
- Menambahakan Antrian
- Menghapus Antrian
- 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).