Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-5 GRAPH LABORATORIUM PEMROGRAMAN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA
MODUL KE-5
GRAPH
LABORATORIUM PEMROGRAMAN
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2015
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
I. TUJUAN
Mahasiswa mampu :
1. Memahami konsep graph dan implementasinya.
2. Memahami konsep penelusuran graph.
II. ALAT YANG DIGUNAKAN
Peralatan yang digunakan :
1. Perangkat PC yang terinstall Java
2. Editor Java
III. DASAR TEORI Graph merupakan struktur data yang memiliki relasi many to many, yaitu tiap element
dapat memiliki 0 atau lebih dari 1 cabang. Graph terbentuk dari 2 bagian, yaitu node dan
edge.
Node : digunakan untuk menyimpan data
Edge : cabang, untuk menghubungkan node satu dengan node lain.
Graph dibedakan menjadi beberapa jenis, antara lain :
Undirected Graph
Biasa disingkat : undi-graph yaitu graph yang tidak memiliki arah dan setiap sisi
berlaku dua arah.
contoh: {x,y} Arahnya bisa dari x ke y, atau y ke x.
Secara grafis sisi pada undigraph tidak memiliki mata panah dan secara notasional
menggunakan kurung kurawal.
Directed Graph (Digraph)
Biasa disingkat : Di-graph yaitu graph yang memiliki arah. Setiap edge Digraph
memiliki anak panah yang mengarah ke node tertentu.
Secara notasi sisi digraph ditulis sebagai vektor (u, v).
u = origin (vertex asal)
v = terminus (vertex tujuan)
U ----> V
Weigth Graph
Graph yang mempunyai nilai pada tiap edgenya
IV. PROSEDUR PELAKSANAAN
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
Prosedur pelaksanaan praktikum adalah sebagai berikut :
1. Mahasiswa mencoba latihan yang ada pada modul praktikum
2. Mahasiswa menganalisa hasil dari program pada latihan yang telah dijalankan
3. Mahasiswa mengerjakan tugas latihan dan praktikum yang diberikan
4. Mahasiswa mendemonstrasikan program tugas praktikum yang telah dikerjakan
pada dosen/assisten
5. Mahasiswa membuat laporan dari tugas yang telah dikerjakan
6. Upload laporan melalui e-labit.umm.ac.id.
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
V. LATIHAN
Petunjuk :
Cobalah contoh program yang ada pada latihan di bawah ini di laboratorium.
Mintalah bimbingan kepada asisten/dosen jika ada kesulitan.
Analisa program tersebut untuk dapat mengerjakan tugas praktikum dengan mudah.
Tandai analisa program dengan menjelaskan fungsi tiap baris kode dengan memberi komentar tiap baris program.
1. Dengan menggunakan class Graph.java, representasikan graph berikut kemudian
gambarkan graph-nya :
a. V1 = {1,2,3,4}, E1 = {(1,3),(2,3),(3,4)}
b. V1 = {1,2,3,4,5,6}, E2 = {(1,2),(1,3),(1,5) ,(2,4),(3,6) ,(4,5),(4,6) ,(5,6)}
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
theGraph.bfs();
System.out.println();
System.out.println("Weight Edge : ");
theGraph.displayEdge(0, 1, 1);
System.out.println("");
theGraph.displayEdge(0, 2, 9);
System.out.println("");
theGraph.displayEdge(0, 3, 6);
System.out.println("");
theGraph.displayEdge(1, 3, 3);
System.out.println("");
theGraph.displayEdge(2, 0, 1);
System.out.println("");
theGraph.displayEdge(2, 1, 2);
System.out.println("");
theGraph.displayEdge(3, 1, 3);
System.out.println("");
theGraph.displayEdge(3, 2, 4);
System.out.println("");
}
}
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
VI. TUGAS PRAKTIKUM
Ada 3 pilihan untuk tugas praktikum graph, sebagai berikut :
1. Perhatikan graph berikut : (bobot maksimal nilai 75)
Buatlah aplikasi graph sederhana (menggunakan node) dimana setiap edge pada
graph berhubungan dengan edge yang lain. Dengan ketentuan berikut.
1. Head dimulai berdasarkan angka nim belakang dengan rumus [nim modulo 7] .
(A:0, B:1, C:2, D:3, E:4, F:5, G:6). Misalkan 8 (258) maka 8 mod 7=1, jadi head=B.
(A:0, B:1, C:2, D:3, E:4, F:5, G:6).
Head (start) adalah edge awal yang menghubungkan dengan node yg lain.
2. Kemudian head akan diikuti dengan edge berikutnya berdasarkan arah anak
panah. Misalkan :
Edge A : Pilihan Edge Berikutnya adalah : 1. Edge B 2. Edge E 1 Edge B : Pilihan Edge Berikutnya adalah : 1. Edge G 1 .....
3. Ada kemungkinan Edge terpilih kembali ke Edge awal (head) yang sudah dilalui.
A
E
B
C
F
G
D
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
2. Perhatikan graph berikut : (bobot maksimal nilai 85)
Buatlah aplikasi graph dengan bobot (menggunakan node) dimana setiap edge pada
graph berhubungan dengan edge yang lain. Dengan ketentuan berikut.
1. Sama dengan ketentuan sebelumnya tentang edge awal (start), yaitu dibedakan
berdasarkan nim.
2. Setiap edge yang terhubung mempunyai bobot jarak.
3. Kemudian tiap edge awal juga diikuti dengan edge berikutnya berdasarkan anak
panah. Hanya saja yang ini harus bisa menghitung total jarak yang sudah
ditempuh misal :
Edge A : (jarak yang sudah ditempuh : 0) Pilihan Edge Berikutnya adalah : 1. Edge E 1 Edge B : (jarak yang sudah ditempuh : 5) Pilihan Edge Berikutnya adalah : 1. Edge B 1. Edge F 2 Edge G : (jarak yang sudah ditempuh : 13) .....
A
E
B
C
F
G
D
8
6
8
5
10
3
4
9
1 8
8
1
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
3. Perhatikan graph berikut : (bobot maksimal nilai 100)
Buatlah aplikasi graph sederhana (menggunakan node) dimana setiap edge pada
graph berhubungan dengan edge yang lain. Dengan ketentuan berikut.
1. Berbeda dengan permasalahn sebelumnya (no. 1 & 2) tentang edge awal (start),
start ditentukan berdasarkan inputan user.
2. Ada input edge akhir untuk menghitung rute terdekat.
3. Setiap edge yang terhubung mempunyai bobot jarak.
4. Bisa mencari rute dengan jarak terdekat untuk menuju edge akhir dari edge
awal. Contohnya.
Input Edge awal : A Input Edge Tujuan : B Rute terdekat : A-E-F-D-B Dengan total jarak 9
*note : kerjakan sebisanya, orisinilitas lebih dihargai. Nyontek atau sama dengan yang
lain, nilai =0;
A
E
B
C
F
G
D
8
6
8
5 3
1
1
1 2
8
1
Dokumen Laboratorium Teknik Informatika UMM @ 2015 – Modul Praktikum Algoritma dan Struktur Data By. Team Informatika UMM
Keterangan :
1. Tugas praktikum dikerjakan sendiri, jika ketahuan mengcopas, mencontoh, mereplika,
menjiplak dll akan dikenakan sanksi nilai x ½.
2. Tidak ada demo susulan, sesuai dengan jadwal yang telah ditentukan, kecuali ada alasan
yang logis dan dapat di maklumi.
3. Kriteria penilaian praktikum:
a. 25% Absensi.
b. 50% demo tugas.
c. 25% laporan praktikum.
d. Tambahan nilai (sesuai kebijakan aslab masing-masing), misal keaktifan dll.
4. Kriteria penilaian laporan:
a. Menggunakan template yang sudah disediakan.
b. Melampirkan hasil praktikum (latihan dan tugas modul) dan screenshot hasil
programdan penjelasannya.
c. Dikerjakan sendiri, jika ketahuan mengcopas, mencontoh, mereplika, menjiplak dll
akan dikenakan sanksi pengosongan nilai laporan.
Penting!
Tetap semangat, jangan menyerah dan pasti bisa jika mau berusaha, jangan lupa juga untuk
terus berdoa agar dapat mencapai hasil yang maksimal, jangan pernah takut untuk bertanya
jika masih ada kebingungan yang melanda, diselingi terus berolah raga, makan yang banyak
dan sehat sesuai 4 sehat 5 sempurna serta minum multivitamin agar tetap bugar :D,