L 1 LAMPIRAN Lampiran 1 Implementasi Tabel CREATE TABLE [Klien] [KodeKlien] [char] 6) COLLATE [NamaKlien] [varchar] 30) COLLATE [Alamat] [varchar] 70) COLLATE [Telepon] [varchar] 15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, CONSTRAINT [PK_Client] PRIMARY KEY CLUSTERED [KodeKlien] CREATE TABLE [Karyawan] [char] 6) COLLATE [NamaKaryawan] [varchar] 30) COLLATE [Username] [varchar] 10) COLLATE [Password] [varchar] 10) COLLATE [Alamat] [varchar] 70) COLLATE [Telepon] [varchar] 15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, CONSTRAINT [PK_Karyawan] PRIMARY KEY CLUSTERED CREATE TABLE [Barang] [KodeBarang] [char] 6) COLLATE [NamaBarang] [varchar] 30) COLLATE
L 2 [Merk] [varchar] 25) COLLATE [Type] [varchar] 20) COLLATE [Harga] [int] NOT NULL, CONSTRAINT [PK_Barang] PRIMARY KEY CLUSTERED [KodeBarang] CREATE TABLE [Barang_Gudang] [KodeBarang] [char] 6) COLLATE [KodeGudang] [char] 6) COLLATE [Qty] [int] NOT NULL, CONSTRAINT [FK_BarangGudang_Barang] FOREIGN KEY [KodeBarang] ) REFERENCES [Barang] [KodeBarang] ), CONSTRAINT [FK_BarangGudang_Gudang] FOREIGN KEY [KodeGudang] ) REFERENCES [Gudang] [KodeGudang] ) CREATE TABLE [Barang_Pesanan] [KodeBarang] [char] 6) COLLATE [KodePesan] [char] 6) COLLATE [Qty] [int] NOT NULL, CONSTRAINT [FK_Barang_Pesanan_Barang] FOREIGN KEY [KodeBarang] ) REFERENCES [Barang] [KodeBarang] ), CONSTRAINT [FK_Barang_Pesanan_Purchase_Order] FOREIGN KEY
L 3 [KodePesan] ) REFERENCES [Purchase_Order] [KodePesan] ) CREATE TABLE [Barang_Spesifikasi] [KodeBarang] [char] 6) COLLATE [KodeSpesifikasiTeknis] [char] 6) COLLATE [Qty] [int] NOT NULL, CONSTRAINT [FK_Barang_Spesifikasi_Barang] FOREIGN KEY [KodeBarang] ) REFERENCES [Barang] [KodeBarang] ), CONSTRAINT [FK_Barang_Spesifikasi_Spesifikasi_Teknis] FOREIGN KEY [KodeSpesifikasiTeknis] ) REFERENCES [Spesifikasi_Teknis] [KodeSpesifikasiTeknis] ) CREATE TABLE [Gudang] [KodeGudang] [char] 6) COLLATE [char] 6) COLLATE [NamaGudang] [varchar] 30) COLLATE [Alamat] [varchar] 70) COLLATE [Telepon] [varchar] 15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, CONSTRAINT [PK_Gudang] PRIMARY KEY CLUSTERED [KodeGudang]
L 4 CREATE TABLE [Tender] [KodeTender] [char] 6) COLLATE [char] 6) COLLATE [KodeKlien] [char] 6) COLLATE [NamaTender] [varchar] 30) COLLATE [LokasiTender] [varchar] 20) COLLATE [TanggalTender] [datetime] NOT NULL, CONSTRAINT [PK_Tender] PRIMARY KEY CLUSTERED [KodeTender], CONSTRAINT [FK_Tender_Client] FOREIGN KEY [KodeKlien] ) REFERENCES [Klien] [KodeKlien] ) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT [FK_Tender_Karyawan] FOREIGN KEY ) REFERENCES [Karyawan] ) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT [FK_Tender_Klien] FOREIGN KEY [KodeKlien] ) REFERENCES [Klien] [KodeKlien] ) CREATE TABLE [Spesifikasi_Teknis] [KodeSpesifikasiTeknis] [char] 6) COLLATE [char] 6) COLLATE [KodeTender] [char] 6) COLLATE [Tanggal] [datetime] NOT NULL, CONSTRAINT [PK_Spesifikasi_Teknis] PRIMARY KEY CLUSTERED
L 5 [KodeSpesifikasiTeknis], CONSTRAINT [FK_Spesifikasi_Teknis_Karyawan] FOREIGN KEY ) REFERENCES [Karyawan] ), CONSTRAINT [FK_Spesifikasi_Teknis_Tender] FOREIGN KEY [KodeTender] ) REFERENCES [Tender] [KodeTender] ) CREATE TABLE [Proyek] [KodeProyek] [char] 6) COLLATE [char] 6) COLLATE [KodeTender] [char] 6) COLLATE [NamaProyek] [varchar] 30) COLLATE [LokasiProyek] [varchar] 20) COLLATE [TanggalMulai] [datetime] NOT NULL, [TanggalSelesai] [datetime] NOT NULL, CONSTRAINT [PK_Proyek] PRIMARY KEY CLUSTERED [KodeProyek], CONSTRAINT [FK_Proyek_Karyawan] FOREIGN KEY ) REFERENCES [Karyawan] ),
L 6 CONSTRAINT [FK_Proyek_Tender] FOREIGN KEY [KodeTender] ) REFERENCES [Tender] [KodeTender] ) ON DELETE CASCADE ON UPDATE CASCADE CREATE TABLE [Supplier] [KodeSupplier] [char] 6) COLLATE [NamaSupplier] [varchar] 30) COLLATE [Alamat] [varchar] 70) COLLATE [Telepon] [varchar] 15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, CONSTRAINT [PK_Supplier] PRIMARY KEY CLUSTERED [KodeSupplier] CREATE TABLE [Purchase_Order] [KodePesan] [char] 6) COLLATE [KodeSupplier] [char] 6) COLLATE [char] 6) COLLATE [TanggalPesan] [datetime] NOT NULL, [Status] [char] 13) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, CONSTRAINT [PK_Purchase_Order] PRIMARY KEY CLUSTERED [KodePesan], CONSTRAINT [FK_Purchase_Order_Supplier] FOREIGN KEY [KodeSupplier] ) REFERENCES [Supplier] [KodeSupplier] )
L 7 CREATE TABLE [Tr_Pengeluaran] [NoPengeluaran] [char] 6) COLLATE [char] 6) COLLATE [KodePesan] [char] 6) COLLATE [Tanggal] [datetime] NOT NULL, [TotalHarga] [int] NOT NULL, CONSTRAINT [PK_Laporan_Pengeluaran] PRIMARY KEY CLUSTERED [NoPengeluaran], CONSTRAINT [FK_Tr_Pengeluaran_Karyawan] FOREIGN KEY ) REFERENCES [Karyawan] ) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT [FK_Tr_Pengeluaran_Purchase_Order] FOREIGN KEY [KodePesan] ) REFERENCES [Purchase_Order] [KodePesan] ) CREATE TABLE [Bukti_Pembayaran] [NoBuktiPembayaran] [char] 6) COLLATE [NoPengeluaran] [char] 6) COLLATE [KodeGudang] [char] 6) COLLATE [TotalHarga] [int] NOT NULL, CONSTRAINT [PK_Bukti_Pembayaran] PRIMARY KEY CLUSTERED [NoBuktiPembayaran], CONSTRAINT [FK_Bukti_Pembayaran_Gudang] FOREIGN KEY [KodeGudang] ) REFERENCES [Gudang] [KodeGudang] ),
L 8 CONSTRAINT [FK_Bukti_Pembayaran_Laporan_Pengeluaran] FOREIGN KEY [NoPengeluaran] ) REFERENCES [Tr_Pengeluaran] [NoPengeluaran] ) Lampiran 2 Implementasi Constraint ALTER TABLE [Klien] ADD CONSTRAINT Cek_[kodeC] CHECK [KodeKlien] like 'C[0-9][0-9][0-9][0-9][0-9]' and len[kodeklien]) = 6) ALTER TABLE [Karyawan] ADD CONSTRAINT [kodek] CHECK like 'K[0-9][0-9][0-9][0-9][0-9]' and len) = 6) ALTER TABLE [Barang] ADD CONSTRAINT [kodeb] CHECK [KodeBarang] like 'B[0-9][0-9][0-9][0-9][0-9]' and len) = 6) ALTER TABLE [Gudang] ADD CONSTRAINT [kodeg] CHECK [KodeGudang] like 'G[0-9][0-9][0-9][0-9][0-9]' and len[kodegudang]) = 6) ALTER TABLE [Tender] ADD CONSTRAINT [kodet] CHECK [KodeTender] like 'T[0-9][0-9][0-9][0-9][0-9]' and len[kodetender]) = 6) ALTER TABLE [Spesifikasi_Teknis] ADD CONSTRAINT [kodest] CHECK [KodeSpesifikasiTeknis] like 'ST[0-9][0-9][0-9][0-9]' and len[kodespesifikasiteknis]) = 6) ALTER TABLE Proyek ADD CONSTRAINT [kodep] CHECK [[KodeProyek] like 'P[0-9][0-9][0-9][0-9][0-9]' and len[kodeproyek]) = 6)
L 9 ALTER TABLE [Supplier] ADD CONSTRAINT [kodes] CHECK [KodeSupplier] like 'SPL[0-9][0-9][0-9]' and len[kodesupplier]) = 6) ALTER TABLE [Purchase_Order] ADD CONSTRAINT [kodepo] CHECK [KodePesan] like 'PS[0-9][0-9][0-9][0-9]' and len[kodepesan]) = 6) ALTER TABLE [Tr_Pengeluaran] ADD CONSTRAINT [kodetr] CHECK [NoPengeluaran] like 'LP[0-9][0-9][0-9][0-9]' and len[nopengeluaran]) = 6) ALTER TABLE [Bukti_Pembayaran] ADD CONSTRAINT [kodebp] CHECK [NoBuktiPembayaran] like 'BP[0-9][0-9][0-9][0-9]' and len[nobuktipembayaran] = 6) Lampiran 3 Estimasi Disk Space Menghitung ukuran tabel 1. Number of rows in the table = Num_Rows 2. Number of columns = Num_Cols Sum of bytes in all fixed-length columns = Fixed_Data_Size Number of variable-length columns = Num_Variable_Cols Maximum size of all variable-length columns = Max_Var_Size 3. Null Bitmap Null_Bitmap) = 2 + Num_Cols + 7) / 8 ), dibulatkan ke bawah. 4. Total size of variable-length columns Variable_Data_Size) = 2 + Num_Variable_Cols x 2) + Max_Var_Size Jika tidak ada variable-length columns, nilai Variable_Data_Size adalah 0. 5. Menghitung row size:
L 10 Total row size Row_Size) = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap +4 Penambahan 4 di belakang adalah untuk row header. 6. Menghitung number of rows per page 8096 free bytes per page): Number of rows per page Rows_Per_Page) = 8096 ) / Row_Size + 2) Menggunakan pembulatan ke bawah. 7. Number of free rows per page Free_Rows_Per_Page) = 8096 x 100 - Fill_Factor) / 100) / Row_Size + 2) Nilai Fill_Factor secara default adalah 100. 8. Menghitung jumlah page yang dibutuhkan: Number of pages Num_Pages) = Num_Rows / Rows_Per_Page - Free_Rows_Per_Page) Dilakukan pembulatan ke atas. 9. Menghitung jumlah byte yang dibutuhkan 8192 total bytes per page): Table size bytes) = 8192 x Num_Pages Lampiran 4 Hasil Wawancara Wawancara dengan Bapak Arifin Teguh selaku Wakil Direktur Teknik PT. Deva Adhines. T: Bagaimana perusahaan ini mendapatkan proyek? J: Perusahaan mendapatkan tawaran tender dari client, kemudian perusahaan menawarkan spesifikasi teknis kepada client untuk dilihat dan dipelajari, client yang berhak menilai, tentunya setelah mempelajari profile perusahaan, dan ketika client menyetujui spesifikasi teknis yang perusahaan ajukan, maka itu yang disebut dengan menang tender, secara sederhana kalu dijelaskan begitu. Bisa juga terjadi penunjukkan perusahaan secara langsung oleh client, biasanya itu dari client yang sudah mengenal perusahaan dengan baik. T: Setelah itu? J : Bersamaan waktunya ketika proyek ditangani, Direktur utama mengeluarkan surat perintah kerja agar Project manager memulai proyek. Project manager
L 11 bertugas mengecek dahulu spesifikasi teknis yang dikeluarkan sebelumnya dengan ketersediaan barang di gudang. Barang yang belum ada langsung di beli dari supplier. T: Ketika proyek berlangsung apakah mungkin terjadi kekurangan barang? J : Perusahaan juga membeli dan memesan barang yang kurang selama proyek berjalan. T: Berapa gudang yang dimiliki perusahaan? J : Perusahaan mempunyai tiga gudang, dua gudang tetap. Satu lainnya tergantung dari lokasi proyek. T: Kalau supplier? J : Sejak beberapa tahun terkahir ini perusahaan memiliki supplier yang tetap. T: Apakah mungkin mengerjakan lebih dari satu proyek dalam waktu bersamaan? J : Kalau proyeknya kecil mungkin saja, misal pembuatan rumah. Tetapi satu proyek untuk satu tender. T: Kalau pembayaran pemesanan barang dan proyek? J: Setiap transaksi harus ada bukti pembayaran yang diterbitkan perusahaan. Bapak Arifin Teguh a Wakil Direktur Teknik PT. Deva Adhines
L 12 Lampiran 5 Pseudocode 1. Form Login Tampilkan Form Login User diminta memasukkan Username dan Password JIKA tombol Submit diklik MAKA JIKA Username belum diisi MAKA tampilkan pesan kesalahan Fill in your Username first! SELAIN ITU JIKA Password belum diisi MAKA tampilkan pesan kesalahan Fill in your Password first! SELAIN ITU JIKA Username dan Password salah MAKA tampilkan pesan kesalahan Username or Password is incorrect! SELAIN ITU tampil menu utama
L 13 2. Form Menu Tampilkan Menu Utama JIKA user mengklik menu File Tender maka akan tampil menu Form Tender File Proyek maka akan tampil menu Form Proyek File Purchase Order maka akan tampil menu Purchase Order File Gudang maka akan tampil menu Form Gudang File Exit maka akan keluar dari aplikasi JIKA user mengklik cetak laporan Laporan Spesifikasi Teknis maka akan tampil Laporan Spesifikasi Teknis Laporan Purchase Order maka akan tampil Laporan Purchase Order Laporan Gudang maka akan tampil Laporan Gudang 3. Form Tender ADD maka akan diisi data tender baru CANCEL maka akan dikosongkan semua tampilan UPDATE maka akan diupdate data tender
L 14 DELETE maka akan dihapus data tender SPESIFIKASI TEKNIS maka akan tampil Form Spesifikasi Teknis 4. Form Spesifikasi Teknis ADD maka akan diisi data spesifikasi teknis baru CANCEL maka akan dikosongkan semua tampilan UPDATE maka akan diupdate data spesifikasi teknis DELETE maka akan dihapus data spesifikasi teknis CEK BARANG maka akan tampil Form Cek Barang
L 15 PRINT maka akan tampil Laporan Spesifikasi Teknis 5. Form Cek Barang PURCHASE ORDER maka akan tampil Form Purchase Order 6. Form Proyek ADD maka akan diisi data proyek baru CANCEL maka akan dikosongkan semua tampilan UPDATE maka akan diupdate data proyek DELETE maka akan dihapus data proyek
L 16 PURCHASE ORDER maka akan tampil Form Purchase order 7. Form Purchase Order ADD maka akan diisi data purchase order baru CANCEL maka akan dikosongkan semua tampilan UPDATE maka akan diupdate data purchase order DELETE maka akan dihapus data purchase order SUBMIT maka akan tampil Form Laporan Pengeluaran 8. Form Laporan Pengeluaran
L 17 SUBMIT maka data akan disimpan ke database dan tampil Form Bukti Pembayaran 9. Form Bukti Pembayaran SUBMIT maka data akan disimpan ke database dan tampil Laporan Pengeluaran 10. Form Gudang PILIH GUDANG maka akan tampil data di gudang