Pertemuan : Algoritma & Struktur Data Antrian Pertemuan : Algoritma & Struktur Data
Antrian (QUEUE) ANTRIAN merupakan kumpulan data dengan penambahan data hanya melalui satu sisi, yaitu sisi belakang dan penghapusan data hanya melalui sisi depan. Antrian merupakan salah satu struktur data yang memiliki sistem kerja pertama masuk maka akan menjadi yang pertama keluar (FIFO = First In First Out), seperti halnya antrian yang ada pada dunia nyata.
Contoh : 1 2 3 E D C B A Head Tail Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya. Sehingga membutuhkan variabel Head dan Tail
Inisialisasi 1 2 3 4 Index -1 Tail Head Head dan Tail =-1
Enqueue 1 2 3 4 A B C D E Head Tail Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang. Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail.
Enqueue Tahap-tahap menginput data dalam antrian : Tail=Tail+1 Isi[Tail]=x
Dequeue 1 2 3 4 A B C D E Head Tail Digunakan untuk menghapus elemen terdepan/pertama dari Antrian dengan cara mengurangi counter Tail dan menggeser semua elemen antrian kedepan. Penggeseran dilakukan dengan menggunakan looping.
Dequeue Tahap 1 A 1 2 3 4 B C D E Head Tail
Dequeue Tahap 2 A 1 2 3 4 B C D E Head Tail
Dequeue Tahap 3 A 1 2 3 4 B C D E Head Tail
Dequeue Tahap 4 A 1 2 3 4 B C D E Head Tail
Dequeue Tahap 5 A 1 2 3 4 B C D E Head Tail
Dequeue Tahap 6 A 1 2 3 4 B C D E Head Tail
Latihan Buatlah sintak dari method penginputan dan penghapusan!
IsEmpty If(Tail==-1 && Head==-1) return 0; Else return 1; 1 2 3 4 1 2 3 4 Index -1 Tail Head If(Tail==-1 && Head==-1) return 0; Else return 1;
IsFull If(Tail==masimum) return 0; Else return 1; 1 2 3 E D C B A Head 1 2 3 E D C B A Head Tail If(Tail==masimum) return 0; Else return 1;