BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Kinerja Algoritma Genetika
Pada penelitian ini akan dilakukan analisis dan perancangan perangkat lunak yang dapat menghasilkan tata ruang rumah dengan menggunakan algoritma genetika.
Proses penentuan tata letak ruang didasarkan pada nilai fitness yang dimilikinya. Penentuan tata letak ruang ini melalui proses crossover dan mutasi yang berusaha
untuk menghasilkan nilai fitness yang tertinggi. Dalam pendekatan algoritma genetika diawali dengan pembuatan himpunan
solusi baru initialization yang di tempatkan pada penampungan populasi dilakukan evaluasi terhadap inisialisasi atau solusi. Proses setiap pemilihan kromosom, baik
induk, proses crossover, maupun mutasi dilakukan secara random. Apabila solusi tersebut bukan merupakan solusi optimal, kemudian dilakukan proses reproduksi
reproduction dengan memiliki individu-individu yang akan dikembangbiakan. Penggunaan operator-operator genetik seperti crossover dan mutasi terhadap
individu yang terpilih dalam penampungan individu akan menghasilkan keturunan atau generasi baru. Setelah proses evaluasi untukperbaikan populasi, maka generasi-
generasi baru akan menggantikan himpunan populasi awal. Proses pencarian solusi juga menggunakan pencarian acak, ini terlihat pada proses pembangkitan populasi
awal yang menyatakan sekumpulan solusi yang dipilih secara acak.
3.2 Data yang digunakan
Data yang digunakan dalam penelitian ini merupakan data simulasi pada perencanaan Komplek Perumahan Adya Tama di Kota Langsa, Aceh. Data berupa
inputan berupa panjang dan lebar sebagai data dalam setiap bidang maupun setting parameter algoritma genetika yang diinginkan untuk proses pencarian solusi dalam
penentuan tata letak ruang.
3.3 Proses Algoritma Genetika dalam Penentuan Tata Letak Ruang
Algoritma genetika bekerja dengan menggunakan pendekatan random, sehingga nilai-nilai yang dihasilkan adalah nilai random. Pada kasus penentuan tata ruang
dengan model genetika nilai random hanya diberikan pada penentuan gen ruang pada setiap individu, sedangkan nilai luas lahan, arah rumah, lebar jalan dan ukuran
halaman, serta ukuran tiap ruang diberikan secara manual. Semakin banyak ruang yang diperlukan maka akan semakin banyak iterasi yang dilakukan. Hal tersebut
dikarenakan diperlukan suatu nilai yang sesuai agar mendapatkan kombinasi yang tepat dari variabel ruang. Semakin banyak iterasi yang dilakukan, maka waktu yang
dibutuhkan akan semakin lama. Oleh karena itu maka penyelesaian masalah penentuan tata ruang ini akan
diselesaikan melalui dua tahap. Tahap pertama adalah mengkombinasikan gen-gen pembentuk suatu kromosom. Pada tahap pertama diselesaikan dengan menggunakan
algoritma genetika dan tahap ini diselesaikan terlebih dahulu. Tahap kedua adalah menempatkan ruang pada denah yang telah diproses sebelumnya dan pada tahap ini.
3.3.1 Inisialisasi Kromosom
Inisialisasi kromosom direpresentasikan dalam bentuk larik dengan tipe data record yang berisi panjang dan lebar ruang dalam penentuan tata letak ruang. Panjang
kromosom adalah sebanyak jumlah ruang yang dilakukan proses penentuan tata letak ruang dalam setiap individu, dalam setiap gen yang berupa ruang mempunyai nilai
kriteria penempatan, yaitu kolom ruang dan baris ruang. Sebagai pedoman untuk membuat tatanan ruang-ruang berdasarkan aktivitas
diletakkan berdasarkan sifat dan karakternya masing-masing, bisa dilihat pada
diagram berikut. Pola zonasi ruang berdasarkan aktivitas menurut Suparman dapat dilihat pada Gambar 3.1 :
Area Pelayanan Area Pemukiman
Area Peristirahatan Dapur
Garasi Gudang
Ruang Tamu Ruang Keluarga
Ruang Dapur Kamar Tidur Utama
Kamar Mandi Kamar Tidur Anak
Gambar 3.1 Pola Zonasi Ruang Beradarkan Aktivitas Sumber : Suparman, 2012
Berdasarkan arah pencapaian utama dan pengelompokkan hak akses pada setiap rumah memiliki 3 pengelompokan antara lain :
Gambar 3.2 Pola Zonasi Ruang Berdasarkan Hak Akses
Pengklasifikasian zona ruang menggunakan koordinatx mempunyai 3 range seperti pada Tabel 3.1a dibawah.
Tabel 3.1.a Range Zona Ruang Koordinat x
Kriteria
1 Privat
2 Semi Privat
3 Publik
Pengklasifikasian letak ruang menggunakan koordinaty mempunyai 3 range seperti pada Tabel 3.1b dibawah.
Tabel 3.1.b Range Letak Ruang Koordinat y
Kriteria
1 Belakang
2 Tengah
3 Depan
Seperti yang kita ketahui, topologi konstrain memungkingkan menentukan adjacent
antara satu ruang dengan ruang lainnya, pada kasus ini adjacent ditentukan berdasarkan baris susunan ruang. Tidak adanya tumpang tindih antar ruang menjadi
tujuan utama, oleh karena itu, diharapkan penentuan tata letak ruang dilakukan berdasarkan pola zonasi sehingga menghasilkan beberapa konstrain berikut ini:
Ruang Tidur Anak berbatasan dengan Ruang Tamu Ruang Tamu berbatasan dengan Garasi
Kamar Mandi berbatasan dengan Ruang Keluarga Ruang Keluarga berbatasan dengan Dapur
Ruang Tidur Utama berbatasan dengan Ruang Makan Ruang Makan berbatasan dengan Gudang
Ruang Tamu, Ruang Keluarga dan Ruang Makan berupa ruang pengikat
karena mempunyai sifat semi privat. Ruang Tidur Anak, Ruang Tidur Utama, dan Kamar Mandi terletak
disebelah timur bangunan jika arah rumah menghadap ke arah utara. Ruang Tidur Anak, Ruang Tidur Utama, dan Kamar Mandi akan bertukar
posisi dengan Garasi, Dapur, dan Gudang jika arah rumah berubah menghadap ke selatan.
Setiap ruangan harus berhimpitan. Tidak ada luas bangunan yang terbuang.
Dengan adanya pengelompokan ruang berdasarkan aktifitas dan hak akses menggunakan diagram gelembung serta topologi konstrain dapat diperoleh matriks
yang berupa hubungan antar setiap ruang sebagai berikut:
Gambar 3.3 Matriks Hubungan Antar Ruang
Luas lahan yang digunakan dalam penentuan tata letak seluas 120m
2
. Tabel 3.2 dibawah ini merupakan pengelompokan kromosom dengan sample 9 gen
dengan 3 kolom yang merupakan panjang kromosom dan akan ditempatkan dalam 3 baris. Inisialisasi kromosom menggunakan bilangan real untuk mempermudah
perhitungan. Parameter yang digunakan yakni panjang ruang dan lebar ruang.
Tabel 3.2 Inisialisasi Kromosom No
Nama Ruang Panjang
Lebar
1 Kamar Utama
4 4
2 Kamar Anak
3 4
3 Kamar Mandi
3 3
4 Ruang Tamu
4 3
5 Ruang Keluarga
4 4
6 Ruang Makan
4 3
7 Garasi
4 4
8 Dapur
4 3
9
Gudang 2
2
Setelah dilakukan penyimpanan data record panjang dan lebar pada setiap ruang diatas maka proses selanjutnya adalah penempatkan kromosom pada tiap
individu dengan menggunakan nilai masukan yang diberikan oleh user yang ditunjukkan pada gambar 3.2.
Individu 1
Nama Ruang
Ruang Tamu R. Keluarga
Kamar Mandi
Panjang
4 4
3
Lebar
3 4
3
Individu 2
Nama Ruang Garasi
Ruang Makan Gudang
Panjang 4
4 2
Lebar
4 3
2
Individu 3
Nama Ruang
Kamar Anak Dapur
Kamar Utama
Panjang
3 4
4
Lebar 4
3 4
Gambar 3.4 Ilustrasi Inisialisasi dan Penempatan Kromosom
3.3.2 Fungsi Fitness
Individu-individu dalam populasi telah terbentuk, maka langkah selanjutnyaadalah menghitung nilai fitness setiap individu. Proses seleksi dilakukan dengan cara
random dari gen.
Untuk fitness setiap kromosom dihitung sebagai ruang terbuang yang berada pada bingkai bidang setelah ruang ditempatkan dalam bingkai bidang.
1
Dimana y mewakili nilai dari lebar bidang, x mewakili nilai dari panjang bidang dan a adalah luas total dari masing - masing bidang.
Dari gambar 3.1 dan gambar 3.3 dapat dihitung nilai Fitness Area dari tiap gen terpilih dengan menggunakan panjang dan lebar ruang dan membandingkan
zona dan letak awal dengan zona dan letak tujuan. Tabel 3.3 berikut ini merupakan gen
yang terpilih dari setiap individu.
Tabel 3.3 Calon Induk Terpilih Individu
Nama Ruang
1 Ruang Tamu
2 Garasi
3 Kamar Anak
Perhitungan Fitness Ruang Tamu : Kriteria Awal
: Zona Publik dan Letak Tengah Kriteria Tujuan
: Zona Semi Publik dan Letak Depan Fitness Area Zona
= 1 = 1
– = 1
– 0,5 = 0,5
= 50 Fitness Area Letak
= 1 = 1
– = 1
– 0,45 = 0,55
= 55
Fitness Area Ruang Tamu = Fitness Zona + Fitness Letak 2
= 50 + 55 2 = 52,5
Perhitungan Fitness Garasi : Kriteria Awal
: Zona Publik dan Letak Tengah Kriteria Tujuan
: Zona Publik dan Letak Depan Fitness Area Zona
= 1
= 1 –
= 1 – 1
= 0 = 0
Fitness Area Letak = 1
= 1 –
= 1 – 0,6
= 0,4 = 40
Fitness Area Garasi = Fitness Zona + Fitness Letak 2
= 0 + 40 2 = 20
Perhitungan Fitness Kamar Anak : Kriteria Awal
: Zona Publik dan Letak Belakang Kriteria Tujuan
: Zona Privat dan Letak Depan Fitness Area Zona
= 1 = 1
– = 1
– 0,25 = 0,75
= 75 Fitness Area Letak
= 1 = 1
– = 1
– 0,4 = 0,6
= 60
Fitness Area Kamar Anak = Fitness Zona + Fitness Letak 2
= 75 + 60 2 = 67,5
Tabel 3.5 Nilai Fitness Area Gen Calon Induk dari setiap Individu
Individu Nama Ruang
Fitness
1 Ruang Tamu
52,5 2
Garasi 20
3 Kamar Anak
67,5
3.3.3 Seleksi
Seleksi mempunyai peranan penting dalam algoritma genetika, karena pada proses ini dipilih induk yang digunakan untuk menghasilkan individu baru. Seleksi yang
digunakan adalah seleksi roda roulette Roulette Wheel Selection. Pada seleksi roda roulette
, semakin tinggi nilai fitnessmaka semakin besar kemungkinan untuk terpilih menjadi induk.Rumus untuk mencari probabilitas adalah sebagai berikut:
P[k] = fitness[k] total_Fitness 2
Untuk proses seleksi roulete wheel, kita harus mencari terlebih dahulu nilaikumulatif probabilitasnya. Setelah dihitung cumulative probabilitasnya maka
proses seleksi menggunakan roulette wheeldapat dilakukan. Dengan menggunakan tabel 3.4 dapat digambarkan proses seleksi yang terjadipada tiap individu. Metode
yang digunakan yakni roulette wheel selection. Pada tabel 3.6 dapat diketahui nilai probabilitas tiap individu.
Tabel 3.6 Tabel Fitness Area dan Probabilitas Individu
Individu Fitness Area
Probabilitas
1 52,5
52,5 140 = 0,3750 2
20 20 140 = 0,1429
3 67,5
67,5 140 = 0,4821 Total
140 1,00
Dari probabilitas diatas dapat kita lihat individu ke 2 yang mempunyai fitness area
paling kecil yang merupakan individu yang mempunyai nilai fitness tertinggi, maka individu tersebut mempunyai probabilitas untuk terpilih pada
generasi selanjutnya lebih besar dari individu lainnya. Untuk proses seleksi kita gunakan roulete wheel. Dengan menjumlahkan nilai probabilitas dari tiap individu
dapat diketahui nilai comulative probabilitas adalah 1.
3.3.4 Crossover
Crossover penyilangan dilakukan antara 2 kromosom untuk menghasilkan
kromosom anak offspring. Kromosom anak yang terbentuk akan mewarisi sebagian sifat kromosom parent. Metode crossover yang paling banyak digunakan
adalah crossover satu titik one-point crossover. Dalam proses ini dilakukan sembarang bilangan secara acak untuk menentukan posisi persilangan. Kemudian
menukar bagian kanan dari titik potong dari kedua parent kromosom tersebut untuk menghasilkan kromosom anak.
Pada Gambar 3.3 menggambarkan skema crossover. Pertama mengacak secara random untuk membuat titik potong pada dua buah kromosom parent dan
menentukan one cut point. Pada persilangan pertama parent 1 dan parent 2 dan dilanjutkan dengan persilangan berikutnya.
1. Crossover Individu 1 dan 2
Parent 1
Nama Ruang Ruang Tamu
4x3
R. Keluarga 4x4
Kamar Mandi 3x3
Parent 2
Nama Ruang Garasi
4x4
Ruang Makan 4x3
Gudang 2x2
Offspring 1
Nama Ruang Garasi
4x4
R. Keluarga 4x4
Kamar Mandi 3x3
Offspring 2
Nama Ruang Ruang Tamu
4x3
Ruang Makan 4x3
Gudang 2x2
Hasil Sementara : Garasi 4x4
R. Keluarga 4x4 Kamar Mandi 3x3
Ruang Tamu 4x3 Ruang Makan 4x3
Gudang 2x2 Kamar Anak 3x4
Dapur 4x3 Kamar Utama 4x4
Perhitungan Fitness Garasi : Kriteria Awal
: Zona Publik dan Letak Tengah Kriteria Tujuan
: Zona Publik dan Letak Depan Fitness Area Zona Sebelum Crossover
= 1 = 1
– = 1
– 0,5 = 0,5
= 50 Fitness Area Zona Setelah Crossover
= 1 = 1
– = 1
– 1 = 0,0
= 0 Fitness Area Letak Sebelum Crossover
= 1 = 1
– = 1
– 0,9 = 0,4
= 40
Fitness Area Letak Setelah Crossover = 1
= 1 –
= 1 – 1,2
= -0,2 = -20
Fitness Area Garasi = Fitness Zona + Fitness Letak 2
= 0 + -20 2 = -10
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi telah diletakkan pada zona dan letak yang menghasilkan nilai fitness area terendah.
2. Crossover Individu 1 dan 2
Individu 1 Nama Ruang
Garasi 4x4
R. Keluarga 4x4
Kamar Mandi 3x3
Individu 2
Nama Ruang Ruang Tamu
4x3
Ruang Makan 4x3
Gudang 2x2
Offspring 1 Nama Ruang
Garasi 4x4
Ruang Tamu 4x3
Kamar Mandi 3x3
Offspring 2
Nama Ruang R. Keluarga
4x4
Ruang Makan 4x3
Gudang 2x2
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Mandi 3x3
R. Keluarga 4x4 Ruang Makan 4x3
Gudang 2x2 Kamar Anak 3x4
Dapur 4x3 Kamar Utama 4x4
Perhitungan Fitness Ruang Tamu : Kriteria Awal
: Zona Publik dan Letak Tengah Kriteria Tujuan
: Zona Semi Publik dan Letak Depan Fitness Area Zona Sebelum Crossover
= 1 = 1
–
= 1 – 0,5
= 0,5 = 50
Fitness Area Zona Setelah Crossover = 1
= 1 –
= 1 – 1
= 0,0 = 0
Fitness Area Letak Sebelum Crossover = 1
= 1 –
= 1 – 0,45
= 0,55 = 55
Fitness Area Letak Setelah Crossover = 1
= 1 –
= 1 – 0,9
= 0,1 = 10
Fitness Area Ruang Tamu = Fitness Zona + Fitness Letak 2
= 0 + 10 2 = 5
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi dan Ruang Tamu telah diletakkan pada zona dan letak yang menghasilkan nilai fitness area
terendah.
3. Crossover Individu 1 dan 3
Parent 1 Nama Ruang
Garasi 4x4
Ruang Tamu 4x3
Kamar Mandi 3x3
Parent 2
Nama Ruang Kamar Anak
3x4
Dapur 4x3
Kamar Utama 4x4
Offspring 1 Nama Ruang
Garasi 4x4
Ruang Tamu 4x3
Kamar Anak 3x4
Offspring 2
Nama Ruang Kamar Mandi
3x3
Dapur 4x3
Kamar Utama 4x4
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Anak 3x4
R. Keluarga 4x3 Ruang Makan 4x3
Gudang 2x2 Kamar Mandi 3x3
Dapur 4x4 Kamar Utama 4x4
Perhitungan Fitness Kamar Anak : Kriteria Awal
: Zona Publik dan Letak Belakang Kriteria Tujuan
: Zona Privat dan Letak Depan Fitness Area Zona Sebelum Crossover
= 1 = 1
– = 1
– 0,25 = 0,75
= 75 Fitness Area Zona Setelah Crossover
= 1 = 1
– = 1
– 0,75 = 0,25
= 25
Fitness Area Letak Sebelum Crossover = 1
= 1 –
= 1 – 0,4
= 0,6 = 60
Fitness Area Letak Setelah Crossover = 1
= 1 –
= 1 – 1,2
= -0,2 = -20
Fitness Area Kamar Anak = Fitness Zona + Fitness Letak 2
= 25 + -20 2 = 2,5
Hasil ini berbeda dengan hasil pengujian dikarenakan pada pengujian nilai panjang dan lebar ruang telah mengalami proses mutasi yang menyebabkan adanya
swap nilai panjang dan lebar sehingga adanya perubahan dalam perhitungan fitness
area.
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi, Ruang Tamu, dan Kamar Anak telah diletakkan pada zona dan letak yang menghasilkan
nilai fitness area terendah.
4. Crossover Individu 2 dan 3
Parent 1 Nama Ruang
R. Keluarga 4x4
Ruang Makan 4x3
Gudang 2x2
Parent 2
Nama Ruang
Kamar Mandi 3x3
Dapur 4x3
Kamar Utama 4x4
Offspring 1 Nama Ruang
Dapur 4x3
Ruang Makan 4x3
Gudang 2x2
Offspring 2
Nama Ruang
Kamar Mandi 3x3
R. Keluarga 4x4
Kamar Utama 4x4
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Anak 3x4
Dapur 4x3 Ruang Makan 4x3
Gudang 2x2 Kamar Mandi 3x3
R.Keluarga 4x4 Kamar Utama 4x4
Perhitungan Fitness Dapur : Kriteria Awal
: Zona Semi Publik dan Letak Belakang Kriteria Tujuan
: Zona Publik dan Letak Tengah
Fitness Area Zona Sebelum Crossover = 1
= 1 –
= 1 – 0,5
= 0,5 = 50
Fitness Area Zona Setelah Crossover = 1
= 1 –
= 1 – 1
= 0,0 = 0
Fitness Area Letak Sebelum Crossover = 1
= 1 –
= 1 – 0,45
= 0,55 = 55
Fitness Area Letak Setelah Crossover = 1
= 1 –
= 1 – 0,9
= 0,1 = 10
Fitness Area Dapur = Fitness Zona + Fitness Letak 2
= 0 + 10 2 = 5
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi, Ruang Tamu, Kamar Anak, dan Dapur telah diletakkan pada zona dan letak yang
menghasilkan nilai fitness area terendah.
5. Crossover Individu 2 dan 3
Parent 1 Nama Ruang
Dapur 4x3
Ruang Makan 4x3
Gudang 2x2
Parent 2
Nama Ruang
Kamar Mandi 3x3
R. Keluarga 4x4
Kamar Utama 4x4
Offspring 1 Nama Ruang
Dapur 4x3
R. Keluarga 4x4
Gudang 2x2
Offspring 2
Nama Ruang
Kamar Mandi 3x3
Ruang Makan 4x3
Kamar Utama 4x4
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Anak 3x4
Dapur 4x3 R.Keluarga 4x4
Gudang 2x2 Kamar Mandi 3x3
Ruang Makan 4x3 Kamar Utama 4x4
Perhitungan Fitness Ruang Keluarga : Kriteria Awal
: Zona Semi Publik dan Letak Belakang Kriteria Tujuan
: Zona Semi Publik dan Letak Tengah Fitness Area Zona Sebelum Crossover
= 1 = 1
– = 1
– 0 = 0,0
= 0 Fitness Area Zona Setelah Crossover
= 1 = 1
– = 1
– 1 = 0,0
= 0
Fitness Area Letak Sebelum Crossover = 1
= 1 –
= 1 – 0,45
= 0,55 = 55
Fitness Area Letak Setelah Crossover = 1
= 1 –
= 1 – 0,9
= 0,1 = 10
Fitness Area Ruang Keluarga = Fitness Zona + Fitness Letak 2
= 0 + 10 2 = 5
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi, Ruang Tamu, Kamar Anak, Dapur, dan Ruang Keluarga telah diletakkan pada zona dan
letak yang menghasilkan nilai fitness area terendah.
6. Crossover Individu 2 dan 3
Parent 1 Nama Ruang
Dapur 4x3
R. Keluarga 4x4
Gudang 2x2
Parent 2
Nama Ruang Kamar Mandi
3x3
Ruang Makan 4x3
Kamar Utama 4x4
Offspring 1 Nama Ruang
Dapur 4x3
R. Keluarga 4x4
Kamar Mandi 3x3
Offspring 2
Nama Ruang
Gudang 2x2
Ruang Makan 4x3
Kamar Utama 4x4
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Anak 3x4
Dapur 4x3 R.Keluarga 4x4
Kamar Mandi 3x3 Gudang 2x2
Ruang Makan 4x3 Kamar Utama 4x4
Perhitungan Fitness Kamar Mandi : Kriteria Awal
: Zona Publik dan Letak Belakang Kriteria Tujuan
: Zona Privat dan Letak Tengah
Fitness Area Zona Sebelum Crossover = 1
= 1 - = 1
– 0,25 = 0,75
= 75 Fitness Area Zona Setelah Crossover
= 1 = 1 -
= 1 – 0,75
= 0,25 = 25
Fitness Area Letak Sebelum Crossover = 1
= 1 –
= 1 – 0,45
= 0,55 = 55
Fitness Area Letak Setelah Crossover = 1
= 1 –
= 1 – 0,9
= 0,1 = 10
Fitness Area Ruang Kamar Mandi = Fitness Zona + Fitness Letak 2
= 25 + 10 2 = 17,5
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi, Ruang Tamu, Kamar Anak, Dapur, Ruang Keluarga dan Kamar Mandi telah diletakkan
pada zona dan letak yang menghasilkan nilai fitness area terendah.
7. Pengecekan Fitness Area Gudang
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Anak 3x4
Dapur 4x3 R.Keluarga 4x4
Kamar Mandi 3x3 Gudang 2x2
Ruang Makan 4x3 Kamar Utama 4x4
Perhitungan Fitness Gudang: Kriteria Awal
: Zona Publik dan Letak Belakang Kriteria Tujuan
: Zona Publik dan Letak Belakang
Fitness Area Zona = 1
= 1 –
= 1 – 0,67
= 0,33 = 33
Fitness Area Letak = 1
= 1 –
= 1 – 0,67
= 0,33 = 33
Fitness Area Gudang = Fitness Zona + Fitness Letak 2
= 33 + 33 2 = 33
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi, Ruang Tamu, Kamar Anak, Dapur, Ruang Keluarga, Kamar Mandi dan Gudang telah
diletakkan pada zona dan letak yang menghasilkan nilai fitness area terendah.
8. Pengecekan Fitness Area Ruang Makan
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Anak 3x4
Dapur 4x3 R.Keluarga 4x4
Kamar Mandi 3x3 Gudang 2x2
Ruang Makan 4x3 Kamar Utama 4x4
Perhitungan Fitness Ruang Makan : Kriteria Awal
: Zona Semi Publik dan Letak Belakang Kriteria Tujuan
: Zona Semi Publik dan Letak Belakang
Fitness Area Zona = 1
= 1 –
= 1 – 1
= 0,0 = 0
Fitness Area Letak = 1
= 1 –
= 1 – 0,9
= 0,1 = 10
Fitness Area Ruang Makan = Fitness Zona + Fitness Letak 2
= 0 + 10 2 = 5
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi, Ruang Tamu, Kamar Anak, Dapur, Ruang Keluarga, Kamar Mandi, Gudang dan Ruang
Makan telah diletakkan pada zona dan letak yang menghasilkan nilai fitness area terendah.
9. Pengecekan Fitness Area Kamar Utama
Hasil Sementara : Garasi 4x4
Ruang Tamu 4x3 Kamar Anak 3x4
Dapur 4x3 R.Keluarga 4x4
Kamar Mandi 3x3 Gudang 2x2
Ruang Makan 4x3 Kamar Utama 4x4
Perhitungan Fitness Kamar Utama : Kriteria Awal
: Zona Privat dan Letak Belakang Kriteria Tujuan
: Zona Privat dan Letak Belakang
Fitness Area Zona = 1
= 1 –
= 1 – 1
= 0,0 = 0
Fitness Area Letak = 1
= 1 –
= 1 – 1,2
= -0,2 = -20
Fitness Area Ruang Makan = Fitness Zona + Fitness Letak 2
= 0 + -20 2 = -10
Gambar 3.5 Skema Crossover
Warna hijau pada tabel Hasil Sementara menunjukkan bahwa Garasi, Ruang Tamu, Kamar Anak, Dapur, Ruang Keluarga, Kamar Mandi, Gudang, Ruang
Makan, dan Kamar Utama telah diletakkan pada zona dan letak yang menghasilkan nilai fitness area terendah.
D
ari proses crossover diatas dihasilkan denah sementara sebagai berikut :
Keterangan:
CP : Carport
GR : Garasi
RT : Ruang Tamu
KA : Kamar Anak
DP : Dapur
RK : Ruang Keluarga
KM : Kamar Mandi
GD : Gudang
RM : Ruang Makan
KU : Kamar Utama
Gambar 3.6 Denah Sementara Hasil Crossover
Total Fitness Area = 1
= 1 = 1
= 1 – 1,1
= - 0,1 = -10
Pada Gambar 3.4 diatas dapat disimpulkan bahwa berlebihnya penggunaan bidang menimbulkan nilai fitness area yang bernilai minus, sehingga tidak terpenuhinya
kebutuhan denah, masalah ini dapat diatasi dengan dilakukannya penurunan nilai lebar bidang rumah dengan cara penurunan setiap ruang terpilih dengan
membandingkan penggunaan lebar lahan dengan lebar ruang pada setiap individu. Proses crossover diatas dilakukan secara acak dengan iterasi yang berulang-
ulang hingga didapat individu yang terbaik. Setelah crossover antara parent yang menghasilkan offspring yang kemudian dilakukan kembali iterasi dan crossover
seperti yang dijelaskan diatas. Pada crossover ada satu parameter yang sangat penting yaitu peluang crossover Pc. Peluang crossover menunjukkan rasio dari
anak yang dihasilkan dalam setiap generasi dengan ukuran populasi. Misalkan ukuran populasi popsize=9, sedangkan peluang crossover Pc=0.66, berarti bahwa
diharapkan ada 6 kromosom dari 9 kromosom yang ada pada populasi tersebut akan mengalami crossover.
3.3.5 Mutasi
Setelah melalui proses crossover, pada offspring dapat dilakukan proses mutasi. Mutasi dilakukan dengan cara melakukan perubahan pada sebuah gen atau lebih
dari sebuah individu. Tujuan dari mutasi adalah agar individu-individu yang ada dalam populasi
semakin bervariasi. Mutasi akan sangat berperan jika pada populasi awal hanya ada sedikit solusi yang mungkin terpilih. Sehingga, operasi itu sangat berguna dalam
mempertahankan keanekaragaman individu dalam populasi meskipun dengan mutasi tidak dapat diketahui apa yang terjadi pada individu baru.
Pada kasus ini skema mutasi yang digunakan adalah swapping mutationmutation exchange
. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation rate Pm atau peluang mutasi.
Peluang mutasi mengendalikan banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna
tidak pernah dievaluasi. Tetapi bila peluang mutasi ini terlalu besar, maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari
induknya, dan juga algoritma akan kehilangan kemampuan untuk belajar dari histori pencarian.
Mutasi dilakukan untuk mencegah terjadinya konvergensi prematur. Pada mutasi cara swap Penukaran adalah mutasi yang dilakukan dengan menukar
langsung nilai dari gen. Pemilihan cara mutasi dilakukan secara random. Namun pada kasus ini pemilihan dilakukan dengan dilakukannya penurunan nilai lebar
bidang rumah dengan cara penurunan setiap ruang terpilih dengan membandingkan penggunaan lebar lahan dengan lebar ruang pada setiap individu. Pada kasus ini
ruang terpilih adalah Kamar Anak yang akan ditukarkan nilai panjang dengan nilai lebar nya, demikian sebaliknya.
Hasil akhir proses crossover:
Gambar 3.7 Denah Sementara Hasil Crossover
Hasil proses swap :
Gambar 3.8 Hasil Proses Mutasi
Total Fitness Area Setelah Mutasi = 1
= 1 = 1
= 1 – 0,95
= 0,05 = 5
Dengan didapatnya nilai fitness area setelah mutasi bernilai 5 , maka dapat disimpulkan bahwa hanya 5 dari lahan yang terbuang.
3.3.6 Proses Output
Pada tahap akhir, yaitu proses output dimana hasil dari seluruh pencarian letak dan pengurutan pola ruang dengan menggunakan algoritma genetika akan ditampilkan
pada program ini. Contoh dari hasil output pada program ini bisa dilihat pada Gambar 3.7.
5
Gambar 3.9 Sampel Hasil Akhir Pengurutan Objek Pola Ruang
Pada output akhir sistem, Carport CP yang ditampilkan pada Gambar 3.7 tidak mengalami proses crossover dan mutasi, melainkan dihasilkan secara otomatis
dengan menggunakan nilai panjang Garasi GR dan menggunakan nilai lebar halaman depan, dengan cara ini dapat dibentuk penghubung antara jalan depan
rumah dengan bangunan rumah.
3.4 Perancangan Program
Perancangan sistem bertujuan untuk memenuhi berbagai tuntutan untuk menghasilkan sebuah aplikasi yang dapat memberikan tata ruang dengan pola
terbaik. Sistem ini diharapkan memberikan kemudahan bagi penggunanya. Perancangan ini berupa perancangan struktur, use case diagram dan perencanaan
interface dan masing-masing menu.
3.4.1 Rancangan Struktur Aplikasi
Gambar 3.10 Rancangan Struktur Menu
Pada rancangan menu diatas dapat disimpulkan bahwa ada 3 tahap input data yang harus dilakukan oleh user untuk mendapatkan sebuah tata letak ruang yaitu
tahap pertama merupakan input data lahan yang memungkinkan user untuk memasukkan nilai panjang dan lebar lahan, lebar jalan depan rumah, dan parameter
arah rumah, tahap kedua merupakan input data halaman yang memungkinkan user untuk memasukkan nilai panjang dan lebar dari halaman depan dan halaman
belakang rumah, dan tahap ketiga merupakan input data ruang yang memungkinkan user untuk memasukkan nilai panjang dan lebar setiap ruang yang telah ditentukan.
Setelah user melalui 3 tahap yang telah disebutkan sebelumnya, maka user akan memperoleh suatu denah yang merupakan proses tata letak ruang dan
mendapatkan nilai fitness area serta nilai permutation rate berdasarkan nilai yang di input
oleh user pada tahapan sebelumnya.
3.4.2 Flowchart Diagram
Pada tahap penjelasan program selanjutnya dengan menggunakan Flowchart Diagram
dari proses mulai hingga selesai untuk mendapatkan solusi optimal dapat dilihat ilustrasinya pada Gambar 3.9.
User
Proses Hasil
Input Data Lahan Input Data Halaman
Input Data Ruangan Denah Letak Ruang
Fitness Area Permutation Rate
Gambar 3.11 Flowchart Analisis Program
3.4.3 Data Flow Diagram
Data Flow
Diagram DFD adalah alat yang biasa dipakai untuk
mendokumentasikan proses dalam system atau sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang diaplikasikan pada saat data
Mulai
Data Objek Bidang Lahan dan Parameter
Perhitungan Jumlah Room Area
Pembentukan populasi awal
Penyusunan objek dalam bidang
Perhitungan Fitness
NewGen LastGen
Perhitungan Fitness
Selesai Pembentukan Populasi GA
Generasi = Generasi + 1
tidak ya
bergerak dari input menjadi output. Gambar 3.10 menggambarkan diagram aliran data aliran data system yang akan dibuat.
Gambar 3.12 Diagram Konteks DFD
Berikut ini adalah penjelasan proses DFD level 0 Penentuan Tata Letak Ruang menggunakan Algoritma Genetika :
a. Proses
Nama Proses : Penentuan Tata Letak Ruang menggunakan Algoritma Genetika.
Keterangan : Proses penentuan tata letak ruang berdasarkan pengolahan
nilai panjang x lebar tiap data dengan menggunakan Algoritma Genetika.
b. Arus Data
Input : Data panjang x lebar lahan, lebar jalan, dan arah rumah
Data panjang x lebar Kamar Utama, Kamar Anak, Kamar Mandi, Ruang Tamu, Ruang Keluarga, Ruang Makan,
Garasi Dapur, dan Gudang.
Proses yang ada pada Diagram Konteks diatas dapat dipecah lagi menjadi proses yang lebih lengkap dalam DFD level 1. Diagram untuk DFD level 1 dapat dilihat
pada Gambar 3.11. User
Sistem Tata Letak
Ruang Data Lahan
Data Halaman Data Ruangan
Denah Fitness Area
Mutation Rate
nilai variabel
Gambar 3.13 DFD Level 1
Proses 1 Nama Proses : Data variabel
Input : Data variabel berupa panjang x lebar lahan, lebar jalan, dan arah
rumah, data panjang x lebar Kamar Utama, Kamar Anak, Kamar Mandi, Ruang Tamu, Ruang Keluarga, Ruang Makan, Garasi
Dapur, dan Gudang. Output
: Detail data variabel Keterangan
: Proses input data variabel
Proses 2 Nama Proses : Olah data variabel
Input : Data variabel genetik berupa panjang x lebar lahan, lebar jalan, dan
arah rumah, data panjang x lebar Kamar Utama, Kamar Anak, User
1.0 DataVariabel
detail nilai variabel
hasil optimasi 2.0
Olah Data Variabel
3.0 Hasil
detail nilai variabel
Kamar Mandi, Ruang Tamu, Ruang Keluarga, Ruang Makan, Garasi Dapur, dan Gudang.
Output : Detail data variabel
Keterangan : Proses untuk mengolah data variable
Proses 3 Nama Proses : Hasil
Input : Data variable berupa panjang x lebar lahan, lebar jalan, dan arah
rumah, data panjang x lebar Kamar Utama, Kamar Anak, Kamar Mandi, Ruang Tamu, Ruang Keluarga, Ruang Makan, Garasi
Dapur, dan Gudang. Output
: Analisis denah menggunakan algoritma genetika Keterangan
: Hasil penentuan tata letak ruang dengan menggunakan algoritma genetika
Proses yang ada pada DFD Level 1 diatas dapat dipecah lagi menjadi proses yang lebih sederhana dalam DFD level 1 Proses 2. Diagram untuk DFD level 1
Proses 2 dapat dilihat pada Gambar 3.12.
Gambar 3.14 DFD Level 1 Proses 2
Proses 1 Nama Proses : Inisialisasi Kromosom
Input : Indeks variable Kamar Utama, Kamar Anak, Kamar Mandi, Ruang
Tamu, Ruang Keluarga, Ruang Makan, Garasi Dapur, dan Gudang. Output
: Data zona dan kriteria Kamar Utama, Kamar Anak, Kamar Mandi, Ruang Tamu, Ruang Keluarga, Ruang Makan, Garasi Dapur, dan
Gudang Keterangan
: Proses penentuan kromosom dalam algoritma genetika. populasi
baru yang sudah di mutasi
populasi baru User
2.1 Inisialisasi
Kromosom nilai variabel
populasi baru yang
sudah di crossover
2.2 Fitness
2.5 Mutasi
2.3 Pemilihan
Parents
2.4 Crossover
2.6 Hasil
generasi terbaik
Proses 2 Nama Proses : Fitness
Input : Data variable genetik berupa nilai panjang x lebar Kamar Utama,
Kamar Anak, Kamar Mandi, Ruang Tamu, Ruang Keluarga, Ruang Makan, Garasi Dapur, dan Gudang.
Output : Nilai fitness ruang
Keterangan : Proses penentuan fitness dalam algoritma genetika
Proses 3 Nama Proses : Pemilihan Parents
Input : Data variable individu berupa nilai panjang x lebar Kamar Utama,
Kamar Anak, Kamar Mandi, Ruang Tamu, Ruang Keluarga, Ruang Makan, Garasi Dapur, dan Gudang.
Output : Parents terpilih
Keterangan : Proses pemilihan parents dalam algoritma genetika
Proses 4 Nama Proses : Crossover
Input : Populasi baru yang merupakan parents terpilih
Output : Populasi baru yang telah di crossover
Keterangan : Proses crossover dalam algoritma genetika
Proses 5 Nama Proses : Mutasi
Input : Populasi baru yang telah di crossover
Output : Hasil terbaik atau populasi baru yang telah di mutasi untuk
dilakukan pengujian ulang. Keterangan
: Proses mutasi dalam algoritma genetika untuk menghasilkan generasi terbaik.
3.4.4 Use Case Diagram
Gambar 3.15 Use Case Diagram untuk Optimizer
Langkah pertama yang yang dilakukan untuk membuat kebutuhan pengguna adalah memodelkan sistem, hal tersebut dapat digambarkan dengan menggunakan
use case diagram . Dengan use case diagram dapat diketahui proses yang terjadi
pada aktivitas sistem penentuan tata letak ruang. Use case tersebut menggambarkan mengenai proses yang digunakan dan data model dari sistem.
Sebuah use case diagram terdiri dari:
Masukkan input data luas lahan dan lebar jalan dan settingan
parameter arah rumah uses
uses
uses User
Optimizer
Masukkan input data halaman depan dan belakang dengan
parameter GSB
Masukkan input data panjang x lebar setiap ruangan
Menginformasikan hasil tata letak ruang
uses
Actor : seseorang atau sesuatu yang berinteraksi dengan sistem.
Dalam halini adalah user. Use case
: perilaku, dalam sistem ini meliputi operator-operator algoritma genetika.
Deskripsi use case diagram dari gambar 3.13: 1.
Use case : input data lahan
Actor : user
Deskripsi : user memasukkan nilai panjang dan lebar lahan, lebar jalan,
dan arah rumah. 2.
Use case : input data halaman
Actor : user
Deskripsi : user memasukkan nilai panjang dan lebar halaman depan dan
belakang. 3.
Use case : input data ruangan
Actor : user
Deskripsi : user memasukkan nilai nilai panjang dan lebar tiap ruang.
4. Use case
: output letak ruang Actor
: user Deskripsi
: user dapat melihat hasil penentuan tata letak ruang.
3.4.5 Rancangan Layar Program
a. Page Lahan Rumah
Page lahan ini merupakan halaman yang menampilkan form yang berfungsi
untuk menerima inputan dari user yang berupa keterangan keseluruhan lahan yang akan diproses.
Gambar 3.16 Rancangan Layar Page Lahan Rumah
b. Page Garis Sempadan Bangunan GSB dan Halaman Rumah
Page GSB dan halaman rumah ini merupakan halaman yang menampilkan form
yang berfungsi untuk menerima inputan dari user yang berupa permintaan luas halaman pada rumah. GSB akan dihasilkan secara otomatis dengan perhitungan
nilai lebar jalan yang didapat melalui input yang dilakukan user pada tahap sebelumnya.
Gambar 3.17 Rancangan Layar Page GSB
GSB m
Halaman Depan X m
Halaman Belakang X m
Address bar
Next
Luas Lahan X
m Lebar Jalan
m Arah Rumah Utara Selatan
Address bar
Next
c. Page Optimizer
Page Optimizer ini merupakan halaman yang berfungsi untuk menerima inputan
dariuser yang berupa data-data tiap ruangan yang dibutuhkan untuk tahap pencarian solusi serta tampilan untuk hasil daripencarian solusi yang diinginkan.
Gambar 3.18 Rancangan Layar Menu Optimizer
Address bar Panjang | Lebar
Luas Lahan |
m Luas Sisa
m ● Kamar Utama
| m
● Kamar Anak |
m ● Kamar Mandi 1
| m
● Ruang Keluarga |
m ● Ruang Tamu
| m
● Ruang Makan |
m ● Dapur
| m
● Garasi |
m ● Kamar Mandi 2
| m
Run
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem