• Tidak ada hasil yang ditemukan

3.1. Analisis Sistem

Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang berorientasi pada objek – objek yang diperlukan oleh sistem yang dirancang, dimaksudkan untuk menitik beratkan kepada fungsionalitas sistem yang berjalan dengan tidak terlalu menitik beratkan kepada alur proses dari sistem. Selanjutnya dari hasil analisis ini divisualisasi dan didokumentasikan melalui diagram alir, diagram use case, dan sequence diagram. Pertimbangan penggunaan diagram tersebut karena dianggap mewakili secara keseluruhan sistem yang berjalan yang dapat dimengerti oleh user.

Untuk mendefinisikan bagaimana bentuk penjadwalan yang digunakan dalam Tugas Akhir ini, digunakan contoh permasalahan berikut ini :

Kita asumsikan dalam sebuah rute, terdapat 50 titik/node pada masing - masing algoritma, kemudian pada algoritmaGenetika dimasukkan input jumlah populasi sebanyak 10 dan mutasi sebesar 0,99. Sedangkan pada algoritma Simulated Annealing di input Temperatur sebesar 10 dan input Delta 0.99. Input yang dimasukkan dapat dirubah sesuai keinginan user, akan tetapi tidak melebihi batasan maksimal yang telah ditentukan. Maka langkah – langkah penyelesaian dapat dilakukan sebagai berikut :

1. Penyelesaian dengan Algoritma Genetika

a. Pengkodean, sebagai langkah awal dalam penggunaan algoritmagenetika. b. Populasi awal, hal ini dilakukan dengan menggunakan pembangkitan

bilangan secara acak.

c. Mendefinisikan Individu, dimana individu menyatakan salah satu solusi yang mungkin dari permasalahan tersebut.

d. Mendefinisikan Nilai Fitness, yang merupakan ukuran baik-tidaknya solusi yang didapatkan. Nilai fitness adalah fungsi tujuan dari optimasi pada algoritmagenetika.

e. Proses seleksi, proses seleksi digunakan untuk memilih individu terbaik dan memilih induk yang akan mengalami proses perkembangbiakan. f. Perkawinan Silang (Cross-Over), merupakan teknik dimana sepasang

kromosom diproduksi dengan meng-copy komplemen induk pada keturunan.

g. Mutasi, digunakan untuk me-modifikasi suatu kromosom agar menghasilkan perubahan kromosom yang random.

2. Penyelesaian dengan Algoritma Simulated Annealing a. Inisialisasi /bangkitkan solusi awal

b. Evaluasi fungsi objektif (fitness) c. OperasiMutasi

Berdasarkan langkah-langkah penyelesaian hasil analisa diatas, maka langkah berikutnya adalah membuat rancangan tampilan aplikasi yang merupakan awal atau landasan dari program yang akan dibuat dalam Tugas Akhir ini.

3.2. Rancangan Pr ogr am

Disini akan dibahas mengenai rancangan awal dari tampilan program yang akan dibuat. Rancangan disini hanya dibuat dengan sketsa tampilan awal program saja.

3.2.1. Rancangan Pr ogram Algor itma Simulated Annealing

Gambar 3.1. Rancangan awal tampilan program algoritmasimulated annealing Titik/cities

Temperatur

Delta

Start Proses

Dari gambar 3.1. diatas, maka dapat dijabarkan bahwa rancangan awal program ini hanya memasukkan 3 parameter yaitu node/titik/cities, Temperatur, dan Delta. Dimana masing-masing parameter, user dapat memasukkan sesuai keinginan,tetapi tidak melebihi batasan yg ditentukan. Sebagai contoh, user memasukkan nilai parameter titik/cities sebanyak 50, temperatur 10 dan delta 0,99.

Disini nilai Delta dibatasi maksimal senilai 0,99, Temperatur 100 dan titik/node/cities juga 100.

3.2.2. Rancangan Pr ogram Algor itma Genetika

algoritmaGenetika Jumlah Populasi Mutasi Titik/cities Start Proses Genetika

Gambar 3.2. menunjukkan rancangan awal program menggunakan algoritma genetika. Hampir sama dengan gambar 3.1. yang menunjukkan rancangan awal program menggunakan algoritma simulated annealing, pada gambar 3.2. juga memasukkan 3 parameter. Hanya saja perbedaan terletak di parameter jumlah populasi dan mutasi dimana di algoritma simulated annealing parameternya menggunakan temperatur dan delta, maka di algoritma genetika parameternya menggunakan jumlah populasi dan mutasi.

Pada algoritmagenetika ini juga, user dapat memasukkan nilai parameter sesuai keinginan. Dan seperti halnya simulated annealing, algoritma genetika juga diberi batasan nilai yang tidak boleh dilanggar oleh user. Seperti batasan nilai pada node/titik yang tidak melebihi 100, jumlah populasi maksimal 100 dan nilai mutasi kurang dari 0,99.

3.3. Flowchar t Pr ogr am menggunakan algor itma Simulated Annealing

3.4. Penjelasan Flowchar t Pr ogram

Setelah dibuat flowchart program dari masing-masing metode,maka selanjutnya akan coba dibahas flowchart kedua metode yaitu genetika dan simulated annealing.

3.5. Penjelasan Flowchar t Pr ogram Simulated Annealing

1. Start.

2. Menentukan nilai awal node sebanyak n node kurang dari 100 node. 3. Pembuatan node sebanyak n node.

4. Pengisian nilai Temperatur dan Delta.

5. For i = 0, Proses perloop dengan penginisialisasian i = 0.

6. Jika i lebih kecil city_count maka akan melakukan proses selanjutnya dan jika tidak maka i++, maka melakukan proses sebelumnya.

7. Pencarian node sebanyak n node dengan randomisasi.

8. Hasil yang dibutuhkan dalam waktu pencarian dengan randomisasi berkisaran waktu yang ditempuh.

3.6. Flowchar t Pr ogr am menggunakan algor itma Genetika

3.7. Penjelasan Flowchar t Pr ogram Genetika

1. Start.

2. Menentukan nilai awal node sebanyak n node kurang dari 100 node. 3. Pembuatan node sebanyak n node.

4. Pengisian nilai Jumlah Populasi dan Mutasi.

5. For i = 0, Proses perloop dengan penginisialisasian i = 0.

6. Jika i lebih kecil citylist.lenght maka akan melakukan proses selanjutnya dan jika tidak maka i++, akan melakukan proses sebelumnya.

7. Pencarian node sebanyak n node dengan randomisasi.

8. Hasil yang dibutuhkan dalam waktu pencarian dengan randomisasi berkisaran waktu yang ditempuh yang telah dikomputasi.

9. End.

3.8. Per ancangan Sistem

Perancangan sistem adalah suatu proses yang menggambarkan bagaimana suatu sistem dibangun untuk memenuhi kebutuhan pada fase analisis. Adapun tahap yang dilakukan dalam perancangan sistem ini membahas mengenai tujuan perancangan sistem, dan perancangan antar muka.

3.9. Tujuan Per ancangan Sistem

Perancangan sistem merupakan tindak lanjut dari tahap analisis. Perancangan sistem bertujuan untuk memberikan gambaran sistem yang akan dibuat. Dengan kata lain perancangan sistem didefinisikan sebagai penggambaran atau pembuatan sketsa dari beberapa elemen yang terpisah kedalam satu- kesatuan

yang utuh dan berfungsi. Selain itu juga perancangan bertujuan untuk lebih mengarahkan sistem yang terinci, yaitu pembuatan perancangan yang jelas dan lengkap yang nantinya akan digunakan untuk pembuatan simulasi. Aplikasi ini dibuat dengan sederhana, sehingga diharapkan user dapat dengan mudah menggunakan aplikasi ini.

Manfaat lain yang didapat dari perancangan sistem adalah apabila dalam proses implementasi terjadi hambatan, dapat dilakukan perancangan ulang sistem secara lebih mudah dengan demikian pengembang dapat menghemat waktu dan mereview kembali kelemahan dari desain sistem yang lama.

Maka dari uraian tersebut dapat disimpulkan bahwa perancangan sistem memegang peranan cukup penting selama proses pembuatan perangkat lunak dalam Tugas Akhir ini.

3.10. Simulasi Pener apan Algor itma Genetika

Berikut contoh persoalan rute yang diselesaikan dengan menggunakan algoritma genetika. Terdapat 7 buah kota yang akan dilalui oleh seorang pedangang keliling, misalnya Kota A,B,C,D,E,F,G. Perjalanan dimulai dari kota A dan berakhir di kota G. Jarak antar kota diperlihatkan pada graf di bawah ini:

Gambar 3.5. Gr af ABCDEFG

Persoalan Shortest Path tersebut akan diselesaikan dengan menggunakan algoritma genetika. Pemilihan nilai fitness yang terendah sebagai syarat karena nilai tersebut yang merepresentasikan jarak terdekat yang dicari pada persoalan ini. Ada 5 kota yang akan menjadi gen dalam kromosom yaitu kota-kota selain kota asal.

a. Inisialisasi

Misalkan kita menggunakan 5 buah populasi dalam satu generasi, yaitu : Kr omosom[1] = [B E C D F ]

Kr omosom[2] = [B C D E F ] Kr omosom[3] = [C B D E F ] Kr omosom[4] = [B D C E F ] Kr omosom[5] = [E B C D F ]

b. Evaluasi Kromosom

Kemudian kita akan menghitung nilai fitness dari tiap kromosom yang telah dibangkitkan pada langkah a di atas.

Fitness[1] = AB + BE +EC + CD + DF + FG = 134.54 + 156.20 + 266.27 + 76.16 + 193.13 + 50 = 876.30 Fitness[2] = AB + BC + CD + DE + EF + FG = 134.54 + 111.80 + 76.16 + 262.49 + 205.91 + 50 = 840.90 Fitness[3] = AC + CB + BD + DE + EF + FG = 196.47 + 111.80 + 131.53 + 262.49 + 205.91 + 50 = 958.20 Fitness[4] = AB + BD + DC + CE + EF + FG = 134.54 + 131.53 + 76.16 + 266.27 + 205.91 + 50 = 864.41 Fitness[5] = AE + EB + BC + CD + DF + FG = 202.24 + 156.20 + 111.80 + 76.16 + 193.13 + 50 = 789.53 c. Seleksi Kromosom

Oleh karena pada persoalan Shortest path yang diinginkan yaitu kromosom dengan fitness yang lebih kecil akan mempunyai probabilitas untuk terpilih kembali lebih besar maka digunakan inverse.

Q[i] = 1 / Fitness[i] Q[1] = 1 / 876.30 = 0,0011 Q[2] = 1 / 840.90 = 0,0012 Q[3] = 1 / 958.20 = 0,0010 Q[4] = 1 / 864.41 = 0,0011

Q[5] = 1 / 789.53 = 0,0013

Total = 0,0011 + 0,0012 + 0,0010 + 0,0011 + 0,0013 = 0,0057 Untuk mencari probabilitas kita menggunakan rumus berikut :

P[i] = Q[i] / Total P[1] = 0,0011 / 0,0057 = 0,193 P[2] = 0,0012 / 0,0057 = 0,210 P[3] = 0,0010 / 0,0057 = 0,175 P[4] = 0,0011 / 0,0057 = 0,193 P[5] = 0,0013 / 0,0057 = 0,228

Dari probabilitas di atas terlihat bahwa kromosom ke-5 memiliki fitness paling kecil oleh karena itu memiliki probabilitas untuk terpilih pada generasi selanjutnya lebih besar daripada kromosom lainnya.

d. Cr ossover

Titik awal yaitu kota A dibandingkan dengan kota-kota yang merupakan tetangga, yaitu kota B,C,D,E,F,G. Kemudian dilihat jarak terpendek dari kota A menuju ke beberapa kota tetangga. Dihasilkan penukaran terpendek diantara 5 Hop yaitu AB,AC,AD,AE,AF. Diantara 5 hop tersebut nilai yang kecil adalah AB. Maka A ditukar dengan B.

Lalu B dibandingkan lagi untuk mencari kromosom yang terpendek diantara C,D,E,F. Ditemukan C dengan nilai terkecil. Setelah itu C dibandingkan dengan D,E,F. Dihasilkan D dengan nilai terendah, lalu D

dibandingkan lagi dengan E dan F. Dihasilkan F dengan nilai minimum. Maka didapat kromosom [BCDF] dengan nilai fitness = AB + BC + CD + DF + FG = 134.54 + 111.80 + 76.16 + 193.13 + 50 = 565.63

Pada 1 generasi telah terlihat bahwa terdapat nilai fitness terkecil yang sedikit berubah, tetapi hal itu tidak menjadi masalah karena nilai fitness crossover tidak melebihi nilai fitness pada kromosom. Apabila perhitungan dilanjutkan hingga ke generasi ke-N maka diyakinkan bahwa nilai fitness yang terendah tetap tidak akan berubah. Walaupun perhitungan cukup dijabarkan hingga generasi ke-1 saja namun solusi yang mendekati optimal telah didapatkan.

3.11. Simulasi Pener apan Algor itma Simulated Annealing

Setelah pada bagian sebelumnya dibahas simulasi penerapan dengan algoritma Genetika, sekarang penulis mencoba pencarian rute terpendek dengan menggunakan algoritma Simulated Annealing. Contoh graf masih sama seperti pada gambar 3.5.

Misalkan kita menggunakan 5 buah Temperatur, yaitu : [1] = [B E C D F ]

[2] = [B C D E F ] [3] = [C B D E F ] [4] = [B D C E F ] [5] = [E B C D F ]

Evaluasi

Kemudian kita akan menghitung nilai Energi dari tiap Temperatur yang telah dibangkitkan pada langkah a di atas.

[1] = AB + BE +EC + CD + DF + FG = 134.54 + 156.20 + 266.27 + 76.16 + 193.13 + 50 = 876.30 [2] = AB + BC + CD + DE + EF + FG = 134.54 + 111.80 + 76.16 + 262.49 + 205.91 + 50 = 840.90 [3] = AC + CB + BD + DE + EF + FG = 196.47 + 111.80 + 131.53 + 262.49 + 205.91 + 50 = 958.20 [4] = AB + BD + DC + CE + EF + FG = 134.54 + 131.53 + 76.16 + 266.27 + 205.91 + 50 = 864.41 [5] = AE + EB + BC + CD + DF + FG = 202.24 + 156.20 + 111.80 + 76.16 + 193.13 + 50 = 789.53

Terlihat bahwa energi pada temperatur kelima yang merupakan energi paling rendah/minimum. Maka energi tersebut dijadikan solusi saat ini, kemudian dilakukan proses yang sama seperti diatas sampai ditemukan solusi baru yang lebih baik dari solusi sebelumnya. Tetapi jika tidak ditemukan/solusi sama, maka solusi tersebut yang dijadikan solusi aktif.

Dokumen terkait