3.3.2 Kebutuhan Perangkat Keras
Perangkat keras yang digunakan dalam menyelesaikan aplikasi algoritma Semut untuk penyelesaian kasus TSP pada tulisan ini adalah:
1. Intel Celeron 1.5Ghz 2. Memori 256 MB
3. Hardisk 40 GB 4. OS Windows XP Profesional SP 2
3.3.3 Perancangan Perangkat Lunak
Implementasi dari algoritma semut untuk penyelesaian TSP pada tulisan ini diaplikasikan dalam bahasa pemrograman Visual Basic 6.0, aplikasi dari algoritma
Semut ini dibatasi hanya pada pencarian jalur terpendek dari data graf yang di input oleh penggun a. Tampilannya terdiri dari beberapa form yang memiliki fungsi masing-
masing yang tampil sesuai dengan urutan yang telah diprogram.
1. Halaman Utama
Pada halaman utama terdapat beberapa menu antara lain input kota, parameter algoritma, gambar graf dan hasil perhitungan. Tampilan halaman utama dapat dilihat
pada Gambar 3.3.
Universitas Sumatera Utara
Gambar 3.3 Tampilan Halaman Utama
Gambar 3.4 Data Graf dengan 10 Kota
Universitas Sumatera Utara
2. Halaman Komputasi
Halaman komputasi digunakan untuk melihat hasil komputasi dari program aplikasi pencarian jalur terpendek. data input adalah jumlah kota, koordinat kota, parameter
algoritma termasuk siklus maksimum, alfa, beta, Q, Rho dan T
ij
. Program akan menampilkan gambar graf dan perhitungan jarak. Berikut tampilan dari halaman
komputasi.
Gambar 3.5 Tampilan Hasil Komputasi
3. Halaman Hasil
Halaman ini menampilkan hasil perhitungan dari probabilitas dari setiap semut untuk mengunjungi kota berikutnya, probabilitas kumulatif, kota yang terpilih, penyimpanan
kota pada daftar semut list, perbaikan jejak feromon pada setiap siklus dan jalur terpendek yang dihasilkan dari setiap siklus.
Universitas Sumatera Utara
Gambar 3.6 Tampilan Halaman Hasil
Coding untuk Algoritma Semut
Berikut adalah coding untuk penyelesaian TSP dengan Algoritma Semut yang ditulis dengan Microsoft Visual Basic 6.0.
1. Inisialisasi Input Parameter:
Ncmax = CIntFlex.TextMatrix1, 1 alpa = CDblFlex.TextMatrix2, 1
Beta = CDblFlex.TextMatrix3, 1 rho = CDblFlex.TextMatrix5, 1
Tij = CDblFlex.TextMatrix6, 1
2. Inisialisasi Input Koordinat
Dim x, y, angka As Integer ReDim KordinatjlhKota, 2
For x = 1 To Flex.Rows - 1 For y = 1 To Flex.Cols - 1
If Flex.TextMatrixx, y = Then angka = 0
Universitas Sumatera Utara
Else angka = CIntFlex.TextMatrixx, y
End If Kordinatx, y = angka
Next Next
HitungJarak
3. Inisialisasi Daftar semut
isi daftar semut awal cetak
cetak Isi Daftar semut Awal l = 0
l = l + 1 For k = 1 To N
Tabuk, l = k Next
4. Probabilitas Semut ke Setiap Kota
totP = 0 For u = 1 To N
cari totP If Not CariDaftarSemutj, u, T Then
totP = totP + ThoDaftarSemutj, T, u alpa visibDaftarSemutj, T, u Beta
End If Next u
bagikan kt =
kt2 = ReDim pN
ReDim qN For u = 1 To N
If CariDaftarSemutj, u, T = False Then pu = ThoTabuj, T, u alpa visib
DaftarSemutj, T, u Beta totP Else
pu = 0 End If
kt = kt Formatpu, ,0.000 Next
5. Probabilitas Kumulatif
For u = 1 To N If u = 1 Then
qu = pu Else
qu = qu - 1 + pu End If
Universitas Sumatera Utara
kt2 = kt2 Formatqu, ,0.000 Next
6. Panjang Jalur Setiap Semut
Public Function HitungLkByVal s As Integer As Double Dim pk As Double
For a = 1 To UBoundDaftarSemut - 1 pk = pk + jarak DaftarSemut s, a, DaftarSemut
s, a + 1 Next
akhir + awal pk = pk + jarakDaftarSemuts, a, DaftarSemuts, 1
HitungLk = pk End Function
7. Penentuan Jalur Terpendek
JlrTerpendekNc = 1.79769313486232E+307 temp = 0
For k = 1 To N temp = HitungLkk
PanjangJalurk = temp cetak k = temp
If temp JlrTerpendekNc Then JlrTerpendekNc = temp
End If Next
8. Perbaikan Jejak Feromon
For k = 1 To N PanjangJalurk = HitungLkk
For s = 1 To N - 1 DthoDaftarSemutk, s, DaftarSemutk, s + 1 = _
DthoDaftarSemutk, s, DaftarSemutk, s + 1+ visibDaftarSemutk, s,
DaftarSemutk, s + 1 PanjangJalurk Next
DthoDaftarSemut k, s, DaftarSemutk, s + 1 = _ DthoDaftarSemutk, s, DaftarSemutk, s + 1 +
visibDaftarSemutk, N, DaftarSemutk, 1PanjangJalurk Next
For i = 1 To N kt =
For k = 1 To N Thoi, k = rho Thoi, k + Dthoi, k
kt = kt FormatThoi, k, ,0.0000 Next
Next
Universitas Sumatera Utara
Hasil Analisis
Setelah algoritma Semut diimplementasikan dalam bahasa pemrograman, kemudian diuji dengan masukan beberapa jumlah kota untuk mendapatkan jalur terpendek. Dari
pengujian yang dilakukan dapat dilihat perbandingan waktu pada proses komputasi dengan masukan kota yang berbeda. Pengujian dilakukan pada spesifikasi komputer
yang penulis gunakan, hasil waktu proses algoritma tidak selalu sama pada jenis komputer yang berbeda.
Tabel 3.4. Perhitungan Waktu antar Kota Jumlah Kota
Waktu Proses Detik
5 0.625
10 14.688
15 97.188
20 376.094
25 1147.516
Hasil pengukuran terhadap waktu proses dari algoritma Semut ini ditunjukkan pada grafik berikut:
Gambar 3.6 Grafik Waktu Proses Komputasi
Universitas Sumatera Utara
3.5.1 Analisis Berdasarkan Regresi