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.

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