• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Analisis Hasil Panen Padi menggunakan Pemodelan Kuadratik dan Ant Colony Otimization (ACO)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Analisis Hasil Panen Padi menggunakan Pemodelan Kuadratik dan Ant Colony Otimization (ACO)"

Copied!
13
0
0

Teks penuh

(1)
(2)

xiv

Lampiran 1: Data padi sawah tahun 1992-2012 dari BPS kota Surakarta

No

Tahun

(3)

xv

Lampiran 2: Program MATLAB untuk mendapatkan parameter fungsi tujuan periode

tanam III dengan metode kuadrat terkecil

%data untuk periode tanam III di simpan dengan nama “data2.dat”

173 83 55.30

176 103 63.08

133 113 57.07

96 103 64.17

126 101 63.36

65 71 65.77

106 84 56.90

83 78 64.74

88 81 46.66

101 62 56.77

91 51 52.54

88 42 52.14

65 48 52.29

83 55 52.14

88 56 51.07

84 49 51.33

80 51 52.69

82 87 51.44

76 55 50.94

60 31 69.83

(4)

xvi

%program untuk mendapatkan parameter fungsi tujuan disimpan dengan nama

“MKT3”

clear all;close all;

%Cari alpa dengan meyusun matriks Ax=b dan x=[alpa] dengan metode kuadrat

terkecil

load 'data2.dat'

%untuk memanggil data yang suda disimpan dengan nama data2

[m,n]=size(data2)

% data dibuat tak berdimensi

T=data2(:,1)/max(data2(:,1));

P=data2(:,2)/max(data2(:,2));

S=data2(:,3)/max(data2(:,3));

Datatakberdim=[T P S]

x=T;

y=P;

%menyusun matriks A

%Matriks A hanya digunakan untuk fungsi kuadratik 2 variabel untuk fungsi yang lain

dapat disusun matriks A yang lain juga.

a11=sum(x.^4);a12=sum(x.^2.*y.^2);a13=sum(x.^3.*y);a14=sum(x.^3);

a15=sum(x.^2.*y);a16=sum(x.^2);

a21=sum(x.^2.*y.^2);a22=sum(y.^4);a23=sum(x.*y.^3);a24=sum(x.*y.^2);

a25=sum(y.^3);a26=sum(y.^2);

a31=a13;a32=a23;a33=a21;a34=a15;

a35=a24;a36=sum(x.*y);

a41=a14;a42=a24;a43=a34;a44=a16;

a45=a36;a46=sum(x);

(5)

xvii a55=a26;a56=sum(y);

a61=a16;a62=a26;a63=a36;a64=a46;

a65=a56;a66=n;

A=[a11 a12 a13 a14 a15 a16;

a21 a22 a23 a24 a25 a26;

a31 a32 a33 a34 a35 a36;

a41 a42 a43 a44 a45 a46;

a51 a52 a53 a54 a55 a56;

a61 a62 a63 a64 a65 a66];

%vb adalah ruas kanan

vb=[sum(S.*x.^2); sum(S.*y.^2);sum(S.*x.*y);sum(S.*x);sum(S.*y);sum(S)];

alpa=inv(A)*vb;

%hasil yang diperoleh

hasil=alpa(1)*x.^2 + alpa(2)*y.^2 + alpa(3)*x.*y + alpa(4)*x+alpa(5)*y+alpa(6);

figure

plot(1:m,S,'*-',1:m,hasil,'o-')

legend('hasil','pendekatan')

xlabel('indeks')

ylabel('fungsi tujuan')

%untuk mencari error

error=norm(S-hasil)/norm(S)*100 %sudah dalam bentuk persen %untuk mencari kondisional number

(6)

xviii

Lampiran 3: Fungsi fsolve pada MATLAB untuk periode tanam III

%menuliskan fungsi tujuan disimpan dengan nama “soal2”

function F = soal2(x)

F = -[x(3)*(x(1)-1);

x(4)*(x(2)-x(1));

x(5)*-x(1);

x(6)*-x(2);

2*1.067*x(1)-1.684*x(2)-0.319+x(3)-x(4)-x(5);

2*-1.012*x(2)-1.684*x(1)+2.510+x(4)-x(6)];

%program disimpan dengan nama “jawab2”

% membuat titik-titik dugaan solusi

x0 = [1;0.3;0;0;0.2;0.9];

%pilihan untuk menampilkan keluaran program

options=optimset('Display','iter');

(7)

xix

Lampiran 4: Mencari parameter fungsi tujuan menggunakan SVD untuk periode III

%program disimpan dengan nama “SVD3”

clear all;close all;

%Cari alpha beta dengan meyusun matriks Ax=b dan x=[alpa] load 'data2.dat'

[m,n]=size(data2)

%data dibuat tak berdimensi T=data2(:,1)/max(data2(:,1));

P=data2(:,2)/max(data2(:,2));

S=data2(:,3)/max(data2(:,3));

Datatakberdim=[T P S]

x=T;

y=P;

i=ones(1,length(x))';

%meyusun matriks A dari data A=[x.^2 y.^2 x.*y x y i];

rank(A)

[U,sigma,V]=svd(A)

% U*sigma*V'-A haruslah 0 U*sigma*V'-A

%ruas kanan b=S;

c=U'*b

ctopi=c;

(8)

xx %membuang baris ke-i dimana i > rank(A) ctopi(7:21,:)=[]

Stopi(7:21,:)=[]

ytopi=inv(Stopi)*ctopi

%hasil

alpa=V*ytopihasil=alpa(1)*x.^2 + alpa(2)*y.^2 + alpa(3)*x.*y + alpa(4)*x+alpa(5)*y+alpa(6);

figure

plot(1:m,S,'*-',1:m,hasil,'o-')

legend('hasil','pendekatan')

xlabel('indeks')

ylabel('fungsi tujuan')

error=norm(S-hasil)/norm(S)*100 % sudah dalam persen %untuk mencari kondisional number

(9)

xxi

Lampiran 5: Ant Colony Optimization (ACO) untuk periode III

 %fungsi tujuan untuk ACO disimpan dengan nama “mysoal3” function f=mysoal3(x)

f=(1.1955*x(1)^2+0.7538*x(2)^2-0.1339*x(1)*x(2)-1.6698*x(1)-0.6658*x(2)+1.3404+ x(3)*(x(1)-1)+x(4)*(x(2)-x(1))-x(5)*x(1)-x(6)*x(2));

 %program disimpan dengan nama “semut6_3” %program ACO

Clear

%N merupakan banyaknya semut yang akan melakukan perjalanan N=20;

%menentukan titik awal dengan bilangan random x=rand(100);

p=length(x);

duga=1;

tau=ones(p,1)*duga;

prob=tau./sum(tau)

%susun interval probabilitas x0j=[0;[1:p-1]'.*prob(1:p-1)]

x1j=[[1:p-1]'.*prob(1:p-1); 1]

xj=[x0j x1j]

%Tahap 2 kounter=1;

(10)

xxii r=rand(N,1);

while kounter <MAXIT

kounterku=kounter

%xb sebanyak variabel yang akan dicari, dalam kasus ini 6 variabel xb1(i)=x(indexku,1);

%Hitung fungsi tujuan tiap semut for i=1:length(vxb)

fv(i)=mysoal3(vxb(i,:)); end

%cari indeks yang membuat fungsi tujuan terbagus dan buruk w=fv;

indeksbest=find(w==min(fv)); indeksworst=find(w==max(fv));

(11)

xxiii indekbgs=min(indeksbest)

xbest=x(indekbgs,:); end

if length(indeksworst)>=1 indekjelek=min(indeksworst) xworst=x(indekjelek,:);

end %Tahap4

chi=2; %parameter menskala tau rho=0.5; %parameter penurunan paramon deltatau = chi*fv(indekbgs)/fv(indekjelek) tau=(1-rho)*tau;

taubaru=tau + deltatau; if norm(taubaru)> norm(tau) tau=taubaru;

end

kounter=kounterku+1;

p=length(vxb); %untuk memperbaharui probabilitas tau prob=tau./sum(tau);

x0j=[0;[1:p-1]'.*prob(1:p-1)]; x1j=[[1:p-1]'.*prob(1:p-1); 1]; xj=[x0j x1j];

x=vxb; end

(12)

xxiv

Lampiran 6: Studi konveks untuk fungsi tujuan SVD pada periode III

%program disimpan dengan nama “convek3”

clear

close all

%studi konveks

lamda=linspace(0,1,10); %memvariasi lamda

%memilih D adalah himpunan titik-titik pada garis x = 0 c=0;

y=0:0.1:1;

n=length(y);

x=c*ones(1,n);

plot(x,y,'-')

axis([-3 3 -3 3])

xy=[x' y' y' y' y' y']

vx(1)=xy(1,1)

vx(2)=xy(1,2)

vx(3)=xy(1,3)

vx(4)=xy(1,4)

vx(5)=xy(1,5)

vx(6)=xy(1,6)

vy(1)=xy(2,1)

vy(2)=xy(2,2)

vy(3)=xy(2,3)

(13)

xxv vy(5)=xy(2,5)

vy(6)=xy(2,6)

pl=length(lamda);

fu=zeros(pl,1);

Kanan=zeros(pl,1);

for i=1:pl

u(1)=lamda(i)*vx(1) + (1-lamda(i))*vy(1)

u(2)=lamda(i)*vx(2) + (1-lamda(i))*vy(2)

u(3)=lamda(i)*vx(3) + (1-lamda(i))*vy(3)

u(4)=lamda(i)*vx(4) + (1-lamda(i))*vy(4)

u(5)=lamda(i)*vx(5) + (1-lamda(i))*vy(5)

u(6)=lamda(i)*vx(6) + (1-lamda(i))*vy(6)

fu(i)=1.1955*u(1)^2 -0.1339*u(1)*u(2) +0.7538*u(2)^2 -1.6698*u(1) -0.6658*u(2)-1.3404+u(3)*(u(1)-1)+u(4)*(u(2)-u(1))-u(5)*u(1)-u(6)*u(2)

fx=1.1955*vx(1)^2 0.1339*vx(1)*vx(2) +0.7538*vx(2)^2 1.66988*vx(1) -0.6658*vx(2) -1.3404+vx(3)*(vx(1)-1)+vx(4)*(vx(2)-vx(1))-vx(5)*vx(1)-vx(6)*vx(2)

fy=1.1955*vy(1)^2 0.1339*vy(1)*vy(2) +0.7538*vy(2)^2 1.6698*vy(1)

-0.6658*vy(2) -1.3404+vy(3)*(vy(1)-1)+vy(4)*(vy(2)-vy(1))-vy(5)*vy(1)-vy(6)*vy(2)

Kanan(i)=lamda(i)*fx + (1-lamda(i))*fy

end

Banding=[lamda' fu Kanan]

figure,plot(1:pl,fu,'*',1:pl,Kanan,'o')

Gambar

figure plot(1:m,S,'*-',1:m,hasil,'o-')
figure plot(1:m,S,'*-',1:m,hasil,'o-')

Referensi

Dokumen terkait

[r]

Setiap tahunnya Universitas Kristen Satya Wacana (UKSW) menerima ribuan mahasiswa baru dari berbagai fakultas. Salah satu masalah yang dialami sebagian besar

Puji syukur kepada Tuhan Yang Maha Esa, atas berkat dan rahmat-Nya, sehingga dapat menyelesaikan laporan Tugas Akhir yang berjudul “Membangun Audio Player

keduanya harus dimodelkan, mengingat semua gaya yang bekerja dan parameter platform EV yang akan ditambah dengan kecepatan rotasi roda melalui karakteristik dari motor

Tujuan dari penelitian ini adalah melanjutkan perancangan algoritma berbasis pada kearifan lokal yaitu tanam padi, bajak sawah dan menghasilkan panen padi

Hasil penelitian aplikasi pencarian rute terbaik dengan menggunkan metode Ant Colony Optimization(ACO) dan Simple Additive Weighting(SAW), dapat digunakan untuk

Dengan kata lain, pe- ngaruh dari pembaruan lokal ini adalah untuk mem- buat tingkat kemenarikan ruas-ruas yang ada berubah secara dinamis: setiap kali seekor semut

Prof Sudharto, SH, Kampus UNDIP Tembalang, Semarang 50275, Indonesia *E-mail: [email protected] Abstrak Tingkat kebutuhan energi listrik yang semakin meningkat menyebabkan