Dalam latihan ini, Anda diminta untuk mengimplementasikan beberapa fungsi terkait teori graf menggunakan pustaka networkx. Soal ini mencakup beberapa aspek penting, seperti:
- Membuat Graf
- Degree Counting
- Path Finding / Traversal
- Shortest Path
- Visualisasi Graf
Anda harus mengimplementasikan fungsi-fungsi berikut:
- Deskripsi: Membuat graf tidak berarah berdasarkan daftar sisi yang diberikan.
- Parameter:
edges(list of tuple[int, int]): Daftar sisi yang menghubungkan dua simpul.
- Output:
nx.Graph: Objek graf darinetworkx.
- Deskripsi: Menghitung derajat dari simpul tertentu.
- Parameter:
G(nx.Graph): Graf yang telah dibuat.node(int): Simpul yang ingin dihitung derajatnya.
- Output:
int: Derajat dari simpul tersebut.
- Deskripsi: Melakukan pencarian secara Depth-First Search (DFS) mulai dari simpul tertentu.
- Parameter:
G(nx.Graph): Graf yang telah dibuat.start(int): Simpul awal.
- Output:
list[int]: Urutan traversal berdasarkan DFS.
- Deskripsi: Melakukan pencarian secara Breadth-First Search (BFS) mulai dari simpul tertentu.
- Parameter:
G(nx.Graph): Graf yang telah dibuat.start(int): Simpul awal.
- Output:
list[int]: Urutan traversal berdasarkan BFS.
- Deskripsi: Mencari jalur terpendek antara dua simpul dalam graf.
- Parameter:
G(nx.Graph): Graf yang telah dibuat.source(int): Simpul awal.target(int): Simpul tujuan.
- Output:
list[int]: Urutan simpul yang membentuk jalur terpendek darisourceketarget.
- Deskripsi: Memvisualisasikan graf menggunakan
matplotlib. - Parameter:
G(nx.Graph): Graf yang telah dibuat.
- Output:
- Tidak ada (hanya menampilkan visualisasi graf).
- Export hasil visualisasi ke file .png kemudian tambahkan ke direktori project anda!
File ini nantinya berisikan uji coba fungsi yang sudah anda buat sebelumnya!
Pastikan semua fungsi bekerja dengan benar dan sesuai spesifikasi!