Anda di halaman 1dari 35

LAPORAN TUGAS AKHIR MATA KULIAH

ALGORITMA EVOLUSI

Implementasi Algoritma Genetika Untuk Optimasi Rute


Pegantaran Laundry Menggunakan TSP
Konsentrasi: Komputasi Cerdas dan Visual
Diajukan untuk memenuhi tugas Mata Kuliah Algoritma Evolusi

Kelas C
Kelompok D
Disusun Oleh:
1. Risza Nurrachman

(115060801111002)

2. Mas Iffah Mahardika Jusuf

(115060800111021)

3. Siti Fatimah Al Uswah

(115060801111046)

4. Evi nur Azizah

(115060801111086)

Dosen Pengampu:
Wayan Firdaus Mahmudy, Ph.D.

PROGRAM STUDI INFORMATIKA/ILMU KOMPUTER


PROGRAM TEKNOLOGI INFORMASI DAN ILMU
KOMPUTER
UNIVERSITAS BRAWIJAYA
MALANG
2014

DAFTAR ISI

DAFTAR ISI.............................................................................................................i
DAFTAR GAMBAR..............................................................................................iii
DAFTAR TABEL...................................................................................................iv
DAFTAR PERSAMAAN........................................................................................v
BAB 1 PENDAHULUAN.......................................................................................1
1.1
Latar Belakang Masalah............................................................................1
1.2
Rumusan Masalah.....................................................................................2
1.3
Tujuan........................................................................................................2
1.4
Manfaat......................................................................................................2
1.5
Sistematika Penulisan................................................................................3
BAB II......................................................................................................................5
2.1 Algoritma Genetika........................................................................................5
2.2 Travelling Salesman Problem (TSP)..............................................................7
2.3 Laundry..........................................................................................................7
2.4 Rute Tercepat..................................................................................................8
BAB III....................................................................................................................9
3.1
Tahapan Kegiatan Penelitian.....................................................................9
3.1.1
Studi Literatur....................................................................................9
3.1.2
Pengambilan Data Sample.................................................................9
3.1.3
Analisis Kebutuhan............................................................................9
3.1.4
Perancangan Sistem.........................................................................10
3.1.5
Implementasi....................................................................................11
BAB IV..................................................................................................................12
4.1
Analisa Kebutuhan Perangkat Lunak......................................................12
4.1.1
Identifikasi Aktor.............................................................................13
4.1.2
Daftar Kebutuhan Sistem.................................................................13
4.1.3
Use Case Diagram............................................................................14
4.2
Perancangan Sistem.................................................................................15
4.2.1
Manajemen Data..............................................................................15
4.2.2
Basis Pengetahuan............................................................................15
4.2.3
Manajemen Model...........................................................................16
4.3
Implementasi...........................................................................................19
4.3.1
Spesifikasi Sistem............................................................................19
4.3.2
Batasan Implementasi......................................................................20
4.3.3
Implementasi Algoritma...................................................................21
4.3.3.1 Representasi Kromosom..................................................................21
4.3.3.2. Proses Crossover................................................................................21

4.3.3.3 Proses Mutasi...................................................................................23


4.3.3.4 Perhitungan Fitness..........................................................................24
4.3.3.5 Proses Seleksi Individu....................................................................24
4.3.3
Implementasi Antarmuka.................................................................25
BAB V....................................................................................................................28
5.1 Kesimpulan...................................................................................................28
5.2 Saran.............................................................................................................28
DAFTAR PUSTAKA.............................................................................................29

DAFTAR GAMBAR
Gambar 4.1
Gambar 4.2

Pohon Perancangan Bab IV


Use Case Diagram Sistem Optimasi Rute

12
14

Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8

Laundry
Alur Kerja Algoritma Genetika TSP
Interface Halaman Awal
Interface Input Representasi Kromosom
Interface Perhitungan Crossover
Interface Perhitungan Mutasi
Interface Hasil Seleksi

16
25
26
26
27
27

DAFTAR TABEL
Tabel 4.1
Tabel 4.2
Tabel 4.3
Tabel 4.4
Tabel 4.5
Tabel 4.6
Tabel 4.7
Tabel 4.8
Tabel 4.9
Tabel 4.10
Tabel 4.11
Tabel 4.12
Tabel 4.13
Tabel 4.14

Identifikasi Aktor
Daftar Kebutuhan Fungsionalitas Sistem

Jarak pengantaran laundry


Tabel jarak antar lokasi
Representasi Cromosome
Fitness child
Hasil Seleksi
Spesifikasi Perangkat Keras
Spesifikasi Perangkat Lunak
Sourcecode Representasi Kromosom
Sourcecode Proses Crossover
Sourcecode Proses Mutasi
Sourcecode Perhitungan Fitness
Sourcecode Seleksi Individu

13
13
16
17
17
18
19
20
20
21
21
22
24
24

DAFTAR PERSAMAAN
Persamaan 4-1

Persamaan Fitness

16

BAB 1
PENDAHULUAN
1.1

Latar Belakang Masalah


Salah satu kegiatan pencarian rute terpendek yaitu pendistribusian suatu

barang. Dalam mendsitribusikan suatu barang, faktor jarak tempuh dan waktu
tempuh menjadi hal penting untuk di perhatikan karena akan mempengaruhi
kegiatan lainnya.Salah satu contoh masalah pencarian rute terpendek yang ada
pada kehidupan sehari hari yaitu mencari jarak terpendek untuk laundry.
Berdasarkan hal itu maka di butuhkan suatu sistem untuk mencari rute
terpendek dalam sistem pendistribusian di laundry agar lebih menghemat waktu
dan jarak dengan metode traveling salesman problem(TSP). Metode traveling
salesman problem(TSP) dikenal sebagai suatu permasalah optimasi yang
bersifat

klasik

dan

NonDeterministic Polynomial-time Complete

(NPC),

dimana tidak ada penyelesaian yang paling optimal selain mencoba seluruh
kemungkinan penyelesaian

yang

ada.Tujuannya adalah

memilih

lintasan

tertutup yang total jaraknya paling minimum diantara pilihan dari semua
kemungkinan lintasan[ITS].
Penentuan Jarak Pendistribusian Rute Terpendek Rokok Sampoerna
Dengan Metode Traveling Salesman Problem (Studi Kasus PT HM Sampoerna
Tbk Malang) yang di teliti oleh Rachma Februari Putri[RFP] dan metode
traveling salesman untuk menentukan lintasan terpendek pada daerah-daerah yang
teridentifikasi bahaya yaang di teliti oleh Aisyah Lestari[ITS] merupakan contoh
penelitian terkait dengan masalah pencarian rute terpendek dengan menggunakan
Traveling Salesman Problem (TSP). Penentuan Jarak Pendistribusian Rute
Terpendek Rokok Sampoerna Dengan Metode Traveling Salesman Problem di
ambil dari studi kasus dengan PT. Sampoerna dengan rute wilayah malang, batu
dan pasuruan. Sedangkan metode traveling salesman untuk menentukan lintasan
terpendek pada daerah-daerah yang teridentifikasi bahaya pada wilayah surabaya,
jakarta, dan bandung.

Berdasarkan penelitian di atas, kami mengambil judul Implementasi Algoritma


Genetika Untuk Optimasi Rute Pegantaran Laundry Menggunakan TSP.
Metode traveling salesman problem(TSP) sendiri di pakai untuk
menentukan rute manakah yang memiliki biaya paling murah (atau paling
pendek) untuk dilalui seorang salesman yang harus mengunjungi sejumlah
daerah, tiap daerah harus dikunjungi tepat satu kali kemudian kembali lagi ke
tempat semula[ALEV].
1.2

Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan diatas, maka didapat

rumusan masalah yang meliputi :


1. Bagaimana

model perancangan pencarian rute terpendek

menggunakan metode Traveling Salesman Problem (TSP) dalam


studi kasus pencarian rute terpendek pada laundry.
2. Bagaimana implementasi metode Traveling Salesman Problem
(TSP) dalam studi kasus pencarian rute terpendek pada laundry.
1.3

Tujuan
Tujuan pembuatan laporan Implementasi Algoritma Genetika Untuk

Optimasi Rute Pegantaran Laundry Menggunakan TSP adalah untuk memahami


pengertian, prinsip, cara kerja, serta bagaimana pemecahan studi kasus dari
pencarian rute terpendek dengan menggunakan metode Traveling Salesman
Problem(TSP) sehingga di dapatkan rute terpendek untuk mendapatkan jarak yang
optimal.
1.4

Manfaat
Diharapkan dengan adanya laporan ini dapat bermanfaat bagi penulis agar

penulis dapat mengaplikasikan metode Traveling Salesman Problem(TSP) yang


telah di pelajari ke dalam masalah nyata yaitu pencarian rute terpendek pada
distribusi di laundry.

1.5

Sistematika Penulisan
Sistematika penulisan pada laporan ini secara keseluruhan terdiri dari atas

lima bab. Penentuan sistematika penulisan ini bertujuan untuk mempermudah


dalam menyusun dan mempelajari bagian-bagian dari seluruh rangkaian
penelitian. Secara garis besar masing-masing bab akan membahas hal-hal sebagai
berikut :
BAB I : PENDAHULUAN
Pada bab ini berisi tentang gambaran umum dari penulisan laporan yang
meliputi latar belakang masalah, perumusan masalah, batasan masalah, tujuan dan
manfaat penelitian, dan sistematika penulisan.
BAB II : KAJIAN PUSTAKA DAN DASAR TEORI
Bab ini membahas tentang teori-teori dasar yang relevan dengan penelitian
sehingga mampu memecahkan permasalahan yang ada dan mencapai tujuan yang
diinginkan. Teori-teori yang dipergunakan dalam penelitian ini meliputi teori
Traveling Salesman Problem(TSP), crossover, mutasi.
BAB III : METODE PENELITIAN
Menjelaskan mengenai studi literatur, analisis kebutuhan sistem, metode
pengumpulan data, metode pengujian serta metode penulisan laporan terkait
penyelesaian studi kasus mengenai penentuan jarak terpendek menggunakan
metode Traveling Salesman Problem(TSP).
BAB IV : PEMBAHASAN
Menjelaskan mengenai prinsip, cara kerja, serta bagaimana implementasi
dari metode Traveling Salesman Problem(TSP) dalam menyelesaikan studi kasus
mengenai pencarian rute terpendek pada distribusi di laundry.

BAB V : PENUTUP

Memberikan

kesimpulan dari akurasi metode Traveling Salesman

Problem(TSP) dalam menyelesaikan studi kasus mengenai pencarian rute


terpendek pada distribusi di laundry.

BAB II
DASAR TEORI
2.1 Algoritma Genetika
Algoritma genetika adalah teknik pencarian heuristik yang didasarkan
pada gagasan evolusi seleksi alam dan genetik. Algoritma ini memanfaatkan
proses seleksi ilmiah yang dikenal dengan proses evolusi. Dalam proses evolusi,
individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan
dengan lingkungan hidupnya. Proses seleksi ilmiah ini melibatkan perubahan gen
yang terjadi pada individu melalui proses perkembangbiakan (Sutojo, Mulyanto
dan Suhartono, 2011).
Untuk mengimplementasikan algoritma genetika, ada 8 komponen utama
yang harus dilakukan (Sutojo, Mulyanto dan Suhartono, 2011).
1. Teknik Encoding/Decoding Gen dan Individu
Encoding (pengkodean) berguna untuk mengodekan nilai gen-gen
pembntuk individu. Nilai-nilai gen ini diperoleh secara acak. Ada 3
pengkodean yang paling umum digunakan, yaitu (Sutojo, Mulyanto dan
Suhartono, 2011) :
a. Pengodean Bilangan Real : nilai gen berada dalam interval [0,1]
b. Pengodean Diskrit Desimal : nilai gen berupa bilangan bulat
dalam interval [0.9]
c. Pengodean Biner : nilai gen berupa bilangan biner 0 atau 1
Decoding (pendekodean) berguna untuk mendekode gen-gen pembentuk
individu agar nilainya tidak melebihi range yang telah ditentukan dan
sekaligus menjadi nilai variabel yang akan dicari sebagai solusi permasalahan
(Sutojo, Mulyanto dan Suhartono, 2011).
2. Membangkitkan populasi awal
Sebelum membangkitkan populasi awal, terlebih dahulu harus menentukan
jumlah individu dalam populasi tersebut. Misalnya jumlah individu tersebut
N. setelah itu, membangkitkan populasi awal yang

mempunyai nilai N individu secara random (Sutojo, Mulyanto dan Suhartono,


2011).
3. Nilai Fitness
Nilai fitness menyatakan nilai dari fungsi tujuan. Tujuan dari algoritma
genetika adalah memaksimalkan nilai fitness. Jika yang dicari nilai maksimal,
maka nilai fitness adalah nilai dari fungsi itu sendiri. Tetapi jika yang
dibutuhkan adalah nilai minimal, maka nilai fitness merupakan invers dari
fungsi itu sendiri (Sutojo, Mulyanto dan Suhartono, 2011).
4. Elitisme
Elitisme adalah prosedur untuk meng-copy individu yang mempunyai nilai
fitness tertinggi sebanyak satu (bila jumlah individu dalam suatu populasi
adalah ganjil) atau dua (bila jumlah individu dalam suatu populasi adalah
genap). Hal ini dilakukan agar individu ini tidak mengalami kerusakan (nilai
fitness menurun) selama proses pindah silang maupun mutasi (Sutojo,
Mulyanto dan Suhartono, 2011).
5. Seleksi
Seleksi digunakan untuk memilih dua buah individu yang akan dijadikan
orangtua, kemudian dilakukan pindah silang (Cross-Over) untuk mendapatkan
keturunan yang baru (Sutojo, Mulyanto dan Suhartono, 2011).
6. Cross-Over (Pindah Silang)
Sebuah individu yang mengarah pada solusi optimal bisa diperoleh
melalui proses pindah silang, dengan catatan bahwapindah silang hanya bisa
dilakukan jika sebuah bilangan random r adalah interval [0 1] yang
dibangkitkan nilainya lebih kecil dari probabilitas tertentu prob, dengan kata
lain : r< prob. Biasanya nilai prob diset mendekati 1. Cara yang paling
sederhana untuk melakukan pindah silang adalah pindah silang satu titik
potong. Posisi titik potong dilakukan secara random (Sutojo, Mulyanto dan
Suhartono, 2011).
7. Mutasi
Mutasi dilakukan untuk semua gen yang terdapat pada individu, jika
bilangan random yang dibangkitkan lebih kecil dari probabilitas mutai p yang
ditentukan. Biasanya p diset = 2/N, dimana N adalah jumlah gen dalam

individu. Untuk kode biner, mutasi dilakukan dengan cara membalik nilai bit 0
menjadi bit 1, sebaliknya bit 1 diubah menjadi bit 0 (Sutojo, Mulyanto dan
Suhartono, 2011).
8. Penggantian Populasi
Penggantian populasi dimaksudkan bahwa semua individu awal dari satu
generasi diganti oleh temporer individu hasil proses pindah silang dan mutasi
(Sutojo, Mulyanto dan Suhartono, 2011).
2.2 Travelling Salesman Problem (TSP)
Permasalahan TSP (Traveling Salesman Problem) adalah permasalahan
dimana seorang salesman harus mengunjungi semua kota dimana tiap kota hanya
dikunjungi sekali, dan dia harus mulai dari dan kembali ke kota asal. Tujuannya
adalah menentukan rute dengan jarak total atau biaya yang paling minimum.
Permasalahan TSP merupakan permasalahan yang memang mudah untuk
diselesaikan dengan algoritma Brute Force, tetapi hal itu hanya dapat dilakukan
dengan jumlah kota atau simpul yang tidak banyak. Kompleksitas algoritma untuk
permasalahan TSP dengan algoritma Brute Force adalah O(n!) dengan catatan n
adalah jumlah kota atau simpul dan setiap kota atau simpul terhubung dengan
semua kota atau simpul lainnya [AML-13].
Dalam penyelesaian masalah TSP dapat membagi kedalam 2 metode, yaitu
metode optimal dan metode aproksimasi. Metode optimal akan menghasilkan
hasil yang optimal (minimum) sedangkan metode aproksimasi akan menghasilkan
hasil yang mendekati optimal [AML-13].
2.3 Laundry
Laundry adalah kata benda yang mengacu pada tindakan mencuci pakaian,
tempat mana yang mencuci dilakukan atau yang perlu, sedang, atau telah dicuci.
Cucian dapat dianggap sebagai ruang atau daerah, seperti di sebuah bangunan
rumah atau apartemen dan Toko. Dari tahun ketahun Usaha laundry merupakan
salah satu bidang usaha jasa yang semakin di butuhkan khususnya oleh
masyarakat di perkotaan. Hal ini disebabkan karena aktifitas masyarakat yang
tinggi. Dan diiringi dengan tingkat pendapatan yang memadai memperngaruhi

perilaku masyarakat yang cenderung menginginkan kebutuhan kebutuhan


tertentu dengan secara instant. Semakin banyaknya usaha laundry membuat setiap
usaha untuk berlomba-lomba menarik perhatian pelanggan, salah satunya dengan
mengadakan promo antar jemput laundry gratis. Promo tersebut membuat
pelangan semakin senang terutama bagi mereka yang suka sesuatu yang instan
tanpa harus repot ke tempat laundry [ANO-13].
2.4 Rute Tercepat
Rute tercepat adalah suatu masalah yang paling banyak dibahas dan
dipelajari sejak akhir tahun 1950. Pencarian rute terpendek ini telah diterapkan di
berbagai bidang untuk mengoptimasi kinerja suatu sistem, baik dengan tujuan
untuk meminimalkan biaya ataupun untuk mempercepat perjalanan (Purwanto,
Purwitasari, & Wibowo, 2005). Penentuan rute perjalanan merupakan salah satu
permasalahan yang sering dihadapi dalam kehidupan sehari-hari. Salah satu
contoh yaitu rute yang dipilih sopir pengirim barang untuk samapai pada tujuan
dengan tepat waktu. Setiap daerah tujuan pengiriman tersebut harus dikunjungi
satu kali, kemudian kembali lagi ke tempat awal. Permasalahan tersebut dikenal
sebagai Travelling Salesman Problem (TSP). salah satu bentuk pengembangan
TSP yang lebih rumit yang melibatkan dua variabel atau lebih adalah TSP-TW
yaitu pencarian rute optimal yang mempertimbangkan waktu total waktu
perjalanan , waktu pengiriman ,waktu pelayanan, dan waktu kedatangan [GTA99].

BAB III
METODOLOGI PENELITIAN
3.1

Tahapan Kegiatan Penelitian


Metode penelitian ini dilakukan dalam lima tahap yaitu studi literatur,

pengambilan data sampel, analisa kebutuhan, perancangan sistem, implementasi.


3.1.1

Studi Literatur
Studi Literatur merupakan metode yang digunakan untuk

mendapatkan dasar teori sebagai sumber untuk penulisan penelitian dan


pengembangan aplikasinya. Teori dan pustaka yang berkaitan dengan penulisan
penelitian ini adalah:
1. Traveling Salesman Problem (TSP)
2. Algoritma Genetika
3. Rute Laundry
Studi literatur merupakan dasar teori yang digunakan sebagai penunjang
dan pendukung penulisan penelitian. Sumber atau referensi yang digunakan antara
lain jurnal, laporan penelitian, buku, dan bantuan mesin pencari (search engine)
dengan bantuan koneksi internet.
3.1.2

Pengambilan Data Sample


Data berupa jarak masing-masing antara pangakalan laundry ke lokasi dan

jarak masing-masing antara lokasi. Data direpresentasikan dalam satuan meter.


Data-data ini diperlukan untuk diproses menggunakan metode algoritma
Genetika. Jumlah lokasi adalah 6 termasuk pangkalan laundry itu sendiri.
3.1.3

Analisis Kebutuhan
Analisa kebutuhan merupakan suatu metode untuk menganalisis

kebutuhan yang akan dibuat meliputi spesifikasi media yang akan digunakan.
Metode analisis kebutuhan didapatkan dari proses wawancara sehingga perancang

10

dapat mengetahui secara rinci kebutuhan pengguna. Kebutuhan yang telah


didapatkan akan dibentuk ke dalam use case diagram. Use case diagram
digunakan untuk mendeskripsikan kebutuhan dan fungsionalitas dari user
terhadap sistem.
Kebutuhan dari pengguna dapat dikelompokkan menjadi dua jenis yaitu
kebutuhan fungsional dan non fungsional. Kebutuhan fungsional dari sistem agar
pengguna dapat berinteraksi dengan sistem adalah sebagai berikut:
1. Sistem dapat menerima input informasi dari user berupa penentuan
parent crossover dan mutasi dan representasi kromosom awal.
2. Sistem mampu memproses data input user untuk dapat manghasilkan
individu baru berdasarkan proses crossover dan mutasi.
3. Sistem mampu menampilkan hasil 5 individu terbaik disetiap
generasinya.
Kebutuhan lain yang dibutuhkan adalah kebutuhan non fungsional. Kebutuhan
non fungsional pada sistem dapat mempengaruhi performa sistem. Kebutuhan non
fungsional pada sistem dijelaskan dalam paparan berikut:
1. Aplikasi bersifat aman karena tidak menggunakan peralatan yang
berbahaya.
2. Pengguna hanya membutuhkan sebuah komputer untuk dapat
mengakses aplikasi.
3. Aplikasi berjalan secara offline yaitu tanpa membutuhkan koneksi
paket data karena informasi yang dibutuhkan terdapat dalam database
aplikasi.
3.1.4

Perancangan Sistem
Perancangan sistem merupakan tahapan di mana perancang mulai

merancang suatu sistem yang mampu memenuhi semua kebutuhan fungsional


maupun non fungsional dari aplikasi. Teori dari pustaka yang digunakan dan data
sampel yang telah didapatkanakan digabungkan untuk pengimplementasian
pengembangan aplikasi optimasi rute laundry menggunakan metode algoritma
genetika (TSP). Aplikasi memiliki bagian sistem yang memproses data input
pengguna untuk menghasilkan output yang sesuai yaitu hasil iterasi tiap generasi.

11

3.1.5

Implementasi
Implementasi merupakan tahapan yang dilakukan untuk membuat aplikasi

secara nyata.Implementasi dilakukan dengan menggunakan Bahasa pemrograman


PHP. Aplikasi yang diimplementasikan merupakan aplikasi berbasis web dengan
sistem offline sehingga tidak membutuhkan sumber dari luar.
Ketika aplikasi dijalankan, pertama kali akan menampilkan menu utama
sistem yang berisi data jarak antar simpul dan beberapa form untuk inisialisasi
popsize, crossover rate, mutasi rate dan banyak generasi. Selanjutnya akan muncul
form untuk inisialisasi kromosom parent untuk generasi awal (generasi 0),
penentuan parent crossover dan mutasi. Tahap pemrosesan dilakukan berdasarkan
data yang telah diisi pada form sebelumnya, berupa data baru inputan dari user
atau data sample dari sistem. Hasilnya berupa output perhitungan jarak dan fitness
untuk kromosom parent, kromosom baru dari proses crossover dan mutasi,
kombinasi kromosom parent dan kromosom baru dari proses crossover dan
mutasi, dan terakhir seleksi kromosom yang dinilai baik digunakan untuk generasi
berikutnya.

BAB IV
PEMBAHASAN
Bab ini membahas mengenai perancangan sistem, implementasi, dan
pengujian sistem algoritma genetika menggunakan travelling salesman problem
(TSP). Tahap perancangan yang diperlukan terbagi menjadi dua tahapan, yaitu
perancangan kebutuhan perangkat lunak dan perancangan sistem pendukung
keputusan. Untuk lebih jelasnya dapat dilihat dalam pohon perncangan seperti
yang terlihat pada Gambar 4.1
4.1.1
Aktor

Perancangan
4.1

4.1.2
Daftar
Kebutuhan
Sistem

Perangkat Lunak

4.2

4.2.1

Perancanga
n Sistem

Manajemen data
4.2.2
Basis
Pengetahuan
4.2.3
Manajemen Model

Gambar 4.1 Pohon Perancangan Bab IV


Sumber : [perancangan]

4.1 Analisa Kebutuhan Perangkat Lunak


Tahapan analisa kebutuhan sistem memiliki tujuan untuk memodelkan
informasi

yang akan

digunakan

dalam

tahapan

perancangan.

kebutuhan sistem yang diperlukan meliputi identifikasi aktor, daftar

12

Analisa

13

kebutuhan sistem dan use case diagram. Berikut ini merupakan penjelasan dari
masing-masing tahapannya.
4.1.1

Identifikasi Aktor
Tahapan ini bertujuan untuk mengidentifikasi aktor-aktor yang nantinya

akan berinteraksi dengan sistem. Pada kolom aktor disebutkan aktor-aktor


yang berperan dalam sistem dan pada kolom lainnya akan menunjukkan
deskripsi dari masing-masing aktor. Tabel 4.1 memperlihatkan aktor-aktor yang
berperan dalam sistem yang dilengkapi dengan penjelasannya yang merupakan
hasil dari proses identifikasi aktor.
Tabel 4.1 Identifikasi Aktor

Aktor
User

Deskripsi Aktor
User merupakan aktor yang memberikan data inputan yang

diperlukan dan dapat melihat output program.


Sumber: [Perancangan]
4.1.2

Daftar Kebutuhan Sistem

Tahapan ini bertujuan untuk menjelaskan kebutuhan sistem yang


harus dipenuhi saat aktor melakukan sebuah aksi. Daftar kebutuhan ini terdiri
dari sebuah kolom yang merupakan hal-hal yang harus disediakan oleh
sistem.
Tabel 4.2 Daftar Kebutuhan Fungsionalitas Sistem

Kebutuhan
Sistem harus dapat
menyediakan dan
memberikan akses
kepada user untuk
menginput data yang
diperlukan.

Aktor

Nama Entitas

User

Input Data (popsize,


crossover rate,
mutation rate, jumlah
generasi, representasi
kromosom dan parent
untuk proses
crossover dan mutasi)

14

Sistem harus
menyediakan antarmuka
untuk menampilkan
hasil iterasi kepada user
Sistem harus
menyediakan antarmuka
untuk menampilkan
tentang tim
pengembang dari
aplikasi.
Sumber: [Perancangan]
4.1.3

User

Lihat Hasil Iterasi

User

Lihat tentang kami

Use Case Diagram


Diagram use case merupakan salah satu diagram yang digunakan untuk

mendeskripsikan kebutuhan dan fungsionalitas dari user terhadap sistem. Gambar


4.2 merupakan use case dari sistem optimasi rute laundry.

Gambar 4.2 Use Case Diagram Sistem Optimasi Rute Laundry


Sumber: [Perancangan]

15

Pada usecase diatas, dapat dideskripsikan sebagai berikut:


1. User merupakan aktor.
2. User dapat melakukan input data terdiri dari popsize, crossover
rate, mutation rate, jumlah generasi, representasi kromosom dan
parent untuk proses crossover dan mutasi.
3. User melanjutkan dengan menekan tombol Submit setelah mengisi
semua data inpuan yang diperlukan.
4. Sistem akan memproses dan menampilkan hasil dari proses
crossover, mutasi, dan seleksi individu.
4.2 Perancangan Sistem
Tahap perancangan sistem ini memiliki tujuan untuk mengubah model
informasi yang telah dibuat selama tahapan analisa menjadi botel yang sesuai
dengan tekhnologi yang akan digunakan dalam pengimplementasian.
Untuk memberikan keputusan, sistem akan menggunakan algoritma
genetika dengan menggunakan metode Travelling Salesman Problem sebagai
metode pengolah data dalam menghasilkan rute terpendek dalam pengiriman
laundry. Sistem yang akan dibuat ini terdiri atas empat komponen yaitu
manajemen data, basis pengetahuan, manajemen model dan perancangan
antarmuka.
4.2.1

Manajemen Data
Manajemen data merupakan salah satu bagian terpenting pada penelitian.

Data yang digunakan dalam perhitungan adalah data yang diambil secara acak.
Data-data tersebut adalah data jarak laundry ke tempat lokasi pengantaran laundry.
Dimana ada lima lokasi pengantaran laundry. Pada tabel 4.4 memperlihatkan jarak
laundry ke lokasi-lokasi pengantaran.
4.2.2

Basis Pengetahuan
Basis pengetahuan adalah suatu jenis basis data yang dipergunakan untuk

manajemen pengetahuan. Basis data ini menyediakan fasilitas untuk koleksi,


organisasi, dan pengambilan pengetahuan terkomputerisasi. Hal terpenting dari

16

suatu basis pengetahuan adalah kualitas informasi yang dikandungnya. Berikut


basis pengetahuan yang digunakan dalam penelitian ini :
1. Tujuan : Mencari Rute Terpendek dalam Pengantaran Laundry
2. Lokasi : Terdapat lima lokasi pengantaran laundry
3. Kromosom terdiri dari 4 variabel. Kromosom selalu dimulai dari angka
1 karena dimulai dari pangkalan sampai kembali ke pangkalan lagi.
4. Setiap perjalanan agen pengiriman hanya mengambil atau mengantar
cucian di 3 lokasi.
5. Rumus fitness yang digunakan adalah :
10000
fitness=
..........................................(4-1)
c
Terdapat jarak pada laundry terhadap lokasi-lokasi yang digunakan serta
jarak dari setiap lokasi ke lokasi yang lain.
Tabel 4.3 Jarak pengantaran laundry
Laundr
y

Lokasi 1

Lokasi 2

Lokasi 3

Lokasi 4

Lokasi 5

Laundry
Lokasi 1
Lokasi 2
Lokasi 3
Lokasi 4
Lokasi 5
Sumber : [Perancangan]
4.2.3

Manajemen Model
Manajemen model merupakan tahapan proses penerapan model yang

digunakan dalam penelitian ini. Model yang digunakan adalah Travelling


Salesman Problem. Manajemen model pada penelitian ini melibatkan berbagai
proses atau tahapan mulai awal hingga akhir penerapan Metode Algoritam
genetika pada Travelling Salesman Problem. Pada Gambar 4.1 dapat dilihat alur
kerja dari Algoritma Genetika pada Travelling Salesman Problem.
Penentuan
jarak

Representasi
Kromosom

Crossover
Dan
Mutasi

Perhitungan
offspring

Gamber 4.3 Alur Kerja Algoritma Genetika TSP


Sumber : [Perancangan]
Perhitungan Metode Travelling Salesman Problem (TSP)

Seleksi
individu

17

Pada algoritma genetika menggunakan metode Travelling Salesman


Problem (TSP) diperlukan beberapa langkah yaitu penentuan jarak tiap lokasi,
representasi chromosome, crossover dan murasi. Metode ini digunakan untuk
mencari rute terprndek dari tiap-tiap lokasi.
Langkah 1 : Penentuan jarak
Langkah pertama pada proses Travelling Salesman Problem (TSP) adalah
melakukan penentuan jarak yang akan diambil. Pada tabel 4.4 dapat dilihat jarak
pengantaran laundry dengan tabel antar simpul.
Tabel 4.4 Tabel jarak antar lokasi
1
2
3
4
5
1 1000
480
545
890
2
1000 675
280
435
3
480
675 900
190
4
545
280
900 200
5
890
435
190
200 6
780
325
700
1600
1150 Sumber : [Perancangan]

6
780
325
700
1600
1150

Langkah 2 : Representasi Cromosome


Pada representasi chromosome menyatakan perjalanan lokasi pengantaran.
Dalam representasi chromosome pada laundry ini, lokasi awal pengantaran selalu
diawali dengan node 1 atau laundry.
Tabel 4.5 Representasi Cromosome
Cromosome Total Jarak
[1 3 4 6 ]
3760
[1 5 2 3 ]
2480
[1 2 6 3 ]
2505
[1 4 2 5 ]
2150
[1 3 6 2 ]
2505
Sumber : [Perancangan]

Fitness = 10000/c
2.660
4.032
3.992
4.651
3.992

Langkah 3 : Crossover
Pada kasus ini, metode crossover yang digunakan adalah one-cut-point
yaitu dengan memilih dua parent dari representasi chromosome kemudian
menentukan titik potong antara ke dua parent tersebut. Kemudian untuk

18

mendapatkan child dengan mengambil segment kiri dari parent 1 dan segment
kanan didapatkan dari urutan gen tersisa dari parent 2.
Parent 1
Parent 2

[1 3 4 6 ]
[1 4 2 5 ]

Parent 1
Parent 2

[1 2 6 3 ]
[1 3 6 2 ]

Parent 1
Parent 2

[1 5 2 3 ]
[1 3 6 2 ]

Parent 1
Parent 2

[1 3 4 6 ]
[1 5 2 3 ]

C1

[1 3 4 2]

C2

[1 2 3 6]

C3

[1 5 3 6]

C4

[1 3 5 2]

Langkah 4 : Mutasi
Metode mutasi yang digunakan yaitu reciprocal exchange mutation.
Metode ini bekerja dengan memilih dua posisi (exchange point) secara random
kemudian menukarkan nilai pada posisi tersebut.
Parent
C5

[1 2 6 3 ]
[1 3 6 2 ]

Langkah 5 : Menghitung fitness pada child


Setelah melakukan crossover dan mutasi maka akan menghasilkan child
kemudian menhitung nilai fitness dari tiap-tiap child.
Tabel 4.6 Fitness child
Cromosome
p1
[1 3 4 6 ]
p2
[1 5 2 3 ]
p3
[1 2 6 3 ]
p4
[1 4 2 5 ]
p5
[1 3 6 2 ]
c1
[1 3 4 2 ]
c2
[1 2 3 6 ]
c3
[1 5 3 6 ]
c4
[1 3 5 2 ]
c5
[1 3 6 2 ]
Sumber : [Perancangan]

Total Jarak
3760
2480
2505
2150
2505
2380
3155
2560
2105
2505

Fitness = 10000/c
2.6596
4.0323
3.9920
4.6512
3.9920
4.2017
3.1696
3.9063
4.7506
3.9920

Langkah 6 : Seleksi
Seleksi merupakan tahap terakhir dalam menentukan rute terpendek. Pada
tabel 4.9 terdapat hasil seleksi. Hasil seleksi dipilih lima teratas untuk melakukan
perhitungan ke generasi selanjutnya.

19

Tabel 4.7 Hasil Seleksi


c4
p4
c1
p2
p3
p5
c5
c3
c2
p1

Cromosome
[1 3 5 2 ]
[1 4 2 5 ]
[1 3 4 2 ]
[1 5 2 3 ]
[1 2 6 3 ]
[1 3 6 2 ]
[1 3 6 2 ]
[1 5 3 6 ]
[1 2 3 6 ]
[1 3 4 6 ]

Total Jarak
2105
2150
2380
2480
2505
2505
2505
2560
3155
3760

Fitness = 10000/c
4.750593824
4.651162791
4.201680672
4.032258065
3.992015968
3.992015968
3.992015968
3.90625
3.169572108
2.659574468

Sumber : [Perancangan]
4.3 Implementasi
4.3.1

Spesifikasi Sistem

Hasil dari tahapan analisis dan perancangan system yang sebelumnya telah
dijelaskan digunakan sebagai acuan dalam mengimplementasikan system yang
dapat berfungsi sesuai kebutuhan.
4.3.1.1 Spesifikasi Perangkat Keras
Untuk mengembangkan system pendukung keputusan dalam diagnosis
diabetes maka digunakan sebuah komputer atau Laptop dengan spesifikasi
perangkat keras yang dijelaskan dalam Tabel 4.10.
Tabel 4.8 Spesifikasi Perangkat Keras
Nama Komponen
Spesifikasi
Prosesor
Intel(R) Core(TM) i5
Memori (RAM)
4Gb
Kartu Grafis
Intel(R) HD Graphics Family
Sumber: [Implementasi]
4.3.1.2 Spesifikasi Perangkat Lunak
Untuk mengembangkan system pendukung keputusan dalam diagnosis
diabetes maka digunakan sebuah komputer atau Laptop dengan spesifikasi
perangkat keras yang dijelaskan dalam Tabel 4.11.

20

Tabel 4.9 Spesifikasi Perangkat Lunak


Nama Komponen
Spesifikasi
Sistem Operasi
Microsoft Windows 7
Bahasa Pemrograman
php
Sumber: [Implementasi]
4.3.2

Batasan Implementasi
Batasan-batasan yang digunakan dalam mengimplementasikan system

pendukung keputusan untuk diagnose penyakit diabetes yaitu:

Input yang diterima oleh sistem yaitu 9 kromosom parent yang


digunakan untuk crossover dan mutasi.

Output yang diterima user adalah berupa hasil iterasi setiap generasi.

Metode yang digunakan yaitu metode Travel Salesman Problem


menggunakan algoritma genetika.

4.3.3

Implementasi Algoritma
Dalam subbab ini akan diimplementasikan hasil dari perancangan

algoritma yang telah sebelumnya.


4.3.3.1 Representasi Kromosom
Tabel 4.10 Sourcecode Representasi Kromosom
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.

$a = 0;
foreach ($kromosom as $row_kromosom) {
$parent_kromosom[$a] = $row_kromosom;
$node = explode(' ', $parent_kromosom[$a]);
$jarak = 0;
$fitness = 0;
for ($b=0; $b < 4 ; $b++) {
if ($b < 3) {
$sql_1 = "SELECT data.".$node[$b]." as
nilai FROM data WHERE data.node = ".$node[$b+1];
}
else {
$sql_1 = "SELECT data.".$node[$b]." as
nilai FROM data where data.node = ".$node[0];
}
$hasil_1 = mysql_query($sql_1);
while ($row_1 = mysql_fetch_array($hasil_1)) {
$jarak += $row_1['nilai'];

21

20.
21.
22.
23.
23.
24.
25.
26.
27.
28.

}
}
$fitness = round(10000/$jarak, 3);
$parent = "P".($a+1);
$sql_2 = "INSERT INTO populasi VALUES
('','$parent','$parent_kromosom[$a]','$jarak','$fitness','$
generasi')";
$hasil_2 = mysql_query($sql_2);
$a++;
}

Sumber : [Implementasi]
4.3.3.2. Proses Crossover
Tabel 4.11 Sourcecode Proses Crossover
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.

$index = sizeof($parent_co1);
for ($c=0; $c < $index ; $c++) {
$sql_3 = "SELECT kromosom FROM populasi where
kode = '$co1[$c]' and generasi = '$generasi'";
$hasil_3 = mysql_query($sql_3);
$sql_4 = "SELECT kromosom FROM populasi where
kode = '$co2[$c]' and generasi = '$generasi'";
$hasil_4 = mysql_query($sql_4);
while ($row = mysql_fetch_array($hasil_3)) {
$x = $row['kromosom'];
}
while ($row = mysql_fetch_array($hasil_4)) {
$y = $row['kromosom'];
}
$node_parent1 = explode(' ', $x);
$node_parent2 = explode(' ', $y);
$node_anak[] = '';
$index_node = sizeof($node_parent1);
$node_anak[0] = $node_parent1[0];
$node_anak[1] = $node_parent1[1];
for ($e=0; $e < $index_node; $e++) {
if ($node_anak[0] != $node_parent2[$e] &&
$node_anak[1] != $node_parent2[$e]) {
$node_anak[2] = $node_parent2[$e];
break;
}
}
for ($f=0; $f < $index_node; $f++) {
if ($node_anak[0] != $node_parent2[$f] &&
$node_anak[1] != $node_parent2[$f] && $node_anak[2] !=
$node_parent2[$f]) {
$node_anak[3] = $node_parent2[$f];
break;
}
}
$child_kromosom = $node_anak[0]." ".
$node_anak[1]." ".$node_anak[2]." ".$node_anak[3];
$jarak = 0;
$fitness = 0;

22

40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.

for ($g=0; $g < 4 ; $g++) {


if ($g < 3) {
$sql_5 = "SELECT data.".
$node_anak[$g]." as nilai FROM data WHERE data.node = ".
$node_anak[$g+1];
}
else {
$sql_5 = "SELECT data.".
$node_anak[$g]." as nilai FROM data where data.node = ".
$node_anak[0];
}
$hasil_5 = mysql_query($sql_5);
while ($row_5 =
mysql_fetch_array($hasil_5)) {
$jarak += $row_5['nilai'];
}
}
$fitness = round(10000/$jarak, 3);
$child = "C".($c+1);
$sql_6 = "INSERT INTO crossover VALUES
('','$co1[$c]','$x','$co2[$c]','$y','$child','$child_kromos
om','$jarak','$fitness','$generasi')";
$hasil_6 = mysql_query($sql_6);
}

Sumber : [Implementasi]
4.3.3.3 Proses Mutasi
Tabel 4.12 Sourcecode Proses Mutasi
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
23.
24.
25.

$index = sizeof($parent_m);
for ($h=0; $h < $index ; $h++) {
$sql_7 = "SELECT kromosom FROM populasi where
kode = '$mut[$h]' and generasi = '$generasi'";
$hasil_7 = mysql_query($sql_7);
while ($row = mysql_fetch_array($hasil_7)) {
$z = $row['kromosom'];
}
$node_parent3 = explode(' ', $z);
$node_anak[] = '';
$index_node = sizeof($node_parent3);
$pos1 = rand(1,3);
$pos2 = rand(1,3);
if ($pos1 == $pos2) {
if ($pos2 == 1) {
$pos2 = 3;
}
elseif ($pos2 == 2) {
$pos2 = 1;
}
elseif ($pos2 == 3) {
$pos2 = 1;
}
}
$temp = $node_parent3[$pos1];

23

26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.

$node_parent3[$pos1] = $node_parent3[$pos2];
$node_parent3[$pos2] = $temp;
$node_anak[0] = $node_parent3[0];
$node_anak[1] = $node_parent3[1];
$node_anak[2] = $node_parent3[2];
$node_anak[3] = $node_parent3[3];
$child_kromosom = $node_anak[0]." ".
$node_anak[1]." ".$node_anak[2]." ".$node_anak[3];
$jarak = 0;
$fitness = 0;
for ($i=0; $i < 4 ; $i++) {
if ($i < 3) {
$sql_8 = "SELECT data.".
$node_anak[$i]." as nilai FROM data WHERE data.node = ".
$node_anak[$i+1];
}
else {
$sql_8 = "SELECT data.".
$node_anak[$i]." as nilai FROM data where data.node = ".
$node_anak[0];
}
$hasil_8 = mysql_query($sql_8);
while ($row_8 =
mysql_fetch_array($hasil_8)) {
$jarak += $row_8['nilai'];
}
}
$fitness = round(10000/$jarak, 3);
$child = "C".($c+1);
$sql_9 = "INSERT INTO mutasi VALUES
('','$mut[$h]','$z','$child','$child_kromosom','$jarak','$f
itness','$generasi')";
$hasil_9 = mysql_query($sql_9);
$c++;
}

Sumber : [Implementasi]
4.3.3.4 Perhitungan Fitness
Tabel 4.13 Sourcecode Perhitungan Fitness
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

for ($b=0; $b < 4 ; $b++) {


if ($b < 3) {
$sql_1 = "SELECT data.".$node[$b]." as
nilai FROM data WHERE data.node = ".$node[$b+1];
}
else {
$sql_1 = "SELECT data.".$node[$b]." as
nilai FROM data where data.node = ".$node[0];
}
$hasil_1 = mysql_query($sql_1);
while ($row_1 = mysql_fetch_array($hasil_1)) {
$jarak += $row_1['nilai'];
}
}
$fitness = round(10000/$jarak, 3);

24

Sumber : [Implementasi]
4.3.3.5 Proses Seleksi Individu

Tabel 4.14 Sourcecode Seleksi Individu


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.

$sql_10 = "INSERT INTO seleksi (kode, kromosom, jarak,


fitness, generasi) (SELECT kode, kromosom, jarak, fitness,
generasi FROM populasi WHERE generasi = '$generasi')";
$hasil_10 = mysql_query($sql_10);
$sql_11 = "INSERT INTO seleksi (kode, kromosom,
jarak, fitness, generasi) (SELECT anak, kromosom_anak,
jarak, fitness, generasi FROM crossover WHERE generasi =
'$generasi')";
$hasil_11 = mysql_query($sql_11);
$sql_12 = "INSERT INTO seleksi (kode, kromosom,
jarak, fitness, generasi) (SELECT anak, kromosom_anak,
jarak, fitness, generasi FROM mutasi WHERE generasi =
'$generasi')";
$hasil_12 = mysql_query($sql_12);
//seleksi terpilih
$sql_13 = "INSERT INTO terpilih (kode, kromosom,
jarak, fitness, generasi)
(SELECT kode, kromosom, jarak, fitness,
generasi FROM seleksi WHERE generasi = '$generasi' ORDER BY
fitness DESC LIMIT $popsize)";
$hasil_13 = mysql_query($sql_13);
//pembentukan populasi baru untuk generasi
berikutnya
if ($generasi != $batas_generasi) {
$sql_14 = "SELECT kromosom, jarak, fitness FROM
terpilih WHERE generasi = '$generasi'";
$hasil_14 = mysql_query($sql_14);
$j = 0;
$generasi_baru = $generasi+1;
while ($row = mysql_fetch_array($hasil_14)) {
$kode = "P".($j+1);
$kromosom = $row['kromosom'];
$jarak = $row['jarak'];
$fitness = $row['fitness'];
$sql_15 = "INSERT INTO populasi VALUES
('','$kode','$kromosom','$jarak','$fitness','$generasi_baru
')";
$hasil_15 = mysql_query($sql_15);
$j++;
}
}
$generasi++;

Sumber : [Implementasi]
4.3.3

Implementasi Antarmuka

25

4.3.3.1 Halaman Awal


Halaman ini berfungsi untuk user memasukkan data inputan jumlah
popsize, crossover rate, mutation rate dan jumlah generasi.

Gambar 4.4 Interface Halaman Awal


Sumber : [Implementasi]

4.3.3.2 Halaman Input Representasi Kromosom


Pada halaman ini user menginputkan kromosom generasi ke 0 yang
digunakan dan parent dari proses crossover dan mutasi.

Gambar 4.5 Interface Input Representasi Kromosom


Sumber : [Implementasi]

26

4.3.3.3 Halaman Perhitungan Crossover


Pada halaman ini ditampilkan hasil perhitungan crossover berdasarkan
data input yang telah dimasukkan.

Gambar 4.6 Interface Perhitungan Crossover


Sumber : [Implementasi]
4.3.3.4 Halaman Perhitungan Mutasi
Pada halaman ini ditampilkan hasil perhitungan mutasi berdasarkan data
input yang telah dimasukkan.

Gambar 4.7 Interface Perhitungan Mutasi


Sumber : [Implementasi]

27

4.3.3.5 Halaman Seleksi Individu


Pada halaman ini ditampilkan hasil seleksi generaasi berdasarkan data
input yang telah dimasukkan.

Gambar 4.8 Interface Hasil Seleksi


Sumber : [Implementasi]

BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil uji analisis yang dilakukan. Dapat diambil kesimpulan antara lain :
1. Algoritma Genetika dapat diimplementasikan untuk menyelesaikan
permasalahan rute antar laundry.
2. Dalam sistem pengantaran laundry menggunakan Algoritma Genetika
dengan metode Travelling Salesman Problem (TSP) dengan rata-rata
fitness pada generasi ke 0 adalah 3.93
3. Dalam sistem pengantaran laundry menggunakan Algoritma Genetika
dengan metode Travelling Salesman Problem (TSP) dengan rata-rata
fitness pada generasi ke 1 adalah 4.18
5.2 Saran
Saran yang diberikan untuk pengembangan penelitian selanjutnya, antara lain :
1. Sistem pengantaran laundry menggunakan Algoritma Genetika dengan
metode Travelling Salesman Problem (TSP) bisa dimanfaatkan untuk
sistem antar jemput selain untuk pengantaran laundry yang mencari rute
terpendek pada setiap tujuannya.
2. Sistem pengantaran laundry menggunakan Algoritma Genetika dengan
metode Travelling Salesman Problem (TSP) menggunakan data jarak antar
pelanggan secara acak dan dapat dikembangkan dengan menggunakan
data jarak yang diambil secara real time.

28

DAFTAR PUSTAKA
[RFP]

Rachma Februari Putri, Penentuan Jarak Pendistribusian Rute


Terpendek Roko Sanpoerna Dengan Metode Traveling Salesman
Problem (Studi Kasus PT HM Sampoerna Tbk Malang), 2014. Malang
: Skripsi Jurusan Teknik Industri Fakultas Teknologi Industri
Universitas Pembangunan Nasional

[ITS]

Lestari,

Aisyah.

Menentukan

2010.

Lintasan

Metode
Terpendek

Traveling
Pada

Salesman

Untuk

Daerah-Daerah

Yang

Teridentifikasi Bahaya. Matematika. Fakultas MIPA . Institut


Teknologi Sepuluh November . Surabaya.
[ALEV]

Mahmudy, Wayan Firdaus. 2013. Modul Kuliah Algotirma Evolusi.


Teknik Informatika. Program Teknologi Informasi dan Ilmu
Komputer. Universitas Brawijaya. Malang

[ANO-13] Anonimous. (2013, 9). Antar Jemput Laundry Kiloan. Dipetik 4 2014,
dari

Jasa

Antar

Jemput

Secuter:

http://antarjemputsecuter.wordpress.com/
[PPW-05] Purwanto, Y., Purwitasari, D., & Wibowo, W. A. (2005).
IMPLEMENTASI DAN ANALISIS ALGORITMA PENCARIAN
RUTE TERPENDEK DI KOTA SURABAYA. Jurnal Penelitian dan
Pengembangan TELEKOMUNIKASI, 10, 1.
[GTA-99] Gambardella, L. M., Taillard, E., & Agazzi, G. (1999). A MULTIPLE
ANT COLONY SYSTEM FOR VEHICLE ROUTING PROBLEMS
WITH TIME WINDOWS. New Ideas in Optimization, 3.
[AML-13] Aulia, R ; Mukhamad Ikhsan. ; Lastika Wibisono (2013). Traveling
Salesman Problem.

Departemen Teknik Informatika. Institut

Teknologi Bandung.

29

Anda mungkin juga menyukai