Anda di halaman 1dari 23

MAKALAH

PENCARIAN (SEARCHING), PENGURUTAN (SORTING), TUMPUKAN


(STACK) DAN ANTREAN (QUEUE)

Disusun Oleh:
1. Irma Syafitri
2. Amelia Susanti
3. Amanda Anggraini
4. Desti Dwi Saputri
5. Alvina Damayanti
6. Tiara Sari
7. Kadek Wahyu
Kelas : X4

SMAN 1 WAWAY KARYA


TP. 2023/2024

1
KATA PENGANTAR

Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, atas rahmat dan
hidayah-Nya, sehingga kami dapat menyelesaikan makalah ini dengan baik. Makalah ini
kami persembahkan sebagai bentuk penghormatan dan apresiasi kepada semua pihak
yang telah memberikan dukungan dan inspirasi dalam penulisan makalah ini.
Makalah ini membahas topik yang sangat penting mengenai Pencarian (Searching),
Pengurutan (Sorting), Tumpukan (Stack) Dan Antrean (Queue).
Kami juga ingin menyampaikan terima kasih kepada guru yang telah memberikan
bimbingan serta masukan yang berharga selama proses penulisan makalah ini. Dengan
bantuan mereka, kami dapat menyajikan informasi yang lebih akurat dan mendalam
mengenai topik yang kami bahas.
Kami sadari bahwa makalah ini masih jauh dari sempurna, dan masih banyak hal
yang dapat diperdalam dan dikembangkan. Namun, kami berharap makalah ini dapat
memberikan pemahaman dasar yang berguna mengenai internet dan jaringan internet
kepada pembaca.
Terima kasih atas perhatian dan dukungan Anda.
Penyusun
Kelas X4

i
DAFTAR ISI

KATA PENGANTAR........................................................................................................i

DAFTAR ISI......................................................................................................................ii

BAB I PENDAHULUAN..................................................................................................1

A. Latar Belakang..........................................................................................................1

B. Rumusan Masalah.....................................................................................................1

C. Tujuan Masalah........................................................................................................1

BAB II PEMBAHASAN...................................................................................................2

A. Pencarian (Searching)...............................................................................................2

B. Pengurutan (Sorting).................................................................................................6

C. Tumpukan (Stack).....................................................................................................8

D. Antrean (Queue)......................................................................................................10

BAB IV PENUTUP.........................................................................................................17

A. Kesimpulan..............................................................................................................17

DAFTAR PUSTAKA......................................................................................................18

ii
BAB I
PENDAHULUAN
A. Latar Belakang
Komputer dapat mengerjakan tugas-tugas yang bervariasi karena komputer dapat
diprogram. Komputer dirancang untuk mengerjakan pekerjaan yang sesuai program-
program yang diberikan kepadanya. Pemrograman berkaitan dengan aspek ilmu
pengetahuan berkaitan dengan ilmu taknik karena jarang sekali program dapat berjalan
baik saat program pertama kali ditulis. Seorang perogramer harus menguasai bahasa
yang dimiliki oleh komputer seperti bahasa pascal. Bahasa tersebut merupakan cara
komputer supaya bisa memahami apa yang diperintahkan karena komputer tidak paham
bahasa indonesia, sehingga programerlah yang harus menyusaikan dengan komputer.
Bahasa komputer mempunyai aturan-aturan yang harus diikuti.
B. Rumusan Masalah
1. Apa yang dimaksud dengan Pencarian (searching)
2. Apakah yang dimaksud dengan Pengurutan (sorting)
3. Apakah yang dimaksud dengan Tumpukan (stack)
4. Apakah yang dimaksud dengan Antrean (Queue)
C. Tujuan Masalah
1. Untuk mengetahui Pencarian (searching)
2. Untuk mengetahui Pengurutan (sorting)
3. Untuk mengetahui Tumpukan (stack)
4. Untuk mengetahui Antrean (Queue)

1
BAB II
PEMBAHASAN
A. Pencarian (Searching)
Pengertian pencarian (searching) merupakan proses yang sering digunakan
dalam pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di
dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan).
Search algoritma adalah algoritma yang menerima perintah A dan mencoba untuk
mencari record yang mana keynya adalah A. Setelah proses pencarian dilaksanakan,
akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan
(successful) atau tidak ditemukan (unsuccessfull).
1. Sequential Shearching
Adalah suatu teknik pencarian data dalam array yang akan menelusuri semua
elemen-elemen array dari awal sampai akhir, Pencarian ini menggunakan prinsip : data
yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data
tersebut ditemukan atau tidak ditemukan. Algoritma pencarian secara linear digunakan
untuk mencari sebuah nilai pada tabel sembarang. Ada dua macam cara pencarian pada
tabel. Algoritma ini mempunyai dua jenis metode yaitu dengan sentinel atau tanpa
sentinel.
Proses pencarian data dengan metode ini cukup sederhana dan mudah dipahami.
Dalam pencarian ini proses dilakukan dengan cara mencocokan data yang akan dicari
dengan semua data yang ada dalam kelompok data. Proses pencarian data dilakukan
dengan cara mencocokan data yang akan dicari dengan semua data yang ada dalam
kelompok data. Proses pencocokan data dilakukan secara berurut satu demi satu dimulai
dari data ke-1 hingga data pada ururtan terakhir. Jika data yang dicari mempunyai harga
yang sama dengan data yang ada dalam kelompok data, berarti data telah ditemukan.
Tetapi jika data yang dicari tidak ada yang cocok dengan data-data dalam sekelompok
data, berarti data tersebut tidak ada dalam sekelompok data.Selanjutnya kita tinggal
menampilkan hasil yang diperoleh tersebut. Pencarian dengan metode ini pula terbagi 2 :
1. Pencarian pada larik terurut
2. Pencarian pada larik tidak terurut

2
Ilustrasi :
Misalnya terdapat array satu dimensi sebagai berikut:
0 1 2 3 4 5 6
7

index

8 10 12 6 7 1 50 100


Value
Kemudian program akan meminta data yang akan dicari, misalnya 6 (x = 6).
Iterasi :
6 = 8 (tidak)
6 = 10 (tidak)
6 = 12 (tidak)
6 = 6 (Ya) => output : “Ada” pada index ke-2
Jika sampai data terakhir tidak ditemukan data yang sama maka output : “ data yang
dicari tidak ada”.
Contoh program menggunakan proses pencarian sequential search :

3
2. Pencarian Biner (Binary Seacrh).
Binary search adalah algoritma pencarian untuk data yang terurut. Pencarian
dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data,
kemudian membandingkan data yang dicari dengan data yang ada ditengah. Bila data
yang ditengah sama dengan data yang dicari, berarti data ditemukan. Namun, bila data
yang ditengah lebih besar dari data yang dicari, maka dapat dipastikan bahwa data yang
dicari kemungkinan berada disebelah kiri dari data tengah dan data disebelah kanan data
tengah dapat diabai.Upper bound dari bagian data kiri yang baru adalah indeks dari data
tengah itu sendiri.Sebaliknya, bila data yang ditengah lebih kecil dari data yang dicari,
maka dapat dipastikan bahwa data yang dicari kemungkinan besar berada disebelah
kanan dari data tengah. Lower bound dari data disebelah kanan dari data tengah adalah
indeks dari data tengah itu sendiri ditambah 1. Demikian seterusnya.

4
Sebuah algoritma pencarian biner (atau pemilahan biner) adalah sebuah teknik
untuk menemukan nilai tertentu dalam sebuah larik (array) linear, dengan
menghilangkan setengah data pada setiap langkah, dipakai secara luas tetapi tidak secara
ekslusif dalam ilmu komputer. Sebuah pencarian biner mencari nilai tengah (median),
melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada
sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama.
Pada intinya, algoritma ini menggunakan prinsip divide and conquer, dimana sebuah
masalah atau tujuan diselesaikan dengan cara mempartisi masalah menjadi bagian yang
lebih kecil. Algoritma ini membagi sebuah tabel menjadi dua dan memproses satu
bagian dari tabel itu saja.Algoritma ini bekerja dengan cara memilih record dengan
indeks tengah dari tabel dan membandingkannya dengan record yang hendak dicari. Jika
record tersebut lebih rendah atau lebih tinggi, maka tabel tersebut dibagi dua dan bagian
tabel yang bersesuaian akan diproses kembali secara rekursif.
Binary Search hanya bisa diterapkan jika data array sudah terurut.
Pengurutan Array bisa menggunakan jenis sorting descending atau asscending.

Ilustrasi :

 Pertama pengamilan data dimulai dari 1 posisi sampai akhir (N).


 Selanjutnya mencari posisi data yang tengah dengan menggunakan cara (posisi
awal + posisi) dibagi 2.
 Setelah itu data yang akan dicari dibandingkan dengan data yang berada di
tengah, apakah data tersebut sama atau lebih kecil, atau lebih besar.
 seandainya data tersebut lebih kecil, maka proses pencarian yang dicari dengan
posisi awal adalah posisi tengah -1.
 Apabila data lebih besar, maka proses pencarian yang dicari dengan posisi akhir
adalah tengah +1.
 Jika data memiliki kesamaan dengan kriteria yang dicari maka data telah berhasil
ditemukan.
5
Contoh program menggunakan proses pencarian binary search :

Kelebihan Sequential Search :


 Relatif lebih cepat dan efisien untuk data yg memiliki jumlah tidak terlalu
banyak.
 Algoritma pemrogramannya lebih sederhana.
Kekurangan Sequential Search :
 Kurang cepat untuk melakukan pencarian data dalam jumlah besar.
Kelebihan Binary Search :
 Untuk pencarian dalam jumlah banyak (besar), waktu searching/pencarian lebih
cepat karena data telah terurut.
Kekurangan Sinary Search :
 Data harus sudah di-sorting terlebih dahulu (keadaan terurut) agar lebih mudah
dalam pencarian yang diinginkan.

6
 Algoritma pemrogramannya lebih rumit dari sequential search.
B. Pengurutan (Sorting)
Algoritma sorting adalah suatu metode atau teknik untuk mengurutkan data atau
elemen-elemen dalam suatu struktur data secara teratur. Algoritma sorting merupakan
salah satu konsep penting dalam pemrograman, tujuannya untuk mengubah data yang
tidak teratur menjadi urutan yang teratur, misalnya dari data yang tidak terurut menjadi
data yang terurut menaik atau menurun.
Jenis Algoritma Sorting
1. Bubble Sort
Bubble Sort adalah salah satu algoritma sorting yang paling sederhana. Algoritma ini bekerja dengan
membandingkan elemen-elemen berpasangan dalam daftar dan menukar mereka jika diperlukan.
Proses ini terus berlanjut hingga semua elemen berada dalam urutan yang benar.
2. Quick Sort
Quick Sort adalah algoritma yang mengurutkan dengan lebih efisien. Ia membagi daftar menjadi dua
bagian, lalu mengurutkan setiap bagian secara terpisah. Kemudian, hasilnya digabungkan untuk
mendapatkan daftar yang terurut.

3. Merge Sort
Merge Sort juga membagi daftar menjadi dua bagian, tapi dia mengurutkan masing-masing bagian
secara terpisah dan kemudian menggabungkannya untuk mendapatkan daftar yang terurut. Algoritma
ini dikenal karena efisiensinya dalam mengurutkan data yang besar.
4. Selection Sort
Selection Sort bekerja dengan cara mencari elemen terkecil dalam daftar dan menukarnya dengan
elemen pertama. Proses ini terus berlanjut untuk elemen-elemen berikutnya hingga seluruh daftar
terurut.
5. Insertion Sort
Insertion Sort membandingkan setiap elemen dengan elemen-elemen sebelumnya dan
memasukkannya ke dalam posisi yang benar dalam daftar yang terurut. Algoritma ini efisien untuk
daftar kecil.
6. Shell Sort
Shell Sort adalah variasi dari Insertion Sort yang lebih efisien. Ia membandingkan dan menukar
elemen-elemen yang terletak dalam jarak tertentu, lalu secara bertahap mengurutkan daftar tersebut
hingga menjadi terurut.
Contoh Program Algoritma Sorting

7
def bubble_sort(arr):

n = len(arr)

for i in range(n):

swapped = False

for j in range(0, n-i-1):

if arr[j] > arr[j+1]:

arr[j], arr[j+1] = arr[j+1], arr[j] # Menukar elemen jika tidak terurut

swapped = True

# Jika tidak ada pertukaran yang dilakukan pada iterasi ini, berarti sudah terurut

if not swapped:

break

# Contoh penggunaan:

arr = [64, 34, 25, 12, 22, 11, 90]

print("Daftar sebelum diurutkan:", arr)

bubble_sort(arr)

print("Daftar setelah diurutkan:", arr)

C. Tumpukan (Stack)
Salah satu konsep yang efektif untuk menyimpan dan mengambil data adalah
“terakhir masuk sebagai pertama yang keluar” (Last In First Out/FIFO). Dengan
konsep ini, pengambilan data akan berkebalikan urutannya dengan penyimpanan data.
Stack(tumpukan) adalah sebuah kumpulan data dimana data yang diletakkan di atas
data yang lain. Dengan demikian stack adalah struktur data yang menggunakan
konsep LIFO. Elemen terakhir yang disimpan dalam stack menjadi elemen
pertama yang diambil. Dalam proses komputasi, untuk meletakkan sebuah elemen
pada bagian atas stack disebut dengan push. Dan untuk memindahkan dari tempat
teratas tersebut, kita melakukan pop.

8
Gambar 1. Ilustrasi
Stack

Ada 2 operasi paling dasar dari stack yang dapat dilakukan, yaitu :
1. Operasi push yaitu operasi menambahkan elemen pada urutan terakhir (paling
atas).
2. Operasi pop yaitu operasi mengambil sebuah elemen data pada urutan terakhir
dan menghapus elemen tersebut dari stack.

9
1. Java Stack Collection
Package Java juga menyediakan class Stack pada java.util.Stack, yang
merupakan subclass dari Vector yang menggunakan standar last-in first-out
(LIFO). Class Stack hanya digunakan untuk menentukan default constructor,
untuk membuat stack kosong. Berikut ini beberapa metode yang digunakan dalam
stack seperti terlihat
pada Tabel 11.1.
Tabel 1. Metode pada java.util.stack
Metode-metode pada kelas Stack Deskripsi
boolean empty( ) Menghasilkan nilai True jika stack kosong, dan nilai False
jika stack berisi elemen
Object peek( ) Menghasilkan elemen pada top stack, tetapi tidak me-remove.
Object pop( ) Menghasilkan elemen pada top stack, dan
mengambil/menghapus (remove) elemen tersebut.
Object push(Object Menambahkan elemen pada stack.
element )
search (Object Mencari elemen dalam stack. Jika ditemukan,menghasilkan
Element) offset dari top stack . Sebaliknya jika tidak menghasilkan nilai
–1.

2. Implementasi Stack dengan Array dan ArrayList


Selain menggunakan java stack collection, kita dapat mengimplementasikan
stack dengan menggunakan arraylist. Untuk mengimplementasikan stack digunakan
interface Stack yang berisi fungsi-fungsi berikut:
Tabel 2. Interface Stack
Interface Stack
boolean isEmpty()
mengembalikan true jika stack kosong dan false jika stack berisi elemen.
T peek()
mengambil nilai dari atas stack, jika stack kosong maka melempar (throw)
EmptyStackException
T pop()
menghapus elemen dari atas stack dan mengembalikan nilainya. Jika stack kosong
maka melempar(throw) EmptyStackException.
void push(T item)
menambahkan item di atas stack
int size()
mengembalikan jumlah elemen yang terdapat di stack.
Implementasi stack dapat menggunakan array atau arraylist.
Untuk mengimplementasikan stack menggunakan array seperti di bawah ini.

10
public class StackArr<T> implements Stack {
T value[] ;
int topOfStack ;

public boolean isEmpty(){…}


public T pop(){…}
public void push(T item){…}
public T peek(){…}
public int size() {…}
}
Sedangkan untuk mengimplementasikan stack menggunakan arraylist seperti
di bawah ini.

public class ALStack<T> implements Stack {


// storage structure
private ArrayList<T> stackList = null;
// create an empty stack by creating an empty ArrayList
public ALStack(){
stackList = new ArrayList<T>();
}
public boolean isEmpty(){…}
public T pop(){…}
public void push(T item){…}
public T peek() {…}
public int size() {…}
}

D. Antrean (Queue)
Karakteristik yang membedakan queue (antrian) dari stack adalah cara menyimpan dan
mengambil data dengan struktur first in first out (FIFO). Hal ini berarti elemen pertama
yang ditempatkan pada queue adalah yang pertama dipindahkan.
Contoh yang paling populer untuk membayangkan sebuah queue adalah antrian pada
kasir sebuah bank. Ketika seorang pelanggan datang, akan menuju ke belakang dari
antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju. Pada saat
menempatkan elemen pada ujung (tail) dari queue disebut dengan enqueue, pada saat
memindahkan elemen dari kepala (head) sebuah queue disebut dengan dequeue. Pada
Gambar 5.1 diperlihatkan sebuah queue serta proses enqueue dan dequeue.
head tail
X A B

head tail
Y A B C D E
head tail
Z C D E

11
Gambar 5.1 (1) Queue dengan 2 elemen; (2) Queue setelah proses enqueue C, D
dan E; (3) Setelah proses dequeue A dan B

1 Karakteristik Queue
Karakteristik penting dari antrian adalah :
1. Elemen antrian yaitu item-item data yang terdapat di elemen antrian
2. Front (elemen terdepan dari antrian)
3. Rear (elemen terakhir dari antrian)
4. Jumlah elemen pada antrian (Count)
5. Status antrian
Kondisi antrian yang menjadi perhatian adalah;
1. Penuh
Bila elemen pada antrian mencapai kapasitas maksimum antrian. Pada kondisi
ini, tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen
menyebabkan kondisi kesalahan Overflow.
2. Kosong
Bila tidak ada elemen pada antrian. Pada kondisi ini, tidak mngkin dilakukan
pengambilan elemen dari antrian. Pengambilan elemen menyebabkan kondisi
kesalahan Overflow.

2 Representasi Antrian
Representasi antrian secara sekuen relatif lebih sulit dibanding stack. Seperti
dijelaskan di atas bahwa antrian juga merupakan satu kumpulan data. Dengan
demikian tipe data yang sesuai untuk menyajikan antrian adalah menggunakan
array atau linked list.
a. Implementasi Antrian dengan Array
Seperti halnya pada tumpukan, maka dalam antrian kita juga mengenal ada dua
operasi dasar, yaitu menambah elemen baru yang akan kita tempatkan di
bagian belakang antrian dan menghapus elemen yang terletak di bagian depan
antrian. Disamping itu seringkali kita juga perlu melihat apakah antrian mempunyai isi
atau dalam keadaan kosong.
Operasi penambahan elemen baru selalu bisa kita lakukan karena tidak
ada pembatasan banyaknya elemen dari suatu antrian. Tetapi untuk menghapus
elemen, maka kita harus melihat apakah antrian dalam keadaan kosong atau tidak.
Tentu saja kita tidak mungkin menghapus elemen dari suatu antrian yang sudah
kosong.
Untuk menyajikan antrian menggunakan array, maka kita membutuhkan
deklarasi antrian, misalnya sebagai berikut:

12
#define MAXQUEUE 100;
typedef int ItemType;
typedef
struct{
int

Count;
int

Front;
int

Rear;
ItemType Item[MAXQUEUE];
}Queue;
Front, menunjukkan item yang paling depan, yaitu elemen yang akan dihapus jika
dilakukan operasi penghapusan. Setelah kita melakukan penghapusan, kita melakukan
increment pada indeks Front, sehingga indeks menunjuk pada posisi berikutnya. Jika
indeks ini jatuh pada angka tertinggi, yaitu angka paling maksimum dari array (N), maka
kita melakukan setting ulang ke 0.
Array Item[0:N-1] berisi N item yang merupakan isi dari antrian. Berada pada
posisi 0:N-1dimana pada posisi ini dapat diindikasikan dua pengenal, yaitu Front
dan
Rear.
Count menunjukkan jumlah item dalam antrian. Rear menunjukkan posisi
dimana setelahnya dapat dimasukkan item berikutnya.
Representasi antrian lengkap dengan operasi-operasi yang merupakan
karakteristik antrian adalah sebagai berikut:
#include
<stdio.h>
#include
<stdlib.h>
#define MAXQUEUE
100; typedef int
ItemType; typedef
struct{
int Count;
13
int Front;
int Rear;
ItemType Item[MAXQUEUE];
}Queue;

void InitializeQueue(Queue
*Q)
{
Q->Count =
0; Q-
>Front =
0; Q->Rear
= 0;
}

int Empty(Queue *Q)


{
return(Q->Count == 0);
}

int Full(Queue *Q)


{
return(Q->Count == MAXQUEUE);
}

void Insert(ItemType ins, Queue *Q)


{
if (Q->Count == MAXQUEUE)
printf("Tidak dapat memasukkan data! Queue Penuh!");
else {
Q->Item[Q->Rear] = ins;
Q->Rear = (Q->Rear + 1) % MAXQUEUE;
++(Q->Count);
}
}

void Remove(Queue *Q, ItemType *rm)


{
if (Q->Count == 0)
printf("Tidak dapat mengambil data! Queue Kosong!");
else {
*rm = Q->Item[Q->Front];

14
Q->Front = (Q->Front + 1) % MAXQUEUE;
--(Q->Count);
}
}
Program 4.1 Implementasi Antrian dengan Array

15
Jika kita meletakkan beberapa item yang baru dari antrian dalam sebuah array, maka kita
menambahkannya pada Rear dan memindah item dari Front. Dengan penambahan dan
pengurangan item ini, permasalahan akan terjadi jika ukuran dari array habis. Kita bisa
keluar dari permasalahan ini jika kita merepresentasikan antrian secara circular.
Cara mensimulasikan antrian secara circular dalam array linear menggunakan arithmetic
modular. Arithmetic modular menggunakan ekspresi rumus (X % N) untuk menjaga
besarnya nilai X pada range 0:N-1. Jika indeks telah sampai pada N dengan penambahan
atau pengurangan tersebut, maka indeks akan diset pada angka 0.
Hal yang sama juga dilakukan pada Front jika dilakukan pengambilan item dari antrian.
Setelah mengambil item dari antrian, kita melakukan increment terhadap Front untuk
penunjukan pada posisi sesudahnya. Apabila indeks telah berada pada N, maka indeks diset
juga pada angka 0.
Perintah di bawah ini merupakan perintah yang menunjukkan proses Arithmetic

Modular yang diterapkan pada antrian.

Front = (Front + 1) % N;
Rear = (Rear +1) % N;

Implementasi Antrian dengan Linked list


Antrian yang direpresentasikan dengan linked list mempunyai beberapa variasi. Pada
kesempatan kali ini hanya direpresentasikan satu macam saja. Linked list yang digunakan di
sini menggunakan struktur yang berisi pointer yang menunjuk pada simpul Front dan Rear
dari linked list. Masing-masing simpul berisi data dari antrian dan juga link yang menunjuk
pada simpul selanjutnya dari linked list, yang dinamakan Link.
#include <stdio.h>
#include <stdlib.h>
typedef int ItemType;
typedef struct QueueNodeTag {
ItemType Item;
struct QueueNodeTag *Link;
}QueueNode;
typedef struct
{ QueueNode
*Front; QueueNode
*Rear;
}Queue;

16
void InitializeQueue(Queue *Q)
{
Q->Front = NULL;
Q->Rear = NULL;
}

int Empty(Queue *Q)


{
return(Q->Front == NULL);
}

int Full(Queue *Q)


{
return 0;
}

void Insert(ItemType R, Queue *Q)


{
QueueNode *Temp;
Temp = (QueueNode *) malloc(sizeof(QueueNode));
if (Temp == NULL) {
printf("Queue tidak dapat tercipta");
}else{
Temp->Item = R;
Temp->Link = NULL;
if (Q->Rear == NULL){
Q->Front = Temp;
Q->Rear = Temp;
}else{
Q->Rear->Link=Temp;
Q->Rear = Temp;
}
}
}

17
void Remove(Queue *Q, ItemType *F)

{
QueueNode *Temp;
if (Q->Front == NULL){
printf("Queue masing kosong!");
}else{
*F = Q->Front->Item;
Temp = Q->Front;
Q->Front = Temp -> Link;
free(Temp);
if(Q->Front == NULL) Q->Rear = NULL;
}
}
Program 4.2 Implementasi Antrian dengan Linked list

18
BAB IV
PENUTUP
A. Kesimpulan
1. Pengertian pencarian (searching) merupakan proses yang sering digunakan dalam
pengelolaan data.
2. Algoritma sorting adalah suatu metode atau teknik untuk mengurutkan data atau
elemen-elemen dalam suatu struktur data secara teratur.
3. Stack(tumpukan) adalah sebuah kumpulan data dimana data yang diletakkan di atas
data yang lain.
4. Karakteristik yang membedakan queue (antrian) dari stack adalah cara menyimpan
dan mengambil data dengan struktur first in first out (FIFO).

19
DAFTAR PUSTAKA

https://analgoinformatika.wordpress.com/2016/10/10/searching-pencarian/
https://fikti.umsu.ac.id/pengertian-algoritma-sorting-pengurutan-dalam-pemrograman/
https://arna.lecturer.pens.ac.id/PrakASD_Java/Praktikum%2021-22%20-%20Stack.pdf
http://yuliana.lecturer.pens.ac.id/Struktur%20Data%20C/Teori%20SD%20-%20pdf/Data
%20Structure%20-%20Bab%204.pdf

20

Anda mungkin juga menyukai