algoritmadan strukturdata ii & kekurangan • kelebihan-struktur data paling mudah-memori...

60
Algoritma Dan Struktur Data II

Upload: phamdat

Post on 17-Mar-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Algoritma Dan Struktur Data II

Page 2: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Array dan Matriks

Page 3: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apa itu Struktur Data ?

PROGRAM

ALGORITMA

STRUKTUR

DATA

Page 4: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Algoritma …..

deskripsi langkah-langkah

penyelesaian masalah

yang tersusun secara logis yang tersusun secara logis 1. ditulis dengan notasi khusus2. notasi mudah dimengerti3. notasi dapat diterjemahkan menjadi

sintaks suatu bahasa pemrograman

Page 5: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Struktur Data …..

model logika/matematik

yang secara khusus

mengorganisasi data mengorganisasi data

Page 6: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Contoh Struktur Data …..

Array A satu dimensi :

8 indeks (1 s/d 8) dan data 1, 7, 18 dst.

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8

Page 7: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Contoh Struktur Data …..

Array B dua dimensi (matriks) :

- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.

1 2 3

18 03 69

24 08 70

1

2

1 2 3

Page 8: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Contoh Struktur Data …..

List Berkait / Senarai

Page 9: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Contoh Struktur Data …..

Tumpukan dengan tiga data( 18, 03, dan 69 yang merupakan

posisi terakhir / TOP )

69

03

<< TOP

18

Page 10: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Contoh Struktur Data …..

A

Pohon dengan akar A

B C D

E F

Page 11: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Struktur Data …..

Tempat

Penyimpanan Data

Operasi

terhadap dataPenyimpanan Data terhadap data

• Traversal (Traversing) : mengunjungi setiap elemen SD• Pencarian (Searching) : menemukan elemen/lokasi padaSD

• Penyisipan (Inserting) : menambah elemen baru pada SD

• Penghapusan (Deleting) : menghapus elemen dari SD

Page 12: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Kita lanjutkan Kita lanjutkan

untuk yang satu ini …..untuk yang satu ini …..

Page 13: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Struktur Data :Struktur Data : Array / LarikArray / Larik

Tujuan

Membahas struktur data yang paling sederhana dan

mudah pengoperasiannya, yaitu array / larik.

DefinisiDefinisi

struktur data yang mengacu pada sekumpulan

elemen yang diakses melalui indeks

Page 14: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

KELEBIHAN & KEKURANGAN

• KELEBIHAN- Struktur Data paling mudah

� - Memori ekonomis, bila semua elemen terisi

� - Waktu akses sama ke setiap elemen

Array / LarikArray / Larik

� KEKURANGAN- Boros memori jika banyak elemen yang tidak digunakan

� - Struktur Data Statis

Page 15: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

CONTOH PROSES Array / LarikArray / Larik

ALGORITMA

For Indeks � 1 to N do

PROSES LARIK

Endfor

�Mengisi elemen larik dengan 0 (inisialisasi)

�Mengisi elemen larik dari pirantimasukan

�Mencetak elemen larik ke pirantikeluaran

Endfor

Page 16: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

INISIALISASIArray / LarikArray / Larik

ALGORITMA

For Indeks � 1 to 8 do

A[Indeks]A[Indeks] == 00

EndforEndfor

0 0 0 0 0 0 0 0

Page 17: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

INPUT ELEMENArray / LarikArray / Larik

ALGORITMA

For Indeks � 1 to 8 do

Input A[Indeks]A[Indeks]

Endfor

? 1

? 3

? 5Endfor

1 3 5 7 2 9 4 7

Page 18: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

CETAK ELEMENArray / LarikArray / Larik

ALGORITMA

For Indeks � 1 to 8 do

Print A[Indeks]A[Indeks]

Endfor

13572947

Endfor

1 3 5 7 2 9 4 7

Page 19: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Array vs Struct

• Array : penampung sejumlah data sejenis (yang memiliki type data yang sama) dengan menggunakan satu identifier

• Elemen array dapat diakses dengan menggunakan index, dari nol sampai n-1 (n: jumlah elemen array)jumlah elemen array)

Contoh :

int x[5];

printf(“%d”,x[3]);

Page 20: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Array vs Struct

• Struct: struktur data yang menggabungkan beberapa data dengan tipe yang berbeda, tetapi berkaitan

• Elemen struct dapat diakses dengan menggunakan dot operator dan arrow operator.

Page 21: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Struct

Gabungan beberapa variable dengan tipe yang berbeda

学籍番号名前生年月日

学籍番号名前学籍番号名前

struct NILAI {

char nama[100];

float math;

float biology;生年月日体重身長

名前生年月日体重身長

名前生年月日体重身長

nama

Nilai math

Nilai biology

Nilai geography

Nilai English

Nilai Bhs.Indonesia

Nilai rata-rata

float biology;

float geography;

float english;

float bi;

float ratarata;

};

struct NILAI p[10];

Deklarasi struct

Page 22: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Struct

Gabungan beberapa variable dengan tipe yang berbeda

学籍番号名前生年月日

学籍番号名前学籍番号名前学籍番号

struct NILAI {

char nama[100];

float math;

float biology;生年月日体重身長

名前生年月日体重身長

名前生年月日体重身長

学籍番号名前生年月日体重身長

学籍番号名前生年月日体重身長

nama

Nilai math

Nilai biology

Nilai geography

Nilai English

Nilai Bhs.Indonesia

Nilai rata-rata

float biology;

float geography;

float english;

float bi;

float ratarata;

} p[10];

Page 23: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Beberapa Jenis Struktur Data

1. Array 1. Linear List2. Stack3. Queue

1. Apa ?

2. Bagaimana cara implementasinya ?3. Queue

2. List1. Connected List2. Circular List3. Doubly-linked List4. Multi list structure

3. Tree Structure

2. Bagaimana cara implementasinya ?

Page 24: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Linear ListLinear List

Page 25: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Linear List itu ?

• Sekumpulan elemen yang diatur secara terurut

][,],1[],[],1[,],2[],1[ nxkxkxkxxx LL +−

• Linear List tidak sama dengan Connected-List

][,],1[],[],1[,],2[],1[ nxkxkxkxxx LL +−

Page 26: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Operasi pada Linear List

No. Operasi

1 Menambahkan sebuah elemen sebelum elemen ke-k

2 Menghapus elemen ke-k2 Menghapus elemen ke-k

3 Membaca/menulis isi elemen ke-k

4 Mencari elemen dengan key tertentu

5 Menggabungkan beberapa list menjadi satu

6 Memecah sebuah list ke beberapa buah

7 Mengcopy sebuah list

8 Menghitung banyaknya elemen dalam sebuah list

Page 27: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

List, Stack & Queue

• Tidak semua operasi list diperlukan pada setiap program

▫ Penentuan struktur data didasarkan pada operasi yang diperlukan saja agar bisa berjalan dengan efisien

• Pada sebuah Linear List, penyisipan dan penghapusanelemen dapat dijalankan di sebarang posisi

• Pada sebuah Linear List, penyisipan dan penghapusanelemen dapat dijalankan di sebarang posisi

• Bentuk khusus linear list:Penambahan elemen dan penghapusannyadilakukan di posisi terdepan atauposisi terbelakang saja

Stack

Queue

Stack dan Queue juga merupakan salah satu jenis list

Page 28: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

List, Stack & Queue

• Pada sebuah Linear List, penyisipan dan penghapusanelemen dapat dijalankan di sebarang posisi

• Penambahan dan penghapusan elemen pada stack/queue dilakukan di posisi terdepan atau posisi terbelakang saja

1 2 63 4 5

1 2 63 4 5

1 2 63 4 5

List

Stack

Queue

Page 29: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

StackStack

Page 30: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

Page 31: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi PUSH : Menambahkan elemen pada sebuahstack

1PUSH top== bottom

Page 32: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhir ditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi PUSH : Menambahkan elemen pada sebuah stack

PUSH1

2 top

bottom

Page 33: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkanditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi PUSH : Menambahkan elemen pada sebuahstack

PUSH 1

2

3

bottom

top

Page 34: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)• Nama lain: LIFO (Last In First Out)

• Operasi PUSH : Menambahkan elemen pada sebuahstack

PUSH1

2

3

4

bottom

top

Page 35: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhir ditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi PUSH : Menambahkan elemen pada sebuah • Operasi PUSH : Menambahkan elemen pada sebuah stack

PUSH

1

2

3

4

5

bottom

top

Page 36: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi PUSH : Menambahkan elemen pada sebuah• Operasi PUSH : Menambahkan elemen pada sebuahstack

PUSH

1

2

3

4

5

6

bottom

top

Page 37: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi POP : Menghapus sebuah elemen dari sebuah• Operasi POP : Menghapus sebuah elemen dari sebuahstack

POP

1

2

3

4

5

6

bottom

top

Page 38: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi POP : Menghapus sebuah elemen dari sebuah• Operasi POP : Menghapus sebuah elemen dari sebuahstack

POP

1

2

3

4

5

bottom

top

Page 39: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)• Nama lain: LIFO (Last In First Out)

• Operasi POP : Menghapus sebuah elemen dari sebuahstack

POP

1

2

3

4

bottom

top

Page 40: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)• Nama lain: LIFO (Last In First Out)

• Operasi POP : Menghapus sebuah elemen dari sebuahstack

POP

1

2

3

bottom

top

Page 41: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)• Nama lain LIFO (Last In First Out)

• Operasi POP : Menghapus sebuah elemen dari sebuahstack

POP1

2

bottom

top

Page 42: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

• Penambahan dan penghapusan elemen dilakukan padaelemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhirditambahkan

• Nama lain: LIFO (Last In First Out)

• Operasi POP : Menghapus sebuah elemen dari sebuah• Operasi POP : Menghapus sebuah elemen dari sebuahstack

POP

1 top==bottom

Page 43: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Stack itu ?

PUSH dan POP

Page 44: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Stack Overflow & Stack Underflow

• Stack Overflow

Menambahkan data pada sebuah stack yang telah penuh

• Stack Underflow• Stack Underflow

Menghapus data dari sebuah stack yang sudah kosong

Page 45: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

Page 46: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)

• Operasi ENQUEUE: menambahkan data pada sebuahlist

1ENQUEUE

front==rear

Page 47: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• Operasi ENQUEUE: menambahkan data pada sebuahlist

1ENQUEUE

front

2

rear

Page 48: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)

• Operasi ENQUEUE: menambahkan data pada sebuahlist

1ENQUEUE

front

3

rear

2

Page 49: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)

• Operasi ENQUEUE: menambahkan data pada sebuah• Operasi ENQUEUE: menambahkan data pada sebuahlistENQUEUE

1

front

32 4

rear

Page 50: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)

• Operasi ENQUEUE: menambahkan data pada sebuahlistENQUEUE

1

front

32 5

rear

4

Page 51: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• Operasi ENQUEUE: menambahkan data pada sebuahlist

ENQUEUE 1

front

32 54 6

rear

Page 52: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• OperasiDEQUEUE: menghapus data pada sebuah listDEQUEUE

1

front

32 54 6

rear

Page 53: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• OperasiDEQUEUE: menghapus data pada sebuah list

DEQUEUE

front

32 54 6

rear

Page 54: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain

• Data yang dihapus adalah data yang paling awal ditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• Operasi DEQUEUE: menghapus data pada sebuah list

DEQUEUE

front

3 54 6

rear

Page 55: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• OperasiDEQUEUE: menghapus data pada sebuah list

DEQUEUE

front

54 6

rear

Page 56: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• OperasiDEQUEUE: menghapus data pada sebuah list

DEQUEUE

front

5 6

rear

Page 57: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Apakah Queue itu ?

• Penambahan data dilakukan pada sebuah ujung sebuahlist, sedangkan penghapusan data dilakukan pada ujungyang lain

• Data yang dihapus adalah data yang paling awalditambahkan

• Nama lain: FIFO (First In First Out)• Nama lain: FIFO (First In First Out)

• OperasiDEQUEUE: menghapus data pada sebuah list

DEQUEUE6

front==rear

Page 58: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

Animasi Queue

ENQUEUE dan DEQUEUE

Page 59: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

push(10);

push(2);

Latihan 1

• Gambarkan kondisi stack setelah dilakukan operasiberikut:

10 10

2

push(2);

pop();

push(20);

pop();

push(15);

push(5);

10 10

Page 60: AlgoritmaDan StrukturData II & KEKURANGAN • KELEBIHAN-Struktur Data paling mudah-Memori ekonomis, bila semua elemen terisi-Waktu akses sama ke setiap elemen Array / Larik KEKURANGAN-Boros

enqueue(10);

enqueue(32);

enqueue(5);

10

Latihan 2

• Gambarkan kondisi queue setelah dilakukan operasi berikut:

enqueue(5);

dequeue();

enqueue(10);

dequeue();

dequeue();

10 32