Pada Gambar 2.2 dapat diketahui bahwa proses penelusuran DFS dimulai dari A-B-D-G-D-H-D-B-A-C-E-I-E-J. A merupakan root yang menandakan keadaan
belum diambil, lalu ditelusuri hingga kedalaman yang paling dalam sebelah kiri yaitu G, lalu melakukan proses backtrack ke D lalu lanjut lagi ke H. Proses tersebut
berhenti karena telah mencapai goal state yaitu leaf node J.
Langkah-langkah cara kerja algoritma DFS adalah sebagai berikut: 1. Masukkan root ke dalam struktur data tumpukan stack.
2. Ambil simpul dari tumpukan teratas, dan diperiksa apakah simpul merupakan solusi.
3. Jika simpul merupakan solusi, maka pencarian selesai dan hasil dikembalikan. 4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan
simpul tersebut ke dalam tumpukan. 5. Jika tumpukan kosong dan setiap simpul sudah ditelusuri, pencarian selesai
dan solusi tidak ditemukan. 6. Ulangi pencarian dari poin kedua.
2.6 Algoritma Minimax
Algoritma Minimax ialah suatu metode yang sangat bermanfaat untuk permainan dua pemain sederhana. Metode ini digunakan untuk memilih langkah terbaik yang
diberikan, dimana kedua pemain saling berusaha untuk memenangkan permainan. Setiap pemain mengetahui langkah-langkah yang mungkin diberikan pada situasi
permainan saat ini. Sehingga untuk setiap langkah dan semua langkah selanjutnya akan dapat diketahui M. Tim Jones, 2008. Minimax merupakan algoritma yang
digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal.
Algortima Minimax dapat menghasilkan pilihan langkah yang baik dengan mengasumsikan bahwa pemain lawan akan selalu memilih langkah terbaik untuk
dirinya dan langkah terburuk bagi komputer. Prinsip dasar pada algoritma Minimax ini adalah jalur yang akan dipilih oleh komputer merupakan jalur maksimum max
Universitas Sumatera Utara
node yang akan menghasilkan nilai maksimum di jalur tersebut, dan saat lawan yang akan bermain akan meminimalkan min node nilai komputer. Jadi, komputer
bertujuan untuk memaksimalkan kemungkinan nilai paling rendah yang akan diperoleh komputer.
Jika pemain memilih suatu langkah, maka pemain akan memilih langkah yang akan menghasilkan suatu posisi yang bagus. Kita dapat menganggap bahwa pemain
akan memilih langkah yang akan menuntunnya pada posisi terbaik. Dengan kata lain, ketika pemain mendapat giliran bermain maka pemain akan mencoba memaksimalkan
nilainya. Ketika lawan mendapat giliran bermain, pemain akan mengganggap bahwa lawan akan memilih langkah yang akan memberikan pemain posisi terburuk yang
tersedia. Lawan sedang berusaha meminimalkan nilai dari pemain. Untuk proses dan cara kerja algoritma Minimax yang lebih jelas, dapat dilihat pada gambar berikut:
Level 0
Level 1
Level 2
Gambar 2.3 Cara kerja algoritma Minimax Coppin, 2004
Langkah-langkah cara kerja algoritma Minimax adalah sebagai berikut: 1. Hampiri node pertama pada leaf dengan nilai 5, naik ke parent pada level 2
MAX masukkan nilai 5, hampiri 2. Karena 25 maka nilai parent tidak perlu diganti.
2. Setelah kedua leaf pertama dihampiri, naik lebih tinggi lagi ke level 1 MIN masukkan nilai 5.
3. Hampiri node ketiga pada leaf dengan nilai 1, naik ke parent pada level 2 MAX masukkan nilai 1. Kemudian hampiri leaf keempat dengan nilai 3.
Karena 31 maka ganti parent pada level 2 MAX dengan nilai 3. 4. Karena 35 maka ganti parent pada level 1 MIN dengan nilai 3.
Universitas Sumatera Utara
5. Setelah keempat leaf pertama dihampiri, naik lebih tinggi lagi ke level 0 MAX masukkan nilai 3.
6. Begitu seterusnya hingga kita dapatkan hasil akhir dari tree di atas adalah 6.
2.7 Algoritma Alpha Beta Pruning