13/04/2021
IMPLEMENTASI STACK PADA JAVA
_
Stack merupakan salah satu sturktur data yang digunkan untuk menyimpan sekumpulan objek atau variabel. Sesuai dengan namanya sebuah objek tersebut akan terkumpul sehingga terlihat seperti sebuah tumpukan. Untuk pengaplikasian pada stack contohnya seperti sebuah buku, untuk mengambil tumpukan buku yang di bawah, buku yang di atas atau yang terakhir masuk harus dikeluarkan terlebih dahulu. Karena itu karakteristik stack sendiri bersifat LIFO ( Last In First Out). Artinya data yang terakhir masuk merupakan data yang akan keluar terlebih dahulu.

Untuk mengambil data A, data E yang terakhir dimasukan sehingga berada di paling atas akan dikeluarkan terlebih dahulu dan akan di ikuti data D,C,B.
Berikut adalah operasi-operasi pada stack :
1. Push, digunakan untuk memasukkan data ke dalam Stack.
2. Pop, digunakan untuk mengeluarkan data teratas dari Stack.
3. Peek, digunakan untuk melihat data yang berada di posisi paling atas.
4. Count, digunakan untuk mengetahui jumlah isi data pada Stack.
5. Clear, digunakan untuk mengapus seluruh data yang ada pada Stack.
3. Peek, digunakan untuk melihat data yang berada di posisi paling atas.
4. Count, digunakan untuk mengetahui jumlah isi data pada Stack.
5. Clear, digunakan untuk mengapus seluruh data yang ada pada Stack.
Berikut contoh source code stack dalam bahasa pemrograman Java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList;
import java.util.List;
public class Stack {
private List<Object> list = new ArrayList<Object>();
private int currentIndex = -1;
public void push(Object object){
list.add(object);
currentIndex++;
}
public Object pop(){
Object object = list.remove(currentIndex);
currentIndex--;
return object;
}
public Object peek(){
return list.get(currentIndex);
}
public int count(){
return list.size();
}
public void clear(){
list.clear();
currentIndex = -1;
}
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class App
{
public static void main( String[] args ){
Stack stack =new Stack();
stack.push("https://mohammadnouvalbachrezi.blogspot.com/");
stack.push("5025201030");
stack.push("Mohammad Nouval Bachrezi");
System.out.println("Jumlah Data Pada Stack : " + stack.count());
System.out.println("Data Teratas Pada Stack : " + stack.peek());
System.out.println("===================================");
System.out.println("Objek yang dikeluarkan (Pop) : " + stack.pop());
System.out.println("Objek yang dikeluarkan (Pop) : " + stack.pop());
System.out.println("Jumlah Data Pada Stack setelah Pop: " + stack.count());
System.out.println("Data teratas pada stack : " + stack.peek());
}
}
Output
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
import java.util.List; | |
public class Stack { | |
private List<Object> list = new ArrayList<Object>(); | |
private int currentIndex = -1; | |
public void push(Object object){ | |
list.add(object); | |
currentIndex++; | |
} | |
public Object pop(){ | |
Object object = list.remove(currentIndex); | |
currentIndex--; | |
return object; | |
} | |
public Object peek(){ | |
return list.get(currentIndex); | |
} | |
public int count(){ | |
return list.size(); | |
} | |
public void clear(){ | |
list.clear(); | |
currentIndex = -1; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class App | |
{ | |
public static void main( String[] args ){ | |
Stack stack =new Stack(); | |
stack.push("https://mohammadnouvalbachrezi.blogspot.com/"); | |
stack.push("5025201030"); | |
stack.push("Mohammad Nouval Bachrezi"); | |
System.out.println("Jumlah Data Pada Stack : " + stack.count()); | |
System.out.println("Data Teratas Pada Stack : " + stack.peek()); | |
System.out.println("==================================="); | |
System.out.println("Objek yang dikeluarkan (Pop) : " + stack.pop()); | |
System.out.println("Objek yang dikeluarkan (Pop) : " + stack.pop()); | |
System.out.println("Jumlah Data Pada Stack setelah Pop: " + stack.count()); | |
System.out.println("Data teratas pada stack : " + stack.peek()); | |
} | |
} |
Komentar
Posting Komentar