Circular QUEUE 6.3 & 7.3 NESTED LOOP.

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

bentuknya, yang dapat berubah pada saat runtime.
STACK Budi arifitama.
STRUKTUR DATA PERTEMUAN 6
QUEUE.
Queue.
Algoritma dan Struktur Data
STACK (Tumpukan).
Pointer dalam Stack.
QUEUE (antrian).
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
QUEUE (ANTRIAN).
BAB2 QUEUE 6.3 & 7.3 NESTED LOOP.
Chapter 12 Antrian (Queue) Program Studi Ekstensi DTE FTUI Slides©2007.
BY YOHANA N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 1 LINKED LIST.
Linked List DELETE 6.3 & 7.3 NESTED LOOP.
LINKED LIST by Yohana N.
Double Ended QUEUE (DeQue) 6.3 & 7.3 NESTED LOOP.
Algorithm and Data Structures.
Dasar Struktur Data.
Mempelajari tipe data queue dan bagaimana menggunakan fungsi insert, remove, is_empty dan is_full. Mempelajari bagaimana mengimplementasikan queue dengan.
Circular Queue.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
STRUKTUR DATA QUEUE.
STRUKTUR DATA Queue atau Antrian.
Pertemuan : Algoritma & Struktur Data
Stack.
Universitas Budi Luhur
Program Studi Teknik Informatika
Stack.
BAB3 QUEUE 6.3 & 7.3 NESTED LOOP.
Sapta Candra Miarsa,S.T.,M.T.
LINKED LIST by Yohana N.
QUEUE Copyright 2008 by Yohana.
QUEUE Dewi Sartika, M.Kom.
QUEUE Denny Agustiawan,M.pd
Program Studi Teknik Informatika
Defri Kurniawan QUEUE Defri Kurniawan
Antrian (Queue).
Struktur Organisasi Data 2
STRUKTUR DATA QUEUE (Antrian)
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
QUEUE (ANTRIAN ) Disusun Oleh : Kelompok 2 Siti Hajar ( )
Program Studi Teknik Informatika
Program Studi Teknik Informatika
STRUKTUR DATA Chapt 5 : QUEUE Oleh : Yuli Praptomo PHS, S.Kom.
Struktur Data Khoiriya Latifa, M.Kom.
Program Studi Teknik Informatika
Nama : Siti Hajar Nim : Unit : B/III No.Hp : 0852 –
Contoh Aplikasi Sederhana
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
Program Studi Teknik Informatika
UJIAN TERDIRI ATAS 50 SOAL
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
Queue(Antrian).
Linked List 6.3 & 7.3 NESTED LOOP.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Algoritma dan Struktur Data
STRUKTUR DATA PERTEMUAN 7
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
LINKED LIST by Yohana N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked-lis...
Double STACK 6.3 & 7.3 NESTED LOOP.
Linear Doubly Linked List
Kode MK/ Pemrograman Terstruktur 2
Pertemuan – 7 Antrian / Queue (Bab 4).
Queue Algoritma dan Struktur Data.
QUEUE (Antrian).
Transcript presentasi:

Circular QUEUE 6.3 & 7.3 NESTED LOOP

Circular QUEUE ( ANTRIAN melingkar )

Q[ ] G H I J Linear Queue PENUH Tak Bisa Diisi Lagi 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 J R F Linear Queue PENUH Tak Bisa Diisi Lagi walaupun Q[0] - Q[5] tak ada isinya

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

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

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

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

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

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

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

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

Ilustrasi dalam array satu dimensi 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. 16 KONDISI ANTRIAN KOSONG PENUH BISA DIISI ADA ISINYA

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

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

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

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

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

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

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

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

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

Counter = 0 Counter > 0 Counter = n Counter < n KOSONG : 2. 16 Counter = 0 KOSONG : ADA ISINYA : Counter > 0 Counter = n PENUH : BISA DIISI : Counter < n

LATIHAN DI KELAS

KONDISI ANTRIAN KOSONG : PENUH : BISA DIISI : ADA ISINYA : 2. 16 x x x 0 1 2 3 4 5 6 7 8 9 KONDISI ANTRIAN 1 KOSONG : R F 2 x x x x x x F R PENUH : 3 x x x F R 4 BISA DIISI : R F 5 x x x F R 6 ADA ISINYA : x x x x x x R F 7 x x x x x x x x x R F

2. 16 n 0 1 2 3 4 5 6 7 8 9 Counter R F PILIH : 1. TRUE atau FALSE ? 2. TRUE atau FALSE ? 3. TRUE atau FALSE ? 4. TRUE atau FALSE ?

Algoritma yang lengkap untuk INSERT dan DELETE

Algoritma yang lengkap untuk proses INSERT 2. 19 void INSERT(void) {if ( Counter < n) { R = (R+1) % n ); Q[R] = X; Counter++; } else printf(“Antrian Penuh”); 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 ); Q[R] = X; Counter++; } } if ( PENUH )

Algoritma yang lengkap untuk proses DELETE b. Algoritma yang lengkap untuk proses DELETE 2. 20 void DELETE(void) { if (Counter > 0 ) { X = Q[F]; F = (F+1) % n ); Counter--; } else printf(“Antrian Kosong”); 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]; F = (F+1) % n ); Counter--; } if ( KOSONG )

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

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