Tugas Pemrograman 4 (Semua Kelompok Asistensi)

Struktur Data Graph dan Algoritma
Shortest Path dari Dijkstra


Pengantar

Dalam tugas ke empat ini draft tugas adalah sama untuk semua kelompok asistensi. Tetapi, masing-masing asisten memiliki otoritas untuk menambahkan variasi tertentu (dan saya mengharapkannya begitu supaya terdapat perbedaan di antara kelompok).

Tugas ini adalah mengulangi Tugas ke 5 dari kuliah Struktur Data tahun lalu kecuali tugas dikerjakan dengan Applet/Java (iteraksi grafis). Terdapat pilihan dalam mengerjakannya:

Jika anda mengerjakan versi wajib dengan sebaik-baiknya maka anda akan mendapatkan nilai penuh. Jika anda mengerjakan versi lanjutannya juga, maka anda akan mendapatkan nilai bonus.

Versi Wajib (minimal)

Anda diminta membuat suatu program yang memaintain 'basis data' yang membawa informasi graph (misalnya jaringan transportasi di sebuah negara, kota = verteks, jalan-raya = sisi/edge, jarak = bobot/weight). Sistem yang anda buat harus dapat:

Versi Lanjutan

Dalam Versi Lanjutan (optional untuk mendapat nilai tambahan) anda boleh mengembangkan kreatifitas anda disini, MISALNYA (sekali lagi ini hanya misalnya):

Antarmuka yang diminta diberikan dalam templat yang segera di posting. Tetapi yang paling perlu anda utamakan adalah implementasi struktur data graph dinamis serta algoritma Dijkstra sendiri. Kreatifitas lain untuk antar muka dipersilakan tapi belum tentu mendapatkan nilai tambahan (jika dalam tugas ini anda kerjakan dengan baik maka nanti setelah kuliah Grafika Komputer anda bisa kembangkan suatu perangkat lunak navigasi yang bagus!).

Format data versi wajib (file teks):

Untuk versi lanjutan maka bobot bisa dinyatakan terdiri atas beberapa bilangan sesuai dengan kriteria yang anda pakai. Demikian juga informasi verteks dapat disertakan setelah nama verteks tsb. untuk dapat digunakan dalam query berkendala.

Data test yang disediakan adalah untuk versi wajib saja karena format versi lanjutan ini nanti bisa tidak standard. Jadi bagi anda yang membuat versi lanjutan harus juga mengumpulkan versi wajibnya kecuali kalau anda bisa membuat satu program yang dapat mengenali baik format wajib maupun format lanjutannya.

Klik disini untuk dapat melihat hints tugas ini