Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

15
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)

Transcript of Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

Page 1: 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)

Page 2: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 3: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 4: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 5: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 6: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 7: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

Hasil dan PembahasanPeta Kota Asal dan Tujuan Pengiriman Barang

Page 8: Implementasi Graph dalam Menentukan Jarak 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.

Page 9: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 10: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 11: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 12: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

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.

Page 13: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

Hasil dan PembahasanOutput Program

Page 14: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

Hasil dan PembahasanOutput Program

Page 15: Implementasi Graph dalam Menentukan Jarak Pengiriman Barang

Kesimpulan