Queque

Assalamualaikum wr wb teman-teman jumpa lagi pada kesempatan ini kami akan mencoba untuk menjelaskan beberapa pengimplentasian atau pembuatan class python. Yaitu queue. Sudah taukah apa itu stack dan queue ? jika belum tau, jangan khawatir karena, kami akan mencoba untuk menjelaskannya kepada kalian semua... 


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