BAB 2
LANDASAN TEORI
2.1
Teori Dasar Graf
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 simpul) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul (Munir, 2005).
Definisi graf G(V,E) menyatakan bahwa simpul V tidak boleh kosong sedangkan sisi E boleh kosong karena tidak ada sisi yang tanpa simpul yang disebut graf trivial.
Simpul pada graf dapat menyatakan objek sembarang seperti kota, atom-atom suatu zat, komponen alat elektronik, nama suatu objek dan sebagainya yang dinomori dengan huruf, bilangan asli atau gabungan dari keduanya. Sedangkan sisi dapat menunjukkan hubungan sembarang seperti ikatan atom, sambungan telepon, jalur penerbangan, jalan raya dan sebagainya yang menghubung antarsimpul pada graf dinyatakan dengan pasangan (u,v) atau dinyatakan dengan
Jika e adalah sisi
yang menghubungkan simpul u dengan simpul v maka e=(u,v).
A
e2
e1 e3
C
e5
B
e4 D
Gambar 2.1 Graf G(4,5)
UNIVERSITAS SUMATERA UTARA
G(4,5) adalah graf dengan himpunan simpul V dan himpunan sisi E adalah: V
= { A, B, C, D }
E
= { (A, B), (A, C), (A, D), (B, D), (C, D) } ={
}
Berdasarkan ada tidaknya gelang atau sisi ganda pada sautu graf, maka graf dapat digolongkon menjadi dua jenis:
1. Graf sederhana (simple graph) adalah graf yang tidak mengandung gelang (loop) maupun sisi ganda. 2. Graf tak-sederhana (unsimple-graph) adalah graf yang mengandung gelang (loop) maupun sisi ganda.
Berdasarkan orientasi arah pada sisi,maka secara umum graf dibedakan atas 2 jenis:
1. Graf berarah (directed graph atau digraph) adalah graf yang sisinya mempunyai orientasi arah dengan urutan pasangan simpul yang terhubung oleh sisi-sisinya diperhatikan maka (u,v) (v,u) adalah sisi yang berbeda. Pada graf berarah, gelang (loop) diperbolehkan tetapi sisi ganda tidak diperbolehkan.
A
B
C
D Gambar 2.2 Graf berarah
2. Graf tak berarah (undirected graph) adalah graf yang sisinya tidak mempunyai orientasi arah dengan urutan pasangan simpul yang terhubung oleh sisi-sisinya tidak diperhatikan maka (u,v)=(v,u) adalah sisi yang sama.
UNIVERSITAS SUMATERA UTARA
A
B
C
D
Gambar 2.3 Graf tak-berarah
Graf tak-berarah G disebut graf terhubung (connected graph) jika untuk setiap pasang simpul u dan v pada himpunan V terdapat jalur atau sisi ei (yang juga harus berarti ada jalur atau sisi ei) pada himpunan E. Jika tidak, maka G disebut graf takberhubung (disconnected graph).
A
B
C
E
D
F
Gambar 2.4 Graf terhubung
A
F
C
D
E
H
B
G Gambar 2.5 Graf tak-terhubung
Graf berarah G dikatakan terhubung jika graf tak-berarahnya terhubung (graf tak-berarah dari G diperoleh dengan menghilangkan arahnya).
UNIVERSITAS SUMATERA UTARA
2.1.1 Graf Berbobot (Weighted Graph)
Graf berbobot adalah graf yang setiap sisinya diberi sebuah nilai atau bobot (Munir, 2005).
Bobot pada setiap sisi graf dapat berbeda-beda bergantung pada masalah yang dimodelkan. Bobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh antara dua buah kota, waktu tempuh pesan antara simpul komunikasi dengan simpul komunikasi lainnya (dalam jaringan komputer), ongkos produksi dan sebagainya. Graf berbobot juga sering dikaitkan dengan istilah graf berlebel yang definisinya lebih luas lagi. Label tidak hanya diberikan pada sisi tapi juga pada simpul yang berupa bilangan non negatif.
P
9
Q 6
7
12
T 6
R
9
S
Gambar 2.6 Graf berbobot
2.1.2 Representasi Graf
Ada beberapa representasi yang mungkin untuk graf yang sering digunakan, yaitu:
1. Matriks ketetangaan (adjacency matrix) Misalkan G = (V,E) adalah graf dengan n simpul,
. Matriks
ketetanggaan G adalah matriks bujursangkar yang berukuran n x n. Bila matriks tersebut dinamakan bertetanggaan, sebaliknya
, maka
jika simpul i dan j
jika simpul i dan j tidak bertetanggaan
(Munir, 2005). Matriks ketetanggaan untuk graf sederhana adalah simetris
UNIVERSITAS SUMATERA UTARA
dinyatakan 1 jika simpul i dan j bertetanggaan dan 0 untuk yang lainnya (Kenneth, 2003).
1
2
3
4
1
2
3
4
Gambar 2.7 Dua buah graf dengan matriks ketetanggaannya masing-masing
2 Matriks Bersisian (incidency matrix) Misalkan G=(V,E) graf dengan n simpul dan m buah sisi. Matriks bersisian G adalah matriks bujursangkar yang berukuran n x m. Baris menunjukkan label simpul, sedangkan kolom menunjukkan label sisinya. Bila matriks tersebut dinamakan sebaliknya
, maka
jika simpul i bersisian dengan sisi j,
jika simpul i tidak bersisian dengan sisi j (Munir, 2005).
UNIVERSITAS SUMATERA UTARA
1
3
2
5
4
6
Gambar 2.8 Graf dengan matriks bersisian
3 Daftar ketetanggaan (adjacency list) Representasi dengan daftar ketetanggaan dapat disajikan dengan membuat tabel simpul dan tetangga simpulnya (Amir Hamzah, 2011, hal: 40). Representasi dengan daftar ketetanggaan digunakan untuk mengatasi masalah pada graf yang matriksnya bersifat jarang yaitu mengandung banyak elemen nol, sedangkan elemen yang bukan nol sedikit. Simpul
Simpul Tetangga
A
C, B, D
B
A
C
A, D, E
D
A, C, E
E
C, D
B A
C
D
E
Gambar 2.9 Graf dengan daftar ketetanggaan
UNIVERSITAS SUMATERA UTARA
2.2
Optimisasi
2.2.1 Pengertian Optimisasi
Optimisasi adalah suatu proses untuk mencapai hasil yang ideal atau optimal (nilai efektif yang dapat dicapai). Dalam disiplin matematika optimisasi merujuk pada studi permasalahan yang mencoba untuk mancari nilai minimal atau maksimal dari suatu fungsi nyata. Untuk dapat mencari nilai optimal baik minimal atau maksimal tersebut, secara sistematis dilakukan pemilihan nilai variabel integer atau nyata yang akan memberikan solusi optimal (Wardy, 2007).
2.2.2 Pengertian Nilai Optimal
Nilai optimal adalah nilai yang didapat melalui suatu proses dan dianggap menjadi suatu solusi jawaban yang paling baik dari semua solusi yang ada (Wardy, 2007).
Nilai optimal dapat dicari dengan dua cara, yaitu:
1. Cara konvensional, yaitu mencoba semua kemungkinan yang ada dengan mencatat nilai yang didapat. Cara ini kurang efektif karena optimasi akan berjalan sangat lambat.
2. Cara kedua adalah dengan menggunakan rumus sehingga nilai optimal dapat diperkirakan dengan cepat dan tepat.
2.2.3 Macam-Macam Permasalan Optimisasi
Permasalahan yang berkaitan dengan optimisasi sangat komplek dalam kehidupan sehari-hari. Nilai yang didapat dalam optimisasi dapat berupa besaran panjang, waktu, jarak dan lain-lain (Wardy, 2007). Berikut ini adalah termasuk beberapa permasalahan optimisasi:
UNIVERSITAS SUMATERA UTARA
1. Menentukan jalur terpendek dari suatu tempat ke tempat yang lain. 2. Mengatur jalur kendaraan umum agar semua lokasi dapat dijangkau. 3. Mengatur routing jaringan kabel telpon agar biaya pemasangan kabel tidak terlalu besar dan penggunaannya tidak boros. 4. Menentukan jumlah pekerja seminimal mungkin untuk melakukan suatu proses produksi agar biaya pengeluaran biaya pekerja diminimalkan dan hasil produksi tetap maksimal.
Selain beberapa contoh di atas, masih banyak persoalan lainnya yang terdapat dalam berbagai bidang.
2.2.4 Penyelesaian Masalah Optimisasi
Secara umum penyelesaian masalah pencarian jalur terpendek dapat dilakukan dengan dua metode, yaitu metode konvensional dan metode heuristik. Metode konvensional diterapkan dengan cara perhitungan matematis seperti biasa, sedangkan metode heuristik diterapkan dengan sistem pendekatan (Mutakhiroh et al, 2007).
Metode konvensional berupa metode yang menggunakan perhitungan matematis biasa. Ada beberapa metode konvensional yang biasa digunakan untuk melakukan pencarian jalur terpendek, diantaranya algoritma Djikstra, algoritma Floyd-Warshall, dan algoritma Bellman-Ford (Mutakhiroh et al, 2007).
Metode heuristik adalah suatu metode yang menggunakan sistem pendekatan dalam melakukan pencarian jalur terpendek. Ada beberapa algoritma pada metode heuristik yang biasa digunakan dalam pencarian jalur terpendek diantaranya algoritma Genetika, Algoritma Semut, logika Fuzzy, jaringan syaraf tiruan, dan lain-lain (Mutakhiroh et al, 2007).
UNIVERSITAS SUMATERA UTARA
2.3
Jalur Terpendek (Shortest Path)
2.3.1 Penerapan Algoritma Semut
Algoritma semut telah digunakan dalam kehidupan sehari-hari untuk menghasilkan penyelesaian yang mendekati optimal. Aplikasi algoritma semut dalam kehidupan sehari-hari mencakup beberapa persoalan, yaitu:
1. Quadratic Assignment Problem (QAP), yaitu menugaskan sejumlah n resources untuk ditempatkan pada sejumlah m lokasi dengan meminimalisasi biaya penugasan (assignment).
2. Job-shop Scheduling Problem (JSP) juga salah satu contoh aplikasi Ant Colony
Optimization, yaitu untuk mencari jalur sejumlah n pekerjaan menggunakan sejumlah m mesin demikian sehingga seluruh pekerjaan diselesaikan dalam waktu yang seminimal mungkin.
3. Vehicle Routing Problem (VRP) adalah masalah optimisasi penentuan jalur dengan keterbatasan kapasitas kendaraan yang bertujuan meminimumkan total jarak yang ditempuh kendaraan dengan mengatur urutan-urutan yang harus dikunjungi serta kapan kembalinya kendaraan untuk mengisi kapasitasnya lagi.
4. Traveling Salesman Problem (TSP), yaitu untuk mencari jalur terpendek dalam sebuah graph yang menggunakan jalur Hamilton.
2.3.2 Contoh Kasus
Masalah jalur terpendek merupakan masalah yang berkaitan dengan penentuan sisisisi dalam sebuah jaringan yang membentuk jalur terpendek antara sumber dan tujuan. Tujuan dari permasalahan jalur terpendek adalah mencari jalur yang memiliki jarak terpendek antara titik asal dan titik tujuan.
UNIVERSITAS SUMATERA UTARA
Permasalahan mencari jalur terpendek di dalam graf merupakan permasalahan optimisasi yang dapat dimodelkan dengan graf berbobot (weighted graph). Graf berbobot adalah suatu graf dengan masing-masing sisi diberi bobot dengan nilai suatu bilangan tertentu. Gambar 2.10 merupakan suatu graf ABCDEF yang berarah dan berbobot.
A
5
F
5
4
3 6
2 C
2
D 3
4 B
6 8
E
Gambar 2.10 Graf berarah dan berbobot
Gambar 2.10 di atas, misalkan dari kota A ingin menuju kota E. Untuk menuju kota E, dapat dipilih beberapa jalur yang tersedia yaitu:
Dari data tersebut, dapat dihitung jalur terpendek dengan mencari jarak antara jalur-jalur tersebut. Sehingga jalur terpendek dapat diketahui yaitu A – D – E = 9.
UNIVERSITAS SUMATERA UTARA