Implementasi Graph

 


Apa itu Graph?

    Graph adalah salah satu bentuk struktur data yang memiliki sifat seperti tree, yaitu memiliki sifat non-linear. Mengapa graph disebut struktur data non-linear? Hal ini disebabkan karena bentuk penyimpanan data oleh graph yang setiap datanya bisa memiliki hubungan dengan data lain.

    Graph memiliki konsep seperti tree, dimana setiap datanya dihubungkan dengan aturan tertentu, tetapi graph memiliki fungsi yang lebih banyak jika dibandingkan dengan graph.  Bahkan graph memiliki fungsi lebih baik dibanding tree, dimana graph dapat menghubungkan hubungan data yang sangat banyak dan kompleks. 

Bagian-Bagian Graph



    Graph terdiri dari edge dan vertices, dimana graph merupakan penghubung anta vertices, sedangkan vertices merupakan sebutan tiap node yang menyimpan data tertentu pada struktur data graph. Pada graph, edge memiliki 2 sifat, yaitu directed dan undirected. Directed adalah posisi dimana edge dengan arah 0 menuju 4 (0 =>4) tidak sama dengan 4 menuju 0 (4 => 0), sedangkan undirected memiliki sifat sebaliknya. Hal inilah yang membuat graph memiliki 2 sifat, yaitu directed dan udirected graph.
   
    Selain itu, setiap edge juga dapat diberi komponen weight, dimana weight menggambarkan tingkat kesulitan menjalani edge. Hal ini dapat dilihat dalam pemakaian graph di software maps, seperti Google Maps, Waze, dan sebagainya. Misalnya dari tempat 0 menuju tempat 1, jalanannya macet, tetapi tempat 1 menuju tempat 2 jalananya lancar, maka weight pada edge 0 menuju 1, akan lebih besar daripada edge 1 menuju 2.

Implementasi Graph

    Untuk pengimplementasian graph pada Java, dapat dilihat source code di bawah ini.

    Pada pengimplementasiannya digunakan 3 class, yaitu:
  1. Vertex, untuk semua komponen dan fungsi pada setiap vertex
  2. Edge, untuk semua komponen dan fungsi pada setiap edge
  3. Graph, untuk fungsi utama pada Graph
    Dan berikut merupakan hasil output yang didapatkan

Komentar

Postingan populer dari blog ini

Penjelasan Rekursif pada Tower of Hanoi

Array in Java

Evaluasi Tengah Semester