Disusun Oleh:
Apep Wahyudin
L250220007
UNIVERSITAS LANGLANGBUANA
PASCASARJANA MAGISTER TEKNIK
INFORMATIKA
BANDUNG
2023
Bagian I
1.
a. Proses Bisnis
Deskripsi Perusahaan
Perusahaan ABC adalah sebuah perusahaan yang bergerak pada bidang
penjualan alat-alat perkantoran bagi berbagai instansi di Kabupaten Sumedang.
Berikut ini adalah deskripsi proses bisnis perusahaan ABC:
c. Diagram E-R
Diagram Entity Relationship disajikan dalam bagan berikut ini.
Gambar 3 Diagram E-R Penjualan
2. Tabel Pembeli
No Nama Tipe Data Ukuran Keterangan
1 pembeli_id Integer 11 Primary Key
2 pembeli_name Varchar 30
3 pembeli_address Text
4 pembeli_phone Varchar 30
3. Tabel Barang
No Nama Tipe Data Ukuran Keterangan
1 barang_id Integer 11 Primary Key
2 barang_name Varchar 30
3 barang_price Integer 11
4 barang_stock Integer 11
5 kategori_id Integer 11 Foreign Key
6 supplier_id Integer 11 Foreign Key
4. Tabel Penjualan
5. Tabel Supplier
7. Tabel Admin
No Nama Tipe Data Ukuran Keterangan
1 admin_id Integer 11 Primary Key
2 admin_username Varchar 30
3 admin_password Varchar 30
4 admin_name Varchar 30
5 admin_phone varchar 15
6 admin_level Varchar 10
Tanggung Jawab:
● Menentukan kebijakan stok barang dan proses restock.
● Menganalisis laporan stok barang, penjualan, dan keuangan untuk
pengambilan keputusan strategis.
● Menyusun rencana bisnis berdasarkan data yang terdapat dalam sistem.
● Menetapkan target penjualan dan performa karyawan.
● Mengelola dan mengawasi seluruh operasional perusahaan untuk mencapai
tujuan.
2. Finance
Hak Akses:
Hak Akses ke Tabel Penjualan, Tabel Pembayaran, Tabel Pembeli. Bisa
melihat dan memasukkan data transaksi penjualan dan pembayaran.
Tanggung Jawab:
● Melakukan pencatatan transaksi penjualan dan pembayaran.
● Menyusun laporan keuangan berdasarkan data transaksi.
● Memastikan keakuratan data keuangan perusahaan.
● Menyediakan informasi keuangan yang diperlukan untuk evaluasi dan
pengambilan keputusan.
● Berkomunikasi dengan manajer dan pihak terkait mengenai performa
keuangan.
3. Kasir
Hak Akses:
Hak Akses ke Tabel Penjualan, Tabel Pembayaran, Tabel Pembeli. Bisa
memasukkan data transaksi penjualan dan pembayaran.
Tanggung Jawab:
● Melakukan proses penjualan dan pencatatan transaksi harian di loket
penjualan.
● Menjaga ketersediaan stok barang di loket penjualan.
● Memberikan pelayanan pelanggan yang baik dan memastikan transaksi
berjalan lancar.
● Berkomunikasi dengan Finance mengenai masalah atau ketidaksesuaian
data transaksi.
● Memantau stok barang dan memberikan laporan kepada Manajer jika ada
kebutuhan restock.
b. Matriks CRUD
Table User
pembeli CRUD R CR R
penjualan R R CRUD R
supplier RUD CR R R
admin CRUD R R R
c. Penerapan RBAC
1) User manager
● Memiliki akses CRUD terhadap tabel kategori
● Memiliki akses CRUD terhadap tabel barang
● Memiliki akses CRUD terhadap tabel pembeli
● Memiliki akses R terhadap tabel penjualan
● Memiliki akses RUD terhadap tabel pembayaran
● Memiliki akses RUD terhadap tabel supplier
● Memiliki akses CRUD terhadap tabel admin
2) User finance
● Memiliki akses R terhadap tabel kategori
● Memiliki akses R terhadap tabel barang
● Memiliki akses R terhadap tabel pembeli
● Memiliki akses R terhadap tabel penjualan
● Memiliki akses CRUD terhadap tabel pembayaran
● Memiliki akses CR terhadap tabel supplier
● Memiliki akses R terhadap tabel admin
3) User kasir
● Memiliki akses R terhadap tabel kategori
● Memiliki akses R terhadap tabel barang
● Memiliki akses CR terhadap tabel pembeli
● Memiliki akses CRUD terhadap tabel penjualan
● Memiliki akses R terhadap tabel pembayaran
● Memiliki akses R terhadap tabel supplier
● Memiliki akses R terhadap tabel admin
4) User Gudang
● Memiliki akses CRUD terhadap tabel kategori
● Memiliki akses CRUD terhadap tabel barang
● Memiliki akses R terhadap tabel pembeli
● Memiliki akses R terhadap tabel penjualan
● Memiliki akses R terhadap tabel pembayaran
● Memiliki akses R terhadap tabel supplier
● Memiliki akses R terhadap tabel admin
2.
a. Data Private dan Public
Data Public Data Private
Pembayaran (pembayaran_id,
pembayaran_name)
b. Segregasi Database
Membuat schema penjualan_public
1. Berikut ini adalah mekanisme validasi data yang diterapkan pada tabel
penjualan di atas:
a. Field penjualan_id memiliki data yang tidak boleh terduplikasi. Artinya
data dari setiap row tidak boleh sama karena ini merupakan primary key.
b. Field pembeli_id merupakan foreign key yang mengacu pada tabel
pembeli. Isi dari field ini tidak boleh salah dan tidak boleh kosong. Pada
sisi front end, data ini tidak diisi secara manual melainkan dengan cara
memilih data nama pembeli yang telah disediakan. Pada sisi back end,
terdapat proses validasi untuk mencari data pembeli dari tabel pembeli
berdasarkan pembeli_id. Jika data pembeli tidak ditemukan, maka proses
transaksi tidak akan dijalankan.
c. Field barang_id merupakan foreign key yang mengacu pada tabel barang.
Isi dari field ini tidak boleh salah dan tidak boleh kosong. Pada sisi front
end, data ini tidak diisi secara manual melainkan dengan cara memilih
data nama barang yang telah disediakan. Pada sisi back end, terdapat
proses validasi untuk mencari data barang dari tabel barang berdasarkan
barang_id. Jika data barang tidak ditemukan, maka proses transaksi tidak
akan dijalankan.
d. Field pembayaran_id merupakan foreign key yang mengacu pada tabel
pembayaran. Isi dari field ini tidak boleh salah dan tidak boleh kosong.
Pada sisi front end, data ini tidak diisi secara manual melainkan dengan
cara memilih data metode pembayaran yang telah disediakan. Pada sisi
back end, terdapat proses validasi untuk mencari data pembayaran dari
tabel pembayaran berdasarkan pembayaran_id. Jika data pembayaran
tidak ditemukan, maka proses transaksi tidak akan dijalankan.
e. Field admin_id merupakan foreign key yang mengacu pada tabel admin.
Field ini tidak diisi oleh user melainkan melalui sistem back end dengan
cara menginput admin_id berdasarkan data session admin_id yang
sedang aktif pada browser.
f. Field penjualan_qty hanya boleh diisi oleh data angka. Jenis data
divalidasi baik dari sisi front end maupun back end. Di sisi back end, data
angka yang dikirimkan akan diverifikasi dengan cara
membandingkannya dengan data stock yang ada pada tabel barang
berdasarkan barang_id yang dikirimkan. Jika data angka melebihi angka
stock, maka transaksi tidak akan dijalankan.
g. Field penjualan_total harus berisi angka integer. Field ini diisi lewat
proses back end yang mengalikan antara angka penjualan_qty dengan
harga barang.
h. Field penjualan_date berisi tanggal transaksi. Field ini diisi dengan
format YYYT-MM-DD melalui back end.
Table ini akan digunakan untuk mencatat aktivitas perubahan pada tabel-
tabel yang telah dibuat dengan struktur sebagai berikut:
Nama Field Tipe Data Constraint
c. Otentikasi Pengguna