Tugas Graph

Implementasi Graph Dengan Bahasa Java

            Graph merupakan struktur data yang paling umum. Jika struktur linear memungkinkan pendefinisian keterhubungan sikuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data.

https://raw.githubusercontent.com/uber/react-vis-force/master/docs/react-vis-force.gif

            Suatu graph didefinisikan oleh himpunan verteks dan himpunan sisi (edge). Verteks menyatakan entitas-entitas data dan sisi menyatakan keterhubungan antara verteks. Biasanya untuk suatu graph G digunakan notasi matematis G = (V, E) V adalah himpunan verteks dan E himpunan sisi yang terdefinisi antara pasangan-pasangan verteks. Sebuah sisi antara verteks x dan y ditulis {x, y}.

Pada Graph juga dikenal beberapa istilah diantaranya :

·         weight = berat/ panjang dari suatu edge.

·         un/weighted graph = edge pada suatu graf yang memiliki/tidak memiliki weight.

·         un/directed edge =  apabila sebuah edge bersifat dua arah/satu arah.

·         path = urutan satu atau lebih edge yang dilewati untuk menghubungkan dua buah vertex.

·         connected = sebuah graf dimana terdapat setidaknya satu buah path untuk setiap pasang vertex.

·         cycle = path yang berawal dan berakhir pada satu buah vertex yang sama tanpa melewati dua buah edge yang sama.

·         Tree = undirected connected graf yang tidak memiliki cycle.

·         root = vertex dengan kedalaman ter-rendah.

            Dalam penulisan Program dari graph terdapat 2 cara yaitu dalam bentuk matriks dan linked list . pada kesempatan kali ini akan diimplementasikan representasi Graph dalam kedua bentuk tersebut :

Ilustrasi Graph :

Source Code :

Adjacency Lists Implementation

Adjacency Matrix Implementation

Dokumentasi :






Refrensi :

https://stackabuse.com/graphs-in-java-representing-graphs-in-code

 

Comments

Popular Posts