BAB III ANALISA DAN PERANCANGAN SISTEM
3.1
Analisa Masalah
Mini market adalah sebuah toko yang menjual segala macam barang dan makanan, seperti perlengkapan rumah sehari – hari dan juga makanan pokok. Berbeda dengan toko kelontong, mini market telah menerapkan sistem penjualan seperti pada swalayan untuk menghitung total pembelanjaan pelanggannya. Total perhitungan di setiap transaksinya akan disimpan di dalam database yang akan digunakan sebagai acuan untuk menentukan barang yang akan dijual pada periode berikutnya. Penentuan barang yang akan dijual dilakukan oleh seorang manager store dimana orang tersebut yang mengatur seluruh barang yang ada pada mini market. Penentuan barang yang akan dijual pada periode berikutnya akan dicatat oleh manager store dan akan dilaporkan kepada pemilik mini market (owner). Permasalahan yang terjadi adalah penentuan barang yang akan dijual pada periode berikutnya oleh manager store masih belum menggunakan perhitungan yang tepat, karena hanya kira – kira dari data historikal. Dengan permasalahan tersebut, maka dibuatlah perancangan sistem peramalan penjualan ini yang akan digunakan oleh manager store dalam menentukan barang yang akan dijual pada periode berikutnya. Dalam sistem ini pun menghasilkan sebuah laporan perhitungan yang akan diberikan kepada pemilik mini market (owner).
3.2
Sistem Berjalan Peramalan Penjualan pada Mini Market
Peramalan penjualan item pada beberapa mini market masih menggunakan perhitungan manual dan hanya menggunakan satu rumus untuk menghitung barang yang akan dijual pada periode berikutnya. Namun, peramalan tersebut tidak diaplikasikan ke seluruh barang yang dijual. Hanya barang-barang tertentu yang menggunakan perhitungan peramalan. Untuk barang-barang kecil yang memiliki tanggal kadaluarsa satu tahun atau lebih (seperti obat salep, bedak, minyak kayu putih), mereka tidak menggunakan teknik peramalan dalam penjualan. Melainkan langsung membeli barang tersebut dengan kisaran total yang ditentukan sesuai dengan kebiasaan masyarakat di lingkungan mini market.
http://digilib.mercubuana.ac.id/
20
Dikarenakan perhitungan peramalan yang kurang tepat, toko tersebut mendapatkan kerugian. Beberapa barang yang memiliki tanggal kadaluarsa satu minggu hingga dua minggu (seperti roti tawar, buah, sayuran) yang terkena dampak. Barang yang kurang laku tidak dapat digunakan kembali karena barang tersebut telah mencapai tanggal kadaluarsa dan akan dibuang sia – sia. Peramalan penjualan dilakukan oleh pemilik mini market dan kepala mini market (manager store). Menggunakan historikal data penjualan, kepala mini market (manager store) menghitung kisaran barang yang akan dibeli pada periode berikutnya dan menyimpan data hasil perhitungan dalam file excel bersamaan dengan data historikal penjualan. Laporan yang diberikan kepada pemilik mini market setiap bulannya adalah file excel tersebut.
Gambar 3.1 Bisnis proses yang terjadi saat ini
3.3 Rancangan Sistem Peramalan Penjualan Untuk meminimalisir tingkat kerugian pada mini market dikarenakan perhitungan peramalan penjualan barang yang kurang tepat, maka diciptakan aplikasi ini untuk membantu pemilik mini market dalam menghitung perkiraan barang yang akan dijual pada periode berikutnya. Dalam aplikasi ini, pencatatan penjualan tiap barang juga lebih terorganisir. Proses pencatatan penjualan yang sebelumnya dilakukan secara manual menggunakan buku dan file excel membuat aplikasi ini dibutuhkan. Karena dengan adanya aplikasi ini,
http://digilib.mercubuana.ac.id/
21
proses pencatatan penjualan tiap barang akan otomatis tersimpan pada database sistem. Sehingga dapat membantu mempercepat proses perhitungan jumlah barang yang terjual pada periode tertentu dan dapat menetapkan berapa banyak barang yang akan dijual pada bulan depan.
Gambar 3.2 Bisnis proses sistem yang akan dikembangkan
3.4
Rancangan Sistem Menggunakan Metode Trend Linier dan Trend Non Linier
Pada perancangan sistem peramalan penjualan ini digunakan metode trend linier dan trend non linier. Trend linier adalah suatu trend yang kenaikan atau penurunan nilai yang akan diramalkan naik atau turun secara linier/lurus. Sedangkan trend non linier adalah trend yang kenaikan atau penurunan nilai yang akan diramalkan naik atau turun secara bukan garis lurus/tidak linier atau terjadi parabola(melengkung). Hasil perhitungan dari trend linier yang menggunakan rumus Y = a + bX , akan dibandingkan dengan rumus trend non linier yaitu
Y = a + bX + cX2. Untuk
mendapatkan angka a, b, dan c pada rumus tersebut dibutuhkan data penjualan yang akan dihitung angka peramalannya. Setelah itu, dihitung nilai peramalan dari tiap data penjualan yang digunakan dengan metode trend linier dan trend non linier, serta menghitung selisih antara nilai peramalan dan nilai penjualan nyata. Selisih penjualan nyata dan peramalan tersebut digunakan untuk mencari nilai ketepatan dari tiap metode dengan rumus MAD = |selisih penjualan nyata&peramalan| / total data penjualan. Hasil dari MAD itu yang menentukan metode mana yang lebih baik digunakan. Angka MAD yang terkecil adalah angka dari metode yang lebih baik digunakan untuk peramalan penjualan.
http://digilib.mercubuana.ac.id/
22
Gambar 3.3 Proses Perhitungan Peramalan Penjualan
3.5 Perancangan Sistem Untuk membuat sebuah sistem yang dapat berjalan dengan baik dan sesuai harapan yang diinginkan maka tentunya terlebih dahulu membuat tahapan perencanaan sistem yang menggunakan diagram UML (Unified Modeling Language) yang terdiri dari use case diagram, class diagram, sequence diagram, dan activity diagram.
3.5.1
Use Case
Use case diagram dari sistem peramalan penjualan adalah sebagai berikut :
3.5.1.1
Diagram Use Case
http://digilib.mercubuana.ac.id/
23
Gambar 3.4 Use Case Diagram Aplikasi Peramalan Penjualan
3.5.1.2 Definisi Aktor Tabel 3.1 Definisi Aktor pada Use Case No
Aktor
1
Pemilik
Deskripsi Mini Admin adalah orang yang bertugas dan memiliki hak
Market / Owner
akses untuk melakukan verifikasi data yang telah diinput oleh staff serta memiliki hak akses untuk menambahkan, mengedit, serta menghapus user.
2
Kepala
Mini Manager
Market Manager Store
store
adalah
orang
yang
melakukan
/ perhitungan kisaran barang yang akan dijual pada periode berikutnya dan mencetak hasil perhitungan, serta melaporkan ke pemilik mini market.
3
Staff
Staff adalah orang yang betugas melakukan input data historikal penjualan ke dalam sistem.
http://digilib.mercubuana.ac.id/
24
3.5.1.3 Skenario Use Case Tabel 3.2 Skenario Use Case Manage User Division Nama Use Case
Manage User Division
Actor
Pemilik Mini Market / Owner
Deskripsi
Merupakan halaman untuk manage divisi yang digunakan untuk menentukan hak akses pada sistem
Pra Kondisi
Pemilik Mini Market ingin mencari, menambahkan atau mengedit data divisi
Skenario
Pemilik Mini Market mengklik menu manage division pada halaman utama dan mengisi form yang ada pada halaman tersebut
Post Kondisi
Halaman manage division tampil, data yang ditambahkan dan diedit akan tersimpan ke dalam database
Tabel 3.3 Skenario Use Case Manage User Nama Use Case
Manage User
Actor
Pemilik Mini Market / Owner
Deskripsi
Merupakan halaman untuk manage user yang digunakan untuk menambahkan dan mengedit data user yang digunakan untuk mengakses sistem
Pra Kondisi
Pemilik Mini Market ingin mencari, menambahkan atau mengedit data user
Skenario
Pemilik Mini Market
mengklik menu manage user
pada halaman
utama dan mengisi form yang ada pada halaman tersebut Post Kondisi
Halaman manage user tampil, data yang ditambahkan dan diedit akan tersimpan ke dalam database
Tabel 3.4 Skenario Use Case Import Historical Data Nama Use Case
Import Historical Data
Actor
Staff
Deskripsi
Merupakan proses mengambil data dari file excel lalu memproses data tersebut agar tersimpan ke database
http://digilib.mercubuana.ac.id/
25
Pra Kondisi
Staff ingin menambahkan data penjualan ke dalam database agar dapat digunakan dalam proses perhitungan peramalan
Skenario
Staff mengklik menu import sales history pada halaman utama, lalu akan tampil halaman untuk import. Klik tombol browse untuk memilih file yang akan diproses, lalu klik tombol import untuk menampilkan data dari file ke list pada halaman tersebut. Jika data yang tertera telah sesuai, lalu klik tombol submit untuk memproses agar data tersebut tersimpan ke dalam database.
Post Kondisi
Data yang dipilih akan tersimpan dalam database
Tabel 3.5 Skenario Use Case Calculate Forecast Nama Use Case
Calculate Forecast
Actor
Kepala Mini Market / Manager Store
Deskripsi
Merupakan proses mengkalkulasi data penjualan yang ada di database dan menghasilkan peramalan penjualan barang untuk periode berikutnya
Pra Kondisi
Kepala Mini Market ingin menghitung total penjualan pada periode berikutnya
Skenario
Kepala Mini Market mengklik menu forecast calculator pada halaman utama, lalu akan tampil halaman untuk menghitung peramalan penjualan. Pilih data penjualan yang berada pada combobox dalam halaman, lalu klik calculate, maka seluruh kolom yang kosong akan terisi angka hasil perhitungan menggunakan metode trend linier dan trend non linier. Pilih urutan nomor dengan angka urutan berikutnya dari total data penjualan untuk mengetahui nilai peramalan penjualan pada periode berikutnya.
Post Kondisi
Rincian perhitungan peramalan penjualan akan tampil pada halaman kalkulasi dan mengetahui nilai peramalan penjualan pada periode berikutnya
Tabel 3.6 Skenario Use Case Print Result Nama Use Case
Print Result
Actor
Kepala Mini Market / Manager Store
http://digilib.mercubuana.ac.id/
26
Deskripsi
Merupakan hasil proses import dan kalkulasi data peramalan untuk penjualan pada periode berikutnya dalam format excel. Print result merupakan hasil dari seluruh proses mulai dari import, kalkulasi data, hingga hasil kalkulasi.
Pra Kondisi
Kepala Mini Market membutuhkan dokumen tercetak untuk dilaporkan kepada pemilik Mini Market
Skenario
Kepala Mini Market
melakukan perhitungan seperti yang telah
dijelaskan pada skenario use case forecast calculator. Setelah itu klik tombol print result yang ada pada halaman forecast calculator. Lalu file excel akan otomatis terunduh. Post Kondisi
File excel terunduh dan data pada file sesuai dengan data pada halaman forecast calculator
3.5.2
Class Diagram
Class diagram untuk peramalan penjualan adalah sebagai berikut :
Gambar 3.5 Class Diagram Aplikasi Peramalan Penjualan
http://digilib.mercubuana.ac.id/
27
Class diagram di atas adalah data model yang digunakan dalam sistem sesuai dengan rancangan pada penyimpanan data (database). Terdapat dua paket pada class di atas, yaitu User Management dan Transaction untuk mengelompokan class yang digunakan dalam mengelola user dan transaksi. 3.5.3
Sequence Diagram
Sequence diagram untuk peramalan penjualan adalah sebagai berikut : 1. Login
Gambar 3.6 Sequence Login Pada sequence login, terdapat class user dan class division yang di dalamnya memiliki metode untuk mengecek user dan hak akses yang tersimpan pada database apakah user dan hak akses yang digunakan aktif atau tidak. Jika aktif, maka user tersebut dapat digunakan untuk mengakses sistem. 2. Sequence Add Division
http://digilib.mercubuana.ac.id/
28
Gambar 3.7 Sequence Add Division Sequence diagram add division terdiri dari class division yang digunakan pada form division. Terdapat metode untuk validasi data input, pengecekan duplikasi data, dan menyimpan data input ke dalam database. 3. Sequence Manage Division
Gambar 3.8 Sequence Manage Division Sequence diagram manage division terdiri atas class division yang digunakan pada form division sama seperti sequence add division, yang berbeda adalah metode yang digunakan pada manage division yaitu metode untuk update data divisi. 4. Sequence Add User
http://digilib.mercubuana.ac.id/
29
Gambar 3.9 Sequence Add User Sequence diagram add user terdiri dari class user dan class division yang digunakan pada form user. Terdapat metode untuk mengambil indikator hak akses yang berada pada class division, validasi input, pengecekan duplikasi terhadap data user, dan menambahkan data user baru. 5. Sequence Manage User
Gambar 3.10 Sequence Manage User Sequence diagram manage user terdiri atas class user yang digunakan pada form user sama seperti sequence add user, yang berbeda adalah metode yang digunakan pada manage user yaitu metode untuk update data user. 6. Sequence Import Historical Data
http://digilib.mercubuana.ac.id/
30
Gambar 3.11 Sequence Import Historical Data Sequence diagram import historical data terdiri atas class transaction yang digunakan pada form import. Pada class transaction terdapat metode untuk menambahkan data historikal penjualan. 7. Sequence Calculate Forecast
Gambar 3.12 Sequence Calculate Forecast Sequence calculate forecast terdiri dari class transaction yang digunakan pada form calculate. Terdapat metode untuk menghitung peramalan menggunakan metode trend linier dan trend non linier, serta menghitung perbandingan antar kedua metoda hingga mendapatkan peramalan penjualan untuk bulan berikutnya.
http://digilib.mercubuana.ac.id/
31
3.5.4 Activity Diagram Activity diagram untuk peramalan penjualan adalah sebagai berikut : 1. Activity User Management
Gambar 3.13 Activity Diagram User Management Aktivitas user management dimulai dari modul user division , yaitu dengan menambahkan divisi yang akan digunakan pada modul user. Dari proses penambahan, divisi disimpan pada tabel penyimpanan divisi. Jika divisi tersebut active, saat penambahan user, divisi akan tampil pada list divisi di halaman user. 2. Activity Transaction
http://digilib.mercubuana.ac.id/
32
Gambar 3.14 Activity Diagram Transaction Pada aktivitas transaksi ini menggunakan tiga use case, yaitu import historical data, calculate forecast, dan print result. Saat import data akan disimpan pada transaction_history_header dan transaction_detail, yang dari tabel tersebut data penjualan digunakan dalam proses kalkulasi menggunakan metode trend linier dan trend non linier. Hasil dari perhitungan disimpan dalam tabel transaction_formula dan digunakan untuk menampilkan hasil perhitungan. Data dalam tabel transaction_formula digunakan untuk membuat laporan dalam bentuk file excel.
3.6 Struktur Basis Data Dalam sistem dibutuhkan sebuah rancangan basis data yang berguna sebagai penampung data-data yang akan diolah oleh sistem. Berikut adalah struktur basis data yang akan digunakan untuk penyimpanan data :
3.6.1
Struktur Basis Data Divisi
http://digilib.mercubuana.ac.id/
33
Tabel 3.3 Struktur Basis Data Divisi NO
NAMA FIELD
KEY
JENIS
LEBAR
KETERANGAN
1
Division_ID
PRIMARY KEY
char
5
Kode Divisi
2
Division_Name
varchar
15
Nama Divisi
3
Menu_division
bool
Indikator untuk menu division (hak akses)
4
Menu_user
bool
Indikator untuk menu user (hak akses)
5
Menu_sales_da
bool
Indikator untuk menu
ta
sales data/import (hak akses)
5
Menu_forecast
bool
Indikator untuk menu transaksi/perhitungan kisaran (hak akses)
6
isPrivate
bool
Indikator
untuk
pemberitahuan apakah divisi yang dimaksud tersebut active
3.6.2
Struktur Basis Data User Tabel 3.4 Struktur Basis Data User
NO
NAMA FIELD
KEY
JENIS
LEBAR
KETERANGAN
1
ID
PRIMARY KEY
Int
11
ID Sequence
2
Username
varchar
8
Kode
user
yang
digunakan saat login 3
Password
varchar
10
Kode keamanan yang digunakan saat login
4
Name
varchar
30
Nama lengkap staff
5
Address
varchar
100
Alamat tinggal staff
6
Phone_Number
varchar
13
Kontak staff yang dapat dihubungi
7
Division_ID
FOREIGN KEY
Char
http://digilib.mercubuana.ac.id/
34
5
Kode divisi
8
Status
enum(‘
Status
user,
apakah
A’,’N’)
aktif atau sudah tidak aktif
9
Regis_Date
Char
10
Informasi
tanggal
registrasi 10
Last_Update
Char
10
Informasi terakhir
tanggal kali
data
diperbaharui 11
Updated_By
varchar
8
Berisikan
username
yang melakukan update data
3.6.3 Struktur Basis Header Transaksi Tabel 3.5 Struktur Basis Transaction History Header NO
NAMA FIELD
KEY
JENIS
LEBAR
KETERANGAN
1
ID
PRIMARY KEY
int
11
ID Sequence
2
Product_Name
varchar
25
Nama
produk
dari
transaksi 3
Year
varchar
11
Tahun transaksi
3.6.4 Struktur Basis Detail Transaksi Tabel 3.6 Struktur Basis Transaction Detail NO
NAMA FIELD
KEY
JENIS
LEBAR
KETERANGAN
1
ID
FOREIGN KEY
int
11
ID
Sequence
dari
header transaksi 2
Month_Tr
varchar
10
Bulan transaksi
3
Total_Sales
int
11
Jumlah terjual tertentu
http://digilib.mercubuana.ac.id/
35
item
yang
pada
bulan
3.6.5 Struktur Basis Formula Transaksi Tabel 3.7 Struktur Basis Transaction Formula NO
NAMA FIELD
KEY
JENIS
LEBAR
KETERANGAN
1
ID
FOREIGN KEY
int
11
ID
Sequence
dari
header transaksi 2
Linear_Formul
varchar
20
a
Rumus
untuk
perhitungan peramalan dari transaksi
3
Nonlinear_For
varchar
30
mula
Rumus
untuk
perhitungan peramalan dari transaksi
3.7
Rancangan Layar
Setelah perancangan diagram telah dibuat maka selanjutnya adalah perancangan user interface sebagai berikut : 1. Halaman Login
Gambar 3.15 Halaman Login Halaman yang digunakan untuk masuk ke dalam sistem. Pada halaman ini, username dan password akan dicek. Jika telah sesuai dengan ketentuan , maka user dapat masuk ke dalam sistem. Ketentuannya adalah user
harus memiliki status active untuk dapat
menggunakan sistem. 2. Halaman Utama
http://digilib.mercubuana.ac.id/
36
Gambar 3.16 Halaman Utama Halaman utama yang terdapat pilihan menu sesuai dengan fungsinya, yaitu User Management yang di dalamnya terdapat sub menu Manage Division dan Manage User, Import Sales History, Forecast Calculator, dan Logout. Seluruh fungsi hanya dapat digunakan oleh admin, sedangkan untuk user selain admin dapat mengakses fungsi sesuai dengan hak akses pada divisi. 3. Halaman Menu Divisi
Gambar 3.17 Halaman Manu Divisi
http://digilib.mercubuana.ac.id/
37
Halaman divisi akan tampil setelah menu manage division diklik. Pada halaman ini user dapat menambahkan satu divisi yang akan digunakan pada user dalam menentukan hak akses dan data akan langsung ditampilkan pada list sebelah form. Selain itu, user dapat mengedit data divisi. 4. Halaman Menu User
Gambar 3.18 Halaman Menu User Halaman user akan tampil setelah menu manage user diklik. Pada halaman ini user dapat menambahkan satu user yang akan digunakan untuk login ke dalam sistem dan data akan langsung ditampilkan pada list sebelah form. Selain itu, admin dapat mengedit data user.
5. Halaman Menu Import Sales History
Gambar 3.19 Halaman menu import sales history
http://digilib.mercubuana.ac.id/
38
Halaman import sales history digunakan untuk mengambil data dari file excel yang disimpan pada database, sehingga data siap untuk diolah oleh aplikasi. 6. Halaman Menu Forecast Calculate
Gambar 3.20 Halaman Calculate Menu Halaman dari menu forecast calculate adalah yang paling kompleks karena terdapat beberapa data yang digunakan dalam perhitungan peramalan. Dari halaman ini akan tampak data hasil perhitungan menggunakan trend linear dan trend non linear. Setelah mendapatkan rumus dari trend linear dan trend non linear , lalu sistem akan menghitung selisih antara angka penjualan nyata dengan peramalan yang akan digunakan untuk perhitungan MAD (Mean Absolute Deviation), yaitu angka rata – rata simpangan penjualan. MAD tersebut akan dibandingkan antara trend linear dengan trend non linear. Rumus yang memiliki angka MAD terkecil lah yang seharusnya digunakan untuk menghitung barang yang harus dijual pada periode berikutnya.
http://digilib.mercubuana.ac.id/
39