Main » 2010 » November » 3 » Stack
|
Stack adalah tumpukan dari struktur data. Stack digunakan oleh sistem operasi saat terjadi interupsi, misal interupsi waktu maupun interupsi yang berasal dari pengguna. Jika sudah terjadi interupsi, sistem operasi akan menyimpan nilai peubah kedalam suatu stack. Hal ini ditujukan jika interupsi sudah berakhir, sistem akan kembali ke state awal sebelum interupsi terjadi.
Stack dapat dibayangkan sebagai suatu keranjang. cara kerja stack sama dengan cara kita menaruh sesuatu di keranjang. jika memasuukan barang A ke keranjang di urutan awal maka saat pengambilan, barang A tersebut di urutan terakhir. misal : A-B-C-D *saat menaruh D-C-B-A *saat mengambil
Operasi dasar yang dapat dilakukan pada setiap stack:
1. Empty () - ini akan menghancurkan isi dari stack, meninggalkannya kosong. 2. Push (Elemen) - Hal ini menempatkan elemen baru di atas tumpukan. 3. Pop () - ini menghapus elemen puncak dari stack dan kembali ke pengguna. 4. Top () - ini mengembalikan elemen atas untuk user, tetapi tidak mempengaruhi stack. 5. IsEmpty () - ini mengembalikan nilai true jika stack kosong, selain itu returns false.
Contoh Source Code :
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Stack;
public class Tumpuk { private static Stack <Integer> stack; private static int ukuran; public static void main (String [] args) { System.out.print ("Berapa Ukuran Stack : "); ukuran = inputData ();//menetukan ukuran stack buatStack (ukuran);//membaca dan memasukkan bilangan bulat ke stack bacaData ();//mengeluarkan data di stack tulisData (); } //metode menampilakn data ke console private static void tulisData() { System.out.println("Isi Stack adalah "); int dataStack; for (int i = 0 ; i < ukuran ; i++) { dataStack = stack.pop();//metode mengeluarkan elemen System.out.println("Nilainya = " + dataStack); } }
//metode untuk private static void bacaData() { int data ; System.out.println ("Masukkan nilai-nilai Stack : "); for (int i= 0 ; i< ukuran ; i++) { System.out.println("Data ke-"+ i+1 + " : "); data=inputData(); stack.push(data);//memasukkan data } }
// membuat stack yang akan menampung bilangan bulat private static void buatStack(int ukuran) { stack = new Stack<Integer>(); }
//metode utnuk membaca bilangan integer private static Integer inputData() { BufferedReader bfr = new BufferedReader (new InputStreamReader (System.in)); String angkaInput = null; try { angkaInput = bfr.readLine(); } catch (IOException e) { e.printStackTrace(); } int Data = Integer.valueOf(angkaInput).intValue(); return Data ; }
}
|
Category: Code pRoGram |
Views: 1147 |
Added by: Nazk
| Rating: 0.0/0 |
|
yOur pooL | |
|
|