• Tidak ada hasil yang ditemukan

LAMPIRAN. Universitas Sumatera Utara

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAMPIRAN. Universitas Sumatera Utara"

Copied!
28
0
0

Teks penuh

(1)

LAMPIRAN

(2)

Lampiran 1.

Pembagian Tugas dan Tanggung Jawab PT. Putra Tunas Megah Bardasarkan struktur organisasi pada Gambar 2.1., tugas, wewenang, dan tanggung jawab dari setiap pemegang jabatan di PT. Putra Tunas Megah adalah sebagai berikut:

2. Direktur Tugas:

- Memimpin perusahaan agar dapat berjalan dengan baik.

- Mengkoordinir seluruh departemen yang ada di perusahaan tersebut. - Mengontrol masalah keahlian teknis, proyek, penjualan dan pembelanjaan

perusahaan. Wewenang:

Mempunyai wewenang atas persetujuan: - Surat-surat ekstern dan intern

- Pesanan pembelian

- Penerimaan dan pengeluaran keuangan Tanggung jawab:

- Bertanggung jawab kepada Dewan Komisaris atas jalannya perusalannya.

3. General Manager Tugas:

- Menyeleksi dan memeriksa data yang masuk ke perusahaan.

(3)

- Menganalisis dan memeriksa pesanan yang akan dibeli (purchase order) perusahaan.

- Menganalisis perintah kerja (work order) yang masuk.

- Menganalisis daftar harga yang telah direncanakan oleh pihak produksi Wewenang:

- Mempunyai wewenang atas keputusan apakah order yang diperoleh layak untuk dijalankan atau tidak dan kesesuaian dengan harganya.

- Mempunyai wewenang untuk merubah purchase order yang telah dibuat oleh bagian pembelian.

Tanggung jawab:

- Bertanggungjawab kepada Direktur atas keputusan pengerjaan order yang

dilakukan di workshop.

- Bertanggungjawab terhadap keluar masuknya arus kas perusahaan.

4. Bagian Administrasi/Sekretaris Tugas:

- Mempersiapkan kontrak kerja sama antara perusahaan dengan pihak konsumen sesuai dengan perjanjian dan pesanan.

- Mengurus semua surat-surat dan masalah pencatatan administrasi perusahaan.

Wewenang:

- Menjalin komunikasi yang baik dengan pihak konsumen dan perusahaan-perusahaan lain.

(4)

Tanggung jawab:

- Bertanggung jawab kepada Direktur atas pembuatan kontrak kerja dan masalah administrasi perusahaan.

- Bertanggung jawab atas pembuatan surat izin dan lisensi yang penting.

5. Bagian Keuangan Tugas:

- Melakukan transaksi pembayaran dan penerimaan. - Melakukan pencatatan atas setiap transaksi perusahaan.

- Menganalisis biaya dan pengeluaran yang dikeluarkan perusahaan untuk meningkatkan produktivitas perusahaan.

Wewenang:

Menandatangani surat-surat yang berhubungan dengan masalah keuangan, yaitu:

- Laporan keuangan bulanan perusahaan. - Faktur penjualan dan penerimaan kas. - Bukti-bukti pembayaran.

- Surat-surat berharga, seperti cek dan bilyet. Tanggung jawab:

- Bertanggung jawab kepada General Manager atas penerimaan dan pengeluaran kas serta pembukuan perusahaan.

(5)

6. Pembelian dan Penjualan Tugas :

- Menentukan jumlah material yang harus dipesan sesuai dengan jumlah material yang masih ada di gudang.

- Melakukan pemesanan bahan baku setelah mendapat persetujuan dari Direktur.

- Memberi masukan untuk perencanaan peluang bisnis perusahaan. - Mengadakan kontak dengan pelanggan.

Wewenang :

- Mengadakan surat kontrak penjualan produk dengan pihak konsumen dan menetapkan waktu penyerahan produk kepada pelanggan melalui masukan dari bagian produksi.

Tanggung jawab :

- Bertanggung jawab kepada General Manager terhadap pelaksanaan tugasnya

7. Bagian Produksi Tugas:

- Mengawasi semua proses produksi secara langsung - Membuat laporan harian

- Membuat progress report atas pembuatan produk.

- Menetapkan kebijakan-kebijakan yang dapat meningkatkan efisien kerja.

(6)

Wewenang:

- Mempunyai wewenang untuk membuat keputusan harian sehubungan dengan pengawasan pekerjaan yang dilakukan di bagian produksi.

Tanggung jawab:

- Bertanggung jawab kepada General Manager atas proses produksi yang dilakukan baik dari segi kualitas maupun kuantitas produk.

8. Design Engineering Tugas:

- Membuat perencanaan, perancangan dan merekayasa gambar-gambar teknis produk sesuai dengan permintaan pihak konsumen.

- Membuat rincian mengenai kebutuhan dan spesifikasi material pembuatan produk.

Wewenang:

- Mempunyai wewenang atas persetujuan gambar teknis produk yang diberikan ke bagian produksi.

Tanggung jawab:

- Bertanggung jawab kepada General Manager terhadap pelaksanaan tugasnya.

(7)

9. Kepala Gudang Peralatan Tugas:

- Mengatur prosedur penggunaan peralatan yang akan digunakan dalam proses produksi.

- Mengatur keluar masuknya peralatan yang digunakan selama proses produksi agar tidak terjadi kehilangan.

Wewenang:

- Menetapkan kebijakan dalam menggunakan peralatan apabila diperlukan. Tanggung jawab:

- Bertanggung jawab kepada General Manager atas peralatan yang digunakan bagian produksi.

10. Kepala Gudang Material dan Produk Jadi Tugas:

- Mengatur prosedur penggunaan material yang akan digunakan dalam proses produksi.

- Mengatur tata letak material dan produk jadi yang akan dipasarkan. Wewenang:

- Menetapkan kebijakan dalam penggunaan material. Tanggung jawab:

Bertanggung jawab kepada General Manager atas penggu naan material.

(8)

11. Manager Workshop Tugas:

- Menentukan jumlah kebutuhan tenaga kerja yang dibutuhkan untuk pengerjaan setiap proyek.

- Mengatur jadwal pengiriman produk dan pelaksanaan proyek di lapangan. Wewenang:

- Mempunyai wewenang untuk menetapkan kebijakan penjadwalan kerja proyek di lapangan apabila diperlukan.

Tanggung jawab :

- Bertanggung jawab kepada Manager Produksi terhadap pelaksanaan tugasnya.

12. Site Manager Tugas:

- Mengkoordinir dan mengawasi pekerjaan yang dilakukan di lapangan proyek.

Wewenang:

- Mempunyai wewenang untuk bertindak sebagai wakil perusahaan pada saat pengerjaan proyek di lapangan.

Tanggung jawab:

- Bertanggung jawab kepada Manager Produksi terhadap pelaksanaan pekerjaan di lapangan.

(9)

13. Civil Supervisor Tugas:

- Mengatur dan mengawasi berlangsungnya pengerjaan proyek di lapangan yang berhubungan dengan pembangunan fisik proyek.

Wewenang:

- Mempunyai wewenang atas perintah dan kebijakan terhadap pekerja di lapangan.

Tanggung jawab:

- Bertanggung jawab kepada Site Manager atas penyelesaian proyek di lapangan.

14. Mechanical Supervisor Tugas:

- Memantau dan mengatur jalannya pembangunan proyek secara mekanis di lapangan.

Wewenang:

- Mempunyai wewenang untuk memberikan perintah kepada pekerja di lapangan.

Tanggung jawab:

- Bertanggung jawab kepada Site Manager atas pekerjannya di lapangan.

(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)

unit USalesOrder; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids, DBCtrls, Mask, ExtCtrls, ComCtrls; type TFSalesOrder = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label8: TLabel; GB1: TGroupBox; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; TotalPenj: TLabel; Label9: TLabel; EJumlah: TEdit; EHarga: TEdit; BTambah: TButton; BSaveItem: TButton; BHapusItem: TButton; BBersih: TButton; BSave: TButton; BCari: TButton; Bhapus: TButton; BKeluar: TButton; ETanggal: TEdit; Label10: TLabel; ENoSO: TEdit; EKodeCustomer: TDBLookupComboBox; ENamaCustomer: TDBEdit; EKodeProdukJadi: TDBLookupComboBox; ENamaProdukJ adi: TDBEdit;

ESatuan: TDBText; DBGrid1: TDBGrid; TCustomer: TTable; TProdukJadi: TTable; TBufferSO: TTable; TSalesOrder: TTable; DCustomer: TDataSource; DProdukJadi: TDataSource; DBufferSO: TDataSource; TStokProdukJadi: TTable; TKebutuhanBB: TTable; TBoMBB: TTable; TButuhPesanBB: TTable; TStokBBLebih: TTable; TMasterBahanBaku: TTable;

(18)

TKartuStokPJ: TTable; RadioGroup1: TRadioGroup; Order: TRadioButton; Standard: TRadioButton; TCustomerKode_Customer: TStringField; TCustomerNama_Customer: TStringField; TCustomerAlamat: TStringField; TCustomerAlamat_Pengiriman: TStringField; TProdukJadiKode_Produk_Jadi: TStringField; TProdukJadiNama_Produk_Jadi: TStringField; TProdukJadiSatuan: TStringField; TBufferSOKode_Produk_Jadi: TStringField; TBufferSOJenis: TStringField; TBufferSOJumlah: TIntegerField; TBufferSOHarga: TCurrencyField; TBufferSOJumlah_Harga: TCurrencyField; TBufferSONama_Produk_Jadi: TStringField; TBufferSOSatuan: TStringField; TStokProdukJadiNo_Tabel_PJ: TStringField; TStokProdukJadiTanggal: TDateField; TStokProdukJadiKode_Produk_Jadi: TStringField; TStokProdukJadiJenis: TStringField; TStokProdukJadiQuantity_On_Order: TIntegerField; TStokProdukJadiQuantity_In: TIntegerField; TStokProdukJadiQuantity_Out: TIntegerField; TButuhPesanBBKode_Bahan_Baku: TStringField; TButuhPesanBBKode_Supplier: TStringField; TButuhPesanBBJumlah_Dibutuhkan: TIntegerField; TButuhPesanBBJumlah_Dipesan: TIntegerField; TStokBBLebihKode_Bahan_Baku: TStringField; TStokBBLebihStok_Lebih: TIntegerField; TStokBBLebihStok_Sebelum_Pesan: TIntegerField; TMasterBahanBakuKode_Bahan_Baku: TStringField; TMasterBahanBakuKode_Supplier: TStringField; TKartuStokPJKode_Produk_Jadi: TStringField; TKartuStokPJQuantity_On_Order: TIntegerField; Label11: TLabel; ETanggalSelesai: TDateTimePicker; TSalesOrderNo_Sales_Order: TStringField; TSalesOrderTanggal: TDateField; TSalesOrderKode_Customer: TStringField; TSalesOrderKode_Produk_Jadi: TStringField; TSalesOrderTanggal_Selesai: TDateField; TSalesOrderJenis: TStringField; TSalesOrderJumlah: TIntegerField; TSalesOrderHarga_Satuan: TCurrencyField; TBufferSOTanggal_Selesai: TDateField; TKebutuhanBBNo_Sales_Order: TStringField; TKebutuhanBBKode_Produk_Jadi: TStringField; TKebutuhanBBTanggal_Pesan: TDateField; TKebutuhanBBKode_Bahan_Baku: TStringField; TKebutuhanBBJumlah_Produk_Jadi: TIntegerField; TKebutuhanBBJumlah_Bahan_Baku: TIntegerField; TKebutuhanBBTotal_Bahan_Baku: TIntegerField;

(19)

TKebutuhanBBKeterangan: TStringField; TButuhPesanBBTanggal: TDateField; TBoMBBKode_Produk_Jadi: TStringField; TBoMBBJenis: TStringField; TBoMBBKode_Bahan_Baku: TStringField; TBoMBBLead_Time: TIntegerField; TBoMBBJumlah: TIntegerField;

procedure BersihItem(Sender: TObject); procedure Bersih(Sender: TObject); procedure Bangun(Sender: TObject);

procedure Tutup(Sender: TObject; var Action: TCloseAction); procedure PilihCust(Sender: TObject);

procedure PilihPJ(Sender: TObject);

procedure TKN13(Sender: TObject; var Key: Char); procedure Fangka(Sender: TObject; var Key: Char); procedure SimpanItem(Sender: TObject);

procedure TampilData(DataSet: TDataSet); procedure Msk(Sender: TObject);

procedure Klr(Sender: TObject);

procedure HapusItem(Sender: TObject); procedure CariData(Sender: TObject); procedure Kembalikan(Sender: TObject); procedure SaveData(Sender: TObject); procedure CekNota(Sender: TObject); procedure Exit(Sender: TObject);

procedure GB1DblClick(Sender: TObject); procedure FormShow(Sender: TObject); private procedure BuatNomorUrut; procedure Hitung; public procedure BukaTBufferSO; procedure HitungJumlah; end; var FSalesOrder: TFSalesOrder; S:String; implementation {$R *.dfm} function RightStr

(Const Str: String; Size: Word): String; begin

if Size > Length(Str) then Size := Length(Str) ; RightStr := Copy(Str, Length(Str)-Size+1, Size) end;

procedure TFSalesOrder.BuatNomorUrut; var nomor:integer;

nom:string;

(20)

begin if TSalesOrder.RecordCount=0 then nomor := 1 else begin TSalesOrder.Last; nom := rightstr(TSalesOrder.Fields[0].AsString,4); nomor := strtoint(nom)+1; end; ENoSO.Text := 'SO'+Formatfloat('0000',nomor); end;

procedure TFSalesOrder.BersihItem(Sender: TObject); begin EKodeProdukJadi.KeyValue := ''; ENamaProdukJadi.Visible := False; ETanggalSelesai.DateTime := now(); EJumlah.Clear; Standard.Checked := False; Order.Checked := False; ESatuan.Visible := False; EHarga.Clear; BHapusItem.Enabled := False; EKodeProdukJadi.SetFocus; end; procedure TFSalesOrder.BukaTBufferSO; begin try TBufferSO.Close; TBufferSO.EmptyTable; TBufferSO.Open; except

with TBufferSO.FieldDefs do begin Clear; Add('Kode_Produk_Jadi',ftString,6); Add('Tanggal_Selesai',ftDate); Add('Jenis',ftString,8); Add('Jumlah',ftInteger); Add('Harga',ftCurrency); Add('Jumlah_Harga',ftCurrency); end;

with TBufferSO.IndexDefs do begin Clear; Add('','Kode_Produk_Jadi;Tanggal_Selesai;Jenis',[ixPrimary]); end; TBufferSO.CreateTable; TBufferSO.Open; end; end;

procedure TFSalesOrder.Bersih(Sender: TObject); begin

(21)

BuatNomorUrut; ETanggal.Text := FormatDateTime('dd/mmmm/yyyy',date); EKodeCustomer.KeyValue := ''; ENamaCustomer.Visible := False; BHapus.Enabled := False; BSave.Enabled := False; GB1.Visible := False; TotalPenj.Caption := '0'; EKodeCustomer.SetFocus; ENoSO.SelStart := 1; end;

procedure TFSalesOrder.Bangun(Sender: TObject); begin TCustomer.Open; TProdukJadi.Open; TSalesOrder.Open; BukaTBufferSO; TStokProdukJadi.Open; TKebutuhanBB.Open; TBoMBB.Open; TStokBBLebih.Open; TMasterBahanBaku.Open; TKartuStokPJ.Open; end;

procedure TFSalesOrder.Tutup(Sender: TObject; var Action: TCloseAction); begin TCustomer.Close; TProdukJadi.Close; TSalesOrder.Close; TBufferSO.Close; TStokProdukJadi.Close; TKebutuhanBB.Close; TBoMBB.Close; TStokBBLebih.Close; TMasterBahanBaku.Close; TKartuStokPJ.Close; end;

procedure TFSalesOrder.PilihCust(Sender: TObject); begin

if not ENamaCustomer.Visible then begin BukaTBufferSO; GB1.Visible := True; BersihItem(BTambah); end; ENamaCustomer.Visible := True; end;

procedure TFSalesOrder.PilihPJ(Sender: TObject); begin

ENamaProdukJadi.Visible := True; ESatuan.Visible := True;

(22)

Standard.Checked := True; if TBufferSO.FindKey([EKodeProdukJadi.Text]) then TampilData(DBufferSO.DataSet) else begin EJumlah.Clear; EHarga.Clear; BHapusItem.Enabled := False; end; end;

procedure TFSalesOrder.TKN13(Sender: TObject; var Key: Char); begin

if Key=#13 then begin

if Sender=ENoSO then ETanggal.SetFocus;

if Sender=ETanggal then EKodeCustomer.SetFocus; if Sender=EKodeCustomer then

if GB1.Visible then EKodeProdukJadi.SetFocus;

if Sender=EKodeProdukJadi then ETanggalSelesai.SetFocus; if Sender=ETanggalSelesai then EJumlah.SetFocus;

if Sender=ENamaProdukJadi then EJumlah.SetFocus; if Sender=EJumlah then EHarga.SetFocus;

if Sender=EHarga then BSaveItem.SetFocus; end;

end;

procedure TFSalesOrder.Fangka(Sender: TObject; var Key: Char); begin TKN13(Sender,Key); if not(((Key>='0')and(Key<='9'))or(Key=#8))then Key:=#0; end; procedure TFSalesOrder.Hitung;

var RecordKe:TBookmark; Total:Currency; begin

BSave.Enabled := False; Total := 0;

if not TBufferSO.IsEmpty then begin RecordKe := TBufferSO.GetBookmark; TBufferSO.First;

while not TBufferSO.Eof do begin

Total := Total+TBufferSOJumlah_Harga.AsCurrency; TBufferSO.Next; end; BSave.Enabled := True; TBufferSO.GotoBookmark(RecordKe); end; TotalPenj.Caption := FormatFloat('#,##0',Total); end;

procedure TFSalesOrder.SimpanItem(Sender: TObject); begin

if EKodeProdukJadi.Text =''then begin Beep;

(23)

ShowMessage('Nama produk jadi belum dimasukkan...'); EKodeProdukJadi.SetFocus;

end else

if EJumlah.Text ='' then begin Beep;

ShowMessage('Berapa jumlah yang dijual??'); EJumlah.SetFocus;

end else

if EHarga.Text ='' then begin Beep;

ShowMessage('Berapa harganya???'); Eharga.SetFocus;

end else begin

if BHapusItem.Enabled then TBufferSO.Edit else TBufferSO.Append; TBufferSOKode_Produk_Jadi.AsString := EKodeProdukJadi.Text; if Standard.Checked then TBufferSOJenis.AsString:='Standard'else if Order.Checked then TBufferSOJenis.AsString:='Order';

TBufferSOTanggal_Selesai.AsDateTime := ETanggalSelesai.Date; TBufferSOJumlah.AsInteger := StrToInt(EJumlah.Text); TBufferSOHarga.AsCurrency := StrToCurr(EHarga.Text); TBufferSOJumlah_Harga.AsCurrency := TbufferSOJumlah.AsInteger*TBufferSOHarga.AsCurrency; TBufferSO.Post; Hitung; BersihItem(BTambah); end; end;

procedure TFSalesOrder.TampilData(DataSet: TDataSet); begin EKodeProdukJadi.KeyValue := TBufferSOKode_Produk_Jadi.AsString; ETanggalSelesai.DateTime := TBufferSOTanggal_Selesai.AsDateTime; EJumlah.Text := IntToStr(TBufferSOJumlah.AsInteger); EHarga.Text := CurrToStr(TBufferSOHarga.AsCurrency); ENamaProdukJadi.Visible := True; ESatuan.Visible := True;

if TBufferSOJenis.AsString='Standard' then Standard.Checked:=True else if TBufferSOJenis.AsString='Order' then Order.Checked:=True;

BHapusItem.Enabled := True; end;

procedure TFSalesOrder.Msk(Sender: TObject); begin

TBufferSO.AfterScroll := TampilData; TampilData(DBufferSO.DataSet); end;

procedure TFSalesOrder.Klr(Sender: TObject); begin

TBufferSO.AfterScroll := NIL; end;

procedure TFSalesOrder.HapusItem(Sender: TObject); begin

(24)

TBufferSO.Delete; Hitung;

BersihItem(BTambah); end;

procedure TFSalesOrder.CariData(Sender: TObject); begin

if InputQuery('Mencari Data...','Masukan No.Sales Order...', S) then with TSalesOrder do if FindKey([s])then begin ENoSO.Clear; EKodeCustomer.KeyValue := ''; ENamaCustomer.Visible := False; BHapus.Enabled := False; BSave.Enabled := False; GB1.Visible := False; TotalPenj.Caption := '0'; EKodeCustomer.SetFocus; ENoSO.SelStart := 1; ETanggal.Text := FormatDateTime('dd/mmmm/yyyy',Fields[1].AsDateTime); EKodeCustomer.KeyValue := TSalesOrderKode_Customer.Text; PilihCust(EKodeCustomer); ENoSO.Text := TSalesOrderNo_Sales_Order.AsString; Filter := 'No_Sales_Order='''+s+''''; FindFirst; repeat TBufferSO.Append; TBufferSOKode_Produk_Jadi.AsString := TSalesOrderKode_Produk_Jadi.AsString; TBufferSOTanggal_Selesai.AsDateTime := TSalesOrderTanggal_Selesai.AsDateTime; TBufferSOJenis.AsString := TSalesOrderJenis.AsString; TBufferSOJumlah.AsInteger := TSalesOrderJumlah.AsInteger; TBufferSOHarga.AsCurrency := TSalesOrderHarga_Satuan.AsCurrency; TBufferSOJumlah_Harga.AsCurrency := TSalesOrderJumlah.AsInteger*TSalesOrderHarga_Satuan.AsCurrency; TBufferSO.Post;

until not FindNext; Hitung;

BHapus.Enabled := True; end else

begin Beep;

ShowMessage('Data Tidak Ditemukan!!!'); end;

end;

procedure TFSalesOrder.Kembalikan(Sender: TObject); var Lebih:Integer; D:Integer; E:Integer; begin while TSalesOrder.FindKey([S]) do begin if TKartuStokPJ.FindKey([TSalesOrderKode_Produk_Jadi.AsString]) then

(25)

begin D:=TKartuStokPJQuantity_On_Order.AsInteger; TKartuStokPJ.Edit; TKartuStokPJQuantity_On_Order.AsInteger := D-TSalesOrderJumlah.AsInteger; TKartuStokPJ.Post; end; TSalesOrder.Delete; end;

while TStokProdukJadi.FindKey([S]) do begin TStokProdukJadi.Delete;

end;

while TKebutuhanBB.FindKey([S]) do begin

if TKebutuhanBBKeterangan.AsString = 'Cukup' then begin TStokBBLebih.FindKey([TKebutuhanBBKode_Bahan_Baku.AsString]); Lebih := TStokBBLebihStok_Lebih.AsInteger; E:=TStokBBLebihStok_Sebelum_Pesan.AsInteger; TStokBBLebih.Edit; TStokBBLebihStok_Lebih.AsInteger := Lebih+TKebutuhanBBTotal_Bahan_Baku.AsInteger; TStokBBLebihStok_Sebelum_Pesan.AsInteger := E+TKebutuhanBBTotal_Bahan_Baku.AsInteger; TStokBBLebih.Post; end; TKebutuhanBB.Delete; end; HitungJumlah;

if Sender=BHapus then Bersih(BBersih); end;

procedure TFSalesOrder.HitungJumlah;

var RecordKe:TBookmark; Jumlah:Integer; Lebih:Integer; begin

TButuhPesanBB.Close; TButuhPesanBB.EmptyTable; TButuhPesanBB.Open;

if not TKebutuhanBB.IsEmpty then begin RecordKe := TKebutuhanBB.GetBookmark; TKebutuhanBB.First;

while not TKebutuhanBB.Eof do begin

if not ((TKebutuhanBBKeterangan.AsString ='Cukup')or(TKebutuhanBBKeterangan.AsString = 'Dipesan')) then if TMasterBahanBaku.FindKey([TKebutuhanBBKode_Bahan_Baku.AsString])then if TStokBBLebih.FindKey([TKebutuhanBBKode_Bahan_Baku.AsString])then if not TButuhPesanBB.FindKey([TKebutuhanBBTanggal_Pesan.AsDateTime,TKebutuhanBBKode_Bahan_Baku. AsString]) then begin TButuhPesanBB.Append; TButuhPesanBBTanggal.AsDateTime := TKebutuhanBBTanggal_Pesan.AsDateTime; TButuhPesanBBKode_Bahan_Baku.AsString := TKebutuhanBBKode_Bahan_Baku.AsString; TButuhPesanBBKode_Supplier.AsString := TMasterBahanBakuKode_Supplier.AsString; TButuhPesanBBJumlah_Dibutuhkan.AsInteger := TKebutuhanBBTotal_Bahan_Baku.AsInteger; if TButuhPesanBBJumlah_Dibutuhkan.AsInteger > TStokBBLebihStok_Lebih.AsInteger then

(26)

TButuhPesanBBJumlah_Dipesan.AsInteger := TButuhPesanBBJumlah_Dibutuhkan.AsInteger-TStokBBLebihStok_Lebih.AsInteger else TButuhPesanBBJumlah_Dipesan.AsInteger := StrToInt('0'); TButuhPesanBB.Post; end else begin TButuhPesanBB.Edit; TButuhPesanBBTanggal.AsDateTime := TKebutuhanBBTanggal_Pesan.AsDateTime; TButuhPesanBBKode_Bahan_Baku.AsString := TKebutuhanBBKode_Bahan_Baku.AsString; TButuhPesanBBKode_Supplier.AsString := TMasterBahanBakuKode_Supplier.AsString; Jumlah := TButuhPesanBBJumlah_Dibutuhkan.AsInteger; TButuhPesanBBJumlah_Dibutuhkan.AsInteger := Jumlah + TKebutuhanBBTotal_Bahan_Baku.AsInteger;

if TButuhPesanBBJumlah_Dibutuhkan.AsInteger > TStokBBLebihStok_Lebih.AsInteger then TButuhPesanBBJumlah_Dipesan.AsInteger := TButuhPesanBBJumlah_Dibutuhkan.AsInteger-TStokBBLebihStok_Lebih.AsInteger else TButuhPesanBBJumlah_Dipesan.AsInteger := StrToInt('0'); TButuhPesanBB.Post; end; TKebutuhanBB.Next; end; TKebutuhanBB.GotoBookmark(RecordKe); end; TButuhPesanBB.Close; end;

procedure TFSalesOrder.SaveData(Sender: TObject); var A:String;

B:Integer; C:Integer; D:Integer; begin

if (ENoSO.Text='') then begin Beep;

ShowMessage('Anda belum memasukkan no sales order...'); ENoSO.SetFocus;

end else

if BHapus.Enabled then Kembalikan(BSave); TBufferSO.First;

while not TBufferSO.Eof do begin TSalesOrder.Append; TSalesOrderNo_Sales_Order.AsString := ENoSO.Text; TSalesOrder['Tanggal'] := ETanggal.Text; TSalesOrderKode_Customer.AsString := EKodeCustomer.Text; TSalesOrderKode_Produk_Jadi.AsString := TBufferSOKode_Produk_Jadi.AsString; TSalesOrderTanggal_Selesai.AsDateTime := TBufferSOTanggal_Selesai.AsDateTime; TSalesOrderJenis.AsString := TBufferSOJenis.AsString; TSalesOrderJumlah.AsInteger := TBufferSOJumlah.AsInteger; TSalesOrderHarga_Satuan.AsCurrency := TBufferSOHarga.AsCurrency; TSalesOrder.Post; TStokProdukJadi.Append; TStokProdukJadiNo_Tabel_PJ.AsString := ENoSO.Text; TStokProdukJadi['Tanggal'] := ETanggal.Text; TStokProdukJadiJenis.AsString := TBufferSOJenis.AsString;

(27)

TStokProdukJadiKode_Produk_Jadi.AsString := TBufferSOKode_Produk_Jadi.AsString; TStokProdukJadiQuantity_On_Order.AsInteger := TBufferSOJumlah.AsInteger; TStokProdukJadiQuantity_In.AsInteger := StrToInt('0'); TStokProdukJadiQuantity_Out.AsInteger := StrToInt('0'); TStokProdukJadi.Post; if not TKartuStokPJ.FindKey([TBufferSOKode_Produk_Jadi.AsString])then begin TKartuStokPJ.Append; TKartuStokPJKode_Produk_Jadi.AsString := TBufferSOKode_Produk_Jadi.AsString; TKartuStokPJQuantity_On_Order.AsInteger := TBufferSOJumlah.AsInteger; TKartuStokPJ.Post; end else begin C:=TKartuStokPJQuantity_On_Order.AsInteger; TKartuStokPJ.Edit; TKartuStokPJQuantity_On_Order.AsInteger := C+TBufferSOJumlah.AsInteger; TKartuStokPJ.Post; end; TBoMBB.First;

while not TBoMBB.Eof do begin if ((TBoMBBKode_Produk_Jadi.AsString=TBufferSOKode_Produk_Jadi.AsString)and(TBoMBBJenis.AsStri ng=TBufferSOJenis.AsString))then begin TKebutuhanBB.Append; TKebutuhanBBNo_Sales_Order.AsString := ENoSO.Text; TKebutuhanBBKode_Produk_Jadi.AsString := TBufferSOKode_Produk_Jadi.AsString; TKebutuhanBBJumlah_Produk_Jadi.AsInteger := TBufferSOJumlah.AsInteger; TKebutuhanBBTanggal_Pesan.AsDateTime := TBufferSOTanggal_Selesai.AsDateTime-TBoMBBLead_Time.AsInteger; TKebutuhanBBKode_Bahan_Baku.AsString := TBoMBBKode_Bahan_Baku.AsString; TKebutuhanBBJumlah_Bahan_Baku.AsInteger := TBoMBBJumlah.AsInteger; TKebutuhanBBTotal_Bahan_Baku.AsInteger := TKebutuhanBBJumlah_Produk_Jadi.AsInteger*TKebutuhanBBJumlah_Bahan_Baku.AsInteger; if TStokBBLebih.FindKey([TKebutuhanBBKode_Bahan_Baku.AsString])then B:= TStokBBLebihStok_Lebih.AsInteger; D:= TStokBBLebihStok_Sebelum_Pesan.AsInteger; if TKebutuhanBBTotal_Bahan_Baku.AsInteger<=B then begin TStokBBLebih.Edit; TKebutuhanBBKeterangan.AsString := 'Cukup'; TStokBBLebihStok_Lebih.AsInteger := B-TKebutuhanBBTotal_Bahan_Baku.AsInteger; TStokBBLebihStok_Sebelum_Pesan.AsInteger := D-TKebutuhanBBTotal_Bahan_Baku.AsInteger; TStokBBLebih.Post; end; TKebutuhanBB.Post; end; TBoMBB.Next; end; if not TBoMBB.FindKey([TBufferSOKode_Produk_Jadi.AsString])then begin

(28)

Beep;

ShowMessage('Anda belum melengkapi data BoQ'); end; TBufferSO.Next; end; HitungJumlah; Bersih(BBersih); end;

procedure TFSalesOrder.CekNota(Sender: TObject); begin

if TSalesOrder.FindKey([ENoSO.Text]) then begin Beep;

ShowMessage('No.Sales Order tersebut telah ada...'); ENoSO.Clear;

ENoSO.SetFocus; end;

end;

procedure TFSalesOrder.Exit(Sender: TObject); begin

close; end;

procedure TFSalesOrder.GB1DblClick(Sender: TObject); begin

BersihItem(BTambah); end;

procedure TFSalesOrder.FormShow(Sender: TObject); begin TCustomer.Open; TProdukJadi.Open; TSalesOrder.Open; BukaTBufferSO; TStokProdukJadi.Open; TKebutuhanBB.Open; TBoMBB.Open; TStokBBLebih.Open; TMasterBahanBaku.Open; TKartuStokPJ.Open; Bersih(BBersih); end; end.

Referensi

Dokumen terkait

AMI yang sebelumnya merupakan gerakan arsitek muda yang berusaha mendobrak kemapanan dan kemandegan perkembangan desain Indonesia (;klaim mereka,tentunya) dengan

Kesenjangan ekonomi atau ketimpangan dalam distribusi pendapatan antara kelompok  masyarakat berpendapatan tinggi dan kelompok masyarakat berpandapatan rendah serta tingkat

Berdasarkan hasil penelitian yang peneliti lakukan, maka ada beberapa saran yang penulis kemukakan yang mungkin bermanfaat untuk meningkatkan aktivitas siswa

Ketika mengetahui karakter dan kepribadian mad’u sebagai penerima dakwah, maka dakwah akan lebih terarah karena tidak disampaikan secara serampangan tetapi

Jika petak tersier hanya memperoleh air pada satu tempat saja dari jaringan pembawa utama, hal ini akan memerlukan jumlah bangunan yang lebih sedikit di saluran primer,

Jika ada data yang belum lengkap maka bagian administrasi akan mengembalikan form tersebut untuk dilengkapi datanya, namun jika sudah lengkap maka proses

Dalam kaitannya dengan pemberdayaan pasar tradisional maka dapat disimpulkan bahwa definisi dari peranan pemerintah daerah dalam pemberdayaan pasar tradisional

Of course, sudah barang tentu, kita masih menghadapi kesulitan-kesulitan di segala bidang, − sebagaimana semua negara-negara-dalam-revolusi menghadapi