Pencarian Buta Game Edukasi Mengenal Dan Membaca Bahasa Arab

2.14 Algoritma Depth First Search DFS

Algoritma depth first search melakukan pencarian secara preorder yaitu mengunjungi anak suatu simpul sebelum simpul tetangganya. DFS adalah algoritma untuk melakukan transversal atau pencarian pada sebuah graf atau pohon [5]. Dimulai dari simpul akar, pencarian akan dilakukan dan mengeksplorasi sejauh mungkin pada tiap cabang sebelum akhirnya melakukan backtracking. Algoritma DFS mencari solusi dengan mengunjungi simpul akar lalu simpul-simpul yang bertetangga dengan simpul akar, terus sampai simpul paling dalam. Setelah itu, dicari simpul yang telah dikunjungi pada tingkat terdekat dan terdalam lalu simpul yang bertetangga dengan simpul tersebut dikunjungi, demikian seterusnya sampai selutuh simpul telah dikunjungi. Berikur gambar yang mengilustrasikan urutan simpul yang dikunjungi pada algoritma DFS: Gambar 2.14. Ilustrasi urutan kunjungan simpul pada algoritma DFS [5] Dari gambar dapat menunjukkan bahwa dengan algoritma DFS, setiap anak simpul pertama yang bertetangga dengan simpul akar dikunjungi sampai tingkat terdalamnya lebih dahulu, lalu seluruh simpul pada subpohon tersebut, sebelum simpul lain yang juha bertetangga dengan simpul akar. Pada algoritma DFS, simpul yang telah disimpan dalam suatu tumpukan. Antrian ini digunakan untuk mengacu simpul-simpul lain yang akan dikunjungi sesuai urutan tumpukan dan mempermudah proses runut balik jika simpul sudah tidak memiliki anak. Untuk memperjelas cara kerja algoritma DFS beserta tumpukan yang digunakan, berikut langah-langkah dari algoritma DFS yaitu : 1. Masukkan simpul ujung akar ke dalam tumpukan. 2. Ambil simpul dari tumpukan teratas, lalu cek apakah simpul merupakan solusi atau tidak. 3. Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan. 4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul tersebut kedalam tumpukan. 5. Jika tumupukan kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan hasil solusi yang tidak ditemukan. 6. Ulangi pencarian dari langkah kedua. Berikut beberapa keutungan dari algoritma DFS yaitu : 1. Depth first search membutuhkan memori yang kecil karena hanya simpul dalam path yang disimpan. 2. Depth first search mungkin menemukan sebuah solusi tanpa menguji banyak jangkauan pencarian.