93
RANCANGAN SISTEM YANG DIUSULKAN
4.1 Usulan Prosedur Baru
Berdasarkan analisis permasalahan yang dilakukan terhadap sistem yang sedang berjalan pada perusahaan ini, maka diusulkan membangun sistem basisdata terintegrasi yang dapat memenuhi kebutuhan data yang sebelumnya tersebar disistem konvensional yang belum terkoordinasi dengan baik. Dalam menjalankan kegiatan operasional perusahaan usulan pemecahan masalah yang akan diterapkan adalah dengan cara memudahkan user untuk memilih data yang dibutuhkan dan kemudian mentransformasikan data tersebut kedalam suatu basisdata yang sudah terintegrasi yang dapat diakses langsung oleh pemakai sesuai dengan otoritas.
Basisdata ini menyimpan data secara historis sehingga mempermudah pencarian data untuk kegiatan analisis. Waktu yang digunakan dalam pengaksesan data dalam basisdata diharapkan akan lebih singkat dan tepat guna. Selain itu akan dikembangkan juga program aplikasi yang dapat mengakses basisdata yang dibuat. Program ini akan memvalidasi input dari pemakai sehingga diharapkan dapat mengurangi kesalahan yang terjadi dengan sistem yang sedang berjalan. Sehingga karyawan tidak lagi menemukan kesulitan berarti lagi dalam hal mengidentifikasi barang.
Perancangan program ini juga dimaksudkan agar informasi penjualan barang dapat selalu akurat dan tersedia bagi divisi-divisi yang membutuhkan. Program ini
juga dapat mencetak laporan penjualan dan retur penjualan serta laporan pembatalan. Adapun perubahan yang diusulkan pada prosedur penjualan. Perubahan ini akan terjadi karena basis dari sistem penjualan yang sedang berjalan berbeda dengan sistem yang akan dikembangkan. Seperti yang dijelaskan pada bab 1 dimana paper
based system akan di transformasikan menjadi database system. Perubahan yang
terjadi pada prosedur dapat dilihat pada gambar DFD yang akan dibahas pada poin selanjutnya.
4.2 Data Flow Diagram(DFD) yang diusulkan
Gambar 4.3 Diagram Rinci Penjualan Langsung yang diusulkan
Gambar 4.5 Diagram Rinci Retur Penjualan yang diusulkan
Gambar 4.7 Diagram Rinci Pengadaan Barang yang diusulkan
Gambar 4.9 Diagram Rinci Pengeluaran Barang yang diusulkan
4.3 Perancangan Basisdata Konseptual
Proses membangun sebuah rancangan informasi yang digunakan dalam suatu perusahaan yang bebas dari pertimbangan fisikal. Perancangan ini melibatkan pembuatan suatu model data konseptual dari bagian perusahaan dimana kita tertarik pada pemodelan. Model data dibuat dengan menggunakan informasi yang didokumentasikan dalam spesifikasi kebutuhan pengguna. Perancangan basisdata konseptual secara keseluruhan bebas dari rincian implementasi seperti software DBMS sasaran, program aplikasi, bahasa pemrograman, hardware platform, atau pertimbangan fisikal lainnya.
4.3.1 Mengidentifikasi Tipe Entitas
Entitas dari basisdata yang dirancang berdasarkan pada hasil analisis dari DFD pada analisis sistem berjalan. Dari DFD tersebut dapat ditentukan entitas berdasarkan pada data store, proses dan external agent dari DFD tersebut
Entitas awal yang ditentukan berdasarkan pada data store adalah sebagai berikut :
• Penerimaan dari data store penerimaan • Permintaan dari data store permintaan • Penawaran dari data store penawaran • Pemesanan dari data store pemesanan
• PemesananPemasok dari data store pemesananpemasok • Penjualan dari data store faktur penjualan
• Retur penjualan dari data store retur penjualan • Pembatalan dari data store surat pembatalan • Pengiriman dari data store surat jalan • Persediaan Barang dari data store stok
Entitas awal yang ditentukan berdasarkan pada external agent adalah sebagai berikut :
• Pelanggan dari Customer • Pemasok dari Supplier • Kurir dari Ekspedisi
Entitas awal yang ditentukan berdasarkan pada proses adalah sebagai berikut : • Divisi • Merek • Kendaraan • Karyawan • Log
Berikut ini merupakan tabel yang menjelaskan entitas-entitas yang digunakan dalam perancangan, antara lain:
Tabel 4.1 Tabel Tipe Entitas
No Entitas Keterangan Alias Occurence
1 Barang Berisi informasi mengenai barang
Produk Setiap barang dapat dibeli oleh banyak pelanggan dan dapat disuplai oleh banyak pemasok
2 Merek Berisi informasi mengenai merek barang
Setiap merek memiliki banyak barang
3 Karyawan Berisi informasi mengenai data karyawan
Pegawai Karyawan dapat menangani berbagai macam transaksi sesuai dengan divisinya 4 Divisi Berisi informasi
mengenai divisi yang ada di perusahaan
Bagian Setiap divisi memiliki karyawan
5 Pemasok Berisi informasi mengenai data pemasok
Sistem dapat
menambah stok barang melalui beberapa pemasok
6 Permintaan Berisi informasi mengenai permintaan barang dari pelanggan
Permintaan ditangani
oleh satu karyawan 7 Penawaran Berisi informasi
mengenai penawaran barang dari sistem ke pelanggan
berdasarkan permintaan
Pernawaran dibuat oleh satu karyawan
8 Pemesanan Berisi informasi mengenai pemesanan barang dari pelanggan ke sistem berdasarkan penawaran
Pemesanan diperiksa
oleh satu karyawan
9 Pemesanan Pemasok
Berisi informasi mengenai pemesanan barang dari sistem ke pemasok berdasarkan penawaran pemasok
Pemesanan ditangani
oleh satu karyawan
10 Penerimaan Berisi informasi mengenai penerimaan
Penerimaan ditangani
No Entitas Keterangan Alias Occurence barang dari pemesanan
barang ke pemasok
berdasarkan pemesanan ke pemasok
11 Pelanggan Berisi informasi mengenai data pelanggan
Pelanggan dapat
membeli banyak produk, melakukan retur dan pembatalan 12 Penjualan Berisi informasi
mengenai semua penjualan barang kepada pelanggan
Penjualan ditangani
oleh karyawan dan menimbulkan retur dan pengiriman barang 13 ReturPenjualan Berisi informasi
mengenai barang yang dikembalikan oleh pelanggan
Retur penjualan
ditangani oleh karyawan 14 Pembatalan Berisi informasi
mengenai pembatalan penjualan
Pembatalan ditangani
oleh karyawan dan diberikan ke pelanggan 15 Pengiriman Berisi informasi
mengenai pengiriman barang ke pelanggan
Pengiriman ditangani
oleh karyawan
berdasarkan penjualan barang dan melibatkan kendaraan atau kurir 16 Kendaraan Berisi informasi
mengenai alat transportasi yang digunakan untuk pengiriman barang
Mobil Kendaraan digunakan untuk pengiriman
barang dan dikendarai oleh satu karyawan 17 Kurir Berisi informasi
mengenai jasa pengiriman yang digunakan untuk pengiriman barang
Ekspedisi Kurir difungsikan untuk pengiriman barang luar
18 Log Berisi informasi mengenai seluruh transaksi yang dilakukan
karyawan(monitor)
Log menyimpan
seluruh record yang melakukan transaksi
4.3.2 Mengidentifikasi Tipe Relasi
Berikut ini merupakan tabel yang menjelaskan tipe relasi dari entitas yang ada dan multipicity, antara lain:
Tabel 4.2 Tabel Tipe Relasi dan Multiplicity Entitas Multipli
city
Relasi Entitas Multipli
city Karyawan 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 Menangani Menangani Menangani Menangani Menangani Menangani Menangani Menangani Menangani Mengendarai Melibatkan Pemesanan Pembatalan Permintaan Penawaran Pengiriman Penjualan PemesananPemasok ReturPenjualan Penerimaan Kendaraan Log 1..* 0..* 1..* 1..* 1..* 1..* 0..* 0..* 1..* 1..1 0..*
Divisi 1..1 Memiliki Karyawan 1..*
Pemasok 1..* 1..1 Memasok Terlibat Barang PemesananPemasok 1..* 0..* PemesananPem asok 1..1 1..* 0..* Memiliki Melibatkan Melibatkan Penerimaan Barang Pemasok 1..* 1..* 1..1
Penerimaan 1..* Melibatkan Barang 1..*
Permintaan 1..* 1..* Melibatkan Melibatkan Barang Pelanggan 1..* 1..1 Penawaran 1..* 1..* 0..1 Melibatkan Melibatkan Memiliki Barang Pelanggan Permintaan 1..* 1..1 1..1 Pemesanan 1..* 0..1 Melibatkan Memiliki Pelanggan Penawaran 1..1 1..1 Pelanggan 1..1 1..1 Memiliki Melakukan Pembatalan Penjualan 0..* 1..*
Pembatalan 1..* Melibatkan Barang 1..*
Penjualan 1..1 1..1 1..* 0..1 Memiliki Memiliki Melibatkan Memiliki ReturPenjualan Pengiriman Barang Pemesanan 0..* 0..1 1..* 1..1
ReturPenjualan 1..* Melibatkan Barang 1..*
Pengiriman 1..* 1..* 0..1 1..* Menggunakan Melibatkan Memiliki Melibatkan Kendaraan Barang Penjualan Kurir 1..* 1..* 1..1 1..1
Pemasok Barang PemesananPemasok Penjualan Pelanggan ReturPenjualan Karyawan Pengiriman Divisi Pembatalan 1..1 Penerimaan Merek Kendaraan Pemesanan Kurir Penawaran Permintaan Ditangani D itang ani Ditangani Ditangani Ditangani Ditangani Dilakukan Dikendarai Bagian dari Bagian dari Melibatkan M elib a tka n M e liba tk an M elib a tka n M e liba tk an M elib at ka n M e liba tk an M elib a tka n M e ng gun ak a n Melibatkan Me mi lik i Me mi lik i Memiliki M e m iliki M e m iliki Me mi lik i Me mi lik i Melibatkan Melibatkan M e libat ka n Ditangani D ita ng ani 1..1 1..1 1..* 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..1 1..* 1..* 1..1 1..* 1..* 1..* 1..1 1..* 1..* 1..* 1..* 1..1 Me ma so k 1..* 1..* 1..* 1..1 1..1 1..1 1..1 1..1 1..11..1 1..* 0..1 1..1 0..* 0..1 1..* 0..1 0..1 0..* 1..* 1..1 1..1 Log 0..* Melibatkan 1..1 0..1 M e m iliki 1..*
Berikut ini merupakan tabel yang menjelaskan atribut dari masing-masing entitas yang digunakan dalam perancangan, antara lain:
Tabel 4.3 Tabel Atribut
Entitas Atribut Deskripsi Tipe Data &
Ukuran Null Multivalue Karyawan NoKaryawan Password Nama NamaDepan NamaBlkg JenisKelamin TglLahir Alamat Jalan Kelurahan Kecamatan Kota KodePos NoTelp NoHp Email TglMulai Posisi Gaji
Mengidentifikasikan karyawan secara unik Kode sandi karyawan
Nama depan karyawan Nama belakang karyawan Jenis kelamin karyawan Tanggal lahir karyawan Jalan tempat tinggal karyawan Kelurahan tempat tinggal karyawan Kecamatan tempat tinggal karyawan Kota tempat tinggal karyawan Kode pos tempat tinggal karyawan Nomor telepon rumah karyawan Nomor ponsel karyawan
Email Karyawan
Tanggal mulai kerja di perusahaan Jabatan karyawan
Besar gaji karyawan
Karakter (5) Karakter(20) Karakter (20) Karakter (20) Karakter (1) Tanggal Karakter (40) Karakter (20) Karakter (20) Karakter (20) Karakter (5) Karakter (14) Karakter (14) Karakter (30) Tanggal Karakter (20) Angka No No No Yes No No No No No No No Yes Yes Yes No No No No No No No No No No No No No No Yes Yes Yes No No No Log NoLog NamaEvent
Mengidentifikasikan log secara unik Nama log Karakter(12) Karakter(50) No No No No
TglLog Tanggal pembuatan suatu log Tanggal No No Divisi NoDivisi
NamaDivisi
Mengidentifikasikan divisi secara unik Nama divisi Karakter (5) Karakter (20) No No No No Barang NoBarang NamaBarang Deskripsi HargaStandar Jumlah StokMin
Mengidentifikasikan barang secara unik Nama barang
Keterangan tentang barang Harga Standar Jual Barang Jumlah stok barang yang ada
Jumlah stok minimum barang di gudang
Karakter (11) Karakter (30) Karakter (40) Angka Angka Angka No No Yes No No No No No No No No No Merek NoMerek NamaMerek
Mengidentifikasikan Merek barang secara unik Nama Merek barang
Karakter (5) Karakter (20) No No No No Pelanggan NoPelanggan Nama NamaPrsh NamaKP Alamat Jalan Kelurahan Kecamatan Kota KodePos NoTelp NoTelpPrsh NoTelpKP NoHP NoFax Email
Mengidentifikasikan pelanggan secara unik Nama perusahaan
Nama kontak penghubung Alamat jalan perusahaan Kelurahan perusahaan Kecamatan perusahaan Kota perusahaan Kode pos perusahaan Nomor telepon perusahaan
Nomor telepon kontak penghubung Nomor ponsel kontak penghubung Nomor faksimili perusahaan
Karakter (8) Karakter (40) Karakter (40) Karakter (40) Karakter (20) Karakter (20) Karakter (20) Karakter (5) Karakter (14) Karakter (14) Karakter (14) Karakter (14) No No No No No No No No No No No No No No No No No No No No Yes Yes Yes No
EmailPrsh EmailKP
Email perusahaan
Email kontak penghubung
Karakter (30) Karakter (30) Yes Yes Yes Yes Pemasok NoPemasok Nama NamaPem NamaKP Alamat Jalan Kelurahan Kecamatan Kota KodePos NoTelp NoTelpPem NoTelpKP NoHP NoFax Email EmailPrsh EmailKP
Mengidentifikasikan pemasok secara unik Nama pemasok
Nama kontak penghubung Alamat jalan pemasok Kelurahan pemasok Kecamatan pemasok Kota pemasok Kode pos pemasok Nomor telepon pemasok
Nomor telepon kontak penghubung Nomor ponsel kontak penghubung Nomor faksimili pemasok
Email perusahaan
Email kontak penghubung
Karakter (5) Karakter (40) Karakter (40) Karakter (40) Karakter (20) Karakter (20) Karakter (20) Karakter (5) Karakter (14) Karakter (14) Karakter (14) Karakter (14) Karakter (30) Karakter (30) No No No No No No No No No No No No Yes Yes No No No No No No No No Yes Yes Yes No Yes Yes Permintaan NoPermintaan TglPermintaan Deskripsi Status
Nomor surat permintaan dari sistem Tanggal permintaan barang
Keterangan tentang permintaan Status permintaan barang
Karakter (11) Tanggal Karakter(50) Karakter (7) No No Yes No No No No No Penawaran NoPenawaran TglPenawaran Deskripsi Status
Nomor surat penawaran dari sistem Tanggal penawaran barang
Keterangan tentang penawaran Status penawaran barang
Karakter (11) Tanggal Karakter(50) Karakter(7) No No Yes No No No No No
Pemesanan NoPemesanan TglPemesanan Deskripsi Status
Nomor surat pemesanan dari sistem Tanggal pemesanan barang
Keterangan tentang pemesanan Status pemesanan barang
Karakter (11) Tanggal Karakter(50) Karakter (7) No No Yes No No No No No PemesananPem asok NoPemesananPe masok TglPemesananPe masok Deskripsi Status
Nomor faktur pemesanan dari sistem kepada pemasok
Tanggal pemesanan kepada pemasok
Keterangan tentang pemesanan kepada pemasok Status pemesanan barang kepada pemasok
Karakter (11) Tanggal Karakter(50) Karakter (7) No No Yes No No No No No Penerimaan NoPenerimaan TglPenerimaan Deskripsi Status
Nomor penerimaan barang dari pemasok Tanggal penerimaan barang
Keterangan tentang penerimaan barang dari pemasok
Status penerimaan barang dari pemasok
Karakter (11) Tanggal Karakter(50) Karakter(7) No No Yes No No No No No Penjualan NoPenjualan TglPenjualan Deskripsi Status Nomor penjualan Tanggal penjualan
Keterangan tentang penjualan barang Status penjualan barang
Karakter (11) Tanggal Karakter(50) Karakter (7) No No Yes No No No No No ReturPenjualan NoReturPenjuala n TglReturPenjual an Deskripsi Status
Nomor retur penjualan Tanggal penjualan
Keterangan tentang retur penjualan Status retur penjualan
Karakter (11) Tanggal Karakter(50) Karakter (7) No No Yes No No No No No Pembatalan NoPembatalan TglPembatalan Nomor pembatalan Tanggal pembatalan Karakter (11) Tanggal No No No No
Deskripsi Status
Keterangan tentang pembatalan penjualan Status pembatalan penjualan
Karakter(50) Karakter(7) Yes No No No Pengiriman NoPengiriman TglPengiriman Jenis NoResi Deskripsi Status
Nomor surat jalan
Tanggal pengiriman barang Jenis Pengiriman
Nomor bukti pengiriman
Keterangan tentang pengiriman barang Status pengiriman barang
Karakter (11) Tanggal Karakter(1) Karakter(20) Karakter(50) Karakter(7) No No No Yes Yes No No No No No No No Kendaraan NoKendaraan NamaKendaraan JenisKendaraan
Nomor polisi kendaraan Nama kendaraan Jenis kendaraan Karakter (5) Karakter (15) Karakter (10) No No No No No No Kurir NoKurir Nama NamaKur NamaKP Alamat Jalan Kelurahan Kecamatan Kota KodePos NoTelp NoTelpKur NoTelpKP NoHP NoFax Email EmailKurir
Mengidentifikasikan kurir secara unik Nama kurir
Nama kontak penghubung Alamat jalan kurir
Kelurahan kurir Kecamatan kurir Kota kurir Kode pos kurir Nomor telepon kurir
Nomor telepon kontak penghubung Nomor ponsel kontak penghubung Nomor faksimili kurir
Email kurir Karakter (5) Karakter (40) Karakter (40) Karakter (40) Karakter (20) Karakter (20) Karakter (20) Karakter (5) Karakter (14) Karakter (14) Karakter (14) Karakter (14) Karakter (30) No No No No No No No No No No No No Yes No No No No No No No No Yes Yes Yes No Yes
4.3.4 Menentukan Atribut Domain Tabel 4.4 Tabel Atribut Domain
Entitas Atribut Domain
Divisi NoDivisi DXXXX XXXX = nomor (0001-9999) Karyawan NoKaryawan KXXXX XXXX = nomor (0001-9999)
Log NoLog LYYMMDDXXXX XXXX = nomor (00001-99999) Pelanggan NoPelanggan PXXXX XXXX = nomor (0001-9999) Pemasok NoPemasok SXXXX XXXX = nomor (0001-9999) Merek NoMerek MXXXX XXXX = nomor (0001-9999) Barang NoBarang BXXXXXXXXXX XXXXXXXXXX = nomor (0000000001-9999999999) Permintaan NoPermintaan MYYMMDDXXX
YY = tahun MM = bulan DD = tanggal
XXX = nomor (001-999) Penawaran NoPenawaran TYYMMDDXXX
YY = tahun MM = bulan DD = tanggal
XXX = nomor (001-999) PemesananPemasok NoPemesananPemasok OYYMMDDXXX
YY = tahun MM = bulan DD = tanggal
XXX = nomor (001-999) Pembatalan NoPembatalan CYYMMDDXXX
YY = tahun MM = bulan DD = tanggal
XXX = nomor (001-999) Penjualan NoPenjualan JYYMMDDXXX
Entitas Atribut Domain YY = tahun
MM = bulan DD = tanggal
XXX = nomor (001-999) ReturPenjualan NoReturPenjualan RYYMMDDXXX
YY = tahun MM = bulan DD = tanggal
XXX = nomor (001-999) Pengiriman NoSuratJalan NYYMMDDXXX
YY = tahun MM = bulan DD = tanggal
XXX = nomor (001-999)
Kendaraan NoKend Nomor polisi kendaraan
Kurir NoKurir EXXXX
XXXX = nomor (0001-9999)
Pemesanan NoPemesanan PYYMMDDXXX YY = tahun
MM = bulan DD = tanggal
XXX = nomor (001-999) Penerimaan NoPenerimaan GYYMMDDXXX
YY = tahun MM = bulan DD = tanggal
4.3.5 Menentukan Candidate dan Primary Key
Berikut ini merupakan tabel candidate dan primary key dari setiap entitas yang ada, antara lain :
Tabel 4.5 Tabel Candidate dan Primary Key
No Entitas Candidate Key Primary Key
1 Barang NoBarang NamaBarang NoBarang 2 Merek NoMerek NamaMerek NoMerek 3 Karyawan NoKaryawan Password Nama NoKaryawan 4 Log NoLog TglLog NoLog 5 Divisi NoDivisi NamaDivisi NoDivisi 6 Pemasok NoPemasok NamaPemasok NamaKP NoPemasok 7 Pemesanan NoPemesanan TglPemesanan NoPemesanan 8 Penerimaan NoPenerimaan TglPenerimaan NoPenerimaan 9 Pelanggan NoPelanggan NamaPrsh NamaKP NoPelanggan 10 Permintaan NoPermintaan TglPermintaan NoPermintaan 11 Penawaran NoPenawaran TglPenawaran NoPenawaran 12 PemesananPemasok NoPemesananPemaso k TglPemesananPemas ok NoPemesananPemaso k 13 Pembatalan NoPembatalan TglPembatalan NoPembatalan 14 Penjualan NoPenjualan TglPenjualan NoPenjualan 15 ReturPenjualan NoReturPenj TglReturPenj NoReturPenjualan 16 Pengiriman NoPengiriman TglPengiriman NoResi NoPengiriman
No Entitas Candidate Key Primary Key 17 Kendaraan NoKendaraan NamaKendaraan NoKendaraan 18 Kurir NoKurir NamaKurir NamaKP NoKurir
4.3.6 Validasi Model Konseptual Lokal Terhadap Transaksi Pemakai
Model konseptual harus diuji apakah dapat menjalankan transaksi yang diinginkan oleh pengguna. Berikut adalah contoh-contoh transaksi yang dapat divalidasikan terhadap model konseptual lokal :
a. Daftar karyawan yang menerima dan menangani surat permintaan dari pelanggan pada tanggal 10 Desember 2007
b. Daftar karyawan yang membuat surat pembatalan dalam 1 bulan terakhir
c. Daftar karyawan yang membuat surat penawaran kepada pelanggan pada tanggal 11 Desember 2007
d. Daftar karyawan yang menerima dan menangani surat pemesanan dari pelanggan pada tanggal 12 Desember 2007
e. Daftar karyawan yang menangani penerimaan barang dari pemasok pada tanggal 18 Desember 2007
f. Daftar karyawan yang membuat faktur penjualan pada tanggal 19 Desember 2007
g. Daftar karyawan yang menangani pengiriman barang pada tanggal 19 Desember 2007
h. Daftar karyawan yang berada di divisi penerimaan barang i. Daftar supir dan kendaraan yang dimiliki perusahaan j. Daftar retur penjualan yang ditangani oleh Budi k. Daftar barang yang disuplai oleh pemasok Ikheuci
l. Daftar penerimaan barang yang dihasilkan dari pemesanan yang terjadi pada bulan September 2007
m. Daftar barang yang dipesan pada 1 bulan terakhir
n. Daftar pembatalan yang diterima oleh pelanggan PT. Indomobil
o. Daftar penjualan yang dilakukan oleh pelanggan yang berasal dari Batam
p. Daftar barang yang terlibat dalam pembatalan dalam 1 bulan terakhir q. Daftar retur penjualan yang dihasilkan dari penjualan yang terjadi
dalam 1 bulan terakhir
r. Daftar pengiriman barang yang dihasilkan dari penjualan yang terjadi pada bulan September 2007
s. Daftar barang yang terjual pada 1 minggu terakhir
t. Daftar barang yang terlibat dalam retur penjualan pada tanggal 17 November 2007
u. Daftar Kendaraan yang digunakan pada pengiriman tanggal 10 Desember 2007
v. Daftar barang yang bermerek Ikheuci
w. Daftar Barang yang dikirim pada tanggal 10 Desember 2007 x. Daftar Barang yang diterima pada 1 bulan terakhir
y. Daftar penawaran yang dihasilkan dari permintaan yang terjadi dalam 1 bulan terakhir
z. Daftar pemesanan yang dihasilkan dari penawaran yang terjadi dalam 1 bulan terakhir
aa. Daftar retur penjualan yang dihasilkan dari penjualan yang terjadi dalam 1 bulan terakhir
bb. Daftar barang yang diminta oleh pelanggan kepada sistem pada tanggal 10 Desember 2007
cc. Daftar barang yang ditawarkan kepada pelanggan pada tanggal 11 Desember 2007
dd. Daftar pelanggan yang melakukan permintaan pada satu minggu terakhir
ee. Daftar pelanggan yang terlibat dalam pemesanan pada satu minggu terakhir
ff. Daftar Kurir yang terlibat dalam transaksi pengiriman barang pada satu bulan terakhir
gg. Daftar Retur Penjualan yang terlibat dalam permintaan barang hh. Daftar Karyawan yang tercatat pada histori transaksi penjualan ii. Daftar karyawan yang melakukan pemesanan kepada pemasok jj. Daftar pemasok yang terlibat dalam pemesanan
Pemasok Barang PemesananPemasok Penjualan Pelanggan ReturPenjualan Karyawan Pengiriman Divisi Pembatalan Ditangani Penerimaan Merek Kendaraan Pemesanan Kurir Penawaran Permintaan Ditangani Ditangani Ditangani Ditangani Dilakukan Dikendarai Bagian dari Bagian dari Melibatkan Melibatkan Melibatkan Melibatkan Memiliki Melibatkan Melibatkan Ditangani 1..1 NoDivisi NoKaryawan NoPembatalan Diterima NoPermintaan NoPenawaran NoPelanggan NoPenjualan NoPemesanan NoReturPenjualan NoPengiriman NoKurir NoKendaraan NoBarang NoMerek NoPemesananPemasok NoPemasok NoPenerimaan (d) (j) (g) (i) (y) (dd) (ee) (c) (n) (p) (h) (e) (x) (jj) (k) (s) (bb) (f) (kk) (aa) (r) (cc) (t) (u) (ff) (w) (v) (m) (l) (ii) (z) (a) (b) (0) 1..1 0..1 Log NoLog Memiliki (gg) (hh)
Gambar 4.13 ERD Konseptual dengan Validasi Transaksi
4.4 Perancangan Basisdata Logikal
Proses membangun sebuah rancangan informasi yang digunakan dalam suatu perusahaan berbasis pada rancangan data yang spesifik, tetapi masih bebas dari penentuan DBMS dan pertimbangan fisikal yang lain. Sepanjang proses
perkembangan model data logikal, model diuji dan divalidasi terhadap kebutuhan pengguna.
4.4.1 Menghilangkan Fitur yang Tidak Sesuai Dengan Model Relasional 4.4.1.1 Menghilangkan Tipe Relasi Binary Many-to-Many (*:*)
Untuk menghilangkan relasi yang mengandung many-to-many (*:*), relasi tersebut dipecah dengan mengidentifikasikan sebuah entitas baru dan mengganti hubungannya dengan dua buah one-to-many (1:*) relationship.
• Relasi many-to-many antara Pembatalan dan Barang akan menghasilkan entitas baru bernama BarangBatal
Gambar 4.14 Relasi many-to-many antara Pembatalan dan Barang
• Relasi many-to-many antara Penjualan dan Barang akan menghasilkan entitas baru bernama BarangJual
Gambar 4.15 Relasi many-to-many antara Penjualan dan Barang
• Relasi many-to-many antara ReturPenjualan dan Barang akan menghasilkan entitas baru bernama BarangReturJual
Gambar 4.16 Relasi many-to-many antara ReturPenjualan dan Barang
• Relasi many-to-many antara Permintaan dan Barang akan menghasilkan entitas baru bernama BarangMinta
Gambar 4.17 Relasi many-to-many antara Permintaan dan Barang
• Relasi many-to-many antara Penawaran dan Barang akan menghasilkan entitas baru bernama BarangTawar
Gambar 4.18 Relasi many-to-many antara Penawaran dan Barang
• Relasi many-to-many antara Pemesanan dan Barang akan menghasilkan entitas baru bernama BarangPesan
Barang Pemesanan Melibatkan NoPemesanan NoBarang Barang PemesananPemesanan Memiliki NoPemesanan NoBarang BarangPesan HargaPesan Jumlah Merinci 1..* 1..* 1..1 1..* 1..* 1..1
Gambar 4.19 Relasi many-to-many antara Pemesanan dan Barang
• Relasi many-to-many antara PemesananPemasok dan Barang akan menghasilkan entitas baru bernama BarangPesanPemasok
Barang PemesananPemasok Melibatkan NoPemesananPemasok NoBarang Barang PemesananPemasok Memiliki NoPemesananPemasok NoBarang BarangPesan Pemasok HargaPesan Jumlah Merinci 1..* 1..* 1..1 1..* 1..* 1..1
Gambar 4.20 Relasi many-to-many antara PemesananPemasok dan Barang
• Relasi many-to-many antara Pengiriman dan Kendaraan akan menghasilkan entitas baru bernama KendKirim
Gambar 4.21 Relasi many-to-many antara Pengiriman dan Kendaraan
• Relasi many-to-many antara Penerimaan dan Barang akan menghasilkan entitas baru bernama BarangTerima
Gambar 4.22 Relasi many-to-many antara Penerimaan dan Barang
• Relasi many-to-many antara Pengiriman dan Barang akan menghasilkan entitas baru bernama BarangKirim
Gambar 4.23 Relasi many-to-many antara Pengiriman dan Barang
• Relasi many-to-many antara Pemasok dan Barang akan menghasilkan entitas baru bernama BarangMurah
4.4.1.2 Menghilangkan Atribut Multivalue
• Atribut NoTelp pada entitas Karyawan akan menghasilkan entitas baru bernama TelpKaryawan
• Atribut NoHP pada entitas Karyawan akan menghasilkan entitas baru bernama HPKaryawan
• Atribut Email pada entitas Karyawan akan menghasilkan entitas baru bernama EmailKaryawan
Gambar 4.25 Atribut Multivalue pada Entitas Karyawan
• Atribut NoTelpPrsh pada entitas Pelanggan akan menghasilkan entitas baru bernama TelpPrshPelanggan
• Atribut NoTelpKP pada entitas Pelanggan akan menghasilkan entitas baru bernama TelpKPPelanggan
• Atribut NoHP pada entitas Pelanggan akan menghasilkan entitas baru bernama HPPelanggan
• Atribut EmailPrsh pada entitas Pelanggan akan menghasilkan entitas baru bernama EmailPrshPelanggan
• Atribut EmailKP pada entitas Pelanggan akan menghasilkan entitas baru bernama EmailKPPelanggan
Gambar 4.26 Atribut Multivalue pada Entitas Pelanggan
• Atribut NoTelpPrsh pada entitas Pemasok akan menghasilkan entitas baru bernama TelpPrshPemasok
• Atribut NoTelpKP pada entitas Pemasok akan menghasilkan entitas baru bernama TelpKPPemasok
• Atribut NoHP pada entitas Pemasok akan menghasilkan entitas baru bernama HPPemasok
• Atribut EmailPrsh pada entitas Pemasok akan menghasilkan entitas baru bernama EmailPrshPemasok
• Atribut EmailKP pada entitas Pemasok akan menghasilkan entitas baru bernama EmailKPPemasok
Gambar 4.27 Atribut Multivalue pada Entitas Pemasok
• Atribut NoTelpKurir pada entitas Kurir akan menghasilkan entitas baru bernama TelpKurir
• Atribut NoTelpKP pada entitas Kurir akan menghasilkan entitas baru bernama TelpKPKurir
• Atribut NoHP pada entitas Kurir akan menghasilkan entitas baru bernama HPKurir
• Atribut EmailKurir pada entitas Kurir akan menghasilkan entitas baru bernama EmailKurir
• Atribut EmailKP pada entitas Kurir akan menghasilkan entitas baru bernama EmailKP
4.4.2 Menghasilkan Relasi untuk Model Data Logikal Lokal 4.4.2.1 Tipe Entitas Kuat
Tipe-tipe entitas kuat yang didapat dari model data adalah : Karyawan (NoKaryawan, Pasword, NamaDepan,
NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji)
Primary Key NoKaryawan
Divisi (NoDivisi, NamaDivisi) Primary Key NoDivisi
Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin) Primary Key NoBarang
Merek (NoMerek, NamaMerek) Primary Key NoMerek
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax) Primary Key NoPelanggan
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax) Primary Key NoPemasok
PemesananPema sok
(NoPemesananPemasok, TglPemesananPemasok) Primary Key NoPemesananPemasok
Permintaan Primary Key (NoPermintaan, TglPermintaan) NoPermintaan Penawaran Primary Key (NoPenawaran, TglPenawaran) NoPenawaranPemasok Pemesanan Primary Key (NoPemesanan, TglPemesanan) NoPemesanan
Penerimaan (NoPenerimaan, TglPenerimaan) Primary Key NoPenerimaan
Primary Key NoPenjualan
ReturPenjualan (NoReturPenjualan, TglReturPenjualan, Status) Primary Key NoReturPenjualan
Pembatalan (NoPembatalan, TglPembatalan) Primary Key NoPembatalan
Pengiriman (NoPengiriman, TglPengiriman) Primary Key NoPengiriman
Kurir
Primary Key
(NoKurir, NamaKurir, NamaKP, Jalan,
Kelurahan, Kecamatan, Kota, KodePos, NoFax) NoKurir
Kendaraan (NoKendaraan, NamaKendaraan, JenisKendaraan)
Primary Key NoKendaraan
4.4.2.2 Tipe Entitas Lemah
Tipe-tipe entitas lemah yang didapat dari model data adalah : BarangBatal (Jumlah, Alasan)
Primary Key belum ada (untuk saat ini) BarangJual (HargaJual, Jumlah) Primary Key belum ada (untuk saat ini) BarangReturJual (Alasan, Jumlah)
Primary Key belum ada (untuk saat ini) BarangPesanPemasok (Jumlah)
Primary Key belum ada (untuk saat ini) BarangMinta
Primary Key
(Alasan,Jumlah)
belum ada (untuk saat ini) BarangTawarPemasok
Primary Key
(HargaTawarPemasok, Jumlah) belum ada (untuk saat ini) BarangTawar
Primary Key
(HargaTawar, Jumlah) belum ada (untuk saat ini) BarangTerima (Jumlah)
BarangKirim (Jumlah)
Primary Key belum ada (untuk saat ini) BarangMurah
Primary Key
(HargaBarang,Jumlah) belum ada (untuk saat ini) KendKirim belum ada (untuk saat ini) Primary Key belum ada (untuk saat ini) TelpKaryawan (NoTelp)
Primary Key NoTelp
HPKaryawan (NoHP)
Primary Key NoHP
EmailKaryawan (Email) Primary Key Email
TelpPrshPelanggan (NoTelpPrsh) Primary Key NoTelpPrsh TelpKPPelanggan (NoTelpKP) Primary Key NoTelpKP
HPPelanggan (NoHP)
Primary Key NoHP
EmailPrshPelanggan (EmailPrsh) Primary Key EmailPrsh EmailKPPelanggan (EmailKP) Primary Key EmailKP TelpPrshPemasok (NoTelpPrsh) Primary Key NoTelpPrsh TelpKPPemasok (NoTelpKP) Primary Key NoTelpKP
HPPemasok (NoHP)
Primary Key NoHP
EmailPrshPemasok (EmailPrsh) Primary Key EmailPrsh EmailKPPemasok (EmailKP) Primary Key EmailKP
TelpKurir Primary Key (NoTelpKurir) NoTelpKurir TelpKPKurir Primary Key (NoTelpKP) NoTelpKP HPKurir Primary Key (NoHP) NoHP EmailKurir Primary Key (EmailKurir) EmailKurir EmailKP (EmailKP)
Primary Key EmailKP
4.4.2.3 Tipe Relasi Binary One-to-Many (1:*)
Berikut ini adalah relasi-relasi one-to-many (1..*) serta hasil
posting dari entitas-entitas yang berhubungan satu dengan yang lainnya:
1. Relasi antara Divisi dengan Karyawan menghasilkan posting NoDivisi ke entitas Karyawan.
Divisi (NoDivisi, NamaDivisi)
Primary Key NoDivisi
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi References Divisi (NoDivisi)
2. Relasi antara Karyawan dengan PemesananPemasok menghasilkan posting NoKaryawan ke entitas Pembelian.
Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
(NoPemesananPemasok, TglPemesananPemasok, NoKaryawan)
Primary Key
NoPemesananPemasok Foreign Key NoKaryawan references Karyawan (NoKaryawan)
3. Relasi antara Karyawan dengan Penerimaan menghasilkan
posting NoKaryawan ke entitas Penerimaan.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Penerimaan (NoPenerimaan, TglPenerimaan,
NoKaryawan)
Primary Key NoPenerimaan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
4. Relasi antara Karyawan dengan Log menghasilkan posting NoKaryawan ke entitas Log.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Log (NoLog, TglLog, NamaEvent, NoKaryawan) Primary Key NoLog Foreign Key NoKaryawan references Karyawan (NoKaryawan)
5. Relasi antara Karyawan dengan Penjualan menghasilkan posting NoKaryawan ke entitas Penjualan.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Penjualan (NoPenjualan, TglPenjualan, Status, NoKaryawan)
Primary Key NoPenj Foreign Key NoKaryawan references Karyawan (NoKaryawan)
6. Relasi antara Karyawan dengan ReturPenjualan menghasilkan
posting NoKaryawan ke entitas ReturPenjualan.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
ReturPenjulan (NoReturPenjualan, TglReturPenjualan, Status, NoKaryawan) Primary Key NoReturPenjualan
Foreign Key NoKaryawan references Karyawan (NoKaryawan)
7. Relasi antara Karyawan dengan Permintaan menghasilkan posting NoKaryawan ke entitas Permintaan.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Permintaan (NoPermintaan, TglPermintaan, NoKaryawan) Primary Key NoPermintaan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
8. Relasi antara Karyawan dengan Penawaran menghasilkan posting NoKaryawan ke entitas Penawaran.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Penawaran (No Penawaran, TglPenawaran, Status, NoKaryawan)
Primary Key NoPenawaran Foreign Key NoKaryawan references Karyawan (NoKaryawan)
9. Relasi antara Karyawan dengan Pemesanan menghasilkan posting NoKaryawan ke entitas Pemesanan.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Pemesanan (No Pemesanan, Tgl Pemesanan,
NoKaryawan)
Primary Key NoPemesanan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
10. Relasi antara Karyawan dengan Pembatalan menghasilkan
posting NoKaryawan ke entitas Pembatalan.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Pembatalan (NoPembatalan, TglPembatalan, NoKaryawan) Primary Key NoPembatalan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
11. Relasi antara Karyawan dengan Pengiriman menghasilkan
posting NoKaryawan ke entitas Pengiriman.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Pengiriman (NoPengiriman, TglPengiriman, Jenis, NoResi, NoKaryawan)
Primary Key NoPengiriman Foreign Key NoKaryawan references Karyawan (NoKaryawan)
12. Relasi antara Pelanggan dengan Pembatalan menghasilkan
posting NoPelanggan ke entitas Pembatalan.
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos)
Primary Key NoPelanggan
Pembatalan (NoPembatalan, TglPembatalan, NoKaryawan, NoPelanggan)
Primary Key NoPembatalan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
13. Relasi antara Pelanggan dengan Permintaan menghasilkan posting NoPelanggan ke entitas Permintaan.
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos)
Primary Key NoPelanggan
Permintaan (NoPermintaan, Tgl Permintaan,
NoKaryawan, NoPelanggan) Primary Key No Permintaan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
14. Relasi antara Pelanggan dengan Pemesanan menghasilkan posting NoPelanggan ke entitas Pemesanan.
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPelanggan
Pemesanan(No Pemesanan, Tgl Pemesanan, NoKaryawan, NoPelanggan)
Primary Key NoPemesanan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
15. Relasi antara Pelanggan dengan Penjualan menghasilkan
posting NoPelanggan ke entitas Penjualan.
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax) Primary Key NoPelanggan Penjualan (NoPenjualan,
TglPenjualan, Status, NoKaryawan, NoPelanggan)
Primary Key NoPenjualan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
16. Relasi antara Kurir dengan Pengiriman menghasilkan posting NoKurir ke entitas Pengiriman.
Kurir (NoKurir, NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoKurir
Pengiriman (NoPengiriman, TglPengiriman, Jenis, NoResi, NoKaryawan,NoKurir)
Primary Key NoPengiriman Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoKurir references Kurir (NoKurir)
17. Relasi antara Pemasok dengan Pemesanan Pemasok menghasilkan posting NoPemasok ke entitas Pemesanan Pemasok.
Pemasok (NoPemasok, NamaPemasok, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax) Primary Key NoPemasok
Pemesanan Pemasok (NoPemesananPemasok, TglPemesananPemasok, NoPemasok)
Primary Key NoPengiriman Foreign Key NoPemasok references Pemasok (NoPemasok)
18. Relasi antara Karyawan dengan Pemesanan Pemasok menghasilkan posting NoKaryawan ke entitas Pemesanan Pemasok.
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Pemesanan Pemasok (NoPemesananPemasok, TglPemesananPemasok, NoKaryawan,NoPemasok) Primary Key NoPengiriman Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPemasok references Pemasok (NoPemasok)
19. Relasi antara Merek dengan Barang menghasilkan posting NoMerek ke entitas Barang.
Merek (NoMerek, NamaMerek)
Primary Key NoMerek
Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerek)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
4.4.2.4 Tipe Relasi Binary One-to-One (1:1)
Berikut ini adalah relasi-relasi one-to-one (1..1) serta hasil
posting dari entitas-entitas yang berhubungan satu dengan yang lainnya
:
1. Relasi antara Penjualan dengan Pengiriman menghasilkan
posting NoPenjualan ke entitas Pengiriman.
Penjualan (NoPenjualan, TglPenj, Status, NoKaryawan, NoPelanggan)
Primary Key NoPenjualan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
Pengiriman (No Pengiriman, Tgl Pengiriman,
NoKaryawan, NoPenjualan) Primary Key NoPengiriman Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPenjualan references Penjualan (NoPenjualan)
2. Relasi antara Retur Penjualan dengan Permintaan menghasilkan posting NoReturPenjualan ke entitas Permintaan.
ReturPenjulan (NoReturPenjualan, TglReturPenjualan, Status, NoKaryawan,NoPenjualan) Primary Key NoReturPenjualan
Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPenjualan references Penjualan (NoPenjualan)
Permintaan (NoPermintaan, Tgl Permintaan, NoKaryawan, NoPelanggan,NoReturPenjualan) Primary Key No Permintaan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
Foreign Key NoReturPenjualan references ReturPenjualan (NoReturPenjualan)
3. Relasi antara Permintaan dengan Penawaran menghasilkan posting NoPermintaan ke entitas Penawaran.
Permintaan (NoPermintaan, Tgl Permintaan,
NoKaryawan, NoPelanggan, NoReturPenjualan)
Primary Key NoPermintaan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan) Foreign Key NoReturPenjualan references ReturPenjualan (NoReturPenjualan)
Penawaran (No Penawaran, TglPenawaran, Status, NoKaryawan,NoPermintaan) Primary Key NoPenawaran Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPermintaan references Permintaan (NoPermintaan)
4. Relasi antara Penawaran dengan Pemesanan menghasilkan posting NoPenawaran ke entitas Pemesanan.
Penawaran (NoPenawaran, TglPenawaran, Status, NoKaryawan,NoPermintaan) Primary Key NoPenawaran Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPermintaan references Permintaan (NoPermintaan)
Pemesanan(No Pemesanan, Tgl Pemesanan, NoKaryawan, NoPelanggan,NoPenawaran) Primary Key NoPemesanan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
Foreign Key NoPenawaran references Penawaran (NoPenawaran)
5. Relasi antara Pemesanan dengan Penjualan menghasilkan posting No Pemesanan ke entitas Penjualan.
Pemesanan(NoPemesanan, Tgl Pemesanan, NoKaryawan, NoPelanggan,NoPenawaran) Primary Key NoPemesanan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
Foreign Key NoPenawaran references Penawaran (NoPenawaran)
Penjualan (NoPenjualan, TglPenj, Status, NoKaryawan, NoPelanggan,NoPemesanan) Primary Key NoPenjualan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
Foreign Key NoPemesanan references Pemesanan (NoPemesanan)
6. Relasi antara Karyawan dengan Kendaraan menghasilkan
posting NoKaryawan ke entitas Kendaraan.
Karyawan (NoKaryawan, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi) Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
Kendaraan (NoKend, NamaKend, JenisKend, NoKaryawan)
Primary Key NoKend Foreign Key NoKaryawan references Karyawan (NoKaryawan)
4.4.2.5 Tipe Relasi Binary Many-to-Many (*:*)
Berikut ini adalah relasi-relasi many-to-many (*..*) serta hasil
posting dari entitas-entitas yang berhubungan satu dengan yang lainnya
1. Relasi antara Pembatalan dan Barang akan menghasilkan entitas baru bernama BarangBatal, yang menerima posting NoPembatalan dan NoBarang.
Pembatalan (NoPembatalan, TglPembatalan, NoKaryawan, NoPelanggan)
Primary Key NoPembatalan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan) Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerek)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangBatal (NoPembatalan, NoBarang, Jumlah, Alasan) Primary Key NoPembatalan, NoBarang
Foreign Key NoPembatalan references Pembatalan (NoPembatalan)
Foreign Key NoBarang references Barang (NoBarang)
2. Relasi antara Penjualan dan Barang akan menghasilkan entitas baru bernama BarangJual, yang menerima posting NoPenj dan NoBarang.
Penjualan (NoPenjualan, TglPenj, Status, NoKaryawan, NoPelanggan,NoPemesanan) Primary Key NoPenjualan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
Foreign Key NoPemesanan references Pemesanan (NoPemesanan) BarangJual (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerek)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangJual (NoPenjualan, NoBarang, HargaJual, Jumlah) Primary Key NoPenjualan, NoBarang
Foreign Key NoPenjualan references Penjualan (NoPenjualan)
Foreign Key NoBarang references Barang (NoBarang)
3. Relasi antara ReturPenjualan dan Barang akan menghasilkan entitas baru bernama BarangReturJual, yang menerima posting NoReturPenj dan NoBarang.
ReturPenjulan (NoReturPenjualan, TglReturPenjualan, Status, NoKaryawan,NoPenjualan) Primary Key NoReturPenjualan
Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPenjualan references Penjualan (NoPenjualan) Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerek)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangReturJual (NoReturPenjualan, NoBarang, Jumlah, Alasan)
Primary Key NoReturPenjualan, NoBarang
Foreign Key NoReturPenjualan references ReturPenjualan (NoReturPenjualan)
Foreign Key NoBarang references Barang (NoBarang)
4. Relasi antara PemesananPemasok dan Barang akan menghasilkan entitas baru bernama BarangBeli, yang menerima
posting NoPemb dan NoBarang.
PemesananPemasok (NoPemesananPemasok, TglPemesananPemasok, NoKaryawan,NoPenawaranPemasok) Primary Key NoPemesananPemasok Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerek)
Foreign Key NoKaryawan
references Karyawan (NoKaryawan) Foreign Key NoPemasok references Pemasok (NoPemasok)
Primary Key NoBarang
Foreign Key NoMerek references Merek (NoMerek)
BarangPesanPemasok (NoPemesananPemasok, NoBarang, HargaPesanPemasok, Jumlah)
Primary Key NoPemesananPemasok, NoBarang Foreign Key NoPemesananPemasok references PemesananPemasok (NoPemesananPemasok)
Foreign Key NoBarang references Barang (NoBarang)
5. Relasi antara Pengiriman dan Kendaraan akan menghasilkan entitas baru bernama KendKirim, yang menerima posting NoPengiriman dan NoKend.
Pengiriman (NoPengiriman, Jenis, noResi, TglPengiriman, NoKaryawan, NoPenjualan) Primary Key NoPengiriman Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPenjualan references Penjualan (NoPenjualan) Kendaraan (NoKendaraan, NamaKendaraan, JenisKendaraan, NoKaryawan) Primary Key NoKendaraan
Foreign Key NoKaryawan references Karyawan (NoKaryawan) KendKirim (NoPengiriman, NoKendaraan)
Primary Key NoPengiriman, NoKendaraan
Foreign Key NoPengiriman references Pengiriman (NoPengiriman)
Foreign Key NoKendaraan references Kendaraan (NoKendaraan)
6. Relasi antara Pengiriman dan Barang akan menghasilkan entitas baru bernama BarangKirim, yang menerima posting NoPengiriman dan NoBarang.
Pengiriman (NoPengiriman, TglPengiriman, NoKaryawan, NoPenjualan)
Primary Key NoPengiriman Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPenjualan references Penjualan (NoPenjualan) Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerk)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangKirim (NoPengiriman, NoBarang, Jumlah) Primary Key NoPengiriman, NoBarang
Foreign Key NoPengiriman references Pengiriman (NoPengiriman)
Foreign Key NoBarang references Barang (NoBarang)
7. Relasi antara Permintaan dan Barang akan menghasilkan entitas baru bernama BarangMinta, yang menerima posting No Permintaan dan NoBarang.
Permintaan (NoPermintaan, Tgl Permintaan,
NoKaryawan, NoPelanggan, NoReturPenjualan)
Primary Key NoPermintaan Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPelanggan references Pelanggan (NoPelanggan) Foreign Key NoReturPenjualan references ReturPenjualan (NoReturPenjualan) Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerk)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangMinta (NoPermintaan, NoBarang, Jumlah,Alasan) Primary Key NoPermintaan, NoBarang
Foreign Key NoPermintaan references Permintaan (NoPermintaan)
8. Relasi antara Penawaran dan Barang akan menghasilkan entitas baru bernama BarangTawar, yang menerima posting No Penawaran dan NoBarang.
Penawaran (NoPenawaran, TglPenawaran, Status, NoKaryawan,NoPermintaan) Primary Key NoPenawaran Foreign Key NoKaryawan references Karyawan (NoKaryawan)
Foreign Key NoPermintaan references Permintaan (NoPermintaan) Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerk)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangMinta (NoPenawaran, NoBarang, HargaTawar, Jumlah)
Primary Key NoPenawaran, NoBarang
Foreign Key NoPenawaran references Penawaran (NoPenawaran)
Foreign Key NoBarang references Barang (NoBarang)
9. Relasi antara Pemasok dan Barang akan menghasilkan entitas baru bernama BarangMurah, yang menerima posting NoPemasok dan NoBarang.
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos)
Primary Key NoPemasok
Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerk)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangMurah (NoPemasok, NoBarang, HargaBarang,Jumlah)
Foreign Key NoPemasok references Pemasok (NoPemasok) Foreign Key NoBarang references Barang (NoBarang)
10. Relasi antara Penerimaan dan Barang akan menghasilkan entitas baru bernama BarangKirim, yang menerima posting NoPenerimaan dan NoBarang.
Penerimaan (NoPenerimaan, TglPenerimaan, NoKaryawan, NoPemesananPemasok) Primary Key NoPenerimaan Foreign Key NoKaryawan references Karyawan (NoKaryawan) Foreign Key NoPemesananPemasok references PemesananPemasok (NoPemesananPemasok) Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoPemasok, NoMerek)
Primary Key NoBarang Foreign Key NoMerek references Merek (NoMerek)
BarangTerima (NoPenerimaan, NoBarang, Jumlah) Primary Key NoPenerimaan, NoBarang
Foreign Key NoPenerimaan references Penerimaan (NoPenerimaan)
Foreign Key NoBarang references Barang (NoBarang)
4.4.2.6 Atribut Multivalue
Berikut ini adalah atribut multivalue serta hasil posting dari entitas-entitas yang berhubungan satu dengan yang lainnya :
1. Atribut NoTelp pada entitas Karyawan akan menghasilkan entitas baru bernama TelpKaryawan, yang menerima posting NoKaryawan.
Karyawan (NoKaryawan, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi) Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
TelpKaryawan (NoTelp, NoKaryawan)
Primary Key NoTelp Foreign Key NoKaryawan references Karyawan (NoKaryawan)
2. Atribut NoHP pada entitas Karyawan akan menghasilkan entitas baru bernama HPKaryawan, yang menerima posting NoKaryawan.
Karyawan (NoKaryawan, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi) Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
HPKaryawan (NoHP, NoKaryawan)
Primary Key NoHP Foreign Key NoKaryawan references Karyawan (NoKaryawan)
3. Atribut Email pada entitas Karyawan akan menghasilkan entitas baru bernama EmailKaryawan, yang menerima posting NoKaryawan.
Karyawan (NoKaryawan, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi) Primary Key NoKaryawan Foreign Key NoDivisi references Divisi (NoDivisi)
EmailKaryawan (Email, NoKaryawan)
Primary Key Email Foreign Key NoKaryawan references Karyawan (NoKaryawan)
4. Atribut NoTelpPrsh pada entitas Pelanggan akan menghasilkan entitas baru bernama TelpPrshPelanggan, yang menerima
posting NoPelanggan.
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPelanggan
TelpPrshPelanggan
(NoTelpPrsh, NoPelanggan) Primary Key NoTelpPrsh Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
5. Atribut NoTelpKP pada entitas Pelanggan akan menghasilkan entitas baru bernama TelpKPPelanggan, yang menerima posting NoPelanggan
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPelanggan
TelpKPPelanggan
(NoTelpKP, NoPelanggan) Primary Key NoTelpKP Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
6. Atribut NoHP pada entitas Pelanggan akan menghasilkan entitas baru bernama HPPelanggan, yang menerima posting NoPelanggan.
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPelanggan
HPPelanggan (NoHP, NoPelanggan)
Primary Key NoHP Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
7. Atribut EmailPrsh pada entitas Pelanggan akan menghasilkan entitas baru bernama EmailPrshPelanggan, yang menerima
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPelanggan
EmailPrshPelanggan (EmailPrsh, NoPelanggan) Primary Key EmailPrsh Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
8. Atribut EmailKP pada entitas Pelanggan akan menghasilkan entitas baru bernama EmailKPPelanggan, yang menerima
posting NoPelanggan
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPelanggan
EmailKPPelanggan (EmailKP, NoPelanggan) Primary Key EmailKP Foreign Key NoPelanggan references Pelanggan (NoPelanggan)
9. Atribut NoTelpKurir pada entitas Kurir akan menghasilkan entitas baru bernama TelpKurir, yang menerima posting NoKurir
Kurir (NoKurir, NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoKurir
TelpKurir (NoTelpKurir, NoKurir)
Primary Key NoTelpKurir Foreign Key NoKurir references Kurir (NoPemasok)
10. Atribut NoTelpKP pada entitas Kurir akan menghasilkan entitas baru bernama TelpKPKurir yang menerima posting No Kurir
Kurir (NoKurir, NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoKurir
TelpKPKurir (NoTelpKP, NoKurir)
Primary Key NoTelpKP Foreign Key NoKurir references Kurir (NoKurir)
11. Atribut NoHP pada entitas Kurir akan menghasilkan entitas baru bernama HP Kurir, yang menerima posting No Kurir
Kurir (NoKurir, NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoKurir
HPKurir (NoHP, NoKurir) Primary Key NoHP
Foreign Key NoKurir references Kurir (NoKurir)
12. Atribut EmailKurir pada entitas Kurir akan menghasilkan entitas baru bernama EmailKurir, yang menerima posting No Kurir
Kurir (NoKurir, NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoKurir
EmailKurir (EmailKurir, NoKurir)
Primary Key EmailKurir Foreign Key NoKurir references Kurir (NoKurir)
13. Atribut EmailKP pada entitas Kurir akan menghasilkan entitas baru bernama EmailKPKurir, yang menerima posting NoKurir
Kurir (NoKurir, NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoKurir
EmailKPKurir (EmailKP, NoKurir)
Primary Key EmailKP Foreign Key NoKurir references Kurir (NoKurir)
14. Atribut NoTelpPrsh pada entitas Pemasok akan menghasilkan entitas baru bernama TelpPrshPemasok, yang menerima posting NoPemasok
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPemasok
TelpPrshPemasok
(NoTelpPrsh, NoPemasok) Primary Key NoTelpPrsh Foreign Key NoPemasok references Pemasok (NoPemasok)
15. Atribut NoTelpKP pada entitas Pemasok akan menghasilkan entitas baru bernama TelpKPPemasok, yang menerima posting NoPemasok
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPemasok
TelpKPPemasok
(NoTelpKP, NoPemasok) Primary Key NoTelpKP Foreign Key NoPemasok references Pemasok (NoPemasok)
16. Atribut NoHP pada entitas Pemasok akan menghasilkan entitas baru bernama HPPemasok, yang menerima posting NoPemasok
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPemasok
HPPemasok (NoHP, NoPemasok)
Primary Key NoHP Foreign Key NoPemasok references Pemasok (NoPemasok)
17. Atribut EmailPrsh pada entitas Pemasok akan menghasilkan entitas baru bernama EmailPrshPemasok, yang menerima
posting NoPemasok
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPemasok
EmailPrshPemasok (EmailPrsh, NoPemasok) Primary Key EmailPrsh Foreign Key NoPemasok references Pemasok (NoPemasok)
18. Atribut EmailKP pada entitas Pemasok akan menghasilkan entitas baru bernama EmailKPPemasok, yang menerima posting NoPemasok
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
Primary Key NoPemasok
EmailKPPemasok (EmailKP, NoPemasok) Primary Key EmailKP Foreign Key NoPemasok references Pemasok (NoPemasok)
4.4.3 Validasi Relasi Dengan Normalisasi
Sampai pada tahapan logikal saat ini, tabel-tabel yang dihasilkan sudah memenuhi aturan 2NF karena sudah tidak ada kondisi ketergantungan parsial pada primary key. Langkah selanjutnya adalah menghilangkan ketergantungan transitif sehingga menenuhi aturan 3NF.
• Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglMulai, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglKerja, Posisi, Gaji, NoDivisi)
NoKaryawan → Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, Kelurahan, Kecamatan, Kota, KodePos, TglMulai, Posisi, Gaji, NoDivisi
KodePos → Kelurahan, Kecamatan, Kota (Transitive Dependency)
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
• Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
NoPelanggan → NamaPrsh, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax
KodePos → Kelurahan, Kecamatan, Kota (Transitive Dependency)
Pelanggan (NoPelanggan, NamaPrsh, NamaKP, Jalan, KodePos, NoFax)
KKK (KodePos, Kelurahan, Kecamatan, Kota)
• Kurir (NoKurir, NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
NoKurir → NamaKurir, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax
KodePos → Kelurahan, Kecamatan, Kota (Transitive Dependency)
Kurir (NoKurir, NamaKurir, NamaKP, Jalan, KodePos, NoFax) KKK (KodePos, Kelurahan, Kecamatan, Kota)
• Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax)
NoPemasok → NamaPem, NamaKP, Jalan, Kelurahan, Kecamatan, Kota, KodePos, NoFax
KodePos → Kelurahan, Kecamatan, Kota (Transitive Dependency)
Pemasok (NoPemasok, NamaPem, NamaKP, Jalan, KodePos, NoFax) KKK (KodePos, Kelurahan, Kecamatan, Kota)
4.4.4 Validasi Relasi Terhadap Transaksi Pengguna
Semua transaksi pengguna seperti yang telah didefinisikan pada tahap konseptual diperiksa kembali terhadap relasi yang ada untuk memastikan relasi sudah benar dan dapat memenuhi transaksi-transaksi yang dibutuhkan pengguna.
4.4.5 Mendefinisikan Integrity Constraints 4.4.5.1 Kebutuhan Data
Beberapa atribut tertentu dari semua entitas haruslah memiliki nilai yang valid, dengan kata lain atribut-atribut ini tidak diperkenankan memiliki nilai null. Aturan-aturan seperti ini telah diidentifikasikan pada saat atribut didokumentasikan di kamus data.
4.4.5.2 Kendala Atribut Domain
Setiap atribut memiliki sebuah domain, yaitu kumpulan dari nilai yang legal. Aturan-aturan seperti ini harus telah diidentifikasikan pada saat atribut didokumentasikan di kamus data.
4.4.5.3 Entity Integrity
Primary key dari suatu entitas tidak boleh memiliki nilai null.
Aturan-aturan seperti ini harus telah dipertimbangkan pada saat mengidentifikasikan primary key untuk setiap entitas dan telah diidentifikasikan pada saat atribut didokumentasikan di kamus data.
4.4.5.4 Referential Integrity
Karyawan (NoKaryawan, Password, NamaDepan, NamaBlkg, JenisKelamin, TglLahir, Jalan, KodePos, TglMulai, Posisi, Gaji, NoDivisi)
Primary Key NoKaryawan
Foreign Key NoDivisi references Divisi (NoDivisi) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key KodePos references KKK (KodePos) ON UPDATE CASCADE ON DELETE NO ACTION
Log (NoLog, NamaEvent, TglLog, NoKaryawan) Primary Key NoLog
Foreign Key NoKaryawan references Karyawan (NoKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
TelpKaryawan (NoTelp, NoKaryawan) Primary Key NoTelp
Foreign Key NoKaryawan references Karyawan (NoKaryawan) ON UPDATE CASCADE ON DELETE CASCADE
HPKaryawan (NoHP, NoKaryawan) Primary Key NoHP
Foreign Key NoKaryawan references Karyawan (NoKaryawan) ON UPDATE CASCADE ON DELETE CASCADE
EmailKaryawan (Email, NoKaryawan) Primary Key Email
Foreign Key NoKaryawan references Karyawan (NoKaryawan) ON UPDATE CASCADE ON DELETE CASCADE
Barang (NoBarang, NamaBarang, Deskripsi, HargaStandar, Jumlah, StokMin, NoMerek)
Primary Key NoBarang
Foreign Key NoMerek references Merek (NoMerek) ON UPDATE CASCADE ON DELETE NO ACTION