39
87 Universitas Kristen Petra 4. IMPLEMENTASI Pada bab ini akan menjelaskan tentang implementasi sistem yang telah dirancang sehingga menghasilkan suatu aplikasi yang dapat digunakan. Program ini dibuat dengan menggunakan Microsoft Access 2000 dan pembuatan interface dengan Borland Delphi 7.0. 4.1. Implementasi pada Microsoft Access 2000 Pada tahap implementasi, hal pertama yang dilakukan adalah membuat tabel dalam Microsoft Access 2000 yaitu dengan cara memilih objek tables pada bagian kiri atas dan kemudian memilih ” create table design view”, setelah itu akan muncul table, dimana field name dan data type-nya harus diisi, field name bisa dijadikan primary key atau tidak tergantung kebutuhan. Setelah selesai, save dengan nama yang dikehendaki. Gambar 4.10. Design Database

Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

87Universitas Kristen Petra

4. IMPLEMENTASI

Pada bab ini akan menjelaskan tentang implementasi sistem yang telah

dirancang sehingga menghasilkan suatu aplikasi yang dapat digunakan. Program ini

dibuat dengan menggunakan Microsoft Access 2000 dan pembuatan interface dengan

Borland Delphi 7.0.

4.1. Implementasi pada Microsoft Access 2000

Pada tahap implementasi, hal pertama yang dilakukan adalah membuat tabel

dalam Microsoft Access 2000 yaitu dengan cara memilih objek tables pada bagian

kiri atas dan kemudian memilih ”create table design view”, setelah itu akan muncul

table, dimana field name dan data type-nya harus diisi, field name bisa dijadikan

primary key atau tidak tergantung kebutuhan. Setelah selesai, save dengan nama yang

dikehendaki.

Gambar 4.10. Design Database

Page 2: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

88

4.2. Implementasi Program dan Interface

Setelah database selesai dibuat, yang perlu dilakukan adalah menghubungkan

antara database dengan aplikasi yang sudah dibuat dengan menggunakan Borland

Delphi 7.0. Untuk menghubungkan keduanya digunakan komponen ADO yang

merupakan komponen bawaan dalam Borland Delphi 7.0. Beberapa komponen yang

dipakai antara lain : ADOConnection untuk menguhubungkan antara database

dengan aplikasi, ADOQuery untuk melakukan query pada database, dan DataSource

yang digunakan untuk menampilkan hasil query pada database ke dalam aplikasi.

Gambar 4.11. Beberapa komponen yang dipakai

Dalam implementasi program, hal pertama yang dilakukan adalah

menghubungkan database utama dengan program, yaitu dengan membuka

ConnectionString pada komponen ADO Connection. Lalu tekan tombol Browse yang

menggunakan data link file yang telah dibuat dengan format file *.udl, seperti pada

Gambar 4.4, untuk menghubungkan database dengan program. Seperti yang terlihat

pada Gambar 4.3.

Gambar 4.12. Menu Connection String

Page 3: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

89

Gambar 4.13. Data Link dengan Format *.udl

Klik 2 kali pada file *.udl tersebut, kemudian akan muncul Window Data Link

Properties. Pada tab Provider, pilih Microsoft Jet 4.0 OLE DB Provider, dan tekan

tombol Next untuk pindah ke tab Connection seperti yang terlihat pada Gambar 4.5 di

bawah ini.

Gambar 4.14. Data Link Properties Tab Provider

Page 4: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

90

Pada tab Connection, diketikkan ‘database/perusahaan.mdb’ pada langkah

nomor satu untuk menentukan database yang akan digunakan. Lalu kotak username

dikosongi dan beri tanda pada pilihan Blank Password. Setelah itu dilakukan Test

Connection melalui tombol untuk mengetahui database yang diketikkan dapat

terhubung atau tidak. Apabila hasil Test Connectin sukses, klik tombol OK untuk

mengakhiri proses penghubungan database dengan program. Tab Connection ini

dapat dilihat pada gambar 4.6 di bawah ini. Dan bila database berhasil terhubung,

hasil test connection dapat dilihat pada gambar 4.7.

Gambar 4.15. Data Link Properties tab Connection

Page 5: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

91

Gambar 4.16. Test Connection sukses

Setelah database terhubung dengan program, dilakukan implementasi interface

dan program. Implementasi interface pada program aplikasi umumnya berupa form

dan Laporan. Program aplikasi sistem informasi produksi mempunyai sembilan menu

yang di dalamnya memuat form-form yang diperlukan dalam sistem tersebut. Berikut

akan dijelaskan fungsi dan program dari masing-masing form.

Tabel 4.1. Daftar Procedure dan Segmen Program

Sub-Menu Form Procedure No.Segment

- Login Pengecekan Login Segmen 4.1.

- Lupa Password Lupa Password Segmen 4.2.

- Main Menu Short-cut Segmen 4.3.

File Setting User Isi Menu Segmen 4.4.

Material Mutasi Material Mutasi Masuk Segmen 4.5.

- - Kode Mutasi -

Produk Mutasi Masuk Produk Mutasi Masuk Segmen 4.6.

- - Kode -

- Mutasi Keluar Produk Mutasi Keluar Segmen 4.7.

- - Kode -

Proyek Tambah Proyek Baru Tambah Proyek Segmen 4.8.

- - Isi Kode -

- Pelaksanaan Proyek Pelaksanaan Proyek Segmen 4.9.

- - Isi Grid -

- Penyesuaian Material Tutup Proyek Segmen 4.10.

- - Isi Grid -

Page 6: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

92

Tabel 4.1. Daftar Procedure dan Segmen Program (Sambungan)

Sub-Menu Form Procedure No.Segment

- Perhitungan Lama Produksi Hitung Proses Segmen 4.11.

- - Isi Waktu Segmen 4.11.

- - Isi Bahan Segmen 4.11.

- - Isi Proses Segmen 4.11.

- Perencanaan Produksi Cek Waktu Segmen 4.12.

- - Cek Segmen 4.12.

Peramalan Penjualan Aktual Penjualan Aktual Segmen 4.13.

- Penjualan Aktual Detail Rumus Segmen 4.14.

- - Isi Bulan Segmen 4.14.

- Peramalan Baru Peramalan Baru Segmen 4.15.

Laporan Laporan Menampilkan Laporan Segmen 4.16.

4.2.1 Form Login

Form Login ini digunakan untuk mengijinkan user untuk masuk dan

menggunakan program ini. Pada form ini dilakukan pengecekan apakah username

dan password yang dimasukkan sudah sesuai dengan data yang terdapat pada

database yang telah dibuat sebelumya. Selain itu, dari username yang diinputkan

juga menentukan hak akses dari user tersebut. setiap user memiliki hak akses yang

berbeda-beda tergantung dari hak akses yang diberikan oleh pemilik perusahaan.

Segmen Program 4.1. Pengecekan Login

procedure TF_login.BitBtn1Click(Sender: TObject);beginf_main.OpenSql(ADOQuery1,'select * from tb_username where username='+quotedstr(edit1.Text));if (edit1.Text<>'') and (edit2.Text<>'') then begin if (ADOQuery1.FieldValues['username']=edit1.Text) and(ADOQuery1.FieldValues['pwd']=edit2.Text) then begin nama:=edit1.Text; f_main.Label5.Caption:=nama; f_main.show; f_login.Visible:=false; end else begin showmessage ('password / username anda salah'); edit1.Text:=''; edit2.Text:=''; end; end else showmessage ('pengisian kurang lengkap');end;

Page 7: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

93

Dari procedure di atas dapat dilihat bila username dan password yang

dimasukkan oleh pengguna tidak sesuai maka sistem tidak akan masuk ke program

utama dan mengeluarkan pesan bahwa username atau password yang dimasukkan

salah.

4.2.2 Form Lupa Password

Form ini berfungsi untuk membantu user yang lupa akan password-nya, form

ini akan muncul jika user meng-klik kata “Lupa Password Anda?” pada form login.

User akan mendapatkan password-nya jika mengisi pertanyaan yang ada pada form

forgot password dengan benar. Pertanyaan yang ada pada form forgot password

merupakan pilihan user pada saat user pertama kali membuat username. Jika

pertanyaan diisi dengan benar maka, user akan diberikan informasi tentang password-

nya.

Segmen Program 4.2. Lupa Password

procedure TF_forgot.BitBtn1Click(Sender: TObject);beginif (edit1.Text<>'') and (combobox1.ItemIndex>=0) and (edit2.Text<>'') then begin if (edit2.Text=AdoQuery1.FieldValues['answer']) then begin showmessage('Password Anda Adalah : "' + AdoQuery1.FieldValues['pwd']+'"'); edit1.Text:=''; combobox1.Clear; edit2.Text:=''; edit2.Enabled:=false; BitBtn1.Enabled:=false; end else begin showmessage('Jawaban Anda Salah'); edit2.Text:=''; end; endelse showmessage ('Maaf Pengisian Anda Kurang Lengkap');end;

Page 8: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

94

4.2.3. Form Main Menu

Form Main Menu merupakan form utama dari program ini, didalam form ini

terdapat beberapa sub-sub menu yang dapat atau tidak dapat diakses berdasarkan hak

akses yang dipunyai oleh setiap user. Hanya pemilik perusahaan sajalah yang

memiliki hak akses sepenuhnya pada semua sub-sub menu yang ada pada main menu.

Segmen Program 4.3. Procedure Shortcut Pemanggilan Query

4.2.4. Implementasi Menu File

4.2.4.1. Form Tambah User

Form ini berfungsi untuk menambahkan user yang dapat menggunakan

program ini. Username yang ditambahkan tidak dapat sama dengan username

yang telah ada. Setiap user baru yang dibuat tidak memiliki hak akses sama

sekali pada menu-menu yang ada pada main menu, hanya dapat masuk ke dalam

program saja.

procedure TF_main.OpenSql(q : TADOQuery;Sql : string);begin q.Close; q.SQL.Clear; q.SQL.Text:=sql; q.Open;end;

procedure TF_main.ExecuteSql(q : TADOQuery;Sql : string);begin q.Close; q.SQL.Clear; q.SQL.Text:=sql; q.ExecSQL;end;// untuk ambil fieldvalues tabel= nama tabelnya, keyfield=nama field di where, key = edit atocombobox, field = yang di selectfunction TF_main.SearchField(Tabel : string;KeyField : string;Key : string;field : string):string;begin DataModule1.ADOQuery1.Close; DataModule1.ADOQuery1.SQL.Clear; DataModule1.ADOQuery1.SQL.Text:='select '+ field +' from '+ tabel + ' where '+ keyfield +' = '+QuotedStr(key); DataModule1.ADOQuery1.Open; SearchField :=DataModule1.ADOQuery1.FieldValues[field];end;

Page 9: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

95

4.2.4.2. Form Edit User

Form ini berfungsi untuk mengedit username, password dan pertanyaan

rahasia dari masing-masing user yang sedang akses. User tidak dapat mengganti

username lama yang sama dengan username yang telah ada di database.

4.2.4.3. Form Delete User

Form ini berfungsi untuk menghapus user-user yang tidak terpakai. User

yang tidak dapat di-delete yaitu user yang sedang login dan user milik pemilik

perusahaan, serta tidak dapat menghapus user yang ada relasi dengan tabel lain.

4.2.4.4. Form Ganti Password

Form ini berfungsi untuk mengganti password dari user yang sedang

login. Untuk mengganti password, user harus menjawab pertanyaan yang telah

dipilih pada saat pertama kali membuat user. Jika berhasil menjawab

pertannyaan dengan benar baru dapat mengganti password user.

4.2.4.5. Form Ganti User

Form yang akan dipanggil sama dengan form login, sub-menu ganti user

ini hanya sebagai link untuk kembali ke form login. Form ini dibuat untuk

memudahkan user, jika user ingin re-login dengan menggunakan username

yang lain.

4.2.4.6. Form Setting User

Form ini berfungsi untuk memberikan dan mengubah hak akses yang

dimiliki oleh user untuk mengakses menu-menu yang ada pada menu utama.

Sub-menu ini hanya dapat diakses oleh pemilik perusahaan saja.

Page 10: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

96

Segmen Program 4.4. Procedure Setting User

4.2.5. Implementasi Menu Mesin

4.2.5.1. Form Tambah Mesin

Form ini digunakan untuk menambahkan mesin baru jika pabrik

melakukan pembelian mesin, di sini user juga bisa mengedit jumlah mesin yang

dimiliki pabrik. Kode mesin yang digunakan akan secara otomatis di-generate.

4.2.5.2. Form Add and Edit Master Jenis Mesin

Form ini digunakan untuk menambahkan dan mengubah data master jenis

mesin yang dimiliki oleh pabrik. Jenis mesin dengan nama yang sama tidak

dapat ditambahkan. Untuk mengubah info data jenis mesin, klik checkbox

”edit”.

4.2.5.3. Form View Mesin

Form ini digunakan untuk melihat data mesin baik dengan menggunakan

filter atau melihat semua data mesin. User juga dapat mencari data pada form

Function Tset_user.IsiMenu():string;var i : byte; stat : string;begin for i:=1 to 36 do begin if CheckMenu[i].Checked then stat:=stat+'1' else stat:=stat+'0'; end; IsiMenu:=stat;end;

procedure Tset_user.BitBtn1Click(Sender: TObject);varstat:string;begin stat:=IsiMenu(); f_main.ExecuteSql(ADOQuery1,'update tb_username set status='+quotedstr(stat)+'whereusername='+quotedstr(combobox1.Text)); showmessage ('Setting Telah DiRubah'); combobox1.ItemIndex:=-1; cekbox();end;

Page 11: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

97

ini, dengan menggunakan filter semacam jenis mesin atau melalui kode mesin

maupun kode jenis mesin.

4.2.6. Implementasi Menu Material

4.2.6.1. Form Tambah Material Baru

Form ini digunakan untuk menambahkan dan mengedit data material

yang ada pada pabrik. Kode Material yang digunakan akan secara otomatis di-

generate.

4.2.6.2. Form Master Merk Material

Form ini digunakan untuk menambahkan dan mengedit data master merk

material yang ada pada pabrik. Kode Merk Material yang digunakan akan

secara otomatis di-generate . Untuk mengubah info data merk material, klik

checkbox ”edit”.

4.2.6.3. Form Master Jenis Material

Form ini digunakan untuk menambahkan dan mengedit data master jenis

material yang ada pada pabrik. Kode Jenis Material yang digunakan akan

secara otomatis di-generate. Untuk mengubah info data master jenis material,

klik checkbox ”edit”.

4.2.6.4. Form Master Satuan Material

Form ini digunakan untuk menambahkan dan mengedit data master satuan

material yang ada pada pabrik. Kode Satuan Material yang digunakan akan

secara otomatis di-generate. Untuk mengubah info data master satuan material,

klik checkbox ”edit”.

4.2.6.5. Form Master Warna Material

Form ini digunakan untuk menambahkan dan mengedit data master warna

material yang ada pada pabrik. Kode Warna Material yang digunakan akan

Page 12: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

98

secara otomatis di-generate. Untuk mengubah info data master warna material,

klik checkbox ”edit”.

4.2.6.6. Form Mutasi Material

Form ini digunakan untuk memasukkan jumlah material apa saja yang

telah dibeli, agar stok di gudang sama dengan stok di database.

Segmen Program 4.5. Procedure Mutasi Material

procedure TM_material.BitBtn4Click(Sender: TObject);vartotal,kolom,baris,i,j,k,stok:integer;a,kodebantu:string;begin if MessageDlg('Apakah data yang anda masukkan benar?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin f_main.ExecuteSql(ADOQuery1,'insert into tb_mutasi_materialvalues('+quotedstr(label8.Caption)+','+quotedstr(f_main.Label5.Caption)+','+quotedstr(datetostr(date))+','+quotedstr(F_main.Label3.Caption)+')'); for i:=1 to stringgrid1.RowCount-2 do begin kodebantu:=StringGrid1.Cells[0,i]; f_main.OpenSql(adoQuery1,'select stok from tb_material_details wherekode_bantu='+quotedstr(kodebantu)); stok:=adoQuery1.FieldValues['stok']; a:=StringGrid1.Cells[4,i]; total:=stok+(strtoint(a)); f_main.ExecuteSql(ADOQuery1,'update tb_material_details setstok='+quotedstr(inttostr(total))+'where kode_bantu='+quotedstr(kodebantu)); f_main.ExecuteSql(ADOQuery1,'insert into tb_mutasi_material_detailvalues('+quotedstr(label8.Caption)+','+quotedstr(kodebantu)+','+quotedstr(StringGrid1.Cells[4,i])+')'); end; showmessage ('Data Telah Diupdate'); kolom:=StringGrid1.ColCount; baris:=StringGrid1.RowCount; for j:=0 to kolom do begin for k:=1 to baris do begin stringgrid1.Cells[j,k]:=''; end; end; clear(); kode_mutasi(); stringgrid1.FixedRows:=1; StringGrid1.RowCount:=2; n:=2; end;end;

Page 13: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

99

4.2.6.7. Form View Material

Form ini digunakan untuk melihat data material baik dengan

menggunakan filter ataupun melihat semua data. User-pun dapat mencari data

pada form ini.

4.2.7. Implementasi Menu BOM

4.2.7.1. Form Produk BOM

Form ini digunakan untuk membuat rumus atau formula bahan material

apa saja dan sejumlah berapa yang dibutuhkan untuk membuat produk yang

diinginkan. Jika ingin membuat rumus untuk produk baru maka tinggal

menekan tombol “baru” pada form, yang akan memunculkan form master BOM.

4.2.7.2. Form Master BOM

Form ini digunakan untuk menambahkan dan mengubah keterangan

master BOM dimana rumusnya digunakan untuk membuat produk tertentu.

Kode bom yang dipakai pada form ini secara otomatis akan di-generate. Untuk

mengubah info data master BOM, klik checkbox ”edit”.

4.2.7.3. Form View BOM

Form ini digunakan untuk melihat bahan baku apa saja dan sebanyak

berapa yang dibutuhkan untuk membuat produk tertentu, formula ditampilkan

ini, hanya menampilkan jumlah bahan baku yang diperlukan untuk membuat 1

potong baju.

4.2.8. Implementasi Menu Produk

4.2.8.1. Form Master Produk Baru

Page 14: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

100

Form ini digunakan untuk menambahkan ,mengubah maupun menghapus

data-data tentang master produk yang ada pada gudang pabrik ini. Kode produk

secara otomatis akan di-generate.

4.2.8.2. Form Detail Produk

Form ini digunakan untuk menambahkan detail dari sebuah produk

dengan nama produk yang sama. Detail data yang dimaksud adalah BOM yang

dipakai, ukuran, proses yang dipakai dan warna. Sebagai contoh, produk A

mempunyai 2 warna, merah dan hijau. Untuk warna merah memakai BOM

merah, ukuran S dan XL, dan proses A. Sedangkan untuk warna hijau, memakai

BOM hijau, ukuran M dan L, dan proses B. Maka produk A memiliki 2 detail

produk.

4.2.8.3. Form Master Model Produk

Form ini digunakan untuk menambahkan ,mengubah maupun menghapus

data dari master model dari sebuah produk. Kode model produk secara otomatis

akan di-generate. Untuk mengubah info data master model produk, klik

checkbox ”edit”. Nama dari model adalah unik, jadi tidak dapat kembar.

4.2.8.4. Form Master Proses Produk

Form ini digunakan untuk menambahkan ,mengubah maupun menghapus

data dari master proses yang digunakan untuk membuat sebuah produk. Kode

proses secara otomatis akan di-generate. Untuk mengubah info data master

proses produk, klik checkbox ”edit”. Nama dari proses adalah unik, jadi tidak

dapat kembar. Untuk menambahkan detail dari proses produk tinggal klik

tombol “Add Detail”, form detail proses akan muncul.

4.2.8.5. Form Detail Proses Produk

Form ini digunakan untuk menambahkan detail dari proses produk

dimana untuk setiap nama proses yang di buat akan terdiri dari beberapa proses,

Page 15: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

101

mesin yang digunakan untuk setiap proses juga berbeda-beda. Urutan proses

dan waktu yang dibutuhkan di- input-kan oleh user. Sebagai contoh, Proses

dengan nama “Pembuatan Oblong Pallmall” memiliki 4 proses dengan urutan 1-

4 dan masing-masing urutan memakan waktu 2 menit.

4.2.8.6. Form Master Warna Produk

Form ini digunakan untuk menambahkan ,mengubah maupun menghapus

data dari master warna produk yang dimiliki oleh pabrik. Kode warna secara

otomatis akan di-generate. Untuk mengubah info data master warna produk,

klik checkbox ”edit”. Nama dari warna adalah unik, jadi tidak dapat kembar.

4.2.8.7. Form Mutasi Masuk Produk

Form ini diibaratkan sebagai baik nota retur penjualan ataupun produk

yang lupa dimasukkan ke database, sehingga produk apa saja yang

dikembalikan oleh pelanggan akan dimasukkan kembali kedalam gudang.

Setiap data yang masuk, stok akan bertambah di gudang. Yang bertanggung

jawab akan kesalahan yang dilakukan pada saat memasukkan data yaitu user

yang sedang login.

Page 16: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

102

Segmen Program 4.6. Procedure Mutasi Masuk Produk

procedure TMutasi_pm.BitBtn4Click(Sender: TObject);vari,j,k:integer;total,kolom,baris :integer; a,k_produk,k_model,k_warna,stok,kodebantu:string;begin if MessageDlg('Apakah data yang anda masukkan benar?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin f_main.ExecuteSql(ADOQuery1,'insert into tb_mutasi_produkvalues('+quotedstr(label8.Caption)+','+quotedstr(f_main.Label5.Caption)+','+quotedstr(datetostr(date))+','+quotedstr(F_main.Label3.Caption)+')'); for i:=1 to stringgrid1.RowCount-2 do begin f_main.OpenSql(adoQuery1,'select kode_model from tb_produk_model whereinfo_model='+quotedstr(StringGrid1.Cells[2,i])); k_model:=adoQuery1.FieldValues['kode_model']; f_main.OpenSql(adoQuery1,'select kode_warna from tb_produk_warna whereinfo_warna='+quotedstr(StringGrid1.Cells[3,i])); k_warna:=adoQuery1.fieldvalues['kode_warna']; f_main.OpenSql(adoQuery1,'select kode_produk from tb_master_produk wherenama_produk='+quotedstr(StringGrid1.Cells[1,i])); k_produk:=adoQuery1.FieldValues['kode_produk']; f_main.OpenSql(adoQuery1,'select stok from tb_produk_detail wherekode_produk='+quotedstr(k_produk)+'and kode_model='+quotedstr(k_model)+'andkode_warna='+quotedstr(k_warna)); stok:=adoQuery1.FieldValues['stok']; a:=StringGrid1.Cells[4,i]; total:=(strtoint(stok))+(strtoint(a)); f_main.ExecuteSql(adoQuery1,'update tb_produk_detail set stok='+quotedstr(inttostr(total))+'where kode_produk='+quotedstr(k_produk)+'and kode_model='+quotedstr(k_model)+'andkode_warna='+quotedstr(k_warna)); f_main.OpenSql(ADOQuery1,'select kode_bantu2 from q_produk_detail wherenama_produk='+quotedstr(StringGrid1.Cells[1,i])+'andinfo_model='+quotedstr(StringGrid1.Cells[2,i])+'and info_warna='+quotedstr(StringGrid1.Cells[3,i])); kodebantu:=adoquery1.FieldValues['kode_bantu2']; f_main.ExecuteSql(ADOQuery1,'insert into tb_mutasi_produk_detailvalues('+quotedstr(label8.Caption)+','+quotedstr(kodebantu)+','+quotedstr(a)+','+'0'+')'); end; showmessage ('Data Telah Diupdate'); kolom:=StringGrid1.ColCount; baris:=StringGrid1.RowCount; for j:=0 to kolom do begin for k:=1 to baris do begin stringgrid1.Cells[j,k]:=''; end; end; clear(); kode(); stringgrid1.FixedRows:=1; StringGrid1.Rowcount:=2; n:=2; end;end;

Page 17: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

103

4.2.8.8. Form Mutasi Penjualan

Form ini juga diibaratkan sebagai nota penjualan, sehingga produk apa

saja yang diinginkan oleh pelanggan akan diambil dari gudang. Setiap data yang

keluar, stok akan berkurang. Yang bertanggung jawab akan kesalahan yang

dilakukan pada saat memasukkan data yaitu user yang sedang login.

Segmen Program 4.7. Procedure Mutasi Keluar Produk

procedure Tmutasi_pk.BitBtn4Click(Sender: TObject);vari,j,k:integer;b,total,kolom,baris :integer;a,k_produk,k_model,k_warna,stok,kodebantu:string;begin if MessageDlg('Apakah data yang anda masukkan benar?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin// MessageDlg('Apakah data yang anda masukkan benar?', mtconfirmation,[mbOk,mbcancel], 0);f_main.ExecuteSql(ADOQuery1,'insert into tb_mutasi_produkvalues('+quotedstr(label8.Caption)+','+quotedstr(f_main.Label5.Caption)+','+quotedstr(datetostr(date))+','+quotedstr(F_main.Label3.Caption)+')'); for i:=1 to stringgrid1.RowCount-2 do begin b:=0; f_main.OpenSql(adoQuery1,'select kode_model from tb_produk_model whereinfo_model='+quotedstr(StringGrid1.Cells[2,i])); k_model:=adoQuery1.FieldValues['kode_model']; f_main.OpenSql(adoQuery1,'select kode_warna from tb_produk_warna whereinfo_warna='+quotedstr(StringGrid1.Cells[3,i])); k_warna:=adoQuery1.fieldvalues['kode_warna']; f_main.OpenSql(adoQuery1,'select kode_produk from tb_master_produk wherenama_produk='+quotedstr(StringGrid1.Cells[1,i])); k_produk:=adoQuery1.FieldValues['kode_produk']; f_main.OpenSql(adoQuery1,'select stok from tb_produk_detail wherekode_produk='+quotedstr(k_produk)+'and kode_model='+quotedstr(k_model)+'andkode_warna='+quotedstr(k_warna)); stok:=adoQuery1.FieldValues['stok']; a:=StringGrid1.Cells[4,i]; total:=(strtoint(stok))-(strtoint(a)); if (total>=0) then begin f_main.ExecuteSql(adoQuery1,'update tb_produk_detail set stok='+quotedstr(inttostr(total))+'where kode_produk='+quotedstr(k_produk)+'and kode_model='+quotedstr(k_model)+'andkode_warna='+quotedstr(k_warna)); f_main.OpenSql(ADOQuery1,'select kode_bantu2 from q_produk_detail wherenama_produk='+quotedstr(StringGrid1.Cells[1,i])+'andinfo_model='+quotedstr(StringGrid1.Cells[2,i])+'and info_warna='+quotedstr(StringGrid1.Cells[3,i])); kodebantu:=adoquery1.FieldValues['kode_bantu2']; f_main.ExecuteSql(ADOQuery1,'insert into tb_mutasi_produk_detailvalues('+quotedstr(label8.Caption)+','+quotedstr(kodebantu)+','+'0'+','+quotedstr(a)+')');

Page 18: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

104

4.2.8.9. Form View Produk

Form ini digunakan untuk melihat data produk baik dengan menggunakan

filter ataupun melihat semua data. Dan user-pun dapat mencari data pada form

ini.

4.2.9. Implementasi Menu Proyek

4.2.9.1. Form Setting Jam Kerja

Form ini digunakan untuk mengganti jam masuk dan jam keluar yang

digunakan untuk standart jam kerja pada Pabrik Garment “X”.

4.2.9.2. Form Tambah Proyek Baru

Form ini digunakan untuk membuat proyek baru. Pertama, pilih produk

apa yang ingin diproduksi. Setelah itu, masukkan berapa jumlah yang ingin

diproduksi. Kemudian tentukan prioritas dan tanggal mulai produksi. Tanggal

end else begin //showmessage('Stok Tidak Mencukupi Untuk Produk: '+StringGrid1.Cells[0,i]+StringGrid1.Cells[1,i] +StringGrid1.Cells[2,i] +StringGrid1.Cells[3,i]); b:=1; end; end; if (b=0) then begin showmessage ('Data Telah Dikurangi'); end;

kolom:=StringGrid1.ColCount; baris:=StringGrid1.RowCount; for j:=0 to kolom do begin for k:=1 to baris do begin stringgrid1.Cells[j,k]:=''; end; end; stringgrid1.FixedRows:=1; StringGrid1.RowCount:=2; n:=2; end;end;

Page 19: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

105

mulai produksi tidak dapat lebih kecil dari tanggal hari ini. Pengurangan untuk

kebutuhan material yang digunakan untuk proyek tersebut dilakukan pada saat

penambahan proyek, jika material yang dibutuhkan tidak mencukupi maka

proyek yang baru tidak dapat ditambahkan.

Segmen Program 4.8. Procedure Tambah Proyek Baru

procedure TAdd_projek.BitBtn1Click(Sender: TObject);varflag,flag2:boolean;a:TDate;total,sisa:integer;begintotal:=0;sisa:=0;flag2:=true;flag:=true;if (edit1.Text<>'') and (combobox3.ItemIndex>=0) and (edit2.Text<>'') and(DBLookupComboBox1.ListFieldIndex>=0) thenbegin f_main.OpenSql(ADOQuery3,'select * from q_tambah_projek wherekode_bantu2='+quotedstr(DBLookupComboBox1.Text)); while not ADOQuery3.Eof do begin total:=ADOQuery3.FieldValues['jumlah']*strtoint(edit2.Text); if ADOQuery3.FieldValues['stok']<total then begin flag2:=false; end; ADOQuery3.Next; end; if flag2 then begin sisa:=ADOQuery3.FieldValues['stok']-total; end; a:=DateOf(now); if (MonthCalendar1.Date>=a) then flag:=true; if (MonthCalendar1.Date<a) then flag:=false; if flag=true and flag2= true then begin f_main.ExecuteSql(AdoQuery1,'insert into tb_projekvalues('+quotedstr(label2.Caption)+','+quotedstr(DBLookupComboBox1.Text)+','+quotedstr(edit1.Text)+','+inttostr(combobox3.ItemIndex)+','+edit2.Text+','+quotedstr(datetostr(MonthCalendar1.date))+',Null'+',null'+',null'+',Null)');

Page 20: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

106

4.2.9.3. Form Pelaksanaan Proyek

Form ini digunakan untuk mengisikan tanggal dan jam kapan proyek yang

telah dipilih mulai dan selesai. Tanggal dan jam proyek dimulai dan selesai

merupakan input manual, ada beberapa kondisi pengecekan untuk tgl dan jam

mulai dan selesai. Setelah diisikan tinggal menekan tombol “tutup proyek” yang

akan memunculkan form penyesuaian material. Proyek yang telah ditutup tidak

dapat di-edit tanggal dan jam mulai ataupun selesai.

//update stok material f_main.OpenSql(ADOQuery4,'select kode_bantu ,jumlah,stok from q_tambah_projek wherekode_bantu2='+quotedstr(DBLookupComboBox1.Text)); while not ADOQuery4.Eof do begin f_main.ExecuteSql(ADOQuery3,'update tb_material_details set stok='+inttostr(sisa)+' wherekode_bantu='+quotedstr(ADOQuery4.FieldValues['kode_bantu'])); ADOQuery4.Next; end;//update stok material

f_main.OpenSql(AdoQuery1,'select d.kode_bantu from tb_produk_detail as pd, tb_master_proses asp, tb_detail_proses as d where pd.kode_proses=p.kode_proses and p.kode_proses=d.kode_proses andpd.kode_bantu2='+quotedstr(DBLookupComboBox1.Text)+' order by d.urutan'); while not AdoQuery1.Eof do begin f_main.ExecuteSql(ADOQuery3,'insert into tb_projek_detailvalues('+quotedstr(label2.Caption)+','+quotedstr(AdoQuery1.FieldValues['kode_bantu'])+',null,null,null,null)'); AdoQuery1.Next; end; isi_ kode(); clear(); showmessage ('Projek Telah Ditambahkan'); end else if (flag=false) then showmessage ('Tanggal Mulai Harus Lebih Besar Atau Sama Dengan Tanggal Hari Ini') else if flag2=false then showmessage ('Bahan Material Kurang, Harap Menambahkan Di form Mutasi Pembelian Material');endelse showmessage ('Harap Mengisi Semua Field');end;

Page 21: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

107

Segmen Program 4.9. Procedure Pelaksanaan Proyek

4.2.9.4. Form Penyesuaian Material

Form ini akan muncul setelah user telah menngisikan waktu selesai dari

mesin untuk proses produksi yang terakhir. Form ini digunakan untuk

mencocokan hasil perkiraan penggunaan material dengan kenyataan di

lapangan kerja. Setelah selesai, klik tombol “Tutup Proyek” untuk penutupan

procedure TPelaksanaanprojek.BitBtn2Click(Sender: TObject);varflag:boolean;begin

flag:=true;if (DateTimePicker1.Date>DateTimePicker3.Date) then flag:=falseelse if (DateToStr(DateTimePicker1.Date)=DateToStr(DateTimePicker3.Date))and(TimeToStr(DateTimePicker2.Time)>=TimeToStr(DateTimePicker4.Time)) then flag:=false;if flag thenbegin if (CheckBox1.Checked) and (CheckBox2.Checked) then begin f_main.ExecuteSql(ADOQuery2,'update tb_projek settgl_mulai_produksi='+quotedstr(datetostr(DateTimePicker1.Date))+','+'jam_mulai='+quotedstr(timetostr(DateTimePicker2.Time))+','+'tgl_selesai='+quotedstr(datetostr(DateTimePicker3.Date))+','+'jam_selesai='+quotedstr(timetostr(DateTimePicker4.Time))+'wherekode_projek='+quotedstr(label29.Caption)); end else if (checkbox1.Checked) then begin f_main.ExecuteSql(ADOQuery2,'update tb_projek settgl_mulai_produksi='+quotedstr(datetostr(DateTimePicker1.Date))+','+'jam_mulai='+quotedstr(timetostr(DateTimePicker2.Time))+'where kode_projek='+quotedstr(label29.Caption)); end else if CheckBox2.Checked then begin f_main.ExecuteSql(ADOQuery2,'update tb_projek settgl_selesai='+quotedstr(datetostr(DateTimePicker3.Date))+','+'jam_selesai='+quotedstr(timetostr(DateTimePicker4.Time))+'where kode_projek='+quotedstr(label29.Caption)); end;endelse showmessage ('Tgl atau Jam Selesai Produksi Tidak Boleh Lebih Kecil Dari Tgl atau Jam MulaiProduksi');f_main.OpenSql(ADOQuery2,'select tgl_selesai from tb_projek wherekode_projek='+quotedstr(label29.Caption));if ADOQuery2.FieldValues['tgl_selesai']<>NULL then begin Penyesuaian_mat.Show; Pelaksanaanprojek.Enabled:=false; end;end;

Page 22: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

108

proyek. Stok material secara otomatis di-update, data penggunaan material ini

akan disimpan di tabel history material.

Segmen Program 4.10. Procedure Tutup Proyek

4.2.9.5. Form Perhitungan Lama Waktu Produksi

Form ini merupakan alat bantu menghitung lama waktu, dan bahan baku

yang dibutuhkan untuk memproduksi sejumlah produk. Perhitungan lama waktu

juga dipengaruhi oleh banyaknya mesin yang dipakai, semakin sedikit mesin

yang digunakan, maka semakin lama waktu yang dibutuhkan untuk

menyelesaikan proses produksi.

procedure TPenyesuaian_mat.BitBtn1Click(Sender: TObject);vari,stok,sisa:integer;kodebantu:string;beginfor i:=1 to StringGrid1.RowCount-1 do begin f_main.OpenSql(ADOQuery1,'select stok,kode_bantu from q_penyesuaian_material wherekode_projek='+quotedstr(label2.Caption)+'andmerek_material='+quotedstr(StringGrid1.Cells[1,i])+'andjenis_material='+quotedstr(StringGrid1.Cells[2,i])+'andinfo_warna='+quotedstr(StringGrid1.Cells[3,i])); stok:=ADOQuery1.FieldValues['stok']; sisa:=stok-strtoint(StringGrid1.Cells[5,i]); kodebantu:=ADOQuery1.FieldValues['kode_bantu']; if sisa>=0 then begin f_main.ExecuteSql(ADOQuery1,'update tb_material_details set stok='+quotedstr(inttostr(sisa))); f_main.ExecuteSql(ADOQuery1,'insert into tb_history_material values('+quotedstr(label2.Caption)+','+quotedstr(kodebantu)+','+quotedstr(StringGrid1.Cells[4,i])+','+quotedstr(StringGrid1.cells[5,i])+','+quotedstr(f_main.Label5.Caption)); showmessage ('Projek Telah Ditutup, Stok Material yang Dipakai Telah Dikurangi'); end else showmessage ('Stok Tidak Mencukupi'); end;end;

Page 23: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

109

Segmen Program 4.11. Procedure Perhitungan Lama Waktu Produksi

procedure TLama_Produksi.hitung_waktu();varjam:real;i,banyak,hasil,hasilbagi,total,total1,tambahan:integer;begin total1:=0; f_main.OpenSql(ADOQuery2,'select Nama,waktu,jumlah from q_lama_produksi wherekode_bantu2='+quotedstr(DBLookupComboBox1.Text)+'order by kode_bantu2,kode_proses,urutan'); banyak:=ADOQuery2.RecordCount;if banyak>0 thenbegin for i:=1 to banyak do begin tambahan:=0; if (strtoint(StringGrid1.Cells[4,i])>(strtoint(label15.Caption))) then begin if (strtoint(label15.Caption)<>0)then begin StringGrid1.Cells[4,i]:=label15.Caption; end; end; hasil:=strtoint(label15.Caption)div strtoint(StringGrid1.Cells[4,i]); hasilbagi:=strtoint(label15.Caption)mod strtoint(StringGrid1.Cells[4,i]); if (hasilbagi<(strtoint(StringGrid1.Cells[4,i]))) then begin if hasilbagi<>0 then begin tambahan:=1*strtoint(StringGrid1.Cells[2,i]); end; end; total:=(hasil*strtoint(StringGrid1.Cells[2,i]))+(tambahan); StringGrid1.Cells[5,i]:=inttostr(total); total1:=total1+strtoint(StringGrid1.Cells[5,i]); end; jam:=total1/60; memo1.Lines.Add('Total Waktu Proses Dgn Menggunakan Beberapa Mesin Tiap Proses='+inttostr(total1)+' Menit ==> '+floattostr(jam)+' Jam');end;end;procedure TLama_Produksi.isidblook();varbanyak:integer;begin F_main.OpenSql(ADOQuery1,'select * from q_produk_detail order by kode_bantu2'); banyak:=ADOQuery1.RecordCount; if banyak<=15 then begin DBLookupComboBox1.DropDownRows:=banyak; end else begin DBLookupComboBox1.DropDownRows:=15; end; DBLookupComboBox1.ListSource:=DataSource1; DBLookupComboBox1.ListField:='kode_bantu2;nama_produk;info_model;info_warna;ukuran'; DBLookupComboBox1.KeyField:='kode_bantu2';end;

Page 24: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

110

procedure TLama_Produksi.isiproses();vartotal,i,banyak:integer;begin memo1.Clear; f_main.OpenSql(ADOQuery2,'select Nama,waktu,jumlah from q_lama_produksi wherekode_bantu2='+quotedstr(DBLookupComboBox1.Text)+'order by kode_bantu2,kode_proses,urutan'); if ADOQuery2.RecordCount>0 then begin banyak:=ADOQuery2.RecordCount; StringGrid1.RowCount:=banyak+1; end else begin banyak:=ADOQuery2.RecordCount; StringGrid1.RowCount:=2; StringGrid1.FixedRows:=1; StringGrid1.FixedCols:=1; end;if banyak>0 then begin for i:=1 to banyak do begin total:=(ADOQuery2.FieldValues['waktu'])*(strtoint(label15.Caption)); StringGrid1.Cells[0,i]:=inttostr(i); stringgrid1.Cells[1,i]:=ADOQuery2.FieldValues['nama']; stringgrid1.Cells[2,i]:=ADOQuery2.FieldValues['waktu']; StringGrid1.Cells[3,i]:=inttostr(total); StringGrid1.Cells[4,i]:=ADOQuery2.FieldValues['jumlah']; memo1.Lines.Add(inttostr(i)+'. '+ADOQuery2.FieldValues['nama']+', Lama Proses='+''+inttostr(ADOQuery2.FieldValues['waktu'])+' Menit'+','+' Total='+' '+stringgrid1.Cells[3,i]+' Menit'); ADOQuery2.Next; end; memo1.Lines.Add(''); memo1.Lines.Add('****************************************************'); memo1.Lines.Add('Total Waktu Proses Dgn Menggunakan 1 Mesin Tiap Proses = '+label4.Caption); memo1.Lines.Add('****************************************************'); end;end;

procedure TLama_Produksi.isibahan();vari,banyak,total:integer;begin memo2.Clear; f_main.OpenSql(ADOQuery2,'select * from q_view_bom1 wherekode_bom='+quotedstr(label9.Caption)); banyak:=ADOQuery2.RecordCount; for i:=1 to banyak do begin total:=strtoint(label15.Caption)* ADOQuery2.FieldValues['jumlah']; memo2.Lines.Add('========================================'); memo2.Lines.Add(inttostr(i)+'. '+'Merk Material : '+ADOQuery2.FieldValues['merek_material']); memo2.Lines.Add(' Jenis Material : '+ADOQuery2.FieldValues['jenis_material']); memo2.lines.Add(' Info Warna : '+ADOQuery2.FieldValues['info_warna']); memo2.Lines.Add(' Total Bahan Baku Yang Dibutuhkan : '+inttostr(total)+''+ADOQuery2.FieldValues['info_satuan']+' ');

Page 25: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

111

memo2.Lines.Add(' Stok Di Gudang Saat Ini Adalah'+inttostr(ADOQuery2.FieldValues['stok'])+' '+ADOQuery2.FieldValues['info_Satuan'] ); memo2.Lines.Add('========================================'); memo2.Lines.Add(''); ADOQuery2.Next; endend;

procedure TLama_Produksi.Edit1Change(Sender: TObject);vartotal,jumlah,jmlpro,i,j:integer;jam:real;beginif edit1.Text<>'' then begin total:=0; edit2.Text:=''; jmlpro:=(strtoint(edit1.Text)-ADOQuery1.FieldValues['stok'])+(ADOQuery1.FieldValues['stok_min']); if jmlpro<0 then label15.Caption:='0' else label15.Caption:=inttostr(jmlpro); f_main.OpenSql(ADOQuery2,'select waktu from q_lama_produksi wherekode_bantu2='+quotedstr(DBLookupComboBox1.Text)); while not ADOQuery2.Eof do begin total:=total+ADOQuery2.FieldValues['waktu']; ADOQuery2.Next; end; jumlah:=total*(strtoint(label15.Caption)); jam:=(jumlah/60); label4.Caption:=inttostr(jumlah)+' Menit ==>'+ floattostr(jam)+' Jam'; isiproses(); isibahan(); hitung_waktu(); endelse begin label4.Caption:='---- Menit ==> ---- Jam'; label15.Caption:='---- '; edit2.Text:=''; memo1.Clear; memo2.Clear; //reset stringgrid for i:=1 to stringgrid1.RowCount-1 do begin for j:=0 to stringgrid1.ColCount-1 do begin stringgrid1.Cells[j,i]:=''; end; end; StringGrid1.RowCount:=2; StringGrid1.FixedRows:=1; StringGrid1.FixedCols:=1; end;end;

Page 26: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

112

procedure TLama_Produksi.StringGrid1Click(sender:tobject);vari:integer;temp:array [1..5] of integer;beginkolom:=StringGrid1.Col;baris:=StringGrid1.Row;if (kolom=4) then begin f_main.OpenSql(ADOQuery2,'select jumlah from q_lama_produksi wherekode_bantu2='+quotedstr(DBLookupComboBox1.Text)+'order by kode_bantu2,kode_proses,urutan'); for i:=1 to ADOQuery2.RecordCount do begin temp[i]:=ADOQuery2.FieldValues['jumlah']; if baris=i then label18.Caption:=inttostr(temp[i]); ADOQuery2.Next; end; edit2.Enabled:=true; edit2.Text:=''; edit2.SetFocus; end;end;

procedure TLama_Produksi.BitBtn1Click(Sender: TObject);beginif (edit2.Text<>'') and (edit2.Text<>'0') then begin if (strtoint(edit2.Text)<=strtoint(label18.Caption)) and (strtoint(edit2.Text)>=0) then begin if (strtoint(edit2.Text)<=strtoint(label15.Caption)) then begin StringGrid1.Cells[kolom,baris]:=edit2.Text; hitung_waktu(); end else begin if strtoint(label15.Caption)<=strtoint(label18.Caption) then begin showmessage ('Lebih Baik Menggunakan '+label15.Caption+' Mesin'); edit2.Text:=label15.Caption; end end; end else begin showmessage ('Jumlah Mesin Max adalah '+label18.Caption); edit2.Text:=label18.Caption; end; endelse begin showmessage ('Jumlah Mesin Yang Diinputkan Minimal 1'); edit2.Text:='1'; end;end;

Page 27: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

113

4.2.9.6. Form Perencanaan Produksi

Form ini menampilkan informasi hasil penjadwalan dimana terdapat

perkiraan jam produksi dan jam selesai produksi. Perencanaan produksi ini

berdasarkan FCFS (First Come First Served) yaitu proyek yang masuk pertama

yang didahulukan. Setelah pertimbangan FCFS maka selanjutnya prioritas

pesanan pelanggan lebih diutamakan daripada make-to-stok.

Segmen Program 4.12. Procedure Penjadwalan Produksi

procedure TPenjadwalan.cekwaktu(totalwaktuproses:integer;tglmulai:tdate;jammulai:ttime; vartglselesai:tdate; var jamselesai:ttime);varjam,menit,lamakerja:integer;waktu:string;begin //totalwaktuproses:=5465; jam:=totalwaktuproses div 60; menit:=totalwaktuproses mod 60; tglselesai:=tglmulai; lamakerja:=strtoint(copy(timetostr(jam_keluar),1,pos(':',timetostr(jam_keluar))-1))-strtoint(copy(timetostr(jam_masuk),1,pos(':',timetostr(jam_masuk))-1)); if (jam>=lamakerja) then begin tglselesai:=tglselesai+(jam div lamakerja); jam:=jam mod lamakerja; end; waktu:=inttostr(jam)+':'+inttostr(menit); jamselesai:=jammulai+strtotime(waktu); if jamselesai>jam_keluar then begin jamselesai:=(jamselesai-jam_keluar)+jam_masuk; tglselesai:=tglselesai+1; end;end;

procedure TPenjadwalan.cek();varjammesinterakhir,jam_selesai,jamprosesterakhir:TTime;tgltutupprojek,tgl_pro,tgl_selesai,tglmesinterakhir,tglprosesterakhir:TDate;i,j,JmlMesinLast,temp,total,flag:integer;beginf_main.OpenSql(ADOQuery1,'select * from setting');jam_masuk:=ADOQuery1.FieldValues['jam_masuk'];jam_keluar:=ADOQuery1.FieldValues['jam_keluar'];f_main.OpenSql(ADOQuery1,'select tgl_produksi from tb_projek wherekode_projek='+quotedstr(StringGrid1.Cells[0,1]));tgl_pro:=ADOQuery1.FieldValues['tgl_produksi'];f_main.OpenSql(ADOQuery1,'select (tgl_selesai) as tglselesai ,(jam_selesai) as jamselesai fromq_penjadwalan_produksi3 ');ADOQuery1.Last;

Page 28: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

114

//f_ main.OpenSql(ADOQuery1,'select last(tutup_projek)as tutup,last(jam_selesai)as jamselesai fromq_penjadwalan_produksi3 ');stringgrid2.Cells[0,1]:= inttostr(strtoint(stringgrid1.Cells[4,1]) mod strtoint(stringgrid1.Cells[7,1]));StringGrid2.Cells[2,1]:=StringGrid1.Cells[3,1];StringGrid2.Cells[3,1]:=StringGrid1.Cells[7,1];

if (ADOQuery1.FieldValues['jamselesai']<>NULL) and(ADOQuery1.FieldValues['tglselesai']<>NULL) thenbegin// tgltutupprojek:=ADOQuery1.FieldValues['tutup']; tgltutupprojek:=ADOQuery1.FieldValues['tglselesai']; jammesinterakhir:=ADOQuery1.FieldValues['jamselesai'];end;

if ADOQuery1.FieldValues['tglselesai']<>NULL then begin if (tgl_pro<tgltutupprojek) then begin StringGrid1.Cells[8,1]:=datetostr(tgltutupprojek); StringGrid1.Cells[9,1]:=timetostr(jammesinterakhir); end else begin StringGrid1.Cells[8,1]:=datetostr(tgl_pro); StringGrid1.Cells[9,1]:=timetostr(jam_masuk); end;

endelse begin StringGrid1.Cells[8,1]:=datetostr(tgl_pro); StringGrid1.Cells[9,1]:=timetostr(jam_masuk); end;cekwaktu(strtoint(StringGrid1.Cells[3,1]),strtodate(StringGrid1.Cells[8,1]),strtotime(StringGrid1.Cells[9,1]),tgl_selesai,jam_selesai);StringGrid1.Cells[10,1]:=datetostr(tgl_selesai);StringGrid1.Cells[11,1]:=timetostr(jam_selesai);

tglprosesterakhir:=strtodate(StringGrid1.Cells[8,1]); jamprosesterakhir:=strtotime(StringGrid1.Cells[9,1]);for i:=2 to StringGrid1.RowCount-1 do begin

for j:=1 to i-1 do begin if StringGrid1.Cells[6,i]=StringGrid1.Cells[6,j] then begin tglmesinterakhir:=strtodate(StringGrid1.Cells[10,j]); jammesinterakhir:=strtotime(StringGrid1.Cells[11,j]); jmlMesinLast:= strtoint(stringgrid2.Cells[0,j]); end;if (StringGrid1.Cells[0,i]=StringGrid1.Cells[0,j]) and (StringGrid1.Cells[2,j]<StringGrid1.Cells[2,i])then begin if tglprosesterakhir<=strtodate(StringGrid1.Cells[10,j]) then begin

Page 29: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

115

if (tglprosesterakhir=strtodate(StringGrid1.Cells[10,j])) and(strtotime(StringGrid1.Cells[11,j])<jamprosesterakhir)then jamprosesterakhir:=jamprosesterakhir else jamprosesterakhir:=strtotime(StringGrid1.Cells[11,j]); tglprosesterakhir:=strtodate(StringGrid1.Cells[10,j]); end end; end; if (tglmesinterakhir>tglprosesterakhir) and (tglmesinterakhir<>0)then begin flag:=1; StringGrid1.Cells[8,i]:=datetostr(tglmesinterakhir); StringGrid1.Cells[9,i]:=timetostr(jammesinterakhir); if (strtoint(stringgrid1.Cells[4,i])-JmlMesinLast)>=0 then stringgrid2.Cells[0,i]:= inttostr(strtoint(StringGrid1.Cells[7,i])-((strtoint(stringgrid1.Cells[4,i])-JmlMesinLast) mod strtoint(stringgrid1.Cells[7,i]))) else stringgrid2.Cells[0,i]:= inttostr(JmlMesinLast-(strtoint(stringgrid1.Cells[4,i]))); end else if (tglprosesterakhir>tglmesinterakhir) and (tglprosesterakhir<>0) then begin flag:=2; StringGrid1.Cells[8,i]:=datetostr(tglprosesterakhir); StringGrid1.Cells[9,i]:=timetostr(jamprosesterakhir); stringgrid2.Cells[0,i]:= inttostr(strtoint(StringGrid1.Cells[7,i])-(strtoint(stringgrid1.Cells[4,i])mod strtoint(stringgrid1.Cells[7,i]))); end else if (tglmesinterakhir=tglprosesterakhir)and (tglmesinterakhir<>0) then begin StringGrid1.Cells[8,i]:=datetostr(tglmesinterakhir); if jamprosesterakhir>jammesinterakhir then begin flag:=2; StringGrid1.Cells[9,i]:=timetostr(jamprosesterakhir); stringgrid2.Cells[0,i]:= inttostr(strtoint(StringGrid1.Cells[7,i])-(strtoint(stringgrid1.Cells[4,i])mod strtoint(stringgrid1.Cells[7,i]))); end else begin flag:=1; StringGrid1.Cells[9,i]:=timetostr(jammesinterakhir); if (strtoint(stringgrid1.Cells[4,i])-JmlMesinLast)>=0 then stringgrid2.Cells[0,i]:= inttostr(strtoint(StringGrid1.Cells[7,i])-((strtoint(stringgrid1.Cells[4,i])-JmlMesinLast) mod strtoint(stringgrid1.Cells[7,i]))) else stringgrid2.Cells[0,i]:= inttostr(JmlMesinLast-(strtoint(stringgrid1.Cells[4,i]))); end end; if StringGrid1.Cells[8,i]='' then begin flag:=2; f_main.OpenSql(ADOQuery1,'select tgl_produksi from tb_projek wherekode_projek='+quotedstr(StringGrid1.Cells[0,i])); tgl_pro:=ADOQuery1.FieldValues['tgl_produksi'];

Page 30: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

116

if (tglprosesterakhir>tgl_pro) or (tglprosesterakhir=0) then begin StringGrid1.Cells[8,i]:=datetostr(tgl_pro); StringGrid1.Cells[9,i]:=timetostr(jam_masuk); end else begin StringGrid1.Cells[8,i]:=datetostr(tglprosesterakhir); StringGrid1.Cells[9,i]:=timetostr(jamprosesterakhir); end; stringgrid2.Cells[0,i]:= inttostr(strtoint(StringGrid1.Cells[7,i])-(strtoint(stringgrid1.Cells[4,i])mod strtoint(stringgrid1.Cells[7,i]))); end; if (strtoint(StringGrid2.Cells[0,i])=strtoint(StringGrid1.Cells[7,i])) then StringGrid2.Cells[0,i]:='0';

if (flag=1) and (JmlMesinLast>=strtoint(stringgrid1.Cells[4,i])) then begin total:=strtoint(stringgrid1.Cells[5,i]); StringGrid2.Cells[3,i]:=stringgrid1.Cells[4,i]; end else begin if (JmlMesinLast>0) and (flag=1)then begin temp:=strtoint(StringGrid1.Cells[4,i])-JmlMesinLast; StringGrid2.Cells[3,i]:=inttostr(JmlMesinLast); end else begin temp:=strtoint(StringGrid1.Cells[4,i]); StringGrid2.Cells[3,i]:=StringGrid1.Cells[7,i]; end; total:=(temp div strtoint(StringGrid1.Cells[7,i]) * strtoint(StringGrid1.Cells[5,i]) ) ; if (temp mod strtoint(StringGrid1.Cells[7,i])>0) then total:=total+strtoint(StringGrid1.Cells[5,i]); if (JmlMesinLast>0) and (flag=1)then total:=total+strtoint(StringGrid1.Cells[5,i]); end; stringgrid2.Cells[2,i]:=inttostr(total);

cekwaktu(strtoint(StringGrid2.Cells[2,i]),strtodate(StringGrid1.Cells[8,i]),strtotime(StringGrid1.Cells[9,i]),tgl_selesai,jam_selesai); StringGrid1.Cells[10,i]:=datetostr(tgl_selesai); StringGrid1.Cells[11,i]:=timetostr(jam_selesai); if (StringGrid1.Cells[0,i+1]<>StringGrid1.cells[0,i]) then begin

tglmesinterakhir:= 0; jammesinterakhir:=0; tglprosesterakhir:=0; jamprosesterakhir:=0; end; end;end;

Page 31: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

117

4.2.9.7. Form View Proyek

Form ini digunakan untuk melihat data proyek baik dengan menggunakan

filter ataupun melihat semua data. Dan user-pun dapat mencari data pada form

ini. Filter yang digunakan yaitu tanggal produksi dan nama proyek.

4.2.10. Implementasi Menu Peramalan

4.2.10.1. Form Data Penjualan Aktual

Form ini digunakan untuk memasukkan data produk, model produk dan

tahun produk yang akan dimasukkan data penjualan aktualnya. Jika detail data

produk telah ada atau pernah dibuat maka user hanya tinggal klik 2 kali pada

tabel, kemudian akan muncul sebuah form detail penjualan aktual yang

digunakan untuk mengedit jumlah data penjualan aktualnya. Setiap detail

produk yang dibuat secara otomatis semua data akan bernilai 0. Kode penjualan

akan di-generate secara otomatis.

Page 32: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

118

Segmen Program 4.13. Procedure Simpan Data Detail Produk

procedure TPenj_aktual.kode_penj();vartempangka:integer;temphuruf,temphuruf2:string;begin//isi kode_peramalanF_main.opensql(ADOQuery1,'select kode_peramalan from tb_penjualan_aktual');ADOQuery1.Last; if ADOQuery1.RecordCount=0 then label8.Caption:='PRL00001' else begin temphuruf:=ADOQuery1.FieldValues['kode_peramalan']; if temphuruf[4]='0' then begin if temphuruf[5]='0' then begin if temphuruf[6]='0' then begin if temphuruf[7]='0' then temphuruf2:=copy(temphuruf,8,1) else temphuruf2:=copy(temphuruf,7,2); end else temphuruf2:=copy(temphuruf,6,3); end else temphuruf2:=copy(temphuruf,5,4); end else temphuruf2:=copy(temphuruf,4,5); tempangka:=strtoint(temphuruf2); tempangka:=tempangka + 1; if length(inttostr(tempangka))=1 then temphuruf:='PRL0000'+inttostr(tempangka) else if length(inttostr(tempangka))=2 then temphuruf:='PRL000'+inttostr(tempangka) else if length(inttostr(tempangka))=3 then temphuruf:='PRL00'+inttostr(tempangka) else if length(inttostr(tempangka))=4 then temphuruf:='PRL0'+inttostr(tempangka) else if length(inttostr(tempangka))=5 then temphuruf:='PRL'+inttostr(tempangka) ; label8.caption:=temphuruf; end;end;procedure TPenj_aktual.BitBtn1Click(Sender: TObject);beginif (combobox1.ItemIndex>=0)and (combobox2.ItemIndex>=0)and (edit1.Text<>'') then begin f_main.OpenSql(ADOQuery2,'select * from q_penjualan_aktual wherenama_produk='+quotedstr(combobox1.Text)+'and info_model='+quotedstr(combobox2.Text)+'andtahun='+edit1.Text); if (ADOQuery2.RecordCount=0) then

Page 33: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

119

4.2.10.2. Form Detail Penjualan Aktual

Form ini akan menampilkan semua detail data produk yang telah dipilih

pada form sebelumnya yaitu form penjualan aktual. Pada form ini selain user

dapat mengedit maupun memasukkan data penjualan aktual, form ini juga

secara otomatis akan membuat perhitungan peramalan dengan menggunakan

Trend Line Analysis Model, dimana rumus yang dihasilkan nanti akan

digunakan sebagai standart untuk melakukan perhitungan peramalan yang baru.

Setiap perubahan data yang dilakukan pada masing-masing jenis produk akan

menghasilkan perhitungan, hasil peramalan dan rumus yang berbeda-beda.

begin f_main.ExecuteSql(ADOQuery1,'insert into tb_penjualan_aktual values('+quotedstr(label8.Caption)+','+quotedstr(f_main.SearchField('tb_master_produk','nama_produk',combobox1.Text,'kode_produk'))+','+quotedstr(f_main.SearchField('tb_produk_model','info_model',combobox2.Text,'kode_model'))+','+quotedstr(edit1.Text)+')'); isigrid(); kode_penj(); end else showmessage ('Produk Sudah Ada di database, untuk menambahkan data penjualan klik 2 kali padadata yang terdapat di tabel. Thx ^^'); endelse showmessage ('Harap Mengisi Semua Field');end;

procedure TPenj_aktual.DBGrid1DblClick(Sender: TObject);beginif(combobox1.ItemIndex>=0) thenbegin if ADOQuery2.RecordCount<>0 then begin detail_penjualan.label2.Caption:=ADOQuery2.FieldValues['nama_produk']; detail_penjualan.label4.Caption:=ADOQuery2.FieldValues['info_model']; detail_penjualan.label6.Caption:=ADOQuery2.FieldValues['tahun']; detail_penjualan.label12.Caption:=ADOQuery2.FieldValues['kode_peramalan']; detail_penjualan.Show; Penj_aktual.Enabled:=false; end;end;end;

Page 34: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

120

Segmen Program 4.14. Procedure Simpan Hasil Perhitungan Peramalan

procedure Tdetail_penjualan.rumus();varerror1,j,i,jml,error2,rsfe1,rsfe2,abs_err1,abs_err2,kum_abs1,temp,jmlbln,jmlaktual,temp2,temp3,temp4:integer;pangkat,ratabln,rataaktual,ratatkuadrat,a,b,peramalan,mad1,tracking1:real;bulan:string;begin kum_abs1:=0; rsfe1:=0; temp2:=0; jmlbln:=78; ratabln:=78 / 12; f_main.OpenSql(ADOQuery1,'select Sum(jumlah) AS total FROM tb_penjualan_aktual_detailwhere kode_peramalan='+quotedstr(label12.Caption)); jmlaktual:=ADOQuery1.FieldValues['total']; rataaktual:=jmlaktual /12; f_main.OpenSql(ADOQuery1,'select jumlah FROM tb_penjualan_aktual_detail wherekode_peramalan='+quotedstr(label12.Caption)); for i:=1 to 12 do begin temp:=i*ADOQuery1.FieldValues['jumlah']; temp2:=temp2+temp; ADOQuery1.Next end; ratatkuadrat:=650; pangkat:=Power(ratabln,2); b:=(temp2-(12*(ratabln)*(rataaktual)))/((ratatkuadrat)-(12*(pangkat))); a:=rataaktual-(b*(ratabln)); f_main.OpenSql(ADOQuery1,'select * FROM tb_penjualan_aktual_detail wherekode_peramalan='+quotedstr(label12.Caption)); for j:=1 to 12 do begin jml:=ADOQuery1.FieldValues['jumlah']; error2:=ADOQuery1.FieldValues['error']; rsfe2:=ADOQuery1.FieldValues['rsfe']; abs_err2:=ADOQuery1.FieldValues['abs_error']; case j of 1: bulan:='1'; 2: bulan:='2'; 3: bulan:='3'; 4: bulan:='4'; 5: bulan:='5'; 6: bulan:='6'; 7: bulan:='7'; 8: bulan:='8'; 9: bulan:='9'; 10: bulan:='10'; 11: bulan:='11'; 12: bulan:='12'; end; peramalan:=a+(b*j); error1:=jml-round(peramalan);

temp3:=error2+rsfe1; rsfe1:=temp3; abs_err1:=abs(error2);

Page 35: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

121

temp4:=abs_err2+kum_abs1; kum_abs1:=temp4; mad1:=kum_abs1/j; if(mad1<>0)then tracking1:=rsfe2/mad1 else tracking1:=0; f_main.ExecuteSql(ADOQuery2,'update tb_penjualan_aktual_detail setperamalan='+quotedstr(floattostr(peramalan))+','+'error='+quotedstr(floattostr(error1))+','+'rsfe='+quotedstr(floattostr(rsfe1))+','+'abs_error='+quotedstr(floattostr(abs_err1))+','+'kum_abs_error='+quotedstr(floattostr(kum_abs1))+','+'mad='+quotedstr(floattostr(mad1))+','+'tracking='+quotedstr(floattostr(tracking1))+'where bulan= '+ bulan +' and kode_peramalan='+quotedstr(label12.Caption)); ADOQuery1.Next; end; label14.Caption:=inttostr(jmlbln); label15.Caption:=inttostr(jmlaktual); label16.Caption:=inttostr(temp2); label17.Caption:=floattostr(ratabln); label18.Caption:=floattostr(rataaktual); label19.Caption:=floattostr(ratatkuadrat); label20.Caption:=floattostr(a); label21.Caption:=floattostr(b); label22.Caption:='Ft='+floattostr(a)+'+'+floattostr(b)+'t'; f_main.ExecuteSql(ADOQuery2,'update tb_penjualan_aktual seta='+quotedstr(floattostr(a))+','+'b='+quotedstr(floattostr(b))+' wherekode_peramalan='+quotedstr(label12.Caption));end;

procedure Tdetail_penjualan.isibulan();vari:integer;bulan:string;begin f_main.OpenSql(ADOQuery1,'select * from tb_penjualan_aktual_detail wherekode_peramalan='+quotedstr(label12.Caption)); if ADOQuery1.RecordCount=0 then begin for i:=0 to 11 do begin case i of 0: bulan:='1'; 1: bulan:='2'; 2: bulan:='3'; 3: bulan:='4'; 4: bulan:='5'; 5: bulan:='6'; 6: bulan:='7'; 7: bulan:='8'; 8: bulan:='9'; 9: bulan:='10'; 10: bulan:='11'; 11: bulan:='12'; end; f_main.ExecuteSql(ADOQuery2,'insert into tb_penjualan_aktual_detailvalues('+quotedstr(label12.Caption)+','+bulan+',''0'',''0'',''0'',''0'',''0'',''0'',''0'',''0'')'); end; end;end;

Page 36: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

122

4.2.10.3. Form Peramalan Baru

Form ini berfungsi untuk melakukan peramalan terhadap sebuah produk

berdasarkan rumus yang terlah ada pada database yang berdasarkan hasil

perhitungan dengan data-data penjualan aktual masa lampau dari nama produk

dan jenis produk yang sama.

procedure Tdetail_penjualan.DBGrid1DblClick(Sender: TObject);vara:string;bln:integer;begin bln:=strtoint(ADOQuery2.FieldValues['bulan']); case bln of 1 : a:='Januari'; 2 : a:='Februari'; 3 : a:='Maret'; 4 : a:='April'; 5 : a:='Mei'; 6 : a:='Juni'; 7 : a:='July'; 8 : a:='Agustus'; 9 : a:='September'; 10: a:='Oktober'; 11: a:='Nopember'; 12: a:='Desember'; end; label13.Caption:=a; edit1.Text:=ADOQuery2.FieldValues['jumlah']; edit1.Enabled:=true; edit1.SetFocus; BitBtn4.Enabled:=true;end;

Page 37: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

123

Segmen Program 4.15. Procedure Perhitungan Peramalan Baru

4.2.10.4. Form View Peramalan

Form ini berguna membantu user melihat data-data hasil peramalan

terhadap sebuah produk berdasarkan nama produk, jenis model dan tahun

penjualan.

procedure TPeramalan.BitBtn1Click(Sender: TObject);vari:integer; peramalan:real;A,B,bulan:string;beginmemo1.Clear;f_main.OpenSql(ADOQuery1,'select a,b from q_peramalan_baru wherenama_produk='+quotedstr(combobox2.Text)+'and info_model='+quotedstr(combobox3.Text)+'andtahun='+(combobox1.Text));A:=floattostr(ADOQuery1.FieldValues['a']);B:=floattostr(ADOQuery1.FieldValues['b']);memo1.Lines.Add('Perkiraan Jumlah Penjualan');if(combobox1.ItemIndex>=0)and(combobox2.ItemIndex>=0)and(combobox3.ItemIndex>=0)and(combobox4.ItemIndex>=0) then begin for i:=13 to 24 do begin case i of 13: bulan:='Januari'; 14: bulan:='Februari'; 15: bulan:='Maret'; 16: bulan:='April'; 17: bulan:='Mei'; 18: bulan:='Juni'; 19: bulan:='July'; 20: bulan:='Agustus'; 21: bulan:='September'; 22: bulan:='Oktober'; 23: bulan:='Nopember'; 24: bulan:='Desember'; end; peramalan:=round(strtofloat(A)+(strtofloat(B)*i)); memo1.Lines.Add('Untuk Bulan '+bulan+', Tahun '+combobox4.Text+' : '+floattostr(peramalan)+ ' Potong'); end; endelse begin showmessage ('Harap Mengisi Semua Field. Thx^^'); end;end;

Page 38: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

124

4.2.11. Implementasi Menu Laporan

Pembuatan laporan pada sistem informasi produksi pada pabrik garment ini

menggunakan Crystal Report 10. Untuk menghasilkan laporan-laporan yang

dibutuhkan digunakan beberapa query untuk menampilkan field-field yang

dibutuhkan. Form ini berfungsi memberikan informasi-informasi yang diperlukan

pemilik perusahaan untuk melakukan observasi terhadap kinerja pabrik miliknya

dalam bentuk laporan-laporan. Laporan-laporan yang tersedia antara lain: laporan

mesin, laporan material, laporan BOM, laporan produk, laporan proyek dan laporan

peramalan. Berikut adalah perintah SQL dan coding program yang dibutuhkan dalam

pembuatan laporan-laporan.

Segmen Program 4.16. Procedure Menampilkan Laporan

Page 39: Perancangan dan pembuatan sistem informasi produksi baju ... · dipakai antara lain :ADOConnection untuk menguhubungkan antaradatabase dengan aplikasi, ADOQuery untuk melakukan query

Universitas Kristen Petra

125

4.2.12. Implementasi Menu About Creator

Form ini berfungsi memberikan informasi bagi user yang ingin mengetahui

nama dan nrp dari pembuat dari aplikasi ini.

procedure TLaporan.IsiFormula();var vTable : string;beginif CheckBox2.Checked then //jika ada filter begin case ComboBox1.ItemIndex of

4:vTable:='q_projek1'; end;Report1.RecordSelectionFormula:='{' + vTable + '.tgl_produksi} >= cdate("' +DateToStr(TglAwal.Date) +'")'; end;end;

procedure TLaporan.BitBtn1Click(Sender: TObject);var path : string;beginif CheckBox1.Checked or CheckBox2.Checked then begin if combobox1.ItemIndex=0 then path:=DirectoryListBox1.Directory+'\rpt\Mesin.rpt'; if combobox1.ItemIndex=1 then path:=DirectoryListBox1.Directory+'\rpt\Material.rpt'; if combobox1.ItemIndex=2 then path:=DirectoryListBox1.Directory+'\rpt\BOM.rpt'; if combobox1.ItemIndex=3 then path:=DirectoryListBox1.Directory+'\rpt\Produk.rpt'; if combobox1.ItemIndex=4 then path:=DirectoryListBox1.Directory+'\rpt\Projek.rpt'; if combobox1.ItemIndex=5 then path:=DirectoryListBox1.Directory+'\rpt\Peramalan.rpt'; Report1.ConnectTo(Application1.OpenReport(path,1)); //mengisi nama report ke komponenapplication dan ditampung di komponen report isiformula(); ShowReport(Report1,Application1); SetPropertiReport(); end else showmessage ('Harap Memilih Filter');end;