LAPORAN PEMODELAN KELOMPOK 7 PEMASANGAN CCTV PADA SUATU GEDUNG

28
LAPORAN PEMODELAN KELOMPOK 7 PEMASANGAN CCTV PADA SUATU GEDUNG Disusun oleh: M. Digjaya 10109014 Nabila Syahidah 10111042 Aulia Rosmanita 10111095 Yoga Pangestu 10111096 Afif Humam 10111099 Dosen Pembimbing : Prof. Dr. Edy Tri Baskoro Program Studi Sarjana Matematika INSTITUT TEKNOLOGI BANDUNG

Transcript of LAPORAN PEMODELAN KELOMPOK 7 PEMASANGAN CCTV PADA SUATU GEDUNG

LAPORAN PEMODELAN KELOMPOK 7

PEMASANGAN CCTV PADA SUATU GEDUNG

Disusun oleh:

M. Digjaya 10109014

Nabila Syahidah 10111042

Aulia Rosmanita 10111095

Yoga Pangestu 10111096

Afif Humam 10111099

Dosen Pembimbing :

Prof. Dr. Edy Tri Baskoro

Program Studi Sarjana Matematika

INSTITUT TEKNOLOGI BANDUNG

1

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat serta karunia-Nya kepada penulis sehingga laporan dengan judul “PEMASANGAN CCTV PADA SUATU GEDUNG” dapat diselesaikan tepat pada waktunya.

Laporan ini berisikan tentang Permodelan yang penulis telah buat, khususnya membahas tentang optimisasi penempatan CCTV menggunakan Genetic Algorithm Methods.

Penulis tahu betul bahwa laporan ini masing sangat jauh dari sempurna, oleh karena itu kritik dan saran dari semua pihak yang bersifat membangun selalu penulis harapkan demi kesempurnaan laporan ini.

Akhir kata, penulis ucapkan Terima kasih kepada semua pihak yang telah berperan serta dalam penyusunan laporan ini dari awal sampai akhir. Semoga Tuhan YME senangtiasa peridhai segala usaha kita, Amin.

Penyusun,

2

DAFTAR ISI KATA PENGANTAR .................................................................................................................................................... 1

DAFTAR GAMBAR ..................................................................................................................................................... 3

BAB I PENDAHULUAN ............................................................................................................................................. 4

1.1 Latar Belakang Masalah ....................................................................................................................................... 4

1.2 Tujuan Pemodelan .................................................................................................................................................. 5

1.3 Manfaat Pemodelan ............................................................................................................................................... 5

BAB II MODEL MATEMATIKA.............................................................................................................................. 6

2.1 Model 1 ............................................................................................................................................................ 8

2.2 Model 2 ......................................................................................................................................................... 10

BAB III PENYELESAIAN & APLIKASI................................................................................................................. 15

BAB IV DISKUSI ....................................................................................................................................................... 15

DAFTAR PUSTAKA .................................................................................................................................................. 20

LAMPIRAN ................................................................................................................................................................. 21

3

DAFTAR GAMBAR Gambar 1.1 Komponen CCTV .............................................................................................................................. 4

Gambar 2.1 FoV dan DoF ....................................................................................................................................... 6

Gambar 2.2 daerah DoF dan ketajaman gambar ......................................................................................... 6

Gambar 2.3 daerah FoV kamera CCTV, (kanan) gambar yang nampak pada monitor ................ 8

Gambar 2.4 proyeksi DoF pada lantai ............................................................................................................... 8

Gambar 2.5 DoF dilihat dari samping ............................................................................................................... 8

Gambar 2.6 panjang l akan dicari semaksimal mungkin ......................................................................... 9

Gambar 2.7 pencarian sudut untuk menghasilkan garis l yang maksimal ................................... 9

Gambar 2.8 ilustrasi area teridentifikasi kamera ...................................................................................... 10

Gambar 2.9 penempatan posisi dan sudut arah kamera ........................................................................ 11

Gambar 2.10 himpunan konveks D dengan daerah prioritas D’ ....................................................... 12

Gambar 2.11 grid pada ruangan ..................................................................................................................... 13

Gambar 3.1 denah lantai 1 Gedung Matematika ...................................................................................... 16

Gambar 3.2 kamera CCTV terpilih .................................................................................................................. 17

Gambar 3.3 hasil program pada denah lorong .......................................................................................... 17

Gambar 3.4 hasil program pada denah ruang dekat tangga................................................................ 18

4

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah Tingkat kriminal di kota semakin meningkat seiring bertambahnya waktu. Hal ini menyebabkan banyak pihak menginginkan keamanan yang lebih, salah satunya dapat diperoleh dengan memasang CCTV. CCTV (Closed Circuit Television) merupakan sebuah perangkat kamera video digital yang digunakan untuk mengirim sinyal ke layar monitor di suatu ruang atau tempat tertentu . CCTV terdiri atas banyak komponen, meliputi kamera CCTV, BNC Connector, Monitor, DVR, Kabel Coaxial & Kabel Power, dan komponen lainnya.

Dalam kehidupan nyata, pemasangan kamera cctv memiliki banyak permasalahannya, salah satunya adalah penempatan kamera. Penempatan kamera merupakan suatu permasalahan yang penting karena sebaik apapun spesifikasi cctv apabila ditempatkan pada tempat yang tidak sesuai maka tidak akan efektif atau bahkan sia-sia. Penempatan kamera juga menyangkut optimisasi jumlah kamera, panjang kabel, dan lainnya. Penempatan kamera haruslah mampu memantau suatu daerah sebanyak-banyaknya secara efektif, namun daerah yang terpantau harus tetap bisa terlihat dengan jelas. Pada permasalahan inilah penulis memfokuskan pemodelan yakni berupa permasalahan penempatan kamera yang optimal pada suatu gedung. Pada suatu gedung berarti bahwa daerah keluar masuknya orang pada suatu ruangan terbatas.

Gambar 1.1 Komponen CCTV

5

1.2 Tujuan Pemodelan

Tujuan dari pemodelan ini ialah mencari model yang dapat meminimumkan jumlah kamera CCTV dengan tetap memaksimumkan area pemantauan dengan syarat hasil gambar tetap terlihat jelas.

1.3 Manfaat Pemodelan Hasil dari pemodelan ini diharapkan dapat menentukan jumlah kamera minimum yang

dibutuhkan oleh suatu gedung dengan syarat hasil pemantauan masih terlihat jelas. Dengan model ini, penulis dapat menentukan jumlah paling minimum dari kamera CCTV pada suatu daerah dengan syarat suatu pada suatu ruangan tertentu dapat tercover sesuai kriteria standar yang ditentukan.Selain itu didapat pula posisi serta sudut pemasangan kamera untuk menghasilkan daerah pemantauan sebesar mungkin.

6

BAB II MODEL MATEMATIKA

Pada pemodelan ini terdapat beberapa asumsi awal, yakni:

Setiap kamera berjenis sama (homogen) Ketinggian kamera sama Ruangan berlantai datar Merupakan suatu ruangan tertutup (gedung) sehingga akses untuk masuk dan keluar

terbatas. Jarak fokus terjauh kamera CCTV terbatas

Berikut beberapa definisi yang akan digunakan dalam pemodelan ini :

a) FoV (Field of View)

FoV adalah ruang volume maksimum yang dapat terlihat dari kamera pada posisi dan arah tertentu. Subyek yang terletak di luar FoV tidak akan nampak pada hasil video. Pada kamera CCTV, FoV memiliki bentuk mirip seperti piramida (gambar) yang dikenal juga sebagai viewing frustum. FoV ini ditentukan oleh sudut internal (sudut azimuth dan latitude) dari kamera.

b) DoF (Depth of Field) DoF adalah suatu ruang volume FoV yang dibatasi oleh dua bidang yang diantaranya memiliki gambar yang tajam (jelas, fokus). Bidang terdekat memiliki jarak yang disebut un, dan bidang terjauh memiliki jarak yang disebut uf terhadap kamera. Objek yang berada diluar DoF tidak tajam /jelas.

Gambar 2.1 FoV dan DoF

Gambar 1.2 daerah DoF dan ketajaman gambar

7

Diketahui hubungan fokus lensa dan jarak yakni,

menurut [1], DoF dapat diturunkan dalam persamaan matematika sebagai berikut:

mengacu pada cuplikan diatas:

c) Resolusi spasial

adalah jumlah kolom mendatar piksel dikali jumlah kolom piksel vertikal dalam ukuran persegi. mengukur seberapa dekat suatu garis dapat ditampilkan dengan baik dan dapat dibedakan dengan garis yang lainnya. Resolusi ini sangat dipengaruhi dari sistem yang menghasilkan citra atau gambar tersebut.

Dalam pemodelan ini, penulis membagi pemodelan ini menjadi dua kasus:

1. Pertama, suatu kamera CCTV ditinjau sebagai satu kesatuan untuk mencari posisi optimal suatu kamera agar proyeksi daerah yang terpantau semakin besar.

8

2. Kedua, Permasalahan penempatan kamera suatu gedung yang penulis pandang sebagai dua dimensi.

2.1 Model 1

Model 1 ini merupakan model satu kamera. Dari FoV (Gambar 2.1), muncul suatu permasalahan yakni adanya orang yang masuk kedalam daerah teridentifikasi namun kepala orang tersebut tidak, sedangkan untuk dapat mengidentifikasi orang, bagian kepala merupakan bagian yang penting. Oleh karena itu, akan dicari bidang pada ketinggian maksimal dua meter dengan proyeksi di lantai memiliki luas maksimum. Deskripsinya adalah sebagai berikut:

Gambar 2.2 daerah FoV kamera cctv. (kanan) gambar yang nampak pada monitor

Gambar 2.3 proyeksi DoF pada lantai

Gambar 2.5 DoF dilihat dari samping

9

Gambar 2.6 panjang l akan dicari semaksimal mungkin

Pandang gambar dari FoV yang dilihat dari samping (gambar 2.5) dan atas (gambar 2.4). Oleh karena perhitungan yang sedikit kompleks, penulis menyederhanakannya menjadi mencari panjang maksimum dari l (gambar 2.6). Kemudian akan dicari daerah proyeksi dari bidang yang sejajar lantai di DoF yang paling maksimal agar daerah teridentifikasi semakin maksimal. Dengan H adalah ketinggian kamera, h ketinggian maksimal orang.

Pandang daerah DoF dari arah samping (gambar 2.7). Dengan menggunakan trigonometri akan dicari sedemikian rupa sehinga didapatlah garis l paling maksimal agar didapatkan proyeksi daerah teridentifikasi di sekitar kepala terhadap lantai paling maksimal.

Dengan keterangan dari Gambar 2.4 dan Gambar 2.7, Maka didapat dan H sebagai fungsi dari tetapan kamera dan tetapan tinggi maksimum h sebagai berikut:

l

h H

Gambar 2.7 pencarian sudut 𝜽 untuk menghasilkan garis l yang maksimal

10

(

)

dan

Dengan begitu, didapat luas untuk area teridentifikasi:

(

(

( *

) (

)

)

( (

*

)

2.2 Model 2 ( Permasalahan Penempatan Kamera ) Dari model 1 didapat ilustrasi proyeksi tehadap bidang alas sebagai berikut:

Gambar 2.7 ilustrasi area teridentifikasi kamera

dengan adalah titik peletakan kamera dan besaran dan serta sudut merupakan input yang bergantung jenis kamera. Sementara area berwarna biru adalah area teridentifikasi dari sebuah kamera.

Sekarang penulis bisa memisalkan sistem penempatan kamera di bidang . Definisikan fungsi area teridentifikasi kamera sebagai fungsi permukaan dengan aturan:

11

{ jika teridentifikasi lainn a

Tentu pendefinisian di atas bergantung pada faktor kamera ( dan ) dan faktor penempatan kamera.

Misalkan posisi kamera serta sudut arah kamera (berlawanan arah jarum jam) terhadap sumbu– positif.

Gambar 2.8 Penempatan posisi dan sudut arah kamera

Dengan demikian penulis dapat mendefinisikan fungsi :

Untuk dan

{ |

| (

)

Untuk dan , penulis menggunakan transformasi translasi sebesar terhadap

( )

Untuk dan , penulis menggunakan transformasi rotasi di sebesar terhadap

( )

Untuk dan , digunakan komposisi dari transformasi rotasi dan translasi

( (

)*

12

( )

Selanjutnya, penulis definisikan himpunan konveks di yang merepresentasikan ruangan berbentuk konveks. Kemudian penulis definisikan pula himpunan , subset dari ,

Gambar 2.9 Himpunan konveks D dengan daerah prioritas D’

Gambar 2.3 Himpunan konveks dengan daerah prioritas

Daerah prioritas, yaitu area di dalam ruangan yang diprioritaskan untuk teridentifikasi minimal oleh satu kamera. Karena masalah penempatan kamera dibatasi pada ruangan tertutup, maka setiap kamera harus ditempatkan pada suatu titik di . Misalkan sebanyak buah kamera ditempatkan di , dengan dan menyatakan posisi dan sudut arah kamera ke- , maka penulis dapat menentukan area teridentifikasi dari kamera ke- , yaitu

, dengan . Jadi total area teridentifikasi oleh sistem kamera tersebut dapat dinyatakan sebagai jumlah Boolean dari semua , yaitu

Dengan demikian penulis dapat menentukan rasio antara luas daerah prioritas yang teridentifikasi dari luas daerah prioritas total itu sendiri, misalkan perbandingan tersebut adalah , maka:

|

13

Dengan adanya rasio ini, maka penulis dapat menuliskan dua masalah optimisasi

berikut: Diberikan

{ |

| (

)

inimumkan aksimumkan r terhadap:

( )

Agar lebih mudah mencari solusinya, penulis menyederhanakan model yang semula menggunakan menjadi grid-grid persegi dengan ukuran tertentu di mana setiap grid nantinya akan diwakili oleh titik pusatnya. Maka penulis bisa mengambil persegi panjang yang cukup kecil yang memuat , misalkan berukuran satuan grid satuan grid, kemudian dibentuk grid-grid pada persegi panjang tersebut.

Gambar 2.10 Grid pada ruangan

14

Misalkan menyatakan titik pusat dari grid pada baris ke- dan kolom ke- . Dengan menambah satu asumsi bahwa tidak ada dua kamera yang diletakkan pada tempat yang sama, penulis definisikan matriks dan yang berukuran dengan aturan sebagai berikut:

{ jika dan se uah kamera ditempatkan di jika atau tidak ada kamera ang ditempatkan di

dan menyatakan sudut arah dari kamera yang diletakkan pada . Misal ukuran grid yang ditentukan adalah , maka untuk model fungsi daerah teridentifikasi kamera penulis hanya akan berurusan dengan bilangan bulat yakni sebagai berikut:

{ |

| (

)

dengan

(

) (

* (

*

Jika , maka {

( ) jika

lainn a

dan

jika

Dengan demikian, masalah optimisasi sebelumnya dapat disederhanakan menjadi:

terhadap

15

BAB III PENYELESAIAN DAN APLIKASI Untuk menyelesaikan permasalahan optimisasi dalam penempatan kamera, penulis menyederhanakan masalah lagi dengan menetapkan jumlah kamera yang dipasang, sehingga masalah optimisasi sebelumnya menjadi berikut:

terhadap

yang berarti mencari solusi optimal pada sistem dengan n buah kamera.

Pada masalah optimisasi diatas, penulis menggunakan Algoritma Genetik untuk mencari pendekatan bagi solusi optimal lokal. Algoritma genetik adalah suatu metode heuristic yang terinspirasi dari mekanisme genetik pada kehidupan nyata yang utamanya terdiri dari reproduksi, mutasi, dan cross-over.

Tahapan-tahapan Algoritma Genetik yang penulis konstruksi adalah sebagai berikut:

1. Inisiasi Populasi Pada tahap ini dibangkitkan N individu secara acak dengan masing-masing individu merepresentasikan sebuah sistem n buah kamera pada ruangan tertentu.

2. Periksa kecocokan dan pengurutan Pada tahap ini setiap individu dicek menggunakan fungsi kecocokan, yakni presentase area teridentifikasi, kemudian individu-individu pada populasi diurutkan berdasarkan presentase tertinggi.

3. Cross-over Pada tahap ini individu-individu sesuai urutan kecocokan disilangkan, yakni pada tiap dua individu dilakukan penukaran penempatan beberapa kamera, sehingga didapat N individu baru dalam populasi.

4. Seleksi Pada tahap ini seluruh hasil cross over diperiksa kecocokannya, kemudian dipilih N individu terbaik (nilai kecocokannya) dari gabungan populasi awal dan populasi hasil cross over dan kembali dilakukan pengurutan pada populasi terpilih.

16

Jika terdapat individu yang nilai kecocokannya memenuhi yang diinginkan atau batas iterasi yang mencapai maksimal, maka algoritma selesai dan outputnya adalah individu dengan nilai kecocokan tertinggi. Namun jika masih belum ada individu dengan nilai kecocokan yang diinginkan dan banyaknya iterasi belum maksimal, maka dilanjutkan ke tahap Mutasi

5. Mutasi Pada tahap ini, setiap individu pada populasi memiliki kemungkinan (yang ditetapkan, misal 0.001%) untuk mengalami perubahan pada sebagian kecil penempatan kamera (perubahan hanya terjadi pada sebagian kamera). Setelah tahap ini selesai, dilakukan iterasi berikutnya, yaitu kembali kepada tahap ke-2.

Algoritma diatas penulis buat dan jalankan pada software MATLAB, di mana source code-nya telah penulis cantumkan pada LAMPIRAN.

Selanjutnya dari program yang telah penulis buat, penulis mengaplikasikannya pada gedung Matematika ITB lantai 1. Lebih khususnya pada lorong dan ruangan tangga karena pada area tersebut merupakan area yang memiliki akses keluar masuk gedung ataupun ruangan lainnya

Gambar 3.1 Denah lantai I Gedung Matematika

Kamera CCTV standar yang penulis pilih untuk simulasi ini adalah yang tercantum pada gambar 12 di bawah ini.

target 2

target 1

17

Gambar 3.2 Kamera CCTV terpilih

Adapun daerah prioritas yang penulis definisikan untuk simulasi ini masih sangat sederhana, yakni menganggap seluruh area ruangan adalah daerah prioritas. Dan hasil program yang penulis jalankan adalah sebagai berikut

Gambar 3.3 hasil program pada denah lorong

18

Gambar 3.4 hasil program pada denah ruang dekat tangga

19

BAB IV DISKUSI Kesimpulan:

Dari hasil yang didapat pada program penempatan kamera cctv, hasil penempatan terbaik terdapat pada individu pada populasi. Dengan demikian hasil iterasi akan lebih baik jika penulis mengambil n yang lebih besar. Disamping itu juga, iterasi yang lebih banyak akan menghasilkan solusi yang lebih baik pada algoritma yang penulis pilih.

Saran:

Dalam pemodelan yang telah penulis lakukan ada beberapa saran untuk kemudian dilakukan pada pemodelan yang lebih lanjut pada penempatan kamera cctv pada suatu gedung, yakni:

Dibentuknya daerah prioritas yang lebih realistis sehingga saat iterasi program berjalan, acuannya pada daerah prioritas. Dengan demikian, jika semua daerah prioritas sudah teridentifikasi dengan baik, maka jumlah kamera otomatis akan lebih efektif.

Perlu ditinjau ulang fungsi teridentifikasi untuk area yang tidak berbentuk konveks atau area yang memiliki obstacle.

Perlu dicoba metode-metode lain mengenai penyelesaian masalah penempatan kamera CCTV ini, meliputi PSO algorithm, greedy algorithm, dan algoritma meta-heuristik lainnya untuk dibandingan kompleksitas dan solusinya.

Perlu dicoba dengan kamera yang non-homogen.

20

DAFTAR PUSTAKA [1] Conrad, J. 2006.Depth of Field in Depth.

[2] Sreedevi, I; Mittal, Nikhil R.; Chaudhury S.; Bhattacharyya A. 2011. Camera Placement for Surveillance Applications.

[3] Zhao, J.; Haws, D.; Yoshida, R.; Cheung, S.S. 2011. Approximate Techniques in Solving Optimal Camera Placement Problems.

[4] Fu Yi-Ge; Zhou J.; Deng L. 2014. Surveillance of a 2D Plane Area with 3D Deployed Cameras. [5] http://en.wikipedia.org/wiki/Genetic_algorithm

21

LAMPIRAN Source Code Program MATLAB

Program Utama

clc; clear all; %program pemodelan bismillah bisa %variabel %sdt=sudut per 22.5 derajat, position=posisi %input % tempat1 (untuk target 1) % xarea=4; %panjang bit untuk posisi x % yarea=8; %panjang bit untuk posisi y %tempat2 (untuk target 2) xarea=6; %panjang bit untuk posisi x yarea=6; %panjang bit untuk posisi y sudut=5; %panjang bit untuk sudut panjang=xarea+yarea+sudut; n=input('masukkan jumlah kamera = '); %banyaknya kamera N=20; %besar populasi (genap) %populasi awal [POP pop]=randomis(xarea,yarea,sudut,n,N); %kromosom individu ke-i adalah POP([(i-1)*n+1:i*n],:) %representasi individu ke-i adalah pop([(i-1)*n+1:i*n],:) iter=1; %awal iterasi maxiter=50; %batas iterasi r=zeros(1,N); %fit masing-masing individu rx=r; %fit hasil silang best=0; %fit dari individu terbaik ibest=zeros(n,panjang+3); %individu terbaik zbest=0; while best<0.8 && iter<=maxiter for i=1:N %dilakukan pencocokan tiap individu % [z r(i) s]=tempat1(pop([(i-1)*n+1:i*n],1),pop([(i-1)*n+1:i*n],2),pop([(i-1)*n+1:i*n],3),n,xarea,yarea); %untuk target 1 [z r(i) s]=tempat2(pop([(i-1)*n+1:i*n],1),pop([(i-1)*n+1:i*n],2),pop([(i-1)*n+1:i*n],3),n,xarea,yarea); %untuk target 2 %display hasil % image(z([s+1:s+2^xarea],[s+1:s+2^yarea])+1); image(z+1); map=[ 0 0.75 1; 1 1 0; 0 0.5 0; 1 0.7 0.75 0 0 0]; colormap(map); figure(2); if r(i)>best

22

best=r(i); ibest=[POP([(i-1)*n+1:i*n],:),pop([(i-1)*n+1:i*n],:)]; zbest=z; % image(z([s+1:s+2^xarea],[s+1:s+2^yarea])+1); image(z+1); map=[ 0 0.75 1; 1 1 0; 0 0.5 0; 1 0.7 0.75 0 0 0]; colormap(map); figure(3); end end % %sorting % [POP pop r]=urut(r,n,N,POP,pop); % %algoritma crossover POPX=zeros(N*n,panjang); popX=zeros(N*n,3); for i=1:N/2 [POPX([(2*i-2)*n+1:(2*i-1)*n],:) POPX([(2*i-1)*n+1:(2*i)*n],:)]=silang(n,POP([(2*i-2)*n+1:(2*i-1)*n],:),POP([(2*i-1)*n+1:(2*i)*n],:)); [popX([(2*i-2)*n+1:(2*i-1)*n],:) popX([(2*i-1)*n+1:(2*i)*n],:)]=silang(n,pop([(2*i-2)*n+1:(2*i-1)*n],:),pop([(2*i-1)*n+1:(2*i)*n],:)); end for i=1:N %dilakukan pencocokan tiap individu % [z rx(i) s]=tempatkam(popX([(i-1)*n+1:i*n],1),popX([(i-1)*n+1:i*n],2),popX([(i-1)*n+1:i*n],3),n,xarea,yarea); [z r(i) s]=tempat2(pop([(i-1)*n+1:i*n],1),pop([(i-1)*n+1:i*n],2),pop([(i-1)*n+1:i*n],3),n,xarea,yarea); %display hasil % image(z([s+1:s+2^xarea],[s+1:s+2^yarea])+1); image(z+1); map=[ 0 0.75 1; 1 1 0; 0 0.5 0; 1 0.7 0.75 0 0 0 ]; colormap(map) figure(2); if rx(i)>best best=rx(i); ibest=[POPX([(i-1)*n+1:i*n],:),popX([(i-1)*n+1:i*n],:)]; zbest=z; % image(z([s+1:s+2^xarea],[s+1:s+2^yarea])+1); image(z+1); map=[ 0 0.75 1; 1 1 0; 0 0.5 0; 1 0.7 0.75 0 0 0]; colormap(map); figure(3); end

23

end %algoritma seleksi [POP pop r]=seleksi(r,rx,n,N,POP,pop,POPX,popX); %algoritma mutasi [POP pop r best ibest zbest]=mutasii(xarea,yarea,sudut,n,N,POP,pop,r,best,ibest,zbest); iter=iter+1; end

Fungsi untuk inisiasi populasi awal function [POP pop]=randomis(xarea,yarea,sudut,n,N) panjangkrom=xarea+yarea+sudut; POP=randi(2,n*N,panjangkrom)-1; %initial random population pop=zeros(n*N,3); for i=1:N for j=1:n pop((i-1)*n+j,1)=bi2de(POP((i-1)*n+j,[1:xarea]))+1; pop((i-1)*n+j,2)=bi2de(POP((i-1)*n+j,[xarea+1:xarea+yarea]))+1; pop((i-1)*n+j,3)=bi2de(POP((i-1)*n+j,[xarea+yarea+1:panjangkrom]))*pi/(2^(sudut-1)); end end

Fungsi untuk melakukan cross-over function [AA BB]=silang(n,A,B) p=floor(n/2); q=round(n/2); m=randi(q+1); C=[A([1:m-1],:); B([m:m+p-1],:); A([m+p:n],:)]; BB=[B([1:m-1],:); A([m:m+p-1],:); B([m+p:n],:)]; AA=C;

24

Fungsi untuk menghitung nilai kecocokan individu (untuk target 1)

function[z r s]=tempat1(x,y,w,n,xarea,yarea) c=7; k=7; l=39; g=0.2858*2; s=round(sqrt(l^2+((c+l)*tan(g/2))^2)); x=x+s; y=y+s; pjg=15; lbr=240; A=zeros(pjg,lbr); z0=zeros(2*s+1); z0(s+1,s+1)=8; for i=round(k):round(l) h=round((i+c)*tan(g/2)); for j=-h:h z0(s+1+j,s+1+i)=1; end end z=3*ones(2*s+2^xarea,2*s+2^yarea); dx=floor((2^xarea-pjg)/2); dy=floor((2^yarea-lbr)/2); z([s+dx+1:s+dx+pjg],[s+dy+1:s+dy+lbr])=A; for i1=1:n z(x(i1),y(i1))=2; for i=-s:s for j=-s:s if and(abs(round(i*sin(w(i1))+j*cos(w(i1))))<=s,abs(round(i*cos(w(i1))+j*sin(-w(i1))))<=s) if z(x(i1)+j,y(i1)+i)==0 z(x(i1)+j,y(i1)+i)=z0(s+1+round(i*sin(w(i1))+j*cos(w(i1))),s+1+round(i*cos(w(i1))+j*sin(-w(i1)))); end end end end end fit=0; for i=s+dx+1:s+dx+pjg for j=s+dy+1:s+dy+lbr if z(i,j)==1 fit=fit+1; end end end r=fit/(pjg*lbr);

25

Fungsi untuk menghitung nilai kecocokan individu (untuk target 2)

function[z r s]=tempat2(x,y,w,n,xarea,yarea) c=7; k=7; l=39; g=0.2858*2; s=round(sqrt(l^2+((c+l)*tan(g/2))^2)); x=x+s; y=y+s; pjg=60; lbr=80; z0=zeros(2*s+1); z0(s+1,s+1)=8; for i=round(k):round(l) h=round((i+c)*tan(g/2)); for j=-h:h z0(s+1+j,s+1+i)=1; end end z=3*ones(2*s+2^xarea,2*s+2^yarea); dx=floor((2^xarea-pjg)/2); dy=floor((2^yarea-lbr)/2); z([s+dx+1:s+dx+pjg],[s+dy+1:s+dy+lbr])=zeros(pjg,lbr); for i1=1:n z(x(i1),y(i1))=2; for i=-s:s for j=-s:s if and(abs(round(i*sin(w(i1))+j*cos(w(i1))))<=s,abs(round(i*cos(w(i1))+j*sin(-w(i1))))<=s) if z(x(i1)+j,y(i1)+i)==0 z(x(i1)+j,y(i1)+i)=z0(s+1+round(i*sin(w(i1))+j*cos(w(i1))),s+1+round(i*cos(w(i1))+j*sin(-w(i1)))); end end end end end fit=0; for i=s+dx+1:s+dx+pjg for j=s+dy+1:s+dy+lbr if z(i,j)==1 fit=fit+1; end end end r=fit/(pjg*lbr);

26

Fungsi untuk mengurutkan nilai kecocokan function [X Y rs]=urut(r,n,N,A,B) X=A; Y=B; rs=-sort(-r); u=1; while u<=N for i=1:N if rs(u)==r(i) X([(u-1)*n+1:u*n],:)=A([(i-1)*n+1:i*n],:); Y([(u-1)*n+1:u*n],:)=B([(i-1)*n+1:i*n],:); u=u+1; end if u>N break; end end end

Fungsi untuk tahap seleksi function [X Y rs]=seleksi(r,rr,n,N,A,B,AA,BB) rs=-sort([-r,-rr]); rs=rs(1,[1:N]); u=1; while u<=N for i=1:N if rs(u)==r(i) X([(u-1)*n+1:u*n],:)=A([(i-1)*n+1:i*n],:); Y([(u-1)*n+1:u*n],:)=B([(i-1)*n+1:i*n],:); u=u+1; end if u>N break end if rs(u)==rr(i) X([(u-1)*n+1:u*n],:)=AA([(i-1)*n+1:i*n],:); Y([(u-1)*n+1:u*n],:)=BB([(i-1)*n+1:i*n],:); u=u+1; end if u>N break end end end

27

Fungsi untuk tahap mutasi function [POP pop r best ibest zbest]=mutasii(xarea,yarea,sudut,n,N,POP,pop,r,best,ibest,zbest); panjangkrom=xarea+yarea+sudut; for I=1:n*N for j=1:panjangkrom c=rand; if c<0.001 POP(I,j)=~POP(I,j); i=-floor(-I/n); for j=1:n pop((i-1)*n+j,1)=bi2de(POP((i-1)*n+j,[1:xarea]))+1; pop((i-1)*n+j,2)=bi2de(POP((i-1)*n+j,[xarea+1:xarea+yarea]))+1; pop((i-1)*n+j,3)=bi2de(POP((i-1)*n+j,[xarea+yarea+1:panjangkrom]))*pi/(2^(sudut-1)); end % [z r(i) s]=tempatkam(pop([(i-1)*n+1:i*n],1),pop([(i-1)*n+1:i*n],2),pop([(i-1)*n+1:i*n],3),n,xarea,yarea); [z r(i) s]=tempat2(pop([(i-1)*n+1:i*n],1),pop([(i-1)*n+1:i*n],2),pop([(i-1)*n+1:i*n],3),n,xarea,yarea); %display hasil % image(z([s+1:s+2^xarea],[s+1:s+2^yarea])+1); image(z+1); map=[ 0 0.75 1; 1 1 0; 0 0.5 0; 1 0.7 0.75; 0 0 0]; colormap(map) figure(2); if r(i)>best best=r(i); ibest=[POP([(i-1)*n+1:i*n],:),pop([(i-1)*n+1:i*n],:)]; zbest=z; % image(z([s+1:s+2^xarea],[s+1:s+2^yarea])+1); image(z+1); map=[ 0 0.75 1; 1 1 0; 0 0.5 0; 1 0.7 0.75 0 0 0]; colormap(map) figure(3);

end end

end end