MULTI-OBJECTIVE GENETIC ALGORITHM
UNTUK
PENENTUAN PELABUHAN PERIKANAN TERBAIK
DALAM PENYEDIAAN HASIL TANGKAPAN
PRIYO PUJI NUGROHO
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI TESIS DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa tesis berjudul Multi-Objective Genetic Algorithm untuk Penentuan Pelabuhan Perikanan Terbaik dalam Penyediaan Hasil Tangkapan adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, Januari 2016
Priyo Puji Nugroho
RINGKASAN
PRIYO PUJI NUGROHO. Multi-Objective Genetic Algorithm untuk Penentuan Pelabuhan Perikanan Terbaik dalam Penyediaan Hasil Tangkapan. Dibimbing oleh HERU SUKOCO dan IIN SOLIHIN.
Dalam perdagangan dan industri perikanan, ketersediaan ikan merupakan faktor penting karena ikan merupakan bahan baku utama dalam industri perikanan. Tingginya permintaan ikan dan pasokan yang terbatas menyebabkan industri perikanan harus mengambil bahan baku dari beberapa pelabuhan. Pemilihan pelabuhan sebagai penyedia hasil tangkapan dipengaruhi oleh banyak faktor seperti jarak, biaya pembelian, ketersediaan ikan, keragaman ikan, dan kemudahan layanan. Faktor-faktor tersebut dapat saling mempengaruhi, sehingga pengoptimalan pada salah satu faktor saja dapat menyebabkan kerugian yang diakibatkan oleh faktor yang lain.
Dalam penelitian ini, algoritme genetika digunakan untuk menentukan kombinasi pelabuhan dan alokasi pembelian ikan pada setiap pelabuhan sehingga diperoleh biaya pembelian dan jarak terbaik berdasarkan suatu posisi. Algoritme genetika yang digunakan merupakan salah satu varian algoritme genetika multi tujuan bernama Non-Dominated Sorting Genetic Algorithm. Algoritme ini memungkinkan optimasi yang melibatkan beberapa objective.
Representasi individu dalam algoritme genetika yang digunakan terdiri atas tiga kromosom yang mewakili pelabuhan, spesies ikan, dan jumlah pembelian ikan pada setiap pelabuhan. Setiap kromosom terdiri dari beberapa gen. Satu gen pada kromosom pertama mewakili satu pelabuhan, gen pada kromosom kedua mewakili satu spesies ikan, sedangkan satu gen pada kromosom ketiga mewakili jumlah pembelian salah satu spesies ikan pada satu pelabuhan. Satu individu mewakili satu solusi yang merepresentasikan pelabuhan-pelabuhan yang terpilih dan jumlah pembelian setiap spesies ikan pada masing-masing pelabuhan.
Perhitungan nilai fitness pada kasus ini menggunakan tiga fungsi. Fungsi pertama menghitung akumulasi jarak yang harus ditempuh untuk mencapai pelabuhan. Fungsi kedua menghitung biaya yang harus dikeluarkan untuk membeli ikan yang dibutuhkan. Fungsi ketiga digunakan untuk menentukan apakah pelabuhan yang terpilih dapat memenuhi seluruh kebutuhan ikan atau tidak. Ketiga fungsi tersebut saling mempengaruhi sehingga penggunaan algoritme genetika multi tujuan menjadi pilihan yang tepat karena menghasilkan beberapa solusi yang mempertimbangkan semua fungsi.
Algoritme genetika dalam penelitian ini menggunakan dua jenis crossover yaitu PMX crossover dan arithmetic crossover. PMX crossover digunakan pada kromosom pelabuhan sedangkan arithmetic crossover digunakan pada kromosom pembelian ikan. Dua jenis mutasi yang merupakan modifikasi dari kedua jenis
arithmetic crossover karena kromosom tersebut memiliki nilai berupa bilangan real.
Pembuatan generasi baru melalui proses crossover dan mutasi dilakukan terus menerus hingga termination criteria terpenuhi. Termination criteria kriteria yang digunakan yaitu ketika jumlah generasi telah mencapai angka tertentu atau algoritme genetika dinyatakan telah konvergen. Dalam kasus ini, algoritme genetika dinyatakan konvergen apabila nilai fitness dalam sepuluh generasi tidak mengalami perbaikan.
Beberapa variasi ukuran populasi, probabilitas crossover dan probabilitas mutasi dicoba untuk mendapatkan hasil yang terbaik dengan cepat. Percobaan menunjukkan bahwa ukuran populasi GA yang terbaik adalah 50, nilai terbaik Pc
adalah 1 dan nilai terbaik Pm adalah 0,1 atau 0,2. Percobaan masih memerlukan waktu eksekusi yang cukup lama, yaitu sekitar 18 hingga 55 detik.
Implementasi algoritme genetika dilakukan dengan membuat sebuah aplikasi
mobile untuk menentukan kombinasi pelabuhan serta jumlah ikan yang sebaiknya dibeli pada setiap pelabuhan. Pengguna cukup memasukkan kebutuhan ikan yang diinginkan kemudian sistem menghasilkan beberapa kemungkinan solusi yang dapat dipilih oleh pengguna. Pemilihan satu dari beberapa solusi terbaik tersebut diserahkan kepada pengguna karena setiap pengguna memiliki kecenderungan yang berbeda dalam menentukan objective mana yang lebih diutamakan.
Penelitian ini masih memiliki banyak keterbatasan seperti data yang tidak aktual, mekanisme pengujian sistem yang belum sempurna dan waktu eksekusi program yang cukup lama. Dengan demikian, penelitian lanjutan untuk memperbaiki performa dan akurasi program masih perlu dilakukan. Selain itu penelitian selanjutnya sebaiknya menggunakan data realtime sehingga sesuai dengan kondisi di lapangan.
SUMMARY
PRIYO PUJI NUGROHO. Multi-Objective Genetic Algorithm for Determination of The Best Fishing Port in Fish Providing. Supervised by HERU SUKOCO and IIN SOLIHIN.
In a fishing industry and trading, the availability of fish is an essential factor because the fish is the main raw material for the industry. High demand for fish and its limited supply cause the industry requests the fish from several ports. The selection of the ports as fish provider involving some elements e.g. distance, price, fish availability, fish variety, and ease of service. The elements affect each other so that optimizing only one element may cause disadvantages that caused by other elements.
In this study, Genetic Algorithm was used to determine the port combination and the allocation of the purchase for each chosen port to get the best price and distance based on a position. We implement a variant of the multi-objective genetic algorithm named Non-Dominated Sorting Genetic Algorithm. This algorithm provides an optimization that involves multiple objectives.
A non-uniform individual representation containing three chromosomes was used here. The three chromosomes represent fishing ports, fish species, and the weight of fish should be purchased in each fishing port. In genetic algorithm term, a chromosome is a set of genes. A single gene in the first chromosome represents a port, a gene in the second chromosome represents a fish species while a gene in the third chromosome represents the weight of fish should be purchased in the port. So, a single individual represents a solution that contains selected ports and the weight of fish should be purchased at each port.
In this research, the calculation of fitness value implements three functions. The first function calculates the total distance to reach all the chosen ports. The second function calculates the total cost to purchase fish. The third function is used to determine whether the selected ports can fulfill all the needs of the fish. The three functions affect each other so that the use of the multi-objective genetic algorithm is appropriate because it produces some solutions that consider all of the functions. We combine two kinds of crossover namely PMX crossover and arithmetic crossover. PMX crossover is used for the port chromosome while the arithmetic crossover is used for fish purchasing chromosome. Similarly, two kinds of mutation which are the modification of the crossover are implemented here. The use of several types of crossover and mutation caused by every chromosome has a different character. The port chromosome contains nominal scale values so that the exchange of genes in this chromosome can be done easily. However, the fish purchasing chromosome contains ratio scale values which values are real numbers, so that a simple gene exchange can not be implemented on this chromosome. Therefore, the purchasing chromosomes applied an arithmetic crossover because the chromosome’s values are real numbers.
the genetic algorithms have converged. In this case, the genetic algorithm is considered as converge if the fitness value is not improved in ten generations.
We tested several variations of population size, crossover probability, and mutation probability to obtain the best output quickly. The experiments show that the best number of population for the GA is 50, the best value of Pc is 1 and the best value of Pm is 0.1 or 0.2. The experiments still experienced long execution time about 18 to 55 seconds.
The implementation of the genetic algorithm is done by creating a mobile application to determine the combination of the port as well as the number of fish to be bought on each port. The user simply enters the needs of the fish and then the system generates several possible solutions that can be selected by the user. The selection of one of the best solutions can be done by the user because each user has a different preference to decide which objectives are more dominant.
This study still has many limitations such as the lack of actual data, system testing mechanisms that should be improved and the long program execution time. Thus, further research to improve the performance and accuracy of the program need to be done. The further research should be done by using the real data.
© Hak Cipta Milik IPB, Tahun 2016
Hak Cipta Dilindungi Undang-Undang
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan IPB
Tesis
sebagai salah satu syarat untuk memperoleh gelar Magister Ilmu Komputer
pada
Program Studi Ilmu Komputer
MULTI-OBJECTIVE GENETIC ALGORITHM
UNTUK
PENENTUAN PELABUHAN PERIKANAN TERBAIK
DALAM PENYEDIAAN HASIL TANGKAPAN
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR
BOGOR 2016
Judul Tesis : Multi-Objective Genetic Algorithm untuk Penentuan Pelabuhan Perikanan Terbaik dalam Penyediaan Hasil Tangkapan
Nama : Priyo Puji Nugroho NIM : G651120391
Disetujui oleh Komisi Pembimbing
Dr Heru Sukoco, SSi MT Ketua
Dr Iin Solihin, SPi MSi Anggota
Diketahui oleh
Ketua Program Studi Ilmu Komputer
Dr Wisnu Ananta Kusuma, ST MT
Dekan Sekolah Pascasarjana
Dr Ir Dahrul Syah, MScAgr
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian ialah aplikasi untuk perikanan, dengan judul Multi-Objective Genetic Algorithm untuk Penentuan Pelabuhan Perikanan Terbaik dalam Penyediaan Hasil Tangkapan.
Terima kasih penulis ucapkan kepada Dr Heru Sukoco, SSi MT dan Dr Iin Solihin, SPi MSi selaku pembimbing. Terima kasih juga disampaikan kepada Ayahanda Bapak Soenarto Sujud dan Ibunda Djumiati, istri tercinta Fitri Insani, ST Mkom serta seluruh anggota keluarga atas segala dukungan, do’a, dan kasih sayangnya. Semoga Allah subhanahu wa ta’ala selalu merahmati kalian. Untuk ananda Maryam Adzkannisa yang senantiasa menemani dan menghibur ayah selama menyelesaikan tugas akhir, semoga kelak Allah menjadikanmu anak sholihah yang cerdas. Terima kasih kepada pengelola pasca sarjana, seluruh dosen dan staf akademik Ilmu Komputer Institut Pertanian Bogor, teman-teman angkatan 14. Program Studi Ilmu Komputer atas kebersamaan dan bantuannya selama kuliah dan penyelesaian penelitian ini. Semoga karya ini dapat bermanfaat. Kritik dan saran sangat penulis harapkan demi kesempurnaan karya ini di kemudian hari.
Semoga karya ilmiah ini bermanfaat.
Bogor, Januari 2016
DAFTAR ISI
Ruang Lingkup Penelitian 2
2 METODE 2
Analisis Sistem 3
Perancangan Algoritme Genetika 3
Perancangan Sistem 4
Perancangan dan Integrasi Jaringan 4
Perancangan Arsitektur Aplikasi dan Perangkat Lunak 5
Perancangan User Interface 5
Perancangan System Interface 6
Perancangan dan Integrasi Basis Data 6
Pembuatan Prototipe 6
Implementasi 6
Pengujian Sistem 6
3 HASIL DAN PEMBAHASAN 6
Analisis Sistem 6
Aliran Hasil Tangkapan di Pelabuhan Brondong, Lamongan 7 Aliran Hasil Tangkapan di Pelabuhan Bajomulyo, Juwana, Pati 7 Aliran Hasil Tangkapan di Pelabuhan Morodemak, Jawa Tengah 8 Aliran Hasil Tangkapan di Pelabuhan Muara Angke, Jakarta 8 Kebutuhan Bahan Baku bagi Pedagang dan Industri Perikanan 9
Data Perikanan pada PIPP 9
Penentuan Objektif untuk Multi-Objective Genetic Algorithm 9
Rancangan Algoritme Genetika 10
Representasi Individu 10
Mutasi pada Kromosom Pelabuhan 19
Mutasi pada Kromosom Pembelian Ikan 19
Rancangan Sistem 21
Perancangan dan Integrasi Jaringan 21
Perancangan Arsitektur Aplikasi dan Perangkat Lunak 22
Perancangan User Interface 25
Perancangan dan Integrasi Basis Data 26
Perancangan System Interface 27
Implementasi 27
Pengujian 32
4 SIMPULAN DAN SARAN 34
Simpulan 34
Saran 34
DAFTAR PUSTAKA 35
LAMPIRAN 37
RIWAYAT HIDUP 52
DAFTAR TABEL
1 Entitas tabel pada basis data 27
2 Pengaruh variasi ukuran populasi 33
3 Pengaruh variasi Pc 33
4 Pengaruh variasi Pm 33
DAFTAR GAMBAR
1 Tahapan penelitian 3
2 Diagram alir algoritma genetika dengan NSGA II 4 3 Aktivitas yang dilakukan pada tahap perancangan sistem 5
4 Aliran Hasil Tangkapan di Pelabuhan Brondong 7
5 Aliran Hasil Tangkapan di Pelabuhan Bajomulyo 7
6 Aliran Hasil Tangkapan di Pelabuhan Morodemak 8
7 Aliran Hasil Tangkapan di Pelabuhan Muara Angke 8
8 Use case diagram petugas pelabuhan pada PIPP 10
9 Representasi individu pada GA untuk 2 output pelabuhan dan 3 spesies ikan 11
10 Inisialisasi populasi 11
11 Contoh salah satu individu hasil inisialisasi populasi 12 12 Contoh truncating selection, dengan ukuran populasi 10 14
13 Non-dominated sorting pada NSGA II 15
14 Perhitungan crowding distance 15
15 Tournament selection 16
16 Titik penentu crossover dan mutasi pada sebuah individu 17
17 Contoh PMX crossover (1) 17
19 Contoh arithmetic crossoverdengan α = 0.1 19
20 Contoh mutasi pada kromosom pelabuhan 19
21 Mutasi pada kromosom pembelian ikan 20
22 Penentuan nilai konvergen 20
23 Topologi sistem 21
24 Context Diagram 22
25 DFD level 1 23
26 DFD level 2 untuk Use Case 2 24
27 Diagram alir algoritme genetika 24
28 Tampilan depan sistem 25
29 Tampilan menu aplikasi 25
30 Tampilan input posisi asal dan jumlah output pelabuhan 25
31 Tampilan input kebutuhan ikan 25
32 Tampilan rekomendasi pembelian ikan 26
33 Entity Relationship Diagram (ERD) 26
34 System interface pada sistem 27
35 Hasil perhitungan pada generasi ke-1 28
36 Hasil perhitungan pada generasi ke-5 29
37 Hasil perhitungan pada generasi ke-10 29
38 Hasil perhitungan pada generasi ke-25 30
39 Hasil perhitungan pada generasi ke-50 30
40 Hasil perhitungan pada generasi ke-100 31
41 Instalasi sistem 32
42 Pengaruh ukuran populasi terhadap perolehan titik konvergen 32 43 Pengaruh peluang crossover terhadap perolehan titik konvergen 33 44 Pengaruh peluang mutasi terhadap perolehan titik konvergen 34
DAFTAR LAMPIRAN
1 Source Code Pembacaan Variabel pada R 37
2 Source Code Fungsi-fungsi NSGA II pada R 38
1
PENDAHULUAN
Latar Belakang
Produk perikanan merupakan salah satu produk yang sangat penting di Indonesia. Hal ini didukung dengan kondisi geografis Indonesia yang berupa kepulauan dan sebagian besar wilayahnya berupa lautan. Menurut laporan Badan Pusat Statistik tahun 2012, produksi perikanan tangkap di Indonesia selama satu dekade terakhir terus mengalami peningkatan. Hingga tahun 2012, hasil perikanan tangkap mencapai 5.06 juta ton per tahun (BPS 2013).
Distribusi produk perikanan tangkap yang berupa ikan segar maupun ikan olahan melibatkan beberapa pihak seperti bakul besar/kecil, juragan, pengolah ikan, pasar ikan, dan eksportir (Murdiyanto 2003; Unep 2009). Untuk memperoleh produk yang terbaik dalam hal kualitas dan kuantitas, banyak faktor yang perlu mereka pertimbangkan seperti faktor jarak, harga ikan, pasar, transportasi, kemudahan layanan, pengawetan dan kualitas ikan pada setiap pelabuhan. Saat ini para distributor mempertimbangkan faktor-faktor di atas secara intuitif untuk memilih pelabuhan sehingga hasil pertimbangan sangat bergantung pada pengalaman dan jaringan yang dimiliki (Darmawan 2006; Malik 2006; Aryadi 2007; Bangun 2010; Tanjung 2012).
Lokasi pembelian ikan juga menambah rumit masalah yang dihadapi. Sebagai contoh, pembelian pada satu lokasi bisa saja menghemat biaya akan tetapi belum tentu satu lokasi dapat memenuhi kebutuhan bahan baku ikan yang diinginkan. Sebaliknya, pemenuhan kebutuhan bahan baku ikan dapat diperoleh dari banyak pelabuhan namun akan meningkatkan biaya yang harus dikeluarkan. Permasalahan tersebut menimbulkan kondisi saling berlawanan (conflicting), di mana apabila salah satu objective ingin dioptimalkan maka objective yang lain menjadi tidak optimal, demikian juga sebaliknya.
Di sisi lain, teknik untuk mencari optimasi dalam suatu masalah telah banyak berkembang. Salah satu algoritme optimasi yang dapat digunakan yaitu algoritme genetika (GA). GA merupakan algoritme optimasi yang mengadopsi teori evolusi dalam memperoleh solusi terbaik. Algoritme ini banyak digunakan karena memiliki kelebihan seperti dapat menangani masalah dengan jumlah variabel input
dan output yang besar dalam waktu yang relatif singkat (Zhang and Rockett 2008). Permasalahan pemilihan pelabuhan yang telah dibahas dapat digolongkan dalam permasalahan optimasi yang melibatkan beberapa variabel sebagai objective. Dengan demikian permasalahan ini dapat diselesaikan dengan pendekatan multi-objective genetic algorithm (MOGA). Pemanfaatan MOGA dapat mempermudah para distributor hasil tangkapan dalam menentukan pelabuhan terbaik dalam penyediaan hasil tangkapan.
Beberapa kasus pada penelitian sebelumnya yang memanfaatkan GA dan
multi-objective genetic algorithm antara lain optimasi jaringan kabel untuk wind farm yang mempertimbangkan biaya, energi, dan kehandalan jaringan (Pemberton
Pada penelitian ini, MOGA diimplementasikan pada aplikasi mobile. Hal ini dilakukan karena pemanfaatan aplikasi mobile saat ini tidak hanya menjadi media komunikasi, akan tetapi mulai digunakan sebagai perangkat yang mendukung kegiatan pertanian (Ye et al. 2010; The World Bank 2011; Brugger 2011; Qiang et al. 2011; Kimbahune et al. 2013).
Perumusan Masalah
Permasalahan yang dibahas pada penelitian ini yaitu bagaimana para distributor produk perikanan tangkap menentukan pelabuhan perikanan sebagai tempat pembelian ikan. Terdapat beberapa faktor yang dapat mempengaruhi pemilihan pelabuhan yang tepat dalam penyediaan hasil tangkapan. Dengan demikian, diperlukan suatu cara untuk menentukan solusi pelabuhan terbaik dengan mempertimbangkan beberapa faktor yang berpengaruh.
Tujuan Penelitian
Penelitian ini bertujuan untuk:
1 Mengembangkan aplikasi mobile untuk memberikan rekomendasi pelabuhan terbaik dalam penyediaan hasil tangkapan dengan menggunakan multi-objective genetic algorithm.
2 Mengetahui proses bisnis yang terjadi pada pelabuhan perikanan.
Manfaat Penelitian
Hasil penelitian ini diharapkan dapat memberikan kemudahan bagi para pedagang dan industri perikanan dalam menentukan pelabuhan yang menyediakan produk perikanan. Lebih jauh lagi, apabila distributor memperoleh harga yang murah, maka diharapkan para konsumen juga memperoleh harga hasil tangkapan yang lebih murah.
Ruang Lingkup Penelitian
Dalam penelitian ini, algoritme yang digunakan untuk menentukan pelabuhan terbaik adalah multi-objective genetic algorithm. Aplikasi mobile yang dikembangkan berbasis Android. Studi kasus penelitian ini dilakukan di pelabuhan Brondong, Juwana, Demak, dan Muara Angke.
2
METODE
Analisis Sistem
Pada tahap analisis sistem, terdapat beberapa hal yang dilakukan, yaitu: Memperoleh informasi mengenai segala sesuatu yang dapat dilakukan oleh
sistem
Mendefinisikan kebutuhan sistem sehingga sistem dapat bekerja dengan baik Membuat prioritas terhadap kebutuhan sistem
Memastikan apakah sistem yang dikembangkan sudah sesuai dengan kebutuhan Melakukan evaluasi terhadap beberapa kemungkinan solusi untuk
menyelesaikan masalah yang ada.
Perancangan Algoritme Genetika
Pada tahap ini, dibuat suatu algoritma yang digunakan untuk menyelesaikan masalah pencarian pelabuhan terbaik sebagai penyedia ikan. Algoritma yang digunakan adalah algoritma genetika, dengan demikian beberapa hal yang perlu dilakukan pada tahap ini yaitu:
Penentuan representasi individu Penentuan inisialisasi populasi
Mulai
Analisis sistem
Perancangan algoritme genetika untuk penentuan pelabuhan
Representasi
Penentuan fitness function
Penentuan metode seleksi individu pada suatu populasi Penentuan operator genetik yang akan digunakan Penentuan termination kriteria
Diagram alir algoritme genetika yang digunakan dapat dilihat pada Gambar 2
NSGA II merupakan salah satu variasi Multi-Objective Genetic Algorithm
(MOGA). Algoritme ini mempertimbangkan apakah setiap nilai fitness pada satu kromosom dapat mendominasi nilai fitness kromosom yang lain. Secara umum NSGA berjalan seperti GA pada umumnya, akan tetapi ada penambahan fungsi
Non-Dominated Sorting pada tahap seleksi individu.
Perancangan Sistem
Dalam membangun sebuah sistem, terdapat beberapa hal yang perlu dipersiapkan seperti pada Gambar 3 (Satzinger et al. 2011).
Perancangan dan Integrasi Jaringan
Sistem yang diusulkan terdiri dari berbagai perangkat seperti server aplikasi, perangkat mobile, dan server basis data. Selain itu, sistem juga berinteraksi dengan suatu jaringan internet dan sistem lain berupa basis data perikanan yang disediakan oleh PIPP. Dengan demikian, pada tahap ini dilakukan pembuatan topologi jaringan untuk menghubungkan semua perangkat yang dibutuhkan menjadi satu kesatuan sistem.
Start Population
Initialization Evaluation
Selection
Non-Dominated Sorting
Tournament Selection Crossover Mutation
is terminated?
Finish Yes No
Perancangan Arsitektur Aplikasi dan Perangkat Lunak
Tahap ini menentukan bagaimana setiap aktivitas pada sistem ditangani oleh pengguna atau komputer. Dengan kata lain pada tahap ini ditentukan bagaimana logika sistem bekerja. Selain itu komponen-komponen dan modul program juga ditentukan pada bagian ini. Untuk mempermudah pembuatan arsitektur aplikasi tersebut, maka perlu dibuat Use Case Diagram, Data Flow Diagram, dan Squence Diagram.
Perancangan User Interface
User interface merupakan bagian yang penting dalam suatu sistem karena menentukan bagaimana seorang pengguna dapat berinteraksi dengan sistem. Dalam kasus ini sistem yang dibangun berupa aplikasi mobile, dengan demikian pengguna berinteraksi dengan sistem melalui tampilan grafis pada suatu perangkat
mobile. Pada tahap ini, suatu interface yang interaktif dan mudah dibuat untuk memenuhi kebutuhan interaksi antara pengguna dan sistem.
Perancangan user interface menghasilkan form, laporan, serta kontrol input dan output
Perancangan jaringan menentukan
hardware dan middleware yang
menghubungkan seluruh sistem
Perancangan aplikasi menggambarkan program komputer dan modul-modul
yang digunakan
Perancangan System interface
menentukan interaksi suatu sistem terhadap sistem lain Perancangan
basis data menentukan struktur basis
data yang digunakan
Sistem yang dibangun
Perancangan System Interface
Sistem yang dibangun melibatkan data perikanan yang dimiliki oleh PIPP. Untuk menghubungkan sistem internal dengan sistem eksternal (PIPP) diperlukan sebuah system interface. System interface menentukan bagaimana sebuah sistem dapat berinteraksi dengan sistem lainnya.
Perancangan dan Integrasi Basis Data
Pada tahap ini, ditentukan bagaimana semua informasi yang diperlukan oleh sistem disimpan. Informasi yang ada pada system ini disimpan dalam bentuk basis data relasional. Berikut ini merupakan langkah-langkah yang dilakukan dalam melakukan desain basis data relasional:
1 Pembuatan tabel untuk setiap entitas.
2 Pemilihan satu primary key pada setiap tabel.
3 Penentuan foreign keys untuk merepresentasikan one-to-many relationship. 4 Pembuatan tabel untuk merepresentasikan many-to-many relationships. 5 Penentuan batasan referential integrity.
6 Melakukan evaluasi terhadap kualitas skema. 7 Menentukan tipe data yang sesuai.
Pembuatan Prototipe
Prototype dibuat untuk menguji apakah desain sistem telah sesuai dengan kebutuhan sistem. Selain itu protoype juga berguna untuk meyakinkan apakah user interface yang telah dirancang sudah sesuai dengan perilaku pengguna. Basis data, rancangan jaringan, dan lingkungan program juga dapat diuji melalui pembuatan prototype.
Implementasi
Pada tahap ini, hal-hal yang dilakukan yaitu: pembuatan komponen software, verifikasi dan pengujian sistem, konversi data, pembuatan dokumen, serta instalasi sistem.
Pengujian Sistem
Uji coba algoritme dilakukan untuk menentukan nilai Peluang Crossover
(Pc), Peluang Mutasi (Pm), pembobotan parameter, dan validasi hasil. Masing-masing variabel tersebut divariasikan pada beberapa nilai untuk memperoleh algoritme yang memberikan hasil optimal dan valid. Validasi dilakukan bersama pakar pelabuhan di Fakultas Perikanan IPB.
3
HASIL DAN PEMBAHASAN
Analisis Sistem
ikan sebagai hasil tangkapan yang terjadi dari pihak nelayan hingga ikan mencapai konsumen. Berikut ini ditampilkan beberapa aliran hasil tangkapan yang terjadi di tiga pelabuhan, yaitu pelabuhan Brondong, Bajomulyo, dan Morodemak.
Aliran Hasil Tangkapan di Pelabuhan Brondong, Lamongan
Distribusi hasil perikanan tangkap di Pelabuhan Brondong dapat dilihat pada Gambar 4. Sebagian besar hasil tangkapan didistribusikan dalam bentuk ikan segar dan selebihnya dipasarkan dalam bentuk produk olahan. Pendaratan ikan berupa ikan segar sekitar 59,18% dan ikan segar yang dijadikan olahan sebesar 40,82%. Bentuk olahan ikan antara lain olahan pindang, asin (kering), panggang, dan fillet. Ikan segar dari pelabuhan Brondong dipasarkan ke berbagai kota di Jawa dan Bali.
Aliran Hasil Tangkapan di Pelabuhan Bajomulyo, Juwana, Pati
Distribusi hasil perikanan tangkap di Pelabuhan Bajomulyo dapat dilihat pada Gambar 5. Ikan sebagai hasil tangkapan nelayan dikumpulkan di pelabuhan. Selanjutnya hasil tangkapan tersebut disalurkan ke pedagang melalui mekanisme lelang. Padagang terdiri dari pedagang di pasar local di wilayah Pati dan pedagang di pasar luar kota seperti Jakarta, Bandung, Surabaya dan Banyuwangi. Jumlah ikan yang disalurkan ke pasar lokal sekitar 40%, sedangkan ke pasar di luar kota sekitar 60%.
Pedagang Ikan Segar Jawa Tengah Jawa Timur
Jawa Barat Jakarta Bali
Gambar 4 Aliran Hasil Tangkapan di Pelabuhan Brondong
Aliran Hasil Tangkapan di Pelabuhan Morodemak, Jawa Tengah
Distribusi hasil perikanan tangkap di Pelabuhan Morodemak dapat dilihat pada Gambar 6. Pada pelabuhan Morodemak, hasil tangkapan nelayan dikumpulkan ke pelabuhan. Hasil tangkapan tersebut disalurkan kepada para pengumpul ikan melalui mekanisme lelang. Selanjutnya ikan disalurkan ke pengolah ikan, pabrik, dan para pedagang. Sebagian pedagang menyalurkan ikan ke kota lain seperti Semarang, Cilacap, Kudus, dan Jakarta.
Aliran Hasil Tangkapan di Pelabuhan Muara Angke, Jakarta
Distribusi hasil perikanan tangkap di Pelabuhan Muara Angke dapat dilihat pada Gambar 7. Penanganan hasil tangkapan pada pelabuhan ini terdiri dari tiga tahap, yaitu pendaratan ikan, penyimpanan, dan pengangkutan ke daerah tujuan.
Ikan yang diperoleh nelayan dari laut didaratkan di pelabuhan di tiga lokasi, yaitu di dermaga timur untuk kapal long line, dermaga barat untuk kapal gill net,
dan TPI untuk kapal-kapal tradisional. Sebagian langsung disortir di atas kapal ketika hendak diturunkan ke pelabuhan. Setelah disortir, sebagian ikan dilelang di TPI dan berdasarkan kapal yang mendaratkannya. Khusus ikan tuna, pendaratan ikan dilakukan di lokasi khusus yang disebut dengan Tuna Landing Centre (TLC) dan tidak dilelang.
Ikan yang mendarat di TLC serta ikan yang tidak habis dilelang disimpan di dalam cold storage. Cold storage berfungsi untuk menjaga kualitas hasil tangkapan sebelum maupun sesudah diolah serta sebelum dipasarkan. Beberapa ikan yang
Pelabuhan Gambar 6 Aliran Hasil Tangkapan di Pelabuhan Morodemak
biasanya masuk ke cold storage yaitu tuna, marlin, meka, cakalang, cumi-cumi, dan kerapu.
Pengangkutan hasil tangkapan di Muara Angke terbagi menjadi pengangkutan melalui darat dan pengangkutan melalui laut. Pengangkutan melalui darat menggunakan transportasi mobil pick up/ colt, mobil berpendingin yang dilengkapi freezer, dan truk kontainer. Sementara itu, pengangkutan melalui laut dilakukan melalui kapal kargo. Mobil pick up/ colt biasanya digunakan untuk mengangkut ikan dari lokasi pendaratan atau pelelangan ke cold storage dan tempat penjualan ikan di sekitar pelabuhan. Mobil berpendingin digunakan untuk mengirim ikan ke lokasi yang lebih jauh seperti wilayah Jakarta dan luar Jakarta. Mobil berpendingin juga bisa digunakan untuk mengirimkan ikan menuju kargo di pelabuhan Tanjung Priok dan bandara Soekarno Hatta untuk diekspor.
Kebutuhan Bahan Baku bagi Pedagang dan Industri Perikanan
Berdasarkan beberapa referensi (Murdiyanto 2003; Darmawan 2006; Bangun 2010; Tanjung 2012) dan hasil pengamatan pada empat pelabuhan di atas, hasil tangkapan nelayan melewati beberapa proses seperti lelang, pengolahan, pengiriman / transportasi dan penjualan. Lingkup penjualan ikan pada setiap pelabuhan berbeda-beda, sebagian ikan dijual di pasar lokal maupun pasar di kota yang berbeda. Beberapa penjual besar juga melakukan penjualan lintas provinsi dan expor.
Dari sudut pandang pedagang dan industri pengolahan ikan, hasil tangkapan dapat diperoleh dari beberapa pelabuhan sekaligus. Hal ini disebabkan karena terkadang kebutuhan ikan satu industri tidak dapat dipenuhi dari satu pelabuhan saja, akan tetapi harus dipenuhi dari beberapa pelabuhan.
Pemilihan pelabuhan sebagai lokasi pembelian ikan ditentukan oleh beberapa faktor, seperti: aksesibilitas pelabuhan, ketersediaan ikan, harga ikan, kemudahan layanan, dan kualitas ikan. Aksesibilitas ikan menunjukkan kemudahan untuk mencapai lokasi pelabuhan. Aksesibilitas bisa dilihat dari jarak antara pelabuhan dengan pedagang atau industri pengolahan ikan serta kemudahan untuk mencapai pelabuhan tersebut, misalnya kondisi infrastruktur jalan dan transportasi yang tersedia. Ketersediaan ikan dapat berupa jumlah produksi ikan yang tercatat di pelabuhan serta keragaman ikan yang diperoleh. Kualitas ikan dapat ditentukan dari ukuran ikan, lama berlayar, dan lamanya ikan disimpan.
Data Perikanan pada PIPP
Di sebagian pelabuhan, terutama Pelabuhan Perikanan Samudera dan Pelabuhan Perikanan Nusantara seperti Pelabuhan Brondong, terdapat petugas pelabuhan yang memiliki tugas untuk memasukkan harga dan produksi ikan harian di setiap pelabuhan ke dalam Pusat Informasi Pelabuhan Perikanan (PIPP). PIPP merupakan sistem informasi perikanan yang disediakan oleh Kementerian Kelautan dan Perikanan. Dengan kata lain, saat ini data perkiraan harga dan produksi ikan setiap pelabuhan telah tersedia pada sistem PIPP. Data PIPP yang dikelola oleh petugas pelabuhan dapat dilihat pada Gambar 8.
Penentuan Objektif untuk Multi-Objective Genetic Algorithm
tangkapan. Data harga dan persediaan ikan dapat diperoleh dari PIPP. Jarak dapat diketahui berdasarkan koordinat. Data mengenai kemudahan layanan dan infrastruktur pelabuhan banyak tertulis dalam karya-karya ilmiah dan laporan tahunan di pelabuhan maupun kementrian perikanan. Akan tetapi data tersebut cukup sulit diukur karena tidak ada standar yang dapat digunakan untuk menentukan layanan dan infrastruktur di suatu pelabuhan dapat dikatakan baik atau tidak.
Dengan mempertimbangkan ketersediaan data di atas, sistem yang dibangun dalam penelitian ini hanya menggunakan 3 objektif sebagai penentu pelabuhan perikanan, yaitu jarak, harga, dan ketersediaan ikan.
Rancangan Algoritme Genetika
Representasi Individu
Setiap individu dalam populasi terdiri atas beberapa gen. Gen-gen tersebut dimasukkan ke dalam tiga kelompok kromosom, yaitu kromosom pelabuhan, kromosom komoditas/ jenis ikan dan kromosom alokasi pembelian komoditas.
Secara detail, contoh representasi individu dapat dilihat pada Gambar 9. Susunan gen pada representasi individu sebagai berikut: p1, p2, ... pi, s1, s2, ... sj, a1,1, a1,2, ..., ai,1, ai,2 …, ai, j-1, ai,j. Sejumlah gen pelabuhan P diletakkan pada bagian depan individu, dengan P = {p1, p2, ... pi}, dengan i merupakan jumlah pelabuhan maksimal yang diinginkan. Selanjutnya sejumlah gen J disusun berurutan setelah gen pelabuhan P. S = {s1, s2, ... sj} dengan k merupakan banyaknya jenis komoditas yang dibutuhkan, sedangkan jk berupa integer yang merepresentasikan ID jenis
komoditas yang dibutuhkan. Di sebelah kanan kromosom komoditas J, sejumlah gen A = {a1,1, a1,2, ... ai, j-1, ai,j} dengan jumlah i × j merupakan alokasi pembelian komoditas dengan jenis jk pada pelabuhan pi. Jumlah alokasi pembelian suatu komoditas pada seluruh pelabuhan harus sesuai dengan kebutuhan komoditas.
Jumlah output pelabuhan yang diinginkan (P) = 2 Jumlah spesies yang dibutuhkan (S) = 3
Alokasi Pembelian = 2 × 3 = 6 Panjang Kromosom: P + S + (P x S)
Inisialisasi Populasi
Populasi awal dibuat dengan memberikan nilai acak pada gen pelabuhan, gen spesies ikan, dan gen alokasi pembelian sesuai dengan batasan yang telah ditentukan pada representasi individu. Gen pelabuhan (P) diisi dengan ID pelabuhan secara acak. Gen spesies bersifat statik, karena jenis ikan ditentukan di awal bersama dengan penentuan volume kebutuhan ikan dan tidak akan berubah selama proses rekombinasi. Alokasi pembelian ikan dibuat secara acak dengan syarat total pembelian suatu spesies ikan sesuai dengan jumlah kebutuhan spesies tersebut. Gambar 10 menunjukkan proses inisialisasi, sedangkan Gambar 11 merupakan contoh individu hasil inisialisasi populasi.
s1 s2 s3 p1,s1 p1,s2 p1,s3 p2,s1 p2,s2 p2,s3
p1 p2
Pembelian pada p1 Pembelian pada p2
Kromosom
Gambar 9 Representasi individu pada GA untuk 2 output pelabuhan dan 3 spesies ikan
s1 s2 s3 p1,s1 p1,s2 p1,s3 p2,s1 p2,s2 p2,s3
p1 p2
Pembelian pada p1 Pembelian pada p2
Kromosom
Kromosom pembelian ikan, diisi dengan jumlah spesies ikan yang akan dibeli pada pelabuhan tertentu.
Individu tunggal
Fitness Function
Terdapat tiga objektif yang digunakan dalam penelitian ini, yaitu biaya yang harus dikeluarkan untuk membeli ikan, jarak untuk mencapai lokasi pembelian ikan (pelabuhan), dan persediaan ikan. Nilai fitness pada objektif pertama (biaya) diperoleh dengan membaca alokasi volume pembelian ikan di setiap pelabuhan. Perhitungan harga ikan ditentukan dengan formula berikut:
∑ ∑ min , , , × ℎ,
ai,j = banyaknya pembelian komoditas j di pelabuhan i,
bi,j = persediaan pembelian komoditas j di pelabuhan i,
hi,j = harga komoditas j di pelabuhan I, dan
p = jumlah pelabuhan.
Nilai fitness pada objektif kedua yaitu jumlah seluruh jarak antara pengguna atau titik asal dengan pelabuhan-pelabuhan terpilih. Formula berikut digunakan untuk menghitung total jarak untuk mencapai seluruh pelabuhan:
∑ �
�
=1
dengan:
Li = jarak antara pengguna (titik asal) dengan pelabuhan ke-i, dan
p = jumlah output pelabuhan yang diinginkan.
Pendekatan yang digunakan untuk menghitung jarak yaitu menggunakan formula Haversine (Bullock 2007; Jovanović et al. 2015). Haversine merupakan formula yang menghitung jarak antara dua titik yang berada pada permukaan bola berukuran besar tanpa mempertimbangkan lintasan atau jalan yang dilalui. Dalam hal ini bola tersebut adalah bumi. Jarak haversine tidak merepresentasikan jarak yang harus ditempuh pengguna, tetapi pendekatan ini dapat digunakan untuk memperkirakan perbandingan jarak yang dihasilkan oleh setiap individu. Formula Haversine juga lebih sederhana dari algoritme pencarian jarak lainnya seperti Dijkstra dan A*yang mempertimbangkan lintasan yang dilalui. Dengan demikian,
2 4 20 120 80 89 180
Haversine cukup sesuai apabila digunakan dalam algoritme genetika yang menerapkan iterasi yang berulang.
Pencarian jarak antara dua lokasi A dan B dengan menggunakan formula Haversine memerlukan input berupa koordinat kedua lokasi tersebut. Berikut ini merupakan formula Haversine:
Jika θ telah diketahui, maka jarak antara A dan B dapat dihitung:
D = Rθ dengan:
D = jarak (km)
R = jari-jari bumi ( 6378.14 km )
Nilai fitness ketiga yaitu ketersediaan ikan pada pelabuhanse terpilih. Fitness
ketiga ini digunakan untuk menilai apakah persediaan ikan di pelabuhan dapat mencukupi pembelian ikan oleh pembeli. Ketersediaan ikan ditentukan dengan menghitung kekurangan spesies ikan terhadap pembelian ikan tersebut pada sebuah pelabuhan seperti pada formula berikut:
� = ∑ ∑ , − min , , ,
S = selisih (kekurangan) komoditas i pada pelabuhan j, p = jumlah pelabuhan,
s = jumlah spesies,
, = pembelian spesies i di pelabuhan j, dan , = persediaan spesies i di pelabuhan j.
Formula di atas menghitung kekurangan persediaan spesies ikan tertentu terhadap banyaknya ikan yang akan dibeli pada pelabuhan tersebut. Dengan demikian nilai S yang diharapkan adalah mendekati nol karena nilai nol pada S menunjukkan bahwa pembelian spesies tertentu pada pelabuhan tersebut dapat terpenuhi.
Seleksi Individu
Terdapat dua jenis seleksi individu yang digunakan, yaitu truncating selection
dipilih individu yang objektif ketersediaannya terpenuhi. Jika jumlah individu yang terpilih kurang dari ukuran populasi, maka dipilih kembali individu-individu lainnya berdasarkan urutan yang telah terbentuk. Contoh truncating selection
dengan ukuran populasi 10 dapat dilihat pada Gambar 12.
Sebelum tournament selection dapat dilakukan, individu-individu pada populasi perlu diurutkan terlebih dahulu untuk mengetahui apakah satu individu dinyatakan baik atau tidak berdasarkan objektif biaya dan jarak. Metode sorting
yang digunakan yaitu non-dominated sorting. Metode ini dapat mengurutkan individu berdasarkan dua atau beberapa objektif sekaligus. Hasil dari non-dominated sorting yaitu individu-individu yang telah dikelompokkan dalam beberapa front F1, F2, F3, dan seterusnya seperti pada Gambar 13. Satu front dapat berisi satu atau lebih individu. Pada gambar tersebut, F1, F2, F3, dan seterusnya adalah lapisan-lapisan yang terbentuk. F1 berisi individu-individu yang memberikan solusi terbaik berdasarkan biaya dan jarak.
Algoritme yang digunakan untuk membentuk front pada populasi P adalah: for each p ϵ P
Individu dengan objektif ketersediaan terbaik (nilai S = 0) dipilih untuk dimasukkan ke populasi baru.
Karena ukuran populasi yang
diharapkan 10, individu yang terpilih belum mencapai 10, maka individu-individu berikutnya diambil berdasarkan nilai objektif ketersediaan ikannya untuk dimasukkan ke dalam populasi baru. Dengan demikian jumlah individu yang terpilih memenuhi ukuran populasi yang diinginkan.
F1 = F1 ∪ {p}
Setelah front terbentuk, individu-individu dalam front yang sama diurutkan berdasarkan crowding distance (CD). CD merupakan tingkat kedekatan satu individu terhadap individu-individu tetangganya di dalam satu front. CD juga dapat digunakan untuk menunjukkan sebaran solusi pada sebuah front. Nilai CD yang kecil dapat menyatakan bahwa individu tersebut kurang baik karena menandakan bahwa individu tersebut dekat dengan individu yang lain. Bila banyak individu yang berdekatan, berarti kemungkinan terpilihnya optimum lokal menjadi besar, padahal hasil yang diharapkan adalah optimum global yang mencakup seluruh populasi. Sebaliknya, semakin besar nilai CD, berarti individu tersebut semakin baik. individu dalam satu front
dilakukan berdasarkan crowding distance
Populasi yang belum terurut
Populasi yang telah dikelompokkan dalam
beberapa front
Hasil sorting
Gambar 13 Non-dominated sorting pada NSGA II
Biaya pembelian
Jarak
Ilustrasi mengenai crowding distance dapat dilihat pada Gambar 14. Algoritme yang digunakan untuk menentukan crowding distance pada front yang memiliki himpunan individu I adalah:
CD dihitung untuk setiap objektif. CDakumulasi untuk seluruh objektif diperoleh dengan cara menjumlahkan seluruh CD dari setiap objektif yang telah dinormalisasi.
Populasi yang telah diurutkan dengan non-dominated sudah dapat digunakan sebagai input untuk tournament selection. Tournament selection memerlukan dua parameter, yaitu ukuran tournament (T) dan ukuran polo. Ukuran pool pada NSGA II disamakan dengan ukuran populasi. Tournament selection dilakukan dengan memilih sejumlah T individu dari populasi secara acak dan memilih satu individu terbaik dari individu yang terpilih untuk disimpan ke dalam pool sebagai populasi baru. Proses ini akan dilakukan terus menerus hingga ukuran populasi/pool yang
# Jumlah solusi (individu) di dalam I # Inisialisasi jarak (distance)
# Urutkan berdasarkan setiap nilai objektif # Setiap titik tepi selalu terpilih
# Untuk lainnya
Populasi hasil non-dominated
sorting
Pemilihan T individu secara acak untuk dibandingkan
Penentuan satu individu terbaik dari T individu
untuk dimasukkan ke dalam pool
Pool
Apakah pool sudah penuh? Belum
Sudah
Pool
Hasil tournament selection
Tourname nt
diinginkan terpenuhi. Gambar 15 menunjukkan langkah-langkah yang dilakukan pada tournament selection.
Operator Genetik
Sebagaimana algoritme genetika pada umumnya, terdapat 2 operator genetik yang digunakan, yaitu crossover dan mutasi. Seperti pada Gambar 16, crossover
maupun mutasi diawali dengan penentuan titik-titik crossover / mutasi pada kromosom pelabuhan dan spesies ikan. Titik-titik tersebut menentukan gen mana saja yang akan mengalami perubahan nilai.
Crossover memerlukan dua individu yang akan dijadikan sebagai induk
crossover. Pemilihan induk crossover dilakukan secara acak. Terdapat 2 kemungkinan crossover, yaitu 1) PMX Crossover, dan 2) Arithmetic Crossover.
PMX Crossover
PMX crossover terjadi pada kromosom pelabuhan. Crossover ini dilakukan dengan menukarkan pelabuhan pada pasangan individu induk. Gambar 17 menunjukkan salah satu contoh PMX crossover yang terjadi pada gen pertama.
PMX crossover dapat menghindari terjadinya munculnya pelabuhan yang sama dalam satu kromosom. Jika penukaran gen mengakibatkan munculnya pelabuhan yang sama pada satu individu, maka PMX crossover menukar gen tersebut dengan pasangan gen lain yang memiliki pelabuhan yang sama. Contoh ini dapat dilihat pada Gambar 18.
2 4 5 150 200 100 150 200 700
3 19
penentu crossover dan mutasi Kromosom
pelabuhan spesies ikanKromosom Kromosom pembelian ikan
Gambar 16 Titik penentu crossover dan mutasi pada sebuah individu
2 4 5 100 50 500 200 350 300
2 19
2 4 5 150 200 100 150 200 700
3 19
2 4 5 100 50 500 200 350 300
3 19
2 4 5 150 200 100 150 200 700
2 19
Pada contoh tersebut apabila gen pertama mengalami crossover, maka mengakibatkan salah satu turunan memiliki pelabuhan yang kembar, yaitu pelabuhan dengan kode 4. Hal ini dapat mengakibatkan kesalahan saat perhitungan
fitness dilakukan. Untuk menghindari hal tersebut, gen yang kembar harus diganti dengan pasangan pelabuhan yang sama pada individu kedua. Dalam hal ini pasangan pelabuhan 4 pada individu kedua adalah 11, sehingga kode 11 digunakan untuk mengganti gen yang kembar tadi. Seandainya setelah gen tersebut diganti ternyata masih menghasilkan gen pelabuhan yang kembar, maka perlu dicari lagi pasangan gen pelabuhan dengan kode 11 pada individu kedua dan seterusnya.
Arithmetic Crossover
Arithmetic crossover terjadi pada kromosom pembelian ikan, akan tetapi dipengaruhi oleh kromosom spesies. Crossover ini dilakukan dengan merombak jumlah pembelian suatu spesies ikan pada pelabuhan tertentu. Gambar 19 menunjukkan ilustrasi mengenai bagaimana kromosom spesies mempengaruhi crossover ini. Hasil arithmetic crossover diperoleh melalui formula berikut:
Turunan 1: ( α × x1 ) + ( (1- α) × x2) Turunan 2: ( (1- α) × x1 ) + ( α × x2)
α : bilangan real pada range [0,1] x1 : nilai gen pada individu pertama x2 : nilai gen pada individu kedua
Nilai α ditentukan secara acak sehingga selalu memiliki nilai yang berbeda pada setiap iterasi. Hal ini memberikan keuntungan berupa turunan yang lebih beragam. Turunan yang beragam memberikan peluang munculnya solusi-solusi baru yang lebih baik dari generasi sebelumnya.
2 4 5 100 50 500 200 350 300
4 11
2 4 5 150 200 100 150 200 700
8 4
2 4 5 100 50 500 200 350 300
8 11
2 4 5 150 200 100 150 200 700
4 4
2 4 5 100 50 500 200 350 300
8 11
2 4 5 150 200 100 150 200 700
11 4
Gen pelabuhan 4 kembar, sehingga dicari pasangan gen yang nilainya 4 pada individu kedua
Gambar 19 Contoh arithmetic crossover dengan α = 0.1
Mutasi
Seperti pada Gambar 16, mutasi juga diawali dengan memilih sejumlah gen secara acak pada kromosom pelabuhan dan kromosom spesies ikan. Terdapat dua kemungkinan mutasi, yaitu mutasi yang terjadi pada gen pelabuhan dan mutasi yang terjadi pada alokasi pembelian ikan. Jumlah gen yang mengalami mutasi tergantung pada nilai peluang mutasi (Pm).
Mutasi pada Kromosom Pelabuhan
Mutasi ini dilakukan secara sederhana dengan mengganti salah satu gen pelabuhan dengan ID pelabuhan yang belum digunakan pada individu terpilih. Gambar 20 menunjukkan contoh mutasi yang terjadi pada kromosom pelabuhan.
Gambar 20 Contoh mutasi pada kromosom pelabuhan
Mutasi pada Kromosom Pembelian Ikan
Mutasi pada kromosom pembelian ikan dilakukan dengan merombak banyaknya pembelian ikan secara acak untuk spesies yang terpilih. Gambar 21 menunjukkan salah satu contoh kromosom yang terjadi pada kromosom alokasi pembelian ikan. Pada gambar tersebut, pembelian 300 kg ikan tuna awalnya dilakukan pada pelabuhan pertama sebanyak 150 kg dan pelabuhan kedua sebanyak 150 kg. Proses mutasi menyebabkan pembelian ikan pada pelabuhan pertama menjadi 110 kg dan pelabuhan kedua menjadi 190 kg.
2 4 5 100 50 500 200 350 300
2 19
2 4 5 150 200 100 150 200 700
3 19
2 4 5 145 50 500 155 350 300
2 19
2 4 5 105 200 100 195 200 700
2 19
Spesies terpilih
Pembelian untuk spesies terpillih di semua pelabuhan akan mengalami crossover
2 4 5 150 200 100 150 200 700
2 19
2 4 5 150 200 100 150 200 700
Gambar 21 Mutasi pada kromosom pembelian ikan
Perancangan Termination Criteria
Proses perhitungan fitness function hingga mutasi terjadi terus menerus hingga memenuhi termination criteria. Terdapat dua termination criteria yang digunakan:
1 Ketika jumlah generasi telah melebihi batas maksimal yang ditentukan.
2 Ketika fitness function maksimal telah konvergen dan dianggap tidak akan mengalami peningkatan.
Gambar 22 Penentuan nilai konvergen
Pada setiap terbentuk generasi baru pada GA, individu-individu yang baru diharapkan menghasilkan solusi-solusi yang lebih baik yang ditandai dengan semakin kecilnya biaya pembelian dan jarak. Pada Gambar 22, hasil yang baik ditandai dengan front pertama (pareto optimal front) yang semakin mendekati bagian sudut kiri bawah, di mana pada bagian tersebut biaya dan jarak berada pada nilai yang paling kecil. GA bisa dikatakan telah konvergen jika front pertama tidak mengalami pergeseran lagi menuju nilai biaya dan jarak yang lebih kecil.
Besarnya pergeseran populasi dapat dinyatakan dengan variabel ϒ. Penentuan nilai perggeseran front pertama ditentukan dengan formula berikut:
ϒ = ∑ � _�� ��, � �
�=1
dengan:
2 4 5 150 200 100 150 200 700
2 19
2 4 5 110 50 500 190 350 300
2 19
Spesies terpilih
Biaya pembelian
Jarak
px = individu front pertama pada generasi sebelumnya (obtained solutions),
Q = himpunan individu front pertama generasi baru (pareto optimal front), dan
min_dist(��, �) = fungsi jarak euclid minimal px terhadap titik-titik pada Q.
Variabel ϒ digunakan untuk menentukan pergeseran front pertama pada generasi terbaru dibandingkan dengan front pertama pada generasi sebelumnya. Terkadang pergeseran front tidak terjadi (ϒ= ) dalam satu atau dua generasi, akan tetapi baru terjadi setelah beberapa generasi. Jika nilai ϒ tidak berubah dalam sepuluh generasi atau lebih dapat dinyatakan bahwa GA telah konvergen. Jumlah generasi tersebut dapat ditingkatkan atau diturunkan dengan pertimbangan nilai ϒ diperkirakan tidak mengalami perubahan lagi setelah jumlah generasi tersebut dilewati tanpa perubahan ϒ.
Rancangan Sistem
Perancangan dan Integrasi Jaringan `
Gambar 23 Topologi sistem
Gambar 23 menunjukkan topologi sistem yang dibangun. Secara keseluruhan, sistem dibagi menjadi dua, yaitu internal system dan foreign system. Internal system merupakan sistem yang dibangun. Pada Gambar 23, Internal System berada di dalam gambar awan, sedangkan objek diluar awan merupakan
Foreign System. Internal System melibatkan perangkat keras berupa perangkat
mobile yang dimiliki oleh pengguna, server aplikasi mobile, server basis data, dan server operasi matriks untuk menjalankan algoritme genetika (GA). Foreign System
melibatkan Global Positioning System (GPS) untuk mengetahui posisi pengguna sistem dan sistem PIPP milik KKP yang menyimpan data perikanan, termasuk data harga dan persediaan ikan di pelabuhan.
Internal System
Perangkat
Mobile
Server Aplikasi,
Basis Data, dan GA Server PIPP, KKP Petugas /
Enumerator Pelabuhan GPS
Agar sistem dapat berjalan dengan baik, maka seluruh bagian sistem, baik
internal system maupun foreign system harus saling terhubung. Perangkat mobile
milik pengguna, server aplikasi, dan sistem KKP saling terhubung melalui jaringan internet. Server aplikasi mobile, basis data, dan aplikasi matriks terhubung dengan jaringan intranet.
Dalam penelitian ini, bagian yang dibangun hanya bagian aplikasi mobile
saja. Pada Gambar 23, bagian yang dikembangkan berada pada sebelah kiri garis putus-putus. Penelitian ini dapat dilanjutkan dengan menghubungkan aplikasi
mobile dengan sistem yang dimiliki oleh KKP melalui sebuah web service. Perancangan Arsitektur Aplikasi dan Perangkat Lunak
Berdasarkan komponen algoritme genetika yang telah dirancang, dibuat aplikasi untuk menyelesaikan permasalahan pemilihan pelabuhan terbaik. Gambar 24 menggambarkan garis besar aliran data yang menuju maupun masuk ke dalam sistem. Sistem melibatkan dua agen eksternal, yaitu penggunan dan sistem PIPP KKP.
Terdapat lima buah use case yang terjadi dalam sistem, yaitu: 1 Menampilkan info pelabuhan,
2 Menampilkan rekomendasi pembelian ikan 3 Menampilkan data peneliti
4 Menampilkan informasi sistem 5 Menampilkan informasi ikan
Aliran data yang terjadi pada setiap use case dapat dilihat pada data flow diagram (DFD) pada Gambar 25. Pada gambar tersebut, terlihat bahwa hanya terdapat dua data store yaitu kabupaten_kota dan provinsi. Hal ini disebabkan karena sebagian besar data perikanan seperti data pelabuhan, spesies ikan, harga, dan ketersediaan ikan telah disediakan dari sistem KKP.
Pada use case yang kedua, yaitu “menampilkan rekomendasi pembelian ikan“, aliran yang terjadi di dalamnya cukup banyak sehingga perlu dipaparkan lagi ke dalam DFD level 2 seperti pada Gambar 26. Proses pada use case kedua dibagi menjadi empat sub proses, yaitu:
1 Input posisi pengguna dan jumlah pelabuhan, 2 Input kebutuhan ikan,
3 Menghitung rekomendasi pembelian ikan, 4 Menampilkan rekomendasi pembelian ikan, 5 Menampilkan informasi ikan
Pada sub sistem 2.3, yaitu “Menghitung rekomendasi pembelian ikan",
algoritme genetika dijalankan untuk memperoleh rekomendasi pembelian ikan. Diagram alir algoritme genetika dapat dilihat pada Gambar 27.
Gambar 27 Diagram alir algoritme genetika Gambar 26 DFD level 2 untuk Use Case 2
Populasi ke i Perhitungan nilai
fitness function
Crossover
Mutasi Apakah
terminating criteria
terpenuhi?
Seleksi individu Start
Finish h
Ya
Perancangan User Interface
Gambar 28 Tampilan depan sistem Gambar 29 Tampilan menu aplikasi
Gambar 30 Tampilan input posisi asal dan jumlah output pelabuhan
Gambar 31 Tampilan input
Aplikasi mobile yang dibangun memiliki 5 buah menu seperti terlihat pada Gambar 29. Menu pertama yaitu halaman Home (Gambar 28). Menu ini hanya menampilkan halaman pembuka saja. Menu kedua yaitu menu untuk menampilkan rekomendasi pemilihan pelabuhan dan pembelian ikan. Untuk memperoleh rekomendasi pembelian ikan (Gambar 32), pengguna harus memasukkan posisi pengguna / posisi asal dan jumlah output pelabuhan (Gambar 30) serta kebutuhan ikan (Gambar 31). Menu lainnya berisi informasi peneliti dan informasi mengenai sistem ini.
Perancangan dan Integrasi Basis Data
Basis data yang digunakan yaitu basis data relasional. Secara fisik, basis data sistem hanya menyimpan tabel kota dan provinsi. Data perikanan seperti harga, spesies ikan, dan pelabuhan diperoleh dari server KKP sehingga tidak perlu disimpan dalam sebuah tabel pada server basis data. Gambar 33 menunjukkan entitas yang terlibat dan hubungan antar entitas di dalam basis data.
Provinsi Kabupaten_kota
Gambar 33 Entity Relationship Diagram (ERD)
Setiap provinsi dapat memiliki beberapa kabupaten atau kota. Berdasarkan entitas yang terlihat pada Gambar 33, terdapat dua tabel yang perlu dibuat. Masing-masing tabel memiliki beberapa atribut. Tabel 1 menampilkan tabel-tabel yang dibutuhkan serta atribut yang ada di dalamnya. Hubungan antar tabel (relatioinship) ditunjukkan dengan adanya primary key dan foreign key. Pada Tabel 1, primary key
Tabel 1 Entitas tabel pada basis data
Tabel Atribut
Pelabuhan ProvinsiID, Nama
SpesiesIkan KabupatenKotaID, ProvinsiID, Nama
Perancangan System Interface
System interface memungkinkan terjadinya komunikasi dengan sistem lain (foreign system). System interface diperlukan pada komunikasi server aplikasi
mobile dengan server KKP dan perangkat mobile yang dimiliki oleh pengguna. Rancangan system interface dapat dilihat pada Gambar 34.
Pada komunikasi dengan server KKP, RESTful web service (Wilde and Pautasso 2011) dimanfaatkan untuk mengirimkan data harga, persediaan ikan, spesies ikan, dan informasi pelabuhan. REST merupakan web service yang memanfaatkan standar protokol HTTP yang biasa digunakan untuk layanan web. Dengan memanfaatkan REST diharapkan komunikasi dengan foreign key menjadi lebih mudah karena protokol HTTP mendukung berbagai macam perangkat komunikasi dan server.
Komunikasi antara server aplikasi dengan perangkat mobile digunakan untuk mengambil data posisi pengguna, input jumlah pelabuhan yang diinginkan oleh pengguna, dan kebutuhan ikan. Komunikasi dengan perangkat mobile dilakukan melalui protokol HTTP.
Perangkat mobile pengguna juga memerlukan system interface untuk terhubung dengan GPS untuk memperoleh koordinat lokasi pengguna. Dengan demikian untuk mendapatkan hasil yang lebih akurat, pengguna harus mengaktifkan perangkat GPS nya sebelum menggunakan aplikasi ini.
Gambar 34 System interface pada sistem
Implementasi
Pada tahap implementasi, dilakukan pembuatan source code program berdasarkan rancangan yang telah dibuat. Akses terhadap data perikanan server
B TS
Pengguna
Server Aplikasi
Server KKP Enumerator Pelabuhan
RESTful Webservice HTTP
KKP belum diperoleh, sehingga data-data perikanan seperti pelabuhan, spesies ikan, harga, dan persediaan ikan disimpan dalam basis data. Source code
perhitungan rekomendasi pembelian ikan dapat dilihat pada Lampiran 1, Lampiran 2, dan Lampiran 3. Hasil perhitungan rekomendasi pembelian ikan dapat dilihat pada Gambar 35 hingga Gambar 40.
Pada Gambar 35 dapat dilihat bahwa hasil perhitungan rekomendasi pembelian ikan tersebar. Pada gambar tersebut, sumbu X menunjukkan besarnya biaya yang harus dikeluarkan untuk membeli ikan, sedangkan sumbu Y menunjukkan jarak yang harus ditempuh menuju tempat pembelian ikan. Titik-titik yang dihubungkan oleh garis merah menunjukkan hasil-hasil terbaik yang menghasilkan harga minimal dan jarak terpendek. Garis merah tersebut adalah pareto front.
Gambar 35 Hasil perhitungan pada generasi ke-1
Gambar 36 Hasil perhitungan pada generasi ke-5
Gambar 38 Hasil perhitungan pada generasi ke-25
Gambar 40 Hasil perhitungan pada generasi ke-100
Prototipe Sistem Penentuan Pelabuhan Terbaik dalam Penyediaan Hasil Tangkapan diinstal ke dalam salah satu server hingga dapat diakses melalui internet. Spesifikasi server sebagai berikut:
1 Perangkat Lunak
Linux Centos 6.2 64 bit Apache 2.4.4
MySQL 5.5.32 PHP 5.5.9 2 Perangkat Keras
Hardisk 450 GB
Intel(R) Xeon(R) CPU E5620 16 Core @ 2.40GHz RAM 8 GB
Gambar 41 Instalasi sistem
Pengujian
Gambar 42 Pengaruh ukuran populasi terhadap perolehan titik konvergen Untuk mendapatkan parameter algoritma terbaik, beberapa kombinasi percobaan pada ukuran populasi, Pc, dan Pm. Kinerja setiap parameter GA diukur dengan menghitung ϒ. Setiap percobaan diulang 20 kali untuk mendapatkan hasil yang lebih akurat.
100 110 120 130 140 150 160 170 180 190 200
Tabel 2 Pengaruh variasi ukuran populasi
Ukuran Populasi Waktu Rataan titik konvergen
30 12.746 168.65
40 19.793 181.90
50 27.625 151.70
60 39.801 169.25
70 49.550 151.05
Gambar 43 Pengaruh peluang crossover terhadap perolehan titik konvergen Tabel 3 Pengaruh variasi Pc
Pc Time (s) Avg. Convergence
Tabel 4 Pengaruh variasi Pm
Pm Time (s) Avg. Convergence
Berdasarkan Tabel 2, ukuran populasi yang lebih besar meningkatkan waktu eksekusi. Akan tetapi, peningkatan jumlah populasi dapat menurunkan jumlah generasi yang dibutuhkan untuk mencapai titik konvergen. Berdasarkan Gambar 42, ukuran populasi 50, 60, dan 70 tampak lebih konvergen dari ukuran populasi 30 dan 40. Dengan mempertimbangkan waktu eksekusi, ukuran populasi 50 dapat dipilih karena memerlukan waktu eksekusi yang lebih pendek.
Berdasarkan Tabel 3 dan Tabel 4, peningkatan nilai Pc dan Pm dapat memperpanjang waktu eksekusi. Di sisi lain, berdasarkan nilai rata-rata ϒ pada 20 percobaan, peningkatan Pc dan Pm tidak terlalu mempengaruhi jumlah generasi yang dibutuhkan untuk mencapai titik konvergen seperti ditunjukkan pada Gambar 43 dan Gambar 44. Dengan mempertimbangkan waktu eksekusi, nilai Pc yang kecil
(0.5) dan Pm yang kecil (0.1) dapat dipilih sebagai parameter untuk algoritma genetika yang digunakan dalam aplikasi.
Gambar 44 Pengaruh peluang mutasi terhadap perolehan titik konvergen
4
SIMPULAN DAN SARAN
Simpulan
Dalam penelitian ini telah dibangun sebuah desain algoritme genetika dengan menggunakan NSGA II yang dibuat untuk menyelesaikan kasus penentuan pelabuhan terbaik dalam penyediaan hasil tangkapan. Berdasarkan beberapa percobaan yang telah dibuat peningkatan jumlah populasi, Pc, dan Pm dapat memperlama proses komputasi yang dibutuhkan, akan tetapi di sisi lain dapat mempercepat algoritme dalam mencapai titik konvergen. Implementasi sistem telah dibuat dalam sebuah aplikasi mobile, di mana seorang pengguna cukup memasukkan jumlah ikan yang dibutuhkan dan jumlah pelabuhan yang diharapkan untuk memperoleh beberapa rekomendasi alokasi dan tempat pembelian ikan.
Saran
Saat ini kondisi data di lapangan dinilai masih tidak valid, karena data yang masuk ke PIPP telah mengalami perubahan jika dibandingkan dengan data di lapangan. Untuk itu selain sistem ini masih perlu mengalami pengembangan dari segi teknologi, aspek lain seperti kondisi sosial dan validasi data di lapangan juga perlu diperhatikan.
100 110 120 130 140 150 160 170 180 190 200