PENJELASAN DASAR QUEQUE
Antrian (queque) merupakan struktur data yang menerapkan konsep FIFO (first in first out). Data atau elemen pertama ditambahkan ke dalam queque akan diambil pertama kali juga.
Pada kelas queque diatas kita mengimplementasikan metode-metode berikut:
᧐ isempty(), digunakan untuk memeriksa apakah queque kosong atau tidak
᧐ __len__(), metode ini perlu diimplementasikan agar objek dari kelas queque dapat dihitung jumlah elemennya menggunakan metode len()
᧐ enqueque(), digunakan untuk menambah elemen baru ke dalam queque pada posisi terakhir.
᧐ dequeque(), digunakan untuk mengambil elemen terakhir dan menghapusnya dari dalam queque
᧐ first(), digunakan untuk mendapatkan elemen yang terdapat pada posisi pertama tanpa menghapus elemen tersebut.
᧐ __repr__(), metode ini perlu diimplementasikan agar elemen-elemen yang terdapat di dalam objek queque dapat ditampilkan dalam bentuk string.
᧐ size(), mengembalikan jumlah item yang ada dalam antrian. Tidak memerluka parameter, dan mengembalikan suatu integer.
Berikut contoh codingan queque
contoh soal implementasi dari queque
Simulasi game tangkap nama. Gunakanlah sistem antrian untuk menangkap seseorang yang sesuai dg nama yang diiputkan. Jika nama yang dicari tidak terletak di paling depan dalam Queue maka nama tersebut masuk dalam antrian belakang. Lakukan hal ini sampai dengan nama yang dicari ada di dalam depan atrian untuk selanjutnya di keluarkan dalam antrian
Hitung berapa kali putaran sistem melakukan pencarian orang trersebut
Yang dicari andi
Anak yang bermain : ita bayu andi jaki
Lopping 1: antrian terdepan ita,
ita keluar dari antrian dan masuk antrian lagi (karena nama ita tidak susuai
dengan yang dicari)
Looping
2 : antrian terdepan bayu, bayu keluar dari antrian dan masuk antrian lagi.
Looping 3 : antrian terdepan jaki, jaki keluar dari
antria krn sdh sesuai nama yang dicari maka permainan berhenti. Total looping
yang diperlukan adalah 3 def queue():
s = []
return s
def enqueue(s,i):
s.insert(0,i)
return s
def dequeue(s):
return s.pop()
def rear(s):
return (s[0])
def front(s):
return (s[len(s)-1])
def size(s):
return len(s)
def isEmpty(s):
return s==[]
def simulasiGames():
s = queue()
k=''
while True:
banyak = int(input('Masukan banyak anak yang ingin ada di permainan = '))
for j in range(banyak):
orang = input('Masukan nama anak ke %i yang masuk di antrian = '%(j+1))
enqueue(s,orang)
s.reverse()
print('Orang yang berada di antrian %s'%s)
s.reverse()
o = input('Masukan nama anak yang ingin dicari = ')
dicari = 'cari'
itung = 0
while dicari=='cari':
if o == front(s):
print('Horre! anak berhasil dicari')
ditemukan = 'y'
elif o != front(s):
masukan = dequeue(s)
enqueue(s,masukan)
dicari = 'cari'
s.reverse()
print('Looping %i = %s'%((itung+1),s))
s.reverse()
itung+=1
if itung > len(s):
print('Yahh! anak yang dimaksud tidak ada')
dicari = 'y'
print('Total looping yang perlukan adalah',str(itung-1))
k = input('ingin melanjutkan permainan (y/n) ? ')
if k != 'y':
print('============================PERMAINAN BERAKHIR====================================')
break
else:
print('LANJUT KE PERMAINAN')
simulasiGames()
Berikut postingan kali ini ya teman teman semoga bermanfaat maaf jika banyak kekurangan tunggu di postingan selanjutnya yaa
ttd. Trisya&indra
Tidak ada komentar:
Posting Komentar