BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

dokumen-dokumen yang mirip
BAB III PERANCANGAN. Gambar 3.1 di bawah ini mengilustrasikan jalur pada TSP kurva terbuka jika jumlah node ada 10:

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

PENGEMBANGAN APLIKASI PENJADWALAN KULIAH SEMESTER I MENGGUNAKAN ALGORITMA GENETIKA

BAB III. Metode Penelitian

BAB III METODE PENELITIAN. Penelitian dilakukan dilingkungan Jurusan Ilmu Komputer Fakultas Matematika

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

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

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

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

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

BAB 2 LANDASAN TEORI

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

BAB II LANDASAN TEORI

Genetic Algorithme. Perbedaan GA

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

BAB 2 LANDASAN TEORI

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

OPTIMASI JALUR TRANSPORTASI PRODUK HOUSING CLUTCH DENGAN MENGGUNAKAN METODE ALGORITMA GENETIKA PADA PT. SUZUKI INDOMOBIL MOTOR PLANT CAKUNG

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

Lingkup Metode Optimasi

BAB 2 TINJAUAN PUSTAKA

Bab II Konsep Algoritma Genetik

ABSTRAK. Universitas Kristen Maranatha

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

BAB II TINJAUAN PUSTAKA

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

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

HASIL DAN PEMBAHASAN. Gambar 7 Diagram alur proses mutasi.

BAB 2 LANDASAN TEORI

Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

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

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

BAB IV ANALISIS MASALAH

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

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

ALGORITMA GENETIKA PADA PENYELESAIAN AKAR PERSAMAAN SEBUAH FUNGSI

PENERAPAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK (SHORTEST PATH) SKRIPSI RION SIBORO

BAB 2 LANDASAN TEORI

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

PENENTUAN MATCHING MAKSIMUM PADA GRAPH BIPARTISI BERBOBOT DENGAN MENGGUNAKAN ALGORITMA GENETIKA

PERBANDINGAN ALGORITMA EXHAUSTIVE, ALGORITMA GENETIKA DAN ALGORITMA JARINGAN SYARAF TIRUAN HOPFIELD UNTUK PENCARIAN RUTE TERPENDEK

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

Jl. Ahmad Yani, Pontianak Telp./Fax.: (0561)

Penjadwalan Job Shop pada Empat Mesin Identik dengan Menggunakan Metode Shortest Processing Time dan Genetic Algorithm

PENYELESAIAN MINIMUM SPANNING TREE (MST) PADA GRAF LENGKAP DENGAN ALGORITMA GENETIKA MENGGUNAKAN TEKNIK PRUFER SEQUENCES

Perbandingan Algoritma Exhaustive, Algoritma Genetika Dan Algoritma Jaringan Syaraf Tiruan Hopfield Untuk Pencarian Rute Terpendek

PENENTUAN JARAK TERPENDEK PADA JALUR DISTRIBUSI BARANG DI PULAU JAWA DENGAN MENGGUNAKAN ALGORITMA GENETIKA. Abstraksi

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

BAB III METODOLOGI PENELITIAN

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENCARIAN RUTE PALING OPTIMUM

OPTIMASI QUERY DATABASE MENGGUNAKAN ALGORITMA GENETIK

Algoritma Evolusi Real-Coded GA (RCGA)

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

BAB II LANDASAN TEORI

OPTIMASI PENDUGAAN PARAMETER DALAM ANALISIS STRESS DAN STRAIN TERHADAP MATERIAL MENGGUNAKAN ALGORITMA GENETIKA

OPTIMISASI PENEMPATAN TURBIN ANGIN DI AREA LAHAN ANGIN

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

BAB 2 TINJAUAN PUSTAKA

BAB III METODOLOGI PENELITIAN

PENDAHULUAN. Latar Belakang

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 45 Edisi... Volume..., Bulan 20.. ISSN :

APLIKASI ALGORITMA GENETIKA DALAM MENENTUKAN SPESIFIKASI PC BERDASARKAN KEMAMPUAN FINANSIAL KONSUMEN

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

ABSTRAK. Job shop scheduling problem merupakan salah satu masalah. penjadwalan yang memiliki kendala urutan pemrosesan tugas.

BAB II TINJAUAN PUSTAKA

Peramalan Kebutuhan Beban Sistem Tenaga Listrik Menggunakan Algoritma Genetika

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

BAB II LANDASAN TEORI

BAB 4 IMPLEMENTASI DAN EVALUASI. Berikut ini merupakan spesifikasi perangkat keras dan perangkat lunak yang

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM

OPTIMASI RANCANGAN FILTER BANDPASS AKTIF UNTUK SINYAL LEMAH MENGGUNAKAN ALGORITMA GENETIK Studi Kasus: Sinyal EEG

BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

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

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

TAKARIR. algorithm algoritma/ kumpulan perintah untuk menyelesaikan suatu masalah. kesalahan program

IMPLEMENTASI ALGORITMA GENETIKA UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM

Crossover Probability = 0.5 Mutation Probability = 0.1 Stall Generation = 5

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

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah 1.2. Rumusan Masalah

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

BAB III PENERAPAN ALGORITMA MEMETIKA DAN GRASP DALAM MENYELESAIKAN PFSP

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

APLIKASI ALGORITMA GENETIKA UNTUK PENENTUAN TATA LETAK MESIN

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

PERANCANGAN TATA LETAK FASILITAS BAGIAN PRODUKSI MENGGUNAKAN METODE ALGORITMA GENETIK DI PT. PUTRA SEJAHTERA MANDIRI

Sistem Penjadwalan Outsourcing Menggunakan Algoritma Genetika (Studi Kasus : PT. Syarikatama)

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

Aplikasi Algoritma Genetika SANJOYO

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Transkripsi:

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 genetika. Dalam menjalankan proses aplikasi yang mencakup proses input dan proses outputnya, dinyatakan dengan menggunakan aplikasi bahasa pemrograman Matlab versi 7.01 yang diperjelas dengan diagram alir (flowchart). Diagram flowchart merupakan gambaran arus data dimana hal ini akan sangat membantu dalam proses komunikasi dengan pemakai yang berisi uraian analisis. Dalam sistem simulasi penentuan jalur terpendek meliputi identifikasi permasalahan untuk mengetahui halhal yang menjadi permasalahan dan yang harus diselesaikan untuk menerapkan algoritma genetik dalam masalah jalur terpendek. 3.1.1 Analisis Masukan (Input) Masukan (input) dari aplikasi dalam menentukan jalur terpendek ini, berupa parameter-parameter yang diperlukan dalam algoritma genetika yaitu : a. Data jumlah verteks yang menjadi masukan disimbolkan dengan N, yang mana N ditentukan oleh pengguna dan dimana setiap titik merupakan graph terhubung dan berarah (directed connected graph). b. Parameter-parameter yang diperlukan dalam perhitungan algoritma genetika, yaitu : 1. Ukuran Polpulasi (Popsize) = 50 2. Peluang Crossover ( c ) = 0.6

28 3. Peluang Mutasi ( m ) = 0.05 4. Maksimum Generasi = 100 3.1.2 Analisis Proses Kebutuhan proses yang dilakukan untuk menentukan masalah jalur terpendek ini antara lain : a. Proses pembuatan verteks. b. Proses menentukan jarak kota. c. Proses perhitungan fungsi fitness, seleksi, crossover, mutasi, sampai dengan menentukan hasil populasi akhirnya. d. Proses penyeleksian jalur terpendek. 3.1.3 Analisis Keluaran (Output) Data keluaran yang diperoleh dari proses pengaplikasian dalam menentukan jalur terpendek dengan algoritma genetika adalah jalur terpendek dari 20 verteks dan 41 arc yang telah ditentukan disertai dengan jarak antar kota-kotanya serta panjang jalur minimumnya dan diperoleh juga grafik fitness rata-ratanya 3.1.4 Kebutuhan Perangkat Lunak dan Perangkat Keras Sistem ini dibangun dengan didukung perangkat lunak dan perangkat keras yang meliputi: a. Perangkat Lunak 1. Sistem Operasi Microsoft Windows 7. 2. Matlab versi 7.0.1. (R14). b. Perangkat Keras Spesifikasi perangkat keras yang digunakan dalam penelitian ini sebagai berikut:

29 1. Processor Intel Core 2 Duo CPU T6600 @ 2.20 GHz 2. Memory 2.00 GB 3. Hardisk 500 GB. 4. VGA 64 MB. 5. Monitor 13.3 Inch, Keyboard, Mouse. 3.1.5 Analisis Algoritma Genetik Jalur Terpendek John Holland dalam Simple Genetic Algorithm mengatakan untuk mengimplementasikan algoritma genetika dalam mencari jalur terpendek, ada 5 hal yang harus dilakukan yaitu sebagai berikut: a. Pengodean kromosom Pada tahap ini vertek-vertek yang akan dikunjungi diberi nomor urut. Kemudian dibentuk ke dalam suatu kromosom yang berisi gen-gen yang merepresentasikan nomor urut dari semua kota yang ada. Jumlah gen dalam setiap kromosom adalah sama dengan jumlah verteks. Masing-masing vertek hanya boleh muncul sekali di dalam suatu kromosom dan dibangkitkan secara acak dengan menggunakan perintah yang ada dalam Matlab. b. Inisialisasi Populasi Tahap ini bertujuan untuk membangkitkan sebuah populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen. Masukan untuk fungsi ini adalah ukuran populasi (jumlah kromosom dalam populasi) dan jumlah gen dalam satu kromosom. Keluaran dari fungsi tersebut adalah variabel populasi berupa matriks dua dimensi. c. Menentukan nilai fitness Dalam kasus ini permasalahan jalur terpendek yaitu untuk mancari jarak terpendek dari 20 verteks dan 41 arc. Nilai fitness yang bisa digunakan adalah 1 dibagi dengan total jarak. Dalam hal ini yang dimaksud dengan total jarak adalah jumlah jarak antara satu vertek dengan vertek lainnya yang dapat dilalui.

30 d. Proses Seleksi Proses seleksi, dimana setelah terbentuk populasi awal, maka selanjutnya hasil populasi awal itu akan diseleksi. Metode seleksi yang digunakan dalam algoritma genetika ini untuk pencarian jalur terpendek ini adalah roulette whell selection. Cara kerja roulette whell selection adalah secara acak (random) akan dipilih sebuah nilai diantara 0 dan 1, kemudian nilai tersebut akan dikalikan dengan nilai total fitness seluruh individu dalam generasi tersebut. Nilai hasil perkalian antara bilangan random dan total fitness tersebut dianggap sebagai vertek yang ditunjuk oleh jarum pada roulette whell. Untuk mendapatkan individu yang akan dipilih, maka fitness dari individu anggota-anggota generasi tersebut akan dijumlahkan mulai dari individu pertama sampai jumlah fitness tersebut melebihi nilai hasil perkalian antara bilangan random dan total fitness. Dengan demikian individu yang memiliki fitness yang tinggi akan mempunyai kesempatan lebih besar untuk terpilih, karena semakin besar nilai fitness suatu individu, semakin besar pula pengaruhnya terhadap penjumlahan fitness individu-individu dalam populasi tersebut. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval akumulatifnya. e. Proses Perkawinan Silang (crossover) Salah satu komponen yang paling penting dalam algoritma genetik adalah crossover atau pindah silang. Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh dari proses memindahsilangkan dua buah kromosom. Pindah silang juga dapat berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi yang sangat kecil, suatu kromosom dengan gen-gen yang mengarah ke solusi akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa dilakukan dengan suatu probabilitas tertentu, artinya pindah silang bisa dilakukan hanya jika suatu bilangan random yang dibangkitkan kurang dari probabilitas yang ditentukan tersebut. Pada umumnya probabilita tersebut diset mendekati 1. Crossover adalah operator algoritma genetika yang utama karena beroperasi pada dua kromosom pada suatu waktu dan membentuk offspring dengan mengombinasikan dua bentuk kromosom. Cara sederhana untuk

31 memperoleh crossover adalah dengan memilih suatu vertek yang dipisahkan secara random dan kemudian membentuk offspring dengan cara mengombinasikan segmen dari satu induk ke sebelah kiri dari vertek yang dipisahkan dengan segmen dari induk yang lain ke sebelah kanan dari vertek yang dipisahkan. Metode ini akan berjalan normal dengan representasi bit string. Performa dari algoritma genetika bergantung pada performa dari operator crossover yang digunakan. f. Proses Mutasi Daftar populasi baru yang dihasil dari proses crossover dipilih secara acak untuk dilibatkan dalam proses mutasi. Pemilihan gen tersebut dilakukan dengan membandingkan bilangan random atau bilangan acak dengan nilai peluang mutasi (p m) yang telah ditetapkan sebelumnya. Jika nilai random yang ada lebih kecil atau sama dengan nilai peluang mutasi, maka kromosom tersebut akan mengalami mutasi. Pada algoritma genetika, mutasi memainkan peran penting, yaitu pertama, menggantikan gen-gen yang hilang dari populasi selama proses seleksi, sehingga dapat diujikan pada suatu kondisi yang baru. Kedua, menyediakan gen yang tidak ditampilkan pada populasi awal. Proses seleksi, crossover dan mutasi terus diulang hingga dihasilkan solusi mendekati optimum. 3.2 Diagram Alir (Flowchart) Flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkahlangkah penyelesaian suatu masalah. Diagram flowchart juga merupakan gambaran arus data dimana hal ini akan sangat membantu dalam proses komunikasi dengan pemakai yang berisi uraian analisis. Dibawah ini adalah flowchart algoritma genetika untuk menentukan jalur terpendek.

32 Mulai Set parameter a. Jumlah vertek b. Maksimum generasi c. Popsize d. Pc Input jarak Pengkodean Kromosom Bangkitkan populasi awal Evaluasi Nilai fitness Apakah kriteria optimasi tercapai Tidak SELEKSI ya Hasil Populasi Akhir PINDAH SILANG MUTASI Bangkitkan populasi baru Urut Jalur Terpendek Gambar 3.1 Flowchart Algoritma Genetika untuk Jalur Terpendek

33 BAB 4 HASIL DAN PEMBAHASAN 4.1 Pengodean Kromosom Pengodean kromosom adalah suatu proses yang sulit dalam algoritma genetika. Hal ini disebabkan karena proses pengodean untuk setiap permasalahan berbeda-beda sebab tidak semua teknik pengodean cocok untuk setiap permasalahan. Proses pengodean ini menghasilkan suatu deretan yang kemudian disebut kromosom. Dalam kasus ini yang digunakan adalah pengodean permutasi (permutation encoding). Pada tahap ini vertek-vertek yang akan dikunjungi diberi nomor urut, kemudian dibentuk ke dalam suatu kromosom yang berisi gen-gen yang merepresentasikan nomor urut dari semua kota yang ada, seperti graph dibawah ini. Gambar 4.1 Graph Berbobot dan Berarah

34 Dari gambar 4.1 di atas, jarak verteks dapat direpresentasikan dalam bentuk matriks yaitu sebagai berikut: 0 72 22 15 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 0 0 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 0 0 32 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 25 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 15 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 0 19 62 0 0 48 0 A= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 0 0 37 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4.2 Prosedur Inisisalisasi Populasi dan Evaluasi individu Pada tahap inisialisasi individu akan dibangkitkan sebuah populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen. Masukan untuk fungsi ini adalah ukuran populasi (jumlah kromosom dalam populasi) dan jumlah gen dalam satu kromosom. Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada. Dalam

35 populasi tersebut terdapat anggota populasi yang disebut dengan kromosom yang berisikan informasi solusi dari sekian banyak alternatif solusi masalah yang ada. Tahap evaluasi individu bertujuan untuk menghitung nilai fitness dari suatu individu x. Fungsi ini sangat bergantung pada masalah yang akan diselesaikan. Dalam permasalahan ini yang dibahas adalah menentukan jalur terpendek dari 20 verteks dan 41 arc, oleh sebab itu nilai fitness yang bisa digunakan adalah 1 dibagi dengan total jarak. (4.1) Dalam hal ini yang dimaksud total jarak adalah jumlah jarak antara satu kota dengan kota yang lainnya yang merupakan solusi. Variabel yang digunakan untuk mencari nilai fitness yaitu populasi, jumlah gen, dan jarak antar kota dalam suatu kromosom. Dari persoalan diatas maka kita lakukan inisialisasi populasi dan evaluasi individu sebanyak ukuran populasi yaitu 50, peluang crossover dan peluang mutasi masing-masing 0,6 dan 0,05 serta maximum generasinya adalah 100. >> Popsize: 50 Pc: 0.600 Pm: 0.050 MaxGen: 100 Tabel 4.1 Populasi awal beserta nilai fitnessnya yang dibangkitkan secara acak Kromosom ke- Bentuk Kromosom Fitness 1 1 2 3 4 9 14 15 19 20 5 6 7 8 10 11 12 13 16 17 18 0.00211 2 1 4 9 14 15 20 2 3 5 6 7 8 10 11 12 13 16 17 18 19 0.00469 3 1 3 9 14 15 20 2 4 5 6 7 8 10 11 12 13 16 17 18 19 0.00472 4 1 2 3 7 8 9 14 15 19 20 4 5 6 10 11 12 13 16 17 18 0.00194 5 1 3 9 14 18 20 2 4 5 6 7 8 10 11 12 13 15 16 17 19 0.00382 6 1 2 6 12 13 18 20 3 4 5 7 8 9 10 11 14 15 16 17 19 0.00323 7 1 4 9 14 18 20 2 3 5 6 7 8 10 11 12 13 15 16 17 19 0.0038 8 1 2 7 8 14 20 3 4 5 6 9 10 11 12 13 15 16 17 18 19 0.00649

36 Sambungan Tabel 4.1 9 1 2 6 7 12 17 18 20 3 4 5 8 9 10 11 13 14 15 16 19 0.00336 10 1 4 9 15 19 20 2 3 5 6 7 8 10 11 12 13 14 16 17 18 0.00372 11 1 3 4 10 11 16 19 20 2 5 6 7 8 9 12 13 14 15 17 18 0.00302 12 1 3 4 9 15 20 2 5 6 7 8 10 11 12 13 14 16 17 18 19 0.00503 13 1 2 6 7 8 9 14 15 19 20 3 4 5 10 11 12 13 16 17 18 0.00208 14 1 3 7 13 18 20 2 4 5 6 8 9 10 11 12 14 15 16 17 19 0.00526 15 1 3 9 15 19 20 2 4 5 6 7 8 10 11 12 13 14 16 17 18 0.00373 16 1 3 4 10 15 20 2 5 6 7 8 9 11 12 13 14 16 17 18 19 0.00654 17 1 4 10 15 19 20 2 3 5 6 7 8 9 11 12 13 14 16 17 18 0.00448 18 1 3 9 14 20 2 4 5 6 7 8 10 11 12 13 15 16 17 18 19 0.00667 19 1 2 7 8 9 15 20 3 4 5 6 10 11 12 13 14 16 17 18 19 0.00348 20 1 4 11 16 19 20 2 3 5 6 7 8 9 10 12 13 14 15 17 18 0.00418 21 1 2 7 8 9 14 20 3 4 5 6 10 11 12 13 15 16 17 18 19 0.00346 22 1 3 7 8 9 14 20 2 4 5 6 10 11 12 13 15 16 17 18 19 0.0041 23 1 3 7 8 9 15 20 2 4 5 6 10 11 12 13 14 16 17 18 19 0.00413 24 1 2 6 12 13 14 15 19 20 3 4 5 7 8 9 10 11 16 17 18 0.00208 25 1 3 7 8 9 14 15 20 2 4 5 6 10 11 12 13 16 17 18 19 0.00327 26 1 2 7 12 17 18 20 3 4 5 6 8 9 10 11 13 14 15 16 19 0.00347 27 1 3 7 8 9 14 18 20 2 4 5 6 10 11 12 13 15 16 17 19 0.00281 28 1 3 4 10 19 20 2 5 6 7 8 9 11 12 13 14 15 16 17 18 0.00476 29 1 2 6 12 13 14 15 20 3 4 5 7 8 9 10 11 16 17 18 19 0.00277 30 1 2 7 8 14 15 20 3 4 5 6 9 10 11 12 13 16 17 18 19 0.00463 31 1 2 6 12 13 14 20 3 4 5 7 8 9 10 11 15 16 17 18 19 0.00334 32 1 4 10 19 20 2 3 5 6 7 8 9 11 12 13 14 15 16 17 18 0.00625 33 1 2 7 13 14 15 20 3 4 5 6 8 9 10 11 12 16 17 18 19 0.0035 34 1 2 7 13 14 18 20 3 4 5 6 8 9 10 11 12 15 16 17 19 0.00298 35 1 2 7 8 9 14 15 19 20 3 4 5 6 10 11 12 13 16 17 18 0.00212 36 1 3 7 8 9 15 19 20 2 4 5 6 10 11 12 13 14 16 17 18 0.00276 37 1 2 3 9 14 18 20 4 5 6 7 8 10 11 12 13 15 16 17 19 0.00284 38 1 3 7 13 14 20 2 4 5 6 8 9 10 11 12 15 16 17 18 19 0.00559 39 1 5 11 16 19 20 2 3 4 6 7 8 9 10 12 13 14 15 17 18 0.00324 40 1 2 7 12 13 14 20 3 4 5 6 8 9 10 11 15 16 17 18 19 0.00341 41 1 2 6 7 8 14 20 3 4 5 9 10 11 12 13 15 16 17 18 19 0.0061 42 1 2 7 13 18 20 3 4 5 6 8 9 10 11 12 14 15 16 17 19 0.00426 43 1 2 7 8 14 15 19 20 3 4 5 6 9 10 11 12 13 16 17 18 0.00298 44 1 2 6 12 17 18 20 3 4 5 7 8 9 10 11 13 14 15 16 19 0.0034

37 Sambungan Tabel 4.1 45 1 2 7 13 14 20 3 4 5 6 8 9 10 11 12 15 16 17 18 19 0.00446 46 1 3 4 10 15 19 20 2 5 6 7 8 9 11 12 13 14 16 17 18 0.00366 47 1 3 4 11 16 19 20 2 5 6 7 8 9 10 12 13 14 15 17 18 0.00346 48 1 3 7 12 17 18 20 2 4 5 6 8 9 10 11 13 14 15 16 19 0.00412 49 1 4 10 15 20 2 3 5 6 7 8 9 11 12 13 14 16 17 18 19 0.00971 50 1 4 9 14 20 2 3 5 6 7 8 10 11 12 13 15 16 17 18 19 0.00662 Kromosom yang dibangkitkan pada Tabel 4.1 diatas adalah sebuah kromososm yang dibangkitkan secara acak. Untuk membangkitkan kromosom dan menentukan fitness ini, kita gunakan fungsi random yang telah tersedia dalam Matlab. Sintak selengkapnya adalah seperti dibawah ini %Bangkitkan Populasi Awal fprintf('populasi Awal'); fprintf('\n'); s=randperm(54); for i=1:popsize y=x(s(i),:); for m=1:n if y(m)==20 y1=y(1:m); Jarak(i) = 0; for k=2:m; Jarak(i)=Jarak(i)+A(y1(k-1),y1(k)); end end end; pop(i,1)=i; pop(i,2:n+1)=y; pop(i,n+2)=1/jarak(i); fprintf('%3d',pop(i,1:n+1)); fprintf('%10.5f',pop(i,n+2)); fprintf('\n'); end end;

38 Untuk masalah shortest path, kromosom dirancang dengan menggunakan prinsip pengacakan, dimana untuk perhitungan dilakukan hanya untuk jalur yang dilalui dari kota sumber ke kota tujuan, dengan sisa kromosom (kota yang tidak dilalui) berfungsi sebagai pelengkap agar kromosom tidak terpotong. 4.3 Probabilitas Fitness Probabilitas fitness adalah perhitungan masing-masing nilai fitness pada setiap kromosom dalam suatu populasi terhadap jumlah total nilai fitness-nya. Rumus yang digunakan adalah: nilai fitness total fitness (4.2) Pada tahap ini juga dapat ditentukan nilai kumulatif dari probabilitasnya. Variabel yang digunakan untuk mencari probabilitas fitness yaitu popsize dan MaxGen. Keluarannya adalah probabilitas fitness dan nilai kumulatif dari probabilitasnya. Nilai kumulatif dari probabilitas fitness yang diperoleh adalah 1, hal ini terjadi karena bila dilihat berdasarkan defenisi teori probabilitas, nilai probabilitas berkisar antara interval 0-1 diman, ini berarti nilai probabilitas yang dihasilkan tidak boleh lebih dari 1. Nilai probabilitas maksimum yang dihasilkan haruslah bernilai 1. Untuk kasus ini diperoleh probabilitas fitness dan nilai kumulatif dengan menggunakan ukuran populasi 50, peluang crossover dan peluang mutasi masingmasing 0,6 dan 0,05 serta maximum generasinya adalah 100. Tabel 4.2 Probabilitas Fitness No Pk qk No Pk qk 1 0.01593 0.01593 26 0.01657 0.50801 2 0.03228 0.0482 27 0.02101 0.52902 3 0.01721 0.06541 28 0.01027 0.53929 4 0.02032 0.08573 29 0.01715 0.55644

39 Sambungan Tabel 4.2 5 0.01027 0.096 30 0.01709 0.57352 6 0.02481 0.12081 31 0.01598 0.5895 7 0.01721 0.13802 32 0.00957 0.59907 8 0.01492 0.15294 33 0.02041 0.61948 9 0.01403 0.16697 34 0.0168 0.63628 10 0.01685 0.18382 35 0.01368 0.64996 11 0.02599 0.20981 36 0.01044 0.6604 12 0.03292 0.24273 37 0.01614 0.67653 13 0.0147 0.25743 38 0.03011 0.70664 14 0.01387 0.2713 39 0.01843 0.72507 15 0.01364 0.28494 40 0.04794 0.77301 16 0.02329 0.30823 41 0.02759 0.8006 17 0.02214 0.33037 42 0.03207 0.83266 18 0.02286 0.35324 43 0.01809 0.85075 19 0.03086 0.3841 44 0.02204 0.8728 20 0.02318 0.40728 45 0.01836 0.89115 21 0.02024 0.42752 46 0.01727 0.90842 22 0.01048 0.43801 47 0.02351 0.93193 23 0.01709 0.45509 48 0.0327 0.96464 24 0.01757 0.47267 49 0.01885 0.98348 25 0.01878 0.49144 50 0.01652 1 4.4 Proses Seleksi Pemilihan dua buah kromosom sebagai orang tua yang akan dipindahsilangkan, biasanya dilakukan secara proporsional sesuai dengan dengan nilai fitnessnya. Suatu metoda seleksi yang umumnya digunakan adalah roulette wheel (roda raoulette). Proses seleksi adalah proses mencari kromosom terbaik dalam satu generasi, dimana untuk menentukan suatu kromosom terbaik dapat dilihat dari nilai fitnessnya. Proses seleksi dilakukan dengan mengevaluasi setiap kromososm berdasarkan nilai fitnessnya untuk mendapatkan peringakat yang terbaik. Pada tahap ini, akan dibangkitkan bilangan random, kemudian kromosom diseleksi sesuai dengan nilai kumulatifnya. Tahap pertama yang dilakukan adalah nilai kumulatif yang telah diperoleh dibandingkan dengan bilangan random yang dibangkitkan. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval kumulatifnya.

40 4.5 Perkawinan Silang (Crossover) Salah satu komponen yang paling penting dalam algoritma genetik adalah crossover atau pindah silang. Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh dari proses memindah-silangkan dua buah kromosom. Pada tahap ini, pilih dua kromosom induk yang akan mengalami perkawinan silang secara acak, kemudian tentukan titik potongnya. Setelah itu lakukan pertukaran informasi dari kedua kromosom tersebut berdasarkan titik potong yang telah ditentukan. 4.6 Mutasi Pada proses mutasi ini, dilakukan penukaran pasangan gen yang telah dipilih secara random dalam suatu kromosom. Penukaran pasangan ini dilakukan pada dua gen dalam suatu kromosom. Jika bilangan random [0,1] yang dibangkitkan kurang dari probabilitas mutasi, maka nilai gen tersebut akan ditukar dengan nilai gen lain yang dipilih secara random. Hal ini berlaku untuk semua gen dalam kromosom. Nilai dari probabilitas mutasi adalah: 1 Jumlah gen (4.3) Untuk kasus diatas maka peluang mutasinya adalah. Ada 3 variabel yang digunakan pada proses mutasi ini yaitu kromosom, permutasi dan n. 4.7 Penentuan Jalur Terbaik dengan uji program Pada tahap ini, kita tentukan probabilitas mutasi adalah 0.05. Ukuran populasi adalah 50. Jumlah gen adalah 20. Maksimum generasi adalah 100 dan probabilitas perkawinan silang ( c ) diset 0,6. Hasil yang diperoleh adalah sebuah jalur terbaik dan diperoleh juga grafik fitness rata-rata.

41 Gambar 4.2 Grafik fitness rata-rata Pada persoalan shortest path problem diatas yang dijadikan referensi terdiri dari 20 verteks dan 41 arc. Gambar di bawah ini adalah tampilan interface program komputer yang telah dibuat dengan menggunakan GUI pada matlab. Pada tampilan ini ditampilkan contoh hasil eksekusi program dengan ukuran populasi 50 dan maksimum 100 generasi. Hasil yang diperoleh adalah sebagai berikut. Gambar 4.3 Tampilan sebelum parameter algoritma genetika diinput

42 Dengan menginput ukuran populasi adalah 50. Maksimum generasi adalah 100, peluang mutasi dan peluang crossover masing-masing 0.05 dan 0,6 maka diperoleh: Gambar 4.4 Tampilan setelah parameter algoritma genetika diinput

43 BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan Dari pembahasan yang telah dilakukan, maka dapat disimpulkan bahwa: a. Dengan tidak mengharuskan melalui seluruh jalur, hasil optimasi kasus Shortest Path dapat lebih menghasilkan tingkat optimasi yang lebih tinggi. b. Untuk kasus shortest path problem, kromosom dirancang dengan menggunakan prinsip pengacakan, dimana untuk perhitungan dilakukan hanya untuk jalur yang dilalui dari kota sumber dan kota tujuan, dengan sisa kromosom (kota yang tidak dilalui) berfungsi sebagai pelengkap agar kromosom tidak terpotong. c. Panjang jalur terpendek yang dihasilkan pada permasalahan shortest path pada Gambar 4.1 adalah 103. Dengan jalur 1 4 10 15 20. d. Kelebihan Algoritma Genetika dibandingkan dengan metode pencarian konvensioanal pada permasalahan shortest path adalah solusi dapat diperoleh pada generasi keberapapun dan kapanpun yang dikehendaki dan algoritma genetika tidak membutuhkan waktu yang lama dalam pengerjaannya. 5.2 Saran Algoritma yang dirancang masih dapat dikembangkan lebih jauh lagi untuk memperoleh hasil yang lebih baik. Beberapa hal yang perlu dikembangkan untuk penelitian lebih lanjut antara lain:

44 a. Penelitian yang dilakukan hanya sebatas mencari jalur yang terpendek, akan lebih baik apabila juga membahas mengenai waktu yang ditempuh. b. Diharapkan adanya penelitian yang dapat membandingkan antar metode heuristik dengan metode yang lain.