Implementasi Graph dalam Menentukan Jarak Pengiriman Barang
-
Upload
fembi-rekrisna-grandea-putra -
Category
Education
-
view
48 -
download
5
Transcript of Implementasi Graph dalam Menentukan Jarak Pengiriman Barang
Implementasi Graph dalam Menentukan Jarak Pengiriman Barang
Disusun oleh:Kelompok 5
1. Alfan Wiguna Putra (M0513005)2. Cantya Dyana Larasati (M0513013)3. Fembi Rekrisna Grandea P. (M0513019)4. Lia Ristiana (M0513027)5. M. Husain Asadullah (M0513033)6. Rifqi Ahmad Pramudito (M0513039)7. Wheny Rusdiana (M0513046)
Latar BelakangAgen-agen jasa pengiriman barang mulai menjamur di kalangan
masyarakat. Seiring meningkatnya kebutuhan manusia yang beraneka ragam, agen pengiriman barang sangat dibutuhkan, misalnya seperti sekarang ini, dengan berkembangnya bisnis online shop, banyak orang yang lebih memilih membeli barang secara online yang biasanya berada diluar kota daripada membeli secara langsung. Barang yang sudah dipesan akan dikirim dari kota asal penjual ke kota tempat pembeli. Terkadang, akibat jarak yang lumayan jauh, barang yang dikirim tidak bisa langsung sampai ke kota yang dituju, dan harus melewati kota-kota lain sebelum sampai ke tujuan, yaitu kota-kota yang memiliki agen pengantaran barang dari perusahaan yang bersangkutan.
Latar BelakangMenentukan kota apa saja yang sebaiknya dilewati dapat menjadi hal
yang sulit karena banyaknya jumlah kota yang ada. Padahal, tujuan utama dari pengantaran barang ini adalah mencari jarak terdekat dari kota asal ke kota tujuan sehingga tidak membutuhkan waktu atau biaya yang lama atau banyak. Perhitungan secara manual dapat saja dilakukan. Namun, akan lebih mudah dan praktis apabila perhitungan dan penentuan kota yang harus dilewati dilakukan menggunakan komputer. Permasalahan di atas dapat diatasi dengan mudah membuat suatu program yang mengimplementasikan struktur data graph.
Rasionalisasi PermasalahanProgram ini pada dasarnya memiliki kemampuan untuk memberi
pengarahan kepada pengirim/pemilik usaha ekspedisi pengiriman barang untuk mengetahui kota-kota mana saja yang dapat ditempuh dengan jarak terdekat ataupun dengan jarak terjauh. Program ini akan menunjukkan ujung-ujung kota yang terletak di sekitar area pengiriman barang, karena untuk mengetahui medan suatu daerah mula-mula harus mengetahui ujung-ujung/tepi dari daerah tersebut.
Rasionalisasi PermasalahanSetelah mengetahui ujung-ujung kota dari area asal pengiriman
barang, lalu program akan menunjukkan ujung-ujung kota yang terletak di sekitar area tempat tujuan pengiriman barang. Pada prinsipnya penunjukan ujung-ujung kota di sekitar area tempat tujuan pengiriman barang memiliki tujuan yang sama dengan penunjukan ujung-ujung kota yang terletak di sekitar daerah asal pengiriman barang, yaitu untuk mengetahui medan suatu daerah dengan mengetahui ujung-ujung/tepi daerah tersebut sebagai tahap awal.
Rasionalisasi PermasalahanSetelah mengetahui ujung-ujung kota yang terletak di sekitar daerah
asal pengiriman barang dan daerah hasil pengiriman barang, lalu program akan menunjukkan titik/jarak terdekat dan terjauh untuk pengiriman barang dari daerah asal pengiriman barang sampai pada daerah hasil pengiriman barang. Titik-titik ini bisa disebut juga sebagai titik puncak (vertex), tergantung yang dicari apakah titik puncak terdekat dan titik puncak terjauh. Namun tentunya para pengirim barang akan mencari titik puncak terdekat untuk menghemat biaya dan waktu pengiriman.
Hasil dan PembahasanPeta Kota Asal dan Tujuan Pengiriman Barang
Hasil dan PembahasanDalam program ini terdapat 5 class yaitu Edge, Graph, Main, Maps,
dan Vertex.Class Main adalah class yang mengandung method main. Pada class
main terdapat method main. Jika program dijalankan, maka program akan dijalankan dari sini. Semua nama kota disimpan dalam variabel array kota. Kemudian, semua kota akan ditampilkan beserta nomornya. User tinggal memilih nomor kota asalnya. Apabila user memasukkan nomor yang tidak sesuai, maka program akan menampilkan pesan error.
Hasil dan PembahasanApabila nomornya benar (antar 0 dan 27), maka sebuah variabel
String bernama initial akan diberi nilai dari nama kota dari array kota indeks nomor yang dimasukkan tadi. User lalu juga akan diminta untuk memasukkan berat barang yang akan dikirim (dalam kg). Method dijkstra dari class graph akan dipanggil dengan melewatkan variabel initial dan berat. Maka, akan ditampilkan daftar nama kota yang bisa dituju beserta jalurnya dan harga yang harus dibayarkan.
Class Vertex adalah class yang berisi node yang berisi graf yang akan digunakan untuk membentuk peta yang akan digunakan oleh program. Terdapat beberapa method dalam class ini.
Hasil dan PembahasanPertama method Vertex yaitu method yang digunakan untuk
memberi nilai null pada node apabila pemanggilan method Vertex tidak disertai argumen. Kedua method Vertex yang digunakan untuk membuat node pada peta. Method ini akan dijalankan apabila ada argumen dalam pemanggilan fungsi vertex. Ketiga yaitu method getdistance yang digunakan untuk mengembalikan jarak yang sudah dilalui. Keempat yaitu setdistance yaitu digunakan untuk menentukan ukuran distance. Kelima yaitu compare yang digunakan untuk membandingkan jarak dari sebuah edge.
Hasil dan PembahasanClass Edge berisi node node edge yang digunakan program. Edge
berisi dua tipe data yaitu w yang menyimpan weight/bobot edge dan destination atau kota tujuan atau vertex yang ditunjuk oleh edge tersebut.
Class Graph adalah inti dari program. Method addVertex adalah method yang digunakan untuk menambah Vertex baru. ini dilakukan dengan cara memasukkan nama sumber dan tujuan ke node vertex dan menambahkan Edge ke node Edge. Method getVertex adalah method yang digunakan untuk mengambil vertex untuk diproses.
Hasil dan PembahasanMethod djikstra adalah method yang akan menghitung jarak terdekat
untuk mencapai suatu node. Method ini pertama-tama akan mengambil vertex yang disebutkan dalam init ke variabel current. Method compadjedges adalah method yang digunakan untuk membandingkan edge. Method printpath adalah method yang digunakan untuk menampilkan path yang dilewati ke user.
Class Maps adalah class yang berisi peta yang digunakan program. Method add akan memasukkan peta yang telah ditentukan ke dalam vertex. Method nomerkota akan menampilkan daftar daerah ke user dan mengambil input user berupa integer dan menerjemahkannya menjadi string.
Hasil dan PembahasanOutput Program
Hasil dan PembahasanOutput Program
Kesimpulan