Anda di halaman 1dari 5

No 1. Di persimpangan jalan, terdapat lampu merah.

Apabila lampu merah


menyala, mobil-mobil yang datang ke persimpangan tersebut harus berhenti
dulu. Ketika lampu berubah menjadi hijau, semua mobil perlahanlahan
berjalan kembali dalam urutan tertentu. Situasi tersebut menggambarkan
tentang queue.

Pembahasan :
Dalam ilmu komputer, antrian atau queue adalah kumpulan data
berurutan yang hanya dapat dimodifikasi dengan menambahkan data ke
satu ujung dan mengeluarkannya ke ujung yang lain. [1] Tepi tempat item
dapat ditambahkan biasanya disebut ujung, belakang, atau akhir antrian, dan
tepi tempat item dapat dihapus disebut bagian depan atau depan antrian,
seperti dalam kata-kata. Digunakan saat orang mengantri.

Proses penambahan item ke akhir antrian biasanya disebut enqueue,


dan proses menghilangkan item dari awal biasanya disebut dequeue. Operasi
umum lainnya adalah operasi mengintip atau depan yang digunakan untuk
menampilkan elemen kepala antrian tanpa menghapusnya. Operasi yang
mendefinisikan antrian mengklasifikasikan antrian sebagai struktur data
first-in-first-out (FIFO). Item yang ditambahkan ke antrian terlebih dahulu
dihapus terlebih dahulu untuk mengisi struktur data FIFO. Antrian juga
merupakan contoh struktur data linier. Antrian biasanya digunakan dalam
program komputer dan biasanya diimplementasikan menggunakan buffer
cincin dan daftar tertaut.

Antrian biasanya digunakan dalam ilmu komputer, transportasi, dan


riset operasional di mana ada entitas seperti data, objek, orang, dan peristiwa
yang perlu disimpan untuk diproses nanti. Antrian bertindak sebagai buffer
dalam konteks ini. Penggunaan lain dari antrian adalah untuk
mengimplementasikan pencarian luas-pertama.

No 2. Bentuk penyimpanan yang paling tepat digunakan untuk menyimpan


riwayat/history pada browser adalah STACK.

Secara singkat, alasannya adalah mekanisme back dan forward pada browser
membutuhkan data alamat terakhir yang dikunjungi atau ditinggalkan,
sehingga lebih tepat menggunakan struktur data stack sebagai implementasi
LIFO (Last In First Out).

Ketika pengguna memberi instruksi back, browser akan mengarahkan ke


alamat terakhir yang dikunjungi sebelum alamat situs yang sedang diakses.
Ketika pengguna memberi instruksi forward, browser akan mengarahkan ke
alamat terakhir yang ditinggalkan sebelum alamat situs yang sedang diakses.
Pembahasan
Mekanisme back dan forward pada browser pada hakikatnya sama dengan
mekanisme undo dan redo, yang lebih tepat menggunakan struktur data stack
(tumpukan). Pada stack, elemen yang dapat diakses adalah elemen teratas
(elemen terakhir) yang dimasukkan (di-push).

Pada mekanisme back dan forward, aplikasi browser membutuhkan 2 stack,


anggap saja memiliki nama stack Back dan stack Forward.

No 3. Jawaban:
Fitur penyimpanan untuk dokumen yang sedang antri untuk dicetak adalah
queue.

Penjelasan:
Dari kasus pada soal, memang ada benarnya satu printer dapat digunakan
untuk mencetak dokumen dari beberapa komputer yang tersambung. Namun
tetap printer tersebut tidak dapat mencetak dokumen secara bersamaan,
melainkan mencetak dokumen yang lebih dulu dimasukkan atau diprint oleh
pengguna komputer. Ketika data file dokumen yang masuk kembali pada saat
printer sedang mencetak, maka file dokumen tersebut akan masuk ke queue.
Queue memiliki arti "antrian". Queue dalam proses cetak berfungsi untuk
mengumpulkan cetakan antrian file dokumen ketika kita sedang mencetak
lebih dari satu dokumen. Sehingga, pengguna dapat melihat kapan urutan file
dokumen yang akan dicetak mulai dikerjakan oleh printer.

4. Di antara stack dan queue, struktur data yang lebih tepat digunakan untuk

menyimpan operasi-operasi pengolahan dokumen terkait dengan fitur Undo


dan Redo, adalah STACK

Secara singkat, alasannya adalah karena data (dalam hal ini langkah/
tindakan) yang diproses oleh kedua operasi tersebut (undo dan redo) sama
sama merupakan data (langkah / tindakan) terakhir pada himpunan data
masing-masing, sehingga prinsip dasar yang tepat digunakan adalah LIFO

(Last In First Out), artinya elemen yang terakhir masuk adalah elemen yang

pertama dikeluarkan atau diproses.

Pembahasan

Deskripsi persoalan pada pertanyaan di atas sudah sangat jelas mengulas


fitur Undo dan Redo yang terdapat pada aplikasi pengolah dokumen.
 Operasi Undo akan membatalkan langkah/ tindakan terakhir yang
pengguna lakukan.

 Operasi Redo digunakan untuk mengulang kembali operasi yang baru


saja dibatalkan dengan sebuah Undo.

Konsekuensinya:

 Jika pengguna sudah melakukan beberapa kall operasi Undo, maka


redo mengulang kembali langkah / tindakan terakhir yang di-undo .
Sebaliknya, jika pengguna sudah melakukan beberapa kall operasi

Redo, maka undo membatalkan langkah / tindakan terakhir yang di redo. •


Operasi Undo hanya bisa dilakukan atau memiliki efek terhadap dokumen jika
sudah ada langkah / tindakan yang dilakukan oleh

pengguna, atau sudah ada langkah / tindakan yang di-redo oleh

pengguna.

 Operasi Redo hanya bisa dilakukan atau memiliki efek terhadap


dokumen jika sudah ada langkah / tindakan yang di-undo oleh
pengguna.

Jadi, untuk kedua operasi tersebut, data (langkah / tindakan) yang diproses
adalah data terakhir yang masuk ke dalam himpunan data masing-masing.

Berdasarkan hal tersebut, struktur data yang tepat digunakan adalah stack
(tumpukan).

Agar lebih jelas, kita telusun saja sesuai persoalan yang diulas pada
pertanyaan. Untuk fitur Undo-Redo, aplikasi memerlukan setidaknya 2
himpunan data, yang dalam hal ini bertipe data stack. Jadi, terdapat stack
Undo dan stack Redo Setiap langkah yang dilakukan oleh Budi langsung

dimasukkan (di-push) ke dalam stack Undo..

Penelusuran berikut ini hanya bersifat mendasar saja, Implementasi


sesungguhnya pada aplikasi bersifat lebih kompleks, karena harus ada
struktur data lain yang menyimpan "konten" dari setiap langkah/tindakan yang
dilakukan pengguna,

5 langkah awal yang dilakukan Budi adalah:


1. Budi membuka dokumen A
2. Budi menambahkan judul pada dokumen A
3. Budi menulis sebuah paragraf pada dokumen A
4. Budi menambahkan sebuah tabel pada dokumen A
5. Budi menyisipkan sebuah gambar pada dokumen A

(nomor urut langkah dapat dianggap sebagal ID dari langkah)

Yang dilakukan oleh aplikasi pada stack Undo sesuai urutan langkah di atas

adalah
.push(UNDO, 1)
.push(UNDO,2)
.push(UNDO, 3)
.push(UNDO, 4)
.push(UNDO, 5)

Kemudian, Budi menekan tombol Undo.

Aplikasi akan membatalkan langkah 5, yaitu penyisipan sebuah gambar, dan


meng-update stack Undo dan Redo

.push(REDO, UNDO.top) → memasukkan elemen teratas (top) dari stack


UNDO ke dalam stack

REDO

 pop(UNDO)mengeluarkan elemen teratas (top) dari stack UNDO.

Lalu, Budi menekan tombol Undo lagi. Aplikasi akan membatalkan langkah 4,
yaitu penambahan sebuah tabel, dan

meng-update stack Undo dan Redo.


 push(REDO, UNDO.top)

 pop(UNDO)

Setelah itu, Budi menekan tombol Redo

Aplikasi akan mengulangi langkah 4 dengan mengambil kemball "konten"

dari langkah 4, yaitu tabel yang tadi sudah ditambahkan (yang sudah
tersimpan di memori dengan struktur data tertentu), dan meng-update stack
Undo dan Redo

 push(UNDO, REDO.top)→ memasukkan elemen teratas (top) dari stack


REDOO ke dalam stack
UNDO
 pop(REDO)

Anda mungkin juga menyukai