Struktur Data - Pert-11

PROGRAM STUDI S1 TEKNIK INFORMATIKA UNIVERSITAS PAMULANG

1. Info Umum

  • Departemen: Teknik Informatika Universitas Pamulang

  • Topik: Struktur Data - Aplikasi Single Linked List pada Queue

  • Pertemuan: Ke-11

2. TUJUAN PEMBELAJARAN

  • Memahami dan mengaplikasikan Single Linked List pada Queue

3. URAIAN MATERI

3.1 Konsep Dasar Queue

  • Definisi: Queue adalah struktur data linier dengan pengaturan tertentu

  • Aturan Pengurutan: FIFO (First In First Out)

    • Berbeda dengan stack (LIFO: Last In First Out)

3.2 Implementasi Single Linked List pada Queue

  • Dua penunjuk dalam struktur Queue:

    • Front: Menunjuk ke item pertama

    • Rear: Menunjuk ke item terakhir

3.3 Operasi dasar pada Queue

  1. create(): Menginisialisasi Queue yang kosong (front dan rear = NULL)

  2. isEmpty(): Memeriksa apakah Queue kosong

  3. isFull(): Memeriksa apakah Queue penuh

  4. Clear(): Menghapus elemen-elemen Queue

  5. Tampil_queue(): Menampilkan nilai elemen dari front sampai rear

  6. enQueue(): Menambahkan elemen baru ke akhir Queue

  7. deQueue(): Mengeluarkan elemen dari depan Queue

  8. Rear(): Menampilkan elemen terakhir di Queue

  9. Front(): Menampilkan elemen terdepan di Queue

3.4 Struktur simpul pada Queue

  • Setiap simpul memiliki dua bagian:

    • Field data: Menampung elemen Queue

    • Field link: Pointer ke simpul berikutnya

3.5 Proses Penambahan Simpul

  • Langkah-langkah untuk menambah simpul belakang:

    1. Buat simpul baru dengan informasi baru.

    2. Hubungkan simpul paling belakang dengan simpul baru.

    3. Arahkan pointer simpul belakang ke simpul baru.

4. LISTINGS DAN FUNGSI

4.1 Program Pengaplikasian Single Linked List

#include <iostream>
using namespace std;

struct Node {
 int data;
 struct Node *next;
};

struct Node* head = NULL;

void insert(int new_data) {
 struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));
 new_node->data = new_data;
 new_node->next = head;
 head = new_node;
}

void display() {
 struct Node* ptr = head;
 while (ptr != NULL) {
 cout << ptr->data << " ";
 ptr = ptr->next;
 }
}

int main() {
 insert(3);
 insert(1);
 insert(7);
 insert(2);
 insert(9);
 cout << " linked list adalah: ";
 display();
 return 0;
}

4.2 Fungsi dalam Program

  • insert(): Menyisipkan data ke awal linked list

  • display(): Menampilkan seluruh daftar tertaut

5. LATIHAN SOAL

  1. Buat program animasi Stack menggunakan Linked List untuk mengelola data mahasiswa dengan struktur NAMA, NIM, GENDER, NILAI.

  2. Buat program animasi Stack tanpa Head untuk mengelola data mahasiswa.

6. UCAPAN TERIMA KASIH

  • Terima kasih kepada Mahasiswa Teknik Informatika Universitas Pamulang.