A. PENDAHULUAN Teori graf merupakan pokok bahasan yang telah ada sejak dua ratus tahun yang silam, namun memiliki banyak terapan sampai saat ini. Graf digunakan untuk mempresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graf adalah dengan menyatakan objek sebagai noktah, bulatan atau titik, sedangkan hubungan antara objek dinyatakan dengan garis. Sebagai contoh peta jaringan jalan yang menghubungkan sejumlah kota. Peta tersebut adalah sebuah graf, jalan dinyatakan sebagai garis dan kota dinyatakan sebagai bulatan atau simpul. Contoh lain dari graf yang sering ditemukan dalam kehidupan sehari-hari antara lain struktur organisasi, bagan alir pengambilan mata kuliah, rangkaian listrik dan lain-lain. Menurut catatan sejarah, jurnal pertama tentang teori graf muncul pada tahun 1736. Masalah yang pertama kali menggunakan graf adalah masalah jembatan Knigsberg, sekarang bernama kota Kaliningrat yang terletak di sebelah timur negara bagian Prussia, Jerman. Di kota ini terdapat sungai Pregal yang mengalir mengitari pulau Kneiphof lalu bercabang menjadi dua anak sungai. Ada tujuh buah jembatan yang menghubungkan daratan yang dibelah oleh sungai tersebut. Masalah jembatan Konigsberg adalah apakah mungkin melalui ketujuh buah jembatan itu masing-masing tepat satu kali dan kembali lagi ke tempat semula?. Orang pertama yang dapat memecahkan masalah ini adalah seorang matematikawan Swiss, L. Euler pada tahun 1736. Ia memodelkan masalah ini ke dalam graf. munculnya teori tentang graf. Permasalahan lain yang dapat diselesaikan dengan bantuan teori graf antara lain problem pak pos Cina, problem pemberian selang waktu untuk lampu lalu lintas, problem pemberian satu arah untuk jalan pada suatu daerah dan masih banyak lagi permasalahan yang dapat dirumuskan dan diselesaikan dengan teori graf. B. DEFINISI, JENIS-JENIS DAN TERMINOLOGI Jadi dari permasalahan inilah
DEFINISI Graf G didefinisikan sebagai pasangan himpunan (V,E) ditulis dengan notasi G=(V,E) yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul (vertices atau node) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul. Berdasarkan definisi di atas, graf yang terdiri dari satu titik dan tidak memiliki sebuah sisipun disebut graf trivial. Di bawah ini beberapa contoh graf : G1 adalah graf dengan himpunan simpul V dan himpunan sisi E dengan : V = { 1,2,3,4 } E = {(1,2), (1,3), (2,3), (1,4), (3,4) } 1 4 2 3 (Gambar G1)
V = { A,B,C,D } E = {(A,B), (B,C), (A,C), (A,C), (B,D), (C,D), (C,D)} = {e1, e2, e3, e4, e5, e6, e7 } A e1 B e5 e2 C e6 D (Gambar G2) G3 adalah graf dengan himpunan simpul V dan himpunan sisi E dengan : V = { v1, v2, v3, v4 } E = {(v1,v2), (v2,v3), (v1,v3), (v1,v3), (v2,v4), (v3,v4), (v3,v4), (v3,v3)} = {e1, e2, e3, e4, e5, e6, e7, e8 } v1 e1 v2 e5 e2 v3 e6 e7 e8 e3 e4 e7 e3 e4
v4 (Gambar G3) Pada G2 sisi e3 = (A,C) dan sisi e4 = (A,C) dinamakan sisi-ganda (multiple edges atau paralel edges) karena kedua sisi ini menghubungi 2 buah simpul yang sama, yaitu simpul A dan simpul C. Pada G3, sisi e8 = (v3, v3) dinamakan gelung atau gelang atau kalang (loop) karena ia berawal dan berakhir pada simpul yang sama. JENIS-JENIS GRAF
Graf dapat dikelompokkan menjadi beberapa kategori (jenis) tergantung pada sudut pandang pengelompokkannya. Pengelompokkan graf dapat dipandang berdasarkan ada tidaknya sisi ganda atau sisi gelang, dan berdasarkan orientasi arah pada sisi. Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf dapat digolongkan menjadi dua jenis yaitu : 1. Graf sederhana (simple graph) Graf sederhana adalah graf yang tidak mengandung gelang maupun sisi ganda. Gambar G1 merupakan contoh graf sederhana. Beberapa jenis graf sederhana yaitu : a. Graf lengkap (complete graph) Graf lengkap adalah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul lainnya. A B D C
b. Graf Lingkaran Graf lingkaran adalah graf sederhana yang setiap simpulnya berderajat dua. V1 V2 V4 V1 V4 V2 V3
c. Graf Teratur
Graf teratur adalah graf yang setiap simpulnya mempunyai derajat yang sama A B D C d. Graf bipartit (bipartite graph) Graf bipartit adalah graf yang himpunan simpulnya dapat dikelompokkan menjadi dua himpunan bagian X dan Y sedemikian sehingga setiap sisi di dalam graf tersebut menghubungkan sebuah simpul di X ke sebuah simpul di Y. X Y X A C B V1 V2
Y 2. Graf tak sederhana (unsimple graph) Graf tak sederhana adalah graf yang mengandung sisi ganda atau gelang. Gambar G2 dan gambar G3 di atas adalah contoh graf tak sederhana. Ada dua macam graf tak sederhana, yaitu graf ganda dan graf semu. Graf ganda (multigraph) adalah graf yang mengandung sisi ganda. Graf semu (pseudograph) adalah graf yang mengandung gelang.
Berdasarkan orientasi arah pada sisi graph, dibedakan menjadi dua jenis
yaitu: 1. Graf tak berarah (undirected graph) Graf tak berarah adalah graf yang sisinya tidak mempunyai orientasi arah. Contohnya pada gambar graf G1, G2 dan G3. 2. Graf berarah (directed graph atau digraph) Graf berarah adalah graf yang setiap sisinya diberikan orientasi arah. Contoh :
TERMINOLOGI GRAF Perhatikan graf berikut : v1 e1 v2 e5 e2 v3 e6 v4 e7 v5 e10 (Gambar G4) 1. Bertetangga (adjacent) Dua buah simpul pada graf tak berarah G dikatakan bertetangga bila keduanya terhubung langsung dengan sebuah sisi. Dengan kata lain u bertetangga dengan v jika (u,v) adalah sebuah sisi pada graf G. v9 e8 v6 e11 v7 e10 v10 e3 e4 e9 e12 v8
CONTOH : Pada gambar G4, v1 bertetangga dengan v2, v3 dan v6. v4 bertetangga dengan v2, v3, dan v5. dst. 2. Bersisian (incident) Untuk sembarang sisi e = (u,v), sisi e dikatakan bersisian dengan simpul u dan simpul v. CONTOH : Pada gambar G4, e10 bersisian dengan simpul v5 dan simpul v6. e1bersisian dengan simpul v1 dan simpul v2. 3. Simpul Terpencil (isolated vertex) Simpul terpencil adalah simpul yang tidak mempunyai sisi yang bersisian dengannya atau dapat juga dinyatakan bahwa simpul terpencil adalah simpul yang tidak satupun bertetangga dengan simpul-simpul lainnya. CONTOH : Pada gambar G4, simpul terpencil adalah v7. 4. Graf Kosong ( null graph atau empty graph) Graf yang himpunan sisinya merupakan himpunan kosong dan ditulis sebagai Nn yang dalam hal ini n adalah jumlah simpul. CONTOH : Graf N2 1 2 5. Derajat (degree) Derajat suatu simpul pada graf tak berarah adalah jumlah sisi yang bersisian pada simpul tersebut. Derajat simpul pada graf berarah dinyatakan dengan derajat masuk (jumlah sisi yang masuk ke simpul) dan derajat keluar (jumlah sisi yang keluar simpul). Derajat suatu titik disimbolkan dengan d(v). Jumlah derajat pada loop atau gelang adalah 2. CONTOH : Pada gambar G4, d(v1) = 4, d(v2) = 3, d(v3) = 7, d(v7) = 0 dst.
6. Jalan (walk) Sebuah jalan pada suatu graf adalah suatu barisan berhingga (tak kosong). W = v0 e1 v1 e2 v2 ... ek vk yang suku-sukunya bergantian titik dan sisi, sedemikian sehingga vi-1 dan vi adalah titik-titik akhir sisi ei, untuk 1 < i < k. Jalan boleh berulang titik dan sisinya. CONTOH : Jalan pada gambar G4, salah satunya v1e1 v2 e2 v3 e6 v4 e7 v3 e2 v2 7. Jejak (trail) Jejak pada sebuah graf adalah jalan yang sisi-sisinya berbeda. CONTOH : Jejak pada gambar G4, salah satunya v1e1 v2 e2 v3 e6 v4 e7 v3 8. Lintasan (path) Lintasan adalah jejak yang semua titiknya berbeda. Lintasan yang berawal dan berakhir pada simpul yang sama disebut lintasan tertutup (closed path). CONTOH : Lintasan tertutup pada gambar G4, salah satunya : v1 e1 v2 e2 v3 e6 v4 e10 v5 e11 v6 e9 v1 Lintasan yang tidak berawal dan berakhir pada simpul yang sama disebut lintasan terbuka (open path). CONTOH : Lintasan terbuka pada gambar G4, salah satunya : v1 e1 v2 e2 v3 e6 v4 e10 v5 e11 v6 e12 v8 9. Siklus (cycle) dan sirkuit (circuit). Sirkuit adalah Lintasan yang berawal dan berakhir pada simpul yang sama. Sirkuit disebut juga jejak tertutup. CONTOH : Sirkuit pada gambar G4, salah satunya : v1 e1 v2 e2 v3 e6 v4 e10 v5 e11 v6 e9 v1
Sebuah graf G dikatakan terhubung jika untuk setiap dua titik G yang berbeda terdapat sebuah lintasan yang menghubungkan kedua titik tersebut. CONTOH : Gambar G1, G2 dan G3 merupakan contoh graf terhubung. Sedangkan gambar G4 merupakan graf tak terhubung. 11. Upagraf (Subgraph) atau graf bagian Graf bagian dari G adalah suatu graf yang setiap titiknya adalah anggota dari V(G) dan setiap sisinya adalah anggota E(G). Misalkan G = (V,E) adalah sebuah graf. G1 = (V1,E1) adalah graf bagian dari G = (V,E). CONTOH :
G1
12. Upagraf merentang (Spanning Subgraph) atau graf bagian rentang Graf bagian rentang adalah jika graf H suatu graf bagian dari graf G dan VH = VG atau graf H mengandung semua simpul dari graf G. CONTOH :
Komplemen dari upagraf atau graf bagian H terhadap graf G adalah graf Z. Sedemikian hingga Z = G H dan Vz adalah himpunan simpul yang anggotaanggota EZ bersisian dengannya.
G 14. Cut-Set
Cut-Set dari graf terhubung G adalah himpunan sisi yang bila dibuang dari G menyebabkan G tidak terhubung. Jadi cut-set selalu menghasilkan dua buah komponen terhubung. Nama lain dari cut-set adalah jembatan. 2 1 3 15. Graf Berbobot (weighted graph) Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). a 7 e 31 d 8 10 4 25 b 9 c 5 4 3 6 1 5 4 2 6