Anda di halaman 1dari 46

LAPORAN PRAKTIKUM

ANALISA ALGORITMA
QUEUE / ANTRIAN

Nama : MUHAMMAD RAIHAN


NIM : H1051191105

Senin, 23 Maret 2020


IRVAN DENATA

LABORATORIUM SISTEM KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS TANJUNGPURA
PONTIANAK
2020
A. DASAR TEORI
QUEUE

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

− Penambahan elemen selalu menggerakan variabel Tail dengan cara


increment counter Tail

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

variabel data tipe data string.

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

ekor akan selalu bertambah 1.

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

antrian array i -1 sama dengan variabel antrian array i,array i = 0.kembali ke

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

i = 0, i kurang dari sama dengan maxEkor ,i akan selalu ditambah 1.jika

kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "

" ekor");, jika bukan 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-55 fungsinya untuk menampilkan output “addQueue : Mobil A


addQueue : Mobil B

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

variabel data tipe data string.

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

ekor akan selalu bertambah 1.

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

antrian array i -1 sama dengan variabel antrian array i,array i = 0.kembali ke

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

i = 0, i kurang dari sama dengan maxEkor ,i akan selalu ditambah 1.jika

kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "

" ekor");, jika bukan 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-57 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 ”

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 -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

variabel data tipe data string.

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

ekor akan selalu bertambah 1.

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

antrian array i -1 sama dengan variabel antrian array i,array i = 0.kembali ke

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

i = 0, i kurang dari sama dengan maxEkor ,i akan selalu ditambah 1.jika

kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "

" ekor");, jika bukan 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”

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 -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

variabel data tipe data string.

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

ekor akan selalu bertambah 1.

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

antrian array i -1 sama dengan variabel antrian array i,array i = 0.kembali ke

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

i = 0, i kurang dari sama dengan maxEkor ,i akan selalu ditambah 1.jika

kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "

" ekor");, jika bukan 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”

Baris ke-64 mengeluarkan output “deQueue: " + deQueue(antrian));”

dimana deQueue(antrian) akan masuk ke method dequeue dan memproses data

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 -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

variabel data tipe data string.

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

ekor akan selalu bertambah 1.

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

antrian array i -1 sama dengan variabel antrian array i,array i = 0.kembali ke

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

i = 0, i kurang dari sama dengan maxEkor ,i akan selalu ditambah 1.jika

kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "

" ekor");, jika bukan 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”

Baris ke 64-68 mengeluarkan output “deQueue: " + deQueue(antrian));”

dimana deQueue(antrian) akan masuk ke method dequeue dan memproses data

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 -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

variabel data tipe data string.

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

ekor akan selalu bertambah 1.

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

antrian array i -1 sama dengan variabel antrian array i,array i = 0.kembali ke

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

i = 0, i kurang dari sama dengan maxEkor ,i akan selalu ditambah 1.jika

kondisi i sama dengan ekor maka outputnya “((i+1) + "." + antrian[i] + "

" ekor");, jika bukan 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”

Baris ke 64-71 mengeluarkan output “deQueue: " + deQueue(antrian));”

dimana deQueue(antrian) akan masuk ke method dequeue dan memproses data

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{

static int max=-1;

static int batasMax=9;

static Scanner masuk=new Scanner(System.in);

static Scanner input=new Scanner(System.in);

public static void addQueue(String antrian[], String data){

if (max>=batasMax){

System.out.println("Antrian Penuh");

else{

System.out.println("addQueue : "+data);

max++;

antrian[max]=data;

public static String deQueue(String antrian[]){

String hasil=" ";

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);

public static void bacaAntrian(String antrian[]){

System.out.println("Kondisi Antrian : ");

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("Pilih Menu Antrian :");

System.out.println("1. addQueue Mobil ");

System.out.println("2. deQueue Mobil");

System.out.println("3. Keluar");

System.out.println("================================");

public static void menu(String array[],int a){

String mobil=" ";

if (a==1){

while(true){

System.out.print("Masukan Mobil : ");

mobil = masuk.nextLine();

addQueue(array,mobil);
System.out.println("================================");

System.out.println("Ingin addQueue lagi ?\n1.Ya 2.Tidak");

int loop = input.nextInt();

if (loop == 1){}
else if (loop == 2) {

break;

else{

System.out.println("Opsi tidak ada");

break;

else if (a == 2){

while(true){

System.out.println("================================");

System.out.println("deQueue : "+deQueue(array));

System.out.println("================================");

System.out.println("Ingin deQueue lagi ?\n1.Ya 2.Tidak");

int loop = input.nextInt();

if (loop == 1){}

else if (loop == 2) {

break;

else{

System.out.println("Opsi tidak ada");

break;

public static void main(String args[]){

String antrian[] = new String[10];

String loop;

while (true){

tampilMenu();

int pilihan;

pilihan = input.nextInt();
menu(antrian ,pilihan);

if (pilihan >= 1 && pilihan <= 2){}

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

1. Mobil apa sajakah yang dapat diaddQueue ke dalam antrian? Lalu


bagaimanakah dengan “ekor”? Berada di posisi manakah “ekor” saat ini?
2. Bagaimanakah kondisi antrian saat ini? Mobil apa sajakah yang ada dalam
antrian? Lalu bagaimana dengan posisi “ekor” saat ini? Adakah perbedaan
posisi “ekor” saat ini jika dibandingkan dengan posisi “ekor” pada
Pelaksanaan Praktikum ke-1
3. Mobil apa sajakah yang dapat diaddQueue ke dalam antrian? Adakah Mobil
yang gagal di addQueue ke dalam antrian? Apa sebabnya? Mengapa bisa
demikian? Menurut anda bagian manakah dari program di atas yang
menyebabkannya?
4. Adakah perubahan yang terjadi pada kondisi saat ini dibanding dengan
pada percobaan sebelumnya? Apakah setiap “Mobil B, C, D,...dst” masih
berada di posisinya yang sama? Mengapa hal itu bisa terjadi? Menurut anda
bagian manakah dari program di atas yang menyebabkannya? Lalu
bagaimana dengan posisi “ekor” saat ini?
5. Adakah perubahan yang terjadi pada kondisi saat ini dibanding dengan
pada percobaan sebelumnya? Apakah setiap “Mobil B, C, D,...dst” masih
berada di posisinya yang sama? Mengapa hal itu bisa terjadi? Lalu
bagaimana dengan posisi “ekor” saat ini?
6. Adakah proses deQueue yang tidak dapat (gagal) dilakukan? Mengapa bisa
demikian?
7. Dari hasil Pelaksanaan Praktikum, menurut anda berapakah kapasitas
antrian yang ditentukan dalam program di atas?
1. Mobil A,B,C,D. Ekor nya di mobil D

2. Mobil A,B,C,D,E,F,G. Ekor nya di mobil G,ada pada praktikum 1 mobil D ekor nya

sedangkan pada praktikum 2 ekornya mobil G.

3. Mobil yang dapat di addque mobil A,B,C,D,E,F,G.Penyebab nya di antrian hanya

dapat menampung antrian 10 mobil saja ( String antrian[] = new String[10]; )

sehingga mobil H,I,J tidak bisa masuk di dalam antrian tersebut.

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

sintaknya System.out.println("deQueue: " + deQueue(antrian)); satu baris maka yang

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

sintaks System.out.println("deQueue: " + deQueue(antrian)); yang yang sebelum nya

hanya satu baris menjadi lima baris maka jumlah mobil yang keluar dari antrian berjumlah

5 mobil, posisi ekor sekarang pada mobil j.

6. Tidak ada yang gagal karena sintaks System.out.println("deQueue: " + deQueue(antrian));

baris nya berjumlah 8 sedangkan di dalam program antrian nya bisa menampung 10 mobil.

7. Kapasitas antrian yang dapat ditampung 10 mobil.


D. Listing Program

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{

static int max=-1;

static int batasMax=9;

static Scanner masuk=new Scanner(System.in);

static Scanner input=new Scanner(System.in);

public static void addQueue(String antrian[], String data){


if (max>=batasMax){

System.out.println("Antrian Penuh");

else{

System.out.println("addQueue : "+data);

max++;

antrian[max]=data;

public static String deQueue(String antrian[]){

String hasil=" ";

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);

public static void bacaAntrian(String antrian[]){

System.out.println("Kondisi Antrian : ");

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("Pilih Menu Antrian :");

System.out.println("1. addQueue Mobil ");

System.out.println("2. deQueue Mobil");

System.out.println("3. Keluar");

System.out.println("================================");

public static void menu(String array[],int a){

String mobil=" ";

if (a==1){

while(true){

System.out.print("Masukan Mobil : ");

mobil = masuk.nextLine();

addQueue(array,mobil);
System.out.println("================================");

System.out.println("Ingin addQueue lagi ?\n1.Ya 2.Tidak");

int loop = input.nextInt();

if (loop == 1){}

else if (loop == 2) {

break;

else{

System.out.println("Opsi tidak ada");

break;

else if (a == 2){

while(true){

System.out.println("================================");

System.out.println("deQueue : "+deQueue(array));

System.out.println("================================");

System.out.println("Ingin deQueue lagi ?\n1.Ya 2.Tidak");

int loop = input.nextInt();


if (loop == 1){}

else if (loop == 2) {

break;

else{

System.out.println("Opsi tidak ada");

break;

public static void main(String args[]){

String antrian[] = new String[10];

String loop;

while (true){

tampilMenu();

int pilihan;

pilihan = input.nextInt();

menu(antrian ,pilihan);

if (pilihan >= 1 && pilihan <= 2){}

else{

break;

bacaAntrian(antrian);

Output

run:

================================

Pilih Menu Antrian :

1. addQueue Mobil

2. deQueue Mobil

3. Keluar
================================

Masukan Mobil : 32

addQueue : 32

================================

Ingin addQueue lagi ?

1.Ya 2.Tidak

================================

Pilih Menu Antrian :

1. addQueue Mobil

2. deQueue Mobil

3. Keluar

================================

================================

deQueue : 32

================================

Ingin deQueue lagi ?

1.Ya 2.Tidak

================================

Pilih Menu Antrian :

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

BUILD SUCCESSFUL (total time: 8 minutes 31 seconds)

Anda mungkin juga menyukai