rtest Path Problem dengan Algoritma D
Bab 11 Path Problem Path Problem
problem
hortest path problem ortest path problem
a Dijkstra
dari titik 1 ke titik 5
erti yang ada pada an titik asal dan titik an titik tujuan adalah k terpendek tersebut,
maka setiap titik perlu mem sehingga setiap titik terdiri dar
Saat awal, pada setiap besar (diasumsikan sebagai M pada gambar berikut:
Setelah itu, proses dim mempunyai jalur ke 2 titik, ya titik 2, maka nilai y pada titik penambahan ini lebih kecil dar 1. nilai y pada titik 2 di 2. nilai z pada titik 2 di 3. Informasi titik 2 dim
Hal yang sama dilakuk nilai pada titik 2 dan titik 3, se
87
emuat jarak terpendek dan rutenya terhadap dari informasi berikut:
iap titik selain titik asal, nilai y diinisialisasi M) dan nilai z diinisialisasi dengan titik 0, se
dimulai dari titik asal yaitu titik 1 sebagai t yaitu titik 2 dan titik 3. Saat mendapatkan ada
itik 1 ditambahkan dengan jarak dari titik 1 ke dari nilai y pada titik 2, maka akan menyebabka
digantikan dengan nilai penambahan tersebut digantikan dengan titik 1.
imasukkan ke dalam queue dengan proses enqu
kukan terhadap titik 1 ke titik 3. Ini membuat seperti yang terlihat sebagai berikut.
ap titik sebelumnya,
si dengan nilai yang seperti yang tampak
i titik aktif. Titik 1 da jalur dari titik 1 ke ke titik 2. Jika nilai
kan 3 hal:
queue
Adapun kondisi queue queue terlihat dibawah ini.
Selanjutnya, isi queue d dari dequeue adalah nilai 2, s jalur ke titik 3 dan titik 5. Hal sekarang menjadi seperti berik
Informasi jalur dari tit dalam queue. Informasi titik
88
ue, karena titik 2 dan titik 3 dimasukkan ke d
e dikeluarkan satu nilai (proses dequeue) sebag , sehingga sekarang titik aktif adalah titik 2. T al yang dilakukan seperti yang sebelumnya, se rikut:
titik 2 ke titik 3 dan titik 5 ini kemudian ak ik 3 kemudian dimasukkan lagi ke dalam que
e dalam queue, maka
bagai titik aktif. Hasil . Titik 2 mempunyai , sehingga kondisinya
akan dimasukkan ke queue. Untuk titik 5,
karena titik 5 adalah tujuan, m queue terlihat seperti dibawah
Selanjutnya, isi queue d dari dequeue adalah nilai 3, s jalur ke titik 1 dan titik 4. Hal sekarang menjadi seperti berik
Proses berikutnya adala adalah titik asal, maka tidak d queue, sehingga kondisi queue
Selanjutnya, isi queue d dari dequeue adalah nilai 3, se sebelumnya. Proses dilakukan pada titik 3 ke titik-titik jalurn titik jalurnya, maka tidak ada tidak ada proses enqueue titik-Selanjutnya, isi queue d dari dequeue adalah nilai 4, s jalur ke titik 5. Hal yang dilak menjadi seperti berikut:
89
, maka tidak perlu dimasukkan ke dalam queue ah ini:
e dikeluarkan satu nilai (proses dequeue) sebag , sehingga sekarang titik aktif adalah titik 3. T al yang dilakukan seperti yang sebelumnya, se rikut:
alah enqueue untuk memasukkan titik 1 dan tit k dimasukkan ke queue. Kemudian titik 4 dim
ue sekarang tampak seperti dibawah ini:
e dikeluarkan satu nilai (proses dequeue) sebag , sehingga sekarang titik aktif adalah titik 3, sam
an sama, akan tetapi karena nilai penambahan urnya tidak ada yang lebih kecil dari nilai y dan da perubahan nilai pada nilai y dan nilai z pada
-titik jalur dari titik 3.
e dikeluarkan satu nilai (proses dequeue) sebag , sehingga sekarang titik aktif adalah titik 4. T ilakukan seperti yang sebelumnya, sehingga ko
ue. Sekarang kondisi
bagai titik aktif. Hasil . Titik 3 mempunyai , sehingga kondisinya
titik 4. Karena titik 1 imasukkan ke dalam
bagai titik aktif. Hasil sama seperti keadaan an nilai y dan nilai z dan nilai z pada titik-ada titik jalurnya dan
bagai titik aktif. Hasil . Titik 4 mempunyai kondisinya sekarang
Informasi jalur dari titi Karena titik 5 adalah tujuan, m Untuk selanjutnya, ke kosong, maka perubahan nilai Proses selanjutnya ada solusi. Informasi jarak terdek terdekat pada permasalan terse mendapat informasi jalur terde dimasukkan ke dalam stack. K Titik 4 dimasukkan ke dalam s ke titik 3. Titik 3 dimasukk kemudian bergerak ke titik 2. T 2 adalah 1, sama dengan titi informasi jalur tercepat dap didapatkan jalur tercepatnya ad 11.1.3 Struktur Data Yang D
• n sebagai variabel banyakn
• asal sebagai variabel titik a
• tujuan sebagai variabel titi
• relasi sebagai matriks jalur
• jarak sebagai matriks jarak
• y sebagai array untuk meny
• z sebagai array untuk meny
90
titik 4 ke titik 5 ini kemudian akan dimasukka , maka tidak perlu dimasukkan ke dalam queue. kembali pada proses enqueue pada queue. lai y dan nilai y pada setiap titik sudah selesai. adalah pembacaan nilai jarak terdekat dan jalu
ekat dapat diambil dari nilai y pada titik tuju rsebut adalah 5 sebagaimana terlihat pada nilai rdekat, diperlukan operasi stack. Dimulai dari . Kemudian, pada titik 5, nilai z=4, sehingga b m stack. Nilai z pada titik 4 adalah 3, sehingga k kkan ke dalam stack. Nilai z pada titik 3 a 2. Titik 2 dimasukkan ke dalam stack. Kemudia titik asal. Titik asal dimasukkan ke dalam s apat dibaca dari hasil operasi pop terhadap
adalah 1-2-3-4-5. g Dibutuhkan aknya titik ik asal titik tujuan
lur dari satu titik ke titik lain rak dari satu titik ke titik lain enyimpan nilai y pada setiap titik enyimpan nilai z pada setiap titik
kan ke dalam queue. ue.
e. Karena isi queue
alur terdekat sebagai tujuan. Berarti, jarak lai y di titik 5. Untuk ri titik tujuan, titik 5 a bergerak ke titik 4. a kemudian bergerak adalah 2, sehingga dian, nilai z pada titik stack. Selanjutnya, dap stack, sehingga
• Q sebagai queue penampun
• S sebagai stack penampung
• M sebagai variabel nilai ya
• i dan j sebagai variabel yan
Ilustrasi pemakaian stru
11.1.4 Deklarasi dan Inisiali Variabel terdiri dari n, dan inisialisasi variabel pada fl
11.1.5 Input
Pertama kali, user har Dari banyaknya titik tersebu Kemudian, user memasukka inisilisasi nilai y dan z. Flowch
91
pung titik akan akan diproses sebagai titik aktif ung titik jalur terpendek
yang sangat besar
yang dipakai untuk proses looping
struktur data diatas dapat dilihat pada gambar di
ialisasi
, asal, tujuan, relasi, jarak, y, z, Q, S, i dan j. D a flowchart dapat dibuat sebagai berikut:
arus memasukkan banyaknya titik n, titik asa but, dibuatlah matriks input relasi dan jara kan nilai dari 2 matriks input. Selanjutnya chart untuk input ini dapat dilihat sebagai berik
tif
r dibawah ini:
. Dari sini, deklarasi
asal dan titik tujuan. arak, array y dan z. ya dilakukan prose erikut:
11.1.6 Output
Solusi yang ingin did adalah jarak terpendek dan ja pada nilai z di titik tujuan. Se dilakukan operasi pop pada Penyelesaian. Flowchart untuk
11.2 Latihan
Buatlah flowchart dari p penyelesaian dengan me flowchart keseluruhan.
92
didapatkan pada permasalahan shortest path jalur untuk jarak terpendek. Informasi jarak Sedangkan untuk mendapatkan informasi jalu
a stack, sebagaimana yang telah dijelaskan tuk output terlihat seperti dibawah ini:
i permasalahan shortest path problem diatas. D menggunakan struktur data yang ada, dan kem
th problem tersebut k terpendek terdapat alur terpendek, harus n pada bagian Cara
. Deskripsikan proses kemudian buatlahlah