ANALISA ALGORITMA
QUEUE / ANTRIAN
1. Definisi Queue
QUEUE adalah suatu kumpulan data yang mana penambahan data atau elemen hanya dapat
dilakukan pada sisi belakang sedangkan penghapusan atau pengeluaran elemen dilakukan pada sisi
depan. Antrian (Queue) dapat diartikan sebagai suatu kumpulan data yang seolah-olah terlihat
seperti ada data yang diletakkan di sebelah data yang lain seperti pada gambar 01. Pada gambar,
data masuk melalui lorong di sebelah kanan dan masuk dari terowongan sebelah kiri. Hal ini
membuat antrian bersifat FIFO (First In First Out), beda dengan stack yang berciri LIFO.
Antrian dapat dibuat baik dengan array maupun dengan struct. Pada pembuatan antrian dengan
array, antrian yang disajikan bersifat statis. Ini disebabkan oleh jumlah maksimal array sudah
ditentukan sejak deklarasi awal.
2. ADT Antrian
Dari ilustrasi gambar di atas ADT antrian dapat direpresentasikan sebagai berikut:
3. Manfaat Queue
▪ Digunakan sistem operasi untuk mengatur eksekusi taskdalam suatu sistem untuk mencapai
perlakuan yang "adil" (seringkali queuedisebutwaiting line)
▪ Untuk mailbox dalam komunikasi antar proses
▪ Untuk buffer dalam mekanisme printspooler, komunikasi data
▪ Untuk simulasi dan modeling (misalnya simulasi sistem pengendali lalu lintas udara) dalam
memprediksi performansi
4. Queue Dengan Liniear Array:
Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di
ujung Satunya Sehingga membutuhkan variabel Head dan Tail.
1. Create
▪ Untuk menciptakan dan menginisialisasi Queue
▪ Dengan cara membuat Head dan Tail
2. IsEmpty
▪ Untuk memeriksa apakah Antrian sudah penuh atau belum
▪ Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
▪ Kita tidak memeriksa Head, kerena Head adalah tanda untuk kepala antrian (elemen
pertama dalam antrian) yang tidak akan berubah-ubah
▪ Pergerakan pada Antrian terjadi dengan penambahan elemen antrian kebelakang, yaitu
menggunakan nilai Tail.
3. IsFull
▪ Untuk mengecek apakah antrian sudah penuh atau belum
▪ Dengan cara mengecek nilai tail, jika Tail>=MAX-1 (karena MAX-1 adalah batas
elemen array pada C) berarti sudah penuh
4. Clear
▪ Untuk menghapus elemen-elemen antrian dengan cara membuat Tail dan Head =-1
▪ Penghapusan elemen-elemen antrian sebenarnya tidak menghapus arraynya, namun
hanya mengeset indeks pengaksesannya ke nilai-1 sehingga elemen-elemen antrian tidak
lagi terbaca
5. Print
▪ Untuk menampilkan nilai-nilai elemen Antrian
▪ Menggunakan looping dari head s/d tail
5. Operasi Queue
Dua operasi pada antrian yakni enQueue dan deQueue. Untuk menyisipkan data pada antrian
menggunakan enQueue dan menghapus data dari antrian menggunakan deQueue.
1. Enqueue(data)
− Untuk menambahkan elemen ke dalam Antrian, penambahan elemen
selalu ditambahkan di elemen paling belakang
2. Dequeue()
− Digunakan untuk menghapus elemen terdepan/pertama dari Antrian
− Dengan cara mengurangi counter Tail dan menggeser semua elemen
antrian kedepan
− Penggeseran dilakukan dengan menggunakan looping
6. Perbedaan Stack dan Queue
Perbedaan antara stack dan queue terdapat pada aturan penambahan dan penghapusan elemen.
Pada stack, operasi penambahan dan penghapusan elemen dilakukan di satu ujung. Elemen yang
terakhir kali dimasukkan akan berada paling dekat dengan ujung atau dianggap paling atas
sehingga pada operasi penghapusan, elemen teratas tersebut akan dihapus paling awal, sifat
demikian dikenal dengan LIFO. Pada queue, operasi tersebut dilakukan di tempat yang berbeda.
Penambahan elemen selalu dilakukan melalui salah satu ujung, menempati posisi di belakang
elemen-elemen yang sudah masuk sebelumnya atau menjadi elemen paling belakang. Sedangkan
penghapusan elemen dilakukan di ujung yang berbeda, yaitu pada posisi elemen yang masuk
palingawal atau elemen terdepan. Sifat yang demikian dikenal dengan FIFO.
B. Pembahasan
Praktikum 1
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. System.out.println();
57. bacaAntrian(antrian);
58. System.out.println();
59. }
60. }
Baris ke -1 suatu class pada java
Baris ke 3-4 batas ekor dan batas maksimal ekor program antrian maksud nya maksimal
mobil yang bisa keluar 1 mobil dan yang bisa mengantri 9 mobil.
Baris ke -5 method addque dengan parameter variabel antrian tipe data string array,dan dan
Baris ke 7-17 jika ekor (-1 ) lebih dari sama dengan maxekor (9) maka output nya “Antrian
Penuh ” dan jika bukan maka outputnya “addQue : (data dari user )” ,variabel
Baris ke -18 method dequeue dengan parameter antrian array tipe data string
Baris ke 21-26 jika suatu kondisi ekor kurang dari 0 maka outputnya “Antrian Kosong”
Baris ke 29-37 perulangan for dengan parameter variabel i dengan tipe data integer i = 1, i
kurang dari sama dengan variabel ekor, i akan selalu ditambah 1.Variabel
hasil.
Baris ke-38 method bacaAntrian dengan parameter antrian array tipe data string.
Baris ke 41-48 menggunakan perulangan for dengan parameter variabel i tipe data integer
kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "
Baris ke-49 method main atu method utama yang akan selalu dieksekusi pertama kali.
Baris ke-51 Membuat objek ,kata kunci new berfungsi untuk membuat objek
baru dari class program antrian dengan batasan array nya 10.
addQueue : Mobil C
addQueue : Mobil D”
Baris ke-57 akan masuk ke method bacaAntrian dan memproses data yang dimasukan oleh
user.
Praktikum 2
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. bacaAntrian(antrian);
60. System.out.println()
61. System.out.println();
62. }
63. }
Baris ke -1 suatu class pada java
Baris ke 3-4 batas ekor dan batas maksimal ekor program antrian maksud nya maksimal
mobil yang bisa keluar 1 mobil dan yang bisa mengantri 9 mobil.
Baris ke -5 method addque dengan parameter variabel antrian tipe data string array,dan
Baris ke 7-17 jika ekor (-1 ) lebih dari sama dengan maxekor (9) maka output nya “Antrian
Penuh ” dan jika bukan maka outputnya “addQue : (data dari user )” ,variabel
Baris ke -18 method dequeue dengan parameter antrian array tipe data string
Baris ke 21-26 jika suatu kondisi ekor kurang dari 0 maka outputnya “Antrian Kosong”
Baris ke 29-37 perulangan for dengan parameter variabel i dengan tipe data integer i = 1, i
kurang dari sama dengan variabel ekor, i akan selalu ditambah 1.Variabel
hasil.
Baris ke-38 method bacaAntrian dengan parameter antrian array tipe data string.
Baris ke 41-48 menggunakan perulangan for dengan parameter variabel i tipe data integer
kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "
Baris ke-49 method main atu method utama yang akan selalu dieksekusi pertama kali.
Baris ke-51 Membuat objek ,kata kunci new berfungsi untuk membuat objek
baru dari class program antrian dengan batasan array nya 10.
addQueue : Mobil C
addQueue : Mobil D
addQueue : Mobil E
addQueue : Mobil F
addQueue : Mobil G ”
Baris ke-59 akan masuk ke method bacaAntrian dan memproses data yang dimasukan oleh
user.
Praktikum 3
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. bacaAntrian(antrian);
65. System.out.println()
66. System.out.println();
67. }
68. }
Baris ke 3-4 batas ekor dan batas maksimal ekor program antrian maksud nya maksimal
mobil yang bisa keluar 1 mobil dan yang bisa mengantri 9 mobil.
Baris ke -5 method addque dengan parameter variabel antrian tipe data string array,dan dan
Baris ke 7-17 jika ekor (-1 ) lebih dari sama dengan maxekor (9) maka output nya “Antrian
Penuh ” dan jika bukan maka outputnya “addQue : (data dari user )” ,variabel
Baris ke -18 method dequeue dengan parameter antrian array tipe data string
Baris ke 21-26 jika suatu kondisi ekor kurang dari 0 maka outputnya “Antrian Kosong”
Baris ke 29-37 perulangan for dengan parameter variabel i dengan tipe data integer i = 1, i
kurang dari sama dengan variabel ekor, i akan selalu ditambah 1.Variabel
hasil.
Baris ke-38 method bacaAntrian dengan parameter antrian array tipe data string.
Baris ke 41-48 menggunakan perulangan for dengan parameter variabel i tipe data integer
kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "
Baris ke-49 method main atu method utama yang akan selalu dieksekusi pertama kali.
Baris ke-51 Membuat objek ,kata kunci new berfungsi untuk membuat objek
baru dari class program antrian dengan batasan array nya 10.
addQueue : Mobil C
addQueue : Mobil D
addQueue : Mobil E
addQueue : Mobil F
addQueue : Mobil G
addQueue : Mobil H
addQueue : Mobil I
addQueue : Mobil J
addQueue : Mobil K
addQueue : Mobil L”
Baris ke-64 akan masuk ke method bacaAntrian dan memproses data yang dimasukan oleh
user.
Praktikum 4
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. System.out.println("deQueue: " + deQueue(antrian));
65. bacaAntrian(antrian);
66. System.out.println()
67. System.out.println();
68. }
69. }
Baris ke 3-4 batas ekor dan batas maksimal ekor program antrian maksud nya maksimal
mobil yang bisa keluar 1 mobil dan yang bisa mengantri 9 mobil.
Baris ke -5 method addque dengan parameter variabel antrian tipe data string array,dan dan
Baris ke 7-17 jika ekor (-1 ) lebih dari sama dengan maxekor (9) maka output nya “Antrian
Penuh ” dan jika bukan maka outputnya “addQue : (data dari user )” ,variabel
Baris ke -18 method dequeue dengan parameter antrian array tipe data string
Baris ke 21-26 jika suatu kondisi ekor kurang dari 0 maka outputnya “Antrian Kosong”
Baris ke 29-37 perulangan for dengan parameter variabel i dengan tipe data integer i = 1, i
kurang dari sama dengan variabel ekor, i akan selalu ditambah 1.Variabel
hasil.
Baris ke-38 method bacaAntrian dengan parameter antrian array tipe data string.
Baris ke 41-48 menggunakan perulangan for dengan parameter variabel i tipe data integer
kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "
Baris ke-49 method main atu method utama yang akan selalu dieksekusi pertama kali.
Baris ke-51 Membuat objek ,kata kunci new berfungsi untuk membuat objek
baru dari class program antrian dengan batasan array nya 10.
addQueue : Mobil C
addQueue : Mobil D
addQueue : Mobil E
addQueue : Mobil F
addQueue : Mobil G
addQueue : Mobil H
addQueue : Mobil I
addQueue : Mobil J
addQueue : Mobil K
addQueue : Mobil L”
data yang dimasukan oleh user, maksud dequeue adalah mobil yang keluar
dari antrian, jumlah mobil yang keluar akan sama dengan jumlah baris sintaknya.
Baris ke-65 akan masuk ke method bacaAntrian dan memproses data yang dimasukan oleh
user.
Praktikum 5
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. System.out.println("deQueue: " + deQueue(antrian));
65. System.out.println("deQueue: " + deQueue(antrian));
66. System.out.println("deQueue: " + deQueue(antrian));
67. System.out.println("deQueue: " + deQueue(antrian));
68. System.out.println("deQueue: " + deQueue(antrian));
69. bacaAntrian(antrian);
70. System.out.println()
71. System.out.println();
72. }
Baris ke 3-4 batas ekor dan batas maksimal ekor program antrian maksud nya maksimal
mobil yang bisa keluar 1 mobil dan yang bisa mengantri 9 mobil.
Baris ke -5 method addque dengan parameter variabel antrian tipe data string array,dan dan
Baris ke 7-17 jika ekor (-1 ) lebih dari sama dengan maxekor (9) maka output nya “Antrian
Penuh ” dan jika bukan maka outputnya “addQue : (data dari user )” ,variabel
Baris ke -18 method dequeue dengan parameter antrian array tipe data string
Baris ke 21-26 jika suatu kondisi ekor kurang dari 0 maka outputnya “Antrian Kosong”
dan jika bukan maka antrian = 0.
Baris ke 29-37 perulangan for dengan parameter variabel i dengan tipe data integer i = 1, i
kurang dari sama dengan variabel ekor, i akan selalu ditambah 1.Variabel
hasil.
Baris ke-38 method bacaAntrian dengan parameter antrian array tipe data string.
Baris ke 41-48 menggunakan perulangan for dengan parameter variabel i tipe data integer
kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "
Baris ke-49 method main atu method utama yang akan selalu dieksekusi pertama kali.
Baris ke-51 Membuat objek ,kata kunci new berfungsi untuk membuat objek
baru dari class program antrian dengan batasan array nya 10.
addQueue : Mobil C
addQueue : Mobil D
addQueue : Mobil E
addQueue : Mobil F
addQueue : Mobil G
addQueue : Mobil H
addQueue : Mobil I
addQueue : Mobil J
addQueue : Mobil K
addQueue : Mobil L”
data yang dimasukan oleh user, maksud dequeue adalah mobil yang keluar
dari antrian, jumlah mobil yang keluar akan sama dengan jumlah baris sintaknya.
Baris ke-69 masuk ke method bacaAntrian dan memproses data yang dimasukan oleh user.
Praktikum 6
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. System.out.println("deQueue: " + deQueue(antrian));
65. System.out.println("deQueue: " + deQueue(antrian));
66. System.out.println("deQueue: " + deQueue(antrian));
67. System.out.println("deQueue: " + deQueue(antrian));
68. System.out.println("deQueue: " + deQueue(antrian));
69. System.out.println("deQueue: " + deQueue(antrian));
70. System.out.println("deQueue: " + deQueue(antrian));
71. System.out.println("deQueue: " + deQueue(antrian));
72. bacaAntrian(antrian);
73. System.out.println()
74. System.out.println();
75. }
Baris ke 3-4 batas ekor dan batas maksimal ekor program antrian maksud nya maksimal
mobil yang bisa keluar 1 mobil dan yang bisa mengantri 9 mobil.
Baris ke -5 method addque dengan parameter variabel antrian tipe data string array,dan dan
Baris ke 7-17 jika ekor (-1 ) lebih dari sama dengan maxekor (9) maka output nya “Antrian
Penuh ” dan jika bukan maka outputnya “addQue : (data dari user )” ,variabel
Baris ke -18 method dequeue dengan parameter antrian array tipe data string
Baris ke 21-26 jika suatu kondisi ekor kurang dari 0 maka outputnya “Antrian Kosong”
Baris ke 29-37 perulangan for dengan parameter variabel i dengan tipe data integer i = 1, i
kurang dari sama dengan variabel ekor, i akan selalu ditambah 1.Variabel
hasil.
Baris ke-38 method bacaAntrian dengan parameter antrian array tipe data string.
Baris ke 41-48 menggunakan perulangan for dengan parameter variabel i tipe data integer
kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "
Baris ke-49 method main atu method utama yang akan selalu dieksekusi pertama kali.
Baris ke-51 Membuat objek ,kata kunci new berfungsi untuk membuat objek
baru dari class program antrian dengan batasan array nya 10.
Baris ke 52-63 fungsinya untuk menampilkan output “addQueue : Mobil A
addQueue : Mobil B
addQueue : Mobil C
addQueue : Mobil D
addQueue : Mobil E
addQueue : Mobil F
addQueue : Mobil G
addQueue : Mobil H
addQueue : Mobil I
addQueue : Mobil J
addQueue : Mobil K
addQueue : Mobil L”
data yang dimasukan oleh user, maksud dequeue adalah mobil yang keluar
dari antrian, jumlah mobil yang keluar akan sama dengan jumlah baris sintaknya.
Baris ke-69 masuk ke method bacaAntrian dan memproses data yang dimasukan oleh user.
Latihan
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 30;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[35];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. addQueue(antrian, "Mobil M");
65. addQueue(antrian, "Mobil N");
66. addQueue(antrian, "Mobil O");
67. addQueue(antrian, "Mobil P");
68. addQueue(antrian, "Mobil Q");
69. addQueue(antrian, "Mobil R");
70. addQueue(antrian, "Mobil S");
71. addQueue(antrian, "Mobil T");
72. addQueue(antrian, "Mobil U");
73. addQueue(antrian, "Mobil P");
74. addQueue(antrian, "Mobil W");
75. addQueue(antrian, "Mobil X");
76. addQueue(antrian, "Mobil Y");
77. addQueue(antrian, "Mobil Z");
78. System.out.println("deQueue: " + deQueue(antrian));
79. System.out.println("deQueue: " + deQueue(antrian));
80. System.out.println("deQueue: " + deQueue(antrian));
81. System.out.println("deQueue: " + deQueue(antrian));
82. System.out.println("deQueue: " + deQueue(antrian));
83. System.out.println("deQueue: " + deQueue(antrian));
84. System.out.println("deQueue: " + deQueue(antrian));
85. System.out.println("deQueue: " + deQueue(antrian));
86. System.out.println("deQueue: " + deQueue(antrian));
87. System.out.println("deQueue: " + deQueue(antrian));
88. System.out.println("deQueue: " + deQueue(antrian));
89. System.out.println("deQueue: " + deQueue(antrian));
90. System.out.println("deQueue: " + deQueue(antrian));
91. System.out.println("deQueue: " + deQueue(antrian));
92. System.out.println("deQueue: " + deQueue(antrian));
93. System.out.println("deQueue: " + deQueue(antrian));
94. System.out.println("deQueue: " + deQueue(antrian));
95. System.out.println("deQueue: " + deQueue(antrian));
96. System.out.println("deQueue: " + deQueue(antrian));
97. System.out.println("deQueue: " + deQueue(antrian));
98. bacaAntrian(antrian);
99. System.out.println()
100. System.out.println();
101. }
Tugas
import java.util.Scanner;
class javaapplication31{
if (max>=batasMax){
System.out.println("Antrian Penuh");
else{
System.out.println("addQueue : "+data);
max++;
antrian[max]=data;
if (max<0){
hasil="Antrian Kosong";
else{
hasil=antrian[0];
antrian[0]=null;
for(int i=1;i<max;i++){
antrian[i-1]=antrian[i];
antrian[i]=null;
max--;
return (hasil);
for(int i=0;i<=batasMax;i++){
if(max==1)
System.out.println((i+1)+"."+antrian[i]+"ekor");
else
System.out.println((i+1)+"."+antrian[i]);
System.out.println("================================");
System.out.println("3. Keluar");
System.out.println("================================");
if (a==1){
while(true){
mobil = masuk.nextLine();
addQueue(array,mobil);
System.out.println("================================");
if (loop == 1){}
else if (loop == 2) {
break;
else{
break;
else if (a == 2){
while(true){
System.out.println("================================");
System.out.println("deQueue : "+deQueue(array));
System.out.println("================================");
if (loop == 1){}
else if (loop == 2) {
break;
else{
break;
String loop;
while (true){
tampilMenu();
int pilihan;
pilihan = input.nextInt();
menu(antrian ,pilihan);
else{
break;
bacaAntrian(antrian);
}
C. Kesimpulan
ADT Queue (antrian) adalah struktur data dimana proses pengambilan dan
penambahan element dilakukan pada ujung yang berbeda dengan mengikuti
konsep FIFO (First In First Out). Queue berguna untuk menyimpan pekerjaan yang
tertunda.
Contoh penggunaan atau implementasi dari ADT Queue misalnya aplikasi untuk
antrian di rumah sakit, mailbox dalam komunikasi antar proses, simulasi dan
modeling (misalnya simulasi sistem pengendali lalu lintas udara) dalam
memprediksi performansi, Waiting Line pada Sistem Operasi
2. Mobil A,B,C,D,E,F,G. Ekor nya di mobil G,ada pada praktikum 1 mobil D ekor nya
4. Perubahan nya yaitu mobil a ter dequeue maksud nya mobil a sudah keluar dari antrian
sesuai dengan prinsipnya yaitu FIFO (First In First Out) dimana data yang masuk pertama
kali akan keluar pertama,sedangkan mobil a adalah data yang paling pertama.Jumlah mobil
yang keluar dari antrian akan akan sama dengan jumlah sintaknya contoh nya misalnya
data yang terqueue atau yang keluar dari antrian satu data ,kalau barisnya ada 8 maka data
yang keluar dari antrian delapan data,posisi ekor sekarang pada mobil j.
5. Ada perubahan pada mobil yang terqueue (yang keluar dari antrian) penyebabnya karena
hanya satu baris menjadi lima baris maka jumlah mobil yang keluar dari antrian berjumlah
baris nya berjumlah 8 sedangkan di dalam program antrian nya bisa menampung 10 mobil.
Praktikum 1
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. System.out.println();
57. bacaAntrian(antrian);
58. System.out.println();
59. }
60. }
Pratikum 2
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. bacaAntrian(antrian);
60. System.out.println()
61. System.out.println();
62. }
63. }
Praktikum 3
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. bacaAntrian(antrian);
65. System.out.println()
66. System.out.println();
67. }
68. }
Praktikum 4
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. bacaAntrian(antrian);
65. System.out.println()
66. System.out.println();
67. }
68. }
Praktikum 5
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. System.out.println("deQueue: " + deQueue(antrian));
65. System.out.println("deQueue: " + deQueue(antrian));
66. System.out.println("deQueue: " + deQueue(antrian));
67. System.out.println("deQueue: " + deQueue(antrian));
68. System.out.println("deQueue: " + deQueue(antrian));
69. bacaAntrian(antrian);
70. System.out.println()
71. System.out.println();
72. }
Praktikum 6
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 9;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[10];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. System.out.println("deQueue: " + deQueue(antrian));
65. System.out.println("deQueue: " + deQueue(antrian));
66. System.out.println("deQueue: " + deQueue(antrian));
67. System.out.println("deQueue: " + deQueue(antrian));
68. System.out.println("deQueue: " + deQueue(antrian));
69. bacaAntrian(antrian);
70. System.out.println()
71. System.out.println();
72. }
Latihan
1. class ProgramAntrian
2. {
3. static int ekor = -1;
4. static int maxEkor = 30;
5. public static void addQueue(String antrian[], String data)
6. {
7. if(ekor >= maxEkor)
8. {
9. System.out.println("Antrian penuh");
10. }
11. else
12. {
13. System.out.println("addQueue : " + data);
14. ekor++;
15. antrian[ekor] = data;
16. }
17. }
18. public static String deQueue(String antrian[])
19. {
20. String hasil = " ";
21. if(ekor < 0)
22. {
23. hasil = "Antrian kosong";
24. }
25. else
26. {
27. hasil = antrian[0];
28. antrian[0] = null;
29. for(int i = 1; i <= ekor; i++)
30. {
31. antrian[i-1] = antrian[i];
32. antrian[i] = null;
33. }
34. ekor--;
35. }
36. return (hasil);
37. }
38. public static void bacaAntrian(String antrian[])
39. {
40. System.out.println("Kondisi antrian : ");
41. for (int i = 0; i <= maxEkor; i++)
42. {
43. if(i == ekor)
44. System.out.println((i+1) + "." + antrian[i] + " ekor");
45. else
46. System.out.println((i+1) + "." + antrian[i]);
47. }
48. }
49. public static void main(String args[])
50. {
51. String antrian[] = new String[35];
52. addQueue(antrian, "Mobil A");
53. addQueue(antrian, "Mobil B");
54. addQueue(antrian, "Mobil C");
55. addQueue(antrian, "Mobil D");
56. addQueue(antrian, "Mobil E");
57. addQueue(antrian, "Mobil F");
58. addQueue(antrian, "Mobil G");
59. addQueue(antrian, "Mobil H");
60. addQueue(antrian, "Mobil I");
61. addQueue(antrian, "Mobil J");
62. addQueue(antrian, "Mobil K");
63. addQueue(antrian, "Mobil L");
64. addQueue(antrian, "Mobil M");
65. addQueue(antrian, "Mobil N");
66. addQueue(antrian, "Mobil O");
67. addQueue(antrian, "Mobil P");
68. addQueue(antrian, "Mobil Q");
69. addQueue(antrian, "Mobil R");
70. addQueue(antrian, "Mobil S");
71. addQueue(antrian, "Mobil T");
72. addQueue(antrian, "Mobil U");
73. addQueue(antrian, "Mobil P");
74. addQueue(antrian, "Mobil W");
75. addQueue(antrian, "Mobil X");
76. addQueue(antrian, "Mobil Y");
77. addQueue(antrian, "Mobil Z");
78. System.out.println("deQueue: " + deQueue(antrian));
79. System.out.println("deQueue: " + deQueue(antrian));
80. System.out.println("deQueue: " + deQueue(antrian));
81. System.out.println("deQueue: " + deQueue(antrian));
82. System.out.println("deQueue: " + deQueue(antrian));
83. System.out.println("deQueue: " + deQueue(antrian));
84. System.out.println("deQueue: " + deQueue(antrian));
85. System.out.println("deQueue: " + deQueue(antrian));
86. System.out.println("deQueue: " + deQueue(antrian));
87. System.out.println("deQueue: " + deQueue(antrian));
88. System.out.println("deQueue: " + deQueue(antrian));
89. System.out.println("deQueue: " + deQueue(antrian));
90. System.out.println("deQueue: " + deQueue(antrian));
91. System.out.println("deQueue: " + deQueue(antrian));
92. System.out.println("deQueue: " + deQueue(antrian));
93. System.out.println("deQueue: " + deQueue(antrian));
94. System.out.println("deQueue: " + deQueue(antrian));
95. System.out.println("deQueue: " + deQueue(antrian));
96. System.out.println("deQueue: " + deQueue(antrian));
97. System.out.println("deQueue: " + deQueue(antrian));
98. bacaAntrian(antrian);
99. System.out.println()
100. System.out.println();
101. }
Output
addQueue : Mobil A
addQueue : Mobil B
addQueue : Mobil C
addQueue : Mobil D
addQueue : Mobil E
addQueue : Mobil F
addQueue : Mobil G
addQueue : Mobil H
addQueue : Mobil I
addQueue : Mobil J
addQueue : Mobil K
addQueue : Mobil L
addQueue : Mobil K
addQueue : Mobil L
addQueue : Mobil M
addQueue : Mobil N
addQueue : Mobil O
addQueue : Mobil P
addQueue : Mobil Q
addQueue : Mobil R
addQueue : Mobil S
addQueue : Mobil T
addQueue : Mobil U
addQueue : Mobil P
addQueue : Mobil W
addQueue : Mobil X
addQueue : Mobil Y
addQueue : Mobil Z
deQueue: Mobil A
deQueue: Mobil B
deQueue: Mobil C
deQueue: Mobil D
deQueue: Mobil E
deQueue: Mobil F
deQueue: Mobil G
deQueue: Mobil H
deQueue: Mobil I
deQueue: Mobil J
deQueue: Mobil K
deQueue: Mobil L
deQueue: Mobil K
deQueue: Mobil L
deQueue: Mobil M
deQueue: Mobil N
deQueue: Mobil O
deQueue: Mobil P
deQueue: Mobil Q
deQueue: Mobil R
Kondisi antrian :
1.Mobil S
2.Mobil T
3.Mobil U
4.Mobil P
5.Mobil W
6.Mobil X
7.Mobil Y
8.Mobil Z ekor
9.null
10.null
11.null
12.null
13.null
14.null
15.null
16.null
17.null
18.null
19.null
20.null
21.null
22.null
23.null
24.null
25.null
26.null
27.null
28.null
29.null
30.null
31.null
Tugas
import java.util.Scanner;
class javaapplication31{
System.out.println("Antrian Penuh");
else{
System.out.println("addQueue : "+data);
max++;
antrian[max]=data;
if (max<0){
hasil="Antrian Kosong";
else{
hasil=antrian[0];
antrian[0]=null;
for(int i=1;i<max;i++){
antrian[i-1]=antrian[i];
antrian[i]=null;
max--;
return (hasil);
for(int i=0;i<=batasMax;i++){
if(max==1)
System.out.println((i+1)+"."+antrian[i]+"ekor");
else
System.out.println((i+1)+"."+antrian[i]);
}
public static void tampilMenu(){
System.out.println("================================");
System.out.println("3. Keluar");
System.out.println("================================");
if (a==1){
while(true){
mobil = masuk.nextLine();
addQueue(array,mobil);
System.out.println("================================");
if (loop == 1){}
else if (loop == 2) {
break;
else{
break;
else if (a == 2){
while(true){
System.out.println("================================");
System.out.println("deQueue : "+deQueue(array));
System.out.println("================================");
else if (loop == 2) {
break;
else{
break;
String loop;
while (true){
tampilMenu();
int pilihan;
pilihan = input.nextInt();
menu(antrian ,pilihan);
else{
break;
bacaAntrian(antrian);
Output
run:
================================
1. addQueue Mobil
2. deQueue Mobil
3. Keluar
================================
Masukan Mobil : 32
addQueue : 32
================================
1.Ya 2.Tidak
================================
1. addQueue Mobil
2. deQueue Mobil
3. Keluar
================================
================================
deQueue : 32
================================
1.Ya 2.Tidak
================================
1. addQueue Mobil
2. deQueue Mobil
3. Keluar
================================
Kondisi Antrian :
1.null
2.null
3.null
4.null
5.null
6.null
7.null
8.null
9.null
10.null