Searching pencarian Completeness : apakah metode tersebut menjamin penemuan solusi Optimality : apakah metode tersebut menjamin menemukan solusi yang

Berdasarkan hasil diatas maka dapat dinyatakan bahwa setiap simpul walk pasti mengandung simpul path.

2.2 Searching pencarian

Metode pencarian dapat dibedakan ke dalam dua jenis, yaitu: 1. pecarian butatanpa informasi blind atau un-informed search 2. pencarian heuristikdengan informasi heuristic atau informed search Menurut Russel dan Norvig 1995, untuk mengukur performansi metode pencarian, terdapat 4 kriteria yang dapat digunakan, yaitu :

a. Completeness : apakah metode tersebut menjamin penemuan solusi

jika solusinya memang ada? b. Time complexity : berapa lama waktu yang diperlukan? c. Space complexity : berapa banyak memori yang diperlukan?

d. Optimality : apakah metode tersebut menjamin menemukan solusi yang

terbaik jika terdapat beberapa solusi berbeda?

2.2.1 Metode Pencarian BlindUn-Informed Search

Metode pencarian blindun-informed search merupakan metode pencarian tanpa adanya informasi awal yang digunakan dalam proses pencarian Metode-metode yang termasuk kedalam teknik pencarian BlindUn- Informed Search , yaitu: a. Breadth First Search BFS b. Uniform Cost Search UCS c. Depth First Search DFS d. Depth-Limited Search DLS e. Iterative Deepening Search IDS f. Bi-Directional Search BDS Universitas Sumatera Utara

2.2.2 Depth First Search DFS

Pada metode DFS, pencarian dilakukan pada suatu simpul dalam setiap level dari paling kiri, jika pada level terdalam solusi belum ditemukan, maka pencarian dilanjutkan pada simbul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Menurut Suyanto 2007, Kelebihan DFS adalah pemakaian memori yang lebih sedikit. DFS hanya menyimpan sekitar bd simpul, di mana b adalah faktor percabangan dan d adalah kedalaman solusi. Jika b = 10 dan d = 3, maka jumlah simpul yang disimpan di memori adalah 1 + 10 + 10 + 10 = 31. Hal ini berbeda jauh dengan Breadth First Search yang harus menyimpan semua simpul yang pernah dibangkitkan. Pada kasus tersebut, Breadth First Search harus menyimpan 1 + 10 + 100 + 1000 = 1111 simpul. Kelebihan lainnya adalah jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya dengan cepat. Sedangkan kelemahan DFS adalah jika pohon yang dibangkitkan mempunyai level yang sangat dalam tak terhingga, maka tidak ada jaminan menemukan solusi. Artinya DFS tidak complete. Kelemahan lainnya adalah jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik artinya DFS tidak optimal. Universitas Sumatera Utara Algoritma DFS: 1. Masukkan simpul akar ke dalam antrian Q. Jika simpul akar = simpul solusi, maka Stop. 2. Jika Q kosong, tidak ada solusi. Stop. 3. Ambil simpul v dari kepala head antrian. 4. Jika kedalaman simpul v sama dengan batas kedalaman maksimum, kembali ke langkah 2. 5. Bangkitkan semua anak dari simpul v. Jika v tidak mempunyai anak lagi, kembali ke langkah 2. Tempatkan semua anak dari v di antrian Q. 6. Jika anak dari simpul v adalah simpul tujuan, berarti solusi telah ditemukan, kalau tidak, kembali lagi ke langkah 2. Start with A Discovered [B,C] Explore B Discovered [D,E,C] Explore D Discovered [H,I,E,C] Explore H Finished H Discovered [I,E,C] Explore I Finished I,D Discovered [E,C] Gambar 2.6 proses algoritma DFS A B C D E F G H I J K L M N O A B C D E F G H I J K L M N O A B C D E F G H I J K L M N O A B C D E F G H I J K L M N O A B C D E F G H I J K L M N O A B C D E F G H I J K L M N O Universitas Sumatera Utara

2.3 Unified Modeling Language UML