12/26/2012

Tumpukan (STACK)

LAPORAN
STRUKTUR DATA
MODUL 3 
 

DISUSUN OLEH

Nim     : 115410138
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 :



Related Posts:

  • SEKUENSI   MODUL VI SEKUENSI a. DASAR TEORI   Sekuensi adalah pemrograman sederhana yang hanya dapat memecahkan masalah-masalah yang sederhana.         b.  Pembahasa… Read More
  • PEMROGRAMAN DENGAN JAVA LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN MODUL II DISUSUN OLEH NIM          : 115410138 Nama      : Hermawan SEKOLAH TINGGI MANAJEMEN D… Read More
  • Editor Vi v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} LAPORAN PRAKTIKUM SISTEM OPERASI MODUL II DISUSUN OLEH NIM &nb… Read More
  • ADMINISTRASI SITEM FILE LINUX Normal 0 false false false IN X-NONE X-NONE LAPORAN PRAKTIKUM SISTEM OPERASI MODUL I… Read More
  • Kelas Dan Obyek I v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 false false false IN X-NONE X-NO… Read More

0 komentar:

Posting Komentar