PENENTUAN RUTE OPTIMUM DALAM
SUPPLY CHAIN
NETWORK
DENGAN ALGORITMA
ANT COLONY
UNTUK
KOTA DAN KABUPATEN BOGOR
INDRI WIDYASTUTI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2
PENENTUAN RUTE OPTIMUM DALAM
SUPPLY CHAIN
NETWORK
DENGAN ALGORITMA
ANT COLONY
UNTUK
KOTA DAN KABUPATEN BOGOR
INDRI WIDYASTUTI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
ABSTRACT
INDRI WIDYASTUTI. Penentuan Rute Optimum dalam Supply Chain Network dengan Algoritma Ant Colony Untuk Kota dan Kabupaten Bogor. Dibimbing oleh SONY HARTONO WIJAYA.
Persaingan antarperusahaan semakin marak terjadi seiring berkembangnya teknologi dan permintaan pasar. Agar produk suatu perusahaan dapat bertahan dipasaran, diperlukan suatu manajemen yang dapat mengatur informasi dari produsen ke konsumen dengan efektif dan efisien. Pada penelitian ini, menitikberatkan cara pendistribusian produk melalui jalur dengan jarak terpendek, yaitu memanfaatkan Algoritma Ant Colony untuk memperoleh rute pendistribusian dengan jarak terpendek. Algortima ini bekerja pada sebuah graf berbobot jarak dan berarah sesuai lajur lalu lintas. Data yang digunakan pada penelitian ini adalah data sistem jalan Kota dan Kabupaten Bogor wilayah Barat. Sistem ini menggunakan Google Maps untuk merepresentasikan rute hasil dari Algoritma Ant Colony.
Penelitian ini berhasil mengimplementasikan Algoritma Ant Colony pada sebuah sistem untuk mencari rute optimum pendistribusian. Hasil dari sistem ini berupa rute optimum dengan akurasi sebesar 92%.
ABSTRACT
INDRI WIDYASTUTI. Determining Optimal Route in Supply Chain Network with Ant Colony Algorithm for Bogor City and Regency. Supervised by SONY HARTONO WIJAYA.
Competition among companies rises along with the development of technology and market demand. In order to keep a product resist in the market, a management which is able to manage information from manufacturer to consumer effectively and efficiently is needed. This research is emphasizing the manner of distributing the product through the shortest route, that is the use of Ant Colony Algorithm to obtain the shortest route of distribution. This algorithm operates on a weighted graph distance and directional appropriate traffic lane. Data which were used in this research were the data of system of Bogor City and Regency. This system uses Google Maps to represent the route as the result of Ant Colony Algorithm.
This research successfully implement a system using Ant Colony Algorithm to find the optimum route distribution. The result from this system is a optimum route with an accuracy of 92%.
Judul Skripsi : Penentuan Rute Optimum dalam Supply Chain Network dengan Algoritma Ant Colony Untuk Kota dan Kabupaten Bogor
Nama : Indri Widyastuti
NIM : G64080044
Menyetujui: Pembimbing,
Sony Hartono Wijaya, S.Kom, M.Kom NIP. 19810809 200812 1 002
Mengetahui: Ketua Departemen,
Dr. Ir. Agus Buono, M.Si, M.Kom NIP. 19660702 199302 1 001
Penguji :
1. Toto Haryanto, S.Kom, M.Si
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah memberikan rahmat dan karunia-Nya sehingga skripsi ini dapat diselesaikan. Skripsi ini merupakan hasil penelitian yang dilakukan dari bulan Februari sampai bulan Juli 2012 dengan bidang kajian Penentuan Rute Optimum dalam Supply Chain Network dengan Algoritma Ant Colony Untuk Kota dan Kabupaten Bogor.
Penulis mengucapkan terima kasih kepada semua pihak yang telah memberikan bantuan, bimbingan, dan dorongan kepada penulis selama menyelesaikan tugas akhir ini, antara lain:
1 Kedua orang tua tercinta, Bapak Sunardi, S.Pd dan Ibunda Anis Maryati, S.Pd yang selalu memberikan kasih sayang, doa, dan dukungan moral.
2 Adik-adik tercinta, Taufik Rahmad Ramadhan, R. Bakhrun Adi Nugroho, dan Amin Probowati Mustikasari yang selalu menjadi motivasi penulis untuk segera menyelesaikan tugas akhir.
3 Bapak Sony Hartono Wijaya, S.Kom, M.Kom selaku pembimbing atas ilmu, waktu, bimbingan, arahan, dan nasihat yang selalu diberikan selama pengerjaan tugas akhir ini. 4 Bapak Hendra Rahmawan selaku pembimbing akademik yang telah meluangkan waktunya
untuk mendengarkan keluh kesah penulis.
5 Bapak Toto Haryanto, S.Kom, M.Si dan Bapak Dr. Wisnu Ananta Kusuma, S.T, M.T selaku dosen penguji yang telah memberikan ide dan saran kepada penulis.
6 Muhammad Ulul Albab dan rekan-rekan Ilkom 45 yang telah banyak membantu penulis selama menjalani waktu kuliah di departemen Ilmu Komputer IPB.
7 Departemen Ilmu Komputer, staf, dan dosen yang telah banyak membantu baik selama penelitian maupun pada masa perkuliahan.
Penulis menyadari bahwa karya tulis ini masih jauh dari sempurna karena keterbatasan pengalaman dan pengetahuan yang dimiliki penulis. Segala kesempurnaan hanya milik Tuhan Yang Maha Esa, semoga hasil penelitian ini dapat bermanfaat, Amin.
Bogor, September 2012
RIWAYAT HIDUP
DAFTAR ISI
Halaman
DAFTAR TABEL ... vi
DAFTAR GAMBAR ... vi
DAFTAR LAMPIRAN ... vi
PENDAHULUAN Latar Belakang ... 1
Tujuan ... 1
Ruang Lingkup ... 1
TINJAUAN PUSTAKA ... 1
SupplyChainManagement ... 1
Graf ... 2
Algoritma AntColony ... 2
METODE PENELITIAN Pendefinisian Masalah ... 4
Studi Pustaka ... 4
Pembentukan Data ... 4
Pengembangan Sistem ... 4
Pengujian dan Analisis Sistem ... 5
HASIL DAN PEMBAHASAN Pendefinisian Masalah ... 5
Pembentukan Data ... 5
Pengembangan Sistem ... 6
Pengujian dan Analisis Sistem ... 9
SIMPULAN DAN SARAN Simpulan ... 10
Saran ... 10
DAFTAR PUSTAKA ... 10
DAFTAR TABEL
Halaman
1 Representasi tingkah laku semut dalam Algoritma Ant Colony ... 2
2 Nilai parameter dengan rata-rata solusi jarak ... 7
3 Nilai parameter dengan rata-rata solusi jarak ... 7
4 Nilai parameter dengan rata-rata solusi jarak... 8
5 Nilai parameter dengan rata-rata solusi jarak... 8
6 Nilai parameter m dengan rata-rata solusi jarak ... 8
7 Nilai parameter dengan rata-rata solusi jarak ... 9
8 Akurasi hasil pengujian rute optimum ... 10
DAFTAR GAMBAR
Halaman 1 Graf berarah. ... 22 Koloni semut. ... 2
3 Metode penelitian. ... 4
4 Pembentukan node dan edge. ... 5
5 Tampilan awal sistem pencarian rute ... 6
6 Hubungan parameter dengan rata-rata solusi jarak. ... 7
7 Hubungan parameter dengan rata-rata solusi jarak. ... 7
8 Hubungan parameter dengan rata-rata solusi jarak. ... 8
9 Hubungan parameter dengan rata-rata solusi jarak. ... 8
10 Hubungan parameter m dengan rata-rata solusi jarak. ... 8
11 Hubungan parameter m = 10, m = 25, m = 50, dan m= 100 dengan waktu eksekusi. ... 9
12 Hubungan parameter dengan rata-rata solusi jarak. ... 9
13 Hubungan antara waktu eksekusi program dengan nilai parameter . ... 9
DAFTAR LAMPIRAN
Halaman 1 Diagram Alur Algoritma Ant Colony ... 122 Data node ... 13
3 Data edge ... 14
4 Alur pemanggilan fungsi ... 18
5 Hasil pengujian Nilai ... 20
6 Hasil pengujian Nilai ... 22
7 Hasil pengujian Nilai ... 24
8 Hasil pengujian nilai ... 25
9 Hasil pengujian nilai ... 26
10 Hasil pengujian nilai ... 29
11 Pengujian rute optimum ... 31
PENDAHULUAN
Latar BelakangPersaingan antarperusahaan semakin marak terjadi seiring berkembangnya teknologi dan permintaan pasar. Suatu perusahaan harus bisa bersaing agar produknya tetap bertahan dipasaran. Salah satu cara agar produk suatu perusahaan bisa bertahan di pasaran adalah dengan melakukan manajemen pemasaran dan pendistribusian dengan baik. Sehingga dibutuhkan manajemen perusahaan yang dapat menjalankan proses bisnis dari hulu hingga hilir secara efektif dan efisien. Perusahaan tersebut harus mengintegrasikan antara arus informasi barang dan jasa mulai dari pemasok sampai ke konsumen sehingga dapat menambah keuntungan dari perusahaan. Proses integrasi ini sering disebut dengan manajemen rantai pasok (supply chain management).
Salah satu faktor yang dalam supply chain management yang merupakan faktor utama dalam pemasaran produk adalah supply chain network. Supply chainnetwork dibagi menjadi dua bagian, yaitu lokasi dan jalur produksi. Penentuan lokasi produksi berpengaruh dalam pelayanan terhadap konsumen dan pemasaran produk. Untuk penentuan jalur produksi yang tepat dapat meminimalkan waktu distribusi dan jarak tempuh.
Pada penelitian sebelumnya telah dilakukan pencarian rute optimum daerah Bogor menggunakan Algoritma Genetika (Marwantoni 2009). Penelitian ini mengoptimumkan waktu tempuh dari titik asal ke titik tujuan. Ada pula penelitian sebelumnya tentang penentuan lokasi dan jalur distribusi daerah Bogor menggunakan Algoritma Djikstra (Priasa 2008). Penelitian ini menentukan lokasi, dimana lokasi tersebut paling optimum untuk mejangkau setiap tujuan pada Kota Bogor. Perbedaan dari kedua Algoritma Genetika dan Algoritma Djikstra adalah Algoritma Genetika merupakan salah satu metode heuristik. Sedangkan Algoritma Dijkstra adalah salah satu metode konvensional. Metode konvensional dihitung dengan perhitungan matematis biasa, sedangkan metode heuristik dihitung dengan menggunakan sistem pendekatan. Algoritma
Ant Colony salah satu dari metode heuristik, dengan perhitungan pendekatan untuk mendapatkan nilai yang mendekati optimum. Kelebihan dari Algoritma Ant Colony antara lain: dapat memberikan alternatif jawaban, memberikan positive feedback dalam
menentukan solusi dengan cepat, yaitu meninggalkan feromon pada jalur yang dilalui, yang disebut dengan feromon adalah zat kimia yang berasal dari kelenjar endokrin dan digunakan oleh makhluk hidup untuk mengenali sesama jenis. Kekurangan dari Algoritma Ant Colony, yaitu analisis secara teoritik lebih sulit daripada eksperimen, waktu konvergensi tidak pasti, namun pasti konvergen, probabilitas dalam memilih suatu titik berubah-ubah sesuai siklus.
Penelitian ini merancang supply chain network yang berfokus pada penentuan jalur distribusi untuk mendapatkan rute optimum dengan jarak tempuh terpendek dan waktu tempuh tercepat. Penelitian ini menggunakan Algoritma Ant Colony. Hasil dari perancangan ini diimplementasikan dalam bentuk website
yang dapat memudahkan perusahaan dalam pengaksesannya.
Tujuan
Tujuan dari penelitian ini adalah merancang supply chain network untuk menentukan rute pendistribusian yang optimum dengan menggunakan Algoritma Ant Colony.
Ruang Lingkup
Ruang lingkup penelitian ini adalah:
 Data yang digunakan adalah data dari penelitian sebelumnya oleh Marwantoni, yaitu daerah Kota Bogor dan beberapa tambahan daerah Kabupaten Bogor wilayah Barat.
 Sistem dibuat untuk untuk memberikan rute distribusi dari tempat produksi ke satu tempat tujuan.
TINJAUAN PUSTAKA
SupplyChainManagement
Supply Chain adalah jaringan perusahaan-perusahaan yang secara bersama-sama bekerja untuk menciptakan dan menghantarkan suatu produk ke tangan pemakai akhir. Perusahaan-perusahaan tersebut termasuk supplier, pabrik, distributor, toko atau ritel, serta perusahaan pendukung seperti jasa logistik. Ada 3 macam hal yang harus dikelola dalam supply chain
yaitu:
2
distributor, pengecer, kemudian ke pemakai akhir.
2 Aliran uang dan sejenisnya yang mengalir dari hilir ke hulu.
3 Aliran informasi yang bisa terjadi dari hulu ke hilir atau sebaliknya.
Sedangkan supply chain management atau manajemen rantai pasok adalah metode, alat atau pendekatan pengelolaan dari pasokan bahan baku, produksi barang, maupun pengiriman barang sampai ke konsumen untuk menciptakan pelayanan yang lebih baik dan efisien sehingga dapat memuaskan permintaan pasar (Ayers 2001). Supply chain management tidak hanya berorientasi pada urusan internal melainkan juga eksternal perusahaan yang menyangkut hubungan dengan perusahaan-perusahaan partner. Jadi, dengan kata lain supply chain management
(SCM) merupakan integrasi proses-proses bisnis kunci dari pengguna akhir sampai ke pemasok awal yang menyediakan produk, jasa, dan informasi yang memberikan nilai tambah untuk pelanggan dan pihak-pihak terkait lainnya.
Graf
Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Graf G merupakan pasangan himpunan tidak kosong dari V(G)
yang disebut dengan verteks atau node dan himpunan E(G) yang menghubungkan antara dua node yang disebut dengan himpunan
edge (Chartrand & Ollerman 1993). Graf G = (V, E), yang dalam hal ini:
Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis:
 Graf tak-berarah (undirectedgraph) Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah.
 Graf berarah (directedgraph atau digraph) Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Graf berarah dalat dilihat pada Gambar 1.
Algoritma AntColony
Algoritma Ant Colony adalah algoritma yang diadopsi dari perilaku koloni semut. Secara alamiah koloni semut mampu menemukan rute terpendek dalam perjalanan dari sarang ke tempat-tempat sumber makanan (Dorigo & Stutzle 2004). Sebagai ilustrasi koloni semut dalam pencarian rute terpendek dapat dilihat pada Gambar 2.
Tabel 1 merupakan representasi koloni semut dalam dunia nyata dan saat diimplemntasikan pada Algoritma Ant Colony. Tabel 1 Representasi tingkah laku semut
dalam Algoritma Ant Colony
Kenyataan Algoritma Ant
Colony Gambar 1 Graf berarah.
Beberapa langkah untuk menentukan jalur terpendek, yaitu:
Langkah 1:
a Inisialisasi parameter-parameter algoritma. Parameter – parameter tersebut adalah:
 Intensitas jejak semut antarnode dan
perub h nny ( ij).
 Banyaknya node (n) dan jarak antarnode (dij).
 Tetapan pengendali intensitas jejak semut (α).
 Tetapan pengendali visibilitas (β).
 Visibilitas antarnode =
atau ( ).  Banyaknya semut (m).
 Tetapan penguapan jejak semut () .
 Jumlah siklus maksimum (Nmax).
b Inisialisasi node pertama pada setiap semut.
Langkah 2:
Inisialisasi kota pertama setiap semut dalam Langkah 1 harus diisikan sebagai elemen pertama tabulis. Hasil dari langkah ini adalah terisinya elemen pertama tabulissemut dengan indeks node tertentu, yang berarti bahwa setiap tabuk (1) bisa berisi indeks kota awal sebagaimana hasil inisialisasi pada Langkah 1.
Langkah 3
Penyusunan rute kunjungan setiap semut ke setiap node. Koloni semut yang sudah berada di sebuah kota, akan mulai melakukan perjalanan dari kota pertama sebagai node asal dan salah satu node-node lainnya sebagai
node tujuan. Kemudian dari node kedua masing-masing, koloni semut akan melanjutkan perjalanan dengan memilih salah satu dari node-node yang tidak terdapat pada
tabuk sebagai node tujuan selanjutnya. Perjalanan koloni semut berlangsung terus menerus sampai menemukan kota tujuan atau bila sudah terjadi kekonvergenan. Jika s
menyatakan indeks urutan kunjungan, node asal dinyatakan sebagai tabuk (s) dan node
-node lainnya dinyatakan sebagai { N- tabuk }, maka Persamaan 1 digunakan untuk menentukan node tujuan digunakan persamaan probabilitas node untuk dikunjungi sebagai berikut: Indeks k adalah nomor dari semut.
Langkah 4:
1 Perhitungan panjang rute setiap semut. Perhitungan panjang rute tertutup (length closed tour) atau setiap semut dilakukan setelah satu siklus diselesaikan oleh semua semut. Perhitungan dilakukan berdasarkan masing-masing dengan Persamaan 2
Setelah setiap semut dihitung, maka didapat harga minimal panjang rute setiap siklus atau n .
Langkah 5
1 Perhitungan perubahan harga intensitas feromon semut antarkota.
Koloni semut akan meninggalkan jejak-jejak kaki pada lintasan antarkota yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang lewat, menyebabkan kemungkinan terjadinya perubahan harga intensitas jejak kaki semut antar-node.
Persamaan 3 untuk penguapan feromon adalah:
ij = ( 1 -  ) ij (3)
Persamaan 4 digunakan untuk menghitung perubahan feromon karena banyaknya semut yang melewati suatu edge adalah:
{ e e bu
nny (4)
dengan adalah perubahan harga intensitas feromon semut antar-node setiap semut yang dihitung. adalah panjang rute tertutup dari semut k.
4
jejak kaki semut antar kota untuk siklus selanjutnya dihitung dengan Persamaan 5:
ij ij(lama) +  ij (5)
Langkah 6
Pengosongan tabulis, dan ulangi langkah 2 jika diperlukan. Tabulis perlu dikosongkan untuk diisi lagi dengan urutan kota yang baru pada siklus selanjutnya, jika jumlah siklus maksimum belum tercapai atau belum terjadi konvergensi. Algoritma diulang lagi dari langkah 2 dengan harga parameter intensitas jejak kaki semut antar node yang sudah diperbaharui.
Alur dari Algoritma Ant Colony diatas dapat dilihat pada Lampiran 1.
METODE PENELITIAN
Penelitian ini akan dilakukan dalam beberapa tahapan. Gambar 3 menunjukan metode yang digunakan dalam penelitian ini.Mulai
Gambar 3 Metode penelitian.
Pendefinisian Masalah
Tahap ini menentukan permasalahan yang dapat dipecahkan melalui penelitian ini. Masalah yang diambil untuk penelitian ini
adalah penentuan rute optimum dalam supply chain network menggunakan Algoritma Ant Colony.
Studi Pustaka
Tahap studi pustaka, merupakan tahapan dimana pengumpulan informasi dan literatur yang berkaitan dengan penelitian terkait. Literatur yang didapat berupa jurnal, buku, dan artikel yang berkaitan dengan Algoritma
Ant Colony dalam pencarian rute optimum. Pembentukan Data
Penelitian kali ini menggunakan data peta jalan Kota dan beberapa persimpangan di Kabupaten Bogor Barat. Penggunaan data tersebut dalam penelitian ini dengan mengubahnya dalam bentuk graf. Komponen dalam graf berupa node, yang merepresentasikan persimpangan jalan atau tempat, dan edge yang merepresentasikan ruas jalan yang menghubungkan dua atau lebih persimpangan. Setelah graf terbentuk, data yang dibutuhkan selanjutnya adalah data jarak dan waktu antar-node. Semua data yang digunakan dalam penelitian ini didapatkan dari penelitian Marwantoni (2009), dengan beberapa tambahan data node, yaitu tempat jual beli (pasar dan supermarket).
Sistem ini akan merepresentasikan graf yang telah dibentuk menggunakan Google Maps, sehingga membutuhkan data tambahan lainnya berupa latitude dan longitude dari setiap node, dan menambahkan encoded line
dan level. Data latitude dan longitude
diperoleh secara manual dengan bantuan
website http://itouchmap.com/latlong.html, sedangkan data encode line dan level didapatkan dengan bantuan website https://developers.google.com/maps/document ation/utilities/polylineutility.
Pengembangan Sistem
Tahap pengembangan sistem mengikuti alur dari Algoritma Ant Colony, yaitu initialisasi parameter, menentukan node
selanjutnya yang akan dituju dengan menggunakan probabilitas, menghitung jarak tempuh, dan memperbarui feromon.
1 Initialisasi parameter.
Parameter yang diinisialisasi adalah
2 Menentukan node selanjutnya yang akan dituju.
Pemilihan node selanjutnya yang dilakukan oleh semut berdasarkan bilangan random (0,1) kemudian dibandingkan dengan nilai probabilitas dari edge yang menghubungkan current node dengan node
yang akan dituju. Semut akan memilih edge
dengan nilai probabilitas yang lebih besar dibandingkan dengan bilangan random. Semut akan berhenti melakukan perjalanan jika telah sampai pada node tujuan.
3 Menghitung jarak tempuh.
Algoritma Ant Colony menggunakan
agents semut buatan yang memiliki memori untuk menyimpan node-node yang pernah dilaluinya, yang disebut dengan tabulis. Jarak akan dihitung jika semut telah menyelesaikan tur dari asal sampai ke tujuan. Jarak ini disebut dengan , untuk menghitung menggunakan Persamaan 2. Jika satu siklus telah diselesaikan oleh setiap semut, maka didapatkan n , merupakan rute minimum dari setiap siklus. Rute yang paling pendek dari setiap siklus merupakan solusi yang akan diberikan kepada user.
4 Memperbarui feromon.
Proses ini dilakukan setiap satu siklus selesai dilakukan oleh semua semut. Memperbarui feromon dibagi menjadi dua proses, evaporasi dan deposit. Evaporasi merupakan penguapan feromon yang disebabkan oleh jarak yang ditempuh untuk melalui satu rute terlalu jauh sehingga feromon yang ditinggalkan intensitasnya berkurang. Sedangkan deposit adalah penambahan intensitas feromon pada suatu rute. Semakin pendek jarak tempuh suatu rute, maka semut akan semakin sering melewati rute tersebut, sehingga penambahan feromon pada rute tersebut akan lebih besar.
Penentuan Nilai Parameter
Penentuan nilai parameter dalam dilakukan dengan mengubah nilai parameter pada Algoritma Ant Colony yang digunakan,
Implementasi dari sistem ini menggunakan bahasa pemrograman PHP dan DBMS MySQL. Spesifikasi perangkat keras dan perangkat lunak komputer yang digunakan dalam penelitian ini sebagai berikut:
 Perangkat keras: Processor Intel Core 2 Duo P7350, DDRAM 2GB, Harddisk 320 GB.
 Perangkat lunak: Windows 7 Ultimate, XAMPP 1.7.7, PHP 5.3.8, Notepad++
Pengujian dan Analisis Sistem
Proses pengujian sistem terhadap rute distribuasi optimum yang dihasilkan oleh sistem. Input yang digunakan menggambil 5 buah sampel secara acak, yaitu 5 buah node
asal dan 5 buah node tujuan. Setiap input diulang sebanyak 10 kali. Perhitungan akurasi untuk setiap sampel dengan cara:
ur ∑∑ bern ben r y n u
HASIL DAN PEMBAHASAN
Pendefinisian MasalahPenentuan rute optimum dalam Supply Chain Network dapat didapat dari penggunaan Algoritma Ant Colony, yang terintegrasi dalam Sistem Informasi Rute Optimum Kota Bogor dan Kabupaten Bogor wilayah Barat.
Pembentukan Data
Pembentukan node dan edge dapat dilihat pada Gambar 4. Dari Gambar 4, node 1 merupakan titik persimpangan dua jalan, yaitu Jalan Mawar dan Jalan Doktor Semeru, sedangkan node 2 merupakan titik persimpangan Jalan Doktor Semeru dan Jalan Mawar. Edge merupakan penghubung
6
Untuk node pasar atau supermarket
dibentuk dengan meletakkan titik pasar atau
supermarket pada titik persimpangan terdekat. Setelah mendapatkan data node dan edge, data tambahan lainnya adalah latitude dan
longitude untuk setiap node, dan encoded line
dan levelnya untuk setiap edge. Contoh data
Keterangan edge = Jalan Pangrango
Node awal = 3
Data node selengkapnya dapat dilihat pada Lampiran 2. Sedangkan data edge dapat dilihat pada Lampiran 3.
Pengembangan Sistem
Pengembangan sistem dilakukan sesuai dengan alur dari algoritma Ant Colony, kemudian dilanjutkan dengan pengintegrasian hasil sistem Algoritma Ant Colony pada Google Maps. Berdasarkan pada alur algoritma Ant Colony, pengembangan sistem dibagi menjadi 3 fungsi, yaitu:
 Fungsi Mencari Probabilitas
Fungsi cariProbability() ini dibuat untuk mencari peluang setiap node yang dipilih oleh semut. Fungsi ini mengimplementasikan Persamaan 1 dalam menghitung peluangnya. Hasil dari perhitungan peluang di simpan sebagai informasi tambahan pada edge yang menghubungkan antar-node.
 Fungsi Mencari Rute
Fungsi cariRute() ini memiliki subfungsi yang bertujuan untuk mencari node
-node selanjutnya yang dipilih oleh semut dalam menentukan rute terpendek, yaitu fungsi cariNextNode(), hasil dari subfungsi ini digunakan pada fungsi cariRute().
Tujuan dari pembuatan fungsi cariRute()
adalah menyimpan node yang dihasilkan dari subfungsi cariNextNode() ke dalam tabulis. Node-node yang berada dalam tabulis inilah yang menjadi rute dari perjalanan semut, dan sekaligus menyimpan jarak tempuh dari rute yang dihasilkan. Selanjutnya fungsi cariRute()mengecek apakah rute yang dihasilkan sampai ke tujuan atau tidak.
 Fungsi Perubahan Feromon
Fungsi UpdatePheromon() ini dibuat untuk melakukan update feromon yang terdiri dari evaporasi dan deposit. Perhitungan dari fungsi ini mengimplementasikan Persamaan 3 untuk evaporasi dan Persamaan 4 dan 5 untuk deposit feromon. Update feromon dilakukan jika setiap satu siklus selesai dilakukan.
Setelah semua fungsi terbentuk, dilakukan pemanggilan fungsi berdasarkan pada alur algoritma, sehingga menghasilkan sebuah rute dengan jarak tempuh yang optimum. Alur dari pemanggilan fungsi dapat dilihat pada Lampiran 4. Rute optimum dari hasil sistem Algeritma Ant Colony ini disimpan dalam sebuah array bernama ruteMin. Array inilah yang diimplementasikan pada Google Maps untuk divisualisasikan. Tampilan untuk halaman awal dari sistem ini dapat dilihat pada Gambar 5.
Penentuan Nilai Parameter
Proses penentuan nilai parameter dilakukan membandingkan rata-rata solusi jarak yang dihasilkan oleh sistem. Pengolahan dilakukan pada komputer dengan spesifikasi:
 Processor AMD Phemon II X2 550
 DDRAM 4GB
 Harddisk 250 GB
 Sistem Operasi Windows 7 Professional
Proses ini bertujuan menentukan nilai parameter-parameter yang paling optimal,
yang terdiri atas pengujian parameter α dengan variasi nilai 0, 0.5, 1, 2, dan 5. Parameter dengan variasi nilai 0, 0.5, 1, 2, dan 5. Parameter dengan variasi nilai 0.000005, 0.5, 5. Parameter dengan variasi nilai 0.1, 0.5, 0.9. Parameter dengan variasi nilai 1, 2, 5, 10, 25, 50, 100, dan parameter dengan nilai variasi 5, 10, 100, 500 (Doringo dan Stutzle 2004). Setiap nilai parameter diuji sebanyak 10 kali perulangan.
Dalam menentukan parameter optimal , nilai parameter Algoritma Ant Colony yang terdiri atas β dan nilainya tetap, secara berurut yaitu 0.5, 0.5, 0.1, 5, dan 10. Hasil Pengujian dapat dilihat pada Lampiran 5. Parameter yang optimal didapatkan dengan memilih nilai yang menghasilkan rata-rata solusi jarak yang paling kecil, karena semakin kecil rata-rata solusi jarak, menujukkan nilai tersebut sering menghasilkan solusi jarak yang minimum. Rata-rata solusi jarak yang dihasilkan oleh setiap parameter dapat dilihat pada Tabel 2.
Tabel 2 Nilai parameter dengan rata-rata solusi jarak
Nilai Rata-rata solusi jarak (meter) hubungan nilai parameter dengan rata-rata solusi jarak.
Gambar 6 Hubungan parameter dengan
rata-rata solusi jarak.
Dari Gambar 6 dapat dilihat nilai parameter = 1 memiliki rata-rata solusi jarak paling kecil. Dengan demikian, saat = 1 cenderung menghasilkan solusi yang mendekati optimum.
Nilai parameter yang diuji adalah 0. 0.5, 1, 2, dan 5. Sedangkan untuk nilai parameter yang lainnya seperti α dan dianggap tetap, secara berurutan yaitu 0.5, 0.5, 0.1, 5, dan 10. Sama seperti halnya pengujian , setiap nilai dalam parameter diulang sebanyak 10 kali. Hasil pengujian dapat dilihat pada Lampiran 6. Nilai parameter dan rata-rata hasil uji masing-masing nilai dapat dilihat pada Tabel 3.
Tabel 3 Nilai parameter dengan rata-rata solusi jarak
Nilai Rata-rata solusi jarak (meter)
8
Tabel 4 Nilai parameter dengan rata-rata solusi jarak
Nilai Rata-rata solusi jarak (meter) Dari Gambar 8 dapat dilihat bahwa dari ketiga nilai yang diujikan, = 0.5 memiliki rata-rata solusi jarak yang paling kecil dibandingkan nilai yang lainnya.
Gambar 8 Hubungan parameter dengan rata-rata solusi jarak.
Nilai parameter yang diuji adalah 0.1, 0.5, dan 0.9. sedangkan nilai parameter yang
α β dan dianggap tetap, secara terurut nilainya adalah 0.5, 0.5, 0.5, 5, dan 10. Hasil pengujian parameter dapat dilihat pada Lampiran 8. Nilai parameter dan rata-rata hasil uji dalat dilihat pada Tabel 5.
Tabel 5 Nilai parameter dengan rata-rata solusi jarak
Nilai Rata-rata solusi jarak (meter)
0.1 4058.8
0.5 4037.1
0.9 3947.2
Pada Gambar 9 menunjukkan hubungan parameter dengan rata-rata solusi jarak. Pada nilai = 0.9 memiliki rata-rata paling rendah, sebesar 3947.2 meter, karena pada saat pengujian nilai = 0.9 sering menghasilkan solusi jarak yang optimum dan mendekati optimum. Sehingga nilai untuk parameter yang optimal adalah saat = 0.9.
Selanjutnya pengujian terhadap parameter m dan Nmax. Parameter ini berpengaruh terhadap lamanya waktu pemrosesan dan kekonsistenan dalam mendapatkan solusi optimal. Nilai parameter m yang diujikan adalah 1, 2, 5, 10, 25, 50, 100, dengan nilai
parameter yang lain dianggap tetap, yaitu = 0.5, = 0.5, = 0.5, = 0.1, dan = 10.
Gambar 9 Hubungan parameter dengan rata-rata solusi jarak.
Hasil pengujian dapat dilihat pada Lampiran 9. Pada Tabel 6 menunjukkan nilai parameter mdan rata-rata solusi jarak.
Tabel 6 Nilai parameter m dengan rata-rata solusi jarak
Nilai m Rata-rata solusi jarak (meter)
Pada Gambar 10 menunjukkan hubungan parameter m dengan rata-rata solusi jarak. Semakin besar jumlah semut, makan semakin sering mendapatkan nilai solusi yang optimum. Pada Gambar 10 juga menunjukkan hanya nilai m = 10, m = 25, m = 100, dan m = 500 yang memiliki selisih yang kecil antarrata-rata solusi jarak. Sehingga perlu melihat waktu eksekusi dari keempat nilai parameter mtersebut untuk menentukan nilai parameter mana yang paling optimal.
Waktu eksekusi dari keempat nilai parameter m terdapat pada Gambar 11. Dari Gambar 11 didapatkan nilai parameter myang paling optimal untuk sistem ini adalah saat m = 10.
Gambar 11 Hubungan parameter m = 10, m= 25, m= 50, dan m= 100 dengan waktu eksekusi.
Parameter terakhir yang diuji adalah
Nmax. Nilai parameter yang diujikan adalah rata-rata solusi jumlah dapat dilihat pada Gambar 12. belum bisa digunakan untuk menentukan parameter optimum dan . Penentuan parameter optimum menggunakan waktu eksekusi program. Gambar 13 menunjukkan hubungan antara waktu eksekusi program dengan nilai parameter
. Semakin besar nilai parameter maka membutuhkan waktu eksekusi yang lebih lama.
Hasil pengujian menujukkan bahwa parameter yang optimal adalah 5, karena hanya membutuhkan waktu 436 milidetik sistem ini dapat menghasilkan rute optimum.
Gambar 13 Hubungan antara waktu eksekusi program dengan nilai parameter
.
Hasil pengujian parameter α β didapat nilai optimum sebagai berikut: 1,
, 5, dan 0.9. Sedangkan
untuk parameter didapat nilai 10 semut, karena dengan 10 semut menghasilkan nilai optimum yang konsisten. Parameter didapat nilai 5 siklus, Karena dengan 5 siklus sudah menghasilkan nilai optimum yang konsisten dan waktu eksekusi program yang cukup cepat.
Pengujian dan Analisis Sistem
10
Tabel 8 Akurasi hasil pengujian rute optimum
Sampel Akurasi
Pada Tabel 8 dapat dilihat ada satu sampel yang berakurasi rendah, yaitu Sampel 4 dengan akurasi 60%. Hal ini disebabkan oleh saat penentuan parameter m lebih menitikberatkan pada aspek kecepatan pemrosesan algoritma daripada aspek kekonsistenan dalam menghasilkan solusi, yaitu dengan memilih nilai parameter myang memiliki waktu pemrosesan paling kecil, namun mendekati stabil dalam menghasilkan solusi rute optimum. Sehingga sistem masih menghasilkan dua solusi jarak, yaitu 2982 meter dan 3001 meter, dengan selisih jarak sebesar 19 meter. Jarak 19 meter ini bila dilihat dalam dunia nyata tidak begitu signifikan.
Namun, secara keseluruhan sistem ini dapat menentukan rute dengan jarak terpendek dengan akurasi 92%.
SIMPULAN DAN SARAN
SimpulanBerdasarkan hasil penelitian didapatkan beberapa kesimpulan, yaitu:
 Perancangan supply chain network dalam menentukan rute optimum dapat dilakukan menggunakan Algoritma Ant Colony dan dapat direpresentasikan dalam Google Maps.
 Nilai parameter yang digunakan pada penelitian ini untuk mendapatkan jarak yang minimum adalah 1, , 5, dan 0.9, m= 10, dan Nmax = 5.
 Pencarian rute optimum menggunakan Algoritma Ant Colony pada sistem ini memiliki akurasi sebesar 92%
Saran
Beberapa saran yang dapat dilakukan untuk penelitian selanjutnya antara lain:
 Mengembangkan sistem ini dengan mengakomodasikan masalah kepadatan lalu lintas dengan membedakan antara waktu sibuk dan waktu tidak sibuk.
 Mengembangkan sistem ini agar memiliki waktu komputasi yang lebih cepat dan akurasi solusi yang lebih baik menggunakan algoritma Multi Agents Ant Colony Optimization.
DAFTAR PUSTAKA
Ayers B. 2001. Handbook of Supply Chain Management. USA: St. Lucie Press. Chartrand G, Oellermann OR. 1993. Applied
and Algoritmic Graph Theory. New Jersey: McGraw-Hill.
Dorigo M, Stutzle T. 2004. Ant Colony Optimization. Massachusetts Institute of Technology: USA.
Khan Md M R. 2004. Ant System to Find the Shortest Path. Di dalam : 3rd International Conference on Electrical & Computer Engineering ICECE; Dhaka, 28-30 Desember 2004. Bangladesh.
Marwantoni D. 2009. Penentuan Rute Optimum Jalur Distribusi dalam Supply Chain Network Menggunakan Algoritme Genetika [skripsi]. Bogor: Institut Pertanian Bogor.
12
Lampiran 1 Diagram Alur Algoritma Ant Colony
mulai
Inisialisasi parameter
i < jumlahSemut
Menetukan titik selanjutnya dengan persamaan 1
Mengubah pheromon dengan persamaan 3, 4, dan 5
selesai Ya
Tidak i = 0
Menghitung jarak tempuh terbaik
Mencatat jarak tempuh terbaik
Lampiran 2 Data node
Id
Node Nama Node Keterangan Node Latitude Longitude Tipe
1 Node 1 Jalan Padjajaran - Jalan Otto Iskandardinata -6.601411 106.805222 1 2 Node 2 Jalan Padjajaran - Jalan Jalak Harupat -6.595422 106.804192 1 7 Node 7 Jalan Otto Iskandardinata - Jalan Bangka -6.601689 106.804359 1 8 Node 8 Jalan Otto Iskandardinata - Jalan Roda -6.602776 106.799835 1 16 Node 16 Jalan Paledang - Jalan Kapten Muslihat -6.595891 106.789665 1 17 Node 17 Jalan Veteran - Jalan Merdeka - Jalan Kapten
Muslihat -6.595635 106.788437 1
18 Node 18 Plaza Jembatan Merah -6.59555 106.787605 3 19 Node 19 Jalan Perintis Kemerdekaan - Jalan Dr. Semeru -6.590967 106.786446 1 20 Node 20 Jalan Merdeka - Jalan Dr. Semeru -6.59231 106.787735 1 21 Node 21 Jalan Kapten Muslihat - Jalan Raja Permas -6.596104 106.79084 1
22 Node 22 Pasar Anyar -6.590796 106.79174 2
23 Node 23 Jalan M.A. Salamun - Jalan Merdeka -6.59044 106.787827 1 24 Node 24 Jalan Ahmad Yani - Jalan Padjajaran -6.568718 106.809113 1 25 Node 25 Jalan Mandalawangi - Jalan Pangrango -6.590967 106.802963 1 26 Node 26 Jalan Pangrango I - Jalan Jarak Harupat -6.59361 106.802856 1 27 Node 27 Jalan Ir. H. Juanda - Jalan Jalak Harupat - Jalan
Sudirman -6.593141 106.797112 1
28 Node 28 Jalan Pengadilan - Jalan Sudirman -6.591969 106.797112 1 29 Node 29 Jalan Ahmad Yani - Jalan Sudirman - Jalan RE
Martadinata -6.581146 106.79673 1
14
16
18
Pencarian dengan Algoritma Ant
Colony
Mulai
Inisialisasi parameter
Menempatkan semua semut pada node awal
Memasukkan node awal pada tabulist
masing-masing semut
Pencarian rute semut
jarakMin = 10000000000 Rute=0
Rute!=0
Ya
Ya UpdatePheromon
Menghitung probabilitas
Selesai
i = 0
i < Nmax
j = 0
j < jumlahSemut
Ya Tidak
Tidak
jarakMin=semut[j].jarak rute=semut[j].tabulist
Tidak
Rute[jarak]<JarakMin
Tidak
Ya
a. Fungsi cariRute()
Pencarian Rute
Semut Mulai
Inisialisasi parameter (asal, tujuan, graf)
Tabulist = 0 totalJarak = 0
Stop = 0
Pencarian Node Selanjutnya
nextNode==0 Stop = 1
Ya
Tabulist= nextNode[node] totalJarak+=nextNode[jarak]
asal=nextNode tidak
end(tabulist)== tujuan
ya
Rute=0 tidak
Return
tujuan != end(tabulist) && stop==0
Ya Tidak
20
Lampiran 5 Hasil pengujian Nilai
Lanjutan
4 Uji nilai = 2
Ulangan Solusi
(meter)
Runtime
(milidetik)
1 2 0.5 0.5 0.1 5 10 3948 852
2 2 0.5 0.5 0.1 5 10 3948 865
3 2 0.5 0.5 0.1 5 10 3909 843
4 2 0.5 0.5 0.1 5 10 3909 835
5 2 0.5 0.5 0.1 5 10 3909 838
6 2 0.5 0.5 0.1 5 10 4276 877
7 2 0.5 0.5 0.1 5 10 4141 881
8 2 0.5 0.5 0.1 5 10 3948 870
9 2 0.5 0.5 0.1 5 10 3948 865
10 2 0.5 0.5 0.1 5 10 3948 844
Rata-rata 3988.4 857
5 Uji nilai = 5
Ulangan Solusi
(meter)
Runtime
(milidetik)
1 5 0.5 0.5 0.1 5 10 3909 855
2 5 0.5 0.5 0.1 5 10 3948 871
3 5 0.5 0.5 0.1 5 10 3948 880
4 5 0.5 0.5 0.1 5 10 4276 878
5 5 0.5 0.5 0.1 5 10 4141 888
6 5 0.5 0.5 0.1 5 10 4276 882
7 5 0.5 0.5 0.1 5 10 3948 861
8 5 0.5 0.5 0.1 5 10 3948 892
9 5 0.5 0.5 0.1 5 10 3948 896
10 5 0.5 0.5 0.1 5 10 3948 900
22
Lampiran 6 Hasil pengujian Nilai
Lanjutan
4 Uji nilai = 2
Ulangan Solusi
(meter)
Runtime
(milidetik)
1 2 0.5 0.5 0.1 5 10 4628 800
2 2 0.5 0.5 0.1 5 10 4628 773
3 2 0.5 0.5 0.1 5 10 4628 768
4 2 0.5 0.5 0.1 5 10 4493 776
5 2 0.5 0.5 0.1 5 10 4628 819
6 2 0.5 0.5 0.1 5 10 4628 762
7 2 0.5 0.5 0.1 5 10 4628 762
8 2 0.5 0.5 0.1 5 10 4628 776
9 2 0.5 0.5 0.1 5 10 4628 771
10 2 0.5 0.5 0.1 5 10 4278 796
Rata-rata 4579.5 780.3
5 Uji nilai = 5
Ulangan Solusi
(meter)
Runtime
(milidetik)
1 5 0.5 0.5 0.1 5 10 5088 770
2 5 0.5 0.5 0.1 5 10 4628 720
3 5 0.5 0.5 0.1 5 10 5088 808
4 5 0.5 0.5 0.1 5 10 4628 710
5 5 0.5 0.5 0.1 5 10 5963 726
6 5 0.5 0.5 0.1 5 10 5963 708
7 5 0.5 0.5 0.1 5 10 5088 728
8 5 0.5 0.5 0.1 5 10 5963 706
9 5 0.5 0.5 0.1 5 10 5963 793
10 5 0.5 0.5 0.1 5 10 5088 675
24
Lampiran 7 Hasil pengujian Nilai
28
Lanjutan
7 Uji m = 100 Ulangan Runtime
(milidetik)
Jarak
(meter) Rute Optimum
30
Lanjutan
4 Uji jumlah siklus = 500
Ulangan Runtime (milidetik)
Jarak
(meter) Rute Optimum
Lampiran 11 Pengujian rute optimum 10 2394 1 7-8-11-13-14-35-41-31-37-22 929 Benar
32
Lanjutan
Sampel 4 node awal= 19, node akhir =10 Ulangan Jarak
(meter) Node yang dilalui
Runtime
(milidetik) B/S 1 3001 19-38-39-17-16-13-11-8-7-10 1.11 Salah 2 2982 19-38-39-17-16-21-35-14-13-11-8-7-10 1.16 Benar 3 3001 19-38-39-17-16-13-11-8-7-10 1.04 Salah 4 3001 19-38-39-17-16-13-11-8-7-10 1.01 Salah 5 2982 19-38-39-17-16-21-35-14-13-11-8-7-10 1.2 Benar 6 2982 19-38-39-17-16-21-35-14-13-11-8-7-10 1.02 Benar 7 3001 19-38-39-17-16-13-11-8-7-10 1.23 Salah 8 2982 19-38-39-17-16-21-35-14-13-11-8-7-10 1.07 Benar 9 2982 19-38-39-17-16-21-35-14-13-11-8-7-10 1.21 Benar 10 2982 19-38-39-17-16-21-35-14-13-11-8-7-10 1.02 Benar
Rata-rata 1.107
Sampel 5 Node awal = 37 , node akhir = 11 Ulangan Jarak
(meter) Node yang dilalui
Runtime
(milidetik) B/S
1 1283 37-31-35-14-13-11 755 Benar
2 1283 37-31-35-14-13-11 757 Benar
3 1283 37-31-35-14-13-11 813 Benar
4 1283 37-31-35-14-13-11 813 Benar
5 1283 37-31-35-14-13-11 752 Benar
6 1283 37-31-35-14-13-11 777 Benar
7 1283 37-31-35-14-13-11 783 Benar
8 1283 37-31-35-14-13-11 802 Benar
9 1283 37-31-35-14-13-11 753 Benar
10 1283 37-31-35-14-13-11 773 Benar