• Tidak ada hasil yang ditemukan

Sistem Pengambilan Keputusan Rute Optimal Kota Bandung Dengan Algoritma Genetika

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem Pengambilan Keputusan Rute Optimal Kota Bandung Dengan Algoritma Genetika"

Copied!
147
0
0

Teks penuh

(1)

SISTEM PENGAMBILAN KEPUTUSAN RUTE OPTIMAL

KOTA BANDUNG

DENGAN ALGORITMA GENETIKA

TUGAS AKHIR

Oleh :

KRISTIAN PRASETIO

10105059

PROGRAM STUDI S1

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

(2)

i

KOTA BANDUNG DENGAN ALGORITMA GENETIKA

Oleh

KRISTIAN PRASETIO 10105059

Berdasarkan hasil pengamatan di lapangan dan wawancara di Dinas Perhubungan kota Bandung, maka didapatkan hasil bahwa Para pendatang yang berkunjung ke kota Bandung memilki kesulitan didalam menentukan rute untuk sampai ke tempat tujuan dengan waktu yang efisien, oleh karena itu maka diperlukanlah suatu sistem yang dapat menangani permasalahan rute untuk memperoleh waktu tercepat ketempat tujuan.

Dalam penyelesaian rute yang efisien , diperlukan sistem dengan metode yang dapat membantu dalam menentukan rute optimal. Metode yang digunakan adalah algoritma genetika, karena algoritma genetika merupakan sebuah metode dengan memanfaatkan variabel kecepatan di setiap jalannya yang mempengaruhi waktu tempuh di setiap jalan dan memanfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi, proses ini memiliki fungsi rekombinasi, mutasi

maupun perbaikan individu, dengan menggunakan proses - proses yang sebagian besar dilakukan secara acak maka dihasilkan solusi yang baik didalam proses pencarian ruteoptimal.

Berdasarkan hasil pengujian bahwa aplikasi Sistem Pengambilan Keputusan

yang dibangun dengan metode algoritma genetika, dapat menyelesaikan permasalahan rute optimal karena aplikasi ini dapat menberikan waktu yang

efisien menuju jalan tujuan.

(3)

ii

DECISION SUPORT SYSTEM OF OPTIMAL ROUTE IN BANDUNG CITY WITH GENETIC ALGORITHM

By

KRISTIAN PRASETIO 10105059

Based on field observations and interviews in Bandung city Transportation Department, the obtained results that the entrants who visited the city of Bandung have the difficulty in determining the route to get to your destination efficiently with time, therefore it is a system that can handle problems route to obtain the fastest time destination place.

In an efficient route solution, required a system with methods that can assist in determining the optimal route. The method is genetic algorithm, because the genetic algorithm is a method by using variable speed in each net that affect travel time in every way and take advantage of the natural selection process known as evolutionary process, this process has the function of recombination, mutation and individual improvement, with using a process - a process that most of the random generated a good solution in the optimal route search process.

Decision-Making System Application built with the method of genetic algorithm, can solve the problem of optimal routes for these applications can be time-efficient menberikan onto the destination.

(4)

v LEMBAR PENGESAHAN

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... xi

DAFTAR GAMBAR ... xiii

DAFTAR SIMBOL ... xvii

DAFTAR LAMPIRAN ... xxi

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 3

1.3. Maksud dan Tujuan ... 3

1.4. Batasan Masalah ... 4

1.5. Metodologi Penelitian ... 5

1.6. Sistematika Penulisan ... 7

BAB II LANDASAN TEORI 2.1. Algoritma Genetika ... 9

2.2. Representasi Kromosom ... 12

(5)

vi

2.7. Seleksi kromosom induk ... 15

2.8. Rekombinasi Kromosom (Crossover) ... 19

2.9. Rekombinasi untuk Representasi Biner ... 19

2.10. Rekombinasi untuk Representasi Integer ... 21

2.11. Rekombinasi untuk Representasi Real ... 22

2.12. Rekombinasi untuk Representasi Permutasi ... 22

2.13. Mutasi kromosom ... 28

2.14. Mutasi untuk Representasi Biner ... 28

2.15. Mutasi untuk representasi integer ... 28

2.16. Mutasi untuk Representasi Permutasi ... 30

2.17. Regenerasi Populasi ... 31

2.18. Parameter algoritma genetika ... 32

2.19. Object Oriented Analysis and Design (OOAD) ... 33

2.20. Objek ... 33

2.21. Kelas ... 33

2.22. UML (Unified Modeling Language) ... 34

2.23. Sejarah UML ... 34

2.24. Tujuan UML ... 36

2.25. Gambaran dari UML ... 36

(6)

vii

2.30. UML sebagai Bahasa Documenting... 38

2.31. Bagian-Bagian dari UML ... 38

2.32. View ... 38

2.33. Usecase View ... 38

2.34. Logical View ... 39

2.35. Component View ... 39

2.36. Concurrency View ... 39

2.37. Deployment View ... 39

2.38. Diagram ... 40

2.39. Usecase Diagram ... 40

2.40. Class Diagram ... 40

2.41. State Diagram ... 41

2.42. Sequence Diagram ... 41

2.43. Collaboration Diagram ... 41

2.44. Activity Diagram ... 41

2.45. Component Diagram ... 42

2.46. Deployment Diagram ... 42

2.47. Area Penggunaan UML... 42

2.48. Rational Rose ... 43

(7)

viii

2.52.1. Sejarah Singkat Perusahaan ... 47

2.52.2. Tugas Pokok ... 48

2.52.3. Struktur Organisasi ... 49

2.52.4. Visi dan misi ... 50

BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis sistem ... 52

3.1.1 Analisis Masalah ... 52

3.1.2 Analisis Fungsional ... 53

3.1.2.1 Penentuan Rute Menuju Jalan Tujuan... 53

3.1.2.2 Penyelesaian Masalah ... 54

3.1.3 Analisis Kebutuhan Sistem Non Fungsional ... 63

3.1.3.1 Analisis Pengguna (User) ... 63

3.1.3.2 Analisis dan Kebutuhan Perangkat Keras ... 64

3.1.3.3 Analisis dan Kebutuhan Perangkat Lunak .. 64

3.2. Analisis Kebutuhan Fungsional ... 65

3.2.1 Identifikasi Aktor ... 65

3.2.2 Usecase, Scenario, dan Activity Diagram ... 65

1. Diagram Usecase ... 66

2. Diagram Usecase Administrator... 67

(8)

ix

3.2.4 Class Diagram ... 84

3.3 Perancangan Sistem ... 86

3.3.1 Perancangan Data ... 86

3.3.1.1 Tabel Relasi ... 86

3.3.1.2 Struktur Tabel... 87

3.3.2 Perancangan struktur menu ... 90

3.3.3 Perancangan Antarmuka ... 91

3.3.3.1 Perancangan Tampilan ... 91

3.3.3.2 Perancangan Pesan ... 94

3.3.3.3 Jaringan Semantik ... 95

BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi ... 97

4.1.1 Perangkat Lunak Pendukung ... 97

4.1.2 Kebutuhan Perangkat Keras ... 98

4.1.3 Implementasi Prosedur dan Data ... 98

4.1.4 Implementasi Database dengan sqlserver2005 ... 98

4.1.5 Implementasi Antarmuka ... 101

4.1.5.1 Antarmuka Administrator ... 101

(9)

x

4.3 Pengujian Beta ... 109 4.3.1 Kesimpulan Hasil Pengujian Beta ... 115 BAB V KESIMPULAN DAN SARAN

(10)

xiii

Gambar 2.2 Kromosom Menggunakan Representasi Integer ...13

Gambar 2.3 Kromosom Menggunakan Representasi Real ...13

Gambar 2.4 Kromosom Menggunakan Representasi Permutasi ...14

Gambar 2.5 Kromosom Dengan Fitness ...16

Gambar 2.6 Rekombinasi Satu Titik Potong Pada Posisi 2 ...20

Gambar 2.7 Rekombinasi seragam pada representasi biner ...20

Gambar 2.8 Rekombinasi seragam pada representasi biner ...21

Gambar 2.9 Rekombinasi Satu Titik ...22

Gambar 2.10 Rekombinasi Banyak Titik ...22

Gambar 2.11 Rekombinasi Seragam Pada Representasi Integer ...22

Gambar 2.12 Rekombinasi Banyak Titik Pada Representasi Real ...23

Gambar 2.13 Rekombinasi Seragam Pada Representasi Real ...23

Gambar 2.14 Ilustrasi rekombinasi PMX ...25

Gambar 2.15 Mutasi Untuk Representasi Biner ...28

Gambar 2.16 Mutasi Untuk Representasi Integer ...29

Gambar 2.17 Mutasi untuk representasi integer ...29

Gambar 2.18 Mutasi untuk representasi permutasi (Swap mutation) ...30

Gambar 2.19 Mutasi untuk representasi permutasi (insert mutation) ...30

Gambar 2.20 Mutasi Untuk Representasi Permutasi (Scramble Mutation) ...31

(11)

xiv

Gambar 3.4 Gambar kromosom hasil seleksi (dalam matting pool) ...59

Gambar 3.5 Ilustrasi rekombinasi PMX ...61

Gambar 3.6 Ilustrasi Swap Mutation ...61

Gambar 3.7 Kromosom Baru Dalam Populasi ...62

Gambar 3.8 Hasil Pencarian Rute Optimal ...63

Gambar 3.9 Diagram Usecase semua actor...66

Gambar 3.10 Diagram Usecase untuk Administrator ...67

Gambar 3.11 Usecase Cari Jalan ...67

Gambar 3.12 Kelas Diagram untuk Usecase Realitation Cari Jalan ...67

Gambar 3.13 Diagram Aktifitas Cari Jalan ...69

Gambar 3.14 Usecase Login ...70

Gambar 3.15 Kelas Diagram untuk Usecase Realitation Login ...70

Gambar 3.16 Diagram Aktifitas Login...71

Gambar 3.17 Usecase Update Data node ...71

Gambar 3.18 Diagram untuk Usecase Realitation update Data node ...72

Gambar 3.19 Diagram Aktifitas Update Data Node ...73

Gambar 3.20 Usecase Paket Update Data jalan ...73

Gambar 3.21 Kelas Diagram untuk Usecase Realitation update Data jalan ...74

Gambar 3.22 Diagram Aktifitas Update Data Jalan ...75

(12)

xv

Gambar 3.27 Diagram Urutan Cari Jalan ...79

Gambar 3.28 Diagram Urutan Update Data Node ...80

Gambar 3.29 Diagram Urutan Update Data Jalan ...81

Gambar 3.30 Diagram Urutan Cari Jalan ...81

Gambar 3.31 Class Diagram Aplikasi ...83

Gambar 3.32 Tabel Relasi ...85

Gambar 3.33 Struktur Menu Administrator ...88

Gambar 3.34 Struktur Menu Pengguna ...88

Gambar 3.35 Tampilan Halaman Cari Jalan ...89

Gambar 3.36 Tampilan Halaman Login...90

Gambar 3.37 Tampilan Halaman update data node ...90

Gambar 3.38 Tampilan Halaman update data jalan ...91

Gambar 3.39 Tampilan Halaman profil pembuat ...91

Gambar 3.40 Tampilan Pesan M01 ...92

Gambar 3.41 Tampilan Pesan M02 ...92

Gambar 3.42 Tampilan Pesan M03 ...92

Gambar 3.43 Tampilan Pesan M04 ...92

Gambar 3.44 Tampilan Pesan M05 ...92

Gambar 3.45 Tampilan Pesan M06 ...92

(13)

xvi

(14)

xi

Tabel 3.2. Karakteristik Pengguna ...63

Tabel 3.3. Spesifikasi Perangkat Keras ...64

Tabel 3.4. Skenario Usecase Cari Jalan ...68

Tabel 3.5. Skenario Usecase Login ...70

Tabel 3.6. Skenario Usecase Update Data Node...72

Tabel 3.7. Skenario Usecase Update Data Jalan ...74

Tabel 3.8 Skenario Usecase update detail node ...76

Tabel 3.9. Skenario Usecase Cari Jalan ...78

Tabel 3.10. Jenis Kelas Diagram ...84

Tabel 3.11. Tabel User Status ...87

Tabel 3.12.Tabel User ...88

Tabel 3.13. Tabel Node ...88

Tabel 3.14. tabel detail node ...88

Tabel 3.15. Tabel Jalan ...89

Tabel 4.1. DDL Untuk Tabel User_Status ...97

Tabel 4.2. DDL Untuk Tabel User ...97

Tabel 4.3. DDL Untuk Tabel Node ...98

Tabel 4.4. DDL Untuk Tabel Untuk Tabel Jalan ...98

Tabel 4.5. DDL Untuk Detail node ...99

(15)

xii

Tabel 4.10. Pengujian Verifikasi Username dan Password...103

Tabel 4.11. Pengujian Tambah Data Update Data Node ...103

Tabel 4.12. Pengujian Ubah Data Update Data Node ...103

Tabel 4.13. Pengujian Cari Data Update Data Node ...104

Tabel 4.14. Pengujian Tambah Update Data jalan ...104

Tabel 4.15. Pengujian Ubah Update Data jalan ...105

Tabel 4.16. Pengujian Cari Data Update Data Jalan ...106

Tabel 4.17. Pengujian Tambah Update detail node ...107

(16)

xvii

DAFTAR SIMBOL

UML (Unified Modelling Language) 1. Diagram Use Case Proses

No. Simbol Keterangan

1. Aktor

Menunjukan user yang akan menggunakan sistem baru

2. Use Case

Menunjukan proses yang terjadi pada sistem baru

3. Unidirectional Association

Mnunjukan hubungan antara actor dengan dan use case atau antar use case

2. DIAGRAM ACTIVITY

No. Simbol Keterangan

1 Kondisi Awal

Menunjukan awal dari suatu diagram aktivitas

Kondisi Akhir

Menunjukan akhir dari suatu diagram aktivitas

Kondisi transisi

(17)

xviii Swimlane

Menunjukan aktor dari diagram aktivitas yang dibuat

Aktivitas

Menunjukan aktivitas-aktivitas yang terdapat pada diagram aktivitas

Pengecekan kondisi

Menunjukan pengecekan terhadap suatu kondisi

3. DIAGRAM SEQUENCE

No. Simbol Keterangan

1 Objek

Menunjukan objek yang yang terdapat di diagram sequence

Pesan ke Objek sendiri

Menunjukan pesan yang diproses pada objek itu sendiri

Pesan Objek

(18)

xix 4. DIAGRAM CLASS

No. Simbol Keterangan

1 Class

Menunjukan class-class yang dibagung berdasarkan proses-proses sebelumnya (diagram sequence)

Unidirectional Association

Mnunjukan hubungan antara class pada diagram class

Flow Chart

No. Simbol Keterangan

1 Proses

Menunjukkan kegiatan proses komputerisasi

2 Data

Menunjukkan data untuk di proses

3 Decision

(19)

xx

4 Garis Alir

Untuk menunjukkan arus dari proses

5 Menunjukkan kondisi dari mulai dan

(20)

xxi

LAMPIRAN B LISTING PROGRAM ...B-1 LAMPIRAN C HASIL KUESIONER

(21)

SISTEM PENGAMBILAN KEPUTUSAN RUTE OPTIMAL

KOTA BANDUNG DENGAN ALGORITMA GENETIKA

KRISTIAN PRASETIO

10105059

Pembimbing

Mira Kania Sabariah, S.T., M.T. NIP. 41277006008

Menyetujui,

Ketua Jurusan Teknik Informatika

(22)

SISTEM PENGAMBILAN KEPUTUSAN RUTE OPTIMAL

KOTA BANDUNG DENGAN ALGORITMA GENETIKA

KRISTIAN PRASETIO

10105059

Penguji I

Dian Dharmayanti, S.T. NIP. 41277006005

Penguji II

Mira Kania Sabariah, S.T., M.T. NIP. 41277006008

Penguji III

(23)

1 1.1Latar Belakang Masalah

Bandung dikenal sebagai kota wisata dan salah satu kota besar di INDONESIA. Kulinernya yang terkenal lezat, objek wisata gunung Tangkuban Perahu, lembang, dan ciwidey yang termasyur dengan keindahan alamnya, dan perkembangan pusat pembelanjaan khususnya dalam bidang fashion seperti

factory outlet (FO) dan distribution outlet (Distro) yang pesat beberapa tahun terakhir ini membuat Bandung menjadi tujuan wisata pembelanjaan.

Berdasarkan hasil pengamatan dilapangan, dan wawancara di Dinas Perhubungan, jalan-jalan dikota besar sangat menbingungkan dan Bandung adalah salah satu kota besar di INDONESIA, walau pemetaan kota Bandung yang cukup lumayan baik, tetapi pendatang masih dihadapkan kebingungan dengan jalan- jalan kota Bandung, dengan itu pendatang menjadi kesulitan untuk mencari jalan yang dituju, dan pendatangpun kebingungan untuk mencari rute menuju jalan tujuan

(24)

Agar pemilihan rute jalan bisa sesuai dengan kriteria yang diharapkan, perlu dilakukan proses penyeleksian rute jalan terlebih dahulu. Namun dikarenakan penyeleksian rute jalan yang masih manual tidak mungkin dilakukan, maka dibutuhkan waktu lebih dan kecermatan dalam proses untuk menentukan

rute jalan optimal.

Dalam penyelesaian rute optimal tersebut system memerlukan suatu metode yang dapat digunakan untuk membantu pencarian rute optimal, metode yang digunakan untuk pencarian rute optimal tersebut adalah algoritma genetika, karena algoritma genetika merupakan sebuah metode yang mengfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi yang memiliki fungsi rekombinasi, mutasi, maupun perbaikan individu , dan yang menggunakan proses-proses yang sebagian besar dilakukan secara acak yang menpertimbangkan kecepatan di setiap jarak jalannya yang berdampak menpengaruhi waktu tempuh

di setiap jalanya, algoritma genetika bisa menghasilkan solusi yang “bagus”

dengan kecepatan dapat diterima [SUY08].

Maka dengan mengunakan metode algoritma genetika akan membantu pencarian waktu yang efisien yang menggunakan proses-proses yang sebagian besar dilakukan secara acak, dan menghasilkan solusi yang bagus dengan kecepatan dapat diterima

(25)

Atas dasar inilah menperoleh gagasan untuk menbuat suatu system pendukung keputusan yang penulis tuangkan dalam judul “SISTEM PENGAMBILAN KEPUTUSAN RUTE OPTIMAL KOTA BANDUNG

DENGAN ALGORITMA GENETIKA”

2. Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan diatas, didapatkan masalah pokok yang perlu diselesaikan:

”Bagaimana Membangun Aplikasi Sistem Pengambilan Keputusan Rute

Opimal Kota Bandung Dengan Algoritma Genetika”

3. Maksud dan Tujuan

Maksud dari penelitian membangun aplikasi sistem pengambilan keputusan rute optimal kota bandung dengan algoritma genetika.

Tujuan dari penelitian ini adalah :

1. Membantu pendatang, menuju jalan yang dituju dikota Bandung. 2. Membantu pencarian rute menuju jalan tujuan dikota Bandung.

3. Membantu pencarian rute optimal menuju jalan tujuan dikota Bandung.

(26)

4. Batasan Masalah/Ruang Lingkup kajian

Batasan masalah dalam tugas akhir ini mencakup:

1. Pada pencarian jalur jalan, diasumsikan setiap jalur jalan hanya dapat dilalui sebanyak satu kali.

2. Di asumsikan pengguna menggunakan kendaran berroda empat atau berroda dua.

3. Jalan yang digunakan dapat berupa jalan satu arah atau jalan dua arah. 4. Rute yang tersedia hanya untuk kota Bandung.

5. Input dalam perangkat lunak ini adalah jalan asal dan jalan tujuan sedangkan output berupa urutan jalan yang harus dilalui.

6. Dalam tugas akhir ini, resiko penghambat seperti lampu merah di persimpangan jalan, pedagang kaki lima, dan faktor penghambat lainnya tidak diperhitungkan.

7. Dalam tugas akhir ini peranan algoritma genetika lebih dominan 8. Kecepatan yang digunakan untuk menempuh satu jalan adalah konstan. 9. Menggunakan System Operasi XP

10.Pemodelan data yang digunakan adalah pemodelan analasis berbasis objek oriented dimana tolls yang digunakan adalah usecase diagram, activity diagram, class diagram dan sequence diagram

(27)

5. Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut:

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi.

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

c. Interview.

Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung dengan pihak tertentu, yang ada kaitannya dengan topik yang diambil.

2. Tahap pembuatan perangkat lunak.

(28)

a. System / Information Engineering

Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.

b. Analisis

Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.

c. Design

Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.

d. Coding

Tahap penerjemahan data atau pemecahan masalah yang telah dirancang keadalam bahasa pemrograman tertentu.

e. Pengujian

Merupakan tahap pengujian terhadap perangkat lunak yang dibangun.

f. Maintenance

Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan–perubahan atau penambahan sesuai dengan permintaan

(29)

7. Sistematika Penulisan

Sistematika penulisan yang ditetapkan oleh penulis dalam menyusun tugas akhir ini adalah sebagai berikut

BAB I PENDAHULUAN

Pada bab ini menerangkan secara umum latar belakang masalah, identifikasi masalah, maksud dan tujuan penelitian, batasan masalah, metodologi penelitian serta sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini menerangkan secara garis besar pengertian pokok dari teori-teori yang mendasari pemecahan masalah yang dihadapi, dimana sumbernya dapat diperoleh dari berbagai buku sumber yang menunjang dalam penyusuunan Tugas Akhir ini.

BAB III ANALISIS DAN PERANCANGAN

Pada bab ini berisi menbahas analisis kebutuhan sistem dan pengguna, kemudian dilakukan pula proses perancangan sistem yang akan dibangun sesuai dengan analisis yang dilakukan.

BAB IV IMPLEMENTASI

(30)

BAB VI KESIMPULAN DAN SARAN

(31)

9

Bab ini menjelaskan dasar teori yang digunakan dalam pengembangan perangkat lunak, dasar teori tersebut terdiri dari algoritma genetika. Pada bagian algoritma genetika dibahas mengenai representasi kromosom, seleksi kromosom induk, rekombinasi kromosom, mutasi kromosom, regenerasi populasi, parameter algoritma genetika.

2.1 Algoritma Genetika

Algoritma genetika ditemukan di Universitas Michigan, Amerika Serikat oleh John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya David Goldberg. Algoritma genetika adalah algoritma yang memanfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi. Dalam proses evolusi, individu secara terus menerus mengalami perubahan gen untuk menyesuaikan diri dengan lingkungan hidupnya. ”Hanya individu-individu yang

kuat yang mampu bertahan”. Proses seleksi alamiah ini melibatkan perubahan gen

yang terjadi pada individu melalui proses perkembangbiakan. Dalam algoritma genetika ini, proses perkembangbiakan menjadi proses dasar yang menjadi

perhatian utama, dengan dasar berpikir: ”Bagaimana mendapatkan keturunan yang

lebih baik”.

(32)

populasi. Sebuah kromosom dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan. Kromosom-kromosom tersebut akan berevolusi secara berkelanjutan yang disebut dengan generasi.

Dalam tiap generasi Kromosom-kromosom tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan (fungsi objektif) menggunakan ukuran yang disebut dengan fitness. Untuk memilih kromosom yang tetap dipertahankan untuk generasi selanjutnya dilakukan proses yang disebut dengan seleksi. Proses seleksi kromosom menggunakan konsep aturan evolusi yaitu kromosom yang mempunyai nilai fitness tinggi akan memiliki peluang lebih besar untuk terpilih lagi pada generasi selanjutnya.

(33)

tertentu yang merupakan solusi terbaik yang dihasilkan oleh algoritma genetika terhadap permasalahan yang ingin diselesaikan.

Ada banyak metoda atau teknik yang dapat digunakan ketika menerapkan algoritma genetika. Meskipun demikian, algoritma ini memiliki suatu struktur algoritma yang umum digunakan pada setiap implementasi.

1. Buat populasi random yang terdiri dari sejumlah n kromosom solusi.

2. Lakukan evaluasi nilai mutu setiap kromosom dalam populasi. Jika sudah memenuhi syarat tertentu proses dihentikan (terdapat suatu individu yang telah memiliki nilai fitness tertentu yang diharapkan atau evolusi telah mencapai suatu generasi maksimum yang diizinkan atau dalam beberapa generasi tertentu tidak ada peningkatan nilai fitness yang diharapkan), lanjutkan ke tahap 3 jika belum mendapatkan solusi yang diinginkan

3. Buat populasi baru melalui tahap-tahap sebagai berikut :

a. Pilih 2 kromosom dari sebuah populasi, semakin baik nilai mutunya semakin besar kemungkinan kromosom tersebut terpilih.

b. Lakukan operasi persilangan terhadap 2 kromosom yang terpilih. Hasil dari persilangan tersebut menjadi sebuah kromosom baru.

c. Lakukan operasi mutasi terhadap kromosom baru tersebut. d. Masukan kromosom baru kedalam populasi.

4. Populasi baru menggantikan populasi lama dalam proses iterasi.

(34)

2.2 Representasi Kromosom

Hal paling mendasar dalam algoritma genetika adalah penyandian kromosom. Penyandian kromosom adalah suatu teknik untuk menyatakan populasi awal sebagai kandidat solusi suatu masalah ke dalam suatu kromosom. Sebuah kromosom harus mengandung atau mewakili informasi mengenai solusi dari masalah yang akan diselesaikan .

2.3 Representasi Biner

Representasi biner adalah representasi paling sederhana dan paling umum. Pada representasi biner ini, setiap gen hanya bisa bernilai 0 atau 1. Representasi biner sangat mudah diimplementasikan dan memerlukan operator-operator rekombinasi dan mutasi yang sangat sederhana. Tetapi representasi biner ini biasanya digunakan untuk masalah-masalah yang sangat sederhana (tidak terlalu kompleks).

Kromosom X 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0

Kromosom Y 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0

(35)

2.4 Representasi Integer

Pada representasi ini, setiap gen bisa bernilai bilangan bulat (integer). Bilangan bulat dapat merepresentasikan jenis, atau kuantitas objek.

Kromosom X 3 2 4 7 5 11 9 27 1

Kromosom Y 5 9 1 4 27 6 7 14 2

Gambar 2.2Kromosom Menggunakan Representasi Integer

2.5 Representasi Real

Permasalahan praktis di dunia nyata mungkin saja membutuhkan tingkat ketelitian sangat tinggi. Jika representasi biner maupun integer tidak bisa mencapai ketelitian yang diinginkan, kita bisa menggunakan representasi real.

Pada representasi biner, setiap gen hanya bernilai 0 atau 1. Pada representasi

integer, setiap gen bisa bernilai bilangan bulat dalam interval [0,9]. Sedangkan pada representasi real setiap gen bisa bernilai real dalam interval [0,1].

Kromosom X 0,234 0,456 1,000 6,732 5,543

Kromosom Y 1,234 2,000 0,789 0,987 1,000

(36)

2.6 Representasi Permutasi

Untuk masalah tertentu, kita mungkin saja tidak bisa menggunakan representasi biner, integer, maupun real. Misalkan, masalah Travelling Salesman Problem (TSP). Pada TSP, masalahnya adalah mencari “urutan”. Bagaimana

menemukan urutan kunjungan lokasi (satu lokasi hanya dikunjungi satu kali) yang total nilainya paling optimal (bisa minimal atau maksimal bergantung

tujuannya). “Nilai” disini bisa berupa jarak, kenyamanan, biaya, dan sebagainya.

Bagi seorang kurir, misalnya tujuannya adalah menemukan urutan lokasi pengantaran paket yang total jaraknya paling minimal. Bagi seorang wisatawan, tujuannya bisa berupa urutan lokasi wisata yang tingkat kenyamanan jalannya paling maksimal.

Yang harus diperhatikan saat membangun kromosom dengan representasi

permutasi adalah “satu kromosom harus menyatakan satu solusi”. Dua kata kunci

lain yang juga perlu kita perhatikan adalah “posisi” dan ”nilai” gen. Posisi gen (indeks pada kromosom) bisa digunakan untuk menyatakan urutan kunjungan lokasi.

1 5 2 6 3 4

Kromosom

Nilai gen menyatakan lokasi

Posisi gen menyatakan urutan kunjungan 1 2 3 4 5 6

(37)

2.7 Seleksi Kromosom Induk

Seleksi adalah suatu operator algoritma genetika yang berfungsi memilih individu-individu yang akan dijadikan induk pada proses rekombinasi ataupun yang akan tetap bertahan pada generasi berikutnya. Ada beberapa metoda seleksi yang umum digunakan dalam algortima genetika, diantaranya:

1. Roulette Wheel Selection

Metode ini sama dengan metode yang diperlukan pada permainan

roulette, dimana setiap angka dinyatakan dalam suatu area sektor dalam lingkaran. Kemungkinan suatu sektor terpilih sangatlah tergantung kepada area atau luas dari sektor tersebut. Dengan demikian, semakin luas sektor tersebut maka semakin berpeluang ia dipilih untuk dikawinkan ataupun bertahan hidup pada generasi selanjutnya. Hal ini sesuai dengan teori Darwin yang menyatakan bahwa individu yang lebih kuat atau lebih baik dapat lebih bertahan dan menghasilkan keturunan dalam proses evolusi.

Pada permainan roulette semua sektor memiliki luas yang sama sehingga kemungkinan yang dimiliki oleh setiap sektor adalah sama. Pada metode algortima genetika ini, luas sektor akan sebanding dengan nilai fitness dari masing-masing kromosom.

(38)

kromosom orang tua diacak. Selanjutnya, dua kromosom orang tua yang posisinya berurutan direkombinasikan untuk menghasilkan dua anak .

1

2 3 4

5 6

Gambar 2.5 Kromosom Dengan Fitness Lebih Besar Menempati Ruang Lebih Besar

Dalam Roda Roulette

Gambar II.5 dapat dijadikan ilustrasi dalam memahami cara kerja metode

seleksi roulette wheel. Dapat dilihat kromosom 1 memiliki nilai mutu yang paling besar karena luas bagian roda yang dimilikinya terbesar. Ada beberapa tahap dalam penggunaan metode ini, seperti dijelaskan melalui contoh di bawah ini.

Sebuah populasi terdiri dari 6 kromosom : A, B, C, D, E, dan F Nilai mutu dari masing-masing kromosom yaitu 40, 17, 20, 5, dan 8.

(39)

Tf = f(vk) 1+ f(vk)2..+f(vk)n

n

Pk(i)=

(f(vk)i/tf)

i=1

Ket :

Tf : total fitness

Ket:

Pk: probabilitas seleksi F(vk): nilai fitness Tf: total fitness

… .

… .

i. Hitung total fitness (F) seluruh kromosom dalam populasi

Tf=40 + 17 + 20 + 5 + 10 + 8 = 100

ii. hitung probabilitas seleksi (pk) setiap kromosom

Pk1= 40/100 Pk2=17/100 Pk3=20/100 Pk4=5/100 Pk5=10/100 Pk6=8/100

(40)

n

qk(j)=

qkj+pki

i=1;j=1

Ket :

qk: probabilitas kumulatif pk: probabiltas seleksi

… .

iii. Hitung probabilitas kumulatif (qk) setiap kromosom

qk1=0,40 qk2=0,57 qk3=0,77 qk4=0,82 qk5=0,92 qk6=1,00

iv. Buat 1 bilangan random acak untuk memilih satu kromosom induk 0,79 :kromosom D terpilih karena qk > 0,79

2. Truncation-Random Selection

Metoda ini lebih mudah diterapkan jika dibandingkan dengan metoda seleksi roulette wheel. Pemilihan kromosom dilakukan secara acak tetapi tidak semua kromosom mendapatkan kesempatan tersebut, hanya kromosom

-kromosomterbaik saja yang berpeluang.

3. Elitism Method

(41)

4. Steady-state reproduction. Pada metode ini sejumlah fitness parents yang terburuk digantikan dengan sejumlah individu baru (offspring).

2.8 Rekombinasi Kromosom (Crossover)

Persilangan dilakukan terhadap dua kromosom induk terpilih dengan tujuan untuk menciptakan kromosom anak baru. Tetapi, operasi rekombinasi tidak selamanya berhasil. Hal ini menirukan apa yang terjadi di dunia nyata bahwa tidak semua pasangan orang tua bisa memiliki anak.

2.9 Rekombinasi untuk Representasi Biner

Untuk representasi biner rekombinasi bisa dilakukan menggunakan tiga metode, yaitu: rekombinasi satu titik (1-point crossover), rekombinasi banyak titik (n-point crossover) dan rekombinasi seragam (uniform crossover).

1. Rekombinasi satu titik (1-point crossover)

(42)

1 0 1 1 0 1 0 1

Gambar 2.6 Rekombinasi Satu Titik Potong Pada Posisi 2

2. Rekombinasi banyak titik (n-point crossover).

Caranya, pilih beberapa titik potong secara acak pada posisi antara 1 hingga G-1, dalam hal ini G adalah jumlah gen dalam kromosom. Selanjutnya, pewarisan gen-gen dilakukan secara menyilang (zigzag) pada posisi – posisi tersebut. Perhatikan gambar berikut.

1 0 1 1 0 1 0 1

Gambar 2.7 Rekombinasi dua titik potong (a) dan tiga titik potong (b)

(43)

3. Rekombinasi seragam

Rekombinasi ini bisa dilakukan dengan cara pelemparan mata uang logam. Lempar koin satu kali untuk setiap gen pada kromosom orang tua. Misalkan, jika lemparan koin menghasilkan gambar “garuda”, berarti anak 1 mendapatkan gen dari orang tua 1. Sebaliknya, jika lemparan koin

menghasilkan gambar ”bunga ”, berarti anak 1 mendapatkan gen dari orang

tua 2. Jika terdapat G gen berarti pelemparan koin dilakukan sebanyak G kali. Pelemparan koin sebanyak G kali bisa direpresentasikan sebagai suatu pola.

1 0 1 1 0 1 0 1

Gambar 2.8 Rekombinasi seragam pada representasi biner

2.10 Rekombinasi untuk Representasi Integer

(44)

1. Rekombinasi satu titik (1-point crossover)

Gambar 2.9 Rekombinasi Satu Titik

2. Rekombinasi banyak titik (n point crossover)

1 5 2 7 6 9 8 2

Titik potong 2

8 22 8

7 6 0

Gambar 2.10 Rekombinasi Banyak Titik

3. Rekombinasi seragam

Gambar 2.11 Rekombinasi Seragam Pada Representasi Integer

2.11Rekombinasi untuk Representasi Real

(45)

1. Rekombinasi banyak titik

Titik potong 2

8 2,72 8,6

7,4 6,5 3,1

Gambar 2.12 Rekombinasi Banyak Titik Pada Representasi Real

2. Rekombinasi seragam

1,2 5,3 2,4 7,5 6,1 9,3 8,6 2,7

Gambar 2.13 Rekombinasi Seragam Pada Representasi Real

2.12 Rekombinasi untuk Representasi Permutasi

Representasi permutasi banyak digunakan dalam masalah penjadwalan seperti traveling salesman problem (TSP), Job shop, dll. Pada masalah TSP, representasi permutasi memanfaatkan posisi gen sebagai urutan kota. Hal ini menyebabkan metode-metode rekombinasi diatas tidak bisa digunakan untuk representasi ini.

Metode-metode tersebut tidak dapat digunakan untuk representasi permutasi karena ada kemungkinan anak-anak yang dihasilkan memiliki gen-gen yang tidak

(46)

dikunjungi dua kali. Padahal pada masalah TSP ada batasan bahwa setiap lokasi hanya boleh dikunjungi sebanyak satu kali.

Untuk menghasilkan anak-anak yang valid terdapat suatu metode rekombinasi, yaitu dengan menggunakan partially mapped crossover. Pada partially mapped crossover (PMX), rekombinasi dilakukan dengan cara mewariskan sebagian gen orang tua secara searah dan sebagian lainnya secara menyilang. Pewarisan sebagian gen secara menyilang dilakukan dengan memanfaatkan posisi-posisi gen kedua orang tua yang memiliki nilai sama untuk dilakukan pemetaan. Karena pewarisan gen yang menggunakan pemetaan dilakukan hanya pada sebagian gen, maka metode rekombinasi ini dinamakan partially mapped crossover. Gambar dibawah ini mengilustrasikan rekombinasi dengan metode partially mapped crossover.

1. Pilih segmen kromosom dari kedua orangtua secara acak dengan cara membangkitkan dua titik, titik potong satu TP1 dan titik potong dua TP2.

1 2 3 4 5 6 7 8

2. Tukar segmen kedua orangtua untuk membuat proto-child.

(47)

3. Lakukan mapping relationship.

4. Buat offspring yang valid dengan mapping relationship dengan cara :

3 5 6 9 2 1 7 8

Gambar II.14 Ilustrasi rekombinasi PMX

a. Untuk membangun offspring 1

Langkah 1 :

Untuk gen-gen yang terdapat di dalam segmen pada protochild-1 tidak perlu dilakukan pengecekan dan pemetaan.

Langkah 2 :

(48)

lakukan mapping relationship). Cek kembali apakah gen bernilai 3 terdapat di dalam segmen pada protochild-1. Hasilnya, gen bernilai 3 tidak ada di dalam segmen pada protochild-1, sehingga gen bernilai 3 tersebut dimasukan ke dalam gen pertama pada offspring 1.

Langkah 3 :

Periksa gen ke-dua yang bernilai 2 sebelum segmen pada protochild-1, lalu periksa apakah di dalam segmen pada protochild-1 terdapat gen bernilai 2. Jika pada segmen protochild-1 terdapat gen bernilai 2 maka, lakukan pemetaan. Gen bernilai 2 tersebut dipetakan menjadi gen bernilai 5 (lihat langkah 3, lakukan mapping relationship). Periksa kembali apakah gen bernilai 5 terdapat di dalam segmen pada protochild-1. Hasilnya, gen bernilai 5 tidak terdapat di dalam segmen protochild-1, sehingga gen bernilai 5 tersebut dimasukan ke dalam gen ke-dua pada offspring 1.

Langkah 4 :

(49)

Langkah 5:

Dimulai dari gen ke-delapan dengan nilai 8, periksa apakah di dalam segmen pada proto-child-1 terdapat gen bernilai 8. Hasilnya, gen bernilai 8 tidak terdapat di dalam segmen protochild-1, sehingga gen bernilai 8 tersebut dimasukan ke dalam gen ke-delapan pada offspring 1.

Langkah 6 :

Periksa gen ke-sembilan yang bernilai 9 pada protochild-1, periksa apakah di dalam segmen pada protochild-1 terdapat gen bernilai 9. Jika pada segmen protochild-1 terdapat gen bernilai 9 maka, lakukan pemetaan. Gen bernilai 9 tersebut dipetakan menjadi gen bernilai 4 (lihat langkah 3). Periksa kembali apakah gen bernilai 4 terdapat di dalam segmen pada

protochild-1. Hasilnya, gen bernilai 4 tidak terdapat di dalam segmen protochild-1, sehingga gen bernilai 4 tersebut dimasukan ke dalam gen ke-sembilan pada offspring 1

b. Untuk membangun offspring 2

(50)

2.13 Mutasi Kromosom

Setelah tahap rekombinasi terhadap semua pasangan kromosom pada

matting pool yang menghasilkan N (ukuran populasi) kromosom, maka GA menjalankan operator mutasi.

Ada satu hal di dunia nyata yang diadopsi oleh GA. Hal ini berkaitan dengan probabilitas terjadinya mutasi yang sangat kecil. Hal ini diadopsi GA dengan adanya variabel probabilitas mutasi yang dilambangkan dengan Pm dan nilainya diset dengan sangat kecil. Biasanya Pm berada dalam interval antara 1 dibagi jumlah gen dalam semua kromosom dalam populasi sampai dengan 1 dibagi julamh gen dalam satu kromosom.

2.14 Mutasi untuk Representasi Biner

Mutasi dilakukan secara sederhana dengan cara membalik nilai binernya. Gen yang bernilai biner 1 dimutasi menjadi 0. Sedangkan gen yang bernilai 0 dimutasi menjadi 1. Perhatikan ilustrasi berikut ini.

0 1

0 1 1 0 1 1

Kromosom hasil mutasi

0 1

0 0 1 0 1 1

Kromosom awal

Gambar 2.15 Mutasi Untuk Representasi Biner

2.15 Mutasi untuk Representasi Integer

(51)

1. Membalik nilai integer

Cara ini merupakan peluasan dari mutasi pada representasi biner. Sebagai contoh, jika nilai gen berada dalam interval , makagen bernilai 0 dibalik menjadi 9, gen bernilai 1 dibalik menjadi 8, dan seterusnya. Perhatikan

Gambar 2.16 Mutasi Untuk Representasi Integer Menggunakan

Pembalik Nilai Integer

2. Pemilihan nilai secara acak

Suatu gen yang terpilih untuk dimutasi nilainya diganti dengan gen baru yang dibangkitkan secara acak dalam interval nilai-nilai gen yang diizinkan. Misalkan, jika nilai-nilai gen dalan interval , maka gen baru yang dibangkitkan secara acak juga berada dalam interval . Nilai gen baru yang dihasilkan bisa saja dibatasi dengan aturan harus berbeda dengan nilai gen lama [SUY08]. Perhatikan ilustrasi berikut.

9

Gambar 2.17 Mutasi untuk representasi integer menggunakan pemilihan

(52)

2.16 Mutasi untuk Representasi Permutasi

Mutasi pada representasi permutasi harus menghasilkan kromosom yang valid. Sehingga, proses mutasi dilakukan dengan suatu cara tertentu yang menjamin kromosom hasil mutasi tetap valid. Ada banyak cara yang bisa digunakan, diantaranya adalah:

1. Mutasi pertukaran (Swap Mutation)

Pertama, pilih dua posisi gen secara acak. Kemudian tukarakan gen pada kedua posisi tersebut. Perhatikan gambar berikut.

3 8

1 5 2 7 6 4

Kromosom hasil mutasi Kromosom awal

3 5

1 8 2 7 6 4

Gambar 2.18 Mutasi untuk representasi permutasi (Swap mutation)

2. Mutasi penyisipan (Insert Mutation)

Pertama, pilih dua posisi gen secara acak. Misalkan posisi P1 dan P2. Kemudian

sisipkan gen posisi P2 setelah posisi P1. Perhatikan gambar berikut.

3 8

1 5 2 7 6 4

Kromosom hasil mutasi Kromosom awal

3 4

1 5 8 2 7 6

(53)

3. Mutasi pengacakan (Scramble Mutation)

Pertama, suatu segmen kromosom dengan memilih dua titik secara acak. Misalkan posisi T1 dan T2. Kemudian lakukan pengacakan posisi pada semua gen yang berada dalam segmen tersebut. Perhatikan gambar berikut.

3

Gambar 2.20 Mutasi Untuk Representasi Permutasi (Scramble Mutation)

4. Mutasi pembalikan (Invertion Mutation)

Pertama, suatu segmen kromosom dengan memilih dua titik potong secara acak. Misalakan posisi T1 dan T2. Kemudian lakukan pembalikan posisi semua gen yang berada dalam segmen tersebut. Perhatikan gambar berikut.

3

Gambar 2.21 Mutasi Untuk Representasi Permutasi (Inversion Mutation)

2.17 Regenerasi Populasi

(54)

1. Kromosom kromosom anak yang dihasilkan oleh persilangan dan mutasi, langsung menggantikan kromosom-kromosom terjelek dalam populasi. 2. Populasi baru dibentuk dari kromosom-kromosom yang dipilih dari gabungan

kromosom-kromosom induk dan kromosom-kromosom anak. Proses pemilihannya dapat dilakukan dengan menggunakan metode seleksi roulette whell atau dipilih secara acak. Cara regenerasi ini biasanya juga menerapkan metode elitis untuk menghindari hilangnya kromosom terbaik akibat tidak terpilih saat regenerasi.

2.18 Parameter Algoritma Genetika

Ada 3 parameter yang umum digunakan dalam algoritma genetika, yaitu:

1. Ukuran Populasi

Ukuran populasi menyatakan jumah kromosom yang ada dalam setiap generasi populasi. Dari generasi ke generasi, ukuran populasi harus dipertahankan tetap. Semakin besar ukuran populasi semakin besar pula domain pencarian yang berpotensi memberikan solusi yang diinginkan. Sisi buruk dalam hal tersebut antara lain adalah bahwa proses pencarian terjebak ke dalam kesia-siaan waku dan tenaga komputasi karena ada kemungkinan solusi teroptimal tidak berada dalam jelajah perluasan pencarian tersebut.

2. Probabilitas persilangan

(55)

yang memiliki nilai mutu yang lebih baik, tetapi jika terlalu besar akan memperlambat konvergensi proses pencarian.

3. Probabilitas mutasi

Parameter ini menyatakan perbandingan antara jumlah gen kromosom anak yang termutasi dengan jumlah seluruh gen dari seluruh kromosom anak. Probabilitas mutasi yang terlau besar juga akan memperlambat konvergensi proses pencarian.

2.19 Object Oriented Analysis and Design (OOAD)

Object oriented analysis adalah metode analisis yang memeriksa keperluan (requirements) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup permasalahan [ASU[1]].

Object oriented design adalah metode untuk mengarahkan arsitektur software

yang didasarkan pada manipulasi objek-objek sistem atau subsistem.

2.20 Objek

Objek (object) adalah benda, secara fisik ataupun konseptual. Hardware, software, dokumen dan manusia adalah beberapa contoh dari objek. Sebuah objek memiliki keadaan sesaat (state) dan prilaku (behavior) [ASU[1]].

State adalah kondisi objek yang menggambarkan objek tersebut, sedangkan

behaviour adalah suatu definisi tindakan dan reaksi suatu objek.

2.21 Kelas

(56)

adalah abstraksi dari entitas dalam dunia nyata. Objek adalah contoh (instance) dari sebuah kelas [ASU[1]].

2.22 UML (Unified Modeling Language)

UML merupakan model yang dapat digunakan secara luas dalam pemodelan bisnis, pemodelan perangkat lunak dari semua fase pembentukan dan semua tipe sistem, dan pemodelan secara umum dari berbagai pembentukan / konstruksi yang memiliki dua perilaku yaitu baik statis maupun dinamis [SOF[10]].

2.23 Sejarah UML

(57)

Di sini beberapa perusahaan yang berkontribusi pada UML 1.0, diantaranya Digital Equipment Corporation, Hewlett-Packard, I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Relational, Texas Instruments dan Unisys. Dari kolaborasi ini dihasilkan UML 1.0 yang merupakan bahasa pemodelan yang ditetapkan secara baik, kuat, dan cocok untuk lingkungan masalah yang luas. UML 1.0 ditawarkan menjadi standarisasi dari Object Management Group (OMG). Dan pada Januari 1997 dijadikan sebagai standar bahasa pemodelan.

Antara Januari–Juli 1997 gabungan group tersebut memperluas kontribusinya sebagai hasil respon dari OMG dengan memasukkan Adersen Consulting, Ericsson, ObjectTimeLimeted, Platinum Technology, Ptech, Reich Technologies, Softeam, Sterling Software dan Taskon. Revisi dari versi UML (versi 1.1) ditawarkan kepada OMG sebagai standarisasi pada bulan Juli 1997. Dan pada bulan September 1997, versi ini dierima oleh OMG Analysis dan Design Task Force (ADTF) dan OMG ArchitectureBoard. Dan Akhirnya pada Juli 1997 UML versi 1.1 menjadi standarisasi.

(58)

2.24 Tujuan Penggunaan UML

Memodelkan suatu sistem (bukan hanya perangkat lunak) yang menggunakan konsep berorientasi object. Dan menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh manusia maupun mesin [SOF[10]].

2.25 Gambaran dari UML

UML dapat dimanfaatkan untuk berbagai macam kebutuhan, diantaranya untuk melakukan pemodelan, visualisasi, spesifikasi, konstruksi dan dokumentasi.

2.26 UML sebagai Bahasa Pemodelan

UML merupakan bahasa pemodelan yang memiliki pembendaharaan kata dan cara untuk mempresentasikan secara fokus pada konseptual dan fisik dari suatu sistem. Contoh untuk sistem software yang intensive membutuhkan bahasa yang menunjukkan pandangan yang berbeda dari arsitektur sistem, ini sama seperti menyusun/mengembangkan software development life cycle. Dengan UML akan memberitahukan kita bagaimana untuk membuat dan membaca bentuk model yang baik, tetapi UML tidak dapat memberitahukan model apa yang akan dibangun dan kapan akan membangun model tersebut. Ini merupakan aturan dalam software development process.

2.27 UML sebagai bahasa Visualizing

(59)

ambigu. Hal ini akan mengurangi error yang terjadi karena perbedaan bahasa dalam komunikasi model konseptual dengan model lainnya. UML menggambarkan model yang dapat dimengerti dan dipresentasikan ke dalam model tekstual bahasa pemograman.

Dengan model UML maka kita dapat memodelkan suatu sistem web tersebut dan direpresentasikan ke bahasa pemrograman. UML merupakan suatu model eksplisit yang menggambarkan komunikasi informasi pada sistem. Sehingga kita tidak kehilangan informasi code implementasi yang hilang dikarenakan developer

memotong coding dari implementasi.

2.28 UML sebagai bahasa Specifying

Maksudnya membangun model yang sesuai, tidak ambigu dan lengkap. Pada faktanya UML menunjukan semua spesifikasi keputusan analisis, desain dan implementasi yang penting yang harus dibuat pada saat pengembangan dan penyebaran dari sistem software intensif.

2.29 UML sebagai bahasa Constructing

UML bukan bahasa pemograman visual, tetapi model UML dapat dikoneksikan secara langsung pada bahasa pemograman visual. Maksudnya membangun model yang dapat dipetakan ke bahasa pemograman seperti java, C++, VB atau tabel pada database relational atau penyimpanan tetap pada

(60)

2.30 UML sebagai bahasa Documenting

Maksudnya UML menunjukan dokumentasi dari arsitektur sistem dan detail dari semuanya. UML hanya memberikan bahasa untuk memperlihatkan permintaan dan untuk tes. UML menyediakan bahasa untuk memodelkan aktifitas dari perencanaan project dan manajemen pelepasan (release management).

2.31 Bagian-Bagian dari UML

Bagian-bagian utama dari UML adalah gambar, diagram, model element, dan

general mechanism.

2.32 View

View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi sejumlah diagram. Beberapa jenis view dalam UML antara lain: use case view, logical view, component view, concurrency view, dan deployment view.

2.33 Use case view

Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya.

View ini digambarkan dalam use case diagrams dan kadang-kadang dengan

(61)

2.34 Logical view

Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class,

object, dan relationship ) dan kolaborasi dinamis yang terjadi ketika object

mengirim pesan ke object lain dalam suatu fungsi tertentu. View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state, sequence,

collaboration, dan activity diagram untuk model dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang (developer).

2.35 Component view

Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administrative lainnya. View ini digambarkan dalam component view dan digunakan untuk pengembang (developer).

2.36Concurrency view

Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi (component dan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).

2.37 Deployment view

(62)

deployment diagrams dan digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).

2.38 Diagram

Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian dari suatu gambar tertentu dan ketika digambarkan biasanya dialokasikan untuk gambar tertentu. Adapun jenis diagram antara lain :

2.39Use Case Diagram

Menggambarkan sejumlah actors dan hubungannya ke usecase yang diberikan oleh sistem. Usecase adalah deskripsi fungsi yang disediakan oleh sistem dalam bentuk teks sebagai dokumentasi dari use case symbol namun dapat juga dilakukan dalam activity diagrams. Use case digambarkan hanya yang dilihat dari luar oleh actor (keadaan lingkungan sistem yang dilihat user) dan bukan bagaimana fungsi yang ada di dalam sistem.

2.40 Class Diagram

Menggambarkan struktur statis class di dalam sistem. Class

merepresentasikan sesuatu yang ditangani oleh sistem.

Class dapat berhubungan dengan yang lain melalui berbagai cara: associated

(terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed (satu class merupakan spesialisasi dari class lainnya), atau

(63)

2.41 State Diagram

Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa

object lain yang mengirim pesan. State class tidak digambarkan untuk semua

class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda.

2.42 Sequence Diagram

Menggambarkan kolaborasi dinamis antara sejumlah object. Kegunaanya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem [SOF[10]].

2.43 Collaboration Diagram

Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan object

dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence diagrams, tapi jika penekanannya pada konteks gunakan

collaboration diagram.

2.44 Activity Diagram

(64)

2.45 Component Diagram

Menggambarkan struktur fisik kode dari komponent. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view.

2.46 Deployment Diagram

Menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executeable component dan object

yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.

2.47 Area Penggunaan UML

UML digunakan paling efektif pada domain seperti :

1. Sistem Informasi Perusahaan

2. Sistem Perbankan dan Perekonomian 3. Bidang Telekomunikasi

4. Bidang Transportasi 5. Bidang Penerbangan 6. Bidang Perdagangan

7. Bidang Pelayanan Elekronik

(65)

9. Bidang Pelayanan Berbasis Web Terdistribusi

Namun UML tidak terbatas untuk pemodelan software. Pada faktanya UML banyak untuk memodelkan sistem non software seperti:

1. Aliran kerja pada sistem perundangan.

2. Struktur dan kelakuan dari Sistem Kepedulian Kesehatan Pasien 3. Desain hardware dll.

2.48 Rational Rose

Rational Rose adalah perangkat lunak yang memiliki perangkat-perangkat pemodelan secara visual untuk membangun solusi dalam rekayasa perangkat lunak dan pemodelan bisnis.

Rational Rose juga dapat didefinsikan sebagai tools pemodelan visual untuk pengembangan sistem berbasis objek yang handal untuk digunakan sebagai bantuan bagi para pengembang dalam melakukan analisis dan perancangan sistem. Rational rose mendukung permodelan bisnis yang membantu para pengembang memahami sistem secara komprehensif. Ia juga membantu analisis sistem dengan cara pengembang membuat diagram use case untuk melihat fungsionalitas sistem secara keseluruhan sesuai dengan harapan dan keinginan pengguna. Kemudian, ia juga menuntut pengembang untuk mengembangkan

(66)

Dalam Rational rose, pemodelan adalah cara melihat sistem dari berbagai sudut pandang. Ia mencakup semua diagram yang dikenal dalam UML, actor-aktor yang terlibat dalam sistem, use-case, objek-objek, kelas-kelas, komponen-komponen, serta simpul-simpul penyebaran. Model juga mendeskripsikan rincian yang diperlukan sistem dan bagaimana ia akan bekerja, sehingga para pengembang dapat menggunakan model itu sebagai blue print untuk sistem yang akan dikembangkan.

2.49 Fitur Rational Rose

Bahasa yang digunakan adalah bahasa pemodelan standar yaitu UML.

1. Rational Rose mendukung round-trip engineering sehingga kita dapat men-generate model kedalam kode (Java, C++, C#, Visual Basic, dan sebagainya) dan melakukan reverse engineering untuk menampilkan arsitektur sistem dari kode yang ada.

2. Model dan kode senantiasa singkron.

3. Mudah dalam memperbaiki perangkat lunak, karena kita dapat menggambarkan kembali arsitektur perangkat lunak tersebut dalam UML. 4. Tersedia Rational Rose untuk berbagai platform.

5. Memiliki Rose Web Publisher sehingga suatu tim dapat mengkomunikasikan model dan spesifikasinya dalam web browser.

6. Mendukung rekayasa perangkat lunak untuk sistem client server.

(67)

aneka feature pengembangan baru yang ditambahkan, serta alat-alat pengembangan (development tools) yang disediakan. Itulah cara jitu dalam pengembangan database (database developtment) pada SQL server 2005.

Setelah menyoroti berbagai sisi administrasi database SQL server 2005, kini kita mencoba mengupas kiat-kiat jitu (the best practices) dalam pengembangan database. Kita mulai dengan mengenal SQL Server 2005 dari sisi kepentingan seorang pengembang (developer).

2.50 Komponen SQL Server 2005

Tentu saja komponen-komponen SQL Server 2005 tidak berbeda, baik untuk kepentingan administrasi, maupun kepentingan pengembangan. Namun anda perlu selalu mengingatnya karena komponen-komponen inilah yang anda perlukan dalam membuat solusi DATABASE. Komponen-komponen ini adalah :

1. Relational Database Engine : komponen utama atau jantung SQL Server 2005.

2. Analysis Services : Basis dari solusi intelijen bisnis yang ampuh (powerful), dan mendukung aplikasi-aplikasi OLAP (online analytical

processing), serta data minning.

3. Data Transformation Service (DTS): sebuah mesin untuk membuat solusi ekspor dan impor data, serta untuk mentransformasi data ketika data tersebut ditransfer.

4. Notification Services: sebuah framework untuk solusi dimana pelanggan akan dikirimi notifikasi ketika sebuah event muncul.

(68)

6. Service broker: sebuah mekanisme antrian yang akan menangani komunikasi berbasis pesan diantara service.

7. Native HTTP Support: dukungan yang memungkinkan SQL server 2005 yang (jika diinstall pada Windows Server 2003) akan merespon request terhadap HTTP endpoint, sehingga memungkinkan pembangunan sebuah web service untuk SQL Server tanpa menggunakan IIS.

8. SQL server Agent : akan mengotomatiskan perawatan database dan mengatur task, event dan alert.

9. .NET CLR (Common Language Runtime): akan memungkinkan pembuatan solusi menggunakan managed code yang ditulis dalam salah satu bahasa .NET.

10. Replication: serangkaian teknologi untuk menjalin dan mendistribusikan data dan obyek database dari sebuah database ke database lain, dan melakukan sinkronisasi untuk menjaga konsistensinya.

11. Full-Text Search: memungkinkan pengindeksan yang cepat dan flexibel untuk query berbasis kata kunci (terhadap data teks yang disimpan dalam database).

2.51Pengertian C#

(69)

Gambar 2.22Komposisi Bahasa C#

2.52 Tinjuan Tempat Penelitian

2.52.1 Sejarah Singkat Perusahaan

Peraturan daerah kota Bandung nomor 13 tahun 2007 tentang

pembentukan dan susunan organisasi dinas daerah kota Bandung

Menimbangkan:

(70)

2) bahwa dalam rangka penyesuaian peraturan terhadap perundang-undangan sebagaimana pada huruf a dan sekaligus sebagai pelaksanaan reformasi birokrasi di Lingkungan Pemerintah Kota Bandung serta upaya mendukung peningkatan pelayanan publik maka perlu dilakukan penyesuaian susunan organisasi Dinas Daerah Kota Bandung; 3) bahwa berdasarkan pertimbangan sebagaimana dimaksud

dalam huruf a dan b, maka perlu membentuk Peraturan Daerah Kota Bandung tentang Pembentukan dan Susunan Organisasi Dinas Daerah Kota Bandung;

Mengingat :

Peraturan Daerah Kota Bandung Nomor 06 Tahun 2006 tentang Pemekaran dan Pembentukan Wilayah Kerja Kecamatan dan Kelurahan di Lingkungan Pemerintah Kota Bandung (Lembaran Daerah Tahun 2006 Nomor 06);

Pembentukan :

Dinas Kebudayaan dan Pariwisata Kota Bandung.

2.52.2 Tugas Pokok

(71)

2) Untuk melaksanakan tugas pokok sebagaimana dimaksud pada ayat (1) Pasal ini, Dinas Kebudayaan dan Pariwisata mempunyai fungsi : a. perumusan kebijakan teknis bidang kebudayaan dan pariwisata; b. penyelenggaraan sebagian urusan pemerintahan dan pelayanan umum di bidang kebudayaan dan pariwisata;

c. pembinaan dan pelaksanaan tugas di bidang kebudayaan dan pariwisata yang meliputi kebudayaan dan kesenian, sarana wisata, objek wisata dan pemasaran wisata;

d. pelaksanaan pelayanan teknis ketatausahaan Dinas;

e. pelaksanaan tugas lain yang diberikan oleh Walikota sesuai dengan tugas dan fungsinya.

2.52.3 Struktur Organisasi

dalam strukur organisasi dinas kebudayaan dan pariwisata kota Bandung yang di bentuk di tahun 2007 terdiri dari:

a. Kepala Dinas;

b. Sekretariat, membawahkan :

1. Sub Bagian Umum dan Kepegawaian; 2. Sub Bagian Keuangan dan Program.

c. Bidang Kebudayaan dan Kesenian, membawahkan : 1. Seksi Kebudayaan;

2. Seksi Kesenian.

(72)

2. Seksi Pengembangan Sarana Wisata. e. Bidang Objek Wisata, membawahkan : 1. Seksi Pembinaan Objek Wisata; 2. Seksi Pengembangan Objek Wisata.

f. Bidang Pemasaran Pariwisata, membawahkan : 1. Seksi Promosi Pariwisata;

2. Seksi Kerjasama Wisata. g. Unit Pelaksana Teknis Dinas; h. Kelompok Jabatan Fungsional.

(73)

2.52.4 visi dan misi

visi dinas pariwisata dan kebudayaan kota bandung : kota bandung sebagai kota tujuan wisata dan kota idaman

Misi Dinas Pariwisata dan Kebudayaan Kota Bandung :

1. Mendorong perwujudan Kota Bandung sebagai Kota Wisata dan Kota Seni Budaya;

2. Mendorong terwujudnya kondisi lingkungan yang kondusif untuk pengembangan kepariwisataan dan kebudayaan, serta pengembangan investasi;

3. Mendorong perwujudan potensi daerah dan masyarakat dengan memperkuat identiras kelokalan;

4. Meningkatkan Kualitas pelayanan dan kualitas aparatur; 5. Mendorong pengembangan kemitraan;

(74)

52

3.1 Analisis Sistem

Analisis sistem yang sedang berjalan merupakan penguraian dari suatu informasi yang utuh ke dalam bagian-bagian komponennya yang dimaksudkan untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.

Untuk memahami alur dari informasi dalam sistem, diperlukan pendokumentasian dalam merancang suatu aplikasi system pendukung keputusan rute optimal dengan metode algoritma genetik sehingga akan mempermudah tahap pengembangan sistem.

3.1.1 Analisis Masalah

(75)

3.1.2 Analisis Fungsional

Sebelum membangun sebuah program aplikasi, tahap pertama yang harus dilakukan mempelajari dan menganalisa sistem yang sedang berjalan. Analisis pemilihan rute menuju jalan tujuan saat ini akan digambarkan dalam activity diagram. Pemahaman terhadap sistem dilakukan dengan mempelajari bagaimana sistem tersebut berjalan.

3.1.2.1 Penentuan Rute Menuju Jalan Tujuan

Pribumi memberikan informasi kepada pendatang munuju jalan tujuan, pendatang menuju lokasi tujuan bila terdapat jalan menuju macet pendatang melakukan jalan anternatif atau pendatang melewati jalan yang macet

menberikan informasi jalan tujuan

berangkatan munuju jalan tujuan

(76)

3.1.2.2 Penyelesaian Masalah Dengan Menggunakan Metode Algoritma Genetik

Berikut adalah contoh kasus pencarian rute optimal yang akan dipecahkan dengan menggunakan algoritma genetika. Dalam kasus ini, akan dicari rute yang harus ditempuh dari jalan 1 ke jalan 4.

a

b

d

c 2

8

4

6 7

9

1

5

3

Gambar 3.2 Gambar Contoh Kasus Graf

(77)

Tabel 3.1Tabel Contoh Data Jalan

id_jalan nama_jalan Dari Ke Jarak (m) Kecepatan (km/jam) 1 Jln.Ahmad Yani b a 1050 12,32 2 Jln.Ahmad Yani a b 1050 12,32

3 Jln.ABC c b 420 9,32

4 Jln.ABC b c 420 9,32

5 Jln.Aceh c d 150 16,21

6 Jln.Aceh d c 150 16,21

7 Jln.Asia Afrika d b 400 10,34

8 Jln.Banda a d 300 14,34

9 Jln.Banda d a 300 14,34

Penyelesaian dengan algoritma genetika:

1. Inisialisasi Populasi

Pada saat inisialisasi populasi, algoritma genetika membangkitkan secara acak sejumlah individu sebagai suatu populasi.

(78)

n-1 2. Evaluasi individu

Setiap individu dievaluasi dengan cara menghitung nilai fitnessnya dengan menggunakan fungsi:

Dalam kasus ini, akan dicari nilai fitness dari jalan 1 ke jalan 4. K adalah kromosom yang dibangkitkan

K1  0,085 + 0,085 = 0,170 jam

K2  0,085 + 0.020 + 0.009 + 0,045 = 0,159 jam K3  0,085 + 0,020 + 0,020 + 0,085 = 0,210 jam

Gambar

Gambar 2.4 Kromosom Menggunakan Representasi Permutasi
Gambar 2.22 Komposisi Bahasa C#
Gambar 2.23 Struktur Organisasi Dinas Kebudayaan Dan
Gambar 3.1 Diagram Aktifitas Penentuan Rute Tujuan
+7

Referensi

Dokumen terkait

Algoritma Genetika merupakan salah satu teknik yang dapat dipilih untuk menyelesaikan permasalahan pemrograman tak linear tersebut, karena Algoritma Genetika merupakan

SISTEM INFORMASI GEOGRAFIS BERBASIS MOBILE UNTUK PENELUSURAN RUTE OPTIMAL TRANSPORTASI UMUM DI KOTA.. SURAKARTA DENGAN ALGORITMA

Setelah dilakukan implementasi dan pengujian, sistem dapat menghasilkan distribusi beban mengajar dengan metode algoritma genetika berdasarkan input matriks kompetensi

Simpan Rute Tampilan Rute Lokasi Awal Lokasi Akhir Pencarian Perempatan Segmen Jalan Yang Terpilih Segmen dengan Bobot Terkecil Rute Jadi Rute Optimal Mencari Rute Optimal User

dengan Algoritma Genetika (AG) untuk meminimumkan biaya total persediaan dengan kuantitas yang optimal. Algoritma Genetika dapat digunakan untuk menyelesaikan

Sesuai dengan alur proses penelitian, hasil keputusan DMG akan menjadi data input pada proses Algoritma Genetika yang merupakan tahapan selanjutnya.. Algoritma genetik

Untuk mengetahui parameter-parameter terbaik yang digunakan pada algoritme genetika agar mendapatkan solusi optimal, beberapa pengujian parameter dilakukan di dalam penelitian

Bab ini akan menguraikan mengenai penyelesaian permasalahan dengan menggunakan metodologi yang dipilih, pengujian dengan metode pencarian berbasis algoritma genetika