Kamis, 19 Desember 2013

Laporan Praktikum Struktur Data 3-4



LAPORAN PRAKTIKUM
STRUKTUR DATA
MODUL III














                 Nama               : Demy Octiana Azmianti
                 NIM                 : 125610118
                 Jurusan           : Sistem Informasi

JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN DAN INFORMATIKA
AKAKOM YOGYAKARTA
2013
Pembahasan Listing :
1.      class Program_Tumpukan :  Merupakan suatu nama kelas yang dibuat dan nama kelasnya adalah Program_Tumpukan.

2. static int atas = -1;              
          static int batasAtas = 9;
Perintah diatas merupakan pendeklarasian jumlah tampungan / space untuk tumpukan yang akan digunakan. Dikarenakan setiap indeks dimulai dari nol, maka data dapat diisi dari 0, -1 sebagai pembatas. Dan variable batasAtas merupakan batas maksimum data dapat diisi. Yakni 9, dan data akan diisi dengan indeks 0 sampai 9 sebanyak 10 data.

3.  public static void push(String tumpukan[], String data){
              if (atas >= batasAtas)
              System.out.println("Maaf, tumpukan penuh");
sebuah method push yang Jika atas lebih besar dari pada dari pada batas, maka akan muncul informasi bahwa tumpukan / stack telah penuh.

4.    Else {
                System.out.println("PUSH: "+data);
                atas = atas + 1;
                tumpukan[atas] = data; } }
Tetapi, apabila indeks lebih kecil dari nilai batasAtas, maka program akan menambahkan data sebagai tanda tumpukan belum penuh. Data akan di push kedalam tumpukan dan atas akan bertambah 1. Jadi jika kita akan menambahkan data kembali, maka data akan diisikan pada indeks berikutnya.

5. public static String pop(String tumpukan[]){
              String hasilPop = "";
              if (atas < 0)
              hasilPop = "Maaf, tumpukan kosong";
              else {
              hasilPop  = tumpukan[atas];
              tumpukan[atas] = null;
              atas--; }
             return (hasilPop); }
Selain method push, kita membuat method untuk pengambilan data yaitu pop. Kita mendeklarasikan hasil pop dengan string yang kosong. Jika atas lebih kecil dari 0, itu menandakan tidak ada data yang terisi didalamnya. Maka akan memunculkan hasil pop dengan pesan, “maaf, tumpukan kosong”. Namun jika hasil pop sama dengan tumpukan atas, maka data dapat diambil dari tumpukan. Dan atas akan berkurang, sehingga akan dikembalikan kepada hasil pop tersebut.

6. public static void bacaTumpukan(String tumpukan[]) {
              System.out.println("KONDISI TUMPUKAN : ");
              for (int i = batasAtas; i >= 0; i--) {
                if (i == atas)
                System.out.println(i + ". " + tumpukan[i] + "   atas");
                else
                System.out.println(i + ". " + tumpukan [i]);
Dalam program ini ada perulangan untuk membaca tumpukan, dimulai dari nilai indeks i sama dengan nilai pada variable batasAtas, dan akan dilakukan sampai nilai i lebih besar dari nol, dan setiap perulangan, maka nilai i dikurangkan. Dan setelah itu, ada kondisi yang apabila nilai pada i sama dengan nilai atas / urutan teratas data yang ditumpuk, makan akan diberi tanda “atas”, jika tidak, di tidak aka nada tanda itu.

7. public static void main(String[] args) {
           String tumpukan[] = new String[10];
           push (tumpukan, "Buku A");
           push (tumpukan, "Buku B");
           push (tumpukan, "Buku C");
           push (tumpukan, "Buku D");
Method main akan menampilkan output dengan memanggil method push, dan buku A ditambahkan kedalam tumpukan, begitu juga dengan buku B,C, dan D. setelah itu, tumpukan method bacaTumpukan akan ditampilkan sebagai output dari program ini.

8. push (tumpukan, "Buku E");
           push (tumpukan, "Buku F");
           push (tumpukan, "Buku G");
           push (tumpukan, "Buku H");
           push (tumpukan, "Buku I");
           push (tumpukan, "Buku J");
           push (tumpukan, "Buku K");
           push (tumpukan, "Buku L");
Code diatas merupakan penambahan data pada tumpukan. Penambahan dilakukan sebanyak 8 data yaitu buku E sampai dengan buku L.

9. System.out.println(" ");
           bacaTumpukan(tumpukan); }}
Perintah di atas berarti memanggil methid pop untuk mengambil data dari tumpukan. Dan method bacaTumpukan akan kembali mengeluarkan output setelah proses penarikan/pengeluaran data dilakukan.







Outputnya :


10.          System.out.println("POP: "+ pop(tumpukan));
              System.out.println("POP: "+ pop(tumpukan));
              System.out.println("POP: "+ pop(tumpukan));
              System.out.println("POP: "+ pop(tumpukan));
              System.out.println("POP: "+ pop(tumpukan));
              System.out.println("POP: "+ pop(tumpukan));
              System.out.println("POP: "+ pop(tumpukan));
akan memanggil method pop untuk mengambil data dari tumpukan. Dan method bacaTumpukan akan kembali mengeluarkan output setelah proses penarikan/pengeluaran data dilakukan.
           bacaTumpukan(tumpukan);    }}


TUGAS
class Program_Tumpukan
{    static int atas = -1;
static int batasAtas = 9;
public static void push(String tumpukan[], String data)
{    if (atas >= batasAtas)
System.out.println("Maaf, tumpukan penuh");
else
{    System.out.println("PUSH: "+data);
atas = atas + 1;
tumpukan [atas] = data;
}
}
public static String pop(String tumpukan[])
{    String hasilPop="";
if (atas < 0)
hasilPop = "Maaf, tumpukan kosong";
else
{    hasilPop = tumpukan [atas];
tumpukan [atas] = null;
atas--;
}
return (hasilPop);
}
public static void bacaTumpukan (String tumpukan[])
{    System.out.println("KONDISI TUMPUKAN : ");
for (int i=batasAtas; i>=0; i--)
{    if (i==atas)
System.out.println(i+ ". " + tumpukan[i] + " atas");
else
System.out.println(i+ ". " + tumpukan[i]);
}
}
public static void main (String args [])
{    String tumpukan [] = new String [10];
     push (tumpukan, "Buku A    Koran      Majalah         Novel");
     push (tumpukan, "Buku B    Koran      Majalah         Novel");
     push (tumpukan, "Buku C    Koran      Majalah         Novel");
     push (tumpukan, "Buku D    Koran      Majalah         Novel");
     push (tumpukan, "Buku E    Koran      Majalah         Novel");
     push (tumpukan, "Buku F    Koran      Majalah         Novel");
     push (tumpukan, "Buku G    Koran      Majalah         Novel");
     push (tumpukan, "Buku H    Koran      Majalah         Novel");
     push (tumpukan, "Buku I    Koran      Majalah         Novel");
     push (tumpukan, "Buku J    Koran      Majalah         Novel");
     push (tumpukan, "Buku K    Koran      Majalah         Novel");
     push (tumpukan, "Buku L    Koran      Majalah         Novel");
     System.out.println(" ");
     System.out.println("POP: "+ pop(tumpukan));
     System.out.println("POP: "+ pop(tumpukan));
     System.out.println("POP: "+ pop(tumpukan));
     System.out.println("POP: "+ pop(tumpukan));
     System.out.println("POP: "+ pop(tumpukan));
     System.out.println("POP: "+ pop(tumpukan));
     System.out.println("POP: "+ pop(tumpukan));
     bacaTumpukan (tumpukan);
}
}






LAPORAN PRAKTIKUM
STRUKTUR DATA
MODUL IV














Nama        : Demy Octiana Azmianti
NIM           : 125610118
Jurusan     : Sistem Informasi

JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN DAN INFORMATIKA
AKAKOM YOGYAKARTA
2013

Praktikum 1 :
classProgram_Antrian
{
     staticintekor   = -1;
     staticintmaxEkor     = 9;
     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;
}
}
public static String deQueue(String antrian[])
{ Stringhasil="";
if (ekor<0) //antriankosong
{ hasil="maaf, antriankosong";
}
else
{ hasil = antrian[0];
antrian[0] = null;
//menggeserantrian 1 langkahkedepan
for (int i=1; i<=ekor; i++)
{ antrian[i-1] = antrian [i];
antrian[i] = null;
}
ekor--;
}
return(hasil);
}
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]);
}
}
public static void main(String[] args)
{ Stringantrian[]=new String[100];
addQueue (antrian, "Mobil A");
addQueue (antrian, "Mobil B");
addQueue (antrian, "Mobil C");
addQueue (antrian, "Mobil D");
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("");
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));
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);
System.out.println(" ");
}
}


Pembahasan Program :
1.      classProgram_Antrian{ : merupakan suatu nama kelas yang dibuat dengan nama Program_Antrian
2.      staticintekor    = -1; : merupakan nilai variabel ekor
3.      staticintmaxEkor= 9; : merupakan batas maksimal antrian
4.      public static void addQueue(String antrian[], String data) : method yang digunakan untuk menambahkan antrian
5.      { if (ekor>=maxEkor)
{ System.out.println("maaf,antrianpenuh");} : jika antrian lebih dari atau sama dengan batas maksimal antrian, maka akan menampilkan tulisan “maaf, antrian penuh”.
6.      else
            { System.out.println("addQueue: "+data); : digunakan untuk menambah antrian
7.      ekor++; :
antrian[ekor] = data;}} : jika antrian belum penuh atau masih kosong akan ditambah antriannya, antrian akan ditambah sampai batas maksimal antrian.
8.      public static String deQueue(String antrian[]) : method ini digunakan untuk mengurangi antrian
9.      { Stringhasil="";
if (ekor<0) //antriankosong
{ hasil="maaf, antriankosong";} : jika antrian kosong maka keterangan maaf, antrian kosong. Antrian kosong jika ekor kurang dari 0.
10.  Else
{ hasil = antrian[0]; : hasil merupakan indeks ke-0
11.  antrian[0] = null; : antrian indeks ke-0 merupakan null
12.  //menggeserantrian 1 langkahkedepan : deklarasi dari program
13.  for (int i=1; i<=ekor; i++) : variabel I bertipe data integer memiliki nilai awal 1, dan variabel I memiliki nilai lebih kecil atau sama dengan batas maksimal antrian, dan variabel I mengalami penambahan nilai 1
14.  { antrian[i-1] = antrian [i];
 antrian[i] = null;} : antrian indeks variabel I merupakan null
15.  ekor--;} : menggeser antrian 1 langkah ke belakang
16.  return(hasil)}; merupakan nilai kembalian hasil
17.  public static void bacaAntrian(String antrian[]) : method bacaAntrian yang digunakan untuk membaca antrian
18.  { System.out.println("KONDISI ANTRIAN : "); : sintaks ini digunakan untuk menampilkan keterangan kondisi antrian
19.  for (int i=0; i<=maxEkor; i++) : perulangan dimulai dari 0, batas maksimal antrian yaitu kurang dari sama dengan ekor
20.  { if (i==ekor) : jika nilai I sama dengan ekor
21.  System.out.println(i + "."+antrian[i]+ " ekor"); : antrian yang menempati posisi indeks ke-0  merupakan ekor dari antrian
            else
22.  System.out.println(i+"."+antrian[i]);}} : menampilkan hasil dari pemanggilan antrian
23.  public static void main(String[] args) : merupakan method main untuk menjalankan program utama
24.  { Stringantrian[]=new String[100]; batas antrian adalah 100
25.  addQueue (antrian, "Mobil A");
addQueue (antrian, "Mobil B");
addQueue (antrian, "Mobil C");
addQueue (antrian, "Mobil D");
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"); : menambah antrian, di dalam method addQueue
26.  System.out.println(""); : menampilkan hasil antrian
27.  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));
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)); : digunakan untuk mengurangi antrian sebanyak program deQueue yang ada. Dalam program ini, antrian dikurangi sebanyak 12
28.  bacaAntrian(antrian); : memanggil method bacaAntrian, di dalam method bacaAntrian
29.  System.out.println(" ");}} : menampilkan hasil antrian yang telah dikurangi antriannya


TUGAS
class Program_Antrian_Tugas{
     static int ekor=1;
     static int maxEkor=9;
     public static boolean isFull(){
           return (ekor>=maxEkor);
     }
     public static boolean isEmpty(){
           return(ekor<0);}
           public static void addQueue(String antrian [], String data){
                if(isFull())
                System.out.println("Maaf, antrian sudah penuh");
                else
                {
                     System.out.println("addQueue: "+data);
                     ekor++;
                     antrian[ekor]=data;
                }
           }
           public static String deQueue(String antrian[])
           {
                String hasil="";
                if(isEmpty())
                {
                     hasil="Maaf, antrian kosong";
                }
                else
                {
                     hasil=antrian[0];
                     antrian[0]=null;
                     for(int i=1; i<=ekor;i++)
                     {
                           antrian[i-1]=antrian[i];
                           antrian[i]=null;
                     }
                     ekor--;
                }
                return(hasil);
           }
           public static void bacaAntrian(String antrian[])
           {
                System.out.println("KONDISI ANTRIAN: ");
                for (int i=0; i<=ekor; i++)
                {
                     if(i==0)
                     System.out.println((i+1)+"."+antrian[i]+"ekor");
                     else
                     System.out.println((i+1)+"."+antrian[i]);
                }
           }
           public static void main(String args[])
           {
                String antrian[]=new String[12];
                System.out.println(deQueue(antrian));
                addQueue(antrian, "Mobil A");
                addQueue(antrian, "Mobil B");
                addQueue(antrian, "Mobil C");
                addQueue(antrian, "Mobil D");
                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("Akhir");
                System.out.println("deQueue:"+deQueue(antrian));
                bacaAntrian(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);
                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);
           }
     }


Tidak ada komentar:

Posting Komentar