Algoritma Depth First Search (DFS) adalah salah satu algoritma pencarian graf yang digunakan untuk menjelajahi atau mencari semua simpul dalam graf. Algoritma ini bekerja dengan menjelajahi secara mendalam (depth first) dari suatu simpul ke simpul lainnya sebelum bergerak ke simpul-simpul yang lebih jauh.
Berikut adalah langkah-langkah umum dari algoritma Depth First Search:
- Pilih simpul awal sebagai simpul saat ini dan tandai sebagai sudah dikunjungi.
- Eksplore simpul saat ini dengan memeriksa semua tetangganya. Jika ada tetangga yang belum dikunjungi, pilih salah satu dan pergi ke langkah 3. Jika semua tetangga telah dikunjungi, kembali ke simpul sebelumnya.
- Pilih tetangga yang belum dikunjungi sebagai simpul saat ini, tandai sebagai sudah dikunjungi, dan ulangi langkah 2.
- Ulangi langkah 2 dan 3 sampai semua simpul telah dikunjungi.
DFS dapat diimplementasikan dengan menggunakan rekursi atau menggunakan tumpukan (stack) untuk melacak simpul-simpul yang belum dikunjungi. Ketika menggunakan rekursi, langkah-langkah 2 dan 3 diimplementasikan dalam fungsi rekursif yang dipanggil sendiri.
DFS dapat digunakan untuk berbagai tujuan, seperti mencari jalur atau rute dalam graf, menemukan komponen terhubung dalam graf, atau melakukan penelusuran graf secara keseluruhan.
Namun, perlu dicatat bahwa DFS tidak menjamin menemukan jalur terpendek dalam graf yang terhubung. Jika Anda membutuhkan jalur terpendek, algoritma lain seperti Breadth First Search (BFS) atau algoritma pencarian jalur terpendek seperti Dijkstra atau A* mungkin lebih cocok.
