LAMPIRAN Lampiran 1 Kode program Login if(edit1.text='') or (Edit2.Text='') or (ComboBox1.Text='') then ShowMessage('Isi Username Dan Password Dengan Benar!'); login; nom:=strtoint(edit3.text); if(nom>0) then if (Edit4.Text='Admin') then Form2.Login1.Enabled:=false; Form2.Aplikasi1.Enabled:=true; Form2.Add1.Enabled:=true; Form2.Edit1.Enabled:=true; Form2.AddRule1.Enabled:=true; Form2.EditdanDeleteRule1.Enabled:=true; Form2.AplikasiPerbandingan1.Enabled:=true; Form2.AddAdmin1.Enabled:=true; Form2.EditdanDeleteAdmin1.Enabled:=true; Form18.Button2.Enabled:=true; Form8.Close; Form2.Login1.Enabled:=false; Form2.Aplikasi1.Enabled:=true; Form2.Add1.Enabled:=false; Form2.Edit1.Enabled:=false; Form2.AddRule1.Enabled:=false; Form2.EditdanDeleteRule1.Enabled:=false; Form2.AplikasiPerbandingan1.Enabled:=true; Form2.AddAdmin1.Enabled:=false; Form2.EditdanDeleteAdmin1.Enabled:=false; Form18.Button2.Enabled:=false; Form8.Close; 1
2 ShowMessage('Isi Username Dan Password Dengan Benar!'); Edit1.SetFocus; Edit1.Text:=''; Edit2.Text:=''; Lampiran 2 Script buat table kecerungan produksi procedure TForm13.grids; var jml : integer; m,br:integer; pp,ip,pq,iq,pr,ir,ps,iss,pt,it,pu,iu,pv,iv : real; for m:=0 to 7 do for br:=1 to grid1.rowcount do grid1.cells[m,br]:=''; grid1.rowcount:=2; jml:=1; grid1.cells[0,0]:='bulan'; grid1.cells[1,0]:='permintaan'; grid1.cells[2,0]:='persediaan'; grid1.cells[3,0]:='tenaga'; grid1.cells[4,0]:='jam'; grid1.cells[5,0]:='biaya'; grid1.cells[6,0]:='profit'; grid1.cells[7,0]:='produksi'; SQLQuery1.Close;
3 SQLQuery1.SQL.Clear; SQLQuery1.SQL.Add ('select * from data_produksi order by id asc'); SQLQuery1.Open; pp := strtofloat(edit1.text); pq := strtofloat(edit2.text); pr := strtofloat(edit3.text); ps := strtofloat(edit4.text); pt := strtofloat(edit5.text); pu := strtofloat(edit6.text); pv := strtofloat(edit7.text); while not SQLQuery1.Eof do grid1.cells[0,jml] := SQLQuery1.FieldByName('tahun').AsString; ip := strtofloat(sqlquery1.fieldbyname('permintaan').asstring); if(ip>pp) then grid1.cells[1,jml] := 'Banyak'; grid1.cells[1,jml] := 'Sedikit'; pp := ip; iq := strtofloat(sqlquery1.fieldbyname('persediaan').asstring); if(iq>pq) then
4 grid1.cells[2,jml] := 'Banyak'; grid1.cells[2,jml] := 'Sedikit'; pq := iq; ir := strtofloat(sqlquery1.fieldbyname('tenaga_kerja').asstring); if(ir>pr) then grid1.cells[3,jml] := 'Banyak'; grid1.cells[3,jml] := 'Sedikit'; pr := ir; iss := strtofloat(sqlquery1.fieldbyname('jam_kerja').asstring); if(iss>ps) then grid1.cells[4,jml] := 'Bertambah'; grid1.cells[4,jml] := 'Berkurang';
5 ps := iss; it := strtofloat(sqlquery1.fieldbyname('biaya_tk').asstring)+strtofloat(sql Query1.FieldByName('biaya_bb').AsString)+strtofloat(SQLQuery1.Field ByName('biaya_bpm').AsString)+strtofloat(SQLQuery1.FieldByName('bi aya_bs').asstring); if(it>pt) then grid1.cells[5,jml] := 'Bertambah'; grid1.cells[5,jml] := 'Berkurang'; pt := it; iu := strtofloat(sqlquery1.fieldbyname('profit').asstring); if(iu>pu) then grid1.cells[6,jml] := 'Bertambah'; grid1.cells[6,jml] := 'Berkurang'; pu := iu; iv := strtofloat(sqlquery1.fieldbyname('produksi').asstring);
6 if(iv>pv) then grid1.cells[7,jml] := 'Naik'; grid1.cells[7,jml] := 'Turun'; pv := iv; SQLQuery1.Next; grid1.rowcount:=grid1.rowcount+1; inc(jml); SQLQuery1.Close; Lampiran 3 Kode Program Fuzzy System procedure TForm1.Button1Click(Ser: TObject); var pmi,pmii,pmm,pmmm,pinta :real; psi,psii,psm,psmm,sedia :real; tki,tkm,tkii,tkmm,kerja :real; jki,jkm,jkii,jkmm,jam :real; bpi,bpm,bpii,bpmm,biaya :real; pri,prm,prii,prmm,profit :real; pteng,pmturning, pmupper : real; psturning, psupper : real; tkturning, tkupper : real; jkturning, jkupper : real;
7 bpturning, bpupper : real; prturning, prupper : real; pmi := strtofloat(edit36.text); pmm := strtofloat(edit15.text); pmii := strtofloat(edit41.text); pmmm := strtofloat(edit42.text); pinta := strtofloat(edit1.text); psi := strtofloat(edit30.text); psm := strtofloat(edit35.text); psii := strtofloat(edit43.text); psmm := strtofloat(edit44.text); sedia:= strtofloat(edit2.text); tki := strtofloat(edit18.text); tkm := strtofloat(edit19.text); tkii := strtofloat(edit45.text); tkmm := strtofloat(edit46.text); kerja:= strtofloat(edit3.text); jki := strtofloat(edit23.text); jkm := strtofloat(edit24.text); jkii := strtofloat(edit47.text); jkmm := strtofloat(edit48.text); jam := strtofloat(edit4.text); bpi := strtofloat(edit28.text); bpm := strtofloat(edit29.text); bpii := strtofloat(edit49.text); bpmm := strtofloat(edit50.text); biaya:= strtofloat(edit5.text)+strtofloat(edit6.text)+strtofloat(edit7.text)+str tofloat(edit8.text); pri := strtofloat(edit33.text); prm := strtofloat(edit34.text); prii := strtofloat(edit51.text); prmm := strtofloat(edit52.text); profit:= strtofloat(edit9.text); if (Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') or (Edit4.Text='') or (Edit5.Text='') or (Edit6.Text='') or (Edit7.Text='') or (Edit8.Text='') or (Edit9.Text='') or (ComboBox1.Text='') or (ComboBox2.Text='') then
8 ShowMessage('Isi Form Dengan Benar'); Edit1.Text:=inttostr(0); Edit2.Text:=inttostr(0); Edit3.Text:=inttostr(0); Edit4.Text:=inttostr(0); Edit5.Text:=inttostr(0); Edit6.Text:=inttostr(0); Edit7.Text:=inttostr(0); Edit8.Text:=inttostr(0); Edit9.Text:=inttostr(0); Edit1.SetFocus; pmturning := turun(pmi,pmmm,pinta); pmupper := naik(pmii,pmm,pinta); Edit20.Text := FloatToStr(pmturning); Edit25.Text := FloatToStr(pmupper); //Edit41.Text := FloatToStr(awal); psturning := turun(psi,psmm,sedia); psupper := naik(psii,psm,sedia); Edit37.Text := FloatToStr(psturning); Edit10.Text := FloatToStr(psupper); tkturning := turun(tki,tkmm,kerja); tkupper := naik(tkii,tkm,kerja); Edit16.Text := FloatToStr(tkturning); Edit17.Text := FloatToStr(tkupper); jkturning := turun(jki,jkmm,jam); jkupper := naik(jkii,jkm,jam); Edit21.Text := FloatToStr(jkturning); Edit22.Text := FloatToStr(jkupper); bpturning := turun(bpi,bpmm,biaya); bpupper := naik(bpii,bpm,biaya); Edit26.Text := FloatToStr(bpturning); Edit27.Text := FloatToStr(bpupper); prturning := turun(pri,prmm,profit); prupper := naik(prii,prm,profit); Edit31.Text := FloatToStr(prturning); Edit32.Text := FloatToStr(prupper); Memo1.Text:=''; fuzzy;
9 Lampiran 4 Persentase Naik Turun Di script ini terdapat system yang menyebabkan angka naik turun berpindah sesuai persentase yang dipilih:
10 function TForm1.turun(var a,b,c :real):real; var bwh,ats,bg:real; bwh := b - a;// max-min ats := b - c;//max-x bg := ats/bwh; if(bg>1) then bg:=0; if(bg<0) then bg:=0; bg:=bg; Result := bg; function TForm1.naik(var a,b,c:real):real; var bwh,ats,bg:real; bwh := b - a; //max-min ats := c - a; //x-min bg := ats/bwh; if(bg>1) then bg:=0; if(bg<0) then bg:=0; bg:=bg; Result := bg; End; Lampiran 5 Fungsi fuzzy
11 Di script ini terdapat fungsi fuzzy dimana system ini yang menghitung dan menjalankan aplikasi fuzzy yang telah dituliskan diatas : procedure TForm1.fuzzy; var sprod : string; sminta,ssedia,skerja,sjam,sbiaya,sprofit : real; indek,i : integer; rminta,rsedia,rkerja,rjam,rbiaya,rprofit,rprod,produksim in,produksimink : real; predikat : array of real; z : array of real; Zatas,Zbawah,ZZ : real; Setlength(predikat,narray); Setlength(z,narray); SQLQuery3.Close; SQLQuery3.SQL.Clear; SQLQuery3.SQL.Add('Select * FROM rule'); SQLQuery3.Open; indek := 0; Zatas := 0; Zbawah := 0; ZZ:=0; while not SQLQuery3.Eof do rminta := 0; rsedia := 0; rkerja := 0; rjam := 0; rbiaya := 0; rprofit := 0; rprod :=0; sminta := strtofloat(sqlquery3.fieldbyname('pinta').asstring); ssedia := strtofloat(sqlquery3.fieldbyname('sedia').asstring); skerja := strtofloat(sqlquery3.fieldbyname('kerja').asstring); sjam := strtofloat(sqlquery3.fieldbyname('jam').asstring); sbiaya := strtofloat(sqlquery3.fieldbyname('biaya').asstring); sprofit := strtofloat(sqlquery3.fieldbyname('profit').asstring); sprod := SQLQuery3.FieldByName('produksi').AsString; predikat[indek]:= 10000000000; if(sminta=1) then rminta := strtofloat(edit20.text); predikat[indek]:= Min(predikat[indek],rminta);
12 h rminta := strtofloat(edit25.text); predikat[indek]:= Min(predikat[indek],rminta); produksimin := strtofloat(edit12.text)- strtofloat(edit11.text); produksimink := produksimin*predikat[indek]; if(sprod='turun') then rprod := (produksimink - strtofloat(edit12.text))*-1; rprod := produksimink + strtofloat(edit11.text); z[indek]:= rprod; indek := indek+1; SQLQuery3.Next; SQLQuery3.Close; for i:= 0 to Length(predikat)-1 do Zatas := Zatas + z[i]*predikat[i]; Zbawah := Zbawah + predikat[i]; Memo1.Text := Memo1.Text+'Predikat Ke'+inttostr(i)+'='+floattostr(predikat[i])+sLineBreak; Memo1.Text := Memo1.Text+'z Ke'+inttostr(i)+'='+floattostr(z[i])+sLineBreak; ZZ := Zatas/Zbawah; Edit13.Text:=floattostr(Zatas); Edit14.Text:=floattostr(Zbawah); Memo1.Text := Memo1.Text+'Hasil Produksi='+floattostr(ZZ)+sLineBreak; Label14.Caption := floattostr(zz);
13 Lampiran 6 Script Simpan Data Produksi procedure TForm3.simpan; var tgl : string; if (edit1.text='') Or (ComboBox1.Text='') Or (Edit2.Text='') Or (Edit3.Text='') Or (Edit4.Text='') Or (Edit5.Text='') Or (Edit6.Text='') Or (Edit7.Text='') Or (Edit8.Text='') Or (Edit9.Text='') Or (Edit10.Text='') Or (Edit11.Text='') Or (Edit12.Text='') then ShowMessage('Field Masih Ada Yang Kosong!!'); Edit1.SetFocus; tgl := ComboBox1.Text+' '+Edit2.Text; SQLQuery1.Close; SQLQuery1.SQL.Clear; SQLQuery1.SQL.Add('INSERT INTO data_produksi (id,tahun,permintaan,persediaan,tenaga_kerja,jam_kerja,biaya_tk, biaya_bb,biaya_bpm,biaya_bs,profit,produksi)'); SQLQuery1.SQL.Add('VALUES '); SQLQuery1.SQL.Add('('+#39+Edit1.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+tgl+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit3.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit4.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit5.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit6.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit7.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit10.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit11.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit12.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit8.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit9.Text+#39+')'); SQLQuery1.ExecSQL; ShowMessage('Data Anda Sudah Di Simpan'); Edit1.Text:=''; ComboBox1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; Edit4.Text:=''; Edit5.Text:=''; Edit6.Text:=''; Edit7.Text:=''; Edit8.Text:=''; Edit9.Text:=''; Edit10.Text:=''; Edit11.Text:=''; Edit12.Text:='';
14 Lampiran 7 Script Simpan Data Produksi procedure TForm5.simpan; var tgl : string; if (edit1.text='') Or (ComboBox1.Text='') Or (Edit3.Text='') Or (Edit4.Text='') Or (Edit5.Text='') Or (Edit6.Text='') Or (Edit7.Text='') Or (Edit8.Text='') then ShowMessage('Field Masih Ada Yang Kosong!!'); Edit1.SetFocus; SQLQuery1.Close; SQLQuery1.SQL.Clear; SQLQuery1.SQL.Add('INSERT INTO rule (nomor,pinta,sedia,kerja,jam,biaya,profit,produksi)'); SQLQuery1.SQL.Add('VALUES '); SQLQuery1.SQL.Add('('+#39+Edit1.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit3.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit4.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit5.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit6.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit7.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+Edit8.Text+#39+','); SQLQuery1.SQL.Add(' '+#39+ComboBox1.Text+#39+')'); SQLQuery1.ExecSQL; ShowMessage('Data Anda Sudah Di Simpan'); Edit1.Text:=''; ComboBox1.Text:=''; Edit3.Text:=''; Edit4.Text:=''; Edit5.Text:=''; Edit6.Text:=''; Edit7.Text:=''; Edit8.Text:='';