Anda di halaman 1dari 13

Institut Teknologi Del

Praktikum IF411326 - IF311326: Struktur Data

Pelintasan Graf dengan Algorithma BFS


Minggu/Sesi
Tujuan

:
:

Setoran
Waktu penyetoran

:
:

15/2
Mampu membuat langkah-langkah pemecahan masalah untuk graph traversal
dengan menggunakan algoritma breadth first search (BFS)

Mampu mengimplementasi BFS


Lembar jawaban dikumpulkan kepada asisten
akhir sesi praktikum

Petunjuk Praktikum
Anda dapat mengerjakan praktikum ini secara berkelompok dengan maksimum 2

mahasiswa per kelompok.


Buat folder: mg15_sesi02_topik _praktikum. Semua program pada praktikum sesi ini

akan disimpan pada folder tersebut.


Ikuti semua prosedur praktikum.

Referensi
T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, Introduction to Algorithms, 2nd
Eds., MIT Press 2001.
M.A. Weiss, Data Structures and Algorithm Analysis in C, 2nd Eds., Addison-Wesley,
1997.

Ulasan

Jelaskan properti dari BFS.

Pendalaman
Jika diberikan graf berarah berarah berikut ini:
1

0
2

3
a. Buatlah representasi adjacency list untuk kedua graf tersebut.
b. Buatlah representasi adjacency matrix untuk kedua graf tersebut.
c. Gambarkanlah illustasi dari langkah-langkah penerapan algorithma BFS untuk
pelintasan graf di atas.
d. Gambarkan pula pohon bread-first (bread-first-tree).

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

1 of 13

Institut Teknologi Del

Pemrograman
Anda telah mempelajari bahwa BFS memerlukan struktur data Queue untuk menampung
simpul-simpul yang mengantri, yakni simpul yang baru saja ditemukan, tetapi successors
belum di temukan (simpul berwarna abu-abu). Oleh sebab itu, implementasi struktur data
Graph yang mendukung pelintasan graph terdiri atas file-file berikut:
a. elementtype.h
b. queue.h
c. graph.h
d. queue.c
e. graph.c
f. klien_program.c
1. elementtype.h
a. Buat file antar muka dengan nama elementtype.h.
b. Edit file tersebut dan tambahkan kode program di bawah ini:

2. queue.h
a. Buat file antar muka dengan nama queue.h.
b. Edit file tersebut dan tambahkan kode program di bawah ini:

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

2 of 13

Institut Teknologi Del

3. graph.h
a. Buat file antar muka dengan nama graph.h.
b. Edit file tersebut dan tambahkan kode program di bawah ini:

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

3 of 13

Institut Teknologi Del


4. queue.c
a. Buat file antar muka dengan nama queue.c.
b. Edit file tersebut dan tambahkan kode program di bawah ini:

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

4 of 13

Institut Teknologi Del

5. graph.c
a. Buat file antar muka dengan nama graph.c.
b. Edit file tersebut dan tambahkan kode program di bawah ini:

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

5 of 13

Institut Teknologi Del

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

6 of 13

Institut Teknologi Del

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

7 of 13

Institut Teknologi Del

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

8 of 13

Institut Teknologi Del

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

9 of 13

Institut Teknologi Del

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

10 of 13

Institut Teknologi Del

6. klien_graph.c
a. Buat file antar muka dengan nama klien_graph.c.
b. Edit file tersebut dan tambahkan kode program pada halaman berikut:

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

11 of 13

Institut Teknologi Del

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

12 of 13

Institut Teknologi Del


7. TUGAS:
a. Coba anda analisis implementasi fungsi ENQUEUE dan DEQUEUE pada queue.c.
Apakah ada implementasi yang salah? Jika ada, jelaskan kesalahan yang terjadi.
b. Hitunglah kompleksitas implementasi algorithma BFS pada graph.c.

Setoran
Lembar jawaban dikumpulkan kepada TA untuk jawaban pertanyaan/tugas pada bagian
Ulasan dan Pendalaman.
2. Kode program untuk pengurutan Graph ADT termasuk traversal BFS
elementtype.h
queue.h
graph.h
queue.c
graph.c
klien_graph.c
1.

THS/srudat/praktikum_mg_15_sesi_2

5/16/2016, 11:18 a5/p5

13 of 13