Jobsheet: Tugas Praktik Tumpukan (Stack) dan Antrean (Queue)

Table of Contents
Jobsheet Tugas Praktik: Tumpukan (Stack) dan Antrean (Queue) (masulin00)

Struktur data adalah elemen penting dalam dunia informatika. Dua struktur data dasar yang sering digunakan adalah tumpukan (stack) dan antrean (queue). Dalam jobsheet ini, Anda akan mempraktikkan implementasi dan penggunaan tumpukan dan antrean menggunakan Python. Dengan mengikuti langkah-langkah yang terstruktur, Anda akan memahami prinsip kerja kedua struktur data ini secara mendalam.

Tujuan Jobsheet

  1. Memahami konsep dasar dan prinsip kerja tumpukan (stack) dan antrean (queue).
  2. Mengimplementasikan operasi dasar seperti push, pop, enqueue, dan dequeue.
  3. Mengembangkan kemampuan analisis dan pemecahan masalah dengan menggunakan tumpukan dan antrean.
  4. Mengaplikasikan kedua struktur data ini pada kasus nyata.

Tugas 1: Implementasi Tumpukan (Stack)

Tujuan Pembelajaran:

  • Memahami prinsip Last In, First Out (LIFO).
  • Mampu membuat fungsi push, pop, dan peek.

Langkah-Langkah:

  1. Persiapan:

    • Pastikan Python telah terinstal di komputer Anda.
    • Gunakan editor teks seperti Visual Studio Code atau PyCharm.
  2. Tugas:

    • Buat program Python untuk mengimplementasikan stack menggunakan list.
    • Tambahkan fitur push, pop, dan peek.
  3. Kode Program Contoh:

# Implementasi Stack dengan List
stack = []

# Push
stack.append(10)
stack.append(20)
stack.append(30)
print("Stack setelah push:", stack)

# Pop
element = stack.pop()
print("Elemen yang di-pop:", element)
print("Stack setelah pop:", stack)

# Peek
if stack:
    print("Elemen di puncak stack:", stack[-1])
else:
    print("Stack kosong")
  1. Output yang Diharapkan:

    • Tampilkan proses push, pop, dan elemen di puncak stack.
  2. Evaluasi:

    • Pastikan program berjalan tanpa error.
    • Dokumentasikan hasilnya dengan tangkapan layar.

Tugas 2: Implementasi Antrean (Queue)

Tujuan Pembelajaran:

  • Memahami prinsip First In, First Out (FIFO).
  • Mampu membuat fungsi enqueue dan dequeue.

Langkah-Langkah:

  1. Persiapan:

    • Gunakan modul deque dari Python.
  2. Tugas:

    • Buat program Python untuk mengimplementasikan queue menggunakan deque.
  3. Kode Program Contoh:

from collections import deque

# Implementasi Queue dengan deque
queue = deque()

# Enqueue
queue.append(10)
queue.append(20)
queue.append(30)
print("Queue setelah enqueue:", queue)

# Dequeue
element = queue.popleft()
print("Elemen yang di-dequeue:", element)
print("Queue setelah dequeue:", queue)
  1. Output yang Diharapkan:

    • Tampilkan proses enqueue dan dequeue.
  2. Evaluasi:

    • Periksa apakah antrean bekerja sesuai dengan prinsip FIFO.
    • Dokumentasikan hasil program dengan tangkapan layar.

Tugas 3: Penerapan Kasus Nyata

Tujuan Pembelajaran:

  • Menggunakan stack dan queue dalam kasus nyata.

Langkah-Langkah:

  1. Tugas:

    • Buat program menggunakan stack untuk memeriksa keseimbangan tanda kurung dalam sebuah ekspresi.
    • Buat program menggunakan queue untuk simulasi antrean pelanggan di bank.
  2. Contoh Kode untuk Stack:

def cek_keseimbangan(exp):
    stack = []
    for char in exp:
        if char in "({[":
            stack.append(char)
        elif char in ")}]":
            if not stack or {')':'(', ']':'[', '}':'{'}[char] != stack.pop():
                return False
    return not stack

# Uji Program
exp = "{[()]}"
print("Keseimbangan tanda kurung:", cek_keseimbangan(exp))
  1. Contoh Kode untuk Queue:
from collections import deque

# Simulasi Antrean Bank
queue = deque(["Pelanggan1", "Pelanggan2", "Pelanggan3"])
print("Antrean awal:", queue)

# Layani pelanggan
dilayani = queue.popleft()
print("Melayani:", dilayani)
print("Antrean setelah layanan:", queue)

Kesimpulan

Melalui jobsheet ini, siswa dapat memahami cara kerja dan implementasi tumpukan (stack) dan antrean (queue) dalam Python. Praktik ini tidak hanya meningkatkan kemampuan pemrograman tetapi juga memberikan wawasan tentang penerapan struktur data dalam kehidupan nyata.

FAQ

1. Apa tujuan dari jobsheet ini?

Untuk memahami konsep dan implementasi tumpukan serta antrean secara praktis.

2. Apakah program ini harus menggunakan Python?

Ya, Python dipilih karena memiliki pustaka yang memudahkan implementasi struktur data.

3. Bagaimana jika ada error saat menjalankan program?

Periksa kembali logika dan sintaks program Anda, lalu diskusikan dengan guru atau teman jika kesulitan.

4. Apakah tugas ini boleh dikerjakan secara berkelompok?

Tergantung arahan guru, namun diskusi kelompok sangat dianjurkan untuk meningkatkan pemahaman.

5. Bagaimana cara mendokumentasikan hasil kerja?

Ambil tangkapan layar dari hasil program dan sertakan penjelasan singkat tentang proses yang dilakukan.

Posting Komentar