BAB 4 PERANCANGAN DAN IMPLEMENTASI

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB 4 PERANCANGAN DAN IMPLEMENTASI"

Transkripsi

1 BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Basisdata Dalam merancangan basisdata pada PT. Ippachi Karya Sukses, digunakanlah tiga tahap utama, yaitu : 1.Perancangan basisdata konseptual 2.Perancangan basisdata logikal 3.Perancangan basisdata fisikal Perancangan Basisdata Konseptual Perancangan basisdata konseptual merupakan suatu proses pembuatan model menggunakan informasi yang diperoleh oleh perusahaan, terlepas dari semua pertimbangan fisik. Langkah-langkah penting dalam merancang basisdata secara konseptual adalah : 1.Identifikasi tipe entitas 2.Identifikasi tipe relasional 3.Identifikasi dan asosiasi atribut suatu entitas 4.Identifikasi kandidat dan primay key setiap entitas 5.Validasi model konseptual lokal dengan transaksi user 88

2 Identifikasi tipe entitas Langkah ini bertujuan untuk mengidentifikasi tipe entitas yang utama yang dibutuhkan.adapun tipe entitas yang diidentifikasi adalah seperti yang terlihat pada tabel di bawah ini. Nama Entity Supplier Keterangan Entity Merupakan entitas yang memberikan informasi tentang supplier yang memasok barang ke PT. IKS Staf Merupakan entitas yang memberikan informasi tentang staf baik sales, staff, manajer ataupun presiden direktur. Sales Contract Merupakan entitas yang berisi informasi tentang pemesanan yang dilakukan oleh PT. IKS kepada supplier SC Payment Merupakan entitas yang berisi tentang jumlah pembayaran yang dilakukan oleh PT. IKS kepada supplier Bill of Lading Merupakan entitas yang berisi total produk yang dibeli dari supplier beserta total beratnya Produk Merupakan entitas yang berisi informasi tentang produk yang didatangkan dan yang akan dijual oleh PT. IKS yaitu sepeda listrik. Customer Entitas yang berisikan informasi tentang konsumen dari PT. IKS Surat Pesanan Entitas yang berisi informasi pemesanan yang

3 90 dilakukan oleh konsumen. SP Payment Entitas yang berisi informasi pembayaran yang dilakukan oleh konsumen kepada PT. IKS Delivery Order Penjualan Merupakan entitas yang berisi informasi tentang pengiriman barang dari PT. IKS ke alamat konsumen. Delivery Order Pembelian Merupakan entitas yang berisi informasi tentang pengiriman barang dari supplier ke PT IKS Commercial Invoice Merupakan entitas yang berisi produk-produk beserta jumlah dan harga yang dibeli oleh PT IKS dari supplier Packing List Entitas yang berisi berat beserta ukuran keseluruhan dari produk yang dibeli dari supplier Tabel 4.1 Identifikasi Tipe Entitas Identifikasi Tipe Relasional Tujuan dari tahapan ini adalah untuk menentukan hubunganhubungan penting yang ada antara jenis entitas yang telah di identifikasikan. Langkah-langkah penting dalam identifikasi tipe rasional adalah : 1. Menentukan ER Diagram (gambar 4.1) 2. Menentukan pembatas multiplicity dari tipe relasional (table 4.2)

4 91 Hubungan antara semua entity-entity dapat dilihat pada diagram berikut ini: Bill of Lading disertai Packing List 1..1 disertai 1..1 C om m ercial Invoice 1..1 memiliki 1..1 Sales Contract * 0..* memiliki berdasarkan Diberikan ke 1..1 Delivery Order Pembelian 0..* 1..1 SC Payment 1..1 Supplier membuat 0..* 0..* menambah Dikirim ke melakukan 1..* Produk 1..* 0..* mengurangi Memeriksa 1..1 Staf 1..* 1..* Diberikan ke SP Payment 1..1 berdasarkan * Surat Pesanan 0..* 0..* 1..1 melakukan Customer 1..* Dikirim ke membuat memiliki 0..* * Delivery O rder Penjualan Gambar 4.1 Diagram ER

5 92 Tipe relationship adalah hubungan antara semua tipe entity yang telah di identifikasi dari analisa kebutuhan. Hubungan antara semua entity yang telah di identifikasikan sebelumnya dapat dilihat pada tabel sebagai berikut: Entity name Mul tipli city Relationship Entity name Mul tipli city Staf 1..1 Membuat Sales Contract 0..* 1..1 Melakukan SC Payment 0..* 1..1 Memeriksa Produk 0..* Customer 1..1 Membuat Surat Pesanan 0..* 1..1 Melakukan SP Payment 0..* Sales Contract 0..* Diberikan ke Supplier Memiliki Commercial Invoice 1..1 SC Payment 1..1 Berdasarkan Sales Contract 1..1 Surat Pesanan 0..* Diberikan ke Staf Memiliki Delivery Order 1..1 Penjualan SP Payment 1..1 Berdasarkan Surat Pesanan 1..1 Commercial 1..1 Disertai Packing List 1..1 Invoice Delivery Order 0..* Dikirim ke Customer 1..*

6 93 Packing List 1..1 Disertai Bill of Lading 1..1 Bill of Lading 1..1 Memiliki Delivery Order 1..1 Pembelian Delivery Order 0..* Menambah Produk 1..* Pembelian 0..* Dikirim ke Staf 1..* Tabel 4.2 Multiplicity Tipe Relasional Identifikasi dan Asosiasi Atribut suatu Entitas Tujuan dari tahapan ini adalah untuk mengidentifikasikan dan mengasosiasikan atribut dari entitas atau tipe relasi. a. Staf NIP, Nama_staf, posisi, Alamat, Telepon, Handphone, sex, komisi, bonus, gaji_pokok, tgl_mulai_kerja. b. Supplier Id_supplier, Nama_supplier, Alamat, Telp, Fax, c. Produk Id_produk, Nama_produk, Satuan, Warna, Harga_satuanm Stok d. Customer Id_customer, Nama_customer, Alamat, Telp, Handphone, Fax

7 94 e. Packing List No_PL, Tgl_PL, No_SC, No_CI, Keterangan_produk f. Commercial Invoice No_CI, Tgl_CI, Id_produk, Rincian_produk, Quan, Harga_Satuan, Jumlah, Total g. Surat Pesanan No_SP, Tgl_SP, Nama_customer, Alamat, Telp, Id_produk, Warna, Quantity, Perlengkapan_tambahan, Harga Satuan, Total, Uang_Muka, Sisa h. Bill of Lading No_BL, Tgl_BL, Keterangan_produk i. Sales Contract No_SC, Tgl_SC, Id_produk, Quan, Harga_Satuan, Jumlah, Total j. Delivery Order Pembelian Tgl, No_pengiriman, No_SC, Id_produk, Nama_produk, Quan, harga_satuan, Jumlah, Total k. Delivery Order Penjualan Tgl, No_pengiriman, No_SP, Id_produk, Nama_produk, Quan, harga_satuan, Jumlah, Total l. SC Payment Tgl, No_SCPayment, No_pengiriman, NIP, Jumlah m. SP Payment Tgl, No_SPPayment, Id_customer, Nama_customer, Jumlah Berikut ini merupakan tabel dari mengidentifikasikan dan mengasosiasikan atribut dari entitas atau tipe relasi.

8 95 Entity Name Atribute Description Data Type & Lenght Nulls Multiva lue Staf NIP Secara unik 5 variabel Tidak Tidak mengidentifi karakter kasi staf Nama_staf Nama Staf 30 variabel karakter Tidak Tidak Posisi Posisi atau 15 variabel Tidak Tidak jabatan yang karakter dimiliki Alamat Alamat 50 variabel Tidak Tidak tempat karakter tinggal staf Telepon No telp staf numerik Tidak Ya Handphone No handphone staf numerik Ya Ya Sex Jenis kelamin 1 variabel Tidak Tidak staf karakter (P/W) Komisi Komisi staf numerik Ya Tidak

9 96 Bonus Bonus staf numerik Ya Tidak Gaji_pokok Tgl_mulai_kerja Gaji awal staf Tanggal mulai kerja staff numerik Tidak Tidak tanggal Tidak Tidak Supplier Id_supplier Mengidentifi 5 variabel Tidak Tidak kasi supplier karakter Nama_supplier Nama_Suppl 30 variabel Tidak Tidak ier karakter Alamat Alamat 50 variabel Tidak Tidak supplier karakter Telp Fax No telpon supplier No Fax supplier numerik Tidak Ya numerik Tidak Ya Alamat e- 20 variabel Tidak Tidak mail supplier karakter Produk Id_produk Mengidentifi 7 variabel Tidak Tidak kasi produk karakter Nama_produk Nama_produ 20 variabel Tidak Tidak k karakter Satuan Satuan 7 variabel Ya Tidak

10 97 barang karakter Warna Warna 10 variabel karakter Tidak Ya Harga_satuan Stok Harga dari produk Stok dari produk numerik Tidak Tidak numerik Tidak Tidak Customer Id_customer Mengidentifi 5 variabel Tidak Tidak kasi karakter customer Nama_customer Nama_custo 15 variabel Tidak Tidak mer karakter Alamat Alamat 30 variabel Tidak Tidak customer karakter Telp No telpon numerik Tidak Ya customer Handphone No telpon numerik Ya Ya seluler customer Fax No fax numerik Tidak Ya customer Packing No_PL Nomor surat numerik Tidak Tidak List packing list

11 98 Tgl_PL No_SC No_CI Tanggal packing list Nomor Sales Contract Nomor Commercial Invoice tanggal Tidak Tidak numerik Tidak Tidak numerik Tidak Tidak Keterangan_produk Deskripsi 50 variabel Tidak Tidak produk yang karakter dikirim Commercia No_CI Nomor numerik Tidak Tidak l Invoice commercial invoice Tgl_CI Tanggal Tanggal Tidak Tidak invoice dibuat Id_Produk Kode produk 8 variabel Tidak Tidak yang dikirim karakter Rincian_Produk Deskripsi 30 variabel Tidak Tidak dan perincian karakter dari produk Quan Banyaknya produk numerik Tidak Tidak

12 99 Harga_satuan Harga satuan numerik Tidak Tidak produk Jumlah Jumlah Numerik Tidak Tidak produk Total Total harga Numerik Tidak Tidak yang dipesan Surat No_SP Nomor surat numerik Tidak Tidak Pesanan pesanan Tgl_SP Tanggal surat Tanggal Tidak Tidak pesanan dibikin Nama_customer Nama 15 variabel Tidak Tidak Customer karakter Alamat Alamat 30 variabel Tidak Tidak customer karakter Telp Nomor telepon customer Numerik Tidak Ya Id_produk Kode produk 7 variabel Tidak Tidak yang dipesan karakter customer Warna Warna 10 variabel Tidak Tidak produk yang karakter

13 100 Quan dipesan Banyaknya barang yang dipesan Numerik Tidak Tidak Perlengkapan_tambaha Barang lain 20 variabel Ya Tidak n seperti karakter sparepart yang dipesan Harga_satuan Harga satuan Numerik Tidak Tidak barang Total Total harga Numerik Tidak Tidak pesanan Uang_muka Uang muka Numerik Tidak Tidak yang dibayar customer Sisa Sisa uang Numerik Ya Tidak yang harus dibayar Bill of No_BL Nomor bill numerik Tidak Tidak Lading of lading Tgl_BL Tanggal Tanggal Tidak Tidak pembuatan bill of lading

14 101 Keterangan_produk Keterngan 50 variabel tidak Tidak produk yang karakter dikirim Sales No_SC Nomor sales Numerik Tidak tidak Contract contract Tgl_SC Tanggal sales Tanggal Tidak Tidak contract dibuat Id_produk Kode produk 7 variabel karakter Tidak Tidak Quan Banyaknya Numerik Tidak Tidak barang Harga_satuan Harga satuan Numerik Tidak Tidak produk Jumlah Banyaknya Numerik Tidak Tidak barang yang dipesan Total Total harga Numerik Tidak Tidak barang yang dipesan Delivery Tgl Tanggal DO Tanggal Tidak Tidak Order pembelian Pembelian No_pengiriman Nomor Numerik Tidak Tidak

15 102 pengiriman No_SC Nomor SC Numerik Tidak Tidak Id_produk Kode produk 7 variabel Tidak Tidak yang dipesan karakter Nama_produk Nama_produ 20 variabel Tidak Tidak k yang karakter dipesan Quan Harga_satuan Jumlah Banyaknya produk yang dipesan Harga satuan barang Jumlah barang yang dipesan Numerik Tidak Tidak Numerik Tidak Tidak Numerik Tidak Tidak Total Total harga Numerik Tidak Tidak Delivery Tgl Tanggal DO Tanggal Tidak Tidak Order dibuat Penjualan No_pengiriman Nomor Numerik Tidak Tidak pengiriman No_SP Nomor surat Numerik Tidak Tidak Id_produk Kode produk 7 variabel karakter Tidak Tidak

16 103 Nama_produk Nama_produ 20 variabel Tidak Tidak k karakter Quan Harga_satuan Jumlah Jumlah barang yang dipesan Harga satuan barang Jumlah barang yang dipesan Numerik Tidak Tidak Numerik Tidak Tidak Numerik Tidak Tidak Total Total harga Numerik Tidak Tidak SC Tgl Tanggal Tanggal Tidak Tidak Payment dibuat No_SCPayment Nomor surat Numerik Tidak Tidak No_pengiriman Nomor surat pengiriman Numerik Tidak Tidak NIP Nomor induk 5 variabel Tidak Tidak staff karakter Jumlah Numerik Tidak Tidak SP Tgl Tanggal Tanggal Tidak Tidak Payment dibuat No_SPPayment Nomor surat Numerik Tidak Tidak Id_customer Mengidentifi 5 variabel Tidak Tidak

17 104 kasi karakter customer Nama_customer Nama 15 variabel Tidak Tidak Customer karakter Jumlah Numerik Tidak Tidak Tabel 4.3 Identifikasi dan Asosiasi Atribut suatu Entitas Identifikasi kandidat dan primay key setiap entitas Tahapan ini bertujuan untuk mengidentifikasi kandidat key dan primary key dari field-field pada setiap tabel. Entity Kandidat Key Primary Key Staff NIP NIP Supplier Id_Supplier Id_Supplier Produk Id_Produk Id_Produk Customer Id_Customer Id_Customer Packing List No_PL, No_CI, No_SC No_PL Commercial Invoice No_CI No_CI Surat Pesanan No_SP No_SP Bill of Lading No_BL No_BL Sales Contract No_SC, Id_Produk No_SC Delivery Order No_Pengiriman, No_Pengiriman

18 105 Pembelian No_SC, Id_Produk Delivery Order No_Pengiriman, No_Pengiriman Penjualan No_SP, Id_Produk SC Payment No_SCPayment, No_SCPayment No_Penerimaan, NIP SP Payment No_SPPayment, No_SCPayment Id_Customer Tabel 4.4 Kandidat dan Primary key setiap entitas

19 106 Berikut ini adalah diagram menentukan primary key dari entity-entity yang ada: Gambar 4.2 Diagram ERD Konseptual dengan primary key Validasi model konseptual lokal dengan transaksi user Tahapan ini bertujuan untuk memastikan model konseptual lokal untuk mendukung transaksi yang dibutuhkan oleh transaksi user. Dalam hal ini digunakan jalur arah transaksi (pathways) yang digambarkan dalam diagram ER untuk memeriksa model konseptual lokal untuk mendukung transaksi. Model Konseptual

20 107 Lokal dengan transaksi user dapat dilihat pada diagram berikut ini: Gambar 4.3 Model Konseptual Lokal dengan Transaksi User

21 108 Dari model konseptual lokal dengan Transaksi user di atas, didapat deskripsi transaksi-transaksi sebagai berikut: (a) Menampilkan order pembelian yang ada (b) Mengidentifikasi Sales Contract (c) Mengidentifikasi pembayaran (d) Mengidentifikasi pembayaran pembelian (e) Mengidentifikasi produk yang di order (f) Mengidentifikasi commercial invoice (g) Mengidentifikasi Packing List (h) Mengidentifikasi Bill of Lading (i) Menambah produk (j) Menampilkan staf (k) Menampilkan pesanan/order penjualan yang ada (l) Menampilkan Surat Pesanan (m) Menampikan produk yang akan dikirim ke pelanggan (n) Input pembayaran (o) Mengidentifikasi pembayaran penjualan (p) Menampilkan pelanggan (q) Mengurangi produk (r) Menampilkan stok produk

22 Perancangan Basisdata Logikal Perancangan basis data logikal merupakan suatu proses membangun sebuah model informasi yang digunakan dalam sebuah perusahaan berdasarkan pada sebuah model data khusus, tetapi bebas dari DBMS tertentu dan pertimbangan fisik lainnya. Tahapan utama dalam fase ini adalah membangun suatu model data logikal lokal dari sebuah model data konseptual lokal yang merepresentasikan view tertentu dari perusahaan dan kemudian memvalidasi model ini untuk meyakinkan bahwa model tersebut secara struktural benar dan model tersebut mendukung semua transaksi yang dibutuhkan. Sehingga pada akhir tahap ini akan dihasilkan hanya satu model data logikal lokal yang sekaligus menjadi model data logikal global. Adapun langkahlangkah dalam merancang basis data logikal yaitu : 1.Menghilangkan feature yang tidak kompatibel dengan model relasional. 2.Membuat relasi untuk model data logikal lokal. 3.Memvalidasi relasi menggunakan teknik normalisasi. 4.Mendefinisikan batasan integritas (integrity constraints) Menghilangkan feature tidak kompatibel dengan model relasional Tujuan dari langkah ini adalah untuk memperhalus model data konseptual lokal dengan menghilangkan feature yang tidak kompatibel dengan model relasional. Adapun cara yang digunakan dalam tahapan ini untuk menghilangkan feature tidak kompatibel dengan model relasional adalah dengan menghilangkan hubungan many-to-many (*:*) binary relationship

23 110 types. Hasil dari langkah ini secara keseluruhan dapat dilihat pada gambar diagram ER sebagai berikut: 1. Menghilangkan many-to-many binary relationship Pada langkah ini, relationship *:* diganti dengan dua relationship oneto-many (1:*) ke sebuah entity baru. Adapun relationship *:* yang perlu dihilangkan yaitu : a) Hubungan Delivery Order Pembelian dengan Produk (a) Keterangan: a. Kondisi awal b. Kondisi akhir (b) b) Hubungan antara Delivery Order Penjualan dengan Produk (a)

24 111 (b) Gambar 4.4 Membuang Relasi many to many 2. Menghilangkan atribut multi-valued Atribut multi-valued memegang banyak nilai untuk sebuah entity. Oleh sebab itu, pada langkah ini kita menghilangkan atribut multi-valued ini dengan mengidentifikasikan sebuah entity baru dimana atribut tersebut direpresentasikan sebagai sebuah atribut tunggal (primary key) dan sebuah relationship 1:* dibuat. Adapun atribut multi-valued yang dihilangkan yaitu: a) Atribut telepon dan handphone pada entity Staf Gambar 4.5 Atribut multi-valued pada entity Staf

25 112 a) Entity Staf dengan atribut multi-valued Telepon dan Handphone b) Membuat entity baru dengan nama Telepon_staf dan memindahkan atribut Telepon ke entity Telepon_staf dengan Telepon sebagai primary key dan relationship 1:* dengan nama memiliki c) Membuat entity baru dengan nama Handphone_staf dan memindahkan atribut Handphone ke entity Handphone_staf

26 113 dengan Handphone sebagai primary key dan relationship 0:* dengan nama memiliki b) Atribut telepon dan fax pada entity Supplier Gambar 4.6 Atribut multi-valued pada entity Supplier a) Entity Supplier dengan atribut multi-valued Telepon dan Fax b) Membuat entity baru dengan nama Telp_supplier dan memindahkan atribut Telp ke entity Telp_supplier dengan Telp sebagai primary key dan relationship 1:* dengan nama memiliki

27 114 c) Membuat entity baru dengan nama Fax_supplier dan memindahkan atribut Fax ke entity Fax_supplier dengan Fax sebagai primary key dan relationship 1:* dengan nama memiliki c) Atribut telepon, handphone dan fax pada entity Customer Gambar 4.7 Atribut multi-valued pada entity Customer a) Entity Supplier dengan atribut multi-valued Telp, Handphone dan Fax b) Membuat entity baru dengan nama Telp_customer dan memindahkan atribut Telp ke entity Telp_customer dengan Telp sebagai primary key dan relationship 1:* dengan nama memiliki

28 115 c) Membuat entity baru dengan nama Handphone_customer dan memindahkan atribut Handphone ke entity Handphone_customer dengan Handphone sebagai primary key dan relationship 0:* dengan nama memiliki d) Membuat entity baru dengan nama Fax_customer dan memindahkan atribut Fax ke entity Fax_customer dengan Fax sebagai primary key dan relationship 0:* dengan nama memiliki Membuat relasi untuk model data logikal lokal Langkah ini bertujuan untuk menciptakan relasi bagi model data logikal lokal untuk merepresentasikan entity, relationship dan atribut yang telah diidentifikasikan. Adapun langkah-langkah dalam membuat relasi dari struktur yang mungkin dalam model data antara lain: 1. Strong entity types Untuk setiap strong entity dalam model data, ciptakan sebuah tabel yang mencakup semua atribut dari entity tersebut. Adapun tabel yang dihasilkan dari strong entity yaitu :

29 116 a) Staf (NIP, Nama_staf, posisi, Alamat, sex, komisi, bonus, gaji_pokok, tgl_mulai_kerja) Primary Key NIP b) Supplier (Id_supplier, Nama_supplier, Alamat, ) Primary Key Id_supplier c) Customer (Id_customer, Nama_customer, Alamat) Primary Key Id_customer d) Produk (Id_produk, Nama_produk, Satuan, Warna, Harga_satuan, Stok) Primary Key Id_produk e) Packing List (No_PL, Tgl_PL, No_CI, No_SC, Keterangan_produk) Primary Key No_PL Foreign Key No_CI references Commercial Invoice (No_CI) Foreign Key No_SC references Sales Contract (No_SC) f) Commercial Invoice (No_CI, Tgl_CI, Id_produk, Rincian_produk, Quan, Harga_Satuan, Jumlah, Total) Primary Key No_CI Foreign Key Id_produk references Produk (Id_produk) g) Surat Pesanan (No_SP, Tgl_SP, Nama_customer, Alamat, Telp, Id_produk, Warna, Quantity, Perlengkapan_tambahan, Harga Satuan, Total, Uang_Muka, Sisa) Primary Key No_SP

30 117 Foreign Key Id_produk references Produk (Id_produk) h) Bill of Lading (No_BL, Tgl_BL, Keterangan_produk) Primary Key No_BL i) Sales Contract (No_SC, Tgl_SC, Id_produk, Quan, Harga_Satuan, Jumlah, Total) Primary Key No_SC Foreign Key Id_produk references Produk (Id_produk) j) Delivery order pembelian (Tgl, No_pengiriman, No_SC, Id_produk, Nama_produk, Quan, harga_satuan, Jumlah, Total) Primary Key No_pengiriman Foreign Key No_SC references Sales Contract (No_SC) Foreign Key Id_produk references Produk (Id_produk) k) Delivery order penjualan (Tgl, No_pengiriman, No_SP, Id_produk, Nama_produk, Quan, harga_satuan, Jumlah, Total Primary Key No_pengiriman Foreign Key No_SP references Surat Pesanan (No_SP) Foreign Key Id_produk references Produk (Id_produk) i) SP_payment (Tgl, No_SPPayment, No_pengiriman, Id_customer, Nama_customer, Jumlah) Primary Key No_SPPPayment Foreign Key Id_customer references Customer (Id_customer)

31 118 Foreign Key No_pengiriman references Delivery Order Penjualan (No_pengiriman) j) SC_payment (Tgl, No_SCPayment, No_pengiriman, NIP, Jumlah) Primary Key No_SCPayment Foreign Key No_pengiriman references Delivery Order Pembelian (No_pengiriman) Foreign Key NIP references Staf (NIP) k) Telepon_staf (Telepon) Primary Key Telepon l) Handphone_staf (Handphone) Primary Key Handphone m) Telp_supplier (Telp) Primary Key Telp n) Fax_supplier (Fax) Primary Key Fax o) Telp_customer (Telp) Primary Key Telp p) Handphone_customer (Handphone) Primary Key Handphone q) Fax_customer (Fax) Primary Key Fax

32 Week entity types Untuk setiap weak entity dalam model data, ciptakan sebuah tabel yang mencakup semua atribut dari entity tersebut. Adapun tabel yang dihasilkan dari weak entity yaitu : a) Delivery Order Pembelian detil (No_pengiriman, Id_produk, satuan, harga_satuan, quan, jumlah) Primary Key No_pengiriman, Id_produk Foreign Key No_pengiriman reference Delivery Order Pembelian(No_pengiriman) Foreign Key Id_produk reference Produk(Id_produk) b) Delivery Order Penjualan detil (No_pengiriman, Id_produk, satuan, harga_satuan, quan, jumlah) Primary Key No_pengiriman, Id_produk Foreign Key No_pengiriman reference Delivery Order Penjualan(No_pengiriman) Foreign Key Id_produk reference Produk (Id_produk) 3. Tipe relasi biner one-to-many (1:*) Untuk setiap relationship biner 1:*, entity pada sisi satu dari relationship dianggap sebagai entity induk dan entity pada sisi banyak dianggap sebagai entity anak. Untuk merepresentasikan relationship, kita mengirim copy-an atribut primary key dari entity

33 120 induk ke dalam tabel yang merepresentasikan entity anak, untuk bertindak sebagai foreign key. Adapun relationship 1:* yang terlibat yaitu : a). Staf memiliki Telepon_staf Gambar 4.8 Relationship 1:* Staf Memiliki Telepon_staf b). Staf memiliki Handphone_staf Gambar 4.9 Relationship 1:* Staf Memiliki Handphone_staf

34 121 c). Supplier memiliki Telp_supplier Gambar 4.10 Relationship 1:* Supplier Memiliki Telp_supplier d). Supplier memiliki Fax_supplier Gambar 4.11 Relationship 1:* Supplier memiliki Fax_supplier e). Customer memiliki Telp_customer Gambar 4.12 Relationship 1:* Customer memiliki Telp_customer

35 122 f). Customer memiliki Fax_customer Gambar 4.13 Relationship 1:* Customer memiliki Fax_customer g). Customer memiliki Handphone_customer Gambar 4.14 Relationship 1:* Customer memiliki Handphone_customer h). Staf melakukan SC Payment Gambar 4.15 Relationship 1:* Staf melakukan SC Payment

36 123 i). Customer melakukan SP Payment Gambar 4.16 Relationship 1:* Customer melakukan SP Payment 4. Tipe relasi biner many-to-many (*:*) Untuk setiap relasi biner many-to-many membuat sebuah hubungan untuk mewakili relasi tersebut dan meliputi atribut-atribut yang merupakan bagian dari relasi tersebut. Adapun relasi *:* yang terlibat, antara lain: a). Relasional antara Delivery Order Pembelian dengan Produk Gambar 4.17 Relationship *:* antara Delivery Order Pembelian dengan produk

37 124 b) Relasional antara Delivery Order Penjualan dengan Produk Gambar 4.18 Relationship *:* antara Delivery Order Penjualan dengan Produk Menvalidasi relasi menggunakan teknik normalisasi Tujuan dari langkah ini adalah untuk memvalidasi relasi-relasi dalam model data logikal lokal menggunakan teknik normalisasi. Teknik normalisasi bertujuan untuk menghasilkan model data yang konsisten, dan memiliki minimal redundansi (pengulangan data yang tidak perlu) dan maksimum stabilitas. Proses normalisasi dimulai dengan menentukan functional dependency antar atribut dalam suatu relasi. Sistemnya telah berada pada kondisi normalisasi pertama karena telah ditentukan primary key dan sistem telah dihilangkan attribute multi value. Jadi kita mulai pada tahap 2NF atau

38 125 normalisasi yang ke dua. Untuk 2NF menghilangkan partial depedency dan pada 3NF menghilangkan transitif depedency. Proses normalisasi adalah sebagai berikut: Gambar 4.19 Validasi Relasi dengan Normalisasi Staf (primary key) NIP Nama_staf posisi alamat sex komisi bonus gaji_pokok Tgl_mulai_kerja

39 126 Supplier Id_supplier (primary key) Nama_supplier Alamat Produk Id_produk (primary key) Nama_produk Satuan Warna Harga_satuan Customer Id_customer Nama_customer Alamat

40 127 Packing List No_PL (primary key) Tgl_PL No_SC No_CI Keterangan_produk Commercial Invoice No_CI (primary key) Tgl_CI Id_produk Rincian_produk Quan Harga_satuan Jumlah Total

41 128 Surat Pesanan No_SP (primary key) Tgl_SP Nama_customer Alamat Telp Id_produk Warna Quantity Perlengkapan_tambahan Harga_satuan Total Uang_muka Sisa Relasi yang terbentuk: Surat Pesanan Tgl_SP, No_customer, Alamat, Telp, Perlengkapan_tambahan, Total, Uang_muka, sisa) Produk Warna,, Harga Satuan)

42 129 Bill of Lading No_BL (primary key) Tgl_BL Keterangan_produk Sales Contract No_SC (primary key) Tgl_SC Id_produk Quan Harga_satuan Jumlah Total

43 130 Delivery Order Pembelian (primary key) Tgl No_pengiriman No_SC Id_produk Nama_produk Quan Harga_satuan Jumlah Total Relasi yang terbentuk adalah: Delivery Order Pembelian Tgl. No_SC, Jumlah, Total) Id_produk (@Id_produk, Nama_produk, Quan, Harga_satuan)

44 131 Delivery Order Penjualan (primary key) Tgl No_pengiriman No_SP Id_produk Nama_produk Quan Harga_satuan Jumlah Total Relasi yang terbentuk adalah: Delivery Order Penjualan Tgl. No_SP, Jumlah, Total) Id_produk (@Id_produk, Nama_produk, Quan, Harga_satuan)

45 132 SC Payment Tgl (primary key) No_SCPayment No_pengiriman NIP jumlah SP Payment Tgl (primary key) No_SPPayment No_pengiriman Id_customer Nama_customer jumlah Relasi yang terbentuk adalah: SP Payment Tgl, No_pengiriman, jumlah) Customer Nama_customer)

46 133 Telepon_staf Telepon (primary key) NIP Handphone_staf Handphone (primary key) NIP Telp_supplier Telp (primary key) Id_supplier Fax_supplier Fax (primary key) Id_supplier Telp_customer Telp (primary key) Id_customer

47 134 Handphone_customer Handphone (primary key) Id_customer Fax_customer Fax (primary key) Id_customer Berdasarkan functional dependency antar atribut dalam suatu relasi tersebut, dapat dilihat bahwa ternyata semua atribut nonprimary key dalam suatu relasi tergantung sepenuhnya pada atribut primary key dari relasi tersebut. Penentuan primary key untuk setiap relasi sudah dilakukan pada tahap sebelumnya, sehingga secara otomatis di dalam setiap relasi sudah tidak ada lagi repeating group yang berarti setiap relasi sudah memenuhi 1NF. Di dalam setiap relasi juga tidak terdapat atribut non-primary key yang tergantung pada salah satu atribut primary key (partial dependency), sehingga setiap relasi berarti sudah memenuhi 2NF. Juga tidak ditemukan adanya atribut non-primary key dalam suatu relasi yang tergantung pada atribut non-primary key yang lain dalam relasi tersebut (transitive dependency). Hal ini berarti bahwa setiap relasi juga sudah memenuhi 3NF. Dengan menentukan functional dependency

48 135 dari setiap relasi, maka dapat diketahui bahwa semua relasi tersebut sudah normal dan tidak perlu dilakukan normalisasi lagi Mendefinisikan batasan integritas (integrity constraints) Tujuan dari langkah ini adalah untuk menentukan batasan integritas yang dapat melindungi basis data dari ketidakkonsistenan. Ada lima batasan integritas yang didefinisikan yaitu : 1. Required data Beberapa atribut harus selalu mengandung sebuah nilai yang valid atau dengan kata lain, atribut-atribut ini tidak diperkenankan untuk mengandung nilai null. Batasan ini sudah diidentifikasikan dalam tahap Attribute domain constraints Setiap atribut mempunyai sebuah domain, yang merupakan serangkaian nilai yang legal atau sah. Batasan ini juga sudah diidentifikasikan ketika memilih domain atribut untuk model data pada tahap Entity integrity Primary key dari sebuah entity tidak boleh null. Batasan ini juga sudah dipertimbangkan ketika mengidentifikasikan primary key untuk setiap entity type yang dilakukan pada tahap

49 Referential integrity Jika sebuah foreign key mengandung sebuah nilai, maka nilai tersebut harus mengacu pada suatu baris (tuple) yang ada dalam relasi induknya. Adapun referential integrity constraints untuk relasi-relasi yang telah diciptakan sebelumnya adalah seperti terlihat pada tabel berikut ini. Tabel 4.5 Tabel Menentukan Integrity Constraint Staf (NIP, Nama_staf, posisi, alamat, sex, komisi, bonus, gaji_pokok, tgl_mulai_kerja) Primary Key NIP Supplier (Id_supplier, Nama_supplier, Alamat, Primary Key Id_supplier Produk (Id_produk, Nama_produk, Satuan, Warna, Harga_satuan, Stok) Primary Key Id_produk Customer (Id_customer, Nama_customer, alamat Primary Key Id_customer Packing List (No_PL, Tgl_PL, No_SC, No_CI, Keterangan_produk) Primary Key No_PL Foreign Key No_SC references Sales Contract(No_SC) on update cascade on delete no action Foreign Key No_CI references Commercial Invoice(No_CI) on update

50 137 cascade on delete no action Commercial Invoice (No_CI, Tgl_CI, Id_produk, Rincian_produk, Quan, Harga_satuan, Jumlah, Total) Primary Key No_CI Foreign Key Id_produk references Produk(Id_produk) on update cascade on delete no action Surat Pesanan (No_SP, Tgl_SP, Nama_customer, Alamat, Telp, Id_produk, Warna, Quan, Perlengkapan_tambahan, Harga_satuan, Total, Uang_muka, Sisa Primary Key No_SP Foreign Key Id_produk references Produk(Id_produk) on update cascade on delete no action Bill of Lading (No_BL, Tgl_BL, Keterangan_produk) Primary Key No_BL Sales Contract (No_SC, Tgl_SC, Id_produk, Quan, Harga_satuan, Jumlah, Total) Primary Key No_SC Foreign Key Id_produk references Produk(Id_produk) on update cascade on delete no action Delivery Order Pembelian (No_pengiriman, Tgl, No_SC, Id_produk,

51 138 Nama_produk, Quan, harga_satuan, jumlah, total) Primary Key No_pengiriman Foreign Key No_SC references Sales Contract(No_SC) on update cascade on delete no action Foreign Key Id_produk references Produk(Id_produk) on update cascade on delete no action Delivery Order Penjualan (No_pengiriman, Tgl, No_SP, Id_produk, Nama_produk, Quan, Harga_satuan, jumlah, total Primary Key No_pengiriman Foreign Key No_SP references Surat Pesanan(No_SP) on update cascade on delete no action Foreign Key Id_produk references Produk(Id_produk) on update cascade on delete no action SC Payment (No_SCPayment, Tgl, No_pengiriman, NIP, jumlah Primary Key No_SCPayment Foreign Key No_pengiriman references Delivery Order Pembelian(No_pengiriman) on update cascade on delete no action Foreign Key NIP references Staf(NIP) on update cascade on delete no action SP Payment (No_SPPayment, Tgl, Id_customer, Nama_customer, jumlah

52 139 Primary Key No_SPPayment Foreign Key Id_customer references Customer(Id_customer) on update cascade on delete no action Telepon_staf (Telepon, NIP) Primary Key Telepon Foreign Key NIP references Staf(NIP) on update cascade on delete no action Handphone_staf (Handphone, NIP) Primary Key Handphone Foreign Key NIP references Staf(NIP) on update cascade on delete no action Telp_supplier (Telp, Id_supplier) Primary Key Telp Foreign Key Id_supplier references Supplier(Id_supplier) on update cascade on delete no action Fax_supplier (Fax, Id_supplier) Primary Key Fax Foreign Key Id_supplier references Supplier(Id_supplier) on update cascade on delete no action Telp_customer (Telp, Id_customer)

53 140 Primary Key Telp Foreign Key Id_customer references Customer(Id_customer) on update cascade on delete no action Handphone_customer (Handphone, Id_customer) Primary Key Handphone Foreign Key Id_customer references Customer(Id_customer) on update cascade on delete no action Fax_customer (Fax, Id_customer) Primary Key Fax Foreign Key Id_customer references Customer(Id_customer) on update cascade on delete no action Delivery Order Penjualan detil (No_pengiriman, Id_produk, Satuan, Harga_satuan, Quan, Jumlah) Primary Key No_pengiriman, Id_produk Foreign Key No_pengiriman references Delivery Order Penjualan(No_pengiriman) on update cascade on delete no action Foreign Key Id_produk references Produk(Id_produk) on update cascade on delete no action Delivery Order Pembelian detil (No_pengiriman, Id_produk, Satuan, Harga_satuan, Quan, Jumlah)

54 141 Primary Key No_pengiriman, Id_produk Foreign Key No_pengiriman references Delivery Order Pembelian(No_pengiriman) on update cascade on delete no action Foreign Key Id_produk references Produk(Id_produk) on update cascade on delete no action

55 Gambar 4.20 Data Model Lokal Logikal 142

56 Perancangan Basisdata Fisikal Perancangan basis data fisik merupakan proses untuk memutuskan bagaimana struktur logika diimplementasikan secara fisik (sebagai relasi) ke target DBMS. Adapun langkah-langkah dalam perancangan basis data secara fisik yaitu : 1.Merancang relasional basis data. 2.Menganalisis transaksi. 3.Memilih index 4.Memperkirakan kebutuhan kapasitas penyimpanan. 5.Merancang mekanisme keamanan. 6.Pemilihan DBMS Merancang Relasional Basis data Tujuan dari langkah ini adalah untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasikan dalam model data logikal global ke dalam target DBMS. Informasi yang diperlukan untuk proses ini dapat diperoleh dari kamus data dan definisi dari relasi dideskripsikan menggunakan Database Definition Language (DBDL). Adapun DBDL yang didefinisikan adalah sebagai berikut :

57 144 DBDL Staf Domain NIP variable length character string, length 5 Domain NamaStaf variable length character string, length 30 Domain Posisi variable length character string, length 15 Domain Alamat variable length character string, length 50 Domain Sex single character must be one of P, W Domain Komisi monetary value Domain Bonus monetary value Domain GajiPokok monetary value Domain TanggalMulaiKerja date Staf ( NIP NIP NOT NULL, Nama_staf NamaStaf NOT NULL, Posisi Posisi NOT NULL, Alamat Alamat NOT NULL, sex Sex NOT NULL, komisi Bonus Komisi Bonus

58 145 Gaji_pokok GajiPokok NOT NULL, Tgl_mulai_kerja TanggalMulaiKerja NOT NULL, Primary Key (NIP)); DBDL Supplier Domain IdSupplier variable length character string, length 5 Domain NamaSupplier variable length character string, length 30 Domain Alamat variable length character sting, length 50 Domain variable length character string, length 20 Supplier ( Id_supplier IdSupplier NOT NULL, Nama_supplier NamaSupplier NOT NULL, Alamat Alamat NOT NULL, Primary Key (Id_supplier));

59 146 DBDL Produk Domain IdProduk variable length character string, length 7 Domain NamaProduk variable length character string, length 20 Domain Satuan variable length character string, length 7 Domain Warna variable length character string, length 10 Domain HargaSatuan monetary value Domain Stok Integer Produk ( Id_produk IdProduk NOT NULL, Nama_produk NamaProduk NOT NULL, Satuan Satuan Warna Warna NOT NULL, Harga_satuan HargaSatuan NOT NULL, Stok Stok NOT NULL, Primary Key (Id_produk));

60 147 DBDL Customer Domain IdCustomer variable length character string, length 5 Domain NamaCustomer variable length character string, length 15 Domain Alamat variable length character string, length 30 Customer ( Id_customer IdCustomer NOT NULL, Nama_customer NamaCustomer NOT NULL, Alamat Alamat NOT NULL, Primary Key (Id_customer)); DBDL Packing List Domain NoPackingList integer Domain TanggalPackingList date Domain NoSalesContract integer Domain NoCommercialInvoice integer Domain KeteranganProduk variable length character string, length 50 Packing List ( No_PL NoPackingList NOT NULL, Tgl_PL TanggalPackingList NOT NULL,

61 148 No_SC NoSalesContract NOT NULL, No_CI NoCommercialInvoice NOT NULL, Keterangan_produk KeteranganProduk NOT NULL, Primary Key (No_PL), Foreign Key (No_SC) references Sales Contract(No_SC) on update cascade on delete no action, Foreign Key (No_CI) references Commercial Invoice (No_CI) on update cascade on delete no action); DBDL Commercial Invoice Domain NoCommercialInvoice integer Domain TanggalCommercialInvoice date Domain IdProduk variable length character string, length 8 Domain RincianProduk variable length character string, length 30 Domain Quantity integer Domain HargaSatuan monetary value Domain Jumlah monetary value Domain Total monetary value Commercial Invoice (

62 149 No_CI NoCommercialInvoice NOT NULL, Tgl_CI TanggalCommercialInvoice NOT NULL, Id_produk IdProduk NOT NULL, Rincian_produk RincianProduk NOT NULL, Quan Quantity NOT NULL, Harga_satuan HargaSatuan NOT NULL, Jumlah Jumlah NOT NULL, Total Total NOT NULL, Primary Key (No_CI), Foreign Key (Id_produk) references Produk (Id_produk) on update cascade on delete no action); DBDL Surat Pesanan Domain NoSuratPesanan integer Domain TanggalSuratPesanan date Domain NamaCustomer variable length character string, length 15 Domain Alamat variable length character string, length 30

63 150 Domain Telepon integer Domain IdProduk variable length character string, length 7 Domain Warna variable length character string, length 10 Domain Quantity integer Domain PerlengkapanTambahan variable length character string, length 20 Domain HargaSatuan monetary value Domain Total monetary value Domain UangMuka monetary value Domain Sisa monetary value Surat Pesanan ( No_SP NoSuratPesanan NOT NULL, Tgl_SP TanggalSuratPesanan NOT NULL, Nama_customer NamaCustomer NOT NULL, Alamat Alamat NOT NULL, Telp Telepon NOT NULL, Id_produk IdProduk NOT NULL, Warna Warna NOT NULL,

64 151 Quan Quantity NOT NULL, Perlengkapan_Tambahan PerlengkapanTambahan Harga_satuan Harga_satuan NOT NULL, Total Total NOT NULL, Uang_muka UangMuka NOT NULL, Sisa Sisa Primary Key (No_SP), Foreign Key (Id_produk) references Produk (Id_produk) on update cascade on delete no action); DBDL Bill of Lading Domain NoBillOfLading integer Domain TanggalBillOfLading date Domain KeteranganProduk variable length character string, length 50 Bill of Lading ( No_BL NoBillOfLading NOT NULL, Tgl_BL TanggalBillOfLading NOT NULL, Keterangan Produk KeteranganProduk NOT NULL, Primary Key (No_BL));

65 152 DBDL Sales Contract Domain NoSalesContract integer Domain TanggalSalesContract date Domain IdProduk variable length character string, length 7 Domain Quantity integer Domain HargaSatuan monetary value Domain Jumlah monetary value Domain Total monetary value Sales Contract ( No_SC NoSalesContract NOT NULL, Tgl_SC TanggalSalesContract NOT NULL, Id_produk IdProduk NOT NULL, Quan Quantity NOT NULL, Harga_satuan HargaSatuan NOT NULL, Jumlah Jumlah NOT NULL, Total Total NOT NULL, Primary Key (No_SC), Foreign Key (Id_produk) references Produk(Id_produk) on update cascade on delete no action); DBDL Delivery Order Pembelian Domain NoPengiriman integer

66 153 Domain Tanggal date Domain NoSalesContract integer Domain IdProduk variable length character string, length 7 Domain NamaProduk variable length character string, length 20 Domain Quantity integer Domain HargaSatuan monetary value Domain Jumlah monetary value Domain Total monetary value Delivery Order Pembelian ( No_pengiriman NoPengiriman NOT NULL, Tgl Tanggal NOT NULL, No_SC NoSalesContract NOT NULL, Id_produk IdProduk NOT NULL, Nama_produk NamaProduk NOT NULL, Quan Quantity NOT NULL, Harga_satuan HargaSatuan NOT NULL, Jumlah Jumlah NOT NULL, Total Total NOT NULL, Primary Key (No_pengiriman), Foreign Key (No_SC) references Sales Contract (No_SC) on update cascade on delete no action, Foreign Key (Id_produk) references Produk (Id_produk) on update cascade on delete no action);

67 154 DBDL Delivery Order Penjualan Domain NoPengiriman integer Domain Tanggal date Domain NoSuratPesanan integer Domain IdProduk variable length character string, length 7 Domain NamaProduk variable length character string, length 20 Domain Quantity integer Domain HargaSatuan monetary value Domain Jumlah monetary value Domain Total monetary value Delivery Order Penjualan ( No_pengiriman NoPengiriman NOT NULL, Tgl Tanggal NOT NULL, No_SP NoSuratPesanan NOT NULL, Id_produk IdProduk NOT NULL, Nama_produk NamaProduk NOT NULL, Quan Quantity NOT NULL, Harga_satuan HargaSatuan NOT NULL, Jumlah Jumlah NOT NULL, Total Total NOT NULL, Primary Key (No_pengiriman), Foreign Key (No_SP) references Surat Pesanan (No_SP) on update cascade on delete no action,

68 155 Foreign Key (Id_produk) references Produk (Id_produk) on update cascade on delete no action); DBDL SC Payment Domain NoSalesContractPayment integer Domain Tanggal date Domain NoPengiriman integer Domain NIP variable length character string, length 5 Domain Jumlah monetary value SC Payment ( No_SCPayment NoSalesContractPayment NOT NULL, Tgl Tanggal NOT NULL, No_pengiriman NoPengiriman NOT NULL, NIP NIP NOT NULL, Jumlah Jumlah NOT NULL, Primary Key (No_SCPayment), Foreign Key (No_pengiriman) references Delivery Order Pembelian (No_pengiriman) on update cascade on delete no action, Foreign Key (NIP) references Staf (NIP) on update cascade on delete no action); DBDL SP Payment Domain NoSuratPesananPayment integer Domain Tanggal date

69 156 Domain IdCustomer variable length character string, length 5 Domain NamaCustomer variable length character string, length 15 Domain Jumlah monetary value SP Payment ( No_SPPayment NoSuratPesananPayment NOT NULL, Tgl Tanggal NOT NULL, Id_customer IdCustomer NOT NULL, Nama_customer NamaCustomer NOT NULL, Jumlah Jumlah NOT NULL, Primary Key (No_SPPayment), Foreign Key (Id_customer) references Customer (Id_customer) on update cascade on delete no action); DBDL Delivery Order Pembelian Detil Domain NoPengiriman integer Domain IdProduk variable length character string, length 7 Domain Satuan integer Domain Quantity integer Domain HargaSatuan monetary value Domain Jumlah monetary value Delivery Order Pembelian detil ( No_pengiriman NoPengiriman NOT NULL, Id_produk IdProduk NOT NULL

70 157 Satuan Satuan NOT NULL, Quan Quantity NOT NULL, Harga_satuan HargaSatuan NOT NULL, Jumlah Jumlah NOT NULL, Primary Key (No_pengiriman), Primary Key (Id_produk), Foreign Key (No_pengiriman) references Delivery Order Pembelian (No_pengiriman) on update cascade on delete no action, Foreign Key (Id_produk) references Produk (Id_produk) on update cascade on delete no action); DBDL Delivery Order Penjualan Detil Domain NoPengiriman integer Domain IdProduk variable length character string, length 7 Domain Satuan integer Domain Quantity integer Domain HargaSatuan monetary value Domain Jumlah monetary value Delivery Order Penjualan Detil ( No_pengiriman NoPengiriman NOT NULL, Id_produk IdProduk NOT NULL, Satuan Satuan NOT NULL, Quan Quantity NOT NULL,

71 158 Harga_satuan HargaSatuan NOT NULL, Jumlah Jumlah NOT NULL, Primary Key (No_pengiriman), Primary Key (Id_produk), Foreign Key (No_pengiriman) references Delivery Order Penjualan (No_pengiriman) on update cascade on delete no action, Foreign Key (Id_produk) references Produk (Id_produk) on update cascade on delete no action); DBDL Telepon_staf Domain Telepon integer Domain NIP variable length character string, length 5 Telepon_staf ( Telepon Telepon NOT NULL, NIP NIP NOT NULL, Primary Key (Telepon), Foreign Key (NIP) references Staf (NIP) on update cascade on delete no action);

72 159 DBDL Handphone_staf Domain Handphone integer Domain NIP variable length character string, length 5 Handphone_staf ( Handphone Handphone NIP NIP NOT NULL, Primary Key (Handphone), Foreign Key (NIP) references Staf (NIP) on update cascade on delete no action); DBDL Telp_supplier Domain Telepon integer Domain Id_supplier variable length character string, length 5 Telp_supplier ( Telp Telepon NOT NULL, Id_supplier Id_supplier NOT NULL, Primary Key (Telp), Foreign Key (Id_supplier) references Supplier (Id_supplier) on update cascade on delete no action); DBDL Fax_supplier Domain Fax integer

73 160 Domain Id_supplier variable length character string, length 5 Fax_supplier ( Fax Fax NOT NULL, Id_supplier Id_supplier NOT NULL, Primary Key (Fax), Foreign Key (Id_supplier) references Supplier (Id_supplier) on update cascade on delete no action); DBDL Fax_ customer Domain Fax integer Domain Id_customer variable length character string, length 5 Fax_customer ( Fax Fax NOT NULL, Id_customer Id_customer NOT NULL, Primary Key (Fax), Foreign Key (Id_customer) references Customer (Id_customer) on update cascade on delete no action); DBDL Telp_customer Domain Telepon integer Domain Id_customer variable length character string, length 5 Telp_customer ( Telp Telepon NOT NULL,

74 161 Id_customer Id_customer NOT NULL, Primary Key (Telp), Foreign Key (Id_customer) references Customer (Id_customer) on update cascade on delete no action); DBDL Handphone_customer Domain Handphone integer Domain Id_customer variable length character string, length 5 Handphone_customer( Handphone Handphone Id_customer Id_customer NOT NULL, Primary Key (Handphone), Foreign Key (Id_customer) references Customer (Id_customer) on update cascade on delete no action); Menganalisis Transaksi Langkah ini bertujuan untuk memahami fungsionalitas dari transaksitransaksi yang akan berjalan pada basis data dan untuk menganalisis transaksitransaksi yang penting. Transaksi transaksi yang terjadi adalah sebagai berikut: (a) Menampilkan order pembelian yang ada (b) Mengidentifikasi Sales Contract (c) Mengidentifikasi pembayaran (d) Mengidentifikasi pembayaran pembelian

75 162 (e) Mengidentifikasi produk yang di order (f) Mengidentifikasi commercial invoice (g) Mengidentifikasi Packing List (h) Mengidentifikasi Bill of Lading (i) Menambah produk (j) Menampilkan staf (k) Menampilkan pesanan/order penjualan yang ada (l) Menampilkan Surat Pesanan (m) Menampikan produk yang akan dikirim ke pelanggan (n) Input pembayaran (o) Mengidentifikasi pembayaran penjualan (p) Menampilkan pelanggan (q) Mengurangi produk (r) Menampilkan stok produk

76 Tabel 4.6 Analisis Transaksi bagian I Transaksi/ (A) (B) (C) (D) (E) (F) (G) Relasi I R U D I R U D I R U D I R U D I R U D I R U D I R U D Staf X X X X Supplier X Produk X X X X X X Customer Packing List X Commercial Invoice X X Surat Pesanan Bill of Lading Sales Contract X X X Delivery Order Pembelian X X Delivery Order Penjualan SC Payment X X SP Payment Delivery Order Pembelian detil Delivery Order Penjualan detil Telepon_staf X Handphone_staf Telp_supplier Fax_supplier Telp_customer Handphone_customer Fax_customer I = Insert; R = Read; U = Update; D = Delete 163

77 Tabel 4.7 Analisis Transaksi bagian II Transaksi/ Relasi (H) (I) (J) (K) (L) (M) (N) I R U D I R U D I R U D I R U D I R U D I R U D I R U D Staf X X X X Supplier Produk X X X X X X Customer X X Packing List Commercial Invoice Surat Pesanan X Bill of Lading X Sales Contract Delivery Order Pembelian Delivery Order Penjualan X X SC Payment X X X SP Payment X X X Delivery Order Pembelian detil Delivery Order Penjualan detil Telepon_staf X X X X Handphone_staf X X X X Telp_supplier Fax_supplier Telp_customer Handphone_customer Fax_customer I = Insert; R = Read; U = Update; D = Delete 164

78 Tabel 4.7 Analisis Transaksi bagian III Transaksi/ Relasi I = Insert; R = Read; U = Update; D = Delete (O) (P) (Q) (R) I R U D I R U D I R U D I R U D Staf Supplier Produk X X X X Customer X X X X X Packing List Commercial Invoice Surat Pesanan Bill of Lading Sales Contract Delivery Order Pembelian Delivery Order Penjualan SC Payment SP Payment X Delivery Order Pembelian detil Delivery Order Penjualan detil Telepon_staf Handphone_staf Telp_supplier Fax_supplier Telp_customer X X X X Handphone_customer X X X X Fax_customer X X X X 165

79 Memilih index Tujuan dari langkah ini adalah untuk menentukan apakah penambahan index akan meningkatkan performa sistem. Index yang digunakan adalah sebagai berikut: a). Staf CREATE UNIQUE INDEX NIPInd ON Staf (NIP) CREATE INDEX NmStafInd ON Staf (Nama_staf) b) Telepon_staf CREATE UNIQUE INDEX TelpInd ON Telepon_staf (Telepon) c). Handphone_staf CREATE UNIQUE INDEX HpInd ON Handphone_staf (Handphone) d). Supplier CREATE UNIQUE INDEX IdSupInd ON Supplier (Id_supplier) CREATE INDEX NmSupInd ON Supplier (Nama_supplier) e). Telp_supplier CREATE UNIQUE INDEX TelpInd ON Telp_supplier (Telp) f). Fax_supplier CREATE UNIQUE INDEX FaxInd ON Fax_suppier (Fax) g). Customer CREATE UNIQUE INDEX IdCustInd ON Customer (Id_customer) CREATE INDEX NmCustInd ON Customer (Nama_customer) h). Telp_customer CREATE UNIQUE INDEX TelpInd ON Telp_customer (Telp) i). Handphone_customer

80 167 CREATE UNIQUE INDEX HpInd ON Handphone_customer (Handphone) j). Fax_customer CREATE UNIQUE INDEX FaxInd ON Fax_customer (Fax) k). Produk CREATE UNIQUE INDEX IdProdInd ON Produk (Id_produk) CREATE INDEX NmProdInd ON Produk (Nama_produk) l). Packing List CREATE UNIQUE INDEX NoPLInd ON Packing List (No_PL) Memperkirakan Kebutuhan Kapasitas Penyimpanan Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang dibutuhkan oleh basisdata. Perkiraan kapasitas setiap tabel adalah sebagai berikut : Tabel 4.9 Staff Field Tipe Ukuran NIP Varchar 5 Nama_staff Varchar 30 Posisi Varchar 15 Alamat Varchar 50 Sex Varchar 1 Komisi Integer 4 Bonus Integer 4 Gaji_pokok Integer 4

81 168 Tgl_mulai_kerja Date 8 Kapasitas dari tabel staff adalah 121 byte Total staff yang sudah ada di perusahaan adalah 30 Total kapasitas penyimpanan tablel ini adalah 121*30 = 3630 byte Tabel 4.10 Supplier Field Tipe Ukuran Id_Supplier Varchar 5 Nama_Supplier Varchar 30 Alamat Varchar 50 Varchar 20 Kapasitas dari table supplier adalah 105 byte. Total supplier yang sudah ada sekarang adalah 3 Total kapasitas penyimpanan table ini adalah 105*3 = 315 byte Tabel 4.11 Produk Field Tipe Ukuran Id_Produk Varchar 7 Nama_Produk Varchar 20 Warna Varchar 10 Harga_satuan Integer 4 Stok Integer 4 Kapasitas dari table produk adalah 45 byte

82 169 Total produk yang ada sekarang adalah 15 Total kapasitas penyimpanan tabel ini adalah 675 byte Tabel 4.12 Customer Field Tipe Ukuran Id_Customer Varchar 5 Nama_Customer Varchar 15 Alamat Varchar 30 Kapasitas dari tabel customer adalah 50 byte Diperkirakan dalam satu hari ada 5 customer baru Dalam satu tahun pertumbuhan tabel ini adalah 50*5*26*12 = byte Tabel 4.13 Packing_List Field Tipe Ukuran No_PL Integer 4 Tgl_PL Date 8 No_SC Integer 4 No_CI Integer 4 Keterangan Produk Varchar 50 Kapasitas dari tabel packing_list adalah 70 byte Diperkirakan dalam satu tahun ada 4 packing list pembelian barang Dalam satu tahun pertumbuhan tabel ini adlaah 70*4 = 280byte

83 170 Tabel 4.14 Commercial Invoice Field Tipe Ukuran No_CI Integer 4 Tgl_CI Date 8 Id_Produk Varchar 8 Rincian_produk Varchar 30 Quantity Integer 4 Harga_satuan Integer 4 Jumlah Integer 4 Total Integer 4 Total kapasitas tabel commercial invoice adalah 66 byte Diperkirakan dalam satu hari terjadi 5 transaksi Dalam satu tahun perkembangan tabel ini adalah 66*5*26*12 = byte atau Kbyte Tabel 4.15 Surat Pesanan Field Tipe Ukuran No_SP Integer 4 Tgl_SP Date 8 Nama_customer Varchar 15 Alamat Varchar 30 Telepon Integer 4

84 171 Id_produk Varchar 7 Warna Varchar 10 Quantity Integer 4 Perlengkapan_tambahan Varchar 20 Harga_satuan Integer 4 Total Integer 4 Uang_muka Integer 4 Sisa Integer 4 Total kapasitas tabel curat pesanan adalah 118 byte Diperkirakan dalam satu hari terjadi 5 transaksi Dalam satu tahun perkembangan tabel ini adalah 118*5*26*12 = byte atau Kbyte Tabel 4.16 Bill of Lading Field Tipe Ukuran No_BL Integer 4 Tgl_BL Date 8 Keterangan Produk Varchar 50 Total kapasitas tabel bill of lading adalah 62 byte Diperkirakan dalam satu tahun ada 4 bill of lading pembelian barang Dalam satu tahun pertumbuhan tabel ini adalah 62*4 = 248 byte

85 172 Tabel 4.17 Sales Contract Field Tipe Ukuran No_SC Integer 4 Tgl_SC Date 8 Id_Produk Varchar 7 Quantity Integer 4 Harga_satuan Integer 4 Jumlah Integer 4 Total Integer 4 Total kapasitas tabel sales contract adalah 35 byte Diperkirakan dalam satu hari terjadi 5 transaksi Dalam satu tahun pertumbuhan tabel ini adalah byte atau 54.6 Kbyte Tabel 4.18 Delivery Order Pembelian Field Tipe Ukuran No_Pengiriman Integer 4 Tanggal Date 8 No_SC Integer 4 Id_Produk Varchar 7 Nama_produk Varchar 20 Quantity Integer 4 Harga_satuan Integer 4 Jumlah Integer 4

86 173 Total Integer 4 Total kapasitas tabel delivery order pembelian adalah 59 byte Diperkirakan dalam satu tahun ada 4 kali pembelian barang Dalam satu tahun pertumbuhan tabel ini adalah 59*4 = 236 byte Tabel 4.19 Delivery Order Penjualan Field Tipe Ukuran No_Pengiriman Integer 4 Tanggal Date 8 No_SP Integer 4 Id_Produk Varchar 7 Nama_produk Varchar 20 Quantity Integer 4 Harga_satuan Integer 4 Jumlah Integer 4 Total Integer 4 Total kapasitas tabel delivery order penjualan adalah 59 byte Diperkirakan dalam satu hari ada 5 kali transaksi Dalam satu tahun pertumbuhan tabel ini adalah 59*5*26*12 = byte atau Kbyte

87 174 Tabel 4.20 SC Payment Field Tipe Ukuran No_SCPayment Integer 4 Tanggal Date 8 No_Pengiriman Integer 4 NIP Varchar 5 Jumlah Integer 4 Total kapasitas tabel SC Payment adalah 25 byte Diperkirakan dalam satu hari ada 5 kali transaksi Dalam satu tahun pertumbuhan tabel ini adalah 25*5*26*12 = byte atau 39 Kbyte Tabel 4.21 SP Payment Field Tipe Ukuran No_SPPayement Integer 4 Tanggal Date 8 Id_Customer Varchar 5 Nama_Customer Varchar 15 Jumlah Integer 4 Total kapasitas tabel SP Payment adalah 36 byte Diperkirakan dalam satu tahun ada 4 kali transaksi pembelian Dalam satu tahun pertumbuhan tabel ini adalah 36*4 = 144 byte

88 175 Tabel 4.22 Telepon_Staff Field Tipe Ukuran Telepon Integer 4 NIP varchar 5 Total kapasitas tabel telepon_staff adalah 9 byte Jumlah karyawan yang sudah ada di perusahaan adalah 30 orang Total kapasitas tabel ini adalah 30*9 = 270 byte Tabel 4.23 Handphone Staff Field Tipe Ukuran Handphone Integer 4 NIP Varchar 5 Total kapasitas tabel telepon_staff adalah 9 byte Jumlah karyawan yang sudah ada di perusahaan adalah 30 orang Total kapasitas tabel ini adalah 30*9 = 270 byte

89 176 Tabel 4.24 Telp_supplier Field Tipe Ukuran Telepon Integer 4 Id_Supplier Varchar 5 Total kapasitas tabel telepon_staff adalah 9 byte Jumlah karyawan yang sudah ada di perusahaan adalah 5 orang Total kapasitas tabel ini adalah 5*9 = 45 byte Tabel 4.25 Fax_supplier Field Tipe Ukuran Fax Integer 4 Id_Supplier Varchar 5 Total kapasitas tabel telepon_staff adalah 9 byte Jumlah karyawan yang sudah ada di perusahaan adalah 5 orang Total kapasitas tabel ini adalah 5*9 = 45 byte

90 177 Tabel 4.26 Telp_Customer Field Tipe Ukuran Telepon Integer 4 Id_Customer Varchar 5 Total kapasitas tabel telepon_staff adalah 9 byte Diperkirakan dalam satu hari ada 5 customer baru Dalam satu tahun pertumbuhan tabel ini adalah 9*5*26*12 = byte atau Kbyte Tabel 4.27 Handphone_customer Field Tipe Ukuran Handphone Integer 4 Id_Customer Varchar 5 Total kapasitas tabel telepon_staff adalah 9 byte Diperkirakan dalam satu hari ada 5 customer baru Dalam satu tahun pertumbuhan tabel ini adalah 9*5*26*12 = byte atau Kbyte

91 178 Tabel 4.28 Fax_customer Field Tipe Ukuran Fax Integer 4 Id_Customer Varchar 5 Total kapasitas tabel telepon_staff adalah 9 byte Diperkirakan dalam satu hari ada 5 customer baru Dalam satu tahun pertumbuhan tabel ini adalah 9*5*26*12 = byte atau Kbyte Tabel 4.29 Delivery order penjualan detil Field Tipe Ukuran No_Pengiriman Integer 4 Id_Produk Varchar 5 Satuan Integer 4 Harga_Satuan Integer 4 Quantity Integer 4 Jumlah Integer 4 Total kapasitas tabel delivery order penjualan detil adalah 25 byte Diperkirakan dalam satu hari ada 5 transaksi Dalam satu tahun perkembangan tabel ini adalah 25*5*26*12 = byte atau 39 Kbyte

92 179 Tabel 4.30 Delivery Order Pembelian detil Field Tipe Ukuran No_Pengiriman Integer 4 Id_Produk Varchar 5 Satuan Integer 4 Harga_Satuan Integer 4 Quantity Integer 4 Jumlah Integer 4 Total kapasitas tabel delivery order penjualan detil adalah 25 byte Diperkirakan dalam satu tahun ada 4 kali transaksi pembelian Dalam satu tahun perkembangan tabel ini adalah 25*4 = 125 byte

93 180 Tabel 4.31 Estimasi disk space Nama Tabel Kapasitas yang dibutuhkan dalam 1 tahun Staff Supplier Produk Customer Packing List Commercial Invoice Surat Pesanan Bill of Lading Sales Contract Delivery order Pembelian Delivery order Penjualan SC Payment SP Payment Telepon_staff Handphone_staff Telp_supplier Fax_supplier Telp_Customer Handphone_Customer 3630 byte 315 byte 675 byte byte 280 byte byte byte 248 byte byte 236 byte byte byte 144 byte 270 byte 270 byte 45 byte 45 byte byte byte

94 181 Fax_Customer Delivery order penjualan detil Delivery order pembelian detil byte byte 125 byte Total space yang dibutuhkan dalam 1 tahun ditambah backup data adalah *2 byte = byte atau 1.27 MByte Total space yang dibutuhkan dalam 5 tahun adalah *5 = byte atau 6.38 Mbyte Merancang Mekanisme Keamanan Tujuan dari langkah ini adalah untuk merancang mekanisme keamanan dari basis data yang dispesifikasikan oleh user. Adapun mekanisme keamanan yang dirancang untuk basis data adalah sebagai berikut : User dengan authorisasi Admin: GRANT ALL PRIVILEGES ON staff TO Admin; GRANT ALL PRIVILEGES ON Supplier TO Admin; GRANT ALL PRIVILEGES ON Produk TO Admin; GRANT ALL PRIVILEGES ON Customer TO Admin; GRANT ALL PRIVILEGES ON Packing List TO Admin; GRANT ALL PRIVILEGES ON Commercial Invoice TO Admin; GRANT ALL PRIVILEGES ON Surat Pesanan TO Admin; GRANT ALL PRIVILEGES ON Bill of Lading TO Admin;

95 182 GRANT ALL PRIVILEGES ON Sales Contract TO Admin GRANT ALL PRIVILEGES ON Delivery Order Pembelian TO Admin; GRANT ALL PRIVILEGES ON Delivery Order Penjualan TO Admin; GRANT ALL PRIVILEGES ON SC Payment TO Admin; GRANT ALL PRIVILEGES ON SP Payment TO Admin; GRANT ALL PRIVILEGES ON Telepon_staff TO Admin; GRANT ALL PRIVILEGES ON Handphone_Staff TO Admin; GRANT ALL PRIVILEGES ON telp_supplier TO Admin; GRANT ALL PRIVILEGES ON fax_supplier TO Admin; GRANT ALL PRIVILEGES ON telp_customer TO Admin; GRANT ALL PRIVILEGES ON handphone_customer TO Admin; GRANT ALL PRIVILEGES ON fax_customer TO Admin; GRANT ALL PRIVILEGES ON Delivery_order_penjualan_detil TO Admin; GRANT ALL PRIVILEGES ON delivery_order_pembelian_detil TO Admin; User dengan authorisasi Preskom, Komisaris, Direktur : GRANT SELECT PRIVILEGES ON staff TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Supplier TO Preskom, Komisaris, Direktur;

96 183 GRANT SELECT PRIVILEGES ON Produk TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Customer TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Packing List TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Commercial Invoice TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Surat Pesanan TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Bill of Lading TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Sales Contract TO Admin GRANT SELECT PRIVILEGES ON Delivery Order Pembelian TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Delivery Order Penjualan TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON SC Payment TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON SP Payment TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Telepon_staff TO Preskom, Komisaris, Direktur;

97 184 GRANT SELECT PRIVILEGES ON Handphone_Staff TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON telp_supplier TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON fax_supplier TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON telp_customer TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON handphone_customer TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON fax_customer TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON Delivery_order_penjualan_detil TO Preskom, Komisaris, Direktur; GRANT SELECT PRIVILEGES ON delivery_order_pembelian_detil TO Preskom, Komisaris, Direktur; User dengan authorisasi logistik: GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Supplier TO Logistik; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Produk TO Logistik; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Packing List TO Logistik;

98 185 GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Bill of Lading TO Logistik; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Delivery Order Pembelian TO Logistik; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON SP Payment TO Logistik; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON delivery_order_pembelian_detil TO Logistik; User dengan authorisasi Administrasi: GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Produk TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Customer TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Commercial Invoice TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Surat Pesanan TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Sales Contract TO Admin GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Delivery Order Penjualan TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON SC Payment TO Administrasi;

99 186 GRANT SELECT, INSERT, UPDATE PRIVILEGES ON SP Payment TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Telepon_staff TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Handphone_Staff TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON telp_customer TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON handphone_customer TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON fax_customer TO Administrasi; GRANT SELECT, INSERT, UPDATE PRIVILEGES ON Delivery_order_penjualan_detil TO Administrasi;

100 187 Berikut ini adalah matrix tabel keamanan dari sistem yang ada : User Tabel Admin Menejerial Logistik Administrasi S I U D S I U D S I U D S I U D Staff X X X X X X X Supplier X X X X X X X X Produk X X X X X X X X - X X X - Customer X X X X X X X X - Packing List X X X X X X X X Commercial Invoice X X X X X X X X - Surat Pesanan X X X X X X X X - Bill of Lading X X X X X X X X Sales Contract X X X X X X X X - DO Pembelian X X X X X X X X DO Penjualan X X X X X X X X - SC Payment X X X X X X X X - SP Payment X X X X X X X X Telepon_staff X X X X X X X Handphone_staff X X X X X X X Telepon_supplier X X X X X X X X - X Fax_supplier X X X X X X X X - X Telepon_customer X X X X X X X X - Handphone_customer X X X X X X X X - Fax_customer X X X X X X X X - DO Penjualan Detil X X X X X X X X - DO Pembelian Detil X X X X X X X X Matrix Tabel Keamanan Database PT.Ippachi Karya Sukses Pemilihan DBMS Pemilihan DBMS adalah tahapan pemilihan sebuah DBMS yang sesuai untuk mendukung aplikasi basis data. Dalam tahapan ini kita harus membandingkan beberapa produk DBMS berdasarkan pada kriteria tertentu. Adapun produk DBMS yang dibandingkan adalah Microsoft SQL Server 2000,

101 188 Oracle 9i Database dan MySQL v4.1. Kriteria-kriteria yang digunakan untuk membandingkan ketiga produk DBMS tersebut adalah sebagai berikut : 1. Platform Tabel 4.32 Perbandingan Dukungan Plaftorm dari masing-masing DBMS SQL Server 2000 Oracle 9.i Database MySQL v4.1 Hanya berjalan Mendukung semua jenis Mendukung semua pada Windows- platform, mencakup jenis platform, platform, Windows-based platforms, mencakup based Windows- mencakup AIX-Based Systems, based platforms, AIX- Windows 9x, Compaq Tru64 UNIX, HP based systems, HP-UX Windows NT, 9000 Series HP-UX, Linux systems, Linux Intel, Windows 2000 and Windows CE Intel, Sun Solaris dan seterusnya. Sun Solaris dan seterusnya. 2. Kebutuhan Hardware Untuk meng-install SQL Server 2000, setidaknya dibutuhkan platform intel atau yang kompatibel dan hardware berikut : Tabel 4.33 Kebutuhan Hardware dari SQL Server 2000 Hardware Processor Memory Requirements Pentium 166 MHz or higher 32 MB RAM (minimum for Desktop Engine),

102 MB RAM (minimum for all other editions), 128 MB RAM or more recommended Hard disk space 270 MB (full installation), 250 MB (typical), 95 MB (minimum), Desktop Engine: 44 MB Analysis Services: 50 MB minimum and 130 MB typical English Query: 80 MB Untuk meng-install Oracle 9i Database dengan platform Intel atau yang kompatibel, dibutukan hardware berikut : Tabel 4.34 Hardware Processor Memory Kebutuhan Hardware dari Oracle 9i Database Requirements Pentium 166 MHz or higher RAM: 128 MB (256 MB recommended) Virtual Memory: Initial Size 200 MB, Maximum Size 400 MB Hard disk space 140 MB on the System Drive plus 4.5 GB for the Oracle Home Drive (FAT) or 2.8 GB for the Oracle Home Drive (NTFS)

103 190 MySQL v4.1 tidak se-powerful SQL Server 2000 dan memerlukan spesifikasi hardware yang lebih sedikit. Untuk meng-install MySQL v4.1, dibutuhkan setidaknya 32 Mb RAM dan 60 Mb hard disk space. 3. Kebutuhan Software SQL Server 2000 hadir dalam enam edisi : Enterprise, Standard, Personal, Developer, Desktop Engine, dan SQL Server CE (versi yang kompatibel untuk Windows CE), serta membutuhkan software berikut ini : Tabel 4.35 Kebutuhan Software dari SQL Server 2000 ( Operating Enterprise Standard Personal Developer Desktop SQL Server System Edition Edition Edition Edition Engine CE Windows CE No No No No No Yes Windows 9x No No Yes No Yes No Windows NT 4.0 Workstation with Service No No Yes Yes Yes No Pack 5 Windows NT 4.0 Server with Yes Yes Yes Yes Yes No Service Pack 5 Windows NT Yes Yes Yes Yes Yes No

104 Server Enterprise Edition with Service Pack 5 Windows 2000 Professional Windows 2000 Server No No Yes Yes Yes No Yes Yes Yes Yes Yes No Windows 2000 Advanced Yes Yes Yes Yes Yes No Server Windows 2000 Data Center Windows XP Professional Yes Yes Yes Yes Yes No No No Yes Yes Yes No Oracle 9i Database hadir dalam tiga edisi : Enterprise, Standard dan Personal, serta membutuhkan software berikut : Tabel 4.36 Kebutuhan Software Oracle 9i Database ( Platform Operating System Version Required Patches Windows-based Windows NT 4.0 Service Pack 5 Windows-based Windows 2000 Service Pack 1

105 192 Windows-based Windows XP Not Necessary AIX-Based AIX Maintenance Level 09 and IY24568, IY25282, IY27614, IY30151 AIX-Based AIX 5.1 AIX 5L release 5.1 ML01+ (IY22854), IY26778, IY28766, IY28949, IY29965, IY30150 Compaq Tru64 Tru patchkit 4 UNIX Compaq Tru64 Tru64 5.1A 5.1A patchkit 1 UNIX HP-UX HP-UX version 11.0 (64-bit) Sept Quality Pack, PHCO_23792, PHCO_24148, PHKL_24268, PHKL_24729, PHKL_ 25475, PHKL_25525, PHNE_24715, PHSS_23670,

106 193 PHSS_24301, PHSS_24303, PHSS_24627, PHSS_22868 Linux SuSE Linux Enterprise Server 7 Not Necessary (or SLES-7) with kernel 2.4.7, and glibc Sun Solaris Solaris 32-Bit 2.6 (5.6), 7 (5.7) Not Necessary or 8 (5.8) Sun Solaris Solaris 64-Bit 8 (5.8) Update 5 MySQL v4.1 hadir dalam dua edisi : Standard dan Max, serta membutuhkan software berikut : Tabel 4.37 Kebutuhan Software dari MySQL v4.1 ( Platform Windowsbased Sun Solaris FreeBSD Operating System Version Windows 95/98/NT/2000/XP/2003 Solaris 8 (SPARC) FreeBSD 4.x (x86) Mac OS X Mac OS X v10.2 HP-UX HP-UX (RISC 1.0), HP-UX (PA-RISC 1.1 and 2.0),

107 194 HP-UX (PA-RISC 2.0, 64-bit only) AIX 5.1 (RS6000), AIX-Based AIX (RS6000), 4. QNX AIX (RS6000) QNX (x86) SGI Irix SGI Irix 6.5 Dec OSF Dec OSF 5.1 (Alpha) Performance Di antara ketiga produk DBMS tersebut, yang memiliki performance paling baik adalah SQL Server Hal ini dibuktikan dari hasil analisis yang dilakukan oleh Transaction Processing Performance Council (TPC.Org), sebuah organisasi yang menspesifikasikan transaksi dan beberapa aturan yang harus dipenuhi oleh transaksi. TPC menghasilkan benchmark yang mengukur proses transaksi dan performance basis data dalam hal berapa banyak transaksi yang dapat dilakukan oleh sistem dan basis data tertentu per unit waktu. Hasil analisis yang dilakukan oleh TPC menyebutkan bahwa SQL Server 2000 menduduki peringkat teratas untuk masalah performance dibandingkan kedua DBMS tersebut. 5. Harga Perbandingan harga antara SQL Server 2000 dengan Oracle 9i Database adalah : Tabel 4.38 Perbandingan harga antara SQL Server 2000 Standard Edition dan Oracle 9i Standard Edition ( Number of Oracle 9i SQL Server

108 195 CPUs Standard Edition Standard Edition 1 $15,000 $4,999 2 $30,000 $9,998 4 $60,000 $19,996 8 $120,000 $39, $240,000 $79, $480,000 $159,968 SQL Server tersedia dengan dua pilihan license yaitu processor license yang biasanya untuk pemakaian SQL Server melalui internet dan server/per-seat client access license (CAL) yang biasanya digunakan ketika customer tidak memerlukan akses melalui firewall dan jumlah clientnya sedikit. Adapun harga dari SQL Server 2000 untuk masing-masing license yaitu : Tabel 4.39 Harga SQL Server 2000 untuk masing-masing license ( Licensing Options SQL Server 2000 Standard Edition SQL Server 2000 Enterprise Edition Processor $4,999 per processor $19,999 per processor Server/Per-Seat CAL with 5 CALs - $1,489 with 10 CALs - $2,249 with 25 CALs - $11,099

109 196 MySQL v4.1 adalah dual licensed, maksudnya user dapat memilih untuk menggunakan software MySQL sebagai produk software gratis/open source atau dapat membeli sebuah license komersil standard dari MySQL AB. MySQL v4.1 Server adalah per database server. Adapun harganya adalah sebagai berikut : Tabel 4.40 Harga MySQL v4.1 berdasarkan jumlah license per database server ( Number of licenses Price per copy (EUR) Price per copy (USD) Feature Dialek dari SQL yang didukung oleh Microsoft SQL Server disebut Transact- SQL (T-SQL). Sedangkan dialek dari SQL yang didukung oleh Oracle 9i Database disebut PL/SQL. Sementara dialek dari SQL yang didukung oleh MySQL v4.1 disebut MySQL dialect. Adapun perbandingan antara ketiga dialek tersebut adalah sebagai berikut :

110 197 Tabel 4.41 Perbandingan T-SQL dengan PL/SQL ( Feature PL/SQL T-SQL Indexes B-Tree indexes, Bitmap indexes, Partitioned indexes, Function-based B-Tree indexes Tables Triggers Procedures indexes, Domain indexes Relational tables, Object tables, Temporary tables BEFORE triggers, AFTER triggers, INSTEAD OF triggers PL/SQL statements, Java methods, third-generation language (3GL) routines Relational tables, Temporary tables AFTER triggers, INSTEAD OF triggers T-SQL statements Arrays Supported Not Supported

111 198 Tabel 4.42 Perbandingan T-SQL dan MySQL dialect ( Feature T-SQL MySQL dialect Views Triggers General Views, Indexed Views, Distributed Partitioned Views AFTER triggers, INSTEAD OF triggers Not Supported Not Supported Stored Procedures T-SQL statements Not Supported User-defined functions Scalar functions, Inline table-valued functions, Multistatement table-valued functions C, C++ external libraries Foreign Keys Supported Supported for only InnoDB tables Cursors Supported Not Supported Arrays Not Supported Supported Berikut ini perbandingan batasan feature antara SQL Server 2000 dengan Oracle 9i Database.

112 199 Tabel 4.43 Perbandingan batasan feature antara SQL Server 2000 dengan Oracle 9i Database ( Feature SQL Server 2000 Oracle 9i Database database name length column name length index name length table name length view name length stored procedure name length index length max columns per index max char() size max varchar() size max columns per table max table row length max query size recursive subqueries constant string size in SELECT constant string size in WHERE

113 200 Adapun perbandingan batasan feature antara SQL Server 2000 dengan MySQL v4.1 adalah sebagai berikut. Tabel 4.44 Perbandingan batasan feature antara SQL Server 2000 dengan MySQL v4.1 ( Feature SQL Server 2000 MySQL v4.1 column name length index name length table name length max indexes per table index length max index column length columns per index max char() size max varchar() size max blob size max number of columns in GROUP BY max number of columns in ORDER BY Limited only by number of bytes (8060) Limited only by number of bytes (8060) tables per SELECT statement max columns per table max table row length

114 201 longest SQL statement constant string size in SELECT Berdasarkan perbandingan antara ketiga produk DBMS tersebut berdasarkan pada kriteria-kriteria di atas, maka kami memutuskan menggunakan Microsoft SQL Server 2000 berdasarkan pada pertimbangan berikut : a. Dalam hal performance, SQL Server 2000 mengungguli kedua DBMS yang lain. Hal ini tentu saja akan mempercepat jalannya transaksi dan sistem menjadi lebih efisien. b. SQL Server 2000 diakui dalam hal kemudahan melakukan instalasi, penggunaan dan pengaturannya. Selain itu dalam hal maintenance, lebih mudah dilakukan dibandingkan kedua DBMS yang lain. c. Dalam hal harga, SQL Server 2000 berada di antara kedua DBMS yang lain, dalam artian ia lebih murah bila dibandingkan dengan Oracle 9.i Database tapi sedikit lebih mahal jika dibandingkan dengan MySQL v4.1. d. Feature-feature yang dimiliki oleh SQL Server 2000 jauh lebih unggul bila dibandingkan dengan MySQL v4.1, walaupun sedikit lebih kalah bila dibandingkan dengan Oracle 9i Database. e. Secara otomatis dapat berjalan sesuai dengan sistem operasi yang digunakan.

115 Perancangan Aplikasi Perancangan Input dan Output Perancangan Input Gambar 4.21 Rancangan Layar Login Gambar 4.22 Rancangan MDIForm

116 203 Gambar 4.23 Rancangan MDIForm User Gambar 4.24 Rancangan MDIForm Database

117 204 Gambar 4.25 Rancangan MDIForm Cetak Gambar 4.26 Rancangan Layar Master Customer

118 205 Gambar 4.27 Rancangan dbase Customer Gambar 4.28 Rancangan Master Produk

119 206 Gambar 4.29 Rancangan dbase Produk Produk Database Produk Edit Gambar 4.30 Rancangan Master Staf

120 207 Rancangan 4.31 Rancangan dbase Staf Database Staf Edit Gambar 4.32 Rancangan Layar Master Supplier

121 208 Gambar 4.34 Rancangan dbase Supplier Database Supplier Edit Gambar 4.34 Rancangan Layar Transaksi Pembelian

122 209 Gambar 4.35 Rancangan Layar Transaksi Persediaan Gambar 4.36 Rancangan Layar Penerimaan

123 210 Gambar 4.37 Rancangan Layar Delivery Order Gambar 4.38 Rancangan Layar Change Password

124 Gambar 4.39 Rancangan Layar Transaksi Penjualan 211

125 Perancangan Output Gambar 4.40 Output persediaan Laporan Persediaan Print Date : 01/01/2006 PT. IPPACHI KARYA SUKSES Kode Produk Nama Produk Satuan Stock TDQ04Z-06 Folding E-Bike Sparepart 100 TDM06Z-08 Folding E-Bike Sepeda 100 Gambar 4.41 Output Laporan Pembelian Laporan Pembelian Print Date : 11/01/2006 PT. IPPACHI KARYA SUKSES Jl. Abdul Muis No.36M Telp Periode : 10/01/2006 s/d 11/01/2006 Tanggal No.SC Kode Supplier Perusahaan Up Supplier Total 10/01/2006 SC003 SP001 ZHEJIANG CHANGTONG Lee Hom ,00 11/01/2006 SC004 SP002 ZHEJIANG CHANGTONG Jay Chow ,00

126 213 Gambar 4.42 Output Laporan Penjualan Laporan Penjualan Print Date : 10/01/2006 PT. IPPACHI KARYA SUKSES Jl. Abdul Muis No.36M Telp Periode : 10/01/2006 s/d 10/01/2006 Tanggal No.SP Kode Customer Perusahaan Customer Nama Customer Total 10/01/2006 SP001 CU001 Hendra ,00 SP002 CU001 Thomas ,00 Gambar 4.43 Output Laporan Pembayaran Pembelian Laporan Pembayaran Pembelian Print Date : 07/01/2006 PT. IPPACHI KARYA SUKSES Jl. Abdul Muis No.36M Telp Periode: 05/01/2006 s/d 07/01/2006 Tgl. Bayar No. Bayar No SC Cara Bayar No.Rekening Tgl.Pemb Total Bayar 05/01/2006 SCP001 SC001 Cash /01/2006 SCP002 SC003 Debit - 07/01/ Grand Total:

127 214 Gambar 4.44 Ouput Laporan Pembayaran Penjualan Laporan Pembayaran Penjualan Print Date : 05/01/2006 PT. IPPACHI KARYA SUKSES Jl. Abdul Muis No.36M Telp Periode: 05/01/2006 s/d 07/01/2006 Tgl. Bayar No. Bayar No SP Cara Bayar No.Giro Tgl.Giro Total Bayar 05/01/2006 SPP001 SP001 Cash ,00 07/01/2006 SPP005 SP003 Cash , Spesifikasi Proses Spesifikasi Proses Form Login IF Command Save click THEN Begin Open Koneksi Open PT.IPPACHI KARYA SUKSES file Get no_staf, password If rs(0) > 0 Then Message Box display "Login Sukses",, "PT IPPACHI KARYA SUKSES" mnudatabase(mdiform1) Enabled = True mnucetak(mdiform1) Enabled = True Show MDIForm1 userlogin = NoText mnulogout(mdiform1) Enabled = True mnuchpass(mdiform1) Enabled = True mnulogin(mdiform1) Enabled = False Close Form Login Else Message Box display "Login Gagal" mnulogin(mdiform1) Enabled = True closekoneksi IF Command Cancel Click THEN

128 215 Close Form Login mnudatabase(mdiform1) Enabled = False mnuchpass(mdiform1) Enabled = False mnulogout( MDIForm1) Enabled = False mnulogin(mdiform1) Enabled = True mnuexit(mdiform1) Enabled = True Form Menu MDIForm1 Begin Call Form Login Form Login Show mnulogout(mdiform1) Enabled = False mnuchpass(mdiform1) Enabled = False mnucetak(mdiform1) Enabled = False IF mnuproduk Click THEN Call frmproduk frmproduk Show END IF IF mnuexit Click THEN Close MDIForm1 END IF IF mnucustomer Click THEN Call frmcustomer frmcustomer Show END IF mnulappembelian Click THEN Call DataReport1 DataReport1 Show END IF IF MnuLapPenjualan Click THEN Call rptpenjualan rptpenjualan Show END IF IF mnulappersediaan Click THEN Call rptpersediaan rptpersediaan Show END IF IF mnulogin Click THEN Call frmlogin frmlogin Show mnulogin(mdiform1) Enabled = False END IF IF mnustaf Click THEN Call frmstaf frmstaf Show END IF IF mnupembelian Click THEN Call frmpembelian frmpembelian Show END IF IF mnupenerimaan Click THEN Call frmpenerimaan frmpenerimaan Show End Sub IF mnupenjualan Click THEN

129 216 Call frmpenjualan frmpenjualan Show END IF IF mnupersediaanproduk Click THEN Call frmpersediaanbahan frmpersediaanbahan Show END IF IF mnusupplier Click THEN Call frmsupplier frmsupplier Show END IF IF mnusuratjalan Click THEN Call frmsuratjalan frmsuratjalan Show END IF IF mnuchpass Click THEN Call frmchpass frmchpass Show END IF IF mnulogout Click THEN IF Message Box display "Logout?" vbyesno + vbquestion = vbyes THEN mnudatabase(mdiform1) Enabled = False mnuchpass(mdiform1) Enabled = False mnucetak(mdiform1) Enabled = False Call frmlogin frmlogin Show mnulogout(mdiform1) Enabled = False mnulogin(mdiform1) Enabled = True END IF END IF Form Change Password Begin IF Text PassBaruKonf < 6 or > 10 THEN MsgBox "Password 6-10 Karakter" END IF IF cmdsave Click THEN OpenKoneksi Get no_staf, password ELSE IF rs(0) = 1 THEN IF (Text PassBaru = Text PassBaruKonf) THEN Set password Close Form ChPass Else Message Box display "Konfirmasi Password Baru Salah" END IF Else MsgBox "Password Salah" closekoneksi IF Command Batal Click THEN

130 217 Close Form ChPass END IF Form Master Customer Begin Read Customer record, Telepon record IF Kode Customer ((huruf 1 & 2 = numerik) dan (huruf 3-5 = not numerik) = True THEN Message Box display "Isi Kode Customer dengan 2 Digit Awal Huruf dan 3 Digit Akhir Angka" Set focus Kode customer END IF IF Nama Customer = "" THEN Message Box display "Nama Customer Harus Diisi" END IF IF Nama Jalan = "" THEN Mesasge Box "Nama Jalan Harus Diisi" END IF IF Kota = "" THEN Message Box display "Kota Harus Diisi" END IF IF Kdpos = "" THEN Message Box display "Kode Pos Harus Diisi" END IF IF Prov = "" Then Message Box "Provinsi Harus Diisi" END IF IF cmdfirst Click THEN First Record ELSE IF Not (rstelp.eof) Or Not (rstelp.bof) Then rstelp.movefirst Telepon 1 = rstelp(1) IF Telepon 2 = NULL THEN Telepon 2= "Tidak Ada Telepon Alternatif" Else Telepon 2 = rstelp(2) END IF END IF END IF IF cmdlast Click THEN IF Not (rs.bof) Or Not (rs.eof) THEN rs.movelast If Not (rstelp.eof) Or Not (rstelp.bof) Then rstelp.movefirst Telepon 1 = rstelp(1) IF Telepon 2 = NULL THEN Telepon 2 = "Tidak Ada Telepon Alternatif" Else Telepon 2 = rstelp(2) END IF END IF END IF END IF IF cmdnext Click THEN IF Not (rs.bof) Or Not (rs.eof) THEN rs.movenext

131 IF rs.eof Then rs.movelast END IF IF Not (rstelp.eof) Or Not (rstelp.bof) THEN rstelp.movefirst Telepon 1 = rstelp(1) If Telepon 2 = NULL Then Telepon 2 = "Tidak Ada Telepon Alternatif" Else Telepon 2 = rstelp(2) END IF END IF END IF END IF IF cmdprev Click THEN IF Not (rs.bof) Or Not (rs.eof) THEN rs.moveprevious IF rs.bof Then rs.movefirst END IF IF Not (rstelp.eof) Or Not (rstelp.bof) THEN rstelp.movefirst Telepon 1 = rstelp(1) IF Telepon 2 = NULL Then Telepon 2 = "Tidak Ada Telepon Alternatif" Else Telepon 2 = rstelp(2) END IF END IF END IF END IF IF cmdupdate Click THEN cmdsave.enabled = True cmdcancel.enabled = True cmdadd.enabled = False cmddelete.enabled = False END IF IF cmdadd Click THEN Kode Customer = "" Nama Customer = "" Telepon 1 = "" Telepon 2 = "" Faksimile = "" Nama Jalan = "" Kota = "" Kode Pos = "" Provinsi = "" cmdsave.enabled = True cmdcancel.enabled = True cmdupdate.enabled = False cmddelete.enabled = False END IF IF cmdkembali ke menu database Click THEN Close form Customer Call form dbasecustomer Open form dbasecustomer 218

132 219 END IF IF cmdcancel Click THEN cmdadd.enabled = True cmdupdate.enabled = True cmddelete.enabled = True cmdsave.enabled = False cmdcancel.enabled = False END IF IF cmddelete Click THEN IF Message Box("Hapus Data?") THEN IF Not (rs.bof) Or Not (rs.eof) THEN rs.movefirst END IF rs.movefirst END IF END IF IF cmdsave Click THEN Case 1 : Insert Customer IF Kode Customer = ada THEN Message Box display "Kode Customer Sudah Ada" Else Add Telepon If Not (rs.bof) Or Not (rs.eof) Then rs.movefirst END IF END IF Case 2 : Update Customer If Kode Customer = ada Then Message Box display "Kode Customer Sudah Ada" Else Update telepon Set kode customer End Select cmdadd.enabled = True cmdupdate.enabled = True cmdcancel.enabled = False cmdsave.enabled = False cmddelete.enabled = True Form dbase Customer Begin Open koneksi Read Customer record Show Customer record on MSHFlexGrid1 If cmdedit Click Then Message box display ( Masukkan password:, PT. IPPACHI KARYA SUKSES ) If ceklogin = True Then Call Form Master Customer Open Form Master Customer Close Form dbase Customer Close koneksi

133 Form Master Produk Begin Open koneksi Read produk record If Not (rs.eof) or Not (rs.bof) Then Show produk record Else Message Box display Data kosong cmdupdate.enabled = False cmddelete.enabled = False If cmd First Click Then If Not (rs.bof) or not (rs.eof) Then rs.movefirst tampil data awal(first) End if End if If cmd Last Click Then If Not (rs.bof) or not (rs.eof) Then rs.movelast tampil data akhir(last) End if End if If cmd Prev Click Then If Not (rs.bof) Or Not (rs.eof) Then rs.moveprevious If rs.bof Then rs.movefirst tampil data sebelum(prev) End if End if If cmd Next click Then If Not (rs.bof) Or Not (rs.eof) Then rs.movenext If rs.eof Then rs.movelast Tampil data berikut(next) If cmd Tambah Click Then Kode Produk = Nama Produk = Harga = Warna = cmdsimpan.enabled = True cmd.batal Enabled = True cmdupdate Enabled = False cmdhapus Enabled = False If cmd Save Click Then Case 1 : Insert Produk values If Kode Produk = ada Then 220

134 221 Message Box diplay Kode Produk sudah ada rs.requery rs.movefirst tampil Case 2 : Update Produk values Set Kode Produk If Kode Produk = ada Then Message Box diplay Kode Produk sudah ada rs.requery tampil End Select cmdtambah.enabled = True cmdupdate.enabled = True cmdbatal.enabled = False cmdsimpan.enabled = False cmdhapus.enabled = True If cmd Update click Then cmdsimpanenabled = True cmdbatal.enabled = True cmdtambah.enabled = False cmdhapus.enabled = False If cmd Hapus click Then If Message box display Hapus data? Then Delete produk record rs.requery rs.movefirst tampil If cmd Batal Click Then cmdtambah.enabled = True cmdupdate.enabled = True cmdhapus.enabled = True cmdsimpan.enabled = False cmdbatal.enabled = False IF cmdkembali ke menu database Click THEN Close form Master Produk Call form dbaseproduk Open form dbaseproduk END IF Form dbaseproduk Begin Open koneksi Read produk record Show produk record on MSHFlexGrid1 If cmdedit Click Then Message box display ( Masukkan password:, PT. IPPACHI KARYA SUKSES ) If ceklogin = True Then Call Form Master Produk Open Form Master Produk Close Form dbase Produk

135 222 Close koneksi Form Master Staf Begin Open koneksi Read Staf record If rs.eof or rs.bof Then Message Box display Data Kosong cmdupdate Enabled = False cmddelete Enabled = False Nomor Staf = nil Nama Depan = nil Nama Belakang = nil Jenis Kelamin(Pria) = nil Jenis Kelamin(Wanita) = nil Posisi = nil Telepon = nil Nama Jalan= nil Kode Pos= nil Kota = nil Provinsi = nil Tanggal Lahir(tanggal) = nil Tanggal Lahir(bulan) = nil Tanggal Lahir(tahun) = nil Else Show Staf record Read Posisi Show Posisi If cmdfirst click Then Tampil data awal staf If cmdlast click Then Tampil data akhir staf If cmdnext click Then Tampil data staf berikutnya If cmdprev click Then Tampil data staf sebelumnya If cmdtambah click Then Nomor Staf = "" Nama Belakang = "" Posisi = "" Nama Depan = "" Telepon = "" Nama Jalan = "" Kota = "" Kode Pos = "" Provinsi = "" cmdsimpan Enabled = True cmdbatal Enabled = True cmdupdate Enabled = False

136 223 cmdhapus Enabled = False Tanggal Lahir(tanggal) = "" Tanggal Lahir(bulan) = "" Tanggal Lahir(tahun) = "" If cmdbatal click Then Cancel Update or Simpan If cmddelete click Then Message Box display Hapus data? Delete Staf record Kembali ke data awal Staf Set All Text If cmdsave click Then If Nomor Staf = or Nomor Staf not (2 digit awal huruf & 3 digit akhir angka) Then Message Box display 2 Digit Awal Huruf dan 3 Digit Akhir Angka" Else Valid = True End if If Nama Depan = Then Message box display Nama depan harus diisi Else Valid = True If Posisi = Then Message Box display Posisi harus diisi Else Valid = True If Nama Jalan = Then Message Box display Nama Jalan harus diisi Else Valid = True If Kota = Then Message Box display Kota harus diisi Else Valid = True If Kode Pos = Then Message Box display Kode Pos harus diisi Else Valid = True If Provinsi = Then Message Box display Provinsi harus diisi Else Valid = True If tanggal = Valid Then Message Box display Siap action Select case Case 1 : Insert Staf record If Nomor Staf = ada Then Message Box display Nomor Staf sudah ada

137 224 Else Save staf record Kembali ke data awal Staf Case 2 : Update Staf record Set Staf record If Nomor Staf = ada Then Message Box display Nomor Staf sudah ada Else Save Staf record End Select CmdTambah Enabled = True CmdUpdate Enabled = True CmdBatal Enabled = False CmdHapus Enabled = True CmdSimpan Enabled = False If cmdupdate click Then All Text = True cmdsimpan Enabled = True cmdbatal Enabled = True cmdtambah Enabled = False cmdhapus.enabled = False If cmdsimpan click Then Simpan staf record End if If cmdbatal click Then All Text = False If cmdkembali ke menu database click Then Close Form Master Staf Call Form dbase Staf Show Form dbase Staf Form dbase Staf Begin Open Koneksi Read staf record Show staf record on MSHFlexGrid Close Koneksi If cmdedit Click Then Message Box display Masukkan Password:", "PT. IPPACHI KARYA SUKSES" Else Call Form Master Staf Show Form Master Staf Close Form dbase Staf Form Master Supplier Begin Open Koneksi

138 Read Supplier record Begin Open koneksi Read Staf record If rs.eof or rs.bof Then Message Box display Data Kosong cmdupdate Enabled = False cmddelete Enabled = False Kode Supplier = nil Nama Supplier = nil Nama Jalan = nil Kota = nil Kode Pos = nil Provinsi = nil Faksimile = nil Telepon1 = nil Else Show Staf record If Telepon2 = nil Then Message Box display Tidak ada telepon alternative Else Telepon 2 = ada If cmdfirst click Then Tampil data awal supplier Read Tlp_supplier record If Not (rstelp.eof) Or Not (rstelp.bof) Then Kembali ke data telp supplier awal If Telepon 2 = nil Then Message Box display Tidak Ada Telepon Alternatif Then If cmdlast click Then Tampil data akhir supplier Read Tlp_supplier record If Not (rstelp.eof) Or Not (rstelp.bof) Then Kembali ke data telp supplier akhir If Telepon 2 = nil Then Message Box display Tidak Ada Telepon Alternatif Then If cmdprev click Then Tampil data supplier sebelumnya If rs.bof Then Ke data awal Supplier Read Tlp_supplier record If Not (rstelp.eof) Or Not (rstelp.bof) Then Kembali ke data telp supplier awal If Telepon 2 = nil Then Message Box display Tidak Ada Telepon Alternatif Then If cmdnext click Then Tampil data supplier berikutnya If rs.eof Then 225

139 226 Ke data akhir Supplier Read Tlp_supplier record If Not (rstelp.eof) Or Not (rstelp.bof) Then Kembali ke data telp supplier akhir If Telepon 2 = nil Then Message Box display Tidak Ada Telepon Alternatif Then If cmdadd Click Then Kode Supplier = "" Nama Supplier = "" Telepon 1 = "" Telepon 2 = "" Faksimile = "" Nama Jalan = "" Kota = "" Kode Pos = "" Provinsi = "" cmdsimpan Enabled = True cmdbatal Enabled = True cmdupdate Enabled = False cmdhapus Enabled = False If cmdcancel Click Then Batal Save or Update Supplier record cmdtambah Enabled = True cmdupdate Enabled = True cmdhapus Enabled = True cmdsimpan Enabled = False cmdbatal Enabled = False If cmddelete Click Then Message Box display("hapus Data?") Hapus Supplier record dari table Staf Hapus Telepon Supplier dari table Tlp_Supplier Read Supplier record If Not (rs.bof) Or Not (rs.eof) Then Kembali ke data awal supplier Kembali ke data awal supplier If cmd Simpan Click Then Select case Case 1 : Insert Supplier record If Kode supplier = ada Then Message Box Kode Supplier sudah ada Else Insert Tlp_supplier End if Read Supplier record If Not (rs.bof) Or Not (rs.eof) Then Ke data awal Staf End if Case 2 :

140 227 Update Supplier record If Kode supplier = ada Then Message Box display Kode Supplier sudah ada Else Update Tlp_supplier Set Supplier Message Box display Supplier record End if Read Supplier record End Select cmdtambah Enabled = True cmdupdate Enabled = True cmdbatal Enabled = False cmdsimpan Enabled = False cmdhapus Enabled = True If cmdupdate click Then cmdsimpan Enabled = True cmdbatalenabled = True cmdtambah Enabled = False cmdhapus Enabled = False If cmdsimpan click Then Save Supplier record If cmdbatal click Then Batal Update Supplier End if End if If cmdkembali ke menu database click Then Close Form Master Supplier Call Form dbase Supplier Show Form dbase Supplier Form dbase Supplier Begin Open Koneksi Read supplier record Show supplier record on MSHFlexGrid Close Koneksi If cmdedit Click Then Message Box display Masukkan Password:", "PT. IPPACHI KARYA SUKSES" Else Call Form Master Supplier Show Form Master Supplier Close Form dbase Supplier Form Master Pembelian Begin Option Explicit Dim rsheader As ADODB.Recordset Dim rsdetil As ADODB.Recordset Dim validtgl As Boolean

141 228 Public Function isitanggal() As Boolean If CboTglP.Text = "" Or CboBlnP.Text = "" Or CboThnP.Text = "" Then MsgBox "harap isi tanggal, bulan, tahun" isitanggal = False Exit Function If CboTglK.Text = "" Or CboBlnK.Text = "" Or CboThnK.Text = "" Then MsgBox "harap isi tanggal, bulan, tahun" isitanggal = False Exit Function isitanggal = True End Function Public Sub settextheader() txtno.text = Trim(rsHeader(0)) 'txttransaksi.text = rsheader(1) CboCustomer.Text = Trim(rsHeader(2)) CboStaf.Text = Trim(rsHeader(3)) 'txtkirim.text = rsheader(4) CboTglP.Text = Day(rsHeader(1)) CboTglK.Text = Day(rsHeader(4)) CboBlnP.Text = Month(rsHeader(1)) CboBlnK.Text = Month(rsHeader(4)) CboThnP.Text = Year(rsHeader(1)) CboThnK.Text = Year(rsHeader(4)) End Sub Public Sub setenabledtextheader(nil As Boolean) txtno.enabled = nil 'txttransaksi.enabled = nil CboCustomer.Enabled = nil CboStaf.Enabled = nil 'txtkirim.enabled = nil End Sub Public Sub setenabledtextdetil(nil As Boolean) cboproduk.enabled = nil txtjumlah.enabled = nil cmdtotal.enabled = nil 'txttempo.enabled = nil End Sub Public Sub settextdetil() cboproduk.text = Trim(rsDetil(1)) txtjumlah.text = rsdetil(2) 'txttempo.text = rsdetil(4) End Sub Private Sub cbobarang_click() Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select harga from produk where kd_produk='" & cboproduk.text & "'" com.commandtype = adcmdtext

142 229 Dim rs As ADODB.Recordset Set rs = com.execute lblhrg.caption = rs(0) End Sub Private Sub cmdadd_click() setenabledtextheader (True) cmdadd.enabled = False cmdsave.enabled = True cmdcancel.enabled = True cmdprev.enabled = False cmdnext.enabled = False cmdlast.enabled = False cmdfirst.enabled = False CboTglP.Enabled = True CboBlnP.Enabled = True CboThnP.Enabled = True CboTglK.Enabled = True CboBlnK.Enabled = True CboThnK.Enabled = True txtno.text = "" CboCustomer.Text = "" CboStaf.Text = "" End Sub Private Sub cmdback_click() Unload Me Load frmpembelian frmpembelian.show End Sub Private Sub cmdcancel_click() setenabledtextheader (False) settextheader cmdadd.enabled = True cmdsave.enabled = False cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True cmdfirst.enabled = True cmdcancel.enabled = False CboTglP.Enabled = False CboBlnP.Enabled = False CboThnP.Enabled = False CboTglK.Enabled = False CboBlnK.Enabled = False CboThnK.Enabled = False End Sub Private Sub cmdcanceldetil_click() setenabledtextdetil (False) If Not (rsdetil.bof) Or Not (rsdetil.eof) Then settextdetil cmdtambahdetil.enabled = True

143 230 cmdsavedetil.enabled = False cmdcanceldetil.enabled = False cmdprevdetil.enabled = True cmdnextdetil.enabled = True lblhrg.enabled = False cmdlastdetil.enabled = True cmdselesai.enabled = True cmdfirstdetil.enabled = True End Sub Private Sub cmddetil_click() cmdtambahdetil.enabled = True cmddetil.enabled = False cmdadd.enabled = False cmdfirst.enabled = False cmdprev.enabled = False cmdnext.enabled = False cmdlast.enabled = False cmdselesai.enabled = True End Sub Private Sub cmdfirst_click() rsheader.movefirst settextheader Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from pembelian_detil where no_sales_contract='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong" cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = "" txtjumlah.text = "" End Sub Private Sub cmdfirstdetil_click() rsdetil.movefirst settextdetil End Sub Private Sub cmdlast_click() rsheader.movelast settextheader

144 231 Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from pembelian_detil where no_sales_contract='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong" cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = "" txtjumlah.text = "" End Sub Private Sub cmdlastdetil_click() rsdetil.movelast settextdetil End Sub Private Sub cmdnext_click() rsheader.movenext If rsheader.eof Then rsheader.movelast settextheader Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from pembelian_detil where no_sales_contract='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong" cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = ""

145 232 txtjumlah.text = "" End Sub Private Sub cmdnextdetil_click() rsdetil.movenext If rsdetil.eof Then rsdetil.movelast settextdetil End Sub Private Sub cmdprev_click() rsheader.moveprevious If rsheader.bof Then rsheader.movefirst settextheader Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from pembelian_detil where no_sales_contract='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong" cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = "" txtjumlah.text = "" End Sub Private Sub cmdprevdetil_click() rsdetil.moveprevious If rsdetil.bof Then rsdetil.movefirst settextdetil End Sub Private Sub cmdprint_click() rptpembelian.show End Sub

146 233 Private Sub cmdsave_click() Dim com As New ADODB.Command Dim sql As String If isitanggal Then validtgl = validasitanggal(cint(cbotglp.text), CInt(CboBlnP.Text), CInt(CboThnP.Text)) If validtgl Then validtgl = validasitanggal(cint(cbotglk.text), CInt(CboBlnK.Text), CInt(CboThnK.Text)) If validtgl Then Dim tglp, tglk As String tglp = CboTglP.Text & "-" & CboBlnP.Text & "-" & CboThnP.Text tglk = CboTglK.Text & "-" & CboBlnK.Text & "-" & CboThnK.Text sql = "insert into pembelian_header values(" & _ "'" & Trim(txtNo.Text) & "','" & tglp & "', '" & Trim(CboCustomer.Text) & "','" & Trim(CboStaf.Text) & "','" & tglk & "')" com.activeconnection = con_ com.commandtext = sql com.commandtype = adcmdtext com.execute com.commandtext = "select * from pembelian_header" Set rsheader = com.execute 'rsheader.requery rsheader.movefirst settextheader cmdadd.enabled = True cmdcancel.enabled = False cmdsave.enabled = False cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True cmdfirst.enabled = True CboTglP.Enabled = False CboBlnP.Enabled = False CboThnP.Enabled = False CboTglK.Enabled = False CboBlnK.Enabled = False CboThnK.Enabled = False setenabledtextheader (False) End Sub Private Sub cmdsavedetil_click() Dim com As New ADODB.Command Dim sql As String com.activeconnection = con_ com.commandtype = adcmdtext sql = "select count(*) from pembelian_detil where No_sales_contract='" & Trim(txtNo.Text) & "' and kd_produk='" & Trim(cboProduk.Text) & "'" com.commandtext = sql Dim rstemp As New ADODB.Recordset Set rstemp = com.execute If rstemp(0) = 1 Then

147 234 MsgBox "Produk sudah ada" Else sql = "insert into pembelian_detil values(" & _ "'" & Trim(txtNo.Text) & "','" & Trim(cboProduk.Text) & "', '" & Trim(txtJumlah.Text) & "')" com.commandtext = sql com.execute com.commandtext = "select * from pembelian_detil where no_sales_contract='" & Trim(txtNo.Text) & "'" Set rsdetil = com.execute 'rsdetil.requery rsdetil.movefirst settextdetil cmdtambahdetil.enabled = True lblhrg.enabled = False cmdcanceldetil.enabled = False cmdsavedetil.enabled = False cmdprevdetil.enabled = True cmdnextdetil.enabled = True cmdlastdetil.enabled = True cmdfirstdetil.enabled = True cmdselesai.enabled = True setenabledtextdetil (False) End Sub Private Sub cmdselesai_click() cmdtambahdetil.enabled = False cmddetil.enabled = True cmdselesai.enabled = False cmdadd.enabled = True cmdfirst.enabled = True cmdprev.enabled = True cmdnext.enabled = True lblhrg.enabled = False cmdlast.enabled = True End Sub Private Sub cmdtambahdetil_click() setenabledtextdetil (True) cmdtambahdetil.enabled = False cmdsavedetil.enabled = True cmdcanceldetil.enabled = True cmdprevdetil.enabled = False cmdselesai.enabled = False cmdnextdetil.enabled = False cmdlastdetil.enabled = False cmdfirstdetil.enabled = False lblhrg.enabled = True txtjumlah.text = "" cboproduk.text = "" End Sub Private Sub Form_Load()

148 235 OpenKoneksi Dim com As New ADODB.Command com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from pembelian_header" Set rsheader = com.execute cmdfirst_click If Not (rsheader.eof) Or Not (rsheader.bof) Then settextheader com.commandtext = "select * from pembelian_detil where no_sales_contract='" & rsheader(0) & "'" Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil Else MsgBox "Data detil Kosong" Else MsgBox "Data header Kosong" com.commandtext = "select kd_produk from produk" Dim rs As ADODB.Recordset Set rs = com.execute Do While Not rs.eof cboproduk.additem rs(0) rs.movenext Loop com.commandtext = "select kd_supplier from supplier" Set rs = com.execute Do While Not rs.eof CboCustomer.AddItem rs(0) rs.movenext Loop com.commandtext = "select no_staf from staf" Set rs = com.execute Do While Not rs.eof If Not UCase(Trim(rs(0))) = UCase("admin") Then CboStaf.AddItem rs(0) rs.movenext Loop Dim i As Integer For i = 1 To 31 CboTglP.AddItem i CboTglK.AddItem i Next i For i = 1 To 12 CboBlnP.AddItem i CboBlnK.AddItem i

149 236 Next i For i = 1990 To 2010 CboThnP.AddItem i CboThnK.AddItem i Next i frmeditpembelian.left = 0 frmeditpembelian.top = 0 End Sub Private Sub Form_Unload(Cancel As Integer) closekoneksi End Sub Private Sub cmdtotal_click() If Not IsNumeric(txtJumlah.Text) Then MsgBox "jumlah diisi angka" Else If Not (txtjumlah.text = "") Then lbljumlah.caption = (Int(Trim(txtJumlah.Text)) * Int(Trim(lblhrg.Caption))) Else MsgBox "Jumlah Barang Harus Diisi" End Sub Form dbase Pembelian Begin Private Sub Command1_Click() Dim pass As String pass = InputBox("Masukkan Password:", "PT. IPPACHI KARYA SUKSES") If ceklogin(pass) Then Load frmeditpembelian frmeditpembelian.show Unload Me End Sub Private Sub Command2_Click() rptpembelian.show End Sub Private Sub Form_Load() OpenKoneksi Dim com As New ADODB.Command com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from Pembelian_header h, Pembelian_detil t where (h.no_sales_contract = t.no_sales_contract) order by h.no_sales_contract" Set MSHFlexGrid1.DataSource = com.execute closekoneksi frmpembelian.left = 0 frmpembelian.top = 0 End Sub

150 Form Master Penjualan Begin Option Explicit Dim rsheader As ADODB.Recordset Dim rsdetil As ADODB.Recordset Dim validtgl As Boolean Public Function isitanggal() As Boolean If CboTglP.Text = "" Or CboBlnP.Text = "" Or CboThnP.Text = "" Then MsgBox "harap isi tanggal, bulan, tahun" isitanggal = False Exit Function If CboTglK.Text = "" Or CboBlnK.Text = "" Or CboThnK.Text = "" Then MsgBox "harap isi tanggal, bulan, tahun" isitanggal = False Exit Function isitanggal = True End Function Public Sub settextheader() txtno.text = Trim(rsHeader(0)) 'txttransaksi.text = rsheader(1) CboCustomer.Text = Trim(rsHeader(2)) CboStaf.Text = Trim(rsHeader(3)) 'txtkirim.text = rsheader(4) CboTglP.Text = Day(rsHeader(1)) CboTglK.Text = Day(rsHeader(4)) CboBlnP.Text = Month(rsHeader(1)) CboBlnK.Text = Month(rsHeader(4)) CboThnP.Text = Year(rsHeader(1)) CboThnK.Text = Year(rsHeader(4)) End Sub Public Sub setenabledtextheader(nil As Boolean) txtno.enabled = nil 'txttransaksi.enabled = nil CboCustomer.Enabled = nil CboStaf.Enabled = nil 'txtkirim.enabled = nil End Sub Public Sub setenabledtextdetil(nil As Boolean) cboproduk.enabled = nil txtjumlah.enabled = nil cmdtotal.enabled = nil 'txttempo.enabled = nil End Sub Public Sub settextdetil() cboproduk.text = Trim(rsDetil(1)) txtjumlah.text = rsdetil(2) 'txttempo.text = rsdetil(4) End Sub

151 238 Private Sub cboproduk_click() Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select harga from produk where kd_produk='" & cboproduk.text & "'" com.commandtype = adcmdtext Dim rs As ADODB.Recordset Set rs = com.execute lblhrg.caption = rs(0) End Sub Private Sub cmdadd_click() setenabledtextheader (True) cmdadd.enabled = False cmdsave.enabled = True cmdcancel.enabled = True cmdprev.enabled = False cmdnext.enabled = False cmdlast.enabled = False cmdfirst.enabled = False CboTglP.Enabled = True CboBlnP.Enabled = True CboThnP.Enabled = True CboTglK.Enabled = True CboBlnK.Enabled = True CboThnK.Enabled = True txtno.text = "" CboCustomer.Text = "" CboStaf.Text = "" End Sub Private Sub cmdback_click() Unload Me Load frmpenjualan frmpenjualan.show End Sub Private Sub cmdcancel_click() setenabledtextheader (False) settextheader cmdadd.enabled = True cmdsave.enabled = False cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True cmdfirst.enabled = True cmdcancel.enabled = False CboTglP.Enabled = False CboBlnP.Enabled = False CboThnP.Enabled = False CboTglK.Enabled = False CboBlnK.Enabled = False CboThnK.Enabled = False End Sub Private Sub cmdcanceldetil_click()

152 239 setenabledtextdetil (False) If Not (rsdetil.bof) Or Not (rsdetil.eof) Then settextdetil cmdtambahdetil.enabled = True cmdsavedetil.enabled = False cmdcanceldetil.enabled = False cmdprevdetil.enabled = True cmdnextdetil.enabled = True lblhrg.enabled = False cmdlastdetil.enabled = True cmdselesai.enabled = True cmdfirstdetil.enabled = True End Sub Private Sub cmddetil_click() cmdtambahdetil.enabled = True cmddetil.enabled = False cmdadd.enabled = False cmdfirst.enabled = False cmdprev.enabled = False cmdnext.enabled = False cmdlast.enabled = False cmdselesai.enabled = True End Sub Private Sub cmdfirst_click() rsheader.movefirst settextheader Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from penjualan_detil where no_surat_pesanan='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong" cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = "" txtjumlah.text = "" End Sub Private Sub cmdfirstdetil_click() rsdetil.movefirst

153 240 settextdetil End Sub Private Sub cmdlast_click() rsheader.movelast settextheader Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from penjualan_detil where no_surat_pesanan='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong" cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = "" txtjumlah.text = "" End Sub Private Sub cmdlastdetil_click() rsdetil.movelast settextdetil End Sub Private Sub cmdnext_click() rsheader.movenext If rsheader.eof Then rsheader.movelast settextheader Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from penjualan_detil where no_surat_pesanan='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong"

154 241 cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = "" txtjumlah.text = "" End Sub Private Sub cmdnextdetil_click() rsdetil.movenext If rsdetil.eof Then rsdetil.movelast settextdetil End Sub Private Sub cmdprev_click() rsheader.moveprevious If rsheader.bof Then rsheader.movefirst settextheader Dim com As New ADODB.Command com.activeconnection = con_ com.commandtext = "select * from penjualan_detil where no_surat_pesanan='" & rsheader(0) & "'" com.commandtype = adcmdtext Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil cmdnextdetil.enabled = True cmdprevdetil.enabled = True cmdfirstdetil.enabled = True cmdlastdetil.enabled = True Else MsgBox "data detil kosong" cmdnextdetil.enabled = False cmdprevdetil.enabled = False cmdfirstdetil.enabled = False cmdlastdetil.enabled = False cboproduk.text = "" txtjumlah.text = "" End Sub Private Sub cmdprevdetil_click() rsdetil.moveprevious If rsdetil.bof Then rsdetil.movefirst settextdetil

155 242 End Sub Private Sub cmdprint_click() rptpenjualan.show End Sub Private Sub cmdsave_click() Dim com As New ADODB.Command Dim sql As String If isitanggal Then validtgl = validasitanggal(cint(cbotglp.text), CInt(CboBlnP.Text), CInt(CboThnP.Text)) If validtgl Then validtgl = validasitanggal(cint(cbotglk.text), CInt(CboBlnK.Text), CInt(CboThnK.Text)) If validtgl Then Dim tglp, tglk As String tglp = CboTglP.Text & "-" & CboBlnP.Text & "-" & CboThnP.Text tglk = CboTglK.Text & "-" & CboBlnK.Text & "-" & CboThnK.Text sql = "insert into penjualan_header values(" & _ "'" & Trim(txtNo.Text) & "','" & tglp & "', '" & Trim(CboCustomer.Text) & "','" & Trim(CboStaf.Text) & "','" & tglk & "')" com.activeconnection = con_ com.commandtext = sql com.commandtype = adcmdtext com.execute com.commandtext = "select * from penjualan_header" Set rsheader = com.execute 'rsheader.requery rsheader.movefirst settextheader cmdadd.enabled = True cmdcancel.enabled = False cmdsave.enabled = False cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True cmdfirst.enabled = True CboTglP.Enabled = False CboBlnP.Enabled = False CboThnP.Enabled = False CboTglK.Enabled = False CboBlnK.Enabled = False CboThnK.Enabled = False setenabledtextheader (False) End Sub Private Sub cmdsavedetil_click() Dim com As New ADODB.Command Dim sql As String com.activeconnection = con_ com.commandtype = adcmdtext

156 243 sql = "select count(*) from penjualan_detil where No_surat_pesanan='" & Trim(txtNo.Text) & "' and kd_produk='" & Trim(cboProduk.Text) & "'" com.commandtext = sql Dim rstemp As New ADODB.Recordset Set rstemp = com.execute If rstemp(0) = 1 Then MsgBox "Produk sudah ada" Else sql = "insert into penjualan_detil values(" & _ "'" & Trim(txtNo.Text) & "','" & Trim(cboProduk.Text) & "','" & Trim(txtJumlah.Text) & "')" com.commandtext = sql com.execute com.commandtext = "select * from penjualan_detil where no_surat_pesanan='" & Trim(txtNo.Text) & "'" Set rsdetil = com.execute rsdetil.movefirst settextdetil cmdtambahdetil.enabled = True lblhrg.enabled = False cmdcanceldetil.enabled = False cmdsavedetil.enabled = False cmdprevdetil.enabled = True cmdnextdetil.enabled = True cmdlastdetil.enabled = True cmdfirstdetil.enabled = True cmdselesai.enabled = True setenabledtextdetil (False) End Sub Private Sub cmdselesai_click() cmdtambahdetil.enabled = False cmddetil.enabled = True cmdselesai.enabled = False cmdadd.enabled = True cmdfirst.enabled = True cmdprev.enabled = True cmdnext.enabled = True lblhrg.enabled = False cmdlast.enabled = True End Sub Private Sub cmdtambahdetil_click() setenabledtextdetil (True) cmdtambahdetil.enabled = False cmdsavedetil.enabled = True cmdcanceldetil.enabled = True cmdprevdetil.enabled = False cmdselesai.enabled = False cmdnextdetil.enabled = False cmdlastdetil.enabled = False cmdfirstdetil.enabled = False lblhrg.enabled = True

157 244 txtjumlah.text = "" cboproduk.text = "" End Sub Private Sub Form_Load() OpenKoneksi Dim com As New ADODB.Command com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from penjualan_header" Set rsheader = com.execute cmdfirst_click If Not (rsheader.eof) Or Not (rsheader.bof) Then settextheader com.commandtext = "select * from penjualan_detil where no_surat_pesanan='" & rsheader(0) & "'" Set rsdetil = com.execute If Not (rsdetil.eof) Or Not (rsdetil.bof) Then settextdetil Else MsgBox "Data detil Kosong" Else MsgBox "Data header Kosong" com.commandtext = "select kd_produk from produk" Dim rs As ADODB.Recordset Set rs = com.execute Do While Not rs.eof cboproduk.additem rs(0) rs.movenext Loop com.commandtext = "select kd_customer from customer" Set rs = com.execute Do While Not rs.eof CboCustomer.AddItem rs(0) rs.movenext Loop com.commandtext = "select no_staf from staf" Set rs = com.execute Do While Not rs.eof If Not UCase(Trim(rs(0))) = UCase("admin") Then CboStaf.AddItem rs(0) rs.movenext Loop Dim i As Integer For i = 1 To 31 CboTglP.AddItem i CboTglK.AddItem i

158 245 Next i For i = 1 To 12 CboBlnP.AddItem i CboBlnK.AddItem i Next i For i = 1990 To 2010 CboThnP.AddItem i CboThnK.AddItem i Next i frmeditpenjualan.left = 0 frmeditpenjualan.top = 0 End Sub Private Sub Form_Unload(Cancel As Integer) closekoneksi End Sub Private Sub cmdtotal_click() If Not (txtjumlah.text = "") Then lbltotal.caption = (Int(Trim(txtJumlah.Text)) * Int(Trim(lblhrg.Caption))) Else MsgBox "Jumlah Barang Harus Diisi" Form dbase Penjualan Begin Private Sub Command1_Click() Dim pass As String pass = InputBox("Masukkan Password:", "PT. IPPACHI KARYA SUKSES") If ceklogin(pass) Then Load frmeditpenjualan frmeditpenjualan.show Unload Me End Sub Private Sub Command2_Click() rptpenjualan.show End Sub Private Sub Form_Load() OpenKoneksi Dim com As New ADODB.Command com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from Penjualan_header h left outer join Penjualan_detil t on h.no_surat_pesanan = t.no_surat_pesanan order by h.no_surat_pesanan" Set MSHFlexGrid1.DataSource = com.execute closekoneksi frmpenjualan.left = 0 frmpenjualan.top = 0 End Sub

159 Form Master Persediaan Option Explicit Dim rs As New ADODB.Recordset Dim action As Integer Dim kodebrg As String Public Function validasitext() Dim valid As Boolean valid = False If Trim(cboBarang.Text) = "" Then MsgBox "Kode Barang Harus Dipilih" txtjumlah.setfocus Exit Function Else valid = True If Trim(txtJumlah.Text) = "" Then MsgBox "Jumlah Barang Harus Diisi" cbobarang.setfocus Exit Function Else valid = True validasitext = valid End Function Private Function adabarang(kodebarang As String) Dim ada As Boolean ada = False Dim com As New ADODB.Command Dim rs As ADODB.Recordset Dim sql As String sql = "select count(*) from persediaan_barang_produk where kd_barang='" & kodebarang & "'" com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = sql Set rs = com.execute If rs(0) = 1 Then ada = True adabarang = ada End Function Private Sub cmdadd_click() cbobarang.text = "" txtjumlah.text = "" setenabledtext (True) cbobarang.setfocus action = 1 cmdprev.enabled = False cmdnext.enabled = False

160 247 cmdlast.enabled = False cmdfirst.enabled = False cmdsave.enabled = True cmdcancel.enabled = True cmdupdate.enabled = False End Sub Private Sub cmdback_click() Unload Me Load frmpersediaanbrg frmpersediaanbrg.show End Sub Private Sub cmdcancel_click() setenabledtext (False) settext cmdupdate.enabled = True cmdsave.enabled = False cmdcancel.enabled = False cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True cmdfirst.enabled = True End Sub Private Sub cmdsave_click() Dim com As New ADODB.Command Dim sql As String If validasitext Then 'buat update sql = "update persediaan_barang_produk " & _ "set kd_barang='" & Trim(cboBarang.Text) & "', jumlah='" & Trim(txtJumlah.Text) & "'" & _ " where kd_barang='" & kodebrg & "'" com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = sql com.execute 'If Not (Trim(cboBarang.Text) = Trim(kodeBrg)) Then 'If adabarang(kodebrg) Then 'MsgBox "Kode Bahan Baku Sudah Ada" 'Exit Sub 'Else 'com.execute ' 'Else 'com.execute ' com.commandtext = "select * from persediaan_barang_produk" Set rs = com.execute 'rs.requery settext cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True

161 248 cmdfirst.enabled = True cmdupdate.enabled = True cmdcancel.enabled = False cmdsave.enabled = False setenabledtext (False) End Sub Public Sub settext() cbobarang.text = Trim(rs(0)) txtjumlah.text = Trim(rs(1)) End Sub Public Sub setenabledtext(nil As Boolean) txtjumlah.enabled = nil cbobarang.enabled = nil End Sub Private Sub cmdfirst_click() If Not (rs.eof) Or Not (rs.bof) Then rs.movefirst settext End Sub Private Sub cmdlast_click() If Not (rs.bof) Or Not (rs.eof) Then rs.movelast settext End Sub Private Sub cmdnext_click() If Not (rs.bof) Or Not (rs.eof) Then rs.movenext If rs.eof Then rs.movelast settext End Sub Private Sub cmdprev_click() If Not (rs.bof) Or Not (rs.eof) Then rs.moveprevious If rs.bof Then rs.movefirst settext End Sub Private Sub cmdupdate_click() setenabledtext (True) cbobarang.setfocus action = 2 kodebrg = cbobarang.text

162 249 cmdprev.enabled = False cmdnext.enabled = False cmdlast.enabled = False cmdfirst.enabled = False cmdsave.enabled = True cmdcancel.enabled = True End Sub Private Sub Form_Load() OpenKoneksi Dim com As New ADODB.Command com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from persediaan_barang_produk" Set rs = com.execute If Not (rs.eof) Or Not (rs.bof) Then settext setenabledtext (False) Else MsgBox "Data Kosong" cmdupdate.enabled = True com.commandtext = "select kd_barang from Barang" Dim rsbhn As ADODB.Recordset Set rsbhn = com.execute Do While Not rsbhn.eof cbobarang.additem rsbhn(0) rsbhn.movenext Loop frmeditpersediaanbrg.left = 0 frmeditpersediaanbrg.top = 0 End Sub Private Sub Form_Unload(Cancel As Integer) closekoneksi End Sub Form dbase Persediaan Private Sub Command1_Click() Dim pass As String pass = InputBox("Masukkan Password:", "PT. IPPACHI KARYA SUKSES") If ceklogin(pass) Then Load frmeditpersediaanbrg frmeditpersediaanbrg.show Unload Me End Sub Private Sub Form_Load() OpenKoneksi Dim com As New ADODB.Command

163 250 com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from persediaan_barang_produk order by kd_barang" Set MSHFlexGrid1.DataSource = com.execute closekoneksi frmpersediaanbrg.left = 0 frmpersediaanbrg.top = 0 End Sub Form Surat Jalan Option Explicit Dim rs As New ADODB.Recordset Dim action As Integer Dim kodebrg As String Dim validtgl As Boolean Public Function isitanggal() As Boolean If CboTgl.Text = "" Or CboBln.Text = "" Or CboThn.Text = "" Then MsgBox "harap isi tanggal, bulan, tahun" isitanggal = False Exit Function isitanggal = True End Function Public Function validasitext() Dim valid As Boolean valid = False If Trim(txtNo.Text) = "" Then MsgBox "Nomor Surat Harus Diisi" txtno.setfocus Exit Function Else valid = True validasitext = valid End Function Private Function adabarang(kodebarang As String) Dim ada As Boolean ada = False Dim com As New ADODB.Command Dim rs As ADODB.Recordset Dim sql As String sql = "select count(*) from surat_jalan where no_surat='" & kodebarang & "'" com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = sql Set rs = com.execute If rs(0) = 1 Then ada = True

164 251 adabarang = ada End Function Private Sub cmdadd_click() txtno.text = "" CboTgl.Text = "" CboBln.Text = "" CboThn.Text = "" CboFaktur = "" setenabledtext (True) txtno.setfocus action = 1 cmdprev.enabled = False cmdnext.enabled = False cmdlast.enabled = False cmdfirst.enabled = False cmdsave.enabled = True cmdcancel.enabled = True cmdupdate.enabled = False cmddelete.enabled = False End Sub Private Sub cmdback_click() Unload Me Load frmsuratjalan frmsuratjalan.show End Sub Private Sub cmdcancel_click() setenabledtext (False) settext cmdadd.enabled = True cmdupdate.enabled = True cmddelete.enabled = True cmdsave.enabled = False cmdcancel.enabled = False cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True cmdfirst.enabled = True End Sub Private Sub cmddelete_click() Dim com As New ADODB.Command Dim sql As String If MsgBox("Hapus Data?", vbyesno + vbquestion) = vbyes Then sql = "delete from surat_jalan where no_surat='" & Trim(txtKode.Text) & "'" com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = sql com.execute rs.requery rs.movefirst settext

165 252 End Sub Private Sub cmdsave_click() Dim com As New ADODB.Command Dim sql As String If isitanggal Then If validasitext Then validtgl = validasitanggal(cint(cbotgl.text), CInt(CboBln.Text), CInt(CboThn.Text)) If validtgl Then Dim tgl As String tgl = CboTgl.Text & "-" & CboBln.Text & "-" & CboThn.Text Select Case action Case 1: 'buat add sql = "insert into surat_jalan values(" & _ "'" & Trim(txtNo.Text) & "','" & Trim(CboFaktur.Text) & "','" & tgl & "'" com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = sql If adabarang(txtno.text) Then MsgBox "Nomor Surat Jalan Sudah Ada" Exit Sub Else com.execute sql = "select * from surat_jalan" com.commandtext = sql Set rs = com.execute rs.movefirst settext Case 2: 'buat update sql = "update surat_jalan " & _ "set no_surat='" & Trim(txtNo.Text) & "',no_faktur_penj='" & Trim(CboFaktur.Text) & "', tgl_keluar = '" & tgl & "'" & _ " where no_surat='" & kodebrg & "'" com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = sql If Not (Trim(txtNo.Text) = Trim(kodeBrg)) Then If adabarang(txtno.text) Then MsgBox "Nomor Surat Jalan Sudah Ada" Exit Sub Else com.execute Else com.execute sql = "select * from surat_jalan" com.commandtext = sql Set rs = com.execute settext End Select

166 253 cmdprev.enabled = True cmdnext.enabled = True cmdlast.enabled = True cmdfirst.enabled = True cmdadd.enabled = True cmdupdate.enabled = True cmdcancel.enabled = False cmdsave.enabled = False cmddelete.enabled = True setenabledtext (False) End Sub Public Sub settext() txtno.text = Trim(rs(0)) CboFaktur.Text = Trim(rs(1)) CboTgl.Text = Day(rs(2)) CboBln.Text = Month(rs(2)) CboThn.Text = Year(rs(2)) End Sub Public Sub setenabledtext(nil As Boolean) txtno.enabled = nil CboFaktur.Enabled = nil CboTgl.Enabled = nil CboBln.Enabled = nil CboThn.Enabled = nil End Sub Private Sub cmdfirst_click() If Not (rs.eof Or rs.bof) Then rs.movefirst settext End Sub Private Sub cmdlast_click() If Not (rs.bof) Or Not (rs.eof) Then rs.movelast settext End Sub Private Sub cmdnext_click() If Not (rs.eof Or rs.bof) Then rs.movenext If rs.eof Then rs.movelast settext End Sub Private Sub cmdprev_click()

167 254 If Not (rs.eof Or rs.bof) Then rs.moveprevious If rs.bof Then rs.movefirst settext End Sub Private Sub cmdupdate_click() setenabledtext (True) txtno.setfocus action = 2 kodebrg = txtkode.text cmdprev.enabled = False cmdnext.enabled = False cmdlast.enabled = False cmdfirst.enabled = False cmdsave.enabled = True cmdcancel.enabled = True cmdadd.enabled = False cmddelete.enabled = False End Sub Private Sub Form_Load() OpenKoneksi Dim com As New ADODB.Command com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from surat_jalan" Set rs = com.execute cmdfirst_click If Not (rs.eof) Or Not (rs.bof) Then settext setenabledtext (False) Else MsgBox "Data Kosong" cmdupdate.enabled = False cmddelete.enabled = False Dim rsfaktur As ADODB.Recordset com.commandtext = "select no_faktur_penj from penjualan_header" Set rsfaktur = com.execute Do While Not rsfaktur.eof CboFaktur.AddItem rsfaktur(0) rsfaktur.movenext Loop Dim i As Integer For i = 1 To 31 CboTgl.AddItem i Next i For i = 1 To 12 CboBln.AddItem i Next i For i = 1990 To 2010 CboThn.AddItem i

168 255 Next i frmeditsuratjalan.left = 0 frmeditsuratjalan.top = 0 End Sub Private Sub Form_Unload(Cancel As Integer) closekoneksi End Sub Form dbase Surat Jalan Private Sub Command1_Click() Dim pass As String pass = InputBox("Masukkan Password:", "PT. IPPACHI KARYA SUKSES") If ceklogin(pass) Then Load frmeditsuratjalan frmeditsuratjalan.show Unload Me End Sub Private Sub Form_Load() OpenKoneksi Dim com As New ADODB.Command com.activeconnection = con_ com.commandtype = adcmdtext com.commandtext = "select * from surat_jalan order by no_surat" Set MSHFlexGrid1.DataSource = com.execute closekoneksi frmsuratjalan.left = 0 frmsuratjalan.top = 0 End Sub Form Output Surat Jalan Begin Read suratjalan record, penjualan record, trpesananproduksiheader record, trpesananproduksidetail record, barangjadi record, pembeli record, daftarteleponpembeli record DoWhile more records exist Display nosuratjalan, tglsuratjalan, nokendaraan, nofakturpenjualan, nopro, kodepembeli, perusahaanpembeli,uppembeli, alamatpembeli, teleponpembeli, kodebarang, namabarang, satuanbarang,ketbarang, jumlahbarang, ketfinishing Read suratjalan record, penjualan record, trpesananproduksiheader record, trpesananproduksidetail record, barangjadi record, pembeli record, daftarteleponpembeli record EndDo End Form Pembayaran Penjualan Begin If SSTabInputPembayaranPenjualan Then Call SSTab Input Pembayaran Penjualan Else If SSTabViewAllPembayaranPenjualan Then Call SSTabView All Pembayaran Penjualan Else

169 256 If BackToMenuUtama Then Close Form Pembayaran Penjualan Call Form Menu Utama EndIf EndIf EndIf End Form Laporan Pembelian Begin If BackToMenuUtama Then Close Form Laporan Pembelian Call Form Menu Utama Else If Cmd_View Then Get DTPicker1, DTPicker2 If DTPicker2<DTPicker1 Then Display message= Date incorrect Else Read trpembelianheader record, Pemasok record Close Form Laporan Pembelian Call Form Laporan CRPembelian EndIf EndIf End Form Laporan Penjualan Begin If BackToMenuUtama Then Close Form Laporan Penjualan Call Form Menu Utama Else If Cmd_View Then Get DTPicker1, DTPicker2 If DTPicker2<DTPicker1 Then Display message= Date incorrect Else Read penjualan record, pembeli record Close Form Laporan Penjualan Call Form Laporan CRPenjualan EndIf EndIf End Form Laporan Pembayaran Penjualan Begin If BackToMenuUtama Then Close Form Laporan Pembayaran Penjualan Call Form Menu Utama Else If Cmd_View Then Get DTPicker1, DTPicker2 If DTPicker2<DTPicker1 Then

170 257 EndIf End Else record EndIf Display message= Date incorrect Read pembayaranpenjualan record, penjualan record, giro record, bank Close Form Laporan Pembayaran Penjualan Call Form Laporan CRPembayaranPenjualan Form Laporan Pembayaran Pembelian Begin If BackToMenuUtama Then Close Form Laporan Pembayaran Pembelian Call Form Menu Utama Else If Cmd_View Then Get DTPicker1, DTPicker2 If DTPicker2<DTPicker1 Then Display message= Date incorrect Else Read pembayaranpembelian record, trpembelianheader record, giro record Close Form Laporan Pembayaran Pembelian Call Form Laporan CRPembayaranPembelian EndIf EndIf End Form Laporan Persediaan Begin If BackToMenuUtama Then Close Form Laporan Persediaan Bahan Call Form Menu Utama Else If Cmd_View Then Read BahanBaku record Close Form Laporan Persediaan Bahan Call Form Laporan CRPersediaan Bahan EndIf End

171 Rancangan Struktur Menu Dalam tahap ini, akan ditampilkan bagan struktur menu dari program atau aplikasi yang telah dibuat. Adapun rancangan struktur menunya adalah sebagai berikut: Gambar 4.45 Struktur Menu

172 STD Gambar 4.46 STD Login

173 260 Gambar 4.47 STD MDIForm Gambar 4.48 STD User

174 261 Gambar 4.49 STD Database Master Staf Pilih Staf Menampilkan Halaman Master Staf Pilih Supplier Menampilkan Halaman Master Supplier Master Supplier Database Master Customer Pilih Customer Menampilkan Halaman Master Customer Pilih Produk Menampilkan Halaman Master Produk Master Produk Gambar 4.50 STD Master Staf

175 262 Gambar 4.51 STD Master Telepon Staf Gambar 4.52 STD Master Handphone Staf

176 Gambar 4.53 STD Master Supplier 263

177 264 Gambar 4.54 STD Master Telepon Supplier Gambar 4.55 STD Master Fax Supplier

178 265 Gambar 4.56 STD Master Customer Gambar 4.57 STD Master Telepon Customer

179 266 Gambar 4.58 STD Master Handphone Customer Gambar 4.59 STD Master Fax Customer

180 267 Gambar 4.60 STD Master Produk

181 Gambar 4.61 STD Transaksi Pembelian 268

182 269 Gambar 4.62 STD Produk Pembelian Gambar 4.63 STD Delivery Order

183 Gambar 4.64 STD Transaksi Persediaan 270

184 271 Gambar 4.65 STD Transaksi Penjualan Gambar 4.66 STD Penjualan Produk

185 Rencana Implementasi Spesifikasi Perangkat Keras Minimum requirement perangkat keras yang diperlukan dalam implementasi aplikasi basisdata pada PT. Ippachi Karya Sukses adalah sebagai berikut : 1. Server Processor : Intel Pentium IV Memory : 512 MB Hardisk : space kosong sebanyak 800 MB Monitor : SVGA 15 Printer : Standar Back up : USB Flash Disk 1 GB Kabel LAN : UTP 2. Client Processor : Intel Pentium Celeron Memory : 256 MB Hardisk : space kosong sebanyak 800 MB Monitor : SVGA 15 Printer : Standar Kabel LAN : UTP

186 Spesifikasi Perangkat Lunak Spesifikasi perangkat lunak yang diperlukan dalam implementasi aplikasi basis data pada PT. Ippachi Karya Sukses adalah sebagai berikut : 1. Server Sistem Operasi Microsoft Windows 2000 Server Database Microsoft SQL Server 2000 v8.0 Microsoft Visual Studio 6.0 Crystal Report v Client Sistem Operasi Microsoft Windows XP Service Pack 2 Database Microsoft SQL Server 2000 v8.0 Microsoft Visual Studio 6.0 Crystal Report v Kebutuhan People (Brainware) Adapun kebutuhan people yang dibutuhkan dalam implementasi aplikasi basis data pada PT. Ippachi Karya Sukses adalah sebagai berikut : 1. Database Administrator, yaitu orang yang bertanggung jawab atas realisasi fisikal pada basis data, termasuk perancangan basis data fisikal dan implementasi, keamanan, dan kontrol integritas, maintenance, sistem

187 274 operasi, dan memastikan kinerja yang baik pada aplikasi agar user dapat menggunakannya dengan baik. 2. Personal Data Entry, yaitu orang yang terlatih untuk memanipulasi data, seperti penambahan, pengubahan dan penghapusan data, dalam hal ini dibagi dalam dua bagian, yaitu inventory dan administrasi. 3. Technical Support, yaitu orang yang tugasnya berorientasi pada masalah-masalah teknis, seperti masalah jaringan dan perangkat keras Jadwal Implementasi Aplikasi basis data yang telah dirancang dijadwalkan untuk diimplementasikan ke dalam perusahaan sebagai pengganti sistem manual. Jadwal implementasi terhadap aplikasi basis data yang diusulkan adalah seperti terlihat pada tabel berikut :

188 275 Kegiatan Tabel 4.45 Jadwal Implementasi Minggu Pembentukan Tim x Instalasi Hardware dan Jaringan x Instalasi Software x Testing x x Training x x Evaluasi sistem x x Cara Pengoperasian Aplikasi Basisdata Aplikasi dimulai dengan mengoperasikan ippachi.exe, kemudian akan ditampilkan layar login. Layar login Gambar 4.67 Menu Login

189 276 Pada layar ini, user diminta untuk memasukkan NIP serta password, dimana NIP menentukan hak akses dari user ke basisdata. Tombol login berfungsi untuk memvalidasi NIP dan password apakah benar atau tidak. Bila benar, halaman menu utama akan muncul. Bila salah, user akan diminta untuk mengisi NIP dan password lagi. Tombol batal digunakan untuk membatalkan login dan keluar dari program. Layar Menu Utama Gambar 4.68 Layar Menu Utama Dalam menu utama, ada tiga menu pokok yang bisa dipilih oleh user sesuai dengan kebutuhan user.

190 277 Gambar 4.69 Layar Menu Utama SubMenu User Pada SubMenu user, user dapat merubah password, logout dari program, atau keluar dari program. Gambar 4.70 Layar Utama SubMenu Database Pada SubMenu database, user dapat memilih database mana yang mau diakses sesuai dengan kebutuhan dan hak akses masing-masing user.

191 278 Gambar 4.71 Layar Utama SubMenu Cetak Pada SubMenu cetak, user dapat mencetak laporan pembelian, laporan penjualan dan laporan persediaan. Layar Ubah Password Gambar 4.72 Layar Ubah Password Pada layar ubah password, user akan diminta untuk memasukkan password lama sebanyak satu kali, kemudian password baru yang dikehendaki sebanyak dua kali. Tombol simpan berfungsi untuk

192 279 menyimpan password baru yang telah dimasukkan. Tombol batal digunakan untuk membatalkan pengubahan password. Layar Menu Database Produk Gambar 4.73 Layar Menu Database Produk Pada layar produk, user dapat melihat data produk yang ada. Tombol edit digunakan untuk masuk ke dalam submenu edit database produk

193 280 Layar Edit Database Produk Gambar 4.74 Layar Edit Database Produk Pada menu edit database produk, user dapat mengubah, menambahkan, atau menghapus data produk yang ada di database. Tombol <<, <, >, >>, berfungsi untuk melihat produk sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambah produk baru ke dalam database. Tombol update berfungsi untuk mengupdate data dari produk yang sedang dipilih. Tombol hapus digunakan untuk menghapus data produk yang sedang dipilih. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database produk.

194 281 Layar Menu Database Staf Gambar 4.75 Menu Database Staff Pada menu database staf ini, user dapat melihat data staff yang bekerja di PT. Ippachi Karya Sukses. Tombol edit berfungsi untuk mengedit database staff ini.

195 282 Layar Edit Database Staff Gambar 4.76 Edit Staff Pada menu edit database staf, user dapat menambah atau mengupdate atau menghapus data staf dari database. Tombol <<, <, >, >>, berfungsi untuk melihat data staf sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambahkan staf baru ke dalam database. Tombol update berfungsi untuk mengupdate data dari staf yang sedang dipilih. Tombol hapus digunakan untuk menghapus data staf yang sedang dipilih. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database staf.

196 283 Layar Menu Database Customer Gambar 4.77 Menu Database Customer Pada menu database customer, user dapat melihat data customer yang ada di database. Tombol edit berfungsi untuk mengedit database customer.

197 284 Layar Edit Database Customer Gambar 4.78 Layar Edit Database Customer Pada menu edit database customer, user dapat menambahkan atau menghapus atau mengupdate data customer yang ada di database. Tombol <<, <, >, >>, berfungsi untuk melihat data customer sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambah customer baru ke dalam database. Tombol update berfungsi untuk mengupdate data dari customer yang sedang dipilih. Tombol hapus digunakan untuk menghapus data customer yang sedang dipilih. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database customer.

198 285 Layar Database Pembelian Gambar 4.79 Layar Menu Database Pembelian Pada menu database pembelian, user dapat melihat transaksi pembelian barang yang dilakukan PT. Ippachi Karya Sukses. Tombol edit berfungsi utuk mengedit database pembelian.

199 286 Layar Edit Database Pembelian Gambar 4.80 Layar Edit Database Pembelian Pada menu edit database pembelian, user dapat menambahkan data order pembelian yang akan dilakukan ke dalam database. Terdapat dua bagian utama pada menu ini yaitu pembelian header serta pembelian detil. Tombol <<, <, >, >>, berfungsi untuk melihat data pembelian header maupun detail sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambah data pembelian header atau pembelian detil baru ke dalam database. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Tombol tambah detil

200 287 berfungsi untuk mengaktifkan pembelian detil sehingga bisa ditambah datanya. Tombol selesai tambah detil digunakan untuk menyudahi penambahan detil. Tombol # digunakan untuk mengkalkulasi total harga pembelian. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database pembelian. Layar Menu Database Penerimaan Gambar 4.81 Layar Menu Database Penerimaan Pada menu database penerimaan, user dapat melihat data penerimaan barang yang ada di database. Tombol edit digunakan untuk mengedit database penerimaan.

201 288 Layar Edit Database Penerimaan Gambar 4.82 Layar Edit Database Penerimaan Barang Pada menu ini, user dapat menambah atau mengupdate atau menghapus data penerimaan barang yang ada di database. Tombol <<, <, >, >>, berfungsi untuk melihat data penerimaan barang sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambah data penerimaan barang baru ke dalam database. Tombol update berfungsi untuk mengupdate data penerimaan barang yang sedang dipilih. Tombol hapus digunakan untuk menghapus data penerimaan barang yang sedang dipilih. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database penerimaan barang.

202 289 Layar Menu Database Penjualan Gambar 4.83 Layar Menu Database Penjualan Barang Pada menu database penjualan barang, user dapat melihat data transaksi penjualan yang ada di database. Tombol edit digunakan utnuk mengedit database penjualan barang.

203 290 Layar Edit Database Penjualan Gambar 4.84 Layar Edit Database Penjualan Pada menu edit database penjualan, user dapat menambahkan data transaksi penjualan yang akan dilakukan ke dalam database. Terdapat dua bagian utama pada menu ini yaitu penjualan header serta penjualan detil. Tombol <<, <, >, >>, berfungsi untuk melihat data penjualan header maupun detail sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambah data penjualan header atau pembelian detil baru ke dalam database. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Tombol tambah detil berfungsi untuk mengaktifkan penjualan detil sehingga bisa ditambah

204 291 datanya. Tombol selesai tambah detil digunakan untuk menyudahi penambahan detil. Tombol # digunakan untuk mengkalkulasi total harga penjualan. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database penjualan. Layar Menu Database Persediaan Barang Gambar 4.85 Layar Menu Database Persediaan Barang Pada menu database persediaan barang, user dapat melihat data persediaan barang yang ada di database. Tombol edit berfungsi untuk mengedit database persediaan barang.

205 292 Layar Edit Database Persediaan Barang Gambar 4.86 Layar Edit Persediaan Barang Pada menu ini, user dapat mengupdate data jumlah barang produk yang dipilih. Tombol <<, <, >, >>, berfungsi untuk melihat data produk sebelum atau selanjutnya. Tombol update berfungsi untuk mengupdate data produk yang sedang dipilih. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Dan tombol Kembali digunakan untuk kembali ke menu database persediaan barang..

206 293 Layar Menu Database Supplier Gambar 4.87 Layar Menu Database Supplier Pada menu database supplier, user dapat melihat data supplier yang ada di database. Tombol edit berfungsi untuk mengedit database supplier.

207 294 Layar Edit Database Supplier Gambar 4.88 Layar Edit Database Supplier Pada menu ini, user dapat menambah atau mengupdate atau menghapus data supplier yang ada di database. Tombol <<, <, >, >>, berfungsi untuk melihat data supplier sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambah supplier baru ke dalam database. Tombol update berfungsi untuk mengupdate data dari supplier yang sedang dipilih. Tombol hapus digunakan untuk menghapus data supplier yang sedang dipilih. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database supplier.

208 295 Layar Menu Database Surat Jalan Gambar 4.89 Layar Menu Database Surat Jalan Pada menu ini, user dapat melihat data surat jalan yang ada di database. Tombol edit berfungsi unutk mengedit data surat jalan.

209 296 Layar Edit Database Surat Jalan Gambar 4.90 Layar Edit Database Surat Jalan Pada menu ini, user dapat menambah atau mengupdate atau menghapus data surat jalan yang ada di database. Tombol <<, <, >, >>, berfungsi untuk melihat data surat jalan sebelum atau selanjutnya. Tombol tambah, digunakan untuk menambah surat jalan baru ke dalam database. Tombol update berfungsi untuk mengupdate data dari surat jalan yang sedang dipilih. Tombol hapus digunakan untuk menghapus data surat jalan yang sedang dipilih. Tombol simpan berfungsi untuk menyimpan data yang diedit oleh user. Tombol batal befungsi untuk membatalkan data yang di edit oleh user. Dan tombol Kembali ke menu database digunakan untuk kembali ke menu database surat jalan.

210 297 Layar Menu Cetak Laporan Pembelian Gambar 4.91 Layar Menu Cetak Laporan Pembelian Pada menu ini, user dapat mengedit dan mencetak laporan pembelian yang diperlukan.

211 298 Layar Menu Cetak Laporan Penjualan Gambar 4.92 Layar Menu Cetak Laporan Penjualan Pada menu ini, user dapat mengedit dan mencetak laporan penjualan yang diperlukan.

212 299 Layar Menu Cetak Laporan Persediaan Gambar 4.93 Layar Menu Cetak Laporan Persediaan Pada menu ini, user dapat mengedit dan mencetak laporan persediaan yang diperlukan.

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENJUALAN, DAN PERSEDIAAN PADA PT. IPPACHI

Lebih terperinci

BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI SISTEM. Proses perancangan sistem basis data yang dibuat meliputi perancangan konseptual,

BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI SISTEM. Proses perancangan sistem basis data yang dibuat meliputi perancangan konseptual, BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI SISTEM 4.1 Perancangan Sistem Basis Data Proses perancangan sistem basis data yang dibuat meliputi perancangan konseptual, perancangan logikal, dan perancangan

Lebih terperinci

BAB 4 PERANCANGAN SISTEM YANG DIUSULKAN. enterprise, terbebas dari semua pertimbangan fisik Identifikasi Tipe-tipe Entiti

BAB 4 PERANCANGAN SISTEM YANG DIUSULKAN. enterprise, terbebas dari semua pertimbangan fisik Identifikasi Tipe-tipe Entiti BAB 4 PERANCANGAN SISTEM YANG DIUSULKAN 4.1 Rancangan Basis Data 4.1.1 Perancangan Basis Data Konseptual Proses membangun model informasi yang digunakan dalam sebuah enterprise, terbebas dari semua pertimbangan

Lebih terperinci

BAB 4 RANCANGAN SISTEM YANG DIUSULKAN

BAB 4 RANCANGAN SISTEM YANG DIUSULKAN BAB 4 RANCANGAN SISTEM YANG DIUSULKAN 4.1 Tata Laksana yang dirancang Rancangan tata laksana pada PT. Solusi Corporindo Teknologi adalah sebagai berikut: 4.1.1 Tata Laksana Penjualan Pelanggan yang tertarik

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI. terdiri dari 3 (tiga) tahap perancangan yaitu : 1. Perancangan basisdata konseptual

BAB 4 PERANCANGAN DAN IMPLEMENTASI. terdiri dari 3 (tiga) tahap perancangan yaitu : 1. Perancangan basisdata konseptual BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Basisdata Perancangan basisdata ini bertujuan supaya dapat membantu memecahkan permasalahan yang dihadapi oleh PT Asuransi Jiwasraya. Perancangan basisdata

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI. 1. Perancangan database konseptual (conceptual database design).

BAB 4 PERANCANGAN DAN IMPLEMENTASI. 1. Perancangan database konseptual (conceptual database design). BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Database Perancangan yang dilakukan pada Binus University dibagi menjadi tiga tahapan, yaitu : 1. Perancangan database konseptual (conceptual database

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 8 BAB 2 LANDASAN TEORI 2.1 Pengertian Database Menurut Connolly (2010, p65), database adalah kumpulan data dan deskripsi data yang terhubung secara logika serta dirancang untuk memenuhi kebutuhan informasi

Lebih terperinci

BAB 3 METODOLOGI. 3.1 Metodologi Berikut ini merupakan flowchart kerangka keseluruhan untuk melakukan penelitian.

BAB 3 METODOLOGI. 3.1 Metodologi Berikut ini merupakan flowchart kerangka keseluruhan untuk melakukan penelitian. BAB 3 METODOLOGI 3.1 Metodologi Berikut ini merupakan flowchart kerangka keseluruhan untuk melakukan penelitian. M u lai Studi Pustaka Pengum pulan Data Identifikasi M asalah Analisa Sistem Pengem bangan

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI. Langkah selanjutnya yang perlu dilakukan adalah perancangan basis data yang dibagi

BAB 4 PERANCANGAN DAN IMPLEMENTASI. Langkah selanjutnya yang perlu dilakukan adalah perancangan basis data yang dibagi BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Basis Data Langkah selanjutnya yang perlu dilakukan adalah perancangan basis data yang dibagi kedalam 3 tahapan, yaitu : 1. Perancangan Basis Data Konseptual

Lebih terperinci

BAB 4 PERANCANGAN BASIS DATA DAN IMPLEMENTASI. Untuk membuat perencanaan basis data yang baik harus melalui beberapa tahapan

BAB 4 PERANCANGAN BASIS DATA DAN IMPLEMENTASI. Untuk membuat perencanaan basis data yang baik harus melalui beberapa tahapan BAB 4 PERANCANGAN BASIS DATA DAN IMPLEMENTASI 4.1 Database Planing Untuk membuat perencanaan basis data yang baik harus melalui beberapa tahapan yang ada, tahapan-tahapan tersebut adalah : 4.1.1 Mission

Lebih terperinci

BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM BASIS DATA

BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM BASIS DATA BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM BASIS DATA 3.1 Analisis Berikut ini adalah proses analisis untuk mendapatkan informasi-infomasi yang dibutuhkan terkait perancangan basis data PT. Mulia

Lebih terperinci

Basisdata, sistem basisdata, perancangan sistem basisdata.

Basisdata, sistem basisdata, perancangan sistem basisdata. UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Program Studi Ilmu Komputer Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 ANALISIS DAN PERANCANGAN SISTEM BASISDATA PENJUALAN PADA PD. CAHAYA

Lebih terperinci

BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI. Teori umum yang dibahas dalam penulisan skripsi ini mencakup teori sistem

BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI. Teori umum yang dibahas dalam penulisan skripsi ini mencakup teori sistem BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI 4.1 Perancangan Basis Data Teori umum yang dibahas dalam penulisan skripsi ini mencakup teori sistem basis data, Database Management System (DBMS), Database

Lebih terperinci

BAB IV PERANCANGAN DAN IMPLEMENTASI

BAB IV PERANCANGAN DAN IMPLEMENTASI 78 BAB IV PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Sistem Basis Data Perancangan sistem basis data dibagi menjadi 3 tahap yaitu perancangan basis data konseptual, perancangan basis data logikal, dan

Lebih terperinci

BAB 4 PERANCANGAN SISTEM BASIS DATA

BAB 4 PERANCANGAN SISTEM BASIS DATA BAB 4 PERANCANGAN SISTEM BASIS DATA 4.1 Gambaran Posisi UMAS Gambar 4.1 Gambaran Posisi UMAS (1) Keterangan: : Jika aplikasi tidak memerlukan approval : Jika aplikasi memerlukan approval Jika transaksi

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM BASISDATA PEMBELIAN DAN PERSEDIAAN PADA PT. INDO PRIMA FOODS

ANALISIS DAN PERANCANGAN SISTEM BASISDATA PEMBELIAN DAN PERSEDIAAN PADA PT. INDO PRIMA FOODS UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006 ANALISIS DAN PERANCANGAN SISTEM BASISDATA PEMBELIAN DAN PERSEDIAAN PADA PT. INDO PRIMA FOODS

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008 ANALISA DAN PERANCANGAN BASISDATA PEMBELIAN DAN PENJUALAN PT.SINAR JAYA SUKSES MANDIRI ANTON

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI

BAB 4 PERANCANGAN DAN IMPLEMENTASI BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1. Perancangan Database Sebuah struktur pendekatan yang menggunakan prosedur, teknik, peralatan, dan dokumentasi yang bertujuan untuk mendukung dan memfasilitaskan

Lebih terperinci

UNIVERSITAS BINA NUSANTARA

UNIVERSITAS BINA NUSANTARA UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Genap tahun 2003/2004 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN PT. SUMBER DATA

Lebih terperinci

BAB 4 PERANCANGAN DATABASE DAN APLIKASI. 1. Perancangan konseptual. 2. Perancangan logikal. 3. Perancangan fisikal Pengidentifikasi Entitas

BAB 4 PERANCANGAN DATABASE DAN APLIKASI. 1. Perancangan konseptual. 2. Perancangan logikal. 3. Perancangan fisikal Pengidentifikasi Entitas 71 BAB 4 PERANCANGAN DATABASE DAN APLIKASI 4.1 Tahapan Perancangan Database Perancangan database yang dilakukan sesuai dengan kebutuhan informasi yang telah diidentifikasi pada Hotel Pandu Lakeside. Perancangan

Lebih terperinci

UNIVERSITAS BINA NUSANTARA ANALISIS DAN PERANCANGAN SISTEM BASISDATA PEMBELIAN, PERSEDIAAN, DAN PENJUALAN PADA CV. HARTAMA PARTINDO PERKASA

UNIVERSITAS BINA NUSANTARA ANALISIS DAN PERANCANGAN SISTEM BASISDATA PEMBELIAN, PERSEDIAAN, DAN PENJUALAN PADA CV. HARTAMA PARTINDO PERKASA UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 ANALISIS DAN PERANCANGAN SISTEM BASISDATA PEMBELIAN, PERSEDIAAN, DAN PENJUALAN PADA CV. HARTAMA

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006 ANALISIS DAN PERANCANGAN BASISDATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN

Lebih terperinci

UNIVERSITAS BINA NUSANTARA ANALISIS DAN PERANCANGAN BASIS DATA PENJUALAN, PEMBELIAN, DAN PERSEDIAAN BARANG PADA PT. INDO BUANA LESTARI

UNIVERSITAS BINA NUSANTARA ANALISIS DAN PERANCANGAN BASIS DATA PENJUALAN, PEMBELIAN, DAN PERSEDIAAN BARANG PADA PT. INDO BUANA LESTARI UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Jenjang Pendidikan Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006 ANALISIS DAN PERANCANGAN BASIS DATA PENJUALAN, PEMBELIAN, DAN

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Ganjil Tahun 2005/2006

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Ganjil Tahun 2005/2006 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Ganjil Tahun 2005/2006 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PERSEDIAAN, DAN

Lebih terperinci

Analisis dan Perancangan Sistem Basis Data pada PT. Siemens Indonesia Departemen Sales, Service dan Commercial

Analisis dan Perancangan Sistem Basis Data pada PT. Siemens Indonesia Departemen Sales, Service dan Commercial UNIVERSITAS BINA NUSANTARA Jurusan Teknik Infromatika Skripsi Sarjana Komputer Semester Genap tahun 2005 / 2006 Analisis dan Perancangan Sistem Basis Data pada PT. Siemens Indonesia Departemen Sales, Service

Lebih terperinci

INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom

INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom INTEGRITAS DAN KEAMANAN DATA Gentisya Tri Mardiani, S.Kom., M.Kom Integritas Data Integritas data mengacu pada konsistensi dan akurasi data yang disimpan di dalam basis data. Batasan Integritas Data (Data

Lebih terperinci

BAB 4 Perancangan Sistem Basis Data

BAB 4 Perancangan Sistem Basis Data BAB 4 Perancangan Sistem Basis Data 4.1 Usulan Prosedur Baru 4.1.1 Prosedur Penilaian Sekolah SMK IT Prima Unggul memiliki standar penilaian yang digunakan untuk mengukur setiap guru pada sekolah. Terlebih

Lebih terperinci

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL Model data relasional diperkenankan oleh Codd pada tahun 1970. Didasarkan pada suatu struktur data yang sederhana dan seragam (uniform), yaitu : Relasi

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA Pengertian Sistem Manajemen Basis Data Data Definition Language (DDL)

BAB 2 TINJAUAN PUSTAKA Pengertian Sistem Manajemen Basis Data Data Definition Language (DDL) BAB 2 TINJAUAN PUSTAKA 2.1. Teori yang Berkaitan dengan Basis Data 2.1.1. Pengertian Basis Data Menurut Connolly dan Begg (2010,p65), basis data adalah kumpulan data yang saling berhubungan secara logis

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Jenjang Pendidikan Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Jenjang Pendidikan Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Jenjang Pendidikan Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 ANALISA DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENJUALAN,

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI

BAB 4 PERANCANGAN DAN IMPLEMENTASI BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Sistem Setelah melakukan interview dan analisis pada sistem yang sudah berjalan, maka akan dilakukan perubahan sistem yang terdahulu digunakan. Sistem

Lebih terperinci

BAB 2 LANDASAN TEORI. beberapa pakar. Definisi tersebut antara lain yaitu : dari beberapa file dokumen yang terhubung secara logis.

BAB 2 LANDASAN TEORI. beberapa pakar. Definisi tersebut antara lain yaitu : dari beberapa file dokumen yang terhubung secara logis. 6 BAB 2 LANDASAN TEORI 2.1 Pengertian Basis Data Ada beberapa macam definisi tentang basis data yang disampaikan oleh beberapa pakar. Definisi tersebut antara lain yaitu : Menurut O Brien (2002, p.166)

Lebih terperinci

UNIVERSITAS BINA NUSANTARA

UNIVERSITAS BINA NUSANTARA UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2004/2005 ANALISIS DAN PERANCANGAN BASIS DATA PEMBELIAN DAN PENJUALAN BARANG PADA PT DAVINCI KERAMINDO

Lebih terperinci

BAB 4 HASIL DAN BAHASAN. antara lain purchase report, sales report, purchase retur, sales retur. 1. Pengelolahan data (Insert, Update) Customer.

BAB 4 HASIL DAN BAHASAN. antara lain purchase report, sales report, purchase retur, sales retur. 1. Pengelolahan data (Insert, Update) Customer. 70 BAB 4 HASIL DAN BAHASAN 4.1 Definisi Sistem 4.1.1 Mission Statement Tujuan dari pembuatan aplikasi database yang berbasis web ini yaitu untuk integrasi data mempermudah pencatatan transaksi dan laporan

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN. 3.1 Sejarah dan Perkembangan Perusahaan. Perusahaan ini berpusat di Jalan Imam Bonjol km 2,5 (Jalan industri no.

BAB 3 ANALISIS DAN PERANCANGAN. 3.1 Sejarah dan Perkembangan Perusahaan. Perusahaan ini berpusat di Jalan Imam Bonjol km 2,5 (Jalan industri no. BAB 3 ANALISIS DAN PERANCANGAN 3.1 Sejarah dan Perkembangan Perusahaan. PT. Sahabat Jaya Sukses Abadi berdiri sejak awal tahun 1990. Perusahaan ini berpusat di Jalan Imam Bonjol km 2,5 (Jalan industri

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN PADA PT. HARRISMA AGUNG JAYA

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN PADA PT. HARRISMA AGUNG JAYA ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN PADA PT. HARRISMA AGUNG JAYA SKRIPSI Oleh HENDY CAHYADI 1000857411 CHANDRA 1000857576 WIDHI SAPTA 1000858351 Kelas/Kelompok

Lebih terperinci

BAB 4 RANCANGAN SISTEM YANG DIUSULKAN. Bangun Abadi yang meliputi diagram konteks, diagram nol, dan diagram rinci.

BAB 4 RANCANGAN SISTEM YANG DIUSULKAN. Bangun Abadi yang meliputi diagram konteks, diagram nol, dan diagram rinci. BAB 4 RANCANGAN SISTEM YANG DIUSULKAN 4.1 Diagram Aliran Data Berikut ini adalah diagram aliran data yang diusulkan kepada PT. Selaras Bangun Abadi yang meliputi diagram konteks, diagram nol, dan diagram

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI

BAB 4 PERANCANGAN DAN IMPLEMENTASI BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1. Transaksi Berdasarkan kebutuhan pada Sub Divisi MIDI Video Telecast (a) Melakukan pencatatan permintaan fasilitas outdoor. (b) Memasukkan data-data yang diperlukan

Lebih terperinci

BINA NUSANTARA UNIVERSITY

BINA NUSANTARA UNIVERSITY BINA NUSANTARA UNIVERSITY Jurusan Teknik Informatika Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2007/2008 ANALISIS DAN PERANCANGAN BASIS DATA PERSEDIAAN, PENJUALAN

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika. Fakultas Ilmu Komputer. Skripsi Sarjana Komputer. Semester Genap Tahun 2008

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika. Fakultas Ilmu Komputer. Skripsi Sarjana Komputer. Semester Genap Tahun 2008 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Fakultas Ilmu Komputer Skripsi Sarjana Komputer Semester Genap Tahun 2008 ANALISA DAN PERANCANGAN APLIKASI SISTEM BASIS DATA PEMBELIAN, PERSEDIAAN

Lebih terperinci

LAPORAN ANSI SISTEM INFORMASI STOK BARANG MAKANAN

LAPORAN ANSI SISTEM INFORMASI STOK BARANG MAKANAN LAPORAN ANSI SISTEM INFORMASI STOK BARANG MAKANAN SRI WAHYUNI (13111061) IKHLAS ADI PURTA (13111025) PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS MERCU BUANA YOGYAKARTA 2016

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Jenjang Pendidikan Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Jenjang Pendidikan Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Jenjang Pendidikan Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA UNTUK IMPLEMENTASI

Lebih terperinci

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1 BASIS DATA I/2011-GANJIL MODEL RELASIONAL Oleh Team Teaching Database 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1 Konsep-Konsep Model Relasional Model relasional berdasarkan pada konsep relasi dalam matematika

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN. laminating seperti U.V.varnish (memberikan hasil yang mengkilat), blister pack varnish

BAB 3 ANALISIS DAN PERANCANGAN. laminating seperti U.V.varnish (memberikan hasil yang mengkilat), blister pack varnish BAB 3 ANALISIS DAN PERANCANGAN 3.1 Riwayat Perusahaan PT. Kharisma Indah Warna adalah perusahaan yang bergerak di bidang jasa percetakan laminating. Perusahaan ini memproduksi berbagai macam jenis percetakan

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008 ANALISIS DAN PERANCANGAN SISTEM BASISDATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN PADA PT. SPEKTRIS

Lebih terperinci

BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM BASIS DATA Sejarah Organisasi

BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM BASIS DATA Sejarah Organisasi 68 BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM BASIS DATA 3.1 Analisis Kebutuhan 3.1.1 Riwayat Perusahaan 3.1.1.1 Sejarah Organisasi PT Cavenzi Indonesia cabang Plaza Meubel Cawang didirikan pada tanggal

Lebih terperinci

BAB 4 PERANCANGAN BASIS DATA

BAB 4 PERANCANGAN BASIS DATA BAB 4 PERANCANGAN BASIS DATA 4.1 Database Planning Pernyataan Misi : Perancangan basis data berbasis web PT. Tatalogam Lestari bertujuan untuk mempermudah karyawan melihat absensi dan menampilkan daftar

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006 UNIVERSITAS BINA NUSANTARA Abstrak Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006 ANALISIS DAN PERANCANGAN SISTEM BASISDATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN PADA

Lebih terperinci

Metodologi Perancangan basis data secara konseptual

Metodologi Perancangan basis data secara konseptual Metodologi Perancangan basis data secara konseptual Metodologi Perancangan merupakan suatu pendekatan terstruktur yang menggunakan bantuan prosedur, tehnik, tools dan dokumentasi untuk mendukung dan memfasilitasi

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM Pada bab ini akan dibahas mengenai Sistem Informasi Akuntansi Pemesanan dan Penjualan Produk Sophie Martin Cabang BC. Rosida yang meliputi analisa sistem yang sedang berjalan

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisis Sistem yang Berjalan Analisa sistem pada yang berjalan bertujuan untuk mengidentifikasi serta melakukan evaluasi terhadap sistem yang telah ada pada perusahaan.

Lebih terperinci

Pemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf 2010

Pemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf 2010 Pemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010 Tahap Pengembangan Basis Data Model 1 1 2 Topics discussed 3 4 5 6 7 2 Database Design Methodology Topics

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Teori-teori Utama 2.1.1 Basis Data 2.1.1.1 Pengertian Basis Data Menurut Connolly (2002, p14), database adalah suatu kumpulan logikal data yang terhubung satu sama lain, dan deskripsi

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2007/2008

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2007/2008 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2007/2008 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN DAN PERSEDIAAN BAHAN BAKU PADA PO. DELIRA

Lebih terperinci

PERANCANGAN DATABASE 04/07/ :53

PERANCANGAN DATABASE 04/07/ :53 PERANCANGAN DATABASE 04/07/2012 11:53 Konsep Dasar Database Database (basis data) : sistem penyimpanan beragam jenis data dalam sebuah entitas yang besar untuk diolah sedemikian rupa agar mudah dipergunakan

Lebih terperinci

BAB IV PERANCANGAN SISTEM BASIS DATA. 1. Perancangan basis data konseptual (conceptual database design).

BAB IV PERANCANGAN SISTEM BASIS DATA. 1. Perancangan basis data konseptual (conceptual database design). BAB IV PERANCANGAN SISTEM BASIS DATA 4.1 Perancangan Sistem Basis Data Perancangan basis data yang dirancangan untuk aplikasi website MENU MAKANAN SEHAT 1. Perancangan basis data konseptual (conceptual

Lebih terperinci

PERANCANGAN DAN IMPLEMENTASI. dana BPM pada Kelurahan Mangga Besar.

PERANCANGAN DAN IMPLEMENTASI. dana BPM pada Kelurahan Mangga Besar. 1 BAB IV PERANCANGAN DAN IMPLEMENTASI 1.1 Sistem Yang Diusulkan Setelah melakukan survey pada sistem yang sedang berjalan, wawancara dengan karyawan maupun kepala Dewan Kelurahan (Dekel) dan melakukan

Lebih terperinci

BAB 3 ANALISA DAN PERANCANGAN SISTEM BERJALAN

BAB 3 ANALISA DAN PERANCANGAN SISTEM BERJALAN BAB 3 ANALISA DAN PERANCANGAN SISTEM BERJALAN 3.1 Tentang Perusahaan Jakarta Communication Club ( JCC ) 1 Pusat Bahasa adalah lembaga institusi pendidikan yang berdiri sejak 3 Maret 1997. JCC mengalami

Lebih terperinci

: Untuk mencatat semua transaksi yang terjadi. : nama_barang, warna, ukuran, harga, jumlah. 3. Nama Dokumen : Laporan Barang Masuk

: Untuk mencatat semua transaksi yang terjadi. : nama_barang, warna, ukuran, harga, jumlah. 3. Nama Dokumen : Laporan Barang Masuk 64 2. Nama Dokumen : Laporan Bulanan Deskripsi Fungsi Rangkap Atribut : Dokumen yang berisi hasil penjualan setiap bulan. : Untuk mencatat semua transaksi yang terjadi. : Satu : nama_barang, warna, ukuran,

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENYIMPANAN DAN PENJUALAN PADA PT. SOLUSI CORPORINDO TEKNOLOGI SKRIPSI. Oleh

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENYIMPANAN DAN PENJUALAN PADA PT. SOLUSI CORPORINDO TEKNOLOGI SKRIPSI. Oleh ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENYIMPANAN DAN PENJUALAN PADA PT. SOLUSI CORPORINDO TEKNOLOGI SKRIPSI Oleh Lourensius Erico Gunawan 1000845531 Peter 1000843122 Stefano Sanjaya 1000847700

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Teori Umum 2.1.1. Data Menurut Connolly dan Begg (2010, p19), data adalah komponen yang paling penting dalam Database Management System (DBMS), berasal dari sudut pandang end

Lebih terperinci

Database desain juga termasuk diagram ER (Entity-hubungan model). Diagram ER adalah diagram yang membantu merancang database secara efektif dan

Database desain juga termasuk diagram ER (Entity-hubungan model). Diagram ER adalah diagram yang membantu merancang database secara efektif dan Database desain juga termasuk diagram ER (Entity-hubungan model). Diagram ER adalah diagram yang membantu merancang database secara efektif dan efisien. Proses penerapan peraturan untuk desain database

Lebih terperinci

BAB 3. Analisa Kebutuhan dan Perancangan Sistem

BAB 3. Analisa Kebutuhan dan Perancangan Sistem BAB 3 Analisa Kebutuhan dan Perancangan Sistem 3.1 Riwayat Perusahaan 3.1.1 Sejarah dan Bidang Usaha PT. Nexgindo Infotek Solusitama berdiri pada tahun 2003 sebagai sebuah perusahaan yang hanya menyewakan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 5 BAB 2 LANDASAN TEORI 2.1 Sistem Basis Data 2.1.1 Basis Data Menurut Connolly & Begg (2002, p14), basis data adalah suatu koleksi data yang saling berhubungan secara logikal dan sebuah deskripsi data,

Lebih terperinci

BAB 4 PERANCANGAN SISTEM

BAB 4 PERANCANGAN SISTEM BAB 4 PERANCANGAN SISTEM 4.1 DFD 4.1.1 DFD Context Gambar 4.1 DFD Context 59 60 4.1.2 DFD Level 0 Gambar 4.2 DFD Level 0 4.1.3 DFD Level 1 61 62 Gambar 4.3 DFD Level 1 4.2 Perancangan Basis Data Konseptual

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisa Masalah Proses analisa sistem merupakan langkah kedua pada fase pengembangan sistem. Analisa sistem dilakukan untuk mengetahui kelebihan dan kekurangan

Lebih terperinci

UNIVERSITAS BINA NUSANTARA

UNIVERSITAS BINA NUSANTARA UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Program Studi Strata-1 Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PERSEDIAAN, PRODUKSI, DAN

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007 ANALISIS DAN PERANCANGAN BASIS DATA PEMBELIAN, PENJUALAN DAN PERSEDIAAN PADA PT INDRA PLASTIK

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1 Analisis Proses Berbelanja Pada Minimarket Proses berbelanja merupakan langkah-langkah yang terjadi pada minimarket dalam melakukan kegiatan jual beli, dimana pihak

Lebih terperinci

BAB 4 PERANCANGAN SISTEM DAN IMPLEMENTASI

BAB 4 PERANCANGAN SISTEM DAN IMPLEMENTASI BAB 4 PERANCANGAN SISTEM DAN IMPLEMENTASI 4.1 Perancangan Basis Data Pada bagian ini akan dilakukan perancangan basis data yang dilakukan melalui tiga tahap perancangan yaitu: a. Perancangan basis data

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM 3.1. Identifikasi Permasalahan Permasalahan yang dihadapi oleh Sinar Elektronik adalah tidak adanya sistem penjualan dan pembelian yang terintegrasi dengan komputer. Sehingga

Lebih terperinci

3.2.4 Data Flow Diagram Level DFD Level 1 Penjualan. Gambar 3.8 DFD Level 1 Penjualan

3.2.4 Data Flow Diagram Level DFD Level 1 Penjualan. Gambar 3.8 DFD Level 1 Penjualan 78 3.2.4 Data Flow Diagram Level 1 3.2.4.1 DFD Level 1 Penjualan Gambar 3.8 DFD Level 1 Penjualan 79 3.2.4.2 DFD Level 1 Pembelian Gambar 3.9 DFD Level 1 Pembelian 80 3.2.4.3 DFD Level 1 Pembayaran Penjualan

Lebih terperinci

BAB Perancangan Basis Data Konseptual (Conceptual Database Design) 2. Perancangan Basis Data Logikal (Logical Database Design)

BAB Perancangan Basis Data Konseptual (Conceptual Database Design) 2. Perancangan Basis Data Logikal (Logical Database Design) BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Sistem Setelah melakukan survey dan analisis pada sistem yang berjalan pada perpustakaan SMPN 1 Pondok Aren serta melakukan wawancara dengan Kepala Sekolah

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN SISTEM BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Riwayat Perusahaan PT. Bahagia Idkho Mandiri adalah perusahaan yang bergerak dibidang industri kosmetik dengan merk dagang MBK. Logo MBK berupa kembang sepatu

Lebih terperinci

BAB III ANALISA DAN DESAIN

BAB III ANALISA DAN DESAIN BAB III ANALISA DAN DESAIN III.1. Analisa Sistem Yang Sedang Berjalan Dalam perencanaan operasional kerja penjualan produk, penggunaan komputer memegang peranan yang sangat penting yang jauh lebih cepat

Lebih terperinci

BINUS UNIVERSITY. Jurusan Sistem Informasi Skripsi Sarjana Komputer Semester Ganjil Tahun 2007/2008

BINUS UNIVERSITY. Jurusan Sistem Informasi Skripsi Sarjana Komputer Semester Ganjil Tahun 2007/2008 BINUS UNIVERSITY Jurusan Sistem Informasi Skripsi Sarjana Komputer Semester Ganjil Tahun 2007/2008 ANALISA DAN PERANCANGAN SISTEM DATABASE PEMBELIAN, PENJUALAN DAN PERSEDIAAN PADA PT. AUSTRALINDO GRAHA

Lebih terperinci

BAB 2 LANDASAN TEORI. ukuran tujuan atribut dari suatu entitas (James O Brien, 2004, p7).

BAB 2 LANDASAN TEORI. ukuran tujuan atribut dari suatu entitas (James O Brien, 2004, p7). BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian Data Data dapat diartikan sebagai fakta mentah atau hasil pengamatan mengenai kejadian fisik atau transaksi bisnis. Secara lebih spesifik data adalah

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Teori-Teori Database 2.1.1 Database Menurut Connolly & Berg, basis data merupakan kumpulan data yang berhubungan secara logis dan deskripsi data tersebut, yang dirancang untuk

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Teori Basis Data 2.1.1 Pengertian Data Menurut Turban (2003, p2), data ialah fakta yang belum diolah atau gambaran dari transaksi yang ditangkap, direkam, disimpan dan diklasifikasikan.

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 4 BAB 2 LANDASAN TEORI 2.1 Pengertian Data Menurut O brien (2004, p38), data adalah fakta atau observasi mentah, yang biasanya mengenai fenomena fisik atau transaksi bisnis. Menurut McLeod and Schell (2007,

Lebih terperinci

ANALISIS DAN PERANCANGAN BASIS DATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN BARANG PADA PT. AGRO TEKNIKAL INTERNUSA

ANALISIS DAN PERANCANGAN BASIS DATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN BARANG PADA PT. AGRO TEKNIKAL INTERNUSA UNIVERSITAS BINA NUSANTARA Jurusan Teknik Infromatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006 / 2007 ANALISIS DAN PERANCANGAN BASIS DATA PENJUALAN, PEMBELIAN DAN PERSEDIAAN BARANG PADA PT.

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENJUALAN DAN PERSEDIAAN BARANG PADA PT. ENERGITAMA MULTIGUNA SOLUSI SKRIPSI.

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENJUALAN DAN PERSEDIAAN BARANG PADA PT. ENERGITAMA MULTIGUNA SOLUSI SKRIPSI. ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN, PENJUALAN DAN PERSEDIAAN BARANG PADA PT. ENERGITAMA MULTIGUNA SOLUSI SKRIPSI Oleh PETER JOHN / 0800777195 ADITYA DWINANDA / 1000856535 DHEKA RAMADHAN

Lebih terperinci

Universitas Bina Nusantara. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2006/2007

Universitas Bina Nusantara. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2006/2007 Universitas Bina Nusantara Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2006/2007 ANALISA DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN JASA KREDIT KENDARAAN BERMOTOR PADA PT.

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Sistem yang Berjalan Analisa sistem yang berjalan bertujuan untuk mengidentifikasi serta melakukan evaluasi terhadap sistem yang telah ada pada perusahaan.

Lebih terperinci

BAB 1 PENDAHULUAN. akan membuahkan hasil yang maksimal. Di sektor transaksi jual-beli saham. keuntungan yang maksimal dan kerugian yang minimum.

BAB 1 PENDAHULUAN. akan membuahkan hasil yang maksimal. Di sektor transaksi jual-beli saham. keuntungan yang maksimal dan kerugian yang minimum. BAB 1 PENDAHULUAN 1.1 Latar Belakang Informasi menjadi hal penting yang menunjang kehidupan pada saat ini. Akses yang cepat untuk mendapatkan informasi merupakan keinginan tiap individu. Bagi individu

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006 ANALISIS DAN PERANCANGAN SISTEM BASISDATA PENJUALAN DAN PEMBELIAN PADA SAKURA MOTOR Erik Sebastian

Lebih terperinci

UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Fakultas Ilmu komputer Skripsi Sarjana komputer Semester Genap Tahun 2006

UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Fakultas Ilmu komputer Skripsi Sarjana komputer Semester Genap Tahun 2006 UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika Fakultas Ilmu komputer Skripsi Sarjana komputer Semester Genap Tahun 2006 ANALISIS DAN PERANCANGAN DATABASE SISTEM PEMESANAN, PEMBELIAN, PRODUKSI DAN

Lebih terperinci

BAB 4 PERANCANGAN DAN IMPLEMENTASI

BAB 4 PERANCANGAN DAN IMPLEMENTASI BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Basisdata Perancangan basisdata pembelian, persediaan dan penjualan pada CV. Maplesonic Indonesia terdiri dari 3 tahap, yaitu: a. Perancangan basisdata

Lebih terperinci

BAB IV DISKRIPSI PEKERJAAN

BAB IV DISKRIPSI PEKERJAAN BAB IV DISKRIPSI PEKERJAAN Kerja praktek ini dilakukan selama 160 jam pada PT. Sinar Baja Hutama yang bertujuan untuk mengidentifikasi sistem yang ada serta untuk menemukan permasalahan yang terjadi pada

Lebih terperinci

UNIVERSITAS BINA NUSANTARA ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN, PERSEDIAAN DAN PIUTANG PADA PT JABATEX

UNIVERSITAS BINA NUSANTARA ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN, PERSEDIAAN DAN PIUTANG PADA PT JABATEX iv UNIVERSITAS BINA NUSANTARA Jurusan Tehnik Informatika Fakultas Ilmu Komputer Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PENJUALAN, PERSEDIAAN

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.1. Analisa Sistem Yang Berjalan Proses analisa sistem merupakan langkah kedua pada fase pengembangan sistem. Analisa sistem dilakukan untuk mengetahui kelebihan dan

Lebih terperinci

BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN BASIS DATA

BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN BASIS DATA BAB 3 ANALISIS KEBUTUHAN DAN PERANCANGAN BASIS DATA 3.1 Sejarah Perusahaan PT. Flash Mobile adalah perusahaan yang bergerak di bidang jasa telekomunikasi selular nasional berbasis CDMA dengan menggunakan

Lebih terperinci

bergantung pada keberadaan entitas lainnya[9]. relasi yang merekatkan dua entitas adalah bersifat

bergantung pada keberadaan entitas lainnya[9]. relasi yang merekatkan dua entitas adalah bersifat a. Istilah Basis Data Ada beberapa istilah yang berkaitan dengan database[4], yaitu : Entity Entity adalah orang, tempat, kejadian atau konsep yang informasinya direkam. Pada bidang administrasi siswa

Lebih terperinci

BAB IV PERANCANGAN DAN IMPLEMENTASI

BAB IV PERANCANGAN DAN IMPLEMENTASI BAB IV PERANCANGAN DAN IMPLEMENTASI 4.1 Perancangan Basis Data Proses perancangan basis data aplikasi yang diusulkan pada SMAK Abdi Siswa dibagi menjadi 3 tahapan, yaitu : 1. Perancangan Basis Data Konseptual

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Teori-teori tentang Basis Data Aplikasi basis data sudah umum digunakan dalam kehidupan kita sehari-hari. Sebagai contoh, pembelian barang menggunakan kartu kredit, pemesanan tiket

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM. dengan tahapan SDLC, maka tahapan-tahapan yang dilakukan adalah :

BAB III ANALISIS DAN PERANCANGAN SISTEM. dengan tahapan SDLC, maka tahapan-tahapan yang dilakukan adalah : BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Pada bab ini menjelaskan terkait analisis dan perancangan sistem. Sesuai dengan tahapan SDLC, maka tahapan-tahapan yang dilakukan adalah : 1.

Lebih terperinci

Universitas Bina Nusantara. Jurusan Teknik Informatika Program Studi Ilmu Komputer Skripsi Sarjana Komputer Semester Ganjil 2005/2006

Universitas Bina Nusantara. Jurusan Teknik Informatika Program Studi Ilmu Komputer Skripsi Sarjana Komputer Semester Ganjil 2005/2006 Universitas Bina Nusantara Jurusan Teknik Informatika Program Studi Ilmu Komputer Skripsi Sarjana Komputer Semester Ganjil 2005/2006 ANALISIS DAN PERANCANGAN SISTEM BASIS DATA UNTUK PEMBUATAN SINETRON

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PERSEDIAAN, PEMBELIAN, DAN PENJUALAN PADA PT.RAJAWALI PLASTIK SKRIPSI. Oleh. Elisa Junianto

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PERSEDIAAN, PEMBELIAN, DAN PENJUALAN PADA PT.RAJAWALI PLASTIK SKRIPSI. Oleh. Elisa Junianto ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PERSEDIAAN, PEMBELIAN, DAN PENJUALAN PADA PT.RAJAWALI PLASTIK SKRIPSI Oleh Elisa Junianto 0900796812 Hendry 0900810193 Kelas / Kelompok : 07PNT / 10 BINUS UNIVERSITY

Lebih terperinci

Database Design I. TPI4210 Sistem dan Teknologi Informasi

Database Design I. TPI4210 Sistem dan Teknologi Informasi Database Design I TPI4210 Sistem dan Teknologi Informasi Database Design Life Cycle Requirements Definition Conceptual Design Logical Design Physical Design Recap: ANSI/SPARC architecture Requirements

Lebih terperinci

ANALISA DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN DAN PENJUALAN BERBASIS WEB PADA PT. ROMINDO PRIMAVETCOM SKRIPSI. Oleh

ANALISA DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN DAN PENJUALAN BERBASIS WEB PADA PT. ROMINDO PRIMAVETCOM SKRIPSI. Oleh ANALISA DAN PERANCANGAN SISTEM BASIS DATA PEMBELIAN DAN PENJUALAN BERBASIS WEB PADA PT. ROMINDO PRIMAVETCOM SKRIPSI Oleh Nicholas Handy 1000866220 Agus Hariyadi Candra 1000864556 Ronny Santoso 1000865735

Lebih terperinci