Pencarian Rute Optimal Distribusi koran Dinas Kominfo Kab.Tegal menggunakan Algoritme Genetika

Pencarian Rute Optimal Distribusi koran Dinas Kominfo Kab.Tegal menggunakan  Algoritme Genetika

Diposting pada 18 October 2019, 16:59 Oleh Agung R Pamungkas



Abstract The distribution of development newspaper, which is carried out every 3 (three) months, is a routine agenda of the Department of Communication and Information of Tegal Regency. Each routine agenda, there are always problems where the tabloids must be distributed quickly and optimally. This can be overcome by selecting the shortest route (optimum) in the case of Traveling Salesman Problem using genetic algorithms. The research aims to complete the search for the shortest route using genetic algorithms with php language.


IntisariDistribusi tabloid pembangunan yang dilaksanakan tiap 3 (tiga) bulan menjadi agenda rutin Dinas Kominfo Kab.Tegal. Tiap agenda rutin tersebut, selalu muncul masalah dimana tabloid harus terdistribusi dengan cepat dan optimal. Hal ini dapat diatasi dengan pemilihan rute terpendek (optimal) pada kasus Travelling Salesman Problem menggunakan algoritme genetika. Penelitian bertujuan  menyelesaikan pencarian rute terpendek menggunakan algoritme genetika dengan bahasa pemrograman php.


Kata KunciTegal, TSP, GA, Algoritme Genetika, distribusi


I.      pendahuluan


Pencarian rute terbaik dalam melakukan suatu distribusi memiliki peranan yang sangat penting dalam hal efektifitas dan efisiensi terutama pada waktu dan biaya. Tak jarang suatu organisasi mengeluarkan biaya yang mahal hanya karena ketidak-efektifan dalam pendistribusian barang atau komoditas. Maka dari itu perlu dilakukan suatu optimasi dalam penentuan rute distribusi. Permasalahan dalam optimasi penentuan rute terpendek ini dinamakan dengan Travelling Salesman Problem (TSP).


Model kasus TSP yang sebenarnya yaitu terdapat seorang salesman yang akan mengunjungi sejumlah n lokasi. Namun, seluruh lokasi harus dikunjungi dan setiap lokasi hanya dapat dikunjungi tepatnya satu kali. Permasalahannya adalah bagaimana salesman tersebut dapat menentukan rute terpendek yang akan dilalui dalam mengunjungi seluruh lokasi dan kembali lagi ke lokasi awal. Model TSP ini dapat juga diimplementasikan pada kegiatan distribusi koran pertiwi (yang terbit 3 bulan sekali).Dalam penelitian ini, akan diselesaikan kasus TSP distribusi koran menggunakan algoritme genetika dengan sampel 8 kecamatan.


II.    LANDASAN TEORI

A.    Travelling Salesman Problem


TSP muncul  pada saat pertama kali dipelajari oleh seorang matematikawan Karl Menger di Vienna dan Harvard pada tahun 1930. Kemudian permasalahan ini dipublikasikan oleh Hassler Whitney dan Merrill Flood di Princeton. Pembicaraan detail tentang hubungan antara Menger dan Whitney, dan perkembangan dari TSP sebagai topik studi dapat dilihat di makalah Alexander Schrijver yang berjudul “On the history of combinatorial optimization (till 1960)” [1].


Hal yang perlu diperhatikan di dalam kasus TSP adalah perjalanan salesman dimulai dari kota awal sampai seterusnya ke kota n dan akhirnya akan kembali lagi ke kota awal. Namun, aturannya adalah setiap kota selain kota awal hanya dapat dikunjungi tepat satu kali. Persoalan yang dihadapi ialah bagaimana membangun jalur rute yang optimal dengan mempertimbangkan aturan tersebut agar didapatkan total jarak tempuh minimal sehingga akan berdampak pada penghematan biaya transportasi.


Persoalan yang dihadapi pada kasus ini tidak mudah, karena terdapat banyak kombinasi alur rute yang mungkin terjadi seiring dengan banyaknya titik yang akan dikunjungi dan juga harus memperhatikan aturan yang berlaku.


B.    Algoritme Genetika


Menurut Carwoto [2], algoritma genetika adalah algoritma pencarian yang berdasarkan mekanisme seleksi alam Darwin dan prinsip-prinsip genetika untuk menentukan struktur-struktur (yang masing-masing disebut individu) berkualitas tinggi yang terdapat dalam sebuah domain (yang disebut populasi). Carwoto [2] juga menjelaskan bahwa dalam ilmu komputer, algoritma genetika termasuk dalam kajian komputasi lunak (soft computing) dan kecerdasan buatan (artificial intelligence). Algoritma Genetika dapat digunakan untuk menyelesaikan permasalahan searching dan optimasi yang mempunyai kompleksitas tinggi yang banyak terjadi dalam dynamic programming seperti TSP dan Knapsack Problem.


Gambaran tentang proses Algoritma Genetika  yaitu dimisalkan terdapat suatu populasi yang didalamnya terdapat individu-individu yang merepresentasikan kumpulan solusi permasalahan. Individu-individu tersebut akan dievaluasi untuk mendapatkan nilai fitness dari tiap-tiap individu. Setelah dievaluasi, individu-individu ini akan menjalani proses seleksi. Hanya individu dengan nilai fitness tertinggi yang akan memiliki peluang lebih besar untuk terpilih ke proses berikutnya. Selanjutnya akan dilakukan proses reproduksi untuk menambah keanekaragaman individu-individu yang telah terseleksi. Proses reproduksi dikerjakan dengan melakukan perkawinan silang antara individu yang telah terpilih yang dinamakan proses crossover dengan harapan setelah mengalami perkawinan silang, akan lahir individu-individu baru yang lebih baik dari individu sebelumnya. Selanjutnya individu dari hasil crossover ini akan mengalami proses mutasi yang direpresentasikan sebagai proses berubahnya satu atau lebih nilai gen dalam kromosom. Pada akhirnya proses reproduksi ini akan menghasilkan populasi baru.


                                                                                            

Gambar 1. Siklus algoritme genetika [3]


III. Metodologi

A.    Penentuan titik


Penelitian dimulai dengan memetakan 8 (delapan) kantor kecamatan yang akan menjadi rute distribusi yaitu 1.Slawi, 2.Adiwerna, 3.Pangkah, 4.Dukuhwaru, 5.Pagerbarang, 6.Lebaksiu, 7.Margasari dan 8.Talang dengan pangkal dan akhir Dinas Kominfo.


                                                                            

Gambar 2. Titik yang akan dikunjungi


Setelah didefinisikan semua titik yang akan dikunjungi dalam TSP, maka langkah selanjutnya adalah menghitung jarak antar semua titik. Hal ini diperlukan untuk menghitung nilai fitness di langkah selanjutnya. Penulis menggunakan google maps untuk menghitung jarak antar masing-masing titik dan hasilnya adalah sebagai berikut :


Tabel 1. Daftar jarak antar titik


Dalam

Km

0.Kominfo

1.Slawi

2.Adiwerna

3.Pangkah

4.Dukuhwaru

5.Pagerbarang

6.Lebaksiu

7.Margasari

8.Talang

0.Kominfo

0

3,6

9,1

7,6

6

13,7

6,8

22,9

11

1.Slawi

3,6

0

5,9

4,4

5,9

15,3

8,9

26,8

7,8

2.Adiwerna

9,1

5,9

0

7,6

9,2

19

14,3

32,2

2

3.Pangkah

7,6

4,4

7,6

0

9.8

19,2

11,9

29,7

9,1

4.Dukuhwaru

6

5,9

9,2

9,8

0

9,7

12,5

22,8

11,4

5.Pagerbarang

13,7

15,3

19

19,2

9,7

0

11,2

14,3

20,8

6.Lebaksiu

6,8

8,9

14,3

11,9

12,5

11,2

0

17,8

16

7.Margasari

22,9

26,8

32,2

29,7

22,8

14,3

17,8

0

33,8

8.Talang

11

7,8

2

9,1

11,4

20,8

16

33,8

0



B.    Pembangkitan kromosom dan populasi


Setelah titik dan jarak sudah didefinisikan, langkah selanjutnya adalah membangkitkan kromosom dan pembuatan populasi. Pada tahap ini, titik-titik yang ada dibuat menjadi gen dan membentuk kromosom. Dalam satu kromosom, terdapat 8 gen yang melambangkan titik TSP. pada saat pembangkitan kromosom, gen dibuat secara acak namun gen tersebut hanya bisa muncul sekali dalam pengacakan karena gen yang merupakan titik tersebut tidak akan dilalui 2 (dua) kali dalam TSP. Setelah kromosom bangkit, maka dibuat populasi. Pada penelitian ini, populasi yang dibuat sebanyak 4 (empat) populasi.


Gambar 3. Gen, kromosom dan populasi


Jadi pada langkah ini, titik-titik kantor kecamatan dibuat menjadi gen dengan dilambangkan nomor dari masing-masing kecamatan (1 -8) kemudian kumpulan dari 8 (delapan) gen tersebut digabungkan menjadi kromosom dengan posisi gen yang acak. Kromosom kemudian dibentuk menjadi 4 (empat) populasi


C.    Perhitungan nilai fitness


Kromosom dalam populasi kemudian dihitung nilai fitness dan fitness ratio untuk menentukan parent yang akan tetap dalam populasi dan akan mengeluarkan kromosom dengan fitness yang rendah. Pada penelitian ini, parent yang akan digunakan adalah 2 (dua) kromosom. Cara menghitung fitness masing-masing kromosom adalah dengan melakukan perhitungan jarak :


kominfo -> gen1 -> gen2 -> gen3 -> gen4 -> gen5 -> gen6 -> gen7 -> gen8 -> kominfo

 

kemudian fitness dihitung dengan rumus :


 

fitnes = 1 / Total jarak kromosom


sedangkan fitness ratio dihitung menggunakan :


fitness ratio = (fitness kromosom / Total fitnes kromosom) x 100%


dengan rumus diatas, maka dapat dihitung jarak dari masing-masing kromosom :


C1 = 6,8+14,3+19+19,2+29,7+26,8+7,8+11,4+6 = 141


C2 = 3,6 +5,9 +22,8 +29,7 +7,6 +14,3 +11,2 +20,8 +11 = 126,9


C3 = 11+7,8+15,3+11,2+14,3+32,2+22,8+9,8+7,6 = 132


C4 = 6+22,8+29,7+4,4+7,8+20,8+19+14,3+6,8 = 131,6


Dari jarak tersebut, dihitung fitness kromosom :


C1 = 1/141 = 0,00709


C2 = 1/126,9 = 0,00788


C3 = 1/132  = 0,00757


C4 = 1/131,6= 0,00759


Total fitness = 0,00709+0,00788+0,00757+0,00759 = 0,03013


Kemudian fitness ratio dari masing-masing kromosom adalah :


C1 = (0,00709/0,03013) x 100% =  23,531%


C2 = (0,00788/0,03013)  x 100% = 26,153%


C3 = (0,00757/0,03013)  x 100% = 25,124%


C4 = (0,00759/0,03013) x 100% = 25,190%


Dari perhitungan fitness dan fitness ratio dari kromosom diatas, maka didapatkan parent yaitu C2 dan C4 dengan menggunakan metode seleksi turnamen karena memiliki fitness dan fitness ratio yang paling tinggi.


D.   Crossover


Setelah parent didapatkan melalui perhitungan fitness dan fitness ratio, maka tahap selanjutnya adalah melakukan crossover antar parent guna menghasilkan child. Kromosom C2 dan C4 akan menjadi parent 1 dan parent 2 (P1 dan P2) dan akan menghasilkan Child 1 dan Child 2 (Ch1 dan Ch2)


                                                                            

Gambar 3. Proses Crossover


Yang perlu diperhatikan pada proses crossover dalam menyelesaikan masalah TSP adalah child hasil dari crossover antar parent tidak boleh memiliki gen ganda.


E.    Mutasi


Setelah proses crossover menghasilkan kromosom child, maka kromosom child tersebut dialakukan mutasi. Pada penelitian ini probabilitas mutasi yang digunakan adalah 0,8 dengan menggunakan metode swapping mutation. Proses mutasi dilakukan pada anak hasil Crossover dengan tujuan untuk memperoleh individu baru sebagai kandidat solusi pada generasi selanjutnya dengan fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan.


Gambar 4. Proses swapping mutation


Setelah kromosom child dilakukan mutasi, maka kromosom-kromosom tersebut dimasukkan kedalam populasi dan siap untuk dilakukan proses pada generasi selanjutnya.


                                                                        

Gambar 4. Populasi baru


F.    Pembuatan Program


Program untuk mencari rute terpendek dalam pendistribusian tabloid dibuat menggunakan bahasa pemrograman php. Pada penelitian ini antar muka yang digunakan adalah berbasis teks. Pembuatan program dilakukan dengan pembuatan fungsi-fungsi pada algoritme genetika yaitu fungsi pembangkitan kromosom dan populasi, fungsi perhitungan fitness dan fitness ratio, fungsi seleksi, fungsi crossover, fungsi mutasi dan fungsi utama yaitu perulangan generasi. Disamping itu juga dibuat fungsi pendukung yaitu fungsi penghitung jarak antar titik.


Gambar 5. Potongan kode program


Gambar 6. Tampilan program


G.   Pengujian


Uji coba dilakukan sebanyak 3 (tiga) kali dengan jumlah generasi sebanyak 500 iterasi dan didapatkan hasil sebagai berikut :


·         Uji coba pertama mendapatkan hasil jarak optimum sejauh 70,3 Km pada generasi ke 81.


·         Uji coba kedua mendapatkan hasil jarak optimum sejauh 70,3 Km pada generasi ke 210.


·         Uji coba kedua mendapatkan hasil jarak optimum sejauh 70,3 Km pada generasi ke 135.


Ketiga uji coba tersebut menghasilkan rute optimum yang sama yaitu  Kominfo->Lebaksiu-> Pagerbarang-> Margasari-> Dukuhwaru-> Adiwerna-> Talang-> Pangkah-> Slawi-> Kominfo.


Gambar 7. Grafik hasil uji coba


Gambar 7. Hasil rute optimum

 

IV.  HASIL DAN PEMBAHASAN


Dalam penelitian ini, rute terbaik yang dihasilkan melalui 500 generasi dalam menyelesaikan TSP menggunakan metode seleksi turnamen dengan Probability mutation 0,8 adalah sejauh 70,3 Km dengan rute Kominfo->Lebaksiu-> Pagerbarang-> Margasari-> Dukuhwaru-> Adiwerna-> Talang-> Pangkah-> Slawi-> Kominfo. Rute ini diyakini sebagai rute optimum karena grafik menunjukkan setelah jarak mencapai nilai 70,3Km, nilai tersebut tetap konsisten sampai dengan generasi terakhir yang ditentukan.


Referensi

[1]        http://www.math.uwaterloo.ca/tsp/history/. Diakses Oktober 2019

[2]        Carwoto. Implementasi Algoritma Genetika untuk Optimasi Penempatan Kapasitor Shunt pada Penyulang Distribusi Tenaga Listrik. Jurnal Teknologi Informasi DINAMIK, Vol. 12, No. 2, pp. 122-130. 2007

[3]        Basuki, Achmad. 2003a. Algoritma Genetika: Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi, dan Machine Learning. http://budi.blog.undip.ac.id/files/2009/06/algoritma_ genetika.pdf. Diakses Oktober 2019.


Oleh :

Agung R Pamungkas

Jurusan Magister Teknologi Informasi, Departemen Teknik Elektro Dan Teknik Informatika, Fakultas Teknik

Universitas Gadjah Mada

Jln. Grafika 2 Yogyakarta 55281 INDONESIA

 (telp: 0274-5555; fax: 0274-4321; e-mail: agung.pamungkas@mail.ugm.ac.id)



ILPPD Kab Tegal


Pelantikan dan Pengambilan Sumpah/Janji Jabatan Pejabat di Lingkungan Pemkab Tegal Th 2019
Streaming Penutupan dan Penganugerahan Festival Film Tegal 2019 (7 Desember 2019)

Link Pemerintahan


Link Lainnya