Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
STRUKTUR DATA
A. TUJUAN
1. Mahasiswa memahami konsep dari Queue dan Stack.
2. Mahasiswa mampu mengimplementasikan Queue dan Stack.
B. LANDASAN TEORI
1. Queue
Queue (antrian) dapat diartikan sebagai suatu kumpulan data yang
seolah-olah terlihat seperti ada data yang diletakkan di sebelah data yang
lain seperti pada gambar 1, dimana data masuk melalui lorong di sebelah
kanan dan masuk dari terowongan sebelah kiri. Hal ini membuat antrian
bersifat FIFO (First In First Out), beda dengan stack yang berciri LIFO.
b. Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan
elemen selalu ditambahkan di elemen paling belakang. Penambahan
elemen selalu menggerakan variabel Rear dengan cara increment
counter Rear terlebih dahulu.
void Enqueue(int data, Queue *Q){
Q->elemen[Q->rear] = data;
Q->rear++;
Q->count++;
}
c. Dequeue
Digunakan untuk menghapus elemen terdepan/pertama (head) dari
antrian dengan cara menggeser semua elemen antrian kedepan dan
mengurangi Tail dengan 1 Penggeseran dilakukan dengan
menggunakan looping.
void Dequeue(Queue *Q){
int keeper = Q->elemen[Q->front];
for(int i = Q->front; i<Q->rear; i++){
Q->elemen[i]=Q->elemen[i+1];
}
Q->rear--;
Q->count--;
}
2. Stack
Pengertian Stack pada Struktur Data adalah sebagai tumpukan dari
benda, sekumpulan data yang seolah-olah diletakkan di atas data yang lain,
koleksi dari objek-objek homogen, atau suatu urutan elemen yang
elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja.
Stack pada Struktur Data dapat diilustrasikan dengan dua buah kotak
yang ditumpuk, kotak yang satu akan ditumpuk diatas kotak yang lainnya.
Jika kemudian stack 2 kotak tadi, ditambah kotak ketiga, keempat, kelima,
dan seterusnya, maka akan diperoleh sebuah stack kotak yang terdiri dari
N kotak.
struct Stack{
int elemen_array[MAX_STACK];
int top;
int bottom;
};
BAB II
PEMBAHASAN
1. Program data musik yang mampu melakukan Dequeue (FIFO) dan Pop (LIFO).
Input program seperti gambar dibawah ini :
Gambar 2.1 (Input program)
Program diatas merupakan program data list musik yang menggunakan
Dequeue (FIFO) dan Pop (LIFO) pada struct datanya. Bagian pertama diawali
dengan file header,yaitu pada program ini menggunakan header “iostream”,
"iostream" merupakan file program yang mengandung deklarasi kelas-kelas
yang diperlukan. Kemudian dilanjutkan dengan “#define MAX 10”, kata kunci
“define” digunakan untuk membuat konstanta dengan batas maksimum 10.
Kemudian dilanjutkan dengan “using name std”, using name std menyatakan
bahwa program di atas akan menggunakan namespace yang bernama std,
sehingga tidak perlu untuk menyertakan identitas std: pada anggota dari
namespace std salah satunya adalah cout.
Bagian selanjutnya adalah struct queue, struct ini digunakan untuk
menyimpan paket (sekumpulan) data ke dalam satu buah nama variabel saja dan
terdapat variabel judul dan penyanyi yang memiliki tipe data string. Kemudian
void create, void create digunakan untuk mengkosongkan queue yang sudah
dimasukan. Lalu function IsEmpty, IsEmpty berfungsi untuk menentukan
apakah antrian masih kosong atau tidak, apabila antrian kosong maka bernilai
true, apabila antrian penuh maka bernilai false. Kemudian IsFull, digunakan
untuk melakukan pengecekan apakah antrian sudah penuh atau belum. Pada
function ini menggunakan “bool’ yang memilik nilai “true” dan “false”, apabila
antrian penuh maka bernilai true, apabila antrian kosong maka bernilai false.
Selanjutnya function enqueue, function enqueue digunakan untuk menginputkan
data. Selanjutnya adalah function dequeue, dequeue digunakan untuk
menghapus inputan pertama yang dimasukan. Selanjutnya void pop, pop
digunakan untuk menghapus data yang terakhir kali dimasukan. Selanjutnya
void tampil, void tampil digunakan untuk mencetak semua tampilan.
Selanjutnya clear, clear digunakan untuk menghapus semua data yang telah
dimasukan. Bagian selanjutnya adalah fuction utama, pada bagian ini dilakukan
pemilihan menu yang menggunakan operasi if else if yang berarti jika dipilih
menu pertama maka akan dilakukan penginputan data, kemudian jika dipilih
menu kedua maka system akan menghapus data yang pertama kali dimasukan,
jika dipilih menu ketiga maka system akan menghapus data terakhir yang
dimasukan, jika dipilih menu keempat maka semua data yang telah dimasukan
akan ditampilkan, jika menu kelima maka semua data yang telah dimasukan
akan dihapus dan jika menu keenam yang dipilih, maka output program selesai.
Output program seperti gambar dibawah ini :
Modul Struktur Data Universitas Palangkaraya Diakses pada Sabtu, 3 April 2021
pukul 16.12 WIB.