1 / 18

pengenalan graph

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)).

brenna
Download Presentation

pengenalan graph

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma dan Struktur Data Lanjut Ramos Somya pengenalan graph

  2. Defenisi Graf • Suatugraf G terdiridari 2 himpunan yang berhingga, yaituhimpunantitik-titiktidakkosong (simbol V(G)) danhimpunangaris-garis (simbol E(G)). • Setiapgarisberhubungandengansatuatauduatitik. Titik-titiktersebutdinamakanTitik Ujung. Garis yang hanyaberhubungandengansatutitikujungdisebut Loop. Duagarisberbeda yang menghubungkantitik yang samadisebutGarisParalel.

  3. 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.

  4. Contoh • Ada 7 kota (A,...,G) yang beberapadiantaranyadapatdihubungkansecaralangsungdenganjalandarat. Hubungan-hubunganlangsung yang dapatdilakukanadalahsebagaiberikut: • A dengan B dan D • B dengan D • C dengan B • E dengan F Buatlahgraf yang menunjukkankeadaantransportasidi 7 kotatersebut!

  5. Contoh (Lanjut) B E e1 e4 A C e5 G e3 e2 F D

  6. PenjelasanContoh • Dalamgraftersebut e1 berhubungandengantitik A dan B (keduanyadisebuttitikujung e1). Titik A dan B dikatakanberhubungan, sedangkantitik A dan C tidakberhubungankarenatidakadagaris yang menghubungkannyasecaralangsung. • Titik G adalahtitikterasingkarenatidakadagaris yang berhubungandengan G. dalaminterpretasinya, kota G merupakankota yang terasingkarenatidakdapatdikunjungidarikota-kota lain denganjalandarat.

  7. 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.

  8. 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!

  9. Gambar-nya: 45 1 2 50 10 5 40 20 35 15 20 10 30 6 15 3 3 4

  10. Lintasan vertex a kesemua vertex lain

  11. Graf (Java) • Dengan Java Graf dapatdibuatmenjadisebuahbentukobjek. • Objek yang dapatkitabentukadalahvertexnya. Laluatribut-atribut yang dapatdimasukankedalamobjektersebutantara lain label, node-node yang berhubungandengan vertex tersebut, danjaraknya. • Karenasetiap vertex dapatterhubungdenganbanyak vertex, makadigunakankelas Vector (bawaan java).

  12. Langkah-langkah • Buatsebuahprojek java application dengannamaGrafSederhana. • Kelas-kelas yang harusdibuat: • Main (Utama) • Vertex • XNode

  13. Kelas Main • Dibuat langsung saat generate projek

  14. KelasXNode • 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().

  15. Kelas Vertex • Tambahkanatribut: • private String label. • private Vector<XNode> xnodes. • Buatkonstruktor Vertex(String label) • Di dalamkonstruktorberiperintahuntukinisialisasiatribut label danxnodes. • TambahkanfungsigetLabel() dangetXNode().

  16. Coba Project • Di kelas main, buatsebuahobjek vector dengannamalistV. • Setelahitu, tambahkanbeberapaobjek vertex kedalamnya. • Kemudianbuatperulanganuntukmencetak label dari vertex-vertex yang sudahdimasukkankedalamlistV.

  17. 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:

  18. See You Next WeekGod Bless

More Related