• Tidak ada hasil yang ditemukan

Multi-Objective Genetic Algorithm Untuk Penentuan Pelabuhan Perikanan Terbaik Dalam Penyediaan Hasil Tangkapan

N/A
N/A
Protected

Academic year: 2017

Membagikan "Multi-Objective Genetic Algorithm Untuk Penentuan Pelabuhan Perikanan Terbaik Dalam Penyediaan Hasil Tangkapan"

Copied!
68
0
0

Teks penuh

(1)

MULTI-OBJECTIVE GENETIC ALGORITHM

UNTUK

PENENTUAN PELABUHAN PERIKANAN TERBAIK

DALAM PENYEDIAAN HASIL TANGKAPAN

PRIYO PUJI NUGROHO

SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR

(2)
(3)

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

(4)

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

(5)

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.

(6)

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.

(7)

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.

(8)

© 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

(9)

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

(10)
(11)

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

(12)
(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

 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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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 = 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

(30)

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.

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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.

(39)

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

(40)

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

(41)

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

(42)

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

(43)

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

(44)

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

(45)

Gambar 36 Hasil perhitungan pada generasi ke-5

(46)

Gambar 38 Hasil perhitungan pada generasi ke-25

(47)

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

(48)

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

(49)

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

(50)

(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

Gambar

Gambar 1  Tahapan penelitian
Gambar 2 Diagram alir algoritma genetika dengan NSGA II
Gambar 3 Aktivitas yang dilakukan pada tahap perancangan sistem
Gambar 5 Aliran Hasil Tangkapan di Pelabuhan Bajomulyo
+7

Referensi

Dokumen terkait

This means you can change how your content output from the components and modules are displayed, but any updates to Joomla's core system will not require you to change your files

Komite reviewer didedikasikan dalam rangka untuk memastikan kegiatan bantuan dana berjalan pada target capaian yang dicanangkan dengan keluaran yang memenuhi syarat

Hal ini berbanding terbalik dengan pernyataan Bengen (2002) bahwa jenis Avicennia marina terdistribusi pada daerah dekat dengan laut, karena terdapat beberapa daerah

 Sub Bagian Umum dan Kepegawaian mempunyai tugas menyiapkan dan memberikan pelayanan dalam urusan surat menyurat, tata naskah dinas, kearsipan, perlengkapan

• Catatan hasil wawancara tentang kesesuaian fakta sikap dan perilaku pelaksana pelayanan dengan ketentuan yang ada • Catatan hasil observasi fakta. sikap dan perilaku

Proses pembelajaran hendaknya diupayakan interaktif dan memungkinkan para peserta didik mengembangkan seluruh kapasitas, kreatifitas, dan kapabilitasnya; fasilitas

PENGARUH FAKTOR SOSIO DEMOGRAFI DAN KEPEMIMPINAN DEMOKRATIS TERHADAP KINERJA BIDAN DESA DALAM PELAYANAN KONTRASEPSI IUD ( INTRA UTERINE DEVICE ) DI KABUPATEN

Analisis Dampak Kafein Terhadap Hasil Perhitungan Heart rate Lari 100 M dan Illinoise Agility Kafein mempunyai efek ergogenik yang dapat meningkatkan peforma, terutama