Anda di halaman 1dari 5

GAME SNAKE BERBASIS WEB DENGAN MENGGUNAKAN

ALGORITMA DIJKSTRA

Disusun Oleh:
Mukhamad Rizal Ilham (19.11.2802)
Alfarid P Yusuf (19.11.2841)

Dosen Pembimbing:
Hartatik, S.T., M.Cs.

Program Studi S1 Informatika


Fakultas Ilmu Komputer
Universitas Amikom Yogyakarta

2021
1. Teori algoritma yang digunakan
algorism adalah sekumpulan instruksi atau perintah yang dibuat secara jelas dan sistematis
berdasarkan urutan yang logis untuk penyelesaian suatu masalah.
Algoritma Dijkstra merupakan algoritma yang digunakan untuk menentukan jarak
terpendek dari satu vertex ke vertex yang lainnya pada suatu graph berbobot, jarak antar
vertex adalah nilai bobot dari setiap edge pada graph. Suatu bobot harus bernilai posisif
(bobot >= 0). Algoritma Dijkstra ditemukan oleh Edger Wybe Dijkstra. Algoritma Dijkstra
dikenal juga sebagai algoritma greedy yaitu algoritma yang penyelesaian masalah dengan
mencari nilai maksimum.

2. Pipeline atau cara kerja


Cara Kerja algoritma Dijkstra
- Tandai semua node yang belum dikunjungi. Buat satu set dari semua node yang belum
dikunjungi yang disebut set yang belum dikunjungi
- Tetapkan ke setiap simpul nilai jarak tentatif: setel ke nol untuk simpul awal kita dan
hingga tak terhingga untuk semua simpul lainnya. Jarak tentatif dari simpul v adalah
panjang jalur terpendek yang ditemukan sejauh ini antara
simpul v dan simpul awal. Karena awalnya tidak ada jalur yang diketahui ke simpul lain
selain sumber itu sendiri (yang merupakan jalur dengan panjang nol), semua jarak tentatif
lainnya awalnya ditetapkan hingga tak terhingga. Atur simpul awal sebagai saat ini.
- Untuk node saat ini, pertimbangkan semua tetangga yang belum dikunjungi dan hitung
jarak tentatifnya melalui node saat ini. Bandingkan jarak tentatif yang baru dihitung
dengan nilai yang ditetapkan saat ini dan tetapkan yang lebih kecil. Misalnya, jika simpul
saat ini A ditandai dengan jarak 6, dan tepi yang menghubungkannya dengan
tetangga B memiliki panjang 2, maka jarak ke B melalui A akan menjadi 6 + 2 = 8. Jika B
sebelumnya ditandai dengan jarak lebih besar dari 8 kemudian ubah ke 8. Jika tidak, nilai
saat ini akan disimpan.
- Ketika kita selesai mempertimbangkan semua tetangga yang belum dikunjungi dari simpul
saat ini, tandai simpul saat ini sebagai telah dikunjungi dan hapus dari set yang belum
dikunjungi. Node yang dikunjungi tidak akan pernah diperiksa lagi.
- Jika node tujuan telah ditandai dikunjungi (saat merencanakan rute antara dua node
tertentu) atau jika jarak tentatif terkecil di antara node dalam set yang belum dikunjungi
adalah tak terhingga (saat merencanakan traversal lengkap; terjadi ketika tidak ada koneksi
antara node awal dan sisa node yang belum dikunjungi), lalu berhenti. Algoritma telah
selesai.
- Jika tidak, pilih simpul yang belum dikunjungi yang ditandai dengan jarak tentatif terkecil,
atur sebagai simpul baru saat ini, dan kembali ke langkah 3.

Contoh pengimplementasian algoritma dijkstra dalam bentuk gambar

Jadi pada gambar di atas terdapat jalur ke beberapa kota dimana setiap kota memiliki jarak
jalur yang berbeda beda. Pada algoritma dijakstra nantinya akan mencari jalur terpendek
dari kota A ke kota F

Cara Kerja game


- Cara kerja dari game ular / game snake nantinya game ini akan otomatis berjalan sendiri
untuk memakan makanannya dengan otomatis tanpa di control oleh user atau
pengunannya dan ular ini akan mati sendiri jika kepalannya nabrak dengan badannya
sendiri atau menabrak tepi/batas kotakan.

Contoh cara kerja algoritma Dijkstra pada kasus aplikasi kita


Hitam : sebagai kepala ular
Biru : sebagai badan ular
Hijau : sebagai makanan ular

- Pertama menandai semua node yang belum pernah dikunjungi atau area kosong

- Setiap jarak node memiliki jarak 1


- Lalu makanan si ular akan selalu berubah jika sudah dimakan ular dan badan ular akan
terus bertambah jika memakannya, aplikasi akan berhenti jika kepala ular menabrak
badan, menabrak tembok, dan nodenya sudah penuh/sudah tidak bisa dilalui lagi.
3. Progres Pembuatan Aplikasi
a. Membuat tempat/ruangan ular.
b. Membuat kita buat source code kepala ular badan ular.
c. Membuat makanan ular.
d. Membuat tembok agar tidak bisa dilalui oleh ular/jika ular menabrak tembok nantinya
akan mati ularnya.
e. Membuat source code jika kepala ular menabrak badan ular nantinya ular akan mati.
f. Pengimplementasian algoritma dijaksanya dan ular otomatis berjalan sendiri.

4. Link video penjelasan


https://youtu.be/FXRthoQimvk

- Harahap, M. K., & Khairina, N. (2017). Pencarian Jalur Terpendek dengan Algoritma
Dijkstra. SinkrOn, 2(2), 18. https://doi.org/10.33395/sinkron.v2i2.61

- Dijkstra's algorithm - Wikipedia. (2021). Diakses 23 November 2021, Dari


https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#cite_note-Dijkstra1959-6

Anda mungkin juga menyukai