Академический Документы
Профессиональный Документы
Культура Документы
1) Penerapan Fuzzy Logic Controller (FLC) Pengaturan jumlah volume air berdasarkan suhu dan kelembaban yang berbeda. a. Membuka fis editor dengan mengetikkan kata fuzzy pada command window program MATLAB.
h. Menjalankan simulasi program FLC dengan input suhu dan kelembaban yang berbeda-beda. Input suhu 20C dan input kelembaban 35%.
Setelah program dijalankan dengan input suhu 20C dan input kelembaban sebesar 35%, maka pompa air akan beoperasi selama 2,732 detik. Berikut hasil plot pada Rule Viewer dan Surface Viewer.
Setelah program dijalankan dengan input suhu 35C dan input kelembaban sebesar 55%, maka pompa air akan beoperasi selama 8 detik. Berikut hasil plot pada Rule Viewer dan Surface Viewer.
2) Aplikasi Algoritma Genetika (AG) untuk menentukan karakter Huruf Jumlah Populasi yang digunakan : 10 Mutation rate : 15% String Target : WAHYU Karena yang akan dikenali adalah string yang terdiri dari karakter, maka untuk kromosom yang digunakan adalah decimal konversi karakter, misalnya A menjadi 1, B menjadi 2,,Z menjadi 26. Sehingga interpretasi target adalah [23 1 8 25 21]. Setelah program dijalankan, Kromosom terbaik mempunyai nilai fitness terbaik maksimal yaitu 130 dengan kata : WAHYU yang didapat pada populasi dengan generasi ke Populasi yang dibangkitkan dengan nilai Fitnes terbaik [23 1 8 25 21] yang membentuk karakter kata WAHYU sebagai berikut :
Kromosom 2 7 1 1 8 25 21 26 13 26 21 25 20 25 25 1 1 3 5 8 5 1 5 1 5
Sel 98 97 97 91 90
Fitnes 32 33 33 39 40
20 20 23 23 23 23
4 1 2 1 2 1
8 8 7 9 8 8
25 21 25 25 25 25
24 20 19 20 21 21
9 8 4 2 1 0
6/13/12 8:34 PM
D:\kuliah\DKC\TGS_Huruf.m
1 of 2
%=================================================================== %Aplikasi Algoritma Genetika (AG)untuk menentukan karakter Huruf %Nama : Wahyu Susongko %NIM : 0819451020 %Jurusan : Teknik Elektro %Mata Kuliah : Dasar Komputasi Cerdas (DKC) %=================================================================== target='WAHYU';jmlPop = 10;mut=0.15; [M,N]=size(target); targetdec=[23 1 8 25 21]; for i=1:N tmp =cast(target(i),'uint8')-64; %targetdec=cat(2,targetdec,tmp); targetdec(i)=tmp; end Popangka = []; Pophuruf = []; for i=1:jmlPop for j=1:N Popangka(i,j)=ceil(rand()*26); end end clear Krombest;clear Ratafit; clear Hasil; for iterasi = 1:1 %Melakukan Hitung Fitnes %26(N)-f maks=26*N; %Fit=[];Sel=[]; for i=1:jmlPop nilaiF=0; for j=1:N nilaiF = nilaiF+abs(targetdec(j)-Popangka(i,j)); end Popangka(i,N+1)=nilaiF'; Popangka(i,N+2)=abs(maks-nilaiF)'; end %Popangka Popangka2 = flipud(sortrows(Popangka,N+2)) Krombest(iterasi,:)=Popangka2(1,:); RataFit(iterasi)=mean(Popangka(:,N+2)); Pop{iterasi}=Popangka; if Krombest(iterasi,N+2)== maks break; end
6/13/12 8:34 PM
D:\kuliah\DKC\TGS_Huruf.m
2 of 2
%Seleksi, pakai turnamen %Hitung prop dan kumulasinya Popangka=flipud(sortrows(Popangka,N+2)); Popbaru=Popangka(1:ceil(jmlPop/2),:); %Lakukan Crossover %Pakai Single Point %Titik antara 2 sampai N/2 clear Popbaru2; tengah = ceil(jmlPop/2); for i=1:tengah acak = ceil(rand()*ceil(N/2))+1; if i == tengah j =1; else j =i+1; end tmp11 = Popbaru(i,1:acak-1); tmp21 = Popbaru(j,1:acak-1); tmp12 = Popbaru(j,acak:N); tmp22 = Popbaru(i,acak:N); tmp = cat(2,tmp11,tmp12); Popbaru2(2*i-1,:)=tmp; end %Mutasi %5% dilakukan mutasi sehingga 0.15*N*jmlPop jmlMut = mut*N*jmlPop; for i=1:jmlMut acak = ceil(rand()*N*jmlPop); SeqKrom(acak) = ceil(rand()*26); end end