Kelas : 2E
Npm : 2213020028
Kelas Queue:
• __init__ method: Inisialisasi objek antrian dengan membuat atribut items yang merupakan
daftar kosong.
• is_empty method: Mengembalikan True jika antrian kosong, False jika tidak.
• enqueue method: Menambahkan elemen ke dalam antrian (diakhir antrian) dan mencetak
pesan bahwa elemen tersebut telah ditambahkan ke dalam antrian.
• dequeue method: Menghapus dan mengembalikan elemen pertama dari antrian. Jika
antrian kosong, mencetak pesan bahwa antrian kosong dan tidak dapat melakukan dequeue.
• size method: Mengembalikan jumlah elemen dalam antrian.
Menggunakan Kelas Queue:
• Inisialisasi NPM dan Objek Queue: Mendefinisikan NPM sebagai string dan membuat objek
antrian (queue) menggunakan kelas Queue.
• Operasi Enqueue: Untuk setiap digit dalam NPM, melakukan operasi enqueue untuk
menambahkannya ke dalam antrian.
• Menampilkan Isi Antrian: Mencetak isi antrian setelah semua operasi enqueue selesai.
• Operasi Dequeue: Melakukan operasi dequeue untuk mengeluarkan elemen pertama dari
antrian.
• Menampilkan Isi Antrian Setelah Dequeue: Mencetak isi antrian setelah operasi dequeue
selesai.
2. Buatlah program Queue menggunakan operasi enqueue, dan lakukan dequeue sebanyak 5,
serta tampilkan sisa dari daftar Queue! (Inputan menggunakan tanggal lahir masing-masing)
Kelas Queue :
• __init__: Metode inisialisasi untuk membuat objek queue dengan atribut items yang awalnya
kosong.
• enqueue: Metode untuk menambahkan elemen ke dalam antrian dengan menambahkannya
ke akhir daftar (self.items).
• dequeue: Metode untuk menghapus elemen dari awal antrian. Jika antrian tidak kosong,
elemen dihapus dan dikembalikan; jika kosong, None dikembalikan.
• is_empty: Metode untuk memeriksa apakah antrian kosong atau tidak.
Fungsi display_queue :
Fungsi ini digunakan untuk menampilkan sisa elemen dalam antrian.
Main Program:
• Program utama membuat objek my_queue dari kelas Queue.
• Menggunakan metode enqueue, tanggal lahir dimasukkan ke dalam antrian.
• Menampilkan sisa elemen dalam antrian setelah operasi enqueue menggunakan fungsi
display_queue.
• Melakukan operasi dequeue sebanyak 5 kali, dan menampilkan elemen yang di-dequeue
atau mencetak "Queue kosong." jika antrian kosong.
• Menampilkan sisa elemen dalam antrian setelah operasi dequeue menggunakan fungsi
display_queue.
3. Buatlah program yang menunjukkan bahwa Queue dalam keadaan Overflow dan Underflow!
(Inputan menggunakan NPM)
Kelas Queue:
• __init__(self, capacity): Konstruktor kelas Queue digunakan untuk inisialisasi objek
queue dengan kapasitas tertentu. Queue diimplementasikan sebagai array dengan
ukuran tertentu (capacity), dan dua pointer front dan rear yang menunjukkan posisi
awal dan akhir dari elemen-elemen dalam queue.
• is_full(self): Method ini mengembalikan True jika queue penuh (overflow), yaitu jika
ukuran queue sama dengan kapasitasnya.
• is_empty(self): Method ini mengembalikan True jika queue kosong (underflow), yaitu
jika ukuran queue sama dengan 0.
• enqueue(self, item): Method ini menambahkan elemen ke dalam queue. Jika queue
sudah penuh, method mengembalikan True untuk menandakan overflow. Jika tidak,
elemen ditambahkan di posisi rear yang sesuai dengan aturan circular queue.
• dequeue(self): Method ini menghapus elemen dari depan queue. Jika queue kosong,
method mengembalikan True bersama dengan None untuk menandakan underflow.
Jika tidak, elemen dihapus dari posisi front yang sesuai dengan aturan circular queue.
Input NPM dari Pengguna:
• Baris kode npm = input("Masukkan NPM: ") meminta pengguna untuk memasukkan
NPM (Nomor Pokok Mahasiswa).
• Membuat Objek Queue dan Menambahkan NPM ke dalam Queue:
• Baris kode queue_capacity = 5 menentukan kapasitas queue sebesar 5.
• Baris kode queue = Queue(queue_capacity) membuat objek queue dengan kapasitas
yang telah ditentukan.
• Baris kode berikutnya menggunakan loop untuk menambahkan setiap digit dari NPM
ke dalam queue. Jika terjadi overflow (queue penuh), pesan "Overflow terjadi!
Queue penuh." akan dicetak.
Menghapus NPM dari Queue:
• Baris kode while not queue.is_empty(): menggunakan loop untuk menghapus setiap
digit dari queue. Jika queue kosong, pesan "Underflow terjadi! Queue kosong." akan
dicetak. Setiap digit yang dihapus dicetak dengan pesan "Menghapus digit: {digit}".
4. . Buatlah program Queue operasi euqueue dan dequeue menggunakan Linked List!
Class Node:
• Ini adalah simpul (node) dalam linked list yang digunakan untuk merepresentasikan
elemen dalam antrian.
• Setiap simpul memiliki dua atribut: data (yang menyimpan nilai elemen) dan next
(yang menyimpan referensi ke simpul berikutnya dalam linked list).
Class Queue:
• Ini adalah implementasi dari struktur data antrian.
• Metode __init__: Menginisialisasi antrian dengan menetapkan front dan rear ke nilai
awal None.
• Metode is_empty: Mengembalikan True jika antrian kosong (tidak ada elemen), dan
False sebaliknya.
• Metode enqueue: Menambahkan elemen baru ke dalam antrian. Jika antrian kosong,
front dan rear diatur ke simpul baru. Jika tidak, simpul baru ditambahkan ke bagian
belakang antrian.
• Metode dequeue: Menghapus dan mengembalikan elemen dari depan antrian. Jika
antrian kosong, mengembalikan None.
Metode display:
Menampilkan semua elemen dalam antrian.
Penggunaan pada blok kode terakhir:
Membuat objek queue dari kelas Queue.
Menambahkan beberapa elemen ke dalam antrian menggunakan metode enqueue.
Menampilkan antrian setelah proses enqueue menggunakan metode display.
Menghapus elemen dari depan antrian menggunakan metode dequeue.
Menampilkan antrian setelah proses dequeue menggunakan metode display.
Contoh Penggunaan:
• Menggambarkan cara menggunakan objek Queue dengan mengisi dan
mengosongkan antrian.