Stack (Tumpukan) Pertemuan 4 Season 1

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

STRUKTUR DATA array stack dan queue
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
Algoritma dan Struktur Data
STACK (Tumpukan).
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
STACK.
Struktur Data Stack.
Stack (Tumpukan).
STACK.
- PERTEMUAN 4 - PERULANGAN
Flow Control & Looping Pertemuan 4 Pemrograman Berbasis Obyek Oleh Tita Karlita.
PELATIHAN JAVA FUNDAMENTAL
Linear Data Structures (Stack)
stack ==tumpukan== Tenia wahyuningrum st3 telkom purwokerto
PRAKTIKUM STRUKTUR DATA STACK SULIDAR FITRI, M.Sc MARCH, 2014.
STRUKTUR DATA (4) array stack dan queue
Struktur Data List Linear : Linked List (Single Linkedlist)
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
Pemrograman Berorientasi Obyek Lanjut (IT251)
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
Algoritma & Pemrograman 1
BAB 3 STACK (TUMPUKAN).
STACK.
Pertemuan 8 Stack dengan Array
Stack Pertemuan 11.
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
Pengantar Struktur Data Pertemuan 1 Season 1
Pernyataan Pertemuan 3 Season 1
Stack.
Sapta Candra Miarsa,S.T.,M.T.
Defri Kurniawan ADT STACK Defri Kurniawan
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Pemprograman Berorientasi Objek
PENGENDALI PROGRAM 1 Pokok bahasan :
Linear Data Structures (Stack)
STRUKTUR DATA – Pertemuan 6
MODIFIER JAVA.
STACK (Tumpukan).
STRUKTUR DATA : STACK Sri marini.st.
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
Struktur Data Khoiriya Latifa, M.Kom.
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
Constructor overloading
Tipe Data, Variabel, dan Operator
Tumpukan Dengan Array Ika Menarianti.
As’ad Djamalilleil Package As’ad Djamalilleil
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
Algoritma dan Struktur Data
Algoritme dan Stuktur Data
STACK HARJANTO SUTEDJO.
Dasar Bahasa Java.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STRUKTUR DATA Stack atau Tumpukan.
Double STACK 6.3 & 7.3 NESTED LOOP.
STACK.
Tipe Data, Variabel, dan Operator
STACK (Tumpukan) Tumpukan Koin.
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

Stack (Tumpukan) Pertemuan 4 Season 1 TI 014 – STRUKTUR DATA Stack (Tumpukan) Pertemuan 4 Season 1

Definisi STACK / TUMPUKAN ?

Tumpukan (stack) adalah struktur data yang memungkinakn penyisipan dan pengambilan data dilakukan dari satu ujung yang disebut puncak. Cara yang paling mudah untuk meletakkan data ke dalam tumpukan adalah dengan menaruhnya di bagian puncak.

Ilustrasi stack

Teori Tumpukan Teori tumpukan sebenarnya sangat mudah. Kita bisa membayangkan bahwa tumpukan itu diibaratkan dengan sebuah keranjang pakaian. Pakaian yang pertama kali dimasukkan kedalam keranjang akan berada di posisi bawah, sedangkan pakaian yang terakhir dimasukkan berada di posisi paling atas. Dengan demikian, ketika pakaian dalam keranjang tersebut dikeluarkan, pakaian yang pertama kali masuk adalah yang paling terakhir keluar

Dengan pemahaman tersebut dapar disimpulkan bahwa tumpukan adalah struktur data yang menggunakan konsep first come last served (FCLS) atau Last-in First-out (LIFO). Yang artinya elemen/data terakhir yang disimpan dalam tumpukan menjadi elemen/data pertama yang akan diambil

Metode dalam Stack Metode Keterangan Push(arg) Menyisipkan data arg di puncak tumpukan Pop() Mengambil data yang ada di puncak tumpukan. Jika tumpukan kosong, akan terjadi eksepsi EmptyStackException Peek() Memberikan nilai balik berupa elemen yang ada di puncak tanpa menghapusnya. Jika tumpukan kosong, akan terjadi eksepsi EmptyStackException Empty() isEmpty() Menghasilkan nilai true kalau tumpukan kosong, dan false kalau tumpukan berisi data Get(indeks) Menghasilkan elemen yang posisinya sama dengan indeks firstElemen()) Menghasilkan elemen pertama lastElemen() Menghasilkan elemen terakhir Clear() Menghapus semua elemen ditumpukan Remove(indeks) Menghapus elemen yang posisinya sama dengan indeks

Conoth program tumpukan tumpukan.push("Karman Julia"); tumpukan.push("Dani Adipta"); tumpukan.push("Kartika Putri"); // Kosongkan isi tumpukan dan tampilkan System.out.println("Isi tumpukan:"); while (! tumpukan.empty()) { String nama = tumpukan.pop(); System.out.println(nama); } import java.util.Stack; public class ContohTumpukan2 { public static void main(String[] args) { // Buat objek Stack<String> tumpukan = new Stack<String>(); // Masukkan 9 nama tumpukan.push("Aminudin"); tumpukan.push("Zaskia"); tumpukan.push("Rina Melati"); tumpukan.push("Farhan"); tumpukan.push("Agnes Monica"); tumpukan.push("Dian Susilo");

Hasil Running Program

Tumpukan dengan Array Tumpukan dapat dibuat menggunakan berbagai cara, salah satunya dengan menggunakan array. Contoh implementasinya dalah : jumlah elemen array dibatasi hanya 8 data saja. Dapat dilihat penggunaan stack dengan array nya seperti berikut :

public class ContohTumpukan { public static void main(String[] args) { Tumpukan tumpukan = new Tumpukan(); // Buat objek // Masukkan 9 nama tumpukan.push("Aminudin"); tumpukan.push("Zaskia"); tumpukan.push("Rina Melati"); tumpukan.push("Farhan"); tumpukan.push("Agnes Monica"); tumpukan.push("Dian Susilo"); tumpukan.push("Karman Julia"); tumpukan.push("Dani Adipta"); tumpukan.push("Kartika Putri"); // Kosongkan isi tumpukan dan tampilkan System.out.println("Isi tumpukan:"); while (! tumpukan.empty()) { String nama = tumpukan.pop(); System.out.println(nama); } // Lakukan pop() sewaktu tumpukan kosong System.out.println("Mencoba pop() pada tumpukan kosong:"); System.out.println(tumpukan.pop()); class Tumpukan { final int MAKSDATA = 8; private String[] tumpukan = new String[MAKSDATA]; private int puncak; // Konstruktor public Tumpukan() { puncak = -1; } // Memasukkan data ke tumpukan // Nilai balik berupa false // kalau tumpukan sudah penuh public boolean push(String data) { // Periksa kalau tumpukan penuh if (puncak == (MAKSDATA - 1)) { System.out.print("Tumpukan penuh! "); System.out.println(data + " tidak dimasukkan."); return false; // Masukkan data ke tumpukan puncak++; tumpukan[puncak] = data; return true;

Lanjutan… public String pop() { if (! empty()) return tumpukan[puncak--]; else return "**error**"; // menyatakan // tumpukan sudah habis } public boolean empty() { return (puncak == -1);

Memahami kode pada kelas Tumpukan Konstruktor kelas berupa : Public Tumpukan(){ puncak = -1; } Pada kode diatas, puncak diisi dengan -1, yang menyatakan bahwa tumpukan tidak berisi data sama sekali. Diluar konstruktor, kelas Tumpukan memiliki tiga metode anggota yaitu push(), pop() dan empty()

Metode anggota push() public boolean push(String data) { // Periksa kalau tumpukan penuh if (puncak == (MAKSDATA - 1)) { System.out.print("Tumpukan penuh! "); System.out.println(data + " tidak dimasukkan."); return false; } // Masukkan data ke tumpukan puncak++; tumpukan[puncak] = data; return true;

Pada metode anggota push(), data yang menjadi argumen tidak jadi dimasukkan ke dalam array sekiranya isi puncak sudah sama dengan MAKSDATA - 1. Kalau tumpukan belum penuh, mula mula isi puncak dinaikkan sebesar satu. Selanjutnya, data diletakkan pada Tumpukan[Puncak]

Metode Anggota empty() Metode anggota empty() berguna untuk mengetahui tumpukan dalam keadaan kosong atau tidak. Metode tersebut menghasilkan nilai true kalau tumpukan dalam keadaan kosong. Pada program kodenya adalah : public boolean empty() { return (puncak == -1); }

Apabila isi puncak berupa -1 (berarti tidak ada data dalam tumpukan), metode anggota empty() menghasilkan nilai berupa true. Untuk keaadaan sebaliknya, nilai balik berupa false

Metode anggota pop() Metode anggota pop() merupakan metode yang ditujukan untuk mengambil sebuah data dari tumpukan . Kode program implementasinya adalah : public String pop() { if (! empty()) return tumpukan[puncak--]; else return "**error**"; //menyatakan tumpukan sudah habis }

Nilai balik berupa string “. error Nilai balik berupa string “**error**” jika tumpukan sudah kosong ketika pop() dipanggil. Kalau tidak kosong, nilai balik berupa isi tumpukan [puncak] dan sesudah itu nilai puncak diturunkan sebesar satu. Pengujian kosong tidaknya suatu tumpukan dilakukan dengan memanfaatkan metode anggota empty()

Memahami kode pada main() Kode pada main() digunakan untuk menguji ketiga metode anggota dalam kelas Tumpukan. Pengujian dilakukan dengan mula-mula melaksanakan pembuatan objek bernama tumpukan melalui perintah : Tumpukan tumpukan = new Tumpukan ();

Dalam keadaan awal, tumpukan dalam keadaan kosong. Pernyataan : tumpukan.push("Aminudin"); tumpukan.push("Zaskia"); tumpukan.push("Rina Melati"); tumpukan.push("Farhan"); tumpukan.push("Agnes Monica"); tumpukan.push("Dian Susilo"); tumpukan.push("Karman Julia"); tumpukan.push("Dani Adipta"); tumpukan.push("Kartika Putri");

Memasukkan sembilan data ke dalam tumpukan Memasukkan sembilan data ke dalam tumpukan. Penyisipan data yang kesembilan digunakan untuk menguji efek kalau tumpukan sudah penuh (mengingat jumlah elemen yang dapat ditampilkan ditumpukan adalah 8). Selanjutnya isi tumpukan dikeluarkan melalui :

Kode di atas menyatakan bahwa selama isi tumpukan tidak kosong maka : while (! tumpukan.empty()) { String nama = tumpukan.pop(); System.out.println(nama); } Kode di atas menyatakan bahwa selama isi tumpukan tidak kosong maka : Sebuah data dikeluarkan melalui pop() dan meletakkan ke variabel nama; Isi variabel nama ditampilkan melalu System.out.println() Pernyataan : System.out.println(tumpukan.pop()); digunakan untuk menguji pop() sewaktu tumpukan dalam keadaan kosong.

Perwujudan Tumpukan dengan Stack Untuk memudahkan perwujudan tumpukan, java menyediakan kelas bernama Stack. Penggunaan kelas ini memerlukan pernyataan : import java.util.Stack; Dengan menggunaak kelas tersebut, tidak perlu algi membuat kelas khusus untuk mewujudkan tumpukan. Sebagai gantinya dilakukan dengan menulis perintah : Stack<String> tumpukan = new Stack<String>();

SEKIAN dan TERIMA KASIH