FAKULTAS TEKNIK
Alamat : Kampus UNKRIS Jatiwaringin, P.O. Box. 7774/Jat.CM
Telp: (021) 8462229-31, langsung 84998529 fax. (021) 84998529
JAKARTA 13077
SOAL 1. (50%)
Perhatikan gambar berikut :
Uraikan urutan pembacaan informasi dan pelepasan informasi yang terkandung dalam
ilustrasi struktur data queue diatas!
F = Front, E = End
SOAL 2. (50%)
Buatlah program python (tema program bebas) dengan menggunakan prinsip struktur data
Queue!
Jawab :
1.
n-1
LOKE 0 1 2 3 4 5 6 7 8 9
T
B C D
Ilustrasi diatas menggunakan linear queue atau yang berarti antrian lurus.
Keluar Masuk
B C D
Front End
Pada gambar di atas terlihat 3 kucing berbaris antri. kucing itu akan keluar dari kandang dengan dua sisi pintu,
maka kucing yang pertama masuk dari pintu belakang (kucing B) akan keluar terlebih dahulu melalui pintu
depan, sedangkan singa D masuk terakhir maka akan keluar terakhir pula.
Front = Depan
End = Belakang
n-1
LOKE 0 1 2 3 4 5 6 7 8 9
T
B C D
F E
n-1
LOKE 0 1 2 3 4 5 6 7 8 9
T
C D
F E
Pada saat B keluar maka C bergeser ke tempat B semula. Begitu pun seterusnya D menempati
tempat C. Dengan demikian seterusnya hingga hasilnya menjadi sebagai berikut.
n-1
LOKE 0 1 2 3 4 5 6 7 8 9
T
C D
F E
Pergeseran dengan cara di atas membutuhkan waktu cukup lama karena masing-masing
elemen harus berpindah. Cara lain yang dapat ditempuh adalah dengan menggeser loket.
Perhatikan urutan gambar ilustrasi berikut.
n-1
LOKE 0 1 2 3 4 5 6 7 8 9
T
B C D
F E
n-1
LOKE 0 1 2 3 4 5 6 7 8 9
T
C D
F E
n-1
LOKE 1 2 3 4 5 6 7 8 9
T
C D
F E
n-1
0 LOKE 2 3 4 5 6 7 8 9
T
D
F E
n-1
0 LOKE 2 3 4 5 6 7 8 9
T
F E
n-1
0 1 LOKE 3 4 5 6 7 8 9
T
E F
Pada ilustrasi di atas antrian sudah kosong sehingga F>E Atau F = R+1
Lalu ketika semua antrian sudah dilayani maka keadaan perlu dikembalikan ke
keadaan semula (di- Reset). Seperti contoh berikut :
Sebelum direset :
0 1 2 3 4 5 6 7 8 LOKET
E F
Setelah direset :
n-1
LOKET 0 1 2 3 4 5 6 7 8 9
E F
2.
q = deque()
for i in range(7):
q.append(i)
for i in range(7,15):
q.appendleft(i)
print(q)