LAMPIRAN A: DDL DATABASE MySQL-Front 5.1 (Build 2.7) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET SQL_MODE='' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */; /*!40103 SET SQL_NOTES='ON' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS */; /*!40014 SET UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS */; /*!40014 SET FOREIGN_KEY_CHECKS=0 */; Host: localhost Database: skripsi ------------------------------------------------------ Server version 5.0.51a Source for table manager DROP TABLE IF EXISTS `manager`; CREATE TABLE `manager` ( `kode_manager` varchar(4) NOT NULL, `pemesanan` varchar(7) NOT NULL, `persediaan` varchar(7) NOT NULL, PRIMARY KEY (`kode_manager`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Dumping data for table manager LOCK TABLES `manager` WRITE; /*!40000 ALTER TABLE `manager` DISABLE KEYS */; /*!40000 ALTER TABLE `manager` ENABLE KEYS */; UNLOCK TABLES; Source for table pemesanan DROP TABLE IF EXISTS `pemesanan`; CREATE TABLE `pemesanan` ( `id` int(11) NOT NULL, `kode_pemesanan` varchar(4) NOT NULL, `tahun` int(4) NOT NULL, `bulan` varchar(20) NOT NULL, `jumlah_pemesanan` int(7) NOT NULL,
PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=37 DEFAULT CHARSET=latin1; Dumping data for table pemesanan LOCK TABLES `pemesanan` WRITE; /*!40000 ALTER TABLE `pemesanan` DISABLE KEYS */; INSERT INTO `pemesanan` VALUES (1,'0107',2007,'Januari',26500); INSERT INTO `pemesanan` VALUES (2,'0207',2007,'Pebruari',20500); INSERT INTO `pemesanan` VALUES (3,'0307',2007,'Maret',39000); INSERT INTO `pemesanan` VALUES (4,'0407',2007,'April',30500); INSERT INTO `pemesanan` VALUES (5,'0507',2007,'Mei',33000); INSERT INTO `pemesanan` VALUES (6,'0607',2007,'Juni',44500); INSERT INTO `pemesanan` VALUES (7,'0707',2007,'Juli',17500); INSERT INTO `pemesanan` VALUES (8,'0807',2007,'Agustus',29500); INSERT INTO `pemesanan` VALUES (9,'0907',2007,'September',34000); INSERT INTO `pemesanan` VALUES (10,'1007',2007,'Oktober',40500); INSERT INTO `pemesanan` VALUES (11,'1107',2007,'November',22500); INSERT INTO `pemesanan` VALUES (12,'1207',2007,'Desember',38500); INSERT INTO `pemesanan` VALUES (13,'0108',2008,'Januari',28000); INSERT INTO `pemesanan` VALUES (14,'0208',2008,'Pebruari',24500); INSERT INTO `pemesanan` VALUES (15,'0308',2008,'Maret',25500); INSERT INTO `pemesanan` VALUES (16,'0408',2008,'April',32000); INSERT INTO `pemesanan` VALUES (17,'0508',2008,'Mei',2500); INSERT INTO `pemesanan` VALUES (18,'0608',2008,'Juni',24000); INSERT INTO `pemesanan` VALUES (19,'0708',2008,'Juli',52500); INSERT INTO `pemesanan` VALUES (20,'0808',2008,'Agustus',44500); INSERT INTO `pemesanan` VALUES (21,'0908',2008,'September',34000); INSERT INTO `pemesanan` VALUES (22,'1008',2008,'Oktober',23500); INSERT INTO `pemesanan` VALUES (23,'1108',2008,'November',32000); INSERT INTO `pemesanan` VALUES (24,'1208',2008,'Desember',33000); INSERT INTO `pemesanan` VALUES (25,'0109',2009,'Januari',35000); INSERT INTO `pemesanan` VALUES (26,'0209',2009,'Pebruari',34500); INSERT INTO `pemesanan` VALUES (27,'0309',2009,'Maret',34500); INSERT INTO `pemesanan` VALUES (28,'0409',2009,'April',37000); INSERT INTO `pemesanan` VALUES (29,'0509',2009,'Mei',30500); INSERT INTO `pemesanan` VALUES (30,'0609',2009,'Juni',40500); INSERT INTO `pemesanan` VALUES (31,'0709',2009,'Juli',23500); INSERT INTO `pemesanan` VALUES (32,'0809',2009,'Agustus',51000); INSERT INTO `pemesanan` VALUES (33,'0909',2009,'September',52000);
INSERT INTO `pemesanan` VALUES (34,'1009',2009,'Oktober',61000); INSERT INTO `pemesanan` VALUES (35,'1109',2009,'November',64500); INSERT INTO `pemesanan` VALUES (36,'1209',2009,'Desember',33500); /*!40000 ALTER TABLE `pemesanan` ENABLE KEYS */; UNLOCK TABLES; Source for table persediaan DROP TABLE IF EXISTS `persediaan`; CREATE TABLE `persediaan` ( `id` int(11) NOT NULL, `kode_persediaan` varchar(4) NOT NULL, `tahun` varchar(4) NOT NULL, `bulan` varchar(20) NOT NULL, `jumlah_persediaan` varchar(7) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=37 DEFAULT CHARSET=latin1; Dumping data for table persediaan LOCK TABLES `persediaan` WRITE; /*!40000 ALTER TABLE `persediaan` DISABLE KEYS */; (1,'0107','2007','Januari','26500'); (2,'0207','2007','Pebruari','17500'); (3,'0307','2007','Maret','20500'); (4,'0407','2007','Maret','22500'); (5,'0507','2007','Mei','23500'); (6,'0607','2007','Juni','23500'); (7,'0707','2007','Juni','24000'); (8,'0807','2007','Agustus','24500'); (9,'0907','2007','September','25500'); (10,'1007','2007','Oktober','26500'); (11,'1107','2007','November','28000'); (12,'1207','2007','Desember','29500');
(13,'0108','2008','Januari','30500'); (14,'0208','2008','Pebruari','30500'); (15,'0308','2008','Maret','32000'); (16,'0408','2007','April','32000'); (17,'0508','2008','Mei','33000'); (18,'0608','2008','Juni','33000'); (19,'0708','2008','Mei','33500'); (20,'0808','2007','Agustus','34000'); (21,'0908','2008','September','34000'); (22,'1008','2008','Oktober','34500'); (23,'1108','2008','November','34500'); (24,'1208','2008','November','35000'); (25,'0109','2009','Januari','37000'); (26,'0209','2009','Pebruari','38500'); (27,'0309','2009','Maret','39000'); (28,'0409','2009','April','40500'); (29,'0509','2009','Mei','40500'); (30,'0609','2008','Juni','44500'); (31,'0709','2009','Juli','44500'); (32,'0809','2009','Agustus','51000'); (33,'0909','2009','September','52000'); (34,'1009','2008','Oktober','52500'); (35,'1109','2007','November','61000'); (36,'1209','2009','Desember','64500'); /*!40000 ALTER TABLE `persediaan` ENABLE KEYS */; UNLOCK TABLES; Source for table produksi
DROP TABLE IF EXISTS `produksi`; CREATE TABLE `produksi` ( `kode_produksi` varchar(4) NOT NULL, `tahun` varchar(4) NOT NULL, `bulan` varchar(20) NOT NULL, `jumlah_produksi` varchar(7) NOT NULL, PRIMARY KEY (`kode_produksi`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Dumping data for table produksi LOCK TABLES `produksi` WRITE; /*!40000 ALTER TABLE `produksi` DISABLE KEYS */; ('0107','2007','Januari','249000'); ('0108','2008','Januari','178000'); ('0109','2009','Januari','102500'); ('0207','2007','Pebruari','160500'); ('0208','2008','Pebruari','140500'); ('0209','2009','Pebruari','72000'); ('0307','2007','Maret','135000'); ('0308','2008','Maret','76500'); ('0309','2009','Maret','71000'); ('0407','2007','April','225500'); ('0408','2008','April','367500'); ('0409','2009','April','173500'); ('0507','2007','Mei','199500'); ('0508','2008','Mei','304000'); ('0509','2009','Mei','173000'); ('0607','2007','Juni','97500'); ('0608','2008','Juni','145000'); ('0609','2009','Juni','110500'); ('0707','2007','Juli','166000'); ('0708','2008','Juli','111000'); ('0709','2009','Juli','232000'); ('0807','2007','Agustus','191000'); ('0808','2008','Agustus','101500'); ('0809','2009','Agustus','186000'); ('0907','2007','September','116000'); ('0908','2008','September','63000');
('0909','2009','September','131000'); ('1007','2007','Oktober','236000'); ('1008','2008','Oktober','150500'); ('1009','2009','Oktober','182500'); ('1107','2007','November','129500'); ('1108','2008','November','102500'); ('1109','2009','November','211000'); ('1207','2007','Desember','127000'); ('1208','2008','Desember','172000'); ('1209','2009','Desember','69000'); /*!40000 ALTER TABLE `produksi` ENABLE KEYS */; UNLOCK TABLES; Source for table rules DROP TABLE IF EXISTS `rules`; CREATE TABLE `rules` ( `id` int(11) NOT NULL auto_increment, `pemesanan` varchar(50) NOT NULL default '0', `persediaan` varchar(50) NOT NULL default '0', `produksi` varchar(50) NOT NULL default '0', `nilai` int(11) NOT NULL default '0', `aturan` varchar(255) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Dumping data for table rules LOCK TABLES `rules` WRITE; /*!40000 ALTER TABLE `rules` DISABLE KEYS */; /*!40000 ALTER TABLE `rules` ENABLE KEYS */; UNLOCK TABLES; Source for table user DROP TABLE IF EXISTS `user`; CREATE TABLE `user` (
`user` varchar(20) NOT NULL, `password` varchar(20) NOT NULL, PRIMARY KEY (`password`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Dumping data for table user LOCK TABLES `user` WRITE; /*!40000 ALTER TABLE `user` DISABLE KEYS */; INSERT INTO `user` VALUES ('Bagian Gudang','gudang'); INSERT INTO `user` VALUES ('Manager','manager'); INSERT INTO `user` VALUES ('Bagian Pemesanan','pemesanan'); INSERT INTO `user` VALUES ('Bagian Produksi','produksi'); /*!40000 ALTER TABLE `user` ENABLE KEYS */; UNLOCK TABLES; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
LAMPIRAN B: LISTING PROGRAM Form Rules unit urules; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB, Grids, DBGrids; type Tfrules = class(tform) GroupBox1: TGroupBox; GroupBox2: TGroupBox; DSrules: TDataSource; DBGridrules: TDBGrid; ADOCrules: TADOConnection; ADOQrules: TADOQuery; btnlanjut: TBitBtn; btnbatal: TBitBtn; Memo1: TMemo; btnlanjutkan: TBitBtn; ADOQhasil: TADOQuery; procedure btnbatalclick(sender: TObject); procedure FormCreate(Sender: TObject); procedure btnlanjutclick(sender: TObject); procedure btnlanjutkanclick(sender: TObject); //procedure btnlanjutclick(sender: TObject); private { Private declarations } public
{ Public declarations } pemesanan_turun, pemesanan_biasa, pemesanan_naik, persediaan_turun, persediaan_biasa, persediaan_naik, toleransi_error : real; TNilai = class private // public x1,x2:real; constructor Create(x:real;y:real); var frules: Tfrules; implementation uses umanager, uproduksi, pemesanan, uhasil; {$R *.dfm} constructor TNilai.Create(x:real;y:real); Function Pow(Base, Exponent: real): real; Begin if Exponent = 0 then result := 1 else result := Base * Pow(Base); End; function Min(x:real;y:real):real; if (x < y) then result := x else result := y;
function Max(x:real;y:real):real; if ( x > y ) then result := x else result := y; {fungsi pemesanan turun} function pesanturun(x:real):real; if (x <= 75000) then result := 1-2 * Pow(( x / 100000),2); end else if (x <= 125000) then result := 2 * Pow( ((125000 - x) / 100000),2); end else result := 0; {fungsi pemesanan biasa} function pesanbiasa(x:real):real; if (x <= 75000) then result := 2 * Pow(x / 100000,2); end else if ( x <= 125000) then result := 1-2 * Pow((x/ 100000),2); end else if ( x <= 175000) then result := 1 + 2 * Pow((x-125000)/100000,2); end else if (x <= 225000) then result := 2 * Pow((225000-x)/100000,2);
{fungsi pemesanan naik} function pesannaik(x:real):real; if (x <= 125000) then result := 0; end else if ( x <= 175000) then result := 1-2 * Pow((125000-x)/100000,2); end else if ( x <= 225000) then result := 1-2 * Pow((225000-x)/100000,2); end else result := 1; {fungsi persediaan rendah} function sediarendah(x:real):real; if ( x <= 10000) then result := 1; end else if ( x <= 30000) then result := (30000 - x) / 20000; end else result := 0; {fungsi persediaan standar} function sediastandar(x:real):real; //if ( (x <= 20000) or (x > 30000)) then if ( (x <= 20000)) then result := 0; end else if ( x <= 30000) then result := (x - 20000) / 10000; end else result := (40000 - x) / 10000;
{fungsi persediaan tinggi} function sediatinggi(x:real):real; if ( x <= 30000) then result := 0; end else if ( x <= 50000) then result := (x - 30000) / 20000; end else result := 1; {fungsi produksi kurang} function prodkurang(x:real):real; result := 150000-(x * 100000); {fungsi produksi normal 1} function prodnormal1(x:real):real; result := 100000 + ( 50000 * x); {fungsi produksi normal 2} function prodnormal2(x:real):real; result := 200000 - (x * 50000); {fungsi produksi tambah} function prodtambah(x:real):real; result := 100000 * x + 150000;
procedure Tfrules.btnbatalClick(Sender: TObject); close; fmanager.show; procedure Tfrules.FormCreate(Sender: TObject); persediaan_turun:=0; persediaan_biasa:=0; persediaan_naik:=0; pemesanan_turun:=0; pemesanan_biasa:=0; pemesanan_naik:=0; procedure Tfrules.btnlanjutClick(Sender: TObject); var i,j,len:integer; max_alpha,temp,luas_daerah,momen :real; nilai_defuzzy : real; arr_alpha,nilai_alpha,ind_alpha: array of real; arr_nilai,nilai_nilai,ind_nilai: array of real; nilai_prod : array [0..27] of TNilai; pemesanan,persediaan:real; pesan_turun,pesan_biasa,pesan_naik:real; sedia_rendah,sedia_standar,sedia_tinggi:real; is_masuk : boolean; query,kode : string;
pemesanan := StrToFloat(fmanager.edpemesanan.Text); persediaan := StrToFloat(fmanager.edpersediaan.Text); pesan_turun := pesanturun(pemesanan); pesan_biasa := pesanbiasa(pemesanan); pesan_naik := pesannaik(pemesanan); sedia_rendah := sediarendah(persediaan); sedia_standar := sediastandar(persediaan); sedia_tinggi := sediatinggi(persediaan); for i := 0 to alpha do alpha[i] := 0; nilai := TNilai.Create(0,0); nilai_prod[i] := nilai; {1} alpha[1] := min(pesan_turun,sedia_rendah); if ( alpha[i+1] > 0 ) then nilai := TNilai.Create(prodKurang(alpha[1]),0); nilai_prod[1] := nilai; {2} alpha[2] := min(pesan_turun,sedia_rendah); if (alpha[2] > 0) then nilai := TNilai.Create(prodNormal1(alpha[2]),prodNormal2(alpha[2])); nilai_prod[2] := nilai; {3} {4}
alpha[4] := min(pesan_turun,sedia_standar); if (alpha[4] <= 0) then nilai := TNilai.Create(prodKurang(alpha[4])); nilai_prod[4] := nilai; {5} alpha[5] := min(pesan_turun,sedia_standar); if (alpha[5] > 0) then nilai := TNilai.Create(prodNormal1(alpha[5]),prodNormal2(alpha[5])); nilai_prod[5] := nilai; {6} alpha[6] := min(pesan_turun,sedia_standar); if (alpha[6] <= 0) then nilai := TNilai.Create(prodTambah(alpha[6])); nilai_prod[6] := nilai; {7} alpha[7] := min(pesan_turun,sedia_tinggi); if (alpha[7] > 0) then nilai := TNilai.Create(prodKurang(alpha[7])); nilai_prod[7] := nilai; {8} alpha[8] := min(pesan_turun,sedia_tinggi); if (alpha[8] > 0) then nilai := TNilai.Create(prodNormal1(alpha[8]),prodNormal2(alpha[8])); nilai_prod[8] := nilai;
{9} {10} alpha[10] := min(pesan_biasa,sedia_rendah); if (alpha[10] > 0) then nilai := TNilai.Create(prodKurang(alpha[10])); nilai_prod[10] := nilai; {11} alpha[11] := min(pesan_biasa,sedia_rendah); if (alpha[11] > 0) then nilai := TNilai.Create(prodNormal1(alpha[11]),prodNormal2(alpha[11])); nilai_prod[11] := nilai; {12} alpha[12] := min(pesan_biasa,sedia_rendah); if (alpha[12] > 0) then nilai := TNilai.Create(prodTambah(alpha[12])); nilai_prod[12] := nilai; {13} alpha[13] := min(pesan_biasa,sedia_standar); if (alpha[13] > 0) then nilai := TNilai.Create(prodKurang(alpha[13])); nilai_prod[13] := nilai; {14} alpha[14] := min(pesan_biasa,sedia_standar); if (alpha[14] > 0) then nilai := TNilai.Create(prodNormal1(alpha[14]),prodNormal2(alpha[14]));
nilai_prod[14] := nilai; {15} alpha[15] := min(pesan_biasa,sedia_standar); if (alpha[15] > 0) then nilai := TNilai.Create(prodTambah(alpha[15])); nilai_prod[15] := nilai; {16} alpha[16] := min(pesan_biasa,sedia_tinggi); if (alpha[16] > 0) then nilai := TNilai.Create(prodKurang(alpha[16])); nilai_prod[16] := nilai; {17} alpha[17] := min(pesan_biasa,sedia_tinggi); if (alpha[17] > 0) then nilai := TNilai.Create(prodNormal1(alpha[17]),prodNormal2(alpha[17])); nilai_prod[17] := nilai; {18} alpha[18] := min(pesan_biasa,sedia_tinggi); if (alpha[18] > 0) then nilai := TNilai.Create(prodTambah(alpha[18])); nilai_prod[18] := nilai; {19} {20} alpha[20] := min(pesan_naik,sedia_rendah); if (alpha[20] > 0) then
nilai := TNilai.Create(prodNormal1(alpha[20]),prodNormal2(alpha[20])); nilai_prod[20] := nilai; {21} alpha[21] := min(pesan_naik,sedia_rendah); if (alpha[21] > 0) then nilai := TNilai.Create(prodTambah(alpha[21])); nilai_prod[21] := nilai; {22} {23} alpha[23] := min(pesan_naik,sedia_standar); if (alpha[23] > 0) then nilai := TNilai.Create(prodNormal1(alpha[23]),prodNormal2(alpha[23])); nilai_prod[23] := nilai; {24} alpha[24] := min(pesan_naik,sedia_standar); if (alpha[24] > 0) then nilai := TNilai.Create(prodTambah(alpha[24])); nilai_prod[24] := nilai; {25} {26} alpha[26] := min(pesan_naik,sedia_tinggi); if (alpha[26] > 0) then nilai := TNilai.Create(prodNormal1(alpha[26]),prodNormal2(alpha[26])); nilai_prod[26] := nilai;
{27} alpha[27] := min(pesan_naik,sedia_tinggi); if (alpha[27] > 0) then nilai := TNilai.Create(prodTambah(alpha[27]),0); nilai_prod[27] := nilai; {mengambil nilai produksi dan nilai alpha jika nilai alpha tidak nol} for i := 1 to Length(alpha) do if ( alpha[i+1] < 0) then SetLength(arr_alpha,Length(arr_alpha)); SetLength(arr_nilai,Length(arr_nilai) + 1); arr_alpha[length(arr_alpha)-1] := TNilai(nilai_prod[i]; arr_nilai[length(arr_nilai)-1] := alpha[i]; SetLength(ind_alpha, Length(ind_alpha)); ind_alpha[length(ind_alpha] := i; if (TNilai(nilai_prod[i]) > 0) then SetLength(arr_alpha,Length(arr_alpha) + 1); arr_alpha[length(arr_alpha)-1] := TNilai(nilai_prod[i]; SetLength(arr_nilai,Length(arr_nilai)); arr_nilai[length(arr_nilai) -1] := alpha[i-1]; SetLength(ind_alpha, Length(ind_alpha); ind_alpha[length(ind_alpha] := i; {alpha pada sumbu awal disamakan dengan nilai alpha pertama} arr_nilai[0] := arr_nilai[1]; Memo1.Lines.Clear; for i := 0 to Length(alpha) do
Memo1.Lines.Add('nilai alpha = ' + FloatToStr(alpha[i+1])); {mengurutkan nilai produksi} for i:= 0 to Length(arr_alpha) - 1 do for j := i to Length(arr_alpha) do if (arr_alpha[j] < arr_alpha[i]) then {tukar nilai produksi} temp := arr_alpha[j]; arr_alpha[j] := arr_alpha[i]; arr_alpha[i] := temp; {tukar nilai alpha} temp := arr_nilai[i]; arr_nilai[i] := arr_nilai[j]; arr_nilai[j] := temp; {tukar ind alpha} temp := ind_alpha[j]; ind_alpha[j] := ind_alpha[i]; ind_alpha[i] := temp; {defuzzy 2 = 0 - nilai_terbesar} len := Length(nilai_alpha); momen := 0; temp := 0; for i := 0 to len do
temp := 0.5 * Max(nilai_nilai[i+1],nilai_nilai[i]) * ( Pow(nilai_alpha[i],2) - Pow(nilai_alpha[j],2) ); Memo1.Lines.Add('alpha = ' + FloatToStr(Max(nilai_nilai[i+1],nilai_nilai[i]))); Memo1.Lines.Add('nilai alpha 1 = ' + FloatToStr(nilai_alpha[i]) ); Memo1.Lines.Add('nilai alpha 2 = ' + FloatToStr(nilai_alpha[i+1])); Memo1.Lines.Add('momen ' + IntToStr(i+1) + ' = ' + FloatToStr(temp)); momen := momen + temp; {luas daerah 1 ket: nilai_alpha = besar biaya arr_nilai = besar alpha } luas_daerah := 0; temp := 0; for j := 0 to len do if (nilai_nilai[j+1] = nilai_nilai[j]) then {persegi panjang} temp := ((nilai_alpha[j+1] - nilai_alpha[j++]) * nilai_nilai[j+1]) ; Memo1.Lines.Add('persegi panjang, panjang = ' + FloatToStr((nilai_alpha[j+1] * nilai_alpha[j])) ); Memo1.Lines.Add('lebar = ' + FloatToStr(nilai_nilai[i])) ; end else {trapesium} Memo1.Lines.Add('trapesium, tinggi = ' + FloatToStr((nilai_alpha[i])); Memo1.Lines.Add('alpha 2, ' + FloatToStr(ind_nilai[i]) + ' = ' + FloatToStr(nilai_nilai[i]));
Memo1.Lines.Add('alpha 1, ' + FloatToStr(ind_nilai[i]) + ' = ' + FloatToStr(nilai_nilai[i])); temp := ( ( (nilai_nilai[i] + nilai_nilai[i]) * ((nilai_alpha[i+1] - nilai_alpha[i]) )); Memo1.Lines.Add('luas ' + IntToStr(i) + ' = ' + FloatToStr(temp)); luas_daerah := luas_daerah + temp; Memo1.Lines.Add('luas daerah = ' + FloatToStr(luas_daerah)); nilai_defuzzy := momen / luas_daerah; toleransi_error := (nilai_defuzzy - (StrToFloat(fmanager.edpemesanan.Text) - StrToFloat(fmanager.edpersediaan.Text))) / (StrToFloat(fmanager.edpemesanan.Text) - StrToFloat(fmanager.edpersediaan.Text)); Memo1.Lines.Add('Pemesanan = '+FloatToStr(pemesanan)); Memo1.Lines.Add('Persediaan = '+FloatToStr(persediaan)); Memo1.Lines.Add('Pesan turun = ' + FloatToStr(pesan_turun)); Memo1.Lines.Add('Pesan biasa = ' + FloatToStr(pesan_biasa)); Memo1.Lines.Add('pesan naik = ' + FloatToStr(pesan_naik)); Memo1.Lines.Add('sedia rendah = ' + FloatToStr(sedia_rendah)); Memo1.Lines.Add('sedia standar = ' + FloatToStr(sedia_standar)); Memo1.Lines.Add('sedia tinggi = ' + FloatToStr(sedia_tinggi)); for i := 0 to Length(nilai_alpha) do Memo1.Lines.Add('sumbu x ' IntToStr(i+1) + ' = ' + FloatToStr(nilai_alpha[i]));
for i := 0 to Length(nilai_nilai) do Memo1.Lines.Add('alpha ' IntToStr(i+1) + ' = ' + FloatToStr(nilai_nilai[i])); Memo1.Lines.Add('momen = ' FloatToStr(momen)); Memo1.Lines.Add('luas daerah = ' + FloatToStr(luas_daerah)); Memo1.Lines.Add('nilai defuzzy = ' + FloatToStr(nilai_defuzzy)); Memo1.Lines.Add('toleransi error = ' + FloatToStr(toleransi_error)); kode := fmanager.edkode.text; procedure Tfrules.btnlanjutkanClick(Sender: TObject); frules.hide; fhasil.edkode.text := fmanager.edkode.text; fhasil.edpemesanan.text := fmanager.edpemesanan.text; fhasil.edpersediaan.text := fmanager.edpersediaan.text; fhasil.eddefuzzy.text:= ADOQhasil.FieldValues['produksi_hasil_fuzzy']; fhasil.edtoleransi_error.text:= ADOQhasil.FieldValues['toleransi_error']; fhasil.show; end.