• Tidak ada hasil yang ditemukan

Path Problem Path Problem

Dalam dokumen LOGIKA DAN ALGORITMA Program Studi Tekni (2) (Halaman 96-102)

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

Dalam dokumen LOGIKA DAN ALGORITMA Program Studi Tekni (2) (Halaman 96-102)

Dokumen terkait