IMPLEMENTASI ALGORITMA GENETIKA DALAM MENCARI RUTE TERPENDEK PADA APLIKASI WISATA
KOTAMEDANBERBASISANDROID
SKRIPSI
ILHAM SAPUTRA 121401128
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
IMPLEMENTASI ALGORITMA GENETIKA DALAM MENCARI RUTE TERPENDEK PADA APLIKASI WISATA
KOTA MEDAN BERBASIS ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
ILHAM SAPUTRA 121401128
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
PERNYATAAN
IMPLEMENTASI ALGORITMA GENETIKA DALAM MENCARI RUTETERPENDEK PADA APLIKASI WISATA KOTA MEDAN
BERBASIS ANDROID
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan,November 2018
Ilham Saputra 121401128
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT yang telah memberikanrahmat dan hidayah- Nya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar- besarnya kepada :
1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Humselaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara, dan sekaligus sebagai Dosen Pembimbing I yang telah memberikan bimbingan, saran,masukan serta dukungan kepada penulis dalam pengerjaan skripsi ini.
4. Ibu Dian Rachmawati, S.Si., M.Kom,selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.
5. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
6. Teristimewa Ayahanda Nurman, Ibunda Arnida, kakanda Sartika Eka Wati, Mitra Ningsih dan Riri Afrianiserta seluruh anggota keluarga Alm. Abbas Hamid dan Alm. Hj. Fatimah yang tiada henti-hentinya memberikan kasih sayang, doa,dukungan dan motivasi kepada penulis.
7. Sahabat-sahabat yang luar biasa Abdurrasyid Aulia Rahman, S.Kom, Ahmad Hasan Pohan, S.Kom Aulia Rahman Saragih, S.Kom, Aulia Tarindah Putri,
S.Kom, Bobby Putra Johan, S.Kom, Dicky Hamdani, S.Kom, Edo Aditya Candra, Fachri Irfandi, S.Kom, Holong Paradika, Ibnu S. Hutabarat, S.Kom Jabbar Muhammad Lubis, S.Kom, Joko Kurniawan, S.Kom, Marthin Benedict, S.Kom, Noviwi Halenci, S.Pd, Ridho A. Putra, S.Kom, Rizky Suanda, S.Kom, Riodat P. Sinulingga, S.Kom, Samuel Martogi P. Nainggolan, S.Kom, T.
Triandy W.A, S.Kom, Virgo Joshua Sihotang, yang selalu mengingatkan, memberi semangat, motivasi serta tempat berbagi suka dan duka dalam penulis menyelesaikan skripsi ini.
8. Rekan-rekan mahasiswa S1 Ilmu Komputer USU Stambuk 2012, yang tidak dapat penulis sebutkan namanya satu persatu.
9. Rekan-rekan mahasiswa Pengurus Ikatan Mahasiswa S1 Ilmu Komputer (IMILKOM) Universitas Sumatera Utara Periode 2015-2016, yang tidak dapat penulis sebutkan namanya satu persatu.
10. Dan semua pihak yang telah terlibat secara langsung maupun tidak langsung dalam membantu penulis menyelesaikan skripsi ini.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis semoga mendapatkan balasan berkah dan rahmat yang berlimpah dari Allah SWT.
Medan,November 2018 Penulis,
Ilham Saputra
Implementasi Algoritma Genetika Dalam Mencari Rute Terpendek Pada Aplikasi Wisata Kota Medan Berbasis Android
ABSTRAK
Medan sebagai Ibu Kota Provinsi Sumatera Utara yang telah melalui perjalanan dan sejarah yang panjang, tentu memiliki banyak tempat yang menarik untuk dikunjungi dan dijadikan tujuan wisata. Untuk membantu para wisatawan yang datang agar bisa memaksimalkan waktu liburan yang dimiliki untuk mengunjungi tempat wisata yang mereka inginkan, diperlukan sebuah optimasi yang didalam penelitian ini adalah pencarian rute terpendek (shorthest path). Agar mendapatkan nilai-nilai variabel yang optimal dalam pencarian rute terpendek diperlukan sebuah Algoritma, salah satu algoritma yang bisa digunakan untuk mencari rute terpendek adalah Algoritma Genetika. Algoritma Genetikadengan mutation rate0,3 dan crossover rate 0,3 terbukti mampu melakukan optimasi dalam pencarian rute terpendek dengan baik dan cepat dengan rata-rata waktu pencarian 1015,2ms yang sama dengan 1,015s.Hasil pencarian rute terpendek ditampilkan dalam bentuk peta menggunakan Google Maps.
Kata kunci : Wisata, Shortest Path, Algoritma Genetika, Mutation Rate, Crossover Rate, Running Time.
Implementation of Genetic Algorithms in Finding the Shortest Route On Medan City Tourism Application Based on Android
ABSTRACT
Medan as the capital city of North Sumatra Province which has gone through a long journey and history, certainly has many interesting places to visit and become tourist destinations. To help tourists who come to maximize the vacation time they have to visit the tourist attractions they want, an optimization is needed in this study to find the shortest route (shorthest path). In order to get the optimal variable values in the search for the shortest route, an algorithm is needed, one of the algorithms that can be used to find the shortest route is Genetic Algorithm. Genetic Algorithm with 0.3 mutation rate and 0.3 crossover rate is proven to be able to optimize the search for the shortest route well and quickly with an average running time of 11.8ms. The shortest route search results are displayed in map form using Google Maps.
Keywords: Tourism, Shortest Path, Genetic Algorithm, Mutation Rate, Crossover Rate, Running Time.
DAFTAR ISI
PERSETUJUAN ... Error! Bookmark not defined.
PERNYATAAN ... ii
PENGHARGAAN ... iii
ABSTRAK ... v
ABSTRACT ... vi
DAFTAR ISI ... vii
DAFTAR TABEL ... x
DAFTAR GAMBAR ... xi
DAFTAR LAMPIRAN ... xii
BAB 1 PENDAHULUAN 1.1Latar Belakang ... 1
1.2Rumusan Masalah ... 2
1.3Ruang Lingkup Masalah ... 2
1.4Tujuan Penelitian ... 3
1.5Manfaat Penelitian ... 3
1.6Metode Penelitian ... 3
1.7 Sistematika Penulisan ... 4
BAB 2 LANDASAN TEORI 2.1Teori Dasar Graf ... 6
2.2Pengertian Algoritma ... 7
2.3 Shortest Path ... 8
2.4 Algoritma Genetika ... 9
2.5 Android ... 12
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem ... 15
3.1.1 Analisis Masalah ... 15
3.1.2 Analisis Kebutuhan Sistem ... 18
3.1.2.1 Kebutuhan Fungsional ... 18
3.1.2.2 Kebutuhan Non Fungsional ... 18
3.2Pemodelan Sistem ... 19
3.2.1 Use Case Diagram ... 19
3.2.2 Activity Diagram ... 19
3.2.3 Sequence Diagram ... 20
3.3. Flowchart ... 21
3.3.1 Flowchart Sistem ... 21
3.3.2 Flowchart Algoritma ... 22
3.4 Perancangan Antarmuka Sistem (Interface) ... 24
3.4.1 Halaman Utama ... 24
3.4.2 Halaman Lokasi Wisata ... 25
3.4.3 Halaman Pencarian Rute Terpendek ... 26
3.4.4 Halaman Tentang Penulis ... 27
3.4.5 Halaman Panduan Penggunaan ... 27
3.5 Data Tempat Wisata ... 28
BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi ... 32
4.1.1 Halaman Utama (Beranda) ... 32
4.1.2 Halaman Lokasi Wisata ... 33
4.1.3 Halaman Pencarian Rute Terpendek ... 34
4.1.4 Halaman Tentang Penulis ... 35
4.1.5 Halaman Bantuan Penggunaan ... 36
4.2 Pengujian ... 37
4.2.1 Perhitungan Manual Algoritma Genetika ... 37
4.2.2 Pengujian Aplikasi ... 54
4.3 Running Time ... 56
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan ... 58 5.2 Saran ... 58 DAFTAR PUSTAKA ... 59 LAMPIRAN
DAFTAR TABEL
Halaman
Tabel 2.1 Daftar nama versi Android 13
Table 3.1 Keterangan Halaman Utama 21
Tabel 3.2 Keterangan Halaman Lokasi Wisata 24
Tabel 3.3 Keterangan Halaman Pencarian Rute Terpendek 25
Tabel 3.4 Keterangan Halaman Tentang Penulis 25
Tabel 3.5 Keterangan Halaman Panduan Penggunaan 26
Tabel 3.6Tempat Wisata 27
Tabel 3.7 Jarak Tempat Wisata 29
Tabel 4.1 Jarak Wisata 36
Table 4.2 Hasil encoding 37
Tabel 4.3Hasil Running Time 54
DAFTAR GAMBAR
Halaman Gambar 2.1 Jenis-jenis graf (a) graf sederhana, (b) graf ganda,
dan (c) graf semu 6
Gambar 2.2 Rekombinasi satu titik potong 11
Gambar 2.3 Proses mutasi 12
Gambar 2.4 Logo versi-versi Android 12
Gambar 3.1 Diagram Ishikawa 15
Gambar 3.2Use Case diagram 17
Gambar 3.3Activity Diagram 18
Gambar 3.4 Sequence Diagram Sistem 19
Gambar 3.5 Flowchart Sistem aplikasi wisata 20
Gambar 3.6 Flowchart Algoritma Genetika 21
Gambar 3.7 Halaman Utama 22
Gambar 3.8 Halaman Lokasi Wisata 23
Gambar 3.9 Halaman Pencarian Rute Terpendek 24
Gambar 3.10 Halaman Tentang Penulis 25
Gambar 3.11 Halaman Panduan Penggunaan 26
Gambar 3.12 Graf Tempat Wisata 28
Gambar 4.1 Halaman Utama 31
Gambar 4.2 Halaman Lokasi Wisata 32
Gambar 4.3 Halaman Pencarian Rute Terpendek 33
Gambar 4.4 Halaman Tentang Penulis 34
Gambar 4.5Halaman Bantuan Penggunaan 35
Gambar 4.6 Pemilihan Titik Awal dan Titik Tujuan 53
Gambar 4.7 Running Time dan Rute Terpendek 53
Gambar 4.8 Grafik Running Time 55
DAFTAR LAMPIRAN
Lampiran 1Listing Program A-1
Lampiran 2Curriculum Vitae J-1
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Medan sebagai Ibu Kota Provinsi Sumatera Utara yang memiliki perjalanan dan sejarah yang panjang, tentu sangat menarik untuk dikunjungi dan dijadikan tujuan wisata. Bangunan-bangunan kuno dengan ragam seni bangunan dan arsitekturnya yang khas serta memiliki nilai yang sangat tinggi, baik bangunan-bangunan tradisional maupun bangunan-bangunan peninggalan Pemerintahan Kolonial Belanda merupakan rekaman sejarah dalam bentuk visual yang sangat menarik untuk dikunjungi. Peninggalan tersebut menjadi bukti sejarah bagi anak cucu dan sebagai aset yang sangat berharga dalam bidang pariwisata. Namum sering kali para wisatawan kesulitan dalam menentukan dan mencari lokasi wisata yang ada di kota Medan, terutama wisatawan asing yang baru pertama kali berkunjung ke Kota Medan. Terkadang para wisatawan tidak memiliki waktu libur yang panjang sehingga mereka harus memanfaatkan setiap waktu yang mereka miliki dengan baik, akan tetapi para wisatawan sering membuat kesalahan dengan mengambil jalan yang salah menuju suatu tempat wisata, sehingga mereka menghabiskan banyak waktu diperjalanan dan tidak dapat mengunjungi semua tempat wisata yang mereka ingin kunjungi.
Untuk itu diperlukan sebuah penyelesaian dengan cara optimasi agar wisatawan tidak banyak membuang-buang waktu mereka diperjalanan. Optimasi adalah pencarian nilai-nilai variable yang dianggap optimal, efektif dan juga efisien untuk mencapai hasil yang diinginkan (Hannawati et al. 2002). Dalam penelitian ini optimasi yang dilakukan adalah dalam hal pencarian rute terpendek, dimana akan dilakukan pencarian rute terpendek untuk sebuah jalur perjalanan dari posisi awal
menuju posisi tujuan pada lokasi wisata di kota Medan. Untuk mendapatkan nilai- nilai
variabel yang optimal dalam mencari rute terpendek diperlukan suatu Algoritma, Algoritma merupakan langkah-langkah logis pemecahan suatu masalah yang disusun secara sistematis. Algoritma yang digunakan dalam penelitian ini adalah Algoritma Genetika.
Algoritma Genetika merupakan suatu teknik optimasi dan pencarian berdasarkan prinsip Genetika dan seleksi alam. Seleksi alam selalu cenderung memilih individu terkuat yang mendominasi yang lebih lemah dan selalu bisa beradaptasi serta menjadi yang terbaik dalam waktu lama. Algoritma Genetika adalah bagian dari komputasi pengoptimalan evolusioner yang terinspirasi oleh survival of the fittest dari Darwin. Algoritma Genetika adalah teknik pencarian heuristik adaptif yang meniru proses evolusi alami yang menggunakan teknik seperti Selection, Crossover, Inheritance dan Mutation. Algoritma Genetika menggambarkan sebuah eksploitasi cerdas secara acak yang digunakan untuk mengatasi masalah Optimasi (Verma & Kumar 2014).
1.2 Rumusan Masalah
Rumusan masalah yang akan dibahas dalam penelitian ini adalah bagaimana merancang aplikasi untuk mencari jarak terpendek menuju tempat wisata di Kota Medan dengan menggunakan Algoritma Genetika, dan dapat mengetahui bagaimana cara kerja Algoritma Genetika dalam penyelesaian pencarian rute terpendek.
1.3 Ruang Lingkup Masalah
Ruang Lingkup Masalah dalam penelitian iniadalah sebagai berikut:
1. Penelitian ini akan membahas graf berarah terhubung (directed connectedgraph) dengan menggunakan vertex yang telah ditentukan, dan hanya menggunakan graf berbobot positif, dimana bobotnya adalah jarak.
2. Penelitian dilakukan hanya di wilayah Kota Medan, dimana peta Kota Medan yang digunakan berasal dari Google Map.
3. Tempat wisata yang digunakan adalah sebanyak 18 titik yang dikelompokkan dalam tiga kategori (Wisata Air, Wisata Taman, dan Wisata Budaya).
4. Probabilitas crossover 0,3 dan probabilitas mutasi 0,3.
5. Tidak membahas waktu dan kecepatan kendaraan serta keadaan lalu lintas dari titik awal ke titik tujuan.
6. Bahasa pemrograman yang digunakan adalah Basic dengan IDE Basic 4 Android.
1.4 Tujuan Penelitian Tujuan Penelitian ini adalah:
1. Mengetahui tahapan dan proses perancangan aplikasi pencarian rute terpendek tempat wisata di Kota Medan dengan menggunakan Algoritma Genetika.
2. Mengetahui kemampuan serta waktu yang dibutuhkan (running time)Algoritma Genetika dalam mencari rute terpendek.
1.5 Manfaat Penelitian
Manfaat yang diharapkan dapat dihasilkan dari penelitian ini adalah :
1. Menambah pengetahuan penulis tentang pemanfaatan algoritma Genetika dalam pencarian terpendek.
2. Untuk membantu pengguna dalam mencari jalan tercepat menuju tempat wisata di kota Medan menggunakan aplikasi pemandu wisata.
3. Sebagai bahan acuan untuk peneliti lain yang ingin membahas topik yang terkait dengan penelitian ini.
1.6 Metode Penelitian
Tahapan yang dilakukan dalam penelitian ini adalah:
1. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa
buku, jurnal, artikel, situs internet yang berkaitan dengan pencarian rute terpendek, Algoritma Genetika dan Android.
2. Pengumpulan Data
Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini, seperti fungsi algoritma Genetika yang dapat menentukan lintasan terpendek dari satu tempat ke tempat lainnya, banyaktempat wisata dan lokasinya serta rute yang akan dilewati.
3. Analisis dan Perancangan Sistem
Merancang sistem sesuai dengan rencana yang telah ditentukan, yaitu meliputi perancangan desain awal seperti perancangan tampilan GUI (Graphic User Interface), UML(Unified Modeling Language) Diagram, Flowchart algoritma, Flowchart aplikasi dan Diagram Ishikawa. Proses perancangan ini berdasarkan pada batasan masalah dari penelitian ini.
4. Implementasi Sistem
Pada tahap ini sistem telah selesai dikembangkan dengan Algoritma Genetika untuk mencaritempat wisata di Kota Medan dalam bentuk aplikasi Android.
5. Pengujian Sistem
Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dikembangkan, untuk mengetahui apakah sistem telahmemenuhi tujuan pembuatannya.
6. Dokumentasi Sistem
Melakukan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi).
1.7 Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan inidibuat dalam lima bab, yaitu:
BAB 1 PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang penelitian judul skripsi
“Implementasi Algoritma Genetika Dalam Mencari Rute Terpendek Pada Aplikasi Wisata Kota Medan Berbasis Android”. Rumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka dan sistematika penulisan skripsi.
BAB 2 LANDASAN TEORI
Bab ini membahas tentang teori-teori yang berhubungan dengan rute terpendek, teori graf, jenis-jenis graf, algoritma Genetika dan sebagainya.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Berisi tentang uraian analisis mengenai proses kerja dari algoritma Genetika dalam mencari tempat wisata terdekat di Kota Medan, serta perancangan antarmuka pengguna.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan, kemudian melakukan pengujian sistem.
BAB 5 KESIMPULAN DAN SARAN
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian dari bab- bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.
BAB 2
LANDASAN TEORI
2.1 Teori Dasar Graf
Graf (G) adalah pasangan himpunan (V,E) dengan V adalah himpunan tidak kosong dan berhingga dari objek-objek yang disebut sebagai titik, dan E adalah himpunan (mungkin kosong) pasangan tak berurutan dari titik-titik berbeda di G yang disebut sebagai sisi (Roza et al, 2014).
Berdasarkan penelitian yang dilakukan oleh Hayati & Setiawan (2013), graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek- objek tersebut. Representasi visual dari graf suatu objek dinyatakan sebagai noktah, bulatan atau titik, sedangkan hubungan antara objek dinyatakan dengan garis dan seringkali digunakan untuk merepresentasikan suatu jaringan. Graf juga digunakan dalam kasus pencarian jarak terpendek untuk menggambarkan hubungan dan lintasan dari tempat awal ke tempat tujuan agar mudah dimengerti oleh pembaca. Jenis-jenis Graf dapat dikelompokkan sebagai berikut:
Gambar 2.1 Jenis-jenis graf (a) graf sederhana, (b) graf ganda, dan (c) graf semu
a. Graf sederhana (simple graph)
Graf yang tidak mengandung gelang maupun sisi-ganda dinamakan graf sederhana. Graf pada Gambar 1 (a) adalah contoh graf sederhana yang merepresentasikan jaringan komputer. Simpul menyatakan komputer,
sedangkan sisi menyatakan saluran telepon untuk berkomunikasi. Saluran telepon dapat beroperasi pada dua arah.
b. Graf tak-sederhana (unsimple-graph)
Graf yang mengandung sisi ganda atau gelang dinamakan graf tak-sederhana (unsimple graph). Ada dua macam graf tak-sederhana, yaitu graf ganda (multigraph) dan graf semu (pseudograph). Graf ganda adalah graf yang mengandung sisi ganda. Sisi ganda yang menghubungkan sepasang simpul bisa lebih dari dua buah. Graf pada Gambar 1 (b) adalah graf ganda. Sisi ganda dapat diasosiasikan sebagai pasangan tak terurut yang sama. Kita dapat juga mendefinisikan graf ganda G = (V,E) terdiri dari himpunan tidak kosong simpul-simpul dan E adalah himpunan ganda (multiset) yang mengandung sisi ganda.
c. Graf semu
Graf semu adalah graf yang mengandung gelang (loop). Graf pada Gambar 1 (c) adalah graf semu. Graf semu lebih umum daripada graf ganda, karena sisi pada graf semu dapat terhubung ke dirinya sendiri.
2.2 Pengertian Algoritma
Pengertian algoritma menurut Barakbah et al.(2013) sangatlah lekat dengan kata logika, yaitu kemampuan seorang manusia untuk berfikir dengan akal tentang pemecahan suatu permasalahan sehingga menghasilkan sebuah solusi yang kebenarannya bisa dibuktikan dan dapat diterima akal manusia. logika seringkali dihubungkan dengan kecerdasan, seseorang yang memiliki logika yang baik seringkali orang menyebutnya sebagai pribadi yang cerdas. Berikut ini adalah ciri- ciri Algoritma menurut Donald E. Knuth (Iosinote.com online ,2016) :
1. Algoritma mempunyai awal dan akhir . Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas dengan kata lain algroritma harus memiliki langkah terbatas.
2. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (not ambiguous).
3. Memiliki masukan (input) atau kondisi awal.
4. Memiliki keluaran (output) atau kondisi akhir.
5. Algoritma harus efektif, bila diikuti benar-benar akan menyelesaikan masalah.
Algoritma dapat disajikan dalam dua bentuk, yaitu dalam bentuk tulisan/bahasa dan dalam bentuk gambar. Penyajian algoritma dalam bentuk tulisan haruslah menggunakan bahasa yang dapat dimengerti manusia dalam menyajikan langkah-langkah algoritma. Penyajian algoritma dalam bentuk tulisan juga dapat
dilakukan menggunakan pseudocode. Pseudocode berasal dari kata pseudo yangberarti "mirip atau menyerupai" dan code yang berarti "kode program". Sedangkan, penyajian algoritma dalam bentuk gambar sering disebut flow chart.Flow chart merupakan gambar atau bagan yang memperlihatkan urutan atau langkah-langkah dari suatu program dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flow chart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah.
Disamping itu flow chart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek. Flow chart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian (Barakbah, 2013).
2.3Shortest Path
Hayati & Yohanes (2014) menjelaskan bahwa Shortest Path (rute terpendek) adalah lintasan minimum yang diperlukan untuk mencapai suatu tempat dari tempat lain, dimana rute yang terpilih merupakan rute yang ditempuh dengan waktu dan jarak yang paling kecil jika dibandingkan dengan rute-rute lainnya. Dalam penyajiannya agar mudah dipahami oleh pembaca digunakan grafberbobot, yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot.
2.4 Algoritma Genetika
Algoritma Genetika merupakan suatu teknik optimasi dan pencarian berdasarkan prinsip Genetika dan seleksi alam. Seleksi alam selalu cenderung memilih individu terkuat yang mendominasi yang lebih lemah dan selalu bisa beradaptasi serta menjadi yang terbaik dalam waktu lama. Algoritma Genetika adalah bagian dari komputasi pengoptimalan evolusioner yang terinspirasi oleh survival of the fittest dari Darwin. Algoritma Genetika adalah teknik pencarian heuristik adaptif yang meniru proses evolusi alami yang menggunakan teknik seperti Selection, Crossover, Inheritance dan Mutation. Algoritma Genetika menggambarkan sebuah eksploitasi cerdas secara acak yang digunakan untuk mengatasi masalah Optimasi (Verma & Kumar 2014).Berdasarkan penelitian yang dilakukan oleh Hidayatno at all (2016), berikut ini adalah proses-proses yang ada pada algoritma genetika :
a. Proses Pengkodean (Encoding)
Pada proses pengkodean, 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. Ada beberapa macam teknik pengkodean yang dapat dilakukan dalam algoritma genetika, diantaranya pengkodean biner (binary encoding), pengkodean permutasi (permutation encoding), pengkodean nilai (value encoding) dan pengkodean pohon (tree encoding).
b. Proses Seleksi
Seleksi adalah proses untuk menentukan individu mana saja yang akan dipilih untuk dilakukan rekombinasi dan bagaimana keturunan terbentuk dari individu- individu terpilih tersebut. Langkah pertama yang dilakukan dalam seleksi adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai obyektif dirinya sendiri terhadap nilai obyektif dari semua individu dalam wadah seleksi tersebut.
Nilai fitness kemudian akan digunakan pada tahap seleksi berikutnya. Fungsi untuk mencari nilai fitness yang digunakan dalam tugas akhir ini adalah :
f(k)= 1 d(k)
Dimana d(k) merupakan panjang total lintasan untuk setiap kromosom.
Berdasarkan penelitian yang dilakukan oleh Joni & Nurcahawati (2012) pada sebuah kasus pendistribusian barang, jalur yang akan ditempuh adalah Kediri - Malang - Semarang - Rembang - Solo. Kemudian dilakukan teknik encoding dengan menginisialisasi kota-kota tersebut dengan angka yaitu Kediri(1) - Malang(2) - Semarang(3) - Rembang(4) - Solo(5). Didapatkan gennya adalah Malang(2) - Semarang(3) - Rembang(4) - Solo(5), Kediri tidak dimasukkan kedalam gen karena asumsinya adalah bahwa kota asal adalah juga merupakan kota akhir tujuan distribusi barang. Dari data diatas didapatkan satu populasi dengan enam kromosom sebagai berikut :
Kromosom [1] : [Malang - Rembang - Solo - Semarang] atau [B D E C]
Kromosom [2] : [Rembang - Malang - Solo - Semarang] atau [D B E C]
Kromosom [3] : [Semarang - Malang - Rembang - Solo] atau [C B D E]
Kromosom [4] : [Solo - Malang - Semarang - Rembang] atau [E B C D]
Kromosom [5] : [Solo - Semarang - Malang - Rembang] atau [E C B D]
Kromosom [6] : [Semarang - Rembang - Solo - Malang] atau [C D E B]
Setelah didapatkan kromosomnya selanjutnya dilakukan penghitungan nilai fitness untuk bisa dilakukan proses seleksi. Ada beberapa macam proses seleksi yang ada pada algoritma genetika, diantaranya : Seleksi dengan Roda Roulette (Roulette Wheel Selection), seleksi berdasarkan Ranking Fitness (Rank-based Fitness), seleksi Stocastic Universal Sampling, seleksi Lokal (Local Selection), seleksi dengan Pemotongan (Truncation Selection) dan seleksi dengan Turnamen (Tournament Selection).
c. Proses Rekombinasi (Crossover)
Rekombinasi adalah proses untuk menyilangkan dua kromosom sehingga membentuk kromosom baru yang harapannya lebih baik dari pada induknya.
Rekombinasi dikenal juga dengan nama crossover. Tidak semua kromosom pada
suatu populasi akan mengalami proses rekombinasi. Kemungkinan suatu kromosom mengalami proses rekombinasi didasarkan pada probabilitas crossover yang telah ditentukan terlebih dahulu. Probabilitas crossover menyatakan peluang suatu kromosom akan mengalami crossover.
Ada beberapa macam proses rekombinasi yang ada pada algoritma genetika, diantaranya : rekombinasi diskret, rekombinasi menengah, rekombinasi garis, rekombinasi satu titik potong, rekombinasi banyak titik potong, rekombinasi seragam, rekombinasi dengan permutasi. Dibawah ini adalah contoh rekombinasi satu titik potong, dimana titik potong ditentukan diantara gen 2 dan gen 3, sehingga gen yang mengalami rekombinasi adalah gen 1 dan gen 2 dari orang tua 1 dengan orang tua 2.
Gambar 2.2 Rekombinasi satu titik potong d. Proses Mutasi
Mutasi adalah proses penambahan nilai acak yang sangat kecil dengan probabilitas rendah pada variabel keturunan. Peluang mutasi didefinisikan sebagai persentasi dari jumlah total gen pada populasi yang mengalami mutasi. Peluang mutasi mengendalikan banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna tidak dievaluasi, tetapi bila peluang mutasi ini terlalu besar maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari induknya dan algoritma juga akan kehilangan kemampuan untuk belajar dari history pencarian.
Ada dua macam proses mutasi yang ada pada algoritma genetika, diantaranya mutasi bilangan real dan mutasi biner. Contoh proses mutasi dapat dilihat pada
Gambar 3 dimana proses mutasi terjadi pada gen 5 yang pada awalnya bernilai 1, dan setelah dilakukan mutasi nilainya berganti menjadi 0.
Gambar 2.3 Proses mutasi
2.5 Android
Android adalah sistem operasi berbasis Kernel Linux dan dirancang terutama untuk perangkat mobile layar sentuh seperti telepon pintar dan komputer tablet. Pada awalnya Android dikembangkan oleh Android, Inc yang didukung oleh Google secara finansial, pada tahun 2005 Google membeli Android, Inc (Walde, et al. 2014) dan menjadikannya salah satu anak perusahaan. Menurut (Digitaltrends online, 2016) sejak pertama kali diperkenalkan pada tahun 2008 sampai akhir tahun 2016 Android telah mengeluarkan 13 versi sistem operasi. Setiap versi dari sistem operasi Android yang dikeluarkan memiliki nama-nama unik yang diadopsi dari nama makanan pencuci mulut, kecuali untuk versi pertama yang hanya diberi nama Android 1.0.
berikut ini adalah nama-nama versi sistem operasi Android yang telah dikeluarkan oleh Google beserta logo dari setiap versinya.
Gambar 2.4 Logo versi-versi Android
Tabel 2.1 Daftar nama versi Android
No Nama Tahun
1 Android 1.0 2008
2 Android 1.5 Cupcake 2009
3 Android 1.6 Donut 2009
4 Android 2.0 Éclair 2009
5 Android 2.2 Froyo 2010
6 Android 2.3 Gingerbread 2010 7 Android 3.0 Honeycomb 2011 8 Android 4.0 Ice Cream Sandwich 2011 9 Android 4.1 Jelly Bean 2012
10 Android 4.4 KitKat 2013
11 Android 5.0 Lollipop 2014 12 Android 6.0 Marshmallow 2015
13 Android 7.0 Nougat 2016
14 Android 8.0 Oreo 2017
Sistem operasinya yang bersifat terbuka atau open source membuat Android mudah dikembangkan dan menjadikannya sebagai salah satu sistem operasi mobile yang sangat disukai oleh para developer, baik developer yang mengembangkan aplikasi dan game ataupun developer yang mengembangkan Custom ROM umtuk Android. Android juga merupakan sistem operasi mobile yang paling banyak digunakan smartphone diseluruh dunia, berdasarkan data yang dikeluarkan oleh salah satu website berita yang berfokus pada perusahaan-perusahaan dan perkembangan dunia teknologi informasi TechCrunch (TechCrunch online, 2016) pada kuartal kedua tahun 2016, Android mendominasi pasar smartphone dengan pangsa sebesar 86.2% yang menjadikan Android sebagai sistem operasi mobile dengan pangsa pasar terbesar saat ini diikuti iOS 12.9%, Windows Phone 0.6%, Blackberry 0.1% dan sistem operasi mobile lainnya sebesar 0.2%.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem merupakan suatu studi dalam mengindentifikasi dan mengevaluasi masalah serta komponen-komponen yang dibutuhkan oleh suatu sistem, sehingga mempermudah dalam perancangan dan penerapan sistem tersebut.
Dalam tugas akhir ini aplikasi pencarian rute terpendek menuju tempat wisata di Kota Medan dirancang dengan menggunakan Algoritma Genetika. Tahap analisis sistem yang akan dibahas adalah analisis masalah dan analisis kebutuhan, dimana analisis masalah bertujuan menjabarkan permasalahan-permasalahan yang akan dihadapi dalam sistem serta penyelesaiannya. Sedangkan analisis kebutuhan bertujuan untuk mengumpulkan informasi tentang komponen-komponen yang dibutuhkan dalam proses mengimplementasikan fungsi-fungsi yang akan digunakan oleh sistem.
3.1.1 Analisis Masalah
Rute terpendek (Shortest Path) adalah rute yang dilalui dari titik awal ke titik tujuan dengan biaya yang paling kecil, dimana biaya merupakan jarak dan waktu tempuh yang digunakan untuk melalui rute tersebut. Permasalahan yang akan dibahas dalam penelitian ini adalah bagaimana cara kerja Algoritma Genetika dalam mencari rute terpendek menuju tempat wisata yang ada di Kota Medan, agar wisatawan yang datang ke Kota Medan bisa menghemat tenaga, waktu dan biaya dalam mengunjungi tempat wisata. Untuk mengidentifikasi masalah tersebut digunakan Diagram Ishikawa (fishbonediagram).
Diagram Ishikawa adalah suatu alat visual yang digunakan untuk menggambarkan secara grafik suatu akar penyebab timbulnya permasalahan dengan terlebih dahulu mengindentifikasi sejumlah kategori yang berkaitan dengan masalah
yang dihadapi. Diagram Ishikawa disebut juga fishbone diagram karena bentuknya menyerupai kerangka tulang ikan yang bagian-bagiannya meliputi kepala, sirip dan duri. Diagram ini akan menunjukkan hubungan sebab-akibatdari sebuah permasalahan, akibat dapat diartikan sebagai kepala sedangkan tulang ikan diisi oleh sebab-sebab sesuai permasalahan yang diteliti.
Diagram Ishikawa yang digunakan dalam penelitian ini dapat dilihat pada gambar 3.1 berikut ini.
Gambar 3.1 Diagram Ishikawa
Berdasarkan Gambar 3.1, diagram Ishikawa terdiri dari 2 (dua) bagian yaitu head dan bone. Masalah utama yang berada pada segiempat paling kanan head (kepala) yaitu mencari lintasan terpendek menuju tempat wisata yang ada di Kota Medan dengan menggunakan Algoritma Genetika. Sedangkan segiempat yang lainnya yang dihubungkan oleh sebuah garis diagonal ke tulang (bone) terdiri dari material, mesin, manusia, dan metode adalah kategori masalah. Garis horizontal selanjutnya yang ditunjukkan oleh tulang-tulang kecil yang diwakili oleh garis yang mengarah ke tulang-tulang kategori masalah adalah penyebab dari masalah yang ada pada kepala (head).
3.1.2 Analisis Kebutuhan Sistem
Terdapat dua bagian pada analisis kebutuhan, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.
3.1.2.1 Kebutuhan Fungsional
Analisis kebutuhan fungsional disini mendeskripsikan tentang sistem yang disediakan. Sistem ini melakukan perhitungan jarak dan mencari rute terpendek menuju tempat wisata di Kota Medan dengan menggunakan Algoritma Genetika. Terdapat beberapa persyaratan fungsional yang dibutuhkan sebagai berikut :
a) Sistem menampilkan titik awal dan tujuan dari pengguna.
b) Sistem dapat menentukan rute terpendek yang akan dilalui dengan menggunakan Algoritma Genetika.
c) Sistem dapat menampilkan waktu yang dibutuhkan untuk mencari rute terpendek yang dihasilkan.
3.1.2.2 Kebutuhan Non Fungsional
Kebutuhan non-fungsional terdiri dari beberapa karakteristik pendukung dalam kinerja sistem sebagai berikut :
a) User friendly
Sistem memiliki tampilan yang sederhana dan mudah dipahami serta mudah digunakan oleh pengguna.
b) Performa
Sistem dapat beroperasi sesuai fungsi yang telah ditetapkan dalam pencarian rute terpendek.
c) Efisiensi
Sistem dibangun dengan kategori softwarefreeware agar meminimalkan biaya yang dikeluarkan.
3.2 Pemodelan Sistem
Pada bagian pemodelan sistem digunakan Unified Modeling Languange (UML) sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem. Beberapa jenis UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence diagram dan activity diagram.
3.2.1. Use Case Diagram
Untuk menganalisis komponen yang berperan dalam sistem yang dirancang, penulis menggunakan Use Case Diagram dalam menggambarkan apa yang dapat dilakukan oleh sistem. Use case diagram secara grafis menjelaskan secara ringkas hubungan keterkaitan antara pengguna (actor) dengan kebutuhan sistem yang dirancang.
Berikut use casediagram pada sistem pencarian rute terpendek tempat wisata yang
ada di Kota Medan.
Gambar 3.2Use Case diagram
3.2.2. Activity Diagram
Activity diagram menggambarkan alur kerja sistem yang sedang dirancang dari penentuan titik awal dan tujuan secara bertahap hingga berakhir pada hasil yang diinginkan. Activity diagram bermanfaat apabila kita membuat diagram ini terlebih
dahulu dalam perancangan sistem untuk membantu memahami proses keseluruhan sistem. Berikut activity diagram yangdigunakan dalam penelitian ini.
Gambar 3.3Activity Diagram
3.2.3 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek dan juga menggambarkan data yang masuk dan keluar pada sistem. Sequence diagram dari penelitian ini adalah sebagai berikut.
Gambar 3.4 Sequence Diagram Sistem
3.3. Flowchart
Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
3.3.1 Flowchart Sistem
Berikut ini adalah flowchart sistem yang akan menggambarkan cara kerja sistem yang akan berjalan dalam mencari rute terpendek pada aplikasi wisata Kota Medan.
Gambar 3.5 Flowchart Sistem aplikasi wisata
3.3.2 Flowchart Algoritma
Berikut ini adalah flowchart yang akan menggambarkan cara kerja algoritma Genetika yang digunakan dalam aplikasi pencarian rute terpendek.
Gambar 3.6 Flowchart Algoritma Genetika
3.4 Perancangan Antarmuka Sistem (Interface)
Pada tahap perancangan antarmuka sistem, penulis akan menjelaskan dan menggambarkan konsep yang akan di implementasikan dalam perancangan antarmuka sistem yang dibuat mengacu pada seorang pengguna agar dapat dengan mudah memahami cara penggunaan sistem dan mengenali fitur-fitur yang akan diterapkan pada sistem pencarian rute terpendek tempat wisata di kota Medan.
3.4.1 Halaman Utama
Gambar 3.7 Halaman Utama
Keterangan dari gambar Halaman Utama diatas dapat dilihat pada tabel 3.1 berikut ini.
Table 3.1 Keterangan Halaman Utama
No Keterangan
1 TextView yang berisi nama aplikasi.
2 ButtonRESET untuk membersihkan hasil pencarian rute terpendek sebelumnya.
3 Button MENU untuk menampilkan menu tentang dan panduan penggunaan.
4 Button BERANDA untuk menampilkan peta pencarian rute terpendek.
5 Button LOKASI WISATA untuk menampilkan lokasi wisata berdasarkan kategori tempat wisata.
6 MapsFragment untuk menampilkan peta kota medan dan hasil pencarian rute terpendek.
7 DialogBox untuk menampilkan lama waktu pencarian rute terpendek.
8 Button CARI untuk menampilkan menu pencarian rute terpendek.
3.4.2 Halaman Lokasi Wisata
Gambar 3.8 Halaman Lokasi Wisata
Keterangan dari gambar Halaman Lokasi Wisata diatas dapat dilihat pada tabel 3.2 berikut ini.
Tabel 3.2 Keterangan Halaman Lokasi Wisata
No Keterangan
1 TextView yang berisi nama aplikasi.
2 Button REFRESH untuk membersihkan hasil pencarian rute terpendek sebelumnya.
3 Button MENU untuk menampilkan menu tentang dan panduan penggunaan.
4 Button BERANDA untuk menampilkan peta pencarian rute terpendek.
5 Button LOKASI WISATA untuk menampilkan lokasi wisata berdasarkan kategori tempat wisata.
6 DropDownMenu untuk memilih kategori tempat wisata.
7 TextView untuk menampilkan daftar tempat wisata berdasarkan kategori.
3.4.3 Halaman Pencarian Rute Terpendek
Gambar 3.9 Halaman Pencarian Rute Terpendek
Keterangan dari gambar Halaman Pencarian Rute Terpendek diatas dapat dilihat pada tabel 3.3 berikut ini.
Tabel 3.3 Keterangan Halaman Pencarian Rute Terpendek
No Keterangan
1 TextView yang berisi judul titik awal atau titik tujuan.
2 RadioButton yang berisi daftar pilihan tempat wisata.
3.4.4 Halaman Tentang Penulis
Gambar 3.10 Halaman Tentang Penulis
Keterangan dari gambar Halaman Tentang Penulis diatas dapat dilihat pada tabel 3.4 berikut ini.
Tabel 3.4 Keterangan Halaman Tentang Penulis
No Keterangan
1 ImageView yang berisi logo Fakultas Ilmu Komputer dan Teknologi Informasi.
2 TextView yang berisi informasi singkat tentang penulis.
3.4.5 Halaman Panduan Penggunaan
Gambar 3.11 Halaman Panduan Penggunaan
Keterangan dari gambar Halaman Panduan Penggunaan diatas dapat dilihat pada tabel 3.5 berikut ini.
Tabel 3.5 Keterangan Halaman Panduan Penggunaan
No Keterangan
1 ImageView yang berisi logo Fakultas Ilmu Komputer dan Teknologi Informasi.
2 TextView yang berisi informasi cara penggunaan aplikasi.
3.5 Data Tempat Wisata
Tempat wisata yang digunakan dalam penelitian ini adalah 18 lokasi yang dibedakan kedalam tiga kategori tempat wisata, yaitu wisata air, wisata budaya dan wisata religi. Berikut ini adalahtabel tempat wisata yang berisi koordinat tempat wisata dan hasil encoding dari database sertagambar graf antar tempat wisata, sedangkan tabeljarak antar tempat wisata dapat dilihat pada halaman lampiran.
Tabel 3.6Tempat Wisata
Tempat Wisata Lattitude Longitude Encoding
Danau Siombak 3.7269719 98.663046 A Graha Maria Annai
Velangkanni 3.547772 98.608731 B
Hairos Water Park 3.4938401 98.609773 C Istana Maimun 3.5752329 98.6838612 D Kolam Renang Citra Garden 3.5490747 98.6561433 E Kolam Renang Kenanga 3.5128374 98.6142806 F Kolam Renang Paradiso 3.5799617 98.6852973 G Kolam Renang Selayang 3.564233 98.648489 H Kuil Shri Mariamman 3.5838061 98.6710829 I Masjid Raya Al Mashun 3.5750913 98.687275 J
Mora Indah 3.5344301 98.7437705 K
Rahmat International
Wildlife Museum & Gallery 3.579187 98.667559 L Taman Ahmad Yani 3.5764321 98.6766427 M Taman Gajah Mada 3.5843583 98.658858 N Taman Kebun Bunga 3.586291 98.669164 O Taman Sri Deli 3.5765576 98.6865325 P Taman Teladan 3.5649957 98.6940383 Q
Tjong A Fie 3.5854214 98.6802779 R
Gambar 3.12 Graf Tempat Wisata
JARAK TEMPAT WISATA
Berikut ini adalah tabel jarak antar tempat wisata dalam Kilometer.
Tabel 3.7 Jarak Tempat Wisata
Encoding A B C D E F G H I J K L M N O P Q R
A 0 25.5 30.1 20.5 23.9 28.3 20.3 20.6 19.8 20.9 30.7 19.2 20.6 19.3 19.7 20.8 22.2 19.2 B 25.5 0 7.4 11.8 7.9 5.4 12 6.8 10.7 12 17.1 9.6 10.6 9.4 11.2 12.1 12.9 11.9 C 30.1 7.4 0 15 9.3 2.3 15.1 10.2 13.8 15.2 18.4 12.8 13.8 13 14.4 15.3 14.8 15.1 D 20.5 11.8 15 0 6.5 13.2 0.9 5.6 2.8 0.6 10.3 2.9 1.5 3.9 2.7 0.5 1.8 1.3 E 23.9 7.9 9.3 6.5 0 7.4 7.1 4.1 5.3 6.6 12.3 4.2 5.3 4.7 5.8 6.7 7.2 6.6 F 28.3 5.4 2.3 13.2 7.4 0 13.5 8.4 12.2 13.3 16.6 10.9 12.1 11.1 12.6 13.4 13 13.3 G 20.3 12 15.1 0.9 7.1 13.5 0 8.6 2.6 0.75 10.5 2.8 1.3 3.7 2.5 0.55 2 1.1 H 20.6 6.8 10.2 5.6 4.1 8.4 8.6 0 4.4 5.7 14.9 3.3 4.4 3.7 4.9 5.8 6.6 5.7 I 19.8 10.7 13.8 2.8 5.3 12.2 2.6 4.4 0 3.2 12 1 2.4 1.7 0.75 3.1 4.5 1.5 J 20.9 12 15.2 0.6 6.6 13.3 0.75 5.7 3.2 0 9.9 3.1 2 4.3 3 0.23 1.4 1.7 K 30.7 17.1 18.4 10.3 12.3 16.6 10.5 14.9 13 9.9 0 12.3 11.3 13.7 12.9 9.8 8.6 11.5 L 19.2 9.6 12.8 2.9 4.2 10.9 2.8 3.3 1 3.1 12.3 0 1.5 1.4 2 3.2 4 2.5 M 20.6 10.6 13.8 1.5 5.3 12.1 1.3 4.4 2.4 2 11.3 1.5 0 2.9 2.3 1.8 2.8 1.4 N 19.3 9.4 13 3.9 4.7 11.1 3.7 3.7 1.7 4.3 13.7 1.4 2.9 0 2.7 4.2 5.5 3.1 O 19.7 11.2 14.4 2.7 5.8 12.6 2.5 4.9 0.75 3 12.9 2 2.3 2.7 0 2.9 4.4 1.4 P 20.8 12.1 15.3 0.5 6.7 13.4 0.55 5.8 3.1 0.23 9.8 3.2 1.8 4.2 2.9 0 1.5 1.6 Q 22.2 12.9 14.8 1.8 7.2 13 2 6.6 4.5 1.4 8.6 4 2.8 5.5 4.4 1.5 0 3 R 19.2 11.9 15.1 1.3 6.6 13.3 1.1 5.7 1.5 1.7 11.5 2.5 1.4 3.1 1.4 1.6 3 0
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman Basic dan menggunakan IDE Basic 4 Android (B4A). Pada sistem ini terdapat lima halaman tampilan, yaitu halamanutama, halaman lokasi wisata, halaman pencarian rute terpendek, halaman tentang dan halaman bantuan penggunaan.
4.1.1 Halaman Utama (Beranda)
Tampilan halaman menu halaman utama (beranda) merupakan tampilan halaman yang muncul pertama sekali pada saat sistem dijalankan. Halaman ini berisi nama aplikasi, peta Kota Medan, tombol lokasi wisata, tombol reset, tombol menu, dan tombol pencarian lokasi wisata. Untuk lebih jelasnya dapat dilihat pada Gambar 4.1 sebagai berikut.
Gambar 4.1 Halaman Utama
4.1.2 Halaman Lokasi Wisata
Tampilan halaman menu halaman lokasi wisata merupakan halaman yang digunakan untuk melihat daftar tempat wisata berdasarkan kategori tempat wisata, dimana tempat wisata pada aplikasi ini dibagi dalam tiga kategori yaitu: wisata air, wisata budaya dan wisata taman. Tampilan halaman lokasi wisatadapat dilihat pada Gambar 4.2 sebagai berikut.
Gambar 4.2 Halaman Lokasi Wisata
4.1.3 Halaman Pencarian Rute Terpendek
Tampilan halaman menu pencarian rute terpendek merupakan halaman yang digunakan untuk memilih titik awal, titik tujuan sertamenampilkan running timepencarian rute terpendek. Tampilan halaman menu pencarian rute terpendekdapat dilihat pada Gambar 4.3 sebagai berikut.
Gambar 4.3 Halaman Pencarian Rute Terpendek
4.1.4 Halaman Tentang Penulis
Tampilan halaman menu tentang penulis merupakan halaman yang berisi data singkat penulis. Tampilan halaman tentangpenulis dapat dilihat pada Gambar 4.4 sebagai berikut.
Gambar 4.4 Halaman Tentang Penulis
4.1.5 Halaman Bantuan Penggunaan
Pada halaman ini pengguna dapat melihat petunjuk penggunaan aplikasi pencarian rute terpendek yang dibuat. Tampilan halaman bantuanpenggunaan dapat dilihat pada Gambar 4.5 sebagai berikut.
Gambar 4.5Halaman Bantuan Penggunaan
4.2 Pengujian
Pengujian sistem merupakan tahap setelah implementasi sistem.Pengujian sistem bertujuan untuk membuktikan sistem yang dibangun telah berjalan dengan baik dan sesuai fungsinya. Pengujian sistem ini dilakukan padagraf tempat wisata yang telah ditentukan dengan 18buah simpul (vertex)untuk melihat rute terpendek yang dihasilkan dan waktu yang dibutuhkan dalam melakukan pencarian (running time) rute terpendek tersebut.
4.2.1 Perhitungan Manual Algoritma Genetika
Contoh pencarian lintasan terpendek denganmenggunakan algoritma Genetika dapat dilihat pada penjelasan berikut.
Tabel 4.1Jarak Wisata Tempat Wisata Danau
Siombak
Mora Indah
Taman Teladan
Istana Maimun
Tjong A Fie
Taman Sri Deli
Danau Siombak 0 25 30 20 23 28
Mora Indah 25 0 7 11 7 5
Taman Teladan 30 7 0 15 9 2
Istana Maimun 20 11 15 0 6 13
Tjong A Fie 23 7 9 6 0 7
Taman Sri Deli 28 5 2 13 7 0
Tentukan titik yang akan menjadi titik asal kemudian tentukan titik yang akan menjadi titik tujuan. Kita akan mencari jarak terpendek dari Danau Siombak menuju KRK, sebelum melakukan pencarian, pada Algoritma Genetika terdapat beberapa parameter yang harus ditentukan sebagai berikut :
Generasi maksimal = 5 Populasi maksimal = 5 Probabilitas Crossover (pc) = 0.3 Probabilitas Mutasi (pm) = 0.3
Selain parameter diatas, kriteria pemberhentian pencarian juga harus ditentukan, ada dua kriteria pemberhentian pencarian dalam kasus ini, yaitu pencarian dihentikan ketika nilai fitness terkecil yang didapat sama dari tiga generasi dan apabila pencarian telah mencapai generasi maksimal.
Langkah pertama dalam pencarian rute terpendek menggunakan Algoritma Genetika adalah encoding, dimana semua titik dikodekan untuk mempermudah pencarian. Teknik encoding yang digunakan adalah value encoding, dan proses encoding dilakukan dalam database.
Table 4.2 Hasil encoding Titik Encoding
Danau Siombak A
Mora Indah B
Taman Teladan C
Istana Maimun D
Tjong A Fie E
Taman Sri Deli F
Setelah melakukan encoding proses selanjutnya adalah melakukan seleksi, metode penyeleksian yang digunakan adalah Roulette Wheel Selection. Pada proses penyeleksian digunakan suatu parameter yang disebut nilai fitness, yang berguna untuk menentukan seberapa baik kualitas suatu kromosom untuk terpilih sebagai solusi.
Bangkitkan kromosom acak solusi rute terpendek dari titik A menuju titik F, titik A dan titik F tidak dimasukkan kedalam kromosom karena merupakan titik asal dan titik tujuan.
Kromosom (1) = B – C – D – E Kromosom (2) = C – E – B – D Kromosom (3) = C – B – D – E Kromosom (4) = D – E – B – C Kromosom (5) = E – B – D – C
Kemudian dihitung nilai fitnesnya dengan rumus fitness.
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 = 𝑇𝑇𝑇𝑇𝐹𝐹𝑇𝑇𝑇𝑇 𝑗𝑗𝑇𝑇𝑗𝑗𝑇𝑇𝑗𝑗
Kromosom (1) = AB + BC + CD + DE + EF = 25 + 7 + 15 + 6 + 7 = 60 Kromosom (2) = AC + CE + EB + BD + DF = 30 + 9 + 7 + 11 + 13 = 70 Kormosom (3) = AC + CB + BD + DE + EF = 30 + 7 + 11 + 6 + 7 = 61 Kromosom (4) = AD + DE + EB + BC + CF = 20 + 6 + 7 + 7 + 2 = 42 Kromosom (5) = AE + EB + BD + DC + CF = 23 + 7 + 11 + 15 + 2 = 58
Selanjutnya cari nilai fitness alternatif dengan rumus :
𝑄𝑄(𝐹𝐹) = 1
𝑓𝑓𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝐹𝐹)
Q(1) = 1
60 = 0.016 Q(2) = 1
70 = 0.014 Q(3) = 1
61 = 0.016 Q(4) = 1
42 = 0.023 Q(5) = 1
58 = 0.017
Total Q = 0.016 + 0.014 + 0.016 + 0.023 + 0.017 = 0.086
Setelah didapat nilai fitnessalternatifnya, lanjutkan dengan mencari probabilitas kromosom, rumus untuk mencari probabilitas kromosom adalah :
𝑃𝑃(𝐹𝐹) = 𝑄𝑄(𝐹𝐹) 𝑇𝑇𝑇𝑇𝐹𝐹𝑇𝑇𝑇𝑇 𝑄𝑄
P(1) = 0.016
0.086= 0.186 P(2) = 0.014
0.086 = 0.162 P(3) = 0.016
0.086 = 0.186 P(4) = 0.023
0.086 = 0.267 P(5) = 0.017
0.086 = 0.197
Lakukan proses seleksi menggunakan Roulette Wheel Selection, langkah pertama adalah dengan mencari nilaikumulatif probabilitas kromosom.
C(1) = 0.186
C(2) = 0.186 + 0.162 = 0.348 C(3) = 0.348 + 0.186 = 0.534 C(4) = 0.534 + 0.267 = 0.801 C(5) = 0.801 + 0.197 = 0.998
Setelah dihitung nilai kumulatif probabilitasnya maka proses seleksi dapat dilakukan. Prosesnya diawali dengan membangkitkan bilangan acak dari nol sampai nilai terbesar dari nilai kumulatif probabilitas, kemudian bilangan acak yang dibangkitkan tersebut dibandingkan dengan nilai probabilitas komulatif dengan syarat, Jika R(k) < C(1) maka pilih kromosom(1) sebagai induk, selain itu pilih kromosom ke-k sebagai induk dengan syarat C(k-1) < R < C(k). Bangkitkan bilangan acak sebanyak jumlah populasi yaitu lima bilangan acak.
R(1) = 0.249 R(2) = 0.127 R(3) = 0.687 R(4) = 0.821 R(5) = 0.760
Dari bilangan acak yang telah dibangkitkan diatas maka populasi kromosom baru hasil proses seleksi adalah :
Kromosom(1) = Kromosom(2) = C – E – B – D Kromosom(2) = Kromosom(1) = B – C – D – E Kromosom(3) = Kromosom(4) = D – E – B – C Kromosom(4) = Kromosom(5) = E – B – D – C Kromosom(5) = Kromosom(4) = D – E – B – C
Setelah proses seleksi maka proses selanjutnya adalah crossover, crossover adalah proses untuk menyilangkan dua kromosom sehingga membentuk kromosom baru yang harapannya lebih baik daripada induknya. Metode crossover yang digunakan adalah one-cut point crossover, dimana akan dipilih dua induk kromosom yang akan dilakukan crossover, lalu bangkitkan bilangan acak untuk mengetahui posisi gen mana yang akan mengalami crossover, setelah posisi gen didapatkan lakukan penukaran gen antara dua induk kromosom yang terpilih tadi.
Kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi oleh probabilitas crossover(pc) yang telah ditentukan yaitu 0.3, maka dalam 1 generasi diharapkan ada 30% dari total populasi yang akan mengalami crossover.
Pertama bangkitkan dulu bilangan acak R sebanyak jumlah populasi, yaitu lima bilangan acak.
R(1) = 0.228 R(2) = 0.340 R(3) = 0.011 R(4) = 0.910 R(5) = 0.579
Kemudian kromosom yang akan mengalami crossover dicari dengan kondisi, Kromosom ke-k akan dipilih sebagai induk jika R(k) < pc. Maka kromosom yang akan menjadi induk adalah kromosom(1) dan kromosom(3). Proses selanjutnya adalah menentukan posisi crossover dengan cara membangkitkan bilangan acak antara satu sampai dengan panjang kromosom dikurang satu sebanyak jumlah kromosom yang terpilih sebagai induk.
Panjang kromosom = 4
Bilangan acak yang akan dibangkitkan = 1 sampai 4 – 1 = 3 C(1) = 2
C(2) = 1
Dari bilangan acak yang dibangkitkan diatas kita dapatkan posisi gen yang akan mengalami crossover pada induk pertama adalah gen kedua dan posisi gen yang akan mengalami crossover pada induk kedua adalah gen pertama. Selanjutnya lakukan pertukaran gen antara induk pertama dan induk kedua.
Kromosom(1) = Kromosom(1) >< Kromosom(3)
= C – E – B – D >< D – E – B – C
= C – E – B – C
Kromosom(3) = Kromosom(3) >< Kromosom(1)
= D – E – B – C >< C – E – B – D
= D – E – B – D
Hasil kromosom setelah mengalami proses crossover : Kromosom(1) = C – E – B – C
Kromosom(2) = B – C – D – E Kromosom(3) = D – E – B – D
Kromosom(4) = E – B – D – C Kromosom(5) = D – E – B – C
Setelah melakukan crossover selanjutnya akan dilakukan mutasi, metode mutasi yang digunakan adalah swapping mutation, jumlah kromosom yang mengalami mutasi dalam suatu populasi ditentukan oleh probabilitas mutasi (pm).
Pada swapping mutation proses mutasi dilakukan dengan cara menukar gen yang dipilih secara acak dengan gen sesudahnya, dan jika gen yang terpilih berada di akhir kromosom maka ditukar dengan gen yang pertama yg berada diawal kromosom.
Mutasi diawali dengan menghitung total panjang gen yang ada dalam suatu populasi,total panjang gen = jumlah gen dalam satu kromosom * jumlah kromosom.
Total panjang gen = 4 * 5 = 20
Selanjutnya cari berapa banyak gen yang akan mengalami mutasi menggunakan probabilitas mutasi (pm) yang telah ditentukan yaitu pm = 0.3. Maka jumlah gen yang akan dimutasi adalah :
0.3 * 20 = 6
Untuk memilih posisi gen yang akan dimutasi bangkitkan bilangan acak antara satu sampai total panjang gen = 1 sampai 20, sebanyak jumlah gen yang akan dimutasi.
M(1) = 1 M(2) = 8 M(3) = 10 M(4) = 16 M(5) = 18 M(6) = 20
Kromosom hasil crossover : Kromosom(1) = C– E – B – C Kromosom(2) = B – C – D – E Kromosom(3) = D – E– B – D Kromosom(4) = E – B – D – C Kromosom(5) = D – E– B – C
Kromosom hasil mutasi : Kromosom(1) = E – C – B – C Kromosom(2) = E – C – D – B Kromosom(3) = D – B – E – D Kromosom(4) = C – B – D – E Kromosom(5) = C – B – E – D
Kemudian dihitung lagi nilai fitnessnya setelah satu generasi.
Kromosom(1) = AE +EC + CB + BC + CF = 28 + 9 + 7 + 7 + 2 = 53
Kromosom(2) = AE + EC + CD + DB + BF = 28 + 9 + 15 + 11 + 5 = 68 Kromosom(3) = AD +DB+ BE + ED + DF = 20 + 11 + 5 + 6 + 13 = 55 Kromosom(4) = AC + CB + BD + DE + EF = 30 + 7 + 11 + 6 + 7 = 61 Kromosom(5) = AC +CB+ BE + ED + DF = 30 + 7 + 7 + 6 + 13 = 63
Setelah proses mutasi selesai maka satu generasi telah selesai diproses dengan Algoritma Genetika, generasi baru hasil proses pertama akan digunakan sebagai generasi kedua untuk diproses lagi.
Proses pencarian pada generasi kedua.
Kromosom(1) = AE +EC + CB + BC + CF = 28 + 9 + 7 + 7 + 2 = 53
Kromosom(2) = AE + EC + CD + DB + BF = 28 + 9 + 15 + 11 + 5 = 68 Kromosom(3) = AD +DB+ BE + ED + DF = 20 + 11 + 5 + 6 + 13 = 55 Kromosom(4) = AC + CB + BD + DE + EF = 30 + 7 + 11 + 6 + 7 = 61 Kromosom(5) = AC +CB+ BE + ED + DF = 30 + 7 + 7 + 6 + 13 = 63
Nilai fitness alternatif.
Q(1) = 1
53 = 0.018 Q(2) = 1
68 = 0.014 Q(3) = 1
55 = 0.018 Q(4) = 1
61 = 0.016
Q(5) = 1
63 = 0.015
Total Q = 0.018 + 0.014 + 0.018 + 0.016 + 0.015 = 0.081
Probabilitas kromosom.
P(1) = 0.018
0.081= 0.209 P(2) = 0.014
0.081 = 0.162 P(3) = 0.018
0.081 = 0.209 P(4) = 016
0.081 = 0.186 P(5) = 0.015
0.081 = 0.185
Nilaikumulatif probabilitas kromosom.
C(1) = 0.209
C(2) = 0.209 + 0.162 = 0.371 C(3) = 0.371 + 0.209 = 0.58 C(4) = 0.58 + 0.186 = 0.766 C(5) = 0.766 + 0.185 = 0.951
Bilangan acak untuk proses seleksi.
R(1) = 0.25 R(2) = 0.127 R(3) = 0.82 R(4) = 0.69 R(5) = 0.73
Kromosom hasil seleksi.
Kromosom(1) = Kromosom(2) = E – C – D – B Kromosom(2) = Kromosom(1) = E – C – B – C Kromosom(3) = Kromosom(5) = C – B – E – D Kromosom(4) = Kromosom(4) = C – B – D – E Kromosom(5) = Kromosom(4) = C – B – D – E
Bilangan acak untuk proses crossover.
R(1) = 0.91 R(2) = 0.011 R(3) = 0.579 R(4) = 0.34 R(5) = 0.228
Bilangan acak posisi crossover.
C(1) = 3 C(2) = 1
Kromosom(2) = Kromosom(2) >< Kromosom(5)
= E – C – B – C><C – B – D – E
= E – C – B – E
Kromosom(5) = Kromosom(5) >< Kromosom(2)
= C – B – D – E><E – C – B – C
= C – C – B – C
Kromosom setelah mengalami proses crossover : Kromosom(1) = E – C – D – B
Kromosom(2) = E – C – B – E Kromosom(3) = D – B – E – C Kromosom(4) = C – B – D – E Kromosom(5) = C – C – B – C
Bilangan acak untuk proses mutasi.
M(1) = 12 M(2) = 15 M(3) = 20 M(4) = 7 M(5) = 2 M(6) = 5
Kromosom(1) = E – C – D – B Kromosom(2) = E – C – B – E Kromosom(3) = D – B – E – C Kromosom(4) = C – B – D – E Kromosom(5) = C – C – B – C
Kromosom hasil mutasi:
Kromosom(1) = E – D – C – B Kromosom(2) = C – E – E – B Kromosom(3) = C – B – E – D Kromosom(4) = C – B – E – D Kromosom(5) = C – C – B – C
Nilai fitnes setelah mutasi dan disimpan sebagai generasi ketiga:
Kromosom(1) = AE +ED +DC +CB + BF = 28 + 6 + 15 + 7 + 5 = 61 Kromosom(2) = AC +CE +EE +EB + BF = 28 + 9 + 0 + 7 + 5 = 49 Kromosom(3) = AC +CB + BE +ED + DF = 30 + 7 + 7 + 6 + 13 = 63 Kromosom(4) = AC + CB +BE +ED + DF = 30 + 7 + 7 + 6 + 13 = 63 Kromosom(5) = AC +CC + CB +BC + CF = 30 + 0 + 7 + 7 + 2 = 46
Proses pencarian pada generasi ketiga.
Kromosom(1) = AE +ED +DC +CB + BF = 28 + 6 + 15 + 7 + 5 = 61 Kromosom(2) = AC +CE +EE +EB + BF = 28 + 9 + 0 + 7 + 5 = 49 Kromosom(3) = AC +CB + BE +ED + DF = 30 + 7 + 7 + 6 + 13 = 63 Kromosom(4) = AC + CB +BE +ED + DF = 30 + 7 + 7 + 6 + 13 = 63 Kromosom(5) = AC +CC + CB +BC + CF = 30 + 0 + 7 + 7 + 2 = 46
Nilai fitness alternatif.
Q(1) = 1
61 = 0.016 Q(2) = 1
49 = 0.020 Q(3) = 1
63 = 0.015
Q(4) = 1
63 = 0.015 Q(5) = 1
46 = 0.021
Total Q = 0.016 + 0.020 + 0.015 + 0.015 + 0.021 = 0.087
Probabilitas kromosom.
P(1) = 0.016
0.087= 0.183 P(2) = 0.017
0.087 = 0.195 P(3) = 0.015
0.087 = 0.172 P(4) = 0.015
0.087 = 0.172 P(5) = 0.021
0.087 = 0.241
Nilaikumulatif probabilitas kromosom.
C(1) = 0.183
C(2) = 0.183 + 0.195 = 0.378 C(3) = 0.378 + 0.172 = 0.55 C(4) = 0.55 + 0.172 = 0.722 C(5) = 0.722 + 0.241 = 0.963
Bilangan acak untuk proses seleksi.
R(1) = 0.271 R(2) = 0.140 R(3) = 0.942 R(4) = 0.678 R(5) = 0.290
Kromosom hasil seleksi.
Kromosom(1) = Kromosom(2) = C – E – E – B Kromosom(2) = Kromosom(1) = E – D – C – B Kromosom(3) = Kromosom(5) = C – C – B – C
Kromosom(4) = Kromosom(4) = C – B – E – D Kromosom(5) = Kromosom(2) = C – E – E – B
Bilangan acak untuk proses crossover.
R(1) = 0.913 R(2) = 0.579 R(3) = 0.011 R(4) = 0.228 R(5) = 0.391
Bilangan acak posisi crossover.
C(1) = 1 C(2) = 2
Kromosom(3) = Kromosom(3) >< Kromosom(4)
= C – C – B – C><C – B – E – D
= C – B – E – D
Kromosom(4) = Kromosom(4) >< Kromosom(3)
= C – B – E – D >< C – C – B – C
= C – B – B – C
Kromosom setelah mengalami proses crossover : Kromosom(1) = E – C – E – B
Kromosom(2) = C – E – E – B Kromosom(3) = C – B – E – D Kromosom(4) = C – B – B – C Kromosom(5) = E – C – E – B
Bilangan acak untuk proses mutasi.
M(1) = 13 M(2) = 8 M(3) = 18 M(4) = 4 M(5) = 16 M(6) = 2
Kromosom(1) = E – C – E – B Kromosom(2) = E – D – C – B Kromosom(3) = C – B – E – D Kromosom(4) = C – B – B – C Kromosom(5) = E – C – E – B
Kromosom hasil mutasi:
Kromosom(1) = B – E – C –E Kromosom(2) = B – D – C – E Kromosom(3) = C – B – E – D Kromosom(4) = C – C – B – B Kromosom(5) = E – C –B–E
Nilai fitnes setelah mutasi dan disimpan sebagai generasi ke empat:
Kromosom(1) = AB +BE +EE+CE + EF = 25 + 7 + 0 + 9 + 7 = 48 Kromosom(2) = AB +BD +DC+CE + EF = 25 + 11 + 15 + 9 + 7 = 67 Kromosom(3) = AC +CB + BE +ED + DF = 30 + 7 + 7 + 6 + 13 = 66 Kromosom(4) = AC + CC +CB+BB + BF = 30 + 0 + 7 + 0 + 5 = 42 Kromosom(5) = AE+EC + CB +BE + EF = 23 + 9 + 7 + 7 + 7 = 53
Proses pencarian pada generasi ke empat.
Kromosom(1) = AB +BE +EE+CE + EF = 25 + 7 + 0 + 9 + 7 = 48 Kromosom(2) = AB +BD +DC+CE + EF = 25 + 11 + 15 + 9 + 7 = 67 Kromosom(3) = AC +CB + BE +ED + DF = 30 + 7 + 7 + 6 + 13 = 66 Kromosom(4) = AC + CC +CB+BB + BF = 30 + 0 + 7 + 0 + 5 = 42 Kromosom(5) = AE+EC + CB +BE + EF = 23 + 9 + 7 + 7 + 7 = 53
Nilai fitness alternatif.
Q(1) = 1
48 = 0.020 Q(2) = 1
67 = 0.014 Q(3) = 1
66 = 0.015
Q(4) = 1
42 = 0.023 Q(5) = 1
53 = 0.018
Total Q = 0.020 + 0.014 + 0.015 + 0.023 + 0.018 = 0.09
Probabilitas kromosom.
P(1) = 0.020
0.09= 0.222 P(2) = 0.014
0.09 = 0.155 P(3) = 0.015
0.09 = 0.166 P(4) = 0.023
0.09 = 0.255 P(5) = 0.018
0.09 = 0.2
Nilaikumulatif probabilitas kromosom.
C(1) = 0.222
C(2) = 0.222 + 0.155 = 0.377 C(3) = 0.377 + 0.166 = 0.543 C(4) = 0.543 + 0.255 = 0.798 C(5) = 0.798 + 0.2 = 0.998
Bilangan acak untuk proses seleksi.
R(1) = 0.471 R(2) = 0.540 R(3) = 0.142 R(4) = 0.678 R(5) = 0.290
Kromosom hasil seleksi.
Kromosom(1) = Kromosom(3) = C – B – E – D Kromosom(2) = Kromosom(3) = C – B – E – D Kromosom(3) = Kromosom(1) = B – E – C –E Kromosom(4) = Kromosom(4) = C – C – B – B
Kromosom(5) = Kromosom(2) = B – D – C – E
Bilangan acak untuk proses crossover.
R(1) = 0.011 R(2) = 0.579 R(3) = 0.913 R(4) = 0.228 R(5) = 0.391
Bilangan acak posisi crossover.
C(1) = 3 C(2) = 2
Kromosom(1) = Kromosom(1) >< Kromosom(4)
= C – B – E – D ><C – C – B – B
= C – B – E – B
Kromosom(4) = Kromosom(4) >< Kromosom(1)
= C – C – B – B><C – B – E – D
= C – C – E – D
Kromosom setelah mengalami proses crossover : Kromosom(1) = C – B – E – B
Kromosom(2) = C – B – E – D Kromosom(3) = B – E – C –E Kromosom(4) = C – C – E – D Kromosom(5) = B – D – C – E
Bilangan acak untuk proses mutasi.
M(1) = 10 M(2) = 2 M(3) = 15 M(4) = 8 M(5) = 20 M(6) = 6