skripsi disajikan sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains Program Studi Matematika oleh Erma Nurul Fitriana

Ukuran: px
Mulai penontonan dengan halaman:

Download "skripsi disajikan sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains Program Studi Matematika oleh Erma Nurul Fitriana"

Transkripsi

1 IMPLEMENTASI ALGORITMA GENETIKA DENGAN TEKNIK KENDALI LOGIKA FUZZY UNTUK MENGATASI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN MATLAB (Studi Kasus PT. Pos Indonesia DC Tugu Semarang) skripsi disajikan sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains Program Studi Matematika oleh Erma Nurul Fitriana JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS NEGERI SEMARANG 2014

2

3

4 HALAMAN MOTTO DAN PERSEMBAHAN MOTTO Barangsiapa merintis jalan mencari ilmu maka Allah akan memudahkan baginya jalan ke surga. (HR. Muslim). Bersungguh-sungguhlah engkau dalam menuntut ilmu, jauhilah kemalasan dan kebosanan karena jika tidak demikian engkau akan berada dalam bahaya kesesatan. (Imam Al Ghazali). Tiadanya keyakinanlah yang membuat orang takut menghadapi tantangan, dan saya percaya pada diri saya sendiri. (Muhammad Ali). PERSEMBAHAN 1. Untuk Ibu Dwi Mardiyanti dan Bapak Sudirno yang selalu dan tiada henti mencurahkan kasih sayang, semangat, dukungan, dan segalanya untukku. 2. Untuk Yangti yang selalu menyelipkan namaku di setiap doanya. 3. Untuk segenap keluarga besar yang telah memberikan dukungannya. 4. Untuk Mas Saeful Bakhtiar yang selalu menjadi sumber semangat dan inspirasiku. 5. Untuk Umi Latifah, Zahrina Amalia Tamimi, Istatik Rohmana, dan semua sahabat-sahabatku di jurusan Matematika 2010 yang menemani perjuanganku. 6. Untuk sahabat-sahabatku ODOJ grup 1524 yang selalu menjadi pengingat ketika malas mendera. iv

5 PRAKATA Puji syukur hadirat Allah SWT yang telah melimpahkan rahmat dan karunia-nya, sehingga penulis dapat menyelesaikan penulisan skripsi yang berjudul Implementasi Algoritma Genetika dengan Teknik Kendali Logika Fuzzy untuk Mengatasi Travelling Salesman Problem Menggunakan MATLAB (Studi Kasus PT. Pos Indonesia DC Tugu Semarang). Penulisan skripsi ini sebagai syarat mutlak yang harus dipenuhi oleh penulis untuk memperoleh gelar sarjana sains di Universitas Negeri Semarang. Penulisan skripsi ini dapat terselesaikan karena adanya bimbingan, bantuan, dan dukungan dari berbagai pihak baik secara langsung maupun tidak langsung. Oleh karena itu, penulis mengucapkan terima kasih kepada: 1. Prof. Dr. Fathur Rokhman, M.Hum, Rektor Universitas Negeri Semarang. 2. Prof. Dr. Wiyanto, M.Si, Dekan FMIPA Universitas Negeri Semarang. 3. Drs. Arief Agoestanto, M.Si, Ketua Jurusan Matematika FMIPA Universitas Negeri Semarang. 4. Endang Sugiharti, S.Si., M.Kom. Pembimbing yang telah memberikan bimbingan, motivasi, waktu, dan pengarahan. 5. Ibu dan Bapak tercinta yang selalu memberikan doa serta memberikan dukungan baik secara moral maupun spiritual. 6. Segenap keluarga besar yang telah memberikan dukungannya. 7. Sahabat-sahabat yang telah memberikan banyak motivasi, kritik, usulan yang menjadikan terselesaikannya penulisan skripsi ini. v

6 8. Mahasiswa matematika angkatan 2010 yang telah memberikan dorongan dan motivasi. 9. Semua pihak yang telah membantu terselesaikannya penulisan skripsi ini. Akhirnya penulis berharap semoga skripsi ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya. Semarang, Agustus 2014 Penulis vi

7 ABSTRAK Fitriana, Erma Nurul Implementasi Algoritma Genetika dengan Teknik Kendali Logika Fuzzy Untuk Mengatasi Travelling Salesman Problem menggunakan Matlab (Studi Kasus PT. Pos Indonesia DC Tugu Semarang). Skripsi, Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Semarang. Pembimbing: Endang Sugiharti, S.Si, M.Kom. Kata Kunci: Algoritma Genetika, Fuzzy Sugeno, MATLAB, Travelling Salesman Problem. Travelling Salesman Problem (TSP) adalah problem mencari rute optimal bagi seorang salesman yang berkeliling mengunjungi kota dengan setiap kota dikunjungi satu kali kecuali kota asal. Skripsi ini akan meneliti salah satu kasus TSP pada masalah pngirimin surat dan barang di PT. Pos Indonesia DC Tugu Semarang dengan tujuan 22 alamat penerima di wilayah Kecamatan Ngaliyan Kota Semarang. Pada penelitian ini, digunakan algoritma genetika dengan teknik kendali logika fuzzy dalam Matlab (R2009a). Pengambilan data dilakukan dengan cara mendokumentasikan data dari PT. Pos Indonesia DC Tugu Semarang. Data yang diambil berupa alamat-alamat penerima surat dan barang di wilayah Kecamatan Ngaliyan Semarang, selanjutnya dilakukan pencarian koordinat masing-masing lokasi dengan bantuan situs wikimapia.org dan melakukan survey secara langsung pada beberapa sample alamat sehingga jarak antar lokasi dapat diketahui. Analisis data dilakukan menggunakan mekanisme algoritma genetika dengan teknik kendali logika fuzzy yang diaplikasikan dalam program MATLAB. Penentuan probilitas crossover (, probabilitas mutasi (, jumlah kromosom dalam 1 generasi, dan maksimum generasi memberikan pengaruh yang signifikan terhadap solusi optimal yang bisa didapatkan. Dari hasil analisis algoritma genetika dengan teknik kendali logika fuzzy diperoleh hasil bahwa solusi optimal menggunakan masukkan populasi 100 dan generasi 1000 lebih baik dari solusi optimal yang didapatkan dengan masukkan populasi dan generasinya berturut-turut adalah (100 dan 100), (100 dan 200), (100 dan 500), (200 dan 100), (500 dan 100) dan (1000 dan 100). Kemudian didapatkan rute terbaiknya adalah dan panjang jalur terbaiknya adalah 22,63 Km dengan memasukkan populasi 100 dan generasi Dari hasil analisis, diharapkan PT Pos Indonesia DC Tugu Semarang dapat menerapkan metode perhitungan rute optimal dengan algoritma genetika dengan teknik kendali logika fuzzy pada MATLAB agar dapat mengetahui jalur terpendek pendistribusian surat dan jasa sehingga dapat menekan biaya transportasi, dan mengaplikasikannya dalam bentuk GUI agar mempermudah user dalam program tersebut. vii

8 DAFTAR ISI Halaman PRAKATA.... v ABSTRAK... vii DAFTAR ISI... viii DAFTAR GAMBAR... xiii DAFTAR TABEL... DAFTAR LAMPIRAN... xv xvi BAB 1 PENDAHULUAN Latar Belakang Perumusan Masalah Pembatasan Masalah Tujuan dan Manfaat Penelitian Manfaat Penelitian Sistematika Penulisan Bagian Awal Bagian Isi Bagian Akhir.. 6 BAB 2 LANDASAN TEORI Teori Graf Definisi Graf Jenis-jenis Graf Jalan (Walk) viii

9 2.1.4 Jejak (Trail) Lintasan (Path) Sirkuit Graf Euler dan Graf Semi-Euler Lintasan dan Sirkuit Hamilton Graf Terhubung (Connected Graph) Graf Berbobot Lintasan Terpendek Sekilas Tentang MATLAB Sejarah Travelling Salesman Problem Contoh Perkembangan Masalah yang Muncul Algoritma Genetika Fuzzy Logika Fuzzy Himpunan Fuzzy Fungsi Keanggotaan Fuzzy Sistem Inferensi Fuzzy Metode Sugeno Kendali Logika Fuzzy IF-THEN Rule Hubungan antara Algoritma Genetika dengan Kendali Logika Fuzzy Sekilas tentang MATLAB ix

10 2.6.1 Beberapa Bagian dari Window MATLAB Meminta Bantuan Interupting dan Terminating dalam MATLAB Variabel pada MATLAB Pembuatan Aplikasi Berbasis GUI Pendahuluan GUI M-File Editor 49 BAB 3 METODE PENELITIAN Menemukan masalah Merumuskan Masalah Pengambilan Data Analisis dan Pemecahan Masalah Aplikasi Kebutuhan Analisis Kebutuhan Masukan (Input) Analisis Kebutuhan Proses Analisis Kebutuhan Keluaran (Output) Perancangan Perangkat Lunak Penarikan Kesimpulan.. BAB 4 HASIL PENELITIAN DAN PEMBAHASAN Hasil Penelitian Pengkodean Kromosom Inisialisasi Populasi. 62 x

11 4.1.3 Evaluasi Individu Roulette Wheel Selection Update Probabilitas Crossover dan Probabilitas Mutasi Implementasi Program Hasil Simulasi Program Perhitungan menggunakan masukan populasi 100 dan generasi Perhitungan menggunakan masukan populasi 100 dan generasi Perhitungan menggunakan masukan populasi 100 dan generasi Perhitungan menggunakan masukan populasi 100 dan generasi Perhitungan menggunakan masukan populasi 200 dan generasi Perhitungan menggunakan masukan populasi 500 dan generasi Perhitungan menggunakan masukan populasi 1000 dan generasi Analisis Penyelesaian Travelling Salesman Problem Menggunakan Aplikasi Algoritma Genetika dengan Teknik Kendali Logika Fuzzy dalam Pengiriman Surat dan Barang di PT. Pos Indonesia DC Tugu 88 xi

12 4.2 Pembahasan 91 BAB 5 PENUTUP Simpulan Saran. 95 DAFTAR PUSTAKA.. 96 xii

13 DAFTAR GAMBAR Gambar Halaman 2.1 Gambar Contoh Graf G Gambar Graf berdasarkan orientasi arah (a) graf berarah dan (b) graf tak berarah Gambar Jalan pada Graf G Gambar Jejak pada Graf G Gambar Lintasan pada Graf G Gambar Sirkuit pada Graf G Gambar Eulerian pada Graf G Gambar Hamiltonian pada Graf G Gambar (a) Graf Terhubung, (b) Graf tak terhubung Gambar Contoh Graf Berbobot Gambar Ilustrasi Seleksi dengan Mesin Roulette Gambar Contoh gen sebelum dan sesudah mutasi dengan pengkodean pohon Gambar Himpunan fuzzy untuk variabel umur Gambar Himpunan fuzzy pada variabel temperatur Grafik liner naik Grafik linear turun Grafik Representasi fungsi segitiga

14 2.18 Grafik Keanggotaan bilangan fuzzy A Grafik Bilangan Fuzzy L-R Diagram fuzzy sugeno Diagram Konsep umum kronologi proses..... xiii Gambar Halaman depan wikimapia Gambar Hasil pencarian tempat Menu Login wikimapia Gambar Hasil pengukuran jarak Gambar Posisi 22 Alamat dalam Grafik Gambar Sintak inisialisasi populasi Gambar Sintak evaluasi individu Gambar Sintak Roulette Wheel Selection Tampilan Fuzzy sugeno Tampilan TSP Tampilan Hasil Uji Tampilan Tampilan Koordinat Kota atau Alamat Dituju Tampilan TSP Setelah Memasukan Koordinat Kota, Populasi, dan Generasi Gambar Hasil pencarian mutasi dan probabilitas crossover Tampilan TSP setelah dijalankan Tampilan grafik rute koordinat alamat tujuan Tampilan Hasil uji pada populasi 100 dan generasi Tampilan Data yang telah disimpan pada excel. 73

15 4.15 Proses Perhitungan dengan panjang jalur terbaik 22,63 90 DAFTAR TABEL Tabel xiv Halaman 4.1 Tabel Hasil Perhitungan mengunakan Populasi 100 dan Generasi Tabel Hasil Perhitungan mengunakan Populasi 100 dan Generasi Tabel Hasil Perhitungan mengunakan Populasi 100 dan Generasi Tabel Hasil Perhitungan mengunakan Populasi 100 dan Generasi Tabel Hasil Perhitungan mengunakan Populasi 200 dan Generasi Tabel Hasil Perhitungan mengunakan Populasi 500 dan Generasi Tabel Hasil Perhitungan mengunakan Populasi 1000 dan Generasi Tabel Hasil Panjang Jalur Terbaik Tabel Hasil Mutasi dan Probabilitas Crossover

16 DAFTAR LAMPIRAN xv Lampiran 1 Nama, Alamat, dan Kode Lokasi Penerimaan Surat dan Barang dari PT Pos Indonesia DC Tugu Semarang. 99 Lampiran 2 Kode Lokasi, Koordinat X, Koordinat Y pada Alamat Penerima Surat dan Barang dari PT Pos Indonesia DC Tugu Semarang Lampiran 3 Jarak Antartitik Koordinat Lampiran 4 Tampilan Simulasi Matlab Lampiran 5 Kode Program Lampiran 6 Lampiran 7 Tampilan dan Hasil Uji (Excel) dengan Pengujian 10 kali... Tampilan Graf Rute Terbaik Pengiriman Surat Dan Barang PT. Pos Indonesia DC Tugu Lampiran 8 Tabel Populasi Awal Lampiran 9 Nilai Fitness dalam Suatu Populasi Lampiran 10 Probabilitas Fitness dan Nilai Kumulatifnya Lampiran 11 Hasil Seleksi Roulette Wheel Lampiran 12 Semesta Pembicaraan, Domain, Fungsi Keanggotaan dan Aturan Fuzzy.. 159

17 xvi Halaman

18

19 BAB 1 PENDAHULUAN 1.1 Latar Belakang Proses pendistribusian surat dan barang adalah kegiatan yang tidak pernah lepas dari kehidupan. Jarak yang jauh serta penyebaran masyarakat yang meluas menjadi salah satu alasan bagi masyarakat untuk menggunakan jasa pengiriman barang daripada mengantar sendiri barang yang akan dikirimkan. Permasalahan pendistribusian barang menjadi poin penting bagi perusahaan penyedia jasa pengiriman barang maupun surat. Hal ini sangat memerlukan pertimbangan dan perhitungan yang tepat karena berkaitan dengan biaya transportasi yang harus dikeluarkan dalam proses pendistribusian. PT. Pos Indonesia merupakan salah satu perusahaan yang bergerak dalam bidang pengiriman barang maupun surat di Indonesia. PT. Pos Indonesia sendiri memiliki cabang di setiap kota di seluruh Indonesia. Dalam mengirimkan barang maupun surat dari pusat ke pelanggan di berbagai tempat dan di banyak kota, perlu adanya suatu sistem yang mampu meminimalisasi biaya pengiriman dan sehingga akan didapatkan keuntungan yang paling maksimal. Permasalahan seperti ini merupakan masalah model jaringan yang sama dengan permasalahan pada pedagang kaki lima atau biasa disebut Travelling Salesman Problem (TSP). TSP merupakan salah satu masalah optimalisasi. TSP adalah suatu permasalahan untuk menemukan siklus Hamilton yang memiliki total bobot sisi minimum. TSP bertujuan mencari rute dari kota asal ke kota-kota yang dituju 1

20 2 dengan syarat setiap kota hanya dapat dikunjungi satu kali kecuali kota awal. Banyak algoritma yang diterapkan pada permasalahan TSP di antaranya adalah nearest neighbor heuristic, cheapest insertion heuristic, two way exchange improvement heuristic, nearest insertion heuristic, ant colony optimation, dan branch and bound method. Terdapat algoritma lain yang dapat digambarkan sebagai metode untuk menemukan solusi dari suatu permasalahan TSP, yaitu Algoritma Genetika serta mengkombinasikannya pada teknik kendali Logika Fuzzy dengan harapan memperoleh rute dengan kualitas terbaik dari Algoritma Genetika. Pada prinsipnya, teknik kendali Logika Fuzzy digunakan untuk mengontrol nilai paramater Algoritma Genetika pada suatu generasi secara otomatis (automatic fine-tuning) berdasarkan informasi yang diperoleh dari populasi sebelumnya. Selain dengan menggunakan penyelesaian secara manual, seiring dengan keberhasilan perkembangan dan penerapan teknologi, masalah-masalah optimalisasi dapat diselesaikan secara lebih cepat dan mudah. Perhitungan yang begitu rumit jika diselesaikan secara manual, sekarang dapat diselesaikan dalam waktu yang relatif lebih singkat. Terdapat beberapa software komputer yang memungkinkan permasalahan-permasalahan optimalisasi terselesaikan secara lebih mudah dan lebih cepat. Beberapa program tersebut antara lain adalah software Lindo, MATLAB, QM for Windows, SkyNet, Solver, dan WinQSB. Dari latar belakang yang telah disebutkan di atas, dalam skripsi ini penulis ingin mencoba menyelesaikan permasalahan jaringan TSP yang terdapat pada suatu perusahaan. Selain menggunakan penyelesaian manual dengan algoritma

21 3 genetika, penulis juga akan menyelesaikan masalah optimalisasi ini dengan suatu software komputer yaitu MATLAB. Dengan dipilihnya penyelesaian jaringan TSP melalui Algoritma Genetika dengan teknik kendali Logika Fuzzy menggunakan MATLAB, diharapkan akan diperoleh solusi permasalahan jaringan TSP paling optimal sehingga dapat meminimalkan pengeluaran perusahaan melalui jarak yang paling minimal. 1.2 Perumusan Masalah Permasalahan yang akan dikaji dalam penelitian ini adalah sebagai berikut. 1. Bagaimana hasil pencarian jarak minimum dari jaringan TSP dalam pengiriman surat dan barang di PT. Pos Indonesia DC Tugu Semarang menggunakan Algoritma Genetika dengan teknik kendali Logika Fuzzy dalam aplikasinya pada MATLAB? 2. Bagaimana rute jaringan TSP yang mempunyai jarak minimum dalam pengiriman surat dan barang dengan menggunakan Algoritma Genetika dengan teknik kendali Logika Fuzzy di PT. Pos Indonesia DC Tugu Semarang? 1.3 Pembatasan Masalah Dalam penyusunan skripsi ini, penulis membahas tentang penentuan jarak minimum dan rute optimal dari jaringan TSP pada pengiriman barang maupun surat di PT. Pos Indonesia DC Tugu Semarang menggunakan Algoritma Genetika dengan teknik Kendali Logika Fuzzy. Permasalahan diasumsikan sebagai sebuah

22 4 TSP simetris, di mana jarak dari kota 1 ke kota 2 sama dengan jarak dari kota 2 ke kota 1. Software yang digunakan dalam penelitian ini adalah MATLAB. 1.4 Tujuan Penelitian Adapun tujuan yang diharapkan pada penelitian ini adalah sebagai berikut. 1. Menentukan rute optimal jaringan TSP yang mempunyai jarak minimum dalam pengiriman surat dan barang dengan menggunakan Algoritma Genetika dengan teknik kendali Logika Fuzzy di PT. Pos Indonesia DC Tugu Semarang dalam aplikasinya pada MATLAB. 2. Menentukan hasil pencarian jarak minimum dari jaringan TSP dalam pengiriman surat dan barang di PT. Pos Indonesia DC Tugu Semarang menggunakan Algoritma Genetika dengan teknik kendali Logika Fuzzy. 1.5 Manfaat Penelitian Adapun manfaat yang diharapkan pada penelitian ini adalah sebagai berikut. 1. Dapat menambah wawasan dan pengetahuan tentang pendistribusian dan transportasi suatu jaringan. 2. Dapat menerapkan Algoritma Genetika dengan teknik kenali Logika Fuzzy dalam menyelesaikan TSP. 3. Dapat menerapkan software Matlab dalam penyelesaian jaringan distribusi surat dan barang.

23 5 1.6 Sistematika Penulisan Sistematika berguna untuk memudahkan dalam memahami jalan pemikiran skripsi secara keseluruhan. Penulisan skripsi ini secara garis besar dibagi menjadi 3 bagian yaitu sebagai berikut Bagian Awal Bagian ini berisikan halaman judul, abstrak, halaman pengesahan, halaman motto dan persembahan, kata pengantar, daftar isi, daftar tabel, daftar gambar dan daftar lampiran Bagian Isi Bagian ini berisikan 5 bab, yaitu: BAB I. PENDAHULUAN Berisi gambaran secara global tentang isi skripsi yaitu latar belakang masalah, rumusan pemasalahan, pembatasan masalah, tujuan penelitian dan manfaat penelitian serta sistematika penulisan. BAB II. LANDASAN TEORI Landasan teori akan menguraikan tentang definisi maupun pemikiran-pemikiran yang dijadikan kerangka teoritis dalam mendasari pemecahan dari permasalahan pada penelitian ini yaitu masalah rute optimal dan jarak minimal dari jaringan TSP dalam pengiriman surat dan barang di PT. Pos Indonesia DC Tugu Semarang yang akan diselesaikan dengan algoritma Genetika dengan teknik kendali Logika Fuzzy menggunakan software Matlab. Bagian ini dibagi menjadi beberapa sub bab yaitu Teori Graf, Travelling Salesman Problem (TSP), Algoritma Genetika, Logika Fuzzy Hubungan antara Algoritma Genetika dengan kendali logika fuzzy.

24 6 BAB III. METODE PENELITIAN Bab ini menguraikan langkah-langkah kerja yang akan ditempuh, meliputi menemukan masalah, pengambilan data, analisis dan pemecahan masalah, serta penarikan simpulan. BAB IV. HASIL PENELITIAN DAN PEMBAHASAN Bab ini berisi pembahasan dari permasalahan yang dikemukakan. Bab ini dibagi menjadi dua sub bab, yaitu hasil penelitian dan pembahasan. Hasil penelitian berisi hasil perhitungan dan analisis data yang diperoleh dari studi pustaka maupun pemecahan kasus penentuan rute dan jarak minimum dari jaringan TSP pada pengiriman surat dan barang di PT. Pos Indonsia DC Tugu Semarang menggunakan Algoritma Genetika dengan teknik kendali Logika Fuzzy dalam aplikasinya di MATLAB. BAB V. PENUTUP Bab ini dibagi menjadi dua sub bab, yaitu simpulan dan saran. Simpulan berisi tentang garis besar isi dalam skripsi, sedangkan saran berupa komentar, sanggahan yang bersifat menyarankan kepada perusahaan bergantung dengan variabel yang ada dalam skripsi Bagian Akhir Bagian ini berisi daftar pustaka sebagai acuan penulisan dan lampiran yang mendukung kelengkapan skripsi.

25 BAB 2 LANDASAN TEORI 2.1 Teori Graf Definisi Graf Sebuah graf berisikan dua himpunan yaitu himpunan berhingga tak kosong dari objek-objek yang disebut titik dan himpunan berhingga (mungkin kosong) yang elemen-elemennya disebut sisi sedemikian hingga setiap elemen dalam merupakan pasangan tak berurutan dari titik-titik di Himpunan disebut himpunan titik dan himpunan disebut himpunan sisi. Misalkan dan adalah dua titik di dan (sering ditulis adalah sebuah sisi. Titik dan titik berhubungan langsung (adjacent) di ; sisi menghubungkan (joining) titik dan titik di ; dan titik-titik akhir sisi ; sisi terkait (incident) dengan titik dan titik (Budayasa, 2007: 1-2) Definisi di atas menyatakan bahwa tidak boleh kosong, sedangkan boleh kosong. Jadi, sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi titiknya harus ada, minimal satu. Graf yang hanya mempunyai satu buah titik tanpa sebuah sisi pun dinamakan graf trivial (Munir, 2010: 356) 7

26 8 Contoh 2.1: Sebuah graf dengan dan. ; ; ; ; ; v 1 e 4 v 3 e 1 e 5 e 3 e6 v 2 e 2 v 4 Gambar 2.1 Contoh Graf G Jenis-jenis Graf Berdasarkan orientasi arah pada sisi, graf dibedakan atas dua jenis: (a) Graf Berarah (Directed Graph atau Digraph) Graf berarah adalah graf yang setiap sisinya mempunyai orientasi arah. Sisi beararah disebut dengan sebutan busur (arc). Pada Graf berarah, dan menyatakan dua buah busur yang berbeda, dengan kata lain. Untuk busur, titik dinamakan titik awal (initial vertex) dan titik dinamakan titik terminal (terminal vertex) (Munir, 2010: 358). (b) Graf Tak-Berarah (Undirected Graph atau Undigraph) Graf tak-berarah adalah graf yang sisinya tidak mempunyai orientasi arah. Pada graf tak berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. jadi adalah sisi yang sama (Munir, 2010: 358).

27 9 v 1 v 3 v 1 e 4 v 3 e 1 e 5 e 3 v 2 v 4 v 2 e 2 v 4 (a) (b) Gambar 2.2 Graf berdasarkan orientasi arah (a) graf berarah dan (b) graf tak berarah Jalan (Walk) Misalkan adalah sebuah graf. Sebuah jalan (walk) di adalah sebuah barisan berhingga (tak kosong) yang sukusukunya bergantian sedemikian hingga dan adalah titik-titik akhir sisi untuk. Dikatakan adalah sebuah jalan dari titik ke titik, atau jalan-. Titik dan titik berturut-turut disebut titik awal dan titik akhir. Sedangkan titik-titik disebut titik internal ; dan disebut panjang jalan dengan panjang positif disebut tertutup, jika titik awal dan akhir dari identik (sama) (Budayasa, 2007: 6)

28 10 v 1 v 2 e 1 e 4 e 2 v 5 e 3 e 5 e 6 e 7 v 3 v 4 Gambar 2.3 Jalan pada graf misalnya Jejak (Trail) Sebuah titik, mungkin saja muncul lebih dari satu kali dalam jalan, begitu juga dengan sebuah sisi, boleh muncul lebih dari satu kali pada jalan. Jika semua dalam jalan berbeda, maka disebut sebuah jejak (trail) (Budayasa, 2007: 6). v 1 v 2 e 1 e 4 e 2 v 5 e 3 e 5 e 6 e 7 Gambar 2.4 Jejak pada Graf v 3 v 4 misalnya Lintasan (Path) Jika semua titik dalam jejak berbeda, maka disebut lintasan (path) (Budayasa, 2007: 6). Dalam penulisan skripsi ini lintasan diartikan sama dengan rute sehingga dapat dituliskan bergantian. Lintasan adalah jejak,

29 11 akan tetapi tidak semua jejak adalah lintasan. Panjang lintasan pada sebuah graf berbobot adalah jumlah bobot semua sisi pada lintasan tersebut. Pada Gambar 2.5 jalan bukan lintasan, sedangkan adalah lintasan. adalah jejak tetapi v 1 v 2 e 1 e 4 e 2 v 5 e 3 e 5 e 6 e 7 v 3 v 4 Gambar 2.5 Lintasan pada graf misalnya Sirkuit Jejak yang berawal dan berakhir pada titik yang sama disebut sirkuit (Budayasa, 2007: 6). Sebuah sirkuit dikatakan sirkuit sederhana (simple circuit) jika sirkuit tersebut tidak memuat atau melewati sisi yang sama dua kali (setiap sisi yang dilalui hanya satu kali). Sebuah sirkuit dikatakan sirkuit dasar (elementary circuit) jika sirkuit tersebut tidak memuat atau melewati titik yang sama dua kali (setiap titik yang dilalui hanya satu kali, titik awal dan akhir boleh sama).

30 v 1 v 2 e 1 12 e 4 e 2 v 5 e 3 e 5 e 6 e 7 v 3 v 4 Gambar 2.6 Sirkuit pada graf misalnya Graf Euler dan Graf Semi-Euler Sebuah sirkuit di graf yang memuat semua sisi disebut sirkuit Euler. Jika graf memuat sirkuit Euler, maka graf disebut graf Euler. Sebuah jejak buka yang memuat semua sisi graf disebut jejak Euler. Graf Euler jika memuat jejak Euler (Budayasa, 2007: 113) disebut graf semi (a) 4 6 (b) 7 Gambar 2.7 Eulerian pada graf Keterangan gambar: (a) Graf (b) Graf memiliki Jejak Euler misal memiliki Sirkuit Euler misalnya.

31 Lintasan dan Sirkuit Hamilton Misalkan sebuah graf. Sebuah lintasan yang memuat semua titik di disebut lintasan Hamilton. Graf non Hamilton yang memuat lintasan Hamilton disebut graf semi-hamilton (Budayasa, 2007: 130). Sirkuit Hamilton adalah sirkuit yang melalui tiap titik di dalam graf tepat satu kali, kecuali titik asal (sekaligus titik akhir) yang dilalui dua kali. Graf Hamilton adalah graf yang memiliki sirkuit Hamilton (Munir, 2001: 232) Keterangan gambar: (a) (b) (c) Gambar 2.8 Hamiltonian pada graf (a) Graf (b) Graf (c) Graf memiliki lintasan Hamilton misalnya memiliki sirkuit Hamilton misalnya tidak memiliki lintasan maupun sirkuit Hamilton Graf Terhubung (Connected Graph) Suatu graf dikatakan terhubung (connected) jika untuk setiap dua titik yang berbeda terdapat sebuah lintasan yang menghubungkan kedua titik tersebut.

32 14 Sebaliknya graf adalah sebuah graf bagian terhubung maksimal (titik dan sisi) dari (Budayasa, 2007: 8). Graf dikatakan graf bagian terhubung maksimal dari graf apabila tidak ada graf bagian lain dari yang terhubung dan memuat. Jadi setiap graf terhubung memiliki tepat satu komponen sedangkan graf tidak terhubung memiliki paling sedikit dua komponen. Contoh 2.2 Diberikan graf seperti Gambar 2.9. v 1 e 4 v 3 v 1 e 4 v 3 e 1 e 5 e 3 e 1 e 5 e 3 v 2 e 2 (a) v 4 v 2 e 2 (b) v 4 Gambar 2.9 (a) Graf Terhubung, (b) Graf Tak Terhubung Graf Berbobot Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). Bobot pada setiap sisi dapat menyatakan jarak dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh pesan dari simpul ke komunikasi lain, dan sebagainya (Munir, 2005: 357) Diberikan graf berbobot seperti pada Gambar 2.10

33 Gambar 2.10 Contoh Graf Berbobot Dari gambar 2.10, dapat dijelaskan bobot dari masing-masing sisi, yaitu: Lintasan Terpendek (Shortest Path) Permasalahan mencari lintasan terpendek di dalam graf merupakan salah satu permasalahan optimasi. Graf yang digunakan dalam pencarian lintasan terpendekadalah graf berbobot (weighted graf) yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan adalah semua bobot bernilai positif. Kata terpendek jangan selalu diartikan secara fisik sebagai panjang minimum, sebab kata terpendek berbeda-beda maknanya bergantung pada tipikal persoalan yang akan

34 16 diselesaikan. Namun secara umum terpendek berarti meminimisasi bobot pada suatu lintasan di dalam graf. (Munir, 2010: 412) Panjang lintasan dalam sebuah graf berbobot adalah jumlah bobot semua sisi pada lintasan tersebut. Misalkan dan dua titik di graf. Lintasan-( di dengan panjang minimum disebut lintasan terpendek antara dan. jarak dari ke, dinotasikan dengan atau didefinisikan sebagai panjanglintasan terpendek antara titik dan titik di. (Budayasa, 2007: 47) Ada beberapa macam persoalan lintasan terpendek adalah sebagai berikut. 1. Lintasan terpendek antara dua buah titik tertentu. 2. Lintasan terpendek antara semua pasangan titik. 3. Lintasan terpendek dari simpul tertentu ke semua titik yang lain. 4. Lintasan terpendek antara dua buah titik yang melalui beberapa titik tertentu. 2.2 Travelling Salesman Problem (TSP) Persoalan TSP merupakan salah satu persoalan kombinatorial. Banyak permasalahan yang dapat direpresentasikan dalam bentuk TSP. Persoalan ini sendiri menggunakan representasi graf untuk memodelkan persoalan yang diwakili sehingga lebih memudahkan penyelesaiannya. Diantara permasalahan yang dapat direpresentasikan dengan TSP adalah masalah transportasi, efisiensi pengiriman surat atau barang, perancangan pemasangan pipa saluran, proses pembuatan Printed Cirtcuit Board (PCB), dan lain-lain. Persoalan yang muncul adalah bagaimana cara mengunjungi simpul (node) pada graf dari titik awal ke setiap titik-titik lainnya dengan bobot minimum (biaya paling murah). Bobot atau

35 17 biaya ini sendiri dapat mewakili berbagai hal, seperti biaya, jarak, bahan bakar, waktu, kenyamanan dan lain-lain (Zulfikar, 2008:3-4). Pada TSP, jumlah jalur yang mungkin terjadi dapat diperoleh dengan menggunakan rumus permutasi berikut ini:.... (2.1) di mana n adalah jumlah seluruh node dan k adalah jumlah node yang diseleksi. Terdapat dua jenis TSP, yaitu asimetris dan simetris. Pada TSP asimetris, biaya dari node 1 ke node 2 tidak sama dengan biaya dari node 2 ke node 1. Sedangkan pada TSP simetris, biaya dari node 1 ke node 2 sama dengan biaya dari node 2 ke node 1. Untuk TSP asimetris, jumlah jalur yang mungkin adalah permutasi dari jumlah node dibagi dengan jumlah node. Hal ini dapat dipahami karena secara siklus, sebuah jalur dengan urutan adalah sama dengan jalur dan Tetapi jalur dengan urutan tidak sama dengan Jadi apabila terdapat 27 node, maka jalur yang mungkin untuk TSP asimetris adalah:.. (2.2) Sedangkan untuk TSP simetris, jumlah jalur yang mungkin adalah permutasi dari jumlah node dibagi dengan dua kali jumlah node. Hal ini dapat dipahami karena secara siklus sebuah jalur dengan urutan adalah sama dengan jalur dan Karena biaya dari node 1 ke node 2 sama dengan biaya dari node 2 ke node 1, maka jalur dengan urutan sama dengan jalur Jadi apabila terdapat 27 node, maka jalur yang mungkin untuk TSP simetris adalah:

36 18...(2.3) Sejarah Travelling Salesman Problem Permasalahan matematik yang berkaitan dengan Travelling Salesman Problem mulai muncul sekitar tahun 1800-an. Masalah ini dikemukakan oleh dua orang matematikawan, yaitu Sir William Rowan Hamilton yang berasal dari Irlandia dan Thomas Penyngton Kirkman yang berasal dari Inggris. Diskusi mengenai awal studi dari persoalan TSP ini dapat ditemukan di buku Graph Theory by N.L. Biggs, E.K. LLoyd, and R.J. Wilson, Clarendon Press, Oxford, Bentuk umum dari persoalan TSP pertama kali dipelajari oleh para matematikawan mulai tahun 1930 di Vienna dan Harvard. Persoalan tersebut kemudian dikembangkan oleh Hassler Whitney dan Merril Flood di Princeton. Penelitian secara mendetail hubungan antara Menger dan Whitney, dan perkembangan persoalan TSP sebagai sebuah topik studi dapat ditemukan pada tulisan Alexander Schriver On the history of combinatorial optimization (till 1960) (Zulfikar, 2008:4) Contoh Perkembangan Masalah yang Muncul Kode program komputer yang dibuat untuk menyelesaikan persoalan TSP telah berkembang semakin baik dari tahun ke tahun. Tanda yang paling mencolok dari perkembangan metode untuk menyelesaikan persoalan TSP adalah bertambahnya jumlah simpul (node) yang dapat diselesaikan, mulai dari solusi persoalan 49 kota yang dikembangkan oleh Dantzig, Fulkerson, dan Johnson's

37 19 pada tahun 1954 sampai kepada solusi persoalan kota pada tahun 2004, data-data tersebut didapat dari National Imagery and Mapping Agency, sebuah database nasional yang menyimpan nama-nama fitur geografi (Zulfikar, 2008:5-6). 2.3 Algoritma Genetika Algoritma genetika adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetika. Algoritma genetika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi kompleks, yang sulit dilakukan oleh metode konvensional. (Desiani, 2006: 187) Algoritma genetika pertama kali diperkenalkan oleh John Holland (1975) dari Universitas Michigan. John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan ke dalam terminologi genetika. Goldberg mendefinisikan algoritma genetika ini sebagai suatu pencarian algoritma berdasarkan pada mekanisme seleksi alam dan genetika alam (Desiani, 2006:187). Beberapa definisi penting dalam algoritma genetika, yaitu: 1. Genotip (Gen) adalah sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa bernilai biner, float, integer maupun karakter. 2. Allel adalah nilai dari gen. 3. Kromosom adalah gabungan gen-gen yang membentuk nilai tertentu.

38 20 4. Individu menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat. 5. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. 6. Generasi menyatakan satu satuan siklus proses evolusi. 7. Nilai fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan. Ciri-ciri permasalahan yang dikerjakan dengan menggunakan algoritma genetika adalah: 1. Mempunyai fungsi tujuan optimalisasi non linear dengan banyak kendala yang juga non linear. 2. Mempunyai kemungkinan solusi yang jumlahnya tak berhingga. 3. Membutuhkan solusi real-time dalam arti solusi bisa didapatkan dengan cepat sehingga dapat diimplementasikan untuk permasalahan yang mempunyai perubahan yang cepat seperti optimasi pada pembebanan kanal pada komunikasi seluler. 4. Mempunyai multi-objektif dan multi-kriteria, sehingga diperlukan solusi yang dapat secara bijak diterima oleh semua pihak (Basuki, 2003:4). Struktur umum algoritma genetika dapat didefinisikan dengan langkah-langkah sebagai berikut (Wibowo, 2009:13).

39 21 1. Membangkitkan populasi awal Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari sejumlah kromosom yang mempresentasikan solusi yang diinginkan. 2. Membentuk generasi baru Dalam membentuk generasi baru digunakan tiga operator yaitu operator reproduksi/seleksi, crossover dan mutasi. Proses ini dilakukan berulang-ulang hingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru. 3. Evaluasi solusi Proses ini akan mengevalusi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti yang sering digunakan antara lain: a. Berhenti pada generasi tertentu. b. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah. c. Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi. Komponen-komponen utama algoritma genetika (Kusumadewi, 2003: 14).

40 22 1. Teknik pengkodean Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke dalam suatu kromosom sebagai suatu kunci pokok persoalan ketika menggunakan algoritma genetika. Teknik pengkodean ini meliputi pengkodean gen dan kromosom. Gen merupakan bagian dari kromosom. Satu gen bisa mewakili satu variabel. Gen dapat direpresentasikan dalam bentuk string bit, pohon, array bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi lainnya yang dapat diimplementasikan untuk operator genetika. 2. Prosedur inisialisasi Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada. 3. Evaluasi fitness Evalusi fitness merupakan dasar untuk proses seleksi. Langkah-langkahnya yaitu string dikonversi ke parameter fungsi, fungsi objektifnya dievaluasi, kemudian mengubah fungsi objektif tersebut ke dalam fungsi fitness, dimana untuk maksimasi problem, fitness sama dengan fungsi objektifnya. Output dari fungsi fitness dipergunakan sebagai dasar untuk menyeleksi individu pada generasi berikutnya.

41 23 Untuk permasalahan minimalisasi, nilai fitness adalah inversi dari nilai maksimal yang diharapkan. Proses inversi dapat dilakukan dengan rumusan, dengan x merupakan kromosom (Basuki, 2003:17). atau Keterangan: A x : konstanta yang ditentukan : individu (kromosom) : nilai fungsi kromosom : bilangan kecil yang ditentukan untuk menghindari pembagi nol atau 4. Seleksi Seleksi ini bertujuan memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling baik. Ada beberapa metode seleksi dari induk, antara lain: a. Rank-Based Fitness Pada Rank-Based fitness, populasi diurutkan menurut nilai objektifnya. Nilai fitness tiap-tiap individu hanya tergantung pada posisi individu tersebut dalam urutan, dan tidak dipengaruhi oleh nilai objektifnya. b. Roulette Wheel Selection Metode seleksi dengan mesin roulette ini merupakan metode yang paling sederhana dan sering dikenal dengan nama stochastic sampling with replacement. Cara kerja metode ini adalah sebagai berikut.

42 24 1). Menghitung nilai fitness dari masing-masing individu (f i, dimana i adalah individu ke-1 sampai dengan ke-n). 2). Menghitung total fitness semua individu. 3). Menghitung probabilitas masing-masing individu. 4). Dari probabilitas tersebut dihitung jatah masing-masing individu pada angka 1 sampai ). Membangkitkan bilangan random antara 1 sampai ). Dari bilangan random yang dihasilkan, menentukan individu mana yang 7). terpilih dalam proses seleksi. Individu 1 : fitness = 10% Individu 2 : fitness = 25% Individu 3 : fitness = 40% Individu 4 : fitness = 15% Individu 5 : fitness = 10% Jatah untuk individu 1 : 1-10 Jatah untuk individu 2 : Jatah untuk individu 3 : Jatah untuk individu 4 : Jatah untuk individu 5 : Individu Terpilih Random 30 individu 2 Dibangkitkan bilangan random antara sebanyak 5 kali Random 88 individu 4 Random 64 individu 3 Random 18 individu 2 Random 44 individu 3 Gambar 2.11 Ilustrasi Seleksi dengan Mesin Roullete

43 25 c. Stochastic Universal Sampling Pada metode ini, individu-individu dipetakan dalam suatu segmen garis secara berurutan sedemikian hingga tiap-tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness-nya seperti halnya pada seleksi roda roulette. Kemudian diberikan sejumlah pointer sebanyak individu yang ingin diseleksi pada garis tersebut. Andaikan N adalah jumlah individu yang akan diseleksi, maka jarak antar pointer adalah 1/N, dan posisi pointer pertama diberikan secara acak pada range [1, 1/N]. d. Truncation Selection Seleksi ini biasanya digunakan oleh populasi yang jumlahnya sangat besar. Pada metode ini, individu-individu diurutan berdasarkan nilai fitness-nya. Hanya individu-individu yang terbaik saja yang akan diseleksi sebagai induk. Parameter yang digunakan dalam metode ini adalah suatu nilai ambang trunk yang mengindikasikan ukuran populasi yang akan diseleksi sebagai induk yang berkisar antara 50%-100%. Individu-individu yang ada di bawah nilai ambang ini tidak akan menghasilkan keturunan. e. Tournament Selection Pada metode seleksi dengan turnamen, ditetapkan suatu nilai tour untuk individu-individu yang dipilih scara acak dari suatu populasi. Individuindividu yang terbaik dalam kelompok ini akan diseleksi sebagai induk. Parameter yang digunakan pada metode ini adalah ukuran tour yang bernilai antara 2 sampai N (jumlah individu dalam suatu populasi). 5. Crossover 8

44 26 Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam suatu populasi. Beberapa jenis crossover tersebut adalah: a. Crossover Diskret Proses crossover dilakukan dengan menukar nilai variabel antar kromosom induk. Misalkan ada 2 individu dengan 3 variabel, yaitu: Induk 1: Induk 2: Untuk tiap-tiap variabel induk yang menyumbangkan variabelnya ke anak dipilih secara acak dengan probabilitas yang sama. Sampel 1: Sampel 2: Kromosom baru yang terbentuk: Anak 1: Anak 2: b. Crossover Intermediate (menengah) Crossover menengah merupakan metode crossover yang hanya dapat digunakan untuk variabel real. Nilai variabel anak dipilih di sekitar dan antara nilai-nilai variabel induk. Anak dihasilkan menurut aturan sebagai berikut. Anak = induk 1 + alpha (induk 2 induk 1) Dengan alpha adalah faktor skala yang dipilih secara random pada interval [- d, 1+d], biasanya d = 0,25. Tiap-tiap variabel pada anak merupakan hasil crossover variabel-variabel menurut aturan di atas dengan nilai alpha dipilih ulang untuk tiap variabel.

45 27 Misalkan ada 2 individu dengan 3 variabel, yaitu: Induk 1: Induk 2: Misalkan nilai alpha yang terpilih adalah: Sampel 1: 0,5 1,1-0,1 Sampel 2: 0,1 0,8 0,5 Kromosom baru yang terbentuk Anak 1: 67,5 1,9 2,1 Anak 2: 23,1 8,2 19,5 c. Crossover Garis Pada dasarnya crossover garis ini sama dengan crossover menengah, hanya saja nilai alpha untuk semua variabel sama. Misalkan ada 2 individu dengan 3 variabel, yaitu: Induk 1: Induk 2: Alpha yang dipilih adalah: Sampel 1: 0,5 Sampel 2: 0,1 Kromosom baru yang terbentuk : Anak 1: 67,5 14,5 19,5 Anak 2: 23,1 22,9 7,9 d. Crossover dengan Permutasi

46 28 Pada penyilangan permutasi ini kromosom-kromosom anak diperoleh dengan cara memilih sub barisan tour dari satu induk dengan tetap menjaga urutan dan posisi sejumlah gen yang mungkin terhadap induk yang lainnya. Contoh crossover dengan permutasi: Misal Induk 1: ( ) Induk 2: ( ) Anak 1: (x x x x x) Anak 2: (x x x x x) Dari sini kita memperoleh pemetaan: 1-4, 8-5, 7-6, 6-7 Kemudian copy sisa gen di induk 1 ke anak 1 dengan menggunakan pemetaan yang sudah ada. Anak 1: ( ) Anak 1: ( ) Lakukan hal yang sama untuk anak 2. Anak 2: ( ) e. Order Crossover Order crossover merupakan cara crossover dengan menukar kromosom dengan tetap menjaga urutan gen yang bukan bagian dari kromosom tersebut. Contoh order crossover adalah: Misalkan ada 3 kromosom induk yang akan dilakukan crossover: Kromosom [1] = [ABCD]

47 29 Kromosom [2] = [BACD] Kromosom [3] = [ACDB] Proses crossover: Kromosom[1] = Kromosom[1] >< Kromosom[2] = [ABCD] >< [BACD] = [ACBD] Kromosom[2] = Kromosom[2] >< Kromosom[3] = [BACD] >< [BCDA] = [BCDA] Kromosom[3] = Kromosom[3] >< Kromosom[1] = [BCDA] >< [ABCD] = [BCAE] 6. Mutasi Mutasi merupakan proses mengubah nilai satu atau beberapa gen dalam satu kromosom. Mutasi ini berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. a. Mutasi dengan pengkodean biner. Mutasi dengan pengkodean biner merupakan operasi yang sangat sederhana. Proses yang dilakukan adalah menginversi nilai bit pada posisi tertentu yang dipilih secara acak (atau dengan menggunakan skema tertentu) pada kromosom. Contoh mutasi pada pengkodean biner

48 30 Kromosom sebelum mutasi : Kromosom sesudah mutasi : b. Mutasi dengan pengkodean permutasi. Proses mutasi yang dilakukan dalam pengkodean biner tidak dapat dilakukan pada pengkodean permutasi karena konsistensi urutan permutasi harus diperhatikan. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling dipertukarkan. Contoh mutasi dalam pengkodean permutasi Kromosom sebelum mutasi : Kromosom sesudah mutasi : c. Mutasi dengan pengkodean nilai. Proses mutasi dalam pengkodean nilai dapat dilakukan dengan berbagai cara, salah satunya yaitu dengan memillih sembarang posisi gen pada kromosom. Nilai yang ada tersebut kemudian ditambahkan atau dikurangkan dengan suatu nilai kecil tertentu yang diambil secara acak. Contoh mutasi dalam pengkodean nilai real dengan nilai yang ditambahkan atau dikurangkan adalah 0,1. Kromosom sebelum mutasi : 1,43 1,09 4,51 9,11 6,94 Kromosom sesudah mutasi : 1,43 1,19 4,51 9,01 6,94 d. Mutasi dengan pengkodean pohon. Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan cara mengubah operator ( +, -, *, / ) atau nilai yang terkandung dalam suatu vertex

49 31 pohon yang dipilih, atau dapat juga dilakukan dengan memilih dua vertex dari pohon dan saling mempertukarkan operator atau nilainya. Contoh mutasi dalam pengkodean pohon seperti pada Gambar X / X - _ 5 y 5 y Gambar 2.12 Contoh gen sebelum dan setelah mutasi dengan pengkodean pohon e. Swapping Mutation Proses mutasi dengan cara ini dilakukan dengan menentukan jumlah kromosom yang akan mengalami mutasi dalam satu populasi melalui parameter mutation rate (pm). Proses mutasi dilakukan dengan cara menukar gen yang telah dipilih secara acak dengan gen sesudahnya, jika gen tersebut berada di akhir kromosom, maka ditukar dengan gen yang pertama. Pertama hitung panjang total gen yang ada pada suatu populasi: Untuk memilih posisi gen yang akan mengalami mutasi dilakukan dengan membangkitkan bilangan acak antara 1 sampai panjang total gen untuk dilakukan proses mutasi. (Wibowo, 2003:14)

50 Fuzzy Logika Fuzzy Konsep logika fuzzy pertama kali diperkenalkan pada tahun 1965 oleh Prof. Lotfi A. Zadeh, seorang professor dari University of California di Berkly. Dasar logika fuzzy adalah teori himpunan fuzzy. Pada teori himpunan fuzzy, peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting. Nilai keanggotaan atau derajat keanggotaan (membership values) yang nilainya terletak di antara selang [0,1] menjadi ciri utama dari penalaran dengan logika fuzzy tersebut (Kusumadewi, 2003). Menurut Cox, ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara lain: 1. Konsep logika fuzzy mudah dimengerti. Karena konsep matematis yang mendasari penalaran fuzzy cukup mudah dimengerti. 2. Logika fuzzy sangat fleksibel, artinya mampu beradaptasi dengan perubahanperubahan, dan ketidakpastian yang menyertai permasalahan. 3. Logika fuzzy memiliki toleransi terhadap data yang tidak tepat. 4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinier yang sangat kompleks. 5. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus pelatihan. 6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali konvensional. 7. Logika fuzzy didasarkan pada bahasa alami.

51 Himpunan Fuzzy Pada himpunan tegas (crisp), nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering ditulis dengan μa[x], memiliki 2 kemungkinan, yaitu: 1. satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan, atau 2. nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan. Prinsip dasar dan persamaan matematika dari teori himpunan fuzzy adalah pengelompokkan objek dalam batas yang samar. Himpunan fuzzy merupakan sebuah generalisasi dari himpunan crisp. Kalau pada himpunan crisp, nilai keanggotaan hanya ada 2 kemungkinan, yaiu 0 atau 1. Sedangkan himpunan fuzzy didasarkan pada gagasan untuk memperluas jangkauan fungsi karakteristik sedemikian hingga fungsi tersebut akan mencakup bilangan real pada interval [0,1]. Nilai keanggotaan pada himpunan fuzzy menunjukkan bahwa suatu item dalam semesta pembicaraan tidak hanya berada pada 0 atau 1, melainkan juga nilai yang terletak diantaranya. Dengan kata lain, nilai kebenaran dari suatu item tidak hanya benar atau salah( Kusumadewi, 2003). Pada himpunan fuzzy terdapat 2 atribut, yaitu: 1. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti : MUDA, PAROBAYA, TUA. 2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel, seperti : 40, 25, 50, dsb.

52 34 Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu: 1. Variabel fuzzy Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh : umur, temperatur, permintaan, dan sebagainya. 2. Himpunan fuzzy Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh : Variabel umur, terbagi menjadi 3 himpunan fuzzy, yaitu : MUDA, PAROBAYA, dan TUA (Gambar 2.13) Gambar 2.13 Himpunan fuzzy untuk variabel umur Variabel temperatur, terbagi menjadi 5 himpunan fuzzy, yaitu : DINGIN, SEJUK, NORMAL, HANGAT, dan PANAS (Gambar 2.14).

53 35 Gambar 2.14 Himpunan fuzzy pada variabel temperatur 3. Semesta Pembicaraan Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Adakalanya nilai semesta pembicaraan ini tidak dibatasi batas atasnya. Contoh: Semesta pembicaraan untuk variabel umur: Semesta pembicaraan untuk variabel temperatur: : 4. Domain Domain himpunan fuzzy adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Seperti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif maupun negatif. Contoh domain himpunan fuzzy:

54 36 Muda = [0 45]. Pabobaya = [35 55]. Tua = [45 + ). Dingin = [0 20]. Sejuk = [15 25]. Normal = [20 30]. Hangat = [25 35]. Panas = [30 40] Fungsi Keanggotaan Fuzzy Fungsi keanggotaan fuzzy (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa fungsi yang bisa digunakan, diantaranya sebagai berikut : (1) Representasi Linear Naik Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0] bergerak kekanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi (Gambar 2.15).

55 37 Gambar Representasi linear naik(kusumadewi dkk, 2006: 40) Fungsi keanggotaan (2) Garis lurus dimulai dari domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun pada nilai domain yang memiliki derajat keanggotaan lebih rendah (Gambar 2.16) Gambar 2.16 Representasi linear turun(kusumadewi dkk, 2006: 40) Fungsi keanggotaan:

56 38 (3) Represetasi Fungsi Segitiga Fungsi segitiga pada dasarnya merupakan gabungan antara dua garis (linear), seperti terlihat pada gambar fungsi ini mempunyai tiga parameter. Bilangan fuzzy yang mempunyai tiga parameter dan dapat dipresentasikan dengan fungsi segitiga, disebut bilangan fuzzy segitiga. Gambar Representasi fungsi segitiga(kusumadewi dkk, 2006: 40) Fungsi keanggotaan: (4) Representasi Fungsi Trapesium Fungsi Trapesium pada dasarnya seperti bentuk fungsi segitiga, hanya saja ada beberapa nilai yang memiliki nilai keanggotaan 1 (Gambar 2.18). Fungsi ini mempunyai empat parameter, yaitu

57 39 Sejumlah bilangan fuzzy adalah bilangan fuzzy trapesium yang dinotasikan dengan dimana adalah bilangan real dan anggota fungsi, didefinisikan: (Pandian dan Natarjan, 2010: 81). Gambar Keanggotaan bilangan fuzzy (Kusumadewi dkk, 2006: 41) (5) Bilangan fuzzy Yang dinotasikan dengan adalah suatu himpunan fuzzy yang memiliki fungsi keanggotaan sebagai berikut. Dengan sebagai rentang kiri dan kanan. bersifat monoton naik ke 1, sedangkan bersifat monoton turun dari 1.

58 40 nilai keanggotaan tertinggi adalah 1 yang terjadi pada saat (Kusumadewi dkk, 2006: 42) Gambar Bilangan Fuzzy (Kusumadewi dkk, 2006: 42) Jika bilangan fuzzy memiliki merupakan bilangan fuzzy trapesium, dengan adalah lebar sisi kiri dan β adalah lebar sisi kanan. Jika maka bilangan fuzzy trapesium simetris dan jika maka merupakan bilangan fuzzy trapesium tak simetris Sistem Inferensi Fuzzy Terdapat 3 metode pada sistem inferensi fuzzy yaitu: metode Tsukamoto, metode Mamdani dan metode Sugeno. Dalam skripsi ini metode yang dipakai dan yang akan dibahas adalah metode Sugeno Metode Sugeno Tahapan-tahapan dalam metode sugeno adalah sebagai berikut(widodo,2012:125) 1. Pembentukan himpunan Fuzzy

59 41 Pada tahapan ini variabel input (crisp) dari sistem fuzzy ditransfer ke dalam himpunan fuzzy untuk dapat digunakan dalam perhitungan nilai kebenaran dari premis pada setiap aturan dalam basis pengetahuan 2. Aplikasi fungsi implikasi: Tiap-tiap aturan (proposisi) pada basis pengetahuan fuzzy akan berhubungan dengan suatu relasi fuzzy. Bentuk umum dari aturan yang digunakan dalam fungsi implikasi adalah sebagai berikut: IF x is A THEN y is B 3. Komposisi aturan: Tidak seperti penalaran monoton, apabila sistem terdiri dari beberapa aturan, maka inferensi diperoleh dari kumpulan dan korelasi antar aturan. 4. Penegasan (defuzzifikasi): Input dari proses defuzzifikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linear. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai konstanta atau persamaan linier tertentu sebagai output seperti terlihat pada Gambar 2.20

60 42 Gambar 2.20 Proses Deffuzifikasi Kendali Logika Fuzzy Pemikiran utama teori logika fuzzy adalah memetakan sebuah ruang input ke dalam ruang output dengan menggunakan IF-THEN rules. Pemetaan dilakukan dalam suatu Fuzzy Inference System (FIS). Urutan rule bisa sembarangan. FIS mengevaluasi rule secara simultan untuk menghasilkan kesimpulan. Oleh karena itu, semua rule harus lebih didefinisikan lebih dahulu sebelum kita membangun sebuah FIS yang akan digunakan untuk menginterprestasikan semua rule tersebut. FIS merupakan sebuah metode yang dapat menginterprestasikan harga-harga dalam vektor input. Menarik kesimpulan berdasarkan sekumpulan IF-THEN rules yang diberikan dan kemudian menghasilkan vektor output. (Widodo, 2012: 126) Gambar 2.21 menjelaskan alur kerja program.

61 43 Mulai Input: Data Lokasi, Jumlah Populasi, dan Batass Generasi Fuzzy Output: Probabilitas Mutasi dan Probabilitas Crossover Populasi Awal Evaluasi Fitness Roulette Wheel Mutasi Kriteria berhenti terpenuhi Tidak Crossover Seleksi Ya Hasil Selesai Gambar 2.21 Flow Chart Rancangan Sistem

62 Hubungan antara Algoritma Genetika dengan Kendali Logika Fuzzy Algoritma Genetika dengan Kendali Logika Fuzzy adalah sebuah teknik komputasi gabungan antara algoritma genetika dan logika fuzzy. Metode ini hampir sama dengan metode algoritma genetika, namun parameter-parameter yang dipakai dihasilkan dari sebuah sistem fuzzy. Dalam algoritma genetika dengan teknik kendali logika fuzzy, proses yang terjadi atau alur proses sama seperti dengan algoritma genetika, yang dikenalkan oleh John Holland dari Universitas Michigan (1975), dimana algoritma genetika merupakan teknik pencarian heuristik berdasar mekanisme evolusi biologis yang meniru dari teori Darwin dan operasi genetika pada kromosom. (Bindu & Tanwar, 2012:418) dari pada memilih nilai acak dari orang tua, aturan fuzzy didefinikan untuk memilih aturan yang optimal. Sistem yang diusulkan adalah untuk mengoptimalkan proses hasil dari algoritma genetika. Dalam algoritma genetika dengan teknik kendali logika fuzzy terdapat enam tahap utama, yaitu: 1. Representasi kromosom. 2. Inisialisasi Populasi. 3. Fungsi evaluasi. 4. Seleksi. 5. Operator genetika, meliputi operator rekombinasi (crossover) dan mutasi. 6. Penentuan parameter, yaitu parameter kontrol algoritma genetika, yaitu:

63 45 ukuran populasi (popsize), peluang crossover (Pc), dan peluang mutasi (pm). Dalam penentuan parameter ini dilakukan proses sistem fuzzy untuk mendapatkan nilai yang akan digunakan sebagai parameter. (Muzid, 2008:30) Pada algoritma ini terdapat berbagai metode yang digunakan dalam perpaduan antara algoritma genetika dan sistem fuzzy. Diantaranya adalah model sistem fuzzy yang digunakan pada penentuan parameter adalah menggunakan sistem inferensi fuzzy metode sugeno. Metode Sugeno yang digunakan untuk algoritma genetika dengan teknik kendali logika fuzzy adalah menggunakan dua buah masukan dan dua buah keluaran. Dua buah masukan yang digunakan adalah: 1. Jumlah Populasi yang digunakan. 2. Jumlah generasi yang akan diproses. Sedangkan dua buah keluaran yang akan dihasilkan adalah: 1. Nilai probabilitas rekombinasi (crossover). 2. Nilai probabilitas mutasi. Berikut contoh persoalan yang diselesaikan dengan menggunakan algoritma genetika dengan teknik kendali logika fuzzy. Terdapat 5 buah kota yang akan dilalui oleh seorang pedagang keliling, misalnya Kota A,B,C,D,E. Perjalanan dimulai dari kota A dan berakhir di kota A. Jarak antar kota diperlihatkan pada graf di bawah ini:

64 A E B D 4 C Gambar 2.22 Contoh Graf yang akan dilalui oleh seorang pedagang keliling Persoalan tersebut akan diselesaikan dengan menggunakan algoritma genetika dengan teknik kendali logika fuzzy. Kriteria berhenti ditentukan terlebih dahulu yaitu apabila setelah dalam beberapa generasi berturut-turut diperoleh nilai fitness yang terendah tidah berubah. Pemilihan nilai fitness yang terendah sebagai syarat karena nilai tersebut yang merepresentasikan jarak terdekat yang dicari pada persoalan ini. Penentuan parameter kontrol algoritma genetika, yaitu: peluang crossover (pc), dan peluang mutasi (pm) dilakukan dengan menggunakan proses kendali logika fuzzy. Penyelesaian: Ada 4 kota yang akan menjadi gen dalam kromosom yaitu kota-kota selain kota asal. Inisialisasi Misalkan kita menggunakan 6 buah populasi dalam satu generasi, yaitu: Kromosom[1] = [B D E C]

65 47 Kromosom[2] = [D B E C] Kromosom[3] = [C B D E] Kromosom[4] = [E B C D] Kromosom[5] = [E C B D] Kromosom[6] = [C D E B] Evaluasi kromosom Kita akan menghitung nilai fitness dari tiap kromosom yang telah dibangkitkan: Fitness[1] = AB + BD + DE + EC + CA = = 23 Fitness[2] = AD + DB + BE + EC + CA = = 27 Fitness[3] = AC + CB + BD + DE + EA = = 29 Fitness[4] = AE + EB + BC + CD + DA = = 37 Fitness[5] = AE + EC + CB + BD + DA = = 30 Fitness[6] = AC + CD + DE + EB + BA = = 30 Seleksi Kromosom Oleh karena pada persoalan TSP yang diinginkan yaitu kromosom dengan fitness yang lebih kecil akan mempunyai probabilitas untuk terpilih kembali lebih besar maka digunakan inverse. Q[i] = 1/Fitness[i] Q[1] = 1/23 = 0,043 Q[2] = 1/27 = 0,037 Q[3] = 1/29 = 0,034 Q[4] = 1/37 = 0,027 Q[5] = 1/30 = 0,033

66 48 Q[6] = 1/30 = 0,033 Total = 0, , , , , ,033 = 0,207 Probabilitas Untuk mencari probabilitas kita menggunakan rumus berikut: P[i] = Q[i] / Total P[1] = 0,043 / 0,207 = 0,208 P[2] = 0,037 / 0,207 = 0,179 P[3] = 0,034 / 0,207 = 0,164 P[4] = 0,027 / 0,207 = 0,130 P[5] = 0,033 / 0,207 = 0,159 P[6] = 0,033 / 0,207 = 0,159 Dari probabilitas di atas dapat terlihat bahwa kromosom ke-1 mempunyai fitness paling kecil sehingga mempunyai probabilitas untuk terpilih pada generasi selanjutnya lebih besar dari kromosom lainnya. Untuk proses seleksi kita menggunakan roulette wheel, untuk itu kita terlebih dahulu menghitung probabilitas dari masing-masing kromosom. Probabilitas Kumulatif C[1] = 0,208 C[2] = 0, ,179 = 0,387 C[3] = 0, ,164 = 0,551 C[4] = 0, ,130 = 0,681 C[5] = 0, ,159 = 0,840 C[6] = 0, ,159 = 1

67 49 Metode Roulette Wheel Gambar 2.23 Gambar Roulette Wheel Metode roulette-wheel adalah membangkitkan nilai acak R antara 0-1. Jika R[k]<Qk[k] maka kromosom ke-k sebagai induk, selain itu pilih kromosom ke-k sebagai induk dengan syarat Qk[k-1] < R[k] < Qk[k]. Kita putar roulette-wheel sebanyak jumlah kromosom yaitu 6 kali (membangkitkan bilangan acak R). Bila bilangan random R i] yang dihasilkan sbb : R[1] = 0,314 R[2] = 0,111, R[3] = 0,392, R[4] = 0,743 R[5] = 0,521, R[6] = 0,561 Induk yang dipilih dengan Q[k-1] < R[k] < Q[k] menghasilkan : C[2], C[1], C[3], C[5], C[3], C[4].

68 50 Setelah itu populasi baru akan terbentuk, yaitu: Kromosom[1] = [2] = [ D B E C ] Kromosom[2] = [1] = [ B D E C ] Kromosom[3] = [3] = [ C B D E ] Kromosom[4] = [5] = [ E C B D ] Kromosom[5] = [3] = [ C B D E ] Kromosom[6] = [4] = [ E B C D ] Selanjutnya akan dihitung nilai parameter crossover probability yang diperoleh dari perhitungan kendali logika fuzzy dengan menginputkan populasi = 6 dan generasi = ) Pada semesta pembicaraan dan domain untuk populasi, aturan yang digunakan adalah sebagai berikut: Semesta pembicaraan: [0 1000] Domain SMALL: [50 250] Domain MEDIUM: [80 275] Domain LARGE: [ ] Gambar 2.24 Semesta pembicaraan dan domain untuk variabel populasi.

69 51 2) Sedangkan pada semesta pembicaraan dan domain untuk variabel generasi, aturan nilai yang digunakan adalah sebagai berikut: Semesta pembicaraan: [0 1000] Domain SHORT: [50 200] Domain MEDIUM: [80 275] Domain LONG: [ ] Gambar 2.25 Semesta pembicaraan dan domain untuk variabel generasi. 3) Pada semesta pembicaraan dan domain untuk hasil output yaitu nilai probabilitas rekombinasi (crossover), aturan nilai yang adalah sebagai berikut: Semesta pembicaraan: [ ] Domain SMALL: [ ] Domain MEDIUM: [ ] Domain LARGE: [ ] Domain VERY LARGE: [ ]

70 52 Gambar 2.26 Semesta pembicaraan dan domain untuk variabel probabilitas crosover (Muzid, 2008). 4) Pada semesta pembicaraan dan domain untuk nilai probabilitas mutasi, aturan nilai yang digunakan oleh peneliti adalah sebagai berikut: Semesta pembicaraan: [0 0.25] Domain VERY SMALL: [ ] Domain SMALL: [ ] Domain MEDIUM: [ ] Domain LARGE: [ ] Gambar 2.27 Semesta pembicaraan dan domain untuk variabel probabilitas mutasi (Muzid, 2008).

71 53 Aturan Fuzzy: (Muzid, 2008) IF (Populasi is SMALL) AND (Generasi is SHORT) THEN (ProbCrossover is MEDIUM) AND (ProbMutasi is LARGE). IF (Populasi is MEDIUM) AND (Generasi is SHORT) THEN (ProbCrossover is SMALL) AND (ProbMutasi is MEDIUM). IF (Populasi is LARGE) AND (Generasi is SHORT) THEN (ProbCrossover is SMALL) AND (ProbMutasi is SMALL). IF (Populasi is SMALL) AND (Generasi is MEDIUM) THEN (ProbCrossover is LARGE) AND (ProbMutasi is MEDIUM). IF (Populasi is MEDIUM) AND (Generasi is MEDIUM) THEN (ProbCrossover is LARGE) AND (ProbMutasi is SMALL). IF (Populasi is LARGE) AND (Generasi is MEDIUM) THEN (ProbCrossover is MEDIUM) AND (ProbMutasi is VERYSMALL). IF (Populasi is SMALL) AND (Generasi is LONG) THEN (ProbCrossover is VERYLARGE) AND (ProbMutasi is SMALL). IF (Populasi is MEDIUM) AND (Generasi is LONG) THEN (ProbCrossover is VERYLARGE) AND (ProbMutasi is VERYSMALL). IF (Populasi is LARGE) AND (Generasi is LONG) THEN (ProbCrossover is LARGE) AND (ProbMutasi is VERYSMALL). Penyelesaian: Ada 4 variabel fuzzy yang akan dimodelkan, yaitu: (1) Populasi dengan nilai keanggotaan sebagai berikut: [6] = 1

72 54 [6] = 0 [6] = 0 (2) Generasi dengan nilai keanggotaan sebagai berikut: (3) Probabilitas Crossover dengan nilai keanggotaan sebagai berikut:

73 (4) Probabilitas Mutasi dengan nilai keanggotaan sebagai berikut: 55

74 56 Sekarang kita cari nilai z untuk setiap aturan dengan menggunakan fungsi MIN pada aplikasi fungsi implikasinya: [R1] IF (Populasi is SMALL) AND (Generasi is SHORT) THEN (ProbCrossover is MEDIUM) AND (ProbMutasi is LARGE); Lihat himpunan ProbCrossover MEDIUM, Lihat himpunan ProbMutasi LARGE, [R2] IF (Populasi is MEDIUM) AND (Generasi is SHORT) THEN (ProbCrossover is SMALL) AND (ProbMutasi is MEDIUM). [R3] IF (Populasi is LARGE) AND (Generasi is SHORT) THEN (ProbCrossover is SMALL) AND (ProbMutasi is SMALL).

75 57 [R4] IF (Populasi is SMALL) AND (Generasi is MEDIUM) THEN (ProbCrossover is LARGE) AND (ProbMutasi is MEDIUM). Lihat himpunan ProbCrossover LARGE, Lihat himpunan ProbMutasi MEDIUM, [R5] IF (Populasi is MEDIUM) AND (Generasi is MEDIUM) THEN (ProbCrossover is LARGE) AND (ProbMutasi is SMALL).

76 58 [R6] IF (Populasi is LARGE) AND (Generasi is MEDIUM) THEN (ProbCrossover is MEDIUM) AND (ProbMutasi is VERYSMALL). [R7] IF (Populasi is SMALL) AND (Generasi is LONG) THEN (ProbCrossover is VERYLARGE) AND (ProbMutasi is SMALL). [R8] IF (Populasi is MEDIUM) AND (Generasi is LONG) THEN (ProbCrossover is VERYLARGE) AND (ProbMutasi is VERYSMALL).

77 59 [R9] IF (Populasi is LARGE) AND (Generasi is LONG) THEN (ProbCrossover is LARGE) AND (ProbMutasi is VERYSMALL). Dari sini kita dapat mencari berapakah nilai x (probabilitas crossover) dan y (probabilitas mutasi), yaitu: Sedangkan, Jadi nilai probabilitas crossover = 0,69 dan nilai probabilitas mutasi 0,19. PINDAH SILANG (CROSSOVER) Nilai ρc = 0,69 berarti jika bilangan random dihasilkan < 0.69 maka akan dipilih menjadi induk baru. Hasil 6 bilangan random yang dihasilkan adalah : R[1] = 0,851, R[2] = 0,211, R[3] = 0,202, R[4] = 0,877, R[5] = 0,771,R[6] = 0,131. Kromosom ke-k yang dipilih sebagai induk jika R[k] < ρc. Maka yang akan dijadikan induk adalah kromosom[2], kromosom[3], dan kromosom[6]. Proses Crossover :

78 60 Kromosom[2] = Kromosom[2] >< Kromosom[3] = [B D E C] >< [C B D E] = [B D C E] Kromosom[3] = Kromosom[3] >< Kromosom[6] = [C B D E] >< [E B C D] = [C B E D] Kromosom[6] = Kromosom[6] >< Kromosom[2] = [E B C D] >< [B D E C] = [E D B C] Hasil Crossover: Kromosom [1] = [D B E C] Kromosom [2] = [B D C E] Kromosom [3] = [C B E D] Kromosom [4] = [E C B D] Kromosom [5] = [C B D E] Kromosom [6] = [E D B C] MUTASI Panjang total gen = jumlah gen dalam 1 kromosom * jumlah Kromosom (3) = 4 * 6 = 24 Probabilitas mutasi (ρm) = 0,19 maka jumlah gen yang akan dimutasi adalah = 0,19*24 = 4,56 = 5. Posisi tersebut didapat dari pembangkitan 5 bilangan acak. Misakan 5 buah posisi gen yang akan dimutasi adalah 3, 7, 10, 20, 24. Kromosom [1] = [D B E C] = [D B C E]

79 61 Kromosom [2] = [B D C E] = [B D E C] Kromosom [3] = [C B E D] = [C E B D] Kromosom [4] = [E C B D] = [E C B D] Kromosom [5] = [C B D E] = [E B D C] Kromosom [6] = [E D B C] = [C D B E] Proses algoritma genetika dengan teknik kendali logika fuzzy untuk 1 generasi telah selesai. Maka nilai fitness setelah 1 generasi adalah: Fitness [1] = AD + DB + BC + CE + EA = = 30 Fitness [2] = AB + BD + DE + EC + CA = = 23 Fitness [3] = AC + CE + EB + BD + DA = = 27 Fitness [4] = AE + EC + CB + BD + DA = = 30 Fitness [5] = AE + EB + BD + DC + CA = = 28 Fitness [6] = AC + CB + BD + DE + EA = = 29 Sebelumnya telah ditentukan kriteria berhenti yaitu bila setelah dalam beberapa generasi berturut-turut diperoleh nilai fitness yang terendah tidak berubah. Pada 1 generasi telah terlihat bahwa terdapat nilai fitness terkecil yang tidak berubah. Apabila perhitungan dilanjutkan hingga ke generasi ke-n maka diyakinkan bahwa nilai fitness yang terendah tetap tidak akan berubah. Walaupun perhitungan cukup dijabarkan hingga generasi ke-1 saja namun solusi yang mendekati optimal telah didapatkan. Oleh karena itu, terbukti bahwa algoritma genetika dapat menyelesaikan persoalan.

80 Sekilas tentang MATLAB MATLAB merupakan bahasa pemrogaman yang hadir dengan fungsi dan karakteristik yag berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic, maupun C++. MATLAB merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan, serta grafik-grafik perhitungan. MATLAB hadir dengan membawa warna yang berbeda. Hal ini karena MATLAB membawa keistimewaan dalam fungsi-fungsi matematika, fisika, statistik, dan visualisasi. MATLAB dikembangkan oleh MathWorks, yang pada awalnya dibuat untuk memberikan kemudahan mengakses data matrik pada proyek LINPACK dan EISPACK. Saat ini MATLAB memiliki ratusan fungsi yang dapat digunakan sebagai program solver mulai dari masalah yang simple sampai masalah-masalah yang kompleks dari berbagai disiplin ilmu (Firmansyah, 2007) Beberapa Bagian dari Window MATLAB Adapun beberapa bagian dari window yang terdapat dalam program MATLAB meliputi: 1. Current Directory Bagian dari window ini menampilkan isi dari direktori kerja saat menggunakan MATLAB 2. Command History

81 63 Bagian ini berfungsi untuk menyimpan perintah-perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap MATLAB. 3. Command Window Bagian ini merupakan tempat untuk menjalankan fungsi, variabel, mendeklerasikan variabel, menjalankan proses-proses, serta melihat isi variabel. 4. Workspace Bagian ini berfungsi untuk menampilkan seluruh variabel-variabel yang sedang aktif pada saat pemakaian MATLAB (Firmansyah, 2007) Meminta Bantuan MATLAB menyediakan fungsi help yang berisikan tutorial lengkap mengenai MATLAB dan segala keunggulannya. User dapat menjalankan fungsi ini dengan menekan tombol pada toolbar atau menulis perintah helpwin pada command window. MATLAB juga menyediakan fungsi demos yang berisikan video tutorial MATLAB serta contoh-contoh program yang bisa dibuat dengan MATLAB (Firmansyah, 2007) Interupting dan Terminating dalam MATLAB Untuk meghentikan proses yang sedang berjalan pada MATLAB dapat dilakukan dengan menekan tombol Ctrl+C. Sedangkan untuk keluar dari MATLAB dapat dilakukan dengan menuliskan perintah exit atau quit pada command window atau dengan menekan menu exit pada bagian menu file dari menu bar (Firmansyah, 2007).

82 Variabel pada MATLAB MATLAB hanya memiliki dua jenis tipe data yaitu numeric dan string. Dalam MATLAB setiap variabel akan disimpan dalam bentuk matrik. User dapat langsung menuliskan variabel baru tanpa harus mendeklarasikannya terlebih dahulu pada command window (Firmansyah, 2007) 2.7 Pembuatan Aplikasi Berbasis Graphic User Interface (GUI) Pendahuluan Hampir sebagian besar aplikasi yang beredar di pasaran saat ini berbasis Graphic User Interface (GUI) karena lebih diterima oleh user dibanding program yang berbasis console. Istilah populer dari GUI adalah pemrograman visual dengan bentuk form atau frame. Kebanyakan bahasa pemrograman yang digunakan oleh developer dalam membuat aplikasi sudah mendukung GUI. Tetapi kebanyakan kurang mendukung sistem yang menerapkan Soft Computing. Matlab sebagai bahasa pemrograman yang mendukung Soft Computing, kini sudah dilengkapi dengan GUI untuk pembuatan aplikasinya. Bahkan sudah dilengkapi dengan Deployment Project agar dihasilkan executable program yang dapat berjalan di sembarang komputer tanpa MATLAB. GUI pada MATLAB berfungsi sebagai penghubung antara script Matlab yang tersimpan berupa M-File dan toolbox-toolbox MATLAB seperti FIS, ANFIS, JST, Algoritma Genetika dan lain-lain. Setelah kita mempelajari toolboxtoolbox MATLAB pada bab-bab terdahulu, kita mulai masuk ke

83 65 pengintegrasiannya ke dalam aplikasi sesungguhnya dengan bantuan GUI. (Widodo, 2012:159) GUI GUI pada MATLAB dapat kita buka dengan mengeklik File-New-Gui. Atau dengan mengetik guide pada Command Window. Pilih Blank GUI pada jendela GUIDE Quick Start. Cara menggunakannya adalah dengan menge-drag icon pada komponen ke tengah kemudian dobel klik untuk mengeset parameternya. Parameter yang diseting berupa nama variabel (tag) dan nama String. (Widodo, 2012:160) M-File Editor Visualisasi pada MATLAB yang berupa GUI tidak akan dapat berjalan sebagaimana mestinya tanpa adanya bantuan M-File. GUI hanyalah alat bantu dalam pembuatan desain interaksi antara pengguna dengan aplikasi. Sesungguhnya yang berperan dalam komputasi tetap saja script M-File. M-File secara otomatis terbentuk saat kita mengklik icon Run pada jendela GUI. Sesaat setelah kita mengklik tombol Run kita diminta untuk menyimpan dan memberi nama project yang baru saja kita buat GUI-nya. Pada M-File editor tampak script yang dibuatkan oleh Matlab secara otomatis. Berikutnya kita tinggal menyisipkan script-script yang dibutuhkan pada M-File tersebut. Saat kita menyisipkan suatu komponen pada GUI, secara otomatis pada M-File disipkan pula function yang berupa Callback. (Widodo, 2012:162).

84 66 BAB 3 METODE PENELITIAN Metode penelitian merupakan suatu cara yang digunakan dalam penelitian sehingga pelaksanaan penelitian dapat dipertanggungjawabkan secara ilmiah. Dengan metode penelitian, data yang diperoleh semakin lengkap untuk memecahkan masalah yang dihadapi. Pada penelitian ini langkah-langkah yang dilakukan adalah sebagai berikut Menemukan Masalah Dalam tahap ini dicari sumber pustaka dan dipilih suatu masalah. Untuk lebih memperjelas pembahasan, maka dipilih suatu kasus yang terjadi di suatu perusahaan yang berkaitan langsung dengan permasalahan yang akan diangkat Merumuskan Masalah Masalah yang ditemukan kemudian dirumuskan pada pencarian rute jaringan dan hasil pencarian jarak minimum dalam pengiriman barang menggunakan algoritma genetika dengan software MATLAB di PT. Pos Indonesia DC Tugu Semarang Pengambilan Data Dalam penelitian ini, penulis memperoleh data dari PT. Pos Indonesia DC Tugu Semarang yang kemudian akan dilakukan pengolahan. Data ini berupa data pengiriman barang oleh kurir dari PT. Pos Indonesia DC Tugu Semarang beserta alamatnya. Untuk memperoleh data jarak antar lokasi dilakukan proses pencarian 66

85 67 jarak menggunakan bantuan Wikimapia. Metode ini dilakukan karena dengan cara ini akan didapatkan jarak antar lokasi secara lebih akurat tanpa harus mengeluarkan banyak waktu dan biaya dalam pencariannya. Adapun langkahlangkahnya adalah sebagai berikut. 1. Membuka situs 2. Di bagian pencarian atau search ketik kata kunci yang berhubungan dengan Semarang, misal Universitas Negeri Semarang. Setelah itu, tekan ENTER atau tombol CARI. Gambar 3.1 Halaman Depan Wikimapia 3. Setelah muncul semua informasi yang berhubungan dengan Semarang, pilih Universitas Negeri Semarang. Agar nama jalan dapat terlihat, maka ubah nama JENIS PETA menjadi Google Versi Padu.

86 68 Gambar 3.2 Hasil Pencarian Tempat 4. Untuk memunculkan pengukuran jarak, pada menu utama Wikimapia klik menu LOGIN PENGUKURAN JARAK. Gambar 3.3 Menu Login Wikimapia

87 69 5. Mulai mengukur jarak dari mulai Universitas Negeri Semarang Sekaran hingga berakhir di PROGRAM PASCASARJANA UNNES. Setelah selesai, maka akan tampak bahwa total jarak adalah 1,3 KM. Gambar 3.4 Hasil Pengukuran Jarak 3.4. Analisis dan Pemecahan Masalah Dari berbagai sumber yang sudah menjadi bahan kajian, diperoleh suatu pemecahan masalah. Selanjutnya dilakukan langkah-langkah pemecahan masalah sebagai berikut: 1. Pembentukan model. Menyajikan titik-titik yang harus dilalui dalam jaringan TSP berdasarkan data perusahaan beserta jarak antar titiknya. 2. Mencari penyelesaian masalah.

88 70 Pada tahap ini dilakukan pencarian rute optimal dan jarak minimal yang dapat ditempuh dalam pengiriman barang dengan syarat semua alamat dilalui tepat satu kali kecuali titik asal yang sama dengan titik akhir. Setelah diketahui jarak antara titik menggunakan Wikimapia, akan dicari hasil perhitungan rute optimal dan jarak minimal dari jaringan TSP beserta gambar rute tersebut. Proses ini memerlukan ketelitian yang tinggi karena jika terjadi suatu kesalahan kecil saja akan berakibat pada ketidaktepatan dalam perhitungan rute dan jarak dari jaringan TSP terbaik. Masalah minimasi ini akan dicari dengan menggunakan algoritma genetika pada software MATLAB Analisis Kebutuhan Aplikasi dalam menentukan jalur terpendek pada kasus TSP ini dirancang dengan menggunakan Algoritma Genetika. Dalam melakukan proses aplikasi yang mencakup proses input dan proses outputnya, dinyatakan dengan menggunakan aplikasi bahasa pemrograman MATLAB yang diperjelas dengan diagram alir/flowchart (lihat Gambar 3.5). Pada tahap ini, digunakan notasi-notasi untuk menggambarkan arus data tersebut Analisis Kebutuhan Masukan (Input) Proses input atau masukan dari aplikasi dalam memnentukan jalur terpendek pada permasalahan TSP ini berupa parameter-parameter yang diperlukan dalam Algoritma Genetika, yaitu: 1. Data jumlah kota, yang dalam penelitian ini adalah jumlah alamat, disimbolkan dengan ( ) dan direpresentasikan dengan koordinat ( ).

89 71 Jumlah alamat ( ) ditentukan oleh pengguna. Pada penentuan koordinat alamat, penulis menggunakan bantuan website wikimapia.org. 2. Parameter-parameter yang diperlukan dalam perhitungan Algoritma Genetika, yaitu: - Ukuran Populasi dan Generasi = (100 dan 100), (100 dan 200), (100 dan 500), (100 dan 1000), (200 dan 100), (500, 100), dan (1000,100) - Panjang Kromosom/Jumlah Gen = 22 - Peluang Crossover ( ) = dihitung menggunakan fuzzy sugeno - Peluang Mutasi ( ) = dihitung menggunakan fuzzy sugeno Analisis Kebutuhan Proses Kebutuhan proses yang dilakukan pada sistem menentukan jalur terpendek dalam menyelesaian permasalahan TSP ini antara lain: 1. Proses pembuatan rute pada grafik. 2. Proses menentukan jarak kota dengan bantuan website wikimapia.org. 3. Proses perhitungan fungsi fitness, seleksi, crossover, mutasi sampai dengan menentukan hasil populasi akhirnya. 4. Proses penyeleksian jalur terpendek Analisis Kebutuhan Keluaran (Output) Data keluaran yang diperoleh dari proses pengaplikasian dalam menentukan jalur terpendek dengan Algoritma Genetika dengan Teknik Kendali Logika Fuzzy pada permasalahan TSP ini adalah rute jalur terpendek dari 22

90 72 alamat yang telah ditentukan disertai dengan jarak antar alamat serta panjang jalur minimum dan grafik fitness rata-ratanya Perancangan Perangkat Lunak Program yang dibuat berdasarkan langkah-langkah untuk menyelesaikan TSP Algoritma Genetika dengan kendali logika fuzzy menggunakan software MATLAB sebagai berikut. a. Langkah-langkah hybrid Algoritma Genetika dengan teknik kendali logika fuzzy : 1. Pengkodean Kromosom Pada tahap ini, alamat-alamat yang akan dikunjungi diberi nomor urut. Kemudian dibentuk ke dalam suatu kromosom yang berisi gen-gen yang mempresentasikan nomor urut dari semua kota yang ada. Jumlah gen dalam setiap kromosom adalah sama dengan jumlah alamat. Masingmasing nomor urut alamat hanya boleh muncul sekali di dalam suatu kromosom dan dibangkitkan secara acak. 2. Inisialisasi Populasi Tahap ini bertujuan untuk membangkitkan sebuah populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen. Input untuk fungsi ini adalah ukuran populasi (jumlah kromosom dalam populasi) dan jumlah gen dalam satu kromosom. Output dari fungsi tersebut adalah variabel populasi berupa matriks dua dimensi.

91 73 3. Menentukan Nilai Fitness Permasalahan TSP untuk mencari jarak terpendek dari 27 alamat yang akan dilalui adalah meminimalkan total biaya. Oleh karena itu, nilai fitness yang bisa digunakan adalah 1 dibagi total biaya. Dalam hal ini yang dimaksud dengan total biaya adalah jumlah jarak antara satu alamat dengan alamat lain secara melingkar. Misalkan untuk sejumlah alamat, total biaya adalah jarak alamat 1 ke alamat 2 ditambah jarak dari alamat 2 ke alamat 3 dan seterusnya sampai dengan jarak dari alamat ke alamat Seleksi Seleksi yang digunakan pada permasalahan TSP ini adalah dengan metode roulette wheel (roda roulette). Pada tahap ini, masing-masing kromosom menempati potongan lingkaran pada roda roulette secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness lebih besar, menempati potongan lingkaran lebih besar dibandingkan dengan kromosom bernilai fitness rendah. Pertama, dibuat interval nilai kumulatif (dalam interval [0,1]) dari nilai fitness masing-masing kromosom dibagi dengan nilai fitness semua kromosom. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval akumulatifnya. 5. Proses Perkawinan Silang (Crossover) Pada tahap ini, akan dipilih 2 kromosom induk yang akan mengalami proses perkawinan silang secara acak, kemudian menentukan titik potongnya. Setelah titik potongnya terpilih, maka dilakukan penukaran informasi dari kedua kromosom tersebut berdasarkan titik potong yang

92 74 telah ditentukan. Pada proses ini akan dihasilkan kromosom anak hasil dari perkawinan silang kedua induknya, dimana kromosom anak tersebut berisi gen-gen gabungan dari bagian kromosom 1 dan kromosom Proses Mutasi Proses mutasi adalah penukaran pasangan gen yang telah terpilih secara random dalam 1 kromosom. Penukaran pasangan ini dilakukan pada dua gen dalam satu kromosom. Untuk semua gen dalam kromosom, jika bilangan random [1,0] yang dibangkitkan kurang dari probabilitas mutasi, maka nilai gen tersebut akan ditukar dengan nilai gen lain yang dipilih secara random. Pada langkah 5 dan langkah 6, kedua probabilitas dari probabilitas crossover dan probabilitas mutasi akan diatur/ dikontrol dengan melakukan proses kendali logika fuzzy. 7. Evaluasi dan Kriteria Penghentian Generasi Tahap ini adalah penghitungan jumlah generasi sampai mencapai batas maksimum generasi yang diberikan. Bila dalam jumlah generasi yang ditentukan tidak ada kromosom yang lebih baik, maka proses iterasi akan berhenti. b. Kendali logika fuzzy Langkah-langkah yang dilakukan adalah sebagai berikut : Prosedur : untuk mengontrol nilai parameter algoritma genetika Langkah1 : Hitung perubahan nilai pada rata-rata nilai fitness antara generasi sekarang dengan generasi sebelumnya.

93 75 Langkah 2 : Tentukan nilai pengontrol antara generasi sekarang dengan generasi sebelumnya menggunakan tabel pengambilan keputusan fuzzy. Langkah 3 : Setelah melakukan nilai pengontrol diatas, hitung nilai perubahan pada probabilitas crossover dan probabilitas mutasi. Langkah 4 : Update nilai probabilitas crossover dan probabilitas mutasi. Langkah 5 : kembali pada loop algoritma genetika Penarikan Simpulan Langkah ini merupakan langkah terakhir dari penelitan. Penarikan kesimpulan didasarkan pada studi kasus dan pembahasan permasalahan. Simpulan yang diperoleh merupakan hasil analisis dari penelitian. Simpulan yang diambil dari penelitian ini adalah tentang bagaimana mencari jalur terpendek dan hasil pencarian jarak minimum dalam pengiriman barang menggunakan algoritma genetika dengan software MATLAB di PT. Pos Indonesia DC Tugu Semarang.

94 BAB 4 HASIL PENELITIAN DAN PEMBAHASAN 4.1 Hasil Penelitian Penelitian ini mengkaji tentang pengiriman surat maupun barang di PT. Pos Indonesia DC Tugu Semarang dengan permasalahannya yaitu menentukan rute jaringan Travelling Salesman Problem (TSP) terbaik dengan jarak pendistribusian terkecil menggunakan algoritma genetika dengan teknik kendali logika fuzzy. Pada permasalahan ini aplikasi yang dibuat menggunakan bantuan software Matlab (R2009a). Dalam penelitian ini yang akan dicari adalah panjang rute yang dilalui untuk pendistribusian surat maupun barang yang akan dikirimkan PT. Pos Indonesia DC Tugu Semarang menuju para penerima barang yang berada di wilayah Kota Semarang, dalam hal ini dikhususkan untuk wilayah Kecamatan Ngaliyan. Permasalahan TSP pada penelitian ini bukan lah masalah TSP murni, karena masih terdapat beberapa jalan yang dilewati lebih dari satu kali. Hal ini dikarenakan tidak adanya jalan lain yang bisa dipilih untuk melanjutkan pendistribusian barang dari rumah penerima satu ke penerima selanjutnya. Penulis memperoleh data dari PT. Pos Indonesia DC Tugu Semarang berupa list nama penerima beserta alamat lengkapnya seperti yang tersaji dalam Lampiran 1, kemudian dilakukan proses pencarian koordinat titik dengan bantuan situs wikimapia.org yang sudah terintegrasi dengan Google Maps. Situs 76

95 77 Wikimapia.org merupakan situs pencari koordinat lokasi di bumi, dengan sumbu horisontal X adalah garis bujur (longitude), sedangkan sumbu vertikal Y merupakan garis lintng (latitude), yang berjalan melalui Observatorium Greenwich di Inggris. Koordinat semua titik dalam pendistribusian surat maupun barang menuju rumah penerima barang yang telah diberikan oleh PT. Pos Indonesia DC Tugu Semarang disajikan pada Lampiran 2. Dari koordinat yang telah diketahui pada Lampiran 2, kemudian dapat dicari jarak antar lokasinya. Dalam penelitian ini, perhitungan jarak antar lokasi dilakukan dengan bantuan Google Maps yang telah menyediakan fasilitas berupa pengukuran jarak. Adapun untuk membandingakan ukuran jarak pada Google Maps dengan jarak sebenarnya di lapangan, penulis melakukan observasi langsung pada beberapa sample tempat. Hasil perhitungan jarak antar semua lokasi terlampir pada Lampiran Pengkodean Kromosom Pada tahap pengkodean kromosom ini, kota-kota yang akan dikunjungi diberi nomor urut dan ditentukan pula posisinya dalam grafik.

96 Inisialisasi Populasi Gambar 4.1 Posisi 22 Alamat dalam Grafik Tahap ini adalah tahap membangkitkan sebuah populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen dan setiap gen berisi nomor dari semua kota yang menjadi sample. Masing-masing nomor urut hanya boleh muncul 1 kali di dalam 1 kromosom. Masukan untuk fungsi ini adalah ukuran populasi yaitu jumlah kromosom dalam populasi dan jumlah gen dalam satu kromosom. Kromosom yang dibangkitkan adalah sebuah kromosom acak. Untuk membangkitkan kromosom ini, digunakan fungsi random yang telah tersedia dalam MATLAB. Sintak dapat dilihat pada Gambar 4.2 sebagai berikut. function Populasi = TSPInisiasiPopulasi(UkPop,JumGen) for ii=1:ukpop, [Xval,Ind] = sort(rand(1,jumgen)); Populasi(ii,:) = Ind; end Gambar 4.2 Sintak Inisialisasi Populasi Fungsi di atas dideklarasikan dengan nama TSPInisialisasiPopulasi, dengan 2 variabel yaitu Ukpop,JumGen. Ukpop merupakan ukuran populasi, dan JumGen adalah jumlah gen. Output yang dihasilkan dari fungsi ini adalah Populasi. Untuk menyatakan kromosom kepada populasi yang jumlah kolomnya sama dengan jumlah gen digunakan perintah Populasi(ii,:). Ukpop menyatakan ukuran populasi atau jumlah kromosom dalam populasi, dimana nilainya dapat dimasukkan melalui perintah

97 79 input ( Masukkan Ukuran Populasi: ). JumGen menyatakan jumlah gen dalam kromosom, dimana gen ini merepresentasikan jumlah alamat yang ada. Nilai dari JumGen dimasukkan melalui perintah input ( Masukkan Jumlah Gen : ).Perintah sort (rand(1,jumgen)) manyatakan pembangkitan matriks berukuran 1 x JumGen yang berisi bilangan random dalam interval 0 1 yang terurut dari kecil ke besar. Program tersebut kemudian disimpan dengan nama TSPInisialisasiPopulasi.m.Dari program tersebut, didapatkan kromosom yang terbentuk seperti pada Lampiran 8. Dari hasil tersebut dapat diperoleh populasi awal yang dibangkitkan secara acak dengan merepresentasikannya melalui nomor urut setiap alamat yang merupakan jalur yang dilalui pada masing-masing kromosom secara melingkar. Populasi awal ini diambil secara acak dari sekian banyak solusi jalur yang memungkinkan untuk dilalui. Masing-masing nomor urut hanya boleh muncul 1 kali dalam 1 kromosom Evaluasi Individu TSP bertujuan untuk meminimalkan jarak, maka nilai fitnessnya adalah inversi total jarak dari jalur yang didapatkan, dengan menggunakan rumus di mana adalah total jarak dari jalur yang didapatkan. Variabel yang digunakan untuk mencari nilai fitness yaitu populasi, jumlah gen, dan jarak antar kota dalam suatu kromosom. Output dari fungsi ini adalah nilai fitness dalam suatu populasi yang dapat dilihat pada Lampiran Probabilitas Fitness

98 80 Probabilitas fitness adalah perhitungan masing-masing nilai fitness pada setiap kromosom dalam suatu populasi terhadap jumlah total nilai fitnessnya. Rumus yang digunakan adalah. Pada tahap ini juga dapat ditentukan nilai kumulatif dari probabilitasnya. Perhitungan probabilitas fitness ini diimplementasikan dengan fungsi sort. Gambar 4.3 Sintak Probabilitas Fitness Variabel yang digunakan untuk mencari probabilitas fitness yaitu popsize (ukuran populasi) dan MaxGen (maksimum generasi). Keluarannya adalah probabilitas fitness dan nilai kumulatif dari probabilitasnya yang dapat dilihat pada Lampiran 10. while generasi<maxgen, generasi=generasi+1; gen(generasi)=generasi; F=sum(pop(:,N+2)); for i=1:popsize, p(i)=pop(i,n+2)/f; q(i)=sum(p(1:i)); end; [Urut,indek]=sort(pop(:,N+2)); Nilai Kumulatif dari probabilitas fitness yang diperoleh adalah 1, hal ini terjadi karena bila dilihat berdasarkan definisi teori probabilitas, nilai probabilitas berkisar antara interval 0 1 di mana, artinya, nilai probabilitas yang dihasilkan tidak boleh lebih dari 1. Nilai probabilitas maksimum yang dihasilkan harus bernilai Roulette Wheel Selection Proses seleksi adalah proses mencari kromosom terbaik dalam satu generasi, di mana untuk menentukan suatu kromosom terbaik dapat dilihat dari

99 81 nilai fitnessnya. Proses seleksi dilakukan dengan mengevaluasi setiap kromosom berdasarkan nilai fitnessnya untuk mendapatkan peringkat terbaik. Pada tahap ini, kromosom diseleksi sesuai dengan nilai fitnessnya. Tahap pertama yang dilakukan adalah nilai fitness yang diperoleh dijumlahkan, kemudian bangkitkan bilangan random. Setelah itu, nilai fitness yang telah terurut tadi dibandingkan dengan bilangan random yang dibangkitkan. Jika bilangan random yang telah dibangkitkan, maka kromosom tersebut akan terpilih sebagai induk untuk melakukan proses selanjutnya. H yang dapat dilihat pada Lampiran Update Probabilitas Crossover dan Probabilitas Mutasi Pada proses ini, update probabilitas crossover dan probabilitas mutasi menggunakan teknik kendali logika fuzzy. Pada prinsipnya proses kendali logika fuzzy dipergunakan untuk mengontrol nilai parameter algoritma genetika pada suatu generasi secara otomatis (automatic fine-tuning) berdasarkan informasi yang diperoleh dari populasi sebelumnya. nilai statistik dari populasi dan generasi yang ada dimasukkan dalam proses fuzzy sehingga menghasilkan parameter yang kemudian akan digunakan dalam proses algoritma genetika sehingga akan menghasilkan keluaran akhir. Dalam skripsi ini perhitungan probabilitas crossover dan probabilitas mutasi menggunakan bantuan perhitungan fuzzy sugeno yang terdapat di dalam software MATLAB. Untuk perhitungan manualnya dapat dilihat pada Lampiran Implementasi Program

100 82 Setelah memperoleh data dari PT Pos Indonesia DC Tugu Semarang berupa list nama beserta alamat penerima dan mencari koordinat beserta jarak antar alamat penerima, kemudian dibangun perangkat lunak implementasi Algoritma Genetika dengan Teknik Kendali Logika Fuzzy pada Travelling Salesman Problem melalui bantuan software MATLAB. Setelah perangkat lunak implementasi Algoritma Genetika dengan Teknik Kendali Logika Fuzzy pada Travelling Salesman Problem selesai dibangun, maka tahap selanjutnya adalah tahap uji coba program. Tahap uji coba tampilan adalah tahap pengujian dengan menjalankan program Travelling Salesman Problem yang sebagai masukan adalah titik koordinat tempat tujuan, jarak antar lokasi tempat tujuan, jumlah populasi, dan batas generasi yang akan diperoleh. Dalam perangkat yang telah dibuat, terdapat beberapa tampilan antara lain: tampilan Menu Utama, tampilan About, dan tampilan Help. Hasil pada tampilan Menu Utama, tampilan About, dan tampilan Help dapat dilihat pada Lampiran 4. Untuk coding pada matlab dapat dilihat pada Lampiran 5. Tampilan TSP dapat dilihat pada Gbr 4.6.

101 83 Gambar 4.6 Tampilan Uji TSP Pada tampilan Uji TSP yang ada pada Gambar 4.6 berguna untuk melakukan proses pencarian rute menggunakan algoritma genetika dengan teknik kendali logika fuzzy dengan memasukkan data koordinat alamat yang dituju yang sebelumnya telah dimasukkan ke dalam Excel, jumlah populasi, dan batas generasi. Kemudian terdapat beberapa tombol beserta fungsinya antara lain: 1. Tombol Input Data: berfungsi untuk memasukkan data koordinat alamat dituju yang sebelumnya telah dimasukkan ke dalam Excel 2. Tombol Fuzzy Sugeno: berfungsi untuk memberi keluaran berupa Pmutasi dan Pcrossover setelah menginputkan Populasi dan Generasi). 3. Tombol Cari: berfungsi untuk melakukan proses perhitungan menggunakan algoritma genetika dengan teknik kendali logika fuzzy. 4. Tombol Plot: berfungsi untuk menampilkan grafik koordinat kota/alamat yang akan dilalui setelah melakukan proses perhitungan.

102 84 5. Tombol Menu Utama: berfungsi untuk kembali pada tampilan menu utama. 6. Tombol Hasil Uji: berfungsi untuk menyimpan hasil perhitungan berupa nilai fitness terbaik, nilai fitness rata-rata, panjang jalur terbaik (Km), waktu (s), dan jalur terbaik. Tampilan Hasil Uji dapat dlihat pada Gambar 4.7. Gambar 4.7 Tampilan Hasi Uji 7. Tombol Refresh: digunakan untuk memasukkan nilai pada kolom yang telah disediakan setelah melakukan perhitungan menggunakan algoritma genetika dengan teknik kendali logika fuzzy. 8. Tombol Reset: digunakan untuk menghapus semua masukkan nilai. 9. Tombol Save Excel: digunakan untuk menyimpan data ke dalam file Excel. Berikut ini merupakan grafik koordinat kota/alamat yang dituju dapat dilihat pada Gambar 4.8.

103 85 Gambar 4.8 Tampilan Koordinat Kota atau Alamat Dituju Hasil Simulasi Program Perangkat lunak yang telah dirancang memerlukan pengujian data dengan melakukan proses pencarian rute dengan variasi jumlah populasi dan batas generasi yaitu: (100 dan 100), (100 dan 200), (100 dan 500), (100 dan 1000), (200 dan 100), (500 dan 100) dan (1000 dan 100). Kemudian dilakukan proses perhitungan sebanyak 10 kali dan diambil hasil terbaik minimum Perhitungan menggunakan masukan populasi 100 dan generasi 100 Untuk memulai perhitungan menggunakan perangkat lunak yang telah disediakan dapat dilihat pada Gambar 4.9 dengan memasukkan koordinat alamat tujuan yang sebelumnya telah disiapkan pada Excel, populasi 100 dan generasi 100.

104 86 Gambar 4.9 Tampilan TSP Setelah Memasukan Koordinat Kota, Populasi, dan Generasi Setelah tombol Fuzzy Sugeno ditekan pada Pmutasi dan Pcrossover akan muncul nilai 0,9152 dan 0, Nilai Pmutasi dan Pcrossover dihasilkan melalui sistem fuzzy Sugeno dengan memasukkan populasi 100 dan generasi 100 dan menggunakan aturan fuzzy serta nilai fungsi keanggotaan fuzzy yang telah dijelaskan pada Lampiran 6. Gambar 4.10 menjelaskan proses kerja pencarian probabilitas mutasi dan probabilitas crossover menggunakan fuzzy Sugeno.

105 87 Gambar 4.10 Hasil Pencarian Mutasi dan Probabilitas Crossover Gambar diatas merupakan menu pilihan untuk menyimpan, mengedit, dan melihat sistem fuzzy. Kolom kuning menunjukkan variabel input yang dalam penelitian ini adalah nilai Generasi dan Populasi. Kolom biru menunjukkan variabel output yang dalam penelitian ini adalah nilai probabilitas crossover dan nilai probabilitas mutasi. Kolom di bawah kolom biru menunjukkan kombinasi output dari tiap-tiap aturan yang terbentuk dari fungsi komposisi yang digunakan, kemudian dilanjutkan dengan proses defuzzifikasi. Kemudian pilih tombol Cari. Maka akan dilakukan proses perhitungan seperti yang tertera pada Gambar 4.11.

106 88 Gambar 4.11 Tampilan TSP Setelah Dijalankan Kemudian jika ingin melihat grafik koordinat alamat tujuan pilih tombol Plot seperti tertera pada Gambar Gambar 4.12 Tampilan Grafik Rute Koordinat Alamat Tujuan

107 89 Setelah melakukan proses perhitungan sebanyak 10 kali maka hasil perhitungan dapat dilihat pada Gambar 4.13 setelah memilih tombol Hasil Uji. Gambar 4.13 Hasil Uji pada Populasi 100 dan Generasi 100 Dan Gambar 4.14 merupakan data yang telah disimpan ke dalam Excel. Gambar 4.14 Tampilan Data yang Telah Disimpan pada Excel Untuk tampilan Hasil Uji dan tampilan data yang telah disimpan pada excel selanjutnya dapat dilihat pada Lampiran 7. Kemudian hasil perhitungan

108 90 menggunakan populasi 100, generasi 100, probabilitas mutasi 0,1952 dan probabilitas crossover 0,71538 sebanyak 10 kali dapat dilihat pada Tabel 4.1 Tabel 4.1 Hasil Perhitungan menggunakan Populasi 100 dan Generasi 100 No Fitness terbaik Fitness rata-rata Panjang jalur terbaik (Km) Waktu (detik) Jalur terbaik 1 0,0343 0,021 29,13 82, ,0308 0, ,5 78, ,0321 0, ,18 82, ,0304 0, ,93 80, ,0324 0, ,9 85, ,0317 0, ,55 81,

109 ,0324 0, ,87 83, ,0326 0, ,69 82, ,0352 0, ,38 84, ,0311 0, ,14 68, Dari Tabel 4.1 diperoleh hasil rata-rata panjang jalur terbaik adalah 31,027 Km, nilai fitness terbaik yang terbesar adalah 0,0352, panjang jalur terpendek adalah 28,38 Km dan waktu eksekusi adalah 84,012 detik dengan jalur terbaiknya adalah Perhitungan menggunakan masukan populasi 100 dan generasi 200 Hasil setelah dilakukan perhitungan menggunakan populasi 100, generasi 200, probabilitas mutasi 0, dan probabilitas crossover sebanyak 10 kali pada Tabel 4.2.

110 92 Tabel 4.2 Hasil Perhitungan menggunakan Populasi 100 dan Generasi 200 No Fitness terbaik Fitness rata-rata Panjang jalur terbaik (Km) Waktu (detik) Jalur terbaik 1 0, , ,8 144, , , ,01 142, , , ,21 142, , , ,57 149, , , ,17 155, , , ,12 152,

111 , , ,89 152, , , ,44 154, , , ,48 155, , , ,38 152, Dari Tabel 4.2 diperoleh hasil rata-rata panjang jalur terbaik adalah 29,507 Km, nilai fitness terbaik yang terbesar adalah 0, panjang jalur terpendek adalah 27,12 Km dan waktu eksekusi adalah 152,0769 detik dengan jalur terbaiknya adalah

112 Perhitungan menggunakan masukan populasi 100 dan generasi 500 Hasil setelah dilakukan perhitungan menggunakan populasi 100, generasi 500, probabilitas mutasi dan probabilitas crossover sebanyak 10 kali pada Tabel 4.3. Tabel 4.3 Hasil Penghitungan menggunakan Populasi 100 dan Generasi 500 No Fitness terbaik Fitness rata-rata Panjang jalur terbaik (Km) Waktu (detik) Jalur terbaik 1 0, , ,13 362, , , ,27 353, , , ,98 355, , , ,87 361, , , ,9 381,

113 , , ,59 381, , , ,02 362, , , ,44 372, , , ,75 358, , , ,64 361, Dari Tabel 4.3 diperoleh hasil rata-rata panjang jalur terbaik adalah 27,659 Km, nilai fitness terbaik yang terbesar adalah 0,040404, panjang jalur terpendek adalah 24,75 Km dan waktu eksekusi adalah 358,1425 detik dengan jalur terbaiknya adalah

114 Perhitungan menggunakan masukan populasi 100 dan generasi 1000 Hasil setelah dilakukan perhitungan menggunakan populasi 100, generasi 1000, probabilitas mutasi dan probabilitas crossover sebanyak 10 kali pada Tabel 4.4. Tabel 4.4 Hasil Penghitungan menggunakan Populasi 100 dan Generasi 1000 No Fitness terbaik Fitness rata-rata Panjang jalur terbaik (Km) Waktu (detik) Jalur terbaik 1 0, , ,28 850, , , ,39 845, , , ,13 766, , , ,82 726, , , ,12 740,

115 , , ,49 714, , , ,91 752, , , ,63 712, , , ,92 701, , , , , Dari Tabel 4.4 diperoleh hasil rata-rata panjang jalur terbaik adalah 25,496 Km, nilai fitness terbaik yang terbesar adalah 0,044189, panjang jalur terpendek adalah 22,63 Km dan waktu eksekusi adalah 712,537 detik dengan jalur terbaiknya adalah

116 Perhitungan menggunakan masukan populasi 200 dan generasi 100 Hasil setelah dilakukan perhitungan menggunakan populasi 200, generasi 100, probabilitas mutasi dan probabilitas crossover sebanyak 10 kali pada Tabel 4.5. Tabel 4.5 Hasil Penghitungan menggunakan Populasi 200 dan Generasi 100 No Fitness terbaik Fitness rata-rata Panjang jalur terbaik (Km) Waktu (detik) Jalur terbaik 1 0, , ,66 107, , , ,78 103, , , ,59 103, , , ,58 103, , , ,94 103,

117 , , ,37 103, , , ,41 103, , , ,75 103, , , ,74 109, , , ,53 116, Dari Tabel 4.5 diperoleh hasil rata-rata panjang jalur terbaik adalah 29,936 Km, nilai fitness terbaik yang terbesar adalah 0,036483, panjang jalur terpendek adalah 27,41 Km dan waktu eksekusi adalah 103,0078 detik dengan jalur terbaiknya adalah

118 Perhitungan menggunakan masukan populasi 500 dan generasi 100 Hasil setelah dilakukan perhitungan menggunakan populasi 500, generasi 100, probabilitas mutasi dan probabilitas crossover sebanyak 10 kali pada Tabel 4.6. Tabel 4.6 Hasil Penghitungan menggunakan Populasi 500 dan Generasi 100 No Fitness terbaik Fitness rata-rata Panjang jalur terbaik (Km) Waktu (detik) Jalur terbaik 1 0, , ,92 204, , , ,73 207, , , ,01 204, , , ,91 204, , , ,

119 , , ,63 205, , , ,55 217, , , ,19 217, , , ,49 221, , , ,6 224, Dari Tabel 4.6 diperoleh hasil rata-rata panjang jalur terbaik adalah 28,903 Km, nilai fitness terbaik yang terbesar adalah 0,038865, panjang jalur terpendek adalah 25,73 Km dan waktu eksekusi adalah 207,185 detik dengan jalur terbaiknya adalah

120 Perhitungan menggunakan masukan populasi 1000 dan generasi 100 Hasil setelah dilakukan perhitungan menggunakan populasi 1000, generasi 100, probabilitas mutasi dan probabilitas crossover sebanyak 10 kali pada Tabel 4.7. Tabel 4.7 Hasil Penghitungan menggunakan Populasi 1000 dan Generasi 100 No Fitness terbaik Fitness rata-rata Panjang jalur terbaik (Km) Waktu (detik) Jalur terbaik 1 0, , ,63 424, , , ,63 393, , , ,67 388, , , ,3 390, , , ,14 391,

121 , , ,42 391, , , ,26 390, , , ,22 405, , , ,23 408, , , ,25 410, Dari Tabel 4.7 diperoleh hasil rata-rata panjang jalur terbaik adalah 29,575 Km, nilai fitness terbaik yang terbesar adalah 0,038256, panjang jalur terpendek adalah 26,14 Km dan waktu eksekusi adalah 391,4639 detik dengan jalur terbaiknya adalah

122 Analisis Penyelesaian Travelling Salesman Problem Menggunakan Aplikasi Algoritma Genetika dengan Teknik Kendali Logika Fuzzy dalam Pengiriman Surat dan Barang di PT. Pos Indonesia DC Tugu Semarang Dari hasil penelitian diperoleh bahwa solusi optimal permasalahan jaringan TSP dalam pengiriman surat dan Barang oleh PT. Pos ke rumah penerima barang di wilayah Kota Semarang, khususnya dalam penelitian ini mencangkup wilayah Kecamatan Ngaliyan dengan menggunakan variasi populasi dan generasi pada algoritma Genetika dengan Teknik Kendali Logika Fuzzy yang berbeda dapat dijelaskan pada Tabel 4.8. Tabel 4.8 Tabel Hasil Panjang Jalur Terbaik No Populasi Generasi Fitness terbaik Panjang jalur terbaik (Km) Waktu (detik) Jalur Terbaik , ,38 84, , ,12 152,

123 , ,75 358, , ,63 712, , ,41 103, , ,73 207, , ,14 391, Dari ketujuh variasi populasi dan generasi pada algoritma genetika dengan teknik kendali logika fuzzy diperoleh bahwa dengan populasi 100 dan generasi 1000 mempunyai nilai fitness yang lebih tinggi serta panjang jalur yang lebih minimal dari yang lain. Nilai fitness yang diperoleh adalah 0,044189, panjang jalur terbaik adalah 22,63 Km, waktu eksekusi adalah 712,537 detik dengan jalur terbaiknya adalah

124 106 Gambar 4.15 menunjukkan proses perhitungan dengan panjang jalur terbaik 22,63 Km. Gambar 4.15 Proses Perhitungan dengan Panjang Jalur Terbaik Km Kemudian untuk analisa probabilitas crossover dan probabilitas mutasi dapat dijelaskan pada Tabel 4.9. Tabel 4.9 Tabel Hasil Probabilitas Mutasi dan Probabilitas Crossover No Populasi Generasi Probabilitas Mutasi Probabilitas Crossover ,1952 0, , Panjang jalur terbaik (Km) 28,38 27,12 24,75 22,63 27,41

125 ,73 26,14 Pada Tabel 4.9 dapat dilihat dari populasi 100 dan generasi 1000, bahwa pada probabilitas mutasi bisa dikatakan paling kecil dibanding dengan keenam variasi yang lain. Kemudian untuk nilai probabilitas crossover pada populasi 100 dan generasi 1000 mempunyai nilai yang paling tinggi dibanding dengan nilai probabilitas crossover yang lainnya. 4.2 Pembahasan Berdasarkan hasil penelitian yang telah dilakukan di PT. Pos Indonesia DC Tugu Semarang diperoleh hasil pencarian koordinat titik lokasi penelitian dengan bantuan situs Wikimapia.org yang sudah terintegrasi dengan Google Maps menghasilkan koordinat yang cukup akurat. Hal ini dibuktikan dengan selisih yang tidak berbeda jauh ketika dilakukan sampel pencarian jarak secara manual oleh peneliti di lapangan. Selain itu, penggunaan bantuan situs Wikimapia.org dan Google Maps bisa menghemat waktu dan biaya dalam pencarian jarak antar lokasi penelitian. Ini membuktikan bahwa situs Wikimapia.org dan Google Maps layak dipilih untuk dijadikan suatu alat pencarian jarak antar lokasi. Hasil pencarian solusi optimal dengan algoritma genetika dengan teknik kendali logika fuzzy dilakukan dengan menggunakan bantuan aplikasi software Matlab. Proses penghitungan dihentikan pada generasi ke 100, 200, 500, dan 1000 dengan populasi 100, 200, 500, dan Hal ini karena diharapkan pada generasi

126 108 dan populasi tersebut didapatkan nilai fitness terbaik dan juga panjang jalur yang paling minimal. Solusi optimal dari permasalahan jaringan TSP menggunakan algoritma genetika dengan teknik kendali logika fuzzy pada penelitian ini menghasilkan rute terbaik pengiriman barang PT. Pos Indonesia DC Tugu Semarang ke rumah supplier yang tersebar di wilayah Kota Semarang khususnya Kecamatan Ngaliyan yaitu: Kantor Pos DC Tugu Semarang - Drs Arif Rosyidi (bengkel mobil senior) (Ruko Taman Beringin 3A-5) - Silvya Birrotun N (Bella Vista Regency G 10 RT 11/1 Beringin Ngaliyan) - Agung Priyambada (JL Akasia D 3/5 RT 6/1 Beringin Ngaliyan) - Supriyantono (JL Mega Permai IV/89 RT 5/2, Beringin, Ngaliyan) - Fran Ardiansyah (JL Mega Raya RT 8/7 Beringin Ngaliyan) - Lia Rosita (JL Mega Raya IV/306 No 306 Beringin RT 2/7 Kel Beringin Kec Ngaliyan) - Amin Suwarno (Bukit Beringin Asri III Blok A No 344 Perumnas BUK) - Ony S (JL Beringin Asri Tengah IV/440 RT 6/11) - Veronica Maryati (JL Karo Raya No 18 RT 1/X Perumahan Pondok Beringin Tambakaji) - Prijo Handoko (JL Bligo No 8 RT 7/10 Tambakaji) - Galih Suci Pratama (Perum Beringin Asri No 1036 RT 05/12 Wonosari) - Fitri Retnowati (Asrama Putri PGSD UNNES Beringin) - Suyanta (Kp Tegalsari RT 5/11 Tambakaji Ngaliyan) - Agnes Saptawati Nugrahaningsih (Bukit Beringin Lestari VI/ B 200 RT 4/ BDI DR Cipto) - Hery Kartono (Graha Beringin Mas Utara Dalam III) - Arif Lukman (Graha beringin mas SLT 1/8 RT 1 RW 11 semarang 50111) - Adi Sumartono (Beringin Putih Blok D I/10 RT 1/9 Ngaliyan) - Tuwadi (Perumnas Beringin Blok A 99 VI No 164 Ngaliyan) - D Wahyu Supriyadi (Bukit Beringin Lestari JL Bukit

127 109 Beringin Lestari Selatan GG 13 RT 10/11 Blok G/110 Gondoriyo) - Setyaningsih O (Cemara A1 No 19 Perumahan Beringin Indah 0711 BDI MT HARYONO) - Jamaludin (Kapri Bawah 11 RT 9/10 Tambakaji) - Kantor Pos DC Tugu Semarang, dengan jarak yang ditempuh 22,63 Km. Berdasarkan hasil pencarian solusi optimal dari jaringan TSP dalam pengiriman barang PT. Pos Indonesia DC Tugu Semarang ke rumah supplier di wilayah Kecamatan Ngaliyan kota Semarang diperoleh solusi optimal menggunakan algoritma genetika dengan teknik kendali logika fuzzy dengan populasi 100 dan generasi 1000 menghasilkan solusi optimal yang paling baik dibandingkan dengan 6 variasi lain. Dengan demikian, maka penggunaan algoritma genetika dengan teknik kendali logika fuzzy dengan populasi 100 dan generasi 1000 dijadikan pilihan pada penyelesaian masalah optimasi terutama pada permasalahan TSP. Keunggulan dari aplikasi ini adalah solusi dapat diperoleh kapanpun karena solusi dihasilkan pada generasi ke berapapun, algoritma genetika dengan teknik kendali logika fuzzy tidak harus membutuhkan waktu yang lama karena tidak semua kemungkinan dicoba, tergantung pada kriteria berakhirnya, algoritma pencarian konvensional dilakukan apabila jumlah n kecil, tapi jika n nya banyak maka akan memakan banyak waktu untuk penyelesaian dibandingkan algoritma genetik dengan teknik kendali logika fuzzy. Untuk kelemahannya terletak pada sifatnya yang random sehingga untuk mengidentifikasi kapan hasil paling optimal muncul tidak diketahui pada masukan generasi dan populasi keberapa.

128 BAB 5 PENUTUP 5.1 Simpulan 1. Hasil pencarian jarak minimum berdasarkan analisis perhitungan masalah jaringan TSP pada pengiriman surat dan barang PT. Pos Indonesia DC Tugu Semarang menggunakan algoritma genetika melalui teknik kendali logika fuzzy menggunakan populasi 100 dan generasi 1000 menghasilkan solusi optimal yaitu 22,63 Km. Hasil tersebut lebih baik dari 6 variasi populasi dan generasi lain. 2. Hasil perhitungan masalah Solusi optimal dari permasalahan jaringan TSP menggunakan algoritma genetika dengan teknik kendali logika fuzzy pada penelitian ini menghasilkan rute terbaik pengiriman surat dan barang PT. Pos Indonesia DC Tugu Semarang ke rumah supplier yang tersebar di wilayah Kecamatan Ngaliyan Kota Semarang yaitu: Kantor Pos DC Tugu Semarang - Drs Arif Rosyidi (Ruko Taman Beringin 3A-5) - Silvya Birrotun N (Bella Vista Regency G 10 RT 11/1 Beringin Ngaliyan) - Agung Priyambada (JL Akasia D 3/5 RT 6/1 Beringin Ngaliyan) - Supriyantono (JL Mega Permai IV/89 RT 5/2, Beringin, Ngaliyan) - Fran Ardiansyah (JL Mega Raya RT 8/7 Beringin Ngaliyan) - Lia Rosita (JL Mega Raya IV/306 No 306 Beringin RT 2/7 Kel Beringin Kec Ngaliyan) - Amin Suwarno (Bukit Beringin Asri III Blok A No 344 Perumnas BUK) - Ony S (JL Beringin Asri Tengah IV/440 RT 6/11) - Veronica Maryati (JL Karo Raya No 18 RT 1/X 110

129 111 Perumahan Pondok Beringin Tambakaji) - Prijo Handoko (JL Bligo No 8 RT 7/10 Tambakaji) - Galih Suci Pratama (Perum Beringin Asri No 1036 RT 05/12 Wonosari) - Fitri Retnowati (Asrama Putri PGSD UNNES Beringin) - Suyanta (Kp Tegalsari RT 5/11 Tambakaji Ngaliyan) - Agnes Saptawati Nugrahaningsih (Bukit Beringin Lestari VI/ B 200 RT 4/ BDI DR Cipto) - Hery Kartono (Graha Beringin Mas Utara Dalam III) - Arif Lukman (Graha beringin mas SLT 1/8 RT 1 RW 11 semarang 50111) - Adi Sumartono (Beringin Putih Blok D I/10 RT 1/9 Ngaliyan) - Tuwadi (Perumnas Beringin Blok A 99 VI No 164 Ngaliyan) - D Wahyu Supriyadi (Bukit Beringin Lestari JL Bukit Beringin Lestari Selatan GG 13 RT 10/11 Blok G/110 Gondoriyo) - Setyaningsih O (Cemara A1 No 19 Perumahan Beringin Indah 0711 BDI MT HARYONO) - Jamaludin (Kapri Bawah 11 RT 9/10 Tambakaji) - Kantor Pos DC Tugu Semarang dengan jarak yang ditempuh 22,63 Km. 5.2 Saran 1. Diharapkan untuk PT. Pos Indonesia DC Tugu Semarang dapat memakai algoritma genetika dengan teknik kendali logika fuzzy supaya dapat mengoptimalkan jarak dan rute yang ditempuh. 2. Diharapkan pada penelitian selanjutnya dapat mencoba algoritma dan software lain dalam penyelesaian permasalahan TSP, agar didapat perbandingan dalam mengatasi solusi yang lebih baik dan pencarian lebih cepat.

130 DAFTAR PUSTAKA Basuki, A, 2003a. Strategi Menggunakan Algoritma Genetika. Tersedia di ]. Basuki, A. 2003b. Algoritma Genetika Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning. Tersedia di [diakses ]. Bindu & P. Tanwar Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem. International Journal of Computer Science & Communication Network, 2(3): Tersedia di vol2issue3/ijcscn pdf [diakses ]. Budayasa, I.K Teori Graph dan Aplikasinya. Surabaya: Unesa University Press. Desiani, A. & Arhani, M Konsep Kecerdasan Buatan. Yogyakarta: Andi Offset. Firmansyah, A Dasar-dasar Pemograman MATLAB. IlmuKomputer.com. Kusumadewi, S Artificial Intelligence: Teknik dan Aplikasinya. Yogyakarta: Graha Ilmu. Munir, R Matematika Diskrit. Bandung: CV Informatika. Muzid, S Pemanfaatan Algoritma Fuzzy Evolusi Untuk Penyelesaian Kasus Travelling Salesman Problem. Seminar Nasional Aplikasi Teknologi Informasi. Yogyakarta: Universitas Islam Indonesia. Online. Tersedia di view/556/480 [diakses ]. Pandian, P. & G. Natarajan A New Algorithm for Finding Optimal Solution for Fuzzy Transportation Problem. Applied Mathematical Science. 2: Rosen, K.H Discrete Mathematics and Its Applications. Fifth Edition. New York: McGraw-Hill. 112

131 Siang, J. J., Matematika Diskrit dan Aplikasinya pada Ilmu Komputer. Yogyakarta: ANDI. Wibowo, M.A Aplikasi Algoritma Genetika Untuk Penjadwalan Mata Kuliah. Semarang: FMIPA UNDIP. Widodo, Prabowo Penerapan Soft Computing Dengan MATLAB. Bandung: Rekayasa Sains. Zulfikar, N Aplikasi Algoritma Genetika untuk Mencari Rute Terpendek N- Buah Node. Skripsi. FTIK Unikom. 113

132 114

133 Lampiran 1 Nama, Alamat, dan Kode Lokasi Penerimaan Surat dan Barang dari PT. Pos Indonesia DC Tugu Semarang No Nama Penerima Alamat Kode Lokasi Kantor Pos 1 Kecamatan Tugu Kantor Pos Kecamatan Tugu 1 2 Jamaludin Kapri Bawah 11 RT 9/10 Tambakaji 2 3 Drs Arif Rosyidi Ruko Taman Beringin 3A-5 Ngaliyan 3 4 Silvya Birrotun N Bella Vista Regency G 10 RT 11/1 Beringin Ngaliyan 4 5 Setyaningsih O Cemara A1 No 19 Perumahan Beringin Indah 0711 BDI MT HARYONO 5 6 Agung Priyambada Perumahan Beringin Indah JL Akasia D 3/5 RT 6/1 Beringin Ngaliyan 6 7 Lia Rosita JL Mega Raya IV/306 No 306 Beringin RT 2/7 Kel Beringin Kec Ngaliyan 7 8 Fran Ardiansyah JL Mega Raya RT 8/7 Beringin Ngaliyan 8 9 Supriyantono JL Mega Permai IV/89 RT 5/2 Beringin Ngaliyan 9 10 Adi Sumartono Beringin Putih Blok D I/10 RT 1/9 Ngaliyan Arif Lukman Graha beringin mas SLT 1/8 RT 1 RW 11 semarang Hery Kartono Graha Beringin Mas Utara Dalam III No 19 RT 7 RW 11 Ngaliyan D Wahyu Supriyadi JL Bukit Beringin Lestari Selatan GG 13 RT 10/11 Blok G/110 Gondoriyo Tuwadi Perumnas Beringin Blok A 99 VI No 164 Ngaliyan Agnes Saptawati N Bukit Beringin Lestari VI/ B 200 RT 4/ BDI DR Cipto Veronica Maryati JL Karo Raya No 18 RT 1/X Perumahan Pondok Beringin Tambakaji Prijo Handoko JL Bligo No 8 RT 7/10 Tambakaji Ony S JL Beringin Asri Tengah IV/440 RT 6/ Amin Suwarno Bukit Beringin Asri III Blok A No 344 Perumnas BUK Galih Suci Pratama Perum Beringin Asri No 1036 RT 05/12 Wonosari Fitri Retnowati Asrama Putri PGSD UNNES Beringin Suyanta Kp Tegalsari RT 5/11 Tambakaji Ngaliyan

134 Lampiran 2 Kode Lokasi, Koordinat X, Koordinat Y pada Alamat Penerima Surat dan Barang dari PT. Pos Indonesia DC Tugu Semarang No Kode Lokasi Koordinat X Koordinat 1 1-6, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Y 116

135 Lampiran 3 Jarak Antartitik Koordinat Lokasi ,98 2,67 3,12 3,23 3,32 3,81 3,67 3,4 4,52 5,3 2 1,98 0 1,16 1,43 1,6 1,66 2,18 2,09 1,83 2,86 3,67 3 2,67 1,16 0 0,34 0,57 0,61 1,2 1,04 0,77 1,84 2,61 4 3,12 1,43 0,34 0 0,58 0,52 1,12 0,99 0,68 1,82 2,53 5 3,23 1,6 0,57 0,58 0 0,11 0,9 0,8 0,46 1,6 2,3 6 3,32 1,66 0,61 0,52 0,11 0 0,49 0,73 0,47 1,55 2,27 7 3,81 2,18 1,2 1,12 0,9 0,49 0 0,09 0,64 1,45 2,18 8 3,67 2,09 1,04 0,99 0,8 0,73 0,09 0 0,17 1,31 2,08 9 3,4 1,83 0,77 0,68 0,46 0,47 0,64 0,17 0 1,23 2,1 10 4,52 2,86 1,84 1,82 1,6 1,55 1,45 1,31 1,23 0 1, ,3 3,67 2,61 2,53 2,3 2,27 2,18 2,08 2,1 1, ,1 3,47 2,41 2,4 2,13 2,11 2 1,9 1,92 1,51 0, ,4 3,81 2,75 2,73 2,49 2,44 2,33 2,24 2,26 1,87 1, ,3 3,7 2,66 2,62 2,36 2,34 2,21 2,13 2,16 1,76 1, ,2 3,53 2,47 2,46 2,22 2,17 2,06 1,97 2 1,56 1, ,5 3,96 2,91 2,92 2,65 2,6 2,54 2,4 2,44 2,02 2, ,4 3,86 2,65 2,73 2,38 2,37 2,26 2,15 2,29 1,78 1, ,47 3,6 3,33 3,12 3,1 3,07 2,86 2,87 2,5 2, ,8 4,22 3,39 3,12 2,96 2,86 2,71 2,61 2,84 2,46 2, ,3 3,67 2,7 2,62 2,41 2,37 2,21 2,14 2,21 1,75 1, ,9 4,28 3,28 3,2 2,95 2,9 2,81 2,7 2,72 2,32 2, ,8 4,49 3,48 3,39 3,15 3,1 2,98 2,91 2,93 2,52 2,63 117

136 Lokasi ,1 5,4 5,3 5,2 5,5 5,4 6 5,8 5,3 5,9 4,8 2 3,47 3,81 3,7 3,53 3,96 3,86 4,47 4,22 3,67 4,28 4,49 3 2,41 2,75 2,66 2,47 2,91 2,65 3,6 3,39 2,7 3,28 3,48 4 2,4 2,73 2,62 2,46 2,92 2,73 3,33 3,12 2,62 3,2 3,39 5 2,13 2,49 2,36 2,22 2,65 2,38 3,12 2,96 2,41 2,95 3,15 6 2,11 2,44 2,34 2,17 2,6 2,37 3,1 2,86 2,37 2,9 3, ,33 2,21 2,06 2,54 2,26 3,07 2,71 2,21 2,81 2,98 8 1,9 2,24 2,13 1,97 2,4 2,15 2,86 2,61 2,14 2,7 2,91 9 1,92 2,26 2,16 2 2,44 2,29 2,87 2,84 2,21 2,72 2, ,51 1,87 1,76 1,56 2,02 1,78 2,5 2,46 1,75 2,32 2, ,15 1,97 1,84 1,69 2,14 1,89 2,62 2,51 1,89 2,43 2, ,56 1,68 1,52 1,98 1,73 2,46 2,35 1,73 2,27 2, ,56 0 0,22 0,38 1,61 1,36 2,12 2,03 1,32 1,95 2, ,68 0,22 0 0,17 1,49 1,25 1,98 1,88 1,2 1,8 2, ,52 0,38 0,17 0 1,1 1,09 1,82 1,72 1,04 1,64 1, ,98 1,61 1,49 1,1 0 0,19 0,74 0,69 0,7 0,53 0, ,73 1,36 1,25 1,09 0,19 0 0,7 0,87 0,42 0,78 1, ,46 2,12 1,98 1,82 0,74 0,7 0 0,13 1,2 1,06 1, ,35 2,03 1,88 1,72 0,69 0,87 0,13 0 0,26 0,97 1,2 20 1,73 1,32 1,2 1,04 0,7 0,42 1,2 0,26 0 0,66 1, ,27 1,95 1,8 1,64 0,53 0,78 1,06 0,97 0,66 0 0, ,47 2,17 2,05 1,89 0,78 1,03 1,29 1,2 1,19 0,

137 Lampiran 4 1. Tampilan Menu Utama Tampilan Simulasi Matlab 2. Tampilan Menu About 119

138 3. Tampilan Menu Help 4. Tampilan Menu TSP Fuzzy 120

139 Lampiran 5 Haldepan.m: Kode Program dengan Matlab function varargout = haldepan(varargin) % HALDEPAN M-file for haldepan.fig % HALDEPAN, by itself, creates a new HALDEPAN or raises the existing % singleton*. % % H = HALDEPAN returns the handle to a new HALDEPAN or the handle to % the existing singleton*. % % HALDEPAN('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in HALDEPAN.M with the given input arguments. % % HALDEPAN('Property','Value',...) creates a new HALDEPAN or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before haldepan_openingfcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to haldepan_openingfcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help haldepan % Last Modified by GUIDE v Jul :36:23 % Begin initialization code - DO NOT EDIT gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); 121

140 else gui_mainfcn(gui_state, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before haldepan is made visible. function haldepan_openingfcn(hobject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to haldepan (see VARARGIN) axes(handles.ftunnes); image(imread('unnes1.png')); axis('off'); axes(handles.axes21); image(imread('kantorpos.jpg')); axis('off'); axes(handles.axes22); image(imread('kantorpos2.jpg')); axis('off'); % Choose default command line output for haldepan % Update handles structure guidata(hobject, handles); % UIWAIT makes haldepan wait for user response (see UIRESUME) % uiwait(handles.haldepan); % --- Outputs from this function are returned to the command line. function varargout = haldepan_outputfcn(hobject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure % function menu_file_callback(hobject, eventdata, handles) % hobject handle to menu_file (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) 122

141 % function menu_file_tsp_fuzzy_callback(hobject, eventdata, handles) % hobject handle to menu_file_tsp_fuzzy (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); TSPFuzzy % function file_menu_exit_callback(hobject, eventdata, handles) % hobject handle to menu_file_exit (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.haldepan,'position'); user_response=tanya_keluar_utama('exit','konfirmasi Mengakhiri Program'); switch user_response case {'No'} case 'Yes' delete(handles.haldepan); close end % function menu_help_callback(hobject, eventdata, handles) % hobject handle to menu_help (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); menuhelp % --- Executes during object creation, after setting all properties. function ftunnes_createfcn(hobject, eventdata, handles) % hobject handle to ftunnes (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate ftunnes % function Untitled_2_Callback(hObject, eventdata, handles) 123

142 % hobject handle to menu_help (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % function menu_about_callback(hobject, eventdata, handles) % hobject handle to menu_about (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); menuabout % --- Executes on mouse press over axes background. function ftunnes_buttondownfcn(hobject, eventdata, handles) % hobject handle to ftunnes (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) FisEvolusi.m b=newfis('evolusi'); b.input(1).name='populasi'; b.input(2).name='generasi'; b.output(1).name='probcrossover'; b.output(2).name='probmutasi'; b.input(1).range=[0 1000]; b.input(2).range=[0 1000]; b.output(1).range=[ ]; b.output(2).range=[0 0.25]; b.input(1).mf(1).name='small'; b.input(1).mf(1).type='zmf'; b.input(1).mf(1).params=[50 250]; b.input(1).mf(2).name='medium'; b.input(1).mf(2).type='gaussmf'; b.input(1).mf(2).params=[80 275]; b.input(1).mf(3).name='large'; b.input(1).mf(3).type='smf'; b.input(1).mf(3).params=[ ]; b.input(2).mf(1).name='short'; b.input(2).mf(1).type='zmf'; b.input(2).mf(1).params=[50 200]; b.input(2).mf(2).name='medium'; b.input(2).mf(2).type='gaussmf'; b.input(2).mf(2).params=[80 275]; b.input(2).mf(3).name='long'; b.input(2).mf(3).type='smf'; b.input(2).mf(3).params=[ ]; b.output(1).mf(1).name='small'; b.output(1).mf(1).type='zmf'; 124

143 b.output(1).mf(1).params=[ ]; b.output(1).mf(2).name='medium'; b.output(1).mf(2).type='trapmf'; b.output(1).mf(2).params=[ ]; b.output(1).mf(3).name='large'; b.output(1).mf(3).type='trapmf'; b.output(1).mf(3).params=[ ]; b.output(1).mf(4).name='verylarge'; b.output(1).mf(4).type='smf'; b.output(1).mf(4).params=[ ]; b.output(2).mf(1).name='verysmall'; b.output(2).mf(1).type='zmf'; b.output(2).mf(1).params=[ ]; b.output(2).mf(2).name='small'; b.output(2).mf(2).type='trapmf'; b.output(2).mf(2).params=[ ]; b.output(2).mf(3).name='medium'; b.output(2).mf(3).type='trapmf'; b.output(2).mf(3).params=[ ]; b.output(2).mf(4).name='large'; b.output(2).mf(4).type='smf'; b.output(2).mf(4).params=[ ]; b.rule(1).antecedent=[1 1]; b.rule(1).connection=1; b.rule(1).consequent=[2 4]; b.rule(1).connection=1; b.rule(1).weight=1; b.rule(2).antecedent=[2 1]; b.rule(2).connection=1; b.rule(2).consequent=[1 3]; b.rule(2).connection=1; b.rule(2).weight=1; b.rule(3).antecedent=[3 1]; b.rule(3).connection=1; b.rule(3).consequent=[1 2]; b.rule(3).connection=1; b.rule(3).weight=1; b.rule(4).antecedent=[1 2]; b.rule(4).connection=1; b.rule(4).consequent=[3 3]; b.rule(4).connection=1; b.rule(4).weight=1; b.rule(5).antecedent=[2 2]; b.rule(5).connection=1; b.rule(5).consequent=[3 2]; b.rule(5).connection=1; b.rule(5).weight=1; b.rule(6).antecedent=[3 2]; b.rule(6).connection=1; b.rule(6).consequent=[2 1]; 125

144 b.rule(6).connection=1; b.rule(6).weight=1; b.rule(7).antecedent=[1 3]; b.rule(7).connection=1; b.rule(7).consequent=[4 2]; b.rule(7).connection=1; b.rule(7).weight=1; b.rule(8).antecedent=[2 3]; b.rule(8).connection=1; b.rule(8).consequent=[4 1]; b.rule(8).connection=1; b.rule(8).weight=1; b.rule(9).antecedent=[3 3]; b.rule(9).connection=1; b.rule(9).consequent=[3 1]; b.rule(9).connection=1; b.rule(9).weight=1; evalfis([ ],b) TSPInisialisasiPopulasi.m function Populasi = TSPInisiasiPopulasi(UkPop,JumGen) for ii=1:ukpop, [Xval,Ind] = sort(rand(1,jumgen)); Populasi(ii,:) = Ind; end TSPEvaluasiIndividu.m function fitness = TSPEvaluasiIndividu(Kromosom,JumGen,XYkota) TB = 0; load jr for ii=1:jumgen-1 a=jr(kromosom(ii),kromosom(ii+1)); TB = TB + a; end; % jalur harus kembali ke kota asal TB = TB + jr(kromosom(jumgen),kromosom(1)); fitness = 1/TB; LinierFitnessRanking.m function LFR = LinearFitnessRanking(UkPop,Fitness,MaxF,MinF) [SF,IndF] =sort(fitness); for rr=1:ukpop LFR(IndF(UkPop-rr+1)) = MaxF-(MaxF-MinF)*((rr-1)/(UkPop-1)); End 126

145 Roulettewheel.m function Pindex = RouletteWheel(UkPop,LinearFitness) JumFitness=sum(LinearFitness); KumulatifFitness=0; RN =rand; ii=1; while ii <= UkPop KumulatifFitness = KumulatifFitness + LinearFitness(ii); if (KumulatifFitness/JumFitness) > RN Pindex = ii; break; end ii = ii+1; end TSPPindahSilang.m function Anak = TSPPindahsilang(Bapak,Ibu,JumGen) cp1 = 1 + fix(rand*(jumgen-1)); cp2 = 1 + fix(rand*(jumgen-1)); while cp2==cp1, cp2 = 1 + fix(rand*(jumgen-1)); end if cp1 < cp2, cps = cp1; cpd = cp2; else cps = cp2; cpd = cp1; % else % cps = cp2; % cpd = cp1; end Anak(1,cps+1:cpd) = Ibu(cps+1:cpd); Anak(2,cps+1:cpd) = Bapak(cps+1:cpd); SisaGenbapak = []; SisaGenIbu = []; for ii=1:jumgen if ~ismember(bapak(ii),anak(1,:)) SisaGenbapak = [SisaGenbapak Bapak(ii)]; end if ~ismember(ibu(ii),anak(2,:)) SisaGenIbu = [SisaGenIbu Ibu(ii)]; end end Anak(1,cpd+1:JumGen) = SisaGenbapak(1:JumGen-cpd); Anak(1,1:cps)=SisaGenbapak(1+JumGen-cpd:length(SisaGenbapak)); Anak(2,cpd+1:JumGen) = SisaGenIbu(1:JumGen-cpd); Anak(2,1:cps) = SisaGenIbu(1+JumGen-cpd:length(SisaGenIbu)); 127

146 TSPMutasi.m function MutKrom = TSPMutasi(Kromosom,JumGen,Pmutasi) MutKrom = Kromosom; for ii=1:jumgen, if rand<pmutasi, TM2 = 1+ fix(rand*jumgen); while TM2==ii, TM2=1+fix(rand*JumGen); end temp = MutKrom(ii); MutKrom(ii) = MutKrom(TM2); MutKrom(TM2)=temp; end end TSPFuzzy.m function varargout = TSPFuzzy(varargin) % TSPFUZZY M-file for TSPFuzzy.fig % TSPFUZZY, by itself, creates a new TSPFUZZY or raises the existing % singleton*. % % H = TSPFUZZY returns the handle to a new TSPFUZZY or the handle to % the existing singleton*. % % TSPFUZZY('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in TSPFUZZY.M with the given input arguments. % % TSPFUZZY('Property','Value',...) creates a new TSPFUZZY or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before TSPFuzzy_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to TSPFuzzy_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help TSPFuzzy % Last Modified by GUIDE v Jul :43:17 128

147 % Begin initialization code - DO NOT EDIT gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before TSPFuzzy is made visible. function TSPFuzzy_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to TSPFuzzy (see VARARGIN) % Choose default command line output for TSPFuzzy handles.output = hobject; % Update handles structure guidata(hobject, handles); % UIWAIT makes TSPFuzzy wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = TSPFuzzy_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hobject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in tmbcari. function tmbcari_callback(hobject, eventdata, handles) % hobject handle to tmbcari (see GCBO) 129

148 % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tic axes(handles.axes1) cla reset global XYkota XYkota whos XYkota jr=xlsread('jaraktitik.xlsx',1,'b2:w23'); save jr jr clc; JumGen = length(xykota(:,1)); UkPop = str2num(get(handles.ukpop,'string')); Psilang = str2num(get(handles.psilang,'string')); Pmutasi = str2num(get(handles.pmutasi,'string')); MaxG = str2num(get(handles.maxg,'string')); Populasi = TSPInisialisasiPopulasi(UkPop,JumGen); MaxF= TSPEvaluasiIndividu(Populasi(1,:),JumGen,XYkota) panjangh=(1/maxf)/2 Fthreshold = 1/panjangh; Bgraf = Fthreshold; hold on axis([1 MaxG+20 0 Bgraf]); hbestplot1 = plot(1:maxg+20,zeros(1,maxg+20),'r'); hbestplot2 = plot(1:maxg+20,zeros(1,maxg+20),'b'); htext1=text(0.6*maxg,0.30*bgraf,sprintf('fitness terbaik: %7.6f',0.0)); htext2=text(0.6*maxg,0.25*bgraf,sprintf('fitness rata-rata: %7.6f',0.0)); htext3=text(0.6*maxg,0.20*bgraf,sprintf('panjang Jalur terbaik: %7.3f',0.0)); htext4=text(0.6*maxg,0.15*bgraf,sprintf('probabilitas Mutasi: %4.3f',0.0)); htext5=text(0.6*maxg,0.10*bgraf,sprintf('probabilitas Crossover: %4.3f',0.0)); htext6=text(0.6*maxg,0.05*bgraf,sprintf('waktu Eksekusi: %4.3f',0.0)); xlabel('generasi'); ylabel('fitness'); hold off axes(handles.axes1) drawnow; Populasi = TSPInisialisasiPopulasi(UkPop,JumGen); for generasi=1:maxg MaxF = TSPEvaluasiIndividu(Populasi(1,:),JumGen,XYkota) MinF=MaxF; IndeksIndividuTerbaik = 1; for ii=1:ukpop Fitness(ii) = TSPEvaluasiIndividu(Populasi(ii,:),JumGen,XYkota); 130

149 if (Fitness(ii) >MaxF), MaxF = Fitness(ii); IndeksIndividuTerbaik=ii; JalurTerbaik=Populasi(ii,:) end end axes(handles.axes1) FitnessRataRata=mean(Fitness); plotvector1=get(hbestplot1,'ydata'); plotvector1(generasi)=maxf; set(hbestplot1,'ydata',plotvector1); plotvector2=get(hbestplot2,'ydata'); plotvector2(generasi)=fitnessratarata; set(hbestplot2,'ydata',plotvector2); set(htext1,'string',sprintf('fitness terbaik: %7.6f',MaxF)); set(htext2,'string',sprintf('fitness rata-rata: %7.6f', FitnessRataRata)); set(htext3,'string',sprintf('panjang jalur terbaik: %7.3f Km', 1/MaxF)); set(htext4,'string',sprintf('probabilitas Mutasi: %4.3f',Pmutasi)); set(htext5,'string',sprintf('probabilitas Crossover: %4.3f',Psilang)); legend('fitness terbaik','fitness rata-rata') drawnow if MaxF > Fthreshold, break; end TemPopulasi = Populasi; if mod(ukpop,2)==0, IterasiMulai=3; TemPopulasi(1,:)=Populasi(IndeksIndividuTerbaik,:); TempPopulasi(1,:)=Populasi(IndeksIndividuTerbaik,:); else IterasiMulai=2; TempPopulasi(1,:) = Populasi(IndeksIndividuTerbaik,:); end LinearFitness = LinearFitnessRanking(UkPop,Fitness,MaxF,MinF); for jj=iterasimulai:2:ukpop IP1=RouletteWheel(UkPop,LinearFitness); IP2=RouletteWheel(UkPop,LinearFitness); if (rand<psilang) Anak = TSPPindahsilang(Populasi(IP1,:),Populasi(IP2,:),JumGen); TemPopulasi(jj,:) = Anak(1,:); TemPopulasi(jj+1,:)=Anak(2,:); else TemPopulasi(jj,:)=Populasi(IP1,:); TemPopulasi(jj+1,:)=Populasi(IP2,:); end end 131

150 for kk=iterasimulai:ukpop, TemPopulasi(kk,:)=(TSPMutasi(TemPopulasi(kk,:),JumGen,Pmutasi)); end Populasi=TemPopulasi; end %Tanpa tanda ';' berarti menampilkan nilai dari variabel 'JalurTerbaik' JalurTerbaik1=num2str(JalurTerbaik); waktu=toc; set(htext6,'string',sprintf('waktu Eksekusi: %4.3f detik',waktu)); %simpan variabel 'JalurTerbaik' ke dalam file JalurTerbaik.mat save JalurTerbaik.mat JalurTerbaik set(handles.jater,'string',jalurterbaik1); save XYkota XYkota load hasiluji hasiluji2=[ MaxF,FitnessRataRata,1/MaxF,waktu,JalurTerbaik] hasiluji=[hasiluji;hasiluji2]; save hasiluji hasiluji function XYkota_Callback(hObject, eventdata, handles) % hobject handle to XYkota (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of XYkota as text % str2double(get(hobject,'string')) returns contents of XYkota as a double % --- Executes during object creation, after setting all properties. function XYkota_CreateFcn(hObject, eventdata, handles) % hobject handle to XYkota (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end function UkPop_Callback(hObject, eventdata, handles) % hobject handle to UkPop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) 132

151 % Hints: get(hobject,'string') returns contents of UkPop as text % str2double(get(hobject,'string')) returns contents of UkPop as a double % --- Executes during object creation, after setting all properties. function UkPop_CreateFcn(hObject, eventdata, handles) % hobject handle to UkPop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end function Psilang_Callback(hObject, eventdata, handles) % hobject handle to Psilang (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of Psilang as text % str2double(get(hobject,'string')) returns contents of Psilang as a double % --- Executes during object creation, after setting all properties. function Psilang_CreateFcn(hObject, eventdata, handles) % hobject handle to Psilang (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end function Pmutasi_Callback(hObject, eventdata, handles) % hobject handle to Pmutasi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB 133

152 % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of Pmutasi as text % str2double(get(hobject,'string')) returns contents of Pmutasi as a double % --- Executes during object creation, after setting all properties. function Pmutasi_CreateFcn(hObject, eventdata, handles) % hobject handle to Pmutasi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end function MaxG_Callback(hObject, eventdata, handles) % hobject handle to MaxG (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of MaxG as text % str2double(get(hobject,'string')) returns contents of MaxG as a double % --- Executes during object creation, after setting all properties. function MaxG_CreateFcn(hObject, eventdata, handles) % hobject handle to MaxG (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end function PanjJalHarp_Callback(hObject, eventdata, handles) % hobject handle to PanjJalHarp (see GCBO) 134

153 % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of PanjJalHarp as text % str2double(get(hobject,'string')) returns contents of PanjJalHarp as a double % --- Executes during object creation, after setting all properties. function PanjJalHarp_CreateFcn(hObject, eventdata, handles) % hobject handle to PanjJalHarp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end function Fthreshold_Callback(hObject, eventdata, handles) % hobject handle to Fthreshold (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of Fthreshold as text % str2double(get(hobject,'string')) returns contents of Fthreshold as a double % --- Executes during object creation, after setting all properties. function Fthreshold_CreateFcn(hObject, eventdata, handles) % hobject handle to Fthreshold (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end 135

154 % --- Executes on button press in pushbutton3. function pushbutton3_callback(hobject, eventdata, handles) % hobject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.axes1,'plot',''); function jater_callback(hobject, eventdata, handles) % hobject handle to jater (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hobject,'string') returns contents of jater as text % str2double(get(hobject,'string')) returns contents of jater as a double % --- Executes during object creation, after setting all properties. function jater_createfcn(hobject, eventdata, handles) % hobject handle to jater (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hobject,'backgroundcolor'), get(0,'defaultuicontrolbackgroundcolor')) set(hobject,'backgroundcolor','white'); end % --- Executes on button press in menu. function menu_callback(hobject, eventdata, handles) % hobject handle to menu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.figure1,'position'); user_response=tanya_kembali_utama('menu','konfirmasi Kembali ke Menu Utama'); switch user_response case ('No') case ('Yes') delete(handles.figure1); haldepan end 136

155 % --- Executes on button press in pushbutton5. function pushbutton5_callback(hobject, eventdata, handles) % hobject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) pop=str2num(get(handles.ukpop,'string')); gen=str2num(get(handles.maxg,'string')); b=readfis('evolusi2'); %sug_fis=mam2sug(b) ; hs=evalfis ([pop gen],b); set(handles.psilang,'string',hs(:,1)); set(handles.pmutasi,'string',hs(:,2)); % --- Executes on button press in pushbutton6. function pushbutton6_callback(hobject, eventdata, handles) % hobject handle to pushbutton6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [nama_file1,nama_path1]=uigetfile({'*.xlsx';'*.xls'},'buka File Excel'); if isequal(nama_file1,0) return; end global XYkota [num1, txt1] = xlsread(nama_file1, 1, 'A3:B1000'); XYkota =num1; whos XYkota % Tampilkan Nilai Training t = uitable(handles.uitable1); set(t,'data',xykota); load JalurTerbaik load XYkota figure(1) h=xykota; urt=jalurterbaik; x1=[] y2=[] for nn=urt ; p=h(nn,:) x=p(1,1) y=p(1,2) plot(x,y,'*r') hold on x1=[x1 x] y2=[y2 y] text(x,y,[' \leftarrow', num2str(nn)],'fontsize',9) end hold on 137

156 x1=[x1,x1(1)] y2=[y2,y2(1)] figure(1) %plot(x1,y2,'-r') xlabel('koordinat x') ylabel('koordinat y') title('plot KOORDINAT') % --- Executes on button press in pbjlr. function pbjlr_callback(hobject, eventdata, handles) % hobject handle to pbjlr (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton8. function pushbutton8_callback(hobject, eventdata, handles) % hobject handle to pushbutton8 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) load JalurTerbaik load XYkota figure(1) h=xykota; urt=jalurterbaik; x1=[] y2=[] for nn=urt ; p=h(nn,:) x=p(1,1) y=p(1,2) plot(x,y,'*r') hold on pause(0.2) x1=[x1 x] y2=[y2 y] text(x,y,[' \leftarrow', num2str(nn)],'fontsize',9) end hold on x1=[x1,x1(1)] y2=[y2,y2(1)] figure(1) plot(x1,y2,'-r') xlabel('koordinat x') ylabel('koordinat y') title('plot KOORDINAT') % --- Executes on button press in pushbutton10. function pushbutton10_callback(hobject, eventdata, handles) % hobject handle to pushbutton10 (see GCBO) 138

157 % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) hasil_uji % --- Executes during object creation, after setting all properties. function figure1_createfcn(hobject, eventdata, handles) % hobject handle to figure1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % --- Executes on mouse press over axes background. function ftunnes_buttondownfcn(hobject, eventdata, handles) % hobject handle to ftunnes (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes during object creation, after setting all properties. function ftunnes_createfcn(hobject, eventdata, handles) % hobject handle to ftunnes (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate ftunnes % --- Executes when user attempts to close figure1. function figure1_closerequestfcn(hobject, eventdata, handles) % hobject handle to figure1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: delete(hobject) closes the figure delete(hobject); 139

158 Lampiran 6 Tampilan dan Hasil Uji (Excel) dengan Pengujian 10 kali Populasi 100 dan Generasi

159 Populasi 100 dan Generasi 200 Populasi 100 dan Generasi

160 Populasi 100 dan Generasi

161 Populasi 200 dan Generasi

162 Populasi 500 dan Generasi

163 Populasi 1000 dan Generasi

164 Lampiran 7 Tampilan Graf Rute Terbaik Pengiriman Surat dan Barang PT. Pos Indonesia DC Tugu Semarang 146

165 Lampiran 8 Ukpop: 100 Pc: 1.0 MaxGen: 100 Panjang Kromosom: 22 TABEL POPULASI AWAL N Bentuk Kromosom

166

167

168

169 Lampiran 9 NILAI FITNESS DALAM SUATU POPULASI fitness [1] fitness [37] fitness [2] fitness [38] fitness [3] fitness [39] fitness [4] fitness [40] fitness [5] fitness [41] fitness [6] fitness [42] fitness [7] fitness [43] fitness [8] fitness [44] fitness [9] fitness [45] fitness [10] fitness [46] fitness [11] fitness [47] fitness [12] fitness [48] fitness [13] fitness [49] fitness [14] fitness [50] fitness [15] fitness [51] fitness [16] fitness [52] fitness [17] fitness [53] fitness [18] fitness [54] fitness [19] fitness [55] fitness [20] fitness [56] fitness [21] fitness [57] fitness [22] fitness [58] fitness [23] fitness [59] fitness [24] fitness [60] fitness [25] 0.02 fitness [61] fitness [26] fitness [62] fitness [27] fitness [63] fitness [28] fitness [64] fitness [29] fitness [65] fitness [30] fitness [66] fitness [31] fitness [67] fitness [32] fitness [68] fitness [33] fitness [69] fitness [34] fitness [70] fitness [35] fitness [71] fitness [36] fitness [72]

170 fitness [73] fitness [74] fitness [75] fitness [76] fitness [77] fitness [78] fitness [79] fitness [80] fitness [81] fitness [82] fitness [83] fitness [84] fitness [85] fitness [86] fitness [87] fitness [88] fitness [89] fitness [90] fitness [91] fitness [92] fitness [93] fitness [94] fitness [95] fitness [96] fitness [97] fitness [98] fitness [99] fitness [100]

171 Lampiran 10 PROBABILITAS FITNESS DAN NILAI KUMULATIF DARI PROBABILITASNYA probabilistik fitness

172

173 Lampiran 11 Hasil Seleksi Roulette Wheel N Hasil Seleksi

174

175

176

177 Lampiran 12 Semesta Pembicaraan, Domain, Fungsi Keanggotaan dan Aturan Fuzzy 1. Semesta Pembicaraan, Domain dan Fungsi Keanggotaan Populasi Semesta pembicaraan: [0, 1000] Domain SMALL: [50, 250] Fungsi Keanggotaan: Domain MEDIUM: [80, 275] Fungsi Keanggotaan: 159

178 Domain LARGE: [350, 500] Fungsi Keanggotaan: 2. Semesta Pembicaraan, Domain dan Fungsi Keanggotaan Generasi Semesta pembicaraan: [0, 1000] Domain SHORT: [50, 200] Fungsi Keanggotaan: 160

179 Domain MEDIUM: [80, 275] Fungsi Keanggotaan: Domain LONG: [350, 500] Fungsi Keanggotaan: 3. Semesta Pembicaraan, Domain dan Fungsi Keanggotaan Crossover 161

180 Semesta pembicaraan: [0.6, 0.9] Domain SMALL: [0.625, 0.7] Fungsi Keanggotaan: Domain MEDIUM: [0.63, 0.7, 0.72, 0.78] Fungsi Keanggotaan: Domain LARGE: [0.72, 0.78, 0.8, 0.87] Fungsi Keanggotaan: Domain VERY LARGE: [0.8, 0.875] Fungsi Keanggotaan: 162

181 4. Semesta Pembicaraan, Domain dan Fungsi Keanggotaan Mutasi Semesta pembicaraan: [0, 0.25] Domain VERY SMALL: [0.025, 0.1] Fungsi Keanggotaan: Domain SMALL: [0.047, 0.083, 0.1, 0.14] Fungsi Keanggotaan: 163

182 Domain MEDIUM: [0.1, 0.14, 0.167, 0.2] Fungsi Keanggotaan: Domain LARGE: [0.15, 0.225] Fungsi Keanggotaan: 5. Aturan Fuzzy IF (Populasi is SMALL) AND (Generasi is SHORT) THEN (ProbCrossover is MEDIUM) AND (ProbMutasi is LARGE). IF (Populasi is MEDIUM) AND (Generasi is SHORT) THEN (ProbCrossover is SMALL) AND (ProbMutasi is MEDIUM). IF (Populasi is LARGE) AND (Generasi is SHORT) THEN (ProbCrossover is SMALL) AND (ProbMutasi is SMALL). IF (Populasi is SMALL) AND (Generasi is MEDIUM) THEN (ProbCrossover is LARGE) AND (ProbMutasi is MEDIUM). IF (Populasi is MEDIUM) AND (Generasi is MEDIUM) THEN (ProbCrossover is LARGE) AND (ProbMutasi is SMALL). 164

SOLUSI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA FUZZY EVOLUSI (Studi Kasus PT. Jalur Nugraha Ekakurir (JNE) Semarang)

SOLUSI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA FUZZY EVOLUSI (Studi Kasus PT. Jalur Nugraha Ekakurir (JNE) Semarang) SOLUSI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA FUZZY EVOLUSI (Studi Kasus PT. Jalur Nugraha Ekakurir (JNE) Semarang) skripsi disajikan sebagai salah satu syarat untuk memproleh gelar Sarjana

Lebih terperinci

SOLUSI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA FUZZY EVOLUSI (Studi Kasus PT. Jalur Nugraha Ekakurir (JNE) Semarang)

SOLUSI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA FUZZY EVOLUSI (Studi Kasus PT. Jalur Nugraha Ekakurir (JNE) Semarang) SOLUSI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA FUZZY EVOLUSI (Studi Kasus PT. Jalur Nugraha Ekakurir (JNE) Semarang) skripsi disajikan sebagai salah satu syarat untuk memproleh gelar Sarjana

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka (Samuel, Toni & Willi 2005) dalam penelitian yang berjudul Penerapan Algoritma Genetika untuk Traveling Salesman Problem Dengan Menggunakan Metode Order Crossover

Lebih terperinci

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika Algoritma Genetika Pendahuluan Struktur Umum Komponen Utama Seleksi Rekombinasi Mutasi Algoritma Genetika Sederhana Referensi Sri Kusumadewi bab 9 Luger & Subblefield bab 12.8 Algoritma Genetika 1/35 Pendahuluan

Lebih terperinci

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK DISTRIBUSI SURAT KABAR KEDAULATAN RAKYAT DI KABUPATEN SLEMAN SKRIPSI Diajukan Kepada Fakultas Matematika

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Travelling Salesman Problem (TSP) Persoalan TSP merupakan salah satu persoalan optimasi kombinatorial (kombinasi permasalahan). Banyak permasalahan yang dapat direpresentasikan

Lebih terperinci

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi BAB II KAJIAN PUSTAKA Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi graf, permasalahan optimasi, model matematika dari objek wisata di Yogyakarta, dan algoritma genetika

Lebih terperinci

PENYELESAIAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN METODE SIMPLE HILL CLIMBING

PENYELESAIAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN METODE SIMPLE HILL CLIMBING Buletin Ilmiah Math. Stat. dan Terapannya (Bimaster) Volume 0, No. (2015), hal 17 180. PENYELESAIAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN METODE SIMPLE HILL CLIMBING Kristina Karunianti Nana, Bayu Prihandono,

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI 27 BAB 3 ANALISIS DAN PERANCANGAN APLIKASI 3.1 Analisis Pada subbab ini akan diuraikan tentang analisis kebutuhan untuk menyelesaikan masalah jalur terpendek yang dirancang dengan menggunakan algoritma

Lebih terperinci

PENERAPAN ALGORITMA GENETIKA DAN ALGORITMA SWEEP PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK OPTIMASI PENDISTRIBUSIAN GULA

PENERAPAN ALGORITMA GENETIKA DAN ALGORITMA SWEEP PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK OPTIMASI PENDISTRIBUSIAN GULA PENERAPAN ALGORITMA GENETIKA DAN ALGORITMA SWEEP PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK OPTIMASI PENDISTRIBUSIAN GULA SKRIPSI Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika 6 BAB 2 LANDASAN TEORI 2.1 Algoritma Genetika Algoritma genetika merupakan metode pencarian yang disesuaikan dengan proses genetika dari organisme-organisme biologi yang berdasarkan pada teori evolusi

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Traveling Salesman Problem (TSP) adalah permasalahan dimana seorang salesman harus mengunjungi semua kota yang ada dan kota tersebut hanya boleh dikunjungi tepat satu

Lebih terperinci

Skripsi disajikan sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains Program Studi Matematika. oleh Ari Yulianto Nugroho

Skripsi disajikan sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains Program Studi Matematika. oleh Ari Yulianto Nugroho PERBANDINGAN ALGORITMA BRANCH AND BOUND DAN ALGORITMA GENETIKA UNTUK MENGATASI TRAVELLING SALESMAN PROBLEM (TSP) MENGGUNAKAN SOFTWARE MATLAB (Studi Kasus PT. JNE Semarang) Skripsi disajikan sebagai salah

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Travelling Salesman Problem (TSP) Travelling Salesmen Problem (TSP) termasuk ke dalam kelas NP hard yang pada umumnya menggunakan pendekatan heuristik untuk mencari solusinya.

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Pada awal diciptakan, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan zaman, maka peran komputer semakin mendominasi kehidupan.

Lebih terperinci

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

ERWIEN TJIPTA WIJAYA, ST.,M.KOM ERWIEN TJIPTA WIJAYA, ST.,M.KOM DEFINISI ALGEN adalah algoritma yang memanfaatkan proses seleksi alamiah yang dikenal dengan evolusi Dalam evolusi, individu terus menerus mengalami perubahan gen untuk

Lebih terperinci

BAB II KAJIAN TEORI. memindahkan barang dari pihak supplier kepada pihak pelanggan dalam suatu supply

BAB II KAJIAN TEORI. memindahkan barang dari pihak supplier kepada pihak pelanggan dalam suatu supply BAB II KAJIAN TEORI Berikut diberikan beberapa teori pendukung untuk pembahasan selanjutnya. 2.1. Distribusi Menurut Chopra dan Meindl (2010:86), distribusi adalah suatu kegiatan untuk memindahkan barang

Lebih terperinci

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang BAB 2 DASAR TEORI 2.1 Teka-Teki Silang Teka-teki silang atau disingkat TTS adalah suatu permainan yang mengharuskan penggunanya untuk mengisi ruang-ruang kosong dengan huruf-huruf yang membentuk sebuah

Lebih terperinci

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik Filman Ferdian - 13507091 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan Ganesha

Lebih terperinci

IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI SELEKSI DALAM PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS

IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI SELEKSI DALAM PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI SELEKSI DALAM PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (CVRPTW) UNTUK OPTIMASI RUTE PENDISTRIBUSIAN RASKIN DI KOTA YOGYAKARTA TUGAS

Lebih terperinci

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK. Kata kunci: Algoritma Genetika, Shortest Path Problem, Jalur Terpendek

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK. Kata kunci: Algoritma Genetika, Shortest Path Problem, Jalur Terpendek PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK Fajar Saptono 1, Taufiq Hidayat 2 Laboratorium Pemrograman dan Informatika Teori Jurusan Teknik Informatika, Fakultas Teknologi Industri,

Lebih terperinci

APLIKASI HASIL PENCARIAN DAN RUTE PENGIRIMAN BARANG DARI SOLUSI MASALAH TRANSPORTASI BIKRITERIA DENGAN METODE LOGIKA FUZZY

APLIKASI HASIL PENCARIAN DAN RUTE PENGIRIMAN BARANG DARI SOLUSI MASALAH TRANSPORTASI BIKRITERIA DENGAN METODE LOGIKA FUZZY APLIKASI HASIL PENCARIAN DAN RUTE PENGIRIMAN BARANG DARI SOLUSI MASALAH TRANSPORTASI BIKRITERIA DENGAN METODE LOGIKA FUZZY Faisal Dosen Jurusan Teknik Informatika Fakultas Sains & Teknologi UIN Alauddin

Lebih terperinci

ABSTRAK. Universitas Kristen Maranatha

ABSTRAK. Universitas Kristen Maranatha ABSTRAK Dalam beberapa tahun terakhir ini, peranan algoritma genetika terutama untuk masalah optimisasi, berkembang dengan pesat. Masalah optimisasi ini beraneka ragam tergantung dari bidangnya. Dalam

Lebih terperinci

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika Wayan Firdaus Mahmudy (wayanfm@ub.ac.id) Program Studi Ilmu Komputer, Universitas Brawijaya, Malang, Indonesia Abstrak.

Lebih terperinci

BAB III. Metode Penelitian

BAB III. Metode Penelitian BAB III Metode Penelitian 3.1 Diagram Alir Penelitian Secara umum diagram alir algoritma genetika dalam penelitian ini terlihat pada Gambar 3.1. pada Algoritma genetik memberikan suatu pilihan bagi penentuan

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 4 BAB 2 TINJAUAN PUSTAKA 2.1. Pengertian Fuzzy Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input kedalam suatu ruang output. Titik awal dari konsep modern

Lebih terperinci

BAB II LANDASAN TEORI. Tahun 2001 pemilik CV. Tunas Jaya membuka usaha di bidang penjualan dan

BAB II LANDASAN TEORI. Tahun 2001 pemilik CV. Tunas Jaya membuka usaha di bidang penjualan dan BAB II LANDASAN TEORI 2.1 Sejarah Perusahaan Tahun 2001 pemilik CV. Tunas Jaya membuka usaha di bidang penjualan dan pengadaan suku cadang computer. Dalam bidang tersebut diharuskan berbadan hukum PD,

Lebih terperinci

PENGGUNAAN ALGORITMA GENETIKA UNTUK MENENTUKAN LINTASAN TERPENDEK STUDI KASUS : LINTASAN BRT (BUS RAPID TRANSIT) MAKASSAR

PENGGUNAAN ALGORITMA GENETIKA UNTUK MENENTUKAN LINTASAN TERPENDEK STUDI KASUS : LINTASAN BRT (BUS RAPID TRANSIT) MAKASSAR PENGGUNAAN ALGORITMA GENETIKA UNTUK MENENTUKAN LINTASAN TERPENDEK STUDI KASUS : LINTASAN BRT (BUS RAPID TRANSIT) MAKASSAR Karels, Rheeza Effrains 1), Jusmawati 2), Nurdin 3) karelsrheezaeffrains@gmail.com

Lebih terperinci

IMPLEMENTASI ALGORITMA GENETIKA UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM

IMPLEMENTASI ALGORITMA GENETIKA UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM Info Artikel UJM 2 (2) (2013) UNNES Journal of Mathematics http://journal.unnes.ac.id/sju/index.php/ujm IMPLEMENTASI ALGORITMA GENETIKA UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM Firar Anitya Sari,

Lebih terperinci

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning Achmad Basuki Politeknik Elektronika Negeri Surabaya PENS-ITS Surabaya 2003 Algoritma Genetika Algoritma

Lebih terperinci

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN. Universitas Sumatera Utara BAB I PENDAHULUAN 1.1 Latar Belakang Setelah berkembangnya AI (Artifical Intelligence), banyak sekali ditemukan sejumlah algoritma yang terinspirasi dari alam. Banyak persoalan yang dapat diselesaikan

Lebih terperinci

BAB I PENDAHULUAN. grafyang menjadi salah satu permasalahanpenting dalam dunia matematika

BAB I PENDAHULUAN. grafyang menjadi salah satu permasalahanpenting dalam dunia matematika BAB I PENDAHULUAN 1.1 LATAR BELAKANG MASALAH TravellingSalesman Problem merupakan masalah optimasidi bidang grafyang menjadi salah satu permasalahanpenting dalam dunia matematika khususnya bidang komputasi.

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Pada bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan tugas akhir ini. Teori-teori yang dibahas mengenai pengertian penjadwalan, algoritma

Lebih terperinci

APLIKASI ALGORITMA GENETIKA UNTUK PENJADWALAN MATA KULIAH

APLIKASI ALGORITMA GENETIKA UNTUK PENJADWALAN MATA KULIAH APLIKASI ALGORITMA GENETIKA UNTUK PENJADWALAN MATA KULIAH (Studi Kasus: Jurusan Pendidikan Matematika FMIPA Universitas Negeri Yogyakarta) SKRIPSI Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan

Lebih terperinci

BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan

BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan BAB III PEMBAHASAN Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan Algoritma Genetika dan Metode Nearest Neighbour pada pendistribusian roti di CV. Jogja Transport. 3.1 Model Matetematika

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Sistem Pendukung Keputusan Sebuah aplikasi berupa Sistem Pendukung Keputusan (Decision Support System) mulai dikembangkan pada tahun 1970. Decision Support Sistem (DSS) dengan

Lebih terperinci

IMPLEMENTASI HYBRID ALGORITMA GENETIKA DENGAN TEKNIK KENDALI LOGIKA FUZZY UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM SKRIPSI DICKY ANDRYAN

IMPLEMENTASI HYBRID ALGORITMA GENETIKA DENGAN TEKNIK KENDALI LOGIKA FUZZY UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM SKRIPSI DICKY ANDRYAN IMPLEMENTASI HYBRID ALGORITMA GENETIKA DENGAN TEKNIK KENDALI LOGIKA FUZZY UNTUK MENYELESAIKAN VEHICLE ROUTING PROBLEM SKRIPSI DICKY ANDRYAN ( 060803049 ) DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU

Lebih terperinci

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf Bab 2 LANDASAN TEORI 2.1. Konsep Dasar Graf Definisi Graf Suatu graf G terdiri atas himpunan yang tidak kosong dari elemen elemen yang disebut titik atau simpul (vertex), dan suatu daftar pasangan vertex

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 7 BAB 2 LANDASAN TEORI 2.1 Penjadwalan Perkuliahan Penjadwalan memiliki pengertian durasi dari waktu kerja yang dibutuhkan untuk melakukan serangkaian untuk melakukan aktivitas kerja[10]. Penjadwalan juga

Lebih terperinci

BAB II KAJIAN PUSTAKA

BAB II KAJIAN PUSTAKA BAB II KAJIAN PUSTAKA Pengertian-pengertian dasar yang digunakan sebagai landasan pembahasan pada Bab II yaitu masalah ditribusi, graf, Travelling Salesman Problem (TSP), Vehicle Routing Problem (VRP),

Lebih terperinci

ALGORITMA GENETIKA. Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

ALGORITMA GENETIKA. Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning Disusun oleh: Achmad Basuki Politeknik Elektronika Negeri Surabaya, PENS ITS Surabaya 2003 Algoritma

Lebih terperinci

FUZZY MULTI-CRITERIA DECISION MAKING

FUZZY MULTI-CRITERIA DECISION MAKING Media Informatika, Vol. 3 No. 1, Juni 2005, 25-38 ISSN: 0854-4743 FUZZY MULTI-CRITERIA DECISION MAKING Sri Kusumadewi, Idham Guswaludin Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas

Lebih terperinci

BAB 2 LANDASAN TEORI. Definisi Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini:

BAB 2 LANDASAN TEORI. Definisi Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini: 10 BAB 2 LANDASAN TEORI 2.1.Konsep Dasar Graf Definisi 2.1.1 Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini: V = himpunan tidak kosong dari simpul-simpul (vertices atau node)

Lebih terperinci

IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI CROSSOVER

IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI CROSSOVER SKRIPSI IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI CROSSOVER DALAM PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (CVRPTW) PADA PENDISTRIBUSIAN AIR MINERAL DI PT ARTHA ENVIROTAMA

Lebih terperinci

BAB II KAJIAN TEORI. berbeda di, melambangkan rusuk di G dan jika adalah. a. dan berikatan (adjacent) di. b. rusuk hadir (joining) simpul dan di

BAB II KAJIAN TEORI. berbeda di, melambangkan rusuk di G dan jika adalah. a. dan berikatan (adjacent) di. b. rusuk hadir (joining) simpul dan di 1. Teori graf BAB II KAJIAN TEORI 1. Definisi Graf G membentuk suatu graf jika terdapat pasangan himpunan ) )), dimana ) (simpul pada graf G) tidak kosong dan ) (rusuk pada graf G). Jika dan adalah sepasang

Lebih terperinci

BAB II LANDASAN TEORI. 2.1 Penelusuran Minat dan Kemampuan (PMDK) diselenggarakan oleh suatu perguruan tinggi secara mandiri.

BAB II LANDASAN TEORI. 2.1 Penelusuran Minat dan Kemampuan (PMDK) diselenggarakan oleh suatu perguruan tinggi secara mandiri. BAB II LANDASAN TEORI 2.1 Penelusuran Minat dan Kemampuan (PMDK) PMDK adalah salah satu program penerimaan mahasiswa baru yang diselenggarakan oleh suatu perguruan tinggi secara mandiri. Sesuai dengan

Lebih terperinci

BAB III IMPLEMENTASIALGORITMA GENETIK DAN ACS PADA PERMASALAHAN TRAVELLING SALESMAN PROBLEM

BAB III IMPLEMENTASIALGORITMA GENETIK DAN ACS PADA PERMASALAHAN TRAVELLING SALESMAN PROBLEM BAB III IMPLEMENTASIALGORITMA GENETIK DAN ACS PADA PERMASALAHAN TRAVELLING SALESMAN PROBLEM 3.1 TRAVELLING SALESMAN PROBLEM Sebelum membahas pencarian solusi Travelling Salesman Problem menggunakan algoritma

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Algoritma Genetika Algoritma Genetika merupakan suatu algoritma yang terinspirasi dari teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi

Lebih terperinci

BAB II KAJIAN TEORI 2.1 Kajian Penelitian Sebelumnya

BAB II KAJIAN TEORI 2.1 Kajian Penelitian Sebelumnya 5 BAB II KAJIAN TEORI 2.1 Kajian Penelitian Sebelumnya Traveling salesman problem (TSP) merupakan salah satu permasalahan yang telah sering diangkat dalam berbagai studi kasus dengan penerapan berbagai

Lebih terperinci

OPTIMISASI POLA DISTRIBUSI DENGAN LOGIKAFUZZY DAN ALGORITMA SEMUT PADA PT. SRI ANEKA PANGAN NUSANTARA TUGAS AKHIR SKRIPSI

OPTIMISASI POLA DISTRIBUSI DENGAN LOGIKAFUZZY DAN ALGORITMA SEMUT PADA PT. SRI ANEKA PANGAN NUSANTARA TUGAS AKHIR SKRIPSI OPTIMISASI POLA DISTRIBUSI DENGAN LOGIKAFUZZY DAN ALGORITMA SEMUT PADA PT. SRI ANEKA PANGAN NUSANTARA TUGAS AKHIR SKRIPSI Diajukan kepada Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Negeri

Lebih terperinci

FUZZY LOGIC CONTROL 1. LOGIKA FUZZY

FUZZY LOGIC CONTROL 1. LOGIKA FUZZY 1. LOGIKA FUZZY Logika fuzzy adalah suatu cara tepat untuk memetakan suatu ruang input ke dalam suatu ruang output. Teknik ini menggunakan teori matematis himpunan fuzzy. Logika fuzzy berhubungan dengan

Lebih terperinci

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH Buletin Ilmiah Mat. Stat. Dan Terapannya (Bimaster) Volume 04, No. 1 (2015), hal 17 24. PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH Fatmawati, Bayu Prihandono, Evi Noviani INTISARI

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Penjadwalan Penjadwalan adalah penempatan sumber daya (resource) dalam satu waktu. Penjadwalan mata kuliah merupakan persoalan penjadwalan yang umum dan sulit dimana tujuannya

Lebih terperinci

PENERAPAN ALGORITMA GENETIKA DALAM PENYELESAIAN TRAVELLING SALESMAN PROBLEM WITH PRECEDENCE CONSTRAINTS (TSPPC)

PENERAPAN ALGORITMA GENETIKA DALAM PENYELESAIAN TRAVELLING SALESMAN PROBLEM WITH PRECEDENCE CONSTRAINTS (TSPPC) PENERAPAN ALGORITMA GENETIKA DALAM PENYELESAIAN TRAVELLING SALESMAN PROBLEM WITH PRECEDENCE CONSTRAINTS (TSPPC) Yayun Hardianti 1, Purwanto 2 Universitas Negeri Malang E-mail: yayunimoet@gmail.com ABSTRAK:

Lebih terperinci

Lingkup Metode Optimasi

Lingkup Metode Optimasi Algoritma Genetika Lingkup Metode Optimasi Analitik Linier Non Linier Single Variabel Multi Variabel Dgn Kendala Tanpa Kendala Numerik Fibonacci Evolusi Complex Combinasi Intelijen/ Evolusi Fuzzy Logic

Lebih terperinci

BAB III PEMBAHASAN. diperoleh menggunakan algoritma genetika dengan variasi seleksi. A. Model Matematika CVRPTW pada Pendistribusian Raskin di Kota

BAB III PEMBAHASAN. diperoleh menggunakan algoritma genetika dengan variasi seleksi. A. Model Matematika CVRPTW pada Pendistribusian Raskin di Kota BAB III PEMBAHASAN Pada bab ini akan dibahas mengenai model matematika pada pendistribusian raskin di Kota Yogyakarta, penyelesaian model matematika tersebut menggunakan algoritma genetika serta perbandingan

Lebih terperinci

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP) JTRISTE, Vol.1, No.2, Oktober 2014, pp. 50~57 ISSN: 2355-3677 Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP) STMIK Handayani Makassar najirah_stmikh@yahoo.com Abstrak

Lebih terperinci

: Sistem Pendukung Keputusan, Siswa berprestasi, Tsukamoto

: Sistem Pendukung Keputusan, Siswa berprestasi, Tsukamoto SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN SISWA BERPRESTASI BERBASIS WEB DENGAN METODE TSUKAMOTO PADA SMA INSTITUT INDONESIA Eko Purwanto Program Studi Teknik Informatika, Fakultas Ilmu Komputer Universitas

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang 1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Sekarang ini hampir semua perusahaan yang bergerak di bidang industri dihadapkan pada suatu masalah yaitu adanya tingkat persaingan yang semakin kompetitif. Hal ini

Lebih terperinci

BAB II TEORI PENUNJANG

BAB II TEORI PENUNJANG BAB II TEORI PENUNJANG 2.1 LOGIKA FUZZY Titik awal dari konsep modern mengenai ketidakpastian adalah paper yang dibuat oleh Lofti A Zadeh, dimana Zadeh memperkenalkan teori yang memiliki obyek-obyek dari

Lebih terperinci

BAB II KAJIAN PUSTAKA. Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V

BAB II KAJIAN PUSTAKA. Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V BAB II KAJIAN PUSTAKA A. Pengertian Graf Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V adalah himpunan tak kosong dari simpul-simpul (vertices) pada G. Sedangkan E adalah himpunan

Lebih terperinci

BAB II LANDASAN TEORI. Suatu graph merupakan suatu pasangan { E(G), V(G) } dimana :

BAB II LANDASAN TEORI. Suatu graph merupakan suatu pasangan { E(G), V(G) } dimana : BAB II LANDASAN TEORI 2.1 Defenisi Graph Suatu graph merupakan suatu pasangan { E(G), V(G) } dimana : V(G) adalah sebuah himpunan terhingga yang tidak kosong ( non empty finite set) yang elemennya disebut

Lebih terperinci

BAB II KAJIAN TEORI. dalam penelitian yaitu optimasi, graf, traveling salesman problem (TSP), vehicle

BAB II KAJIAN TEORI. dalam penelitian yaitu optimasi, graf, traveling salesman problem (TSP), vehicle BAB II KAJIAN TEORI Secara umum, pada bab ini membahas mengenai kajian teori yang digunakan dalam penelitian yaitu optimasi, graf, traveling salesman problem (TSP), vehicle routing problem (VRP), capacitated

Lebih terperinci

BAB II LANDASAN TEORI. Dalam kondisi yang nyata, beberapa aspek dalam dunia nyata selalu atau biasanya

BAB II LANDASAN TEORI. Dalam kondisi yang nyata, beberapa aspek dalam dunia nyata selalu atau biasanya BAB II LANDASAN TEORI A. Logika Fuzzy Dalam kondisi yang nyata, beberapa aspek dalam dunia nyata selalu atau biasanya berada di luar model matematis dan bersifat inexact. Konsep ketidakpastian inilah yang

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Travelling Salesman Problem (TSP) Persoalan TSP merupakan salah satu persoalan kombinatorial. Banyak permasalahan yang dapat direpresentasikan dalam bentuk TSP. Persoalan ini

Lebih terperinci

Penerapan Algoritma Branch and Bound pada Perancangan Jalur Bandros

Penerapan Algoritma Branch and Bound pada Perancangan Jalur Bandros Penerapan Algoritma Branch and Bound pada Perancangan Jalur Bandros Irene Edria Devina / 13515038 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.Ganesha

Lebih terperinci

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP)

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP) Abstrak PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP) Aulia Fitrah 1, Achmad Zaky 2, Fitrasani 3 Program Studi Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Logika Fuzzy Fuzzy secara bahasa diartikan sebagai kabur atau samar yang artinya suatu nilai dapat bernilai benar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotan

Lebih terperinci

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP) PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP) Mohamad Subchan STMIK Muhammadiyah Banten e-mail: moh.subhan@gmail.com ABSTRAK: Permasalahan pencarian rute terpendek dapat

Lebih terperinci

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T Abstrak : Algoritma genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi

Lebih terperinci

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial Muhammad Abdy* 1, Maya Sari Wahyuni* 2, Nur Ilmi* 3 1,2,3 Jurusan Matematika, Universitas Negeri Makassar e-mail: * 1 m.abdy@unm.ac.id,

Lebih terperinci

Erwien Tjipta Wijaya, ST.,M.Kom

Erwien Tjipta Wijaya, ST.,M.Kom Erwien Tjipta Wijaya, ST.,M.Kom PENDAHULUAN Logika Fuzzy pertama kali dikenalkan oleh Prof. Lotfi A. Zadeh tahun 1965 Dasar Logika Fuzzy adalah teori himpunan fuzzy. Teori himpunan fuzzy adalah peranan

Lebih terperinci

Himpunan Fuzzy. Sistem Pakar Program Studi : S1 sistem Informasi

Himpunan Fuzzy. Sistem Pakar Program Studi : S1 sistem Informasi Himpunan Fuzzy Sistem Pakar Program Studi : S1 sistem Informasi Outline Himpunan CRISP Himpunan Fuzzy Himpunan CRISP Pada himpunan tegas (crisp), nilai keanggotaan suatu item dalam suatu himpunan A, yang

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 27 BAB II LANDASAN TEORI 2.1. Penelitian Terkait Penelitian terkait yang menggunakan algoritma genetika untuk menemukan solusi dalam menyelesaikan permasalahan penjadwalan kuliah telah banyak dilakukan.

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Penjadwalan Penjadwalan kegiatan belajar mengajar pada suatu lembaga pendidikan biasanya merupakan salah satu pekerjaan yang tidak mudah dan menyita waktu. Pada lembaga pendidikan

Lebih terperinci

BAB I PENDAHULUAN 1.1. Latar Belakang dan Permasalahan

BAB I PENDAHULUAN 1.1. Latar Belakang dan Permasalahan BAB I PENDAHULUAN 1.1. Latar Belakang dan Permasalahan Kereta api merupakan salah satu angkutan darat yang banyak diminati masyarakat, hal ini dikarenakan biaya yang relatif murah dan waktu tempuh yang

Lebih terperinci

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION Samuel Lukas 1, Toni Anwar 1, Willi Yuliani 2 1) Dosen Teknik Informatika,

Lebih terperinci

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

Algoritma Evolusi Dasar-Dasar Algoritma Genetika Algoritma Evolusi Dasar-Dasar Algoritma Genetika Imam Cholissodin imam.cholissodin@gmail.com Pokok Bahasan 1. Pengantar 2. Struktur Algoritma Genetika 3. Studi Kasus: Maksimasi Fungsi Sederhana 4. Studi

Lebih terperinci

IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG

IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG Adnan Buyung Nasution 1 1,2 Sistem Infomasi, Tehnik dan Ilmu Komputer, Universitas Potensi Utama 3 Universitas

Lebih terperinci

PERBANDINGAN PENGGUNAAN ALGORITMA GREEDY DAN ALGORITMA GENETIKA DALAM PENYELESAIAN MASALAH PERJALANAN SALESMAN

PERBANDINGAN PENGGUNAAN ALGORITMA GREEDY DAN ALGORITMA GENETIKA DALAM PENYELESAIAN MASALAH PERJALANAN SALESMAN PERBANDINGAN PENGGUNAAN ALGORITMA GREEDY DAN ALGORITMA GENETIKA DALAM PENYELESAIAN MASALAH PERJALANAN SALESMAN SKRIPSI Oleh Mustofa Ilyas NIM 031810101070 JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU

Lebih terperinci

KECERDASAN BUATAN LOGIKA FUZZY

KECERDASAN BUATAN LOGIKA FUZZY KECERDASAN BUATAN LOGIKA FUZZY Pengertian adalah suatu cara untuk memetakan suatu ruang input ke dalam suatu ruang output. Skema logika fuzzy Antara input dan output terdapat suatu kotak hitam yang harus

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI.1 Ant Colony System dan Asal Usulnya Pada subbab ini akan diuraikan mengenai asal usul Ant Colony System (ACS), yaitu membahas tentang semut dan tingkah lakunya yang merupakan sumber

Lebih terperinci

PENYELESAIAN MASALAH OPTIMASI MENGGUNAKAN ALGORITMA GENETIKA (Studi Kasus : Masalah Transportasi)

PENYELESAIAN MASALAH OPTIMASI MENGGUNAKAN ALGORITMA GENETIKA (Studi Kasus : Masalah Transportasi) PENYELESAIAN MASALAH OPTIMASI MENGGUNAKAN ALGORITMA GENETIKA (Studi Kasus : Masalah Transportasi) SKRIPSI Oleh Mariana Ramadhani NIM 031810101038 JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

Optimasi Metode Fuzzy Dengan Algoritma Genetika Pada Kontrol Motor Induksi

Optimasi Metode Fuzzy Dengan Algoritma Genetika Pada Kontrol Motor Induksi Optimasi Metode Fuzzy Dengan Algoritma Genetika Pada Kontrol Motor Induksi Rahman Aulia Universitas Sumatera Utara Pasca sarjana Fakultas Ilmu Komputer Medan, Indonesia Rahmanaulia50@gmail.com Abstract

Lebih terperinci

Matematika dan Statistika

Matematika dan Statistika ISSN 1411-6669 MAJALAH ILMIAH Matematika dan Statistika DITERBITKAN OLEH: JURUSAN MATEMATIKA FMIPA UNIVERSITAS JEMBER Majalah Ilmiah Matematika dan Statistika APLIKASI ALGORITMA SEMUT DAN ALGORITMA CHEAPEST

Lebih terperinci

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN  Studi Pustaka Pembentukan Data Gambar 4 Proses Swap Mutation. 8. Evaluasi Solusi dan Kriteria Berhenti Proses evaluasi solusi ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom sampai terpenuhi kriteria

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Program Linier Program linier merupakan model matematik untuk mendapatkan alternatif penggunaan terbaik atas sumber-sumber organisasi. Kata sifat linier digunakan untuk menunjukkan

Lebih terperinci

Pencarian Rute Terpendek untuk Pengoptimalan Ditribusi Sales Rokok Gudang Garam di kecamatan Wuluhan Kabupaten Jember Menggunakan Algoritma Genetika

Pencarian Rute Terpendek untuk Pengoptimalan Ditribusi Sales Rokok Gudang Garam di kecamatan Wuluhan Kabupaten Jember Menggunakan Algoritma Genetika Pencarian Rute Terpendek untuk Pengoptimalan Ditribusi Sales Rokok Gudang Garam di kecamatan Wuluhan Kabupaten Jember Menggunakan Algoritma Genetika Priza Pandunata, Rachmad Agung Bagaskoro, Agung Ilham

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Logika Fuzzy Logika fuzzy merupakan suatu metode pengambilan keputusan berbasis aturan yang digunakan untuk memecahkan keabu-abuan masalah pada sistem yang sulit dimodelkan

Lebih terperinci

APLIKASI SIMULATED ANNEALING UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM

APLIKASI SIMULATED ANNEALING UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM Buletin Ilmiah Mat. Stat. dan Terapannya (Bimaster) Volume 03, No. 1 (2015), hal 25 32. APLIKASI SIMULATED ANNEALING UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM Edi Samana, Bayu Prihandono, Evi Noviani

Lebih terperinci

PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN ALGORITMA GENETIKA DAN NEAREST NEIGHBOUR PADA PENDISTRIBUSIAN ROTI DI CV.

PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN ALGORITMA GENETIKA DAN NEAREST NEIGHBOUR PADA PENDISTRIBUSIAN ROTI DI CV. PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN ALGORITMA GENETIKA DAN NEAREST NEIGHBOUR PADA PENDISTRIBUSIAN ROTI DI CV. JOGJA TRANSPORT SKRIPSI Diajukan kepada Fakultas Matematika dan Ilmu

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI. Himpunan Himpunan adalah setiap daftar, kumpulan atau kelas objek-objek yang didefenisikan secara jelas, objek-objek dalam himpunan-himpunan yang dapat berupa apa saja: bilangan, orang,

Lebih terperinci

PERBANDINGAN PENGGUNAAN ALGORITMA GENETIKA DENGAN ALGORITMA KONVENSIONAL PADA TRAVELING SALESMAN PROBLEM

PERBANDINGAN PENGGUNAAN ALGORITMA GENETIKA DENGAN ALGORITMA KONVENSIONAL PADA TRAVELING SALESMAN PROBLEM PERBANDINGAN PENGGUNAAN ALGORITMA GENETIKA DENGAN ALGORITMA KONVENSIONAL PADA TRAVELING SALESMAN PROBLEM Mohamad Irvan Faradian NIM : 13504024 Program Studi Teknik Informatika, Institut Teknologi Bandung

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Hemofilia Hemofilia adalah gangguan produksi faktor pembekuan yang diturunkan, hemofilia berasal dari bahasa Yunani yaitu haima yang artinya darah dan philein yang artinya mencintai

Lebih terperinci

PENDAHULUAN. Latar Belakang

PENDAHULUAN. Latar Belakang Latar Belakang PENDAHULUAN Pada saat sekarang ini, setiap perusahaan yang ingin tetap bertahan dalam persaingan dengan perusahaan lainnya, harus bisa membuat semua lini proses bisnis perusahaan tersebut

Lebih terperinci

PERBANDINGAN KINERJA ALGORITMA GENETIK DAN ALGORITMA BRANCH AND BOUND PADA TRAVELLING SALESMAN PROBLEM

PERBANDINGAN KINERJA ALGORITMA GENETIK DAN ALGORITMA BRANCH AND BOUND PADA TRAVELLING SALESMAN PROBLEM PERBANDINGAN KINERJA ALGORITMA GENETIK DAN ALGORITMA BRANCH AND BOUND PADA TRAVELLING SALESMAN PROBLEM Nico Saputro dan Suryandi Wijaya Jurusan Ilmu Komputer Universitas Katolik Parahyangan nico@home.unpar.ac.id

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1 Tinjauan Pustaka. Penelitian serupa mengenai penjadwalan matakuliah pernah dilakukan oleh penelliti yang sebelumnya dengan metode yang berbeda-neda. Berikut

Lebih terperinci

II. LANDASAN TEORI. Ide Leonard Euler di tahun 1736 untuk menyelesaikan masalah jembatan

II. LANDASAN TEORI. Ide Leonard Euler di tahun 1736 untuk menyelesaikan masalah jembatan 4 II. LANDASAN TEORI Ide Leonard Euler di tahun 1736 untuk menyelesaikan masalah jembatan Konisberg yang kemudian menghasilkan konsep graf Eulerian merupakan awal dari lahirnya teori graf. Euler mengilustrasikan

Lebih terperinci

BAB III PEMBAHASAN. menggunakan model Fuzzy Mean Absolute Deviation (FMAD) dan penyelesaian

BAB III PEMBAHASAN. menggunakan model Fuzzy Mean Absolute Deviation (FMAD) dan penyelesaian BAB III PEMBAHASAN Dalam bab ini akan dibahas mengenai pembentukan portofolio optimum menggunakan model Fuzzy Mean Absolute Deviation (FMAD) dan penyelesaian model Fuzzy Mean Absolute Deviation (FMAD)

Lebih terperinci

LOGIKA FUZZY. Kelompok Rhio Bagus P Ishak Yusuf Martinus N Cendra Rossa Rahmat Adhi Chipty Zaimima

LOGIKA FUZZY. Kelompok Rhio Bagus P Ishak Yusuf Martinus N Cendra Rossa Rahmat Adhi Chipty Zaimima Sistem Berbasis Pengetahuan LOGIKA FUZZY Kelompok Rhio Bagus P 1308010 Ishak Yusuf 1308011 Martinus N 1308012 Cendra Rossa 1308013 Rahmat Adhi 1308014 Chipty Zaimima 1308069 Sekolah Tinggi Manajemen Industri

Lebih terperinci