24
Order Produksi Drawing
Lap Penggunaan Sub Mat
Order Packaging & Pemakaian Sub Mat Order Poles Alokasi Keb Sub Mat
Laporan Stok Brg Jadi Order Produksi Potong
Order Produksi Paku
Laporan Stok WR
Target Produksi
Alokasi Keb WR Sisa Kapasitas Mesin
0
Sistem Informasi PPIC
+
Marketing Gudang
WR
Paku
Gudang Finish
Good
Pembelian
Poles Gudang
Sub Mat
Packaging Drawing
Potong
4. DESAIN DAN IMPLEMENTASI SISTEM
4.1. Desain Data Flow Diagram
Sebelum melakukan desain dan proses coding/pemrograman, dalam uraian berikut ini akan digambarkan dan dijelaskan desain sistem PPIC yang sengaja dirancang sedemikian rupa sebagai perwujudan sistem yang nantinya akan diimplementasikan pada PT. Surabaya Wire. Desain sistem PPIC yang diwujudkan dalam bentuk DFD (Data Flow Diagram) terbagi ke dalam beberapa level.
4.1.1. Context Diagram Sistem PPIC
Gambar 4.1 Context Diagram PPIC Surabaya Wire
25
Pada tahap ini, proses perencanaan produksi dimulai dari bagian marketing yang menginputkan order pesanan paku maupun bendrat per ukuran dan merk tiap bulannya sesuai permintaan distributor PT. Surabaya Wire. Lalu order dari marketing diolah sehingga mengetahui total order berdasarkan ukuran tiap bulannya, PPIC akan mengecek jumlah stok paku maupun bendrat pada gudang bahan jadi (finish good) dan stok pada gudang bahan baku apakah jumlah stok yang tersedia sesuai dengan jumlah kebutuhan produksi dan juga menghitung jumlah kebutuhan mesin yang dibutuhkan tiap ukurannya. Apabila ada sisa kapasitas mesin, PPIC akan menawarkan sisa kapasitas mesin tersebut kepada bagian marketing sebagai informasi untuk pembuatan pesanan khusus (job order) apabila dibutuhkan tiap bulannya.
Selain itu PPIC akan melakukan pengalokasian kebutuhan bahan baku (wire rod) kepada marketing apabila bahan baku yang dibutuhkan untuk produksi tidak mencukupi dan kepada bagian pembelian untuk pengalokasian kebutuhan sub material yang dibutuhkan. Lalu bagian pembelian dan bagian marketing akan memberikan jadwal kedatangan masing- masing kebutuhan bahan pada bagian PPIC.
Sehingga PPIC dapat membuat jadwal produksi tiap ukuran dan memberikannya pada tiap-tiap bagian produksi untuk melakukan produksi dan menggunakan bahan-bahan yang telah ditetapkan.
4.1.2. Data Flow Diagram Level 0
Pada tahap ini terdapat tiga proses yaitu: proses pengalokasian kebutuhan wire rod (2), pengalokasian kebutuhan sub material (3) dan perencanaan kapasitas dan penjadwalan produksi (1). Pada proses perencanaan kapasitas dan penjadwalan produksi terdapat kekurangan bahan, maka terjadi proses alokasi kebutuhan baik itu kebutuhan wire rod maupun kebutuhan sub material. Data alokasi kebutuhan bahan dan sub material tersebut akan diproses menjadi database yang akan digunakan untuk proses yang lainnya.
26
Setelah alokasi kebutuhan wire rod ataupun sub material dilakukan, maka bagian marketing ataupun bagian pembelian akan memberi inputan berupa laporan kedatangan bahan yang dipesan pada proses perencanaan produksi.
Gambar 4.2 DFD Level 0 Sistem Informasi PPIC
4.1.3. Data Flow Diagram Level 1
Pada tahap ini terdapat dua proses. Proses pertama (1.1) adalah untuk merencanakan kapasitas mesin. Proses ini mendapatkan inputan dari marketing berupa target produksi dan memberikan output kepada marketing berupa sisa kapasitas mesin. Selain itu juga memberikan output kepada proses kedua yaitu
Report Alokasi Kebutuhan WR
Laporan Kedatangan WR
Laporan Kedatangan Sub Material Order Kebutuhan SubMat
Order Kebutuhan WR Target Produksi
Laporan Stok Brg Jadi
Store Kebutuhan Sub Mat
Order Produksi Drawing Lap Penggunaan Sub Mat
Order Packaging & Pemakaian Sub Mat
Order Poles
Order Produksi Potong OrderProduksi Paku Laporan Stok WR
Store Kebutuhan WR Alokasi Keb WR
Sisa Kapasitas Mesin Marketing
Marketing
Gudang WR
Paku
Potong
Gudang Finish
Good
Pembelian Poles
Packaging
Gudang Sub Mat
Drawing 1
Perencanaan Produksi
+
2 Alokasi Kebutuhan WR
3
Alokasi Kebutuhan Sub Mat 1 Data Alokasi
Kebutuhan WR
3 Data Alokasi Keb Sub Mat
27
perencanaan kapasitas produksi berupa data kebutuhan mesin. Dalam proses ini terjadi perencanaan kebutuhan bahan baku dan bahan sub material yang dibutuhkan pada proses produksi dan penentuan kapasitas produksi tiap mesin.
Gambar 4.3 DFD Level 1 Sistem Perencanaan Produksi
4.1.4. Data Flow Diagram Level 2
Pada level ini terdapat tiga proses. Proses pertama (1.1.1) adalah penentuan hari kerja dan kapasitas produksi. Proses ini mendapat inputan dari tabel hari kerja dan menghasilkan output berupa komposisi hari kerja kepada proses penjadwalan produksi. Dalam proses yang kedua (1.1.2) ini penjadwalan produksi dilakukan dan diproses menjadi database. Output dari proses ini berupa order pemakaian sub
Ambil Data Kapasitas Mesin Report Kapasitas Mesin
Laporan Kedatangan WR
Laporan Kedatangan Sub Material Data Kebutuhan Mesin
Target Produksi
Lap Penggunaan Sub Mat Laporan Stok Brg Jadi
Laporan Stok WR
Order Produksi Drawing Order Packaging & Pemakaian Sub Mat
Order Poles Order Produksi Potong
Order Produksi Paku Sisa Kapasitas Mesin Marketing
Gudang Paku WR
Potong
Gudang Finish Good
Poles Packaging
Gudang Sub Mat
Drawing
1
Perencanaan Kapasitas
Produksi
+
1.2
Perencanaan Kapasitas
Mesin
Pembelian
Marketing
8 Data Kapasitas Mesin
28
material dan order packaging pada bagian packaging, order poles untuk bagian poles, order produksi dan pemakaian bahan baku atau sub material pada tiap-tiap bagian produksi (paku dan drawing).
Selain mendapat inputan dari proses pertama, proses ini juga mendapat inputan dari proses ketiga (1.1.3) yaitu penentuan bahan produksi berupa pemakaian bahan baku. Proses ini mendapat inputan dari gudang wire rod berupa laporan stok wire rod, bagian pembelian berupa laporan kedatangan sub material, laporan stok barang jadi gudang finish good, laporan kedatangan wire rod dari bagian marketing, dan gudang stok sub material berupa laporan penggunaan sub material.
Gambar 4.4 DFD Level 2 Sistem Perencanaan Kapasitas Produksi
Data Bahan Report Jadwal Produksi
Laporan Kedatangan WR Laporan Kedatangan Sub Material
Pemakaian bahan Baku Store Jadwal Produksi Data Hari Kerja
Laporan Stok Brg Jadi Laporan Stok WR
Lap Penggunaan Sub Mat Komposisi Hari Kerja
Order Poles
Order Packaging & Pemakaian Sub Mat
Order Produksi Drawing
Order Produksi Potong Order Produksi Paku
Paku
Potong Poles
Packaging
Drawing 1.1.1 Penentuan Hari
Kerja & Kapasitas Produksi
1.1.2
Pembuatan Jadwal Produksi
Gudang WR
Gudang Finish
Good
Gudang Sub Mat 1.1.3
Penentuan Bahan Produksi 5 Tabel Hari Kerja
7 Data Jadwal Produksi
Pembelian
Marketing 9 Data Stok
29
4.2. Desain Entity Relationship Diagram
ERD (Entity Relationship Diagram) merupakan suatu skema yang merupakan sebuah metode yang dipakai untuk penjabaran suatu sistematika database dari suatu sistem tertentu sehingga hubungan/relasi antar tabel yang ada di dalamnya dapat diketahui secara jelas. ERD dapat dilihat pada gambar 4.5.
ERD dari sistem informasi PPIC ini menggunakan ± 29 buah tabel. Dari ke 29 tabel tersebut terdapat ± 6 buah tabel dari sistem informasi yang telah digunakan pada PT. Surabaya Wire, yaitu :
1. Tabel T_Dist,
2. Tabel Wire Rod List, 3. Tabel Wire Rod Datang, 4. Tabel Barang_JO,
5. Tabel Wire History Detail dan 6. Tabel E_Hapro Kawat Paku.
Sedangkan tabel- tabel yang tidak terdapat diatas, merupakan tabel yang didesain untuk sistem informasi PPIC. Dari tiap-tiap tabel tersebut memiliki hubungan antar tabel sebagai berikut :
1. T_Dist dengan DataPesananMaster.
Satu distributor dapat memiliki banyak kode order pada tabel DataPesananMaster. Sedangkan satu kode order hanya dimiliki oleh satu distributor. Sehingga relasi antara tabel T_Dist dengan tabel DataPesananMaster adalah one to many.
2. DataPesananMaster dengan DataPesananDetail.
Satu kode order dapat memiliki banyak kode barang yang dipesan. Sedangkan dalam satu order hanya dapat memiliki satu kode barang. Sehingga relasi antar tabelnya adalah one to many.
3. DataPesananDetail dengan DataUkuranProduk.
Satu jenis produk dapat memiliki banyak data order. Sebaliknya satu data order hanya memiliki satu produk. Sehingga relasi antara tabel
30
DataPesananDetail dengan DataUkuranProduk yaitu : many to one relationship.
4. DataUkuranProduk dengan StokBarang.
Satu periode data stok memiliki banyak data barang. Sedangkan satu stok barang memiliki satu data stok per periodenya. Sehingga tabel DataUkuranProduk dengan tabel StokBarang memiliki relasi one to many.
5. DataKebutWRMast dengan DataKebutuhanWR.
Satu kode kebutuhan dapat berisi banyak ukuran wire rod tiap periodenya.
Sedangkan satu ukuran wire rod dapat dipesan satu kali dalam tiap periodenya. Sehingga relasi tabelnya one to many.
6. DataUkuranProduk dengan DataStanSubmat.
Satu jenis produk memiliki banyak data konversi kebutuhan sub material, sedangkan satu data konversi kebutuhan sub material hanya memiliki satu jenis produksi. Karena nilai konversi tiap produk berbeda-beda. Hal ini yang membuat relasi antara tabel DataStanSubmat dengan DataUkuranProduk adalah one to many relationship.
7. DataStanSubMat dengan Barang_JO.
Dalam tabel ini satu jenis barang material dapat dimiliki pada banyak kode produksi / konversi tiap produk. Sedangkan kode produk / konversi tiap produk hanya dimiliki oleh satu barang material saja. Sehingga relasi tabelnya adalah many to one.
8. Barang_JO dengan DataKebSubmat.
Satu jenis barang dapat digunakan berulang kali dalam tabel DataKebSubmat.
Tetapi satu jadwal produksi hanya memiliki satu jenis barang saja. Relasi yang terjadi antara tabel Barang_JO dan tabel DataKebSubmat adalah one to many relationship.
9. DataKebSubmat dengan TJadwalMast.
Satu kode jadwal produksi menggunakan banyak data kebutuhan bahan sub material. Sedangkan satu jenis barang hanya digunakan sekali dalam satu kode jadwal produksi, sehingga relasinya adalah many to one.
31
10. TJadwalMast dengan TJadwalDet.
Satu kode produksi memiliki banyak data produksi per tanggal dalam tiap minggunya tiap mesin yang digunakan. Sedangkan tiap mesin hanya memiliki satu jadwal produksi tiap bulannya. Relasi yang terjadi antara tabel TJadwalMast dengan tabel TJadwalDet adalah one to many relationship.
11. TJadwalDet dengan DataKapasitasMesinMaster.
Satu jenis mesin memiliki satu jadwal produksi tiap bulannya. Sedangkan satu jadwal produksi bisa memiliki banyak jenis mesin. Relasi yang terjadi antara tabel TJadwalDet dengan tabel DataKapasitasMesinMaster adalah relasi many to one.
12. DataKapasitasMesinMaster dengan DataKapasitasMesinDetail.
Satu tipe mesin dapat mengerjakan banyak ukuran produk. Sedangkan dalam satu jenis mesin kapasitasnya hanya dapat mengerjakan satu ukuran saja.
Hubungan cardinality antara tabel DataKapasitasMesinMaster dengan tabel DataKapasitasMesinDetail adalah one to many.
13. WireRodList dengan WireRodDatang.
Satu kode wire rod memiliki satu surat jalan. Sebaliknya dalam satu surat jalan bisa terdapat banyak kode wire rod. Sehingga relasi antar tabelnya adalah one to many.
14. WireRodList dengan DataBhnProDetail.
Satu data bahan produksi memiliki banyak kode wire rod. Satu kode wire rod hanya memiliki satu kode kawat yang menggunakannya sebagai asal bahan.
Sehingga relasi antar tabelnya adalah one to many.
15. DataBhnProMaster dengan DataBhnProDetail.
Satu kode kawat produksi memiliki banyak data data asal bahan. Satu kode wire rod hanya memiliki satu kode kawat yang menggunakannya sebagai asal bahan. Sehingga relasi antar tabelnya adalah one to many.
32
16. DataBhnProMaster dengan TKonversiHaPro.
Satu kode kawat dapat menghasilkan banyak ukuran paku atau kawat. Satu ukuran paku dapat diproduksi berasal dari satu kode kawat. Sehingga relasi antar tabelnya adalah one to many.
17. TbRenPkMst dengan TbRenPkDet.
Dalam satu rencana produksi paku per tanggalnya memiliki banyak rencana produksi tiap ukuran. Sedangkan satu rencana produksi tiap ukuran per tanggalnya hanya memiliki satu jadwal. Relasinya tabel TbRenPkMst antara TbRenPkDet adalah one to many.
18. TbRenPkDet dengan TbRenPkMsn.
Satu ukuran produksi paku tiap bulannya memiliki banyak rencana mesin.
Sedangkan tiap mesin hanya memiliki satu rencana mesin dapat memproduksi satu ukuran tiap tanggalnya. Sehingga relasi antar tabelnya adalah one to many relationship.
19. TbRenPkDrw dengan TbRenBdMsn.
Satu ukuran produksi kawat tiap bulannya memiliki banyak rencana mesin.
Sedangkan tiap mesin hanya memiliki satu rencana mesin dapat memproduksi satu ukuran tiap bulannya. Sehingga relasi antar tabelnya adalah one to many relationship.
33
Gambar 4.5. Conceptual Diagram Model
Mengerjakan Memiliki
Jadwal Mingguan
Rencana Produksi
Memesan Produk
Dimiliki oleh
Asal Bahan
Menggunakan Bahan Memiliki Jadwal Produksi
Jadwal Kedatangan
Jumlah Stok per bulan
Menggunakan Sub Mat
Dipakai untuk Konversi Sub Material
Jadwal Mesin Memiliki Pesanan
Memiliki Detail Barang
Hasil Produksi
Memiliki Bahan
Jadwal produksi Data mesin
DataStanSubMatDet Specifikasi
UnitSatuan Pengali Jenis Operasi Konversi DataKapasitasMesinMaster
MesinType JenisMesin JumlahMesinTot JumlahMesinAktif Departemen Unit
<M>
DataKapasitasMesinDetail Ukuran
JenisPro MaxPro ActPro Lama Baru Korea Activasi Nilai
<M>
DataKebutWRMast KodeKebutuhan Bulan Tahun HariKerja JumTotalKebut TotalKebutAfterStok
<M>
DataKebutuhanWR UkuranWR Stock MesinTarik MesinPotong Cad TotKebut KebAfterStok
<M>
T_Dist KodeDistributor NamaDistributor Alamat Kota Propinsi T e l p
<M>
DataPesananDetail UkuranOrd Merk JumPesananKg JenisOrd SatuanOrd Tipe
JumPesananBox
Account Username Pass Name Department Acces
<M>
DataBhnProMaster KodeKwt UkuranAcuan Diameter JenisBahan Toleransi Alternukur
<M>
DataBhnProDetail NamaBhn UkuranBhn jenisBhn TKonversiHaPro
Nourut NamaBarang UkuranBarang jnsBhn KeteranganBrg
<M>
TJadwalMast KodePro KebutuhanPro Target Ukuranjdw Jpro TipeJdw StatusJdw NaPro Hari ShiftJdw
<M>
TJadwalDet Tgl Minggu Kapasitas JumMesin Tipemsn
<M>
tbRenPkMst Tanggal JumHarikerja JumShift JenisRen
<M>
tbRenPkDet UkuranPro KebutProduksi KebMsn TargMark PotensiJual TargetHari
%TargetTot
%KebutPro Stat KapMsn SelisihTgt
<M>
tbRenPkMsn TypeMesin Jumlah EffMsn
<M>
DataUkuranProduk KodeProduk UkuranProduk JenisProduk Konversikg SatuanProduk JenisBrg StatusProduk
<M>
Barang_JO KodeMtr NamaMat Spec UnitMtr
<M>
WireRodList Kode Wire Rod Nama Wire Rod Grade Ukuran WR Supp
<M>
JadwalTgl tglpro minggupro konversikgpro
<M>
DataKebBhnPro namabahan lokasi jumlahpro ukurPro nocoillabel <M>
WireRodHistoryDetail NoCoil
No TglTimbang WRKode Kontrak Order CoilTgl CoilNo HeatNo Berat LokasiWR TglPengambilan Editor FlagPakai
<M>
EHaProKawatPaku NoLabel BWG KodeKP Boom_Coil Operator Coil_No NoMesin TglHapro BeratHaPro JumlahBC Pemakai Ambil EditorHaPro Terpakai
<M>
WireRodDatang TglDatang NoSuratJalan CoilDrawing BeratDrawing CoilPotong BeratPotong CoilLainlain BeratLainlain
<M>
tbRenDrw BlnThn Ukur JumlahShift KebKwt H_Kerja TgtKwt
tbRenBdMsn TypeMsn TglSt TglFn JumKapasitas
<M>
StokBarang TglStok TotPesMark JumStok HutOrder
<M>
DataKebSubmat Kebutuhan DataPesananMaster
OrderCode Status
<M>
35
4.3. Desain Tabel Database
Untuk menyimpan data-data sistem PPIC yang akan digunakan sebagai input, untuk kemudian diproses menjadi output informasi sistem PPIC maka digunakan beberapa tabel, yaitu:
4.3.1 Tabel T_Dist
Digunakan untuk menyimpan data-data distributor PT. Surabaya Wire.
Tabel 4.1. T_Dist
Field Type Keterangan
Kode Distributor Text(3) Kode distributor
Nama distributor Text(15) Nama distributor
Alamat Text(50) Alamat distributor
Kota Text(50) Kota distributor
Propinsi Text(50) Propinsi
Telp Text(20) Telp
4.3.2 Tabel Barang_JO
Digunakan untuk menyimpan data-data barang sub material yang dipergunakan pada PT. Surabaya Wire.
Tabel 4.2. Barang_JO
Field Type Keterangan
KodeMtr Text(15) Kode material
NamaMtr Text(50) Nama material
Spec Text(50) Spesifikasi
Unit Text(5) Satuan
36
4.3.3 Tabel DataPesanan
Digunakan untuk menyimpan data-data order produksi dari distributor per bulannya pada PT. Surabaya Wire.
Tabel 4.3. DataPesanan
Field Type Keterangan
KodeOrder Text(10) Kode order
KodePro Text(10) Kode barang
KodeDistrib Text(2) Kode distributor
Ukuran Text(15) Ukuran order barang
JumPesananKg Long Integer Jumlah pesanan barang (kg)
Jenis Text(7) Jenis barang
Merk Text(30) Merk barang
Satuan Text(3) Satuan
Tipe Text(6) Tipe order
JumPesananBox Long Integer Jumlah pesanan barang (box)
Tgl DateTime Tanggal pesanan
L/E Text(1) Status (Eksport/Lokal)
4.3.4 Tabel DataUkuranProduk
Digunakan untuk menyimpan data-data barang produksi PT. Surabaya Wire dan konversi beratnya.
Tabel 4.4. DataUkuranProduk
Field Type Keterangan
KodePro Text(10) Kode barang
Ukuran Text(30) Ukuran barang
Satuan Text(6) Satuan
Jenis Text(10) Jenis
KonversiKg Single Konversi berat (kg)
JenisBrg Text(10) Tipe barang
Status Text(1) Status barang (E/L)
37
4.3.5 Tabel StokBarang
Digunakan untuk menyimpan data-data kebutuhan produksi perbulannya setelah stok barang (potensi jual) yang terdapat di gudang barang jadi setiap bulannya dikurangi total target produksi tiap bulannya.
Tabel 4.5. StokBarang
Field Type Keterangan
Kode Text(10) Kode barang
Tgl DateTime Tanggal transaksi
Ukuran Text(20) Ukuran barang
TotPesMark Long Integer Total target marketing (kg)
Jenis Text(20) Jenis
Merk Text(20) Merk
Potensijual Long Integer Stok barang yg tersedia (kg)
HutOrder Long Integer Sisa order (kg)
Flag Yes/No Flag buat potensi jual
FlagJadwal Yes/No Flag buat jadwal
4.3.6 Tabel T_Account
Digunakan untuk menyimpan kode administrator, password dan prioritas untuk mengakses program aplikasi.
Tabel 4.6. T_Account
Field Type Keterangan
Username Text(16) Nama login
Pass Text(16) Password login
Department Text(15) Nama departemen
Access Yes/No Hak Akses
4.3.7 Tabel Jadwaltgl
Digunakan untuk menyimpan data kapasitas produksi per hari dan per minggu pada PT. Surabaya Wire.
38
Tabel 4.7. Jadwaltgl
Field Type Keterangan
Tgl Date/Time Tanggal
Minggu Integer Minggu
Konversikap Single Konversi kapasitas produksi
4.3.8 Tabel TbRenPkMst
Digunakan untuk menyimpan data-data rencana produksi paku tiap bulannya pada PT. Surabaya Wire.
Tabel 4.8. TbRenPkMst
Field Type Keterangan
Tanggal Date/Time Tanggal transaksi
JumHariKerja Single Jumlah hari produksi per bulan
JumShift Single Jumlah shift per bulan
Jenis Text(7) Jenis produksi (L/E)
4.3.9 Tabel TbRenPkDet
Digunakan untuk menyimpan data-data detil rencana produksi paku tiap bulannya pada PT. Surabaya Wire
Tabel 4.9. TbRenPkDet
Field Type Keterangan
Tanggal Date/Time Tanggal transaksi
UkuranPro Text(20) Ukuran produksi
KebutProduksi Long Integer Kebutuhan produksi
KebMsn Long Integer Kebutuhan mesin
TargMark Long Integer Target marketing
Targethari Long Integer Target per hari
%TargetTot Single Prosentase target total
%KebutPro Single Prosentase kebutuhan produksi
SelisihTgt Long Integer Selisih target
39
KapMsn Integer Kapasitas produksi tiap mesin
Stat Yes/No status
4.3.10 Tabel TbRenPkMsn
Digunakan untuk menyimpan data-data detil kapasitas mesin yang direncanakan untuk produksi pada PT. Surabaya Wire.
Tabel 4.10. TbRenPkMsn
Field Type Keterangan
Tanggal Date/Time Tanggal transaksi
Ukuran Text(20) Ukuran produksi
TypeMesin Text(10) Tipe mesin yg digunakan
Jumlah Single Jumlah mesin
EffMsn Single Effisiensi mesin
4.3.11 Tabel DataKebutWRMast
Untuk menyimpan data-data order kebutuha n bahan baku wire rod tiap bulannya atau tiap periode waktu pada PT. Surabaya Wire.
Tabel 4.11. DataKebutWRMast
Field Type Keterangan
KodeKebutuhan Text(20) Kode kebutuhan
Bulan Text(10) Bulan transaksi
Tahun Text(4) Tahun transaksi
Harikerja Long Integer Jumlah hari kerja
JumTotalKebut Long Integer Jumlah total kebutuhan
TotKebutafterstok Long Integer Total kebutuhan setelah di kurangi stok
4.3.12 Tabel DataKebutuhanWR
Untuk menyimpan data-data detil kebutuhan bahan baku wire tiap bulannya berdasarkan bagian yang membutuhkan pada PT. Surabaya Wire.
40
Tabel 4.12. DataKebutuhanWR
Field Type Keterangan
Kodekebutuhan Text(10) Kode kebutuhan
Ukuran Text(10) Ukuran wire rod yg dipesan
Stock Long Integer Jumlah stok
MesinTarik Long Integer Kebutuhan utk mesin tarik
MesinPotong Long Integer Kebutuhan utk mesin potong
Cad Long Integer Cadangan kebutuhan
Totkebut Long Integer Total kebutuhan
Kebafterstok Long Integer Kebutuhan setelah stok
4.3.13 Tabel DataBhnProMaster
Digunakan untuk menyimpan data-data konversi kebutuhan bahan baku dari tiap-tiap ukuran produksi (paku dan kawat) / menyimpan asal bahan dan hasil produksi tiap ukuran pada PT. Surabaya Wire.
Tabel 4.13. DataBhnProMaster
Field Type Keterangan
KodeKwt Text(15) Ukuran kawat
Jenisbahan Text(5) Jenis bahan
Diameter Text(15) Diameter
Toleransi Text(20) Toleransi ukuran
Alternukur Text(30) Ukuran yg sama
4.3.14 Tabel DataBhnProDetail
Digunakan untuk menyimpan data-data detil asal bahan produksi dari bahan kawat pada PT. Surabaya Wire.
Tabel 4.14. DataBhnProDetail
Field Type Keterangan
KodeKwt Text(15) Ukuran kawat
KodeWR Text(20) Kode wire rod
41
Namabhn Text(12) Tipe bahan
Ukuranbhn Text(6) Ukuran bahan
4.3.15 Tabel TKonversiHapro
Digunakan untuk menyimpan data-data detil hasil produksi dari bahan kawat pada PT. Surabaya Wire.
Tabel 4.15. TKonversiHapro
Field Type Keterangan
KodeKwt Text(15) Ukuran kawat
Nourut Long Integer No urut
NamaBarang Text(30) Nama barang
Ukuran Text(15) Ukuran
JnsBhn Text(5) Jenis barang
Keterangan Text(20) Keterangan
4.3.16 Tabel Wire_Rod_List
Digunakan untuk menyimpan data-data wire rod perukuran dan supliernya pada PT. Surabaya Wire.
Tabel 4.16. Wire_Rod_List
Field Type Keterangan
Kode wire rod Text(20) Kode wire rod
Nama wire rod Text (30) Nama wire rod
Grade Text(3) Grade wire rod
Ukuran Text(3) Ukuran wire rod
Supp Text(5) Nama Supplier
4.3.17 Tabel Wire Rod Datang
Digunakan untuk menyimpan data-data kedatangan wire rod per bulannya pada PT. Surabaya Wire.
42
Tabel 4.17. Wire Rod Datang
Field Type Keterangan
No surat jalan Text(10) No surat jalan
Kode Wire rod Text(20) Kode wire rod
Tanggal Date/Time Tanggal
Coil Drawing Long Integer Jumlah coil utk drawing
Berat Drawing Long Integer Jumlah berat utk drawing
Coil Potong Long Integer Jumlah coil utk potong
Berat Potong Long Integer Jumlah berat utk potong
Coil Lain-lain Long Integer Jumlah coil utk lain-lain Berat Lain-lain Long Integer Jumlah berat utk lain-lain
4.3.18 Tabel DataKapasitasMesinMaster
Digunakan untuk menyimpan data-data kapasitas mesin pada PT. Surabaya Wire.
Tabel 4.18. DataKapasitasMesinMaster
Field Type Keterangan
MesinType Text(4) Tipe mesin
JenisMesin Text(6) Jenis mesin
JumlahMesinTot Integer Jumlah mesin total
JumlahMesinAktif Integer Jumlah mesin aktif
Departemen Text(12) Departemen
Unit Text(1) Unit
4.3.19 Tabel DataKapasitasMesinDetail
Digunakan untuk menyimpan data-data detil produksi kapasitas mesin per ukuran pada PT. Surabaya Wire.
Tabel 4.19. DataKapasitasMesinDetail
Field Type Keterangan
MesinType Text(4) Tipe mesin
43
Ukuran Text(20) Ukuran bahan
MaxTon Single Maximal tonase
ActTon Single Actual tonase
JenisPro Text(8) Jenis produksi
Jenis Text(1) Tipe produksi (E/L)
Lama Long Integer Kapasitas mesin lama
Baru Long Integer Kapasitas mesin baru
Korea Long Integer Kapasitas mesin korea
Activasi Long Integer Kapasitas yg digunakan
Nilai Text(3) Nilai max,min,avg
4.3.20 Tabel TJadwalMast
Digunakan untuk menyimpan data-data jadwal produksi pada PT. Surabaya Wire.
Tabel 4.20. TJadwalMast
Field Type Keterangan
Kodejadwal Text(20) Kode jadwal
Kebutuhan Long Integer Jumlah kebutuhan
Target Long Integer Jumlah target
Jenis Text(15) Merk
Ukuran Text(20) Ukuran produk
JPro Text(1) Status (E/L)
Tipe Text(1) Tipe Produksi (Mass/JO)
Status Text(1) Status Produksi (new,cancel,pending)
Napro Text(2) Jenis produksi
Hari Single Jumlah hari produksi
Shift Single Shift yg dipakai untuk produksi
4.3.21 Tabel TJadwalDet
Digunakan untuk menyimpan data-data detail jadwal produksi dan kapasitas mesin tiap hari pada PT. Surabaya Wire.
44
Tabel 4.21. TJadwalDet
Field Type Keterangan
Kodejadwal Text(20) Kode jadwal
Tipemsn Text(12) Tipe mesin
Tgl Date/Time Tanggal Produksi
Minggu Integer Jadwal minggu
Kapasitas Long Integer Kapasitas p roduksi
JumMesin Integer Jumlah mesin yg digunakan
4.3.22 Tabel DataKebBhnPro
Digunakan untuk menyimpan data-data bahan baku yang digunakan untuk proses produksi pada PT. Surabaya Wire.
Tabel 4.22. DataKebBhnPro
Field Type Keterangan
Kodejadwal Text(20) Kode jadwal
NoCoil/Label Text(15) No bahan
KodeBrg Text(20) Kode bahan
Lokasi Text(1) Lokasi bahan
Jumlah Single Jumlah bahan
Ukuran Text(15) Ukuran bahan
4.3.23 Tabel DataKebSubMat
Digunakan untuk menyimpan data-data kebutuhan bahan sub material yang digunakan untuk proses produksi pada PT. Surabaya Wire.
Tabel 4.23. DataKebSubMat
Field Type Keterangan
Kodejadwal Text(20) Kode jadwal
KodeMtr Text(50) Kode material
Kebutuhan Single Total kebutuhan
KodeJO Text(10) Kode JO
45
4.3.24 Tabel DataStanSubmatDet
Digunakan untuk menyimpan detil data-data bahan sub material pada tiap produksi PT. Surabaya Wire.
Tabel 4.24. DataStanSubmatDet
Field Type Keterangan
KodeProduk Text(20) Kode produk
KodeMtr Text(15) Kode material
Spec Text(20) Spesifikasi
Pengali Text(6) Faktor pengali
Jenis Operasi Text(1) Jenis operasi
Konversi Single Nilai konversi
Unit Text(4) Satuan ( Roll,Pcs,Kg,Lbr)
4.3.25 Tabel TbRenDrw
Digunakan untuk menyimpan data rencana produksi kawat tiap bulannya pada PT. Surabaya Wire.
Tabel 4.25. TbRenDrw
Field Type Keterangan
Bln/Thn Text(20) Gabungan bulan dan tahun transaksi
Ukuran Text(50) Ukuran produksi
HKerja Single Jumlah hari kerja
Shift Single Jumlah shift
Kebutuhan Long Integer Jumlah kebutuhan produksi
Target Long Integer Jumlah target produksi
4.3.26 Tabel TbRenDrMsn
Digunakan untuk menyimpan data-data dan jadwal mesin yang digunakan untuk produksi kawat tiap bulannya pada PT. Surabaya Wire.
46
Tabel 4.26. TbRenDrMsn
Field Type Keterangan
TypeMesin Text(20) Tipe mesin yang digunakan
Ukuran Text(50) Ukuran produksi
Bln/Thn Text(6) Gabungan bulan dan tahun transaksi
TglSt Date/Time Tanggal Mulai
TglFn Date/Time Tanggal Selesai
Jumlah Single Jumlah kapasitas
4.4. Implementasi Sistem
Setelah membahas mengena i desain arsitektur secara garis besar, maka pada bagian ini akan sedikit diuraikan mengenai baris-baris coding program aplikasi ini.
4.4.1. Proses Koneksi Database
Koneksi database menggunakan komponen ADOConnection yang merupakan salah satu komponen yang dimiliki oleh Borland Delphi 7.0, komponen ini selain untuk mengakses database dari Microsoft Access dapat juga digunakan untuk mengakses database dari Microsoft SQL Server dan semua database yang compatible dengan Windows. Komponen ini letaknya pada menu bar tab pages yang bertuliskan ADO.
Gambar 4.7. Tab Page ADO
Setelah menu tab page ADO terbuka, lalu klik komponen ADOConnection dan diletakkan pada form. Untuk mengatur koneksi databasenya, pilih ConnectionString pada Object Inspector.
47
Gambar 4.8. Gambar Object Inspector Delphi
Setelah itu klik pada pada tombol dan akan muncul window “ADOConnection1 ConnectionString”. Lalu klik pada tombol .
Gambar 4.9. Window ADOConnection1 ConnectionString
Setelah tombol ditekan, maka akan muncul window Data Link Properties dan memilih driver yang akan digunakan pada list OLE DB Provider(s) dengan “Microsoft Jet 4.0 OLE DB Provider” untuk driver koneksi pada database Microsoft Access.
48
Gambar 4.10. Data Link Properties
Setelah itu tombol ditekan dan akan muncul halaman Connection lalu pilih direktori file tempat database yang akan digunakan lalu tekan tombol “OK”.
Gambar 4.11 Page Connection
49
Sampai pada akhirnya muncul window “ADOConnection1 ConnectionString” dan didalam editbox “Use Connection String” terdapat text
“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\PPIC \PPICDBase.mdb;Persist Security Info=False”.
Segmen program 4.1. Koneksi database dari Delphi 7.0 ke Ms Access
procedure TFormMenu.Open1Click(Sender: TObject);
begin
connection1.ConnectionString:=’Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\PPIC\
PPICDBase.mdb;Persist Security Info=False’;
connection1.connected:=true;
formMenu.Open1.Enabled:=false;
formMenu.Disconnect1.Enabled:=true;
formMenu.marketing2.Enabled:=true;
formMenu.ppic2.Enabled:=true;
formMenu.Account1.Enabled:=true;
formMenu.Setting1.Enabled:=true;
formMenu.InventoryControl1.Enabled:=true;
end;
4.4.2. Proses Pengaksesan Database
Setelah melakukan koneksi dengan database, maka tahap selanjutnya adalah mengakases database yang telah terhubung tersebut. Model dari pengaksesan database dapat berupa memasukkan data, mencari data, mengubah data, dan menghapus data.
Segmen Program 4.2. Input ukuran dan jenis produksi
procedure TFrmUkuranPaku.SimpanClick(Sender: TObject);
begin
if (text1.Text <> '') and (combobox1.Text <> '') and (text2.Text <> '') then begin
if Application.MessageBox('Data yakin akan Disimpan ?','Surabaya Wire Question',mb_YESNO+mb_iconquestion)=IDYES then
begin
DModule.TUkuran.Append;
DMOdule.TUkuran['kodepro']:=kode;
Dmodule.TUkuran['ukuran']:=text1.Text;
DModule.TUkuran['jenisbrg']:=combobox1.Text;
Dmodule.Tukuran['satuan']:=Text2.Text;
DModule.TUkuran['jenis']:=combobox2.Text;
DModule.TUkuran['status']:=status;
DModule.TUkuran.FieldByName('konversikg').AsInteger:= strtoint(text3.Text);
Dmodule.TUkuran.Post;
end;
bersih(Sender);
end else
50
Segmen Program 4.3. Edit data mesin berdasarkan tipe mesin
procedure TFormDataMesin.UbahClick(Sender: TObject);
var s:byte;
begin
if (text1.Text <> '') and (Combobox1.Text <> '') and (text3.Text <> '') and (text5.Text <>'') then begin
if application.MessageBox('Apakah anda yakin akan menyimpan data ini ?','System Question',mb_YESNO+mb_ICONQuestion)=IDYES then
begin
if DModule.TDataMesinMast.Locate('MesinType',text1.Text,[locaseinsensitive]) then begin
DModule.TDataMesinMast.Edit;
DModule.TDataMesinMast['MesinType']:=text1.Text;
DModule.TDataMesinMast['jenismesin']:=Combobox1.Text;
DModule.TDataMesinMast['departemen']:=text3.Text;
DModule.TDataMesinMast.FieldByName('jumlahmesinakt if').AsInteger:=strtoint(text5.Text);
DModule.TDataMesinMast.Post;
Segmen Program 4.4. Cari data jadwal produksi berdasarkan kode jadwal.
procedure TFormRenPro.Cekkode(Sender: TObject);
var kMatStr1:string;
kMatStr2:string;
kMatInt:integer;
begin
with queryCari do begin
SQL.Clear;
SQL.Add('SELECT * FROM TJadwalMast WHERE kodejadwal = :kode');
Parameters.ParamByName('kode').DataType:=ftString;
Parameters.ParamByName('kode').Value:=text1.Text;
Open end;
if queryCari.RecordCount <> 0 then begin
if Application.MessageBox('Kode Jadwal sudah terdaftar. Apakah ingin mengubah ?','S_Wire Question',mb_YESNO+mb_ICONQuestion)=IDYES then
begin
Simpan.Enabled:=false;
edit.Enabled:=true;
text1.Text:=queryCari['kodejadwal'];
totpro:=queryCari.fieldByname('kebutuhan').AsFloat;
text7.Text:=format('%15.0n',[totpro]);
target:=queryCari.fieldbyname('target').AsFloat;
text8.Text:=format('%15.0n',[target]);
text3.Text:=queryCari['ukuran'];
text11.Text:=queryCari['jenis'];
jpro:=queryCari['jpro'];
if jpro = 'L' then RB1.Checked:=True else RB2.Checked:= true;
tipe:=queryCari['tipe'];
if tipe = 'M' then
51
radiobutton1.Checked:= True else radiobutton2.Checked := true;
status:=queryCari['status'];
if status = 'N' then RG1.ItemIndex := 0 else if status = 'P' then RG1.ItemIndex := 1 else if status = 'C' then RG1.ItemIndex := 2 else RG1.ItemIndex := 3;
napro:=queryCari['napro'];
if napro = 'PK' then CB1.Text:='PAKU' else if napro = 'PT' then CB1.Text:='POTONG' else CB1.Text:='BENDRAT';
text4.Text:=floattostr(queryCari.FieldByName('hari').AsFloat);
text6.Text:=floattostr(queryCari.FieldByName('shift').AsFloat);
4.4.3. Proses Penampilan Form
Program yang dibuat dengan bahasa pemrograman Delphi, memiliki fasilitas di mana dapat melibatkan penggunaan beberapa form, sehingga antara form yang satu dan yang lainnya meskipun terpisah tetap terintegrasi ke dalam satu modul program.
Segmen Program 4.5. Penampilan form jadwal produksi
procedure TFormMenu.JadwalProduksi1Click(Sender: TObject);
begin
Application.CreateForm(TformRenPro,FormRenPro);
end;
4.4.4. Proses Penghitungan Kapasitas Mesin dan Target Produksi
Program ini dapat melakukan forecast perhitungan kapasitas mesin produksi dan target produksi berdasarkan effisiensi mesin dan jumlah mesin yang direncanakan dan diinputkan oleh user dan mengetahui jumlah kapasitas mesin per shift per harinya.
Segmen Program 4.6. Proses penghitungan kapasitas mesin dan target produksi
procedure TFormTrialPaku.SMGrid1KeyPress(Sender: TObject; var Key: Char);
var eff:real;
coba,tipe:string;
i,j:integer;
begin
if key = char(13) then begin
kapteori:=DModule.TDataMesinDet.fieldByName('activasi').AsFloat;
end;
52
end else begin
jummesin:=0;
TDataMsnSem.Delete;
TDataMsnSem.First;
with QuTemp do begin
SQL.Clear;
SQL.Add('Select ukuran, sum(jumlah) As JumMesin from TTrialPakuMesin');
SQL.Add('Group by ukuran Order by ukuran');
Open;
end;
if qutemp.Locate('ukuran',ukuran,[locaseinsensitive]) then jummesin:= QuTemp.fieldByName('jummesin').AsFloat;
with QuTemp do begin
SQL.Clear;
SQL.Add('Select Count(ukuran) As CountUkur from TTrialPakuMesin');
SQL.Add('where ukuran = :ukur');
Prepared;
Parameters.ParamByName('ukur').DataType:=ftString;
Parameters.ParamByName('ukur').Value:=ukuran;
Open;
end;
total:=0;
eff:=0;
jummesin:=0;
TDataMsnSem.Locate('ukuran',ukuran,[locaseinsensitive]);
targethari:=round(total/harikerja);
msnshift:=round(targethari/shift);
kapmsn :=round((targethari/shift)/jummsnsblm);
TTrialPaku.First;
//hitung total kebutuhan produksi for i:=1 to TTrialPaku.RecordCount do begin
tottargetpro1:=TTrialPaku.FieldByName('kebutproduksi').AsFloat;
tottargetpro:=tottargetpro+tottargetpro1;
TTRialPaku.Next;
end;
text7.Text:=format('%2.0n',[tottargetpro]);
//hitung tot%kebutuhan TTrialPaku.First;
for i:=1 to TTrialPaku.RecordCount do begin
tottargetpro1:=TTrialPaku.FieldByName('kebutproduksi').AsFloat;
prosentot:= roundto((tottargetpro1/tottargetpro)*100,-2);
TTrialPaku.Edit;
TTrialPaku.FieldByName('%KebutPro').AsFloat:=prosentot;
TTrialPaku.Post;
prosentot1:=prosentot1+prosentot;
TTrialPaku.Next;
end;
edit2.Text:=format('%8.0n',[prosentot1]);
53
end ; end;
//mengecek jumlah data
if TDataMsnSem.RecNo = TDataMsnSem.RecordCount then begin
total1:=0;
TDataMsnSem.Append;
TDataMsnsem['ukuran'] :=TTrialPaku['ukuranpro'];
TDataMsnSem['tanggal']:=TTrialPaku['tanggal'];
TDataMsnSem.FieldByName('effmsn').AsFloat:=0;
TDataMsnSem.FieldByName('jumlah').AsFloat:=0;
TDataMsnSem.FieldByName('kapmsn').AsFloat:=0;
TDataMsnSem.Post;
SMGrid1.SelectedIndex:=1;
end else begin
if ukuran = TDataMsnSem['ukuran'] then total1:=total;
//edit4.Text:=floattostr(total);
TDataMsnSem.Next;
SMGrid1.SelectedIndex:=2;
end;
end;
4.4.5. Proses Penghitungan Penggunaan Mesin.
Program ini dapat melakukan perhitungan penggunaan mesin produksi.
Sehingga mengetahui sisa mesin produksi yang tidak digunakan.
Segmen Program 4.7. Proses penghitungan penggunaan mesin.
procedure TFormTrialPaku.HitungSisa(Sender: TObject);
var jummsnaktif,jummsnskr:real;
Y:integer;
begin //unit 1
label25.Caption:=floattostr(strtofloat(label20.Caption)-strtofloat(label8.Caption));
label26.Caption:=floattostr(strtofloat(label21.Caption)-strtofloat(label11.Caption));
label27.Caption:=floattostr(strtofloat(label22.Caption)-strtofloat(label12.Caption));
label28.Caption:=floattostr(strtofloat(label23.Caption)-strtofloat(label16.Caption));
label29.Caption:=floattostr(strtofloat(label24.Caption)-strtofloat(label18.Caption));
label36.Caption:=floattostr(strtofloat(label35.Caption)-strtofloat(label34.Caption));
//unit 2
label60.Caption:=floattostr(strtofloat(label53.Caption)-strtofloat(label46.Caption));
label61.Caption:=floattostr(strtofloat(label54.Caption)-strtofloat(label47.Caption));
label62.Caption:=floattostr(strtofloat(label55.Caption)-strtofloat(label48.Caption));
label63.Caption:=floattostr(strtofloat(label56.Caption)-strtofloat(label49.Caption));
label64.Caption:=floattostr(strtofloat(label57.Caption)-strtofloat(label50.Caption));
end;
54
4.4.6. Proses Penampilan Laporan
Laporan adalah salah satu unsur terpenting dalam dunia kerja sebuah perusahaan, karena laporan merupakan hasil pengolahan data menjadi sebuah informasi yang sangat berguna bagi penggunanya. Berikut adalah salah satu coding yang dipakai dalam proses penampilan laporan.
Segmen Program 4.8. Proses Penampilan Laporan
procedure TfrmReport.Vie wClick(Sender: TObject);
begin
if frmRepStat = 'JP' then begin
with DModule.QryView do begin
SQL.Clear;
SQL.Add('SELECT
ms.kodeJadwal,ms.Ukuran,ms.Jenis,ms.Kebutuhan,ms.Target,ms.jpro,ms.Tipe,ms.Status,ms.Hari,ms.
Shift,ms.NaPro FROM TJadwalMast ms ');
SQL.Add('INNER JOIN TJadwalDet dt ON ms.kodejadwal=dt.kodejadwal WHERE (Month([dt.tgl]) = :m AND Year([dt.tgl]) = :y) AND ms.kodejadwal = :kd ');
SQL.Add('GROUP BY
ms.kodeJadwal,ms.Ukuran,ms.Jenis,ms.Kebutuhan,ms.Target,ms.jpro,ms.Tipe,ms.Status,ms.Hari,ms.
Shift,ms.NaPro');
Parameters.ParamByName('m').DataType:=ftWord;
Parameters.ParamByName('m').Value:=month;
Parameters.ParamByName('y').DataType:=ftWord;
Parameters.ParamByName('y').Value:=strtoint(edit3.Text);
Parameters.ParamByName('kd').DataType:=ftString;
Parameters.ParamByName('kd').Value:=edit1.Text;
Open;
end;
Application.CreateForm(TfrmJdw,frmJdw);
frmJdw.QRLabel2.Caption:=combobox1.Text;
frmJdw.QRLabel3.Caption:='- '+edit3.Text;
frmJdw.QuickRep1.Preview;
frmReport.Close;
end else if frmRepStat = 'KP' then begin
Application.CreateForm(TfrmRepKapPk,frmRepKapPk);
end;
end;
4.4.7. Daftar Procedure pada Program PPIC INTEGRATED SYSTEM
Procedure atau function (fungsi) adalah suatu rutin yang biasanya dipakai sebagai alat untuk melakukan tugas tertentu dan atau mendapatkan nilai tertentu.
55
Pada saat membuat program, sebetulnya pemrogram telah membuat procedure, antara lain procedure yang berhubungan dengan event, misalnya procedure untuk mengontrol program jika ditekan tombol tertentu.
Procedure semacam ini merupakan procedure yang dibuat atau didefinisikan pemrogram. Selain dapat membuat function dan procedure sendiri, Delphi juga sudah menyediakan function dan procedure yang tinggal dipakai (built in). Function sebetulnya hampir sama dengan procedure. Bedanya adalah function mempunyai nilai kembalian (return value), sedangkan procedure tidak mempunyainya.
Pada penulisannya procedure akan ditulis sebagai satu pernyataan yang berdiri sendiri, sedangkan function biasanya ditulis di sebelah kanan pernyataan lain atau ditulis sebagai nilai yang dimasukkan ke dalam variabel.
Tabel 4.27 Tabel Daftar Procedure
No Procedure Keterangan
1. Procedure Open1Click Untuk terhubung dan
menggunakan program.
2. Procedure Disconnect1Click Untuk memutus hubungan dengan database.
3. Procedure FormBersih Untuk membersihkan form.
4. Procedure CariTarget Untuk me ncari mencari data transaksi per bulan dari tiap distributor
5. Procedure AfterSearching Untuk mengembalikan data yang dicari pada form view.
6. Procedure FormClose Untuk menutup tiap form
7. Procedure KeyPress Untuk melakukan sesuatu aktivitas tergantung tiap komponen apabila terjadi penekanan tombol.
8. Procedure SaveClick Untuk melakukan perintah(coding) untuk proses penyimpanan apabila button “save” ditekan.
9. Procedure UbahClick Untuk melakukan perintah(coding) untuk proses penyimpanan apabila button “edit” ditekan.
10. Procedure AmbilHari Untuk mengambil hari efektif produksi tiap bulannya.
56
No Procedure Keterangan
11. Procedure HapusGrid Untuk menghapus grid yang berisi data-data.
12. Procedure Cekkode Untuk mengecek kode produksi apakah tela h digunakan.
13. Procedure CariBhn Untuk mencari bahan yang dibutuhkan.
14. Procedure KebutuhanSubMat Untuk menampilkan kebutuhan dalam setiap rencana produksi.
15. Procedure SMGridChangeSelection Untuk melakukan perintah(coding) apabila terjadi pemilihan pada grid.
16. Procedure AmbilKebutuhan Untuk mengambil kebutuhan produksi kawat dari jumlah total kebutuhan paku + 10%.
17. Procedure
SMGrid DrawColumnCell
Untuk meletakkan datetimepicker yang dibutuhkan.
18. Procedure SMGridColEnter Untuk menampilkan datetimepicker dalam grid.
19. Procedure TampilTanggal Untuk menampilkan tanggal dalam satu bulan.
20. Procedure HitungBulan Untuk menghitung tgl awal dan tgl akhir dalam satu bulan.
21. Procedure CariKonversi Untuk menampilkan hari kerja bulan sebelumnya.