Hubungan Sistem
Penjualan dengan Basis Data
Pengolahan
data untuk menghasilkan informasi secara terkomputerisasi, merupakan sarana
yang sangat dibutuhkan saat ini pada berbagai jenis usaha, karena informasi
mampu disajikan dalam waktu yang cepat dan akurat. Informasi yang mampu
disajikan dengan cepat dan akurat mampu menghasilkan pengambilan keputusan yang
cepat dan efektif. Minimarket merupakan jenis usaha yang berorientasi pada
laba. Dengan pengolahan data secara terkomputerisasi, barang yang telah dijual
mampu diketahui secara cepat, berserta keuntungannya. Pengolahan data secara
terkomputerisasi juga dapat membantu dalam mengontrol penyetokan barang,
mengontrol kadaluwarsa barang, mengetahui barang apa yang paling banyak terjual
dan barang apa yang paling sedikit terjual, membandingkan antar merk untuk barang sejenis yang paling
sering dicari, mengetahui tingkat penjualan dari setiap periode tertentu (hari,
bulan, dan tahun) baik disajikan dalam bentuk angka-angka di sebuah tabel
maupun grafik. Dengan keuntungan-keuntungan yang disebabkan oleh pengolahan
data secara terkomputerisasi tersebut, mampu mempermudah si pemilik minimarket dalam menentukan tindakan
apa yang harus dilakukan ke depannya nanti, dalam membuat kebijakan-kebijakan
untuk memperlancar dan meningkatkan penjualan barang di minimarket-nya.
Desain E-ERD
Sistem Penjualan

Keterangan:
- Entitas, Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.
- Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berbeda
- Atribut, Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.
- Relasi atau Hubungan, Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
- Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung.
- Cardinality Ratio Constraint : Menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya.
Partial
Participation
§ Keberadaan suatu entity tidak
tergantung pada hubungannya dengan entity lain.
§
- Total Participation
Keberadaan
suatu entity tergantung pada hubungannya dengan entity lain.
Anak selalu menyepelekan
§ Identifying
relationship adalah Relationship yang menghubungkan strong dan weak
entity dan Digambarkan dengan belah ketupat dengan garis ganda dan berelasi
dengan Suatu entity yang mungkin memiliki suatu atribut yang bukan
miliknya, dimana keberadaannya tergantung dari entity lain.
- Atribut kunci adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, / dengan kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik).
- Atribut multivalue adalah nilai dari suatu attribute yang mempunyai lebih dari satu (multivalue) nilai dari atrribute yang bersangkutan.
Membuat table dan relasi antar table
sesuai dengan EERD topic
Sistem Penjualan Barang
Keterangan:
Gambar
diatas merupakan CDM (Conseptual Data Model) dari system informasi penjualan.
Dari gambar di atas terdapat 14 entity, yang masing-masing mempunyai atribut
yang berbeda.
Berikut
adalah keterangan relasi dari setiap entity dalam system informasi penjualan :
- Entity pemimpin berelasi one to many dengan pegawai, dimana satu pemimpin hanya mempunyai banyak pegawai.
- Entity pegawai berelasi many to many dengan barang, dimana banyak pegawai dapat menjual banyak barang.
- Entity barang berelasi many to many dengan pemasok, dimana banyak barang di suplay dari beberapa pemasok.
- Entity pemasok berelasi many to many dengan pembelian, dimana banyak pemasok mempunyai kesepakatan untuk beberapa pembelian.
- Entity pemasok berelasi one to one dengan pembayaran, dimana satu pemasok hanya dapat melunasi satu pembayaran.
- Entity barang berelasi many to many dengan pelanggan, dimana banyak barang dapat di beli oleh banyak pelanggan.
- Entity pelanggan berelasi one to one dengan membayar, dimana satu pelanggan hanya mempunyai satu transaksi untuk membayar.
Entity
pembelian merupakan super type dari entity beli putus dan entity barang bisa
return.
Entity
pembayaran merupakan super type dari entity kredit dan entity cash.
Entity
membayar merupakan super type dari entity tunai dan entity kartu kredit.
PROCEDUR
Melakukan pencatatan dan pendataan
pada setiap perubahan yang terjadi dalam penjualan barang
- Data Pemimpin
Input
: ID_PEMIMPIN
Proses
: Mengupdate data pemimpin yang telah di inputkan
Output
: Data pemimpin yang telah di update
- Data Pegawai
Input
: ID_PEGAWAI
Proses
: Mengupdate data pegawai yang telah di inputkan
Output
: Data pegawai yang telah di update
- Data Barang
Input
: KODE_BARANG
Proses
: Mengupdate data barang yang telah di inputkan
Output
: Data barang yang telah di update
- Data Pemasok
Input
: ID_PEMASOK
Proses
: Mengupdate data pemasok yang telah di inputkan
Output
: Data pemasok yang telah di update
- Data Pelanggan
Input
: ID_PELANGGAN
Proses
: Mengupdate data pelanggan yang telah di inputkan
Output
: Data pelanggan yang telah di update
Menampilkan data yang di hapus pada
table history
- Data Barang
Input
: KODE_BARANG
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate KODE_BARANG
pada table history. Output : Di table history akan muncul keterangan data yang diupdate
- Data Pemimpin
Input
: ID_PIMPINAN
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate ID_PIMPINAN
pada table history.
Output
: di table history akan muncul keterangan data yang diupdate
- Data Pegawai
Input
: ID_PEGAWAI
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate ID_PEGAWAI pada
table history.
Output
: di table history akan muncul keterangan data yang diupdate
v
- Data Pelanggan
Input
: ID_PELANGGAN
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate ID_PELANGGAN
pada table history.
Output
: di table history akan muncul keterangan data yang diupdate
v
- Data Pemasok
Input
: ID_PEMASOK
Proses
: Jika terjadi proses penghapusan data pemasok, maka akan terupdate ID_PEMASOK
pada table history
FUNCTION
- Data Barang
Input
: cek_data barang
Proses
: Mengecek semua data barang yang tersedia
Output
: Data barang
- Data Pemimpin
Input
: cek_data pemimpin
Proses
: Mengecek semua data pemimpin yang tersedia
Output
: Data pemimpin
- Data Pegawai
Input
: cek_data pegawai
Proses
: Mengecek semua data pegawai yang tersedia
Output
: Data pegawai
- Data Pelanggan
Input
: cek_data pelanggan
Proses
: Mengecek semua data pelanggan yang tersedia
Output
: Data pelanggan
- Data Pemasok
Input
: cek_data pemasok
Proses
: Mengecek semua data pemasok yang tersedia
Output
: Data pemasok
TRIGGER
Melakukan pencatatan dan pendataan
pada setiap perubahan yang terjadi dalam penjualan barang
- Barang
Input
: KODE_BARANG
Proses
: Jika proses update terjadi pada table barang, maka KODE_BARANG yang telah
diupdate akan terupdate.
Output
: didalam table history akan muncul keterangan data yang diupdate
- Pemimpin
Input
: ID_PIMPINAN
Proses
: Jika proses update terjadi pada table barang, maka ID_PIMPINAN yang telah
diupdate akan terupdate.
Output
: didalam table history akan muncul keterangan data yang diupdate
- Pegawai
Input
: ID_PEGAWAI
Proses
: Jika proses update terjadi pada table barang, maka ID_PEGAWAI yang telah
diupdate akan terupdate.
Output
: didalam table history akan muncul keterangan data yang diupdate
- Pemasok
Input
: ID_PEMASOK
Proses
: Jika proses update terjadi pada table barang, maka ID_PEMASOK yang telah diupdate
akan terupdate.
Output
: didalam table history akan muncul keterangan data yang diupdate
- Pelanggan
Input
: ID_PELANGGAN
Proses
: Jika proses update terjadi pada table barang, maka ID_PELANGGAN yang telah
diupdate akan terupdate.
Output
: didalam table history akan muncul keterangan data yang diupdate
Menampilkan data yang di hapus pada
table history
v Barang
Input
: KODE_BARANG
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate KODE_BARANG
pada table history.
Output
: di table history akan muncul keterangan data yang diupdate
- Pemimpin
Input
: ID_PIMPINAN
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate ID_PIMPINAN
pada table history.
Output
: di table history akan muncul keterangan data yang diupdate
- Pegawai
Input
: ID_PEGAWAI
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate ID_PEGAWAI pada
table history.
Output
: di table history akan muncul keterangan data yang diupdate
- Pemasok
Input
: ID_PEMASOK
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate ID_PEMASOK
pada table history.
Output
: di table history akan muncul keterangan data yang diupdate
- Pelanggan
Input
: ID_PELANGGAN
Proses
: Jika terjadi proses penghapusan data barang, maka akan terupdate ID_PELANGGAN
pada table history.
Output
: di table history akan muncul keterangan data yang diupdate
Memperbarui
data barang ketika terjadi transaksi
1. Macam-macam
join pada mysql
1.
Inner
Join
Inner Join adalah perintah untuk operasi penggabungan yang paling umum
digunakan dan biasanya dikatakan sebagai default join-type. Inner Join hanya
menampilkan data yang benar-benar terdapat di dalam tabel yang saling
dihubungkan.
Misalnya menggabungkan tabel Customers dengan Orders, maka field penghubung yang digunakan adalah CustomerID. Dalam teknik INNER JOIN maka hasil yang ditampilkan hanya record yang memiliki CustomerID sama di kedua tabel tersebut. Apabila terdapat customr yang CustomerID nya tidak ditemukan di tabel Orders maka data tersebut tidak ditampilkan.
Misalnya menggabungkan tabel Customers dengan Orders, maka field penghubung yang digunakan adalah CustomerID. Dalam teknik INNER JOIN maka hasil yang ditampilkan hanya record yang memiliki CustomerID sama di kedua tabel tersebut. Apabila terdapat customr yang CustomerID nya tidak ditemukan di tabel Orders maka data tersebut tidak ditampilkan.
Berikut
ini contoh perintah yang menggunakan syntax inner join :
SELECT
CompanyName, OrderID, OrderDate
FROM
Customers
INNER
JOIN Orders ON Customers.CustomerID = Orders.CustomerID
Perintah
SQL tersebut mengambil field CompanyName dari tabel Customers, sedangkan field
OrderID dan OrderDate diambil dari tabel Orders. Kunci utama penggabungan dua
tabel tersebut adalah keyword INNER JOIN dengan kriteria CustomerID.
INNER
JOIN Orders ON Customers.CustomerID = Orders.CustomerID
Antara
nama tabel dengan nama field dibatasi dengan tanda titik (.) misalnya
Orders.CustomerID. Tujuan pencantuman nama tabel tersebut adalah menghindari
ambiguitas yang mengakibatkan error apabila perintah tersebut dieksekusi.
Karena CustomerID tersebut terdapat di kedua tabel maka nama tabel harus
dicantumkan agar dapat diidentifikasi secara unik field mana yang dimaksud.
2.
Cross Join
Sebuah penggabungan
yang meliputi lebih dari satu tabel tanpa syarat apapun. Hasil dari Cross Join
akan menghasilkan produk Kartesian.
3.
Outer
Join
Outer join akan
mnghasilkan semua data dari sebuah tabel dan membatasi data dari tabel lainnya.
Terdapat 3 alter yaitu
1. Left Outer Join : Semua baris dari table yang diacu dari table sebelah kiri
2. Right Outer Join : Semua baris dari table yang diacu dari table sebelah kanan
3. Full Outer Join : Semua baris yang dihasilkan dari kedua table
1. Left Outer Join : Semua baris dari table yang diacu dari table sebelah kiri
2. Right Outer Join : Semua baris dari table yang diacu dari table sebelah kanan
3. Full Outer Join : Semua baris yang dihasilkan dari kedua table
Kegunaan outer join
adalah untuk mencari record – record piatu, artinya record yang ada
di sebuah table tapi tidak memiliki pasangan di table lain.
4.
Straight
Join
Straight Join merupakan pengganti keyword JOIN pada MySQL yang digunakan untuk
"memaksa" proses join table dari kiri (LEFT) ke kanan (RIGHT).
2.
Planning Join
Inner
Join
Tidak ada komentar:
Posting Komentar