Skip to content

Instantly share code, notes, and snippets.

@initrunlevel0
Created November 28, 2013 12:25
Show Gist options
  • Save initrunlevel0/7691073 to your computer and use it in GitHub Desktop.
Save initrunlevel0/7691073 to your computer and use it in GitHub Desktop.
Proposal Proyek Akhir kuliah Java Enterprise Edition (JEE) 2013
TUGAS PROYEK JAVA EE 2013
TOPIK: SISTEM POS (Point of Sale) BERJARINGAN SEDERHANA
== Anggota Kelompok (Jabatan Fungsional) ==
* Putu Wiramaswara Widya (5111100012) (Manajer Proyek)
* Muhammad Ruslan Hafiz (51111000131) (Sistem Analis 1)
* Risal Andika Tridisaputra (5111100133) (Sistem Analis 2)
* Amanda Tiara Averousi (5111100152) (Sekretaris)
* Bryan Nandriawan (5111100100) (Anggota)
* R. Aditya Brahmana (5111100147) (Anggota)
* Aisha Yuliandari (5111100150) (Anggota)
* Martini Dwi Endah Susanti (5111100189) (Anggota)
* Wati Margaretha Marpaung (5111100200) (Anggota)
== Rancangan Sistem ==
=== Selayang Pandang ===
Sistem yang akan diimplementasikan adalah sistem POS (Point-of-Sale) atau sistem kasir seperti yang ada di minimarket (Indomaret, Alfamart, CK, dll). Sistem ini dari segi front office akan mencatatkan semua barang yang dibeli oleh pelanggan setelah sebelumnya diambil dari etalase, kemudian menghitung harga yang harus dibayar untuk membeli barang tersebut dan menghitung jumlah kembalian ketika pelanggan sudah membayar. Dari segi back office, sistem mencatat inventaris barang gudang siap jual beserta jumlah stoknya dan harga beli dan jualnya. Sistem back office dapat melaporkan : total penjualan barang per toko, pajak yang harus dibayar setiap bulannya, keuntungan/laba toko.
POS ini akan dibuat dengan sistem jaringan, terdiri dari n jumlah toko dan 1 gudang terpusat. Toko hanya memiliki bagian front office yang melakukan sistem transaksi, sedangkan backoffice terpusat hanya 1 di gudang. Backoffice mencatat stok suatu item dari semua toko dan gudang itu sendiri. Ketika proses pengiriman barang dari gudang ke toko berlangsung, jumlah stok gudang akan berkurang dan dicatatkan ke toko masing-masing.
=== Gambaran Model Data (Dalam Bentuk Model Kelas Basis Data) ===
----> = Direferensikan oleh
[Barang] ----> [StokToko] <---- [Toko]
| | V
|____________ ______| [PegawaiToko]
| V |
[PegawaiGudang] | [Transaksi]<--|
| | ^
| | [Pelanggan]
| V
|-->[DetilTransaksi]
=== Rancangan Arsitektur ===
==== Sistem Gudang ====
KB = Kendali Bisnis
AM = Antarmuka
WS = Web Service
[Servlet Gudang]|[Servlet WS. ]--->[Internet]
[AM. Backoffice]|[WS. Kasir ]
^v | ^v
[KB. Internal]|[KB. Eksternal]
^v ^v
[ Model Data ]
[Server BD][Java EE][Spring]
Penjelasan: Gudang memiliki 1 buah server yang bisa diakses secara publik melalui internet agar webservice bisa diakses oleh masing-masing cabang toko. Model basis data dan persistensinya disimpan di server. Server memiliki dua buah servlet, yang pertama diakses dari sisi backoffice (secara lokal) dan kedua diakses layanannya melalui internet oleh toko. Masing-masing servlet dikelola oleh kendali bisnis yang berbeda.
==== Sistem Kasir ====
[AM. Frontoffice]
^v
[KB. WS. Server ]---->[Internet]
^v
[Caching System ]
^v
[Java EE][Spring]
Penjelasan: Sistem kasar terdiri dari antarmuka frontoffice transaksi yang mengakses pengendali web service yang ada di server melalui internet (lihat arsitektur sistem gudang). Untuk mempercepat proses transaksi data, digunakan caching system yang akan mencatat semua barang yang terdaftar di gudang setiap hari (harga barang tidak boleh diubah secara cepat dalam 1 hari untuk menghindari perbedaan harga). Sistem akan melaporkan perubahan stok setiap jam ke server.
=== Kerangka Kerja yang digunakan ===
* Java Enterprise Edition 7.0
* Spring Framework 2.0
* Hibernate/ORMLite (ORM)
* PostgreSQL (Server Basis Data)
* Spring-WS (Web Service)
* Spring-MVC (KB dan AM)
* XML Parser (Caching System)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment