Top Banner

of 20

Laporan 3 Fixx

Jul 06, 2018

Download

Documents

Ito Aja
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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