Stack And How to Make It in JAVA (Tumpukan dan cara pembuatannya di Java)

Stack , yaitu suatu bahasan struktur data yang kategorinya menengah keatas alias agak sulit. Stack / tumpukan adalah konsep penyimpanan data dengan cara menggunakan konsep LIFO (last In First Out) artinya, data yang terakhir laki masuk, data tersebut yang pertama kali keluar. Untuk merepresentasikan stack , kita dapat menggunakan variabel statis alias Array atau variabel dinamis alias pointer. Stack, juga dapat digunakan untuk mengecek ekspresi matematika , dan mengubah suatu ekspresi. Misal dari ekspresi infix menjadi prefix atau sebaliknya. Namun, implementasi stack dalam konsep OOP, dapat berjalan lebih mudah karena, yang bekerja adalah objek, bukan prosedur dari program.

Operasi stack terdapat 7 fungsi utama yaitu :

  1. Push (memasukkan data)
  2. Pop (mengambil data)
  3. Size (mencari panjang data)
  4. Pick (Mengambil isi stack yang berada pada elemen paling atas)
  5. IsEmpty (mengecek apakah stack tersebut kosong atau tidak)
  6. PrintStack (untuk mencetak semua elemen stack)
  7. Clear (Untuk membersihkan / mengosongkan semua elemen stack)

Berikut Source code Stack dengan 7 Fungsi :

//program stack dengan 7 fungsi menggunakan KONSEP PBO
//simpan dengan nama stack7fungsi.java
import java.util.Scanner;

class begin{
	public Scanner dataIn=new Scanner(System.in);
	protected int[] data;
	protected int top=0;

	public begin(int max){
	data=new int[max];
	}
	public int setData(){
	int input;
	System.out.print("masukkan data berupa integer=");input=dataIn.nextInt();
	return input;
	}

	public void push(int result){
		top++;
		data[top]=result;
	}

	public int pop(){
		int hasil;
		hasil=data[top];
		top--;
		return hasil;
	}

	public int size(){
		int ukuran=top;
	System.out.println("ukuran STACK = "+ukuran);
		return ukuran;
	}

	public int peek(){
		int result=data[top];
	System.out.println("hasil PEEK = "+result);
		return result;
	}

	public boolean isEmpty(){
		if(top==0){
		System.out.println("KOSONG");
			return true;}
		else{
		System.out.println("STACK BERISI");
			return false;
		}
	}

	public void printStack(){
		for(int a=1;a<=top;a++){
			System.out.println(data[a]);
		}
	}

	public void clear(){
		for(int a=1;a<=top;a++){
			pop();
			System.out.println(data[a]);
		}
	}
}

class stack7fungsi{
	public static void main(String [] args){
	Scanner dataIn=new Scanner(System.in);
	int x;
	String lagi="";
		begin stack=new begin(100);
		do{
		System.out.println("PROGRAM STACK 7 FUNGSI MENGGUNAKAN KONSEP OOP");
		System.out.println("1.  push");
		System.out.println("2.  pop");
		System.out.println("3.  size");
		System.out.println("4.  peek");
		System.out.println("5.  isEmpty");
		System.out.println("6.  printStack");
		System.out.println("7.  clear");
		System.out.print("Masukkan pilihan anda = ");x=dataIn.nextInt();
		switch(x){
			case 1:stack.push(stack.setData());break;
			case 2:stack.pop();break;
			case 3:stack.size();break;
			case 4:stack.peek();break;
			case 5:stack.isEmpty();break;
			case 6:stack.printStack();break;
			case 7:stack.clear();break;
			default :System.out.println("OUT OF RANGE");
		}
			System.out.print("LAGI (ya / tidak) = ");lagi=dataIn.nextLine();lagi=dataIn.nextLine();
		}
		while(!lagi.equals("tidak"));
	}
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;">

2 thoughts on “Stack And How to Make It in JAVA (Tumpukan dan cara pembuatannya di Java)

  1. Shinichi Idan 06/06/2012 at 8:48 am Reply

    shangkyu gan ^^

    • xaxioza 06/06/2012 at 8:57 am Reply

      Ya, Sama2. Senang bisa membantu

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: