CARA MEMBUAT PSEUDOCODE SHORTEST PATH

selamat pagi kali ini kita belajar dengan pseudocode. Kenapa kok kita belajar ini karena antara flowchart dan pseudocode masih lebih gampang pseudocode dalam implementasi kan alur algoritma program, itu saja sih bedanya. cara membuat nya bagaimana ? cara membuat nya itu gampang kok. :

1. bahasa yang di gunakan lebih mendekati bahasa sehari-hari manusia
2. mudah dalam penulisan tidak ada gambar-gambar seperti flowcart
3. cuma seperti nulis alur program biasa (codenya).
nah kira-kira cuma itu cara membuatnya tergantung kasus yang diselesaikan, penulis sarankan gunakan pseudocode jika anda sudah mahir flowchart TAPI TIDAK DISARANKAN JIKA BELUM PAHAM FLOWCART MENGGUNAKAN PSEUDOCODE. :t  langsung saja ini ada contoh bagaimana menulis pseudocode ini soal membuat algoritma "SHORTEST PATH" apa sih itu :D ? yaitu suatu teknik algoritma mencari jarak terpendek dan tercepat.

PSEUDOCODE SHORTEST PATH

1.       Deklarasikan n(banyak node),asal,tujuan,relasi[][],jarak[][],y[],z[],Q,S.
2.       Input n,asal tujuan.
3.       Relasi[n][n],y[n],jarak[n][n],z[n.
4.       Input realasi,jarak
5.       Y[asal]=0,z[asal]=0
6.       Selama i=1 dan i<=n
Maka apakah I != asal
Jika ya maka y[i]=M,z[i]=0
Jika tidak kembali ke 6.
7.       Selama j=1;j<=n
8.       Apakah j != asal
                Jika YA apakah relasi[asal][j]==1
                                Jika YA, y[j]=jarak[asal][j],z[j]=asal
                                                Apakah j != tujuan
                                                         Jika YA Q.enqueue(j)
                Jika TIDAK kembali ke langkah 8.

9.       Apakah !Q.empty
Jika YA id=Q.dequeue()
10.   Selama j=1;j<=n
                Apakah j!= id
                                Jika YA, apakah relasi[id][j]==1
                                                Jika YA,Apakah y[j]>(y[id]+jarak[id][j])
                                                                                Jika YA maka y[j]=y(id)+jarak[id][j]
                                                                                                Z[j]=id
                                                Apakah(j != tujuan)&&(j!= asal)
                                                                Jika YA maka Q.enqueue(j)
Jika TIDAK, kembali ke langkah 10
11.   Jika Q.enqueue(j) terpenuhi maka kembali ke langkah 9 sampai                Q.empty
12.   Jika Q.empty maka id=z[tujuan] S.push(tujuan).
13.   S.push(id)
14.   Id = z[id]
15.   Apakah id != 0
                Jika YA kembali ke langkah 13
                Jika TIDAK,apakah  !S.empty
                                Jika YA cetak S.pop + “-”
                                Jika TIDAK cetak jarak MIN+ y[tujuan]

16.  END

gimana semakin paham belum teman-teman tidak ada penulisan baku dengan pseudocode tergantung kreasi intinya yang baca paham alur program kita, beda dengan flowcart yang wajib menggunakan notasi baku dari empunya :) semoga dapat menambah pengetahuan kita semua ya ammin.. :t