• Tidak ada hasil yang ditemukan

I Gede Indra Rudyarta & I Made Widiartha Optimasi Waktu Kunjungan Petugas Koperasi Menggunakan Algoritma Genetika dengan Operator Order Crossover dan

N/A
N/A
Protected

Academic year: 2022

Membagikan "I Gede Indra Rudyarta & I Made Widiartha Optimasi Waktu Kunjungan Petugas Koperasi Menggunakan Algoritma Genetika dengan Operator Order Crossover dan"

Copied!
11
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)
(6)
(7)

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

1[email protected]

2[email protected]

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

(8)

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

(9)

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 :

(10)

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

(11)

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

Gambar

Gambar 1. Flowchart Sistem
Gambar 4. Grafik hasil fitness dengan 16 individu dalam satu populasi
Gambar 5. Grafik perbandingan hasil fitness dengan GA dan random biasa

Referensi

Dokumen terkait

Selanjutnya Pahan (2008) menambahkan bahwa penyakit yang sering menyerang tanaman kelapa sawit diantaranya penyakit daun di pembibitan, penyakit busuk pangkal

Terdapat juga pelajar India yang berbahasa ibunda Tamil juga telah melalui pendidikan pada peringkat rendah, iaitu selama 6 tahun memiliki pengetahuan yang lemah dan sederhana

Penelitian ini bertujuan untuk mengetahui daya inhibisi dari ekstrak etanol, fraksi, isolat dari Annona muricata L (sirsak) serta mengetahui fraksi aktif yang

N: Risiko operasionalnya ya, di kita pasti ada target gitu ya, di akhir tahun kita ada yang namanya rapat kerja nasional, disitu ada yang namanya

Dari uraian-uraian yang telah dipaparkan sebelumnya, maka dalam penelitian ini dapat diambil kesimpulan bahwa tingkat pengetahuan ibu terhadap penanganan diare di Kelurahan

Selama melaksanakan pekerjaan dari rumah penulis mendapat pekerjaan yang tidak sesuai konsntrasi yang diambil oleh penulis selama berkuliah sehingga saran penulis

mendapatkan informasi mengenai panjang dan lebar porus stomata, jumlah stomata terbuka dan tertutup, serta kerapatan stomata berdasarkan estimasi waktu di daerah

Faktor predisposisi pada penelitian ini terkait dengan tinkat pengetahuan siswi terhadap tindakan SADARI, sikap siswi dalam melakukan SADARI, norma terhadap