UNIVERSITAS YARSI Stack Queue Struktur Data dan Algoritma

  • Slides: 22
Download presentation
UNIVERSITAS YARSI Stack & Queue Struktur Data dan Algoritma CC Content by: Andreas F.

UNIVERSITAS YARSI Stack & Queue Struktur Data dan Algoritma CC Content by: Andreas F. , Elan S. , Herika H. , M. Faturrachman, and Nova E. D. Desain by Arksnet – Desain Modified by Andreas F. BY-NO-SA 4. 0 International

CC BY-NO-SA 4. 0 International UNIVERSITAS YARSI Lisensi Distribusi Materi, urutan penyajian, animasi, dan

CC BY-NO-SA 4. 0 International UNIVERSITAS YARSI Lisensi Distribusi Materi, urutan penyajian, animasi, dan pertanyaan yang ada dalam berkas ini merupakan karya orang-orang yang namanya disebutkan di halaman pertama, dan sengaja didistribusikan dengan lisensi Creative Common by-no-sa 4. 0 International, yang berarti bisa digunakan diubah sesuai dengan kebutuhan selama tidak untuk kepentingan komersial dan memberikan kredit pada pencipta. Karya ini dan ubahannya boleh didistribusikan ulang selama masih menggunakan lisensi yang sama. Gambar yang digunakan merupakan milik penciptanya masing-masing. Informasi lebih lanjut silahkan lihat: https: //creativecommons. org/licenses/by-nc-sa/4. 0/ 2

UNIVERSITAS YARSI Stack 3

UNIVERSITAS YARSI Stack 3

UNIVERSITAS YARSI Stack Sebuah struktur data yang menerapkan konsep LIFO (last-in-first-out), seperti tumpukan piring

UNIVERSITAS YARSI Stack Sebuah struktur data yang menerapkan konsep LIFO (last-in-first-out), seperti tumpukan piring bersih di buffet atau tumpukan kartu ketika bermain cangkulan. https: //docs. oracle. com/javase/10/docs/api/java/util/Stack. html Image by @carella. titasa 4

UNIVERSITAS YARSI Soal 1 Sebutkan lima contoh lain penerapan LIFO di dunia nyata! 5

UNIVERSITAS YARSI Soal 1 Sebutkan lima contoh lain penerapan LIFO di dunia nyata! 5

UNIVERSITAS YARSI Import Stack Pastikan Anda meng-import kelas Stack sebelum menggunakannya: import java. util.

UNIVERSITAS YARSI Import Stack Pastikan Anda meng-import kelas Stack sebelum menggunakannya: import java. util. Stack; public class Tes{ public static void main(String[] args) { } } 6

UNIVERSITAS YARSI Prilaku Stack Output: Stack<String> stack = new Stack<>(); stack. push("I"); stack. push("will");

UNIVERSITAS YARSI Prilaku Stack Output: Stack<String> stack = new Stack<>(); stack. push("I"); stack. push("will"); stack. push("not"); stack. push("cheat"); System. out. println(stack); System. out. print(stack. pop() + " "); System. out. print(stack. pop() + " - "); System. out. println(stack); System. out. print(stack. peek() + " - "); System. out. println(stack); [I, will, not, cheat] cheat not – - [I, will] will – - [I, will] cheat not will I I 7

UNIVERSITAS YARSI Soal 2 Daftarkan seluruh perbedaan push, pop, dan peek! 8

UNIVERSITAS YARSI Soal 2 Daftarkan seluruh perbedaan push, pop, dan peek! 8

UNIVERSITAS YARSI Modifier and Type Method Stack Method and Description boolean empty() Tests if

UNIVERSITAS YARSI Modifier and Type Method Stack Method and Description boolean empty() Tests if this stack is empty. E peek() Looks at the object at the top of this stack without removing it from the stack. E pop() Removes the object at the top of this stack and returns that object as the value of this function. E push(E item) Pushes an item onto the top of this stack. int search(Object o) Returns the 1 -based position where an object is on this stack. Sumber: https: //docs. oracle. com/en/javase/11/docs/api/java. base/java/util/Stack. html 9

UNIVERSITAS YARSI Soal 3 Apakah keluaran dari potongan program berikut: java. util. Stack<Integer> stack

UNIVERSITAS YARSI Soal 3 Apakah keluaran dari potongan program berikut: java. util. Stack<Integer> stack = new java. util. Stack<>(); System. out. println(stack. empty()); stack. push(10); stack. push(stack. pop() * stack. pop()); stack. push(stack. pop() * stack. peek()); System. out. println(stack. empty()); System. out. println(stack. pop()); 10

UNIVERSITAS YARSI Queue 11

UNIVERSITAS YARSI Queue 11

UNIVERSITAS YARSI Queue Sebuah struktur data yang menerapkan konsep FIFO (first-in-first-out), seperti antrian di

UNIVERSITAS YARSI Queue Sebuah struktur data yang menerapkan konsep FIFO (first-in-first-out), seperti antrian di bank atau kasir. https: //docs. oracle. com/en/javase/11/docs/api/java. base/java/util/Queue. html Image by @carella. titasa 12

UNIVERSITAS YARSI Soal 4 Sebutkan lima contoh lain penerapan FIFO di dunia nyata! 13

UNIVERSITAS YARSI Soal 4 Sebutkan lima contoh lain penerapan FIFO di dunia nyata! 13

UNIVERSITAS YARSI Java Queue Java memiliki sebuah kelas Queue namun dengan jenis interface. Artinya,

UNIVERSITAS YARSI Java Queue Java memiliki sebuah kelas Queue namun dengan jenis interface. Artinya, kelas ini tidak bisa langsung digunakan seperti halnya Stack. Untungnya, Linked. List meng-implements kelas Queue. Image by @carella. titasa 14

UNIVERSITAS YARSI Import Queue dan Linked. List Pastikan Anda meng-import kelas Queue dan Linked.

UNIVERSITAS YARSI Import Queue dan Linked. List Pastikan Anda meng-import kelas Queue dan Linked. List sebelum menggunakannya: import java. util. Queue; import java. util. Linked. List; public class Tes{ public static void main(String[] args) { } } 15

UNIVERSITAS YARSI Prilaku Queue Output: Queue<String> queue = new Linked. List<>(); queue. add("I"); Queue

UNIVERSITAS YARSI Prilaku Queue Output: Queue<String> queue = new Linked. List<>(); queue. add("I"); Queue queue. add("will"); queue. add("not"); queue. add("cheat"); System. out. println(queue); System. out. print(queue. poll() + " "); System. out. print(queue. poll() + " - "); System. out. println(queue); System. out. print(queue. element() + " - "); System. out. println(queue); [I, will, not, cheat] I will – - [not, cheat] not will I cheat not will cheat not cheat 16

UNIVERSITAS YARSI Soal 5 Jelaskan perbedaan prilaku pop() dan poll()! 17

UNIVERSITAS YARSI Soal 5 Jelaskan perbedaan prilaku pop() dan poll()! 17

UNIVERSITAS YARSI Modifier and Type Method Queue Method and Description boolean add(E e) Inserts

UNIVERSITAS YARSI Modifier and Type Method Queue Method and Description boolean add(E e) Inserts the specified element into this queue if it is possible to do so immediately without violating capacity restrictions, returning true upon success and throwing an Illegal. State. Exception if no space is currently available. E element() Retrieves, but does not remove, the head of this queue. E poll() Retrieves and removes the head of this queue, or returns null if this queue is empty. E remove() Retrieves and removes the head of this queue. Sumber: https: //docs. oracle. com/en/javase/11/docs/api/java. base/java/util/Stack. html 18

UNIVERSITAS YARSI Linked. List-kan memiliki method lainnya, seperti add(int, E), add. First(E), dan remove(int),

UNIVERSITAS YARSI Linked. List-kan memiliki method lainnya, seperti add(int, E), add. First(E), dan remove(int), bisakah kita menggunakannya ketika memanfaatkannya sebagai Queue? Image by @carella. titasa 19

UNIVERSITAS YARSI Soal 6 Apakah keluaran dari potongan program berikut: java. util. Linked. List<String>

UNIVERSITAS YARSI Soal 6 Apakah keluaran dari potongan program berikut: java. util. Linked. List<String> queue = new java. util. Linked. List<>(); queue. add("great"); queue. add("me"); queue. add. First("the"); queue. add. Last("data structure"); queue. add(queue. size() - 1, "is learning"); System. out. println(queue); 20

UNIVERSITAS YARSI Setelah membaca Linked. List API, ternyata Linked. List juga mengimplementasikan konsep Stack!

UNIVERSITAS YARSI Setelah membaca Linked. List API, ternyata Linked. List juga mengimplementasikan konsep Stack! Hmm… menarik. . Image by @carella. titasa 21

UNIVERSITAS YARSI Soal 7 Apakah keluaran dari potongan program berikut: java. util. Linked. List<String>

UNIVERSITAS YARSI Soal 7 Apakah keluaran dari potongan program berikut: java. util. Linked. List<String> list = new java. util. Linked. List<>(); list. add("coding"); list. add(1, "like"); list. add. Last(list. pop()); list. push("I"); list. add("!"); System. out. println(list); 22