• Tidak ada hasil yang ditemukan

Tugas Struktur Data QUEUE

N/A
N/A
0028@Sandrianus Marten Bau

Academic year: 2023

Membagikan "Tugas Struktur Data QUEUE"

Copied!
8
0
0

Teks penuh

(1)

Nama : Sandrianus Marten Bau Kelas : 2E

Npm : 2213020028

Tugas Struktur Data QUEUE

1. Buatlah program Queue dengan operasi enqueue NPM kalian masing-masing

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.

(2)

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.

(3)

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)

(4)

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}".

(5)

4. . Buatlah program Queue operasi euqueue dan dequeue menggunakan Linked List!

(6)

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.

5. Buatlah program Queue yang ketika dijalankan terdapat 3 Menu:

1) Tambah Data: Ketika memilih menu 1, maka user akan menginputkan nama (bebas). Beri kapasitas 5 inputan, jika Queue penuh tampilkan pesan “Daftar Queue penuh, maaf tidak bisa melakukan input”.

2) Hapus Data: Ketika memilih menu 2, maka user akan melakukan delete data berdasarkan prinsip Queue (FIFO). Jika tidak ada data dan user melakukan delete data, maka tampilakan pesan “Data kosong, tidak bisa melakukan delete”.

3) Tampilkan Data: Ketika user memilih menu 3, maka akan menampilkan data yang sudah diinput oleh user. Kalau data kosong, maka tampilkan pesan “Data Kosong”

(7)
(8)

Kelas Queue:

• __init__(self, capacity): Metode inisialisasi (constructor) yang digunakan untuk membuat objek antrian baru. capacity adalah parameter yang menentukan kapasitas maksimum antrian, yaitu berapa banyak elemen yang dapat dimasukkan ke dalam antrian.

• is_full(self): Metode yang mengembalikan True jika antrian penuh (sudah mencapai kapasitas maksimum), dan False jika tidak.

• is_empty(self): Metode yang mengembalikan True jika antrian kosong (tidak ada elemen di dalamnya), dan False jika tidak.

• enqueue(self, data): Metode untuk menambahkan data ke dalam antrian. Jika antrian penuh, pesan kesalahan akan dicetak. Jika tidak, data akan ditambahkan ke dalam antrian dan pesan sukses dicetak.

• dequeue(self): Metode untuk menghapus data dari antrian. Jika antrian kosong, pesan kesalahan akan dicetak. Jika tidak, data pertama dari antrian akan dihapus, dan pesan sukses dicetak.

• display(self): Metode untuk menampilkan isi antrian. Jika antrian kosong, pesan bahwa data kosong akan dicetak. Jika tidak, data dalam antrian akan dicetak satu per satu.

Fungsi Utama main():

• Pertama-tama, objek Queue dibuat dengan kapasitas 5.

• Program berjalan dalam loop tak terbatas yang menampilkan menu pilihan kepada pengguna.

• Pengguna dapat memilih untuk menambahkan data ke dalam antrian (1), menghapus data dari antrian (2), menampilkan data dalam antrian (3), atau keluar dari program (0).

• Input pengguna kemudian diolah sesuai pilihan yang dipilih.

• Program akan terus berjalan hingga pengguna memilih untuk keluar (0).

Eksekusi:

Fungsi utama (main()) dijalankan jika skrip dieksekusi sebagai program utama.

Contoh Penggunaan:

Pengguna dapat menjalankan program ini untuk mengelola suatu antrian dengan batas kapasitas 5. Program menyediakan opsi untuk menambah, menghapus, dan menampilkan data dalam antrian.

Referensi

Dokumen terkait

Deklarasikan Stack dalam bentuk Record dimana didalamnya mengandung data dalam bentuk array dan suatu variabel inisialisasi untuk memantau posisi terakhir dari data yang ada

Class Queue digunakan sebagai main method, didalam class tersebut terdapat beberapa operasi seperti enqueue ini digunakan untuk menambahkan elemen ke dalam Antrian,

Queue (antrian) adalah suatu kumpulan data yang penambahan elemennya hanya bisa dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan

Deklarasikan Stack dalam bentuk Record dimana didalamnya mengandung data dalam bentuk array dan suatu variabel inisialisasi untuk memantau posisi terakhir dari data yang ada

Buatlah program C++ untuk melakukan pengolahan data nilai mahasiswa sebanyak 40 mahasiswa dan setiap mahasiswa dapat mengambil 7 matakuliah.. Data mahasiswa terdiri dari

Sejak tumpukan, antrian dan array adalah linear struktur data; kita harus menetapkan bagaimana struktur data dapat diimplementasikan menggunakan daftar dan operasi pada mereka

Dalam versi ini, Java sudah menyediakan kebutuhan umum dalam implementasi struktur data secara umum, seperti list, queue dan stack dalam bentuk.b. istilah yang

Uraikan secara singkat cara menghitung perbedaan antara objek yang dijelaskan berikut ini: a Atribut nominal b Atribut biner asimetris c Atribut numerik Jawaban: Menghitung Perbedaan