Tugas 3 Stack(Push,Pop & Top)

Aahh sudah lama banget gk mosting apa-apa di blog,,jangankan posting buka aj gk pernah.. hahaha tapi gk apa" lah..langsung saja gk usah banyak cing cong.. Disini saya akan menjelaskan serta memberi contoh program sederhana mengenai Stack dalam Java,,mungkin sebelum langsung ke koddenya ada baiknya dulu mengerti apa c stack itu,,,pasti di antara agan-agan banyak yang belum tau apa itu stack..(apa semacam jajan atau seekor ular)huzzz itu Snack..  


STACK merupakan salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Stack dapat dibayangkan seperti tumpukan barang, dimana hanya data terakhir yang dapat diperoleh (diakses) dengan satu langkah. Data-data yang terletak di bawahnya hanya bisa diambil (pop) setelah data data yang berada di atasnya diambil (dikeluarkan).



Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast.



Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top.
  

Okee kan penjelasanya...walapun bahasanya agk ketinggian..sok intelek..tapi gak apa"lah...haha
Baik biar lebih jelas lagi ane akan beri contoh program java stack..tapi yang sederhana saja..maklum bukan orang berada jadi program aja cuma bisa bikin yang sederhana-sederhana :

Pada contoh di bawah ini saya akan mempraktekkan fungsi dari POP,berikut source codenya : 
tolong di simak dengan seksama dan dalam tempo sesingkat-singkatnya... :)



package RyanFebryanto;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class stack2 {
    private static Stack<Integer>stack;
    private static int ukuran;
    public static void main(String[] args) {
        System.out.println("=========================================");
        System.out.println("-----------welcome di toko buku----------");
        System.out.println("=========================================");
        System.out.println("Berapa banyak buku yang di minta?");
        ukuran=inputData();
        buatStack(ukuran);
        bacaData();
        tulisData();
        System.out.println("=========================================");
        System.out.println("--------------terima kasih---------------");
        System.out.println("=========================================");
    }
    private static void buatStack(int ukuran){
    stack = new Stack<>();
}
    private static void bacaData(){
    int data;
            System.out.println("Masukan nilai Stack");
            for (int i = 0; i < ukuran; i++) {
                System.out.print("Data ke-"+(i+1)+" ");
                data=inputData();
                stack.push(data);
               
            }
}
    private static void tulisData(){
        System.out.println("Isi data dengan menggunakan prosuder POP");
        int dataStack;
        for (int i = 0; i <ukuran; i++) {
            dataStack=stack.pop();
            System.out.println("Nilainya = " + dataStack);
           
        }
    }
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;
   
}
   
   
}


Ket  :
disini saya akan menjelaskan hanya code-code yang jarang di temui pada program lain,untuk code-code seperti system.out.println saya kira agan-agan sudah mengerti :
  • Dalam Code di atas sendri terdapat beberapa import yang harus di tambahkan dalam program stack yaitu seperti Import sebagai library, dan java .io. bufferedreader  untuk membaca inputan dari java. Io. stream reader.  dan import lainnya berfungsi untuk menungjang code di bawahnya.
  • BufferedReader masuk =new bufferedreader  (new InputStreamReader (system.in)); String test = masuk.readline() ; berarti untuk menangkap inputan, yang dideklarasikan di dalam 

  •  Selain mengunakan POP di dalam program ini juda menggunakan perulangan yang akan menghasilkan nilai sesuai dengan kondisi perulangan contohnya :  for (int i = 0; i < ukuran; i++) {
                    System.out.print("Data ke-"+(i+1)+" ");
                    data=inputData();
                    stack.push(data);
    Dalam perulangan tersebut menyatakan i sama dengan 0 dan i kurang dari variabel ukuran dan untuk cetakkanya setiap data yang di input akan ditambah 1 pada (i+1).Setelah itu data akan di masukan dalam Stack (stack.push(data))
  •  Selain Push dalam program tersebut menggunakan fungsi POP juga yaitu data yang di inputkan akan dikeluarkan dari stack.
  •  Hasil outputnya adalah data  yang terakhir masuk pertama keluar dan di POP,berikut hasil Outputnya:

  • =========================================
    -----------welcome di toko buku----------
    =========================================
    Berapa banyak buku yang di minta?
    3
    Masukan nilai Stack
    Data ke-1 : 3
    Data ke-2 : 4
    Data ke-3 : 6
    Isi data dengan menggunakan prosuder POP
    Nilainya = 7
    Nilainya = 5
    Nilainya = 4
    =========================================
    --------------terima kasih---------------
    =========================================
    BUILD SUCCESSFUL (total time: 7 seconds)
      
  • Demikian paparan ane mengenai program stack semoga bermanfaat dan memberi manfaat juga terhadap nilai saya..amienn
  • Sebelum ane ahiri mungkin ada kata atau lebih tepatnya doa mungkin agan-agan yang membaca dapat meniru atau terinspirasi untuk lebih-dan lebih ingin mengembangkan ilmu terlebih pemograman
  • One Day; One Project;..
    A move that will try to live for the sake of perfect JAVA programing,,
    hopefully blessed by Allah, Aamiin
  • Semoga agan-agan yang membaca ikut mengamini terlebih Allah Swt.. 



      • Nama : Ryan Febryanto
      • Nim    : 1200631005
      • Kelas  : Manajemen Informatika B
Share this video :

Posting Komentar

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Shun Oguri - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger