PENENTUAN RUTE OPTIMUM JALUR DISTRIBUSI
DALAM SUPPLY CHAIN NETWORK
MENGGUNAKAN ALGORITME GENETIKA
DESCA MARWAN TONI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
PENENTUAN RUTE OPTIMUM JALUR DISTRIBUSI
DALAM SUPPLY CHAIN NETWORK
MENGGUNAKAN ALGORITME GENETIKA
DESCA MARWAN TONI
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
ABSTRACT
DESCA MARWAN TONI. Determining Optimal Distribution Route on the Supply Chain Network using Genetic Algorithm. Under the direction of SONY HARTONO WIJAYA.
In the past few years, the Supply Chain Network (SCN) field has gained more attention due to the competition which is introduced by the market globalization. Distribution network design is one of the most comprehensive and strategic decision problem that need to be optimized for efficient operation on the supply chain field. The distribution network design establishes distribution channels, determines the amount of materials and items to consume, and also ships the product from suppliers to customers. The optimal distribution depends on the optimal route, which is influenced by the distance and the distribution time. This paper presents a genetic algorithm approach to determine optimal distribution route. Genetic algorithm was implemented to search the optimal route from the start point to the destination point. Priority-based chromosomes (strings) and their genes (parameters) were used to encode the problem. Weight Mapping Crossover and Swap Mutation were used as genetic operator, while the selection method used was roulette wheel. The algorithm was tested in a road map containing 44 nodes and from the experiments, we could conclude that the genetic algorithm system design worked well to solve the optimation problem.
Judul : Penentuan Rute Optimum Jalur Distribusi Dalam Supply Chain Network Menggunakan Algoritme Genetika
Nama : Desca Marwan Toni NIM : G64050979 Menyetujui: Pembimbing
Sony Hartono Wijaya, M.Kom. NIP 198108092008121002 Mengetahui:
Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Dr. Drh. Hasim, DEA NIP 196103281986011002
PRAKATA
Alhamdulillahi Rabbil ‘alamin, puji dan syukur penulis panjatkan kepada Allah SWT atas limpahan rahmat dan hidayah-Nya sehingga tugas akhir dengan judul Penentuan Rute Optimum Jalur Distribusi Dalam Supply Chain Network Menggunakan Algoritme Genetika dapat diselesaikan. Penelitian ini dilaksanakan mulai Maret 2009 sampai dengan Juli 2009, bertempat di Departemen Ilmu Komputer.
Penulis ingin mengucapkan terima kasih kepada semua pihak yang telah memberikan bantuan, bimbingan dan dorongan kepada penulis selama menyelesaikan tugas akhir ini, antara lain :
1. Kedua orangtua tercinta, Bapak dan Ibu yang telah memberikan inspirasi, kasih sayang, doa dan dukungan moral selama ini.
2. Kakak dan kedua adik tercinta, Rini Hastuti, SE., Tri Putra Kurniawan, Yenni Novita Lestari yang selalu memberikan semangat dalam penyelesaian tugas akhir ini.
3. Bapak Sony Hartono Wijaya, M.Kom. selaku pembimbing atas bimbingan dan arahannya selama pengerjaan tugas akhir ini.
4. Bapak Azis Kustiyo, S.Si.,M.Kom. dan Bapak Toto Haryanto, S.Kom. yang telah berkenan untuk menjadi penguji penelitian ini.
5. Fitria Yulianti, Amd.Keb. dan keluarga yang telah memberikan dukungan, doa dan kasih sayangnya selama ini.
6. Seluruh penghuni Edensor : Hermawan Tri Rosanja, Fahmilu Kurniawan, Fathoni A.M, Hengky, Furqon Hensan M, Syariful Mizan, dan Haryanto atas kebersamaan dan semangat yang disalurkan selama pengerjaan tugas akhir ini.
7. Dimas Perdana, M.Saad N, dan Haryanto yang telah membantu penulis dalam mengumpulkan data untuk penelitian ini.
8. Rekan-rekan satu bimbingan atas dukungan dan kebersamaannya.
9. Fakhri Mahathir, Gaos Irwana dan rekan-rekan kerja yang telah memberikan semangat dalam penyelesaian tugas akhir ini.
10. Teman-teman seperjuangan Program Studi Ilmu Komputer angkatan 42 atas kebersamaan dan pengalaman berbagi ilmu selama menuntut ilmu di Ilmu Komputer IPB.
Penulis selalu berharap semoga apa yang telah dikerjakan dalam penelitian ini dapat memberikan manfaat bagi semua pihak.
Bogor, Agustus 2009
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 1 Januari 1988 di Bengkulu, yang merupakan anak kedua dari empat bersaudara dengan ayah bernama M. Ayub Mazni dan ibu bernama Hasmiyati.
Penulis berhasil menyelesaikan pendidikan Sekolah Menengah Atas (SMA) di SMAN 4 Bengkulu pada tahun 2005, dan penulis langsung diterima di Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI) pada tahun yang sama, setelah melalui Tahap Persiapan Bersama (TPB) IPB, akhirnya penulis diterima di Departemen Ilmu Komputer IPB. Pada tahun 2008, penulis melaksanakan kegiatan praktik kerja lapangan di Pusat Perpustakaan dan Penyebaran Teknologi Pertanian selama 35 hari kerja. Dalam kegiatan perkuliahan, penulis juga aktif dalam berbagai organisasi kemahasiswaan, antara lain Himpunan Mahasiswa Ilmu Komputer sebagai ketua umum, DKM Al-Hurriyyah dan Organisasi Mahasiswa Daerah IMBR Bengkulu. Penulis mendapat kesempatan menjadi asisten praktikum basis data di Departemen Ilmu Komputer IPB pada tahun 2008 dan 2009, dan penulis juga menjadi pengajar aktif di bimbingan belajar Bintang Pelajar Bogor.
DAFTAR ISI Halaman DAFTAR TABEL………... v DAFTAR GAMBAR ………. v DAFTAR LAMPIRAN ………. v PENDAHULUAN Latar Belakang ………. 1 Tujuan ……….. 1 Ruang Lingkup ……… 1 Manfaat ……… 1 TINJAUAN PUSTAKA Supply Chain Management ………. 1
Supply Chain Network ………. 2
Distribusi ………. 2 Algoritme Genetika ………. 2 METODE PENELITIAN Studi Pustaka ……… 5 Perumusan Masalah ………. 5 Pembentukan Data ………... 5 Pengembangan Sistem ………. 6 Representasi Kromosom ………. 6
Penentuan Populasi Awal ……….. 8
Menghitung Nilai Fitness ……….. 8
Proses Elitisme ………... 8
Proses Seleksi Kromosom ……….. 8
Proses Crossover ……… 8
Proses Mutasi ………. 9
Evaluasi dan Kriteria Berhenti ………... 9
Pengujian Sistem ………. 9
Lingkungan Pengembangan Sistem ………. 10
HASIL DAN PEMBAHASAN Percobaan 1……….. 10
Percobaan 2 ………. 13
KESIMPULAN DAN SARAN Kesimpulan ……….. 15
Saran ……… 15
DAFTAR PUSTKA ……….. 15
v
DAFTAR TABEL
Halaman
1 Daftar istilah Biologi yang digunakan dalam Algoritme Genetika ………. 2
2 Parameter ukuran populasi dengan nilai fitness rata-rata.………….……….. 10
3 Parameter crossover probability dengan nilai fitness rata-rata.……….. 11
4 Parameter mutation probability dengan nilai fitness rata-rata.………….……….. 12
5 Parameter stall generation dengan nilai fitness rata-rata.………….……….. 13
6 Jarak tempuh, waktu tempuh rata- rata, dan nilai fitness…………...……….. 13
DAFTAR GAMBAR Halaman 1 Ilustrasi Supply Chain Network………..………. 2
2 Diagram Alir Algoritme Genetika ……..……… ….. 3
3 Proses Weight Mapping Crossover.………. 4
4 Proses Swap Mutation ……. ……… 5
5 Metodologi Penelitian ………. 5
6 Peta jalan Kota Bogor ………..………..………. 6
7 Contoh Representasi Graf Peta Jalan ………..……… 6
8 Ilustrasi Proses Encoding Kromosom……….. 7
9 Contoh Representasi Peta Jalan Dalam Bentuk Graf ……….. 7
10 Ilustrasi Proses Decoding Kromosom ..……… .. 7
11 Hubungan Ukuran Populasi dan Nilai Fitness ………..……….. 10
12 Hubungan Ukuran Populasi dan Waktu Eksekusi Program ……… 11
13 Hubungan Croosover Probability dan Nilai Fitness….……….. 11
14 Hubungan Crossover Probability dan Akhir Generasi ………... 12
15 Hubungan Mutation Probability dan Nilai Fitness ………..………..……. 12
16 Hubungan Mutation Probability dan Akhir Generasi ..………..…… 12
17 Hubungan Stall Generation dan Nilai Fitness ……… .. 13
18 Hubungan Stall Generation dan Waktu Eksekusi …….……….. 13
19 Rute Alternatif 1 ………..…….……….. 14 20 Rute Alternatif 2 ………..…….……….. 14 21 Rute Alternatif 3 ………..…….……….. 14 22 Rute Alternatif 4 ………..…….……….. 14 23 Rute Alternatif 5 ………..…….……….. 14 24 Rute Alternatif 6 ………..…….……….. 14 DAFTAR LAMPIRAN Halaman 1 Data Node Kota Bogor Sebagai Representasi Jalur Distribusi …………..………. 18
2 Data Edge Kota Bogor Sebagai Representasi Jalur Distribusi ……… 19
3 Representasi Graf Data Peta Kota Bogor.……… 22
4 Tampilan Awal dan Hasil Penentuan Rute Optimum Dalam Web ………. 23
5 Pengujian Ukuran Populasi Optimal ……….. 24
6 Pengujian Crossover Probability Optimal ………..……… 27
7 Pengujian Mutation Probability Optimal.……… 29
8 Pengujian Stall Generation Optimal ………... 31
1
PENDAHULUAN Latar Belakang
Pada saat sekarang ini, setiap perusahaan yang ingin tetap bertahan dalam persaingan dengan perusahaan lainnya, harus bisa membuat semua lini proses bisnis perusahaan tersebut berjalan lebih efektif dan efisien. Perusahan tersebut harus bisa mengintegrasikan semua arus informasi, barang dan jasa mulai dari pemasok sampai ke konsumen. Proses integrasi ini akan menjadi andalan bagi suatu perusahaan sehingga diharapkan akan menambah keuntungan perusahaan. Proses integrasi ini dikenal dengan istilah Supply Chain Management.
Supply chain management akan
meningkatkan daya saing perusahaan. Salah satu faktor utama yang merupakan bagian dari supply chain management adalah supply chain network. Supply chain network terdiri atas dua bagian utama yaitu lokasi produksi dan proses distribusi. Penentuan lokasi produksi merupakan faktor yang sangat penting karena akan berhubungan dengan proses pemasaran dan pelayanan terhadap permintaan konsumen. Lokasi produksi yang tepat dapat meningkatkan kinerja perusahaan, sedangkan proses distribusi berhubungan dengan penyebaran informasi, barang dan jasa dari produsen ke konsumen. Proses distribusi harus memperhatikan penentuan jalur distribusi yang tepat. Penentuan jalur distribusi berkaitan dengan jarak tempuh dan waktu tempuh. Jalur distribusi yang tepat dapat mengoptimalkan proses distribusi. Oleh karena itu, dibutuhkan sebuah perancangan
supply chain network yang baik, agar
perusahaan dapat melakukan proses bisnis dengan lebih efektif dan efisien sehingga dapat meningkatkan kinerja perusahaan.
Penelitian ini akan merancang supply chain network yang berfokus pada bagian proses distribusi yang dapat digunakan untuk mencari rute optimum jalur distribusi yaitu rute yang memiliki jarak tempuh terpendek dan waktu tempuh tercepat. Penelitian ini menggunakan Algoritme Genetika. Algoritme Genetika menggunakan representasi kromosom sebagai cara untuk mengkodekan suatu alternatif pencarian sehingga dapat diproses menggunakan Algoritme Genetika. Hasil dari perancangan ini akan diimplementasikan dalam bentuk web client yang dapat dengan mudah diakses oleh perusahaan.
Tujuan
Tujuan dari penelitian ini adalah merancang supply chain network untuk menentukan rute optimum dengan menggunakan Algoritme Genetika.
Ruang Lingkup
Ruang lingkup penelitian ini adalah : 1. Data yang digunakan meliputi data peta
jalan Kota Bogor yang merupakan data node dan edge yang akan merepresentasikan jalur distribusi. Data jarak antar node didapatkan dari penelitian Priasa (2008), sedangkan data waktu antar node didapatkan melalui survei di lapangan.
2. Penentuan rute optimum hanya memperhatikan satu kali perjalanan dalam proses distribusinya.
3. Pembuatan web client untuk mengimplementasikan perancangan supply chain network.
Manfaat
Manfaat yang dapat diperoleh dari penelitian ini adalah perancangan supply chain network yang dapat memberikan gambaran pemilihan rute jalur distribusi optimum untuk mencapai lokasi tujuan.
TINJAUAN PUSTAKA Supply Chain Management
Supply chain management merupakan
sebuah proses pengintegrasian yang meliputi proses perancangan, pemeliharan, operasi, dan transportasi pada supply chain untuk menciptakan pelayanan yang lebih baik dan efisien sehingga dapat memuaskan permintaan pasar (Ayers 2001). Apabila mengacu pada sebuah perusahaan manufaktur, kegiatan-kegiatan utama yang masuk dalam klasifikasi Supply chain management adalah :
· Kegiatan merancang produk baru (product development )
Cakupan kegiatan ini antara lain melakukan riset pasar, merancang produk baru, melibatkan supplier dalam perancangan produk baru.
· Kegiatan mendapatkan bahan baku (procurement)
Cakupan kegiatan ini antara lain memilih supplier, mengevaluasi kinerja supplier, melakukan pembelian bahan baku dan
2 komponen, memonitor supply risk, membina
dan memelihara hubungan dengan supplier. · Logistics
Cakupan kegiatan ini antara lain perencanaan, implementasi produksi, mengontrol aliran dan penyimpanan bahan baku, layanan, dan berhubungan dengan informasi kebutuhan konsumen.
· Information
Kegiatan ini meningkatkan hubungan perusahaan dengan supply chain dengan mengimplementasikan aplikasi komputer. · Kegiatan melakukan pengiriman
(distribution).
Kegiatan ini merupakan strategi untuk bersaing yang mencakup perencanaan jaringan distribusi, penjadwalan pengiriman, mencari dan memelihara hubungan dengan perusahaan jasa pengiriman, memonitor service level di tiap pusat distribusi .
Supply Chain Network
Supply Chain Network merupakan sebuah jaringan dan pilihan distribusi yang melakukan fungsi dalam upaya mendapatkan bahan baku, transportasi bahan baku sampai pada tempat produksi dan distribusi hasil produksi kepada konsumen (Ganeshan & Harrison 1995). Ilustrasi dari proses supply chain network dapat dilihat dalam Gambar 1.
Gambar 1 Ilustrasi Supply Chain Network ( Gen & Cheng 2008).
Distribusi
Salah satu proses dalam supply chain network, yaitu pengiriman barang dan jasa sampai ke konsumen pada waktu yang tepat dan tempat yang tepat. Proses distribusi dipengaruhi oleh keputusan transportasi yang digunakan. Untuk menciptakan proses distribusi yang efektif dan efisien maka perusahaan harus merancang jalur distribusi yang tepat. Jalur
distribusi yang tepat dicapai dengan memilih jalur yang paling optimum antara lokasi asal dan lokasi tujuan (Hugos 2003).
Misalkan sebuah perusahaan ingin mendistribusikan produknya ke setiap konsumen, perusahaan harus menentukan jalur distribusi yang tepat. Tujuannya bagi konsumen adalah dapat meningkatkan kepuasan konsumen karena produk yang mereka inginkan bisa mereka terima tepat waktu, sedangkan bagi perusahaan tujuannya adalah mengefisienkan biaya dan meningkatkan kinerja sumber daya manusianya.
Algoritme Genetika
Algoritme Genetika merupakan suatu metode pencarian yang didasarkan pada mekanisme seleksi alam dan genetika. Algoritme ini tepat digunakan untuk penyelesaian masalah optimasi yang kompleks dan susah diselesaikan dengan menggunakan metode optimasi yang konvensional karena memiliki beberapa keunggulan, yaitu (Sivanandam & Deepa 2008):
1. Algoritme Genetika memproses bentuk pengkodean dari parameter solusi, bukan parameter itu sendiri.
2. Algoritme Genetika melakukan pencarian dalam banyak solusi yang disebut populasi solusi, bukan pada satu solusi.
3. Informasi yang digunakan dalam Algoritme Genetika berasal dari fungsi fitness, bukan dari informasi tambahan.
Algoritme yang ditemukan oleh Jhon Holland dan David Goldberg (1975) ini terinspirasi dari prinsip genetika dan seleksi alam (teori evolusi Darwin). Istilah-istilah dalam Algoritme Genetika berhubungan dengan istilah dalam ilmu Biologi. Daftar istilah ilmu Biologi yang digunakan dalam Algoritme Genetika dapat dilihat pada Tabel 1.
Tabel 1 Daftar istilah Biologi yang digunakan dalam Algoritme Genetika.
Istilah Biologi
Definisi dalam Algoritme Genetika
Gen Sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu. Gen bisa berupa nilai biner, float, integer maupun karakter.
Kromosom Gabungan gen-gen yang akan membentuk nilai tertentu, sering dikenal sebagai String Gen.
3
Istilah Biologi
Definisi dalam Algoritme Genetika
Allele Nilai dari Gen.
Lokus Posisi gen dalam kromosom. Individu /
kromosom
Satu nilai yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat.
Populasi Sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi.
Generasi Menyatakan satu satuan siklus proses evolusi.
Nilai Fitness/ fitness
Menyatakan seberapa baik nilai dari solusi yang didapatkan.
Crossover Pertukaran kromosom antar
kromosom induk.
Mutasi Perubahan nilai kromosom. Algoritme Genetika dikarakterisasi dalam lima komponen penting, yaitu:
1. Merepresentasikan kromosom yang menyatakan salah satu solusi dari masalah yang diangkat.
2. Inisialisasi populasi yaitu pembentukan populasi awal.
3. Mendefinisikan nilai fitness yang merupakan ukuran baik tidaknya sebuah individu dalam proses evaluasi.
4. Menghasilkan populasi baru dari populasi yang ada melalui proses genetika (crossover dan mutasi ).
5. Nilai dari parameter Algoritme Genetika yang terdiri atas ukuran populasi, probabilitas proses genetika dan banyaknya generasi.
Algoritme Genetika memelihara populasi dari individu untuk tiap generasi. Setiap individu dievaluasi untuk diberikan nilai fitness-nya. Ada dua jenis transformasi yang digunakan dalam Algoritme Genetika yaitu Mutasi dan Crossover (pindah silang). Mutasi yaitu membentuk individu baru dengan cara mengubah satu individu tertentu saja, sedangkan crossover yaitu membentuk individu baru dengan cara mengombinasikan bagian-bagian dari dua individu. Transformasi tersebut akan menghasilkan individu baru, yang dikenal sebagai offstring yang akan dilakukan evaluasi
kembali. Populasi yang baru dibentuk dari seleksi individu-individu dalam beberapa generasi sehingga didapatkan individu yang terbaik. Individu terbaik inilah yang diharapkan akan menjadi solusi optimal atau suboptimal dari masalah yang diangkat (Gen & Cheng 2000). Struktur dari Algoritme Genetika sebagai berikut :
Prosedur : Algoritme Genetika begin
t ß 0;
inisialisasi P(t); evaluasi C(t);
while(I <= maksimum iterasi) do
begin
rekombinasi P(t); evaluasi C(t);
pilih P(t+1) dari P(t) dan C(t);
I ß i+1; end
end
Secara umum diagram dari mekanisme kerja Algoritme Genetika ini adalah seperti yang terlihat dalam Gambar 2.
Gambar 2 Diagram Alir Algoritme Genetika. Dalam algoritme ini dikenal istilah search space yaitu ruang dari semua solusi pencarian yang mungkin. Secara garis besar, langkah-langkah dari Algoritme Genetika ini dapat didefinisikan sebagai berikut:
4
1. Representasi Kromosom
Representasi kromosom adalah proses pertama yang harus dilakukan sebelum inisialisasi populasi, proses ini dikenal dengan
encoding. Proses ini berfokus untuk
mengonversi masalah yang dihadapi ke dalam bentuk kromosom yang merupakan alternatif solusi dari masalah tersebut. Tata cara untuk menerjemahkan masalah yang dihadapi ke dalam framework Algoritme Genetika disebut encoding schema. Proses ini merupakan tahapan penting karena akan menentukan ketepatan solusi dari masalah yang dihadapi.
2. Inisialisasi Populasi
Populasi awal ini dibangkitkan secara acak sehingga didapatkan beberapa kromosom yang merupakan alternatif solusi awal. Dalam populasi tersebut terdapat anggota populasi yang disebut dengan kromosom, yang berisikan informasi solusi dari sekian banyak alternatif solusi masalah yang dihadapi. Banyaknya kromosom dalam satu populasi ditentukan oleh ukuran populasi.
3. Fungsi Fitness
Kromosom-kromosom akan mengalami proses evolusi melalui sejumlah iterasi, proses ini disebut generasi. Pada setiap proses generasi, kromosom-kromosom akan dievaluasi menggunakan suatu fungsi yang disebut dengan fungsi fitness. Setiap generasi akan menghasilkan kromosom-kromosom baru yang dibentuk dari generasi sebelumnya.
Fungsi fitness adalah fungsi yang digunakan untuk mengukur nilai kecocokan suatu kromosom. Nilai yang dihasilkan dari fungsi fitness disebut dengan nilai fitness. Nilai fitness ini akan menggambarkan seberapa baik solusi yang didapat.
4. Elitisme
Suatu teknik yang dilakukan untuk mempertahankan suatu individu terbaik yang memiliki nilai fitness tertinggi agar tidak mengalami kerusakan yang diakibatkan oleh proses genetika, sehingga individu tersebut dapat bertahan hidup untuk generasi selanjutnya.
5. Seleksi
Proses pembentukan generasi baru ini dilakukan melalui tahap seleksi. Seleksi adalah proses memilih individu terbaik dari sebuah populasi dengan mencari kromosom dengan nilai fitness terbaik, dan kemudian dilanjutkan ke proses berikutnya yaitu crossover dan
mutasi. Metode seleksi yang biasa digunakan dalam Algoritme Genetika adalah metode roulette wheel. Metode ini mencari populasi baru berdasarkan nilai fitness-nya.
6. Crossover
Crossover merupakan proses
mengombinasikan dua individu untuk memperoleh individu-individu baru yang diharapkan mempunyai nilai fitness yang lebih baik. Tidak semua pasangan induk yang akan mengalami crossover, banyaknya pasangan induk yang akan mengalami crossover akan ditentukan dengan nilai crossover probability. Crossover probability adalah sebuah parameter dalam Algoritme Genetika yang menggambarkan berapa seringnya crossover dilakukan. Metode crossover yang digunakan adalah Weight Mapping Crossover (WMX). Ilustrasi proses WMX dapat dilihat dalam Gambar 3.
Gambar 3 Proses Weight Mapping Crossover.
7. Mutasi
Mutasi adalah proses penggantian gen dengan nilai inversinya. Proses ini dilakukan secara acak pada posisi gen tertentu pada individu-individu yang terpilih untuk dimutasikan. Banyaknya individu yang mengalami mutasi ditentukan oleh besarnya mutation probability. Metode mutasi yang digunakan adalah swap mutation. Ilustrasi proses swap mutation dapat dilihat dalam Gambar 4.
5 Gambar 4 Proses Swap Mutation.
8. Evaluasi Solusi dan Kriteria Berhenti
Proses evaluasi solusi ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom sampai terpenuhi kriteria berhenti. Apabila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi yang baru dengan mengulangi langkah inisialisasi populasi. Beberapa kriteria berhenti yang sering digunakan dalam Algoritme Genetika antar lain:
· Berhenti pada maksimum generasi tertentu. · Berhenti apabila dalam n generasi berikut
tidak didapatkan nilai fitness yang lebih tinggi/rendah (stall generation).
Kromosom-kromosom yang memiliki nilai fitness yang baik akan memiliki peluang yang lebih tinggi untuk terseleksi. Setelah dilakukan beberapa kali proses generasi, Algoritme Genetika akan menunjukkan kromosom-kromosom yang terbaik, yang diharapkan merupakan solusi optimal atau mendekati optimal dari masalah yang dihadapi.
METODE PENELITIAN
Penelitian ini akan dikerjakan dalam beberapa tahap. Tahap-tahap tersebut disesuaikan dengan metode penelitian yang dapat dilihat pada Gambar 5.
Studi Pustaka
Dalam tahap ini, kegiatan yang dilakukan adalah mengumpulkan semua informasi atau literatur yang terkait dengan penelitian. Informasi tersebut akan didapatkan dari textbook, jurnal, buku, internet, dan artikel yang membahas tentang Algoritme Genetika dalam menyelesaikan masalah pencarian rute optimum. Selain mencari literatur terkait dengan Algoritme Genetika, literatur yang juga akan dicari yaitu terkait dengan cara dan tutorial pembuatan web client. Literatur-literatur yang digunakan dapat dilihat pada bagian daftar pustaka.
Gambar 5 Metodologi Penelitian.
Perumusan Masalah
Menentukan rute optimum jalur distribusi dengan menggunakan Algoritme Genetika. Penyelesaian masalah untuk menentukan rute optimum jalur distribusi ini akan sulit dan lama jika dilakukan secara manual. Algoritme Genetika digunakan sebagai cara untuk memecahkan masalah tersebut sehingga diharapkan rute optimum jalur distribusi dapat dicari dengan waktu yang lebih cepat.
Pembentukan Data
Data yang akan digunakan dalam penelitian ini adalah data peta jalan Kota Bogor. Data peta tersebut akan diubah ke dalam bentuk node dan edge yang merepresentasikan jalur distribusi. Node adalah titik persimpangan jalan sedangkan edge menyatakan ruas jalan yang ada. Pembentukan node dan edge dapat dilihat pada Gambar 6. Dari gambar tersebut terlihat bahwa node 1 menghubungkan dua jalan yaitu jalan Jalak Harupat dan jalan Pangrango, sedangkan node 2 akan menghubungkan jalan Pajajaran dengan jalan Jalak Harupat. Edge yang
6 menghubungkan antara node 1 dan node 2
dinamakan Jalak Harupat.
Gambar 6 Peta Jalan Kota Bogor (http://maps.google.com).
Semua data yang dibutuhkan antara lain data node, data edge, data jarak antar node, data waktu antar node, titik asal dan titik tujuan. Data jarak antar node didapatkan dari penelitian Priasa (2008), sedangkan data waktu antar node didapatkan melalui survei di lapangan. Data waktu yang digunakan ini merupakan data waktu rata-rata dari tiga kali penghitungan waktu.
Data node yang merupakan representasi dari peta jalan Kota Bogor selengkapnya dapat dilihat dalam Lampiran 1. Data edge secara lengkap dapat dilihat dalam Lampiran 2. Representasi peta jalan Kota Bogor dalam bentuk graf secara lengkap dapat dilihat dalam Lampiran 3.
Pengembangan Sistem
Pengembangan sistem mengikuti tahapan yang ada dalam Algoritme Genetika yaitu representasi kromosom, penentuan populasi awal, menghitung nilai fitness, proses elitisme, proses seleksi, proses crossover, proses mutasi, evaluasi dan kriteria berhenti.
1. Representasi Kromosom
Dalam penelitian ini representasi kromosom menggunakan dua metode, yaitu Binary Encoding and Decoding dan Priority-based Encoding and Decoding. Encoding merupakan proses untuk menerjemahkan masalah ke dalam bentuk kromosom, sedangkan decoding merupakan proses untuk membangkitkan rute dari kromosom yang dihasilkan dari proses encoding. Dari dua metode representasi yang digunakan dipilih salah satu metode representasi kromosom yang paling tepat.
a) Representasi Kromosom dengan Metode Binary Encoding and Decoding.
Pada proses encoding, metode Binary Encoding and Decoding ini menggunakan representasi kromosom dalam bentuk bit string. Panjang kromosom dipengaruhi oleh jumlah node. Dari data yang ada terdapat 44 node. Oleh sebab itu panjang kromosom dinyatakan dalam 44 gen. Sebagai contoh dari representasi kromosom yang dihasilkan adalah sebagai berikut :
01100101000010000101011101000101011101 011011.
Kromosom di atas dibangkitkan secara acak. Kromosom ini selanjutnya akan dipotong tiap dua gen. Proses pemotongan kromosom dapat dilihat sebagai berikut :
01|10|01|01|00|00|10|00|01|01|01|11|01|00|01|01| 01|11|01|01|10|11.
Pada proses decoding, kromosom dikonversi ke dalam bentuk percabangan, sesuai dengan nilai desimal dari kromosom yang sebelumnya sudah dilakukan pemotongan. Sebagai contoh pada Gambar 7.
Gambar 7 Contoh Representasi Graf Peta Jalan (Thiang dkk 2001 ).
Gambar di atas memperlihatkan ada 8 node, maka jumlah gen yang akan digunakan adalah 8 gen. Pada proses decoding kromosom ini, representasi kromosom akan dikonversi ke dalam bentuk biner sehingga untuk nilai 0, 1, 2, dan 3 secara berurutan akan menjadi 00, 01, 10, 11. Misalkan salah satu contoh representasi kromosom yang dihasilkan adalah 00101010, maka representasi kromosom tersebut akan dikonversi menjadi 0222.
Rute ditentukan berdasarkan cabang yang ada. Sebagai contoh pada Gambar 7, misal node awalnya adalah 1, dan setelah mengalami decoding kromosom dihasilkan cabang 0222. Proses penentuan rute adalah sebagai berikut : Cabang : 0 2 2 2
7 b) Representasi Kromosom dengan Metode
Priority-based Encoding and Decoding. Pada proses encoding, metode ini mengkategorikan kromosom dalam dua faktor, yaitu locus dan allele. Locus menyatakan posisi gen dalam kromosom, sedangkan allele menyatakan nilai dari gen. Dalam metode ini, posisi gen digunakan untuk menyatakan ID node sedangkan nilai dari gen menyatakan prioritas node yang akan digunakan pada proses decoding. Ilustrasi proses encoding dapat dilihat pada Gambar 8.
Gambar 8 Ilustrasi Proses Encoding Kromosom. Posisi gen (lokus) 1 menyatakan node ID 1 dengan prioritas 11, posisi gen 2 menyatakan node ID 2 dengan prioritas 1, posisi gen 3 menyatakan node ID 3 dengan prioritas 10 dan seterusnya. Representasi kromosom yang digunakan dalam penelitian ini adalah berbentuk integer. Panjang kromosom dipengaruhi oleh jumlah node. Dari data yang ada terdapat 44 node, Oleh sebab itu panjang kromosom dinyatakan dalam 44 gen. Kromosom yang dihasilkan terdiri atas gen yang berbentuk integer dengan nilai 1 sampai 44 yang dibangkitkan secara acak. Pseudocode untuk membangkitkan kromosom secara acak adalah sebagai berikut :
Prosedur : Priority-based Encoding Input : Jumlah node (n)
Output : kromosom (v) Mulai
for i=1 hingga n v[i] ß i;
for i=1 hingga [n/2] ulangi j ß random[1,n]; l ß random[1,n]; if j != l swap(v[j],v[l]); output v; akhir
Sebagai contoh dari representasi kromosom yang dihasilkan adalah sebagai berikut :
4 21 5 12 39 6 3 38 16 29 10 1 18 7 25 43 19 17 37 34 2 44 22 20 31 26 23 14 36 35 24 13 40 41 42 27 32 33 9 15 28 8 11 30.
Pada proses decoding, kromosom yang telah dihasilkan akan diubah ke dalam bentuk rute distribusi. Untuk menentukan rute digunakan prioritas gen. Sebagai contoh pada Gambar 9.
Gambar 9 Contoh Representasi Peta Jalan Dalam Bentuk Graf.
Dari gambar di atas misalkan node awal adalah 1, maka node berikutnya yang mungkin dituju adalah node 2, 3, dan 4. Kemudian misalkan kromosom yang dihasilkan adalah seperti pada Gambar 8, dapat dilihat bahwa prioritas node 2, 3 dan 4 secara berurutan adalah 1, 10, dan 3. Node 3 memiliki prioritas paling besar sehingga node berikutnya yang akan dipilih adalah node 3. Node berikutnya yang mungkin dipilih dari node 3 adalah node 4, 6, dan 7. Node 6 memiliki prioritas paling besar sehingga node berikutnya yang terpilih adalah node 6 dan seterusnya. Proses decoding dilakukan hingga mencapai gen terakhir atau proses ini akan berhenti jika node tujuan telah dicapai. Ilustrasi proses decoding ini dapat dilihat dalam Gambar 10.
Gambar 10 Ilustrasi Proses Decoding Kromosom.
Pseudocode proses decoding adalah sebagai berikut:
Prosedur : Priority-based Encoding Input : jumlah node (n), kromosom
(v), node tetangga dengan node i (s), node awal (i) dan node tujuan (k). Output : rute (p) Mulai v(i) ß 0; j’ ß maxPrioritas(v[j], j€s) Jika j’ != k Jika j’ != 0 v[j’] ß 0; p ß j’; i ß j’; Lainnya p ß j’; Selesai Akhir.
8
2. Penentuan Populasi Awal
Populasi merupakan kumpulan kromosom yang merupakan alternatif solusi. Hasil dari tahap representasi kromosom adalah sebuah kromosom yang terdiri atas 44 gen. Ukuran populasi adalah jumlah kromosom yang ada dalam satu populasi. Dalam penelitian ini ukuran populasi yang digunakan adalah 300 kromosom. Sehingga dari proses encoding akan dihasilkan sebuah array dua dimensi berukuran 300 x 44, jumlah baris dalam array ini menunjukkan banyaknya kromosom dan jumlah kolom menunjukkan banyaknya gen. Setelah proses decoding, dilakukan evaluasi dengan memilih kromosom yang valid yaitu kromosom yang mengandung node tujuan sehingga populasi awal yang dihasilkan terdiri atas kromosom mengandung informasi node tujuan.
3. Menghitung Nilai Fitness
· Hitung Jarak dan Waktu
Mekanisme penghitungan jarak dan waktu sesuai dengan rute distribusi yang dilalui, dimulai dari node awal hingga mencapai node tujuan. Jarak dan waktu yang dihasilkan akan digunakan untuk mencari nilai fitness kromosom.
· Menghitung Nilai Fitness Kromosom Penelitian ini akan menentukan rute optimum yang dipengaruhi oleh jarak terdekat dan waktu tercepat. Oleh karena itu, fungsi fitness yang akan digunakan dalam penelitian ini ditunjukkan dalam Persamaan 1.
, (1)
f(x,t) adalah fungsi fitness. j adalah jumlah hop yang diperlukan hingga mencapai titik tujuan, (hop adalah proses perpindahan dari satu titik ke titik lain yang merupakan tetangganya). x adalah jarak antar titik, t adalah waktu antar titik, v adalah kecepatan konstan, %D adalah bobot persentase untuk jarak, dan %W adalah bobot persentase untuk waktu.
Optimasi yang diinginkan dalam penelitian ini adalah mencari waktu dan jarak paling minimal, berarti kromosom yang terseleksi adalah kromosom dengan nilai fitness yang terkecil. Metode yang digunakan adalah roulette-wheel, yaitu metode dimana peluang tiap kromosom untuk terpilih adalah sebanding dengan nilai fitness-nya. Artinya semakin besar nilai fitness-nya maka akan semakin besar
peluang untuk terseleksi. Oleh karena itu fungsi fitness-nya akan dibentuk seperti Persamaan 2.
, (2) Dengan fn adalah nilai fitness sebelumnya, fn’
adalah nilai fitness baru, fmax adalah nilai fitness
maksimum, dan fmin adalah nilai fitness
minimum.
4. Proses Elitisme
Kromosom terbaik akan bertahan untuk generasi selanjutnya. Supaya kromosom terbaik tidak rusak karena proses algoritme maka dilakukan elitisme. Caranya adalah Jika jumlah populasi genap maka elitisme dalam penelitian ini dilakukan dengan meng-copy dua buah kromosom yang memiliki nilai fitness terbaik. Jika jumlah populasi ganjil maka hanya meng-copy satu buah kromosom yang memiliki nilai fitness terbaik.
5. Proses Seleksi Kromosom
Metode yang digunakan adalah roulette-wheel, yaitu metode dimana peluang tiap kromosom untuk terpilih adalah sebanding dengan nilai fitness-nya. Artinya semakin besar nilai fitness-nya maka akan semakin besar peluang untuk terseleksi. Pertama, dibuat interval nilai kumulatif (dalam interval [0,1]) dari nilai fitness dibagi total nilai fitness dari semua kromosom. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval kumulatifnya.
6. Proses Crossover
Metode crossover yang digunakan dalam penelitian ini adalah weight mapping crossover (WMX). WMX merupakan perluasan dari mekanisme single point crossover dimana hanya ada satu titik potong. Proses penentuan titik potong dilakukan secara acak. Tidak semua kromosom yang akan mengalami crossover, banyaknya kromosom yang akan mengalami crossover ditentukan oleh crossover probability. Kromosom yang memiliki nilai random lebih kecil dari crossover probability maka kromosom tersebut akan mengalami crossover.
Ilustrasi proses WMX dapat dilihat dalam Gambar 3. Dalam penelitian ini proses WMX dilakukan dalam 4 langkah yaitu :
1. Memilih titik potong dari dua kromosom hasil seleksi.
Pemilihan titik potong ini dilakukan secara acak. Misalkan titik potong yang didapat adalah 40. kromosom induk akan dilakukan crossover
9 pada gen ke-41. Contoh kromosom induk
adalah sebagai berikut : Kromosom satu : 23 39 42 5 38 1 7 24 25 30 16 26 15 41 11 17 44 2 27 29 19 20 37 8 4 35 3 28 21 43 12 40 10 22 31 13 9 36 18 6 | 34 33 32 14 Kromosom dua : 41 33 30 7 39 10 14 25 42 17 18 11 27 21 44 31 37 8 43 23 35 16 28 22 19 38 4 13 3 9 32 2 12 34 40 1 29 20 15 5 | 26 36 6 24
2. Menggantikan substring antara kromosom induk.
Setelah pemotongan pada gen ke-41 maka dilakukan penggantian nilai gen antara kromosom induk sehingga kromosom baru akan terbentuk sebagai berikut :
Kromosom satu : 23 39 42 5 38 1 7 24 25 30 16 26 15 41 11 17 44 2 27 29 19 20 37 8 4 35 3 28 21 43 12 40 10 22 31 13 9 36 18 6 | 26 36 6 24 Kromosom dua : 41 33 30 7 39 10 14 25 42 17 18 11 27 21 44 31 37 8 43 23 35 16 28 22 19 38 4 13 3 9 32 2 12 34 40 1 29 20 15 5 | 34 33 32 14
3. Mapping nilai gen pada posisi yang sesuai. Setelah dilakukan penggantian substring dapat dilihat bahwa nilai gen 26, 36, 6 dan 24 muncul dua kali dalam kromosom satu. Hal yang sama juga dialami kromosom dua, sehingga harus dilakukan mapping nilai gen ke posisi yang sesuai dengan cara melakukan
sorting. Mapping yang dihasilkan adalah
sebagai berikut : 26 36 6 24 à 34 33 32 14 à 6 24 26 36 14 32 33 34 6 ↔ 14 24 ↔ 32 26 ↔ 33 36 ↔ 34 4. Membangkitkan kromosom baru dengan
menerapkan hubungan mapping.
Kromosom baru yang dihasilkan dengan menerapkan hubungan mapping adalah sebagai berikut :
Kromosom satu baru :
23 39 42 5 38 1 7 24 25 30 16 26 15 41 11 17 44 2 27 29 19 20 37 8 4 35 3 28 21 43 12 40 10 22 31 13 9 36 18 6 33 34 14 32
Kromosom dua baru :
41 33 30 7 39 10 14 25 42 17 18 11 27 21 44 31 37 8 43 23 35 16 28 22 19 38 4 13 3 9 32 2 12 34 40 1 29 20 15 5 36 26 24 6
7. Proses Mutasi
Metode mutasi yang digunakan dalam penelitian ini adalah swap mutation. Tidak semua kromosom yang akan mengalami mutasi, banyaknya kromosom yang akan mengalami mutasi ditentukan oleh mutation probability. Kromosom yang memiliki nilai random lebih kecil dari mutation probability maka kromosom tersebut akan mengalam mutasi. Swap mutation akan memilih dua posisi gen secara acak dan kemudian dilakukan penggantian posisi. Misalkan posisi gen yang terpilih adalah 5 dan 42 maka proses swap mutation akan dilakukan sebagai berikut :
23 39 42 5 38 1 7 24 25 30 16 26 15 41 11 17 44 2 27 29 19 20 37 8 4 35 3 28 21 43 12 40 10 22 31 13 9 36 18 6 33 34 14 32
Kromosom baru yang dihasilkan oleh proses swap mutation adalah :
23 39 42 5 34 1 7 24 25 30 16 26 15 41 11 17 44 2 27 29 19 20 37 8 4 35 3 28 21 43 12 40 10 22 31 13 9 36 18 6 33 38 14 32
8. Evaluasi dan Kriteria Berhenti
Dalam penelitian ini Algoritme Genetika akan berhenti jika memenuhi salah satu dari dua kriteria berhenti yaitu maksimum generasi dan
stall generation. Dalam setiap generasi
dilakukan proses evaluasi dengan menghitung nilai fitness dari setiap kromosom. Maksimum generasi yang ditentukan adalah 20 generasi, sehingga Algoritme Genetika akan berhenti jika sudah mencapai 20 generasi. Algoritme Genetika juga akan berhenti jika nilai fitness terbesar yang dihasilkan tidak berubah selama beberapa generasi (stall generation).
Pengujian dan Analisis Sistem
Sistem Algoritme Genetika untuk menentukan rute distribusi optimum yang telah dihasilkan akan diimplementasikan dalam bentuk web client. Proses pengujian dan analisis sistem Algoritme Genetika akan dilakukan dalam dua tahap. Tahap pertama, pengujian sistem dilakukan dengan mengubah nilai parameter Algoritme Genetika yang digunakan, yaitu nilai crossover probability, nilai mutation
probability, ukuran populasi dan stall
generation. Tahap kedua, menguji rute
distribusi optimum yang dihasilkan dari sistem berbasis web client. Input yang dimasukkan
10 oleh pengguna sistem adalah node awal dan
node tujuan pengguna.
Lingkungan Pengembangan Sistem
Implementasi Algoritme Genetika dalam bentuk web client menggunakan bahasa pemrograman PHP dan DBMS MySQL. Spesifikasi perangkat keras dan perangkat lunak komputer yang digunakan dalam penelitian ini sebagai berikut :
· Perangkat keras : Prosesor AMD Turion X2 dual core CPU 2.0 GHz, Memori 2.5 GB DDR2, hardisk 160 GB, mouse.
· Perangkat lunak : Microsoft Windows XP SP 2, XAMPP 1.7.1, PHP 5.2.6, Firefox 3.0.6, Notepad++ .
HASIL DAN PEMBAHASAN
Perancangan supply chain network dalam menentukan jalur distribusi optimum dengan menggunakan Algoritme Genetika diawali dengan pembentukan representasi peta jalan Kota Bogor ke dalam bentuk graf. Perancangan tersebut diimplementasikan dalam web client dengan tujuan mempermudah pengguna dalam menggunakan rancangan tersebut. Tampilan web client yang telah dibuat dapat dilihat pada Lampiran 4.
Algoritme Genetika yang digunakan untuk menentukan rute optimum jalur distribusi ini terdiri atas beberapa tahapan, yaitu representasi kromosom, penentuan populasi awal, menghitung nilai fitness, proses elitisme, proses seleksi, crossover, mutasi dan evaluasi kriteria berhenti algoritme. Untuk tahapan representasi kromosom, dari dua metode representasi kromosom yang dicoba dipilih salah satu metode representasi kromosom yang paling tepat. Dari percobaan yang dilakukan sebelumnya dalam penelitian ini menunjukkan bahwa metode Binary Encoding and Decoding membutuhkan waktu eksekusi program yang lebih lama daripada metode representasi kromosom Priority-based Encoding and Decoding. Oleh karena itu, metode Priority-based Encoding and Decoding lebih tepat untuk merepresentasikan masalah yang dihadapi ke dalam bentuk kromosom sehingga penelitian ini menggunakan representasi kromosom dengan metode Priority-based Encoding and Decoding.
Algoritme Genetika memerlukan pemilihan parameter yang tepat agar dapat memaksimalkan kinerja algoritme tersebut. Oleh karena itu tahap pengujian dalam penelitian ini terdiri atas dua kali percobaan. Percobaan pertama adalah menentukan
parameter optimal Algoritme Genetika. Percobaan kedua adalah menguji hasil keluaran sistem Algoritme Genetika berbasis web.
Percobaan 1
Percobaan ini bertujuan menentukan parameter Algoritme Genetika yang paling optimal, yang terdiri atas pengujian parameter ukuran populasi, crossover probability, mutation probability, dan stall generation. Percobaan dilakukan dengan pengulangan masing-masing 10 kali dan untuk setiap percobaan node awal dan node tujuan ditetapkan masing-masing secara berurutan yaitu Node 21 dan Node 24. Percobaan untuk menentukan parameter ukuran populasi yang optimal dilakukan dengan cara mengubah nilai parameter ukuran populasi, sedangkan parameter yang lain dibuat tetap. Percobaan untuk menentukan parameter optimal crossover probability, mutation probability, dan stall generation dilakukan dengan cara yang sama dan parameter bukan uji dibuat tetap.
Dalam menentukan parameter optimal ukuran populasi, parameter Algoritme Genetika yang terdiri atas crossover probability, mutation probability, dan stall generation nilainya dibuat tetap, secara berurutan yaitu 0.5, 0.1, dan 5. Nilai parameter ukuran populasi yang akan diuji adalah 50, 100 , 150, 200, 250, 300, 350, dan 400. Pengujian akan dilakukan masing-masing sebanyak 10 kali pengulangan. Hasil pengujian dapat dilihat pada Lampiran 5. Parameter ukuran populasi yang optimal didapatkan dengan memilih nilai ukuran populasi yang memiliki nilai fitness rata-rata paling kecil sehingga akan menghasilkan rute yang paling optimum. Parameter dan hasil uji dapat dilihat pada Tabel 2.
Tabel 2 Parameter ukuran populasi dengan nilai fitness rata-rata. Ukuran Populasi Crossover Probability = 0.5 Mutation Probability = 0.1 Stall Generation = 5 50 4580.6 100 4474.2 150 4350.6 200 4254.1 250 4312.1 300 4150 350 4150 400 4150
11 Pada Gambar 11 dapat dilihat hubungan
parameter ukuran populasi dengan rata-rata nilai fitness.
Gambar 11 Hubungan Ukuran Populasi dan Nilai Fitness Rata-Rata.
Dari Gambar 11 dapat dilihat kecenderungan bahwa semakin besar ukuran populasi akan menghasilkan nilai fitness rata-rata yang sama atau semakin kecil. Ukuran populasi yang menghasilkan nilai fitness rata-rata paling kecil adalah 300, 350, dan 400 kromosom dengan nilai fitness rata-rata 4150. Namun untuk memilih nilai ukuran populasi yang lebih baik untuk digunakan adalah dilihat dari hubungan ukuran populasi dengan waktu eksekusi program. Pada Gambar 12 diperlihatkan hubungan nilai ukuran populasi dengan waktu eksekusi program. Pada Gambar 12 dapat dilihat bahwa semakin besar nilai ukuran populasi maka waktu eksekusi yang diperlukan akan semakin lama, sehingga hasil pengujian menunjukkan bahwa parameter ukuran populasi yang optimal adalah 300 kromosom.
Gambar 12 Hubungan Ukuran Populasi dan Waktu Eksekusi Program.
Nilai parameter crossover probability yang akan diuji adalah 0.5, 0.6, 0.7, 0.8, dan 0.9. Ukuran populasi yang digunakan dalam pengujian ini adalah 300 kromosom yang merupakan ukuran populasi optimal berdasarkan hasil percobaan sebelumnya. Hasil pengujian dapat dilihat pada Lampiran 6. Parameter dan hasil uji dapat dilihat pada Tabel 3.
Tabel 3 Parameter crossover probability dengan nilai fitness rata-rata.
Crossover Probability Ukuran Populasi = 300 Mutation Probability = 0.1 Stall Generation = 5 0.5 4150 0.6 4150 0.7 4150 0.8 4150 0.9 4150
Pada Gambar 13 diperlihatkan hubungan parameter crossover probability dengan nilai fitness rata-rata. Pada Gambar 13 dapat dilihat bahwa untuk setiap nilai crossover probability akan menghasilkan nilai fitness rata-rata yang sama.
Gambar 13 Hubungan Crossover Probability dan Nilai Fitness.
Hal ini memperlihatkan bahwa semua nilai crossover probability tersebut menghasilkan nilai rata-rata fitness optimum, namun untuk memilih nilai crossover probability yang lebih baik untuk digunakan adalah dilihat dari hubungan antara nilai crossover probability dengan akhir generasi yang dihasilkan yang dapat dilihat pada Gambar 14.
12 Gambar 14 Hubungan Crossover Probability
dan Akhir Generasi.
Gambar 14 diperlihatkan semua nilai crossover probability yang menghasilkan nilai fitness rata-rata sama. Dari nilai crossover probability ini dapat dilihat perbedaan akhir generasi yang dihasilkan. Akhir generasi ini memperlihatkan penggunaan crossover probability, semakin besar akhir generasi yang didapatkan untuk menghasilkan rute optimum maka crossover probability yang menghasilkan akhir generasi tersebut akan semakin baik digunakan. Hasil pengujian menunjukkan bahwa parameter crossover probability yang optimal adalah 0.6.
Nilai parameter mutation probability yang akan diuji adalah 0.1, 0.2, 0.3, 0.4, 0.5, dan 0.6. Parameter ukuran populasi dan crossover probability yang digunakan dalam pengujian ini secara berurutan adalah 300 dan 0.6 yang merupakan parameter optimal berdasarkan hasil percobaan sebelumnya. Hasil pengujian dapat dilihat pada Lampiran 7. Parameter dan hasil uji dapat dilihat pada Tabel 4.
Tabel 4 Parameter mutation probability dengan nilai fitness rata-rata.
Mutation Probability Ukuran Populasi = 300 Crossover Probability = 0.6 Stall Generation = 5 0.1 4150 0.2 4150 0.3 4150 0.4 4150 0.5 4150 0.6 4150
Pada Gambar 15 dapat dilihat hubungan parameter mutation probability dengan nilai fitness rata-rata.
Gambar 15 Hubungan Mutation Probability dan Nilai Fitness.
Dari Gambar 15 dapat dilihat bahwa nilai mutation probability 0.1, 0.2, 0.3, 0.4, 0.5, dan 0.6 menghasilkan nilai fitness rata-rata yang sama sehingga dari hubungan ini tidak bisa ditentukan nilai parameter mutation probability optimal. Penentuan parameter mutation probability yang lebih baik untuk digunakan adalah dilihat dari hubungan antara nilai mutation probability dengan akhir generasi yang dihasilkan. Hubungan parameter mutation probability dengan akhir generasi rata-rata dapat dilihat pada Gambar 16.
Gambar 16 Hubungan Mutation Probability dan Akhir Generasi.
Pada Gambar 16 ditunjukkan semua nilai mutation probability yang menghasilkan nilai fitness rata-rata sama. Dari nilai-nilai mutation probability ini dapat dilihat perbedaan akhir generasi yang dihasilkan. Akhir generasi ini
13 memperlihatkan penggunaan mutation
probability, semakin besar akhir generasi yang didapatkan untuk menghasilkan rute optimum maka mutation probability yang menghasilkan akhir generasi tersebut akan semakin baik digunakan. Hasil pengujian menunjukkan bahwa parameter mutation probability yang optimal adalah 0.5.
Nilai parameter stall generation yang akan diuji adalah 5, 10, 15, dan 20. Parameter ukuran populasi, crossover probability dan mutation probability yang digunakan dalam pengujian ini secara berurutan adalah 300, 0.6, dan 0.5 yang merupakan parameter optimal berdasarkan hasil percobaan sebelumnya. Salah satu kriteria berhenti Algoritme Genetika adalah apabila nilai fitness tidak mengalami perubahan selama generasi yang ditentukan yang disebut dengan stall generation. Hasil pengujian dapat dilihat pada Lampiran 8. Parameter dan hasil uji dapat dilihat pada Tabel 5.
Tabel 5 Parameter stall generation dengan nilai fitness rata-rata. Stall Generation Ukuran Populasi = 300 Crossover Probability = 0.6 Mutation Probability = 0.5 0.1 4150 0.2 4150 0.3 4150 0.4 4150 0.5 4150 0.6 4150
Hubungan parameter stall generation dengan nilai fitness rata-rata dapat dilihat dalam Gambar 17.
Gambar 17 Hubungan Stall Generation dan Nilai Fitness.
Dari Gambar 17 dapat dilihat bahwa semua nilai stall generation menghasilkan nilai fitness yang sama. Oleh sebab itu hubungan ini tidak bisa digunakan untuk menentukan parameter stall generation yang lebih baik untuk digunakan. Penentuan parameter stall generation ditentukan oleh waktu eksekusi program.
Pada Gambar 18 ditunjukkan hubungan parameter stall generation dengan waktu eksekusi. Semakin besar nilai parameter stall
generation yang digunakan maka akan
menghasilkan waktu eksekusi program yang lebih lama. Hasil pengujian menunjukkan bahwa parameter stall generation yang optimal adalah 5, karena dengan menggunakan nilai parameter stall generation yaitu 5 hanya akan membutuhkan waktu eksekusi program rata-rata sebesar 3 detik.
Gambar 18 Hubungan Stall Generation dan Waktu Eksekusi.
Percobaan 2
Algoritme Genetika ini diimplementasikan dalam sebuah web client dengan menggunakan parameter optimal yang telah didapatkan yaitu parameter ukuran populasi, crossover probability, mutation probability, dan stall generation secara berurutan adalah 300, 0.6, 0.5, dan 5. Pada percobaan ini akan dilakukan pengujian rute distribusi optimum yang dihasilkan dari sistem berbasis web. Input yang dimasukkan oleh pengguna sistem adalah node awal dan node tujuan pengguna. Pada percobaan ini, node awal yang dipilih adalah Node 21, sedangkan node tujuan yang dipilih adalah Node 42. Rute dari Node 21 menuju Node 42 dapat dilewati melalui beberapa alternatif rute. Beberapa alternatif rute tersebut secara berurutan dapat dilihat pada Gambar 19, Gambar 20, Gambar 21, Gambar 22, Gambar 23, Gambar 24.
14 Gambar 19 Rute Alternatif 1.
Gambar 20 Rute Alternatif 2.
Gambar 21 Rute Alternatif 3.
Gambar 22 Rute Alternatif 4.
Gambar 23 Rute Alternatif 5.
Gambar 24 Rute Alternatif 6.
Pada Tabel 6 dapat dilihat jarak tempuh, waktu tempuh rata-rata, dan nilai fitness yang dihasilkan dengan menggunakan perhitungan secara manual dari masing-masing gambar di atas.
Tabel 6 Jarak tempuh, waktu tempuh rata - rata, dan nilai fitness.
Alternatif Rute Jarak (meter) Waktu Rata-Rata (detik) Nilai Fitness Rute 1 1189 603 3006.5 Rute 2 1434 202 1473 Rute 3 1217 492 2576.5 Rute 4 1422 616 3175 Rute 5 1586 456 2617 Rute 6 1921 535 3100.5
Dari Tabel 6 dapat dilihat bahwa rute yang paling optimum adalah rute alternatif 2, yaitu Node 21 – 35 – 14 – 15 – 27 – 28 – 42. Rute ini memiliki nilai fitness terkecil sehingga dianggap merupakan rute paling optimum.
15 Rute optimum antarnode sebagai
representasi dari jalur distribusi yang dihasilkan oleh sistem berbasis web dengan node awal adalah Node 21 dan node akhir adalah Node 42 sebagai berikut :
Rute : Node 21 - Node 35 - Node 14 - Node 15
- Node 27 - Node 28 - Node 42.
Jalan yang dilalui : Kapten Muslihat - Kapten
Muslihat - Ir.H.Juanda - Ir.H.Juanda - Sudirman - Sudirman.
Jarak tempuh : 1434 meter.
Waktu tempuh rata-rata : 202 detik.
Tampilan sistem yang menghasilkan rute optimum ini dapat dilihat pada Lampiran 9. Rute optimum yang dihasilkan oleh sistem berbasis web sama dengan rute optimum yang dihasilkan dengan perhitungan secara manual di atas. Hal ini menunjukkan bahwa sistem berbasis web tersebut berjalan dengan baik.
KESIMPULAN DAN SARAN Kesimpulan
Berdasarkan hasil penelitian didapat beberapa kesimpulan, yaitu :
1. Perancangan supply chain network dalam menentukan rute optimum jalur distribusi yang dilakukan dengan menggunakan Algoritme Genetika dan diimplementasikan dalam bentuk web client sudah dapat berjalan dengan baik.
2. Kinerja Algoritme Genetika dalam penelitian ini yang bertujuan menentukan rute optimum jalur distribusi dalam supply chain network dengan menggunakan data peta jalan Kota Bogor akan mencapai optimal pada kombinasi nilai parameter untuk ukuran populasi, crossover probability, mutation probability, dan stall generation secara berurutan adalah 300, 0.6, 0.5 dan 5.
3. Hubungan jumlah kromosom dengan nilai fitness rata-rata tidak bisa digunakan untuk menentukan nilai parameter ukuran populasi yang paling optimum, sehingga digunakan hubungan jumlah kromosom dan waktu eksekusi program.
4. Hubungan crossover probability dan mutation probability dengan nilai fitness rata-rata tidak bisa digunakan untuk menentukan nilai parameter crossover probability dan mutation probability yang paling optimum, sehingga digunakan
hubungan crossover probability dan mutation probability dengan akhir generasi algoritme.
5. Hubungan stall generation dengan nilai fitness rata-rata tidak bisa digunakan untuk menentukan nilai parameter stall generation yang paling optimum, sehingga digunakan hubungan stall generation dengan waktu eksekusi program.
Saran
Beberapa saran yang dapat dilakukan untuk penelitian berikutnya, yaitu:
1. Mengembangkan sistem ini dengan mengakomodasi masalah kepadatan lalu lintas dengan membedakan antara waktu sibuk dan waktu tidak sibuk.
2. Mengembangkan visualisasi yang baik untuk sistem penentuan rute optimum ini. 3. Mempercepat proses eksekusi program
Algoritme Genetika dengan memanfaatkan Algoritme Genetika parallel.
DAFTAR PUSTAKA
Ayers B. 2001. Handbook of Supply Chain Management. USA : st.Lucie Press. Gen M, Cheng R. 2000. Genetic Algorithm and
Engineering Optimization. Canada. John Wiley & Sons, Inc.
Gen M, Cheng R. 2008. Network Models and Optimization. London. Springer-Verlag London.
Goldberg D. 1989. Genetic Algorithms in
Search, Optimization, and Machine
Learning. England : Addison-Wesley Publishing Company.
Hugos M. 2003. Essentials of Supply Chain Management. Canada : John Wiley & Sons, Inc.
Priasa A. 2008. Perancangan Supply Chain
Network Untuk Penentuan Lokasi
Produksi dan Jalur Distribusi [skripsi]. Bogor. Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.
Sivanandam S, Deepa S. 2008. Introduction to
Genetic Algorithms. New York.
Springerverlag Berlin Heidelberg.
Suyanto. 2005. Algoritma Genetika Dalam Matlab. Yogyakarta : Andi.
Thiang, dkk. 2001. Implementation of Genetic Algorithm on MCS51 Microcontroller for
16 Finding the Shortest Path. Prosiding
seminar of intelligent Technology and Its Aplication (SITIA 2001). ITS-Surabaya. Thiang, dkk. 2002. Pencarian Rute Terpendek
Menggunakan Algoritme Genetika. Jurnal Teknik Elektro Vol 2, No 2 September 78 – 83.
Yinzhen, dkk. 2006. Faster Genetic Algorithm For Network Paths. The Sixth International Symposium on Operations
Research and Its Applications
18 Lampiran 1 Data Node Kota Bogor Sebagai Representasi Jalur Distribusi.
ID Node
Nama Node Keterangan Node
1 NODE 1 padjadjaran - ottoiskandar dinata 2 NODE 2 padjadjaran - jalak harupat
3 NODE 3 padjadjaran - pangarango - lodaya 1 4 NODE 4 padjadjaran - salak - lodaya II 5 NODE 5 salak - jalak harupat
6 NODE 6 padjadjaran - tol jagorawi 7 NODE 7 ottoiskandar dinata - bangka 8 NODE 8 ottoiskandar dinata - roda 9 NODE 9 padjadjaran - sambu 10 NODE 10 banka - sambu
11 NODE 11 ir.h.juanda-ottosikandar dinata-suya kencana 12 NODE 12 roda - surya kencana
13 NODE 13 ir.h.juanda - paledang 14 NODE 14 ir.h.juanda - kapten muslihat 15 NODE 15 ir.h. juanda - gedong sawah 1 16 NODE 16 paledang - kapten muslihat 17 NODE 17 veteran - merdeka - kapten muslihat 18 NODE 18 perintis kemerdekaan - veteran 19 NODE 19 perintis kemerdekaan - dr semeru 20 NODE 20 merdeka - dr semeru
21 NODE 21 kapten muslihat - raja permas 22 NODE 22 m.a.salmun - raja permas 23 NODE 23 m.a.salmun - merdeka 24 NODE 24 ahmad yani - padjadjaran 25 NODE 25 mandalawangi - pangarango 26 NODE 26 pangrango 1 - jalak harupat
27 NODE 27 ir.h.juanda - jalak harupat - sudirman 28 NODE 28 pengadilan - sudirman
29 NODE 29 ahmad yani-sudirman-re martadinata 30 NODE 30 re. martadinata - merdeka
31 NODE 31 raja permas - dewi sartika 32 NODE 32 dewi satika - m.a.salmun 33 NODE 33 pangrango - salak 34 NODE 34 pangrango - pangrango 1 35 NODE 35 kapten muslihat - dewi sartika 36 NODE 36 pengadilan - dewi sartika 37 NODE 37 raja permas
38 NODE 38 perintis kemerdekaan
39 NODE 39 perintis kemerdekaan - merdeka 40 NODE 40 mandalawangi - padjadjaran 41 NODE 41 gedong sawah 1 - dewi sartika 42 NODE 42 sawo jajar - sudirman
43 NODE 43 merdeka - mawar 44 NODE 44 ahmad yani - dadali
19 Lampiran 2 Data Edge Kota Bogor Sebagai Representasi Jalur Distribusi.
ID Ed ge
Nama Edge
Nama Jalan Node
Awal Node Akhir Jarak (meter) Waktu (detik) 1 E1 padjadjaran 1 6 390 49 2 E2 padjadjaran 1 2 684 59 3 E3 ottoiskandar dinata 1 7 129 22 4 E5 jalak harupat 2 26 269 24 5 E2 padjadjaran 2 1 684 59 6 E4 padjadjaran 2 3 375 42 7 E8 pangrango 3 34 79 5 8 E12 padjajaran 3 40 84 7 9 E4 padjajaran 3 2 375 42
10 E14 lodaya I - Kumbang - lodaya 2 3 4 552 97
11 E15 salak 4 33 374 40
12 E14 lodaya 2 - Kumbang - lodaya 1 4 3 552 97 13 E17 padjadjaran 4 24 2350 150
14 E13 padjadjaran 4 40 395 100
15 E16 salak 5 33 390 42
16 E22 jalak harupat 5 27 570 86
17 E50 padjadjaran 6 9 304 28
18 E1 padjadjaran 6 1 390 49
19 E3 ottoiskandar dinata 7 1 129 22 20 E53 ottoiskandar dinata 7 8 503 103
21 E52 bangka 7 10 420 92
22 E54 roda 8 12 1010 322
23 E53 ottoiskandar dinata 8 7 503 103 24 E55 ottoiskandar dinata 8 11 127 43
25 E50 padjadjaran 9 6 304 28
26 E51 sambu 9 10 167 113
27 E51 sambu 10 9 167 113
28 E52 bangka 10 7 420 92
29 E56 surya kencana 11 12 988 116 30 E57 ir.h.juanda 11 13 274 101 31 E55 ottoiskandar dinata 11 8 127 43
32 E54 roda 12 8 1010 322 33 E38 paledang 13 16 1019 127 34 E37 ir.h.juanda 13 14 530 81 35 E57 ir.h.juanda 13 11 274 101 36 E24 ir.h.juanda 14 15 274 39 37 E37 ir.h.juanda 14 13 530 81 38 E26 kapten muslihat 14 35 259 37 39 E24 ir.h.juanda 15 14 274 39 40 E25 gedong sawah 15 41 246 39 41 E23 ir.h.juanda 15 27 328 52
42 E38 Paledang 16 13 1019 127
43 E36 kapten muslihat 16 21 128 29 44 E39 kapten muslihat 16 17 138 26 45 E39 kapten muslihat 17 16 138 26
46 E49 veteran 17 18 100 37
47 E48 perintis kemerdekaan 18 38 358 57 48 E47 perintis kemerdekaan 19 38 180 57
49 E61 mawar 19 43 77 15
50 E46 dr.semeru 19 20 53 20
20
52 E46 dr.semeru 20 19 53 20
53 E41 merdeka 20 39 100 13
54 E36 kapten muslihat 21 16 128 29 55 E35 raja permas 21 37 350 132 56 E28 kapten muslihat 21 35 83 13 57 E33 raja permas 22 37 300 134
58 E32 m.a.salmun 22 32 78 95 59 E44 m.a.salmun 22 23 460 84 60 E44 m.a.salmun 23 22 460 84 61 E43 merdeka 23 20 225 123 62 E45 merdeka 23 43 50 26 63 E17 padjadjaran 24 4 2350 150
64 E64 ahmad yani 24 44 460 57
65 E9 pangrango 25 34 161 37
66 E11 mandalawangi 25 40 193 19
67 E10 pangrango 25 33 246 23
68 E7 jalak harupat 26 5 157 22 69 E22 jalak harupat 27 5 570 86 70 E23 ir.h.juanda 27 15 328 52 71 E21 sudirman 27 28 130 17 72 E21 sudirman 28 27 130 17 73 E58 sudirman 28 42 360 44 74 E31 pengadilan 28 36 500 98 75 E63 pemuda/dadali 29 44 2314 205 76 E19 sudirman 29 42 776 91 77 E20 re martadinata 29 30 1064 182 78 E20 re martadinata 30 29 1064 182 79 E62 merdeka 30 43 770 53
80 E27 dewi sartika 31 35 100 92 81 E29 dewi sartika 31 41 52 50 82 E34 raja permas 31 37 120 122
83 E32 m.a.salmun 32 22 78 95
84 E30 dewi sartika 32 36 134 24
85 E59 sawo jajar 32 42 461 242
86 E15 salak 33 4 374 40 87 E10 pangrango 33 25 246 23 88 E16 salak 33 5 390 42 89 E8 pangrango 34 3 79 5 90 E6 pangrango I 34 26 212 33 91 E9 pangrango 34 25 161 37
92 E26 kapten muslihat 35 14 259 37 93 E27 dewi sartika 35 31 100 92 94 E28 kapten muslihat 35 21 83 13
95 E59 pengadilan 36 28 152 98
96 E30 dewi sartika 36 32 134 24 97 E60 dewi sartika 36 41 237 46 98 E34 raja permas 37 31 120 122 99 E33 raja permas 37 22 300 134 100 E47 perintis kemerdekaan 38 19 180 57 101 E42 perintis kemerdekaan 38 39 100 34
102 E40 merdeka 39 17 240 41 103 E41 merdeka 39 20 100 13 104 E12 padjajaran 40 3 84 7 105 E13 padjadjaran 40 4 395 100 106 E11 mandalawangi 40 25 193 19 Lampiran 2 Lanjutan
21 107 E29 dewi sartika 41 31 52 50
108 E25 gedong sawah 41 15 346 39 109 E60 dewi sartika 41 36 237 47
110 E58 sudirman 42 28 360 44
111 E19 sudirman 42 29 776 91
112 E59 sawo jajar 42 32 461 242
113 E62 merdeka 43 30 770 53
114 E45 merdeka 43 23 50 26
115 E61 mawar 43 19 77 15
116 E64 ahmad yani 44 24 460 57 117 E18 ahmad yani 44 29 1606 205 Lampiran 2 Lanjutan
22 Lampiran 3 Representasi Graf Data Peta Kota Bogor.
23 Lampiran 4 Tampilan Awal dan Hasil Penentuan Rute Optimum Dalam Web.