BAB III Metode Penelitian 3.1
Diagram Alir Penelitian Secara umum diagram alir algoritma genetika dalam penelitian ini terlihat
pada Gambar 3.1. pada Algoritma genetik memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetik, pembentukan kromosom baru serta seleksi seperti yang terjadi pada makluk hidup. Algoritma secara umum dapat diilustrasikan dalam diagram alir berikut ini :
44
http://digilib.mercubuana.ac.id/
Gambar 3.1 Diagram Alir Algoritma Genetik
Proses selanjutnya adalah proses seleksi, dimana setelah terbentuk populasi awal, maka selanjutnya hasil populasi awal itu akan diseleksi. Proses ini dilakukan untuk mendapatkan calon induk yang baik. Dalam pengertian induk yang baik akan menghasilkan keturunan yang baik. Semakin tinggi nilai fitness suatu individu 45
http://digilib.mercubuana.ac.id/
semakin besar kemungkinannya untuk terpilih. Metode seleksi yang akan digunakan dalam alogaritma genetik ini adalah metode roulette wheel selection. Seleksi roulette wheel akan memilih induk menggunakan persentase fitness setiap individu, dimana setiap individu mendapatkan luas bagian sesuai dengan persentase nilai fitnessnya. Cara kerja roulette wheel selection adalah seperti berikut : pertama-tama secara acak (random) akan dipilih sebuah nilai diantara 0 sampai 1, kemudian nilai tersebut akan dikalikan dengan nilai total fitness seluruh individu dalam generasi tersebut. Nilai hasil perkalian antara bilangan random dan total fitness tersebut dianggap sebagai titik yang ditunjuk oleh jarum pada roulette wheel. Untuk mendapatkan individu yang dipilih, maka fitness dari individu anggota – anggota generasi tersebut dijumlahkan mulai dari pertama sampai jumlah fitness tersebut melebihi nilai hasil perkalian antara bilangan random dan total fitness. Dengan demikian individu yang memiliki fitness yang tinggi akan mempunyai kesempatan lebih besar untuk terpilih, karena semakin besar nilai fitness suatu individu, maka semakin besar pula pengaruhnya terhadap penjumlahan fitness individu – individu dalam populasi tersebut. Setelah melakukan proses seleksi, maka hasil dari proses tersebut akan digunakan dalam proses crossover. Sebelum melakukan proses crossover dilakukkan pengundian dengan bilangan random untuk setiap kromosom, apakah kromosom tersebut mengalami crossover atau tidak. Jika dari proses pengundian menunjukkan bahwa terjadi crossover maka akan dibuat bilangan random lainnya untuk menentukan dimana crossover yang akan terjadi. Posisi crossover dipilih dengan batasan antara 0 hingga panjang komosom dan pada titik itulah maka crossover akan dilakukan antara dua kromosom dari kromosom ke-2 sampai pada posisi dimana crossover akan terjadi. Selanjutnya akan. Proses crossover sendiri dilakukan dengan menyalin isi kromosom parent 1 ke dalam kromosom offspring 1 dan isi kromosom parent 2 ke dalam kromosom offspring 2, mulai dilakukan penyalinan isi kromosom parent 2 ke dalam kromosom offspring 1 dan isi kromosom parent 1 ke dalam kromosom offspring 2, mulai dari kromosom yang letaknya tepat setelah posisi crossover sampai dengan panjang kromosom terpendek. Setelah proses crossover
46
http://digilib.mercubuana.ac.id/
dijalankan selalu dilakukan pengecekan apakah kromosom yang terkena crossover tersebut merupakan kromosom yang valid, dalam arti kromosom hasil crossover tersebut membentuk suatu rute. Jika terjadi pengulangan individu dalam kromosom, maka dilakukan proses normalisasi untuk membuat kromosom tersebut menjadi valid. Proses normalisasi menghapus individu yang berulang dan mengganti dengan individu yang terhilang dalam kromosom tersebut sehingga terbentuk suatu rute baru yang valid. Pada saat penyalinan kromosom dilakukan, kromosom tersebut dapat mengalami mutasi, yaitu perubahan isi kromosom, dimana isi dari kromosom tersebut digantikan dengan suatu nilai yang dipilih secara acak dari titik-titik yang ada. Proses pertama yang dilakukan adalah membangkitkan bilangan acak anatar 0 hingga 1 sejumlah kromosom yang ada. Setelah itu untuk melakukan mutasi dilakukan penelusuran setiap bilangan random yang telah dibangkitkan tersebut dan dibandingkan antara nilai random kromosom dengan peluang mutasi yang ditentukan dari awal dalam inisialisi nilai awal, jika nilai random yang ada lebih kecil atau sama dengan nilai peluang mutasi, maka kromosom tersebut akan mengalami mutasi. Setelah proses mutasi maka akan dilakukan lagi proses seleksi dan dilakukan pengecekan apakah proses keseluruhan telah selesai apa belum. Jika sudah selesai maka kita bisa menghitung nilai fitness. Jika nilai fitness semakin besar, maka sistem yang dihasilkan akan semakin baik. Kromosom dengan nilai fitness yang tinggi ini akan memberikan probabilitas yang tinggi untuk bereproduksi pada generasi selanjutnya. Sehingga untuk setiap generasi pada proses evolusi, fungsi fitness yang mensimulsikan seleksi alam, akan menekan populasi kearah fitness yang meningkat. Setelah diketahui nilai fitness yang teringgi maka akan terdapat rute yang kita pilih.
3.2
Pengkodean Individu Pengkodean adalah bagaimana mengkodekan gen dari kromosom, dimana gen
merupakan bagian dari kromosom. satu gen biasanya akan mewakili satu variabel. Agar dapat diproses melalui algoritma genetik, maka alternatif solusi tersebut harus dikodekan terlebih dahulu kedalam bentuk kromosom. Masing-masing
47
http://digilib.mercubuana.ac.id/
kromosom berisi sejumlah gen yang mengodekan informasi yang disimpan didalam kromosom. Gen dapat direpresentasikan dalam bentuk bit, bilangan real, daftar aturan, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan untuk operator genetika. Sedangkan untuk gambaran lebih jelasnya untuk alokasi penempatan eNode B wilayah DKI Jakarta dengan memberikan label A sampai R pada setiap eNode B. Dengan demikian maka kita bisa menentukan individu-individu yang menjadi pilihan rute dari eNode B asal O ke eNode B tujuan R.
Gambar 3.2 pemetaaan penempatan eNode B pada frekuensi 1800MHz dan 2300MHz
Selanjutnya, akan diperoleh tabel dimana didalam table tersebut di ketahui rute-rute mana saja yang akan dilewati dalam mencapai tujuan yang kita inginkann. Untuk lebih jelasnya dapat kita lihat pada Tabel 3.1 dibawah ini :
48
http://digilib.mercubuana.ac.id/
Tabel 3.1. Rute yang dilewati individu Individu 1 2 3 4 5 6 7 8 9 10 dsb 3.3
Rute O-A-E-G-Q O-B-C-H-Q O-B-M-D-Q O-I-J-M-P-Q O-K-M-P-Q-P-N-K-O O-A-E-G-Q-P-M-J-I-O O-B-C-H-Q-D-M-J-I-O O-B-M-D-Q-H-C-B-O O-I-J-M-P-Q-P-M-B-O O-K-M-P-Q-G-E-A-O
Penentuan Rute Awal ke Tujuan Sebuah rute, dapat didefinisikan sebagai urutan array dan dalam studi kasus
ini untuk menuju ketujuan yang akan dipilih. Pada algoritma genetika, langkah pertama yang harus dilakukan adalah melakukan penentuan lokasi mana yang akan menjadi tujuan. Dimana disini kita sudah menentukan titik asal dan tujuan yang inginkan. 3.3.1
Frekuensi 1800 MHz Dengan menggunakan frekuensi 1800 MHz ini adalah rute yang diambil dari
titik A ke Q : Individu 1 = O-A-E-G-Q Individu 2 = O-B-C-H-Q Individu 3 = O-B-M-D-Q Individu 4 = O-I-J-M-P-Q Individu 5 = O-K-M-P-Q Individu 6 = O-A-E-G-Q-P-M-J-I-O Individu 7 = O-B-C-H-Q-D-M-J-I-O
49
http://digilib.mercubuana.ac.id/
Individu 8 = O-B-M-D-Q-H-C-B-O Individu 9 = O-I-J-M-P-Q-P-M-B-O Individu 10 = O-K-M-P-Q-G-E-A-O 3.3.2
Frekuensi 2300MHz Dengan menggunakan frekuensi 2300 MHz ini adalah rute yang diambil dari
titik A ke Q : Individu 1 = O-A-E-G-Q Individu 2 = O-B-C-H-Q Individu 3 = O-B-M-D-Q Individu 4 = O-I-J-M-P-Q Individu 5 = O-K-M-P-Q Individu 6 = O-A-E-G-Q-P-M-J-I-O Individu 7 = O-B-C-H-Q-D-M-J-I-O Individu 8 = O-B-M-D-Q-H-C-B-O Individu 9 = O-I-J-M-P-Q-P-M-B-O Individu 10 = O-K-M-P-Q-G-E-A-O 3.4
Fitness Pada evaluasi individu dilakukan proses seleksi atas hasil nilai fitness dari
setiap kromosom, dari proses inilah dipilih individu terbaik dari sekumpulan populasi yang ada, yang nantinya individu terbaik dari kromosom terbaiklah yang mampu bertahan dan akan menjadi solusi atas permasalahan optimasi maupun minimasi dari suatu fungsi atau permasalahan yang ada. Fungsi ini bertujuan dalam menentukan kelayakan kromosom untuk dipelihara atau tidak. Nilai fitness yang tinggi sebagai
50
http://digilib.mercubuana.ac.id/
tolak ukir optimalitas solusi terhadap fungsi tujuan yang akan ditemukan. Evaluasi fitness dirumuskan sebagai berikut :
fungsi_objektif perlu ditambah 1 untuk menghindari kesalahan program yang diakibatkan pembagian oleh 0. Rumus untuk mencari probabilitas: P[i] = fitness[i] / total_fitness yaitu satu dibagi jarak rute yang dikunjungi Rumus fitness di atas merupakan rumus dalam menentukan rute optimum dari node asal ke node tujuan. Diharapkan diperolehkan rute yang seminimum mungkin. Berikut adalah aturan-aturan yang mengidentifikasikan bahwa permasalahan tersebut rute di asal ke tujuan 1. Dalam berkomunikasi dari titik asal ke titik tujuan tentunya akan kembali ke eNode B awal. 2. Ada kemungkinan rute ke tujuan setelah kembali belum tentu melewati rute sebelumnya. 3. Karena ada komponen MME maka, tentu ada individu yang melewati MME ada juga. 4. Tujuan penyelesaian permasalahan ini adalah mencari nilai optimum dengan meminimumkan jarak total rute yang dikunjungi dengan mengatur urutan kota. Misalnya di dalam individu menyatakan jalur yang ditempuh, dalam penentuan nilai maksimal dari F (x, y) individu menyatakan nilai (x, y). pada Gambar 3.6 diilustrasikan 2 kemungkinan jalur yang ditempuh dan bagaimana representasinya dalam individu.
51
http://digilib.mercubuana.ac.id/
Gambar 3.3 Kemungkinan jalur dan Representasikan dalam individu Dalam menentukan rute optimal harus mengetahui jalur asal yang akan ditempuh dalam mencapai ke tujuan. Jalur yang dicari adalah jalur yang terpendek dimana jalur itu yang akan dipilih. 3.5
Seleksi Proses selanjutnya adalah proses seleksi, dimana setelah terbentuk populasi
awal, maka selanjutnya hasil populasi awal itu akan diseleksi. Proses ini dilakukan untuk mendapatkan calon induk yang baik. Dalam pengertian induk yang baik akan menghasilkan keturunan yang baik. Semakin tinggi nilai fitness suatu individu maka semakin besar kemungkinannya untuk terpilih. Langkah pertama yang dilakukan dalam seleksi ini adalah pencarian nilai fitness. Nilai fitness ini yang nantinya akan digunakan pada tahap-tahap seleksi berikutnya. Masing-masing individu dalam wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nlai objektifnya sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut. Dalam skripsi ini penulis menggunakan metode seleksi dengan menggunakan metode Roullete Wheel selection. Roulete Wheel selection adalah seleksi berdasarkan kualitas individual. Semakin berkualitas individu semakin besar kemungkinan individu ini terpilih untuk menjadi anggota pada populasi yang baru. Metode seleksi dengan menggunakan metode Roullete Wheel ini merupakan metode yang paling sederhana dan sering
52
http://digilib.mercubuana.ac.id/
dikenal dengan menggunakan stochastic with replacement. Cara kerja metode Roullete Wheel Selection adalah sebagai berikut : 1. Secara acak (random) akan dipilih sebuah nilai diantara 0 sampai 1. 2. Dihitung nilai fitness dari masing-masing individu (fi dimana i adalah individu ke-1 s/d ke-n). 3. Kemudian nilai tersebut akan dikalikan dengan nilai total fitness semua individu dalam generasi tersebut. 4. Nilai hasil perkalian antara bilangan random dan total fitness tersebut dianggap sebagai titik yang ditunjuk oleh jarum pada roulette wheel. 5. Untuk mendapatkan individu yang dipilih, maka fitness dari individu anggotaanggota generasi tersebut dijumlahkan mulai dari pertama sampai jumlah fitness tersebut melebihi nilai hasil perkalian antara bilangan random dan total fitness. Dengan demikian individu yang memiliki fitness yang tinggi akan mempunyai kesempatan lebih besar untuk terpilih, karena semakin besar nilai fitness suatu individu, maka semakin besar pula pengaruhnya terhadap penjumlahan fitness individu- individu dalam populasi tersebut. Proses seleksi ini dilakukan dengan cara membangkitkan bilangan acak. Angka ini akan menjadi penunjuk individu mana yang terpilih dalam setiap kali iterasi. Sebagai contoh kita memiliki 5 iterasi dan masing-masing iterasi menghasilkan bilangan acak sebagai berikut:
53
http://digilib.mercubuana.ac.id/
Gambar 3.4 Ilustrasi Seleksi dengan metode Roullete Wheel [7] Suatu metode seleksi yang umum digunakan adalah Roullete Wheel (roda roulette). Sesuai dengan namanya, motode ini menirukan permainan roullete-wheel dimana masing-masing kromosom menepati potongan lingkaran ada rosa roulette secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness lebih besar akan menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom bernilai fitness rendah. Dibawah ini adalah contoh dari roulette wheel selection : Tabel 3.2 Contoh kromosm dengan nilai fitnessnya [7] Kromosom
Fitness
K1
1
K2
2
K3
0,5
K4
0,5
Jumlah
4
54
http://digilib.mercubuana.ac.id/
Gambar 3.5 Contoh penggunaan metode roulette wheel selection [7] Dilihat dari gambar K2 dengan nilai fitness paling besar, menempati potongan sebesar setengah lingkaran. Dengan demikian, K2 memiliki peluang sebesar 0,5 (Nilai fitness dibagi jumlah kromosom) untuk terpilih sebagai orang tua. Metode roulette wheel selection sangat mudah diimplementasikan dalam pemograman. Pertama, dibuat interval nilai kumulatif (dalam interval) dari nilai fitness masingmasing kromosom dibagi total nilai fitness dari semua kromosom Nilai fitness =
…………………………………………....…….(3.2)
Sebuah kromosom akan terpilih jika bilangan random yang di bangkitkan berada dalam interval akumulatifnya. Dapat dilihat pada tabel dibawah ini : Tabel 3.3 Contoh kromosm dengan nilai Interval Kromosom
Nilai Interval
K1
[0 ; 0,25]
K2
[0,25 ; 0,75]
K3
[0,75 ; 0,875]
K4
[0,875 ; 1]
Misalkan, jika bilangan random yang dibangkitkan adalah 0,6 maka kromosom K2 terpilih sebagai orang tua. Tetapi jika bilangan random yang dibangkitkan adalah 0,99 maka kromosom K4 yang akan terpilih.
55
http://digilib.mercubuana.ac.id/
3.6
Crossover Setelah melakukan proses seleksi, maka hasil dari proses tersebut akan
digunakan dalam proses crossover. Crossover merupakan salah satu operator dalam algoritma genetika yang melibatkan dua induk untuk menghasilkan keturunan yang baru. Pindah silang dilakukan dengan melakukan pertukaran gen dari dua induk secara acak. Sebelum melakukan proses crossover dilakukan pengundian dengan bilangan random untuk setiap kromosom, apakah kromosom tersebut mengalami crossover atau tidak. Jika dari proses pengundian menunjukkan dimana crossover akan terjadi. Posisi crossover dipilih dengan batasan antara 0 hingga panjang komosom dan pada titik itulah maka crossover akan dilakukan antara dua kromosom. Untuk lebih jelas dapat dilihat pada gambar 3.9 dibawah ini :
Gambar 3.6 Ilustrasi proses crossover [4] Proses crossover sendiri dilakukan dengan menyalin isi kromosom parent 1 ke dalam kromosom offspring 1 dan isi kromosom parent 2 ke dalam kromosom offspring 2, mulai dari kromosom ke-2 sampai pada posisi dimana crossover akan terjadi. Selanjutnya akan dilakukan penyalinan isi kromosom parent 2 ke dalam kromosom offspring 1 dan isi kromosom parent 1 ke dalam kromosom offspring 2, mulai dari kromosom yang letaknya tepat setelah posisi crossover sampai dengan panjang kromosom terpendek. Setelah proses crossover dijalankan selalu dilakukan pengecekan apakah kromosom yang terkena crossover tersebut merupakan kromosom yang valid, dalam arti kromosom hasil crossover tersebut membentuk suatu rute. Jika terjadi pengulangan individu dalam kromosom, maka dilakukan proses normalisasi untuk membuat kromosom tersebut menjadi valid. Proses
56
http://digilib.mercubuana.ac.id/
normalisasi menghapus individu yang berulang dan mengganti dengan individu yang terhilang dalam kromosom tersebut sehingga terbentuk suatu rute baru yang valid. 3.7
Mutasi Mutasi adalah proses untuk mengubah nilai dari satu atau beberapa gen dalam
suatu kromosom. Kromosom merupakan nilai suatu gen dari sebuah kromosom sehingga kromosom yang baru ini berbeda dengan kromosom yang lama. Sekumpulan kejadian dengan suatu nilai pelanggaran maksimal dapat dengan mudah dihilangkan selama evaluasi fitness “tujuan dari proses mutasi ini, untuk mempertahankan kehilangan permanent dari suatu bit atau gen”. Seluruh proses mutasi ini menjanjikan keuntungan melalui pengarahan mutasi kemana mutasi ini tersebut sangat dibutuhkan. Oprator mutasi digunakan untuk melakukan modifikasi satu atau lebih dari nilai gen dalam individu yang sama. Mutasi memastikan bahwa probabilitas untuk pencarian pada daerah tertentu dalam persoalan tidak akan pernah nol dan mencegah kehilangan total materi genetika setelah pemilihan dan penghapusan. Mutasi ini bukanlah operator genetika yang utama, yang dilakukan secara acak pada gen dengan kemungkinan yang lebih kecil. Metode ini disebut metasi gen (gene mutation) terdapat metode lain yaitu: “order mutation” dimana dimungkinkan untuk menghilangkan seluruh gen dari dua gen yang dipilih secara acak. 3.8
Penentuan Individu Setelah melakukan semua proses, maka dilakukan penentuan individu dengan
begitu kita bisa mendapathan hasil nilai fitness tertinggi. Setelah mendapatkan nilai fitness tertinggi berarti kita telah mendapatkan rute yang terpilih. Perhatikan studi kasus dibawah ini : Seorang salesman akan mengawali perjalanannya dari titik A untuk mengunjungi seluruh titik yakni dan kemabli lagi ke titik A. Perhatikan gambar berikut :
57
http://digilib.mercubuana.ac.id/
Gambar 3.7 Contoh rute menggunakan titik Dari studi kasus tersebut didapatkan salah satu kemungkinan jalur yang paling optimum dengan urutan rute A-E-F-C-D-B-A. Tentunya hasil tersebut dengan mempertimbangkan jarak dari masing-masing titik hingga menghasilkan kombinasi urutan dengan jarak yang optimum. Perhatikan gambar berikut :
Gambar 3.8 Contoh rute menggunakan jalur Pada dasarnya permasalahan pencarian jalur terpendek antar titik merupakan pencarian jalur terpendek yang telah diketahui koordinatnya. Dengan mengetahui konsep pencarian jalur terpendek antar titik, maka selanjutnya dapat diterapkan pada penacarian jalur terpendek pada berbagai titik yang ingin diketahui.
58
http://digilib.mercubuana.ac.id/