View Salinan dari Stack flipbook.
Apa itu STACK danApa itu STACK dan definisinya?definisinya? Apa itu STACK dan definisinya?KARYA TUTOR 5
Rayhan Ramadhan Maulana : sebagai Ketua Kenzie Yusabhar Radhitya : sebagai Anggota Rasendriya Zayyannabil W iryamanta Cahyono : sebagai Anggota Zahrizar Taruna Muhammad : sebagai AnggotaAnggota kami
Halaman 4: Apa itu Stack?Halaman 4: Apa itu Stack? Halaman 5: Analogi Stack di DuniaHalaman 5: Analogi Stack di Dunia NyataNyata Halaman 6: Operasi Utama (PushHalaman 6: Operasi Utama (Push & Pop)& Pop) Halaman 7: Operasi PendukungHalaman 7: Operasi Pendukung StackStack Halaman 8: Jenis-Jenis StackHalaman 8: Jenis-Jenis Stack Halaman 9: Manfaat StackHalaman 9: Manfaat Stack Halaman 10: Kelebihan &Halaman 10: Kelebihan & Kekurangan StackKekurangan Stack Halaman 11: Simulasi Kode PythonHalaman 11: Simulasi Kode Python Halaman 12: Contoh Soal &Halaman 12: Contoh Soal & PembahasanPembahasan Halaman 13: Pembahasan LangkahHalaman 13: Pembahasan Langkah PushPush Halaman 14: Pembahasan LangkahHalaman 14: Pembahasan Langkah PopPop Halaman 15: KesimpulanHalaman 15: Kesimpulan Halaman 16: Kuis Mini & PenutupHalaman 16: Kuis Mini & Penutup Halaman 4: Apa itu Stack? Halaman 5: Analogi Stack di Dunia Nyata Halaman 6: Operasi Utama (Push & Pop) Halaman 7: Operasi Pendukung Stack Halaman 8: Jenis-Jenis Stack Halaman 9: Manfaat Stack Halaman 10: Kelebihan & Kekurangan Stack Halaman 11: Simulasi Kode Python Halaman 12: Contoh Soal & Pembahasan Halaman 13: Pembahasan Langkah Push Halaman 14: Pembahasan Langkah Pop Halaman 15: Kesimpulan Halaman 16: Kuis Mini & Penutup DAFTAR ISI :DAFTAR ISI :DAFTAR ISI :
Apa itu Stack?Apa itu Stack?Apa itu Stack? Definisi :Definisi :Definisi : struktur data linier yang memakai aturan LIFO (Last In, First Out). Artinya, data yang terakhir masuk akan menjadi data yang pertama kali keluar. Analogi mudahnya adalah tumpukan piring: piring yang ditaruh paling atas akan diambil paling pertama.
Analogi Stack diAnalogi Stack di Dunia NyataDunia Nyata Analogi Stack di Dunia NyataSelain tumpukan piring di dapur,Selain tumpukan piring di dapur, prinsip LIFO (Last In, First Out) jugaprinsip LIFO (Last In, First Out) juga bisa kita lihat pada:bisa kita lihat pada: Selain tumpukan piring di dapur, prinsip LIFO (Last In, First Out) juga bisa kita lihat pada: 11..Tumpukan Baju di Lemari: BajuTumpukan Baju di Lemari: Baju yang terakhir disetrika danyang terakhir disetrika dan ditaruh paling atas, pasti akanditaruh paling atas, pasti akan menjadi baju yang pertama kalimenjadi baju yang pertama kali diambil saat mau dipakai.diambil saat mau dipakai. 22..Fitur Tombol Back di Browser: SaatFitur Tombol Back di Browser: Saat kamu menjelajahi internet,kamu menjelajahi internet, halaman web terakhir yang kamuhalaman web terakhir yang kamu buka adalah halaman pertamabuka adalah halaman pertama yang muncul ketika kamuyang muncul ketika kamu menekan tombol "Back".menekan tombol "Back". 1.Tumpukan Baju di Lemari: Baju yang terakhir disetrika dan ditaruh paling atas, pasti akan menjadi baju yang pertama kali diambil saat mau dipakai. 2.Fitur Tombol Back di Browser: Saat kamu menjelajahi internet, halaman web terakhir yang kamu buka adalah halaman pertama yang muncul ketika kamu menekan tombol "Back".
Struktur data stack memiliki duaStruktur data stack memiliki dua operasi utama yang mengubahoperasi utama yang mengubah kondisi tumpukan:kondisi tumpukan: PUSH (Menambah Data): OperasiPUSH (Menambah Data): Operasi untuk memasukkan elemen atauuntuk memasukkan elemen atau data baru ke dalam tumpukan.data baru ke dalam tumpukan. Data baru ini otomatis akanData baru ini otomatis akan berada di posisi paling atas (TOP).berada di posisi paling atas (TOP). POP (Mengambil Data): OperasiPOP (Mengambil Data): Operasi untuk menghapus atauuntuk menghapus atau mengeluarkan elemen yangmengeluarkan elemen yang berada di posisi paling atas (TOP).berada di posisi paling atas (TOP). Sesuai aturan LIFO, data teratasSesuai aturan LIFO, data teratas inilah yang harus keluar duluan.inilah yang harus keluar duluan. Struktur data stack memiliki dua operasi utama yang mengubah kondisi tumpukan: PUSH (Menambah Data): Operasi untuk memasukkan elemen atau data baru ke dalam tumpukan. Data baru ini otomatis akan berada di posisi paling atas (TOP). POP (Mengambil Data): Operasi untuk menghapus atau mengeluarkan elemen yang berada di posisi paling atas (TOP). Sesuai aturan LIFO, data teratas inilah yang harus keluar duluan.Operasi Utama Stack -Operasi Utama Stack - Push & PopPush & Pop Operasi Utama Stack - Push & Pop
Operasi PendukungOperasi Pendukung StackStack Operasi Pendukung StackOPERASI PENDUKUNG STACK SelainOPERASI PENDUKUNG STACK Selain menambah dan mengambil, adamenambah dan mengambil, ada operasi logika penting lainnya:operasi logika penting lainnya: OPERASI PENDUKUNG STACK Selain menambah dan mengambil, ada operasi logika penting lainnya:11..PEEK / TOP: Melihat dataPEEK / TOP: Melihat data yang berada di posisi palingyang berada di posisi paling atas tanpa menghapusnyaatas tanpa menghapusnya dari tumpukan.dari tumpukan. 22..ISEMPTY: Memeriksa apakahISEMPTY: Memeriksa apakah tumpukan dalam kondisitumpukan dalam kondisi kosong atau tidak.kosong atau tidak. 33..ISFULL: Memeriksa apakahISFULL: Memeriksa apakah kapasitas tumpukan sudahkapasitas tumpukan sudah penuh atau belum.penuh atau belum. 1.PEEK / TOP: Melihat data yang berada di posisi paling atas tanpa menghapusnya dari tumpukan. 2.ISEMPTY: Memeriksa apakah tumpukan dalam kondisi kosong atau tidak. 3.ISFULL: Memeriksa apakah kapasitas tumpukan sudah penuh atau belum.
Jenis-Jenis StackJenis-Jenis StackJenis-Jenis Stack Jenis :Jenis :Jenis :Stack yang berada di dalam unit CPUStack yang berada di dalam unit CPU dan berukuran sangat kecil, sehinggadan berukuran sangat kecil, sehingga jumlah data atau kedalamannya sangatjumlah data atau kedalamannya sangat terbatas.terbatas. Memory Stack: Stack yang dialokasikanMemory Stack: Stack yang dialokasikan di dalam memori utama (RAM) komputer,di dalam memori utama (RAM) komputer, memiliki kapasitas yang jauh lebih besarmemiliki kapasitas yang jauh lebih besar dan fleksibel mengikuti besar memoridan fleksibel mengikuti besar memori yang tersedia.yang tersedia. Stack yang berada di dalam unit CPU dan berukuran sangat kecil, sehingga jumlah data atau kedalamannya sangat terbatas. Memory Stack: Stack yang dialokasikan di dalam memori utama (RAM) komputer, memiliki kapasitas yang jauh lebih besar dan fleksibel mengikuti besar memori yang tersedia.
Call Stack):Call Stack): Melacak fungsi mana yang sedang berjalanMelacak fungsi mana yang sedang berjalan dan memastikan program kembali ke fungsidan memastikan program kembali ke fungsi asal setelah tugas selesai.asal setelah tugas selesai. Fitur Undo/Redo:Fitur Undo/Redo: Menyimpan setiap langkah atau aksiMenyimpan setiap langkah atau aksi pengguna pada aplikasi (seperti editor tekspengguna pada aplikasi (seperti editor teks atau editor gambar) agar bisa dibatalkanatau editor gambar) agar bisa dibatalkan atau dikembalikan.atau dikembalikan. Call Stack): Melacak fungsi mana yang sedang berjalan dan memastikan program kembali ke fungsi asal setelah tugas selesai. Fitur Undo/Redo: Menyimpan setiap langkah atau aksi pengguna pada aplikasi (seperti editor teks atau editor gambar) agar bisa dibatalkan atau dikembalikan. Manfaat :Manfaat :Manfaat : Manfaat StackManfaat StackManfaat Stack
Kelebihan & KekuranganKelebihan & Kekurangan StackStack Kelebihan & Kekurangan StackKelebihan:Kelebihan:Kelebihan: Manajemen memori sangat mudahManajemen memori sangat mudah dan efisien karena alokasi datadan efisien karena alokasi data diatur otomatis oleh sistem LIFO.diatur otomatis oleh sistem LIFO. Sangat aman karena data tidakSangat aman karena data tidak bisa diakses secara acak daribisa diakses secara acak dari tengah.tengah. Manajemen memori sangat mudah dan efisien karena alokasi data diatur otomatis oleh sistem LIFO. Sangat aman karena data tidak bisa diakses secara acak dari tengah. Kekurangan:Kekurangan:Kekurangan: Ukuran memori terbatas.Ukuran memori terbatas. Jika data terlalu banyak di-Jika data terlalu banyak di- push, bisa terjadi Stackpush, bisa terjadi Stack Overflow.Overflow. T idak mendukung aksesT idak mendukung akses acak (No Random Access).acak (No Random Access). Ukuran memori terbatas. Jika data terlalu banyak di- push, bisa terjadi Stack Overflow. T idak mendukung akses acak (No Random Access).
SIMULASI!SIMULASI!SIMULASI! STACK (tumpukan) memakai prinsip LIFO (Last In, First Out), artinya data yang terakhir masuk akan menjadi data yang pertama keluar. Bayangkan ini seperti tumpukan piring: piring yang ditaruh paling atas akan diambil paling pertama.
CONTOH SOALCONTOH SOAL PEMBAHASANPEMBAHASAN CONTOH SOAL PEMBAHASAN&&& Buatlah program tumpukan (stack) sederhana untuk memasukkan angka 10, 20, dan 30, lalu keluarkan (pop) satu angka dari tumpukan tersebut. Tampilkan kondisi tumpukan pada setiap langkah.
Inisialisasi (stack = []):Inisialisasi (stack = []): Kita memakai list kosong di Python untukKita memakai list kosong di Python untuk meniru perilaku tumpukan.meniru perilaku tumpukan. stack.append(10):stack.append(10): Fungsi append() bertindak sebagai push.Fungsi append() bertindak sebagai push. Angka 10 ditaruh di posisi paling belakangAngka 10 ditaruh di posisi paling belakang (atas tumpukan). Hasilnya: [10].(atas tumpukan). Hasilnya: [10]. stack.append(20) & stack.append(30):stack.append(20) & stack.append(30): Angka 20 lalu 30 dimasukkan menyusul diAngka 20 lalu 30 dimasukkan menyusul di atasnya. Urutan stack kini menjadi [10,atasnya. Urutan stack kini menjadi [10, 20, 30].20, 30]. Inisialisasi (stack = []): Kita memakai list kosong di Python untuk meniru perilaku tumpukan. stack.append(10): Fungsi append() bertindak sebagai push. Angka 10 ditaruh di posisi paling belakang (atas tumpukan). Hasilnya: [10]. stack.append(20) & stack.append(30): Angka 20 lalu 30 dimasukkan menyusul di atasnya. Urutan stack kini menjadi [10, 20, 30].Pembahasan Soal -Pembahasan Soal - Langkah PushLangkah Push Pembahasan Soal - Langkah Push
stack.pop()stack.pop() Fungsi ini menghapus elemen palingFungsi ini menghapus elemen paling akhir dari list, yaitu angka 30 (karenaakhir dari list, yaitu angka 30 (karena angka ini yang terakhir masuk atauangka ini yang terakhir masuk atau berada di atas).berada di atas). Hasil Akhir:Hasil Akhir: Angka 30 keluar, sehingga sisa elemenAngka 30 keluar, sehingga sisa elemen di dalam stack adalah [10, 20]. Sesuaidi dalam stack adalah [10, 20]. Sesuai sifat LIFO, data yang pertama masuksifat LIFO, data yang pertama masuk (10) malah berada di bawah dan(10) malah berada di bawah dan paling akhir jika ingin dikeluarkan.paling akhir jika ingin dikeluarkan. stack.pop() Fungsi ini menghapus elemen paling akhir dari list, yaitu angka 30 (karena angka ini yang terakhir masuk atau berada di atas). Hasil Akhir: Angka 30 keluar, sehingga sisa elemen di dalam stack adalah [10, 20]. Sesuai sifat LIFO, data yang pertama masuk (10) malah berada di bawah dan paling akhir jika ingin dikeluarkan.Pembahasan Soal -Pembahasan Soal - Langkah PopLangkah Pop Pembahasan Soal - Langkah Pop
KESIMPULANKESIMPULANKESIMPULANStack adalah struktur dataStack adalah struktur data linier yang memakai aturanlinier yang memakai aturan LIFO (Last In, First Out).LIFO (Last In, First Out). Elemen terakhir yangElemen terakhir yang dimasukkan (Push) akandimasukkan (Push) akan menjadi elemen pertamamenjadi elemen pertama yang dikeluarkan (Pop).yang dikeluarkan (Pop). Implementasinya sangatImplementasinya sangat penting untuk fitur sehari-penting untuk fitur sehari- hari seperti Undo/Redo danhari seperti Undo/Redo dan manajemen sistem memorimanajemen sistem memori komputer.komputer. Stack adalah struktur data linier yang memakai aturan LIFO (Last In, First Out). Elemen terakhir yang dimasukkan (Push) akan menjadi elemen pertama yang dikeluarkan (Pop). Implementasinya sangat penting untuk fitur sehari- hari seperti Undo/Redo dan manajemen sistem memori komputer.
THANK YOUTHANK YOUTHANK YOU