P. 1
04-que-circular

04-que-circular

|Views: 247|Likes:
Dipublikasikan oleh Fadh100

More info:

Published by: Fadh100 on Apr 07, 2011
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

04/17/2015

pdf

text

original

6.3 & 7.

3 NESTED LOOP

1

Circular QUEUE
( ANTRIAN melingkar )

2

2. 11

2.1 PENDAHULUAN Perhatikan Linear Queue yang diilustrasikan sebagai berikut: n-1
0 1 2 3 4 5 6 7 8 9

Q[ ]

G H I
F

J
R

Linear Queue PENUH Tak Bisa Diisi Lagi walaupun Q[0] - Q[5] tak ada isinya
3

Bila dijadikan Circular Queue

2. 12

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

G H I
F

J
R

Q[9] atau Q[n] dilanjutkan ke Q[0]

4

12 n-1 0 1 2 3 4 5 6 7 8 9 G H I R F J Q[9] atau Q[n] dilanjutkan ke Q[0] 5 .Bila dijadikan Circular Queue 2.

12 n-1 0 1 2 3 4 5 6 7 8 9 K R G H I F J Q[9] atau Q[n] dilanjutkan ke Q[0] 6 .Bila dijadikan Circular Queue 2.

12 n-1 0 1 2 3 4 5 6 7 8 9 K R G H I F J Q[9] atau Q[n] dilanjutkan ke Q[0] 7 .Bila dijadikan Circular Queue 2.

12 n-1 0 1 2 3 4 5 6 7 8 9 K L R G H I F J Q[9] atau Q[n] dilanjutkan ke Q[0] 8 .Bila dijadikan Circular Queue 2.

Bila dijadikan Circular Queue 2. 12 n-1 0 1 2 3 4 5 6 7 8 9 K L R G H I F J Q[9] atau Q[n] dilanjutkan ke Q[0] 9 .

Bila dijadikan Circular Queue 2. 12 n-1 0 1 2 3 4 5 6 7 8 9 K L M R G H I F J 10 .

2.1 Ilustrasi 2. REPRESENTASI CIRCULAR QUEUE menggunakan array satu dimensi 2.2. 12 n-1 Q[ ] 0 1 2 3 4 5 6 7 8 9 x atau F x x R Q[ ] x x x R x F x x x 11 .2.

2. 12 0 1 2 3 4 5 n-1 6 7 Ilustrasi dalam array satu dimensi 0 1 2 3 4 5 6 7 n-1 12 .

Menggerakkan R atau F n 2. atau R = R + 1. if(R == n+1) R = 0. 13 Q[ ] 0 1 2 3 4 5 6 7 8 9 x F x x R if(R == n) R = 0. else R = R + 1. 13 .

n bila n = MAXSIZE . maka : R = (R+1) % MAXSIZE 14 .Menggerakkan R atau F n-1 2. 13 Q[ ] 0 1 2 3 4 5 6 7 8 9 x F x x R atau dengan menggunakan Operator % atau Librari function fmod( ) R = (R+1) % n atau R = fmod(R+1.

13 15 MOD 2 = ? MOD --> MODULUS = SISA PEMBAGIAN BILANGAN INTEGER 15 .2.

13 15 MOD 2 = 1 MOD --> MODULUS = SISA PEMBAGIAN BILANGAN INTEGER 16 .2.

13 15 15 MOD MOD 2 3 = = 1 ? MOD --> MODULUS = SISA PEMBAGIAN BILANGAN INTEGER 17 .2.

2. 13 15 15 15 15 MOD MOD MOD MOD 2 3 4 5 = = = = 1 0 18 .

2. 13 15 15 15 15 15 7 MOD MOD MOD MOD MOD MOD 2 3 4 5 15 15 = = = = = = 1 0 3 0 0 ? 19 .

2. 13 15 15 15 15 15 7 MOD MOD MOD MOD MOD MOD 2 3 4 5 15 15 = = = = = = 1 0 3 0 0 7 20 .

2. 13 15 15 15 15 15 7 R MOD MOD MOD MOD MOD MOD MOD 2 3 4 5 15 15 15 = = = = = = = 1 0 3 0 0 7 ? 21 .

2. 13 15 15 15 15 15 7 R MOD MOD MOD MOD MOD MOD MOD 2 3 4 5 15 15 15 = = = = = = = 1 0 3 0 0 7 tergantung nilai R 22 .

13 15 15 15 15 15 7 R R MOD MOD MOD MOD MOD MOD MOD MOD 2 3 4 5 15 15 15 n = = = = = = = = 1 0 3 0 0 7 tergantung nilai R ? 23 .2.

13 15 15 15 15 15 7 R R MOD MOD MOD MOD MOD MOD MOD MOD 2 3 4 5 15 15 15 n = = = = = = = = 1 0 3 0 0 7 tergantung nilai R tergantung nilai R dan nilai n 24 .2.

2. 13 R = (R+1) % n Untuk n = 10 Bila R = -1 0 1 2 3 8 9 (R+1) = 0 1 2 3 4 9 10 atau R = fmod(R+1. n) (R+1) % (n) 0 % 10 = 0 1 % 10 = 1 2 % 10 = 2 9 % 10 = 9 10 % 10 = 0 25 .

Simpan.2. Tulis) c. a. INSERT (Sisip.3 Proses. Keluar. Masuk. AWAL (Inisialisasi) b.2 Prinsip proses : FIFO (First In First Out) 2. Baca) Tidak ada RESET 26 . 14 2. DELETE ( Hapus.2. Ambil .2.

14 Ilustrasi hasil proses awal : n-1 0 1 2 3 4 5 6 7 8 9 Q[ ] R F 0 F -1 R 0 Counter 27 . } 2. R = -1. Counter = 0.a. Algoritma dasar untuk proses AWAL (Inisialisasi). void AWAL(void) { F = 0.

14 Ilustrasi hasil proses awal : n Q[ ] 0 1 2 3 4 5 6 7 8 9-1 R F 0 F -1 R 0 Counter R sekarang = -1 jadi R = (R+1) % n = (-1 + 1) % 10 = 0 % 10 = 0 28 .2.

15 c.b. } 29 . Counter++. Q[R] = X. Algoritma dasar untuk proses DELETE void DELETE(void) { X = Q[F]. Counter--. F =(F+1) % n. Algoritma dasar untuk proses INSERT void INSERT(void) { R = (R+1) % n. } 2.

2. 16 KONDISI ANTRIAN KOSONG PENUH BISA DIISI ADA ISINYA 30 .

1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG 2. 16 R 2 F : Gambar no : ? x x x x x x F 3 6 R x x x F R 3 PENUH : 4 0 R F BISA DIISI : 4 5 x x x x F R 6 x x x R x x x x F 7 ADA ISINYA : 7 x x x x x x x x x x R F n 31 .

16 R 2 F x x x x x x F 3 6 R x x x F R 3 4 0 R F 5 x x x x F R 4 6 x x x R x x x x F 7 7 x x x x x x x x x x R F n 32 .1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Ciri : ? : 1 4 2.

1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Counter = 0 2. 16 R 2 F : 1 4 x x x x x x F 3 6 R x x x F R 3 PENUH : Gambar no : ? 4 0 R F 5 x x x x F R 4 6 x x x R x x x x F 7 7 x x x x x x x x x x R F n 33 .

1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Counter = 0 2. 16 R 2 F : 1 4 x x x x x x F 3 6 R x x x F R 3 PENUH Ciri : ? : 7 4 0 R F 5 x x x x F R 4 6 x x x R x x x x F 7 7 x x x x x x x x x x R F n 34 .

16 R 2 F : 1 4 x x x x x x F 3 6 R x x x F R 3 PENUH Counter = n : 7 4 0 R F BISA DIISI : Gambar no : ? 5 x x x x F R 4 6 x x x R x x x x F 7 7 x x x x x x x x x x R F n 35 .1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Counter = 0 2.

1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Counter = 0 2. 16 R 2 F : 1 4 x x x x x x F 3 6 R x x x F R 3 PENUH Counter = n : 7 4 0 R F BISA DIISI : 4 1 5 2 6 3 4 5 x x x x F R Ciri : ? 6 x x x R x x x x F 7 7 x x x x x x x x x x R F n 36 .

16 R 2 F : 1 4 x x x x x x F 3 6 R x x x F R 3 PENUH Counter = n : 7 4 0 R F BISA DIISI : 4 1 5 2 6 3 4 5 x x x x F R Ciri : Counter < n ADA ISINYA : Gambar no : 6 x x x R x x x x F 7 ? 7 x x x x x x x x x x R F n 37 .1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Counter = 0 2.

16 R 2 F : 1 4 x x x x x x F 3 6 R x x x F R 3 PENUH Counter = n : 7 4 0 R F BISA DIISI : 4 1 5 2 6 3 4 5 x x x x F R Ciri : Counter < n ADA ISINYA : Ciri : 2 7 3 5 6 6 x x x R x x x x F 7 7 x x x x x x x x x x R F n ? 38 .1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Counter = 0 2.

16 R 2 F : 1 4 x x x x x x F 3 6 R x x x F R 3 PENUH Counter = n : 7 4 0 R F BISA DIISI : 4 1 5 2 6 3 4 5 x x x x F R Ciri : Counter < n ADA ISINYA : 2 7 3 5 6 6 x x x R x x x x F 7 7 x x x x x x x x x x R F n Ciri : Counter > 0 39 .1 0 1 2 3 4 5 6 7 8 n-1 9 0 Counter KONDISI ANTRIAN KOSONG Counter = 0 2.

Algoritma yang lengkap untuk INSERT dan DELETE 40 .

Counter++. Counter++. Algoritma yang lengkap untuk proses INSERT void INSERT(void) {if ( Counter < n) { R = (R+1) % n.a. Q[R] = X. 19 if( BISA DIISI ) Algoritma yang lengkap untuk proses INSERT dengan ¶Logika Terbalik· void INSERT(void) { if ( Counter == n) printf(³Antrian Penuh´) else { R = (R+1) % n. } 2. Q[R] = X. } else printf(³Antrian Penuh´). } 41 if ( PENUH ) } .

F = (F+1) % n. Counter--. F = (F+1) % n.b. 20 if ( ADA ISINYA ) Algoritma yang lengkap untuk proses DELETE dengan ¶Logika Terbalik· void DELETE(void) { if ( Counter == 0) printf(³Antrian Kosong´) else { X = Q[F]. Algoritma yang lengkap untuk proses DELETE void DELETE(void) { if ( Counter > 0) { X = Q[F]. } 2. } } 42 if ( KOSONG ) . Counter--. } else printf(³Antrian Kosong´).

b. Sebutkan ciri bahwa Antrian : a. d. Insert sebuah record c.2. 1. b. SOAL SOAL LATIHAN MANDIRI 0 x x x F R 2. c. f. 22 n-1 x x x x F n-1 1 0 x x x R 1 Gambar-a Gambar-b SOAL UNTUK CIRCULAR QUEUE YANG DIILUSTRASIKAN PADA DIATAS. Kosong Penuh Bisa diisi Ada isinya Hanya berisi 10 record Tempat yang kosong hanya ada 10 tempat. Delete sebuah record 3. Delete sebuah record 43 . Tulis algoritma yang lengkap untuk: b. Insert sebuah record c. 2.4. Inisialisasi. Tulis algoritma dasar untuk: a. e.

Bila antrian sudah kosong. Tulis algoritma yang lengkap untuk mendelete isi antrian record per record sebanyak 10 record selama antrian masih ada isinya. 8. 5. Tulis algoritma yang lengkap untuk mengisi antrian record per record sebanyak 10 recordselama antrian beleum penuh. walaupun belum mendelete sebanyak 10 record. Tulis algoritma yang lengkap untuk mendelete isi antrian record per record sampai antrian kosong 6. 7. 44 . 9. Tulis algoritma yang lengkap untuk mengisi antrian record per record sampai antrian penuh tak bisa diisi lagi. walaupun belum mengisi 10 record. Apabila antrian penuh. Tulis algoritma untuk menghitung dan mencetak jumlah tempat (elemen) yang ada isinya. proses pengisian dihentikan.2. 22 4. Tulis algoritma untuk menghitung dan mencetak jumlah tempat yang masih bisa diisi. maka proses delete dihentikan.

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->