Struktur Data Program Studi Teknik Informatika LOGO Definisi
- Slides: 36
Struktur Data Program Studi Teknik Informatika LOGO
Definisi Queue (antrian) adalah barisan elemen / data dimana proses memasukkan / menambah elemen / data dilakukan pada posisi belakang (rear) dan proses mengeluarkan / mengambil elemen / data dilakukan pada elemen / data di posisi depan (front) FIFO Tim Struktur Data Program Studi Teknik Informatika
Operasi Dasar Queue Enqueue Dequeue Proses memasukkan/ menambah satu data ke dalam Queue Proses mengeluarkan/ mengambil satu data dari Queue Tim Struktur Data Program Studi Teknik Informatika
Pendeklarasian Queue (Array) Kamus: Const Max. Queue = …. . Type Larik. Queue = array [1. . Max. Queue] of tipedata Queue : Larik. Queue Front, Rear : Integer Tim Struktur Data {nama variabel queue} {Front penunjuk depan queue, Rear penunjuk belakang queue} Program Studi Teknik Informatika
Contoh Pendeklarasian Queue (Array Statis-Algoritma) Kamus: Const Max. Queue = 4 Type Larik. Queue = array [1. . Max. Queue] of integer Queue : Larik. Queue Front, Rear : integer Tim Struktur Data {nama variabel queue} {penunjuk queue} Program Studi Teknik Informatika
Contoh Pendeklarasian Queue (List-Algoritma) Kamus: Type Pointer. Queue = ↑Simpul. Queue = Record Medan. Data : tipedata, Medan. Sambungan : Pointer. Queue End. Record Front, Rear : Pointer. Queue Tim Struktur Data {penunjuk queue} Program Studi Teknik Informatika
Contoh Pendeklarasian Queue (Linked List -Algoritma) Kamus: Type Pointer. Queue = ↑Simpul. Queue = Record Angka : integer , Next : Pointer. Queue End. Record Front, Rear : Pointer. Queue Tim Struktur Data {penunjuk queue} Program Studi Teknik Informatika
Operasi-operasi Queue Inisialisasi Operasi Kosong Operasi Penuh / Operasi Satu Simpul Enqueue Dequeue Tim Struktur Data Program Studi Teknik Informatika
Inisialisasi Proses mempersiapkan Queue dengan cara memberi harga nol pada array statis atau memberi harga nil/NULL pada linked list untuk penunjuk queue (Front dan Rear). Perintah (dalam bhs. Algoritmik): Front Nil Rear Nil Tim Struktur Data Program Studi Teknik Informatika
Operasi Kosong v Operasi kosong digunakan untuk memeriksa apakah keadaan Queue kosong atau tidak kosong. v Operasi kosong didapat dengan memeriksa harga Rear dari Queue. Jika Rear bernilai 0 (nol), maka queue kosong. Catatan: Ø Pada Queue yang menggunakan Array Statis, operasi kosong digunakan saat Enqueue dan Dequeue. Ø Tapi pada Queue yang menggunakan Linked List, operasi kosong digunakan saat Enqueue. Tim Struktur Data Program Studi Teknik Informatika
Algoritma Subrutin Operasi Kosong (Array_Queue) Function Kosong (Input Rear : integer) Boolean {I. S. : Penunjuk akhir Queue (Rear) sudah terdefinisi} {F. S. : menghasilkan keadaan Queue kosong atau tidak} Kamus: Algoritma: Kosong false If (Rear = 0) Then Kosong true End. If End. Function Tim Struktur Data Program Studi Teknik Informatika
Algoritma Subrutin Operasi Kosong (List_Queue) Function Kosong (Input Rear : Pointer. Queue) Boolean {I. S. : Penunjuk akhir list Queue (Rear) sudah terdefinisi} {F. S. : menghasilkan keadaan list Queue kosong atau tidak} Kamus: Algoritma: Kosong false If (Rear = Nil) Then Kosong true End. If End. Function Tim Struktur Data Program Studi Teknik Informatika
Operasi Penuh v. Fungsi penuh berguna untuk memeriksa apakah keadaan queue telah penuh atau belum. v. Jika penunjuk Rear sama dengan nilai Max. Queue, maka Queue telah penuh. Catatan: Fungsi penuh hanya ada pada queue yg direpresentasikan menggunakan array statis dan dilakukan pada proses Enqueue Tim Struktur Data Program Studi Teknik Informatika
Algoritma Subrutin Operasi Penuh (Array_Queue) Function Penuh (Input Rear : integer) Boolean {I. S. : Penunjuk akhir Queue (Rear) sudah terdefinisi} {F. S. : menghasilkan keadaan Queue penuh atau tidak} Kamus: Algoritma: Penuh false If (Rear = Max. Queue) Then Penuh true End. If End. Function Tim Struktur Data Program Studi Teknik Informatika
Operasi Satu Simpul v Fungsi Satu Simpul berguna untuk memeriksa apakah keadaan Queue memiliki satu simpul (data) atau lebih dari satu simpul. v Jika penunjuk Rear sama dengan penunjuk Front, maka Queue memiliki satu simpul(data). Catatan: Fungsi Satu Simpul hanya ada pada Queue yg direpresentasikan menggunakan Linked List dan dilakukan pada proses Dequeue. Tim Struktur Data Program Studi Teknik Informatika
Algoritma Subrutin Operasi Satu Simpul (List_Queue) Function Satu. Simpul (Input Rear : Pointer. Queue) Boolean {I. S. : Penunjuk akhir list Queue (Rear) sudah terdefinisi} {F. S. : menghasilkan keadaan list Queue kosong atau tidak} Kamus: Algoritma: Satu. Simpul false If (Front = Rear) Then Satu. Simpul true End. If End. Function Tim Struktur Data Program Studi Teknik Informatika
Enqueue (Array Statis) Enqueue dilakukan dengan cara: • Periksa keadaan Queue. Jika kondisi queue tidak penuh, maka periksa lagi keadaan Queue apakah kosong atau tidak. • Jika keadaan kosong, maka harga Front dan Rear bernilai 1. Jika tidak kosong, maka harga Rear bertambah 1. • Kemudian data yang baru dimasukkan ke dalam Queue pada posisi Rear. Catatan: Pada Linked List proses Enqueue sama dengan proses penyisipan di akhir/di belakang. Tim Struktur Data Program Studi Teknik Informatika
Illustrasi Enqueue (Array Statis) Queue 0 3 5 8 7 1 2 3 4 front rear Enqueue(Front, Rear, Queue, 3) Enqueue(Front, Rear, Queue, 5) Enqueue(Front, Rear, Queue, 8) Enqueue(Front, Rear, Queue, 7) Enqueue(Front, Rear, Queue, 2) “Queue Penuh”
Algoritma Subrutin Operasi Enqueue (Array_Queue) Procedure Enqueue (I/O Front, Rear : integer, I/O Queue : Larik. Queue, Input Data. Baru : tipedata) {I. S. : Penunjuk Queue (Front dan Rear), array Queue dan data yang baru (Data. Baru) sudah terdefinisi} {F. S. : menghasilkan array Queue yang sudah ditambah satu data} Kamus: Function Penuh (Input Rear : integer) Boolean Function Kosong (Input Rear : integer) Boolean Algoritma: If (Not(Penuh(Rear))) Then If (Kosong(Rear)) Then Front 1 Rear 1 Else Rear + 1 End. If Else Output (‘Stack Penuh’) End. If End. Procedure Tim Struktur Data Program Studi Teknik Informatika
Illustrasi Enqueue (Linked List) v Enqueue(Front, Rear, 8) Rear Front baru Tim Struktur Data 8 Program Studi Teknik Informatika
Illustrasi Enqueue (Linked List) v Enqueue(Front, Rear, 3) Front Rear 8 baru Tim Struktur Data 3 Program Studi Teknik Informatika
Illustrasi Enqueue (Linked List) v Enqueue(Front, Rear, 5) Front Rear 8 3 baru Tim Struktur Data 5 Program Studi Teknik Informatika
Algoritma Subrutin Enqueue (List_Queue) Buat sendiri subrutinnya (Ingat, materi penyisipan di belakang!) Tim Struktur Data Program Studi Teknik Informatika
Dequeue (Array Statis) Proses dequeue bisa dilakukan jika queue dalam keadaan tidak kosong, dengan cara: v Periksa apakah elemen/data di queue hanya ada satu atau lebih, jika satu elemen/data maka keluarkan elemen/data pertama dari Queue, lalu harga front dan rear menjadi 0 (nol). v Jika lebih dari satu setelah mengeluarkan elemen/data dari queue maka lakukan proses pergeseran data dimana data di posisi kedua akan menempati Queue pada posisi pertama, data di posisi ketiga akan menempati Queue pada posisi kedua, dan seterusnya, kemudian posisi Rear akan berkurang 1. Catatan : Pada Linked List proses dequeue sama dengan proses penghapusan di awal/di depan Tim Struktur Data Program Studi Teknik Informatika
Illustrasi Dequeue (Array Statis) Queue 0 3 5 8 7 8 7 7 1 2 3 4 7 3 5 8 Item front rear Dequeue(Front, Rear, Queue, Item) Dequeue(Front, Rear, Queue, Item) “Queue Kosong” Tim Struktur Data Program Studi Teknik Informatika
Algoritma Subrutin Operasi Dequeue (Array_Queue) Procedure Dequeue (I/O Front, Rear : integer, I/O Queue : Larik. Queue, Output Item : tipedata) {I. S. : Penunjuk Queue (Front dan Rear), dan array Queue sudah terdefinisi} {F. S. : menghasilkan array Queue yang sudah dikeluarkan satu data} Kamus: Function Kosong (Input Rear : integer) Boolean i : integer Algoritma: If (Not(Kosong(Rear))) Then Item Queue(Front) If (Rear = 1) Then Front 0 Rear 0 Else {melakukan pergeseran data} For i 1 to (Rear -1) do Queue(i) Queue(i+1) End. For Rear - 1 End. If Else Output (‘Stack Kosong’) End. If End. Procedure Tim Struktur Data Program Studi Teknik Informatika
Illustrasi Dequeue (Linked List) v Dequeue(Front, Rear, Item) Phapus Rear Front 8 3 5 Item Tim Struktur Data Program Studi Teknik Informatika
Illustrasi Dequeue (Linked List) v Dequeue(Front, Rear, Item) Phapus Front 3 Rear 5 Item Tim Struktur Data Program Studi Teknik Informatika
Illustrasi Dequeue (Linked List) v Dequeue(Front, Rear, Item) Front Phapus Rear Front Rear 5 Item v Dequeue(Front, Rear, Item) Tim Struktur Data Program Studi Teknik Informatika
Algoritma Subrutin Dequeue (List_Queue) Buat sendiri subrutinnya penghapusan di depan!) Tim Struktur Data (Ingat, materi Program Studi Teknik Informatika
Enqueue(Queue Circular) Proses Enqueue pada Queue Circular (Array Statis), dengan cara: v Penambahan data dilakukan jika kondisi queue tidak penuh. v Jika keadaan kosong, maka posisi Front dan Rear bernilai 1. Tetapi jika tidak kosong, maka nilai Rear bertambah 1, tapi jika Rear ada di posisi maksimum queue, maka Rear = 1 v Kemudian data baru disimpan di queue pada posisi Rear. Tim Struktur Data Program Studi Teknik Informatika
Dequeue (Queue Circular) Operasi dequeue pada Queue Circular (Array Statis), dengan cara : • Periksa apakah Queue kosong atau tidak • Periksa kembali apakah Queue berisi satu elemen atau lebih • Jika berisi satu elemen, maka harga Front dan rear menjadi 0 (nol) • Jika berisi lebih dari satu elemen, maka periksa apakah Front berada di posisi maksimum queue atau tidak, jika ya maka harga Front = 1, jika tidak maka harga Front bertambah 1. Tim Struktur Data Program Studi Teknik Informatika
ILLUSTRASI QUEUE CIRCULAR Queue 0 8 2 3 9 5 7 1 2 3 4 front rear 3 8 Item Tim Struktur Data Enqueue(Front, Rear, Queue, 8) Enqueue(Front, Rear, Queue, 3) Enqueue(Front, Rear, Queue, 5) Dequeue(Front, Rear, Queue, item) Enqueue(Front, Rear, Queue, 7) Enqueue(Front, Rear, Queue, 2) Dequeue(Front, Rear, Queue, item) Enqueue(Front, Rear, Queue, 9) Enqueue(Front, Rear, Queue, 12) “Queue Penuh” Program Studi Teknik Informatika
LATIHAN 1. Buatlah algoritma subrutin operasi Enqueue dan Dequeue (queue circular) 2. Kerjakan soal-soal yang ada di buku Data Structure (Seymour Lipschuctz; Schaum’s Outline Series) hal. 212 No. 6. 46 dan No. 6. 48 Tim Struktur Data Program Studi Teknik Informatika
LATIHAN - Jawaban ditulis tangan, jangan lupa beri identitas anda!. - Nama file dan subyek email : Kelas_NIM_Q (contoh: IF 2_10111234_Q), format file dalam bentuk. jpg - Kumpulkan paling lambat hari Kamis 25 Juni 2020 pukul 10: 00 WIB ke email saya (jangan telat! Bagi yang tidak sesuai ketentuan tidak akan saya periksa dan dianggap tidak mengumpulkan!) Tim Struktur Data Program Studi Teknik Informatika
LOGO
- Materi struktur data teknik informatika
- Definisi teknik informatika
- Sistem digital teknik informatika
- Metodologi penelitian teknik informatika
- Integral parsial adalah
- Teknik informatika dalam bahasa inggris
- Statistik dan probabilitas teknik informatika
- Lulusan ti mana tim berners teh
- Silabus metode penelitian
- Kerangka
- Penerapan aljabar linear dalam teknik informatika
- Teknik parsing logika informatika
- Statistika teknik informatika
- Ada 10 soal di dalam ujian akhir matematika diskrit
- Sistem informasi gunadarma
- Teori graf teknik informatika
- Metode numerik teknik informatika
- Sistem digital teknik informatika
- Kerja praktek teknik informatika
- Teknik informatika gunadarma
- Materi pengolahan citra teknik informatika
- Teori graf teknik informatika
- Contoh pi teknik informatika gunadarma
- If unikom
- Sap universitas gunadarma
- Aspek teknik dan teknologi
- Informatika programiranje
- Manajemen data kesehatan masyarakat
- Ilustrasi stack
- Laporan evaluasi diri
- Rancangan evaluasi program
- Led program studi
- 9 kriteria akreditasi
- Tingkat kejenuhan program studi
- Definisi ekonomi teknik
- Definisi teknik lingkungan
- Logo achievement