12/26/2012

Antrian/ Queue


PERTEMUAN KE-4
ANTRIAN/ QUEUE

DISUSUN OLEH

Nim     : 115410138
Nama   : Hermawan
                                                          

A. Pembahasan
class Program_Antrian
{
      static int ekor = -1;
      static int maxEkor = 9;

KETERANGAN:

Mendeklarasikanjumlah space untukantrian yang akandigunakan. Yaitu menggunakan variable ekorsebagaibatas yang dapatdiisi, dikarenakansetiapindeksdimulaidarinol, maka data dapatdiisidari 0, -1 sebagaipembatas. Dan variable maxEkor merupakanbatasmaksimum data dapatdiisi.Yakni 9, dan data akandiisidenganindeks 0 sampai 9 sebanyak 10 data.
public static void addQueue(String antrian[], String data)
{ if (ekor>= maxEkor)
{ System.out.println("Maaf, AntrianPenuh");    }
else
{ System.out.println("addQueue : "+ data);
ekor++;
antrian[ekor] = data;      }

KETERANGAN:

Daribarisan program diatas. MerupakanpembuatanmethidaddQueuesebagaipenambahanantrian.Didalam method terrsebutterdapatsebuahkondisi, dimana, jikaekor / indeksmelebihibatasmaksimal, maka aka nada peringatanbahwa ”Maaf,Antrianpenuh. Namun, jikatidak, maka data aka ditambahkandalamantriandanekorakanbertambah.
public static String deQueue(String antrian[])
{ Stringhasil = "";
if (ekor< 0)
{ hasil = "Maaf, AntrianKosong";      }
else
{ hasil = antrian[0];
antrian[0] = null;

KETERANGAN:
Berbedadengan method addQueuesebagaipenambahanantrian, method deQueueadalah method untukmengeluarkanantrian.Jikaekorlebihkecildari 0, makaakanadapesanbahwa“Maaf, Antriankosong, sehinggatidakada data yang perludikeluarkan. Dan jikalebihbedardari 0, makahasilakansamadenganantrian.
for (int i=1; i<=ekor; i++)
{ antrian[i-1] = antrian[i];
antrian[i] = null;        }
ekor--;      }
return (hasil);        }

KETERANGAN:
Programdiatasmerupakanperulangan (for)dimanaindek i – 1 danakanterusdilakukanpenambahanantriansampaipadanilaiilebihkecilatausamadengannilaiekor. Dan antrianakanditarik/dikurangi.
public static void bacaAntrian(String antrian[])
{ System.out.println("KONDISI ANTRIAN : ");
for (int i=0; i<=maxEkor; i++)
{ if (i == ekor)
System.out.println(i +". "+ antrian[i] +"ekor");
else
System.out.println(i +". "+ antrian[i])

KETERANGAN:
Method diadasadalah method yang digunakanuntukmembacaantrian yang ada, denganmenggunakantipe data string.Dalam method tersebutterdapatperulangan for, yaituuntukmempermudahkanletakekordariantrian.dimananilaidarivariabel i = 0, danakandiulangsampaipadanilailebihkecilatausamadengannilai yang adapadamakEkor.jadinilai i akandikerjakanterusatauditambahsatudenganmenggunkan i++. Jikanilai I samadengannilaiekor, makapadaantrianakanditambahkantulisanekorsetelah data ditampilkan. Namunjikatidak, tulisanitutidakakanmunculdan yang adahanya data.
public static void main(String[] args) {
        String antrian[] = new String[100];
addQueue (antrian, "Mobil A");
addQueue (antrian, "Mobil B");
addQueue (antrian, "Mobil C");
addQueue (antrian, "Mobil D");
System.out.println(" ");
bacaAntrian(antrian);
System.out.println(" ");}

KETERANGAN:
Potongan program diatasmerupakan data ataumobil yang akanmasukdalamantrian, danmobil yang akanmasukdalamantrianberjumlah 4 mobil, yaitumobil A, mobil B, mobil C, danmobil D. Dan yang masukpertamaadalahmobil A, makamobil A merupakan top dalamantrianyangaada, haltersebutditentukandaripembacaanantrian, pada program sebelumnyadanekoradapadamobil D. Dari program diatas, mempunyai array sebanyak 100, artinya data dapatdimuatsebanyak 100, namunkarenanilaimaxEkoradalahsebanyak 9, tentu data ataubanyak data yang akanmasukkedalamantrianhanya 10 mobil (dimulaidari 0 – 10).
PRAKTIKUM KE 2( Penambahan 8 Elemen)
addQueue
addQueue (antrian, "Mobil E");
                                addQueue (antrian, "Mobil F");
                                addQueue (antrian, "Mobil G");
                                addQueue (antrian, "Mobil H");
                                addQueue (antrian, "Mobil I");
                                addQueue (antrian, "Mobil J");
                                addQueue (antrian, "Mobil K");
                                addQueue (antrian, "Mobil L");
                                System.out.println(“ “);
                                bacaAntrian(antrian);
System.out.println(“ “);
                                bacaAntrian(antrian);
}
}

                               
KETERANGAN:
Data yang diatasakanditambahkankedalamantrian, yaitu antrian Mobil Dari Mobil A hingga Mobil L. Dan kemudian method bacaAntriandipanggilkembali. Tetapi ternyata data yang ditambahkanmelebihikapasitasantrian, danakanmenampilkanpesanbahwaantrianpenuh.
HASIL OUTPUT :
PRAKTIKUM KE 3 ( Menambah Perintah)

ü  System.out.println("deQueue : "+ deQueue(antrian));
          bacaAntrian(antrian);
KETERANGAN:
baris program diatasmerupakanpenarikan data dariantrian.
Yang dari kondisi Mobil J menjadi ekor à mobil J menjadi ekor tetapi diposisi 9, dan posisi 10 adalah nill
Sehingga hasil Output lewat Progran Netbean adalah :

...
deQueue : Mobil A
KONDISI ANTRIAN :
1. Mobil B
2. Mobil C
3. Mobil D
4. Mobil E
5. Mobil F
6. Mobil G
7. Mobil H
8. Mobil I
9. Mobil J  ekor
10. null
BUILD SUCCESSFUL (total time: 0 seconds)

PRAKTIKUM KE 4 (deQueue sebanyak 7 kali berturut-turut)

ü  System.out.println("deQueue : "+ deQueue(antrian));
ü  System.out.println("deQueue : "+ deQueue(antrian));
ü  System.out.println("deQueue : "+ deQueue(antrian));
ü  System.out.println("deQueue : "+ deQueue(antrian));
ü  System.out.println("deQueue : "+ deQueue(antrian));
ü  System.out.println("deQueue : "+ deQueue(antrian));
ü  System.out.println("deQueue : "+ deQueue(antrian));
ü  bacaAntrian(antrian);

KETERANGAN:
Maka akanterjadipengambilanantrianmelebihidarijumlahantrian yang ada, maka output setelahsemuaantrianditarikakanmengeluarkaninformasibahwaantriantelahkosong.(kondisi null dari posisi 10 sampai posisi 4)
Dengan hasil Output lewat Netbean adalah :
..
..
KONDISI ANTRIAN :
1. Mobil H
2. Mobil I
3. Mobil J  ekor
4. null
5. null
6. null
7. null
8. null
9. null
10. null
BUILD SUCCESSFUL (total time: 0 seconds)


A. TUGAS
static int ekor = -1;
static  int maxEkor = 9;
    public static void addQueue(String antrian[],String data){
        if (ekor >= maxEkor)
            System.out.println("Maaf, antrian Penuh");
        else {
            System.out.println("AddQueue : "+ data);
            ekor = ekor+1;
            antrian[ekor] = data;
         }
    }
    public static String deQueue (String antrian[])
    { String hasil="";
      if (ekor < 0)
        hasil = "Maaf, Antrian Kosong";
      else {
            hasil = antrian[ekor];
            antrian[ekor] = "";
            ekor--;
      }
      return (hasil);
    }
    public static void bacaAntrian(String tumpukan[])
    { System.out.println("KONDISI antrian : ");
      for (int i=ekor; i>=0; i--)
     { if (i==maxEkor)
             System.out.println(i+ ". "+ tumpukan[i] +" ekor");
       else
            System.out.println(i+ ". "+ tumpukan[i]);
      }
        }
    public static void main(String[] args) {
        String antrian[] = new String[10];
        addQueue (antrian, "Mobil A");
        addQueue (antrian, "Mobil B");
        addQueue (antrian, "Mobil C");
        addQueue (antrian, "Mobil D");
        addQueue (antrian, "Mobil E");
        System.out.println(" ");
        bacaAntrian(antrian);
       System.out.println("deQueue : "+ deQueue(antrian));
       System.out.println("deQueue : "+ deQueue(antrian));
        bacaAntrian(antrian);
   }
}
HASIL OUTPUT :














c. lISTING

ü Terlampir

0 komentar:

Posting Komentar