Senin, 23 April 2018

Tugas Pendahuluan Pertemuan 12 STACK (Lanjut)


PERTEMUAN  XII
STACK (Lanjut)

TUGAS PENDAHULUAN
1.      1. Jelaskan perbedaan program stack antara menggunakan array dan linked list!
2.      2. Jelaskan aplikasi-aplikasi stack dalam dunia nyata!
3.      3. Tuliskan contoh program pada operasi full!
4.      4. Tuliskan contoh program pada operasi empty!
Jawaban
1.      1. Program stack menggunakan array.
Proses inisialisasi dimana proses ini untuk stack yang menggunakan array adalah dengan mengisi nilai field top dengan 0 (nol), jika elemen pertama diawali dengan nomor 1. Kalau elemen pertama array dimulai dengan 0 (contoh bahasa c), maka top di isi dengan nilai -1.
-          Top yang menunjuk posisi data terakhir (top).
-          Elemen yang berisi data yang ada dalam stack. Bagian ini lah yang berbentuk array.
-          Maks-elemen yaitu variabel yang menunjuk maksimal banyaknya elemen dalam stack.
Program stack menggunakan linked list.
Adapun stack yang menggunakan linked list, hanya memerlukan suatu pointer yang menunjuk ke data terakhir (perhatikan proses dihalaman sebelumnya), setiap elemen linked list mempunyai 2 field yaitu elemen datanya dan pointer bawah yang menunjuk posisi terakhir sebelum proses push.
2.      2. Dalam dunia nyata bisa kita bayangkan seperti tumpukan buku, tumpukan kartu, atau tumpukan kursi yang tersusun secara menumpuk ke atas. Konsep stack yang utuh memiliki beberapa aturan atau batasan tersendiri yang membedakannya dengan struktur data lain, misalnya kita tidak bisa menambah data langsung ditengah-tengah tumpukan dengan cara diselipkan. Begitu juga ketika kita mengambilnya, melainkan setiap operasi harus dikerjakan pada data yang berada dipaling atas tumpukan.
Beberapa contoh aplikasi yang menerapkan stack, diantaranya adalah:
-          Expression evaluation, baik ekspresi aritmatika, lojik maupun boolean.
-          Notasi infix, prefix, dan postfix, proses perhitungannya maupun konversi antar notasi tersebut.
-          Backtracking, contohnya history call pada browser (tombol back).
-          Membantu penelusuran simpul pohon dengan algoritma DFS (Depth-First-Search).
-          Manajemen memori dan alokasi memori, komputer modern saat ini menerapkan stack untuk memodelkan manajemen memori dari program yang sedang berjalan (running program).
-          Permainan Tower of Hanoi.
-          Konversi bilangan desimal ke binner.
-          Sampai yang paling sederhana yaitu membalikkan urutan string.
3.      3. Contoh program pada operasi full.
int IsFull ()
{
            if (tumpuk.top== MAX_STACK-1)
                        return 1;
            else
                        return 0;
}
4.      4. Contoh program pada operasi empty.
int IsEmpty ()
{
            if (tumpuk.top==-1)
                        return 1;
            else
                        return 0;
}



Related Posts:

2 komentar:

  1. Mksh bang sangat membantu , salam dr kelas 04TPLP008 Izin copas ya ehehe

    BalasHapus
    Balasan
    1. Alhamdulillah kalau emg membantu, nanti insya Allah bakal di tingkatkan lagi materinya jika saya sudah memahaminya.

      Hapus