# 5. Queue
## 5.1 ADT Queue
Queue dalam Bahasa Indonesia berarti antrian. Struktur queue adalah struktur yang bekerja berdasarkan antrian seperti pada antrian ketika melakukan pembayaran pada kasir di supermarket. Orang yang pertama datang adalah yang pertama yang dilayani. Pada strutkur queue, setiap data baru yang ditambahkan ditempatkan di belakang data-data yang sudah ada di dalam queue. Dan data dihapus dari bagian paling depan.

***Definisi ADT Queue***
Queue adalah struktur data linear yang bekerja berdasarkan prinsip first-in first-out. Data baru dimasukkan pada bagian belakang dan data dihapus dari depan. Operasi-operasi yang dimiliki oleh queue:
- `Queue()`: membuat sebuah queue kosong.
- `isEmpty()`: mengembalikan nilai Boolean true jika queue kosong dan mengembalikan nilai Boolean false jika queue tidak kosong.
- `length()`: mengembalikan banyaknya data dalam queue. Diakses dengan fungsi `len()`.
- `enqueue(data)`: menambahkan data ke bagian belakang dari queue.
- `dequeue()`: menghapus dan mengembalikan data bagian depan dari queue. Operasi `dequeue()` tidak dapat dilakukan pada queue kosong.
## 5.2 Implementasi ADT Queue Menggunakan List
## 5.3 Implementasi ADT Queue Menggunakan Linked List