Jumat, 18 Juli 2014

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.
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
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