10
IMPLEMENTASI ALGORITMA GENETIKA UNTUK OPTIMASI BIAYA PEMBANGUNAN RUMAH Akhmad Zaenal Mutaqin 1 , Bahrunur 2 , Christian Yonathan S 3 , Farid Amin Ridwanto 4 , Sri Muliany Boutu 5 Jurusan Ilmu Komputer Dan Elektronika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Gadjah Mada Abstrak Dalam Era global modern saat ini perkembangan dunia teknologi sangat pesat, terutama dalam bidang Teknologi. Algoritma genetika dapat digunakan untuk menyelesaikan masalah optimasi yang kompleks seperti Pemilihan Spesifikasi Komputer dan lain-lain. Dalam Makalah ini akan dijelaskan tentang penerapan Algoritma Genetika untuk mencari solusi yang terbaik dalam permasalahan optimasi biaya pembangunan rumah. Sistem algoritma ini di desain menggunakan representasi kromoson dalam bentuk integer. Sistem ini menggunakan metode seleksi Roulette Wheel, dengan Cross over metode satu titik random. Mutasi yang digunakan ialah menggunakan peluang mutasi. Dari hasil pengujian, dapat disimpulkan bahwa secara keseluruhan, algoritma genetika yang telah didisain dapat berjalan dengan baik dan dapat menyelesaikan permasalahan. Kata Kunci : Algoritma Genetik, Optimasi Biaya Rumah I. Latar Belakang Algoritma genetik adalah teknik pencarian yang di dalam ilmu komputer untuk menemukan penyelesaian perkiraan optimisasi dan masalah pencarian. Algoritma genetik adalah kelas khusus dari algoritma evolusioner dengan menggunakan teknik yang terinspirasi oleh biologi evolusioner seperti warisan, mutasi, seleksi alam dan rekombinasi (atau crossover). Dengan meniru evolusi ini algoritma genetika dapat digunakan untuk mencari solusi permasalahan dalam dunia nyata. Sebelum algoritma genetika dapat dijalankan, maka sebuah kode yang sesuai untuk persoalan harus dirancang. Untuk ini maka titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom yang terdiri atas komponen genetik terkecil yaitu gen. Dengan teori evolusi dari teori

Implementasi Algen Untuk Optimasi Pembuatan Rumah

Embed Size (px)

DESCRIPTION

Implementasi Algen Untuk Optimasi Pembuatan Rumah

Citation preview

Page 1: Implementasi Algen Untuk Optimasi Pembuatan Rumah

IMPLEMENTASI ALGORITMA GENETIKA UNTUK

OPTIMASI BIAYA PEMBANGUNAN RUMAH

Akhmad Zaenal Mutaqin1, Bahrunur2, Christian Yonathan S3,

Farid Amin Ridwanto4, Sri Muliany Boutu5

Jurusan Ilmu Komputer Dan Elektronika

Fakultas Matematika Dan Ilmu Pengetahuan Alam

Universitas Gadjah Mada

Abstrak

Dalam Era global modern saat ini perkembangan dunia teknologi sangat pesat, terutama dalam

bidang Teknologi. Algoritma genetika dapat digunakan untuk menyelesaikan masalah optimasi

yang kompleks seperti Pemilihan Spesifikasi Komputer dan lain-lain. Dalam Makalah ini akan

dijelaskan tentang penerapan Algoritma Genetika untuk mencari solusi yang terbaik dalam

permasalahan optimasi biaya pembangunan rumah. Sistem algoritma ini di desain menggunakan

representasi kromoson dalam bentuk integer. Sistem ini menggunakan metode seleksi Roulette

Wheel, dengan Cross over metode satu titik random. Mutasi yang digunakan ialah menggunakan

peluang mutasi. Dari hasil pengujian, dapat disimpulkan bahwa secara keseluruhan, algoritma

genetika yang telah didisain dapat berjalan dengan baik dan dapat menyelesaikan permasalahan.

Kata Kunci : Algoritma Genetik, Optimasi Biaya Rumah

I. Latar Belakang

Algoritma genetik adalah teknik

pencarian yang di dalam ilmu komputer

untuk menemukan penyelesaian perkiraan

optimisasi dan masalah pencarian.

Algoritma genetik adalah kelas khusus dari

algoritma evolusioner dengan menggunakan

teknik yang terinspirasi oleh biologi

evolusioner seperti warisan, mutasi, seleksi

alam dan rekombinasi (atau crossover).

Dengan meniru evolusi ini algoritma

genetika dapat digunakan untuk mencari

solusi permasalahan dalam dunia nyata.

Sebelum algoritma genetika dapat

dijalankan, maka sebuah kode yang sesuai

untuk persoalan harus dirancang. Untuk ini

maka titik solusi dalam ruang permasalahan

dikodekan dalam bentuk kromosom yang

terdiri atas komponen genetik terkecil yaitu

gen. Dengan teori evolusi dari teori

Page 2: Implementasi Algen Untuk Optimasi Pembuatan Rumah

genetika, di dalam penerapan algoritma

genetika akan melibatkan beberapa operator,

yaitu:

Untuk memeriksa hasil optimasi, kita

membutuhkan fungsi fitness, yang

menandakan gambaran hasil (solusi) yang

sudah dikodekan. Selama berjalan, induk

(parents) harus digunakan untuk proses

reproduksi, pindah silang, dan mutasi untuk

menciptakan keturunan (offspring). Jika

algoritma genetika didesain secara baik,

populasi akan mengalami konvergensi dan

akan mendapatkan sebuah solusi yang

optimum.

Secara sederhana algoritma umum

dari algoritma genetika dapat dirumuskan

menjadi beberapa langkah, yaitu:

Pembangkitan kromosom yaitu

membentuk suatu populasi

individual dengan keadaan acak.

Mendefinisikan fungsi fitness,

dimana fungsi fitness adalah fungsi

objektif yang menggambarkan

masalah optimasi.

Melakukan seleksi yaitu

mengevaluasi kecocokan setiap

individu dengan hasil yang

diinginkan dilanjutkan memilih

individu dengan kecocokan yang

tertinggi (fitness tertinggi).

Bereproduksi dengan mengadakan

persilangan antar individu

(crossover) terpilih diselingi dengan

mutasi (mutation)

Mengevaluasi individu hasil

reproduksi untuk dijadikan populasi

baru pada iterasi selanjutnya.

Mengulangi langkah 3 - 4 sampai

ditemukan individu dengan hasil

yang diinginkan.

II. Identifikasi Masalah

Permasalahan yang dikemukakan

oleh kelompok algortima genetika ini adalah

dalam bentuk kasus. Diharapkan dengan

penarapan algoritma genetika ke dalam

kasus ini disertai dengan implementasinya

pada program komputer dapat menemukan

solusi terbaik dalam waktu yang singkat.

Kasus yang dipermasalahkan adalah sebagai

berikut:

Untuk membangun sebuah rumah

memang diperlukan bahan-bahan yang

banyak, akan tetapi kami mengasumsikan

bahwa Tanah,Pasir dan

Semen,Lantai,Pintu,Jendela,dan Pekerja

merupakan bahan utama dalam proses

pembangunan sebuah rumah. Aplikasi yang

kami membuat adalah sebagai saran kepada

Customer bahan-bahan apa saja yang

optimal sehingga Customer dapat membeli

sesuai dengan budget yang Customer miliki.

Page 3: Implementasi Algen Untuk Optimasi Pembuatan Rumah

III. Tujuan Penulisan

Berdasarkan dari pembuatan dan

impementasi program yang telah dilakukan

makalah ini disusun dengan tujuan

menerapkan algoritma genetika untuk

membantu toko ini menyediakan solusi

terbaik dari permasalahan kasus pemilihan

bahan-bahan rumah.

IV. Metodologi

1. Teknik Pengkodean

Teknik pengkodean adalah

bagaimana mengkodekan gen dari

kromosom. Satu gen yang

mempresentasikan bagian dari

kromosom biasanya akan mewakili

satu variable. Gen dapat

direpresentasikan dalam bentuk bit,

real, daftar aturan, elemen permutasi,

elemen program, tree, atau

representasi lainnya yang dapat

diimplementasikan dalam operator

genetika. Pada kasus yang akan kita

bahas mengenai problem sebagai

berikut :

Sebuah toko bangunan menyediakan

bahan-bahan dalam pembangunan

rumah seperti Tanah, Pasir dan

Semen, Lantai, Pintu, Jendela, dan

Pekerja. Toko bangunan ini juga

menyediakan konsultasi Customer

yang berfungsi budget yang

Customer miliki bisa mendapatkan

apa saja bahan-bahan yang

disarankan oleh aplikasi ini. pada

studi kasus ini, kami menggunakan

representasi Integer. Nilai pada

setiap gen merupakan nilai kualitas

dari tiap-tiap bahan. Sehingga

contoh dari individu akan

direpresentasikan seperti dibawah ini

2. Fungsi Fitness

Nilai fitness adalah nilai yang

menyatakan baik tidaknya suatu

solusi (individu). Nilai fitness akan

dijadikan acuan dalam mencapai

nilai optimal dalam algoritma

genetika. Pada kasus ini, nilai

Fitness paling tinggi merupakan

solusi yang paling optimal karena

memiliki harga yang murah.

Rumus Fungsi fitness yang

digunakan adalah:

Setiap nilai pada gen akan hitung

berdasarkan (biaya dan kualitas).

Untuk biaya digunakan rumus yang

kanan. Untuk kualitas digunakan

rumus yang kiri. Targetnya adalah

dari nilai Fitness paling tinggi,

merupakan yang “sesuai” dengan

Page 4: Implementasi Algen Untuk Optimasi Pembuatan Rumah

harapan Customer paling murah.

Bukan berarti paling murah lantas

mendapatkan kualitas yang paling

rendah juga melainkan kualitas yang

istilahnya tidak buruk-buruk banget

kualitasnya. Dengan batasan juga

dipilih bahan-bahan sesuai

berdasarkan budget yang dimiliki

oleh Customer.

3. Membangkitkan Populasi Awal

Pembangkitan populasi awal adalah

proses pembangkitan sejumlah

individu secara acak atau melalui

prosedur tertentu. Pada kasus ini,

pembangkitan 10 individu dalam 1

populasi. Dimana 10 individu

tersebut merupakan bahan-bahan

yang sudah dipilih berdasarkan total

biaya yang kurang dari budget

Customer. panjang dari individu

adalah 6 gen. maka gambaran dari

pembangkitan populasi awal sebagai

berikut :

Tabel 1. Contoh Pembangkitan

Individu Awal dimana budget

Customer 4000.

Nilai setiap gen berasal dari nilai kualitas

bahan. Adapun range kualitas sebagai

berikut:

Nilai kualitas Tanah memiliki range

1 hingga 7.

Nilai kualitas Pasir dan Semen

memiliki range 1 hingga 7.

Nilai kualitas Lantai memiliki range

2 hingga 8.

Nilai kualitas Pintu memiliki range 3

hingga 9.

Nilai kualitas Jendela memilki range

2 hingga 8.

Nilai kualitas Pekerja memilki range

3 hingga 9.

Tanah Pasir Lantai Pintu Jendela Pekerja Total

Harga

1 3 4 6 2 8 3090

3 2 5 3 5 5 3535

1 4 8 5 6 8 2825

4 5 4 3 7 3 3710

2 5 2 4 5 5 3280

1 4 4 8 3 3 2930

1 5 8 5 3 5 3225

1 4 5 4 3 9 3105

3 2 7 5 2 5 3925

1 3 3 3 2 3 2635

Page 5: Implementasi Algen Untuk Optimasi Pembuatan Rumah

4. Seleksi

Seleksi digunakan untuk memilih

setiap individu mana saja yang akan

dipilih untuk proses crossover dan

mutasi. Seleksi digunakan untuk

mendapatkan calon induk yang baik.

Pada kasus yang dibahas ini, kami

menggunakan metode seleksi Roda

Roulette (Roulette Wheel). Tahapan

yang dilakukan selesi Roulette Wheel

adalah :

1) Perhitungan nilai fitness (fk) dari

masing masing individu, dari

individu pertama hingga

individu ke n.

2) Perhitungan total fitness (⅀fk)

semua individu.

3) Perhitungan probabilitas seleksi

(pk) setiap individu, dimana pk =

��

⅀��

4) Mengacak suatu bilangan 0

sampai 1 [0,1].

5) Memilih individu dimana

bilangan random itu berada

sebagai parent.

6) Lakukan langkah 4 – 5

sebanyak jumlah individu dalam

populasi.

5. Pindah Silang (Cross Over)

Pindah Silang adalah operator dari

algoritma genetika yang melibatkan

dua induk untuk membentuk

kromosom baru. Operasi ini tidak

selalu dilakukan pada semua

individu yang ada. Individu dipilih

secara acak untuk dilakukan crossing

dengan Pc antara 0,6 – 0,95. Jika

pindah silang tidak dilakukan, maka

nilai dari induk akan diturunkan

kepada keturunan. Namun pada

implementasi algoritma genetika ke

dalam program, kami

membangkitkan nilai random

sebanyak 10 lalu nilai tersebut

berada pada segmen Roulette Wheel

ke berapa. Lalu ambil individu baru

sebagai Parent berdasarkan nilai

random yang terpilih. Lalu seleksi

lagi dimana nilai Pc yang kurang dari

0.7. sisanya itulah sebagai individu

baru yang digunakan untuk Cross

Over dan mutasi.

Kelompok kami menggunakan Cross

Over satu titik dimana titik yang

akan dilakukan CO merupakan titik

random sebanyak jumlah individu

yang ada setelah dilakukan seleksi

individu yang kurang dari Pcnya 0.7.

6. Mutasi

Mutasi berperan untuk menggantikan

gen yang hilang dari populasi akibat

proses seleksi yang memungkinkan

Page 6: Implementasi Algen Untuk Optimasi Pembuatan Rumah

munculnya kembali gen yang tidak

muncul pada inisialisasi populasi.

Kromosom yang mengalami mutasi

memiliki probabilitas yang sangat

rendah. Peluang mutasi (pm)

didefinisikan sebagai presentasi dari

jumlah total gen pada populasi yang

mengalami mutasi. Jadi banyaknya

individu yang mengalami mutasi

ditentukan oleh besarnya probabilitas

mutasi.

Pada program, kami menggunakan

peluang mutasi (pm/mutation rate)

sebesar 0,05. dan mutasi multipoint.

Maka jumlah titik yang akan

dimutasi adalah

PanjangGen*JumlahIndividuAwal*P

m. maka didapatkan 6*10*0.05 = 3

titik yang dapat dilakukan mutasi.

Dimana titik mutasi random

berdasarkan jumlah individu yang

ada setelah dilakukan CO. pergantian

nilai yang dimutasi, diganti juga nilai

kualitas pada tiap bahan dimana nilai

yang pilihpun secara random juga.

7. Seleksi Survivor

Untuk mendapatkan populasi baru

pada iterasi selanjutnya, maka

dilakukan seleksi survival. Pada

kasus yang kita bahas metode yang

digunakan adalah metode elitism,

yaitu pemilihan individu yang

memiliki fitness yang paling baik di

dalam satu populasi. Seleksi survivor

elitsm tidak menambah atau

mengurangi jumlah individu awal

sejak pembangkitan populasi, jadi

populasi akan memiliki jumlah

individu yang selalu tetap untuk

setiap iterasinya. Jika pada

pembangkitan populasi awal

menggunakan 10 individu, setelah

dilakukan CO dan mutasi hanya

tersisa 5 individu saja maka ada 15

individu setelah itu dipilihlah hanya

10 individu yang memiliki fungsi

fitness paling tinggi. 10 individu

yang terpilih tadi, akan digunakan

untuk tahap 2 hingga 7.

V. Hasil dan analisa

Pada kasus ini, kami menggunakan

bahasa pemrograman Java dengan

database Mysql. Editor yang

digunakan Netbeans versi 7.4.

Customer menginputkan budget

yang dimiliki, setelah itu jumlah

iterasi yang inginkan.

Page 7: Implementasi Algen Untuk Optimasi Pembuatan Rumah

Gambar 1. UI Aplikasi

Gambar 2. Pembangkitan Individu Acak

Gambar 2 merupakan hasil “saran”

dari aplikasi saat bagian

pembangkitan individu acak dimana

bahan-bahan jika total semuanya <

4500. Setelah itu proses seleksi

dengan roude roullete.

Gambar 3. Proses Roude Roullte

Setelah dilakukan proses CO seperti

gambar dibawah ini

Page 8: Implementasi Algen Untuk Optimasi Pembuatan Rumah

Gambar 4. Proses Crossover

Lakukan perhitungan berdasarkan

nilai fitnessnya tadi, setelah itu

dilakukan mutasi

Gambar 5. Proses Mutasi

Setelah itu lakukan perhitungan

dengan nilai fitness lagi.

Lakukan update generasi dengan

menggabungkan antara 10 individu

awal dan jumlah individu sesudah

mutasi,maka pada gambar dibawah

ini.

Gambar 6. Proses Gabungan Individu

Awal dengan Mutasi

Setelah itu dilakukan pensortingan

berdasarkan nilai fitness paling tinggi seperti

pada gambar dibawah ini

Page 9: Implementasi Algen Untuk Optimasi Pembuatan Rumah

Gambar 7. Proses Pensortiran berdasarkan

Nilai Fitness Tertinggi. Setelah dilakukan

proses berulang-ulang hingga iterasi yang telah

diinputkan maka hasil akhirnya seperti dibawah

ini

Pada baris pertamalah merupakan solusi optimal

yang dihasilkan.

VI. Kesimpulan

Dari hasil implementasi algoritma

genetika dalam pemilihan bahan-bahan

rumah dapat disimpulkan sebagai

berikut :

1. Proses yang dikerjakan terdiri atas proses

perancangan algoritma genetika dan proses

implementasi algoritma genetika ke dalam

bahasa pemrograman.

2. Nilai fitness pada masing masing individu

sangat dipengaruhi oleh kualitas barang

yang dipilih dengan batasan total harga

barang yang dipilih tidak melebihi budget

pembeli.

3. Pembangkitan individu awal pun sudah

berdasarkan total harga kurang dari uang

input customer.

4. Seleksi dilakukan dengan menggunakan

metode Roulette Wheel.

5. Crossover dilakukan dengan menggunakan

crossover 1 titik, dimana titik dipilih secara

random. Dengan Pc 0.7.

6. Mutasi dilakukan dengan mengganti gen

terpilih dengan angka random. Dilakukan

dengan mutation rate sebesar 5%.

7. Seleksi survivor dilakukan dengan metode

elitsm dimana individu yang terbaik yang

akan diambil menjadi populasi baru dengan

jumlah populasi mengikuti jumlah populasi

awal.

8. Solusi untuk kasus adalah satu buah individu

terbaik dimana ia memiliki fitness tertinggi

pada akhir iterasi.

9. Dengan uang yang diinputkan customer

sebesar 4000 dan iterasi sebanyak 10 kali

maka solusi yang ditemukan seperti dibawah

ini.

Page 10: Implementasi Algen Untuk Optimasi Pembuatan Rumah

VII. Saran

Melalui makalah ilmiah ini, setelah

melakukan implementasi algoritma genetika

pada kasus yang baru saja diselesaikan, penulis

menyadari manfaat dari implementasi algoritma

genetika dalam kehidupan sehari hari hingga ke

dunia bisnis dan pendidikan. Algoritma genetika

dapat mencari solusi terbaik dari persoalan yang

memiliki kemungkinan jawaban yang sangat

banyak, dimana jika dilakukan secara manual

akan membutuhkan waktu, usaha, dan biaya

yang tidak sedikit.

Dengan melihat potensi besar dari hasil

implementasi algortima genetika ini, maka

penulis menyarankan pihak terkait seperti

kalangan akademisi, praktisi keilmuan, dan

pemerintah, bahkan untuk dunia perbisnisan

untuk semakin mengembangkan penggunaan

implementasi algoritma genetika pada beberapa

kasus yang dimilikinya.

VIII. Referensi

[1]. http://id.wikipedia.org/wiki/Algoritma_genetik

[2]. http://black59.blogspot.com/2013/06/genetic-algorithm-ga.html

[3]. https://www.scribd.com/doc/248018580/Pengertian-dan-proses-Algoritma-Genetika-GA