SlideShare a Scribd company logo
1 of 53
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
BAGIAN IIBAGIAN II
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
 Abstraksi:Abstraksi:
Suatu proses yang secara sengajaSuatu proses yang secara sengaja
mengurangi rincian dari suatumengurangi rincian dari suatu
objek, dengan tujuan dapatobjek, dengan tujuan dapat
memahami objek tersebut denganmemahami objek tersebut dengan
baik atau lebih mudah atau lebihbaik atau lebih mudah atau lebih
cepatcepat
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
 Tingkatan abstraksi sesuai dengan
dengan seberapa besar rincian-
rincian dihilangkan.
 Tingkatan abstraksi dapat berbeda,
tergantung dari sudut pandang
seseorang terhadap suatu objek.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
 Contoh AbstraksiContoh Abstraksi
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
 Abstraksi Pemilik MobilAbstraksi Pemilik Mobil
 Abstraksi Sopir MobilAbstraksi Sopir Mobil
 Abstraksi Teknisi/Montir MobilAbstraksi Teknisi/Montir Mobil
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
 Abstraksi DataAbstraksi Data
1. Tipe Data Abstrak1. Tipe Data Abstrak
Tipe data yang timbul dari hasil imajinasi.Tipe data yang timbul dari hasil imajinasi.
2. Tipe Data Virtual2. Tipe Data Virtual
Tipe data yang terdapat dalam suatu bahasaTipe data yang terdapat dalam suatu bahasa
pemrograman (pemrograman (virtual processorvirtual processor).).
3. Tipe Data Fisik3. Tipe Data Fisik
Tipe data yang ada secara fisik didalam memoriTipe data yang ada secara fisik didalam memori
komputerkomputer
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
 Contoh:Contoh:
Tipe Data Atomik Terstruktur
AbstrakAbstrak Jumlah mahasiswa Tabel Suhu
VirtualVirtual Integer Array
FisikFisik Implementasi
pada PC.
Implementasi
pada PC.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
Keuntungan menggunakan TDAKeuntungan menggunakan TDA
 ModularitasModularitas
((ModularityModularity))
 Penyembunyian InformasiPenyembunyian Informasi
((Information HidingInformation Hiding))
 Kebebasan PelaksanaanKebebasan Pelaksanaan
((Implementation IndependenceImplementation Independence))
 Keutuhan DataKeutuhan Data
((Data IntegrityData Integrity))
 Penyederhanaan MasalahPenyederhanaan Masalah
((Problem SimplicityProblem Simplicity))
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Tipe Data AbstrakTipe Data Abstrak
Langkah-langkah menterjemahkan TDALangkah-langkah menterjemahkan TDA
keke
Virtual (Implementasi Tipe Data Abstrak)Virtual (Implementasi Tipe Data Abstrak)
1. Pilih bahasa pemrograman yang akan1. Pilih bahasa pemrograman yang akan
digunakan: bahasa C, Pascal, dsb.digunakan: bahasa C, Pascal, dsb.
2. Pilih cara untuk merepresentasikan2. Pilih cara untuk merepresentasikan
data dalam bentuk: array, struct, record,data dalam bentuk: array, struct, record,
set, linked-list.set, linked-list.
3. Tulis program untuk implementasi3. Tulis program untuk implementasi
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
•Sistem penyimpanan data dengan
mekanisme First In First Out (FIFO).
•Queue merupakan tipe data abstrak
yang banyak digunakan dalam printer
spooler dan berbagai algoritma untuk
simulasi, graph traversals, maximum
flow network, dsb.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
A B C D E F G H
SERVE ENQUEUE
FRONT REAR
A merupakan elemen yang pertama masuk
dan
akan menjadi elemen yang pertama keluar
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
Operasi dalam Queue
1. Create( )
Menciptakan Queue baru dalam keadaan kosong.
2. Enqueue(e)
Memasukkan data baru dari variabel e kedalam Queue.
3. Serve(*e) atau Dequeue(*e)
Mengambil data dari Queue untuk disimpan di variabel e.
4. Empty( )
Memeriksa apakah Queue dalam keadaan kosong.
5. Full( )
Memeriksa apakah Queue dalam keadaan penuh.
6. Clear( )
Menghapus semua data yang ada dalam Queue.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
Implementasi Queue dengan Array
#define pj_max 7
typedef char elemen_type;
elemen_type Queue[pj_max];
int FRONT, REAR;
void create()
{
FRONT = 1; REAR = 0;
}
int full()
{
if (REAR == pj_max-1)
return 1; else return 0;
}
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
void enqueue(elemen_type e)
{
if (!full){REAR++; Queue[REAR] = e;};
}
void dequeue(elemen_type *e)
{
if (!empty){*e = Queue[FRONT]; FRONT--;};
}
void clear()
{
FRONT = 1; REAR = 0;
}
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
A B C D E F G H
SERVE ENQUEUE
FRONT REAR
Permasalahan dengan implementasi array terjadiPermasalahan dengan implementasi array terjadi
bila dilakukan beberapa kalibila dilakukan beberapa kali serveserve kemudiankemudian
dilanjutkan dengan beberapa kalidilanjutkan dengan beberapa kali enqueueenqueue. Maka. Maka
akan didapat keadaan yang rancuakan didapat keadaan yang rancu
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0 2 3 4 5 61
FR
Operasi: Create()
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A
0 2 3 4 5 61
F R
Operasi: Enqueue(‘A’)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B
0 2 3 4 5 61
F R
Operasi: Enqueue(‘B’)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C
0 2 3 4 5 61
F R
Operasi: Enqueue(‘C’)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C D
0 2 3 4 5 61
F R
Operasi: Enqueue(‘D’)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C D E
0 2 3 4 5 61
F R
Operasi: Enqueue(‘E’)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C D E
0 2 3 4 5 61
F R
Operasi: Dequeue(&e)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C D E
0 2 3 4 5 61
F R
Operasi: Dequeue(&e)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C D E F
0 2 3 4 5 61
F R
Operasi: Enqueue(‘F’)
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C D E F
0 2 3 4 5 61
F R
Operasi: Enqueue(‘G’)
G tidak bisa masuk
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
A B C D E F
0 2 3 4 5 61
F R
G A B C D E F
0 2 3 4 5 61
FR
G tidak bisa masuk G bisa masuk
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
Implementasi Circular Queue
#define pj_max 8
typedef int elemen_type;
elemen_type Queue[pj_max];
int FRONT, REAR;
void create()
{
FRONT = 0; REAR = pj_max - 1;
}
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
int full()
{
int x;
x = REAR + 2;
x = x % pj_max;
if (x == FRONT) return 1; else return 0;
}
int empty()
{
if ((REAR + 1) % pj_max == FRONT)
return 1; else return 0;
}
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
void enqueue(element_type e)
{
if (full()) printf(“Queue Penuh !”);
else
{
REAR++;
REAR = REAR % pj_max;
Queue[REAR] = e;
}
}
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
void dequeue(element_type *e)
{
if (empty())
printf(“Queue Kosong !”);
else
{
*e = Queue[REAR] = e;
FRONT++;
FRONT = FRONT % pj_max;
}
}
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONTREAR
Operasi: Create()
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(21)
21
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(21)
21
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(21)
21
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(34)
21
34
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(68)
21
34
68
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(17)
21
34
68
17
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(53)
21
34
68
1753
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(80)
21
34
68
1753
80
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi: Enqueu(71)
21
34
68
1753
80
71
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
0
6 1
2
34
5
7
FRONT
REAR
Operasi:
Enqueu(13)
21
34
68
1753
80
71
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Circular QueueCircular Queue
Enqueue : 21, 34, 68, 17, 53, 80, 71 dan 13
0
6 1
2
34
5
7
FRONTREAR
21
34
68
17
71
80
53
13
Data ke 7, yaitu 13 tidak bisa masuk !
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
Implementasi Queue dengan Linked list
• Operasi Enqueue()
menggunakan Insert Belakang
• Operasi Dequeue()
menggunakan Delete dibagian Head
• Pointer Head berfungsi sebagai FRONT
• Pointer Tail berfungsi sebagai REAR
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
QueueQueue
Dibandingkan dengan implementasi Queue dengan array,
implementasi Queue dengan linked list mempunyai:
Keuntungan:
1. Kapasitas Queue hanya dibatasi oleh kapasitas memori komputer.
2. Penggunaan memori tergantung dari banyaknya data.
3. Tidak ada permasalahan kosong didepan, sehingga tidak perlu
Circular Queue.
Kerugian:
1. Operasi Clear memerlukan lebih banyak langkah.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
Mekanisme Priority Queue adalah :
Highest Priority In First Out – HPIFO.
Elemen yang berada didepan
adalah
elemen yang memiliki nilai prioritas tertinggi,
dengan demikian
waktu kedatangan tidak menjadi penentu.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
Priority Queue dibedakan atas dua tipe:
Ascending Priority
Queue diurutkan dengan prioritas yang menaik.
Descending Priority
Queue diurutkan dengan prioritas yang menurun.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
Representasi Priority Queue
1. Set
Data dimasukan ke dalam Queue (Enqueue)
berupa pasangan nilai elemen atau informasi
dan nilai prioritasnya.
‘A’ | 10Informasi Prioritas
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
‘B’ | 11
‘A’ | 10
‘C’ | 18
‘D’ | 15
Proses Enqueue cepat, hanya diperlukan satu langkah.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
‘A’ | 11 ‘C’ | 18
‘B’ | 11
‘D’ | 15
Proses Dequeue lama,
karena harus mencari elemen dengan prioritas tertinggi.
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
2. Array.
Proses Enqueue: sangat lama, karena perlu
mencari posisi sesuai dengan prioritasnya,
kemudian terjadi pergeseran elemen untuk
memberi tempat kepada elemen yang baru.
K 71
L 52
M 20
N 14
[1]
P 35
[2]
[3]
[4]
FRONT
REAR
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
Proses Dequeue lama,
karena pergeseran elemen-elemen kearah FRONT.
L 52
M 20
N 14
[1]
P 35
[2]
[3]
[4]
FRONT
REAR[5]
K 71
Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah
Priority QueuePriority Queue
3. Linked List
Proses Enqueue lama, karena perlu mencari
posisi sesuai dengan prioritasnya.
18
C
15
D
11
B
10
A
12
H
Front
NULL
Proses Dequeue cepat, karena elemen paling depan
adalah elemen dengan prioritas tertinggi.

More Related Content

What's hot

PM Requirement Traceability Matrix
PM Requirement Traceability Matrix PM Requirement Traceability Matrix
PM Requirement Traceability Matrix Bagus Wahyu
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)gleebelle
 
Koneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi ExtensionKoneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi ExtensionI Putu Hariyadi
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVCMichael Douglas
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tkVictor Marcelino
 
Regular Expression - TBO - Materi 4
 Regular Expression - TBO - Materi 4 Regular Expression - TBO - Materi 4
Regular Expression - TBO - Materi 4ahmad haidaroh
 
Pengantar Pemrograman Chapter 1
Pengantar Pemrograman Chapter 1Pengantar Pemrograman Chapter 1
Pengantar Pemrograman Chapter 1Dede Kurniadi
 
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisPHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisFabrízio Mello
 
構成管理のアンチパターン
構成管理のアンチパターン構成管理のアンチパターン
構成管理のアンチパターンakipii Oga
 
E-Business (Business Process and Process Model)
E-Business (Business Process and Process Model)E-Business (Business Process and Process Model)
E-Business (Business Process and Process Model)Adam Mukharil Bachtiar
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objekrizki adam kurniawan
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktoriAnggi DHARMA
 

What's hot (20)

PM Requirement Traceability Matrix
PM Requirement Traceability Matrix PM Requirement Traceability Matrix
PM Requirement Traceability Matrix
 
Bab 2 Kualitas
Bab 2 KualitasBab 2 Kualitas
Bab 2 Kualitas
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)
 
Tugas imk hta
Tugas imk htaTugas imk hta
Tugas imk hta
 
Html5
Html5Html5
Html5
 
Koneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi ExtensionKoneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi Extension
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVC
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
 
Regular Expression - TBO - Materi 4
 Regular Expression - TBO - Materi 4 Regular Expression - TBO - Materi 4
Regular Expression - TBO - Materi 4
 
Pascal Arquivos
Pascal ArquivosPascal Arquivos
Pascal Arquivos
 
Pengantar Pemrograman Chapter 1
Pengantar Pemrograman Chapter 1Pengantar Pemrograman Chapter 1
Pengantar Pemrograman Chapter 1
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demaisPHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
 
構成管理のアンチパターン
構成管理のアンチパターン構成管理のアンチパターン
構成管理のアンチパターン
 
Tipe data abstract
Tipe data abstractTipe data abstract
Tipe data abstract
 
E-Business (Business Process and Process Model)
E-Business (Business Process and Process Model)E-Business (Business Process and Process Model)
E-Business (Business Process and Process Model)
 
Penjadualan CPU
Penjadualan CPUPenjadualan CPU
Penjadualan CPU
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktori
 

More from Sunarya Marwah

Struktur data 10 (min max heap)
Struktur data 10 (min max heap)Struktur data 10 (min max heap)
Struktur data 10 (min max heap)Sunarya Marwah
 
Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)Sunarya Marwah
 
Struktur data 08 (heap)
Struktur data 08 (heap)Struktur data 08 (heap)
Struktur data 08 (heap)Sunarya Marwah
 
Struktur data 07 (b tree)
Struktur data 07 (b tree)Struktur data 07 (b tree)
Struktur data 07 (b tree)Sunarya Marwah
 
Struktur data 06 (red black tree)
Struktur data 06 (red black tree)Struktur data 06 (red black tree)
Struktur data 06 (red black tree)Sunarya Marwah
 
Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Sunarya Marwah
 
Struktur data 04 (binary tree)
Struktur data 04 (binary tree)Struktur data 04 (binary tree)
Struktur data 04 (binary tree)Sunarya Marwah
 
Struktur data 03 (stack)
Struktur data 03 (stack)Struktur data 03 (stack)
Struktur data 03 (stack)Sunarya Marwah
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listSunarya Marwah
 

More from Sunarya Marwah (10)

Struktur data 10 (min max heap)
Struktur data 10 (min max heap)Struktur data 10 (min max heap)
Struktur data 10 (min max heap)
 
Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)Struktur data 09 (double ended heap)
Struktur data 09 (double ended heap)
 
Struktur data 08 (heap)
Struktur data 08 (heap)Struktur data 08 (heap)
Struktur data 08 (heap)
 
Struktur data 07 (b tree)
Struktur data 07 (b tree)Struktur data 07 (b tree)
Struktur data 07 (b tree)
 
Struktur data 06 (red black tree)
Struktur data 06 (red black tree)Struktur data 06 (red black tree)
Struktur data 06 (red black tree)
 
Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)Struktur data 05 (bs avl tree)
Struktur data 05 (bs avl tree)
 
Struktur data 04 (binary tree)
Struktur data 04 (binary tree)Struktur data 04 (binary tree)
Struktur data 04 (binary tree)
 
Struktur data 03 (stack)
Struktur data 03 (stack)Struktur data 03 (stack)
Struktur data 03 (stack)
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
 
Struktur dataquadtree
Struktur dataquadtreeStruktur dataquadtree
Struktur dataquadtree
 

Recently uploaded

adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxmtsmampunbarub4
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmaksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmeunikekambe10
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxSyaimarChandra1
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanTPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanNiKomangRaiVerawati
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024budimoko2
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 

Recently uploaded (20)

adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmaksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanTPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 

Struktur data 02 (tipe data abstrak dan queue)

  • 1. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah BAGIAN IIBAGIAN II
  • 2. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak  Abstraksi:Abstraksi: Suatu proses yang secara sengajaSuatu proses yang secara sengaja mengurangi rincian dari suatumengurangi rincian dari suatu objek, dengan tujuan dapatobjek, dengan tujuan dapat memahami objek tersebut denganmemahami objek tersebut dengan baik atau lebih mudah atau lebihbaik atau lebih mudah atau lebih cepatcepat
  • 3. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak  Tingkatan abstraksi sesuai dengan dengan seberapa besar rincian- rincian dihilangkan.  Tingkatan abstraksi dapat berbeda, tergantung dari sudut pandang seseorang terhadap suatu objek.
  • 4. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak  Contoh AbstraksiContoh Abstraksi
  • 5. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak  Abstraksi Pemilik MobilAbstraksi Pemilik Mobil  Abstraksi Sopir MobilAbstraksi Sopir Mobil  Abstraksi Teknisi/Montir MobilAbstraksi Teknisi/Montir Mobil
  • 6. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak  Abstraksi DataAbstraksi Data 1. Tipe Data Abstrak1. Tipe Data Abstrak Tipe data yang timbul dari hasil imajinasi.Tipe data yang timbul dari hasil imajinasi. 2. Tipe Data Virtual2. Tipe Data Virtual Tipe data yang terdapat dalam suatu bahasaTipe data yang terdapat dalam suatu bahasa pemrograman (pemrograman (virtual processorvirtual processor).). 3. Tipe Data Fisik3. Tipe Data Fisik Tipe data yang ada secara fisik didalam memoriTipe data yang ada secara fisik didalam memori komputerkomputer
  • 7. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak  Contoh:Contoh: Tipe Data Atomik Terstruktur AbstrakAbstrak Jumlah mahasiswa Tabel Suhu VirtualVirtual Integer Array FisikFisik Implementasi pada PC. Implementasi pada PC.
  • 8. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak Keuntungan menggunakan TDAKeuntungan menggunakan TDA  ModularitasModularitas ((ModularityModularity))  Penyembunyian InformasiPenyembunyian Informasi ((Information HidingInformation Hiding))  Kebebasan PelaksanaanKebebasan Pelaksanaan ((Implementation IndependenceImplementation Independence))  Keutuhan DataKeutuhan Data ((Data IntegrityData Integrity))  Penyederhanaan MasalahPenyederhanaan Masalah ((Problem SimplicityProblem Simplicity))
  • 9. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Tipe Data AbstrakTipe Data Abstrak Langkah-langkah menterjemahkan TDALangkah-langkah menterjemahkan TDA keke Virtual (Implementasi Tipe Data Abstrak)Virtual (Implementasi Tipe Data Abstrak) 1. Pilih bahasa pemrograman yang akan1. Pilih bahasa pemrograman yang akan digunakan: bahasa C, Pascal, dsb.digunakan: bahasa C, Pascal, dsb. 2. Pilih cara untuk merepresentasikan2. Pilih cara untuk merepresentasikan data dalam bentuk: array, struct, record,data dalam bentuk: array, struct, record, set, linked-list.set, linked-list. 3. Tulis program untuk implementasi3. Tulis program untuk implementasi
  • 10. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue
  • 11. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue •Sistem penyimpanan data dengan mekanisme First In First Out (FIFO). •Queue merupakan tipe data abstrak yang banyak digunakan dalam printer spooler dan berbagai algoritma untuk simulasi, graph traversals, maximum flow network, dsb.
  • 12. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue A B C D E F G H SERVE ENQUEUE FRONT REAR A merupakan elemen yang pertama masuk dan akan menjadi elemen yang pertama keluar
  • 13. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue Operasi dalam Queue 1. Create( ) Menciptakan Queue baru dalam keadaan kosong. 2. Enqueue(e) Memasukkan data baru dari variabel e kedalam Queue. 3. Serve(*e) atau Dequeue(*e) Mengambil data dari Queue untuk disimpan di variabel e. 4. Empty( ) Memeriksa apakah Queue dalam keadaan kosong. 5. Full( ) Memeriksa apakah Queue dalam keadaan penuh. 6. Clear( ) Menghapus semua data yang ada dalam Queue.
  • 14. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue Implementasi Queue dengan Array #define pj_max 7 typedef char elemen_type; elemen_type Queue[pj_max]; int FRONT, REAR; void create() { FRONT = 1; REAR = 0; } int full() { if (REAR == pj_max-1) return 1; else return 0; }
  • 15. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue void enqueue(elemen_type e) { if (!full){REAR++; Queue[REAR] = e;}; } void dequeue(elemen_type *e) { if (!empty){*e = Queue[FRONT]; FRONT--;}; } void clear() { FRONT = 1; REAR = 0; }
  • 16. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue A B C D E F G H SERVE ENQUEUE FRONT REAR Permasalahan dengan implementasi array terjadiPermasalahan dengan implementasi array terjadi bila dilakukan beberapa kalibila dilakukan beberapa kali serveserve kemudiankemudian dilanjutkan dengan beberapa kalidilanjutkan dengan beberapa kali enqueueenqueue. Maka. Maka akan didapat keadaan yang rancuakan didapat keadaan yang rancu
  • 17. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 2 3 4 5 61 FR Operasi: Create()
  • 18. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A 0 2 3 4 5 61 F R Operasi: Enqueue(‘A’)
  • 19. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B 0 2 3 4 5 61 F R Operasi: Enqueue(‘B’)
  • 20. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C 0 2 3 4 5 61 F R Operasi: Enqueue(‘C’)
  • 21. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C D 0 2 3 4 5 61 F R Operasi: Enqueue(‘D’)
  • 22. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C D E 0 2 3 4 5 61 F R Operasi: Enqueue(‘E’)
  • 23. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C D E 0 2 3 4 5 61 F R Operasi: Dequeue(&e)
  • 24. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C D E 0 2 3 4 5 61 F R Operasi: Dequeue(&e)
  • 25. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C D E F 0 2 3 4 5 61 F R Operasi: Enqueue(‘F’)
  • 26. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C D E F 0 2 3 4 5 61 F R Operasi: Enqueue(‘G’) G tidak bisa masuk
  • 27. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue A B C D E F 0 2 3 4 5 61 F R G A B C D E F 0 2 3 4 5 61 FR G tidak bisa masuk G bisa masuk
  • 28. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue Implementasi Circular Queue #define pj_max 8 typedef int elemen_type; elemen_type Queue[pj_max]; int FRONT, REAR; void create() { FRONT = 0; REAR = pj_max - 1; }
  • 29. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue int full() { int x; x = REAR + 2; x = x % pj_max; if (x == FRONT) return 1; else return 0; } int empty() { if ((REAR + 1) % pj_max == FRONT) return 1; else return 0; }
  • 30. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue void enqueue(element_type e) { if (full()) printf(“Queue Penuh !”); else { REAR++; REAR = REAR % pj_max; Queue[REAR] = e; } }
  • 31. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue void dequeue(element_type *e) { if (empty()) printf(“Queue Kosong !”); else { *e = Queue[REAR] = e; FRONT++; FRONT = FRONT % pj_max; } }
  • 32. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONTREAR Operasi: Create()
  • 33. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(21) 21
  • 34. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(21) 21
  • 35. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(21) 21
  • 36. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(34) 21 34
  • 37. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(68) 21 34 68
  • 38. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(17) 21 34 68 17
  • 39. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(53) 21 34 68 1753
  • 40. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(80) 21 34 68 1753 80
  • 41. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(71) 21 34 68 1753 80 71
  • 42. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue 0 6 1 2 34 5 7 FRONT REAR Operasi: Enqueu(13) 21 34 68 1753 80 71
  • 43. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Circular QueueCircular Queue Enqueue : 21, 34, 68, 17, 53, 80, 71 dan 13 0 6 1 2 34 5 7 FRONTREAR 21 34 68 17 71 80 53 13 Data ke 7, yaitu 13 tidak bisa masuk !
  • 44. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue Implementasi Queue dengan Linked list • Operasi Enqueue() menggunakan Insert Belakang • Operasi Dequeue() menggunakan Delete dibagian Head • Pointer Head berfungsi sebagai FRONT • Pointer Tail berfungsi sebagai REAR
  • 45. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah QueueQueue Dibandingkan dengan implementasi Queue dengan array, implementasi Queue dengan linked list mempunyai: Keuntungan: 1. Kapasitas Queue hanya dibatasi oleh kapasitas memori komputer. 2. Penggunaan memori tergantung dari banyaknya data. 3. Tidak ada permasalahan kosong didepan, sehingga tidak perlu Circular Queue. Kerugian: 1. Operasi Clear memerlukan lebih banyak langkah.
  • 46. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue Mekanisme Priority Queue adalah : Highest Priority In First Out – HPIFO. Elemen yang berada didepan adalah elemen yang memiliki nilai prioritas tertinggi, dengan demikian waktu kedatangan tidak menjadi penentu.
  • 47. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue Priority Queue dibedakan atas dua tipe: Ascending Priority Queue diurutkan dengan prioritas yang menaik. Descending Priority Queue diurutkan dengan prioritas yang menurun.
  • 48. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue Representasi Priority Queue 1. Set Data dimasukan ke dalam Queue (Enqueue) berupa pasangan nilai elemen atau informasi dan nilai prioritasnya. ‘A’ | 10Informasi Prioritas
  • 49. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue ‘B’ | 11 ‘A’ | 10 ‘C’ | 18 ‘D’ | 15 Proses Enqueue cepat, hanya diperlukan satu langkah.
  • 50. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue ‘A’ | 11 ‘C’ | 18 ‘B’ | 11 ‘D’ | 15 Proses Dequeue lama, karena harus mencari elemen dengan prioritas tertinggi.
  • 51. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue 2. Array. Proses Enqueue: sangat lama, karena perlu mencari posisi sesuai dengan prioritasnya, kemudian terjadi pergeseran elemen untuk memberi tempat kepada elemen yang baru. K 71 L 52 M 20 N 14 [1] P 35 [2] [3] [4] FRONT REAR
  • 52. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue Proses Dequeue lama, karena pergeseran elemen-elemen kearah FRONT. L 52 M 20 N 14 [1] P 35 [2] [3] [4] FRONT REAR[5] K 71
  • 53. Copyright Sunarya D. MarwahCopyright Sunarya D. Marwah Priority QueuePriority Queue 3. Linked List Proses Enqueue lama, karena perlu mencari posisi sesuai dengan prioritasnya. 18 C 15 D 11 B 10 A 12 H Front NULL Proses Dequeue cepat, karena elemen paling depan adalah elemen dengan prioritas tertinggi.