pengenalan graph

Post on 20-Jan-2016

94 views 2 download

description

Algoritma dan Struktur Data Lanjut. Ramos Somya. pengenalan graph. Defenisi Graf. Suatu graf G terdiri dari 2 himpunan yang berhingga , yaitu himpunan titik-titik tidak kosong ( simbol V(G)) dan himpunan garis-garis ( simbol E(G)). - PowerPoint PPT Presentation

Transcript of pengenalan graph

Algoritma dan Struktur Data Lanjut

Defenisi Graf

Suatu graf G terdiri dari 2 himpunan yang berhingga, yaitu himpunan titik-titik tidak kosong (simbol V(G)) dan himpunan garis-garis (simbol E(G)).

Setiap garis berhubungan dengan satu atau dua titik. Titik-titik tersebut dinamakan Titik Ujung. Garis yang hanya berhubungan dengan satu titik ujung disebut Loop. Dua garis berbeda yang menghubungkan titik yang sama disebut Garis Paralel.

Defenisi Graf (Lanjut)

Kadang-kadang suatu graf dinyatakan dengan gambar. Gambar suatu graf G terdiri dari himpunan titik-titik V(G), himpunan garis-garis E(G) yang menghubungkan titik-titik tersebut (beserta arah garis pada graf berarah), dan label pada garisnya (jika ada). Panjang garis, kelengkungan garis, dan letak titik tidak berpengaruh dalam suatu graf.

Contoh

Ada 7 kota (A,...,G) yang beberapa di antaranya dapat dihubungkan secara langsung dengan jalan darat. Hubungan-hubungan langsung yang dapat dilakukan adalah sebagai berikut:

A dengan B dan D

B dengan D

C dengan B

E dengan F

Buatlah graf yang menunjukkan keadaan transportasi di 7 kota tersebut!

Contoh (Lanjut)

C

D

e1

e2

e3

e4

e5 GA

B

E

F

Penjelasan Contoh

Dalam graf tersebut e1 berhubungan dengan titik A dan B (keduanya disebut titik ujung e1). Titik A dan B dikatakan berhubungan, sedangkan titik A dan C tidak berhubungan karena tidak ada garis yang menghubungkannya secara langsung.

Titik G adalah titik terasing karena tidak ada garis yang berhubungan dengan G. dalam interpretasinya, kota G merupakan kota yang terasing karena tidak dapat dikunjungi dari kota-kota lain dengan jalan darat.

Penggunaan Graf (1): Shortest Path

Graf yang digunakan adalah graf berbobot : setiap sisinya diberikan nilai atau bobot.

Bobot menyatakan jarak antar kota atau waktu tempuh.

Misal ada kota A dan B, maka persoalan lintasan terpendek di sini adalah menentukan jarak terpendek atau waktu tersingkat dari kota A ke B.

Contoh

Misal ada graf G = (V, E) dan sebuah simpul/vertex awal a. Tentukan lintasan terpendek dari a ke setiap simpul lainnya di dalam graf G!

Gambar-nya:

1 2

3 4

5

6

20 10

4015

15 3

20 35

30

45

50 10

Lintasan vertex a ke semua vertex lain

Vertex Asal Vertex Tujuan

Lintasan Terpendek

Jarak

1 2 1, 3, 4, 2 45

1 3 1, 3 10

1 4 1, 3, 4 25

1 5 1, 5 45

1 6 Tidak ada -

Graf (Java)

Dengan Java Graf dapat dibuat menjadi sebuah bentuk objek.

Objek yang dapat kita bentuk adalah vertexnya. Lalu atribut-atribut yang dapat dimasukan ke dalam objek tersebut antara lain label, node-node yang berhubungan dengan vertex tersebut, dan jaraknya.

Karena setiap vertex dapat terhubung dengan banyak vertex, maka digunakan kelas Vector (bawaan java).

Langkah-langkah

Buat sebuah projek java application dengan nama GrafSederhana.

Kelas-kelas yang harus dibuat:Main (Utama)VertexXNode

Kelas Main

Dibuat langsung saat generate projek

Kelas XNode

Tambahkan atribut:

private Vertex vertex;

private int panjang;

Buat konstruktor XNode(Vertex vertex, int panjang)

Di dalam konstruktor beri perintah untuk inisialisasi atribut vertex dan panjang.

Tambahkan fungsi getVertex() dan getPanjang().

Kelas Vertex

Tambahkan atribut:

private String label.

private Vector<XNode> xnodes.

Buat konstruktor Vertex(String label)

Di dalam konstruktor beri perintah untuk inisialisasi atribut label dan xnodes.

Tambahkan fungsi getLabel() dan getXNode().

Coba Project

Di kelas main, buat sebuah objek vector dengan nama listV.

Setelah itu, tambahkan beberapa objek vertex ke dalamnya.

Kemudian buat perulangan untuk mencetak label dari vertex-vertex yang sudah dimasukkan ke dalam listV.

Latihan

Tambahkan sebuah method untuk membuat relasi antar vertex beserta dengan panjang edge antara vertex yang berelasi tersebut.

Misal terdapat himpunan vertex: A, B, C, D,E Relasi vertex:

A dan B dengan panjang edge 3 A dan D dengan panjang edge 5

Tampilkan relasi vertex

yang terjadi tersebut

dengan panjangnya:

See You Next WeekGod Bless