I Gede Indra Rudyarta & I Made Widiartha Optimasi Waktu Kunjungan Petugas Koperasi Menggunakan Algoritma Genetika dengan Operator Order Crossover dan Inversion Mutation
207
Optimasi Waktu Kunjungan Petugas Koperasi Menggunakan Algoritma Genetika dengan Operator
Order Crossover dan Inversion Mutation
I Gede Indra Rudyarta1, I Made Widiartha.2
1,2Program Studi Teknik Informatika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana Jalan Kampus Bukit Jimbaran, Badung, Bali. Kode Pos : 80364. Indonesia
Abstrak—
Koperasi merupakan salah satu bentuk usaha berbadan hukum yang berdiri di Indonesia. Koperasi berperan positif dalam pelaksanaan pembangunan nasional yang bersesuaian dengan tujuan dari koperasi yaitu memajukan kesejahteraan anggota dan masyarakat. Salah satu jenis koperasi yaitu koperasi simpan pinjam yang menyediakan sistem penagihan utang piutang dengan mengandalkan jasa collector atau penagih. Semakin banyaknya anggota koperasi maka semakin bertambah tugas dari seorang collector dalam melakukan kunjungan ke nasabah, maka dari itu dibutuhkan strategi atau urutan kunjungan yang tepat agar kinerja dari seorang collector semakin optimal. Salah satu metode untuk mengoptimalkan kunjungan ini adalah algoritma genetika dengan banyak operator yang tersedia. Dalam penelitian ini digunakan operator order crossover dan inversion mutation untuk menyelesaikan masalah ini. Hasil yang diperoleh yaitu nilai fitness optimal yang didapatkan senilai 0.2453 dengan waktu 2 hari untuk mengunjungi semua lokasi berdasarkan data yang telah disediakan sebelumnya sebanyak 20 lokasi nasabah. Penggunaan banyak individu yang digunakan dalam suatu populasi mempengaruhi pendapatan hasil fitness yang optimal serta jika dibandingkan dengan metode brute force, penggunaan algoritma genetika lebih cepat menemukan solusi optimal.
Kata Kunci— Koperasi, Optimasi, Algoritma Genetika, Order Crossover, Inversion Mutation Abstract—
Cooperatives are one form of legal entity that stands in Indonesia. Cooperatives play a positive role in the implementation of national development that corresponds to the objectives of the cooperative, namely to promote the welfare of members and the community. One type of cooperative is a savings and loan cooperative that provides debt collection billing systems by relying on collector services or collectors. The more members of the cooperative, the more the task of a collector will be to make a visit to the customer, therefore the right strategy or sequence of visits is needed so that the performance of a collector is more optimal. One method to optimize this visit is a genetic algorithm with many available operators. In this study crossover order and inversion mutation operators are used to solve this problem. The results obtained are optimal fitness values obtained worth 0.2453 with 2 days to visit all locations based on the previously provided data of 20 customer locations. The use of many individuals used in a population affects optimal fitness income and when compared with the brute force method, the use of genetic algorithms is faster to find optimal solutions.
Keywords— Cooperative, Optimization, Genetic Algorithm, Crossover Order, Inversion Mutation I. PENDAHULUAN
Koperasi adalah salah satu badan usaha yang berbadan hukum yang berperan positif dalam pelaksanaan pembangunan di Indonesia.Tujuan dari adanya koperasi yaitu memajukan kesejahteraan anggotanya dan masyarakat pada umumnya.
Salah satu jenis koperasi yang paling sering ditemui adalah koperasi simpan pinjam atau koperasi kredit yang kegiatan utamanya adalah menyediakan jasa penyimpanan dan peminjaman dana kepada anggota masyarakan guna memajukan kesejahteraan anggotanya dan masyarakat. Pada saat ini banyak orang yang masih belum memahami betapa pentingnya peran koperasi, banyak orang menganggap koperasi hanyalah lembaga keuangan biasa. Koperasi simpan pinjam sangat berperan penting pada pengembangan usaha atau UMKM, dimana biasanya bank sangat sulit mengeluarkan bantuan modal bagi pelaku usaha diawal rintisan. Bantuan
modal ini tentu akan dikembalikan oleh peminjam secara menyicil dimana angsuran dapat ditagih tiap hari ataupun tiap bulan. Karena semakin banyak bermunculan UMKM tentu anggota suatu koperasi juga semakin bertambah, sehingga petugas koperasi atau yang biasa disebut collector perlu memetakan dengan baik urutan kunjungan lokasi dalam menagih utang agar lebih efisien.
Penelitian ini menggunakan pendekatan algoritma genetika dengan operator order crossover dan inversion mutation. Adapun beberapa penelitian terkait yang menggunakan algoritma genetika diantaranya adalah penelitian yang dilakukan oleh Budi Darma Setiawan dan Aryo Pinandito (2016) mengenai optimasi kunjungan objek wisata menggunakan algoritma genetik operator crossover permutasi dan scramble mutation. Penelitian lainnya dilakukan oleh Zakir H. Ahmed (2010) mengenai algortima genetika dengan
Prosiding Seminar Nasional Teknologi Informasi & Aplikasinya 2018 ISSN: 2302-450X
208 Sequential Constructive Crossover Operator. Dalam penelitian
ini diperkenalkan operator crossover baru yang dibuat oleh peneliti yang bernama Sequential Constructive Crossover yang kemudian dibandingkan dengan Edge Recombination dan generalized N-point crossover. Dari kedua penelitian itu terdapat perbedaan dalam segi data dan operator yang digunakan namun dalam representasi kromosom yang dilakukan hampir sama.
Berdasarkan permasalahan diatas, tujuan penelitian ini adalah untuk melakukan optimasi kunjungan penagih koperasi menggunakan algoritma genetika dengan operator order crossover dan inversion mutation serta mengetahui pengaruh banyak individu dalam populasi dalam hasil akhir.
II. METODOLOGI PENELITIAN
A. Pengumpulan Data
Data dalam penelitian ini menggunakan data alamat/lokasi dari nasabah yang merupakan anggota pada suatu koperasi. Lokasi dari nasabah disimpan dalam bentuk langitude dan longitude, lokasi ini didapatkan pada situs penyedia peta Google Maps. Berikut merupakan data yang dipakai dalam penelitan ini ::
TABEL1
DATALOKASIDANRANKINGLOKASINASABAH
No Langitude Longitude
1 -8.66203089 115.1878070
2 -8.6644578 115.192475
3 -8.660786 115.1953117
4 -8.66086555 115.1953009
5 -8.6611023 115.1938492
6 -8.6604029 115.198075
7 -8.6603142 115.196945
8 -8.6665357 115.1985823
9 -8.66654896 115.1991469
10 -8.6857048 115.2488895
11 -8.6590635 115.1991005
12 -8.6582086 115.1955423
13 -8.674161 115.1897488
14 -8.6157463 115.1915796
15 -8.6325231 115.1839092
16 -8.659253 115.2092715
17 -8.686746 115.1989951
18 -8.6305826 115.2553229
19 -8.7011131 115.2178334
20 -8.6935047 115.2304063
B. Rancangan Sistem
Penelitian ini menggunakan algoritma genetika dalam pencarian solusi optimalnya dimana tujuan utama dari penelitian ini adalah menemukan rute optimal dimana rute optimal ini diwakilkan oleh kromosom yang berisi urutan kunjungan lokasi yang memiliki nilai fitness tertinggi. Setiap generasi individu baru merupakan perbaikan dari generasi sebelumnya, proses perbaikan ini akan dilakukan terus menerus sampai mendapatkan solusi optimal ataupun batas waktu yang telah ditentukan. Keluaran dari algorima genetika
ini adalah kromosom dengan nilai fitness tertinggi dari tiap generasi. Berikut merupakan flowchart dari sistem :
Gambar 1. Flowchart Sistem
C. Representasi Kromosom
Kromosom merupakan bagian dari sebuah populasi yang merupakan perwakilan dari kasus nyata sehingga dapat diproses menggunakan algoritma genetika. Dalam suatu kromosom terdapat gen yang merupakan perwakilan dari bagian solusi yang berisi variable yang memberikan nilai pada sebuah kromosom. Representasi kromosom yang digunakan pada penelitian ini adalah lokasi nasabah yang ada, sehingga tiap gen akan berisi angka yang menunjukan lokasi nasabah sesuai dengan data yang disediakan dan tidak berulang atau permutasi. Urutan tiap gen menunjukan urutan kunjungan dari nasabah dan gen yang terbentuk akan sebanyak dari data yang disediakan yaitu sebanyak 20. Berikut contoh dari susuna kromosom yang akan terbentuk
Data ke-1 Data ke-2 Data ke-3 Data ke-19 Data ke-20
2 3 19 … 1 7
Dari contoh diatas diketahui bahwa urutan kunjungan pertama yaitu dari lokasi 2, dilanjutkan menuju lokasi 3 dan seterusnya sampai berakhir pada lokasi ke-20.
D. Crossover
Crossover merupakan operator genetika yang melakukan operasi (pertukaran, aritmatika) 2 buah kromosom yang disebut induk kromosom (parent) dan akan menghasilkan beberapa individu baru yang disebuat anak kromosom (offspring), anak kromosom ini diharapkan dapat mewariskan ciri ciri terbaik dari induknya. Tidak semua kromosom yang ada pada populasi akan menjadi induk, semua tergantung dari nilai crossover rate (cr) yang ditentukan yang berkisar antara 0-1 yang akan dikalikan dengan jumlah kromosom (n) untuk
Mulai
Data lokasi
Random populasi awal
Iterasi maks
iterasi < iterasi maks Hitung Fitness Seleksi Parent Crossover
Mutasi Seleksi
Populasi Baru
Tampilkan Hasil
Selesai tidak ya
I Gede Indra Rudyarta & I Made Widiartha Optimasi Waktu Kunjungan Petugas Koperasi Menggunakan Algoritma Genetika dengan Operator Order Crossover dan Inversion Mutation
209 menentukan jumlah dari offspring yang akan dihasilkan dengan
rumus (1) seperti dibawah berikut : 𝑂𝑓𝑓𝑠𝑝𝑟𝑖𝑛𝑔 = 𝐶𝑟 ∗ 𝑛 (1)
Operasi crossover akan menghasilkan 2 offspring, maka dari itu ketika nilai dari offspring ganjil, maka akan dibulatkan keatas.
Pada penelitian ini digunakan operator order crossover dimana setelah didapatkan 2 kromosom induk maka akan dibangkitkan bilangan random sebanyak 2 sebagai titik potong seperti ilustrasi dibawah berikut :
Parent 1 :
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 Parent 2 :
8 14 7 15 17 6 3 1 19 11
10 9 16 18 20 13 5 2 12 4
Dari gambar diatas diasumsikan bahwa titik potong pertama antara lokasi 4 dan 5 pada parent 1, dan titik potong kedua terdapat antara lokasi 8 dan 9 pada parent 1 yang menghasilkan substring sesuai dengan bagian yang ditebalkan.
Langkah selanjutnya adalah menyalin substring tersebut ke child 1 sehingga hasilnya adalah sebagai berikut :
Child 1 :
5 6 7 8
Langka selanjutnya adalah eliminasi nilai child 1 yang terdapat pada parent 2 menjadi seperti dibawah berikut :
Parent 2 :
14 15 17 3 1 19 11
10 9 16 18 20 13 2 12 4
Langkah selanjutnya adalah menyalin sisa nilai yang ada pada parent 2 ke child 1 sesuai urutannya, sehingga hasil akhir child 1 akan menjadi seperti gambar dibawah berikut :
Child 1 :
14 15 17 3 5 6 7 8 1 19
11 10 9 16 18 20 13 2 12 4
Sama halnya dengan Child 2 akan didapatkan hasil sebagai berikut :
Child 2 :
2 4 5 7 17 6 3 1 8 9
10 11 12 13 14 15 16 18 19 20
Proses ini akan dilakukan sampai jumlah child yang dihasilkan sebanyak nilai offspring yang dihasilkan dengan rumus sebelumnya.
E. Mutasi
Mutasi merupakan sebuah proses untuk mendapatkan generasi/individu baru dengan memodifikasi nilai dari beberapa gen yang terdapat pada parent. Operator ini berperan untuk mengantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Sama halnya dengan operator crossover terdapat suatu nilai yang mempengaruhi jumlah offspring yang dihasilkan yang disebut peluang mutase (pm) dan juga dipengaruhi oleh jumlah kromosom (n) seperti pada (2). Penentuan nilai pm sangat berpengaruh pada algoritma genetika dimana jika nilai pm yang digunakan terlalu kecil maka banyak gen yang mungkin berguna tidak pernah dievaluasi, namun jika pm terlalu besar maka akan terlalu banyak gangguan acak sehingga offspring yang dihasilkan akan kehilangan ciri utama dari induknya.
𝑂𝑓𝑓𝑠𝑝𝑟𝑖𝑛𝑔 = 𝐶𝑟 ∗ 𝑛 (2)
Pada penelitian ini digunakan operator inversion mutation dimana akan dibangkitkan 2 bilangan acak sebagai titik potong yang akan menghasilkan subset, nilai dalam subset ini yang nantinya akan diurutkan secara terbalik sehingga menghasilkan individu baru, sebagai contoh dapat dilihat seperti dibawah berikut :
Parent 1 :
8 14 7 15 17 6 3 1 19 11
10 9 16 18 20 13 5 2 12 4
Child 1 :
8 14 7 15 1 3 6 17 19 11
10 9 16 18 20 13 5 2 12 4
Dari ilustrasi diatas dapat dilihat nilai gen 17, 6, 3, 1 nilainya dibalikan menjadi 1, 3, 6, 17.
F. Fungsi Fitness
Fungsi fitness merupakan fungsi yang akan menghasilkan sebuah nilai yang dimiliki oleh setiap individu yang menggambarkan kualitas dari individu tersebut dimana semakin besar nilai tersebut maka semakin baik juga kualitas dari individu tersebut. Fungi fitness dalam penelitian ini adalah meminimalkan waktu tempuh dari semua kunjungan dan jumlah hari yang dihabiskan untuk menempuh semua lokasi, karena memungkinkan waktu tempuh sedikit namun menghabiskan banyak hari. Dari tujuan tersebut didapatkan fungsi fitness sebagai berikut :
Prosiding Seminar Nasional Teknologi Informasi & Aplikasinya 2018 ISSN: 2302-450X
210 𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = 1 2 ∑0 4
6 5
578
(3)
Mengacu pada (1) nilai fitness berbanding terbalik dengan d yaitu jumlah hari dan ti yang merupakan lama perjalanan. Nilai n didapatkan berdasarkan jumlah lokasi yang dapat dikunjungi dalam suatu satuan waktu, dimana ti tidak melebihi satuan waktu tersebut. Dalam menghitung total waktu tempuh diperlukan waktu tempuh dari lokasi satu ke lokasi lainnya, waktu ini didapatkan menggunakan bantuan dari situs penyedia Google Maps API Distance Matrix.
G. Seleksi
Seleksi merupakan tahap pemilihan individu baik itu parent ataupun child yang akan menjadi generasi baru. Proses seleksi yang digunakan dalam penelitian ini adalah elitism selection yang memilih kromosom yang memiliki fitness terbaik untuk menjadi parent selanjutnya.
III. HASIL DAN PEMBAHASAN
A. Inisialisasi
Pada penelitan ini terlebih dahulu diset beberapa variable yang akan digunakan untuk melakukan percobaan diantaranya adalah :
1) Crossover Rate : Crossover Rate yang digunakana dalam penelitian ini adalah 0.5 sehingga dari proses crossover akan menghasilkan offspring sebanyak setengah dari jumlah parent.
2) Mutation Rate : Mutation Rate yang digunakana dalam penelitian ini adalah 0.5 sehingga dari proses mutase akan menghasilkan offspring sebanyak setengah dari jumlah parent.
3) Lokasi Awal : Lokasi awal diperlukan sebagai titik awal perjalanan. Pada penelitian ini lokasi awal yang diinisialisasi adalah lokasi koperasi dengan latitude -8.621603 dan longitude yaitu 115.1752154.
4) Waktu tempuh tiap destinasi : Waktu perjalanan tiap titik lokasi didapatkan dengan bantuan situs penyedia Google Maps API Distance Matrix yang berupa matriks 20 x 20 dikarenakan total nasabah yang tersedia sebanyak 20 alamat.
5) Batas jam kunjungan : Pada penelitian ini diasumsikan bahwa kunjungan lokasi hanya dilakukan sepanjang jam kerja dari pukul 09.00 – 17.00 maka dari itu perjalanan menuju lokasi nasabah hanya dapat pada range waktu tersebut jika diconvert dalam detik dari detik ke-32400 sampai detik ke-61200.
6) Lama kunjungan wisata : Pada penelitian ini diset batas dari lama diam dilokasi nasabah hanya 30 menit, jika diconvert dalam satuan detik menjadi 1800 detik.
B. Hasil
Dilakukan percobaan untung mengetahui pengaruh jumlah individu dalam populasi dengan jumlah individu diantaranya yaitu sebanyak 4, 8, dan 16 serta dilakukan percobaan dengan iterasi sebanyak 200. Didapatkan hasil sesuai dengan grafik dibawah :
Gambar 2. Grafik hasil fitness dengan 4 individu dalam satu populasi
Gambar 3. Grafik hasil fitness dengan 8 individu dalam satu populasi
Gambar 4. Grafik hasil fitness dengan 16 individu dalam satu populasi
Selain itu dilakukan percobaan sebanyak 10 kali pada tiap jumlah individu untuk mengetahui rata rata hasil fitness terbaik yang dihasilka, yang ditampilkan pada table berikut :
TABEL2
HASIL PERCOBAAN ALGORITMA GENETIKA
No Individu 4 Individu 8 Individu 16
I Gede Indra Rudyarta & I Made Widiartha Optimasi Waktu Kunjungan Petugas Koperasi Menggunakan Algoritma Genetika dengan Operator Order Crossover dan Inversion Mutation
211
1 0.2189 0.2352 0.2442
2 0.2002 0.2133 0.2316
3 0.2034 0.2448 0.2440
4 0.2147 0.2042 0.2306
5 0.2138 0.2196 0.2454
6 0.2036 0.2179 0.2030
7 0.2082 0.2261 0.2442
8 0.2103 0.2428 0.2448
9 0.2171 0.2428 0.2453
10 0.2352 0.1822 0.2410
Rerata 0.2125 0.2228 0,2374
Waktu
Eksekusi 0.0245 0.0425 0.0672
Dari table diatas dapat diketahui jumlah individu berpengaruh terhadap nilai fitness yang dihasilkan dimana didapatkan hasil optimalnya senilai 0.2453 yang didapatkan dengan individu sebanyak 16, namun tidak menutup kemungkinan bahwa jumlah individu lainnya untuk mendapatkan nilai optimal tersebut, hanya saja membutuhkan iterasi yang lebih banyak.
Hasil optimal lebih cepat didapatkan oleh banyak indvidu dikarenakan banyak individu mempengaruhi banyaknya individu baru sehingga memperbanyak alternative solusi yang ada. Namun semakin banyak individu berpengaruh pada waktu komputasi yang diperlukan untuk mendapatkan hasil optimal yang pada percobaan ini jumlah individu 16 memakan waktu lebih banyak sebanyak 0.0672 detik. Jika dibandingkan dengan menggunakan random biasa karena akan banyak variasi gen yang akan muncul untuk mendapatkan nilai fitnessnya maka penggunaan algoritma genetika lebih baik karena menuju ke hasil yang optimal seperti grafik dibawah berikut :
Gambar 5. Grafik perbandingan hasil fitness dengan GA dan random biasa
Untuk hasil terbaik yang didapatkan dari percobaan sebelumnya yaitu dengan nilai fitness 0.2453 didapatkan dengan waktu eksekusi selama 0.0749 detik serta perjalanan dilakukan selama 2 hari dan berikut tahapan jalur yang dilalui :
• Hari pertama : Lokasi 13, 14, 0, 12, 1, 5, 6, 2, 3, 4, 11, 10,
• Hari kedua : Lokasi 7, 8, 17, 19, 20, 9, 18 16
IV. KESIMPULAN
Dalam penelitian ini dilakukan pencarian rute terbaik berdasarkan waktu tempuh dan hari yang dibutuhkan dari beberapa lokasi nasabah koperasi menggunakan algoritma genetika dengan operator order crossover dan inversion mutation, didapatkan kesimpulan bahwa penggunaan jumlah individu dalam populasi diawal mempengaruhi kecepatan proses genetika untuk menemukan hasil optimal dan jika dibandingkan dengan brute force atau random biasa maka penggunaan algoritma genetika lebih baik dalam pencarian nilai optimal. Untuk kasus ini dengan 20 data yang telah dijabarkan sebelumnya didapatkan hasil nilai fitness sebesar 0.2453 yang membutuhkan waktu kunjungan selama 2 hari untuk mengunjungi semua lokasi.
Dari kesimpulan diatas terdapat beberapa saran untuk penelitian kedepannya yaitu penggunaan metode lainnya ataupun operator genetika lainnya serta penambahan variable lainnya.
UCAPAN TERIMA KASIH
Ucapan terima kasih diberikan kepada Tim JNTETI yang telah meluangkan waktunya untuk membuat template ini.
Ucapan terima kasih juga diberikan kepada Bapak/Ibu dosen beserta teman - teman yang telah membantu dalam penulisan jurnal ini.
REFERENSI
[1]. A. Johar, Manajemen Koperasi, Jakarta: Gramedia, 2002
[2]. Kasmir. Manajemen Perbankan. PT. Raja Grafindo Persada: Jakarta [3]. B. D. Setiawan dan A. Pinandito, “Optimasi Kunjungan Objek Wisata
Dengan Menggunakan Algoritma Genetik”, Jurnal Sentrin, 2016.
[4]. H. A. Zakir, “Genetic algorithm for the travelling salesman problem using sequential constructive crossover operator”, International Journal of Biometrics and Bioinformatics (IJBB), Vol.3, pp. 96-105 ,2011 [5]. J. E Smith. & A. E. Eiben . Introduction To Evolutionary Computing,
Berling: Springer , 2003