PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 130 5.3 Studi Kasus 1. Pointer Flowchart Gambar 5. 9 flowchart operasi aritmatika pointer
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 131 Penjelasan : Program dimulai dengan start, lalu menampilkan judul. Kemudian mendeklarasikan variabel nilai[3], dan *penunjuk sebagai tipe data integer. Kemudian memproses nilai[0] = 125, nilai[1] = 345, nilai[2] = 750. Dan memproses bahwa variabel penunjuk = %nilai[0]. Lalu program tampilkan nilai dari variabel *penunjuk << penunjuk, *(penunjuk + 1) << (penunjuk + 1), dan *(penunjuk + 2) << (penunjuk + 2). Program selesai. Program Gambar 5. 10 program operasi aritmatika
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 132 Gambar 5. 11 running progam operasi aritmatika pointer 2. Pointer Dalam Array Flowchart Gambar 5. 12 flowchart pointer dalam array Penjelasan: Program dimulai dengan mendeklarasikan variabel c[4] sebagai tipedata char dan variabel i sebagai tipedata integer. Kemudian memproses i = 0. Dan masuk ke syarat perulangan jika i < 4 maka tampilkan “address of c[i]” <<&c[i]. kemudian lakukan proses ++i. Jika syaratnya perulangannya tidak terpenuhi lagi maka program selesai.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 133 Program Gambar 5. 13 program pointer dalam array Gambar 5. 14 hasil running pointer dalam array
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 134 5.4 Kesimpulan dan Saran 5.4.1 Kesimpulan pointer berisi alamat dari variabel yang mempunyai nilai tertentu. Pointer tidak hanya berlaku untuk variabel, kita juga bisa menerapkannya ke fungsi, objek, dll. Implementasinya masih sama seperti yang kita lakukan dengan variabel. Sebuah pointer dapat berisi alamat dari variabel lain, dan akses langsung ke nilai dalam variabel pointer dapat dilakukan dengan menggunakan operator. Jadi, setiap variabel mempunyai data (isi data) dan alamat memori yang menunjukkan variabel tersebut disimpan dimana. Ada dua jenis pointer yang disediakan oleh borland c++, yaitu Operator Deference (&) Dan Operator Reference (*). 5.4.2 Saran Penggunaan pointer pada proses program harus benar-benar diperhatikan. Sedikit saja kesalahan dalam menggunakan pointer akan mengakibatkan kesalahan fatal pada program. Karena pointer bisa langsung menunjukan pada lokasi memori, apabila lokasi yang ditunjuk salah, berarti data yang diambil juga akan salah, dan sudah tentu program anda akan menjadi salah juga.
BAB VI STACK (TUMPUKAN) DISUSUN 0LEH: NAMA: DESTITHA ALMAQVIRA BACHMID NPM: 07352211024 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSIYAS KHAIRUN TERNATE 2022
BAB VI STACK (TUMPUKAN) 6.1 STACK (TUMPUKAN) Stack adalah sebuah kumpulan data dimana data yang diletakkan diatas data yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO (Last In First Out). Dengan demikian elemen terakhir yang disimpan dalam stack menjadi elemen pertama yang diambil. Dalam proses komputasi untuk meletakkan sebuah elemen pada bagian atas dari stack maka dilakukan operasi push, dan untuk memindahkan dari tempat yang diatas tersebut, maka dilakukan operasi pop. Gambar 6. 1 Ilustrasi sebuah stack
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 136 6.1.1 Operasi Stack Operasi Stack sebagai berikut. a. Operasi push yaitu operasi menambahkan elemen pada urutab terakhir (paling atas). b. Operasi pop yaitu operasi yang mengambil sebuah elemen data pada urutan data terakhir dan menghapus elemen tersebut dari stack c. Clear untuk mengosongkan stack a. Isempty untuk memeriksa apakah stack kosong b. Isfull untuk memriksa apakah stack sudah penuh c. Retrieve untuk mendapatkan nilai dari item teratas d. Peek untuk melihat elemen teratas dari stack 6.1.2 Jenis-jenis Stack Berdasarkan kemampuan menyimpan data, struktur data stack dapat dibagi menjadi 2 jenis, yaitu: register stack dan memory stack. 1. Registerstack Register stack merupakan stack yang hanya mampu menampung data dalam jumlah yang kecil. Kedalaman maksimum pada registerstack cenderung dibatasi karena ukuran unit memorinya sangat kecil dibandingkan dengan memory stack.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 137 2. Memorystack Pada stack jenis ini, kedalaman dari stack cukup fleksibel dan mampu menangani dalam dalam skala yang lebih besar dibandingkan jenis sebelumnya. 6.1.3 Representasi Proses Stack Stack adalah salah satu dari contoh struktur data yang terdiri dari satu collection, yang juga menerapkan prinsip LIFO. Bila stack tersebut menggunakan array satu dimensi, maka stack tersebut dapat diilustrasikan sebagai berikut : Gambar 6. 2 Ilustrasi stack 1 dimensi menggunakan indeks array Gambar di atas merupakan ilustrasi sebuah indeks array yang masih kosong pada awal pembuatan stack dimana n[10], variable top berada pada -1 yang menunjukkan indeks masih dalam keadaan kosong. Gambar 6. 3 Ilustrasi stack ketika sudah diisi data
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 138 Gambar di atas merupakan keaadan ketika stack diisi data. Pada kondisi tersebut data pertama yang diinput adalah S[0]=11, data kedua S[1]=7, data ketiga S[2]=15, data keempat S[3]=23. Kondisi top sudah berubah menjadi data yang terakhir diinput (data keempat) sehingga Top [3] X=23. a. DoubleStack (Stack Ganda) Double Stack (Stack ganda) adalah dua stack yang beradadalam satu array. Satu arraydigunakan untuk dua stack dimana dasar stack 1 berada pada sisi indeks yang terkecil dan s 2 berada pada sisi indeks yang terbesar. Sama halnya dengan single stack, double stack juga menerapkan prinsip LIFO (Last In First Out). Gambar 6. 4 Ilustrasi double stack Gambar ini merupakan ilustrasi indeks array pada double stack. Pada stack 1 kondisi data pertama yang diinput adalah S[0], data kedua S[1], data ketiga S[2], dan Top=data input terakhir S[2]. Sedangkan pada stack 2 data pertama adalah S[9], data kedua S[8], data ketiga S[7], data keempat S[6], dan Top=data input terakhir S[6].
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 139 b. Operasi Dasar Pada Double Stack a. Inisialisasi : Proses awal adalah proses menyiapkan indeks penunjuk stack untuk pertama kali. Pada tahap ini ditetapkan Top1=-1 (sama seperti single stack) dan Top2=banyak jumlah data. void AWAL (void) { Top1 = -1; Top2 = n; } b. Is empty : Sama dengan single stack, yaitu proses pengecekan stack kondisi kosong. if(top1==-1) return true; if(top2==n) return true; c. Is Full : Sama dengan single stack, yaitu proses pengecekan stack dalam kondisi kosong int full(void){ if(top1+1>=top2){ return true; } d. Push (stack1 dan stack2) : Proses mengisi data pada stack1 maupun stack2 void PUSH1 (void) { Top1 = Top1 + 1;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 140 S[Top1] = X; } void PUSH2 (void) { Top2 = Top2 - 1; S[Top2] = X; } e. Pop (stack1 dan stack2) : Proses mengambil data pada stack1 maupun stack2 void PUSH2 (void) { Top2 = Top2 - 1; S[Top2] = X; } void POP2 (void) { X = S[Top2]; Top2 = Top2 + 1; }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 141 6.2 Latihan Praktikum #include <stdio.h> #include <stdlib.h> #include <conio.h> #define MAX 5 int top = -1; int stack_arr[MAX]; void push(); void pop(); void display(); int main() { int choice; while(1) { printf("\n1.Push\n"); printf("2.Pop\n");
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 142 printf("3.Display\n"); printf("4.Quit\n\n"); printf("Enter your choice : "); scanf("%d",&choice); switch(choice) { case 1 : push(); break; case 2: pop(); break; case 3: display(); break; case 4: exit(1);
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 143 default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } getch(); } void push() { int pushed_item; if(top == (MAX - 1)) printf("Stack Overflow\n"); else { printf("\nEnter the item to be pushed in stack : "); scanf("%d",&pushed_item); top = top + 1; stack_arr[top] = pushed_item; } }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 144 void pop() { if(top == -1) printf("Stack Underflow\n"); else { printf("Popped element is : %d\n",stack_arr[top]); top = top - 1; } } void display() { int i; if(top == -1) printf("Stack is empty\n"); else { printf("\nStack elements :\n"); for(i = top; i>=0; i--) printf("%d\n", stack_arr[i] );
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 145 }} Compile dan perbaiki program sampai benar : Gambar 6. 5 Struktur pemograman Gambar 6. 6 Struktur Pemograman
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 146 Gambar 6. 7 Struktur pemograman Gambar 6. 8 Struktur Pmograman
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 147 Tampilan hasil Running: Gambar 6. 9 Hasil Running
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 148 6.3 Studi Kasus Berikut ini flowhart dari studi kasus: Gambar 6. 10 Flowchart studi kasus
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 149 #include<stdio.h> #include<stdlib.h> #include <conio.h> typedef struct node { int data; struct node *link; }NODE; NODE *top = NULL; void push(); void pop(); void display(); int main() { int choice = 0; while(1) { printf("\n1.Push\n");
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 150 printf("2.Pop\n"); printf("3.Display\n"); printf("4.Quit\n\n"); printf("Enter your choice : "); scanf("%d",&choice) switch(choice) { case 1 : push(); break; case 2: pop(); break; case 3: display(); break; case 4: exit(0);
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 151 default: printf("\nPILIHAN TIDAK TERSEDIA\n"); } } getch(); } void push() { NODE *temp; int info = 0; printf("Enter data to be pushed (0-9999) : "); scanf("%d",&info); temp = (NODE *) malloc(sizeof(NODE)); if (temp == NULL) printf("\nMemory Allocation Failed"); else { temp->data = info;
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 152 temp->link = top; top = temp; printf("Node has been inserted at Top(Front) Successfully !!\n"); } } void pop() { NODE *tmp; if(top == NULL) printf("Stack is empty!!\n"); else { tmp = top; printf("Popped data : %d\n",tmp->data); top = top->link; free(tmp); } } void display()
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 153 { NODE *temp; if(top == NULL) { printf("Empty Stack !!!\n"); } else { temp = top; printf("____[Stack]____\n"); while(temp != NULL) { printf("\n__\n"); printf("|%4d|",temp->data); temp = temp->link; } } }
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 154 Gambar 6. 11 Struktur pemograman Gambar 6. 12 Struktur Pemograman
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 155 Gambar 6. 13 Hasil Running Gambar 6. 14 Hasil Running
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 156 6.4 Kesimpulan dan Saran 6.4.1 Kesimpulan Stack atau tumpukan dapat diartikan sebagai suatu kumpulan data yang seolaholah terlihat seperti ada data yang diletakan diatas data yang lain. Kaidah utama dalam konsep stack adalah LIFO yang merupakan singkatan dari Last In Fist Out atau dapat diartikan sebagai data yang terakhir kali dimasukan atau disimpan, maka data tersebut adalah data yang pertama kali dikeluarkan. 6.4.2 Saran Laporan ini masih terdapat banyak kesalahan karena terbatasnya pengetahuan dan kurangnya referensi materi pada laporan ini. Diharapkan kepada pembaca dapat memberikan saran sebagai motivasi pembuatan laporan selanjutnya.
BAB VII QUEUE (ANTRIAN) DISUSUN 0LEH: NAMA: DESTITHA ALMAQVIRA BACHMID NPM: 07352211024 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK UNIVERSIYAS KHAIRUN TERNATE 2022
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 157 BAB VII QUEUE (ANTRIAN) 7.1 Queue (Antrian) Queue (antrian) adalah suatu kumpulan data yang mana penambahan data atau elemennya hanya dapat dilakukan pada sisi belakangnya, sedangkan penghapusan atau pengeluaran elemennya hanya dapat dilakukan pada sisi depan. Jadi terdapat 2 gerbang pada antrian, satu gerbang digunakan untuk masuk dan satu lainnya digunakan untuk keluar. Gambar 7. 1 Cara kerja Queue (Antrian) Queue ini memiliki karakteristik yaitu FIFO (First In First Out) yang artinya data yang masuk terlebih dahulu merupakan data yang akan keluar terlebih dahulu. Queue elemen yang dihapus adalah yang terakhir ditambahkan. Representasi queue dapat di deklarasi dengan menggunakan array atau linked list.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 158 7.1.1 Operasi Pada Queue 1. Enqueue. Operasi ini digunakan untuk menambahkan elemen ke bagian akhir antrian. Operasi penambahan dapat dilakukan selama antrian tidak dalam keadaan penuh. Setiap kali terjadi penambahan (enqueue) maka variabel rear atau penunjuk nilai belakang akan ditambah 1 (increment). 2. Dequeue. Operasi ini digunakan untuk mengeluarkan elemen pertama pada antrian. Elemen dalam suatu antrian dapat dikeluarkan (dequeue) selama antrian tidak dalam keaadan kosong, jika kosong maka dapat terjadi underflow. Karena pengahapusan dilakukan pada elemen yang berada di urutan atau indeks pertama, maka setelah penghapusan perlu dialkukan penggeseran setiap elemen setelahnya. 3. Display / View. Operasi ini digunakan untuk mencetak atau menampilkan semua data yang ada pada antrian. 4. IsEmpty. Operasi ini digunakan untuk mengecek kondisi dari antrian apakah kosong atau tidak. Karena pada saat dilakukan dequeue, maka perlu dipastikan bahwa antrian masih ada / tidak kosong sehingga tidak terjadi underflow. Antrian dapat dikatakan kosong jika penunjuk posisi belakang bernilai sama dengan 0. Operasi ini biasanya dibuat dalam bentuk fungsi, sehingga setiap kali fungsi ini dipanggil akan mengembalikan nilai sesuai dengan kondisi. Apabila antrian kosong maka fungsi akan mengembalikan true, sebaliknya jika tidak kosong maka akan dikembalikan false. 5. IsFull. Operasi ini digunakan untuk mengecek apakah antrian penuh atau tidak. Karena pada proses enqueue (menambahkan nilai pada antrian) perlu dipastikan bahwa enqueue tidak penuh sehingga tidak terjadi overflow. Antrian dapat dikatakan sudah penuh
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 159 apabila penunjuk posisi belakang bernilai sama dengan nilai maksimal antrian. Operasi ini biasanya dibuat dalam fungsi, sehingga setiap kali fungsi ini dipanggil maka akan mengembalikan nilai sesuai dengan kondisi. Apabila antrian penuh maka fungsi mengembalikan true, sebaliknya jika tidak penuh maka akan mengembalikan false dan program dapat melakukan enqueue. 6. Destroy / clear. Operasi ini digunakan untuk menghapus atau membersihkan semua data pada antrian. Operasi ini biasanya memanggil fungsi isEmpty untuk memastikan bahwa pada antrian terdapat nilai atau data yang dapat dihapus. Jika kosong maka akan ditampilkan pesan bahwa antrian masih kosong. 7. Peek. Operasi ini digunakan untuk mendapatkan nilai dari elemen pertama pada antrian tanpa menghapusnya 7.1.2 Representasi Dengan Array Gambar 7. 2 Queue dengan array Queue (antrian) dapat diimplementasikan dengan array. Implementasi queue dengan array, perlu memperhatikan indeks yaitu depan (front) dan belakang (rear) sehingga dapat diketahui queue kosong atau tidak. Queue dapat ditambahkan dengan
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 160 suatu elemen baru selama posisi dari rear tidak sama dengan indeks maksimum dari queue array. Untuk melakukan dequeue pada array biasanya dengan mengambil atau mengeluarkan nilai elemen pada indeks ke 0, kemudian menggeser nilai nilai selanjutnya. Jika ingin melakukan enqueue pada array, perlu mencari indeks dimana nilai elemen terakhir berada. 7.2 Latihan Praktikum 1. Program queue dalam array Gambar 7. 3 Source codeprogram queue dalam array
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 161 Gambar 7. 4 Source codeprogram queue dalam array Gambar 7. 5 Source code program queue dalam array
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 162 Gambar 7. 6 Hasil program queue dengan array
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 163 7.3 Studi Kasus 1. Queue (Antrian) Berikut ini merupakan flowchart program queue: Gambar 7. 7 Flowchart program queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 164 Penjelasan: Program dimulai dengan mendeklarasikan variabel data dengan tipedata integer. Dan mendeklarasikan *link dengan struct node. Dan mendeklarasikan NODE *front, *rear = NULL. Lalu program memanggil fungsi enqueue(), dequeue(), dan display(). Kemudian mendeklarasikan variabel choice = 1 dengan tipedata integer. Kemudian program menampilakan nama, npm, dan judul. Kemudian masuk proses penginputan nilai ke variabel choice. Kemudian masuk ke seleksi syarat jika inputan yang diterima adalah 1 maka jalankan fungsi enqueue(). Jika inputan yang diterima adalah 2 maka jalankan fungsi dequeue(). Jika inputan yang diterima adalah 3 maka jalankan fungsi display(). Jika inputan yang diterima adalah 4 maka program selesai. Jika inputan yang diterima selain dari syarat di atas maka tampilkan “pilihan tidak tersedia” lalu program akan melakukan perulangan secara terus menerus ke proses inputan nilai choice kecuali nilai yang diinputkan adalah 4 karena program akan selesai.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 165 Berikut ini merupakan source code dan compile and running: Gambar 7. 8 Source codeprogram queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 166 Gambar 7. 9 Source codeprogram queue Gambar 7. 10 Source code program queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 167 Gambar 7.15 Source codeprogram queue
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 168 Gambar 7. 11 Hasil program Queue (Antrian)
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR 169 7.4 Kesimpulan Dan Saran 7.4.1 Kesimpulan Queue (antrian) adalah salah satu list linear dari struktur data yang beroperasi dengan cara first in first out (FIFO) yaitu elemen pertama yang masuk merupakan elemen pertama yang keluar. Data-data di dalam antrian dapat bertipe integer, real, record dalam bentuk sederhana atau terstruktur. 7.4.2 Saran Pahami konsep queue dan dapat mempraktikkan sendiri dan juga dapat menyelesaikan study kasusnya.
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA LAB REKAYASA PERANGKAT LUNAK | TEKNIK INFORMATIKA UNKHAIR xi DAFTAR PUSTAKA Muhammad, S. (2013). Panduan Belajar Pemograman Tersturktur. Yogyakarta: AKPRIND PRESS. Munir, R. (2007). Algoritma dan Pemograman, jilid 1. Bandung: Informatika. Rina, F., & Patmi, K. (2018). Algoritma & Pemograman C++. Ngajuk: Adjie Media Nusantara. Suarga. (2004). Algoritma Pemrograman. Yogyakarta: Penerbit Andi. Suryadi, H. &. (1997). Algoritma dan Pemograman. Jakarta: Gundarma.