Kelompok4 - Paper TGO D
Kelompok4 - Paper TGO D
Simple Graphs
Abstrak
1. Pengenalan
Sebuah grafik dihubungkan jika ada dua buah simpul yang dihubungkan oleh
sebuah barisan sisi. Grafik yang terhubung (Connected Graph) bisa juga didefinisikan sebagai
grafik ketika ada jalan di antara setiap pasang simpul. Grafik dikatakan terhubung jika ada
jalur antara sepasang simpul. Sebuah karya sastra juga mendefinisikan graf yang terhubung
sebagai graf yang dibentuk oleh satu komponen. Konektivitas grafik sering digunakan dalam
berbagai implementasi pada masalah kehidupan nyata dan penyelesaian atau problem-solving
(algoritma) dari suatu graf yakni seperti Bipartite Graph, Hamiltonian Graph, Eulerian Graph,
Tree, Minimum Spanning Tree (MST), beberapa “Shortest Path Problems” (algoritma
Dijkstra), Graph Coloring, dan Planar Graph.
Penerapan dan implementasi dari grafik yang terhubung ini dapat menyelesaikan
masalah-masalah yang ada di kehidupan nyata, antara lain pada telekomunikasi, aliran darah,
jaringan komputer, dan transportasi. Menentukan konektivitas suatu graf sangat penting
karena memiliki banyak manfaat. Konektivitas grafik dapat ditentukan menggunakan metode
atau algoritma konektivitas. Satu dari algoritma konektivitas adalah entri non-diagonal positif
dari matriks (Positive Non-Diagonal Entry of Matrix). Adapun metode lainnya adalah
Modifikasi Pohon Pelabelan Algoritma Prüfer (Modified Prüfer’s Algorithm Labelling
Trees), kesamaan himpunan simpul virtual dan himpunan simpul. Dalam penelitian ini,
algoritma-nya menggunakan konsep Depth First Search (DFS) yang sudah banyak dikenal
konsep dalam ilmu komputer. Perbedaan algoritma ini dari algoritma lain adalah caranya
menghitung simpul yang telah dikunjungi.
2. Metodologi
Algoritma konektivitas yang disajikan dalam artikel ini mengambil masukan graf
sederhana G = (V, E). Setelah itu, status setiap simpul disetel ke false dan terdapat dalam
variabel Pi, di mana 1 ≤ i ≤ | V |, yang berarti setiap simpul adalah simpul yang belum
dikunjungi. Variabel kemudian diinisialisasi ke | V |, yang berarti belum ada simpul yang
dikunjungi.
Proses pemeriksaan konektivitas disajikan dalam fungsi rekursif yang disebut
Kunjungan (simpul sumber). Misalkan simpul r menjadi simpul sumber, maka status simpul
r disetel ke true, yang berarti simpul r dikunjungi. Algoritme kemudian mengurangi 1 dari s.
Selanjutnya algoritma akan mencari simpul dengan label terkecil yang berdekatan dengan r,
jika simpul tersebut ada, fungsi rekursif akan berjalan pada simpul tersebut dan kemudian
mengurangi 1 dari s. Mekanisme ini mengikuti metode DFS. Proses ini akan diulangi
dengan cara yang sama seperti memanggil fungsi rekursif, tetapi pada simpul sumber yang
berbeda, yaitu simpul yang berdekatan ke r dengan label berikutnya. Proses rekursif akan
berhenti jika tidak ada simpul yang berdekatan dengan status salah. Tahap terakhir adalah
pengecekan variabel s, jika s = 0 maka graf terhubung dan jika s > 0 maka graf akan
terputus.
Hasil penelitian ini menunjukkan bahwa setiap graf yang sederhana dapat diperiksa
konektivitasnya menggunakan algoritma konektivitas dengan DFS. Algoritma tersebut
menunjukkan bahwa jika s=0, maka grafik tersebut terhubung, dan bila S>0, maka grafik
tersebut diputus. Secara umum, algoritma untuk menentukan konektivitas dari setiap grafik
sederhana ditampilkan sebagai berikut.
Algoritma terdiri dari tiga bagian utama. Bagian pertama adalah memasukkan graf
sederhana, menginisialisasikan status setiap simpul dan menginisialisasikan variable s, dan
memilih simpul sumber. Bagian kedua adalah proses DFS, yang diwakili oleh fungsi rekursif.
Secara umum, bagian kedua bekerja sebagai berikut.
Setelah memilih simpul sumber, algoritma akan mencari sumpul yang berdekatan dari
simpul sumber. Algoritma ini sesuai dengan Depth Dirst Search(DFS). Setelah menjalankan
fungsi rekursif, nilai variabel s akan berubah. Bagian ketiga dari algoritma ini adalah
memeriksa nilai variabel s. Jika s = 0, maka graf tersebut terhubung dan jika s > 0 maka graf
tersebut akan diputus. Algoritma berjalan pada grafik sederhana G = (V,E) di mana V = {1, 2,
3, 4, 5, 6, 7} dan E={12, 15, 17, 23, 34, 35, 67} ditunjukkan pada gambar 1 hingga 4.
Gambar 1. (a) Memasukkan graf sederhana (b) Menemukan simpul sumber dan (c)
Kedekatan simpul yang dikunjungi.
Gambar 2. (d) Mengunjungi simpul yang berdekatan (e) Mengunjungi sumpul yang
berdekatan dan (f) Memilih simpul sumber sebelumnya.
Gambar 2 (d) menunjukkan bahwa simpul 3 adalah satu-satunya simpul yang
berdekatan dengan simpul 2, yang merupakan simpul sumber saat ini. Oleh karena itu, simpul
yang dikunjungi selanjutnya adalah simpul 3. Jadi, s = 4 dan P3 = 1. Gambar 2 (e)
menunjukkan bahwa simpul 4 dan simpul 5 bersebelahan dengan simpul 3. Algoritma
memilih simpul dengan label terkecil. Oleh karena itu, simpul 4 dipilih sebagai simpul
sumber. Algoritma ini kemudian menetapkan s = 3 dan P4 = 1. Pada Gambar 2 (f), tidak ada
simpul yang berdekatan dengan simpul 4. Algoritma ini kembali ke simpul sumber
sebelumnya, yaitu simpul 3
Gambar 3. (g) Mengunjungi simpul yang berdekatan (h) Memilih simpul sumber
sebelumnya.
Gambar 3 (g) menunjukkan bahwa simpul 5 bersebelahan dengan simpul 3, jadi s = 2 dan P5
= 1. Pada Gambar 3 (h), tidak ada simpul yang bersebelahan dengan simpul 5. Algoritma ini
Kembali ke simpul sumber sebelumnya, yaitu simpul 3. Proses ini diulangi sampai simpul 1
dikunjungi seperti ditunjukkan pada gambar 2 (h).
Gambar 4. (i) Mengunjungi simpul yang berdekatan (j) Mengunjungi simpul yang
berdekatan dan (k) Memilih simpul sumber sebelumnya.
4. Rangkuman
Algoritma tersebut dapat digunakan untuk memvalidasi suatu graf masukan dalam
menyelesaikan masalah graf yang memerlukan grafik yang terhubung, seperti memverifikasi
grafik Hamiltonian. Sayangnya, algoritma yang diusulkan hanya berjalan pada sebuah grafik
sederhana. Berdasarkan penelitian ini, terlihat bahwa setiap graf sederhana dihubungkan jika
s = 0 dan terputus jika s > 0 dimana s adalah variabel untuk menentukan konektivitas suatu
grafik.