Anda di halaman 1dari 10

Nama: Nurmiana

NIM: 220280145
Kelas : Teknik
Informatika E
UNIVERSITAS MUHAMMADIYAH PARE-PARE
Algoritma Exhaustive
Search
&
Travel Selesmen Problem
Desain dan Analisis Algoritma
Defenisi
Desain dan Analisis Algoritma
Algoritma Exhaustive Search
Exhaustive search adalah teknik pencarian solusi secara brute force pada masalah yang
melibatkan pencarian elemen dengan sifat khusus, biasanya di antara objek-objek kombinatorik
seperti permutasi, kombinasi, atau himpunan bagian dari sebuah himpunan. Berdasarkan
definisi ini, maka exhaustive search adalah brute force juga.

Metode exhaustive search dapat dirumuskan langkah-langkahnya sebagai berikut:


1. Enumerasi (list) setiap solusi yang mungkin dengan cara yang sistematis.
2. Evaluasi setiap kemungkinan solusi satu per satu, mungkin saja beberapa kemungkinan
solusi yang tidak layak dikeluarkan, dan simpan solusi terbaik yang ditemukan sampai sejauh
ini (the best solusi found so far).
3. Bila pencarian berakhir, umumkan solusi terbaik (the winner)
TSP dikenal sebagai suatu permasalahan optimasi yang
bersifat klasik dan dimana tidak ada penyelesaian yang
paling optimal selain Travelling Salesman Problem (TSP) adalah
mencoba seluruh kemungkinan penyelesaian yang ada. permasalahan umum dalam
Permasalahan ini optimasi kombinatorial dimana seorang salesman
melibatkan seorang Travelling Salesman yang harus harus mengujungi sejumlah N
melakukan kunjungan kota, disyartakan setiap kota hanya dikunjungi
sekali pada semua kota dalam sebuah lintasan sebelum sekali.
dia kembali ketitik awal,
sehingga perjalanannya dikatakan sempurna.

Travel Salesmen Problem


Pseudocode dan
Implemntasi

Contoh kasus , Pseudocode dan penyelesaian


Algoritma Exhaustive Search
Contoh soal: Contoh bentuk Pseudocode nya Dengan mengeliminasi kemungkinan-
Bilangan masukan akan lebih efektif kemungkinan tersebut, algoritma akan lebih
jika diuji pembagian hanya dengan efisien dan solusi yang dihasilkan sudah
bilanganbilangan pasti merupakan solusi terbaik. Waktu
penyelesaian pada kasus terburuk yang
prima yang lebih kecil dari akar diperlukan oleh algoritma pertama adalah
kuadratnya. Dengan demikian,
pengujian pembagian dengan bilangan- T(n) = ⎡ n⎤.
bilangan
Setelah diperbaiki, waktu penyelesaian pada
genap sebenarnya tidak perlu kasus terburuk akan lebih cepat dua kali
dilakukan. Oleh karena itu, angka lipat, yaitu
penguji harus mulai
T(n) = ⎡ n ⎤| / 2.
dari tiga, dan bilangan ganjil
selanjutnya dengan penambahan dua. Pada kasus terbaik yaitu saat bilangan
Algoritmanya setelah dimodifikasi masukan adalah genap selain dua,
adalah sebagai algoritma hanya akan melakukan satu kali
pengujian.
berikut:
Algoritma Exhaustive
Searc Bentuk Pseudocode
Ide sederhana untuk membuat pseudo codenya adalah
sebagai berikut :
TSP-Greedy-Penanda(Lintasan,
1. Input jumlah node
Total)
2. Input jarak antar kota, dimana jarak yang diinput n  jumlah node
cukup sekali, misalnya cukup menginput jarak antara for i  1 to length[n]
kota A ke kota B, secara otomatis, program akan for j  i to length[n]
mengisi jarak antara kota B ke kota A.
cost[i,j]  jarak antar kota i ke j
3. Setiap yang telah dilewati diberi penanda = 1, for i  1 to length[n]
sementara kota yang belum dilewati secara default for j  i to length[n]
mempunyai penanda = 0.
cost[j,i]  cost[i,j]
4. Gunakan algoritma greedy untuk mencari optimum total  0
local step by step dengan tidak memproses kota yang x0
telah dilewati (yaitu ditandai dengan penanda=1). asal  1
5. Outpunya berupa jalur optimal sesuai prinsip greedy
i0
dan total cost yang dibutuhkan.
Next
Repeat
Kecil  10000
x  x+1
i  i+1
for j  2 to length[n]
tujuan  j
if cost[asal,j] = 0 or tanda[tujuan] = 1 then
continue
k  cost[asal,tujuan]
if k < kecil then
kecil  k
temp[x]  tujuan
total  total + kecil
asal  temp[x]
lintasan  lintasan + Chr(64+asal)
tanda[asal]  1
until i  n-1
total:=total+cost[asal,1];
lintasan:=‘A’+lintasan+’A’;
return Lintasan, Total
☺️
Sekian
Thank You

Anda mungkin juga menyukai