LAMPIRAN A: DDL DATABASE

dokumen-dokumen yang mirip
1 Latihan 6 Ketentuan Soal:

Kontrol Data Set dan Navigasi Tabel

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 STRUKTUR KEPUTUSAN-1

STRUCTURED QUERY LANGUAGE (SQL)

DAFTAR PUSTAKA. Abdia, Gunaidi Away.2008.The Shortcut Of Delphi For ACCOUNTING.Bandung : Informatika.

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 PROCEDURE DAN FUNCTION

Minggu ke : 4 Penyusun : Dian Usdiyana Rini Marwati Materi : 4. Pernyataan Kondisional 4.1 If then. 4.2 If. then.else..

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 TIPE DATA DAN VARIABEL

PERCOBAAN 4 GRAFIKA KOMPUTER DENGAN DELPHI

1. Menggambar ANAK PANAH. Setelah kita RUN dan saya klik button ANAK PANAH maka akan muncul gambar anak panah seperti nampak pada gambar dibawah ini

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 LOGIKA PERULANGAN-1

Elga Lesmana

BAB IV IMPLEMENTASI DAN PENGUJIAN

PERCOBAAN I STATEMENT

PROSEDUR. Mahasiswa dapat memahami penggunaan prosedur. Mahasiswa dapat membuat prosedur. Mahasiswa dapat memahami variabel lokal dan variabel global

Lampiran 1. Form 01. unit Skripsi; interface. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, math;

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA (Integer dan Real)

Delphi 7. Merencang Program dengan Fungsi IF. Ketentuan Soal : 1. Jabatan : JABATAN GAJI POKOK Direktur Manager Staff

LAMPIRAN A: LISTING PROGRAM

LAMPIRAN. Universitas Sumatera Utara

4.1 Struktur Rancangan Puncak-Turun dengan Procedure

MODUL 2 EVEN, VARIABEL DAN FUNGSI KONVERSI

ANGKA TERBILANG. Program ini terdiri dari beberapa komponen yaitu:

PEMRORAMAN DATA BASE (FORNT END)

URAIAN POKOK PERKULIAHAN. (1) Nilai akar-akar, x 1 dan x 2, dapat ditentukan dengan menggunakan rumus:

BAB IV IMPLEMENTASI DAN PENGUJIAN

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ExtDlgs, TeeProcs, TeEngine, Chart,

BAB V PENGUJIAN DAN IMPLEMENTASI SISTEM. mengetahui kelemahan dari perangkat lunak. Tujuan dari pengujian adalah untuk

Modul I Mengenal Pemrograman Delphi

BAB 5 ALGORITMA A PRIORI. A. Algoritma A Priori

DAFTAR PUSTAKA. Choiron, Moch. Agus. (tanpa tahun). Interpolasi. Malang.

PEMROGRAMAN DATABASE DENGAN DELPHI DAN MICROSOFT ACCESS

Daftar Pustaka. Supriyadi, Moh Pemrograman Sistem Pengendali dengan Delphi.

PROSEDUR DENGAN PARAMETER. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

ALGORITMA PENCARIAN. c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian.

Minggu ke : 7. Bentuk umum : While <kondisi> do <Pernyataan>

IMPLEMENTASI DAN PENGUJIAN

For <pencacah> := <nilaiawal> to <nilaiakhir> do <pernyataan>

Pengenalan Borland Delphi 7.0

Borland Delphi 7. Created By 1

PERINTAH DASAR MySQL

FieldName DataType FieldSize Status UserPass Text 40 Primary Key Nama_User Text 30 Password Text 10

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Object Name Caption. RadioButton1 rpria Pria RadioButton2 rwanita Wanita. ComboBox1 ckode - Edit1 enapar - Edit2 ehrg - Edit3 ejumbel - Edit4 etotal -

Hak Akses dan Login Multi User. Baiklah untuk mulai praktek yang pertama ini file yang dibutuhkan adalah seperti yang terlihat dalam gambar berikut :

Yohanas auri yahoo.com

2. Memori 2 GB (2 DIMMs) 3. Harddisk 250 GB Serial ATA/ RPM by Seagate. 4. Ethernet Card, yaitu Generic Marvell Yukon 88E8056

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type

BAB V IMPLEMENTASI DAN PENGUJIAN. web, perancangan struktur data ke dalam database, pembuatan kode program dan

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bahasa Pemrograman (TD22093)

KONEKSI MYSQL PADA DELPHI. Oleh : Budi Santoso

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

BAB IV IMPLEMENTASI DAN PENGUJIAN

Modul I Mengenal Pemrograman Delphi

LAMPIRAN A FOTO ALAT MONITORING KONDISI GUNUNG BERAPI NIRKABEL

URAIAN POKOK PERKULIAHAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

Menangani Input dari User

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

DESAIN DATABASE SISTEM INFORMASI PENJUALAN BARANG

Kodingan untuk Membuat Grafik dari Persamaan Garis Lurus dan Kuadrat Menggunakan Delphi 7

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Pertemuan IX MANAJEMEN TRANSAKSI

BAB IV IMPLEMENTASI DAN PENGUJIAN

LAMPIRAN-LAMPIRAN. Lampiran 1. Tabel Hasil Pengumpulan Data (dalam ton)

Mengenal pemrograman multithread dengan Delphi 7

GRAPHICS AND VISUALIZATION. Logo


MySQL Full-Text Searching

Cara Menggunakan Script Cek Mutasi DimasPratama.com plus integrasi ke BillingSimpel

BAB V IMPLEMENTASI DAN PENGEMBANGAN SISTEM. sistem dan dapat dipandang sebagai suatu usaha untuk mewujudkan sistem yang

LANJUTAN APLIKASI DATABASE

Perintah MySQL Lanjutan

STUPID LOGIC PROGRAMMING II


Modul 3. Oleh : Mohammad Sholikin. 1

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

P - 7 Pembahasan UTS PSIK V

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN. construction. Pada tahap construction dilakukan implementasi yang merupakan

MODUL I PENGENALAN MYSQL

BAB III PEMBAHASAN 3.1 Analisa Sistem

BAB IV IMPLEMENTASI DAN PENGUJIAN. web ini yang di lakukan secara online dengan webhosting. Tahapan ini dilakukan

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

Listing Program formmain (Unit1.pas)

URAIAN POKOK PERKULIAHAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

DATABASE MYSQL DENGAN PHP

Validasi Form dengan CakePHP

4. BAB IV ANALISIS DAN PERANCANGAN SISTEM. diusulkan perancangan sistem baru, dimana kinerja dari suatu sistem yang baru

LANJUTAN APLIKASI DATABASE

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

Transkripsi:

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.