LAPORAN
STRUKTUR DATA
MODUL 3
DISUSUN OLEH
Nama : Hermawan
SEKOLAH TINGGI MANAJEMEN DAN INFORMATIKA
AKAKOM YOGYAKARTA
PERTEMUAN KE-3
TUMPUKAN/ STACK
A. Pembahasan
PRAKTIKUM KE 1
ü class Program_Tumpukan // Nama Kelas program
yaitu Program_Tumpukan
ü static int atas = -1; // Mendeklarasikanjumlahtampungan
/ space untuktumpukan yang akandigunakan. yaitu menggunakan variable atassebagaibatas yang
dapatdiisi, dikarenakansetiapindeksdimulaidarinol, maka data dapatdiisidari 0,
-1 sebagaipembatas.
ü static int batasAtas = 12; //variable batasAtasmerupakanbatasmaksimum data dapatdiisi. Yakni12, dan data akandiisidenganindeks
0 sampai12sebanyak13 data.
ü public static void push(String tumpukan[],
String data)
ü if (atas >= batasAtas)
ü System.out.println("Maaf, tumpukan
penuh");
Keterangan :
Program diatasmerupakansebuahmethod push yang
didalamnyaterdapatsebuahkondisi. Jikaataslebihbesardaripadadaripadabatas,
makaakanmunculinformasibahwatumpukan /
stack telahpenuh("Maaf, tumpukan
penuh");
ü else
ü System.out.println("PUSH:
"+data);
ü atas = atas + 1;
ü tumpukan[atas] = data;
Keterangan :
Tetapi, jikaindekslebihkecildaribatasAtas
yang telahdisediakan, maka program akanmenambahkan data
sebagaitandatumpukanbelumpenuh. Data akan di push kedalamtumpukandanatasakanbertambah
1. Jadijikakitaakanmenambahkan data kembali, maka data
akandiisikanpadaindeksberikutnya.
ü 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);
Keterangan :
selain method push, kitamembuat method untukpengambilan
data yaitu pop. Kita mendeklarasikanhasil pop dengan string yang kosong.Jikaataslebihkecildari
0, itumenandakantidakada data yang terisididalamnya.Makaakanmemunculkanhasil
pop denganpesan, “maaf, tumpukankosong”. Namunjikahasil pop samadengantumpukanatas,
berarti data
dapatdiambildaritumpukan. Dan atasakanberkurang. Dan
akandikembalikankepadahasil pop tersebut.
ü 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]);
Keterangan :
Method berikutinimerupakan method
untukmembacatumpukan yang telahada.Dalam program iniadaperulangan,
dimulaidarinilaiindeks i samadengannilaipada variable batasAtas,
danakandilakukansampainilai i lebihbesardarinol, dansetiapperulangan, makanilai
i dikurangkan. Dan setelahitu, adakondisi yang apabilanilaipada i
samadengannilaiatas / urutanteratas data yang ditumpuk, makanakandiberitanda
“atas”, jikatidak, di tidak aka nada tandaitu.
ü public static void main(String[] args)
ü String tumpukan[] = new String[15];
ü push (tumpukan, "Buku A");
ü push (tumpukan, "Buku B");
ü push (tumpukan, "Buku C");
ü push (tumpukan, "Buku D");
ü System.out.println(" ");
ü bacaTumpukan(tumpukan);
Method main
akanmenampilkan output denganmemanggil method push, danbuku A ditambahkankedalamtumpukan,
begitujugadenganbuku B,C, dan D. setelahitu, tumpukan method
bacaTumpukanakanditampilkansebagai output dari program ini.
Sehingga Hasil Outputnya adalah :
PRAKTIKUM KE 3
ü public
static void main(String[] args)
ü String
tumpukan[] = new String[15];
ü push
(tumpukan, "Buku A");
ü push
(tumpukan, "Buku B");
ü push
(tumpukan, "Buku C");
ü push
(tumpukan, "Buku D");
ü 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");
ü push
(tumpukan, "Buku M");
ü push
(tumpukan, "Buku N");
ü System.out.println("
");
ü bacaTumpukan(tumpukan);
KETERANGAN:Buku yang dapat di push hanyabuku A
hinggabukuM.tetapibuku
yang tidakberhasil(gagal) yaitu Buku N.Adapunbagian
yang menyebabkanbukuNtidakdapat
di push adalahpadapengetikkanstatic intbatasAtas = 12;.Yang artinya hanya dapat
menampung buku sebanyak 13.
PRAKTIKUM KE 4 (Setelah di modifikasi)
Yaitu dengan Mengubah
ü static int batasAtas = 12;àstatic int batasAtas = 13; sehingga dapat
menampung buku A hingga buku N (14 buku).
A. TUGAS
package tugas3;
/**
*
* @author Hermawan
*/
public class Tugas3 {
static int atas = -1;
static int batasAtas = 13;
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] =
"";
atas--;
}
return (hasilPop);
}
public static void
bacaTumpukan(String tumpukan[])
{
System.out.println("KONDISI TUMPUKAN : ");
for (int i=atas; i>=0;
i--)
{ if (i==batasAtas)
System.out.println(i+
". "+ tumpukan[i] +" atas");
else
System.out.println(i+
". "+ tumpukan[i]);
}
}
public static void
main(String[] args) {
String tumpukan[] = new
String[15];
push (tumpukan, "Buku
A");
push (tumpukan, "Buku
B");
push (tumpukan, "Buku
C");
push (tumpukan, "Buku
D");
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");
push (tumpukan, "Buku
M");
push (tumpukan, "Buku
N");
System.out.println("
");
bacaTumpukan(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));
System.out.println("POP
: "+ pop(tumpukan));
bacaTumpukan(tumpukan);
}
HASIL OUTPUT :
0 komentar:
Posting Komentar