algoritma dan struktur data · 2020. 4. 11. · •print screen hasil running program pada tugas#1...
TRANSCRIPT
![Page 1: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/1.jpg)
Algoritma dan Struktur Datahttp://www.unhas.ac.id/amil/S1TIF/StrukturData/
L2. STACK
Amil Ahmad Ilham
1
![Page 2: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/2.jpg)
Review Array• Contoh menyisip item pada index 1
2
![Page 3: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/3.jpg)
Review Array• Contoh menghapus item pada index 1
3
![Page 4: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/4.jpg)
Review Java
• Java adalah bahasa pemrograman berorientasi object
• Program java nampak seperti sekumpulan object yang bekerjabersama-sama menyelesaikan suatu tugas yang diberikan.
4
![Page 5: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/5.jpg)
Review Java
• Class• Prototype atau template yang
mendefinisikan suatu object• Menggambarkan apa yang
object miliki dan apa yang object dapat kerjakan
• Contoh: Class Dog• Dog memiliki: size, breed, name • Dog dapat: bark()
• Apa yang object miliki disebutdengan instance variables
• Apa yang object dapat kerjakandisebut dengan methods
5
![Page 6: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/6.jpg)
Review Java
• Object• Instance dari sebuah class
• Satu class, banyak object
• Contoh: Class DogObject: dog1, dog2, dog3
6
![Page 7: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/7.jpg)
Membuat object
7
![Page 8: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/8.jpg)
Implementasi OOP• Buat class
8
![Page 9: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/9.jpg)
Implementasi OOP• Buat class test yang berisi method “main” dan object
9
![Page 10: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/10.jpg)
Implementasi OOP• Contoh lain class test
10
![Page 11: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/11.jpg)
Struktur DataStruktur Data
11
![Page 12: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/12.jpg)
Good software
• Requirements for a good software:• Clean Design
• Easy maintenance
• Reliable
• Easy to use
• Fast algorithms
Efficient data structures Efficient algorithms
![Page 13: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/13.jpg)
Why?
• Computers take on more and more complex tasks• Imagine: index of 8 billion pages ! (Google)
• Software implementation and maintenance is difficult.
• Clean conceptual framework allows for more efficient and more correct code
![Page 14: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/14.jpg)
Collections
• Collection is a group of items that we wish to treat as a conceptual unit.
• Categories of Collections:
![Page 15: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/15.jpg)
Linear Collections
• Commonly used linear collections:• String
• Lists
• Stacks
• Queues
![Page 16: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/16.jpg)
Stacks
• A stack is a LIFO (LAST IN FIRST OUT) sequence.• Addition and removal takes place only at one end, called
the top.
• Examples:• Stacks of plates
• Trains
• Vending Machines
• Expression Evaluation
• Navigating a maze
• Map coloring
![Page 17: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/17.jpg)
Lifetime of a Stack
![Page 18: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/18.jpg)
The Effects of Stack Operations
![Page 19: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/19.jpg)
The Interface for the Stack Prototype (StackPT)
![Page 20: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/20.jpg)
Implementation of the Stack Prototype Using Array1. Stack.java
2. ArrayStack.java
3. StackEmptyException.java
4. StackFullException.java
5. StackTest.java
![Page 21: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/21.jpg)
Stack.java• adalah interface yang berisi daftar method yang digunakan untuk implementasi
stack.
21
![Page 22: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/22.jpg)
ArrayStack.java• Implementasi interface
Stack menggunakanArray
22
![Page 23: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/23.jpg)
ArrayStack.java• Implementasi interface
Stack menggunakanArray
23
![Page 24: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/24.jpg)
StackEmptyException.java• adalah class yang dipanggil jika operasi peek atau pop dilaksanakan pada saat
stack sudah kosong.
24
![Page 25: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/25.jpg)
StackFullException.java• adalah class yang dipanggil jika operasi push dilaksanakan pada saat stack sudah
penuh.
25
![Page 26: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/26.jpg)
StackTest.java• Class yang berisi
method ‘main”
• Berisi object ArrayStack
26
![Page 27: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/27.jpg)
Output StackTest.java
27
![Page 28: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/28.jpg)
Tugas #3
• Modifikasi class StackTest.java untuk melakukan operasi Push dan Pop sebanyak 2 angka digit terakhir dari STB anda.
28
![Page 29: Algoritma dan Struktur Data · 2020. 4. 11. · •Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3. •Buat 1 file zip yang berisi program](https://reader036.vdocuments.pub/reader036/viewer/2022071412/610a20a32bef2c35ff61c3ce/html5/thumbnails/29.jpg)
SIKOLA
• Print screen hasil running program pada Tugas#1 (slide 9), Tugas#2 (slide 10) dan Tugas#3.
• Buat 1 file zip yang berisi program java dan hasilnya, upload ke Sikolapaling lambat Senin, 13 April 2020 Pukul 13.30.
29