Advertisement
afrizalwahyuadi66

antrian.py

Dec 22nd, 2024
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. from collections import deque
  2.  
  3. class BankQueue:
  4.     def __init__(self):
  5.         self.queue = deque()  # Antrian pelanggan
  6.         self.counter = 1      # Nomor antrian dimulai dari 1
  7.  
  8.     def take_ticket(self):
  9.         """Pelanggan mengambil nomor antrian."""
  10.         self.queue.append(self.counter)
  11.         print(f"Nomor antrian {self.counter} telah diterbitkan.")
  12.         self.counter += 1
  13.  
  14.     def serve_customer(self):
  15.         """Melayani pelanggan berikutnya."""
  16.         if self.queue:
  17.             current_ticket = self.queue.popleft()
  18.             print(f"Nomor antrian {current_ticket} sedang dilayani.")
  19.         else:
  20.             print("Tidak ada antrian yang menunggu.")
  21.  
  22.     def view_queue(self):
  23.         """Menampilkan daftar antrian."""
  24.         if self.queue:
  25.             print("Nomor antrian yang sedang menunggu:", list(self.queue))
  26.         else:
  27.             print("Tidak ada antrian yang menunggu.")
  28.  
  29. # Contoh penggunaan
  30. if __name__ == "__main__":
  31.     bank_queue = BankQueue()
  32.  
  33.     while True:
  34.         print("\nMenu:")
  35.         print("1. Ambil Nomor Antrian")
  36.         print("2. Layani Pelanggan Berikutnya")
  37.         print("3. Lihat Daftar Antrian")
  38.         print("4. Keluar")
  39.  
  40.         choice = input("Pilih menu (1-4): ")
  41.         if choice == "1":
  42.             bank_queue.take_ticket()
  43.         elif choice == "2":
  44.             bank_queue.serve_customer()
  45.         elif choice == "3":
  46.             bank_queue.view_queue()
  47.         elif choice == "4":
  48.             print("Sistem antrian selesai. Terima kasih!")
  49.             break
  50.         else:
  51.             print("Pilihan tidak valid. Silakan coba lagi.")
  52.  
Tags: python
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement