Advertisement
iNoobAvicena

Antrian Bioskop III

Nov 21st, 2020
89
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.LinkedList;
  2. import java.util.Scanner;
  3.  
  4. public class Queue1 {
  5.  
  6.     static Scanner in = new Scanner(System.in);
  7.     static LinkedList<Person> antri = new LinkedList<Person>();
  8.     static LinkedList<Person> selesai = new LinkedList<Person>();
  9.    
  10.     public static void main(String[] args) {
  11.         while (true) {
  12.             String input = in.nextLine();
  13.             if (input.equals("-")) {
  14.                 //Lengkapi
  15.                 break;
  16.             } else if (input.equalsIgnoreCase("Dequeue")) {
  17.                 //Lengkapi
  18.                 dequeue();
  19.             } else {
  20.                 String[] pengunjung = input.split("-");
  21.                 enqueue(pengunjung[0], Integer.parseInt(pengunjung[1]));
  22.             }
  23.         }
  24.         cetakAntrian();
  25.         cetakSelesai();
  26.     }
  27.  
  28.     static void enqueue(String input, int prioritas) {
  29.         //Lengkapi
  30.         antri.add(new Person(input, prioritas));
  31.         priorityQueue();
  32.     }
  33.  
  34.     static void dequeue() {
  35.         //Lengkapi
  36.         selesai.addLast(antri.getFirst());
  37.         antri.removeFirst();
  38.     }
  39.  
  40.     static void cetakAntrian() {
  41.         //Lengkapi
  42.         if (antri.isEmpty()) {
  43.             System.out.println("Antrian Kosong");
  44.         } else {
  45.             int i = 0;
  46.             while (i < antri.size()) {
  47.                 System.out.println(antri.get(i).namaPengunjung);
  48.                 i++;
  49.             }
  50.         }
  51.     }
  52.  
  53.     static void cetakSelesai() {
  54.         //Lengkapi
  55.         int i = 0;
  56.         while (i < selesai.size()) {
  57.             System.out.println(selesai.get(i).namaPengunjung);
  58.             i++;
  59.         }
  60.     }
  61.    
  62.     static void priorityQueue() {
  63.         //Lengkapi
  64.         Person temp = null;
  65.         for (int i = 0; i < antri.size(); i++) {
  66.             for (int j = 0; j < antri.size() - 1; j++) {
  67.                 if(antri.get(j).prioritas > antri.get(j+1).prioritas){
  68.                     temp = antri.get(j);
  69.                     antri.set(j, antri.get(j+1));
  70.                     antri.set(j+1, temp);
  71.                 }
  72.             }
  73.         }
  74.     }
  75. }
  76.  
  77. class Person {
  78.  
  79.     String namaPengunjung;
  80.     int prioritas;
  81.     public Person(String nama, int prioritas) {
  82.         this.namaPengunjung = nama;
  83.         this.prioritas = prioritas;
  84.     }
  85. }
Advertisement
RAW Paste Data Copied
Advertisement