85
1 6.3 & 7.3 NESTED LOOP

03-Que-03-Deque

Embed Size (px)

DESCRIPTION

sadasd

Citation preview

Page 1: 03-Que-03-Deque

1

6.3 & 7.3NESTED LOOP

Page 2: 03-Que-03-Deque

2

Double Ended QUEUE( ANTRIAN dengan Ujung Ganda )

Page 3: 03-Que-03-Deque

3

2. 233.1 PENDAHULUAN

A deque (Double-ended queue) is a linear list in which insertion and deletions are made to or from either end of the structure Jean-Paul Tremblay;

“An Introduction To Data Structures with Applications”; McGraw-Hill, 1985

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

Tabung

Page 4: 03-Que-03-Deque

4

2. 233.1 PENDAHULUAN

A deque (Double-ended queue) is a linear list in which insertion and deletions are made to or from either end of the structure Jean-Paul Tremblay;

“An Introduction To Data Structures with Applications”; McGraw-Hill, 1985

Kalung manik

Page 5: 03-Que-03-Deque

5

2. 23

3.2. REPRESENTASI DOUBLE ENDED QUEUE dalam array satu dimensi

3.2.1. Ilustrasi

L R

Q[ ]

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

x x x

n-10 1 2 3 4 5 6 7 8 9

Page 6: 03-Que-03-Deque

6

2. 23

L R

Q[ ]

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

Proses INSERT dan DELETE

1. INSERT KANAN, Masuk dari kanan

2. INSERT KIRI, Masuk dari kiri

3. DELETE KANAN, keluar dari kanan

4. DELETE KIRI, keluar dari kiri

Page 7: 03-Que-03-Deque

7

2. 23

Kalau ada perintah masuk dari kanan,

maka akan masuk di elemen nomor : ?dan

indeks R akan menunjuk elemen nomor : ?

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Page 8: 03-Que-03-Deque

8

2. 23

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

R maju satu langkah : R = R + 1;

Page 9: 03-Que-03-Deque

9

2. 23

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12 10

n-10 1 2 3 4 5 6 7 8 9

X

Isi ditempat yang ditunjuk oleh R : Q[R] = X;

Page 10: 03-Que-03-Deque

10

2. 23

Sehingga :Kalau ada perintah masuk dari kanan,

maka akan masuk di elemen nomor : 6dan

indeks R akan menunjuk elemen nomor : 6

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12 10

n-10 1 2 3 4 5 6 7 8 9

X

Algoritma : R = R + 1; Q[R] = X;

Page 11: 03-Que-03-Deque

11

2. 23

Kalau ada perintah masuk dari kiri,

maka akan masuk di elemen nomor : ?dan

indeks L akan menunjuk elemen nomor : ?

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Page 12: 03-Que-03-Deque

12

2. 23

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

L maju satu langkah : L = L - 1;

Page 13: 03-Que-03-Deque

13

2. 23

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

10 25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Isi ditempat yang ditunjuk oleh L : Q[L] = X;

Page 14: 03-Que-03-Deque

14

2. 23

Sehingga :Kalau ada perintah masuk dari kiri,

maka akan masuk di elemen nomor : 2dan

indeks L akan menunjuk elemen nomor : 2

10L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

10 25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Algoritma : L = L - 1; Q[L] = X;

Page 15: 03-Que-03-Deque

15

2. 23

Kalau ada perintah keluar dari kanan,

maka yang akan keluar adalah isi elemen nomor : ?dan

indeks R akan menunjuk elemen nomor : ?

L

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

R

Page 16: 03-Que-03-Deque

16

2. 23

12L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Ambil isi yang ditunjuk oleh R : X = Q[R];

Page 17: 03-Que-03-Deque

17

2. 23

12L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

R mundur satu langkah : R = R - 1;

Page 18: 03-Que-03-Deque

18

2. 23

12L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7

n-10 1 2 3 4 5 6 7 8 9

X

isi elemen nomor 5 dihapusuntuk keperluan ilustrasi

Page 19: 03-Que-03-Deque

19

2. 23

Sehingga :Kalau ada perintah keluar dari kanan,

maka yang akan keluar adalah isi elemen nomor : 5dan

indeks R akan menunjuk elemen nomor : 4

12L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Page 20: 03-Que-03-Deque

20

2. 23

Kalau ada perintah keluar dari kanan,

maka yang akan keluar adalah isi elemen nomor : 5dan

indeks R akan menunjuk elemen nomor : 4

12L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7

n-10 1 2 3 4 5 6 7 8 9

X

Algoritma : X = Q[R]; R = R - 1;

isi elemen nomor 5 dihapusuntuk keperluan ilustrasi

Page 21: 03-Que-03-Deque

21

2. 23

Kalau ada perintah keluar dari kiri,

maka yang akan keluar adalah isi elemen nomor : ?dan

indeks L akan menunjuk elemen nomor : ?

L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Page 22: 03-Que-03-Deque

22

2. 23

25R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Ambil isi yang ditunjuk oleh L : X = Q[L];

L

Page 23: 03-Que-03-Deque

23

2. 23

25L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

L mundur satu langkah : L = L + 1;

Page 24: 03-Que-03-Deque

24

2. 23

25L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

7 12

n-10 1 2 3 4 5 6 7 8 9

X

isi elemen nomor 3 dihapusuntuk keperluan ilustrasi

Page 25: 03-Que-03-Deque

25

2. 23

Sehingga :Kalau ada perintah keluar dari kiri,

maka yang akan keluar adalah isi elemen nomor : 3dan

indeks L akan menunjuk elemen nomor : 4

25L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

25 7 12

n-10 1 2 3 4 5 6 7 8 9

X

Algoritma : X = Q[L]; L = L + 1;

Page 26: 03-Que-03-Deque

26

2. 23

Kalau ada perintah keluar dari kiri,

maka yang akan keluar adalah isi elemen nomor : 3dan

indeks L akan menunjuk elemen nomor : 4

25L R

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

7 12

n-10 1 2 3 4 5 6 7 8 9

X

isi elemen nomor 3 dihapusuntuk keperluan ilustrasi

Page 27: 03-Que-03-Deque

27

2. 24Prinsip Proses : bukan FIFO bukan juga LIFOtapi keluar masuk dari kedua ujungnya sesuaidengan kesempatan yang ada

Proses.

a. AWAL (Inisialisasi)

b. INSERT (Sisip, Masuk, Simpan, Tulis)

c. DELETE ( Hapus, Keluar, Ambil, Baca)

3.2.2.

3.2.3.

Page 28: 03-Que-03-Deque

28

2. 24 Algoritma dasar untuk proses AWAL (Inisialisasi),

void AWAL(void){ L = 0; R = -1; }

a.

LR

L R X

0 -1

Q[ ]

Ilustrasi hasil proses awal :

n-10 1 2 3 4 5 6 7 8 9

Page 29: 03-Que-03-Deque

29

2. 24

LR

Q[ ]

Kondisi awal :

n-10 1 2 3 4 5 6 7 8 9

Pada saat ini , proses apa yang bisa dilakukan ?

a. Insert Kananb. Insert Kiric. Delete Kanand. Delete Kiri

?

Page 30: 03-Que-03-Deque

30

2. 24

LR

Q[ ]

Kondisi awal :

n-10 1 2 3 4 5 6 7 8 9

Pada saat ini , proses apa yang bisa dilakukan ?

Jawab : Hanya Insert Kanan

R = R + 1; Q[R] = X;

Page 31: 03-Que-03-Deque

31

2. 24

Q[ ]

Insert Kanan :

n-10 1 2 3 4 5 6 7 8 9

25

X

LR

Page 32: 03-Que-03-Deque

32

2. 24

LR

Q[ ]

Insert Kanan :

n-10 1 2 3 4 5 6 7 8 9

25

X

R maju satu langkah

R = R + 1;

Page 33: 03-Que-03-Deque

33

2. 24

LR

Q[ ]

Insert Kanan :

25

n-10 1 2 3 4 5 6 7 8 9

25

X

Isi ditempat yang ditunjuk oleh R

Q[R] = X;

Page 34: 03-Que-03-Deque

34

2. 24

LR

Q[ ]

Bagaimana kalau : Insert Kiri ?

n-10 1 2 3 4 5 6 7 8 9

25

X

Page 35: 03-Que-03-Deque

35

2. 24

L

R

Q[ ]

Bagaimana kalau : Insert Kiri ?

n-10 1 2 3 4 5 6 7 8 9

25

X

L maju satu langkah

L = L - 1; Tidak Error

Page 36: 03-Que-03-Deque

36

2. 24

L

R

Q[ ]

Bagaimana kalau : Insert Kiri ?

n-10 1 2 3 4 5 6 7 8 9

25

X

Error

Isi ditempat yang ditunjuk oleh L

Q[L] = X;

Page 37: 03-Que-03-Deque

37

2. 25Algoritma dasar untuk proses INSERT

void INSERT_KIRI(void){ L = L - 1; Q[L] = X;}

b.1. Insert Kirivoid INSERT_KANAN(void){ R = R + 1; Q[R] = X;}

b.2. Insert Kanan

b.

L R

Q[ ]

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

x x x

n-10 1 2 3 4 5 6 7 8 9

Page 38: 03-Que-03-Deque

38

2. 25Algoritma dasar untuk proses DELETE

void DELETE_KIRI(void){ X = Q[L]; L = L + 1;}

c.1. Delete Kirivoid DELETE_KANAN(void){ X = Q[R]; R = R - 1;}

c.2. Delete Kanan

c.

L R

Q[ ]

INSERTKIRI

DELETEKIRI

INSERTKANAN

DELETEKANAN

x x x

n0 1 2 3 4 5 6 7 8 9-1

Page 39: 03-Que-03-Deque

39

2. 263.2.4. Kondisi Antrian

A. KOSONG Tak ada yang bisa diambil

B. PENUH b1. Penuh Kanan , Tak bisa diisi dari kanan b2. Penuh Kiri, Tak bisa diisi dari kiri

C. BISA DIISI c1. Bisa diisi dari Kanan c2. Bisa diisi dari Kiri

D. ADA ISINYA Bisa keluar baik dari kanan maupun dari kiri

Page 40: 03-Que-03-Deque

40

2. 24

Q[ ]

Ilustrasi Proses :

n-10 1 2 3 4 5 6 7 8 9

25

X

LR

- Kondisi awal- Hanya bisa Insert Kanan- Misal nilai X = 25

INSERT KANAN

Page 41: 03-Que-03-Deque

41

2. 24

Q[ ]

Ilustrasi Proses :

n-10 1 2 3 4 5 6 7 8 9

25

X

L

R

INSERT KANAN

R maju satu langkahR = R + 1;

Page 42: 03-Que-03-Deque

42

2. 24

Q[ ]

Ilustrasi Proses :

n-10 1 2 3 4 5 6 7 8 9

25

X

L R

Ilustrasi R & L

Page 43: 03-Que-03-Deque

43

2. 24

Q[ ]

Ilustrasi Proses :

25

n-10 1 2 3 4 5 6 7 8 9

25

X

L R

Isi ditempat yang ditunjuk oleh R

R == Lantrian hanya berisi satu elemen

Page 44: 03-Que-03-Deque

44

2. 24

Q[ ]

Ilustrasi Proses :

25

n-10 1 2 3 4 5 6 7 8 9

12

X

L R

INSERT KANAN

R maju satu langkahR = R + 1;

Page 45: 03-Que-03-Deque

45

2. 24

Q[ ]

Ilustrasi Proses :

1225

n-10 1 2 3 4 5 6 7 8 9

12

X

L R

Isi ditempat yang ditunjuk oleh R

R - L == 1antrian berisi 2 elemen

Page 46: 03-Que-03-Deque

46

2. 24

Q[ ]

Ilustrasi Proses :

1225

n-10 1 2 3 4 5 6 7 8 9

17

X

L R

Misal disi terus

Page 47: 03-Que-03-Deque

47

2. 24

Q[ ]

Ilustrasi Proses :

1225 17

n-10 1 2 3 4 5 6 7 8 9

17

X

L R

Isi ditempat yang ditunjuk oleh R

R - L == 1antrian berisi 2 elemen

Page 48: 03-Que-03-Deque

48

2. 24

Q[ ]

Ilustrasi Proses :

1225 17 10 15 8

n-10 1 2 3 4 5 6 7 8 9

8

X

L R

Dan seterusnya sampai kondisi seperti ini

Page 49: 03-Que-03-Deque

49

2. 24

Q[ ]

Ilustrasi Proses :

1225 17 10 15 8

n-10 1 2 3 4 5 6 7 8 9

25

X

L R

Misal satu persatu didelete dari kiri

Ambil yang ditunjuk oleh LX = Q[L];

DELETE KIRI

Page 50: 03-Que-03-Deque

50

2. 24

Q[ ]

Ilustrasi Proses :

12 17 10 15 8

n-10 1 2 3 4 5 6 7 8 9

25

X

L R

DELETE KIRI

Kemudian :

L mundur satu langkahL = L + 1;

Page 51: 03-Que-03-Deque

51

2. 24

Q[ ]

Ilustrasi Proses :

12 17 10 15 8

n-10 1 2 3 4 5 6 7 8 9

12

X

L R

Dan seterusnya didelete kiri

Page 52: 03-Que-03-Deque

52

2. 24

Q[ ]

Ilustrasi Proses :

17 10 15 8

n-10 1 2 3 4 5 6 7 8 9

12

X

L R

Dan seterusnya didelete kiri

Page 53: 03-Que-03-Deque

53

2. 24

Q[ ]

Ilustrasi Proses :

17 10 15 8

n-10 1 2 3 4 5 6 7 8 9

17

X

L R

Dan seterusnya didelete kiri

Page 54: 03-Que-03-Deque

54

2. 24

Q[ ]

Ilustrasi Proses :

10 15 8

n-10 1 2 3 4 5 6 7 8 9

17

X

L R

Sampai kondisi seperti ini

Page 55: 03-Que-03-Deque

55

2. 24

Q[ ]

Ilustrasi Proses :

X X X

n-10 1 2 3 4 5 6 7 8 9

L R

Ini yang dijadikan ilustrasi

Page 56: 03-Que-03-Deque

56

2. 24

Q[ ]

Ilustrasi Proses :

10 15 8

n-10 1 2 3 4 5 6 7 8 9

10

X

L R

Ambil lagi satu persatu (delete kiri) sampai habis

Page 57: 03-Que-03-Deque

57

2. 24

Q[ ]

Ilustrasi Proses :

15 8

n-10 1 2 3 4 5 6 7 8 9

10

X

L R

Ambil lagi satu persatu (delete kiri) sampai habis

Page 58: 03-Que-03-Deque

58

2. 24

Q[ ]

Ilustrasi Proses :

15 8

n-10 1 2 3 4 5 6 7 8 9

15

X

L R

Ambil lagi satu persatu (delete kiri) sampai habis

Page 59: 03-Que-03-Deque

59

2. 24

Q[ ]

Ilustrasi Proses :

8

n-10 1 2 3 4 5 6 7 8 9

15

X

L

R

Ambil lagi satu persatu (delete kiri) sampai habis

Page 60: 03-Que-03-Deque

60

2. 24

Q[ ]

Ilustrasi Proses :

8

n-10 1 2 3 4 5 6 7 8 9

15

X

L R

L == RAntrian hanya berisi 1 elemen

Page 61: 03-Que-03-Deque

61

2. 24

Q[ ]

Ilustrasi Proses :

8

n-10 1 2 3 4 5 6 7 8 9

8

X

L R

Ambil lagi satu persatu (delete kiri) sampai habis

Page 62: 03-Que-03-Deque

62

2. 24

Q[ ]

Ilustrasi Proses :

n-10 1 2 3 4 5 6 7 8 9

8

X

LR

L == R + 1, atauR == L - 1Antrian kosong

Page 63: 03-Que-03-Deque

63

2. 24

Q[ ]

Ilustrasi Proses :

8

n-10 1 2 3 4 5 6 7 8 9

15

X

L R

Misal bukan Delete Kiri,Tapi Delete Kanan

Page 64: 03-Que-03-Deque

64

2. 24

Q[ ]

Ilustrasi Proses :

8

n-10 1 2 3 4 5 6 7 8 9

8

X

L R

Ambil yang ditunjuk oleh RX = Q[R];

Page 65: 03-Que-03-Deque

65

2. 24

Q[ ]

Ilustrasi Proses :

8

n-10 1 2 3 4 5 6 7 8 9

8

X

LR

R mundur satu langkahR = R -1;

Page 66: 03-Que-03-Deque

66

2. 24

Q[ ]

Ilustrasi Proses :

n-10 1 2 3 4 5 6 7 8 9

8

X

LR

L == R + 1, atauR == L - 1Antrian kosong

Page 67: 03-Que-03-Deque

67

3.2.4KONDISIANTRIAN a. Kosong

b. Penuhc. Bisa Diisid. Ada Isinya

Page 68: 03-Que-03-Deque

68

2. 26 n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

KONDISI ANTRIAN :

A. KOSONG : Gambar no : ?

CIRI : ?

Page 69: 03-Que-03-Deque

69

2. 26

KONDISI ANTRIAN :

A. KOSONG : Gambar no :

CIRI :

1 5 7

L == R + 1

atauR == L - 1

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

Page 70: 03-Que-03-Deque

70

2. 26

KONDISI ANTRIAN :

B. PENUH

b1. Penuh Kanan : Gambar no : ?

CIRI : ?

b2. Penuh Kiri : Gambar no : ?

CIRI : ?

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

Page 71: 03-Que-03-Deque

71

2. 26

KONDISI ANTRIAN :

B. PENUHb1. Penuh Kanan : Gambar no :

CIRI :

b2. Penuh Kiri : Gambar no : ?

CIRI : ?

6 7

R == n-1

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

8

Page 72: 03-Que-03-Deque

72

2. 26

KONDISI ANTRIAN :

B. PENUHb1. Penuh Kanan : Gambar no :

CIRI :

b2. Penuh Kiri : Gambar no :

CIRI :

6 7

R == n-1

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

2 8

L == 0

1

8

Page 73: 03-Que-03-Deque

73

2. 26

KONDISI ANTRIAN :

B. PENUH

b3. Penuh Kanan & Kiri : Gambar no :

CIRI :

8

R == n-1 && L == 0

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

Page 74: 03-Que-03-Deque

74

2. 26

KONDISI ANTRIAN :

C. BISA DIISIc1. Bisa Diisi dari Kanan:

Gambar no : ?

CIRI : ?

b2. Bisa Diisi dari Kiri:

Gambar no : ?

CIRI : ?

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

Page 75: 03-Que-03-Deque

75

2. 26

KONDISI ANTRIAN :

C. BISA DIISIc1. Bisa Diisi dari Kanan: Gambar no :

CIRI :

b2. Bisa Diisi dari Kiri:

Gambar no : ?

CIRI : ?

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

1 2 3

4 5

R < n-1

Page 76: 03-Que-03-Deque

76

2. 26

KONDISI ANTRIAN :

C. BISA DIISIc1. Bisa Diisi dari Kanan: Gambar no :

CIRI :

b2. Bisa Diisi dari Kiri: Gambar no :

CIRI :

n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

1 2 3

4 5

R < n

3 4 5

76

L > 0

Page 77: 03-Que-03-Deque

77

2. 26 n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

KONDISI ANTRIAN :

D. ADA ISInya:

Gambar no : ?

CIRI : ?

Page 78: 03-Que-03-Deque

78

2. 26 n-1 0 1 2 3 4 5 6 7 8 9

LR

X X X X X X X

X X X X

X

X X X

L R

L R

LR

LR

L R

LR

1

2

3

4

5

6

7

X X X X X X X X X X

L R

8

KONDISI ANTRIAN :

D. ADA ISInya: Gambar no :

CIRI :

2 3 4

6 8

L < R+1 atauL <= RatauR > L-1atauR >= L

Page 79: 03-Que-03-Deque

79

2. 26KONDISI ANTRIAN :

A. KOSONG

B. PENUH :

b1. Penuh Kanan

b2. Penuh Kiri

b3. Penuh Kanan & Kiri

C. BISA DIISI:

c1. dari Kanan

c2. dari Kiri

D. ADA ISINYA 2 3 4 6 8

1 2 3 4 5

3 4 5 76

8

1 5 7

76

1 2 8

8

:

:

:

:

:

:

:

R == n-1

R < n-1

L == R+1

L < R+1

L == 0

L > 0

L==0 && R==n-1

Page 80: 03-Que-03-Deque

80

2. 29

3.2.5 Algoritma yang lengkap

untuk INSERT

dan DELETE

?

Page 81: 03-Que-03-Deque

81

2. 29

void INSERT_KIRI(void){ if ( L > 0) { L = L - 1; Q[L] = X; } else printf(“Antrian Penuh Kiri”)}

a.1. Insert Kiri

void INSERT_KANAN(void){ if (R < n-1) { R = R + 1; Q[R] = X; } else printf(“Antrian Penuh Kanan”);}

a.2. Insert Kanan

Algoritma yang lengkap untuk proses INSERTa.

Page 82: 03-Que-03-Deque

82

Algoritma yang lengkap untuk proses DELETE

void DELETE_KIRI(void){ if(L < R+1) { X = Q[L]; } L = L + 1;else printf(“Antrian Kosong”);}

b1. Delete Kiri

void DELETE_KANAN(void){ if(L < R+1) { X = Q[R]; R = R - 1; } else printf(“Antrian Kosong”);}

b2. Delete Kanan

b. 2. 29

Page 83: 03-Que-03-Deque

83

SOAL UNTUK DOUBLE ENDED QUEUE YANG DIILUSTRASIKANPADA GAMBAR DIATAS.

1. Sebutkan ciri bahwa Queue :

a.b.c.d.e.

f.g.h.

Kosong tak ada isinyaPenuhKanan, tak bisa diisi diisi dari kananPenuh Kiri, Tak bisa diisi dari kiriPenuh Total, Tak bisa diisi baik dari kanan maupun dari kiri.e1. Bisa diisi dari kanane2. Bisa diisi dari kirie3. Bisa diisi baik dari kri maupun dari kanan.Hanya bisa diisi dari kanan, dari kiri tak bisa diisiHanya bisa diisi dari kiri, dari kanan tak bisa diisiAda isinya

2. 303.3 SOAL SOAL LATIHAN MANDIRI

Q[ ] X X X

n-10 1 2 3 4 5 6 7 8 9

L R

Page 84: 03-Que-03-Deque

84

2. Tulis algoritma dasar untuk:

a.b.c.d.e.

Inisialisasi.Insert sebuah record dari kananInsert sebuah record dari kiriDelete sebuah record dari kiriDelete sebuah record dari kanan.

3. Tulis algoritma yang lengkap untuk :

a.b,c.d.

Insert sebuah record dari kananInsert sebuah record dari kiriDelete sebuah record dari kananDelete sebuah record dari kiri.

2. 30

i.j.k.l.

Hanya berisi 10 pengantriPaling banyak bisa masuk dari kiri, hanya 10 pengantriPaling banyak bisa masuk dari kanan, hanya 10 pengantriJumlah sisa tempat yang masih bisa diisi dari kanan dan dari kiri hanya ada 10 tempat (elemen)

Page 85: 03-Que-03-Deque

85

5.

4. A. Tulis algoritma yang lengkap untuk mengisi antrian dari kanan record per record sampai antrian penuh kanan, atau tak bisa diisi lagi dari kanan.

B. Tulis algoritma yang lengkap untuk mengisi antrian dari kiri record per record sampai antrian penuh kiri, atau tak bisa lagi diisi dari kiri.A. Tulis algoritma yang lengkap untuk mendelete isi antrian dari kanan record per record sampai antrian kosong

B. Tulis algoritma yang lengkap untuk mendelete isi antrian dari kiri record per record sampai antrian kosong.A. Tulis algoritma yang lengkap untuk mengisi

antrian dari kanan record per record sebanyak 10 record selama antrian belum penuh kanan. . Apabila antrian sudah penuh kanan, walaupun belum mengisi 10 record, proses pengisian dihentikan.

B. Tulis algoritma yang lengkap untuk mengisi antrian dari kiri record per record sebanyak 10 record selama amtrian belum penuh kiri. Apabila antrian sudah penuh kiri, walaupun belum mengisi 10 record, maka proses pengisian harus dihentikan.

6.

2. 30