• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. 2.1 Teori graf Definisi graf

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB 2 LANDASAN TEORI. 2.1 Teori graf Definisi graf"

Copied!
9
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Teori graf

2.1.1 Definisi graf

Graf adalah kumpulan dari minimal satu atau lebih simpul (vertex) yang dihubungkan oleh sisi atau busur (edge). Dalam kehidupan sehari-hari, graf banyak diaplikasikan (Suryanaga, 2003) seperti untuk pengaturan arus lalu lintas, jaringan komputer, pembuatan chip, jaringan sosial dan sebagainya.

Simpul didalam graf biasanya dilambangkan dengan titik sedangkan busur dilambangkan dengan garis. Contohnya : kota-kota di lambangkan dengan titik dan garis melambangkan jalan yang menghubungkan antar kota.

Gambar 2.1 Gambar graf dimana setiap titik mewakili kota-kota dan garis mewakili jalan.

Menurut Diestel (2000), sebuah graf G dapat diartikan sebagai himpunan berhingga dan tak kosong dari v dan e yang merupakan himpunan pasangan tak berurut dari unsur-unsur di v, dimana v=Vertex dan e=edge.

G=(v,e)

(2)

Gambar 2.2 Gambar graf sederhana (G)

pada gambar 2.2, G memiliki v={1,2,3,4} dan e={(1,3), (1,2), (1,4), (2,4), (3,4)} atau {e1,e2,e3,e4,e5}.

Ada dua cara merepresentasikan sebuah graf (Adamchik, 2005) 1. Adjacency lists

Representasi ini secara visual lebih mudah dimengerti, akan tetapi kurang bagus untuk dioperasikan bila vertex yang dimiliki terlalu banyak.

Biasanya adjacency lists direpresentasikan seperti bentuk array.

Gambar 2.3 Gambar kiri merupakan graf (G), gambar kanan merupakan adjacency lists.

Kerugian potensial dari representasi adjacency-daftar adalah bahwa tidak ada cara cepat untuk menentukan apakah ada edge diantara dua simpul.

2. Adjacency matrix

Representasi ini baik digunakan untuk representasi graf didalam komputer.

e3 e1

e2 e4

e5

1

2 3

4

(3)

Kekurangan dari adjacency lists dapat ditutupi dengan adjacency matrix. Adjacency matrix adalah matriks dari v x v dimana,

Mi,j 1, jika ada 𝑒𝑑𝑔𝑒 diantara 𝑖 dan 𝑗 0, jika tidak ada 𝑒𝑑𝑔𝑒 diantara 𝑖 dan 𝑗

Gambar 2.4 gambar kiri merupakan graf (G), gambar kanan merupakan matriks dari graf(G)

2.1.2 Jenis-jenis graf

Menurut Scheinerman dan Ullman (2008), berdasarkan ada atau tidaknya gelang (loop), graf digolongkan menjadi dua, yaitu :

a. Graf sederhana (simple graph)

Graf yang tidak memiliki loops dan sisi paralel.

b. Graf tak-sederhana (unsimple graph/multigraph) Graf yang memiliki loops dan sisi paralel.

Menurut Munir (2008), Berdasarkan ada atau tidaknya arah, graf digolongkan menjadi dua, yaitu :

a. Graf berarah (directed graph)

Graf yang memiliki orientasi arah pada sisinya.

(va,vb) ≠ (vb,va)

Pada simpul (va,vb), va adalah simpul asal sedangkan vb adalah simpul tujuan.

b. Graf tak berarah (undirected graph)

Graf yang tidak memiliki orientasi arah pada sisinya.

(va,vb) = (vb,va)

(4)

Dalam hal ini tidak terdapat simpul asal maupun simpul tujuan karena bukan merupakan hal yang terlalu diperhatikan.

Berdasarkan bobotnya, graf juga terbagi menjadi dua, yaitu : a. Graf berbobot

Graf yang setiap sisinya memiliki nilai atau harga. Misalnya sisi melambangkan jalan, bobot bisa merupakan panjang jalan dan sebagainya tergantung kebutuhan.

b. Graf tak berbobot

Graf yang setiap sisinya tidak memiliki nilai atau harga.

2.1.3 Walk dan path

Menurut Yulianti (2008), walk dalam graf G adalah sebuah urutan tak nol yang suku-sukunya bergantian antara simpul dan sisi. dimana

w = v0e1v1e2v2…eivi…ekvk : 1≤ i ≤ k

Panjang dari sebuah walk adalah banyaknya sisi yang dilalui dalam walk tersebut.

Sebuah path atau jalur adalah walk dengan semua simpul dalam barisan berbeda.

Gambar 2.5 gambar graf (G)

e – c – d – b – c – d – b – a adalah sebuah walk dengan panjang 7.

e – c – d – b – a adalah sebuah path dengan panjang 4.

(5)

Berdasarkan hasil diatas maka dapat dinyatakan bahwa setiap simpul walk pasti mengandung simpul path.

2.2 Searching (pencarian)

Metode pencarian dapat dibedakan ke dalam dua jenis, yaitu:

1. pecarian buta/tanpa informasi (blind atau un-informed search)

2. pencarian heuristik/dengan informasi (heuristic atau informed search) Menurut Russel dan Norvig (1995), untuk mengukur performansi metode pencarian, terdapat 4 kriteria yang dapat digunakan, yaitu :

a. Completeness : apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada?

b. Time complexity : berapa lama waktu yang diperlukan?

c. Space complexity : berapa banyak memori yang diperlukan?

d. Optimality : apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda?

2.2.1 Metode Pencarian Blind/Un-Informed Search

Metode pencarian blind/un-informed search merupakan metode pencarian tanpa adanya informasi awal yang digunakan dalam proses pencarian

Metode-metode yang termasuk kedalam teknik pencarian Blind/Un- Informed Search , yaitu:

a. Breadth First Search (BFS) b. Uniform Cost Search (UCS) c. Depth First Search (DFS) d. Depth-Limited Search (DLS) e. Iterative Deepening Search (IDS) f. Bi-Directional Search (BDS)

(6)

2.2.2 Depth First Search (DFS)

Pada metode DFS, pencarian dilakukan pada suatu simpul dalam setiap level dari paling kiri, jika pada level terdalam solusi belum ditemukan, maka pencarian dilanjutkan pada simbul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya.

Demikian seterusnya sampai ditemukan solusi.

Menurut Suyanto (2007), Kelebihan DFS adalah pemakaian memori yang lebih sedikit. DFS hanya menyimpan sekitar bd simpul, di mana b adalah faktor percabangan dan d adalah kedalaman solusi. Jika b = 10 dan d = 3, maka jumlah simpul yang disimpan di memori adalah 1 + 10 + 10 + 10 = 31. Hal ini berbeda jauh dengan Breadth First Search yang harus menyimpan semua simpul yang pernah dibangkitkan. Pada kasus tersebut, Breadth First Search harus menyimpan 1 + 10 + 100 + 1000 = 1111 simpul. Kelebihan lainnya adalah jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya dengan cepat.

Sedangkan kelemahan DFS adalah jika pohon yang dibangkitkan mempunyai level yang sangat dalam (tak terhingga), maka tidak ada jaminan menemukan solusi. Artinya DFS tidak complete. Kelemahan lainnya adalah jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik artinya DFS tidak optimal.

(7)

Algoritma DFS:

1. Masukkan simpul akar ke dalam antrian Q. Jika simpul akar = simpul solusi, maka Stop.

2. Jika Q kosong, tidak ada solusi. Stop.

3. Ambil simpul v dari kepala (head) antrian.

4. Jika kedalaman simpul v sama dengan batas kedalaman maksimum, kembali ke langkah 2.

5. Bangkitkan semua anak dari simpul v. Jika v tidak mempunyai anak lagi, kembali ke langkah 2. Tempatkan semua anak dari v di antrian Q.

6. Jika anak dari simpul v adalah simpul tujuan, berarti solusi telah ditemukan, kalau tidak, kembali lagi ke langkah 2.

Start with A Discovered [B,C]

Explore B

Discovered [D,E,C]

Explore D

Discovered [H,I,E,C]

Explore H

Finished H Discovered [I,E,C]

Explore I

Finished I,D Discovered [E,C]

Gambar 2.6 proses algoritma DFS

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

(8)

2.3 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah “bahasa” yang sudah menjadi standard industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak (Dharwiyanti, S dan Wahono, S.R., 2003). Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek.

Unified Modeling Language (UML) bukanlah :

1. Bahasa pemrograman visual, tapi bahasa pemodelan visual.

2. Spesifikasi kakas, tetapi spesifikasi bahasa pemodelan.

3. Proses, tetapi yang memungkinkan proses-proses.

UML membagi diagram menjadi dua tipe yaitu :

1. Diagram Struktur

Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek statik dari sistem. Diagram struktur di UML terdiri dari :

a. Diagram Kelas (Class diagram) b. Diagram Objek (Object diagram)

c. Diagram komponen (Component Diagram) d. Diagram deployment (Deployment Diagram)

2. Diagram perilaku

Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek dinamis dari sistem. Diagram struktur di UML terdiri dari :

(9)

a. Diagram use-case (Use case diagram) b. Diagram sekuen (Sequence diagram)

c. Diagram kolaborasi (Collaboration diagram) d. Diagram statechart (Statechart diagram) e. Diagram aktivitas (Activity diagram)

Gambar

Gambar 2.2  Gambar graf sederhana (G)
Gambar 2.6 proses algoritma DFS

Referensi

Dokumen terkait

Ada tiga aspek yang terdapat dalam Nilai-Nilai Dasar Perjuangan HMI untuk mewujudkan kerukunan hidup umat beragama di Indonesia,pertama, aspek ketauhidan (Ketuhanan Yang

Hal ini dilihat dari nilai rata-rata BOD 5 dan COD pada stasiun 4 merupakan nilai rata-rata tertinggi dari stasiun lainnya yaitu sebesar 12,62 mg/L dan 15,34 mg/L

Pada triwulan II-2013, jumlah aliran uang tunai yang masuk ke kas Bank Indonesia yang berasal dari setoran perbankan di NTB masih berada pada tren peningkatan yang

Tujuan penelitian water heater bersirip berbahan bakar LPG adalah sebagai berikut (1) merancang dan membuat water heater menggunakan sirip dengan bahan bakar LPG

Pajak penghasilan terkait pos-pos yang akan direklasifikasi ke laba rugi 0 PENGHASILAN KOMPREHENSIF LAIN TAHUN BERJALAN SETELAH

Keterkaitan penelitian terdahulu dengan penelitian saat ini adalah (1) penelitian terdahulu menggunakan variabel PER, EPS, CSR dan tingkat suku bunga untuk mengetahui

Publishing.Inc,1991), h.. tentu fungsi aljabar diajarkan pada kelas XII semester gasal. Pada jenjang kelas XII itu siswa sudah mendapatkan materi hukum waris, termasuk a’ul.

Adapun yang menjadi tujuan dalam penelitian ini adalah: (1) Mengetahui Pendapatan Asli Daerah, Dana Alokasi Umum dan Belanja Daerah Kota Bandung; (2) Membuktikan