Berikut ini adalah pertanyaan dari johanhery1234 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban:
Yang lebih tepat untuk menyimpan histori dari operasi-operasi yang dilakukan pengguna aplikasi adalah: STACK.
Penjelasan:
STACK vs QUEUE
Prinsip kerja STACK (Tumpukan) adalah LIFO (last-in-first-out), artinya data yang dimasukkan terakhirlah yang bisa dikeluarkan pertama kali. Sementara QUEUE (Antrian) berprinsip kerja FIFO (first-in-first-out), artinya data yang dimasukkan pertamalah yang bisa dikeluarkan pertama kali.
ILUSTRASI STACK UNTUK UNDO-REDO
Untuk keperluan Undo-Redo ini, diperlukan 2 stack.
- Stack pertama: untuk menyimpan histori operasi yang bisa dibatalkan (di-undo). Syaratnya: sudah ada operasi yang dilakukan.
- Stack kedua: untuk menyimpan histori operasi yang bisa dikembalikan (di-redo). Syaratnya: sudah ada operasi yang dibatalkan.
Catatan: ilustrasi ini hanya konsep untuk menjelaskan bagaimana struktur data stack bisa menangani Undo-Redo.
0. Kondisi Awal/Initial Condition
Stack Undo dan Redo masih kosong.
1. Budi membuka dokumen A
Operasi: buka dokumen A dimasukkan (di-PUSH) ke dalam stack Undo.
2. Budi menambahkan judul pada dokumen A
Operasi: tambah judul dimasukkan (di-PUSH) ke dalam stack Undo.
3. Budi menulis sebuah paragraf pada dokumen A
Operasi: tulis paragraf dimasukkan (di-PUSH) ke dalam stack Undo.
4. Budi menambahkan sebuah tabel pada dokumen A
Operasi: tambah tabel dimasukkan (di-PUSH) ke dalam stack Undo.
5. Budi menyisipkan sebuah gambar pada dokumen A
Operasi: sisipkan gambar dimasukkan (di-PUSH) ke dalam stack Undo.
6. Budi menekan tombol Undo.
Operasi terakhir (teratas) dalam stack Undo dibatalkan. Data operasi ini dikeluarkan (di-POP) dari stack Undo, dan dimasukkan (di-PUSH) ke stack Redo.
Akibatnya, gambar hilang karena tidak jadi disisipkan ke dalam dokumen.
7. Budi menekan tombol Undo.
Akibatnya, tabel hilang karena tidak jadi ditambahkan ke dalam dokumen.
8. Budi menekan tombol Redo.
Operasi teratas dalam stack Redo dikembalikan. Data operasi ini dikeluarkan (di-POP) dari stack Redo, dan dimasukkan (di-PUSH) ke stack Undo.
Akibatnya, tabel muncul lagi di dokumen.
9. Budi menekan tombol Undo.
Akibatnya, tabel hilang lagi.
10. Budi menekan tombol Undo.
Akibatnya, paragraf hilang.
11. Budi menekan tombol Redo.
Akibatnya, paragraf muncul lagi.
Semoga bisa sedikit menjelaskan tentang Stack dan bagaimana stack lebih tepat untuk diimplementasikan dalam case Undo-Redo.
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Mon, 31 Jan 22