Linked List adalah suatu struktur data linier.Berbeda dengan array yang juga merupakan struktur data linier dan tipe data komposit, linked list dibentuk
secara dinamik. Pada saat awal program dijalankan elemen linked list belum ada. Elemen linked list disebut node dibentuk sambil jalan sesuai instruksi. Linked
list digunakan untuk menyimpan alur dari path dari end node menuju start node melalui parent
– parent nodenya dalam proses runut balik ke node awal. Misal Start Node di koordinat 19,11 dan End Node di 16,13 maka pada
pencarian tersebut disetiap node yang dijelajahi akan di disimpan ke dalam array dengan index sesuai koordinatnya. Ketika Algoritma sudah menemukan jarak
terpendek maka akan dilihat index [x][y] nya kemudian didalam array tersebut sudah terbentuk link list yang digunakan untuk merunut node tersebut dari node
awal. Link listnya dimulai dari End Node ditelusur parent - parent nya hingga sampai ke start node.
Untuk koordinat di atas maka dimulai dari Object Node 16,13 yang menunjuk parent ke node 17,13 , node 18,13 menunjuk parent node19,13 ,
node 19,13 menunjuk ke parent node 19,12 kemudian node 19,12 menunjuk ke parent node 19,11. Jadi itulah menjadi jalur terbaik dari node 19,11 ke
16,13.
Gambar 3.4 3.4
Perancangan Struktur Data
Pada penelitian ini penulis menggunakan struktur data sebagai penyimpan data.Struktur data yang digunakan adalah Array dan Linked List. Array dua
dimensi digunakan untuk menentuan koordinat titik x, y dalam permainan labirin ini. Array dua dimensi
adalah Sebuah array yang menampung array lain sebagai data nilai dari setiap indeks array penampung.
3.5 Perancangan Antarmuka
Bagian ini menjelaskan mengenai rancangan
interface
papan permainan Ghost Words Labyrinth beserta fasilitas pencarian jalur terpendek serta fungsi-
fungsi dari tombol yang dibuatt.
Gambar 3.5 Tampilan Papan Permainan dan Pengujian
Gambar diatas merupakan rancangan untuk untuk papan permainan dari Ghost Words Labyrinth. Dimana bagiannya dapat diuraikan sebagai berikut :
1. Papan permainan Ghost Words Labyrinth
2. Fasilitas pencarian jalur terpendek untuk penyelesaian misi yakni
tombol A dan Dijkstra, yang digunakan juga sebagai pengujian untuk perbandingan algoritma.
3. Data performa yang diperlihatkan yaitu time adalah waktu algoritma
melakukan pencarian jalur terpendek, loop adalah banyaknya proses looping, node adalah banyak simpul yang dijelajahi, path adalah
solusi jalur terpendek yang diberikan. 1
2
3
Linked List Penelusuran Alur Ke Node Awal
3.6 Perancangan Pengujian
Pengujian akan dilakukan dengan menjalankan fasilitas pencarian jalur terpendek pada permainan Ghost Words Labyrinth. Pada pengujian akan dipakai
beberapa karakteristik peta labirin yang berbeda. Akan digunakan fasilitas pencarian untuk algoritma A dan Dijkstra untuk penyelesaian misi yang sama.
Jadinya untuk satu misi akan dijalankan dua fasilitas pencarian jalur yaitu A dan Dijkstra.
Ketika menjalankan fasilitas pencarian jalur akan dicatat data performa diantaranya lama algoritma melakukan pencarian jalur terpendek, banyak proses
looping yang dilakukan oleh algoritma, banyaknya simpul dijelajahi danbanyak solusijalur terpendek yang diberikan. Setelah itu akan dilakukan analisa dari data
dengan menghitung nilai efisiensi dan akan ditarik kesimpulan bagaimana perbandingan peforma dari kedua algoritma tersebut.
3.7 Simulasi Manual Penerapan Algoritma
Pada subbab ini akan dijelaskan bagaimana jalanya pencarian terpendek dengan menggunakan algoritma A dan Dijktra. Dimana disitu akan terdapat
angka yang menjelaskan penghitungan dari kedua algoritma tersebut
3.7.1 Simulasi Algoritma A
Penerapan Algoritma A pada permainan ini adalah pada fasilitas pencarian jalur yang akan digunakan untuk membantu pemain dalam penyelesaian
misi. Adapun proses algoritma-nya dapat dicontohkan seperti berikut ini. Pada
gambar dibawah akan terdapat daftar nilai untuk F = G+Hdimana :
F adalah ongkos untuk kotak : Posisinya berada di kiri atas. G adalah ongkos dari node awal : Posisinya berada di kiri bawah.
H adalah ongkos dari node yang dituju : Posisinya berada di kanan bawah.
Langkah 1
Tentukan kotak tentangga yang mungkin dijelajahi Walkable dari posisi awal Poin A.Hitung juga nilai F, dan tambahkan itu sebagai list.
Gambar 3.7.1.1 Visualisasi A Langkah 1 Langkah 2
Langkah selanjutnya, pilih kotak yang memiliki nilai F terkecil, tambahkan ke closed list kemudian cari lagi tetangganya.