8/18/2019 Laporan 3 Fixx
1/20
PRAKTIKUM STRUKTUR DATA
PRAKTIKUM 3
QUEUE
IMERSTO
NIM. 1508605059
PROGRAM STUDI TEKNIK INFORMATIKAJURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
BUKIT JIMBARAN
016
i
8/18/2019 Laporan 3 Fixx
2/20
DAFTAR ISI
DAFTAR ISI ………………………………………………………………………i
BAB I LANDASAN TEORI...................................................................................1
1.1 Queue.........................................................................................................1
1.2 Operasi-Operasi Dasar dalam Queue........................................................2
1.2.1 Prosedur rea!e Emp!"......................................................................2
1.2.2 Prosedur E#$ueue..............................................................................2
1.2.% Prosedur De$ueue..............................................................................%
1.2.& Fu#'si IsEmp!"..................................................................................%
1.2.( Fu#'si IsFull......................................................................................&
BAB II PE)BA*ASAN.........................................................................................(
2.1 Pro'ram Impleme#!asi Queue........................................................................(
2.2 Pro'ram La!i+a# Impleme#!asi Queue...........................................................,
BAB III LA)PIRAN TAS..............................................................................12
%.1 Pro'ram A#!ria# Pe#/u/ia# 0e#daraa# Bermo!or.......................................12
BAB I PENTP...............................................................................................1,
&.1 0esimpula#.................................................................................................1,
&.2 Sara#..........................................................................................................1,
DAFTAR PSTA0A.............................................................................................1
8/18/2019 Laporan 3 Fixx
3/20
BAB I
LANDASAN TEORI
1.1 Q!"!"
A#!ria# a!au Queue adala+ 3arisa# eleme# "a#' apa3ila eleme# di!am3a+ ma4a pe#am3a+a##"a
a4a# 3erada di posisi 3ela4a#' 5rear/tail 6 da# 7i4a dila4u4a# pe#'am3ila# eleme# a4a# dila4u4a# dari
eleme# "a#' pali#' depa# 5 front/head 6. Ole+ 4are#a i!u8 $ueue 3ersi9a! FIFO (Frst In First Out 68
dima#a da!a "a#' per!ama 4ali masu4 "a#' per!ama 4eluar pula.
A#!ria# dapa! di3ua! 3ai4 de#'a# arra" maupu# de#'a# s!ru/!. Namu#8 pada pem3ua!a# a#!ria#
de#'a# me#''u#a4a# arra"8 a#!ria# "a#' disa7i4a# 3ersi9a! s!a!is. I#i dise3a34a# ole+ 7umla+
ma4simal arra" suda+ di!e#!u4a# se7a4 de4larasi a:al.
;alaupu# 3er3eda impleme#!asi8 s!ru4!ur da!a $ueue se!ida4#"a +arus memili4i operasi-operasi
se3a'ai 3eri4u! <
1. E#$ueue < )emasu44a# da!a 4e dalam a#!ria#
2. De$ueue < )e#'eluar4a# da!a !erdepa# dari a#!ria#
%. lear < )e#'+apus seluru+ a#!ria#
&. IsEmp!" < )emeri4sa apa4a+ a#!ria# 4oso#'
(. IsFull < )emeri4sa apa4a+ a#!ria# pe#u+
Se3ua+ s!ru4!ur da!a dari se3ua+ a#!ria# se!ida4#"a +arus me#'a#du#' dua sampai !i'a =aria3el8
"a4#i =aria3el head "a#' a4a# 3er'u#a se3a'ai pe#a#da 3a'ia# depa# a#!ria#8 =aria3el tail "a#' a4a#
3er'u#a se3a'ai pe#a#da 3a'ia# 3ela4a#' a#!ria# da# array data dari "a#' a4a# me#"impa# da!a-da!a
"a#' dimasu44a# 4e dalam $ueue !erse3u!. )a4a u#!u4 me#de4larasi4a# s!ru4!ur da!a u#!u4 a#!ria#
i#i 4i!a dapa! me#''u#a4a# struct se3a'ai 3eri4u! <
typedef struct
{
int head, tail; int data[max+1];
} Queue;
dima#a8 #ilai max dia!as dide9i#isi4a# se3a'ai 7umla+ a#!ria# ma4simum "a#' dapa! disimpa#
dalam $ueue. Se!ela+ s!ru4!ur da!a dalam se3ua+ struct dari a#!ria# !ela+ dide9i#isi4a# de#'a# syntax
di a!as8 ma4a se!ela+ i!u dapa! di3ua! =aria3el-=aria3el 3aru "a#' me#'a/u pada !ipe da!a Q!"!" di
a!as8 misal4a# mem3ua! se3ua+ =aria3el 3er#ama #$%&'#$ "a#' 3er!ipe Q!"!"8 seper!i 3eri4u!<
Queue antrian;
Dalam ra#'4aia# struct dia!as !adi8 se3ua+ $ueue dide9i#isi4a# de#'a# array 3eru4ura#
max+18 ma4sud#"a adala+ a'ar eleme# array 4e-> !ida4 di'u#a4a# u#!u4 me#"impa# da!a8 melai#4a#
+a#"a se3a'ai !empa! si#''a+ seme#!ara u#!u4 =aria3el head da# tail . I#i 7u'a u#!u4 me#a#da4a#8 7i4a
8/18/2019 Laporan 3 Fixx
4/20
head da# head 3erada pada eleme# arra" 4e->8 3erar!i $ueue !erse3u! dalam 4o#disi 4oso#' 5!ida4 ada
da!a "a#' disimpa#6. Beri4u! adala+ ilus!rasi dari se3ua+ queue 4oso#' de#'a# u4ura# #ilai max ? ( <
1. O(")'*O(")' D#)#& +#,#- Q!"!"
Pada dasar#"a8 operasi- operasi dasar pada queue mirip de#'a# operasi
operasi dasar pada stack . Per3edaa##"a +a#"a pada prosedur push da# pop sa7a. Pada queue8 prosedur
"a#' 3er9u#'si u#!u4 memasu44a# da!a @ #ilai 4e dalam a#!ria# adala+ enqueue8 seda#'4a# prosedur
u#!u4 me#'eluar4a# da!a @ #ilai dari a#!ria# adala+ dequeue.
1..1 P&)"+!& /&"#%" E-(%
Sama pada stack 8 prosedur i#i 3er9u#'si u#!u4 me#'oso#'4a# queue de#'a# /ara mele!a44a#
head da# tail pada i#de4s array 4e->. Beri4u! merupa4a# /o#!o+ de4larasi prosedur /rea!eEmp!"
pada queue dalam Ba+asa <
void createEmpty(
{ antrian!head " #;antrian!tail " #;
}
1.. P&)"+!& E$!"!"
Prosedur i#i di'u#a4a# u#!u4 memasu44a# se3ua+ da!a @ #ilai 4e dalam $ueue. Se3elum se3ua+
da!a @ #ilai dimasu44a# 4e dalam $ueue 8 ma4a prosedur i#i !erle3i+ da+ulu mela4u4a# pe#'e/e4a#
!er+adap posisi head da# tail . i4a posisi head da# tail masi+ 3erada pada i#de4s 4e-> 5ar!i#"a a#!ria#
!erse3u! masi+ 4oso#'68 ma4a prosedur i#i a4a# me#empa!4a# head da# tail pada i#de4s 4e-1 !erle3i+
da+ulu8 se!ela+ i!u memasu44a# da!a @ #ilai 4e dalam arra" da!a $ueue. Namu#8 7i4a posisi head da# tail !ida4 3erada pada posisi 4e->8 ma4a posisi tail "a#' a4a#
di#ai44a# sa!u le=el 5!erus 3er'eser 4e i#de4s sela#7u!#"a68 7adi pada proses e#$ueue8 tail la+ "a#'
!erus 3er7ala# seiri#' de#'a# masu4#"a da!a 3aru 4e dalam a#!ria#8 seda#'4a# head a4a# selalu !e!ap
3erada di i#de4s 4e-1.
Beri4u! de4larasi prosedur e#$ueue dalam 3a+asa <
void en$ueue (int x{
if ((antrian!head "" # %% (antrian!tail "" #
{ antrian!head " 1;
antrian!tail " 1;
8/18/2019 Laporan 3 Fixx
5/20
} else { antrian!tail " antrian!tail + 1; } antrian!data[antrian!tail] " x;
}
Pada de4larasi prosedur enqueue di a!as8 prosedur memili4i se3ua+ parame!er 9ormal "a#' 3er#ama C "a#' 3er!ipe i#!e'er. Parame!er 9ormal C i#i 3er'u#a u#!u4 me#erima 4irima# #ilai dari
pro'ram u!ama 5=oid mai#566 "a4#i 3erupa se3ua+ 3ila#'a# i#!e'er "a#' a4a# dimasu44a# 4e dalam
queue.
1..3 P&)"+!& D"!"!"
Prosedur i#i di'u#a4a# u#!u4 me#'eluar4a# a!au mem3ua#' se3ua+ da!a a!au #ilai "a#' pali#'
a:al masu4 5"a#' 3erada pada posisi head, "a4#i dari "a#' pali#' depa# dalam a#!ria# !erse3u!6 4e
dalam queue. Pe4er7aa# "a#' dila4u4a# ole+ prosedur i#i adala+ me#ai44a# #ilai head sa!u le=el.
adi8 se!iap sa!u 4ali da!a di4eluar4a#8 ma4a posisi head akan #ai4 3er!am3a+ sa!u le=el.
)isal4a# head 3erada pada i#de4s 4e-18 ma4a 4e!i4a a4a# me#'eluar4a# @ me#'+apus sa!u da!a
pada posisi pali#' depa# 5pada posisi head 68 prosedur i#i a4a# me#ai44a# posisi head 4e i#de4s arra"
4e-2. Beri4u! de4larasi prosedur de$ueue dalam Ba+asa <
void &e$ueue({ if ($!head ' $!tail
{ $!head " #; $!tail " #;
} $!head " $!head + 1; }
0e!i4a posisi +ead suda+ mele:a!i posisi !ail 5+ead !ail68 3erar!i suda+ !ida4 ada la'i da!a @
#ilai di dalam $ueue !erse3u!8 ma4a saa! i!u !er7adi8 +ead da# !ail di4em3ali4a# 4e posisi 4e->8 u#!u4
dipersiap4a# 4e dalam proses a#!ria# "a#' sela#7u!#"a.
1..2 F!$)' I)E-(%
Sama seper!i 9u#'si#"a didalam s!a/48 9u#'si i#i 3er9u#'si u#!u4 mela4u4a# pe#'e/e4a# !er+adap $ueue8 apa4a+ $ueue !erse3u! 4oso#' a!au 3erisi a#!ria#. i4a
$ueue !erse3u! 4oso#' 5ar!i#"a +ead da# !ail 3erada pada posisi >8 a!au 3isa dise3u!
3a+:a +ead !ail6 ma4a 9u#'si a4a# me#am3a+4a# #ilai 1 53e#ar68 !e!api 7i4a
$ueue !erse3u! !ida4 4oso#' ma4a 9u#'si a4a# me#'em3ali4a# #ilai > 5sala+6.
Beri4u! merupa4a# /o#!o+ de4larasi 9u#'si IsEmp!" dalam 3a+asa <
int sEmpty(
{
if{((antrian!)E*&' antrian!* -- (antrian!)E*& "" #
%% (antrian!* "" #
return 1; } else
{
8/18/2019 Laporan 3 Fixx
6/20
return #; }
1..5 F!$)' I)F!,,
Fu#'si i#i 3er9u#'si u#!u4 mela4u4a# pe#'e/e4a# !er+adap queue 8 apa4a+
queue !erse3u! pe#u+ a!au !ida4. i4a queue !erse3u! pe#u+ 5ar!i#"a8 tail 3erada pada posisi max68
ma4a 9u#'si a4a# me#'em3ali4a# #ilai 1 53e#ar68 !e!api 7i4a queue !erse3u! !ida4 pe#u+ 5ar!i#"a8 tail
!ida4 3erada pada posisi max68 ma4a 9u#'si a4a# me#'em3ali4a# #ilai > 5sala+6. Beri4u! merupa4a#
/o#!o+ de4larasi 9u#'si IsFull dalam Ba+asa <
int s.ull({
if (antrian!* " max{return 1;
} else
return #;
}
BAB II
PEMBAHASAN
.1 P&- I-(,"-"$%#)' Q!"!"
/include 0stdio!h'
/include 0conio!h'
/define max
typedef struct
{
int )E*&,*; int data [max+1];
}Queue;
8/18/2019 Laporan 3 Fixx
7/20
Queue antrian;
void createEmpty(;
int sEmpty(;
int s.ull(;
void En$ueue(int x;
void &e$ueue(;
void main(
{
int la2i;
int input;
createEmpty(;
la2i"1;
3hile (la2i "" 1
{
if ((sEmpty( "" 1 -- (s.ull("" #
{ 44system(5cls5;
printf(5*ntrian masih tersedia!6n5;
printf(57asu88an nilai9 5;
scanf(5:d5, %input;
En$ueue(input;
printf(5amah &ata (14#
8/18/2019 Laporan 3 Fixx
8/20
}
int s.ull(
{
if (antrian!* "" max
return 1;
else
return #;
} void En$ueue (int x
{
if((antrian!)E*& "" # %% (antrian!* "" #
{
antrian!)E*& " 1;
antrian!* " 1;
}
else
{
antrian!* " antrian!*+1;
}
antrian!data[antrian!*] " x; }
void &e$ueue (
{
if (antrian!)E*& ' antrian!*
{
antrian!)E*& " #;
antrian!* " #;
}
antrian!)E*& " antrian!)E*& + 1;
}
Sour/e ode Pro'ram Impleme#!asi Queue
am3ar 2.1 *asil Sour/e ode Pro'ram Impleme#!asi Queue
P"$4",#)#$ P&- I-(,"-"$%#)' Q!"!"
Pro'ram i#i merupa4a# /o#!o+ impleme#!asi pro'ram $ueue "a#' seder+a#a. La#'4a+ per!ama
"a#' 4i!a la4u4a# dalam mem3ua! pro'ram i#i adala+ mem3ua! se3ua+ $ueue@a#!ria# de#'a#
me#''u#a4a# s!ru/! de#'a# #ama s!ru/!#"a "ai!u $ueue. Dalam s!ru/! !erse3u! !erdapa! dua =aria3el
3er!ipe da!a i#!e'er "ai!u +ead da# !ail. *ead da# !ail i#i di'u#a4a# se3a'ai =aria3el pe#a#da uru!a# da!a
8/18/2019 Laporan 3 Fixx
9/20
a#!ria#. Selai# i!u !erdapa! arra" da!a "a#' memili4i pa#7a#' maC8 maC disi#i suda+ 4i!a de9i#isi4a# di
a:al pro'ram 5Gde9i#e maC (6 da# memili4i pa#7a#' sesuai de#'a# a#'4a "a#' 4i!a de4larasi4a# "ai!u (.
Dalam pro'ram impleme#!asi i#i 7u'a !erdapa! 3e3erapa 9u#'si. Fu#'si per!ama "ai!u
/rea!eEmp!" "a#' memili4i 9u#'si u#!u4 merese! a#!ria# de#'a# /ara me#'4o#disi4a# 3a+:a #ilai !ail
da# +ead #"a ? > 4are#a da!a "a#' a4a# masu4 a4a# dimulai pada a#!ria# 4esa!u. Fu#'si 4edua "ai!u
IsFull "a#' memili4i 9u#'si u#!u4 me#'e/e4 apa4a+ a#!ria# suda+ pe#u+ a!au 3elum. Pe#'e/e4a# i#i
dila4u4a# de#'a# /ara me#'e/e4 apa4a+ #ilai !ail sama de#'a# maC 5!ail ? maC6 7i4a i"a ma4a 9u#'si
a4a# mem3ali4a# #ilai 1 5re!ur# 16 da# 7i4a !ida4 #ilai dari 9u#'si !erse3u! adala+ > 5re!ur# >6.
Fu#'si 4e!i'a adala+ IsEmp!" 9u#'si i#i 3er'u#a u#!u4 me#'e/e4 apa4a+ a#!ria# !erse3u! a!au
!ida4 de#'a# mela4u4a# pe#'e/e4a# +ead apa4a+ le3i+ 3esar dari !ail 5+ead !ail6 a!au +ead da# !ail #"a
3er#ilai >8 7i4a i"a #ilai 3ali4a# dari 9u#'si !erse3u! adala+ 3er#ilai 1 8 7i4a !ida4 3er#ilai >.
Fu#'si 4eempa! adala+ E#$ueue 9u#'si i#i 3er'u#a u#!u4 me#'i#pu!4a# da!a 4edalam a#!ria#8
4e!i4a a#!ria# 4oso#' !erle3i+ da+ulu 4i!a de4larasi4a# 3a+:a !ail da# +ead #"a ? 1. Lalu8 Fu#'si
e#$ueue di3ua! de#'a# /ara me#am3a+4a# #ilai =aria3el !ail de#'a# 1 da# 4emudia# i#pu!4a# da!a 3aru
di!ampu#' pada =aria3el C 4edalam =aria3el da!a de#'a# i#de4s !ail 5 a#!ria#.da!aHa#!ria#.TAIL ? C 6 .
Fu#'si !era4+ir adala+ De$ueu 9u#'si i#i 3er'u#a u#!u4 me#'eluar4a# da!a a#!ria#. Fu#'si
de$ueue di3ua! de#'a# /ara me#am3a+4a# =aria3el +ead de#'a# #ilai 1
5 a#!ria#.*EAD?a#!ria#.*EADJ1 6 8 se+i#''a da!a "a#' !erdepa# adala+ da!a sela#7u!#"a.
Se!ela+ semua 9u#'si !erse3u! di3ua!8 pro'ram memi#!a user u#!u4 memasu44a# 3ila#'a# "a#'
dimasu4a# 4edalam a#!ria# da# da!a 3aru !erse3u! di!ampu#' 4edalam =aria3el C. 0emudia# pro'ram
a4a# memi#!a user apa4a+ user i#'i# me#am3a+ da!a la'i8 7i4a user me#7a:a3 i"a ma4a pro'ram a4a#
4em3ali memi#!a i#pu!a# da!a 3aru8 7i4a user me#7a:a3 !ida4 ma4a proses e#$ueue a4a# 3era4+ir.
Se!ela+ proses e#$ueue selesai ma4a pro'ram a4a# me#ampil4a# semua da!a a#!ria# de#'a#
me#''u#a4a# perula#'a# "a#' di !iap perula#'a##"a pro'ram a4a# me#/e!a4 #ilai dari a#!ria# !erdepa#
5a#!ria#.da!aHa#!ria#.*EAD6 da# a4a# me#7ala#4a# 9u#'si de$ueue dima#a #ilai +ead a4a# !erus
3er!am3a+ . Perula#'a# i#i a4a# !erus dila4u4a# +i#''a isi a#!ria# 4oso#'.
. P&- L#%'#$ I-(,"-"$%#)' Q!"!"
/include 0stdio!h'/include 0stdli!h'/include 0conio!h'/define max
typedef struct{ int )E*&,*; int data [max+1];
}Queue;
Queue antrian;
8/18/2019 Laporan 3 Fixx
10/20
void createEmpty(;int sEmpty(;int s.ull(;void En$ueue(int x;void &e$ueue(;void =ari&ata(int input;
void main({ int la2i; int input; createEmpty(; int mencari;
la2i"1; 3hile (la2i "" 1 { if((sEmpty( "" 1 -- (s.ull("" #
{ 44system(5cls5; printf(5*ntrian masih tersedia!6n5; printf(57asu88an nilai9 5; scanf(5:d5, %input; En$ueue(input; printf(5amah &ata (14#
8/18/2019 Laporan 3 Fixx
11/20
int s.ull( { if (antrian!* "" max return 1; else return #; } void En$ueue (int x { if((antrian!)E*& "" # %% (antrian!* "" # { antrian!)E*& " 1; antrian!* " 1; } else { antrian!* " antrian!*+1; } antrian!data[antrian!*] " x; }
void &e$ueue ( { if (antrian!)E*& ' antrian!* { antrian!)E*& " #; antrian!* " #; } antrian!)E*& " antrian!)E*& + 1; }
void =ari&ata (int input{
int x; for(x"#;x0"max;x++ { 3hile(input""antrian!data[x] { printf(56n&ata :d ada pada antrian 8e>:d5, input,x; rea8; } } for(x"#;x0"max;x++ { if(input""antrian!data[x] {
return #; } } printf(56n&ata tida8 ada??6n5;}
Sour/e ode Pro'ram La!i+a# Impleme#!asi Queue
8/18/2019 Laporan 3 Fixx
12/20
am3ar 2.2 *asil E4se4usi Pro'ram La!i+a# Impleme#!asi Queue
P"$4",#)#$ P&- L#%'#$ I-(,"-"$%#)' Q!"!"
Pro'ram la!i+a# impleme#!asi $ueue +ampir sama de#'a# pro'ram impleme#!asi $ueue8 S!ru/!
"a#' di'u#a4a# dalam pro'ram i#i masi+ sama de#'a# pro'ram se3elum#"a. Pa#7a#' da!a arra"#"a pu#
sama de#'a# pro'ram se3elum#"a. Dalam pro'ram i#i 7u'a !erdapa! 9u#'si-9u#'si "a#' sama de#'a#
pro'ram se3elum#"a. Per3edaa# pro'ram i#i !erle!a4 di a4+ir pro'ram8 pada a4+ir pro'ram i#i user
dimi#!a u#!u4 me#'i#pu!4a# da!a "a#' i#'i# user /ari.
Se!ela+ pro'ram me#ampil4a# semua da!a dari a#!ria#8 user dimi#!a me#'i#pu!4a# da!a "a#'
i#'i# user /ari. Na#!i#"a pro'ram a4a# me#/ari apa4a+ i#pu!a# "a#' di/ari !erse3u! !erdapa! dalam
a#!ria# a!au !ida48 i#pu!a# user a4a# di!ampu#' dalam =aria3el me#/ari. #!u4 mela4u4a# pe#/aria#
4i!a mem3ua! se3ua+ 9u#'si 3aru "a#' 4i!a de4larasi4a# #ama#"a adala+ ariDa!a . Dalam 9u#'si i#i
4i!a memerlu4a# se3ua+ !ipe da!a i#!e'er "a#' di3eri #ama i#pu!8 "a#' 3er9u#'si u#!u4 mema#''il
i#pu!a# user dalam. 0i!a 7u'a me#de4larasi4a# =aria3el C "a#' di'u#a4a# u#!u4 mela4u4a# proses
perula#'a#. Proses perula#'a# i#i u#!u4 mela4u4a# pe#'e/e4a# apa4a+ da!a "a#' di/ari mema#' ada
didalam a#!ria# !erse3u!8 7i4a ada ma4a da!a !erse3u! a4a# di!ampil4a#. Namu#8 7i4a !ida4 ada dalam
a#!ria# ma4a pro'ram a4a# me#ampil4a# pesa# 3a+:a da!a !ida4 di!emu4a# da# pro'ram a4a# 3er+e#!i.
8/18/2019 Laporan 3 Fixx
13/20
BAB III
LAMPIRAN TUGAS
3.1 P&- A$%&'#$ /!)%-"& +' B#$/include 0stdio!h'
/include 0stdli!h'
/include 0conio!h'
/define max
typedef struct antrian@customer
{
int tail, head;
char nama[max+1][1##];
int nore8[max+1][1##];
}antrian;
antrian customer;
int s.ull(
{
if(customer!tail "" max {
return 1;
}
else
{
return #;
}
}
int sEmpty(
{
if ((customer!head ' customer!tail -- (customer!head ""#
%% (customer!tail "" #
{
8/18/2019 Laporan 3 Fixx
14/20
return 1;
}
else
{
return #;
}
}
void en$ueue(
{
if(customer!tail "" # %% customer!head "" #
{
customer!tail " 1;
customer!head " 1;
}
else
{
customer!tail++;
}
}
void de$ueue(
{
if(customer!head ' customer!tail
{
customer!tail " 1;
customer!head " 1;
}
customer!head++;
}
void createEmpty(
{
customer!tail " #;
customer!head " #;
}
void data@customer(
{
en$ueue(;
fflush(stdin;
printf(56t7asu88an nama customer6t6t9 5; 2ets(customer!nama[customer!tail];
printf(56t7asu88an no re8enin2 customer6t9 5;
scanf(5:d5,%customer!nore8;
}
void tampil8an(
{
int a,"1;
a" customer!head;
printf(56n6t*ntrian yan2 sedan2 erlan2sun29 6n5;
3hile(a 0" customer!tail
{
printf(56n6t*ntrian 8e>:d6n5,;
8/18/2019 Laporan 3 Fixx
15/20
printf(56tAama =ustomer6t9 :s6n5,customer!nama[a];
printf(56tAo Be8enin26t9 :d6n5,customer!nore8[a];
a++;++;
}
printf(56n5;
}
void main ({
int pilihan,x;
createEmpty(;
a3al9
printf(5"""""""""""""""Cro2ram *ntrian &ata =ustomer di
Dan8"""""""""""""""6n6n5;
printf(56t7enu Cilihan96n6t1!amah8an &ata
=ustomer6n6t!7elihat *ntrian =ustomer6n6tF!=ustomer Gan2 Hedan2
&ilayani5;
printf(56n6t7asu88an pilihan anda 9 5;
scanf(5:d5, %pilihan;
if(pilihan""1{ x " 1;
3hile (x "" 1
{
if((sEmpty(""1 -- (s.ull(""#
{
printf(56n6t*ntrian masih tersedia6n5;
data@customer(;
printf(56tamah data customer< (14#6t9 5;
scanf(5:d5,%x;
}
else if(s.ull(""1
{ printf(56t*ntrian sudah Cenuh6n5;
x " #;
}
}
}
else if(pilihan""
{ if(sEmpty( "" 1
{
printf(56t*ntrian masih 8oson26n5;
}
else
{ tampil8an(;
}
}
else
{ if(sEmpty( "" 1
{
printf(56t*ntrian masih 8oson2, elum ada data
customer?6n5;
}
else
{
de$ueue(;
printf(56t=ustomer yan2 sedan2 dilayani adalah
:s6n5,customer!nama[customer!head>1];
8/18/2019 Laporan 3 Fixx
16/20
}
}
printf(56n5;
system(5pause5;
2oto a3al;
}
Sour/e ode Pro'ram A#!ria# us!omer di Ba#4
am3ar %.1 *asil e4se4usi Pro'ram A#!ria# us!omer di Ba#4
5proses e#$ueue6
am3ar %.2 *asil e4se4usi pro'ram saa! me#ampil4a# da!a "a#' 3erada di a#!ria#
8/18/2019 Laporan 3 Fixx
17/20
am3ar %.% *asil e4se4usi pro'ram u#!u4 pili+a# me#/u/i 4e#daraa# sesuai de#'a# da!a
"a#' 3erada di a#!ria# 5proses de$ueue6
P"$4",#)#$ P&- A$%&'#$ /!)%-"& +' B#$
Pro'ram a#!ria# /us!omer di 3a#4 i#i di3ua! de#'a# me#'apli4asi4a# +al-+al !e#!a#'
$ueue sesuai pro'ram-pro'ram "a#' suda+ di3ua! se3elum#"a. La#'4a+ per!ama "a#' 4i!a
la4u4a# dalam mem3ua! pro'ram i#i adala+ mem3ua! se3ua+ $ueue de#'a# me#''u#a4a#
s!ru/! de#'a# #ama s!ru/!#"a "ai!u a#!ria#K/us!omer. Dalam s!ru/! !erse3u! !erdapa! dua
=aria3el 3er!ipe da!a i#!e'er "ai!u +ead da# !ail. *ead da# !ail i#i di'u#a4a# se3a'ai =aria3el
pe#a#da uru!a# da!a a#!ria#. Selai# i!u !erdapa! arra" da!a "a#' memili4i pa#7a#' maC8 maCdisi#i suda+ 4i!a de9i#isi4a# di a:al pro'ram 5Gde9i#e maC (6 da# memili4i pa#7a#' sesuai
de#'a# a#'4a "a#' 4i!a de4larasi4a# "ai!u (. S!ru/! !erse3u! 7u'a memua! !ipe da!a /+ar "ai!u
#ama8 da# !ipe da!a i#!e'er "ai!u #ore4 "a#' masi#'-masi#' da!a 3erisi4a# arra". 0emudia#
s!ru/! !erse3u! sela#7u!#"a memili4i =aria3el /us!omer.
Dalam pro'ram i#i 7u'a !erdapa! 3e3erapa 9u#'si. Fu#'si per!ama "ai!u IsFull "a#'
memili4i 9u#'si u#!u4 me#'e/e4 apa4a+ a#!ria# suda+ pe#u+ a!au 3elum. Pe#'e/e4a# i#i
dila4u4a# de#'a# /ara me#'e/e4 apa4a+ #ilai !ail sama de#'a# maC 5!ail ? maC6 7i4a i"a
ma4a 9u#'si a4a# mem3ali4a# #ilai 1 5re!ur# 16 da# 7i4a !ida4 #ilai dari 9u#'si !erse3u! adala+
8/18/2019 Laporan 3 Fixx
18/20
> 5re!ur# >6. Fu#'si 4edua adala+ IsEmp!" 9u#'si i#i 3er'u#a u#!u4 me#'e/e4 apa4a+ a#!ria#
!erse3u! a!au !ida4 de#'a# mela4u4a# pe#'e/e4a# +ead apa4a+ le3i+ 3esar dari !ail 5+ead
!ail6 a!au +ead da# !ail #"a 3er#ilai >8 7i4a i"a #ilai 3ali4a# dari 9u#'si !erse3u! adala+ 3er#ilai
1 8 7i4a !ida4 3er#ilai >.
Terdapa! 7u'a 9u#'si e#$ueue da# 9u#'si de$ueue8 dima#a 9u#'si e#$ueue di'u#a4a#
u#!u4 memasu44a# da!a 4e dalam a#!ria# /us!omer di 3a#48 da# 7i4a e#$ueue dila4u4a# ma4a
=aria3el !ail a4a# !erus me#erus 3er!am3a+ 1 i#de4s#"a. Seda#'4a# 9u#'si de$ueue se#diri
u#!u4 me#'eluar4a# da!a di a#!ria#. Dima#a 7i4a proses de$ueue dila4u4a# ma4a =aria3el
+ead a4a# !erus me#erus 3er!am3a+ 1 i#de4s#"a.
Terdapa! 7u'a 9u#'si /rea!eEmp!" "a#' memili4i 9u#'si u#!u4 merese! a#!ria# de#'a#
/ara me#'4o#disi4a# 3a+:a #ilai !ail da# +ead #"a ? > 4are#a da!a "a#' a4a# masu4 a4a#
dimulai pada a#!ria# 4esa!u. Fu#'si 4edua "ai!u IsFull "a#' memili4i 9u#'si u#!u4 me#'e/e4 apa4a+ a#!ria# suda+ pe#u+ a!au 3elum. Pe#'e/e4a# i#i dila4u4a# de#'a# /ara me#'e/e4
apa4a+ #ilai !ail sama de#'a# maC 5!ail ? maC6 7i4a i"a ma4a 9u#'si a4a# mem3ali4a# #ilai 1
5re!ur# 16 da# 7i4a !ida4 #ilai dari 9u#'si !erse3u! adala+ > 5re!ur# >6. Lalu !era4+ir adala+
9u#'si !ampil4a# "a#' 3er'u#a u#!u4 me#ampil4a# da!a dalam a#!ria#.
Se!ela+ semua 9u#'si di3ua!8 ma4a sela#7u!#"a masu4 4e dalam me#u u!ama dari
pro'ram !erse3u! dalam me#u u!ama !erse3u! !erle3i+ da+ulu 4i!a me#de4larasi4a# =aria3el
pili+a# da# C. Lalu a4a# di!ampil4a# me#u "a4#i u#!u4 me#am3a+ da!a 4e dalam
a#!ria#5e#$ueue68 u#!u4 meli+a! da!a di a#!ria#8 da# u#!u4 meli+a! /us!omer "a#' seda#'
dila"a#i5de$ueue6 sesuai de#'a# pili+a# user. Pili+a# user i#i a4a# disimpa# dalam =aria3el
pili+a#. i4a user memili+ pili+a# 1 ma4a user a4a# dimi#!a me#'i#pu! 3e3erapa da!a "ai!u
#ama /us!omer da# #o re4e#i#'#"a. Lalu pro'ram a4a# me#a#"a4a# apa4a+ user i#'i#
me#am3a+ da!a la'i a!au !ida48 pili+a# i#i a4a# disimpa# dalam =aria3el C. i4a user memili+
18 ma4a a4a# dimi#!a me#'i#pu! da!a la'i 3e'i!u se!erus#"a +i#''a a#!ria# pe#u+ a!au 7i4a
user memili+ > ma4a pro'ram a4a# 4em3ali 4e me#u u!ama.
i4a user memili+ pili+a# 2. )a4a pro'ram a4a# me#ampil4a# da!a-da!a a#!ria# "a#'
se3elum#"a !ela+ dii#pu!4a# ole+ user pada pili+a# 1. Lalu ada peri#!a+ press any key u#!u4
me#'a#!ar user 4em3ali 4e me#u u!ama. i4a user memili+ pili+a# %. )a4a da!a /us!omer
"a#' ada di a#!ria# a4a# di proses da# a4a# dila"a#i8 ser!a a4a# di!ampila4# ole+ pro'ram
#ama /us!omer "a#' seda#' dila"a#i.
8/18/2019 Laporan 3 Fixx
19/20
BAB IV
PENUTUP
2.1 K")'-(!,#$
A#!ria# 5Queue adala+ 3arisa# eleme# a!au 4umpula# da!a !ers!ru4!ur "a#' apa3ila 7i4a
sua!u eleme# di!am3a+ ma4a pe#am3a+a##"a a4a# 3erada di posisi 3ela4a#' 5 rear/tail 6 da#
7i4a dila4u4a# pe#'am3ila# eleme# a4a# dila4u4a# dari eleme# "a#' pali#' depa#
5 front/head 6. Ole+ 4are#a i!u a#!ria# me#''u#a4a# pri#sip FIFO(First In First Out a!au
da!a a!au eleme# "a#' per!ama 4ali masu4 a4a# per!ama 4ali 7u'a di4eluar4a# dari 7e7era#
a#!ria# !erse3u! 3er3eda de#'a# s!a/4 "a#' me#''u#a4a# LIFO5Las! I# Firs! Ou!6 7adi 3ias
di3ila#' $ueue i#i adala+ 4e3ali4a# dari 9u#'si s!a/4. Dalam $ueue 7u'a !erdapa! =aria3el
4+usus "ai!u +ead da# !ail se3a'ai pe#a#da uru!a# $ueue.
2. S#$
Queue sa"a rasa sa#'a! pe#!i#' u#!u4 dipela7ari se/ara le3i+ me#dalam. Teru!ama 3a'i
4i!a se3a'ai ma+asis:a ilmu 4ompu!er. Ba#"a4 impleme#!asi $ueue "a#' 3er+u3u#'a#
de#'a# 4e'ia!a# se+ari-+ari "a#' !e#!u#"a mem3a#!u seora#' pro'rammer dalam
meme#u+i permi#!aa# /lie#!. 0i!a 7u'a +arus mema+ami de#'a# 3e#ar pri#sip 4er7a s!a/4
"ai!u FIFO5Firs! I# Firs! Ou!6.
8/18/2019 Laporan 3 Fixx
20/20